aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2008-04-23 07:53:55 +0000
committerKai Tietz <ktietz@gcc.gnu.org>2008-04-23 09:53:55 +0200
commit4991bfc81333ef13140ffad4e0ea9d37d2c6ddb8 (patch)
tree1545230184fb08c646085191282ea45b40d29aa2 /gcc
parentd7066497b039e9cc5dff72b21d5b0986651ff521 (diff)
downloadgcc-4991bfc81333ef13140ffad4e0ea9d37d2c6ddb8.zip
gcc-4991bfc81333ef13140ffad4e0ea9d37d2c6ddb8.tar.gz
gcc-4991bfc81333ef13140ffad4e0ea9d37d2c6ddb8.tar.bz2
20020919-1.c (loc_size_t): New type.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20010327-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/20020919-1.c10
3 files changed, 15 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7896b74..9493fef 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/gcc.c-torture/compile/20010327-1.c b/gcc/testsuite/gcc.c-torture/compile/20010327-1.c
index 59639e6..f20e3a3 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20010327-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20010327-1.c
@@ -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
diff --git a/gcc/testsuite/gcc.dg/20020919-1.c b/gcc/testsuite/gcc.dg/20020919-1.c
index de58b0c..15519be 100644
--- a/gcc/testsuite/gcc.dg/20020919-1.c
+++ b/gcc/testsuite/gcc.dg/20020919-1.c
@@ -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)