Commit b7e85ee1 by Ilya Enkovich Committed by Ilya Enkovich

re PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same…

re PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same comdat_group are not linked by the same_comdat_group list. with -fcheck-pointer-bounds -mmpx)

gcc/

	PR target/65531
	* ipa-chkp.c (chkp_maybe_create_clone): Don't set
	same_comdat_group for external symbols.
	* symtab.c (symtab_node::verify_symtab_nodes): Avoid
	infinite same_comdat_group traversal loop.

gcc/testsuite/

	PR target/65531
	* gcc.target/i386/mpx/pr65531.cc: New.

From-SVN: r221788
parent ce52d884
2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
PR target/65531
* ipa-chkp.c (chkp_maybe_create_clone): Don't set
same_comdat_group for external symbols.
* symtab.c (symtab_node::verify_symtab_nodes): Avoid
infinite same_comdat_group traversal loop.
2015-03-31 Jakub Jelinek <jakub@redhat.com> 2015-03-31 Jakub Jelinek <jakub@redhat.com>
PR plugins/61176 PR plugins/61176
......
...@@ -574,7 +574,8 @@ chkp_maybe_create_clone (tree fndecl) ...@@ -574,7 +574,8 @@ chkp_maybe_create_clone (tree fndecl)
/* Clones have the same comdat group as originals. */ /* Clones have the same comdat group as originals. */
if (node->same_comdat_group if (node->same_comdat_group
|| DECL_ONE_ONLY (node->decl)) || (DECL_ONE_ONLY (node->decl)
&& !DECL_EXTERNAL (node->decl)))
clone->add_to_same_comdat_group (node); clone->add_to_same_comdat_group (node);
if (gimple_has_body_p (fndecl)) if (gimple_has_body_p (fndecl))
......
...@@ -1132,7 +1132,8 @@ symtab_node::verify_symtab_nodes (void) ...@@ -1132,7 +1132,8 @@ symtab_node::verify_symtab_nodes (void)
*entry = node; *entry = node;
else if (!DECL_EXTERNAL (node->decl)) else if (!DECL_EXTERNAL (node->decl))
{ {
for (s = (*entry)->same_comdat_group; s != NULL && s != node; for (s = (*entry)->same_comdat_group;
s != NULL && s != node && s != *entry;
s = s->same_comdat_group) s = s->same_comdat_group)
; ;
if (!s || s == *entry) if (!s || s == *entry)
......
2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com> 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
PR target/65531
* gcc.target/i386/mpx/pr65531.cc: New.
2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
PR target/65602 PR target/65602
* gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Use * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Use
__builtin_alloca instead of alloca. __builtin_alloca instead of alloca.
......
/* { dg-do compile } */
/* { dg-options "-O2 -fcheck-pointer-bounds -mmpx" } */
#pragma interface
struct S
{
~S ()
{
}
};
S s;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment