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