Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.dg/warn/Wredundant-tags-3.C @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
145:1830386684a0 | 152:2b5abeee2509 |
---|---|
1 /* PR c++/93801 - False -Wmismatched-tags upon redundant typename | |
2 { dg-do compile } | |
3 { dg-options "-Wall -Wredundant-tags" } */ | |
4 | |
5 namespace N | |
6 { | |
7 class C { }; | |
8 enum E { }; | |
9 struct S { }; | |
10 union U { }; | |
11 | |
12 template <int> class TC { }; | |
13 template <int> struct TS { }; | |
14 template <int> union TU { }; | |
15 } | |
16 | |
17 N::C c1; | |
18 typename N::C c2; // { dg-bogus "-Wredundant-tags" } | |
19 class N::C c3; // { dg-warning "-Wredundant-tags" } | |
20 | |
21 N::E e1; | |
22 typename N::E e2; // { dg-bogus "-Wredundant-tags" } | |
23 enum N::E e3; // { dg-warning "-Wredundant-tags" } | |
24 | |
25 N::S s1; | |
26 typename N::S s2; // { dg-bogus "-Wredundant-tags" } | |
27 struct N::S s3; // { dg-warning "-Wredundant-tags" } | |
28 | |
29 N::U u1; | |
30 typename N::U u2; // { dg-bogus "-Wredundant-tags" } | |
31 // { dg-bogus "'class' tag used in naming 'union N::U" "pr93809" { xfail *-*-*} .-1 } | |
32 union N::U u3; // { dg-warning "-Wredundant-tags" } | |
33 | |
34 | |
35 typedef N::TC<0> TC0; | |
36 typedef typename N::TC<0> TC0; | |
37 typedef class N::TC<0> TC0; // { dg-warning "-Wredundant-tags" } | |
38 | |
39 typedef N::TS<0> TS0; | |
40 typedef typename N::TS<0> TS0; | |
41 typedef struct N::TS<0> TS0; // { dg-warning "-Wredundant-tags" } | |
42 | |
43 typedef N::TS<0> TS0; | |
44 typedef typename N::TS<0> TS0; | |
45 typedef struct N::TS<0> TS0; // { dg-warning "-Wredundant-tags" } |