aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@baylibre.com>2024-04-24 10:11:02 +0200
committerThomas Schwinge <tschwinge@baylibre.com>2024-06-05 09:01:21 +0200
commit38dd7419324490b386bbac06ddc5fafbfe8629d3 (patch)
treeb264d32766f8b8189e7d0b148d8eaa98d52e5536 /gcc
parent35e453d9e17c299d58d5d2c9f44b4b4eec9867b6 (diff)
downloadgcc-38dd7419324490b386bbac06ddc5fafbfe8629d3.zip
gcc-38dd7419324490b386bbac06ddc5fafbfe8629d3.tar.gz
gcc-38dd7419324490b386bbac06ddc5fafbfe8629d3.tar.bz2
Clarify that 'gcc.dg/initpri3.c' is a LTO variant of 'gcc.dg/initpri1.c': 'gcc.dg/initpri1-lto.c' [PR46083]
Added in commit 06c9eb5136fe0e778cc3a643131eba2a3dfb77a8 (Subversion r168642) "re PR lto/46083 (gcc.dg/initpri1.c FAILs with -flto/-fwhopr (attribute constructor/destructor doesn't work))". PR lto/46083 gcc/testsuite/ * gcc.dg/initpri3.c: Remove. * gcc.dg/initpri1-lto.c: New.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/initpri1-lto.c5
-rw-r--r--gcc/testsuite/gcc.dg/initpri3.c64
2 files changed, 5 insertions, 64 deletions
diff --git a/gcc/testsuite/gcc.dg/initpri1-lto.c b/gcc/testsuite/gcc.dg/initpri1-lto.c
new file mode 100644
index 0000000..98a43c3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/initpri1-lto.c
@@ -0,0 +1,5 @@
+/* { dg-do run { target init_priority } } */
+/* { dg-require-effective-target lto } */
+/* { dg-options "-flto -O3" } */
+
+#include "initpri1.c"
diff --git a/gcc/testsuite/gcc.dg/initpri3.c b/gcc/testsuite/gcc.dg/initpri3.c
deleted file mode 100644
index 1633da0..0000000
--- a/gcc/testsuite/gcc.dg/initpri3.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* { dg-do run { target init_priority } } */
-/* { dg-require-effective-target lto } */
-/* { dg-options "-flto -O3" } */
-
-extern void abort ();
-
-int i;
-int j;
-
-void c1() __attribute__((constructor (500)));
-void c2() __attribute__((constructor (700)));
-void c3() __attribute__((constructor (600)));
-
-void c1() {
- if (i++ != 0)
- abort ();
-}
-
-void c2() {
- if (i++ != 2)
- abort ();
-}
-
-void c3() {
- if (i++ != 1)
- abort ();
-}
-
-void d1() __attribute__((destructor (500)));
-void d2() __attribute__((destructor (700)));
-void d3() __attribute__((destructor (600)));
-
-void d1() {
- if (--i != 0)
- abort ();
-}
-
-void d2() {
- if (--i != 2)
- abort ();
-}
-
-void d3() {
- if (j != 2)
- abort ();
- if (--i != 1)
- abort ();
-}
-
-void cd4() __attribute__((constructor (800), destructor (800)));
-
-void cd4() {
- if (i != 3)
- abort ();
- ++j;
-}
-
-int main () {
- if (i != 3)
- return 1;
- if (j != 1)
- abort ();
- return 0;
-}