[Bug c/48996] fixincl on Red Hat EL 5 breaks sys/stat.h fstat64()
psmith at gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon May 16 15:29:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48996
--- Comment #4 from psmith at gnu dot org 2011-05-16 15:07:40 UTC ---
I'm attaching a small test program that fails for me. I'm just running the
compiler with "c++ -o tstfstat.o -c tstfstat.cpp"; no extra flags.
After looking more carefully I can see that when I build this without
optimization I get this problem; the ifdef around the definition of the inline
version is:
# if defined __USE_LARGEFILE64 \
&& (! defined __USE_FILE_OFFSET64 \
|| (defined __REDIRECT_NTH && defined __OPTIMIZE__))
In my system __USE_LARGEFILE64 is 1, __USE_FILE_OFFSET64 is 1, and
__REDIRECT_NTH is defined. So, this entire if statement is true if
__OPTIMIZE__ is true, and false otherwise.
On the other hand the declaration doesn't care about __OPTIMIZE__; it declares
the function to be __inline__ regardless.
Sure enough, when I add -O2 to the compile line I don't see any complaints from
the compiler. However that's not something I can do :-).
More information about the Gcc-bugs
mailing list