mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-22 19:41:06 +08:00
Add more C2x attributes tests.
This patch adds more tests of C2x attributes, where I found cases that were handled correctly by my patches but missing from the original tests. Tests are added for -std=c11 -pedantic handling of C2x attribute syntax and corresponding -Wc11-c2x-compat handling; for struct [[deprecated]]; and for the [[__fallthrough__]] spelling of [[fallthrough]] in the case of valid fallthrough attributes. Tested for x86_64-pc-linux-gnu. * gcc.dg/c11-attr-syntax-1.c, gcc.dg/c11-attr-syntax-2.c, gcc.dg/c11-attr-syntax-3.c, gcc.dg/c2x-attr-syntax-4.c: New tests. * gcc.dg/c2x-attr-deprecated-1.c: Also test struct [[deprecated]]. * gcc.dg/c2x-attr-fallthrough-1.c: Also test [[__fallthrough__]]. From-SVN: r278418
This commit is contained in:
parent
9d2b80ea51
commit
092508a079
@ -1,3 +1,10 @@
|
||||
2019-11-18 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* gcc.dg/c11-attr-syntax-1.c, gcc.dg/c11-attr-syntax-2.c,
|
||||
gcc.dg/c11-attr-syntax-3.c, gcc.dg/c2x-attr-syntax-4.c: New tests.
|
||||
* gcc.dg/c2x-attr-deprecated-1.c: Also test struct [[deprecated]].
|
||||
* gcc.dg/c2x-attr-fallthrough-1.c: Also test [[__fallthrough__]].
|
||||
|
||||
2019-11-18 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/91962 - ICE with reference binding and qualification conversion.
|
||||
|
7
gcc/testsuite/gcc.dg/c11-attr-syntax-1.c
Normal file
7
gcc/testsuite/gcc.dg/c11-attr-syntax-1.c
Normal file
@ -0,0 +1,7 @@
|
||||
/* Test C2x attribute syntax: rejected in C11. */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-std=c11 -pedantic-errors" } */
|
||||
|
||||
[[]]; /* { dg-error "attributes before C2X" } */
|
||||
|
||||
void f [[]] (void); /* { dg-error "attributes before C2X" } */
|
7
gcc/testsuite/gcc.dg/c11-attr-syntax-2.c
Normal file
7
gcc/testsuite/gcc.dg/c11-attr-syntax-2.c
Normal file
@ -0,0 +1,7 @@
|
||||
/* Test C2x attribute syntax: rejected in C11. */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-std=c11 -pedantic" } */
|
||||
|
||||
[[]]; /* { dg-warning "attributes before C2X" } */
|
||||
|
||||
void f [[]] (void); /* { dg-warning "attributes before C2X" } */
|
8
gcc/testsuite/gcc.dg/c11-attr-syntax-3.c
Normal file
8
gcc/testsuite/gcc.dg/c11-attr-syntax-3.c
Normal file
@ -0,0 +1,8 @@
|
||||
/* Test C2x attribute syntax: rejected in C11, but warning disabled
|
||||
with -Wno-c11-c2x-compat. */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-std=c11 -pedantic -Wno-c11-c2x-compat" } */
|
||||
|
||||
[[]];
|
||||
|
||||
void f [[]] (void);
|
@ -89,3 +89,11 @@ f11 (void)
|
||||
{
|
||||
return y.b; /* { dg-warning "deprecated" } */
|
||||
}
|
||||
|
||||
struct [[deprecated]] s { int x; };
|
||||
|
||||
void
|
||||
f12 (void)
|
||||
{
|
||||
struct s var; /* { dg-warning "deprecated" } */
|
||||
}
|
||||
|
@ -16,6 +16,12 @@ f (int a)
|
||||
case 3:
|
||||
b += 7;
|
||||
break;
|
||||
case 4:
|
||||
b = 5;
|
||||
[[__fallthrough__]];
|
||||
case 5:
|
||||
b += 1;
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
7
gcc/testsuite/gcc.dg/c2x-attr-syntax-4.c
Normal file
7
gcc/testsuite/gcc.dg/c2x-attr-syntax-4.c
Normal file
@ -0,0 +1,7 @@
|
||||
/* Test C2x attribute syntax: diagnosed with -Wc11-c2x-compat. */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-std=c2x -pedantic-errors -Wc11-c2x-compat" } */
|
||||
|
||||
[[]]; /* { dg-warning "attributes before C2X" } */
|
||||
|
||||
void f [[]] (void); /* { dg-warning "attributes before C2X" } */
|
Loading…
x
Reference in New Issue
Block a user