aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2022-12-15 13:57:43 +0100
committerJakub Jelinek <jakub@redhat.com>2022-12-15 13:57:43 +0100
commit9cf9f3c7629d768d940d9f87cddcd616bb0449e0 (patch)
treea05e20b308db44b7aae40d4b71af21e1f961027b
parent32582c190b91287a0d1239162333f5ad0ac81e72 (diff)
downloadgcc-9cf9f3c7629d768d940d9f87cddcd616bb0449e0.zip
gcc-9cf9f3c7629d768d940d9f87cddcd616bb0449e0.tar.gz
gcc-9cf9f3c7629d768d940d9f87cddcd616bb0449e0.tar.bz2
testsuite: Add support for Rust and Modula-2 effective target tests
This patch allows magic comments also for Rust and Modula-2 for effective target tests etc. and fixes up the Assembly entry - it is a glob, so /* Assembly can match /whatever Assembly and not just /* Assembly. Tested on x86_64-linux with make check-g++ RUNTESTFLAGS=i386.exp=pr35513* and verifying it still uses *.S extension for the property_1_needed effective target test. 2022-12-15 Jakub Jelinek <jakub@redhat.com> * lib/target-supports.exp (check_compile): Add support for Rust and Modula-2. Use \* rather than * for /* comment for Assembly.
-rw-r--r--gcc/testsuite/lib/target-supports.exp8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 2a058c6..e9867a4 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -36,7 +36,9 @@
# "! Fortran" for Fortran code,
# "/* ObjC", for ObjC
# "// ObjC++" for ObjC++
-# and "// Go" for Go
+# "// Go" for Go
+# "// Rust" for Rust
+# 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.
@@ -58,13 +60,15 @@ proc check_compile {basename type contents args} {
set options ""
}
switch -glob -- $contents {
- "*/* Assembly*" { set src ${basename}[pid].S }
+ "*/\* Assembly*" { set src ${basename}[pid].S }
"*! Fortran*" { set src ${basename}[pid].f90 }
"*// C++*" { set src ${basename}[pid].cc }
"*// D*" { set src ${basename}[pid].d }
"*// ObjC++*" { set src ${basename}[pid].mm }
"*/* ObjC*" { set src ${basename}[pid].m }
"*// Go*" { set src ${basename}[pid].go }
+ "*// Rust*" { set src ${basename}[pid].rs }
+ "*(\* Modula-2*" { set src ${basename}[pid].mod }
default {
switch -- $tool {
"objc" { set src ${basename}[pid].m }