https://gcc.gnu.org/g:bef4f0f92a9ffe624ab3f7fbf565a8587926c4d4

commit r17-1512-gbef4f0f92a9ffe624ab3f7fbf565a8587926c4d4
Author: Iain Sandoe <[email protected]>
Date:   Thu Jun 11 20:40:51 2026 +0100

    testsuite, c++: Account for missing stong symbol aliases.
    
    Darwin does not have strong symbol aliases and therefore must emit complete
    constructors (which might, or might not call others).  Several tests assume
    that a base constructor is emitted (which is fine for targets with strong
    symbol aliases that emit the complete constructor symbol as an alias to the
    base etc.).
    
    Handle the two cases with separate matches.
    
    gcc/testsuite/ChangeLog:
    
            * g++.dg/modules/clone-4_b.C: Account for missing strong symbol
            aliases.
            * g++.dg/template/explicit-instantiation8.C: Likewise.
    
    Signed-off-by: Iain Sandoe <[email protected]>

Diff:
---
 gcc/testsuite/g++.dg/modules/clone-4_b.C                | 5 +++--
 gcc/testsuite/g++.dg/template/explicit-instantiation8.C | 3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/gcc/testsuite/g++.dg/modules/clone-4_b.C 
b/gcc/testsuite/g++.dg/modules/clone-4_b.C
index 1b36cb477c60..2b811b7537f4 100644
--- a/gcc/testsuite/g++.dg/modules/clone-4_b.C
+++ b/gcc/testsuite/g++.dg/modules/clone-4_b.C
@@ -8,5 +8,6 @@ int main() {
   __shared_ptr<double> s2;
 }
 
-// { dg-final { scan-assembler-not {_ZNW1M12__shared_ptrIiEC[1-4]Ev:} } }
-// { dg-final { scan-assembler {_ZNW1M12__shared_ptrIdEC2Ev:} } }
+// { dg-final { scan-assembler-not {_?_ZNW1M12__shared_ptrIiEC[1-4]Ev:} } }
+// { dg-final { scan-assembler {_?_ZNW1M12__shared_ptrIdEC2Ev:} { target alias 
} } }
+// { dg-final { scan-assembler {_?_ZNW1M12__shared_ptrIdEC1Ev:} { target { ! 
alias } } } }
diff --git a/gcc/testsuite/g++.dg/template/explicit-instantiation8.C 
b/gcc/testsuite/g++.dg/template/explicit-instantiation8.C
index 92152a2992e9..21c6c7940f0c 100644
--- a/gcc/testsuite/g++.dg/template/explicit-instantiation8.C
+++ b/gcc/testsuite/g++.dg/template/explicit-instantiation8.C
@@ -21,4 +21,5 @@ extern template struct use_shallow<char>;
 template struct shallow<char>;
 template struct use_shallow<char>;
 
-// { dg-final { scan-assembler "_ZN7shallowIcEC2Ev" } }
+// { dg-final { scan-assembler "_?_ZN7shallowIcEC2Ev" { target alias } } }
+// { dg-final { scan-assembler "_?_ZN7shallowIcEC1Ev" { target { ! alias } } } 
}

Reply via email to