From 78e68a8937395f334fe12c347897950e9caba6cb Mon Sep 17 00:00:00 2001
From: Kai Tietz <kai.tietz@onevision.com>
Date: Mon, 7 Jun 2010 10:55:20 +0000
Subject: [PATCH] compound-literal-1.c: Fix for llp64.

2010-06-07  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.dg/compound-literal-1.c: Fix for llp64.
        * gcc.dg/pr32370.c: Likewise.
        * gcc.dg/pr37561.c: Likewise.
        * gcc.dg/pr41340.c: Likewise.
        * gcc.dg/pr41551.c: Likewise.

From-SVN: r160362
---
 gcc/testsuite/ChangeLog                   | 8 ++++++++
 gcc/testsuite/gcc.dg/compound-literal-1.c | 2 +-
 gcc/testsuite/gcc.dg/pr32370.c            | 8 ++++++--
 gcc/testsuite/gcc.dg/pr37561.c            | 2 +-
 gcc/testsuite/gcc.dg/pr41340.c            | 4 +++-
 gcc/testsuite/gcc.dg/pr41551.c            | 4 +++-
 6 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 345318bce139..e9f66a3f55a0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2010-06-07  Kai Tietz  <kai.tietz@onevision.com>
+
+        * gcc.dg/compound-literal-1.c: Fix for llp64.
+        * gcc.dg/pr32370.c: Likewise.
+        * gcc.dg/pr37561.c: Likewise.
+        * gcc.dg/pr41340.c: Likewise.
+        * gcc.dg/pr41551.c: Likewise.
+
 2010-05-25  Dodji Seketeli  <dodji@redhat.com>
 
 	PR c++/44188
diff --git a/gcc/testsuite/gcc.dg/compound-literal-1.c b/gcc/testsuite/gcc.dg/compound-literal-1.c
index 6c644d46ea3e..9b3b24e254eb 100644
--- a/gcc/testsuite/gcc.dg/compound-literal-1.c
+++ b/gcc/testsuite/gcc.dg/compound-literal-1.c
@@ -2,7 +2,7 @@
 
 /* PR c/43248 */
 
-int foo(__SIZE_TYPE__ i)
+__extension__ int foo(__SIZE_TYPE__ i)
 {
   i ? : (void *){}; /* { dg-error "" } */
 }
diff --git a/gcc/testsuite/gcc.dg/pr32370.c b/gcc/testsuite/gcc.dg/pr32370.c
index 80a7c545d47a..f039bdf98e7a 100644
--- a/gcc/testsuite/gcc.dg/pr32370.c
+++ b/gcc/testsuite/gcc.dg/pr32370.c
@@ -2,15 +2,19 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* ia64-*-* } } */
 /* { dg-options "" { target ia64-*-* } } */
 /* { dg-options "-ffixed-esi" { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-mabi=sysv -ffixed-esi" { target x86_64-*-mingw* } } */
 
-#if defined __i386__ || defined __x86_64__
+#if (defined __i386__ || defined __x86_64__) && ! defined _WIN64
 # define C "=S"
 # define TYPE unsigned long
-#elif defined __ia64__
+#elif defined __ia64__ || defined _WIN64
 # define C "=a"
 # define TYPE unsigned long long
 #endif
 
+#ifdef _WIN64
+__extension__
+#endif
 unsigned int
 foo (TYPE port)
 {
diff --git a/gcc/testsuite/gcc.dg/pr37561.c b/gcc/testsuite/gcc.dg/pr37561.c
index 82eca9640081..ec712a7841d9 100644
--- a/gcc/testsuite/gcc.dg/pr37561.c
+++ b/gcc/testsuite/gcc.dg/pr37561.c
@@ -1,7 +1,7 @@
 /* PR c++/37561 */
 /* { dg-do compile } */
 
-__PTRDIFF_TYPE__ p;
+__extension__ __PTRDIFF_TYPE__ p;
 char q;
 
 void
diff --git a/gcc/testsuite/gcc.dg/pr41340.c b/gcc/testsuite/gcc.dg/pr41340.c
index 72ad9296894f..b86f40bf4677 100644
--- a/gcc/testsuite/gcc.dg/pr41340.c
+++ b/gcc/testsuite/gcc.dg/pr41340.c
@@ -10,6 +10,8 @@ struct S2 { struct S1 s2; };
 struct S3 { unsigned s3; struct S2 **s4; };
 struct S5 { struct S2 *s5; };
 
+__extension__ typedef __INTPTR_TYPE__ ssize_t;
+
 extern void fn0 (void) __attribute__ ((__noreturn__));
 T fn6 (struct S3);
 void fn7 (void);
@@ -45,7 +47,7 @@ fn5 (struct S3 x, T *y)
 {
   if (!fn3 (x))
     {
-      *y = (T) (long) fn4 (x);
+      *y = (T) (ssize_t) fn4 (x);
       return 1;
     }
   return 0;
diff --git a/gcc/testsuite/gcc.dg/pr41551.c b/gcc/testsuite/gcc.dg/pr41551.c
index 25a8e717fb82..e24fbc33db41 100644
--- a/gcc/testsuite/gcc.dg/pr41551.c
+++ b/gcc/testsuite/gcc.dg/pr41551.c
@@ -3,8 +3,10 @@
 
 /* Make sure we do not ICE.  */
 
+__extension__ typedef __SIZE_TYPE__ size_t;
+
 int main(void)
 {
  int var, *p = &var;
- return (double)(unsigned long)(p);
+ return (double)(size_t)(p);
 }
-- 
GitLab