aboutsummaryrefslogtreecommitdiff
path: root/gcc/symtab.c
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2015-02-25 17:44:26 +0100
committerKai Tietz <ktietz@gcc.gnu.org>2015-02-25 17:44:26 +0100
commitfeeca9cc428456e86ee6d9dc9cbe1dfa9ad9e3cb (patch)
tree99476968eddea788dbf863836c9aecc2d01a279d /gcc/symtab.c
parent387dd1b20d2e65ffa0b8b7f29f3a776a5cf05ee9 (diff)
downloadgcc-feeca9cc428456e86ee6d9dc9cbe1dfa9ad9e3cb.zip
gcc-feeca9cc428456e86ee6d9dc9cbe1dfa9ad9e3cb.tar.gz
gcc-feeca9cc428456e86ee6d9dc9cbe1dfa9ad9e3cb.tar.bz2
re PR target/64212 (ICE [in noninterposable_alias, at symtab.c:1706])
PR target/64212 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0. (symtab::noninterposable_alias): Likewise. From-SVN: r220982
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r--gcc/symtab.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c
index 7a70b10..957457b 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -1165,6 +1165,7 @@ symtab_node::make_decl_local (void)
DECL_VISIBILITY_SPECIFIED (decl) = 0;
DECL_VISIBILITY (decl) = VISIBILITY_DEFAULT;
TREE_PUBLIC (decl) = 0;
+ DECL_DLLIMPORT_P (decl) = 0;
if (!DECL_RTL_SET_P (decl))
return;
@@ -1534,7 +1535,6 @@ symtab_node::noninterposable_alias (symtab_node *node, void *data)
!= flags_from_decl_or_type (fn->decl))
|| DECL_ATTRIBUTES (node->decl) != DECL_ATTRIBUTES (fn->decl))
return false;
-
*(symtab_node **)data = node;
return true;
}
@@ -1566,6 +1566,7 @@ symtab_node::noninterposable_alias (void)
/* Otherwise create a new one. */
new_decl = copy_node (node->decl);
+ DECL_DLLIMPORT_P (new_decl) = 0;
DECL_NAME (new_decl) = clone_function_name (node->decl, "localalias");
if (TREE_CODE (new_decl) == FUNCTION_DECL)
DECL_STRUCT_FUNCTION (new_decl) = NULL;