https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93132
--- Comment #2 from Pekka S <p...@gcc-bugzilla.mail.kapsi.fi> --- As the patch is pretty trivial, I think it's easiest if you simply make the appropriate changes, including incrementing the atoi() values. I did mention in the last paragraph that not incrementing the 1-based indexes is a bit misleading, so I guess this confirms that :-) By the way, at least with AArch64 on C++ front-end the test case contributed by you causes an ICE. I did already notice this earlier on my tests -- complex, i.e. normal, files with prototyped access attributes are fine, but on simple cases with very little code they ICE. This sounds a bit fishy to me (perhaps the cause is found somewhere else). Are you able to reproduce this? Shall I make a separate PR? $ g++ -S -Wall -xc++ pr93132.c pr93132.c:12:29: internal compiler error: canonical types differ for identical types 'void(void*, int, int, int, int)' and 'void(void*, int, int, int, int)' 12 | f (void*, int, int, int, int); // { dg-warning "attribute 'access\\\(read_only, 1, 3\\\)' mismatch positional argument values 3 and 5" } I do not have the backtrace available to be included here, but if I recall correctly it wasn't anywhere near `c-attribs.c' code.