Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaCXX/illegal-member-initialization.cpp @ 221:79ff65ed7e25
LLVM12 Original
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 15 Jun 2021 19:15:29 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -fsyntax-only -verify %s struct A { A() : value(), cvalue() { } // expected-error {{reference to type 'int' requires an initializer}} int &value; const int cvalue; }; struct B { int field; }; struct X { X() { } // expected-error {{constructor for 'X' must explicitly initialize the reference member 'value'}} \ // expected-error {{constructor for 'X' must explicitly initialize the const member 'cvalue'}} \ // expected-error {{constructor for 'X' must explicitly initialize the reference member 'b'}} \ // expected-error {{constructor for 'X' must explicitly initialize the const member 'cb'}} int &value; // expected-note{{declared here}} const int cvalue; // expected-note{{declared here}} B& b; // expected-note{{declared here}} const B cb; // expected-note{{declared here}} }; // PR5924 struct bar {}; bar xxx(); struct foo { foo_t a; // expected-error {{unknown type name 'foo_t'}} foo() : a(xxx()) {} // no error here. };