Home | History | Annotate | Download | only in SemaCXX
      1 // RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify -Wsystem-headers %s
      2 
      3 // libstdc++4.6 in debug mode has explicit default constructors.
      4 // stlport has this for all containers.
      5 #ifdef BE_THE_HEADER
      6 #pragma clang system_header
      7 namespace std {
      8 namespace __debug {
      9 template <class T>
     10 class vector {
     11 public:
     12   explicit vector() {} // expected-warning 2 {{should not be explicit}}
     13 };
     14 }
     15 }
     16 #else
     17 
     18 #define BE_THE_HEADER
     19 #include __FILE__
     20 
     21 struct { int a, b; std::__debug::vector<int> c; } e[] = { {1, 1} }; // expected-note{{used in initialization here}}
     22 // expected-warning@+1 {{expression with side effects has no effect in an unevaluated context}}
     23 decltype(new std::__debug::vector<int>[1]{}) x; // expected-note{{used in initialization here}}
     24 #endif
     25