/* PR middle-end/97879 - ICE on invalid mode in attribute access { dg-do compile } { dg-options "-Wall" } */ #define A(...) __attribute__ ((access (__VA_ARGS__))) 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'" } void f1 (int *); A ("none", 1) void f2 (char *); // { dg-error "not an identifier" } void f2 (char *); A (1) void f3 (); // { dg-error "not an identifier" } A (1, 2) void f4 (); // { dg-error "not an identifier" } A (2., 3.) void f5 (); // { dg-error "not an identifier" } // Verify that copying a valid access attribute doesn't cause errors. A (read_only, 1, 2) void f6 (void*, int); __attribute__ ((copy (f6))) void f7 (void*, int);