diff options
Diffstat (limited to 'gcc/testsuite')
34 files changed, 376 insertions, 70 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 48c47b2e072..b627135f100 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,258 @@ +2008-02-26 Paolo Carlini <pcarlini@suse.de> + + PR c++/35323 + * g++.dg/lookup/crash7.C: New. + +2008-02-26 Kaz Kojima <kkojima@gcc.gnu.org> + + * gcc.c-torture/execute/nest-align-1.c: Use the largest alignment. + +2008-02-25 Joseph Myers <joseph@codesourcery.com> + + * gcc.target/i386/pr25993.c: Skip on *-*-mingw*. + +2008-02-25 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/debug/dwarf2/aranges-fnsec-1.c: Add -w to dg-options. + +2008-02-25 Joseph Myers <joseph@codesourcery.com> + + * gcc.dg/builtins-config.h: Disable C99 runtime testing for + Windows. + +2008-02-25 Joseph Myers <joseph@codesourcery.com> + + * lib/target-supports.exp (check_profiling_available): Report -p + unavailable on *-*-mingw*. + +2008-02-25 Joseph Myers <joseph@codesourcery.com> + + * lib/target-supports.exp (check_effective_target_pthread_h): New. + * gcc.dg/pthread-init-1.c, gcc.dg/pthread-init-2.c: Use + dg-require-effective-target pthread_h. + +2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + * gcc.dg/Wswitch-enum-error.c: New. + * gcc.dg/Wswitch-error.c: New. + * gcc.dg/20011021-1.c: Use two directives to match two different + messages. + +2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 28322 + * gcc.dg/pr28322.c: New. + * gcc.dg/pr28322-2.c: New. + * lib/prune.exp: Ignore "At top level" even if there is no ':' + preceding it. + +2008-02-25 Paolo Carlini <pcarlini@suse.de> + + PR c++/35333 + * g++.dg/other/error26.C: New. + +2008-02-25 Paolo Carlini <pcarlini@suse.de> + + PR c++/35338 + * g++.dg/other/error25.C: New. + +2008-02-25 Andreas Krebbel <krebbel1@de.ibm.com> + + PR target/35258 + * gcc.dg/pr35258.c: New testcase. + +2008-02-25 Jan Beulich <jbeulich@novell.com> + + * gcc.dg/20020426-2.c: Remove bogus workaround. + * g++.old-deja/g++.other/store-expr1.C: Likewise. + * gcc.target/i386/movq-2.c: Also permit use of movzbl. + +2008-02-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + * gfortran.dg/large_real_kind_3.F90: Xfail on ppc-darwin. + +2008-02-25 Uros Bizjak <ubizjak@gmail.com> + + PR middle-end/19984 + * gcc.dg/pr19984.c: New test. + * gcc.dg/dfp/compare-special.h: Use _nan instead of nan as the + name of the variable. + +2008-02-25 Uros Bizjak <ubizjak@gmail.com> + + * gcc.dg/vect/vect-99.c: Include stdlib.h and tree-vect.h. + (main): Call check_vect and foo. Check array values after + the call to foo. + * gcc.dg/vect/vect-117.c: Call check_vect. + * gcc.dg/vect/no-vfa-pr29145.c: Ditto. + +2008-02-25 Kaz Kojima <kkojima@gcc.gnu.org> + + * gcc.dg/tree-ssa/ssa-pre-10.c: Use -fno-finite-math-only on + sh* targets. + +2008-02-24 Uros Bizjak <ubizjak@gmail.com> + + PR target/35349 + * gcc.c-torture/execute/20050604-1.x: New file. + +2008-02-24 Uros Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/pr22076.c: Update number of mov insns + for PIC targets. + * gcc.target/i386/pr34256.c: Ditto. + +2008-02-24 Diego Novillo <dnovillo@google.com> + + http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html + + PR 33738 + * g++.dg/warn/pr33738.C: New. + +2008-02-24 Richard Sandiford <rsandifo@nildram.co.uk> + + * gcc.c-torture/execute/nest-align-1.x: New file. + +2008-02-24 Danny Smith <dannysmith@users.sourceforge.net> + + PR c++/34749 + * g++.dg.ext/dllimport13.C: New test. + +2008-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + PR libfortran/24685 + * gfortran.dg/large_real_kind_form_io_2.f90: XFAIL on + powerpc*-apple-darwin*. + +2008-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + * gfortran.dg/large_real_kind_2.F90: Split testing of ERF and + ERFC into gfortran.dg/large_real_kind_3.F90. + * gfortran.dg/large_real_kind_3.F90: New test. + +2008-02-23 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR rtl-opt/33512 + * gcc.dg/and-1.c: New test. + +2008-02-23 Daniel Jacobowitz <dan@codesourcery.com> + + * gcc.c-torture/execute/20080222-1.c: New test. + +2008-02-23 Uros Bizjak <ubizjak@gmail.com> + + PR target/22076 + PR target/34256 + * gcc.target/i386/pr22076.c: New test. + * gcc.target/i386/pr34256.c: New test. + * gcc.target/i386/vecinit-5.c: New test. + * gcc.target/i386/vecinit-6.c: New test. + * gcc.target/i386/vecinit-[1-4].c: Check that no MMX register is used. + + * g++.dg/compat/struct-layout-1.h: Do not include <mmintrin.h> and + <xmmintrin.h>, define __m64 and __m128 directly. + * g++.dg/compat/struct-layout-1_generate.c: Add -mno-mmx for x86. + +2008-02-22 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR C++/34715 + * g++.dg/ext/always_inline-1.C: New test. + * g++.dg/ext/always_inline-2.C: New test. + * g++.dg/ext/always_inline-3.C: New test. + * g++.dg/ext/always_inline-4.C: New test. + +2008-02-22 Hans-Peter Nilsson <hp@axis.com> + + * gcc.target/cris/asm-b-1.c: New test. + +2008-02-22 Paolo Carlini <pcarlini@suse.de> + + PR c++/35282 + * g++.dg/template/nontype17.C: Add. + +2008-02-22 Paolo Carlini <pcarlini@suse.de> + + PR c++/35282 + Revert: + 2008-02-14 Paolo Carlini <pcarlini@suse.de> + + PR c++/28743 + * g++.dg/template/nontype17.C: New. + * g++.dg/template/nontype16.C: Add error. + +2008-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + PR c/19999 + * gcc.dg/Wfloat-equal-1.c: New. + * g++.dg/warn/Wfloat-equal-1.C: New. + +2008-02-21 Michael Matz <matz@suse.de> + + PR target/35264 + * gcc.dg/pr35264.c: New testcase. + +2008-02-21 Richard Guenther <rguenther@suse.de> + + * gfortran.dg/reassoc_1.f90: New testcase. + * gfortran.dg/reassoc_2.f90: Likewise. + * gfortran.dg/reassoc_3.f90: Likewise. + +2008-02-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/34974 + * gfortran.dg/fmt_t_7.f: New test. + + PR libfortran/35132 + * gfortran.dg/streamio_15.f90: New test. + +2008-02-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/35036 + * gfortran.dg/fmt_zero_digits.f90: Revise test. + +2008-02-20 Seongbae Park <seongbae.park@gmail.com> + + * gcc.dg/Wframe-larger-than.c: New option test. + +2008-02-20 Tobias Burnus <burnus@net-b.de> + + PR fortran/34997 + * gfortran.dg/dollar_sym_1.f90: New. + * gfortran.dg/dollar_sym_2.f90: New. + +2008-02-20 Richard Guenther <rguenther@suse.de> + + PR middle-end/35265 + * gcc.dg/builtins-66.c: New testcase. + +2008-02-20 Richard Guenther <rguenther@suse.de> + + * gcc.dg/fold-reassoc-1.c: New testcase. + * gcc.dg/tree-ssa/recip-3.c: Adjust to not compute d/d. + +2008-02-20 Richard Guenther <rguenther@suse.de> + + * gcc.dg/tree-ssa/reassoc-13.c: New testcase. + +2008-02-20 Ira Rosen <irar@il.ibm.com> + + * lib/target-supports.exp (check_effective_target_vect_unpack): + Return true for SPU. + (check_effective_target_vect_short_mult): Likewise. + * gcc.dg/vect/vect-reduc-dot-s16b.c: Expect vectorization of + the loop on targets that support vect_unpack. + +2008-02-20 Uros Bizjak <ubizjak@gmail.com> + + * g++.dg/compat/struct-layout-1_generate.c (DG_OPTIONS): New define. + (switchfiles): Use DG_OPTIONS. Explicitly name arguments in fprintf + templates to reduce number of passed arguments. + +2008-02-19 Jason Merrill <jason@redhat.com> + + PR c++/34950 + * g++.dg/template/explicit-args1.C: New. + 2008-02-19 Richard Guenther <rguenther@suse.de> PR tree-optimization/34989 diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1.h b/gcc/testsuite/g++.dg/compat/struct-layout-1.h index 69c490f7898..2b93a72c49d 100644 --- a/gcc/testsuite/g++.dg/compat/struct-layout-1.h +++ b/gcc/testsuite/g++.dg/compat/struct-layout-1.h @@ -44,12 +44,12 @@ typedef int u2df; #endif #if (defined __i386__ || defined __x86_64__) && !defined SKIP_ATTRIBUTE # ifdef __MMX__ -# include <mmintrin.h> +typedef int __m64 __attribute__ ((__vector_size__ (8))); # else typedef int __m64; # endif # ifdef __SSE__ -# include <xmmintrin.h> +typedef float __m128 __attribute__ ((__vector_size__ (16))); # else typedef int __m128; # endif diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c b/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c index ec4f28a81e5..0bb70eacc6d 100644 --- a/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c +++ b/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c @@ -1,5 +1,5 @@ /* Structure layout test generator. - Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. Contributed by Jakub Jelinek <jakub@redhat.com>. This file is part of GCC. @@ -42,6 +42,13 @@ along with GCC; see the file COPYING3. If not see #define COMPAT_PRLL "ll" #endif +#define DG_OPTIONS "\ +/* { dg-options \"%1$s-I%2$s\" } */\n\ +/* { dg-options \"%1$s-I%2$s -mno-mmx\" { target i?86-*-* x86_64-*-* } } */\n\ +/* { dg-options \"%1$s-I%2$s -fno-common\" { target hppa*-*-hpux* } } */\n\ +/* { dg-options \"%1$s-I%2$s -mno-base-addresses\" { target mmix-*-* } } */\n\ +\n" + typedef unsigned int hashval_t; enum TYPE @@ -521,20 +528,17 @@ switchfiles (int fields) fputs ("failed to create test files\n", stderr); exit (1); } - fprintf (outfile, "\ -/* { dg-options \"-I%s\" } */\n\ -/* { dg-options \"-I%s -fno-common\" { target hppa*-*-hpux* } } */\n\ -/* { dg-options \"-I%s -mno-base-addresses\" { target mmix-*-* } } */\n\ + fprintf (outfile, DG_OPTIONS "\ #include \"struct-layout-1.h\"\n\ \n\ #define TX(n, type, attrs, fields, ops) extern void test##n (void);\n\ -#include \"t%03d_test.h\"\n\ +#include \"t%3$03d_test.h\"\n\ #undef TX\n\ \n\ int main (void)\n\ {\n\ #define TX(n, type, attrs, fields, ops) test##n ();\n\ -#include \"t%03d_test.h\"\n\ +#include \"t%3$03d_test.h\"\n\ #undef TX\n\ if (fails)\n\ {\n\ @@ -542,33 +546,27 @@ int main (void)\n\ abort ();\n\ }\n\ exit (0);\n\ -}\n", srcdir, srcdir, srcdir, filecnt, filecnt); +}\n", "", srcdir, filecnt); fclose (outfile); sprintf (destptr, "t%03d_x.C", filecnt); outfile = fopen (destbuf, "w"); if (outfile == NULL) goto fail; - fprintf (outfile, "\ -/* { dg-options \"-w -I%s\" } */\n\ -/* { dg-options \"-w -I%s -fno-common\" { target hppa*-*-hpux* } } */\n\ -/* { dg-options \"-w -I%s -mno-base-addresses\" { target mmix-*-* } } */\n\ + fprintf (outfile, DG_OPTIONS "\ #include \"struct-layout-1_x1.h\"\n\ -#include \"t%03d_test.h\"\n\ +#include \"t%3$03d_test.h\"\n\ #include \"struct-layout-1_x2.h\"\n\ -#include \"t%03d_test.h\"\n", srcdir, srcdir, srcdir, filecnt, filecnt); +#include \"t%3$03d_test.h\"\n", "-w ", srcdir, filecnt); fclose (outfile); sprintf (destptr, "t%03d_y.C", filecnt); outfile = fopen (destbuf, "w"); if (outfile == NULL) goto fail; - fprintf (outfile, "\ -/* { dg-options \"-w -I%s\" } */\n\ -/* { dg-options \"-w -I%s -fno-common\" { target hppa*-*-hpux* } } */\n\ -/* { dg-options \"-w -I%s -mno-base-addresses\" { target mmix-*-* } } */\n\ + fprintf (outfile, DG_OPTIONS "\ #include \"struct-layout-1_y1.h\"\n\ -#include \"t%03d_test.h\"\n\ +#include \"t%3$03d_test.h\"\n\ #include \"struct-layout-1_y2.h\"\n\ -#include \"t%03d_test.h\"\n", srcdir, srcdir, srcdir, filecnt, filecnt); +#include \"t%3$03d_test.h\"\n", "-w ", srcdir, filecnt); fclose (outfile); sprintf (destptr, "t%03d_test.h", filecnt); outfile = fopen (destbuf, "w"); diff --git a/gcc/testsuite/g++.dg/lookup/strong-using-1.C b/gcc/testsuite/g++.dg/lookup/strong-using-1.C index a16fd6a50b9..739dc936e40 100644 --- a/gcc/testsuite/g++.dg/lookup/strong-using-1.C +++ b/gcc/testsuite/g++.dg/lookup/strong-using-1.C @@ -3,10 +3,9 @@ // { dg-do compile } namespace fool { - namespace foo { + inline namespace foo { template <class T> void swap(T, T); } - using namespace foo __attribute__((strong)); template <class T> void swap(T); } diff --git a/gcc/testsuite/g++.dg/lookup/strong-using-2.C b/gcc/testsuite/g++.dg/lookup/strong-using-2.C index 21e47cba014..5c4b425fa8a 100644 --- a/gcc/testsuite/g++.dg/lookup/strong-using-2.C +++ b/gcc/testsuite/g++.dg/lookup/strong-using-2.C @@ -3,16 +3,14 @@ // { dg-do compile } namespace foo { - namespace foo_impl { + inline namespace foo_impl { class T; // { dg-error "T" "" } } - using namespace foo_impl __attribute__((strong)); } namespace bar { - namespace bar_impl { + inline namespace bar_impl { class T; // { dg-error "T" "" } } - using namespace bar_impl __attribute__((strong)); using namespace foo; } namespace baz { diff --git a/gcc/testsuite/g++.dg/lookup/strong-using-3.C b/gcc/testsuite/g++.dg/lookup/strong-using-3.C index 9b4d3c3ffea..17c50329df0 100644 --- a/gcc/testsuite/g++.dg/lookup/strong-using-3.C +++ b/gcc/testsuite/g++.dg/lookup/strong-using-3.C @@ -3,10 +3,9 @@ // { dg-do compile } namespace bar { - namespace foo { + inline namespace foo { template <class T> void f(T, T); } - using namespace foo __attribute__((strong)); template <class T> void f(T); } diff --git a/gcc/testsuite/g++.dg/template/nontype16.C b/gcc/testsuite/g++.dg/template/nontype16.C index 4b9f7602876..36d1e9564a0 100644 --- a/gcc/testsuite/g++.dg/template/nontype16.C +++ b/gcc/testsuite/g++.dg/template/nontype16.C @@ -5,5 +5,5 @@ template<int> struct A template<typename> void foo(); }; -template<> template<struct T> void A<0>::foo() {} // { dg-error "not a valid type|match" } +template<> template<struct T> void A<0>::foo() {} // { dg-error "not a valid type" } diff --git a/gcc/testsuite/g++.dg/template/nontype17.C b/gcc/testsuite/g++.dg/template/nontype17.C index c8f3404dea7..f3a4480c9e3 100644 --- a/gcc/testsuite/g++.dg/template/nontype17.C +++ b/gcc/testsuite/g++.dg/template/nontype17.C @@ -1,8 +1,8 @@ -// PR c++/28743 +// PR c++/35282 template<int> struct A { - template<typename> void foo(); + template<int> void foo(); }; -template<int> template<typename> void A<0>::foo() {} // { dg-error "match" } +template<> template<int> void A<0>::foo() {} diff --git a/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C b/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C index 5eb0d386431..72d30eba26e 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C +++ b/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C @@ -2,7 +2,6 @@ // { dg-require-effective-target ilp32 } // { dg-require-effective-target fpic } // { dg-options "-mtune=i686 -O2 -fpic" } -// { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))|\[Bb\]ad fixup at .DATA.:" "PIC unsupported" { xfail *-*-netware* } 0 } class G {}; struct N { diff --git a/gcc/testsuite/gcc.c-torture/execute/nest-align-1.c b/gcc/testsuite/gcc.c-torture/execute/nest-align-1.c index 6099a5001c9..548c8878dab 100644 --- a/gcc/testsuite/gcc.c-torture/execute/nest-align-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/nest-align-1.c @@ -4,7 +4,7 @@ #include <stddef.h> -typedef int aligned __attribute__((aligned(16))); +typedef int aligned __attribute__((aligned)); extern void abort (void); void diff --git a/gcc/testsuite/gcc.dg/20011021-1.c b/gcc/testsuite/gcc.dg/20011021-1.c index 821db47c2ed..dc998c8af61 100644 --- a/gcc/testsuite/gcc.dg/20011021-1.c +++ b/gcc/testsuite/gcc.dg/20011021-1.c @@ -27,7 +27,8 @@ struct multilevel char *f; }; -struct t T0 = { 1 }; /* { dg-warning "(missing|near) init" } */ +struct t T0 = { 1 }; /* { dg-warning "missing init" } */ +/* { dg-warning "near init" "near init" { target *-*-* } 30 } */ struct t T1 = { .a = 1 }; /* { dg-bogus "(missing|near) init" } */ union u U0 = { 1 }; /* { dg-warning "initialization of union" } */ @@ -36,8 +37,9 @@ union u U1 = { .i = 1 }; /* { dg-bogus "initialization of union" } */ struct multilevel M = { 12, - { .b = 3 }, /* { dg-bogus "(missing|near) init" } */ + { .b = 3 }, /* { dg-bogus "missing init" } */ { 4 }, /* { dg-warning "initialization of union" } */ { .n = 9 }, /* { dg-bogus "initialization of union" } */ /* "string here" */ -}; /* { dg-warning "(missing|near) init" } */ +}; /* { dg-warning "missing init" } */ +/* { dg-warning "near init" "near init" { target *-*-* } 44 } */ diff --git a/gcc/testsuite/gcc.dg/20020426-2.c b/gcc/testsuite/gcc.dg/20020426-2.c index 5ddb3487c19..3a892ed0a68 100644 --- a/gcc/testsuite/gcc.dg/20020426-2.c +++ b/gcc/testsuite/gcc.dg/20020426-2.c @@ -3,7 +3,6 @@ /* { dg-do run } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target { { i?86-*-* x86_64-*-* } && { ilp32 && fpic } } } } */ -/* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.dg/builtins-config.h b/gcc/testsuite/gcc.dg/builtins-config.h index 060db4ffc18..a6d280ac509 100644 --- a/gcc/testsuite/gcc.dg/builtins-config.h +++ b/gcc/testsuite/gcc.dg/builtins-config.h @@ -19,6 +19,8 @@ /* NetWare doesn't have the entire C99 runtime. */ #elif defined(__vxworks) /* VxWorks doesn't have a full C99 time. (cabs is missing, for example.) */ +#elif defined(_WIN32) && !defined(__CYGWIN__) +/* Windows doesn't have the entire C99 runtime. */ #elif (defined(__APPLE__) && defined(__ppc__) \ && ! defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)) /* MacOS versions before 10.3 don't have many C99 functions. diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/aranges-fnsec-1.c b/gcc/testsuite/gcc.dg/debug/dwarf2/aranges-fnsec-1.c index c6aada4611c..8bd34b2fe29 100644 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/aranges-fnsec-1.c +++ b/gcc/testsuite/gcc.dg/debug/dwarf2/aranges-fnsec-1.c @@ -2,7 +2,7 @@ section if nothing went in there. */ /* Origin: Joseph Myers <joseph@codesourcery.com> */ /* { dg-do compile } */ -/* { dg-options "-gdwarf-2 -ffunction-sections" } */ +/* { dg-options "-gdwarf-2 -ffunction-sections -w" } */ /* { dg-final { scan-assembler-not "\\.Letext0-\\.Ltext0" } } */ int diff --git a/gcc/testsuite/gcc.dg/dfp/compare-special.h b/gcc/testsuite/gcc.dg/dfp/compare-special.h index 1bd77e52156..c5bef234424 100644 --- a/gcc/testsuite/gcc.dg/dfp/compare-special.h +++ b/gcc/testsuite/gcc.dg/dfp/compare-special.h @@ -47,13 +47,13 @@ DTYPE zero = PASTE(0.0, SUFFIX); DTYPE one = PASTE(1.0, SUFFIX); DTYPE two = PASTE(2.0, SUFFIX); -volatile DTYPE x, y, z, nan, inf, m_inf; +volatile DTYPE x, y, z, _nan, inf, m_inf; void test_compares (void) { - nan = PASTE(__builtin_nan, SUFFIX2) (""); - inf = PASTE(__builtin_inf, SUFFIX2) (); + _nan = PASTE(__builtin_nan, SUFFIX2) (""); + inf = PASTE(__builtin_inf, SUFFIX2) (); m_inf = - PASTE(__builtin_inf, SUFFIX2) (); x = PASTE(__builtin_nan, SUFFIX2) (""); @@ -65,14 +65,14 @@ test_compares (void) if (x <= two) FAILURE ("<=", "NaN") if (x <= zero) FAILURE ("<=", "NaN") if (x <= m_one) FAILURE ("<=", "NaN") - if (x <= nan) FAILURE ("<=", "NaN") + if (x <= _nan) FAILURE ("<=", "NaN") if (x <= inf) FAILURE ("<=", "NaN") if (x <= m_inf) FAILURE ("<=", "NaN") if (two <= x) FAILURE ("<=", "NaN") if (zero <= x) FAILURE ("<=", "NaN") if (m_one <= x) FAILURE ("<=", "NaN") - if (nan <= x) FAILURE ("<=", "NaN") + if (_nan <= x) FAILURE ("<=", "NaN") if (inf <= x) FAILURE ("<=", "NaN") if (m_inf <= x) FAILURE ("<=", "NaN") @@ -102,14 +102,14 @@ test_compares (void) if (x < two) FAILURE ("<", "NaN") if (x < zero) FAILURE ("<", "NaN") if (x < m_one) FAILURE ("<", "NaN") - if (x < nan) FAILURE ("<", "NaN") + if (x < _nan) FAILURE ("<", "NaN") if (x < inf) FAILURE ("<", "NaN") if (x < m_inf) FAILURE ("<", "NaN") if (two < x) FAILURE ("<", "NaN") if (zero < x) FAILURE ("<", "NaN") if (m_one < x) FAILURE ("<", "NaN") - if (nan < x) FAILURE ("<", "NaN") + if (_nan < x) FAILURE ("<", "NaN") if (inf < x) FAILURE ("<", "NaN") if (m_inf < x) FAILURE ("<", "NaN") @@ -139,14 +139,14 @@ test_compares (void) if (x >= two) FAILURE (">=", "NaN") if (x >= zero) FAILURE (">=", "NaN") if (x >= m_one) FAILURE (">=", "NaN") - if (x >= nan) FAILURE (">=", "NaN") + if (x >= _nan) FAILURE (">=", "NaN") if (x >= inf) FAILURE (">=", "NaN") if (x >= m_inf) FAILURE (">=", "NaN") if (two >= x) FAILURE (">=", "NaN") if (zero >= x) FAILURE (">=", "NaN") if (m_one >= x) FAILURE (">=", "NaN") - if (nan >= x) FAILURE (">=", "NaN") + if (_nan >= x) FAILURE (">=", "NaN") if (inf >= x) FAILURE (">=", "NaN") if (m_inf >= x) FAILURE (">=", "NaN") @@ -176,14 +176,14 @@ test_compares (void) if (x > two) FAILURE (">", "NaN") if (x > zero) FAILURE (">", "NaN") if (x > m_one) FAILURE (">", "NaN") - if (x > nan) FAILURE (">", "NaN") + if (x > _nan) FAILURE (">", "NaN") if (x > inf) FAILURE (">", "NaN") if (x > m_inf) FAILURE (">", "NaN") if (two > x) FAILURE (">", "NaN") if (zero > x) FAILURE (">", "NaN") if (m_one > x) FAILURE (">", "NaN") - if (nan > x) FAILURE (">", "NaN") + if (_nan > x) FAILURE (">", "NaN") if (inf > x) FAILURE (">", "NaN") if (m_inf > x) FAILURE (">", "NaN") @@ -213,14 +213,14 @@ test_compares (void) if (x == two) FAILURE ("==", "NaN") if (x == zero) FAILURE ("==", "NaN") if (x == m_one) FAILURE ("==", "NaN") - if (x == nan) FAILURE ("==", "NaN") + if (x == _nan) FAILURE ("==", "NaN") if (x == inf) FAILURE ("==", "NaN") if (x == m_inf) FAILURE ("==", "NaN") if (two == x) FAILURE ("==", "NaN") if (zero == x) FAILURE ("==", "NaN") if (m_one == x) FAILURE ("==", "NaN") - if (nan == x) FAILURE ("==", "NaN") + if (_nan == x) FAILURE ("==", "NaN") if (inf == x) FAILURE ("==", "NaN") if (m_inf == x) FAILURE ("==", "NaN") @@ -250,14 +250,14 @@ test_compares (void) if (!(x != two)) FAILURE ("!=", "NaN") if (!(x != zero)) FAILURE ("!=", "NaN") if (!(x != m_one)) FAILURE ("!=", "NaN") - if (!(x != nan)) FAILURE ("!=", "NaN") + if (!(x != _nan)) FAILURE ("!=", "NaN") if (!(x != inf)) FAILURE ("!=", "NaN") if (!(x != m_inf)) FAILURE ("!=", "NaN") if (!(two != x)) FAILURE ("!=", "NaN") if (!(zero != x)) FAILURE ("!=", "NaN") if (!(m_one != x)) FAILURE ("!=", "NaN") - if (!(nan != x)) FAILURE ("!=", "NaN") + if (!(_nan != x)) FAILURE ("!=", "NaN") if (!(inf != x)) FAILURE ("!=", "NaN") if (!(m_inf != x)) FAILURE ("!=", "NaN") diff --git a/gcc/testsuite/gcc.dg/pthread-init-1.c b/gcc/testsuite/gcc.dg/pthread-init-1.c index 9cf4fa3d35b..2f78844fe1f 100644 --- a/gcc/testsuite/gcc.dg/pthread-init-1.c +++ b/gcc/testsuite/gcc.dg/pthread-init-1.c @@ -5,6 +5,7 @@ */ /* { dg-do compile } */ +/* { dg-require-effective-target pthread_h } */ /* { dg-options "-Wextra -Wall" } */ #include "pthread-init-common.h" diff --git a/gcc/testsuite/gcc.dg/pthread-init-2.c b/gcc/testsuite/gcc.dg/pthread-init-2.c index 6fc427fe2eb..2e1b93aecbf 100644 --- a/gcc/testsuite/gcc.dg/pthread-init-2.c +++ b/gcc/testsuite/gcc.dg/pthread-init-2.c @@ -5,6 +5,7 @@ */ /* { dg-do compile } */ +/* { dg-require-effective-target pthread_h } */ /* { dg-options "-Wextra -Wall -ansi" } */ /* { dg-options "-Wextra -Wall -ansi -D_POSIX_C_SOURCE=199506L" { target { *-*-hpux* *-*-solaris2.5.1 } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/recip-3.c b/gcc/testsuite/gcc.dg/tree-ssa/recip-3.c index 45c8db148ac..04b40f32a73 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/recip-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/recip-3.c @@ -9,7 +9,7 @@ float h () int i; double E, W, P, d; - W = 1.; + W = 1.1; d = 2.*e; E = 1. - d; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-10.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-10.c index 127caa6cd6b..41af344989a 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-10.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-10.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre-stats" } */ +/* { dg-options "-O2 -fno-tree-dominator-opts -fdump-tree-fre-stats -fno-finite-math-only" { target sh*-*-* } } */ double cos (double); void link_error(); void f(double a) diff --git a/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c b/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c index 3a4b12636ee..283e74f7cab 100644 --- a/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c +++ b/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c @@ -31,6 +31,8 @@ int main(void) int a[1002]; int b[1002]; + check_vect (); + for (i = 0; i < 1002; ++i) { a[i] = b[i] = i; } diff --git a/gcc/testsuite/gcc.dg/vect/vect-117.c b/gcc/testsuite/gcc.dg/vect/vect-117.c index bf1e52c261c..920e29314c0 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-117.c +++ b/gcc/testsuite/gcc.dg/vect/vect-117.c @@ -42,6 +42,8 @@ int main (void) { int i,j; + check_vect (); + foo = 0; main1 (a, N); diff --git a/gcc/testsuite/gcc.dg/vect/vect-99.c b/gcc/testsuite/gcc.dg/vect/vect-99.c index aedbae43336..d29023c733e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-99.c +++ b/gcc/testsuite/gcc.dg/vect/vect-99.c @@ -1,5 +1,8 @@ /* { dg-require-effective-target vect_int } */ +#include <stdlib.h> +#include "tree-vect.h" + int ca[100]; __attribute__ ((noinline)) @@ -13,6 +16,16 @@ void foo (int n) int main (void) { + int i; + + check_vect (); + + foo(100); + + for (i = 0; i < 100; ++i) { + if (ca[i] != 2) + abort(); + } return 0; } diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16b.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16b.c index 8c636a5f703..587800c032a 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16b.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16b.c @@ -48,9 +48,9 @@ main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_short_mult && vect_widen_sum_hi_to_si } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_short_mult && { vect_widen_sum_hi_to_si || vect_unpack } } } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vect_short_mult } } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vect_widen_sum_hi_to_si } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { { ! vect_widen_sum_hi_to_si } && { ! vect_unpack } } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.target/i386/movq-2.c b/gcc/testsuite/gcc.target/i386/movq-2.c index 98979646f37..4a1accb583a 100644 --- a/gcc/testsuite/gcc.target/i386/movq-2.c +++ b/gcc/testsuite/gcc.target/i386/movq-2.c @@ -23,4 +23,4 @@ foo (struct S *x) /* { dg-final { scan-assembler-not "movl\[ \t\]*123" } } */ /* { dg-final { scan-assembler "movzbl\[ \t\]*123" } } */ -/* { dg-final { scan-assembler "movl\[ \t\]*120" } } */ +/* { dg-final { scan-assembler "mov(zb)?l\[ \t\]*120" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr25993.c b/gcc/testsuite/gcc.target/i386/pr25993.c index ebdc903f87d..38d0e0f3585 100644 --- a/gcc/testsuite/gcc.target/i386/pr25993.c +++ b/gcc/testsuite/gcc.target/i386/pr25993.c @@ -1,5 +1,5 @@ /* { dg-do assemble } */ -/* { dg-skip-if "" { "*-*-darwin*" } { "*" } { "" } } */ +/* { dg-skip-if "" { "*-*-darwin*" "*-*-mingw*" } { "*" } { "" } } */ /* { dg-options "-std=c99 -x assembler-with-cpp" } */ #ifndef __ASSEMBLER__ diff --git a/gcc/testsuite/gcc.target/i386/vecinit-1.c b/gcc/testsuite/gcc.target/i386/vecinit-1.c index 86cad897669..8553eb05e4c 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-1.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-1.c @@ -9,3 +9,4 @@ vector float f3(void) { return (vector float){ 0.0, 0.0, a, 0.0}; } vector float f4(void) { return (vector float){ 0.0, 0.0, 0.0, a}; } /* { dg-final { scan-assembler-not "movaps" } } */ /* { dg-final { scan-assembler-not "xor" } } */ +/* { dg-final { scan-assembler-not "%mm" } } */ diff --git a/gcc/testsuite/gcc.target/i386/vecinit-2.c b/gcc/testsuite/gcc.target/i386/vecinit-2.c index 41e502711a7..d6c715fd4f9 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-2.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-2.c @@ -9,3 +9,4 @@ vector int f3(void) { return (vector int){ 0, 0, a, 0}; } vector int f4(void) { return (vector int){ 0, 0, 0, a}; } /* { dg-final { scan-assembler-not "movaps" } } */ /* { dg-final { scan-assembler-not "xor" } } */ +/* { dg-final { scan-assembler-not "%mm" } } */ diff --git a/gcc/testsuite/gcc.target/i386/vecinit-3.c b/gcc/testsuite/gcc.target/i386/vecinit-3.c index 4cbf52133b4..053b566fbac 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-3.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-3.c @@ -6,3 +6,4 @@ char a; vector char f(void) { return (vector char){ a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a }; } /* { dg-final { scan-assembler-not "sall" } } */ +/* { dg-final { scan-assembler-not "%mm" } } */ diff --git a/gcc/testsuite/gcc.target/i386/vecinit-4.c b/gcc/testsuite/gcc.target/i386/vecinit-4.c index 7a8c1d0f6c1..773a3160062 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-4.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-4.c @@ -5,3 +5,4 @@ short a; vector short f(void) { return (vector short){ a, a, a, a, a, a, a, a }; } /* { dg-final { scan-assembler-not "sall" } } */ +/* { dg-final { scan-assembler-not "%mm" } } */ diff --git a/gcc/testsuite/gfortran.dg/fmt_zero_digits.f90 b/gcc/testsuite/gfortran.dg/fmt_zero_digits.f90 index adb307155ec..e7342397ada 100644 --- a/gcc/testsuite/gfortran.dg/fmt_zero_digits.f90 +++ b/gcc/testsuite/gfortran.dg/fmt_zero_digits.f90 @@ -1,12 +1,30 @@ ! { dg-do run } -! Verify that when decimal precision is zero, no error. +! Verify that when decimal precision is zero, error error given except with 1P. ! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> +! Modified for fix to PR35036 program test + implicit none character(20) :: astr - 50 FORMAT (d20.0) + integer :: istat + 50 FORMAT (1PD20.0) astr = "" write(astr,50) -8.0D0 - if (astr.ne." -0.D+01") call abort() + if (astr.ne." -8.D+00") call abort write(astr,50) 8.0D0 - if (astr.ne." 0.D+01") call abort() + if (astr.ne." 8.D+00") call abort + write(astr, '(E15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(D15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(G15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(2PE15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(0PE15.0)', iostat=istat) 1e5 + if (istat /= 5006) call abort + write(astr, '(1PE15.0)', iostat=istat) 1e5 + if (istat /= 0) call abort + write(astr, '(F15.0)', iostat=istat) 1e5 + if (astr.ne." 100000.") call abort + if (istat /= 0) call abort end program test diff --git a/gcc/testsuite/gfortran.dg/large_real_kind_2.F90 b/gcc/testsuite/gfortran.dg/large_real_kind_2.F90 index 7719cafed4d..2e3891b2ffd 100644 --- a/gcc/testsuite/gfortran.dg/large_real_kind_2.F90 +++ b/gcc/testsuite/gfortran.dg/large_real_kind_2.F90 @@ -43,8 +43,6 @@ TEST_FUNCTION(log,0.00178914) TEST_FUNCTION(log10,123789.123) TEST_FUNCTION(sqrt,789.1356) - TEST_FUNCTION(erf,1.45123231) - TEST_FUNCTION(erfc,-0.123789) CTEST_FUNCTION(cos,(17.456,-1.123)) CTEST_FUNCTION(sin,(17.456,-7.6)) diff --git a/gcc/testsuite/gfortran.dg/large_real_kind_form_io_2.f90 b/gcc/testsuite/gfortran.dg/large_real_kind_form_io_2.f90 index b5751cece75..a72c7183785 100644 --- a/gcc/testsuite/gfortran.dg/large_real_kind_form_io_2.f90 +++ b/gcc/testsuite/gfortran.dg/large_real_kind_form_io_2.f90 @@ -1,4 +1,4 @@ -! { dg-do run { xfail powerpc*-*-linux* } } +! { dg-do run { xfail powerpc*-apple-darwin* powerpc*-*-linux* } } ! Test XFAILed on these platforms because the system's printf() lacks ! proper support for denormalized long doubles. See PR24685 ! { dg-require-effective-target fortran_large_real } diff --git a/gcc/testsuite/lib/prune.exp b/gcc/testsuite/lib/prune.exp index 2e901a08f4d..d1a9f95bd46 100644 --- a/gcc/testsuite/lib/prune.exp +++ b/gcc/testsuite/lib/prune.exp @@ -21,7 +21,7 @@ proc prune_gcc_output { text } { #send_user "Before:$text\n" regsub -all "(^|\n)(\[^\n\]*: )?In ((static member )?function|member|method|(copy )?constructor|destructor|instantiation|program|subroutine|block-data) \[^\n\]*" $text "" text - regsub -all "(^|\n)\[^\n\]*: At (top level|global scope):\[^\n\]*" $text "" text + regsub -all "(^|\n)\[^\n\]*(: )?At (top level|global scope):\[^\n\]*" $text "" text regsub -all "(^|\n)\[^\n\]*: instantiated from \[^\n\]*" $text "" text regsub -all "(^|\n) inlined from \[^\n\]*" $text "" text regsub -all "(^|\n)collect2: ld returned \[^\n\]*" $text "" text diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 3f8cfaad753..20bcdeaee88 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -410,6 +410,11 @@ proc check_profiling_available { test_what } { return 0 } + # MinGW does not support -p. + if { [istarget *-*-mingw*] && [lindex $test_what 1] == "-p" } { + return 0 + } + # At present, there is no profiling support on NetWare. if { [istarget *-*-netware*] } { return 0 @@ -1667,7 +1672,8 @@ proc check_effective_target_vect_unpack { } { set et_vect_unpack_saved 0 if { ([istarget powerpc*-*-*] && ![istarget powerpc-*paired*]) || [istarget i?86-*-*] - || [istarget x86_64-*-*] } { + || [istarget x86_64-*-*] + || [istarget spu-*-*] } { set et_vect_unpack_saved 1 } } @@ -1876,6 +1882,7 @@ proc check_effective_target_vect_short_mult { } { } else { set et_vect_short_mult_saved 0 if { [istarget ia64-*-*] + || [istarget spu-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*] } { set et_vect_short_mult_saved 1 @@ -2212,6 +2219,14 @@ proc check_effective_target_wchar { } { }] } +# Return 1 if the target has <pthread.h>. + +proc check_effective_target_pthread_h { } { + return [check_no_compiler_messages pthread_h assembly { + #include <pthread.h> + }] +} + # Add to FLAGS all the target-specific flags needed to access the c99 runtime. proc add_options_for_c99_runtime { flags } { |