diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-05 14:15:01 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-05 14:15:01 +0000 |
commit | 1776de768404cc77a8ca182af331f5e81bdb8a0b (patch) | |
tree | 832c392e140f1e504fe55231b7ccdd3f3bcd832b /gcc | |
parent | 5beb12c08ed91945b2c299518daa0d90c92727a3 (diff) | |
download | gcc-1776de768404cc77a8ca182af331f5e81bdb8a0b.tar.gz |
gcc/
* alias.c (compare_base_decls): Use symtab_node::get.
gcc/testsuite/
* gcc.dg/alias-15.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232073 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/alias.c | 11 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/alias-15.c | 15 |
4 files changed, 32 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 83274e261a4..ff297bca9e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2016-01-05 Nathan Sidwell <nathan@acm.org> + + * alias.c (compare_base_decls): Use symtab_node::get. + 2016-01-05 Nick Clifton <nickc@redhat.com> PR target/68770 diff --git a/gcc/alias.c b/gcc/alias.c index f5937362693..e276d71f046 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; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1bc843dccd1..2298e084104 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-01-05 Nathan Sidwell <nathan@acm.org> + + * gcc.dg/alias-15.c: New. + 2016-01-05 Nick Clifton <nickc@redhat.com> PR target/68870 diff --git a/gcc/testsuite/gcc.dg/alias-15.c b/gcc/testsuite/gcc.dg/alias-15.c new file mode 100644 index 00000000000..0a8e69b61ec --- /dev/null +++ b/gcc/testsuite/gcc.dg/alias-15.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-O2 -fdump-ipa-cgraph" } */ + +/* RTL-level CSE shouldn't introduce LCO (for the string) into varpool */ +char *p; + +void foo () +{ + p = "abc\n"; + + while (*p != '\n') + p++; +} + +/* { dg-final { scan-ipa-dump-not "LC0" "cgraph" } } */ |