public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/106482] New: [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors
@ 2022-07-30  9:57 skunk at iskunk dot org
  2022-08-01  9:14 ` [Bug bootstrap/106482] " rguenth at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: skunk at iskunk dot org @ 2022-07-30  9:57 UTC (permalink / raw)
  To: gcc-bugs

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/106482] [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors
  2022-07-30  9:57 [Bug bootstrap/106482] New: [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors skunk at iskunk dot org
@ 2022-08-01  9:14 ` rguenth at gcc dot gnu.org
  2022-08-01  9:31 ` skunk at iskunk dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-08-01  9:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106482

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |documentation
   Target Milestone|---                         |12.2

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think you need at least GCC 4.8.3 due to bugs in GCC 4.8.[0-2], GCC 4.8.5
definitely works.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/106482] [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors
  2022-07-30  9:57 [Bug bootstrap/106482] New: [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors skunk at iskunk dot org
  2022-08-01  9:14 ` [Bug bootstrap/106482] " rguenth at gcc dot gnu.org
@ 2022-08-01  9:31 ` skunk at iskunk dot org
  2022-12-22 14:53 ` [Bug bootstrap/106482] [12/13 " rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: skunk at iskunk dot org @ 2022-08-01  9:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106482

--- Comment #2 from Daniel Richard G. <skunk at iskunk dot org> ---
It would be good to have a specific minimum version of GCC in the documented
prerequisites, as the current text ("an existing GCC binary (version 4.8 or
later)", albeit referring to non-bootstrap builds) misses edge cases like this.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/106482] [12/13 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors
  2022-07-30  9:57 [Bug bootstrap/106482] New: [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors skunk at iskunk dot org
  2022-08-01  9:14 ` [Bug bootstrap/106482] " rguenth at gcc dot gnu.org
  2022-08-01  9:31 ` skunk at iskunk dot org
@ 2022-12-22 14:53 ` rguenth at gcc dot gnu.org
  2022-12-22 15:01 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-12-22 14:53 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106482

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
             Status|UNCONFIRMED                 |ASSIGNED
           Priority|P3                          |P2
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2022-12-22

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Daniel Richard G. from comment #2)
> It would be good to have a specific minimum version of GCC in the documented
> prerequisites, as the current text ("an existing GCC binary (version 4.8 or
> later)", albeit referring to non-bootstrap builds) misses edge cases like
> this.

Note the documented requirement for bootstrapping is a "ISO C++11 compiler".
We fail to specifically say which GCC version fulfills this, the GCC 4.8
requirement for non-bootstrap is technically unrelated but it will run into
the same issues I think.

Generally when we refer to a major GCC version picking the latest bugfix
release is always recommended.

I'm posting a proposal to amend the documentation.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/106482] [12/13 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors
  2022-07-30  9:57 [Bug bootstrap/106482] New: [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors skunk at iskunk dot org
                   ` (2 preceding siblings ...)
  2022-12-22 14:53 ` [Bug bootstrap/106482] [12/13 " rguenth at gcc dot gnu.org
@ 2022-12-22 15:01 ` cvs-commit at gcc dot gnu.org
  2022-12-22 15:02 ` cvs-commit at gcc dot gnu.org
  2022-12-22 15:02 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-12-22 15:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106482

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:b97c33fbd28e74a206c81c96a9b0b9fa3c8545d6

commit r13-4847-gb97c33fbd28e74a206c81c96a9b0b9fa3c8545d6
Author: Richard Biener <rguenther@suse.de>
Date:   Thu Dec 22 15:51:46 2022 +0100

    bootstrap/106482 - document minimal GCC version

    There's no explicit mention of what GCC compiler supports C++11
    and the cross compiler build requirement mentions GCC 4.8 but not
    GCC 4.8.3 which is the earliest known version to not run into
    C++11 implementation bugs.  The following adds explicit wording.

            PR bootstrap/106482
            * doc/install.texi (ISO C++11 Compiler): Document GCC version
            known to work.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/106482] [12/13 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors
  2022-07-30  9:57 [Bug bootstrap/106482] New: [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors skunk at iskunk dot org
                   ` (3 preceding siblings ...)
  2022-12-22 15:01 ` cvs-commit at gcc dot gnu.org
@ 2022-12-22 15:02 ` cvs-commit at gcc dot gnu.org
  2022-12-22 15:02 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-12-22 15:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106482

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:6e09c1d71d23d4c17f035577b318b873960db1d8

commit r12-9009-g6e09c1d71d23d4c17f035577b318b873960db1d8
Author: Richard Biener <rguenther@suse.de>
Date:   Thu Dec 22 15:51:46 2022 +0100

    bootstrap/106482 - document minimal GCC version

    There's no explicit mention of what GCC compiler supports C++11
    and the cross compiler build requirement mentions GCC 4.8 but not
    GCC 4.8.3 which is the earliest known version to not run into
    C++11 implementation bugs.  The following adds explicit wording.

            PR bootstrap/106482
            * doc/install.texi (ISO C++11 Compiler): Document GCC version
            known to work.

    (cherry picked from commit b97c33fbd28e74a206c81c96a9b0b9fa3c8545d6)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/106482] [12/13 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors
  2022-07-30  9:57 [Bug bootstrap/106482] New: [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors skunk at iskunk dot org
                   ` (4 preceding siblings ...)
  2022-12-22 15:02 ` cvs-commit at gcc dot gnu.org
@ 2022-12-22 15:02 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-12-22 15:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106482

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
documentation amended for trunk and branch.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-12-22 15:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-30  9:57 [Bug bootstrap/106482] New: [12 Regression] bootstrap of 12.1.0 using 4.8.2 fails with C++ errors skunk at iskunk dot org
2022-08-01  9:14 ` [Bug bootstrap/106482] " rguenth at gcc dot gnu.org
2022-08-01  9:31 ` skunk at iskunk dot org
2022-12-22 14:53 ` [Bug bootstrap/106482] [12/13 " rguenth at gcc dot gnu.org
2022-12-22 15:01 ` cvs-commit at gcc dot gnu.org
2022-12-22 15:02 ` cvs-commit at gcc dot gnu.org
2022-12-22 15:02 ` rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).