Hi,

patch looks fine for mingw 32-bit.  With a small nit new test passes
for 64-bit mingw version, too.  The cygwin-part looks like the mingw
one.

2011/10/26 Joseph S. Myers <jos...@codesourcery.com>:
> 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* i?86-*-cygwin* } } } } */
+/* { dg-final { scan-assembler-not
"call\t__emutls_get_address.*call\t__emutls_get_address" { target
"x86_64-*-mingw*" } } } */

With this change test should pass for all IA mingw-targets and for cygwin, too.

Thanks,
Kai

Reply via email to