[Bug c++/84973] [8 Regression] ICE: Segmentation fault (tree_check()/ultimate_transparent_alias_target())
aoliva at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Mar 28 05:05:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84973
--- Comment #5 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
Author: aoliva
Date: Wed Mar 28 05:05:14 2018
New Revision: 258914
URL: https://gcc.gnu.org/viewcvs?rev=258914&root=gcc&view=rev
Log:
[PR c++/84973] don't defer output of uninstantiated templates
When an anon struct gets a name through a typedef, we reset its
linkage and that of its members. Member functions may get vague
linkage, which schedules them for deferred output, but we don't want
to add them to the queue if they're uninstantiated templates,
e.g. because the enclosing function is a template. They will be added
as needed when the enclosing template is instantiated.
for gcc/cp/ChangeLog
PR c++/84973
* decl2.c (note_vague_linkage_fn): Don't defer uninstantiated
templates.
for gcc/testsuite/ChangeLog
PR c++/84973
* g++.dg/template/pr84973.C: New.
* g++.dg/template/pr84973-2.C: New.
* g++.dg/template/pr84973-3.C: New.
Added:
trunk/gcc/testsuite/g++.dg/template/pr84973-2.C
trunk/gcc/testsuite/g++.dg/template/pr84973-3.C
trunk/gcc/testsuite/g++.dg/template/pr84973.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl2.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list