https://gcc.gnu.org/g:02e43e5596ee6a4d03eecaa48197280c4eb6a78f

commit r15-1027-g02e43e5596ee6a4d03eecaa48197280c4eb6a78f
Author: Thomas Schwinge <tschwi...@baylibre.com>
Date:   Wed Apr 24 11:24:39 2024 +0200

    Add 'c-c++-common/initpri1-split.c': 'c-c++-common/initpri1.c' split into 
separate translation units
    
            gcc/testsuite/
            * c-c++-common/initpri1.c: Split into...
            * c-c++-common/initpri1_part_c1.c: ... this, and...
            * c-c++-common/initpri1_part_c2.c: ... this, and...
            * c-c++-common/initpri1_part_c3.c: ... this, and...
            * c-c++-common/initpri1_part_cd4.c: ... this, and...
            * c-c++-common/initpri1_part_d1.c: ... this, and...
            * c-c++-common/initpri1_part_d2.c: ... this, and...
            * c-c++-common/initpri1_part_d3.c: ... this, and...
            * c-c++-common/initpri1_part_main.c: ... this part.
            * c-c++-common/initpri1-split.c: New.

Diff:
---
 gcc/testsuite/c-c++-common/initpri1-split.c     |  3 +
 gcc/testsuite/c-c++-common/initpri1.c           | 73 +++++--------------------
 gcc/testsuite/c-c++-common/initpri1_part_c1.c   | 11 ++++
 gcc/testsuite/c-c++-common/initpri1_part_c2.c   | 11 ++++
 gcc/testsuite/c-c++-common/initpri1_part_c3.c   | 11 ++++
 gcc/testsuite/c-c++-common/initpri1_part_cd4.c  | 13 +++++
 gcc/testsuite/c-c++-common/initpri1_part_d1.c   | 11 ++++
 gcc/testsuite/c-c++-common/initpri1_part_d2.c   | 11 ++++
 gcc/testsuite/c-c++-common/initpri1_part_d3.c   | 14 +++++
 gcc/testsuite/c-c++-common/initpri1_part_main.c | 13 +++++
 10 files changed, 113 insertions(+), 58 deletions(-)

