diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-14 19:00:56 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-14 19:00:56 +0000 |
commit | ddda25955ee583217ccbd7ad5c33c6bb9f304649 (patch) | |
tree | ed58c0f92eec5cacc819d56d29106d38a318e9ac /gcc/testsuite | |
parent | 04fa393515487bde6dc2a0bc318398d983825365 (diff) | |
download | gcc-ddda25955ee583217ccbd7ad5c33c6bb9f304649.tar.gz |
2008-08-14 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r139100
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@139113 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
105 files changed, 735 insertions, 224 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1e035f3bf93..f7386283660 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,4 +1,407 @@ +2008-08-14 Rafael Avila de Espindola <espindola@google.com> + + * gcc.dg/visibility-14.c: New test. + * gcc.dg/visibility-15.c: New test. + * gcc.dg/visibility-16.c: New test. + * gcc.dg/visibility-17.c: New test. + * gcc.dg/visibility-18.c: New test. + * gcc.dg/visibility-19.c: New test. + +2008-08-14 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/34600 + * g++.dg/parse/crash43.C: New. + +2008-08-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR c/28152 + * gcc.dg/parser-pr28152.c: New. + * gcc.dg/parser-pr28152-2.c: New. + +2008-08-14 Dorit Nuzman <dorit@il.ibm.com> + + * gcc.dg/vect/vect-outer-4g.c: Change loop bound. + * gcc.dg/vect/vect-outer-4k.c: Likewise. + * gcc.dg/vect/vect-outer-4l.c: Likewise. + * gcc.dg/vect/vect-outer-4f.c: Likewise. + * gcc.dg/vect/vect-outer-4a.c: Vectorizable. Remove obsolete comment. + * gcc.dg/vect/vect-outer-4i.c: Likewise. + * gcc.dg/vect/vect-outer-4b.c: Likewise. + * gcc.dg/vect/vect-outer-4j.c: Likewise. + +2008-08-14 Uros Bizjak <ubizjak@gmail.com> + + PR target/37101 + * gcc.target/i386/pr37101.c: New test. + +2008-08-14 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/37103 + * gcc.c-torture/execute/20080813-1.c: New test. + +2008-08-13 H.J. Lu <hongjiu.lu@intel.com> + + * gcc.target/i386/incoming-1.c: Skip *-*-darwin*. + * gcc.target/i386/incoming-2.c: Likewise. + * gcc.target/i386/incoming-3.c: Likewise. + * gcc.target/i386/incoming-4.c: Likewise. + * gcc.target/i386/incoming-5.c: Likewise. + +2008-08-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 30551 + * gcc.dg/pr30551.c: New. + * gcc.dg/pr30551-2.c: New. + * gcc.dg/pr30551-3.c: New. + * gcc.dg/pr30551-4.c: New. + * gcc.dg/pr30551-5.c: New. + * gcc.dg/pr30551-6.c: New. + * gcc.dg/tree-ssa/reassoc-3.c: Don't compile with -pedantic-errors. + * g++.dg/warn/pr30551.C: New. + * g++.dg/warn/pr30551-2.C: New. + +2008-08-13 Richard Guenther <rguenther@suse.de> + + * gcc.dg/tree-ssa/ssa-ccp-21.c: New testcase. + * gcc.dg/tree-ssa/ssa-ccp-22.c: Likewise. + * gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise. + +2008-08-13 Samuel Tardieu <sam@rfc1149.net> + + PR ada/36777 + * gnat.dg/protected_self_ref1.adb, gnat.dg/protected_self_ref2.adb: + New. + +2008-08-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR c/15236 + * gcc.dg/pr15236.c: New. + * gcc.dg/torture/pr25183.c: Update. + +2008-08-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 35635 + * gcc.dg/pr35635.c: New. + * gcc.dg/Wconversion-integer.c: Update. + * gcc.dg/Wconversion-integer-no-sign.c: Update. + * gcc.dg/Wsign-conversion.c: Update. + * g++.dg/warn/pr35635.C: New. + * g++.dg/warn/Wconversion-integer.C: Update. + * g++.dg/warn/Wsign-conversion.C: Update. + +2008-08-13 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/15255 + * gcc.dg/tree-ssa/reassoc-14.c: New testcase. + * gcc.dg/tree-ssa/reassoc-15.c: Likewise. + * gcc.dg/tree-ssa/reassoc-16.c: Likewise. + * gcc.dg/torture/reassoc-1.c: Likewise. + * gcc.dg/tree-ssa/recip-2.c: Adjust. + * gcc.dg/tree-ssa/recip-6.c: Likewise. + * gcc.dg/tree-ssa/recip-7.c: Likewise. + * gfortran.dg/reassoc_4.f: Likewise. + +2008-08-12 Janis Johnson <janis187@us.ibm.com> + + * gcc.target/i386/pr32000-2.c: Use dg-skip-if for target expression. + * gcc.target/i386/stackalign/return-3.c: Ditto. + * gcc.target/sparc/ultrasp3.c: Ditto. + * lib/target-supports-dg.exp (dg-require-effective-target): Error + if argument is not a single effective-target keyword. + + PR testsuite/36087 + * gcc.dg/var-expand3.c: Fix name of dump file. + +2008-08-12 Paolo Carlini <paolo.carlini@oracle.com> + + * g++.old-deja/g++.other/decl5.C: Expand new expected errors. + +2008-08-12 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/37087 + * g++.dg/template/crash80.C: New. + * g++.old-deja/g++.other/decl5.C: Adjust. + +2008-08-12 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/37014 + * gcc.c-torture/compile/20080812-1.c: New test. + + PR tree-optimization/37084 + * g++.dg/tree-ssa/pr37084.C: New test. + +2008-08-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * gcc.c-torture/execute/20031003-1.c (main): Update test to + accommodate SPU single-precision rounding mode. + * gcc.c-torture/execute/conversion.c (test_float_to_integer, + test_float_to_longlong_integer): Likewise. + * gcc.c-torture/execute/ieee/rbug.c (main): Likewise. + * gcc.dg/hex-round-1.c: Skip test on SPU. + * gcc.dg/hex-round-2.c: Likewise. + +2008-08-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * gcc.c-torture/execute/ieee/inf-2.c (testf): Skip on the SPU. + +2008-08-12 Jakub Jelinek <jakub@redhat.com> + + PR c++/36688 + * g++.dg/init/const6.C: New test. + +2008-08-12 Ira Rosen <irar@il.ibm.com> + + * gcc.dg/vect/vect-multitypes-12.c: New. + * gcc.dg/vect/vect-multitypes-13.c, gcc.dg/vect/vect-multitypes-14.c, + gcc.dg/vect/vect-multitypes-15.c : Likewise. + * gcc.dg/vect/vect-reduc-dot-u8a.c: Avoid vectorization of the + init loop. + * gcc.dg/vect/vect-72.c, gcc.dg/vect/vect-strided-store-a-u8-i2.c: + Likewise. + * gcc.dg/vect/vect-reduc-dot-u8b.c: Avoid vectorization of the init + loop. + Should be vectorizable on targets that support vector unpack. + * gcc.dg/vect/vect-widen-mult-u8.c, + gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c, + gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise. + * gcc.dg/vect/vect-35.c: Should be vectorizable on targets that + support vector pack. Avoid vectorization of the init loop. + * gcc.dg/vect/vect-reduc-pattern-1b.c: Should be vectorizable on + targets that support vector unpack. + * gcc.dg/vect/vect-reduc-pattern-2b.c, + gcc.dg/vect/vect-reduc-dot-s8c.c, gcc.dg/vect/vect-112.c: Likewise. + +2008-08-11 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/36998 + * gcc.dg/pr36998.c: New test. + +2008-08-11 Andreas Krebbel <krebbel1@de.ibm.com> + + * gcc.target/s390/20080806-1.c: Move testcase ... + * gcc.c-torture/compile/20080806-1.c: ... to here and make it + stack size sensitive. + +2008-08-10 Samuel Tardieu <sam@rfc1149.net> + + * gnat.dg/exp0_eval.adb: New. + +2008-08-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR middle-end/20644 + * gcc.dg/uninit-pr20644-O0.c: New. + * gcc.dg/uninit-pr20644.c: New. + +2008-08-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 36901 + * gcc.dg/pr36901.h: Do not depend on limits.h. + * gcc.dg/pr36901-3.c: Update. + * gcc.dg/pr36901-4.c: Update. + +2008-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR middle-end/36238 + * gcc.c-torture/compile/pr36238.c: New testcase. + +2008-08-09 Richard Sandiford <rdsandiford@googlemail.com> + + * lib/target-supports.exp (check_profiling_available): Return false + for -p and -pg on MIPS16 targets. + +2008-08-09 Richard Guenther <rguenther@suse.de> + + * gcc.dg/tree-ssa/inline-2.c: New testcase. + +2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR c/17880 + * gcc.dg/sequence-pt-pr17880.c: New. + +2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR c++/12242 + * g++.dg/warn/pr12242.C: New. + +2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 36901 + * gcc.dg/pr36901-1.c: New. + * gcc.dg/pr36901-3.c: New. + * gcc.dg/pr36901-2.c: New. + * gcc.dg/pr36901-4.c: New. + * gcc.dg/pr36901-system.h: New. + * gcc.dg/pr36901.h: New. + * gcc.target/powerpc/altivec-macros.c: Update. + * gcc.target/i386/regparm.c: Update. + * gcc.dg/funcdef-var-1.c: Update. + * gcc.dg/parm-mismatch-1.c: Update. + * gcc.dg/attr-noinline.c: Update. + * gcc.dg/wtr-static-1.c: Update. + * gcc.dg/redecl-11.c: Update. + * gcc.dg/pr27953.c: Update. + * gcc.dg/proto-1.c: Update. + * gcc.dg/decl-3.c: Update. + * gcc.dg/redecl-13.c: Update. + * gcc.dg/pr15360-1.c: Update. + * gcc.dg/redecl-15.c: Update. + * gcc.dg/enum-compat-1.c: Update. + * gcc.dg/dll-3.c: Update. + * gcc.dg/array-5.c: Update. + * gcc.dg/Wredundant-decls-2.c: Update. + * gcc.dg/inline4.c: Update. + * gcc.dg/redecl-2.c: Update. + * gcc.dg/inline-14.c: Update. + * gcc.dg/tls/diag-3.c: Update. + * gcc.dg/funcdef-var-2.c: Update. + * gcc.dg/20041213-1.c: Update. + * gcc.dg/old-style-then-proto-1.c: Update. + * gcc.dg/decl-2.c: Update. + * gcc.dg/redecl-12.c: Update. + * gcc.dg/decl-4.c: Update. + * gcc.dg/Wshadow-1.c: Update. + * gcc.dg/transparent-union-2.c: Update. + * gcc.dg/visibility-7.c: Update. + * gcc.dg/dll-2.c: Update. + * gcc.dg/redecl-16.c: Update. + * gcc.dg/inline1.c: Update. + * gcc.dg/decl-8.c: Update. + * gcc.dg/nested-redef-1.c: Update. + * gcc.dg/inline3.c: Update. + * gcc.dg/redecl-1.c: Update. + * gcc.dg/inline5.c: Update. + * gcc.dg/pr35899.c: Update. + * gcc.dg/noncompile/label-lineno-1.c: Update. + * gcc.dg/noncompile/label-1.c: Update. + * gcc.dg/noncompile/20020220-1.c: Update. + * gcc.dg/noncompile/redecl-1.c: Update. + * gcc.dg/redecl-5.c: Update. + * gcc.dg/qual-return-3.c: Update. + * gcc.dg/label-decl-4.c: Update. + +2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 7651 + * g++.dg/warn/Wuninitializable-member.C: New. + * g++.dg/warn/Wuninitializable-member-no.C: New. + +2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 28875 + * gcc.dg/unused-6-no.c: New. + * gcc.dg/unused-6-WallWextra.c: New. + +2008-08-08 Volker Reichelt <v.reichelt@netcologne.de> + + PR c++/35985 + * g++.dg/inherit/base3.C: New. + +2008-08-08 Dorit Nuzman <dorit@il.ibm.com> + + * lib/target-supports.exp (check_effective_target_vect_floatint_cvt): + Add powerpc. + +2008-08-08 Daniel Kraft <d@domob.eu> + + * gfortran.dg/finalize_9.f03: New test. + * gfortran.dg/module_md5_1.f90: Adapted MD5-sum for changed module + file format. + +2008-08-08 Richard Guenther <rguenther@suse.de> + + * gcc.dg/tree-ssa/ssa-ccp-20.c: New testcase. + +2008-08-08 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/37056 + * gcc.c-torture/compile/pr37056.c: New testcase. + +2008-08-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * gcc.dg/Wcxx-compat-2.c: Check for bool/_Bool. + +2008-08-07 Douglas Gregor <doug.gregor@gmail.com> + + * g++.dg/cpp0x/decltype12.C: New. + +2008-08-07 H.J. Lu <hongjiu.lu@intel.com> + + PR target/36992 + * gcc.target/i386/pr36992-1.c: Scan movq. + * gcc.target/i386/pr36992-2.c: Use "-O2 -msse4" instead of + "-O0 -msse2". Scan movq. + +2008-08-07 Richard Guenther <rguenther@suse.de> + + PR middle-end/37042 + * gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: New testcase. + +2008-08-07 Andreas Krebbel <krebbel1@de.ibm.com> + + * gcc.c-torture/compile/20080806-1.c: Move testcase ... + * gcc.target/s390/20080806-1.c: ... to here. + +2008-08-06 Douglas Gregor <doug.gregor@gmail.com> + + PR c++/36460 + * g++.dg/cpp0x/bracket3.C: Add another test case for the >> + warning under -Wc++0x-compat. + * g++.dg/cpp0x/bracket4.C: Add testcase for PR c++/36460. + +2008-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * gcc.dg/Wcxx-compat-2.c: Adjust test for more warnings. + +2008-08-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 26785 + * g++.dg/warn/pr26785.C: New. + +2008-08-06 Victor Kaplansky <victork@il.ibm.com> + + * gcc.dg/vect/costmodel/ppc/costmodel-slp-34.c: New test. + +2008-08-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + PR 8715 + * gcc.dg/pr8715.c: New. + * g++.dg/warn/pr8715.C: New. + +2008-08-06 Marc Gauthier <marc@tensilica.com> + + * lib/target-supports.exp (check_profiling_available): Match more + processor names for Xtensa. + * g++.old-deja/g++.jason/thunk3.C: Likewise. + * gcc.dg/intmax_t-1.c: Likewise. + * gcc.dg/sibcall-3.c: Likewise. + * gcc.dg/sibcall-4.c: Likewise. + * gcc.c-torture/compile/20001226-1.c: Likewise. + +2008-08-06 H.J. Lu <hongjiu.lu@intel.com> + + PR middle-end/37010 + * gcc.dg/torture/stackalign/push-1.c: New. + +2008-08-06 Michael Matz <matz@suse.de> + + PR target/36613 + * gcc.target/i386/pr36613.c: New testcase. + +2008-08-06 H.J. Lu <hongjiu.lu@intel.com> + + PR middle-end/37009 + * gcc.dg/torture/stackalign/alloca-2.c: New. + * gcc.dg/torture/stackalign/alloca-3.c: Likewise. + * gcc.dg/torture/stackalign/alloca-4.c: Likewise. + * gcc.dg/torture/stackalign/vararg-3.c: Likewise. + * gcc.target/i386/incoming-1.c: Likewise. + * gcc.target/i386/incoming-2.c: Likewise. + * gcc.target/i386/incoming-3.c: Likewise. + * gcc.target/i386/incoming-4.c: Likewise. + * gcc.target/i386/incoming-5.c: Likewise. + 2008-08-06 Aldy Hernandez <aldyh@redhat.com> + PR middle-end/35432 * gcc.c-torture/compile/pr35432.c: New file. @@ -9,7 +412,7 @@ 2008-08-06 Andreas Krebbel <krebbel1@de.ibm.com> - * gcc.c-torture/compile/20080806-1.c: New testcase. + * gcc.c-torture/compile/20080806-1.c: New testcase. 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com> diff --git a/gcc/testsuite/ChangeLog-1993-2007 b/gcc/testsuite/ChangeLog-1993-2007 index c7a8e3e2ffe..2447b7f8593 100644 --- a/gcc/testsuite/ChangeLog-1993-2007 +++ b/gcc/testsuite/ChangeLog-1993-2007 @@ -7537,7 +7537,7 @@ vectorizable. 2007-07-01 Uros Bizjak <ubizjak@gmail.com> - Volker Reichelt <reichelt@netcologne.de> + Volker Reichelt <v.reichelt@netcologne.de> PR middle-end/32559 * gcc.dg/pr32559.c: New test. @@ -11152,7 +11152,7 @@ PR fortran/31011 * gfortran.dg/parameter_array_section_2.f90: New test. -2007-03-08 Volker Reichelt <reichelt@netcologne.de> +2007-03-08 Volker Reichelt <v.reichelt@netcologne.de> PR c++/30852 * g++.dg/ext/offsetof1.C: Add cases with volatile. diff --git a/gcc/testsuite/g++.dg/cpp0x/bracket3.C b/gcc/testsuite/g++.dg/cpp0x/bracket3.C index eb1ef02297d..4ef7a0e9d30 100644 --- a/gcc/testsuite/g++.dg/cpp0x/bracket3.C +++ b/gcc/testsuite/g++.dg/cpp0x/bracket3.C @@ -3,3 +3,8 @@ template<int N> struct X {}; X<1 >> 2> x; // { dg-warning "will be treated as|suggest parentheses" } + +// From cp/parser.c +typedef int Y; +template <int V> struct Foo {}; +Foo<Y () >> 5> r; // { dg-warning "will be treated as|suggest parentheses" } diff --git a/gcc/testsuite/g++.dg/cpp0x/bracket4.C b/gcc/testsuite/g++.dg/cpp0x/bracket4.C index 2ac5ff3d734..c0743fb7ff5 100644 --- a/gcc/testsuite/g++.dg/cpp0x/bracket4.C +++ b/gcc/testsuite/g++.dg/cpp0x/bracket4.C @@ -1,6 +1,5 @@ // { dg-do "compile" } // { dg-options "-std=c++0x" } - template<typename T> struct vector { }; @@ -25,3 +24,12 @@ void f() { vector<vector<int>>() + 2; } + +// PR c++/36460 +template <class a> +class A {}; +template <class b> +class B {}; + +A<B<void()>> x; + diff --git a/gcc/testsuite/g++.dg/warn/Wconversion-integer.C b/gcc/testsuite/g++.dg/warn/Wconversion-integer.C index 46900825a8b..42d9cb00044 100644 --- a/gcc/testsuite/g++.dg/warn/Wconversion-integer.C +++ b/gcc/testsuite/g++.dg/warn/Wconversion-integer.C @@ -42,8 +42,8 @@ void h (int x) uc = x ? 1U : -1; /* { dg-warning "conversion" } */ uc = x ? SCHAR_MIN : 1U; /* { dg-warning "conversion" } */ - uc = x ? 1 : -1; /* { dg-warning "conversion" } */ - uc = x ? SCHAR_MIN : 1; /* { dg-warning "conversion" } */ + uc = x ? 1 : -1; /* Warned by -Wsign-conversion. */ + uc = x ? SCHAR_MIN : 1; /* Warned by -Wsign-conversion. */ ui = x ? 1U : -1; /* Warned by -Wsign-conversion. */ ui = x ? INT_MIN : 1U; /* Warned by -Wsign-conversion. */ ui = ui ? SCHAR_MIN : 1U; /* Warned by -Wsign-conversion. */ diff --git a/gcc/testsuite/g++.dg/warn/Wsign-conversion.C b/gcc/testsuite/g++.dg/warn/Wsign-conversion.C index b097446c3f8..83fe2ed660b 100644 --- a/gcc/testsuite/g++.dg/warn/Wsign-conversion.C +++ b/gcc/testsuite/g++.dg/warn/Wsign-conversion.C @@ -42,15 +42,15 @@ void h (int x) uc = x ? 1U : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ uc = x ? SCHAR_MIN : 1U; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ - uc = x ? 1 : -1; - uc = x ? SCHAR_MIN : 1; + uc = x ? 1 : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ + uc = x ? SCHAR_MIN : 1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = x ? 1U : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = x ? INT_MIN : 1U; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = ui ? SCHAR_MIN : 1U; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = 1U * -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = ui + INT_MIN; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ - ui = x ? 1 : -1; /* { dg-warning "conversion" } */ - ui = ui ? SCHAR_MIN : 1; /* { dg-warning "conversion" } */ + ui = x ? 1 : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ + ui = ui ? SCHAR_MIN : 1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ fuc (-1); /* { dg-warning "negative integer implicitly converted to unsigned type" } */ uc = -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ diff --git a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C b/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C index 1b235ef58e9..d91982f7ed0 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C @@ -1,4 +1,4 @@ -// { dg-do run { xfail rs6000-*-* powerpc-*-eabi m68k-*-coff mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa-*-* m32r*-*-* } } +// { dg-do run { xfail rs6000-*-* powerpc-*-eabi m68k-*-coff mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* } } // Test that variadic function calls using thunks work right. // Note that this will break on any target that uses the generic thunk // support, because it doesn't support variadic functions. diff --git a/gcc/testsuite/g++.old-deja/g++.other/decl5.C b/gcc/testsuite/g++.old-deja/g++.other/decl5.C index f8c447c01d3..fccc18c8933 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/decl5.C +++ b/gcc/testsuite/g++.old-deja/g++.other/decl5.C @@ -16,7 +16,7 @@ struct A { int m; }; struct Z; - expand me; + expand me; // { dg-error "error: 'expand' does not name a type" } void foo(struct A::e); void foo(struct A::z); // { dg-warning "" } extra qualification }; @@ -71,7 +71,7 @@ namespace NMS }; } -NMS::D thing; +NMS::D thing; // { dg-error "error: 'D' in namespace 'NMS' does not name a type" } void NMS::fn() { i = 3; diff --git a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c index 19701ab3877..64cf37cb840 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c @@ -3,7 +3,7 @@ /* { dg-do assemble } */ /* { dg-xfail-if "function larger than 64K" { m6811-*-* } { "*" } { "" } } */ /* { dg-skip-if "too much code for avr" { "avr-*-*" } { "*" } { "" } } */ -/* { dg-xfail-if "jump beyond 128K not supported" { xtensa-*-* } { "-O0" } { "" } } */ +/* { dg-xfail-if "jump beyond 128K not supported" { xtensa*-*-* } { "-O0" } { "" } } */ /* { dg-xfail-if "PR36698" { spu-*-* } { "-O0" } { "" } } */ /* { dg-skip-if "" { m32c-*-* } { "*" } { "" } } */ diff --git a/gcc/testsuite/gcc.c-torture/compile/20080806-1.c b/gcc/testsuite/gcc.c-torture/compile/20080806-1.c index 33f0857d5c2..c54e7397f5d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20080806-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20080806-1.c @@ -1,3 +1,11 @@ +/* This used to ICE on s390x due to a reload bug. */ + +#if defined(STACK_SIZE) && (STACK_SIZE < 65536) + #define BYTES 64 +#else + #define BYTES 65400 +#endif + int gl2; typedef __SIZE_TYPE__ size_t; @@ -7,7 +15,7 @@ void f1 () { int i2; - unsigned char bf[64 * 1024 + 4]; + unsigned char bf[BYTES]; for (i2 = 0; i2 < 3; i2++) { diff --git a/gcc/testsuite/gcc.c-torture/execute/20031003-1.c b/gcc/testsuite/gcc.c-torture/execute/20031003-1.c index 5d39d799e50..5d172e7e604 100644 --- a/gcc/testsuite/gcc.c-torture/execute/20031003-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/20031003-1.c @@ -19,9 +19,15 @@ int main() #if INT_MAX == 2147483647 if (f1() != 2147483647) abort (); +#ifdef __SPU__ + /* SPU float rounds towards zero. */ + if (f2() != 0x7fffff80) + abort (); +#else if (f2() != 2147483647) abort (); #endif +#endif return 0; } diff --git a/gcc/testsuite/gcc.c-torture/execute/conversion.c b/gcc/testsuite/gcc.c-torture/execute/conversion.c index 9e62acfd2ad..82d681acfe6 100644 --- a/gcc/testsuite/gcc.c-torture/execute/conversion.c +++ b/gcc/testsuite/gcc.c-torture/execute/conversion.c @@ -284,9 +284,15 @@ test_float_to_integer() abort(); if (f2u(1.99) != 1) abort(); +#ifdef __SPU__ + /* SPU float rounds towards zero. */ + if (f2u((float) ((~0U) >> 1)) != 0x7fffff80) + abort(); +#else if (f2u((float) ((~0U) >> 1)) != (~0U) >> 1 && /* 0x7fffffff */ f2u((float) ((~0U) >> 1)) != ((~0U) >> 1) + 1) abort(); +#endif if (f2u((float) ~((~0U) >> 1)) != ~((~0U) >> 1)) /* 0x80000000 */ abort(); @@ -439,9 +445,15 @@ test_float_to_longlong_integer() abort(); if (f2ull(1.99) != 1LL) abort(); +#ifdef __SPU__ + /* SPU float rounds towards zero. */ + if (f2ull((float) ((~0ULL) >> 1)) != 0x7fffff8000000000ULL) + abort(); +#else if (f2ull((float) ((~0ULL) >> 1)) != (~0ULL) >> 1 && /* 0x7fffffff */ f2ull((float) ((~0ULL) >> 1)) != ((~0ULL) >> 1) + 1) abort(); +#endif if (f2ull((float) ~((~0ULL) >> 1)) != ~((~0ULL) >> 1)) /* 0x80000000 */ abort(); diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/inf-2.c b/gcc/testsuite/gcc.c-torture/execute/ieee/inf-2.c index 40270c0f6ab..1823b35ff0f 100644 --- a/gcc/testsuite/gcc.c-torture/execute/ieee/inf-2.c +++ b/gcc/testsuite/gcc.c-torture/execute/ieee/inf-2.c @@ -25,6 +25,9 @@ void test(double f, double i) void testf(float f, float i) { +#ifndef __SPU__ + /* The SPU single-precision floating point format does not support Inf. */ + if (f == __builtin_inff()) abort (); if (f == -__builtin_inff()) @@ -44,6 +47,7 @@ void testf(float f, float i) abort (); if (f < -__builtin_inff()) abort (); +#endif } void testl(long double f, long double i) diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c index ce13d7e9eed..1586bd7d43b 100644 --- a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c +++ b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c @@ -41,8 +41,14 @@ main () k = 0x8234508000000001ULL; x = s (k); k = (unsigned long long) x; +#ifdef __SPU__ + /* SPU float rounds towards zero. */ + if (k != 0x8234500000000000ULL) + abort (); +#else if (k != 0x8234510000000000ULL) abort (); +#endif exit (0); } diff --git a/gcc/testsuite/gcc.dg/20041213-1.c b/gcc/testsuite/gcc.dg/20041213-1.c index f7ef30a62f9..be1ab00241c 100644 --- a/gcc/testsuite/gcc.dg/20041213-1.c +++ b/gcc/testsuite/gcc.dg/20041213-1.c @@ -1,33 +1,33 @@ /* { dg-do compile } */ /* { dg-options "" } */ /* test redeclarations with void and implicit int */ -extern foo1(); /* { dg-error "previous declaration" } */ +extern foo1(); /* { dg-message "note: previous declaration" } */ extern void foo1(); /* { dg-error "conflicting types" } */ -extern void foo2(); /* { dg-error "previous declaration" } */ +extern void foo2(); /* { dg-message "note: previous declaration" } */ extern foo2(); /* { dg-error "conflicting types" } */ -void foo3() {} /* { dg-error "previous definition" } */ +void foo3() {} /* { dg-message "note: previous definition" } */ extern foo3(); /* { dg-error "conflicting types" } */ -extern foo4(); /* { dg-error "previous declaration" } */ +extern foo4(); /* { dg-message "note: previous declaration" } */ void foo4() {} /* { dg-error "conflicting types" } */ -extern void foo5(); /* { dg-warning "previous declaration" } */ +extern void foo5(); /* { dg-message "note: previous declaration" } */ foo5() {} /* { dg-warning "conflicting types" } */ -foo6() {} /* { dg-error "previous definition" } */ +foo6() {} /* { dg-message "note: previous definition" } */ extern void foo6(); /* { dg-error "conflicting types" } */ -foo7() {} /* { dg-error "previous definition" } */ +foo7() {} /* { dg-message "note: previous definition" } */ void foo7() {} /* { dg-error "conflicting types" } */ -void foo8() {} /* { dg-error "previous definition" } */ +void foo8() {} /* { dg-message "note: previous definition" } */ foo8() {} /* { dg-error "conflicting types" } */ -int use9() { foo9(); } /* { dg-warning "previous implicit declaration" } */ +int use9() { foo9(); } /* { dg-message "note: previous implicit declaration" } */ extern void foo9(); /* { dg-warning "conflicting types" } */ -int use10() { foo10(); } /* { dg-warning "previous implicit declaration" } */ +int use10() { foo10(); } /* { dg-message "note: previous implicit declaration" } */ void foo10() {} /* { dg-warning "conflicting types" } */ diff --git a/gcc/testsuite/gcc.dg/Wconversion-integer-no-sign.c b/gcc/testsuite/gcc.dg/Wconversion-integer-no-sign.c index 0847db28da9..c17d502d8f3 100644 --- a/gcc/testsuite/gcc.dg/Wconversion-integer-no-sign.c +++ b/gcc/testsuite/gcc.dg/Wconversion-integer-no-sign.c @@ -42,8 +42,8 @@ void h (int x) uc = x ? 1U : -1; /* { dg-warning "conversion" } */ uc = x ? SCHAR_MIN : 1U; /* { dg-warning "conversion" } */ - uc = x ? 1 : -1; /* { dg-warning "conversion" } */ - uc = x ? SCHAR_MIN : 1; /* { dg-warning "conversion" } */ + uc = x ? 1 : -1; /* Warned by -Wsign-conversion. */ + uc = x ? SCHAR_MIN : 1; /* Warned by -Wsign-conversion. */ ui = x ? 1U : -1; /* Warned by -Wsign-conversion. */ ui = x ? INT_MIN : 1U; /* Warned by -Wsign-conversion. */ ui = ui ? SCHAR_MIN : 1U; /* Warned by -Wsign-conversion. */ diff --git a/gcc/testsuite/gcc.dg/Wconversion-integer.c b/gcc/testsuite/gcc.dg/Wconversion-integer.c index 9e3b948251c..b2101076f93 100644 --- a/gcc/testsuite/gcc.dg/Wconversion-integer.c +++ b/gcc/testsuite/gcc.dg/Wconversion-integer.c @@ -44,15 +44,15 @@ void h (int x) /* { dg-warning "negative integer implicitly converted to unsigned type" "" { target *-*-* } 43 } */ uc = x ? SCHAR_MIN : 1U; /* { dg-warning "conversion" } */ /* { dg-warning "negative integer implicitly converted to unsigned type" "" { target *-*-* } 45 } */ - uc = x ? 1 : -1; /* { dg-warning "conversion" } */ - uc = x ? SCHAR_MIN : 1; /* { dg-warning "conversion" } */ + uc = x ? 1 : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ + uc = x ? SCHAR_MIN : 1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = x ? 1U : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = x ? INT_MIN : 1U; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = ui ? SCHAR_MIN : 1U; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = 1U * -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = ui + INT_MIN; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ - ui = x ? 1 : -1; /* { dg-warning "conversion" } */ - ui = ui ? SCHAR_MIN : 1; /* { dg-warning "conversion" } */ + ui = x ? 1 : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ + ui = ui ? SCHAR_MIN : 1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ fuc (-1); /* { dg-warning "negative integer implicitly converted to unsigned type" } */ uc = -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ diff --git a/gcc/testsuite/gcc.dg/Wcxx-compat-2.c b/gcc/testsuite/gcc.dg/Wcxx-compat-2.c index 5a46fbe4bd5..a091c6dd8b5 100644 --- a/gcc/testsuite/gcc.dg/Wcxx-compat-2.c +++ b/gcc/testsuite/gcc.dg/Wcxx-compat-2.c @@ -1,35 +1,36 @@ /* { dg-options "-Wc++-compat" } */ -int bool; -int catch; -int char16_t; -int char32_t; -int class; +_Bool foo; /* This is okay. */ +int bool; /* { dg-warning "keyword" } */ +int catch; /* { dg-warning "keyword" } */ +int char16_t; /* { dg-warning "keyword" } */ +int char32_t; /* { dg-warning "keyword" } */ +int class; /* { dg-warning "keyword" } */ int const_cast; /* { dg-warning "keyword" } */ -int decltype; -int delete; +int decltype; /* { dg-warning "keyword" } */ +int delete; /* { dg-warning "keyword" } */ int dynamic_cast; /* { dg-warning "keyword" } */ -int explicit; -int export; -int false; -int friend; +int explicit; /* { dg-warning "keyword" } */ +int export; /* { dg-warning "keyword" } */ +int false; /* { dg-warning "keyword" } */ +int friend; /* { dg-warning "keyword" } */ int mutable; /* { dg-warning "keyword" } */ -int namespace; -int new; -int operator; -int private; -int protected; -int public; +int namespace; /* { dg-warning "keyword" } */ +int new; /* { dg-warning "keyword" } */ +int operator; /* { dg-warning "keyword" } */ +int private; /* { dg-warning "keyword" } */ +int protected; /* { dg-warning "keyword" } */ +int public; /* { dg-warning "keyword" } */ int reinterpret_cast; /* { dg-warning "keyword" } */ int static_assert; /* { dg-warning "keyword" } */ int static_cast; /* { dg-warning "keyword" } */ -int template; -int this; -int throw; -int true; -int try; -int typename; -int typeid; -int using; -int virtual; +int template; /* { dg-warning "keyword" } */ +int this; /* { dg-warning "keyword" } */ +int throw; /* { dg-warning "keyword" } */ +int true; /* { dg-warning "keyword" } */ +int try; /* { dg-warning "keyword" } */ +int typename; /* { dg-warning "keyword" } */ +int typeid; /* { dg-warning "keyword" } */ +int using; /* { dg-warning "keyword" } */ +int virtual; /* { dg-warning "keyword" } */ int wchar_t; diff --git a/gcc/testsuite/gcc.dg/Wredundant-decls-2.c b/gcc/testsuite/gcc.dg/Wredundant-decls-2.c index b10840fcf95..89f57b427c6 100644 --- a/gcc/testsuite/gcc.dg/Wredundant-decls-2.c +++ b/gcc/testsuite/gcc.dg/Wredundant-decls-2.c @@ -2,21 +2,21 @@ /* { dg-do compile } */ /* { dg-options "-Wredundant-decls" } */ -int j = 5; /* { dg-warning "previous" } */ +int j = 5; /* { dg-message "note: previous" } */ int j; /* { dg-warning "redundant" } */ static int k; -static int k = 5; /* { dg-warning "previous" } */ +static int k = 5; /* { dg-message "note: previous" } */ static int k; /* { dg-warning "redundant" } */ -static int l = 5; /* { dg-warning "previous" } */ +static int l = 5; /* { dg-message "note: previous" } */ static int l; /* { dg-warning "redundant" } */ -static int m; /* { dg-warning "previous" } */ +static int m; /* { dg-message "note: previous" } */ static int m; /* { dg-warning "redundant" } */ static int m = 5; -int n; /* { dg-warning "previous" } */ +int n; /* { dg-message "note: previous" } */ int n; /* { dg-warning "redundant" } */ int n = 5; diff --git a/gcc/testsuite/gcc.dg/Wshadow-1.c b/gcc/testsuite/gcc.dg/Wshadow-1.c index 6dd2eb6791a..40073f337b4 100644 --- a/gcc/testsuite/gcc.dg/Wshadow-1.c +++ b/gcc/testsuite/gcc.dg/Wshadow-1.c @@ -10,7 +10,7 @@ void foo (double decl1) /* { dg-warning "shadows a global decl" } */ { } -void foo1 (int d) /* { dg-error "previous definition" } */ +void foo1 (int d) /* { dg-message "note: previous definition" } */ { double d; /* { dg-bogus "warning" "warning in place of error" } */ /* { dg-error "redeclared as different" "" { target *-*-* } 15 } */ diff --git a/gcc/testsuite/gcc.dg/Wsign-conversion.c b/gcc/testsuite/gcc.dg/Wsign-conversion.c index 45edd3b4361..0300850f904 100644 --- a/gcc/testsuite/gcc.dg/Wsign-conversion.c +++ b/gcc/testsuite/gcc.dg/Wsign-conversion.c @@ -42,15 +42,15 @@ void h (int x) uc = x ? 1U : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ uc = x ? SCHAR_MIN : 1U; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ - uc = x ? 1 : -1; - uc = x ? SCHAR_MIN : 1; + uc = x ? 1 : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ + uc = x ? SCHAR_MIN : 1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = x ? 1U : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = x ? INT_MIN : 1U; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = ui ? SCHAR_MIN : 1U; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = 1U * -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ ui = ui + INT_MIN; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ - ui = x ? 1 : -1; /* { dg-warning "conversion" } */ - ui = ui ? SCHAR_MIN : 1; /* { dg-warning "conversion" } */ + ui = x ? 1 : -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ + ui = ui ? SCHAR_MIN : 1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ fuc (-1); /* { dg-warning "negative integer implicitly converted to unsigned type" } */ uc = -1; /* { dg-warning "negative integer implicitly converted to unsigned type" } */ diff --git a/gcc/testsuite/gcc.dg/arm-g2.c b/gcc/testsuite/gcc.dg/arm-g2.c index a15b280cc10..031b93657da 100644 --- a/gcc/testsuite/gcc.dg/arm-g2.c +++ b/gcc/testsuite/gcc.dg/arm-g2.c @@ -1,6 +1,7 @@ /* Verify that hardware multiply is preferred on XScale. */ /* { dg-do compile } */ /* { dg-options "-mcpu=xscale -O2" } */ +/* { dg-skip-if "Test is specific to the Xscale" { arm*-*-* } { "-march=*" } { "-march=xscale" } } */ /* { dg-require-effective-target arm32 } */ /* Brett Gaines' test case. */ diff --git a/gcc/testsuite/gcc.dg/arm-mmx-1.c b/gcc/testsuite/gcc.dg/arm-mmx-1.c index e4535eebefd..21cc47912c0 100644 --- a/gcc/testsuite/gcc.dg/arm-mmx-1.c +++ b/gcc/testsuite/gcc.dg/arm-mmx-1.c @@ -1,8 +1,11 @@ /* Verify that if IP is saved to ensure stack alignment, we don't load it into sp. */ /* { dg-do compile } */ +/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mcpu=*" } { "-mcpu=iwmmxt" } } */ +/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mabi=*" } { "-mabi=iwmmxt" } } */ +/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mfloat-abi=softfp" } { "" } } */ +/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-march=*" } { "-march=iwmmxt" } } */ /* { dg-options "-O -mno-apcs-frame -mcpu=iwmmxt -mabi=iwmmxt" } */ -/* { dg-skip-if "" { *-*-* } { "-mfloat-abi=softfp" } { "" } } */ /* { dg-require-effective-target arm32 } */ /* { dg-final { scan-assembler "ldmfd\[ ]sp!.*ip,\[ ]*pc" } } */ diff --git a/gcc/testsuite/gcc.dg/arm-scd42-2.c b/gcc/testsuite/gcc.dg/arm-scd42-2.c index 1c257c173b6..0c372983a54 100644 --- a/gcc/testsuite/gcc.dg/arm-scd42-2.c +++ b/gcc/testsuite/gcc.dg/arm-scd42-2.c @@ -1,6 +1,7 @@ /* Verify that mov is preferred on XScale for loading a 2 byte constant. */ /* { dg-do compile } */ /* { dg-options "-mcpu=xscale -O" } */ +/* { dg-skip-if "Test is specific to the Xscale" { arm*-*-* } { "-march=*" } { "-march=xscale" } } */ /* { dg-require-effective-target arm32 } */ unsigned load2(void) __attribute__ ((naked)); diff --git a/gcc/testsuite/gcc.dg/array-5.c b/gcc/testsuite/gcc.dg/array-5.c index a4053da72a2..4083c92ffc9 100644 --- a/gcc/testsuite/gcc.dg/array-5.c +++ b/gcc/testsuite/gcc.dg/array-5.c @@ -13,7 +13,7 @@ extern char arr1[1]; char arr1[1]; extern char arr2[0]; char arr2[0]; -extern char arr3[0]; /* { dg-error "previous declaration" } */ +extern char arr3[0]; /* { dg-message "note: previous declaration" } */ char arr3[1]; /* { dg-error "conflicting types" } */ /* Variable size matches. */ diff --git a/gcc/testsuite/gcc.dg/attr-noinline.c b/gcc/testsuite/gcc.dg/attr-noinline.c index 9124e4f7688..9f7abcd07e8 100644 --- a/gcc/testsuite/gcc.dg/attr-noinline.c +++ b/gcc/testsuite/gcc.dg/attr-noinline.c @@ -13,19 +13,19 @@ static inline void __attribute__((__noinline__)) function_declaration_both_after static void function_declaration_both_after(void) {} -static void function_declaration_noinline_before(void) __attribute__((__noinline__)); /* { dg-warning "previous declaration" "" } */ +static void function_declaration_noinline_before(void) __attribute__((__noinline__)); /* { dg-message "note: previous declaration" "" } */ static inline void function_declaration_noinline_before(void) {} /* { dg-warning "follows declaration with attribute noinline" "" } */ -static inline void function_declaration_noinline_after(void) {} /* { dg-warning "previous definition" "" } */ +static inline void function_declaration_noinline_after(void) {} /* { dg-message "note: previous definition" "" } */ static void function_declaration_noinline_after(void) __attribute__((__noinline__)); /* { dg-warning "follows inline declaration" "" } */ -static inline void function_declaration_inline_before(void); /* { dg-warning "previous declaration" "" } */ +static inline void function_declaration_inline_before(void); /* { dg-message "note: previous declaration" "" } */ static void __attribute__((__noinline__)) function_declaration_inline_before(void) {} /* { dg-warning "follows inline declaration" "" } */ -static inline void function_declaration_inline_noinline_before(void); /* { dg-warning "previous declaration" "" } */ +static inline void function_declaration_inline_noinline_before(void); /* { dg-message "note: previous declaration" "" } */ static void function_declaration_inline_noinline_before(void) __attribute__((__noinline__)); /* { dg-warning "follows inline declaration" "" } */ @@ -33,11 +33,11 @@ static void function_declaration_inline_noinline_before(void) {} static inline void function_declaration_inline_noinline_after(void); -static void function_declaration_inline_noinline_after(void) {} /* { dg-warning "previous definition" "" } */ +static void function_declaration_inline_noinline_after(void) {} /* { dg-message "note: previous definition" "" } */ static void function_declaration_inline_noinline_after(void) __attribute__((__noinline__)); /* { dg-warning "follows inline declaration" "" } */ -static void function_declaration_noinline_inline_before(void) __attribute__((__noinline__)); /* { dg-warning "previous declaration" "" } */ +static void function_declaration_noinline_inline_before(void) __attribute__((__noinline__)); /* { dg-message "note: previous declaration" "" } */ static inline void function_declaration_noinline_inline_before(void); /* { dg-warning "follows declaration with attribute noinline" "" } */ diff --git a/gcc/testsuite/gcc.dg/decl-2.c b/gcc/testsuite/gcc.dg/decl-2.c index ab1532e82b9..40d744c926b 100644 --- a/gcc/testsuite/gcc.dg/decl-2.c +++ b/gcc/testsuite/gcc.dg/decl-2.c @@ -7,7 +7,7 @@ void foo(void) { char - c /* { dg-error "previous declaration" } */ + c /* { dg-message "note: previous declaration" } */ ; int i; int diff --git a/gcc/testsuite/gcc.dg/decl-3.c b/gcc/testsuite/gcc.dg/decl-3.c index 5bbe19cd224..cba0b906db3 100644 --- a/gcc/testsuite/gcc.dg/decl-3.c +++ b/gcc/testsuite/gcc.dg/decl-3.c @@ -1,5 +1,5 @@ /* PR c/9928 */ /* { dg-do compile } */ -enum { CODES }; /* { dg-error "previous definition" } */ +enum { CODES }; /* { dg-message "note: previous definition" } */ enum { CODES }; /* { dg-error "conflicting types|redeclaration of enumerator" } */ diff --git a/gcc/testsuite/gcc.dg/decl-4.c b/gcc/testsuite/gcc.dg/decl-4.c index acc7e77e2ea..ce640c99c16 100644 --- a/gcc/testsuite/gcc.dg/decl-4.c +++ b/gcc/testsuite/gcc.dg/decl-4.c @@ -1,10 +1,10 @@ /* Redeclaration of parameters is an error. PR 13728. */ /* { dg-do compile } */ -void f (int fred, /* { dg-error "previous definition" "" } */ +void f (int fred, /* { dg-message "note: previous definition" "" } */ int fred); /* { dg-error "redefinition of parameter" "" } */ -void f2 (int fred, /* { dg-error "previous definition" "" } */ +void f2 (int fred, /* { dg-message "note: previous definition" "" } */ int fred) /* { dg-error "redefinition of parameter" "" } */ { } diff --git a/gcc/testsuite/gcc.dg/decl-8.c b/gcc/testsuite/gcc.dg/decl-8.c index ba757197f53..d0da48f7b59 100644 --- a/gcc/testsuite/gcc.dg/decl-8.c +++ b/gcc/testsuite/gcc.dg/decl-8.c @@ -3,8 +3,8 @@ /* { dg-do compile } */ /* { dg-options "" } */ -typedef int I; /* { dg-error "previous declaration of 'I' was here" } */ +typedef int I; /* { dg-message "note: previous declaration of 'I' was here" } */ typedef int I; /* { dg-error "redefinition of typedef 'I'" } */ -typedef int I1; /* { dg-error "previous declaration of 'I1' was here" } */ +typedef int I1; /* { dg-message "note: previous declaration of 'I1' was here" } */ typedef long I1; /* { dg-error "conflicting types for 'I1'" } */ diff --git a/gcc/testsuite/gcc.dg/dll-2.c b/gcc/testsuite/gcc.dg/dll-2.c index 3b8b60eee41..334299f3a27 100644 --- a/gcc/testsuite/gcc.dg/dll-2.c +++ b/gcc/testsuite/gcc.dg/dll-2.c @@ -11,12 +11,12 @@ /* { dg-require-dll "" } */ __declspec (dllimport) int foo1 (); -__declspec (dllexport) int foo1 (); /* { dg-warning "previous dllimport ignored" } */ +__declspec (dllexport) int foo1 (); /* { dg-message "note: previous dllimport ignored" } */ __declspec (dllexport) int foo2 (); __declspec (dllimport) int foo2 (); /* { dg-warning "dllimport ignored" } */ __declspec (dllimport) int bar1; -__declspec (dllexport) int bar1; /* { dg-warning "previous dllimport ignored" } */ +__declspec (dllexport) int bar1; /* { dg-message "note: previous dllimport ignored" } */ __declspec (dllexport) int bar2; __declspec (dllimport) int bar2; /* { dg-warning "dllimport ignored" } */ diff --git a/gcc/testsuite/gcc.dg/dll-3.c b/gcc/testsuite/gcc.dg/dll-3.c index 0a3f7df0988..4272891a848 100644 --- a/gcc/testsuite/gcc.dg/dll-3.c +++ b/gcc/testsuite/gcc.dg/dll-3.c @@ -5,7 +5,7 @@ /* { dg-do compile { target i?86-pc-mingw* } } */ __declspec (dllimport) int foo1 (); -__declspec (dllexport) int foo1 (); /* { dg-warning "previous dllimport ignored" } */ +__declspec (dllexport) int foo1 (); /* { dg-message "note: previous dllimport ignored" } */ __declspec (dllexport) int foo2 (); __declspec (dllimport) int foo2 (); /* { dg-warning "dllimport ignored" } */ diff --git a/gcc/testsuite/gcc.dg/enum-compat-1.c b/gcc/testsuite/gcc.dg/enum-compat-1.c index 04a6e758eff..18d1f7fe715 100644 --- a/gcc/testsuite/gcc.dg/enum-compat-1.c +++ b/gcc/testsuite/gcc.dg/enum-compat-1.c @@ -25,7 +25,7 @@ enum e3 v3; enum e4 *p = &v3; /* { dg-warning "incompatible" "incompatible pointer" } */ enum e3 *q = &v3; -void g(enum e3); /* { dg-error "declaration" "error at first decl" } */ +void g(enum e3); /* { dg-message "note: previous declaration" "error at first decl" } */ void g(enum e4); /* { dg-error "conflicting types" "error at second decl" } */ void h(enum e3); diff --git a/gcc/testsuite/gcc.dg/funcdef-var-1.c b/gcc/testsuite/gcc.dg/funcdef-var-1.c index a685af7ac1c..63a56838afe 100644 --- a/gcc/testsuite/gcc.dg/funcdef-var-1.c +++ b/gcc/testsuite/gcc.dg/funcdef-var-1.c @@ -5,6 +5,6 @@ /* { dg-options "-Wmissing-prototypes" } */ extern __typeof(foo) foo __asm__(""); /* { dg-error "undeclared" } */ -/* { dg-error "previous declaration" "previous declaration" { target *-*-* } 7 } */ +/* { dg-message "note: previous declaration" "previous declaration" { target *-*-* } 7 } */ void *foo (void) {} /* { dg-error "redeclared as different kind of symbol" } */ /* { dg-warning "no previous prototype" "no previous prototype" { target *-*-* } 9 } */ diff --git a/gcc/testsuite/gcc.dg/funcdef-var-2.c b/gcc/testsuite/gcc.dg/funcdef-var-2.c index 744987ebf3b..b3eb2ce6a01 100644 --- a/gcc/testsuite/gcc.dg/funcdef-var-2.c +++ b/gcc/testsuite/gcc.dg/funcdef-var-2.c @@ -6,6 +6,6 @@ /* { dg-options "-Wmissing-prototypes" } */ int foo; -/* { dg-error "previous declaration" "previous declaration" { target *-*-* } 8 } */ +/* { dg-message "note: previous declaration" "previous declaration" { target *-*-* } 8 } */ void foo () {} /* { dg-error "redeclared as different kind of symbol" } */ /* { dg-warning "no previous prototype" "no previous prototype" { target *-*-* } 10 } */ diff --git a/gcc/testsuite/gcc.dg/hex-round-1.c b/gcc/testsuite/gcc.dg/hex-round-1.c index 3276ad46378..e1283cae37b 100644 --- a/gcc/testsuite/gcc.dg/hex-round-1.c +++ b/gcc/testsuite/gcc.dg/hex-round-1.c @@ -1,6 +1,7 @@ /* Test for hexadecimal float rounding: bug 21720. */ /* { dg-do link } */ /* { dg-options "-O -std=gnu99" } */ +/* { dg-skip-if "SPU float rounds towards zero" { spu-*-* } } */ #include <float.h> diff --git a/gcc/testsuite/gcc.dg/hex-round-2.c b/gcc/testsuite/gcc.dg/hex-round-2.c index ba9b8bf3d02..af49536abac 100644 --- a/gcc/testsuite/gcc.dg/hex-round-2.c +++ b/gcc/testsuite/gcc.dg/hex-round-2.c @@ -2,6 +2,7 @@ in number. */ /* { dg-do link } */ /* { dg-options "-O -std=gnu99" } */ +/* { dg-skip-if "SPU float rounds towards zero" { spu-*-* } } */ #include <float.h> diff --git a/gcc/testsuite/gcc.dg/inline-14.c b/gcc/testsuite/gcc.dg/inline-14.c index cef62776fbb..15b2d404c11 100644 --- a/gcc/testsuite/gcc.dg/inline-14.c +++ b/gcc/testsuite/gcc.dg/inline-14.c @@ -3,7 +3,7 @@ /* { dg-options "-std=c99" } */ extern inline int func1 (void) -{ /* { dg-error "previous definition" } */ +{ /* { dg-message "note: previous definition" } */ return 1; } @@ -13,7 +13,7 @@ inline int func1 (void) /* { dg-error "redefinition" } */ } inline int func2 (void) -{ /* { dg-error "previous definition" } */ +{ /* { dg-message "note: previous definition" } */ return 2; } diff --git a/gcc/testsuite/gcc.dg/inline1.c b/gcc/testsuite/gcc.dg/inline1.c index f7a7eb4b956..c660fe3146b 100644 --- a/gcc/testsuite/gcc.dg/inline1.c +++ b/gcc/testsuite/gcc.dg/inline1.c @@ -3,6 +3,6 @@ /* This test is expected to fail with an error for the redefinition of foo. This violates the constraint of 6.9#3 (no more than one external definition of an identifier with internal linkage in the same translation unit). */ -static inline int foo(void) { return 1; } /* { dg-error "previous definition of" } */ +static inline int foo(void) { return 1; } /* { dg-message "note: previous definition of" } */ static inline int foo(void) { return 0; } /* { dg-error "redefinition of" } */ diff --git a/gcc/testsuite/gcc.dg/inline3.c b/gcc/testsuite/gcc.dg/inline3.c index 64f6d8bbee5..d7fd8dba60c 100644 --- a/gcc/testsuite/gcc.dg/inline3.c +++ b/gcc/testsuite/gcc.dg/inline3.c @@ -3,5 +3,5 @@ /* This testcase should fail since we're redefining foo in the same translation unit. */ extern inline int foo(void) { return 0; } -inline int foo (void) { return 1; } /* { dg-error "previous definition of" } */ +inline int foo (void) { return 1; } /* { dg-message "note: previous definition of" } */ int foo (void) { return 2; } /* { dg-error "redefinition of" } */ diff --git a/gcc/testsuite/gcc.dg/inline4.c b/gcc/testsuite/gcc.dg/inline4.c index a5c7dda0a02..64cea7515ab 100644 --- a/gcc/testsuite/gcc.dg/inline4.c +++ b/gcc/testsuite/gcc.dg/inline4.c @@ -2,5 +2,5 @@ /* { dg-options "-Wall -std=gnu89" } */ /* This testcase should fail since we're redefining foo in the same translation unit. */ -int foo (void) { return 2; } /* { dg-error "previous definition of" } */ +int foo (void) { return 2; } /* { dg-message "note: previous definition of" } */ extern inline int foo (void) { return 1; } /* { dg-error "redefinition of" } */ diff --git a/gcc/testsuite/gcc.dg/inline5.c b/gcc/testsuite/gcc.dg/inline5.c index 86a2776251b..40fb7cd910b 100644 --- a/gcc/testsuite/gcc.dg/inline5.c +++ b/gcc/testsuite/gcc.dg/inline5.c @@ -2,5 +2,5 @@ /* { dg-options "-Wall -std=gnu89" } */ /* This testcase should fail since we're redefining foo in the same translation unit. */ -extern inline int foo (void) { return 2; } /* { dg-error "previous definition of" } */ +extern inline int foo (void) { return 2; } /* { dg-message "note: previous definition of" } */ extern inline int foo (void) { return 1; } /* { dg-error "redefinition of" } */ diff --git a/gcc/testsuite/gcc.dg/intmax_t-1.c b/gcc/testsuite/gcc.dg/intmax_t-1.c index 9ac0cb9f037..00b503c2509 100644 --- a/gcc/testsuite/gcc.dg/intmax_t-1.c +++ b/gcc/testsuite/gcc.dg/intmax_t-1.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-Wall" } */ -/* { dg-error "" "" { target { { *arm*-*-*elf* xtensa-*-elf* } || vxworks_kernel } } 0 } */ +/* { dg-error "" "" { target { { *arm*-*-*elf* xtensa*-*-elf* } || vxworks_kernel } } 0 } */ /* Compile with -Wall to get a warning if built-in and system intmax_t don't match. */ diff --git a/gcc/testsuite/gcc.dg/label-decl-4.c b/gcc/testsuite/gcc.dg/label-decl-4.c index 7b2a195c1b2..3cfe965fd5d 100644 --- a/gcc/testsuite/gcc.dg/label-decl-4.c +++ b/gcc/testsuite/gcc.dg/label-decl-4.c @@ -7,8 +7,8 @@ void f (void) { __label__ a, b, a; /* { dg-error "duplicate label declaration 'a'" } */ - /* { dg-error "previous declaration of 'a' was here" "previous" { target *-*-* } 9 } */ - __label__ c; /* { dg-error "previous declaration of 'c' was here" } */ + /* { dg-message "note: previous declaration of 'a' was here" "previous" { target *-*-* } 9 } */ + __label__ c; /* { dg-message "note: previous declaration of 'c' was here" } */ __label__ c; /* { dg-error "duplicate label declaration 'c'" } */ return; } diff --git a/gcc/testsuite/gcc.dg/nested-redef-1.c b/gcc/testsuite/gcc.dg/nested-redef-1.c index acc961dac23..a3786b0c302 100644 --- a/gcc/testsuite/gcc.dg/nested-redef-1.c +++ b/gcc/testsuite/gcc.dg/nested-redef-1.c @@ -36,7 +36,7 @@ enum e0 { enum e1 { E2 = sizeof(enum e2 { E2 }), /* { dg-error "redeclaration of enumerator 'E2'" } */ - /* { dg-error "previous definition" "previous E2" { target *-*-* } 38 } */ + /* { dg-message "note: previous definition" "previous E2" { target *-*-* } 38 } */ E3 }; diff --git a/gcc/testsuite/gcc.dg/noncompile/20020220-1.c b/gcc/testsuite/gcc.dg/noncompile/20020220-1.c index aa57dc3d493..3063f422c9b 100644 --- a/gcc/testsuite/gcc.dg/noncompile/20020220-1.c +++ b/gcc/testsuite/gcc.dg/noncompile/20020220-1.c @@ -6,7 +6,7 @@ int foo (const char*, const char*); void bar (void) { const char *s = "bar"; - int i; /* { dg-error "previous declaration" } */ + int i; /* { dg-message "note: previous declaration" } */ int size = 2; int i = foo (s, s + size); /* { dg-error "redeclaration of" } */ } diff --git a/gcc/testsuite/gcc.dg/noncompile/label-1.c b/gcc/testsuite/gcc.dg/noncompile/label-1.c index e9bde7b3b7b..58d212f9675 100644 --- a/gcc/testsuite/gcc.dg/noncompile/label-1.c +++ b/gcc/testsuite/gcc.dg/noncompile/label-1.c @@ -28,7 +28,7 @@ void c(void) /* can't have two labels with the same name in the same function */ void d(void) { - l: dummy(); /* { dg-error "previous definition" "prev def same scope" } */ + l: dummy(); /* { dg-message "note: previous definition" "prev def same scope" } */ l: dummy(); /* { dg-error "duplicate label" "dup label same scope" } */ goto l; } @@ -36,7 +36,7 @@ void d(void) /* even at different scopes */ void e(void) { - l: dummy(); /* { dg-error "previous definition" "prev def diff scope" } */ + l: dummy(); /* { dg-message "note: previous definition" "prev def diff scope" } */ { l: dummy(); /* { dg-error "duplicate label" "dup label diff scope" } */ } @@ -150,7 +150,7 @@ void m(void) void n(void) { - __label__ l; /* { dg-error "previous declaration" "outer label decl" } */ + __label__ l; /* { dg-message "note: previous declaration" "outer label decl" } */ void nest(void) { l: goto l; /* { dg-error "duplicate label" "inner label defn" } */ diff --git a/gcc/testsuite/gcc.dg/noncompile/label-lineno-1.c b/gcc/testsuite/gcc.dg/noncompile/label-lineno-1.c index 76d4d96edaf..6d4def7ea19 100644 --- a/gcc/testsuite/gcc.dg/noncompile/label-lineno-1.c +++ b/gcc/testsuite/gcc.dg/noncompile/label-lineno-1.c @@ -4,7 +4,7 @@ void foo(int i) { - my_label: /* { dg-error "previous definition" "prev label" } */ + my_label: /* { dg-message "note: previous definition" "prev label" } */ i++; diff --git a/gcc/testsuite/gcc.dg/noncompile/redecl-1.c b/gcc/testsuite/gcc.dg/noncompile/redecl-1.c index 416c258c0d4..732db0098db 100644 --- a/gcc/testsuite/gcc.dg/noncompile/redecl-1.c +++ b/gcc/testsuite/gcc.dg/noncompile/redecl-1.c @@ -4,6 +4,6 @@ int foo () { - int bar; /* { dg-error "previous.*decl" "previous.*decl" } */ + int bar; /* { dg-message "note: previous.*decl" "previous.*decl" } */ volatile int bar; /* { dg-error "conflicting type qualifiers" "conflicting type qualifiers" } */ } diff --git a/gcc/testsuite/gcc.dg/old-style-then-proto-1.c b/gcc/testsuite/gcc.dg/old-style-then-proto-1.c index 4d9c215a5dc..7d76287b0d1 100644 --- a/gcc/testsuite/gcc.dg/old-style-then-proto-1.c +++ b/gcc/testsuite/gcc.dg/old-style-then-proto-1.c @@ -7,38 +7,38 @@ void f1() {} void f1(void); /* { dg-warning "prototype for 'f1' follows non-prototype definition" } */ -void f2() {} /* { dg-error "previous definition of 'f2' was here" } */ +void f2() {} /* { dg-message "note: previous definition of 'f2' was here" } */ void f2(int); /* { dg-error "prototype for 'f2' declares more arguments than previous old-style definition" } */ -void f3(a) int a; {} /* { dg-error "previous definition of 'f3' was here" } */ +void f3(a) int a; {} /* { dg-message "note: previous definition of 'f3' was here" } */ void f3(void); /* { dg-error "prototype for 'f3' declares fewer arguments than previous old-style definition" } */ void f4(a) int a; {} void f4(int); /* { dg-warning "prototype for 'f4' follows non-prototype definition" } */ -void f5(a) int a; {} /* { dg-error "previous definition of 'f5' was here" } */ +void f5(a) int a; {} /* { dg-message "note: previous definition of 'f5' was here" } */ void f5(int, int); /* { dg-error "prototype for 'f5' declares more arguments than previous old-style definition" } */ -void f6(a) int a; {} /* { dg-error "previous definition of 'f6' was here" } */ +void f6(a) int a; {} /* { dg-message "note: previous definition of 'f6' was here" } */ void f6(int, ...); /* { dg-error "conflicting types for 'f6'" } */ -void f7(a, b) int a, b; {} /* { dg-error "previous definition of 'f7' was here" } */ +void f7(a, b) int a, b; {} /* { dg-message "note: previous definition of 'f7' was here" } */ void f7(int); /* { dg-error "prototype for 'f7' declares fewer arguments than previous old-style definition" } */ -void f8(a, b) int a, b; {} /* { dg-error "previous definition of 'f8' was here" } */ +void f8(a, b) int a, b; {} /* { dg-message "note: previous definition of 'f8' was here" } */ void f8(int, ...); /* { dg-error "conflicting types for 'f8'" } */ void f9(a, b) int a, b; {} void f9(int, int); /* { dg-warning "prototype for 'f9' follows non-prototype definition" } */ -void f10(a, b) int a, b; {} /* { dg-error "previous definition of 'f10' was here" } */ +void f10(a, b) int a, b; {} /* { dg-message "note: previous definition of 'f10' was here" } */ void f10(int, long); /* { dg-error "prototype for 'f10' declares argument 2 with incompatible type" } */ -void f11(a, b) int a, b; {} /* { dg-error "previous definition of 'f11' was here" } */ +void f11(a, b) int a, b; {} /* { dg-message "note: previous definition of 'f11' was here" } */ void f11(long, int); /* { dg-error "prototype for 'f11' declares argument 1 with incompatible type" } */ void f12(a, b) const int a; volatile int b; {} void f12(volatile int, const int); /* { dg-warning "prototype for 'f12' follows non-prototype definition" } */ -void f13(a) const int a[2][2]; {} /* { dg-error "previous definition of 'f13' was here" } */ +void f13(a) const int a[2][2]; {} /* { dg-message "note: previous definition of 'f13' was here" } */ void f13(volatile int [2][2]); /* { dg-error "prototype for 'f13' declares argument 1 with incompatible type" } */ diff --git a/gcc/testsuite/gcc.dg/parm-mismatch-1.c b/gcc/testsuite/gcc.dg/parm-mismatch-1.c index ba8a538fb51..8f62e122b8a 100644 --- a/gcc/testsuite/gcc.dg/parm-mismatch-1.c +++ b/gcc/testsuite/gcc.dg/parm-mismatch-1.c @@ -4,15 +4,15 @@ /* { dg-do compile } */ /* { dg-options "" } */ -void f0(); /* { dg-error "previous declaration of 'f0' was here" } */ +void f0(); /* { dg-message "note: previous declaration of 'f0' was here" } */ void f0(int, ...); /* { dg-error "conflicting types for 'f0'" } */ /* { dg-message "note: a parameter list with an ellipsis can't match an empty parameter name list declaration" "note" { target *-*-* } 8 } */ -void f1(int, ...); /* { dg-error "previous declaration of 'f1' was here" } */ +void f1(int, ...); /* { dg-message "note: previous declaration of 'f1' was here" } */ void f1(); /* { dg-error "conflicting types for 'f1'" } */ /* { dg-message "note: a parameter list with an ellipsis can't match an empty parameter name list declaration" "note" { target *-*-* } 11 } */ -void f2(); /* { dg-error "previous declaration of 'f2' was here" } */ +void f2(); /* { dg-message "note: previous declaration of 'f2' was here" } */ void f2(char); /* { dg-error "conflicting types for 'f2'" } */ /* { dg-message "note: an argument type that has a default promotion can't match an empty parameter name list declaration" "note" { target *-*-* } 14 } */ -void f3(char); /* { dg-error "previous declaration of 'f3' was here" } */ +void f3(char); /* { dg-message "note: previous declaration of 'f3' was here" } */ void f3(); /* { dg-error "conflicting types for 'f3'" } */ /* { dg-message "note: an argument type that has a default promotion can't match an empty parameter name list declaration" "note" { target *-*-* } 17 } */ diff --git a/gcc/testsuite/gcc.dg/pr15360-1.c b/gcc/testsuite/gcc.dg/pr15360-1.c index 6abb2500671..4f900d7ea19 100644 --- a/gcc/testsuite/gcc.dg/pr15360-1.c +++ b/gcc/testsuite/gcc.dg/pr15360-1.c @@ -15,10 +15,10 @@ extern int b = 1; /* { dg-warning "initialized and declared" "extern init warnin static int b; static int b; -static int c; /* { dg-error "previous declaration" "" } */ +static int c; /* { dg-message "note: previous declaration" "" } */ int c; /* { dg-error "non-static" "correct error" } */ -static int d; /* { dg-error "previous declaration" "" } */ +static int d; /* { dg-message "note: previous declaration" "" } */ int d = 1; /* { dg-error "non-static" "correct error" } */ void foo (void) { extern int e = 1; } /* { dg-error "has both" "extern init in function" } */ diff --git a/gcc/testsuite/gcc.dg/pr27953.c b/gcc/testsuite/gcc.dg/pr27953.c index 7df46b1d8e1..245b59e0ba8 100644 --- a/gcc/testsuite/gcc.dg/pr27953.c +++ b/gcc/testsuite/gcc.dg/pr27953.c @@ -5,4 +5,4 @@ void foo(struct A a) {} /* { dg-warning "declared inside parameter list" } */ /* { dg-error "incomplete type" "" { target *-*-* } 3 } */ void foo() {} /* { dg-error "redefinition" } */ -/* { dg-error "previous definition" "" { target *-*-* } 3 } */ +/* { dg-message "note: previous definition" "" { target *-*-* } 3 } */ diff --git a/gcc/testsuite/gcc.dg/pr35899.c b/gcc/testsuite/gcc.dg/pr35899.c index 113cbc87a7d..4ce4ac589f1 100644 --- a/gcc/testsuite/gcc.dg/pr35899.c +++ b/gcc/testsuite/gcc.dg/pr35899.c @@ -5,7 +5,7 @@ int foo (void) { - int a = bar (); /* { dg-warning "previous implicit declaration" } */ + int a = bar (); /* { dg-message "note: previous implicit declaration" } */ return a; } diff --git a/gcc/testsuite/gcc.dg/proto-1.c b/gcc/testsuite/gcc.dg/proto-1.c index 13c59a8a54b..62d0209b08f 100644 --- a/gcc/testsuite/gcc.dg/proto-1.c +++ b/gcc/testsuite/gcc.dg/proto-1.c @@ -1,5 +1,5 @@ /* PR c/28502 */ /* { dg-do compile } */ -void foo() {} /* { dg-error "previous" } */ +void foo() {} /* { dg-message "note: previous" } */ void foo(void[]); /* { dg-error "array of voids" } */ diff --git a/gcc/testsuite/gcc.dg/qual-return-3.c b/gcc/testsuite/gcc.dg/qual-return-3.c index 7a92046da81..e65f86d547d 100644 --- a/gcc/testsuite/gcc.dg/qual-return-3.c +++ b/gcc/testsuite/gcc.dg/qual-return-3.c @@ -6,7 +6,7 @@ /* { dg-do compile } */ /* { dg-options "" } */ -int foo (); /* { dg-error "previous declaration" "different qualifiers" } */ +int foo (); /* { dg-message "note: previous declaration" "different qualifiers" } */ const int foo () { return 0; } /* { dg-error "conflicting types" "different qualifiers" } */ void bar (void); diff --git a/gcc/testsuite/gcc.dg/redecl-1.c b/gcc/testsuite/gcc.dg/redecl-1.c index 61d6e5b307a..6a7d8faecaf 100644 --- a/gcc/testsuite/gcc.dg/redecl-1.c +++ b/gcc/testsuite/gcc.dg/redecl-1.c @@ -9,8 +9,8 @@ /* Extern at function scope, clashing with extern at file scope */ -extern int foo1; /* { dg-error "previous" } */ -extern int bar1(int); /* { dg-error "previous" } */ +extern int foo1; /* { dg-message "note: previous" } */ +extern int bar1(int); /* { dg-message "note: previous" } */ void test1(void) { @@ -22,8 +22,8 @@ void test1(void) void test2(void) { - extern double foo2; /* { dg-error "previous" } */ - extern double bar2(double); /* { dg-error "previous" } */ + extern double foo2; /* { dg-message "note: previous" } */ + extern double bar2(double); /* { dg-message "note: previous" } */ } extern int foo2; /* { dg-error "conflict" } */ @@ -36,9 +36,9 @@ typedef float baz3; /* { dg-bogus } */ void prime3(void) { - extern int foo3; /* { dg-error "previous" } */ - extern int bar3(int); /* { dg-error "previous" } */ - extern int baz3; /* { dg-error "previous" } */ + extern int foo3; /* { dg-message "note: previous" } */ + extern int bar3(int); /* { dg-message "note: previous" } */ + extern int baz3; /* { dg-message "note: previous" } */ } void test3(void) @@ -58,7 +58,7 @@ void prime4(void) void test4(void) { extern double bar4(double); /* { dg-error "conflict" } */ -/* { dg-error "previous implicit declaration" "" { target *-*-* } 55 } */ +/* { dg-message "note: previous implicit declaration" "" { target *-*-* } 55 } */ } /* Implicit decl, clashing with extern at previous function scope. */ @@ -66,7 +66,7 @@ void test4(void) void prime5(void) { extern double bar5(double); /* { dg-message "note: previous declaration" "" } */ -} /* { dg-error "previous implicit declaration" "" { target *-*-* } 68 } */ +} /* { dg-message "note: previous implicit declaration" "" { target *-*-* } 68 } */ void test5(void) { @@ -75,7 +75,7 @@ void test5(void) /* Extern then static, both at file scope. */ -extern int test6(int); /* { dg-error "previous" "" } */ +extern int test6(int); /* { dg-message "note: previous" "" } */ static int test6(int x) /* { dg-error "follows non-static" } */ { return x; } @@ -84,7 +84,7 @@ static int test6(int x) /* { dg-error "follows non-static" } */ void prime7(void) { - extern int test7(int); /* { dg-error "previous" "" } */ + extern int test7(int); /* { dg-message "note: previous" "" } */ } static int test7(int x) /* { dg-error "follows non-static" } */ @@ -94,7 +94,7 @@ static int test7(int x) /* { dg-error "follows non-static" } */ void prime8(void) { - test8(); /* { dg-error "previous" "" } */ + test8(); /* { dg-message "note: previous" "" } */ /* { dg-warning "implicit" "implicit" { target *-*-* } 97 } */ } diff --git a/gcc/testsuite/gcc.dg/redecl-11.c b/gcc/testsuite/gcc.dg/redecl-11.c index e4ce0b830ea..5540e40503c 100644 --- a/gcc/testsuite/gcc.dg/redecl-11.c +++ b/gcc/testsuite/gcc.dg/redecl-11.c @@ -5,5 +5,5 @@ /* { dg-options "" } */ int f(int (*)[]); -void g() { int f(int (*)[2]); } /* { dg-error "previous declaration of 'f' was here" } */ +void g() { int f(int (*)[2]); } /* { dg-message "note: previous declaration of 'f' was here" } */ int f(int (*)[3]); /* { dg-error "conflicting types for 'f'" } */ diff --git a/gcc/testsuite/gcc.dg/redecl-12.c b/gcc/testsuite/gcc.dg/redecl-12.c index 58041ef8e35..711b8a3fcae 100644 --- a/gcc/testsuite/gcc.dg/redecl-12.c +++ b/gcc/testsuite/gcc.dg/redecl-12.c @@ -5,5 +5,5 @@ /* { dg-options "" } */ extern int a[]; -void f(void) { extern int a[]; extern int a[10]; } /* { dg-error "previous declaration of 'a' was here" } */ +void f(void) { extern int a[]; extern int a[10]; } /* { dg-message "note: previous declaration of 'a' was here" } */ extern int a[5]; /* { dg-error "conflicting types for 'a'" } */ diff --git a/gcc/testsuite/gcc.dg/redecl-13.c b/gcc/testsuite/gcc.dg/redecl-13.c index 84eeb4eaeb5..3f05d0fb168 100644 --- a/gcc/testsuite/gcc.dg/redecl-13.c +++ b/gcc/testsuite/gcc.dg/redecl-13.c @@ -5,5 +5,5 @@ /* { dg-options "" } */ extern int a[]; -void f(void) { extern int a[10]; } /* { dg-error "previous declaration of 'a' was here" } */ +void f(void) { extern int a[10]; } /* { dg-message "note: previous declaration of 'a' was here" } */ extern int a[5]; /* { dg-error "conflicting types for 'a'" } */ diff --git a/gcc/testsuite/gcc.dg/redecl-15.c b/gcc/testsuite/gcc.dg/redecl-15.c index 5ed0eac3fde..d2f48bd79b2 100644 --- a/gcc/testsuite/gcc.dg/redecl-15.c +++ b/gcc/testsuite/gcc.dg/redecl-15.c @@ -7,7 +7,7 @@ void f (void) { - g(); /* { dg-warning "previous implicit declaration of 'g' was here" } */ + g(); /* { dg-message "note: previous implicit declaration of 'g' was here" } */ { void g(); /* { dg-warning "conflicting types for 'g'" } */ } diff --git a/gcc/testsuite/gcc.dg/redecl-16.c b/gcc/testsuite/gcc.dg/redecl-16.c index 52941cb084b..560b373fb3f 100644 --- a/gcc/testsuite/gcc.dg/redecl-16.c +++ b/gcc/testsuite/gcc.dg/redecl-16.c @@ -14,5 +14,5 @@ f (void) { extern IA5P a[]; } -IAP a[] = { 0 }; /* { dg-error "previous definition" } */ +IAP a[] = { 0 }; /* { dg-message "note: previous definition" } */ extern IA10P a[]; /* { dg-error "conflicting types" } */ diff --git a/gcc/testsuite/gcc.dg/redecl-2.c b/gcc/testsuite/gcc.dg/redecl-2.c index b1b7dc929de..fa0d5e44785 100644 --- a/gcc/testsuite/gcc.dg/redecl-2.c +++ b/gcc/testsuite/gcc.dg/redecl-2.c @@ -7,56 +7,56 @@ void fa0 (void) { - int a0; /* { dg-error "previous declaration" } */ + int a0; /* { dg-message "note: previous declaration" } */ int a0; /* { dg-error "redeclaration" } */ } void fa1 (void) { - int a1; /* { dg-error "previous declaration" } */ + int a1; /* { dg-message "note: previous declaration" } */ static int a1; /* { dg-error "redeclaration" } */ } void fa2 (void) { - int a2; /* { dg-error "previous declaration" } */ + int a2; /* { dg-message "note: previous declaration" } */ extern int a2; /* { dg-error "follows declaration with no linkage" } */ } void fa3 (void) { - static int a3; /* { dg-error "previous declaration" } */ + static int a3; /* { dg-message "note: previous declaration" } */ int a3; /* { dg-error "redeclaration" } */ } void fa4 (void) { - static int a4; /* { dg-error "previous declaration" } */ + static int a4; /* { dg-message "note: previous declaration" } */ static int a4; /* { dg-error "redeclaration" } */ } void fa5 (void) { - static int a5; /* { dg-error "previous declaration" } */ + static int a5; /* { dg-message "note: previous declaration" } */ extern int a5; /* { dg-error "follows declaration with no linkage" } */ } void fa6 (void) { - extern int a6; /* { dg-error "previous declaration" } */ + extern int a6; /* { dg-message "note: previous declaration" } */ int a6; /* { dg-error "follows extern declaration" } */ } void fa7 (void) { - extern int a7; /* { dg-error "previous declaration" } */ + extern int a7; /* { dg-message "note: previous declaration" } */ static int a7; /* { dg-error "follows extern declaration" } */ } diff --git a/gcc/testsuite/gcc.dg/redecl-5.c b/gcc/testsuite/gcc.dg/redecl-5.c index a689295bb85..15b1f8c8ec4 100644 --- a/gcc/testsuite/gcc.dg/redecl-5.c +++ b/gcc/testsuite/gcc.dg/redecl-5.c @@ -7,7 +7,7 @@ void f (void) { - long z(); /* { dg-error "previous implicit declaration" } */ + long z(); /* { dg-message "note: previous implicit declaration" } */ } void diff --git a/gcc/testsuite/gcc.dg/sibcall-3.c b/gcc/testsuite/gcc.dg/sibcall-3.c index 38f3e37622d..a33d4d34502 100644 --- a/gcc/testsuite/gcc.dg/sibcall-3.c +++ b/gcc/testsuite/gcc.dg/sibcall-3.c @@ -5,7 +5,7 @@ Copyright (C) 2002 Free Software Foundation Inc. Contributed by Hans-Peter Nilsson <hp@bitrange.com> */ -/* { dg-do run { xfail arc-*-* avr-*-* cris-*-* crisv32-*-* h8300-*-* hppa*64*-*-* m32r-*-* m68hc1?-*-* mcore-*-* mn10300-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */ +/* { dg-do run { xfail arc-*-* avr-*-* cris-*-* crisv32-*-* h8300-*-* hppa*64*-*-* m32r-*-* m68hc1?-*-* mcore-*-* mn10300-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa*-*-* } } */ /* -mlongcall disables sibcall patterns. */ /* { dg-skip-if "" { powerpc*-*-* } { "-mlongcall" } { "" } } */ /* { dg-options "-O2 -foptimize-sibling-calls" } */ diff --git a/gcc/testsuite/gcc.dg/sibcall-4.c b/gcc/testsuite/gcc.dg/sibcall-4.c index 535efb64504..e13db6bb74f 100644 --- a/gcc/testsuite/gcc.dg/sibcall-4.c +++ b/gcc/testsuite/gcc.dg/sibcall-4.c @@ -5,7 +5,7 @@ Copyright (C) 2002 Free Software Foundation Inc. Contributed by Hans-Peter Nilsson <hp@bitrange.com> */ -/* { dg-do run { xfail arc-*-* avr-*-* cris-*-* crisv32-*-* h8300-*-* hppa*64*-*-* m32r-*-* m68hc1?-*-* mcore-*-* mn10300-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */ +/* { dg-do run { xfail arc-*-* avr-*-* cris-*-* crisv32-*-* h8300-*-* hppa*64*-*-* m32r-*-* m68hc1?-*-* mcore-*-* mn10300-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa*-*-* } } */ /* -mlongcall disables sibcall patterns. */ /* { dg-skip-if "" { powerpc*-*-* } { "-mlongcall" } { "" } } */ /* { dg-options "-O2 -foptimize-sibling-calls" } */ diff --git a/gcc/testsuite/gcc.dg/tls/diag-3.c b/gcc/testsuite/gcc.dg/tls/diag-3.c index 45d89b43722..1a7994c69e7 100644 --- a/gcc/testsuite/gcc.dg/tls/diag-3.c +++ b/gcc/testsuite/gcc.dg/tls/diag-3.c @@ -1,10 +1,10 @@ /* Report invalid extern and __thread combinations. */ /* { dg-require-effective-target tls } */ -extern int j; /* { dg-error "previous declaration" } */ +extern int j; /* { dg-message "note: previous declaration" } */ __thread int j; /* { dg-error "follows non-thread-local" } */ -extern __thread int i; /* { dg-error "previous declaration" } */ +extern __thread int i; /* { dg-message "note: previous declaration" } */ int i; /* { dg-error "follows thread-local" } */ extern __thread int k; /* This is fine. */ diff --git a/gcc/testsuite/gcc.dg/torture/pr25183.c b/gcc/testsuite/gcc.dg/torture/pr25183.c index a6c624cf472..0157b806c7d 100644 --- a/gcc/testsuite/gcc.dg/torture/pr25183.c +++ b/gcc/testsuite/gcc.dg/torture/pr25183.c @@ -12,11 +12,11 @@ static enum err E_; int error() { switch (E_) { - case err_IO : break; /* { dg-warning "overflow" } */ - case err_NM : break; /* { dg-warning "overflow" } */ - case err_EOF : break; /* { dg-warning "overflow" } */ - case err_SE : break; /* { dg-warning "overflow" } */ - case err_PT : break; /* { dg-warning "overflow" } */ + case err_IO : break; + case err_NM : break; + case err_EOF : break; + case err_SE : break; + case err_PT : break; default : return 0; } } diff --git a/gcc/testsuite/gcc.dg/transparent-union-2.c b/gcc/testsuite/gcc.dg/transparent-union-2.c index f466c4aa2be..09fbb4d9722 100644 --- a/gcc/testsuite/gcc.dg/transparent-union-2.c +++ b/gcc/testsuite/gcc.dg/transparent-union-2.c @@ -5,14 +5,14 @@ typedef union { int *i; long *l; } U __attribute__((transparent_union)); -extern void f0 (U); /* { dg-error "previous declaration" } */ +extern void f0 (U); /* { dg-message "note: previous declaration" } */ extern void f0 (void *); /* { dg-error "conflicting types" } */ -extern void f1 (U); /* { dg-error "previous declaration" } */ +extern void f1 (U); /* { dg-message "note: previous declaration" } */ extern void f1 (unsigned long); /* { dg-error "conflicting types" } */ -extern void f2 (void *); /* { dg-error "previous declaration" } */ +extern void f2 (void *); /* { dg-message "note: previous declaration" } */ extern void f2 (U); /* { dg-error "conflicting types" } */ -extern void f3 (unsigned long); /* { dg-error "previous declaration" } */ +extern void f3 (unsigned long); /* { dg-message "note: previous declaration" } */ extern void f3 (U); /* { dg-error "conflicting types" } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c index 6103c400ecb..178e6a44822 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c @@ -1,3 +1,4 @@ +/* { dg-options "" } */ int main(int a, int b, int c, int d) { int e = (a & ~b) & (~c & d); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/recip-2.c b/gcc/testsuite/gcc.dg/tree-ssa/recip-2.c index af628053ad5..be754145e7d 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/recip-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/recip-2.c @@ -1,7 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O1 -funsafe-math-optimizations -fdump-tree-recip" } */ -float e(float a, float b, float c, float d, float e, float f) +float u, v, w, x, y, z; + +void e(float a, float b, float c, float d, float e, float f) { if (a < b) { @@ -20,7 +22,12 @@ float e(float a, float b, float c, float d, float e, float f) /* This should not be left as a multiplication. */ c = 1 / c; - return a + b + c + d + e + f; + u = a; + v = b; + w = c; + x = d; + y = e; + z = f; } /* { dg-final { scan-tree-dump-times " / " 2 "recip" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/recip-6.c b/gcc/testsuite/gcc.dg/tree-ssa/recip-6.c index 60fefd01da5..b3334fb862a 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/recip-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/recip-6.c @@ -5,7 +5,9 @@ extern int f2(); -double f1(double y, double z, double w) +double m, n, o; + +void f1(double y, double z, double w) { double b, c, d, e, f; @@ -18,7 +20,9 @@ double f1(double y, double z, double w) e = c / y; f = 1 / y; - return d + e + f; + m = d; + n = e; + o = f; } /* { dg-final { scan-tree-dump-times " / " 1 "recip" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/recip-7.c b/gcc/testsuite/gcc.dg/tree-ssa/recip-7.c index af1bf3c008b..98bbdca6e2c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/recip-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/recip-7.c @@ -5,7 +5,9 @@ extern double h(); -double f(int x, double z, double w) +double m, n, o; + +void f(int x, double z, double w) { double b, c, d, e, f; double y = h (); @@ -19,7 +21,9 @@ double f(int x, double z, double w) e = c / y; f = 1 / y; - return d + e + f; + m = d; + n = e; + o = f; } /* { dg-final { scan-tree-dump-times " / " 1 "recip" } } */ diff --git a/gcc/testsuite/gcc.dg/var-expand3.c b/gcc/testsuite/gcc.dg/var-expand3.c index 7930ad94dec..a9d0fe917b8 100644 --- a/gcc/testsuite/gcc.dg/var-expand3.c +++ b/gcc/testsuite/gcc.dg/var-expand3.c @@ -1,5 +1,5 @@ /* { dg-do run { target { powerpc*-*-* && vmx_hw } } }} */ -/* { dg-options "-O2 -funroll-loops -ffast-math -fvariable-expansion-in-unroller -maltivec -fdump-rtl-loop2" } */ +/* { dg-options "-O2 -funroll-loops -ffast-math -fvariable-expansion-in-unroller -maltivec -fdump-rtl-loop2_unroll" } */ #include "altivec.h" extern void abort (void); diff --git a/gcc/testsuite/gcc.dg/vect/vect-112.c b/gcc/testsuite/gcc.dg/vect/vect-112.c index 4b963eb2661..0bc185b361e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-112.c +++ b/gcc/testsuite/gcc.dg/vect/vect-112.c @@ -32,7 +32,7 @@ int main (void) return main1 (); } -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_unpack } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-35.c b/gcc/testsuite/gcc.dg/vect/vect-35.c index 569907c50b2..d75308f22fe 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-35.c +++ b/gcc/testsuite/gcc.dg/vect/vect-35.c @@ -18,6 +18,8 @@ int main1 () for (i = 0; i < N; i++) { s.b[i] = 3*i; + if (i%3 == 0) + s.b[i] = 3*i; } /* Dependence analysis fails cause s.a and s.b may overlap. diff --git a/gcc/testsuite/gcc.dg/vect/vect-72.c b/gcc/testsuite/gcc.dg/vect/vect-72.c index 95bc7caede0..67a19751952 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-72.c +++ b/gcc/testsuite/gcc.dg/vect/vect-72.c @@ -18,6 +18,9 @@ int main1 () for (i=0; i < N+1; i++) { ib[i] = i; + /* Avoid vectorization. */ + if (i%3 == 0) + ib[i] = 5; } for (i = 1; i < N+1; i++) diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-4a.c b/gcc/testsuite/gcc.dg/vect/vect-outer-4a.c index 8fd1a03db14..d7bcc9a2e8c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-outer-4a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-outer-4a.c @@ -6,8 +6,7 @@ signed short in[N+M]; signed short coeff[M]; signed short out[N]; -/* Outer-loop vectorization. - Currently not vectorized because of multiple-data-types in the inner-loop. */ +/* Outer-loop vectorization. */ void foo (){ @@ -23,9 +22,5 @@ foo (){ } } -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */ -/* FORNOW. not vectorized until we support 0-stride acceses like coeff[j]. should be: - { scan-tree-dump-not "multiple types in nested loop." "vect" { xfail *-*-* } } } */ - -/* { dg-final { scan-tree-dump-times "zero step in outer loop." 1 "vect" } } */ +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { target { vect_widen_mult_hi_to_si && vect_pack_trunc } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-4b.c b/gcc/testsuite/gcc.dg/vect/vect-outer-4b.c index ba2f7b4d0df..407315a8dc3 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-outer-4b.c +++ b/gcc/testsuite/gcc.dg/vect/vect-outer-4b.c @@ -6,8 +6,7 @@ signed short in[N+M]; signed short coeff[M]; int out[N]; -/* Outer-loop vectorization. - Currently not vectorized because of multiple-data-types in the inner-loop. */ +/* Outer-loop vectorization. */ void foo (){ @@ -23,9 +22,5 @@ foo (){ } } -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */ -/* FORNOW. not vectorized until we support 0-stride acceses like coeff[j]. should be: - { scan-tree-dump-not "multiple types in nested loop." "vect" { xfail *-*-* } } } */ - -/* { dg-final { scan-tree-dump-times "zero step in outer loop." 1 "vect" } } */ +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { target vect_widen_mult_hi_to_si } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-4f.c b/gcc/testsuite/gcc.dg/vect/vect-outer-4f.c index cef37c42321..88d6b7abccd 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-outer-4f.c +++ b/gcc/testsuite/gcc.dg/vect/vect-outer-4f.c @@ -2,7 +2,7 @@ #include <stdarg.h> #include "tree-vect.h" -#define N 40 +#define N 96 #define M 128 unsigned short in[N+M]; unsigned int out[N]; diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-4g.c b/gcc/testsuite/gcc.dg/vect/vect-outer-4g.c index cef37c42321..88d6b7abccd 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-outer-4g.c +++ b/gcc/testsuite/gcc.dg/vect/vect-outer-4g.c @@ -2,7 +2,7 @@ #include <stdarg.h> #include "tree-vect.h" -#define N 40 +#define N 96 #define M 128 unsigned short in[N+M]; unsigned int out[N]; diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-4i.c b/gcc/testsuite/gcc.dg/vect/vect-outer-4i.c index bc43c5bc6d5..a244ac20ac2 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-outer-4i.c +++ b/gcc/testsuite/gcc.dg/vect/vect-outer-4i.c @@ -1,13 +1,17 @@ -/* { dg-do compile } */ +/* { dg-require-effective-target vect_int } */ -#define N 40 +#include <stdarg.h> +#include "tree-vect.h" + +#define N 96 #define M 128 unsigned char in[N+M]; unsigned short out[N]; /* Outer-loop vectorization. */ -/* Not vectorized due to multiple-types in the inner-loop. */ +/* Multiple-types in the inner-loop. */ +__attribute__ ((noinline)) unsigned short foo (){ int i,j; @@ -24,5 +28,22 @@ foo (){ return s; } -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */ +int main (void) +{ + check_vect (); + int i; + unsigned short s; + + for (i = 0; i < N+M; i++) + in[i] = (unsigned char)i; + + s = foo (); + + if (s != 34048) + abort (); + + return 0; +} + +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { target vect_unpack } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-4j.c b/gcc/testsuite/gcc.dg/vect/vect-outer-4j.c index 7e1b7ec81ee..db8f61c5e37 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-outer-4j.c +++ b/gcc/testsuite/gcc.dg/vect/vect-outer-4j.c @@ -1,12 +1,11 @@ /* { dg-do compile } */ -#define N 40 +#define N 96 #define M 128 unsigned char in[N+M]; unsigned short out[N]; /* Outer-loop vectorization. */ -/* Not vectorized due to multiple-types in the inner-loop. */ void foo (){ @@ -22,5 +21,5 @@ foo (){ } } -/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { target vect_unpack } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-4k.c b/gcc/testsuite/gcc.dg/vect/vect-outer-4k.c index cef37c42321..88d6b7abccd 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-outer-4k.c +++ b/gcc/testsuite/gcc.dg/vect/vect-outer-4k.c @@ -2,7 +2,7 @@ #include <stdarg.h> #include "tree-vect.h" -#define N 40 +#define N 96 #define M 128 unsigned short in[N+M]; unsigned int out[N]; diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-4l.c b/gcc/testsuite/gcc.dg/vect/vect-outer-4l.c index cef37c42321..88d6b7abccd 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-outer-4l.c +++ b/gcc/testsuite/gcc.dg/vect/vect-outer-4l.c @@ -2,7 +2,7 @@ #include <stdarg.h> #include "tree-vect.h" -#define N 40 +#define N 96 #define M 128 unsigned short in[N+M]; unsigned int out[N]; diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8c.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8c.c index 081a5305a0d..80377bae9a4 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8c.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8c.c @@ -11,8 +11,7 @@ signed char X[N] __attribute__ ((__aligned__(16))); signed char Y[N] __attribute__ ((__aligned__(16))); /* char->int->int dot product. - Not detected as a dot-product pattern. - Currently fails to be vectorized due to presence of type conversions. */ + Not detected as a dot-product pattern. */ __attribute__ ((noinline)) int foo3(int len) { int i; @@ -42,6 +41,5 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */ - +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_unpack } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c index 38f8a6955ba..d8aefdad1a6 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c @@ -44,6 +44,8 @@ int main (void) for (i=0; i<N; i++) { X[i] = i; Y[i] = 64-i; + if (i%5 == 0) + X[i] = i; } dot = foo (N); diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c index bfe3769008b..5496f6af920 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c @@ -39,6 +39,9 @@ int main (void) for (i=0; i<N; i++) { X[i] = i; Y[i] = 64-i; + /* Avoid vectorization. */ + if (i%100 == 0) + X[i] = i; } dot = foo (N); @@ -54,7 +57,7 @@ int main (void) targets that support accumulation into int (powerpc, ia64) we'd have: dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_udot_qi || vect_widen_mult_qi_to_hi } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {target vect_widen_mult_qi_to_hi} } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {target { vect_widen_mult_qi_to_hi || vect_unpack } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1b.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1b.c index 7d8bbf38001..6effa87ebb5 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1b.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1b.c @@ -35,6 +35,6 @@ main (void) } /* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected" 1 "vect" } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_sum_qi_to_si } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vect_widen_sum_qi_to_si } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_widen_sum_qi_to_si || vect_unpack } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { { ! vect_widen_sum_qi_to_si } && { ! vect_unpack } } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2b.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2b.c index b24df184896..53d5f0d5cce 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2b.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2b.c @@ -35,6 +35,6 @@ main (void) } /* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected" 1 "vect" } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_sum_qi_to_si } } } */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vect_widen_sum_qi_to_si } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_widen_sum_qi_to_si && vect_unpack } } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { { ! vect_widen_sum_qi_to_si } && { ! vect_unpack } } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c b/gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c index dc6c6e3c400..8548d267ede 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c +++ b/gcc/testsuite/gcc.dg/vect/vect-strided-store-a-u8-i2.c @@ -24,8 +24,8 @@ main1 () { a[i] = i; b[i] = i * 2; - if (a[i] == 178) - abort(); + if (i%3 == 0) + a[i] = 10; } for (i = 0; i < N; i++) diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c index 6052943ae07..63bd00227d7 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c +++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c @@ -28,6 +28,8 @@ int main (void) for (i=0; i<N; i++) { X[i] = i; Y[i] = 64-i; + if (i%4 == 0) + X[i] = 5; } foo1 (N); @@ -40,6 +42,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_mult_qi_to_hi } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_widen_mult_qi_to_hi || vect_unpack } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c index 8307af4435a..31eb3f62054 100644 --- a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c +++ b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c @@ -40,6 +40,8 @@ int main (void) for (i=0; i<N; i++) { X[i] = i; Y[i] = 64-i; + if (i%5 == 0) + X[i] = i; } dot = foo (N); @@ -57,6 +59,6 @@ int main (void) dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_sdot_qi } } */ /* In the meantime expect: */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_mult_qi_to_hi } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_widen_mult_qi_to_hi || vect_unpack } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/visibility-7.c b/gcc/testsuite/gcc.dg/visibility-7.c index aaa8165e3e0..016f3dda6f3 100644 --- a/gcc/testsuite/gcc.dg/visibility-7.c +++ b/gcc/testsuite/gcc.dg/visibility-7.c @@ -5,7 +5,7 @@ extern int __attribute__((visibility ("hidden"))) -xyzzy; /* { dg-warning "previous declaration" "" } */ +xyzzy; /* { dg-message "note: previous declaration" "" } */ int __attribute__((visibility ("protected"))) diff --git a/gcc/testsuite/gcc.dg/wtr-static-1.c b/gcc/testsuite/gcc.dg/wtr-static-1.c index 42760e8cf6b..318b2f32ca2 100644 --- a/gcc/testsuite/gcc.dg/wtr-static-1.c +++ b/gcc/testsuite/gcc.dg/wtr-static-1.c @@ -4,7 +4,7 @@ /* { dg-do compile } */ /* { dg-options "-Wtraditional" } */ -static void testfunc1(void); /* { dg-warning "previous declaration" } */ +static void testfunc1(void); /* { dg-message "note: previous declaration" } */ void testfunc1() {} /* { dg-warning "non-static.*follows static" "non-static follows static" } */ # 11 "sys-header.h" 3 diff --git a/gcc/testsuite/gcc.target/i386/pr32000-2.c b/gcc/testsuite/gcc.target/i386/pr32000-2.c index 7230258045d..639b121dc1e 100644 --- a/gcc/testsuite/gcc.target/i386/pr32000-2.c +++ b/gcc/testsuite/gcc.target/i386/pr32000-2.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-require-effective-target ilp32 && dfp } */ +/* { dg-skip-if "" { ! { ilp32 && dfp } } } */ /* { dg-options "-O -msse2 -std=gnu99 -mpreferred-stack-boundary=2" } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr36992-1.c b/gcc/testsuite/gcc.target/i386/pr36992-1.c index aad6f7cd14d..7cd24cccf3e 100644 --- a/gcc/testsuite/gcc.target/i386/pr36992-1.c +++ b/gcc/testsuite/gcc.target/i386/pr36992-1.c @@ -9,4 +9,4 @@ test (__m128i b) return _mm_move_epi64 (b); } -/* { dg-final { scan-assembler-times "mov\[qd\]\[ \\t\]+.*%xmm" 1 } } */ +/* { dg-final { scan-assembler-times "movq\[ \\t\]+.*%xmm" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr36992-2.c b/gcc/testsuite/gcc.target/i386/pr36992-2.c index eb9c3a28fee..17696a5b276 100644 --- a/gcc/testsuite/gcc.target/i386/pr36992-2.c +++ b/gcc/testsuite/gcc.target/i386/pr36992-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } -/* { dg-options "-O0 -msse2" } */ +/* { dg-options "-O2 -msse4" } */ #include <emmintrin.h> @@ -9,4 +9,4 @@ test (__m128i b) return _mm_move_epi64 (b); } -/* { dg-final { scan-assembler-not "%mm" } } */ +/* { dg-final { scan-assembler-times "movq\[ \\t\]+.*%xmm" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/regparm.c b/gcc/testsuite/gcc.target/i386/regparm.c index 7334c972d4d..9db191c7275 100644 --- a/gcc/testsuite/gcc.target/i386/regparm.c +++ b/gcc/testsuite/gcc.target/i386/regparm.c @@ -3,7 +3,7 @@ /* { dg-options "-W -Wall" } */ /* Verify that GCC correctly detects non-matching regparm attributes. */ -int __attribute__((regparm(3))) f (void); /* { dg-error "previous" } */ +int __attribute__((regparm(3))) f (void); /* { dg-message "note: previous" } */ int __attribute__((regparm(2))) f (void) { /* { dg-error "conflicting" } */ return 0; diff --git a/gcc/testsuite/gcc.target/i386/stackalign/return-3.c b/gcc/testsuite/gcc.target/i386/stackalign/return-3.c index d8ab69bbea0..8a682b8fca6 100644 --- a/gcc/testsuite/gcc.target/i386/stackalign/return-3.c +++ b/gcc/testsuite/gcc.target/i386/stackalign/return-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-require-effective-target ilp32 && dfp } */ +/* { dg-skip-if "" { ! { ilp32 && dfp } } } */ /* { dg-options "-msse -std=gnu99 -mpreferred-stack-boundary=2" } */ /* This compile only test is to detect an assertion failure in stack branch diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-macros.c b/gcc/testsuite/gcc.target/powerpc/altivec-macros.c index d95a68dd966..ef497a44161 100644 --- a/gcc/testsuite/gcc.target/powerpc/altivec-macros.c +++ b/gcc/testsuite/gcc.target/powerpc/altivec-macros.c @@ -55,9 +55,9 @@ _Pragma ("__vector") /* { dg-warning "redefined" "pixel redefined" { target *-*-* } 48 } */ /* { dg-warning "redefined" "bool redefined" { target *-*-* } 49 } */ -/* { dg-warning "previous" "prev __vector defn" { target *-*-* } 24 } */ -/* { dg-warning "previous" "prev __pixel defn" { target *-*-* } 27 } */ -/* { dg-warning "previous" "prev __bool defn" { target *-*-* } 30 } */ -/* { dg-warning "previous" "prev vector defn" { target *-*-* } 33 } */ -/* { dg-warning "previous" "prev pixel defn" { target *-*-* } 36 } */ -/* { dg-warning "previous" "prev bool defn" { target *-*-* } 39 } */ +/* { dg-message "note: previous" "prev __vector defn" { target *-*-* } 24 } */ +/* { dg-message "note: previous" "prev __pixel defn" { target *-*-* } 27 } */ +/* { dg-message "note: previous" "prev __bool defn" { target *-*-* } 30 } */ +/* { dg-message "note: previous" "prev vector defn" { target *-*-* } 33 } */ +/* { dg-message "note: previous" "prev pixel defn" { target *-*-* } 36 } */ +/* { dg-message "note: previous" "prev bool defn" { target *-*-* } 39 } */ diff --git a/gcc/testsuite/gcc.target/sparc/ultrasp3.c b/gcc/testsuite/gcc.target/sparc/ultrasp3.c index 1e028add878..87025881361 100644 --- a/gcc/testsuite/gcc.target/sparc/ultrasp3.c +++ b/gcc/testsuite/gcc.target/sparc/ultrasp3.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-require-effective-target ilp32 && ultrasparc_hw } */ +/* { dg-skip-if "" { ! { ilp32 && ultrasparc_hw } } } */ /* { dg-options "-mcpu=ultrasparc -mv8plus" } */ extern void abort (void); diff --git a/gcc/testsuite/gfortran.dg/module_md5_1.f90 b/gcc/testsuite/gfortran.dg/module_md5_1.f90 index b9bb5fa1eb6..f52426fbd00 100644 --- a/gcc/testsuite/gfortran.dg/module_md5_1.f90 +++ b/gcc/testsuite/gfortran.dg/module_md5_1.f90 @@ -10,5 +10,5 @@ program test use foo print *, pi end program test -! { dg-final { scan-module "foo" "MD5:2350094d1d87eb25ab22af5f8e96e011" } } +! { dg-final { scan-module "foo" "MD5:596df8f39d3ddc0b847771cadcb26274" } } ! { dg-final { cleanup-modules "foo" } } diff --git a/gcc/testsuite/lib/target-supports-dg.exp b/gcc/testsuite/lib/target-supports-dg.exp index 4bff5fa4424..0f8c7255b55 100644 --- a/gcc/testsuite/lib/target-supports-dg.exp +++ b/gcc/testsuite/lib/target-supports-dg.exp @@ -117,6 +117,9 @@ proc dg-require-named-sections { args } { proc dg-require-effective-target { args } { set args [lreplace $args 0 0] + if { [llength $args] != 1 } { + error "syntax error, need a single effective-target keyword" + } if { ![is-effective-target [lindex $args 0]] } { upvar dg-do-what dg-do-what set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index d82829e2058..2c9165c3c04 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -439,6 +439,14 @@ proc check_profiling_available { test_what } { return 0 } + # We don't yet support profiling for MIPS16. + if { [istarget mips*-*-*] + && ![check_effective_target_nomips16] + && ([lindex $test_what 1] == "-p" + || [lindex $test_what 1] == "-pg") } { + return 0 + } + # MinGW does not support -p. if { [istarget *-*-mingw*] && [lindex $test_what 1] == "-p" } { return 0 @@ -476,7 +484,7 @@ proc check_profiling_available { test_what } { || [istarget m68k-*-uclinux*] || [istarget mips*-*-elf*] || [istarget xstormy16-*] - || [istarget xtensa-*-elf] + || [istarget xtensa*-*-elf] || [istarget *-*-vxworks*] } { set profiling_available_saved 0 } else { @@ -1203,6 +1211,8 @@ proc check_effective_target_vect_floatint_cvt { } { } else { set et_vect_floatint_cvt_saved 0 if { [istarget i?86-*-*] + || ([istarget powerpc*-*-*] + && ![istarget powerpc-*-linux*paired*]) || [istarget x86_64-*-*] } { set et_vect_floatint_cvt_saved 1 } |