diff options
Diffstat (limited to 'test/CXX/drs/dr9xx.cpp')
-rw-r--r-- | test/CXX/drs/dr9xx.cpp | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/test/CXX/drs/dr9xx.cpp b/test/CXX/drs/dr9xx.cpp deleted file mode 100644 index b37e17d6b098..000000000000 --- a/test/CXX/drs/dr9xx.cpp +++ /dev/null @@ -1,75 +0,0 @@ -// RUN: %clang_cc1 -std=c++98 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -// RUN: %clang_cc1 -std=c++11 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -// RUN: %clang_cc1 -std=c++14 %s -verify -fexceptions -fcxx-exceptions -pedantic-errors -// RUN: %clang_cc1 -std=c++1z %s -verify -fexceptions -fcxx-exceptions -pedantic-errors - -#if __cplusplus < 201103L -// expected-no-diagnostics -#endif - -namespace std { - __extension__ typedef __SIZE_TYPE__ size_t; - - template<typename T> struct initializer_list { - const T *p; size_t n; - initializer_list(const T *p, size_t n); - }; -} - -namespace dr990 { // dr990: 3.5 -#if __cplusplus >= 201103L - struct A { // expected-note 2{{candidate}} - A(std::initializer_list<int>); // expected-note {{candidate}} - }; - struct B { - A a; - }; - B b1 { }; - B b2 { 1 }; // expected-error {{no viable conversion from 'int' to 'dr990::A'}} - B b3 { { 1 } }; - - struct C { - C(); - C(int); - C(std::initializer_list<int>) = delete; // expected-note {{here}} - }; - C c1[3] { 1 }; // ok - C c2[3] { 1, {2} }; // expected-error {{call to deleted}} - - struct D { - D(); - D(std::initializer_list<int>); - D(std::initializer_list<double>); - }; - D d{}; -#endif -} - -namespace dr948 { // dr948: 3.7 -#if __cplusplus >= 201103L - class A { - public: - constexpr A(int v) : v(v) { } - constexpr operator int() const { return v; } - private: - int v; - }; - - constexpr int id(int x) - { - return x; - } - - void f() { - if (constexpr int i = id(101)) { } - switch (constexpr int i = id(2)) { default: break; case 2: break; } - for (; constexpr int i = id(0); ) { } - while (constexpr int i = id(0)) { } - - if (constexpr A i = 101) { } - switch (constexpr A i = 2) { default: break; case 2: break; } - for (; constexpr A i = 0; ) { } - while (constexpr A i = 0) { } - } -#endif -} |