Failure after basepoints/gcc-13-4795-g263c22a95bc: build: add -Wconditionally-supported to strict_warn [PR64867]: Results changed to -10 # true: 0 # build_abe binutils: 1 # build_abe bootstrap: # FAILED # First few build errors in logs: # 00:05:17 make[3]: [Makefile:1817: aarch64-unknown-linux-gnu/bits/largefile-config.h] Error 1 (ignored) # 00:05:17 make[3]: [Makefile:1818: aarch64-unknown-linux-gnu/bits/largefile-config.h] Error 1 (ignored) # 00:10:16 /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/snapshots/gcc.git~master/gcc/sort.cc:245:11: error: casting between pointer-to-function and pointer-to-object is conditionally-supported [-Werror=conditionally-supported] # 00:10:16 /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/snapshots/gcc.git~master/gcc/sort.cc:268:39: error: casting between pointer-to-function and pointer-to-object is conditionally-supported [-Werror=conditionally-supported] # 00:10:17 make[3]: *** [Makefile:2850: build/sort.o] Error 1 # 00:10:25 make[2]: *** [Makefile:5013: all-stage2-gcc] Error 2 # 00:10:25 make[1]: *** [Makefile:25763: stage2-bubble] Error 2 # 00:10:25 make: *** [Makefile:1080: all] Error 2 from -10 # true: 0 # build_abe binutils: 1 # build_abe bootstrap: 2 THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. For latest status see comments in https://linaro.atlassian.net/browse/GNU-692 . Status of basepoints/gcc-13-4795-g263c22a95bc commit for tcwg_gcc_bootstrap: commit 263c22a95bc9a0d80c4873c0291b0f938cea7310 Author: Jason Merrill Date: Mon Dec 5 10:00:31 2022 -0500 build: add -Wconditionally-supported to strict_warn [PR64867] The PR (which isn't resolved by this commit) pointed out to me that GCC should build with -Wconditionally-supported to support bootstrapping with a C++11 compiler that makes different choices. PR c++/64867 gcc/ChangeLog: * configure.ac (strict_warn): Add -Wconditionally-supported. * configure: Regenerate. * master-aarch64-bootstrap ** Failure after basepoints/gcc-13-4795-g263c22a95bc: build: add -Wconditionally-supported to strict_warn [PR64867]: ** https://ci.linaro.org/job/tcwg_gcc_bootstrap-build-master-aarch64-bootstrap/1881/ Bad build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-build-master-aarch64-bootstrap/1881/artifact/artifacts Good build: https://ci.linaro.org/job/tcwg_gcc_bootstrap-build-master-aarch64-bootstrap/1880/artifact/artifacts Reproduce current build: mkdir -p investigate-gcc-263c22a95bc9a0d80c4873c0291b0f938cea7310 cd investigate-gcc-263c22a95bc9a0d80c4873c0291b0f938cea7310 # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests for bad and good builds mkdir -p bad/artifacts good/artifacts curl -o bad/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-build-master-aarch64-bootstrap/1881/artifact/artifacts/manifest.sh --fail curl -o good/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_gcc_bootstrap-build-master-aarch64-bootstrap/1880/artifact/artifacts/manifest.sh --fail # Reproduce bad build (cd bad; ../jenkins-scripts/tcwg_gnu-build.sh ^^ true %%rr[top_artifacts] artifacts) # Reproduce good build (cd good; ../jenkins-scripts/tcwg_gnu-build.sh ^^ true %%rr[top_artifacts] artifacts) Full commit (up to 1000 lines): commit 263c22a95bc9a0d80c4873c0291b0f938cea7310 Author: Jason Merrill Date: Mon Dec 5 10:00:31 2022 -0500 build: add -Wconditionally-supported to strict_warn [PR64867] The PR (which isn't resolved by this commit) pointed out to me that GCC should build with -Wconditionally-supported to support bootstrapping with a C++11 compiler that makes different choices. PR c++/64867 gcc/ChangeLog: * configure.ac (strict_warn): Add -Wconditionally-supported. * configure: Regenerate. --- gcc/configure | 2 +- gcc/configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/configure b/gcc/configure index 61b3cedbe69..921aad60712 100755 --- a/gcc/configure +++ b/gcc/configure @@ -7215,7 +7215,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu strict_warn= save_CXXFLAGS="$CXXFLAGS" -for real_option in -Wmissing-format-attribute -Woverloaded-virtual; do +for real_option in -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual; do # Do the check with the no- prefix removed since gcc silently # accepts any -Wno-* option on purpose case $real_option in diff --git a/gcc/configure.ac b/gcc/configure.ac index 5efbf11793c..b91f54ce05b 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -580,7 +580,7 @@ ACX_PROG_CC_WARNING_OPTS( m4_quote(m4_do([-Wstrict-prototypes -Wmissing-prototypes ], [])), [c_loose_warn]) ACX_PROG_CXX_WARNING_OPTS( - m4_quote(m4_do([-Wmissing-format-attribute ], + m4_quote(m4_do([-Wmissing-format-attribute ], [-Wconditionally-supported ], [-Woverloaded-virtual])), [strict_warn]) ACX_PROG_CC_WARNING_OPTS( m4_quote(m4_do([-Wold-style-definition -Wc++-compat])), [c_strict_warn])