blob: f7da24dfc20a5d22bcd1994d711b0460facb6d06 [file] [log] [blame]
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
struct S {
constexpr void f();
constexpr void g() const;
};
void f(const S &s) {
s.f();
s.g();
}
namespace std_example {
class debug_flag { // expected-note {{not an aggregate and has no constexpr constructors}}
public:
explicit debug_flag(bool);
constexpr bool is_on(); // expected-error {{non-literal type 'std_example::debug_flag' cannot have constexpr members}}
private:
bool flag;
};
constexpr int bar(int x, int y) // expected-note {{here}}
{ return x + y + x*y; }
int bar(int x, int y) // expected-error {{non-constexpr declaration of 'bar' follows constexpr declaration}}
{ return x * 2 + 3 * y; }
}