aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-04-17 04:32:26 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-04-17 02:32:26 +0000
commit7c1b1692e15e8800f984dfd6404c04401a1142d6 (patch)
tree068fec2bf422fc347528642f1de09c4f235534bf
parent789c274118d76ab0aab936c51e62a792bab3ab98 (diff)
downloadgcc-7c1b1692e15e8800f984dfd6404c04401a1142d6.zip
gcc-7c1b1692e15e8800f984dfd6404c04401a1142d6.tar.gz
gcc-7c1b1692e15e8800f984dfd6404c04401a1142d6.tar.bz2
re PR lto/60820 (ice in ctor_for_folding, at varpool.c:291)
PR lto/60820 * gcc.dg/lto/pr60820_0.c: New testcase. * gcc.dg/lto/pr60820_1.c: New testcase. From-SVN: r209460
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/lto/pr60820_0.c13
-rw-r--r--gcc/testsuite/gcc.dg/lto/pr60820_1.c11
3 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index de911fd..560b5f7 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2014-04-16 Jan Hubicka <hubicka@ucw.cz>
+ PR lto/60820
+ * gcc.dg/lto/pr60820_0.c: New testcase.
+ * gcc.dg/lto/pr60820_1.c: New testcase.
+
+2014-04-16 Jan Hubicka <hubicka@ucw.cz>
+
PR ipa/60854
* g++.dg/torture/pr60854.C: New testcase.
diff --git a/gcc/testsuite/gcc.dg/lto/pr60820_0.c b/gcc/testsuite/gcc.dg/lto/pr60820_0.c
new file mode 100644
index 0000000..349cf6a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/pr60820_0.c
@@ -0,0 +1,13 @@
+/* { dg-lto-do link } */
+/* { dg-lto-options {{-flto -r -nostdlib -O2}} } */
+#include <stdio.h>
+struct in6_addr {int bah;};
+extern const struct in6_addr in6addr_any;
+static const struct in6_addr local_in6addr_any = {1};
+#pragma weak in6addr_any = local_in6addr_any
+
+__attribute__ ((used))
+void foo2()
+{
+ fprintf (stderr, "v1: %p, v2: %p\n", &local_in6addr_any, &in6addr_any);
+}
diff --git a/gcc/testsuite/gcc.dg/lto/pr60820_1.c b/gcc/testsuite/gcc.dg/lto/pr60820_1.c
new file mode 100644
index 0000000..16009e4
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/pr60820_1.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+struct in6_addr {int bah;};
+extern const struct in6_addr in6addr_any;
+static const struct in6_addr local_in6addr_any = {1};
+#pragma weak in6addr_any = local_in6addr_any
+
+__attribute__ ((used))
+void foo()
+{
+ fprintf (stderr, "v1: %p, v2: %p\n", &local_in6addr_any, &in6addr_any);
+}