https://gcc.gnu.org/g:7fc97118a0f359123958bd61f74e0b07c6e4d8e4

commit r17-1481-g7fc97118a0f359123958bd61f74e0b07c6e4d8e4
Author: Iain Sandoe <[email protected]>
Date:   Wed Jun 10 20:05:33 2026 +0100

    testsuite, Darwin: Fix outputs.exp for ld64.
    
    ld64 warns on missing paths provided to -L flags, leading to spurious
    fails.  Fix this by passing -w to those invocations.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.misc-tests/outputs.exp: Pass -w to linker invocations
            when ld64 is in use.
    
    Signed-off-by: Iain Sandoe <[email protected]>

Diff:
---
 gcc/testsuite/gcc.misc-tests/outputs.exp | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.misc-tests/outputs.exp 
b/gcc/testsuite/gcc.misc-tests/outputs.exp
index 3da6423c0dac..2aa0b666f2ff 100644
--- a/gcc/testsuite/gcc.misc-tests/outputs.exp
+++ b/gcc/testsuite/gcc.misc-tests/outputs.exp
@@ -60,6 +60,8 @@ if !$skip_lto {
 # created, and thus fail.  Configuring the compiler --with-gnu-ld
 # fixes this.
 set gld [check_effective_target_gld]
+# Darwin's linker is not silent about missing -L values.
+set ld64 [istarget *-*-darwin*]
 
 # Prepare additional options to be used for linking.
 # We do not compile to an executable, because that requires naming an output.
@@ -185,7 +187,7 @@ proc outest { test sources opts dirs outputs } {
        foreach og $olist {
            if { [string index $og 0] == "!" } {
                global gspd ltop
-               global gld
+               global gld ld64
                set cond [expr $og]
                continue
            }
@@ -371,7 +373,12 @@ if !$skip_atsave {
 outest "$b-22 exe savetmp namedb-2" $sing "@$devnull -o $b.exe -save-temps" {} 
{{--0.i --0.s --0.o .args.0 !!$gld .ld1_args !0 .exe}}
 outest "$b-23 exe savetmp named2-2" $mult "@$devnull -o $b.exe -save-temps" {} 
{{--1.i --1.s --1.o --2.i --2.s --2.o .args.0 !!$gld .ld1_args !0 .exe}}
 outest "$b-24 exe savetmp named2-3" $mult "@$devnull -I dummy -o $b.exe 
-save-temps" {} {{--1.i --1.s --1.o --2.i --2.s --2.o -args.0 -args.1 .args.2 
!!$gld .ld1_args !0 .exe}}
-outest "$b-25 exe savetmp named2-4" $mult "@$devnull -I dummy -L dummy -o 
$b.exe -save-temps" {} {{--1.i --1.s --1.o --2.i --2.s --2.o -args.0 -args.1 
.args.2 .args.3 !!$gld .ld1_args !0 .exe}}
+  if $ld64 {
+    # Darwin's linker warns about missing args to -L.
+    outest "$b-25 exe savetmp named2-4" $mult "@$devnull -I dummy -L dummy -o 
$b.exe -save-temps -Wl,-w" {} {{--1.i --1.s --1.o --2.i --2.s --2.o -args.0 
-args.1 .args.2 !!0 .args.3 !!$gld .ld1_args !0 .exe}}
+  } else {
+    outest "$b-25 exe savetmp named2-4" $mult "@$devnull -I dummy -L dummy -o 
$b.exe -save-temps" {} {{--1.i --1.s --1.o --2.i --2.s --2.o -args.0 -args.1 
.args.2 .args.3 !!$gld .ld1_args !0 .exe}}
+  }
 }
 
 # Setting the main output to a dir selects it as the default aux&dump

Reply via email to