[Bug c/59668] extraneous error messages at -O1, -O2 and -O3 for valid code with string library functions
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jan 3 21:39:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59668
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|INVALID |DUPLICATE
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Zhendong Su from comment #3)
> (In reply to Andrew Pinski from comment #2)
> > Actually this is neither a bug in GCC or glibc. In C, strcmp can be defined
> > as a macro and that is what you are getting a macro.
>
> Huh, that's interesting; thanks. Could you give a pointer where this is
> described?
It is described in the C standard but I don't have the exact reference number
for it though.
> But again, how come the inconsistent behaviors at different optimization
> levels?
Because glibc decides only to implement the macro at -O and above but not when
optimizing for size.
>
> > You can fix your code by doing:
> > int (strcmp)(const char *, const char *);
> >
> > Instead.
Anyways this is really a dup of bug 32449.
*** This bug has been marked as a duplicate of bug 32449 ***
More information about the Gcc-bugs
mailing list