[Bug c/93132] bogus `attribute((access))' warning when size-index is specified

pexu@gcc-bugzilla.mail.kapsi.fi gcc-bugzilla@gcc.gnu.org
Wed Jan 8 07:39:00 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93132

--- Comment #2 from Pekka S <pexu@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.


More information about the Gcc-bugs mailing list