===================================================================
@@ -1,6 +1,7 @@
/* { dg-lto-do run } */
/* { dg-skip-if "x86 only" { ! { x86_64-*-* i?86-*-* } } { "*" } { "" } } */
/* { dg-skip-if "no .type" { *-*-darwin* } { "*" } { "" } } */
+/* { dg-skip-if "no @function" { *-*-mingw* *-*-cygwin* } { "*" } { "" } } */
/* Doesn't work without this dummy function with -fwhopr. */
int foo(void) { }
===================================================================
@@ -1,4 +1,4 @@
-/* { dg-xfail-if "cast to pointer of different size" { "avr-*-*" } {
"*" } { "" } } */
+/* { dg-xfail-if "cast to pointer of different size" { "avr-*-*"
x86_64-*-mingw* } { "*" } { "" } } */
typedef struct HDC__ { int unused; } *HDC;
typedef struct HFONT__ { int unused; } *HFONT;
===================================================================
@@ -1,4 +1,4 @@
-/* { dg-xfail-if "cast to pointer of different size" { "avr-*-*" } {
"*" } { "" } } */
+/* { dg-xfail-if "cast to pointer of different size" { "avr-*-*"
x86_64-*-mingw* } { "*" } { "" } } */
typedef struct HDC__ { int unused; } *HDC;
typedef struct HFONT__ { int unused; } *HFONT;
===================================================================
@@ -3,6 +3,8 @@
/* { dg-require-named-sections "" } */
/* { dg-require-effective-target ptr32plus } */
+__extension__ typedef __UINTPTR_TYPE__ uintptr_t;
+
int cpu (void *attr) {}
-const unsigned long x __attribute__((section("foo"))) = (unsigned long)&cpu;
-const unsigned long g __attribute__((section("foo"))) = 0;
+const uintptr_t x __attribute__((section("foo"))) = (uintptr_t)&cpu;
+const uintptr g __attribute__((section("foo"))) = 0;