brintos

brintos / llvm-project-archived public Read only

0
0
Text · 691 B · 550078a Raw
41 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s2 3template<typename T>4struct X0 {5  struct MemberClass;6 7  T* f0(T* ptr);8 9  static T* static_member;10};11 12template class X0<int(int)>; // ok; nothing gets instantiated.13 14template<typename T>15struct X0<T>::MemberClass {16  T member;17};18 19template<typename T>20T* X0<T>::f0(T* ptr) {21  return ptr + 1;22}23 24template<typename T>25T* X0<T>::static_member = 0;26 27template class X0<int>; // ok28 29 30template<typename T>31struct X1 {32  enum class E {33    e = T::error // expected-error 2{{no members}}34  };35};36template struct X1<int>; // expected-note {{here}}37 38extern template struct X1<char>; // ok39 40template struct X1<char>; // expected-note {{here}}41