diff --git a/gcc/testsuite/c-c++-common/initpri1-split.c 
b/gcc/testsuite/c-c++-common/initpri1-split.c
new file mode 100644
index 00000000000..11755ee9f6a
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/initpri1-split.c
@@ -0,0 +1,3 @@
+/* { dg-do run { target init_priority } } */
+/* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
+/* { dg-additional-sources {initpri1_part_c1.c initpri1_part_c2.c 
initpri1_part_c3.c initpri1_part_d1.c initpri1_part_d2.c initpri1_part_d3.c 
initpri1_part_cd4.c initpri1_part_main.c} } */
diff --git a/gcc/testsuite/c-c++-common/initpri1.c 
b/gcc/testsuite/c-c++-common/initpri1.c
index 387f2a39658..f50137a489b 100644
--- a/gcc/testsuite/c-c++-common/initpri1.c
+++ b/gcc/testsuite/c-c++-common/initpri1.c
@@ -1,61 +1,18 @@
 /* { dg-do run { target init_priority } } */
 /* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
 
-int i;
-int j;
-
-void c1() __attribute__((constructor (500)));
-void c2() __attribute__((constructor (700)));
-void c3() __attribute__((constructor (600)));
-
-void c1() {
-  if (i++ != 0)
-    __builtin_abort ();
-}
-
-void c2() {
-  if (i++ != 2)
-    __builtin_abort ();
-}
-
-void c3() {
-  if (i++ != 1)
-    __builtin_abort ();
-}
-
-void d1() __attribute__((destructor (500)));
-void d2() __attribute__((destructor (700)));
-void d3() __attribute__((destructor (600)));
-
-void d1() {
-  if (--i != 0)
-    __builtin_abort ();
-}
-
-void d2() {
-  if (--i != 2)
-    __builtin_abort ();
-}
-
-void d3() {
-  if (j != 2)
-    __builtin_abort ();
-  if (--i != 1)
-    __builtin_abort ();
-}
-
-void cd4() __attribute__((constructor (800), destructor (800)));
-
-void cd4() {
-  if (i != 3)
-    __builtin_abort ();
-  ++j;
-}
-
-int main () {
-  if (i != 3)
-    return 1;
-  if (j != 1)
-    __builtin_abort ();
-  return 0;
-}
+#include "initpri1_part_c1.c"
+
+#include "initpri1_part_c2.c"
+
+#include "initpri1_part_c3.c"
+
+#include "initpri1_part_d1.c"
+
+#include "initpri1_part_d2.c"
+
+#include "initpri1_part_d3.c"
+
+#include "initpri1_part_cd4.c"
+
+#include "initpri1_part_main.c"
diff --git a/gcc/testsuite/c-c++-common/initpri1_part_c1.c 
b/gcc/testsuite/c-c++-common/initpri1_part_c1.c
new file mode 100644
index 00000000000..0f85a2e6cb1
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/initpri1_part_c1.c
@@ -0,0 +1,11 @@
+/* { dg-skip-if part { *-*-* } } */
+/* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
+
+extern int i;
+
+void c1() __attribute__((constructor (500)));
+
+void c1() {
+  if (i++ != 0)
+    __builtin_abort ();
+}
diff --git a/gcc/testsuite/c-c++-common/initpri1_part_c2.c 
b/gcc/testsuite/c-c++-common/initpri1_part_c2.c
new file mode 100644
index 00000000000..e8c556aab17
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/initpri1_part_c2.c
@@ -0,0 +1,11 @@
+/* { dg-skip-if part { *-*-* } } */
+/* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
+
+extern int i;
+
+void c2() __attribute__((constructor (700)));
+
+void c2() {
+  if (i++ != 2)
+    __builtin_abort ();
+}
diff --git a/gcc/testsuite/c-c++-common/initpri1_part_c3.c 
b/gcc/testsuite/c-c++-common/initpri1_part_c3.c
new file mode 100644
index 00000000000..70880882ce3
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/initpri1_part_c3.c
@@ -0,0 +1,11 @@
+/* { dg-skip-if part { *-*-* } } */
+/* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
+
+extern int i;
+
+void c3() __attribute__((constructor (600)));
+
+void c3() {
+  if (i++ != 1)
+    __builtin_abort ();
+}
diff --git a/gcc/testsuite/c-c++-common/initpri1_part_cd4.c 
b/gcc/testsuite/c-c++-common/initpri1_part_cd4.c
new file mode 100644
index 00000000000..b67ff90d9fe
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/initpri1_part_cd4.c
@@ -0,0 +1,13 @@
+/* { dg-skip-if part { *-*-* } } */
+/* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
+
+extern int i;
+extern int j;
+
+void cd4() __attribute__((constructor (800), destructor (800)));
+
+void cd4() {
+  if (i != 3)
+    __builtin_abort ();
+  ++j;
+}
diff --git a/gcc/testsuite/c-c++-common/initpri1_part_d1.c 
b/gcc/testsuite/c-c++-common/initpri1_part_d1.c
new file mode 100644
index 00000000000..099df37e97c
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/initpri1_part_d1.c
@@ -0,0 +1,11 @@
+/* { dg-skip-if part { *-*-* } } */
+/* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
+
+extern int i;
+
+void d1() __attribute__((destructor (500)));
+
+void d1() {
+  if (--i != 0)
+    __builtin_abort ();
+}
diff --git a/gcc/testsuite/c-c++-common/initpri1_part_d2.c 
b/gcc/testsuite/c-c++-common/initpri1_part_d2.c
new file mode 100644
index 00000000000..258cbbc495f
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/initpri1_part_d2.c
@@ -0,0 +1,11 @@
+/* { dg-skip-if part { *-*-* } } */
+/* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
+
+extern int i;
+
+void d2() __attribute__((destructor (700)));
+
+void d2() {
+  if (--i != 2)
+    __builtin_abort ();
+}
diff --git a/gcc/testsuite/c-c++-common/initpri1_part_d3.c 
b/gcc/testsuite/c-c++-common/initpri1_part_d3.c
new file mode 100644
index 00000000000..1242d411b07
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/initpri1_part_d3.c
@@ -0,0 +1,14 @@
+/* { dg-skip-if part { *-*-* } } */
+/* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
+
+extern int i;
+extern int j;
+
+void d3() __attribute__((destructor (600)));
+
+void d3() {
+  if (j != 2)
+    __builtin_abort ();
+  if (--i != 1)
+    __builtin_abort ();
+}
diff --git a/gcc/testsuite/c-c++-common/initpri1_part_main.c 
b/gcc/testsuite/c-c++-common/initpri1_part_main.c
new file mode 100644
index 00000000000..bff58d75e68
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/initpri1_part_main.c
@@ -0,0 +1,13 @@
+/* { dg-skip-if part { *-*-* } } */
+/* Via the magic string "-std=*++" indicate that testing one (the default) C++ 
standard is sufficient.  */
+
+int i;
+int j;
+
+int main () {
+  if (i != 3)
+    return 1;
+  if (j != 1)
+    __builtin_abort ();
+  return 0;
+}

Reply via email to