summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-05 14:15:01 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-05 14:15:01 +0000
commit1776de768404cc77a8ca182af331f5e81bdb8a0b (patch)
tree832c392e140f1e504fe55231b7ccdd3f3bcd832b /gcc
parent5beb12c08ed91945b2c299518daa0d90c92727a3 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/alias.c11
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/alias-15.c15
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" } } */