1 // PR c++/70513 2 // { dg-do compile { target c++11 } } 3 4 template <typename T> 5 class D1 6 { 7 enum A : int; 8 enum D1::A : int { foo } c; // { dg-error "extra qualification not allowed" } 9 }; 10 11 template <typename T> 12 class D2 13 { 14 enum A : int; 15 enum D2<T>::A : int { foo } c; // { dg-error "extra qualification not allowed" } 16 }; 17 18 template <typename T> 19 class D3 20 { 21 enum D3::A { foo } c; // { dg-error "extra qualification not allowed" } 22 }; 23 24 template <typename T> 25 class D4 26 { 27 enum D4<T>::A { foo } c; // { dg-error "extra qualification not allowed" } 28 }; 29 30 template <typename T> 31 class D5 32 { 33 class D6 34 { 35 enum D6::A { foo } c; // { dg-error "extra qualification not allowed" } 36 }; 37 }; 38 39 template <typename T> 40 class D7 41 { 42 class D8 43 { 44 enum A : int; 45 enum D8::A : int { foo } c; // { dg-error "extra qualification not allowed" } 46 }; 47 }; 48