]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Testsuite fixes to enable coroutine linking.
authorGaius Mulley <gaius.mulley@southwales.ac.uk>
Sun, 26 Jun 2022 23:13:57 +0000 (00:13 +0100)
committerGaius Mulley <gaius.mulley@southwales.ac.uk>
Sun, 26 Jun 2022 23:13:57 +0000 (00:13 +0100)
This patch allows the remaining coroutine regression tests to
link with the new dynamic module ctors and new scaffold mechanism.

2022-06-27  Gaius Mulley  <gaius.mulley@southwales.ac.uk>

gcc/testsuite/gm2/ChangeLog:

* coroutines/pim/run/pass/coroutines-pim-run-pass.exp
(gm2_link_with) Assigned to "-lm2cor -lm2pim -lm2iso".
* iso/run/pass/iso-run-pass.exp: Avoid linking the library module.
* isocoroutines/run/pass/coroutine.mod (main): Renamed mainc.
* isocoroutines/run/pass/isocoroutines-run-pass.exp
(gm2_init_pim): Configure with -fscaffold-main
-fno-scaffold-dynamic.
* link/externalscaffold/pass/scaffold.c (_M2_SYSTEM_finish):
Renamed _M2_SYSTEM_fini.  (_M2_M2RTS_finish) Renamed
_M2_M2RTS_fini.  (_M2_RTExceptions_finish) Renamed
_M2_RTExceptions_fini.  (_M2_hello_finish) Renamed
_M2_hello_fini.
* pim/options/optimize/run/pass/pim-options-optimize-run-pass.exp
(gm2_link_with): Assigned to addition.o.
* pim/run/pass/pim-run-pass.exp (gm2_link_with): Assigned to sys.o.
Avoid linking sys.mod.
* pimcoroutines/run/pass/pimcoroutines-run-pass.exp
(gm2_link_with): Assigned to "-lm2cor -lm2pim -lm2iso".
* switches/check-all/run/fail/switches-check-all-run-fail.exp
(gm2_link_with): Assigned to rangesupport.o.

Signed-off-by: Gaius Mulley <gaius.mulley@southwales.ac.uk>
gcc/testsuite/gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp
gcc/testsuite/gm2/iso/run/pass/iso-run-pass.exp
gcc/testsuite/gm2/isocoroutines/run/pass/coroutine.mod
gcc/testsuite/gm2/isocoroutines/run/pass/isocoroutines-run-pass.exp
gcc/testsuite/gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp
gcc/testsuite/gm2/link/externalscaffold/pass/scaffold.c
gcc/testsuite/gm2/pim/options/optimize/run/pass/pim-options-optimize-run-pass.exp
gcc/testsuite/gm2/pim/run/pass/pim-run-pass.exp
gcc/testsuite/gm2/pimcoroutines/run/pass/pimcoroutines-run-pass.exp
gcc/testsuite/gm2/switches/check-all/run/fail/switches-check-all-run-fail.exp

index ec2483bbc609522659f33fc2b6a5d23c90cb0798..e7f5b9563bd24e916a3f021fa89bd9ef406cc9d4 100644 (file)
@@ -28,7 +28,7 @@ load_lib gm2-torture.exp
 set gm2src ${srcdir}/../gm2
 
 gm2_init_cor
-gm2_link_with "-lm2cor"
+gm2_link_with "-lm2cor -lm2pim -lm2iso"
 
 foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] {
     # If we're only testing specific files and this isn't one of them, skip it.
index 7f284ec4a99cd8770ec42500f6ff7a35ea0e0544..ec9a473fbef056e2473d36dd3b1208d23118f7f9 100644 (file)
@@ -33,6 +33,8 @@ foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] {
        continue
     }
 
-    gm2_target_compile $srcdir/$subdir/fileio.mod fileio.o object "-g"
-    gm2-torture-execute $testcase "" "pass"
+    if { $testcase != "$srcdir/$subdir/fileio.mod" } {
+        gm2_target_compile $srcdir/$subdir/fileio.mod fileio.o object "-g"
+       gm2-torture-execute $testcase "" "pass"
+    }
 }
index bdf5248db70c127bf635e107bfae24c6a27d7e05..05b4d4477d8a46b67bbdb191a8923d4af8536233 100644 (file)
@@ -37,7 +37,7 @@ BEGIN
       IF x=1000
       THEN
          printf ("finished!\n") ;
-         TRANSFER (c1, main)
+         TRANSFER (c1, mainc)
       ELSE
          TRANSFER (c1, c2)
       END ;
@@ -56,7 +56,7 @@ END second ;
 
 
 VAR
-   main,
+   mainc,
    c1, c2: COROUTINE ;
    w1, w2: ADDRESS ;
 BEGIN
@@ -65,6 +65,6 @@ BEGIN
    ALLOCATE (w2, Workspace) ;
    NEWCOROUTINE (second, w2, Workspace, c2) ;
    printf ("first context switch to c1\n") ;
-   TRANSFER (main, c1) ;
-   printf ("back to main and all done\n\n")
+   TRANSFER (mainc, c1) ;
+   printf ("back to mainc and all done\n\n")
 END coroutine.
index f552492db31fb5762af0a67fa266ec4d4d34db1c..1239f7699854aab28d06a0afe84ad91a4690279c 100644 (file)
@@ -27,7 +27,6 @@ load_lib gm2-torture.exp
 
 gm2_init_iso "${srcdir}/gm2/iso/run/pass"
 
