On Wed, Nov 02, 2022 at 10:13:44AM +0100, Rainer Orth wrote: > trunk bootstrap recently broke on Solaris like this: > > /vol/gcc/src/hg/master/local/gcc/builtins.cc:2104:8: error: pasting > "CFN_BUILT_IN_" and "(" does not give a valid preprocessing token > 2104 | case CFN_BUILT_IN_##MATHFN: \ > | ^~~~~~~~~~~~~ > /vol/gcc/src/hg/master/local/gcc/builtins.cc:2112:3: note: in expansion of > macro 'CASE_MATHFN' > 2112 | CASE_MATHFN(MATHFN) \ > | ^~~~~~~~~~~ > /vol/gcc/src/hg/master/local/gcc/builtins.cc:1967:5: note: in expansion of > macro 'CASE_MATHFN_FLOATN' > 1967 | CASE_MATHFN_FLOATN (HUGE_VAL) \ > > and similarly for NAN. > > It turns out this happens because <math.h> is included at some point, > which (in <iso/math_c99.h>) defines > > #define HUGE_VAL (__builtin_huge_val()) > #define NAN (__builtin_nanf("")) > > While this only happpens on Solaris right now, the same issue would be > present on other targets when <math.h> gets included somehow. > > To avoid this, this patch #undef's both macros. > > Bootstrapped without regressions on i386-pc-solaris2.11 and > sparc-sun-solaris2.11. > > Ok for trunk? > > Rainer > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University > > > 2022-11-01 Rainer Orth <r...@cebitec.uni-bielefeld.de> > > gcc: > * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
LGTM, thanks. Jakub