https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106482
Bug ID: 106482 Summary: [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors Product: gcc Version: 12.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: skunk at iskunk dot org Target Milestone: --- Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Build: x86_64-pc-linux-gnu I attempted to bootstrap 12.1.0 using GCC 4.8.2. The documented prerequisites include an "ISO C++11 compiler," so this appears to be a supported arrangement. GCC 12 was configured with --disable-shared --disable-nls --enable-version-specific-runtime-libs --with-pic --disable-multilib --with-arch=opteron --disable-libcc1 --enable-languages=c,c++,lto The bootstrap failed as shown below. I was able to bootstrap 10.2.0 using the original compiler, and then bootstrapped 12.1.0 with that intermediary. tg-g++ -std=c++11 -fno-PIE -c -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/src/gcc-12.1.0/gcc -I/home/src/gcc-12.1.0/gcc/. -I/home/src/gcc-12.1.0/gcc/../include -I/home/src/gcc-12.1.0/gcc/../libcpp/include -I/home/src/gcc-12.1.0/gcc/../libcody -I/home/sfw/arch/linux64/include -I/home/sfw/arch/linux64/include -I/home/sfw/arch/linux64/include -I/home/src/gcc-12.1.0/gcc/../libdecnumber -I/home/src/gcc-12.1.0/gcc/../libdecnumber/bid -I../libdecnumber -I/home/src/gcc-12.1.0/gcc/../libbacktrace -o fwprop.o -MT fwprop.o -MMD -MP -MF ./.deps/fwprop.TPo /home/src/gcc-12.1.0/gcc/fwprop.cc In file included from /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:491:0, from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.tcc:24:1: error: prototype for 'typename base_splay_tree<Accessors>::node_type base_splay_tree<Accessors>::get_child(typename Accessors::node_type, unsigned int)' does not match any in class 'base_splay_tree<Accessors>' base_splay_tree<Accessors>::get_child (node_type node, unsigned int index) ^ In file included from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45:0, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:125:20: error: candidate is: static typename Accessors::node_type base_splay_tree<Accessors>::get_child(typename Accessors::node_type, unsigned int) static node_type get_child (node_type, unsigned int); ^ In file included from /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:491:0, from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.tcc:49:1: error: prototype for 'typename base_splay_tree<Accessors>::node_type base_splay_tree<Accessors>::promote_child(typename Accessors::node_type, unsigned int)' does not match any in class 'base_splay_tree<Accessors>' base_splay_tree<Accessors>::promote_child (node_type node, unsigned int index) ^ In file included from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45:0, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:128:15: error: candidates are: static void base_splay_tree<Accessors>::promote_child(typename Accessors::node_type, unsigned int, typename Accessors::node_type) static void promote_child (node_type, unsigned int, node_type); ^ /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:127:20: error: static typename Accessors::node_type base_splay_tree<Accessors>::promote_child(typename Accessors::node_type, unsigned int) static node_type promote_child (node_type, unsigned int); ^ In file included from /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:491:0, from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.tcc:187:1: error: prototype for 'typename base_splay_tree<Accessors>::node_type base_splay_tree<Accessors>::splay_limit(typename Accessors::node_type)' does not match any in class 'base_splay_tree<Accessors>' base_splay_tree<Accessors>::splay_limit (node_type start) ^ In file included from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45:0, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:131:20: error: candidate is: template<class Accessors> template<unsigned int N> static typename Accessors::node_type base_splay_tree<Accessors>::splay_limit(typename Accessors::node_type) static node_type splay_limit (node_type); ^ In file included from /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:491:0, from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.tcc:269:1: error: prototype for 'typename base_splay_tree<Accessors>::node_type base_splay_tree<Accessors>::remove_node_internal(typename Accessors::node_type)' does not match any in class 'base_splay_tree<Accessors>' base_splay_tree<Accessors>::remove_node_internal (node_type node) ^ In file included from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45:0, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:133:20: error: candidate is: static typename Accessors::node_type base_splay_tree<Accessors>::remove_node_internal(typename Accessors::node_type) static node_type remove_node_internal (node_type); ^ In file included from /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:491:0, from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.tcc:466:1: error: prototype for 'typename rooted_splay_tree<Accessors>::node_type rooted_splay_tree<Accessors>::min_node()' does not match any in class 'rooted_splay_tree<Accessors>' rooted_splay_tree<Accessors>::min_node () ^ In file included from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45:0, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:250:13: error: candidate is: typename Accessors::node_type rooted_splay_tree<Accessors>::min_node() node_type min_node (); ^ In file included from /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:491:0, from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.tcc:475:1: error: prototype for 'typename rooted_splay_tree<Accessors>::node_type rooted_splay_tree<Accessors>::max_node()' does not match any in class 'rooted_splay_tree<Accessors>' rooted_splay_tree<Accessors>::max_node () ^ In file included from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45:0, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:257:13: error: candidate is: typename Accessors::node_type rooted_splay_tree<Accessors>::max_node() node_type max_node (); ^ In file included from /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:491:0, from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.tcc:745:1: error: prototype for 'typename rootless_splay_tree<Accessors>::node_type rootless_splay_tree<Accessors>::get_parent(typename Accessors::node_type)' does not match any in class 'rootless_splay_tree<Accessors>' rootless_splay_tree<Accessors>::get_parent (node_type node) ^ In file included from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45:0, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:468:20: error: candidate is: static typename Accessors::node_type rootless_splay_tree<Accessors>::get_parent(typename Accessors::node_type) static node_type get_parent (node_type); ^ In file included from /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:491:0, from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.tcc:793:1: error: prototype for 'typename rootless_splay_tree<Accessors>::node_type rootless_splay_tree<Accessors>::remove_node(typename Accessors::node_type)' does not match any in class 'rootless_splay_tree<Accessors>' rootless_splay_tree<Accessors>::remove_node (node_type node) ^ In file included from /home/src/gcc-12.1.0/gcc/rtl-ssa.h:45:0, from /home/src/gcc-12.1.0/gcc/fwprop.cc:29: /home/src/gcc-12.1.0/gcc/splay-tree-utils.h:419:20: error: candidate is: static typename Accessors::node_type rootless_splay_tree<Accessors>::remove_node(typename Accessors::node_type) static node_type remove_node (node_type node); ^ gmake[3]: *** [Makefile:1143: fwprop.o] Error 1 gmake[3]: Leaving directory '/tmp/gcc-build/gcc' gmake[2]: *** [Makefile:4962: all-stage1-gcc] Error 2 gmake[2]: Leaving directory '/tmp/gcc-build' gmake[1]: *** [Makefile:25423: stage1-bubble] Error 2 gmake[1]: Leaving directory '/tmp/gcc-build' gmake: *** [Makefile:25787: bootstrap-lean] Error 2