aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.dg/torture/20070621-1.C1
-rw-r--r--gcc/testsuite/gcc.dg/lto/attr-weakref-1_0.c29
-rw-r--r--gcc/testsuite/gcc.dg/lto/attr-weakref-1_1.c7
-rw-r--r--gcc/testsuite/gcc.dg/lto/attr-weakref-1_2.c7
5 files changed, 50 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d405989..383dc9d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2013-05-15 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/lto/attr-weakref-1_0.c: New testcase.
+ * gcc.dg/lto/attr-weakref-1_1.c: New testcase.
+ * gcc.dg/lto/attr-weakref-1_2.c: New testcase.
+
2013-05-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/torture/alias-1.c: Add dg-require-effective-target
diff --git a/gcc/testsuite/g++.dg/torture/20070621-1.C b/gcc/testsuite/g++.dg/torture/20070621-1.C
index 185314a..15d1ac7 100644
--- a/gcc/testsuite/g++.dg/torture/20070621-1.C
+++ b/gcc/testsuite/g++.dg/torture/20070621-1.C
@@ -1,3 +1,4 @@
+// { dg-do compile }
/* Reduced from libstdc++-v3/testsuite/25_algorithms/equal/1.cc
1.2.ii: In function 'void test1()':
diff --git a/gcc/testsuite/gcc.dg/lto/attr-weakref-1_0.c b/gcc/testsuite/gcc.dg/lto/attr-weakref-1_0.c
new file mode 100644
index 0000000..1e02f68
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/attr-weakref-1_0.c
@@ -0,0 +1,29 @@
+/* { dg-lto-do run } */
+int first = 0;
+void abort (void);
+int second = 0;
+void callmealias (void)
+{
+ if (!first || !second)
+ abort ();
+}
+void callmefirst (void)
+{
+ if (first)
+ abort();
+ first = 1;
+}
+void callmesecond (void)
+{
+ if (!first)
+ abort();
+ if (second)
+ abort();
+ second = 1;
+}
+main()
+{
+ c();
+ b();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/lto/attr-weakref-1_1.c b/gcc/testsuite/gcc.dg/lto/attr-weakref-1_1.c
new file mode 100644
index 0000000..67e6e1c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/attr-weakref-1_1.c
@@ -0,0 +1,7 @@
+extern void callmesecond();
+static void callmealias() __attribute__((weakref ("callmesecond")));
+
+b()
+{
+ callmealias();
+}
diff --git a/gcc/testsuite/gcc.dg/lto/attr-weakref-1_2.c b/gcc/testsuite/gcc.dg/lto/attr-weakref-1_2.c
new file mode 100644
index 0000000..6f382f6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/attr-weakref-1_2.c
@@ -0,0 +1,7 @@
+extern void callmefirst();
+static void callmealias() __attribute__((weakref ("callmefirst")));
+
+c()
+{
+ callmealias();
+}