https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116859
Bug ID: 116859 Summary: Bootstrap broken on FreeBSD due to _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: kargls at comcast dot net Target Milestone: --- It seems someone committed a change after 20240909 that now breaks bootstrap on FreeBSD. I could complete a normal bootstrap on the above date. I now see thousands of warnings about !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC not being portable. This unfortunately ends up with an error thusly, /usr/home/sgk/gcc/objx/./prev-gcc/xg++ -B/usr/home/sgk/gcc/objx/./prev-gcc/ -B/usr/home/sgk/work/x/x86_64-unknown-freebsd15.0/bin/ -nostdinc++ -B/usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/src/.libs -B/usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/libsupc++/.libs -I/usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/include/x86_64-unknown-freebsd15.0 -I/usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/include -I/usr/home/sgk/gcc/gccx/libstdc++-v3/libsupc++ -L/usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/src/.libs -L/usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/libsupc++/.libs -I../../gccx/libcpp -I. -I../../gccx/libcpp/../include -I../../gccx/libcpp/include -g -O2 -fno-checking -gtoggle -W -Wall -Wno-narrowing -Wwrite-strings -Wmissing-format-attribute -pedantic -Wno-long-long -Werror -fno-exceptions -fno-rtti -I../../gccx/libcpp -I. -I../../gccx/libcpp/../include -I../../gccx/libcpp/include -c -o charset.o -MT charset.o -MMD -MP -MF .deps/charset.Tpo ../../gccx/libcpp/charset.cc In file included from /usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/include/stdlib.h:36, from ../../gccx/libcpp/system.h:218, from ../../gccx/libcpp/charset.cc:21: /usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/include/cstdlib:209:6: error: this use of "defined" may not be portable [-Werror=expansion-to-defined] 209 | #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/include/cstdlib:219:6: error: this use of "defined" may not be portable [-Werror=expansion-to-defined] 219 | #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/include/cstdlib:229:41: error: this use of "defined" may not be portable [-Werror=expansion-to-defined] 229 | #if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/include/cstdlib:236:6: error: this use of "defined" may not be portable [-Werror=expansion-to-defined] 236 | #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/include/cstdlib:249:6: error: this use of "defined" may not be portable [-Werror=expansion-to-defined] 249 | #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/sgk/gcc/objx/prev-x86_64-unknown-freebsd15.0/libstdc++-v3/include/cstdlib:253:6: error: this use of "defined" may not be portable [-Werror=expansion-to-defined] 253 | #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors