| // 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 { |
| }; |
| |
| struct X { |
| X() { } // expected-error {{constructor for 'struct X' must explicitly initialize the reference member 'value'}} \ |
| // expected-error {{constructor for 'struct X' must explicitly initialize the const member 'cvalue'}} \ |
| // expected-error {{constructor for 'struct X' must explicitly initialize the reference member 'b'}} \ |
| // expected-error {{constructor for 'struct X' must explicitly initialize the const member 'cb'}} |
| int &value; // expected-note{{declared at}} |
| const int cvalue; // expected-note{{declared at}} |
| B& b; // expected-note{{declared at}} |
| 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. |
| }; |