blob: 338543ecf93b65f4d72968566de309ff10323a8d [file] [log] [blame]
Richard Smith561fb152012-02-25 07:33:38 +00001// RUN: %clang_cc1 -pedantic-errors -std=c++11 -emit-pch %s -o %t
2// RUN: %clang_cc1 -pedantic-errors -std=c++11 -include-pch %t -verify %s
3
4#ifndef HEADER_INCLUDED
5
6#define HEADER_INCLUDED
7
8struct B {
9 B(); // expected-note {{here}}
10 constexpr B(char) {}
11};
12
13struct C { // expected-note {{not an aggregate and has no constexpr constructors}}
14 B b;
15 double d = 0.0;
16};
17
18struct D : B {
19 constexpr D(int n) : B('x'), k(2*n+1) {}
20 int k;
21};
22
23#else
24
25static_assert(D(4).k == 9, "");
26constexpr int f(C c) { return 0; } // expected-error {{not a literal type}}
27constexpr B b; // expected-error {{constant expression}} expected-note {{non-constexpr}}
28
29#endif