Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/c-c++-common/pr69543-3.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/c-c++-common/pr69543-3.c Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,20 @@ +/* { dg-options "-Wuninitialized" } */ + +/* Verify disabling a warning, where the _Pragma is in regular code, + but the affected code is within a macro. */ + +/* TODO: XFAIL: both C and C++ erroneously fail to suppress the warning + The warning is reported at the macro definition location, rather than + the macro expansion location. */ + +#define WARNABLE_CODE *++yyvsp = yylval; /* { dg-bogus "used uninitialized" "" { xfail *-*-* } } */ + +void test (char yylval) +{ + char *yyvsp; /* { dg-bogus "declared here" "" { xfail *-*-* } } */ + _Pragma ("GCC diagnostic push") + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") + WARNABLE_CODE + _Pragma ("GCC diagnostic pop") +}