On Mon, Mar 15, 2021 at 03:28:06PM -0400, Nathan Sidwell wrote:
>
> I'd failed to correctly restrict some checks to lp64 x86 targets.
>
> PR c++/99601
> gcc/testsuite/
> * g++.dg/modules/builtin-3_a.C: Fix lp64 x86 detection.
> * g++.dg/modules/builtin-3_b.C: Fix lp64 x86 detection.
ERROR: tcl error sourcing
/home/jakub/src/gcc/gcc/testsuite/g++.dg/modules/modules.exp.
ERROR: unmatched open brace in list
while executing
"foreach op $tmp {
switch [lindex $op 0] {
"dg-options" {
set std_prefix "-std=gnu++"
if { [string match "*-std=*" [lindex $op 2]] } {
..."
(procedure "module-init" line 7)
invoked from within
"module-init $src"
invoked from within
"if [runtest_file_p $runtests $src] {
set tests [lsort [find [file dirname $src] [regsub {_a.[CHX]$} [file
tail $src] {_[a-z].[CHX]}]]]
set std_lis..."
("foreach" body line 3)
invoked from within
"foreach src [lsort [find $srcdir/$subdir {*_a.[CHX}]] {
# use the FOO_a.C name as the parallelization key
if [runtest_file_p $runtests $src] {..."
(file "/home/jakub/src/gcc/gcc/testsuite/g++.dg/modules/modules.exp" line
304)
invoked from within
"source /home/jakub/src/gcc/gcc/testsuite/g++.dg/modules/modules.exp"
("uplevel" body line 1)
invoked from within
"uplevel #0 source /home/jakub/src/gcc/gcc/testsuite/g++.dg/modules/modules.exp"
invoked from within
"catch "uplevel #0 source $test_file_name""
Tested on x86_64-linux -m32/-m64, committed to trunk as obvious.
BTW, that i?86-*-linux* *-*-darwin* case probably needs to be
{ { { i?86-*-linux* x86_64-*-linux* } && ia32 } || *-*-darwin* }
or so, but haven't tested that.
2021-03-16 Jakub Jelinek <[email protected]>
PR c++/99601
* g++.dg/modules/builtin-3_a.C: Fix target selector syntax errors.
* g++.dg/modules/builtin-3_b.C: Likewise.
--- gcc/testsuite/g++.dg/modules/builtin-3_a.C.jj 2021-03-15
22:04:58.227425350 +0100
+++ gcc/testsuite/g++.dg/modules/builtin-3_a.C 2021-03-16 00:19:23.480612490
+0100
@@ -30,8 +30,8 @@ export inline int count (int a, ...)
// The implementation details of va_list's are target-specific.
// Usually one of two patterns though
// { dg-final { scan-lang-dump-not { Cluster members:\n \[0\]=decl
declaration '::__builtin_va_list'\n \[1\]=binding '::__builtin_va_list'\n}
module { target i?86-*-linux* x86_64-*-linux* } } }
-// { dg-final { scan-lang-dump {Wrote GMF:-[0-9]*
type_decl:'::__builtin_va_list'@builtins} module { { target x86_64-*-linux*
i>86-*-linux* } && lp64 } }
-// { dg-final { scan-lang-dump {Writing:-[0-9]*'s named merge key \(decl\)
type_decl:'::__builtin_va_list'} module { target { x86_64-*-linux*
i?86-*-linux* } && lp64 } } }
+// { dg-final { scan-lang-dump {Wrote GMF:-[0-9]*
type_decl:'::__builtin_va_list'@builtins} module { target { { x86_64-*-linux*
i?86-*-linux* } && lp64 } } } }
+// { dg-final { scan-lang-dump {Writing:-[0-9]*'s named merge key \(decl\)
type_decl:'::__builtin_va_list'} module { target { { x86_64-*-linux*
i?86-*-linux* } && lp64 } } } }
// { dg-final { scan-lang-dump {Writing:-1's named merge key \(decl\)
type_decl:'::__gnuc_va_list'} module { target i?86-*-linux* *-*-darwin* } } }
// { dg-final { scan-lang-dump {Wrote GMF:-3
type_decl:'::__gnuc_va_list'@builtins} module { target i?86-*-linux*
*-*-darwin* } } }
--- gcc/testsuite/g++.dg/modules/builtin-3_b.C.jj 2021-03-15
22:04:58.227425350 +0100
+++ gcc/testsuite/g++.dg/modules/builtin-3_b.C 2021-03-16 00:18:48.467995815
+0100
@@ -8,6 +8,6 @@ int main ()
}
// { dg-final { scan-lang-dump {Read:-[0-9]*'s named merge key \(matched\)
function_decl:'::__builtin_strlen'} module } }
-// { dg-final { scan-lang-dump {Read:-[0-9]*'s named merge key \(matched\)
type_decl:'::__builtin_va_list'} module { target { { x86_64-*-linux*
i?86-*-linux* } && lp64 } } }
+// { dg-final { scan-lang-dump {Read:-[0-9]*'s named merge key \(matched\)
type_decl:'::__builtin_va_list'} module { target { { x86_64-*-linux*
i?86-*-linux* } && lp64 } } } }
// { dg-final { scan-lang-dump {Read:-[0-9]*'s named merge key \(new\)
type_decl:'::va_list'} module } }
// { dg-final { scan-lang-dump {Read:-[0-9]*'s named merge key \(new\)
type_decl:'::__gnuc_va_list'} module } }
Jakub