From b1c982db4bc9c3c87e906b0edaaa6b109bc3201c Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Wed, 22 Feb 2012 20:38:30 +0100 Subject: [PATCH] devirt2.C: Add rule for *-*-mingw* target. * g++.dg/opt/devirt2.C: Add rule for *-*-mingw* target. * g++.dg/opt/pr48549.C (long): Replace by long by __PTRDIFF_TYPE__ derived pdiff_t type. * g++.dg/torture/pr49720.C: Likewise From-SVN: r184490 --- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/g++.dg/opt/devirt2.C | 4 +++- gcc/testsuite/g++.dg/opt/pr48549.C | 5 ++++- gcc/testsuite/g++.dg/torture/pr49720.C | 4 +++- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9134d73d439..4fd4341b5d9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2012-02-22 Kai Tietz + + * g++.dg/opt/devirt2.C: Add rule for *-*-mingw* target. + * g++.dg/opt/pr48549.C (long): Replace by long by __PTRDIFF_TYPE__ + derived pdiff_t type. + * g++.dg/torture/pr49720.C: Likewise + 2012-02-22 Uros Bizjak PR target/52330 diff --git a/gcc/testsuite/g++.dg/opt/devirt2.C b/gcc/testsuite/g++.dg/opt/devirt2.C index 092fd686a67..cf4842bd4df 100644 --- a/gcc/testsuite/g++.dg/opt/devirt2.C +++ b/gcc/testsuite/g++.dg/opt/devirt2.C @@ -5,7 +5,9 @@ // { dg-additional-options "-mshort-calls" {target epiphany-*-*} } // Using -mno-abicalls avoids a R_MIPS_JALR .reloc. // { dg-additional-options "-mno-abicalls" { target mips*-*-* } } -// { dg-final { scan-assembler-times "xyzzy" 2 { target { ! { alpha*-*-* hppa*-*-* ia64*-*-hpux* sparc*-*-* } } } } } +// { dg-final { scan-assembler-times "xyzzy" 2 { target { ! { alpha*-*-* hppa*-*-* ia64*-*-hpux* sparc*-*-* *-*-mingw* } } } } } +// For *-*-mingw* there is additionally one .def match +// { dg-final { scan-assembler-times "xyzzy" 3 { target *-*-mingw* } } } // The IA64 and HPPA compilers generate external declarations in addition // to the call so those scans need to be more specific. // { dg-final { scan-assembler-times "br\[^\n\]*xyzzy" 2 { target ia64*-*-hpux* } } } diff --git a/gcc/testsuite/g++.dg/opt/pr48549.C b/gcc/testsuite/g++.dg/opt/pr48549.C index 30799ee93f2..93a38e409b4 100644 --- a/gcc/testsuite/g++.dg/opt/pr48549.C +++ b/gcc/testsuite/g++.dg/opt/pr48549.C @@ -2,10 +2,13 @@ // { dg-do compile } // { dg-options "-fcompare-debug -O2" } +__extension__ typedef __PTRDIFF_TYPE__ pdiff_t; + void foo (void *from, void *to) { - long offset = reinterpret_cast (to) - reinterpret_cast (from); + pdiff_t offset = reinterpret_cast (to) + - reinterpret_cast (from); if (offset != static_cast (offset)) *(int *) 0xC0DE = 0; reinterpret_cast (from)[1] = offset; diff --git a/gcc/testsuite/g++.dg/torture/pr49720.C b/gcc/testsuite/g++.dg/torture/pr49720.C index c5da7ba670f..d2c69087d28 100644 --- a/gcc/testsuite/g++.dg/torture/pr49720.C +++ b/gcc/testsuite/g++.dg/torture/pr49720.C @@ -1,8 +1,10 @@ /* { dg-do compile } */ +__extension__ typedef __PTRDIFF_TYPE__ pdiff_t; + extern char t_start[], t_end[], t_size[]; bool foo (void) { - long size = reinterpret_cast(t_size); + pdiff_t size = reinterpret_cast(t_size); return (size == t_end - t_start); }