diff mbox series

cobol: Don't run cobol tests with -m32 or -mx32 [PR119290]

Message ID Z9RIiXPkywRwi9aD@tucnak
State New
Headers show
Series cobol: Don't run cobol tests with -m32 or -mx32 [PR119290] | expand

Commit Message

Jakub Jelinek March 14, 2025, 3:17 p.m. UTC
Hi!

The following patch adds cobol effective target and uses it to guard main
loop in cobol.dg/dg.exp, so that we don't run the tests on unsupported
multilibs.

Tested on x86_64-linux with
make check-cobol RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} dg.exp'
which previously had all FAILs in the -m32 case and now doesn't report
any PASSes/FAILs/XFAILs/XPASSes etc, while for -m64 the testsuite is run
normally.

Ok for trunk?

2025-03-14  Jakub Jelinek  <jakub@redhat.com>

	PR cobol/119290
	* lib/target-supports.exp (check_compile): Use *.cob extension for
	"*> COBOL" comment.
	* lib/cobol-dg.exp (check_effective_target_cobol): New procedure.
	* cobol.dg/dg.exp: Guard main loop with [check_effective_target_cobol]
	test.


	Jakub

Comments

Richard Biener March 14, 2025, 7:28 p.m. UTC | #1
> Am 14.03.2025 um 16:19 schrieb Jakub Jelinek <jakub@redhat.com>:
> 
> Hi!
> 
> The following patch adds cobol effective target and uses it to guard main
> loop in cobol.dg/dg.exp, so that we don't run the tests on unsupported
> multilibs.
> 
> Tested on x86_64-linux with
> make check-cobol RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} dg.exp'
> which previously had all FAILs in the -m32 case and now doesn't report
> any PASSes/FAILs/XFAILs/XPASSes etc, while for -m64 the testsuite is run
> normally.
> 
> Ok for trunk?

Ok

Thanks,
Richard 

> 2025-03-14  Jakub Jelinek  <jakub@redhat.com>
> 
>    PR cobol/119290
>    * lib/target-supports.exp (check_compile): Use *.cob extension for
>    "*> COBOL" comment.
>    * lib/cobol-dg.exp (check_effective_target_cobol): New procedure.
>    * cobol.dg/dg.exp: Guard main loop with [check_effective_target_cobol]
>    test.
> 
> --- gcc/testsuite/lib/target-supports.exp.jj    2025-03-11 18:35:10.585437197 +0100
> +++ gcc/testsuite/lib/target-supports.exp    2025-03-14 16:10:31.502112001 +0100
> @@ -38,6 +38,7 @@
> # "// ObjC++" for ObjC++
> # "// Go" for Go
> # "// Rust" for Rust
> +# "*> COBOL" for COBOL
> # and "(* Modula-2" for Modula-2
> # If the tool is ObjC/ObjC++ then we overide the extension to .m/.mm to
> # allow for ObjC/ObjC++ specific flags.
> @@ -72,6 +73,7 @@ proc check_compile {basename type conten
>    "*/\\* ObjC*" { set src ${basename}[pid].m }
>    "*// Go*" { set src ${basename}[pid].go }
>    "*// Rust*" { set src ${basename}[pid].rs }
> +    "*\\*> COBOL*" { set src ${basename}[pid].cob }
>    "*(\\* Modula-2*" { set src ${basename}[pid].mod }
>    default {
>        switch -- $tool {
> --- gcc/testsuite/lib/cobol-dg.exp.jj    2025-03-12 21:56:44.255767086 +0100
> +++ gcc/testsuite/lib/cobol-dg.exp    2025-03-14 16:10:53.183816106 +0100
> @@ -83,3 +83,14 @@ proc cobol-dg-runtest { testcases flags
>    torture-finish
>     }
> }
> +
> +proc check_effective_target_cobol {} {
> +    # Check if the COBOL FE can compile trivial programs.
> +    return [check_no_compiler_messages cobol assembly {
> +*> COBOL
> +IDENTIFICATION DIVISION.
> +PROGRAM-ID. pass.
> +PROCEDURE DIVISION.
> +    STOP RUN.
> +    }]
> +}
> --- gcc/testsuite/cobol.dg/dg.exp.jj    2025-03-12 21:56:44.252767127 +0100
> +++ gcc/testsuite/cobol.dg/dg.exp    2025-03-14 16:05:47.315990276 +0100
> @@ -34,8 +34,10 @@ set cobol_test_path $srcdir/$subdir
> set all_flags $DEFAULT_COBFLAGS
> 
> # Main loop.
> -cobol-dg-runtest [lsort \
> +if [check_effective_target_cobol] {
> +    cobol-dg-runtest [lsort \
>        [glob -nocomplain $srcdir/$subdir/*.cob ] ] "" $all_flags
> +}
> 
> # All done.
> dg-finish
> 
>    Jakub
>
diff mbox series

Patch

--- gcc/testsuite/lib/target-supports.exp.jj	2025-03-11 18:35:10.585437197 +0100
+++ gcc/testsuite/lib/target-supports.exp	2025-03-14 16:10:31.502112001 +0100
@@ -38,6 +38,7 @@ 
 # "// ObjC++" for ObjC++
 # "// Go" for Go
 # "// Rust" for Rust
+# "*> COBOL" for COBOL
 # and "(* Modula-2" for Modula-2
 # If the tool is ObjC/ObjC++ then we overide the extension to .m/.mm to
 # allow for ObjC/ObjC++ specific flags.
@@ -72,6 +73,7 @@  proc check_compile {basename type conten
 	"*/\\* ObjC*" { set src ${basename}[pid].m }
 	"*// Go*" { set src ${basename}[pid].go }
 	"*// Rust*" { set src ${basename}[pid].rs }
+	"*\\*> COBOL*" { set src ${basename}[pid].cob }
 	"*(\\* Modula-2*" { set src ${basename}[pid].mod }
 	default {
 	    switch -- $tool {
--- gcc/testsuite/lib/cobol-dg.exp.jj	2025-03-12 21:56:44.255767086 +0100
+++ gcc/testsuite/lib/cobol-dg.exp	2025-03-14 16:10:53.183816106 +0100
@@ -83,3 +83,14 @@  proc cobol-dg-runtest { testcases flags
 	torture-finish
     }
 }
+
+proc check_effective_target_cobol {} {
+    # Check if the COBOL FE can compile trivial programs.
+    return [check_no_compiler_messages cobol assembly {
+*> COBOL
+IDENTIFICATION DIVISION.
+PROGRAM-ID. pass.
+PROCEDURE DIVISION.
+    STOP RUN.
+    }]
+}
--- gcc/testsuite/cobol.dg/dg.exp.jj	2025-03-12 21:56:44.252767127 +0100
+++ gcc/testsuite/cobol.dg/dg.exp	2025-03-14 16:05:47.315990276 +0100
@@ -34,8 +34,10 @@  set cobol_test_path $srcdir/$subdir
 set all_flags $DEFAULT_COBFLAGS
 
 # Main loop.
-cobol-dg-runtest [lsort \
+if [check_effective_target_cobol] {
+    cobol-dg-runtest [lsort \
        [glob -nocomplain $srcdir/$subdir/*.cob ] ] "" $all_flags
+}
 
 # All done.
 dg-finish