Hi Pietro.
OK.

> On algol68_link_flags remove unused variables and move finding the
> link spec file to algol68_init while making it multilib aware.
>
> Set always used compiler flags on algol68_init instead of
> algol68_target_compile.  This makes the log file for RUNTESTFLAGS="-v"
> 4 times smaller.
>
> Signed-off-by: Pietro Monteiro <[email protected]>
> ---
>  gcc/testsuite/lib/algol68.exp | 77 +++++++++++++++++------------------
>  1 file changed, 37 insertions(+), 40 deletions(-)
>
> diff --git a/gcc/testsuite/lib/algol68.exp b/gcc/testsuite/lib/algol68.exp
> index cd5c2aab744..acdfc4b6ba3 100644
> --- a/gcc/testsuite/lib/algol68.exp
> +++ b/gcc/testsuite/lib/algol68.exp
> @@ -57,15 +57,12 @@ proc algol68_link_flags { paths } {
>      global srcdir
>      global ld_library_path
>      global shlib_ext
> -    global SHARED_OPTION
>      global ALGOL68_UNDER_TEST
>  
>      set gccpath ${paths}
> -    set libio_dir ""
>      set flags ""
>      set ld_library_path "."
>      set shlib_ext [get_shlib_extension]
> -    set SHARED_OPTION ""
>      verbose "shared lib extension: $shlib_ext"
>  
>      # We need to add options to locate libga68.
> @@ -75,8 +72,6 @@ proc algol68_link_flags { paths } {
>      }
>  
>      if { $gccpath != "" } {
> -     # Path to libga68.spec.
> -     append flags "-B${gccpath}/libga68 "
>       if { [file exists "${gccpath}/libga68/.libs/libga68.a"] \
>            || [file exists "${gccpath}/libga68/.libs/libga68.${shlib_ext}"] } 
> {
>           if { $target_wants_B_option } {
> @@ -86,16 +81,6 @@ proc algol68_link_flags { paths } {
>           }
>           append ld_library_path ":${gccpath}/libga68/.libs"
>       }
> -     # Static linking is default. If only the shared lib is available adjust
> -     # flags to always use it. If both are available, set SHARED_OPTION which
> -     # will be added to PERMUTE_ARGS
> -     if { [file exists "${gccpath}/libga68/src/.libs/libga68.${shlib_ext}"] 
> } {
> -         if { [file exists "${gccpath}/libga68/src/.libs/libga68.a"] } {
> -             set SHARED_OPTION "-shared-libga68"
> -         } else {
> -#            append flags "-shared-libga68 "
> -         }
> -     }
>       if [file exists "${gccpath}/libiberty/libiberty.a"] {
>           append flags "-L${gccpath}/libiberty "
>       }
> @@ -125,19 +110,31 @@ proc algol68_init { args } {
>      global TESTING_IN_BUILD_TREE
>      global gcc_warning_prefix
>      global gcc_error_prefix
> +    global TEST_ALWAYS_FLAGS
> +    global algol68_init_set_ALGOL68_UNDER_TEST
>  
>      # We set LC_ALL and LANG to C so that we get the same error messages as 
> expected.
>      setenv LC_ALL C
>      setenv LANG C
>  
> -    if ![info exists ALGOL68_UNDER_TEST] then {
> +    # ALGOL68_UNDER_TEST as set below contains $specpath, which depends on
> +    # the used multilib config. Thus, its value may need to be reset;
> +    # that's tracked via algol68_init_set_ALGOL68_UNDER_TEST.
> +    if { ![info exists ALGOL68_UNDER_TEST]
> +      || [info exists algol68_init_set_ALGOL68_UNDER_TEST] } then {
>       if [info exists TOOL_EXECUTABLE] {
>           set ALGOL68_UNDER_TEST $TOOL_EXECUTABLE
>       } else {
>           if { [is_remote host] || ! [info exists TESTING_IN_BUILD_TREE] } {
>               set ALGOL68_UNDER_TEST [transform ga68]
>           } else {
> -             set ALGOL68_UNDER_TEST [findfile $base_dir/../../ga68 
> "$base_dir/../../ga68 -B$base_dir/../../" [findfile $base_dir/ga68 
> "$base_dir/ga68 -B$base_dir/" [transform ga68]]]
> +             if [info exists TOOL_OPTIONS] {
> +                 set specpath [get_multilibs ${TOOL_OPTIONS}]
> +             } else {
> +                 set specpath [get_multilibs]
> +             }
> +             set algol68_init_set_ALGOL68_UNDER_TEST 1
> +             set ALGOL68_UNDER_TEST [findfile $base_dir/../../ga68 
> "$base_dir/../../ga68 -B$base_dir/../../ -B$specpath/libga68/" [findfile 
> $base_dir/ga68 "$base_dir/ga68 -B$base_dir/" [transform ga68]]]
>           }
>       }
>      }
> @@ -160,29 +157,6 @@ proc algol68_init { args } {
>      set gcc_warning_prefix "warning:"
>      set gcc_error_prefix "(fatal )?error:"
>  
> -    verbose "algol68 is initialized" 3
> -}
> -
> -#
> -# algol68_target_compile -- compile a source file
> -#
> -
> -proc algol68_target_compile { source dest type options } {
> -    global tmpdir
> -    global gluefile wrap_flags
> -    global ALWAYS_ALGOL68FLAGS
> -    global ALGOL68_UNDER_TEST
> -    global individual_timeout
> -    global TEST_ALWAYS_FLAGS
> -
> -    # HACK: guard against infinite loops in the compiler
> -    set individual_timeout 20
> -
> -    if { [target_info needs_status_wrapper] != "" && [info exists gluefile] 
> } {
> -     lappend options "libs=${gluefile}"
> -     lappend options "ldflags=${wrap_flags}"
> -    }
> -
>      set ALWAYS_ALGOL68FLAGS ""
>  
>      # TEST_ALWAYS_FLAGS are flags that should be passed to every
> @@ -208,6 +182,29 @@ proc algol68_target_compile { source dest type options } 
> {
>  
>      verbose -log "ALWAYS_ALGOL68FLAGS set to $ALWAYS_ALGOL68FLAGS"
>  
> +    verbose "algol68 is initialized" 3
> +}
> +
> +#
> +# algol68_target_compile -- compile a source file
> +#
> +
> +proc algol68_target_compile { source dest type options } {
> +    global tmpdir
> +    global gluefile wrap_flags
> +    global ALWAYS_ALGOL68FLAGS
> +    global ALGOL68_UNDER_TEST
> +    global TEST_ALWAYS_FLAGS
> +    global individual_timeout
> +
> +    # HACK: guard against infinite loops in the compiler
> +    set individual_timeout 20
> +
> +    if { [target_info needs_status_wrapper] != "" && [info exists gluefile] 
> } {
> +     lappend options "libs=${gluefile}"
> +     lappend options "ldflags=${wrap_flags}"
> +    }
> +
>      lappend options "timeout=[timeout_value]"
>      lappend options "compiler=$ALGOL68_UNDER_TEST"
>  
>
> base-commit: e6c378fa5200cd8eb8b4356ef33e88fd13ee5436

Reply via email to