gcc.dg/tls/thr-cse-1.c tests that there are not two calls to
__emutls_get_address in the output.  Normally this just checks for
emutls_get_address.*emutls_get_address, but on some targets where the
compiler output declares the functions called in some way the testcase
has more specific tests.  i?86-*-mingw* produces a .def directive for
___emutls_get_address so also needs such a special case, which this
patch adds (only for i?86-*-mingw* as I don't know what the output
looks like for other Windows targets).  Tested with cross to
i686-mingw32.  OK to commit?

2011-10-26  Joseph Myers  <jos...@codesourcery.com>

        * gcc.dg/tls/thr-cse-1.c: For i?86-*-mingw*, check for multiple
        calls.

Index: gcc.dg/tls/thr-cse-1.c
===================================================================
--- gcc.dg/tls/thr-cse-1.c      (revision 180200)
+++ gcc.dg/tls/thr-cse-1.c      (working copy)
@@ -15,9 +15,10 @@
   return a;
 }
 
-/* { dg-final { scan-assembler-not "emutls_get_address.*emutls_get_address.*" 
{ target { ! { "*-wrs-vxworks"  "*-*-darwin8"  "hppa*-*-hpux*" "spu-*-*" } } } 
} } */
+/* { dg-final { scan-assembler-not "emutls_get_address.*emutls_get_address.*" 
{ target { ! { "*-wrs-vxworks"  "*-*-darwin8"  "hppa*-*-hpux*" "spu-*-*" 
"i?86-*-mingw*" } } } } } */
 /* { dg-final { scan-assembler-not 
"call\tL___emutls_get_address.stub.*call\tL___emutls_get_address.stub.*" { 
target "*-*-darwin8" } } } */
 /* { dg-final { scan-assembler-not "(b,l|bl) __emutls_get_address.*(b,l|bl) 
__emutls_get_address.*" { target "hppa*-*-hpux*" } } } */
 /* { dg-final { scan-assembler-not 
"(brsl|brasl)\t__emutls_get_address.*(brsl|brasl)\t__emutls_get_address.*" { 
target spu-*-* } } } */
 /* { dg-final { scan-assembler-not "tls_lookup.*tls_lookup.*" { target 
*-wrs-vxworks } } } */
+/* { dg-final { scan-assembler-not 
"call\t___emutls_get_address.*call\t___emutls_get_address" { target 
"i?86-*-mingw*" } } } */
 

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to