-gm2_link_with "-lpthread"
 
 foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] {
     # If we're only testing specific files and this isn't one of them, skip it.
index 35890cf119a159cc2b91a77249e6f8e7cbec0b15..7b221b4ac28556a88b913200bfe3d93aed38245f 100644 (file)
@@ -25,7 +25,7 @@ if $tracelevel then {
 # load support procs
 load_lib gm2-torture.exp
 
-gm2_init_pim "${srcdir}/gm2/pim/pass"
+gm2_init_pim "${srcdir}/gm2/pim/pass" -fscaffold-main -fno-scaffold-dynamic
 gm2_link_with scaffold.o
 set output [target_compile $srcdir/$subdir/scaffold.c scaffold.o object "-g"]
 
index e5a2f20ae740d318231c319f6166e33a341dfcd3..52f4cd1460e6e65ec2702ee15d1bb5f64ee73c9d 100644 (file)
@@ -1,37 +1,37 @@
 extern  void exit (int);
 
 extern  void _M2_SYSTEM_init (int argc, char *argv[]);
-extern  void _M2_SYSTEM_finish (void);
+extern  void _M2_SYSTEM_fini (void);
 extern  void _M2_M2RTS_init (int argc, char *argv[]);
-extern  void _M2_M2RTS_finish (void);
+extern  void _M2_M2RTS_fini (void);
 extern  void _M2_RTExceptions_init (int argc, char *argv[]);
-extern  void _M2_RTExceptions_finish (void);
+extern  void _M2_RTExceptions_fini (void);
 extern  void _M2_hello_init (int argc, char *argv[]);
-extern  void _M2_hello_finish (void);
+extern  void _M2_hello_fini (void);
 
 extern  void M2RTS_Terminate (void);
 
 static void init (int argc, char *argv[])
 {
-    _M2_SYSTEM_init (argc, argv);
-    _M2_M2RTS_init (argc, argv);
-    _M2_RTExceptions_init (argc, argv);
-    _M2_hello_init (argc, argv);
+  _M2_SYSTEM_init (argc, argv);
+  _M2_M2RTS_init (argc, argv);
+  _M2_RTExceptions_init (argc, argv);
+  _M2_hello_init (argc, argv);
 }
 
 static void finish (void)
 {
-   M2RTS_Terminate ();
-   _M2_hello_finish ();
-   _M2_RTExceptions_finish ();
-   _M2_M2RTS_finish ();
-   _M2_SYSTEM_finish ();
-   exit (0);
+  M2RTS_Terminate ();
+  _M2_hello_fini ();
+  _M2_RTExceptions_fini ();
+  _M2_M2RTS_fini ();
+  _M2_SYSTEM_fini ();
+  exit (0);
 }
 
 int main (int argc, char *argv[])
 {
-   init (argc, argv);
-   finish ();
-   return (0);
+  init (argc, argv);
+  finish ();
+  return (0);
 }
index 746cb5f296b5e449413cb63f7fb84652f59ef2ab..8f77e9c39095fcdf86c357ecf4474bcfa8acf2fb 100644 (file)
@@ -82,7 +82,7 @@ proc gm2_target_compile_options_optimize { source dest type options } {
 set gm2src ${srcdir}/../m2
 
 gm2_init_pim "${srcdir}/gm2/pim/options/optimize/run/pass"
-# gm2_link_with "-lm2pim -lm2iso -lpthread"
+gm2_link_with "addition.o"
 
 #
 #  compile library file
index 79ce46075f341e7d2115f9eb5024e609af86aba4..329af84abd293713544009050a3ef4c6bf122926 100644 (file)
@@ -27,8 +27,7 @@ load_lib gm2-torture.exp
 set gm2src ${srcdir}/../m2
 
 gm2_init_pim "${srcdir}/gm2/pim/run/pass"
-gm2_link_with "-lm2pim -lm2iso -lpthread"
-
+gm2_link_with sys.o
 
 foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] {
     set output [gm2_target_compile $srcdir/$subdir/sys.mod sys.o object "-g -I$srcdir/../m2/gm2-libs -I$srcdir/$subdir -I$srcdir/../m2/gm2-compiler -I../m2/gm2-libs -I../m2/gm2-compiler -fpim"]
@@ -38,5 +37,7 @@ foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] {
        continue
     }
 
-    gm2-torture-execute $testcase "" "pass"
+    if { $testcase != "$srcdir/$subdir/sys.mod" } {
+       gm2-torture-execute $testcase "" "pass"
+    }
 }
index a6157d0233ab917daa8d5cdcfd5e56057b79ace7..15498a3217355a7f2b6f0719f6e03b537a4cce30 100644 (file)
@@ -27,7 +27,8 @@ load_lib gm2-torture.exp
 set gm2src ${srcdir}/../m2
 
 gm2_init_cor "${srcdir}/gm2/pim/run/pass"
-gm2_link_with "-lm2cor"
+# gm2_link_with "-flibs=cor,pim,iso"
+gm2_link_with "-lm2cor -lm2pim -lm2iso"
 
 
 foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] {
@@ -38,5 +39,7 @@ foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] {
        continue
     }
 
-    gm2-torture-execute $testcase "" "pass"
+    if { $testcase != "$srcdir/$subdir/sys.mod" } {
+       gm2-torture-execute $testcase "" "pass"
+    }
 }
index 38acb74db8cb7b8094a727033509a0898495862c..2bdd9ddd97458806001153f383facb6d7d060f56 100644 (file)
@@ -34,6 +34,7 @@ gm2_init_pim "${srcdir}/gm2/switches/check-all/run/fail" -fsoft-check-all -fno-m
 #
 
 gm2_target_compile $srcdir/$subdir/rangesupport.mod rangesupport.o object "-g -I$srcdir/$subdir/"
+gm2_link_with rangesupport.o
 
 foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.mod]] {
     # If we're only testing specific files and this isn't one of them, skip it.