20020919-1.c (loc_size_t): New type.
authorKai Tietz <kai.tietz@onevision.com>
Wed, 23 Apr 2008 07:53:55 +0000 (07:53 +0000)
committerKai Tietz <ktietz@gcc.gnu.org>
Wed, 23 Apr 2008 07:53:55 +0000 (09:53 +0200)
2008-04-23  Kai Tietz  <kai.tietz@onevision.com>

* gcc.dg/20020919-1.c (loc_size_t): New type.
(_dl_stat): Use loc_size_t to cast pointers.
* gcc.c-torture/compile/20010327-1.c: Skip for x86_64-*-mingw*.

From-SVN: r134583

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/20010327-1.c
gcc/testsuite/gcc.dg/20020919-1.c

index 7896b742e9e85d5227704715cacf4c8ea9cd4238..9493fef2e55e7ded595acaa7dd74eba12b1a2b4b 100644 (file)
@@ -1,3 +1,9 @@
+2008-04-23  Kai Tietz  <kai.tietz@onevision.com>
+
+       * gcc.dg/20020919-1.c (loc_size_t): New type.
+       (_dl_stat): Use loc_size_t to cast pointers.
+       * gcc.c-torture/compile/20010327-1.c: Skip for x86_64-*-mingw*.
+
 2008-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        PR libfortran/35988
index 59639e6ed961cc4baba91745beebb690c79d36f7..f20e3a3e2dc9bf1a0b7a79287bd2cf99ee0eee37 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-skip-if "non-SI pointers" { m32c-*-* } { "*" } { "" } } */
 /* { dg-skip-if "HI mode pointer for avr" { "avr-*-*" } { "*" } { "" } } */ 
+/* { dg-skip-if "non-SI pointers for w64" { "x86_64-*-mingw*" } { "*" } { "" } } */ 
 
 /* This testcase tests whether GCC can produce static initialized data
    that references addresses of size 'unsigned long', even if that's not
index de58b0c91f5ae3bc2a891bfaa115d7322f73a3f4..15519bef7b4cd180ef7dcc733230aac3f67654d9 100644 (file)
@@ -237,12 +237,18 @@ bazllb (long long llp)
 
 /* Real-world example of bug.  */
 
+#ifdef _WIN64
+typedef unsigned int loc_size_t __attribute__ ((mode (DI)));
+#else
+typedef __SIZE_TYPE__ loc_size_t;
+#endif
+
 struct stat;
 int
 _dl_stat (const char *file_name, struct stat *buf)
 {
-  register long a asm (REG1) = (long) file_name;
-  register long b asm (REG2) = (long) buf;
+  register long a asm (REG1) = (long) (loc_size_t) file_name;
+  register long b asm (REG2) = (long) (loc_size_t) buf;
 
   asm volatile ("movu.w %1,$r9\n\tbreak 13" : "=r" (a) : "g" (106), "0" (a), "r" (b) : REG1, REG5); /* { dg-error "conflict" } */
   if (a >= 0)