10f6790534
The majority of the 234k c++ testsuite patch can be eliminated with REINPLACE_CMD at the post-extract phase. Now it's 1/100th the size at 2.3k. No revbump necessary; the testsuite isn't even a default option. The same treatment can be done to lang/gcc47-aux later.
50 lines
2.3 KiB
Text
50 lines
2.3 KiB
Text
--- gcc/testsuite/c-c++-common/Wconversion-real.c.orig
|
|
+++ gcc/testsuite/c-c++-common/Wconversion-real.c
|
|
@@ -5,6 +5,12 @@
|
|
/* { dg-options "-std=c99 -Wconversion" { target c } } */
|
|
/* { dg-options "-Wconversion" { target c++ } } */
|
|
/* { dg-require-effective-target large_double } */
|
|
+/* Due to i386 rounding of long doubles on FreeBSD and DragonFly, the tests
|
|
+ should be set to "xfail" for those platforms, but it's not possible to
|
|
+ set both "target" and "xfail" together. An attempt to mark it
|
|
+ UNSUPPORTED for large_long_double and not (i386 FreeBSD i386 DragonFly)
|
|
+ failed. All the supported platforms of gcc-aux have large long double
|
|
+ so we'll just assume it for these two tests and use xfail instead. */
|
|
|
|
float vfloat;
|
|
double vdouble;
|
|
@@ -24,8 +30,8 @@
|
|
vfloat = 3.1; /* { dg-warning "conversion" } */
|
|
ffloat (3.1L); /* { dg-warning "conversion" } */
|
|
vfloat = 3.1L; /* { dg-warning "conversion" } */
|
|
- fdouble (3.1L); /* { dg-warning "conversion" "" { target large_long_double } } */
|
|
- vdouble = 3.1L; /* { dg-warning "conversion" "" { target large_long_double } } */
|
|
+ fdouble (3.1L); /* { dg-warning "conversion" "" { xfail { i?86-*-freebsd* i?86-*-dragonfly* } } } */
|
|
+ vdouble = 3.1L; /* { dg-warning "conversion" "" { xfail { i?86-*-freebsd* i?86-*-dragonfly* } } } */
|
|
ffloat (vdouble); /* { dg-warning "conversion" } */
|
|
vfloat = vdouble; /* { dg-warning "conversion" } */
|
|
ffloat (vlongdouble); /* { dg-warning "conversion" } */
|
|
--- libstdc++-v3/testsuite/lib/libstdc++.exp.orig
|
|
+++ libstdc++-v3/testsuite/lib/libstdc++.exp
|
|
@@ -877,17 +877,18 @@
|
|
set f [open $src "w"]
|
|
puts $f "#include <locale>"
|
|
puts $f "#include <cstdio>"
|
|
- puts $f "using namespace std;"
|
|
+ puts $f "using namespace std;"
|
|
puts $f "int main (int argc, char** argv)"
|
|
puts $f "{"
|
|
+ puts $f " const char* mlx = *(argv + 1);"
|
|
puts $f " try"
|
|
puts $f " {"
|
|
- puts $f " locale(*(argv + 1));"
|
|
+ puts $f " locale((char*)(mlx));"
|
|
puts $f " return 0;"
|
|
puts $f " }"
|
|
puts $f " catch(...)"
|
|
puts $f " {"
|
|
- puts $f " printf(\"locale '%s' not supported\\n\", *(argv + 1));"
|
|
+ puts $f " printf(\"locale '%s' not supported\\n\", mlx);"
|
|
puts $f " return 1;"
|
|
puts $f " }"
|
|
puts $f "}"
|