diff mbox

[testsuite] Fix g++.dg/cilk-plus/cilk-plus.exp

Message ID yddfvpwpvn4.fsf@lokon.CeBiTec.Uni-Bielefeld.DE
State New
Headers show

Commit Message

Rainer Orth Dec. 13, 2013, 4:23 p.m. UTC
Unfortunately, the g++.dg/cilk-plus testsuite repeated many of the
errors that have already been fixed in its gcc.dg counterpart: not
properly setting ld_library_path (setting instead of appending, which
causes all 64-bit tests to FAIL on Solaris 10/x86) and using
ALWAYS_CFLAGS (leads to build directory names in make check output).

The following patch fixes both issues.  Tested with the appropriate
runtest invocation, will commit once a full bootstrap has completed.

The only failures remaining now are (32-bit only):

FAIL: g++.dg/cilk-plus/CK/catch_exc.cc  -fcilkplus execution test
FAIL: g++.dg/cilk-plus/CK/catch_exc.cc  -O1 -fcilkplus execution test
FAIL: g++.dg/cilk-plus/CK/catch_exc.cc  -O2 -fcilkplus execution test
FAIL: g++.dg/cilk-plus/CK/catch_exc.cc  -O3 -fcilkplus execution test
FAIL: g++.dg/cilk-plus/CK/catch_exc.cc  -g -fcilkplus execution test
FAIL: g++.dg/cilk-plus/CK/catch_exc.cc  -g -O2 -fcilkplus execution test
FAIL: g++.dg/cilk-plus/CK/catch_exc.cc  -g -O3 -fcilkplus execution test

	Rainer


2013-12-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* g++.dg/cilk-plus/cilk-plus.exp: Properly set ld_library_path.
	Use TEST_EXTRA_LIBS instead of ALWAYS_CFLAGS.

Comments

Andreas Schwab Dec. 13, 2013, 6:03 p.m. UTC | #1
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> diff --git a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
> --- a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
> +++ b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
> @@ -25,10 +25,11 @@ if { ![check_effective_target_cilkplus] 
>  verbose "$tool $libdir" 1
>  set library_var "[get_multilibs]"
>  # Pointing the ld_library_path to the Cilk Runtime library binaries.
> -set ld_library_path "$[get_multilibs]/libcilkrts/.libs"
> +append ld_library_path ":${library_var}/libcilkrts/.libs"
> +set_ld_library_path_env_vars
>  
> -set ALWAYS_CFLAGS ""
> -lappend ALWAYS_CFLAGS "-L${library_var}/libcilkrts/.libs"
> +global TEST_EXTRA_LIBS
> +set TEST_EXTRA_LIBS "-L${library_var}/libcilkrts/.libs"

There is no point in doing this twice.

Andreas.
Rainer Orth Dec. 13, 2013, 6:15 p.m. UTC | #2
Andreas Schwab <schwab@linux-m68k.org> writes:

> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
>
>> diff --git a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
>> --- a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
>> +++ b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
>> @@ -25,10 +25,11 @@ if { ![check_effective_target_cilkplus] 
>>  verbose "$tool $libdir" 1
>>  set library_var "[get_multilibs]"
>>  # Pointing the ld_library_path to the Cilk Runtime library binaries.
>> -set ld_library_path "$[get_multilibs]/libcilkrts/.libs"
>> +append ld_library_path ":${library_var}/libcilkrts/.libs"
>> +set_ld_library_path_env_vars
>>  
>> -set ALWAYS_CFLAGS ""
>> -lappend ALWAYS_CFLAGS "-L${library_var}/libcilkrts/.libs"
>> +global TEST_EXTRA_LIBS
>> +set TEST_EXTRA_LIBS "-L${library_var}/libcilkrts/.libs"
>
> There is no point in doing this twice.

What are you talking about?  ld_library_path and its corresponding
environment variables are used by the runtime linker (ld.so.1 or
whatever), while the -L flags are for ld.

	Rainer
Eric Botcazou Dec. 13, 2013, 6:40 p.m. UTC | #3
> Unfortunately, the g++.dg/cilk-plus testsuite repeated many of the
> errors that have already been fixed in its gcc.dg counterpart: not
> properly setting ld_library_path (setting instead of appending, which
> causes all 64-bit tests to FAIL on Solaris 10/x86) and using
> ALWAYS_CFLAGS (leads to build directory names in make check output).

Same on Solaris 10/SPARC.

> 2013-12-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
> 
> 	* g++.dg/cilk-plus/cilk-plus.exp: Properly set ld_library_path.
> 	Use TEST_EXTRA_LIBS instead of ALWAYS_CFLAGS.

Works on Solaris 10/SPARC as well, thanks.
Andreas Schwab Dec. 13, 2013, 10 p.m. UTC | #4
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> Andreas Schwab <schwab@linux-m68k.org> writes:
>
>> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
>>
>>> diff --git a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
>>> --- a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
>>> +++ b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
>>> @@ -25,10 +25,11 @@ if { ![check_effective_target_cilkplus] 
>>>  verbose "$tool $libdir" 1
>>>  set library_var "[get_multilibs]"
>>>  # Pointing the ld_library_path to the Cilk Runtime library binaries.
>>> -set ld_library_path "$[get_multilibs]/libcilkrts/.libs"
>>> +append ld_library_path ":${library_var}/libcilkrts/.libs"
>>> +set_ld_library_path_env_vars
>>>  
>>> -set ALWAYS_CFLAGS ""
>>> -lappend ALWAYS_CFLAGS "-L${library_var}/libcilkrts/.libs"
>>> +global TEST_EXTRA_LIBS
>>> +set TEST_EXTRA_LIBS "-L${library_var}/libcilkrts/.libs"
>>
>> There is no point in doing this twice.
>
> What are you talking about?

Look down the file.

Andreas.
diff mbox

Patch

diff --git a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
--- a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
+++ b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
@@ -25,10 +25,11 @@  if { ![check_effective_target_cilkplus] 
 verbose "$tool $libdir" 1
 set library_var "[get_multilibs]"
 # Pointing the ld_library_path to the Cilk Runtime library binaries.
-set ld_library_path "$[get_multilibs]/libcilkrts/.libs"
+append ld_library_path ":${library_var}/libcilkrts/.libs"
+set_ld_library_path_env_vars
 
-set ALWAYS_CFLAGS ""
-lappend ALWAYS_CFLAGS "-L${library_var}/libcilkrts/.libs"
+global TEST_EXTRA_LIBS
+set TEST_EXTRA_LIBS "-L${library_var}/libcilkrts/.libs"
 
 dg-init
 # Run the tests that are shared with C.
@@ -72,22 +73,22 @@  dg-runtest [lsort [glob -nocomplain $src
 dg-finish
 
 dg-init
-dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -O1 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -O2 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -O3 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -g -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -g -O2 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -g -O3 -fcilkplus $ALWAYS_CFLAGS" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -O1 -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -O2 -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -O3 -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -g -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -g -O2 -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -g -O3 -fcilkplus" " "
 dg-finish
 
 dg-init
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O1 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -fcilkplus $ALWAYS_CFLAGS" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O1 -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -fcilkplus" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O2 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O3 -fcilkplus $ALWAYS_CFLAGS" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O2 -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O3 -fcilkplus" " "
 dg-finish
 unset TEST_EXTRA_LIBS