Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/warn/Wredundant-tags-5.h @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | |
children |
line wrap: on
line source
#ifndef WREDUNDANT_TAGS_H #define WREDUNDANT_TAGS_H #if __cplusplus >= 201103L # define enum_class enum class #else # define enum_class class #endif extern "C" { class C1 { }; enum_class EC1 { }; enum E1 { }; struct S1 { }; union U1 { }; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wredundant-tags" class C1 fc1 (class C1); // -Wredundant-tags enum_class EC1 fce1 (enum_class EC1); #pragma GCC diagnostic pop enum E1 fe1 (enum E1); struct S1 fs1 (struct S1); union U1 fu1 (union U1); C1 fc1 (C1); EC1 fce1 (EC1); E1 fe1 (E1); S1 fs1 (S1); U1 fu1 (U1); } extern "C++" { class C2 { }; enum_class EC2 { }; enum E2 { }; struct S2 { }; union U2 { }; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wredundant-tags" class C2 fc2 (class C2); // -Wredundant-tags enum_class EC2 fce2 (enum_class EC2); // -Wredundant-tags struct S2 fs2 (struct S2); // -Wredundant-tags union U2 fu2 (union U2); // -Wredundant-tags #pragma GCC diagnostic pop C2 fc2 (C2); EC2 fce2 (EC2); E2 fe2 (E2); S2 fs2 (S2); U2 fu2 (U2); } class C3 { }; enum_class EC3 { }; enum E3 { }; struct S3 { }; union U3 { }; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wredundant-tags" class C3 fc3 (class C3); // -Wredundant-tags enum_class EC3 fce3 (enum_class EC3); // -Wredundant-tags struct S3 fs3 (struct S3); // -Wredundant-tags union U3 fu3 (union U3); // -Wredundant-tags #pragma GCC diagnostic pop C3 fc3 (C3); EC3 fce3 (EC3); E3 fe3 (E3); S3 fs3 (S3); U3 fu3 (U3); #endif // WREDUNDANT_TAGS_H