]>
Commit | Line | Data |
---|---|---|
df90f070 MS |
1 | /* PR middle-end/97879 - ICE on invalid mode in attribute access |
2 | { dg-do compile } | |
3 | { dg-options "-Wall" } */ | |
4 | ||
5 | #define A(...) __attribute__ ((access (__VA_ARGS__))) | |
6 | ||
7 | A (" ", 1) void f1 (int *); // { dg-error "attribute 'access' mode '\" \"' is not an identifier; expected one of 'read_only', 'read_write', 'write_only', or 'none'" } | |
8 | void f1 (int *); | |
9 | ||
10 | ||
11 | A ("none", 1) void f2 (char *); // { dg-error "not an identifier" } | |
12 | void f2 (char *); | |
13 | ||
14 | A (1) void f3 (); // { dg-error "not an identifier" } | |
15 | ||
16 | A (1, 2) void f4 (); // { dg-error "not an identifier" } | |
17 | A (2., 3.) void f5 (); // { dg-error "not an identifier" } | |
18 | ||
19 | // Verify that copying a valid access attribute doesn't cause errors. | |
20 | A (read_only, 1, 2) void f6 (void*, int); | |
21 | __attribute__ ((copy (f6))) void f7 (void*, int); |