1 /* { dg-do compile } */ 2 3 #define ATTR_PRINTF __attribute__ ((format (printf, 1, 2))) 4 #define ATTR_USED __attribute__ ((used)) 5 6 void bar (int, ...); 7 8 /* gcc would segfault on the nested attribute. */ foo(void)9void foo (void) 10 { 11 bar (0, (void (*ATTR_PRINTF) (const char *, ...)) 0); 12 } 13 14 /* For consistency, unnamed decls should give the same warnings as 15 named ones. */ 16 void proto1 (int (*ATTR_USED) (void)); /* { dg-warning "attribute ignored" } */ 17 void proto2 (int (*ATTR_USED bar) (void)); /* { dg-warning "attribute ignored" } */ 18