On Fri, Nov 23, 2012 at 4:59 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Fri, Nov 23, 2012 at 3:38 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >> On Fri, Nov 23, 2012 at 3:21 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >>> On Fri, Nov 23, 2012 at 2:12 PM, Tobias Burnus <bur...@net-b.de> wrote: >>>> As suggested by Joseph, it uses fegetround instead of trying to get the >>>> information elsewhere (which glibc does to avoid mixing libm with libc). >>>> >>>> Build and tested on x86-64-gnu-linux. Committed as Rev. 193770. >>>> >>>> Tobias >>> >>> This caused: >>> >>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55455 >> >> I checked in the missing libquadmath/quadmath-rounding-mode.h. >> Hopefully, it will fix the problem. > > No, it doesn't. I got > > In file included from > ../../../src-trunk/libquadmath/printf/printf_fphex.c:28:0: > ../../../src-trunk/libquadmath/quadmath-rounding-mode.h: In function > 'get_rounding_mode': > ../../../src-trunk/libquadmath/quadmath-rounding-mode.h:36:22: error: > expected expression before 'void' > return fegetround (void); > ^ > ../../../src-trunk/libquadmath/quadmath-rounding-mode.h:36:22: error: > too many arguments to function 'fegetround' > In file included from > ../../../src-trunk/libquadmath/quadmath-rounding-mode.h:28:0, > from ../../../src-trunk/libquadmath/printf/printf_fphex.c:28: > /usr/include/fenv.h:86:12: note: declared here > extern int fegetround (void) __THROW; > ^
I checked in this patch to fix it. -- H.J. --- Index: ChangeLog =================================================================== --- ChangeLog (revision 193774) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2012-11-23 H.J. Lu <hongjiu...@intel.com> + + PR bootstrap/55455 + * quadmath-rounding-mode.h (get_rounding_mode): Don't pass + void to fegetround. + 2012-11-23 Tobias Burnus <bur...@net-b.de> Joseph Myers <jos...@codesourcery.com> Index: quadmath-rounding-mode.h =================================================================== --- quadmath-rounding-mode.h (revision 193774) +++ quadmath-rounding-mode.h (working copy) @@ -33,7 +33,7 @@ { #if defined(HAVE_FENV_H) && (defined(FE_DOWNWARD) || defined(FE_TONEAREST) \ || defined(FE_TOWARDZERO) || defined(FE_UPWARD)) - return fegetround (void); + return fegetround (); #else return 0; #endif