diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/attr-nest.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/attr-nest.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/attr-nest.c b/gcc/testsuite/gcc.dg/attr-nest.c new file mode 100644 index 000000000..16a79c6e7 --- /dev/null +++ b/gcc/testsuite/gcc.dg/attr-nest.c @@ -0,0 +1,17 @@ +/* { dg-do compile } */ + +#define ATTR_PRINTF __attribute__ ((format (printf, 1, 2))) +#define ATTR_USED __attribute__ ((used)) + +void bar (int, ...); + +/* gcc would segfault on the nested attribute. */ +void foo (void) +{ + bar (0, (void (*ATTR_PRINTF) (const char *, ...)) 0); +} + +/* For consistency, unnamed decls should give the same warnings as + named ones. */ +void proto1 (int (*ATTR_USED) (void)); /* { dg-warning "attribute ignored" } */ +void proto2 (int (*ATTR_USED bar) (void)); /* { dg-warning "attribute ignored" } */ |