http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52894
Bug #: 52894
Summary: [4.5,4.6,4.7,4.8 Regression] Stage1 bootstrap fails
with gcc-4.6.3: Infinite loop in pointer_set_insert
Classification: Unclassified
Product: gcc
Version: 4.6.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: [email protected]
ReportedBy: [email protected]
Host: hppa-unknown-linux-gnu
Target: hppa-unknown-linux-gnu
Build: hppa-unknown-linux-gnu
Bootstrap fails with Debian gcc-4.6.3-2 and gcc-4.7.0-2. The failure
was most likely caused by r185758 based on backtrace:
PR middle-end/52640
* varasm.c: Include pointer-set.h.
(pending_assemble_externals_set): New pointer set.
(process_pending_assemble_externals): Destroy the pointer set.
(assemble_external): See if decl is in pending_assemble_externals_set,
and add it to pending_assemble_externals if necessary.
(init_varasm_once): Allocate pending_assemble_externals_set.
gcc-4.6.3-1 and gcc-4.7.0-1 were ok.
The cause of the loop is as yet unclear but it is clearly not associated
with the above change. The failure occurs compiling a number of files in
stage1. It seems to be associated with the second vector allocation
in pointer_set_insert.
Triggered with the following options:
-fpreprocessed cgraphbuild.i -quiet -dumpbase cgraphbuild.c -auxbase-strip
cgraphbuild.o -g -Wextra -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wc++-compat -version -fkeep-inline-functions
-fno-common -o cgraphbuild.s