]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/SemaCXX/cxx1y-constexpr-not-const.cpp
Vendor import of clang tags/RELEASE_33/final r183502 (effectively, 3.3
[FreeBSD/FreeBSD.git] / test / SemaCXX / cxx1y-constexpr-not-const.cpp
1 // RUN: %clang_cc1 -std=c++11 %s -verify
2 // RUN: %clang_cc1 -std=c++1y %s -verify -DCXX1Y
3
4 struct X {
5   constexpr int f(); // @5
6   int f();           // @6
7 };
8
9 #ifdef CXX1Y
10 // FIXME: Detect this situation and provide a better recovery.
11
12 // expected-error@6 {{class member cannot be redeclared}}
13 // expected-note@5 {{previous}}
14 // expected-error@6 {{non-constexpr declaration of 'f' follows constexpr declaration}}
15 // expected-note@5 {{previous}}
16 #else
17 // expected-warning@5 {{'constexpr' non-static member function will not be implicitly 'const' in C++1y; add 'const' to avoid a change in behavior}}
18 #endif