diff options
author | Nathan Sidwell <nathan@acm.org> | 2016-01-05 14:15:01 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2016-01-05 14:15:01 +0000 |
commit | 929710d96ced4cf7b2bd6e9896b3dc051cbfa235 (patch) | |
tree | 832c392e140f1e504fe55231b7ccdd3f3bcd832b /gcc/alias.c | |
parent | a2faef8e068114f6e30f4c881f6f02b0b754c667 (diff) | |
download | gcc-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.c | 11 |
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; |