aboutsummaryrefslogtreecommitdiff
path: root/gcc/alias.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2016-01-05 14:15:01 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2016-01-05 14:15:01 +0000
commit929710d96ced4cf7b2bd6e9896b3dc051cbfa235 (patch)
tree832c392e140f1e504fe55231b7ccdd3f3bcd832b /gcc/alias.c
parenta2faef8e068114f6e30f4c881f6f02b0b754c667 (diff)
downloadgcc-929710d96ced4cf7b2bd6e9896b3dc051cbfa235.zip
gcc-929710d96ced4cf7b2bd6e9896b3dc051cbfa235.tar.gz
gcc-929710d96ced4cf7b2bd6e9896b3dc051cbfa235.tar.bz2
alias.c (compare_base_decls): Use symtab_node::get.
gcc/ * alias.c (compare_base_decls): Use symtab_node::get. gcc/testsuite/ * gcc.dg/alias-15.c: New. From-SVN: r232073
Diffstat (limited to 'gcc/alias.c')
-rw-r--r--gcc/alias.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/alias.c b/gcc/alias.c
index f593736..e276d71 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -2044,8 +2044,15 @@ compare_base_decls (tree base1, tree base2)
|| !decl_in_symtab_p (base2))
return 0;
- ret = symtab_node::get_create (base1)->equal_address_to
- (symtab_node::get_create (base2), true);
+ /* Don't cause symbols to be inserted by the act of checking. */
+ symtab_node *node1 = symtab_node::get (base1);
+ if (!node1)
+ return 0;
+ symtab_node *node2 = symtab_node::get (base2);
+ if (!node2)
+ return 0;
+
+ ret = node1->equal_address_to (node2, true);
if (ret == 2)
return -1;
return ret;