https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115077
Bug ID: 115077 Summary: bootstrap fails with in-tree isl-0.25/6 Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: build Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: iains at gcc dot gnu.org Target Milestone: --- see also this thread: https://gcc.gnu.org/pipermail/gcc/2024-May/243949.htm version 0.25 and 0.26 have test cases that require c++17 support. Essentially we have a stage1 bootstrap fail with errors of the form " /src-local/gcc-master/isl/isl_test_cpp17-generic.cc: In function ‘isl::id construct_id(isl::ctx, bool*)’: /src-local/gcc-master/isl/isl_test_cpp17-generic.cc:25:24: error: no matching function for call to ‘isl::id::id(isl::ctx&, const char [2], std::shared_ptr<S>&)’ 25 | isl::id id(ctx, "S", s); " because we are somehow mismatching the build flags and the configure ones. ===== The isl configure checks for this support using AX_CXX_COMPILE_STDCXX_17 which updates CXX to include the addition of -std=c++17, if that is required to enable it. The test cases are then added on HAVE_CXX17 The isl (stage1) Makefile contains (for an example on Darwin) CXX = x86_64-apple-darwin21-g++ -std=c++11 -std=gnu++17 CXXCPP = x86_64-apple-darwin21-g++ -std=c++11 -std=gnu++17 -E Which is correct. However somehow we are overriding this in the actual build: x86_64-apple-darwin21-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I/src-local/gcc-master/isl -I/src-local/gcc-master/isl/include -Iinclude/ -I/src-local/gcc-master/gmp -I/scratch/12-mon-rosetta/gcc-master/./gmp -O -pipe -MT isl_test_cpp17.o -MD -MP -MF $depbase.Tpo -c -o isl_test_cpp17.o /src-local/gcc-master/isl/isl_test_cpp17.cc &&\ mv -f $depbase.Tpo $depbase.Po