/external/clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/ |
H A D | p9.cpp | 3 // A constexpr specifier used in an object declaration declares the object as 5 constexpr int a = 0; 9 constexpr int *b = &i; 12 constexpr int &c = i; 15 constexpr int (*d)(int) = 0; 18 // A variable declaration which uses the constexpr specifier shall have an 20 constexpr int ni1; // expected-error {{default initialization of an object of const type 'const int'}} 21 constexpr struct C { C(); } ni2; // expected-error {{cannot have non-literal type 'const struct C'}} expected-note 3{{has no constexpr constructors}} 22 constexpr doubl [all...] |
H A D | p1.cpp | 11 constexpr int i1 = 0; 12 constexpr int f1() { return 0; } 14 constexpr static int mi1 = 0; 17 constexpr int s1::mi2 = 0; 21 constexpr extern int i2; // expected-error {{constexpr variable declaration must be a definition}} 23 constexpr notlit nl1; // expected-error {{constexpr variable cannot have non-literal type 'const notlit'}} 25 void f2(constexpr int i) {} // expected-error {{function parameter cannot be constexpr}} 42 class C2 {} constexpr; // expected-error {{class cannot be marked constexpr}} variable in typeref:class:C2 43 struct S2 {} constexpr; // expected-error {{struct cannot be marked constexpr}} variable in typeref:struct:S2 44 union U2 {} constexpr; // expected-error {{union cannot be marked constexpr}} variable in typeref:union:U2 45 enum E2 {} constexpr; // expected-error {{enum cannot be marked constexpr}} variable in typeref:enum:E2 [all...] |
H A D | p2.cpp | 3 // constexpr functions and constexpr constructors are implicitly inline. 5 constexpr S(int n); 6 constexpr int g(); 10 constexpr S::S(int n) : n(n) {} 12 constexpr S f(S s) { 16 constexpr int S::g() {
|
H A D | p3.cpp | 12 struct NonLiteral { // expected-note 3{{no constexpr constructors}} 17 constexpr Literal() {} 28 // The definition of a constexpr function shall satisfy the following 31 constexpr T(); 32 constexpr int f() const; // expected-error {{non-literal type 'T' cannot have constexpr members}} 35 virtual constexpr int ExplicitlyVirtual() const { return 0; } // expected-error {{virtual function cannot be constexpr}} 37 constexpr int ImplicitlyVirtual() const { return 0; } // expected-error {{virtual function cannot be constexpr}} [all...] |
H A D | p6.cpp | 17 constexpr Literal() {} 27 constexpr int ImplicitlyVirtual() const { return 0; } 30 constexpr int a = ImplicitVirtualFromDependentBase<S>().ImplicitlyVirtual(); // expected-error {{constant expression}} expected-note {{cannot evaluate virtual function call}} 31 constexpr int b = ImplicitVirtualFromDependentBase<T>().ImplicitlyVirtual(); // ok 32 constexpr int c = ImplicitVirtualFromDependentBase<S>().ImplicitVirtualFromDependentBase<S>::ImplicitlyVirtual(); 35 constexpr R F() const { return 0; } 37 constexpr int d = ConstexprMember<int>().F(); // ok 38 constexpr int e = ConstexprMember<NonLiteral>().F(); // expected-error {{constant expression}} 41 constexpr ConstexprCtor(P...) {} 43 constexpr ConstexprCto [all...] |
H A D | p8.cpp | 6 constexpr int f(); // expected-warning {{C++1y}} 7 constexpr int g() const; 8 constexpr int h(); // expected-warning {{C++1y}} 10 static constexpr int Sf(); 11 /*static*/ constexpr void *operator new(size_t) noexcept; 12 template<typename T> constexpr T tm(); // expected-warning {{C++1y}} 13 template<typename T> static constexpr T ts(); 28 constexpr int S::f() const { return 0; } 29 constexpr int S::g() { return 1; } // expected-warning {{C++1y}} 30 constexpr in [all...] |
H A D | p4.cpp | 12 struct NonLiteral { // expected-note 2{{no constexpr constructors}} 17 constexpr Literal() {} 22 // In the definition of a constexpr constructor, each of the parameter types 25 constexpr S(int, N::C) {} 26 constexpr S(int, NonLiteral, N::C) {} // expected-error {{constexpr constructor's 2nd parameter type 'NonLiteral' is not a literal type}} 27 constexpr S(int, NonLiteral = 42) {} // expected-error {{constexpr constructor's 2nd parameter type 'NonLiteral' is not a literal type}} 30 constexpr S() = default; 31 constexpr [all...] |
H A D | p5.cpp | 2 // RUN: %clang_cc1 -fsyntax-only -triple x86_64-unknown-unknown -std=c++11 -fcxx-exceptions -Wno-invalid-constexpr %s -DNO_INVALID_CONSTEXPR 6 constexpr int f(void *) { return 0; } 7 constexpr int f(...) { return 1; } 8 constexpr int g1() { return f(0); } 9 constexpr int g2(int n) { return f(n); } 10 constexpr int g3(int n) { return f(n*0); } 13 constexpr int c = 5; 14 constexpr int h() { return c; } 16 constexpr int c = 0; 17 constexpr in [all...] |
/external/clang/test/Parser/ |
H A D | cxx11-type-specifier.cpp | 6 operator constexpr int(); // expected-error{{type name does not allow constexpr}} 12 (void) new constexpr int; // expected-error{{type name does not allow constexpr}} 13 } catch (constexpr int) { // expected-error{{type name does not allow constexpr}}
|
/external/clang/test/SemaCXX/ |
H A D | constexpr-depth.cpp | 5 constexpr int depth(int n) { return n > 1 ? depth(n-1) : 0; } // expected-note {{exceeded maximum depth}} expected-note +{{}} 7 constexpr int kBad = depth(MAX + 1); // expected-error {{must be initialized by a constant expression}} expected-note {{in call to 'depth(}} 8 constexpr int kGood = depth(MAX);
|
H A D | cxx1y-constexpr-not-const.cpp | 5 constexpr int f(); // @5 14 // expected-error@6 {{non-constexpr declaration of 'f' follows constexpr declaration}} 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}}
|
H A D | cxx0x-constexpr-const.cpp | 3 constexpr int x = 1; 4 constexpr int id(int x) { return x; }
|
H A D | constexpr-factorial.cpp | 3 constexpr unsigned oddfac(unsigned n) { 6 constexpr unsigned k = oddfac(123);
|
H A D | constexpr-value-init.cpp | 4 constexpr A() : a(b + 1), b(a + 1) {} // expected-note {{outside its lifetime}} 12 constexpr A a; // ok, zero initialization preceeds static initialization 14 constexpr A a; // expected-error {{constant expression}} expected-note {{in call to 'A()'}} 17 constexpr B b1; // expected-error {{requires a user-provided default constructor}} 18 constexpr B b2 = B(); // ok 26 constexpr C c1; // expected-error {{requires a user-provided default constructor}} 27 constexpr C c2 = C(); // ok 28 constexpr D d1; // expected-error {{requires a user-provided default constructor}} 29 constexpr D d2 = D(); // ok with DR1452 35 constexpr [all...] |
/external/clang/test/FixIt/ |
H A D | fixit-cxx1y-compat.cpp | 10 constexpr int &f(); // expected-warning {{'constexpr' non-static member function will not be implicitly 'const' in C++1y; add 'const' to avoid a change in behavior}}
|
/external/clang/test/CXX/basic/basic.types/ |
H A D | p10.cpp | 9 constexpr void f() {} 15 constexpr int f1(double) { return 0; } 19 constexpr int f2(S &) { return 0; } 24 static constexpr BeingDefined& t = beingdefined; 34 constexpr Incomplete incomplete = {}; // expected-error {{constexpr variable cannot have non-literal type 'const Incomplete'}} expected-note {{incomplete type 'const Incomplete' is not a literal type}} 35 constexpr Incomplete incomplete2[] = {}; // expected-error {{constexpr variable cannot have non-literal type 'Incomplete const[]'}} expected-note {{incomplete type 'Incomplete const[]' is not a literal type}} 36 constexpr ClassTemp<int> classtemplate = {}; 37 constexpr ClassTem [all...] |
/external/clang/test/CXX/class/class.static/class.static.data/ |
H A D | p3.cpp | 3 struct NonLit { // expected-note 3{{no constexpr constructors}} 8 static constexpr int a = 0; 9 static constexpr int b; // expected-error {{declaration of constexpr static data member 'b' requires an initializer}} 11 static constexpr int c = 0; 15 static constexpr double e = 0.0; // ok 16 static const double f = 0.0; // expected-error {{requires 'constexpr' specifier}} expected-note {{add 'constexpr'}} 17 static char *const g = 0; // expected-error {{requires 'constexpr' specifier}} 21 constexpr in [all...] |
/external/clang/test/CXX/dcl.dcl/ |
H A D | p4-0x.cpp | 4 constexpr S(bool b) : b(b) {} 5 constexpr explicit operator bool() const { return b; } 9 constexpr operator int() const { return 1; } 12 constexpr operator int() const { return 1; } // expected-note {{candidate}} 13 constexpr operator long() const { return 0; } // expected-note {{candidate}}
|
/external/clang/test/PCH/ |
H A D | cxx11-constexpr.cpp | 10 constexpr B(char) {} 19 constexpr D(int n) : B('x'), k(2*n+1) {} 23 constexpr int value = 7; 26 constexpr T plus_seven(T other) { 33 constexpr int f(C c) { return 0; } // expected-error {{not a literal type}} 34 // expected-note@13 {{not an aggregate and has no constexpr constructors}} 35 constexpr B b; // expected-error {{constant expression}} expected-note {{non-constexpr}}
|
/external/clang/test/CXX/expr/expr.const/ |
H A D | p5-0x.cpp | 9 constexpr A(int i) : val(i) { } 10 constexpr operator int() const { return val; } 11 constexpr operator long() const { return 43; } 16 constexpr A a = 42; 23 constexpr OK() {} 24 constexpr operator int() const { return 8; } 25 } constexpr ok; 28 constexpr Explicit() {} 29 constexpr explicit operator int() const { return 4; } // expected-note 4{{here}} 30 } constexpr exp [all...] |
H A D | p2-0x.cpp | 7 // expression, function invocation substitution (7.1.5 [dcl.constexpr]) 8 // replaces each occurrence of this in a constexpr member function with a 20 // - an invocation of a function other than a constexpr constructor for a 21 // literal class or a constexpr function [ Note: Overload resolution (13.3) 25 int n : f(); // expected-error {{constant expression}} expected-note {{non-constexpr function 'f' cannot be used in a constant expression}} 28 constexpr NonConstexpr2(); // expected-note {{here}} 40 int n : NonConstexpr4().n; // expected-error {{constant expression}} expected-note {{non-constexpr constructor 'NonConstexpr4' cannot be used in a constant expression}} 43 // - an invocation of an undefined constexpr function or an undefined 44 // constexpr constructor; 46 constexpr UndefinedConstexp [all...] |
/external/clang/test/CodeCompletion/ |
H A D | constexpr.cpp | 3 // PR14381: need constexpr function bodies always, even if code-completing. 8 constexpr int f() {
|
/external/clang/test/CXX/special/class.inhctor/ |
H A D | p2.cpp | 9 // - absence or presence of constexpr 12 constexpr A(X<1>) {} 14 explicit constexpr A(X<3>) {} // expected-note 2{{here}} 19 constexpr A a0c { X<0>{} }; // expected-error {{must be initialized by a constant expression}} expected-note {{non-constexpr}} 20 constexpr A a0ic = { X<0>{} }; // expected-error {{must be initialized by a constant expression}} expected-note {{non-constexpr}} 24 constexpr A a1c { X<1>{} }; 25 constexpr A a1ic = { X<1>{} }; 29 constexpr [all...] |
/external/clang/test/CXX/special/class.ctor/ |
H A D | p6-0x.cpp | 3 // Implicitly-defined default constructors are constexpr if the implicit 12 constexpr NonConstexpr1 nc1 = NonConstexpr1(); // ok, does not call constructor 13 constexpr NonConstexpr2 nc2 = NonConstexpr2(); // ok, does not call constructor 14 constexpr NonConstexpr2a nc2a = NonConstexpr2a(); // ok, does not call constructor 15 constexpr int nc2_a = NonConstexpr2().nl.a; // ok 16 constexpr int nc2a_a = NonConstexpr2a().a; // ok 18 friend constexpr NonConstexpr1::NonConstexpr1(); // expected-error {{follows non-constexpr declaration}} 19 friend constexpr NonConstexpr2::NonConstexpr2(); // expected-error {{follows non-constexpr declaratio [all...] |
/external/clang/test/CXX/special/class.copy/ |
H A D | p13-0x.cpp | 4 // constexpr constructor, the implicitly-defined constructor is constexpr. 6 constexpr Constexpr1() : n(0) {} 9 constexpr Constexpr1 c1a = Constexpr1(Constexpr1()); // ok 10 constexpr Constexpr1 c1b = Constexpr1(Constexpr1(c1a)); // ok 14 constexpr Constexpr2() = default; 15 constexpr Constexpr2(const Constexpr2 &o) : ce1(o.ce1) {} 19 constexpr Constexpr2 c2a = Constexpr2(Constexpr2()); // ok 20 constexpr Constexpr2 c2b = Constexpr2(Constexpr2(c2a)); // ok 24 // all special constructors are constexpr, mov [all...] |