From aa42eef159c3945cd127fa09e0a8808869e83398 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Fri, 15 Feb 2002 16:11:10 +0000 Subject: [PATCH] * gcc.dg/attr-nest.c: New test. From-SVN: r49792 --- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/attr-nest.c | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/attr-nest.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ffce5549153..227fad4d29b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2002-02-15 Richard Sandiford + + * gcc.dg/attr-nest.c: New test. + 2002-02-15 Richard Sandiford * gcc.c-torture/execute/20020215-1.c: New test. diff --git a/gcc/testsuite/gcc.dg/attr-nest.c b/gcc/testsuite/gcc.dg/attr-nest.c new file mode 100644 index 00000000000..16a79c6e748 --- /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" } */ -- 2.30.2