diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2016-01-19 12:59:58 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2016-01-19 11:59:58 +0000 |
commit | e49d321f033c35d907d9d3eb339efaa6a8ba1e52 (patch) | |
tree | fdaa2323b4b934afcea00464272b58b00616b05d | |
parent | e9191ad3ab89826936060c5e13800ce6be4f650c (diff) | |
download | gcc-e49d321f033c35d907d9d3eb339efaa6a8ba1e52.zip gcc-e49d321f033c35d907d9d3eb339efaa6a8ba1e52.tar.gz gcc-e49d321f033c35d907d9d3eb339efaa6a8ba1e52.tar.bz2 |
re PR lto/69136 (ICE in lto_symtab_prevailing_virtual_decl, at lto/lto-symtab.c:991)
PR lto/69136
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
decls have no assemblernames.
* g++.dg/torture/pr69136.C: New testcase.
From-SVN: r232553
-rw-r--r-- | gcc/lto/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lto/lto-symtab.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/torture/pr69136.C | 6 |
4 files changed, 19 insertions, 0 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 430dcfe..952ebd4 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,9 @@ +2016-01-19 Jan Hubicka <hubicka@ucw.cz> + + PR lto/69136 + * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract + decls have no assemblernames. + 2016-01-19 Martin Liska <mliska@suse.cz> Martin Jambor <mjambor@suse.cz> diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c index b22dea8..94b919b 100644 --- a/gcc/lto/lto-symtab.c +++ b/gcc/lto/lto-symtab.c @@ -990,6 +990,8 @@ lto_symtab_merge_symbols (void) tree lto_symtab_prevailing_virtual_decl (tree decl) { + if (DECL_ABSTRACT_P (decl)) + return decl; gcc_checking_assert (!type_in_anonymous_namespace_p (DECL_CONTEXT (decl)) && DECL_ASSEMBLER_NAME_SET_P (decl)); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6f9a2a6..d80aaa6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2016-01-19 Jan Hubicka <hubicka@ucw.cz> + PR lto/69136 + * g++.dg/torture/pr69136.C: New testcase. + +2016-01-19 Jan Hubicka <hubicka@ucw.cz> + PR lto/69133 * g++.dg/lto/pr69133_0.C: New testcase. * g++.dg/lto/pr69133_1.C: New testcase. diff --git a/gcc/testsuite/g++.dg/torture/pr69136.C b/gcc/testsuite/g++.dg/torture/pr69136.C new file mode 100644 index 0000000..a9c6236 --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr69136.C @@ -0,0 +1,6 @@ +// { dg-do compile } +class GrBufferAllocPool { + virtual ~GrBufferAllocPool(); +}; +GrBufferAllocPool::~GrBufferAllocPool() { static long a; } + |