Hi

The lambda-vis.C test fails everywhere for targets that use a ‘_’ as
USER_LABEL_PREFIX.

This prepends an optional match for the additional USER_LABEL_PREFIX
to the scan assembler checks.

Tested on x86_64-darwin, and linux,
applied to master as obvious,
thanks
Iain
    
2020-03-22  Iain Sandoe  <i...@sandoe.co.uk>
    
        * g++.dg/abi/lambda-vis.C: Amend assembler match
        strings for targets using a USER_LABEL_PREFIX.

diff --git a/gcc/testsuite/g++.dg/abi/lambda-vis.C 
b/gcc/testsuite/g++.dg/abi/lambda-vis.C
index c3eb157dc20..89683b2076a 100644
--- a/gcc/testsuite/g++.dg/abi/lambda-vis.C
+++ b/gcc/testsuite/g++.dg/abi/lambda-vis.C
@@ -13,11 +13,11 @@ int gvar = gfoo (capture ([]{}));
 
 inline int ivar = ifoo (capture ([]{}));
 
-// { dg-final { scan-assembler {_Z7captureINL4svarMUlvE_EE7WrapperIT_EOS2_:} } 
}
-// { dg-final { scan-assembler {_Z7captureIN4gvarMUlvE_EE7WrapperIT_EOS2_:} } }
-// { dg-final { scan-assembler {_Z7captureIN4ivarMUlvE_EE7WrapperIT_EOS2_:} } }
+// { dg-final { scan-assembler {_?_Z7captureINL4svarMUlvE_EE7WrapperIT_EOS2_:} 
} }
+// { dg-final { scan-assembler {_?_Z7captureIN4gvarMUlvE_EE7WrapperIT_EOS2_:} 
} }
+// { dg-final { scan-assembler {_?_Z7captureIN4ivarMUlvE_EE7WrapperIT_EOS2_:} 
} }
 
 // Calls to the foos are emitted.
-// { dg-final { scan-assembler {call[ 
\t]*_Z4sfooI7WrapperINL4svarMUlvE_EEEiT_} { target { i?86-*-* x86_64-*-* } } } }
-// { dg-final { scan-assembler {call[ \t]*_Z4gfooI7WrapperIN4gvarMUlvE_EEEiT_} 
{ target { i?86-*-* x86_64-*-* } } } }
-// { dg-final { scan-assembler {call[ \t]*_Z4ifooI7WrapperIN4ivarMUlvE_EEEiT_} 
{ target { i?86-*-* x86_64-*-* } } } }
+// { dg-final { scan-assembler {call[ 
\t]*_?_Z4sfooI7WrapperINL4svarMUlvE_EEEiT_} { target { i?86-*-* x86_64-*-* } } 
} }
+// { dg-final { scan-assembler {call[ 
\t]*_?_Z4gfooI7WrapperIN4gvarMUlvE_EEEiT_} { target { i?86-*-* x86_64-*-* } } } 
}
+// { dg-final { scan-assembler {call[ 
\t]*_?_Z4ifooI7WrapperIN4ivarMUlvE_EEEiT_} { target { i?86-*-* x86_64-*-* } } } 
}

Reply via email to