summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/attr-nest.c
blob: 16a79c6e74849ae750549076a18acb614552737b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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" } */