1 /* { dg-do compile } */
2 /* { dg-options "" } */
4 #define CONCAT_(A,B) A ## B
5 #define CONCAT(A,B) CONCAT_(A,B)
7 #define ATTR __attribute__((AT))
8 #define ATSYM(suf) CONCAT (AT, CONCAT_ (_, suf))
12 typedef int ATSYM(type) ATTR; /* { dg-warning "attribute ignored" "" } */
14 typedef int (*ATSYM(fntype))(void) ATTR; /* { dg-warning "attribute ignored" "" } */
16 struct ATSYM(struct) {
17 char dummy ATTR; /* { dg-warning "attribute ignored" "" } */
18 } ATTR; /* { dg-warning "does not apply to types" "" } */
20 int ATSYM(var) ATTR; /* { dg-warning "attribute ignored" "" } */
22 int ATSYM(fn_knrarg) (arg)
23 int arg ATTR; /* { dg-warning "attribute ignored" "" } */
26 int ATSYM(fn_isoarg) (int arg ATTR) {} /* { dg-warning "attribute ignored" "" } */
28 int ATSYM(fn_vars) (void) {
29 static int svar ATTR; /* { dg-warning "attribute ignored" "" } */
30 auto int lvar ATTR; /* { dg-warning "attribute ignored" "" } */
37 typedef int ATSYM(type) ATTR; /* { dg-warning "attribute ignored" "" } */
39 typedef int (*ATSYM(fntype))(void) ATTR; /* { dg-warning "attribute ignored" "" } */
41 struct ATSYM(struct) {
42 char dummy ATTR; /* { dg-warning "attribute ignored" "" } */
43 } ATTR; /* { dg-warning "does not apply to types" "" } */
45 int ATSYM(var) ATTR; /* { dg-warning "attribute ignored" "" } */
47 int ATSYM(fn_knrarg) (arg)
48 int arg ATTR; /* { dg-warning "attribute ignored" "" } */
51 int ATSYM(fn_isoarg) (int arg ATTR) {} /* { dg-warning "attribute ignored" "" } */
53 int ATSYM(fn_vars) (void) {
54 static int svar ATTR; /* { dg-warning "attribute ignored" "" } */
55 auto int lvar ATTR; /* { dg-warning "attribute ignored" "" } */