summaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog255
-rw-r--r--gcc/testsuite/g++.dg/compat/struct-layout-1.h4
-rw-r--r--gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c38
-rw-r--r--gcc/testsuite/g++.dg/lookup/strong-using-1.C3
-rw-r--r--gcc/testsuite/g++.dg/lookup/strong-using-2.C6
-rw-r--r--gcc/testsuite/g++.dg/lookup/strong-using-3.C3
-rw-r--r--gcc/testsuite/g++.dg/template/nontype16.C2
-rw-r--r--gcc/testsuite/g++.dg/template/nontype17.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/store-expr1.C1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/nest-align-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/20011021-1.c8
-rw-r--r--gcc/testsuite/gcc.dg/20020426-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/builtins-config.h2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/aranges-fnsec-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/dfp/compare-special.h30
-rw-r--r--gcc/testsuite/gcc.dg/pthread-init-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/pthread-init-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/recip-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-10.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-117.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-99.c13
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16b.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/movq-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr25993.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-4.c1
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_zero_digits.f9026
-rw-r--r--gcc/testsuite/gfortran.dg/large_real_kind_2.F902
-rw-r--r--gcc/testsuite/gfortran.dg/large_real_kind_form_io_2.f902
-rw-r--r--gcc/testsuite/lib/prune.exp2
-rw-r--r--gcc/testsuite/lib/target-supports.exp17
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 } {