diff mbox

Fix PR ipa/65287

Message ID 54F58F54.9040604@suse.cz
State New
Headers show

Commit Message

Martin Liška March 3, 2015, 10:39 a.m. UTC
Hello.

There's suggested patch for the issue that survives regression tests on x86_64-linux-pc.

Ready for trunk?
Thanks,
Martin

Comments

Jan Hubicka March 3, 2015, 5:28 p.m. UTC | #1
> gcc/testsuite/ChangeLog:
> 
> 2015-03-03  Martin Liska  <mliska@suse.cz>
> 
> 	* gcc.dg/ipa/pr65287.c: New test.
> 
> gcc/ChangeLog:
> 
> 2015-03-03  Martin Liska  <mliska@suse.cz>
> 
> 	PR ipa/65287
> 	* ipa-icf.c (sem_variable::parse): Skip all alias variables.
OK
Sorry, I must have inadverty reverted this.

Honza
diff mbox

Patch

From d4e9d2906a90151d1239e7b32b00f7cb46b045fa Mon Sep 17 00:00:00 2001
From: mliska <mliska@suse.cz>
Date: Tue, 3 Mar 2015 10:36:59 +0100
Subject: [PATCH] Fix PR ipa/65287.

gcc/testsuite/ChangeLog:

2015-03-03  Martin Liska  <mliska@suse.cz>

	* gcc.dg/ipa/pr65287.c: New test.

gcc/ChangeLog:

2015-03-03  Martin Liska  <mliska@suse.cz>

	PR ipa/65287
	* ipa-icf.c (sem_variable::parse): Skip all alias variables.
---
 gcc/ipa-icf.c                      |  3 ++-
 gcc/testsuite/gcc.dg/ipa/pr65287.c | 14 ++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)
 create mode 100644 gcc/testsuite/gcc.dg/ipa/pr65287.c

diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index 155b96b..14ccea5 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -1681,7 +1681,8 @@  sem_variable::equals (tree t1, tree t2)
 sem_variable *
 sem_variable::parse (varpool_node *node, bitmap_obstack *stack)
 {
-  if (TREE_THIS_VOLATILE (node->decl) || DECL_HARD_REGISTER (node->decl))
+  if (TREE_THIS_VOLATILE (node->decl) || DECL_HARD_REGISTER (node->decl)
+      || node->alias)
     return NULL;
 
   sem_variable *v = new sem_variable (node, 0, stack);
diff --git a/gcc/testsuite/gcc.dg/ipa/pr65287.c b/gcc/testsuite/gcc.dg/ipa/pr65287.c
new file mode 100644
index 0000000..9292984
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ipa/pr65287.c
@@ -0,0 +1,14 @@ 
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+const int __new_sys_siglist[] = {};
+
+extern __typeof(__new_sys_siglist) _new_sys_siglist
+    __attribute__((alias("__new_sys_siglist")));
+extern __typeof(__new_sys_siglist) _sys_siglist
+    __attribute__((alias("__new_sys_siglist")));
+
+int main()
+{
+  return 0;
+}
-- 
2.1.2