aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog522
-rw-r--r--gcc/testsuite/ada/acats/tests/cxa/cxa3004.a235
-rw-r--r--gcc/testsuite/ada/acats/tests/cxb/cxb30061.am404
-rw-r--r--gcc/testsuite/ada/acats/tests/cxb/cxb30131.c3
-rw-r--r--gcc/testsuite/g++.dg/charset/asm1.c2
-rw-r--r--gcc/testsuite/g++.dg/charset/asm2.c2
-rw-r--r--gcc/testsuite/g++.dg/charset/asm3.c2
-rw-r--r--gcc/testsuite/g++.dg/charset/asm4.c2
-rw-r--r--gcc/testsuite/g++.dg/charset/asm5.c2
-rw-r--r--gcc/testsuite/g++.dg/charset/attribute1.c2
-rw-r--r--gcc/testsuite/g++.dg/charset/attribute2.c2
-rw-r--r--gcc/testsuite/g++.dg/charset/charset.exp2
-rw-r--r--gcc/testsuite/g++.dg/charset/extern1.cc2
-rw-r--r--gcc/testsuite/g++.dg/charset/extern2.cc2
-rw-r--r--gcc/testsuite/g++.dg/charset/extern3.cc2
-rw-r--r--gcc/testsuite/g++.dg/charset/function.cc2
-rw-r--r--gcc/testsuite/g++.dg/charset/string.c2
-rw-r--r--gcc/testsuite/g++.dg/dg.exp1
-rw-r--r--gcc/testsuite/g++.dg/lookup/anon2.C7
-rw-r--r--gcc/testsuite/g++.dg/other/anon3.C2
-rw-r--r--gcc/testsuite/g++.dg/rtti/tinfo1.C2
-rw-r--r--gcc/testsuite/g++.dg/template/crash2.C2
-rw-r--r--gcc/testsuite/g++.dg/template/qualttp15.C4
-rw-r--r--gcc/testsuite/g++.dg/template/qualttp20.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10769a.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/template6.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/struct1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20020720-1.x2
-rw-r--r--gcc/testsuite/gcc.dg/asm-b.c6
-rw-r--r--gcc/testsuite/gcc.dg/builtins-10.c7
-rw-r--r--gcc/testsuite/gcc.dg/builtins-34.c17
-rw-r--r--gcc/testsuite/gcc.dg/charset/asm1.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/asm2.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/asm3.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/asm4.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/asm5.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/asm6.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/attribute1.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/attribute2.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/charset.exp2
-rw-r--r--gcc/testsuite/gcc.dg/charset/extern.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/function.c2
-rw-r--r--gcc/testsuite/gcc.dg/charset/string.c2
-rw-r--r--gcc/testsuite/gcc.dg/cpp/separate-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/971104-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/990416-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/sibcall-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/sibcall-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/torture/builtin-power-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20040517-1.c5
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20040703-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/inline_asm-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/uninit-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect.exp3
-rw-r--r--gcc/testsuite/gcc.misc-tests/linkage.exp5
-rw-r--r--gcc/testsuite/gfortran.dg/do_iterator.f908
-rw-r--r--gcc/testsuite/gfortran.dg/pr17708.f904
-rw-r--r--gcc/testsuite/gfortran.dg/select_4.f9012
-rw-r--r--gcc/testsuite/lib/gcc-dg.exp282
-rw-r--r--gcc/testsuite/lib/gfortran-dg.exp48
-rw-r--r--gcc/testsuite/lib/target-supports.exp86
-rw-r--r--gcc/testsuite/treelang/ChangeLog25
-rw-r--r--gcc/testsuite/treelang/compile/var_defs.tree6
65 files changed, 795 insertions, 1061 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2dfc38fff8c..9ab9ada96e9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,515 @@
+2005-02-26 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/20188
+ * gcc.dg/tree-ssa/inline_asm-1.c: New test.
+ * gcc.dg/tree-ssa/inline_asm-2.c: New test.
+ * gcc.dg/asm-b.c: New test.
+
+2005-02-26 Richard Sandiford <rsandifo@redhat.com>
+
+ * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: New file.
+ Disable this test on IRIX 6.
+
+2005-02-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.dg/cpp/separate-1.c, gcc.dg/noncompile/971104-1.c,
+ gcc.dg/noncompile/990416-1.c: Adjust expected messages for new
+ parser.
+
+2005-02-25 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/20204
+ * testsuite/gcc.dg/pr20204.c: New test.
+
+2005-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/20196
+ * gcc.c-torture/execute/20050224-1.c: New test.
+
+ PR c++/20175
+ * g++.dg/warn/Wbraces2.C: New test.
+
+2005-02-23 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19878
+ * g++.dg/init/const2.C: New test.
+
+2005-02-23 Hans-Peter Nilsson <hp@axis.com>
+
+ PR tree-optimization/20100
+ * gcc.c-torture/execute/pr20100-1.c: New test.
+
+2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * gfortran.dg/implicit_3.f90: New test.
+
+ * gfortran.dg/deftype_1.f90: New test.
+
+2005-02-23 Alexandre Oliva <aoliva@redhat.com>
+
+ * g++.dg/lookup/anon2.C: Don't let access checks make it look like
+ the test passes.
+ * g++.dg/other/anon3.C: Accept a warning.
+
+2005-02-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * gcc.dg/pr20017.c: Fix a comment typo.
+
+2005-02-23 Bud Davis <bdavis@gfortran.org>
+
+ * gfortran.dg/list_read_4.f90: Change to f90 comments.
+
+2005-02-23 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR ada/19902
+ * ada/acats/tests/cxa/cxa3004.a: Remove.
+ * ada/acats/tests/cxb/cxb30061.am: Likewise.
+
+2005-02-22 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/20073
+ * g++.dg/init/const1.C: New test.
+
+ PR c++/19991
+ * g++.dg/parse/constant7.C: New test.
+
+ PR c++/20152
+ * g++.dg/parse/error27.C: New test.
+ * g++.dg/template/qualttp15.C: Adjust error markers.
+ * g++.old-deja/g++.other/struct1.C: Likewise.
+
+ PR c++/20153
+ * g++.dg/template/error17.C: New test.
+
+ PR c++/20148
+ * g++.dg/parser/error26.C: New test.
+
+2005-02-22 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/20100
+ PR tree-optimization/20115
+ * gcc.dg/pr20115.c: New test.
+ * gcc.dg/pr20115-1.c: New test.
+ * gcc.dg/pr20100.c: New test.
+ * gcc.dg/tree-ssa/20040517-1.c: Expect virtual operands for
+ call-clobbered variables after alias1.
+
+2005-02-22 Bud Davis <bdavis@gfortran.org>
+
+ * gfortran.dg/list_read_4.f90: new test.
+
+2005-02-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR rtl-optimization/20017.
+ * gcc.dg/pr20017.c: New.
+
+2005-02-22 Devang Patel <dpatel@apple.com>
+
+ PR 19952
+ * g++.dg/tree-ssa/pr19952.C: New test.
+
+2005-02-22 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19883
+ * g++.dg/parse/constant6.C: New test.
+
+2005-02-22 Uros Bizjak <uros@kss-loka.si>
+
+ * g++.dg/charset/asm1.c: Check for IBM1047 code set, not IBM-1047.
+ * g++.dg/charset/asm2.c: Likewise.
+ * g++.dg/charset/asm3.c: Likewise.
+ * g++.dg/charset/asm4.c: Likewise.
+ * g++.dg/charset/asm5.c: Likewise.
+ * g++.dg/charset/attribute1.c: Likewise.
+ * g++.dg/charset/attribute2.c: Likewise.
+ * g++.dg/charset/extern1.cc: Likewise.
+ * g++.dg/charset/extern2.cc: Likewise.
+ * g++.dg/charset/extern3.cc: Likewise.
+ * g++.dg/charset/function.cc: Likewise.
+ * g++.dg/charset/string.c: Likewise.
+ * g++.dg/charset/charset.exp: Likewise.
+ * lib/target-supports.exp (check_iconv_available): Fix comment.
+
+2005-02-22 Uros Bizjak <uros@kss-loka.si>
+
+ * gcc.dg/charset/builtin1.c: Use dg-require-iconv "IBM1047".
+ * gcc.dg/charset/asm1.c: Check for IBM1047 code set, not IBM-1047.
+ * gcc.dg/charset/asm2.c: Likewise.
+ * gcc.dg/charset/asm3.c: Likewise.
+ * gcc.dg/charset/asm4.c: Likewise.
+ * gcc.dg/charset/asm5.c: Likewise.
+ * gcc.dg/charset/asm6.c: Likewise.
+ * gcc.dg/charset/attribute1.c: Likewise.
+ * gcc.dg/charset/attribute2.c: Likewise.
+ * gcc.dg/charset/builtin1.c: Likewise.
+ * gcc.dg/charset/extern.c: Likewise.
+ * gcc.dg/charset/function.c: Likewise.
+ * gcc.dg/charset/string.c: Likewise.
+ * gcc.dg/charset/charset.exp: Likewise.
+
+2005-02-21 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/20086
+ * gfortran.dg/pr20086.f90: New test.
+
+2005-02-21 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/19786
+ * g++.dg/tree-ssa/pr19786.C: New.
+
+2005-02-21 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * lib/gfortran-dg.exp (gfortran-dg-test): Split long regexps.
+
+2005-02-21 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/20041122-1.c: New test for missing optimization.
+
+2005-02-20 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * gfortran.dg/do_iterator: Split loop, markup all lines for
+ which an error locus is printed.
+ * gfortran.dg/pr17708.f90: Markup all lines for which an error
+ locus is printed.
+ * gfortran.dg/select_4.f90: Likewise.
+ * lib/gfortran-dg.exp (gfortran-dg-test): Handle gfortran error
+ locuses in the various permutations.
+
+2005-02-20 Dorit Naishlos <dorit@il.ibm.com>
+
+ PR tree-optimization/19951
+ * g++.dg/vect: New directory.
+ * g++.dg/vect/vect.exp: New file.
+ * g++.dg/vect/pr19951.cc: New testcase.
+ * g++.dg/dg.exp: Also prune vectorizer tests.
+
+2005-02-20 Zack Weinberg <zack@codesourcery.com>
+
+ PR 18785
+ * gcc.dg/charset/builtin1.c: New test.
+
+2005-02-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/19299
+ * g++.dg/inherit/volatile1.C: New test.
+
+ PR c++/19440
+ * g++.dg/template/dtor4.C: New test.
+
+2005-02-19 Steven G. Kargl <kargls@comcast.net>
+
+ * gfortran.dg/int_1.f90: New test.
+
+2005-02-19 Devang Patel <dpatel@apple.com>
+
+ * gcc.dg/cpp/mac-eol-at-eof.c: New test.
+
+2005-02-19 Steven G. Kargl <kargls@comcast.net>
+
+ * gfortran.dg/achar_1.f90: New test.
+
+2005-02-19 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.c-torture/execute/20020720-1.x: Don't XFAIL cris-*-*.
+
+2005-02-19 Zdenek Dvorak <dvorakz@suse.cz>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/19828
+ * gcc.dg/tree-ssa/loop-7.c: New test.
+ * gcc.c-torture/execute/20050218-1.c: New test.
+
+2005-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/20043
+ * gcc.dg/transparent-union-1.c: New test.
+ * gcc.dg/transparent-union-2.c: New test.
+
+2005-02-18 James E Wilson <wilson@specifixinc.com>
+
+ PR tree-optimization/18977
+ * gcc.c-torture/execute/loop-ivopts-1.c: New testcase.
+
+2005-02-18 Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR target/20054
+ * gcc.dg/pr20054.c: New test.
+
+2005-01-20 Giovanni Bajo <giovannibajo@gcc.gnu.org>
+
+ PR c++/19508
+ * g++.dg/ext/attrib20.C: New test.
+
+2004-02-18 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/20030
+ * gfortran.fortran-torture/execute/character_passing.f90: New test.
+
+2005-02-18 Alexandre Oliva <aoliva@redhat.com>
+
+ PR c++/20008
+ * g++.dg/opt/switch4.C: New.
+
+2005-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/20023
+ PR tree-optimization/20009
+ * gcc.c-torture/compile/20050217-1.c: New test.
+ * g++.dg/opt/switch3.C: New test.
+
+ PR tree-optimization/18947
+ * gcc.c-torture/compile/20050215-1.c: New test.
+ * gcc.c-torture/compile/20050215-2.c: New test.
+ * gcc.c-torture/compile/20050215-3.c: New test.
+
+2005-02-17 Alexandre Oliva <aoliva@redhat.com>
+
+ PR c++/20028
+ * g++.dg/template/crash34.C: New.
+
+ PR c++/20022
+ * g++.dg/other/access3.C: New.
+
+2005-02-17 Ira Rosen <irar@il.ibm.com>
+
+ * gcc.dg/vect/vect-98.c: New test.
+
+2005-02-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/19967
+ * gcc.dg/pr19967.c: New.
+
+2005-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/19857
+ * gcc.dg/tree-ssa/20050215-1.c: New test.
+ * gcc.c-torture/execute/20050215-1.c: New test.
+
+2005-02-15 Eric Christopher <echristo@redhat.com>
+
+ * gcc.dg/cpp/20050215-1.c: New file.
+
+2005-02-15 James A. Morrison <phython@gcc.gnu.org>
+
+ PR tree-optimization/15785
+ * gcc.dg/pr15785-1.c: New test.
+
+2005-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ PR c++/17788
+ * g++.dg/init/ctor4.C: New.
+ * g++.old-deja/g++.bugs/900205_04.C: Adjust.
+
+2005-02-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.dg/overflow-warn-1.c, gcc.dg/overflow-warn-2.c,
+ gcc.dg/overflow-warn-3.c, gcc.dg/overflow-warn-4.c: New tests.
+
+2005-02-15 Andreas Schwab <schwab@suse.de>
+
+ * ada/acats/tests/cxb/cxb30131.c: Include <stdlib.h> to properly
+ declare malloc.
+
+2005-02-15 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * gcc.misc-tests/linkage.exp (s390): Check for 64bit added.
+
+2005-02-14 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/19853
+ * gcc.c-torture/compile/pr19853.c: New test.
+
+2005-02-14 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/19608
+ * g++.dg/parse/local-class1.C: New.
+
+ PR c++/19895
+ * g++.dg/parse/ptrmem3.C: New.
+
+ PR c++/19884
+ * g++.old-deja/g++.oliva/template6.C: Add another case.
+ * g++.dg/template/explicit6.C: New.
+
+2005-02-14 Alexandre Oliva <aoliva@redhat.com>
+
+ PR c++/17816
+ * g++.dg/other/redecl2.C: New.
+
+2005-02-14 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/19891
+ * g++.dg/abi/covariant4.C: New.
+
+2005-02-13 James A. Morrison <phython@gcc.gnu.org>
+
+ * gcc.dg/pr15784-1.c, gcc.dg/pr15784-2.c, gcc.dg/pr15784-3.c: New tests.
+
+2005-02-12 Dorit Naishlos <dorit@il.ibm.com>
+
+ * gcc.dg/vect/vect-96.c: Fix typo.
+
+2005-02-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/14479
+ PR c++/19487
+ * g++.dg/template/enum5.C: New test.
+
+2005-02-12 Ira Rosen <irar@il.ibm.com>
+
+ * gcc.dg/vect/vect-97.c: New test.
+
+2005-02-12 Ira Rosen <irar@il.ibm.com>
+
+ * gcc.dg/vect/vect-96.c: New test.
+
+2005-02-12 Uros Bizjak <uros@kss-loka.si>
+
+ * gcc.dg/builtins-34.c: Also check ldexp*.
+
+2005-02-12 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * gcc.dg/tree-ssa/20040703-1.c: Quote decimal dot.
+
+2005-02-11 Janis Johnson <janis187@us.ibm.com>
+
+ * lib/gcc-dg.exp: (dg-require-weak, dg-require-visibility,
+ dg-require-alias, dg-require-gc-sections, dg-require-profiling,
+ dg-require-dll, dg-require-iconv, dg-require-named-sections,
+ dg-require-effective-target, dg-skip-if, dg-xfail-if, selector_opd,
+ selector_list, selector_expression, dg-process-target): Move to new
+ file target-supports-dg.exp.
+ * lib/target-supports-dg.exp: New.
+
+ * lib/target-supports.exp (check_effective_target_broken_cplxf_arg):
+ New.
+
+2005-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/19666
+ * gcc/testsuite/g++.dg/other/ptrmem6.C: New test.
+
+ PR middle-end/19858
+ * gcc.c-torture/compile/20050210-1.c: New test.
+
+2005-02-11 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19755
+ * g++.dg/warn/Wbraces1.C: New test.
+
+2005-02-10 Richard Guenther <rguenth@gcc.gnu.org>
+
+ * gcc.dg/builtins-52.c: New testcase.
+
+2005-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/19342
+ * gcc.c-torture/execute/20050119-1.c: New test.
+
+2005-02-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19811
+ * g++.dg/init/delete1.C: New test.
+
+2005-02-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c++/18470
+ * g++.dg/template/static12.C: New test.
+
+2005-02-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19787
+ * g++.dg/conversion/ambig1.C: New test.
+
+ PR c++/19739
+ * g++.dg/ext/attrib19.C: New test.
+
+ PR c++/19732
+ * g++.dg/parse/dtor5.C: New test.
+
+ PR c++/19762
+ * g++.dg/template/dtor3.C: New test.
+
+ PR c++/19826
+ * g++.dg/template/static11.C: New test.
+ * g++.dg/template/crash2.C: Remove dg-error marker.
+
+2005-02-09 Janis Johnson <janis187@us.ibm.com>
+
+ PR C++/18491
+ * g++.old-deja/g++.mike/p10769a.C: Remove.
+
+2005-02-09 Roger Sayle <roger@eyesopen.com>
+
+ * gcc.dg/builtins-48.c: New test case.
+ * gcc.dg/builtins-49.c: New test case.
+ * gcc.dg/builtins-50.c: New test case.
+ * gcc.dg/builtins-51.c: New test case.
+
+2005-02-09 Ian Lance Taylor <ian@airs.com>
+
+ PR middle-end/19583
+ * g++.dg/warn/Wreturn-type-3.C: New test.
+
+2005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
+
+ PR middle-end/19402
+ * gcc.dg/pr19402-1.c: New testcase.
+ * gcc.dg/pr19402-2.c: likewise.
+
+2005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
+
+ PR middle-end/19854
+ * g++.dg/tree-ssa/tmmti.C: New testcase.
+
+2005-02-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ * g++.dg/rtti/tinfo1.C: Allow newline after assembler label.
+
+2005-02-08 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19733
+ * g++.dg/parse/crash23.C: New test.
+ * g++.dg/warn/Weff1.C: New test.
+
+2005-02-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.dg/20050209-1.c: New test.
+
+2005-02-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR target/19799
+ * gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c: XFAIL on hppa*64*-*.
+
+2005-02-08 Mike Stump <mrs@apple.com>
+
+ * g++.dg/pch/import-2.c: New test.
+ * g++.dg/pch/import-2.hs: New.
+ * g++.dg/pch/include/import-2a.h: New.
+ * g++.dg/pch/include/import-2b.h: New.
+
+2005-02-08 Janis Johnson <janis187@us.ibm.com>
+
+ * gcc.dg/uninit-4.c: XFAIL bogus warning for powerpc64.
+
+2005-02-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * gfortran.dg/substr_1.f90: New test.
+
+2005-02-07 Richard Guenther <rguenth@gcc.gnu.org>
+
+ PR middle-end/19775
+ * gcc.dg/torture/builtin-power-1.c: Disable test for
+ invalid transformation.
+ * gcc.dg/builtins-10.c: Likewise. Disable one test we
+ no longer optimize.
+ * gcc.dg/builtins-47.c: New testcase.
+
+2005-02-07 Leehod Baruch <leehod@il.ibm.com>
+ Dorit Naishlos <dorit@il.ibm.com>
+
+ * testsuite/gcc.dg/vect/vect.exp: Add -ftree-vectorizer-verbose=3.
+
2005-02-06 Richard Sandiford <rsandifo@redhat.com>
* gcc.c-torture/compile/20050206-1.c: New test.
@@ -24,7 +536,7 @@
2005-02-03 Dorit Naishlos <dorit@il.ibm.com>
* gcc.dg/vect/vect-85.c: Remove xfail.
- * gcc.dg/vect/vect-86.c: Remove xfail.
+ * gcc.dg/vect/vect-86.c: Remove xfail.
* gcc.dg/vect/vect-87.c: Remove xfail.
* gcc.dg/vect/vect-88.c: Remove xfail.
@@ -48,7 +560,7 @@
PR c++/19628
* g++/ext/builtin7.C: New.
* g++/ext/builtin8.C: New.
-
+
2005-02-02 Joseph S. Myers <joseph@codesourcery.com>
PR c/18502
@@ -202,7 +714,7 @@
* g++.dg/template/static10.C: New test.
PR c++/19395
- * g++.dg/parse/error24.C: New test.
+ * g++.dg/parse/error24.C: New test.
PR c++/19367
* g++.dg/lookup/builtin1.C: New test.
@@ -323,7 +835,7 @@
2005-01-26 Greg Parker <gparker@apple.com>
Stuart Hastings <stuart@apple.com>
-
+
* gcc.c-torture/execute/20050125-1.c: New.
2005-01-18 Jan Hubicka <jh@suse.cz>
@@ -636,7 +1148,7 @@
* ada/acats/tests/c3/c92005b.ada: Likewise.
* ada/acats/tests/c3/cxb3012.a: Likewise.
* ada/acats/norun.lst: Add c380004 and c953002, add PR
-
+
2005-01-09 Paul Brook <paul@codesourcery.com>
* gfortran.dg/common_2.f90: New file.
diff --git a/gcc/testsuite/ada/acats/tests/cxa/cxa3004.a b/gcc/testsuite/ada/acats/tests/cxa/cxa3004.a
deleted file mode 100644
index ed2023e37e5..00000000000
--- a/gcc/testsuite/ada/acats/tests/cxa/cxa3004.a
+++ /dev/null
@@ -1,235 +0,0 @@
--- CXA3004.A
---
--- Grant of Unlimited Rights
---
--- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
--- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
--- unlimited rights in the software and documentation contained herein.
--- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
--- this public release, the Government intends to confer upon all
--- recipients unlimited rights equal to those held by the Government.
--- These rights include rights to use, duplicate, release or disclose the
--- released technical data and computer software in whole or in part, in
--- any manner and for any purpose whatsoever, and to have or permit others
--- to do so.
---
--- DISCLAIMER
---
--- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
--- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
--- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--- PARTICULAR PURPOSE OF SAID MATERIAL.
---*
---
--- OBJECTIVE:
--- Check that the functions defined in package Ada.Characters.Handling
--- for classification of and conversion between Wide_Character and
--- Character values produce correct results when given the appropriate
--- Character and String inputs.
---
--- TEST DESCRIPTION:
--- This test demonstrates the functions defined in package
--- Ada.Characters.Handling which provide for the classification of and
--- conversion between Wide_Characters and Characters, in character
--- variables and strings.
--- Each of the functions is provided with input values that are of the
--- appropriate range. The results of the function processing are
--- subsequently evaluated.
---
--- APPLICABILITY CRITERIA:
--- Applicable to all implementations using the Latin_1 set as the
--- definition of Character.
---
---
--- CHANGE HISTORY:
--- 06 Dec 94 SAIC ACVC 2.0
--- 27 Dec 94 SAIC Corrected variable names.
---
---!
-
-with Report;
-with Ada.Characters.Handling;
-
-procedure CXA3004 is
-begin
-
- Report.Test ("CXA3004", "Check that the functions defined in package " &
- "Ada.Characters.Handling for classification " &
- "of and conversion between Wide_Character and " &
- "Character values produce correct results " &
- "when given the appropriate Character " &
- "and String inputs");
-
- Test_Block:
- declare
-
- package ACH renames Ada.Characters.Handling;
-
- Char_End : Integer := 255;
- WC_Start : Integer := 256;
- Sub_Char : Character := '*';
-
- Blank : Character := ' ';
- First_Char : Character := Character'First;
- Last_Char : Character := Character'Last;
- F_Char : Character := 'F';
-
-
- First_Wide_Char : Wide_Character := Wide_Character'First;
- Last_Non_Wide_Char : Wide_Character := Wide_Character'Val(Char_End);
- First_Unique_Wide_Char : Wide_Character := Wide_Character'Val(WC_Start);
- Last_Wide_Char : Wide_Character := Wide_Character'Last;
-
- A_String : String (1..3) := First_Char & 'X' & Last_Char;
- A_Wide_String : Wide_String (1..3) := First_Wide_Char &
- ACH.To_Wide_Character('X') &
- ACH.To_Wide_Character(Last_Char);
-
- Unique_Wide_String : Wide_String (1..2) := First_Unique_Wide_Char &
- Last_Wide_Char;
-
- Mixed_Wide_String : Wide_String (1..6) := ACH.To_Wide_Character('A') &
- First_Wide_Char &
- Last_Non_Wide_Char &
- First_Unique_Wide_Char &
- Last_Wide_Char &
- ACH.To_Wide_Character('Z');
-
-
- Basic_Char : Character := 'A';
- Basic_Wide_Char : Wide_Character := 'A';
- Basic_String : String (1..6) := "ABCXYZ";
- Basic_Wide_String : Wide_String (1..6) := "ABCXYZ";
-
- begin
-
-
- -- Function Is_Character
-
-
- if not ACH.Is_Character(First_Wide_Char) then
- Report.Failed ("Incorrect result from Is_Character - 1");
- end if;
-
-
- if ACH.Is_Character(First_Unique_Wide_Char) or
- ACH.Is_Character(Last_Wide_Char)
- then
- Report.Failed ("Incorrect result from Is_Character - 2");
- end if;
-
-
- -- Function Is_String
-
-
- if not ACH.Is_String(A_Wide_String) then
- Report.Failed ("Incorrect result from Is_String - 1");
- end if;
-
-
- if ACH.Is_String(Unique_Wide_String) or
- ACH.Is_String(Mixed_Wide_String)
- then
- Report.Failed ("Incorrect result from Is_String - 2");
- end if;
-
-
- -- Function To_Character
-
-
- -- Use default substitution character in call of To_Character.
-
- if ACH.To_Character(First_Wide_Char) /= First_Char or
- ACH.To_Character(Last_Non_Wide_Char) /= Last_Char
- then
- Report.Failed ("Incorrect result from To_Character - 1");
- end if;
-
-
- -- Provide a substitution character for use with To_Character.
-
- if ACH.To_Character(First_Unique_Wide_Char, Blank) /= Blank or
- ACH.To_Character(First_Unique_Wide_Char, Sub_Char) /= Sub_Char or
- ACH.To_Character(Last_Wide_Char) /= ' ' -- default
- then
- Report.Failed ("Incorrect result from To_Character - 2");
- end if;
-
-
- -- Function To_String
-
-
- if ACH.To_String(A_Wide_String) /= A_String then
- Report.Failed ("Incorrect result from To_String - 1");
- end if;
-
-
- if ACH.To_String(Unique_Wide_String, Sub_Char) /= "**" then
- Report.Failed ("Incorrect result from To_String - 2");
- end if;
-
-
-
- if ACH.To_String(Mixed_Wide_String, Sub_Char) /=
- ('A' & First_Char & Last_Char & "**" & 'Z') or
- ACH.To_String(Mixed_Wide_String, Sub_Char) /=
- (ACH.To_Character(Mixed_Wide_String(1), Sub_Char) &
- ACH.To_Character(Mixed_Wide_String(2), Sub_Char) &
- ACH.To_Character(Mixed_Wide_String(3), Sub_Char) &
- ACH.To_Character(Mixed_Wide_String(4), Sub_Char) &
- ACH.To_Character(Mixed_Wide_String(5), Sub_Char) &
- ACH.To_Character(Mixed_Wide_String(6), Sub_Char))
- then
- Report.Failed ("Incorrect result from To_String - 3");
- end if;
-
-
- -- Function To_Wide_Character
-
-
- if ACH.To_Wide_Character(Basic_Char) /= Basic_Wide_Char then
- Report.Failed ("Incorrect result from To_Wide_Character");
- end if;
-
-
- -- Function To_Wide_String
-
-
- if not (ACH.To_Wide_String(Basic_String) = Basic_Wide_String) then
- Report.Failed ("Incorrect result from To_Wide_String");
- end if;
-
-
- -- Functions Used In Combination
-
- if not ACH.Is_Character (ACH.To_Wide_Character (
- ACH.To_Character(First_Wide_Char)))
- then
- Report.Failed ("Incorrect result from functions in combination - 1");
- end if;
-
-
- if not ACH.Is_String(ACH.To_Wide_String(ACH.To_String(A_Wide_String)))
- then
- Report.Failed ("Incorrect result from functions in combination - 2");
- end if;
-
-
- if ACH.To_String(ACH.To_Wide_Character('A') &
- ACH.To_Wide_Character(F_Char) &
- ACH.To_Wide_Character('Z')) /= "AFZ"
- then
- Report.Failed ("Incorrect result from functions in combination - 3");
- end if;
-
-
- exception
- when others => Report.Failed ("Exception raised in Test_Block");
- end Test_Block;
-
-
- Report.Result;
-
-end CXA3004;
diff --git a/gcc/testsuite/ada/acats/tests/cxb/cxb30061.am b/gcc/testsuite/ada/acats/tests/cxb/cxb30061.am
deleted file mode 100644
index d31345a8eb1..00000000000
--- a/gcc/testsuite/ada/acats/tests/cxb/cxb30061.am
+++ /dev/null
@@ -1,404 +0,0 @@
--- CXB30061.AM
---
--- Grant of Unlimited Rights
---
--- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
--- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
--- unlimited rights in the software and documentation contained herein.
--- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
--- this public release, the Government intends to confer upon all
--- recipients unlimited rights equal to those held by the Government.
--- These rights include rights to use, duplicate, release or disclose the
--- released technical data and computer software in whole or in part, in
--- any manner and for any purpose whatsoever, and to have or permit others
--- to do so.
---
--- DISCLAIMER
---
--- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
--- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
--- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--- PARTICULAR PURPOSE OF SAID MATERIAL.
---*
---
--- OBJECTIVE:
--- Check that the function To_C maps between the Ada type Wide_Character
--- and the C type wchar_t.
---
--- Check that the function To_Ada maps between the C type wchar_t and
--- the Ada type Wide_Character.
---
--- Check that the function Is_Nul_Terminated returns True if the
--- wchar_array parameter contains wide_nul, and otherwise False.
---
--- Check that the function To_C produces a correct wchar_array result,
--- with lower bound of 0, and length dependent upon the Item and
--- Append_Nul parameters.
---
--- Check that the function To_Ada produces a correct wide_string result,
--- with lower bound of 1, and length dependent upon the Item and
--- Trim_Nul parameters.
---
--- Check that the function To_Ada raises Terminator_Error if the
--- parameter Trim_Nul is set to True, but the actual Item parameter
--- does not contain the wide_nul wchar_t.
---
--- TEST DESCRIPTION:
--- This test uses a variety of Wide_Character, wchar_t, Wide_String, and
--- wchar_array objects to test versions of the To_C, To_Ada, and
--- Is_Nul_Terminated functions.
---
--- This test assumes that the following characters are all included
--- in the implementation defined type Interfaces.C.wchar_t:
--- ' ', ',', '.', '0'..'9', 'a'..'z' and 'A'..'Z'.
---
--- APPLICABILITY CRITERIA:
--- This test is applicable to all implementations that provide
--- package Interfaces.C. If an implementation provides
--- package Interfaces.C, this test must compile, execute, and
--- report "PASSED".
---
--- SPECIAL REQUIREMENTS:
--- The file CXB30060.C must be compiled with a C compiler.
--- Implementation dialects of C may require alteration of
--- the C program syntax (see individual C files).
---
--- Note that the compiled C code must be bound with the compiled Ada
--- code to create an executable image. An implementation must provide
--- the necessary commands to accomplish this.
---
--- Note that the C code included in CXB30060.C conforms
--- to ANSI-C. Modifications to these files may be required for other
--- C compilers. An implementation must provide the necessary
--- modifications to satisfy the function requirements.
---
--- TEST FILES:
--- The following files comprise this test:
---
--- CXB30060.C
--- CXB30061.AM
---
--- CHANGE HISTORY:
--- 07 Sep 95 SAIC Initial prerelease version.
--- 09 May 96 SAIC Incorporated reviewer comments for ACVC 2.1.
--- 13 Sep 99 RLB Replaced (bogus) Unchecked_Conversions with a
--- C function character generator.
---
---!
-
-with Report;
-with Interfaces.C; -- N/A => ERROR
-with Ada.Characters.Latin_1;
-with Ada.Characters.Handling;
-with Ada.Exceptions;
-with Ada.Strings.Wide_Fixed;
-with Impdef;
-
-procedure CXB30061 is
-begin
-
- Report.Test ("CXB3006", "Check that the functions To_C and To_Ada " &
- "produce correct results");
-
- Test_Block:
- declare
-
- use Interfaces, Interfaces.C;
- use Ada.Characters, Ada.Characters.Latin_1, Ada.Characters.Handling;
- use Ada.Strings.Wide_Fixed;
-
- First_Character,
- Last_Character : Character;
- TC_wchar_t,
- TC_Low_wchar_t,
- TC_High_wchar_t : wchar_t := wchar_t'First;
- TC_Wide_String : Wide_String(1..8) := (others => Wide_Character'First);
- TC_wchar_array : wchar_array(0..7) := (others => C.wide_nul);
-
- -- The function Char_Gen returns a character corresponding to its
- -- argument.
- -- Value 0 .. 9 ==> '0' .. '9'
- -- Value 10 .. 19 ==> 'A' .. 'J'
- -- Value 20 .. 29 ==> 'k' .. 't'
- -- Value 30 ==> ' '
- -- Value 31 ==> '.'
- -- Value 32 ==> ','
-
- function Char_Gen (Value : in int) return wchar_t;
-
- -- Use the user-defined C function char_gen as a completion to the
- -- function specification above.
-
- pragma Import (Convention => C,
- Entity => Char_Gen,
- External_Name => Impdef.CXB30060_External_Name);
-
- begin
-
- -- Check that the functions To_C and To_Ada map between the Ada type
- -- Wide_Character and the C type wchar_t.
-
- if To_C(To_Wide_Character(Ada.Characters.Latin_1.NUL)) /=
- Interfaces.C.wide_nul
- then
- Report.Failed("Incorrect result from To_C with NUL character input");
- end if;
-
- First_Character := Report.Ident_Char('k');
- Last_Character := Report.Ident_Char('t');
- for i in First_Character..Last_Character loop
- if To_C(Item => To_Wide_Character(i)) /=
- Char_Gen(Character'Pos(i) - Character'Pos('k') + 20)
- then
- Report.Failed("Incorrect result from To_C with lower case " &
- "alphabetic wide character input");
- end if;
- end loop;
-
- First_Character := Report.Ident_Char('A');
- Last_Character := Report.Ident_Char('J');
- for i in First_Character..Last_Character loop
- if To_C(Item => To_Wide_Character(i)) /=
- Char_Gen(Character'Pos(i) - Character'Pos('A') + 10)
- then
- Report.Failed("Incorrect result from To_C with upper case " &
- "alphabetic wide character input");
- end if;
- end loop;
-
- First_Character := Report.Ident_Char('0');
- Last_Character := Report.Ident_Char('9');
- for i in First_Character..Last_Character loop
- if To_C(Item => To_Wide_Character(i)) /=
- Char_Gen(Character'Pos(i) - Character'Pos('0'))
- then
- Report.Failed("Incorrect result from To_C with digit " &
- "wide character input");
- end if;
- end loop;
-
- if To_C(Item => To_Wide_Character(' ')) /= Char_Gen(30)
- then
- Report.Failed("Incorrect result from To_C with space " &
- "wide character input");
- end if;
-
- if To_C(Item => To_Wide_Character('.')) /= Char_Gen(31)
- then
- Report.Failed("Incorrect result from To_C with dot " &
- "wide character input");
- end if;
-
- if To_C(Item => To_Wide_Character(',')) /= Char_Gen(32)
- then
- Report.Failed("Incorrect result from To_C with comma " &
- "wide character input");
- end if;
-
- if To_Ada(Interfaces.C.wide_nul) /=
- To_Wide_Character(Ada.Characters.Latin_1.NUL)
- then
- Report.Failed("Incorrect result from To_Ada with wide_nul " &
- "wchar_t input");
- end if;
-
- for Code in int range
- int(Report.Ident_Int(20)) .. int(Report.Ident_Int(29)) loop
- -- 'k' .. 't'
- if To_Ada(Item => Char_Gen(Code)) /=
- To_Wide_Character(Character'Val (Character'Pos('k') + (Code - 20)))
- then
- Report.Failed("Incorrect result from To_Ada with lower case " &
- "alphabetic wchar_t input");
- end if;
- end loop;
-
- for Code in int range
- int(Report.Ident_Int(10)) .. int(Report.Ident_Int(19)) loop
- -- 'A' .. 'J'
- if To_Ada(Item => Char_Gen(Code)) /=
- To_Wide_Character(Character'Val (Character'Pos('A') + (Code - 10)))
- then
- Report.Failed("Incorrect result from To_Ada with upper case " &
- "alphabetic wchar_t input");
- end if;
- end loop;
-
- for Code in int range
- int(Report.Ident_Int(0)) .. int(Report.Ident_Int(9)) loop
- -- '0' .. '9'
- if To_Ada(Item => Char_Gen(Code)) /=
- To_Wide_Character(Character'Val (Character'Pos('0') + (Code)))
- then
- Report.Failed("Incorrect result from To_Ada with digit " &
- "wchar_t input");
- end if;
- end loop;
-
- if To_Ada(Item => Char_Gen(30)) /= ' ' then
- Report.Failed("Incorrect result from To_Ada with space " &
- "char input");
- end if;
- if To_Ada(Item => Char_Gen(31)) /= '.' then
- Report.Failed("Incorrect result from To_Ada with dot " &
- "char input");
- end if;
- if To_Ada(Item => Char_Gen(32)) /= ',' then
- Report.Failed("Incorrect result from To_Ada with comma " &
- "char input");
- end if;
-
- -- Check that the function Is_Nul_Terminated produces correct results
- -- whether or not the wchar_array argument contains the
- -- Ada.Interfaces.C.wide_nul character.
-
- TC_Wide_String := "abcdefgh";
- if Is_Nul_Terminated(Item => To_C(TC_Wide_String, Append_Nul => False))
- then
- Report.Failed("Incorrect result from Is_Nul_Terminated when no " &
- "wide_nul wchar_t is present");
- end if;
-
- if not Is_Nul_Terminated(To_C(TC_Wide_String, Append_Nul => True)) then
- Report.Failed("Incorrect result from Is_Nul_Terminated when the " &
- "wide_nul wchar_t is present");
- end if;
-
-
-
- -- Now that we've tested the character/char versions of To_Ada and To_C,
- -- use them to test the string versions.
-
- declare
- i : size_t := 0;
- j : integer := 1;
- Incorrect_Conversion : Boolean := False;
-
- TC_No_wide_nul : constant wchar_array := To_C(TC_Wide_String,
- False);
- TC_wide_nul_Appended : constant wchar_array := To_C(TC_Wide_String,
- True);
- begin
-
- -- Check that the function To_C produces a wchar_array result with
- -- lower bound of 0, and length dependent upon the Item and
- -- Append_Nul parameters (if Append_Nul is True, length is
- -- Item'Length + 1; if False, length is Item'Length).
-
- if TC_No_wide_nul'First /= 0 or TC_wide_nul_Appended'First /= 0 then
- Report.Failed("Incorrect lower bound from Function To_C");
- end if;
-
- if TC_No_wide_nul'Length /= TC_Wide_String'Length then
- Report.Failed("Incorrect length returned from Function To_C " &
- "when Append_Nul => False");
- end if;
-
- if TC_wide_nul_Appended'Length /= TC_Wide_String'Length + 1 then
- Report.Failed("Incorrect length returned from Function To_C " &
- "when Append_Nul => True");
- end if;
-
- if not Is_Nul_Terminated(TC_wide_nul_Appended) then
- Report.Failed("No wide_nul appended to the wide_string " &
- "parameter during conversion to wchar_array " &
- "by function To_C");
- end if;
-
- for TC_char in Report.Ident_Char('a')..Report.Ident_Char('h') loop
- if TC_No_wide_nul(i) /= To_C(To_Wide_Character(TC_char)) or
- TC_wide_nul_Appended(i) /= To_C(To_Wide_Character(TC_char)) then
- -- Use single character To_C.
- Incorrect_Conversion := True;
- end if;
- i := i + 1;
- end loop;
-
- if Incorrect_Conversion then
- Report.Failed("Incorrect result from To_C with wide_string input " &
- "and wchar_array result");
- end if;
-
-
- -- Check that the function To_Ada produces a wide_string result with
- -- lower bound of 1, and length dependent upon the Item and
- -- Trim_Nul parameters (if Trim_Nul is False, length is Item'Length;
- -- if False, length will be the length of the slice of Item prior to
- -- the first wide_nul).
-
- declare
- TC_No_NUL_Wide_String : constant Wide_String :=
- To_Ada(Item => TC_wide_nul_Appended, Trim_Nul => True);
-
- TC_NUL_Appended_Wide_String : constant Wide_String :=
- To_Ada(TC_wide_nul_Appended, False);
-
- begin
-
- if TC_No_NUL_Wide_String'First /= 1 or
- TC_NUL_Appended_Wide_String'First /= 1
- then
- Report.Failed("Incorrect lower bound from Function To_Ada");
- end if;
-
- if TC_No_NUL_Wide_String'Length /= TC_Wide_String'Length then
- Report.Failed("Incorrect length returned from Function " &
- "To_Ada when Trim_Nul => True");
- end if;
-
- if TC_NUL_Appended_Wide_String'Length /=
- TC_Wide_String'Length + 1
- then
- Report.Failed("Incorrect length returned from Function " &
- "To_Ada when Trim_Nul => False");
- end if;
-
- for TC_Character in Wide_Character'('a') .. Wide_Character'('h') loop
- if TC_No_NUL_Wide_String(j) /= TC_Character or
- TC_NUL_Appended_Wide_String(j) /= TC_Character
- then
- Report.Failed("Incorrect result from To_Ada with " &
- "char_array input, index = " &
- Integer'Image(j));
- end if;
- j := j + 1;
- end loop;
-
- end;
-
-
- -- Check that the function To_Ada raises Terminator_Error if the
- -- parameter Trim_Nul is set to True, but the actual Item parameter
- -- does not contain the wide_nul wchar_t.
-
- begin
- TC_Wide_String := To_Ada(TC_No_wide_nul, Trim_Nul => True);
- Report.Failed("Terminator_Error not raised when Item " &
- "parameter of To_Ada does not contain the " &
- "wide_nul wchar_t, but parameter Trim_Nul " &
- "=> True");
- Report.Comment
- (To_String(TC_Wide_String) & " printed to defeat optimization");
- exception
- when Terminator_Error => null; -- OK, expected exception.
- when others =>
- Report.Failed("Incorrect exception raised by function " &
- "To_Ada when the Item parameter does not " &
- "contain the wide_nul wchar_t, but " &
- "parameter Trim_Nul => True");
- end;
-
- end;
-
- exception
- when The_Error : others =>
- Report.Failed
- ("The following exception was raised in the Test_Block: " &
- Ada.Exceptions.Exception_Name(The_Error));
- end Test_Block;
-
- Report.Result;
-
-end CXB30061;
diff --git a/gcc/testsuite/ada/acats/tests/cxb/cxb30131.c b/gcc/testsuite/ada/acats/tests/cxb/cxb30131.c
index 7bebe551c6d..6cbbdd131b0 100644
--- a/gcc/testsuite/ada/acats/tests/cxb/cxb30131.c
+++ b/gcc/testsuite/ada/acats/tests/cxb/cxb30131.c
@@ -54,10 +54,11 @@
*/
#include <string.h>
+#include <stdlib.h>
char *stringdup (char *s)
{
- char *result = (char *) malloc(sizeof(char)*(strlen(s)+1));
+ char *result = malloc(sizeof(char)*(strlen(s)+1));
return strcpy(result,s);
}
diff --git a/gcc/testsuite/g++.dg/charset/asm1.c b/gcc/testsuite/g++.dg/charset/asm1.c
index 9c0ff2866b0..7076d128566 100644
--- a/gcc/testsuite/g++.dg/charset/asm1.c
+++ b/gcc/testsuite/g++.dg/charset/asm1.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target *-*-* } }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler ".ascii bar" } }
{ dg-final { scan-assembler ".ascii foo" } }
*/
diff --git a/gcc/testsuite/g++.dg/charset/asm2.c b/gcc/testsuite/g++.dg/charset/asm2.c
index 8d8dbbb524d..8ae2212fd26 100644
--- a/gcc/testsuite/g++.dg/charset/asm2.c
+++ b/gcc/testsuite/g++.dg/charset/asm2.c
@@ -1,7 +1,7 @@
/* Test for complex asm statements. Make sure it compiles
then test for some of the asm statements not being translated. */
/* { dg-do compile { target i?86-*-* } }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler "std" } }
{ dg-final { scan-assembler "cld" } }
{ dg-final { scan-assembler "rep" } }
diff --git a/gcc/testsuite/g++.dg/charset/asm3.c b/gcc/testsuite/g++.dg/charset/asm3.c
index cd850c3e81f..59c8d59ff39 100644
--- a/gcc/testsuite/g++.dg/charset/asm3.c
+++ b/gcc/testsuite/g++.dg/charset/asm3.c
@@ -1,6 +1,6 @@
/* Simple asm test. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler "foo" } } */
extern int bar;
diff --git a/gcc/testsuite/g++.dg/charset/asm4.c b/gcc/testsuite/g++.dg/charset/asm4.c
index fa93f40fdaf..a4bb01401a9 100644
--- a/gcc/testsuite/g++.dg/charset/asm4.c
+++ b/gcc/testsuite/g++.dg/charset/asm4.c
@@ -1,6 +1,6 @@
/* Test for string translation. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler-not "translate" } } */
void foo (void)
{
diff --git a/gcc/testsuite/g++.dg/charset/asm5.c b/gcc/testsuite/g++.dg/charset/asm5.c
index 91316224f0c..ae2ec485d80 100644
--- a/gcc/testsuite/g++.dg/charset/asm5.c
+++ b/gcc/testsuite/g++.dg/charset/asm5.c
@@ -1,6 +1,6 @@
/* Test for string translation. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler "foo" } } */
int main()
{
diff --git a/gcc/testsuite/g++.dg/charset/attribute1.c b/gcc/testsuite/g++.dg/charset/attribute1.c
index 993c7934c80..799630030ba 100644
--- a/gcc/testsuite/g++.dg/charset/attribute1.c
+++ b/gcc/testsuite/g++.dg/charset/attribute1.c
@@ -1,6 +1,6 @@
/* Test for attribute non-translation. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler "foo" } } */
int walrus __attribute__ ((section (".foo")));
diff --git a/gcc/testsuite/g++.dg/charset/attribute2.c b/gcc/testsuite/g++.dg/charset/attribute2.c
index 3cb766aa63a..dcb28f2da27 100644
--- a/gcc/testsuite/g++.dg/charset/attribute2.c
+++ b/gcc/testsuite/g++.dg/charset/attribute2.c
@@ -2,7 +2,7 @@
If error recovery is ever testable then "foobar" should be
translated. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
*/
int foo __attribute__ ((walrus)); /* { dg-error "walrus" "ignored" } */
char x[] = "foobar";
diff --git a/gcc/testsuite/g++.dg/charset/charset.exp b/gcc/testsuite/g++.dg/charset/charset.exp
index 7a74217dec3..6bb19593944 100644
--- a/gcc/testsuite/g++.dg/charset/charset.exp
+++ b/gcc/testsuite/g++.dg/charset/charset.exp
@@ -30,7 +30,7 @@ load_lib target-supports.exp
# If a testcase doesn't have special options, use these.
global DEFAULT_CHARSETCFLAGS
if ![info exists DEFAULT_CHARSETCFLAGS] then {
- set DEFAULT_CHARSETCFLAGS "-fexec-charset=IBM-1047"
+ set DEFAULT_CHARSETCFLAGS "-fexec-charset=IBM1047"
}
# Initialize `dg'.
diff --git a/gcc/testsuite/g++.dg/charset/extern1.cc b/gcc/testsuite/g++.dg/charset/extern1.cc
index 2a68ab7cf78..09284ad1ed2 100644
--- a/gcc/testsuite/g++.dg/charset/extern1.cc
+++ b/gcc/testsuite/g++.dg/charset/extern1.cc
@@ -1,6 +1,6 @@
/* Test extern statments not being translated. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
*/
extern "C" {
diff --git a/gcc/testsuite/g++.dg/charset/extern2.cc b/gcc/testsuite/g++.dg/charset/extern2.cc
index 82157a6fea4..3a8f4e82d7e 100644
--- a/gcc/testsuite/g++.dg/charset/extern2.cc
+++ b/gcc/testsuite/g++.dg/charset/extern2.cc
@@ -1,5 +1,5 @@
/* Check that we push the declaration and then continue translation. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler-not "foobar" } } */
extern "C" { char *foo = "foobar"; }
diff --git a/gcc/testsuite/g++.dg/charset/extern3.cc b/gcc/testsuite/g++.dg/charset/extern3.cc
index 5e46ca6facf..05a0c3e42bc 100644
--- a/gcc/testsuite/g++.dg/charset/extern3.cc
+++ b/gcc/testsuite/g++.dg/charset/extern3.cc
@@ -1,5 +1,5 @@
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler-not "abcdefghijklmnopqrstuvwxyz" } } */
extern char *bar;
diff --git a/gcc/testsuite/g++.dg/charset/function.cc b/gcc/testsuite/g++.dg/charset/function.cc
index ab4c2bcba0e..5aba6511bd0 100644
--- a/gcc/testsuite/g++.dg/charset/function.cc
+++ b/gcc/testsuite/g++.dg/charset/function.cc
@@ -1,5 +1,5 @@
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler-not "\"foobar\"" } } */
const char *str;
diff --git a/gcc/testsuite/g++.dg/charset/string.c b/gcc/testsuite/g++.dg/charset/string.c
index 375e28a2ed6..f720773dd57 100644
--- a/gcc/testsuite/g++.dg/charset/string.c
+++ b/gcc/testsuite/g++.dg/charset/string.c
@@ -1,5 +1,5 @@
/* Simple character translation test. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler-not "string foobar" } } */
char *foo = "string foobar";
diff --git a/gcc/testsuite/g++.dg/dg.exp b/gcc/testsuite/g++.dg/dg.exp
index f809f10f2db..f4ec94c6ee1 100644
--- a/gcc/testsuite/g++.dg/dg.exp
+++ b/gcc/testsuite/g++.dg/dg.exp
@@ -39,6 +39,7 @@ set tests [prune $tests $srcdir/$subdir/gcov/*]
set tests [prune $tests $srcdir/$subdir/pch/*]
set tests [prune $tests $srcdir/$subdir/special/*]
set tests [prune $tests $srcdir/$subdir/tls/*]
+set tests [prune $tests $srcdir/$subdir/vect/*]
# Main loop.
dg-runtest $tests "" $DEFAULT_CXXFLAGS
diff --git a/gcc/testsuite/g++.dg/lookup/anon2.C b/gcc/testsuite/g++.dg/lookup/anon2.C
index 4cd64aecb49..d556ba0034a 100644
--- a/gcc/testsuite/g++.dg/lookup/anon2.C
+++ b/gcc/testsuite/g++.dg/lookup/anon2.C
@@ -1,6 +1,9 @@
// { dg-do compile }
// { dg-options "" }
-class { int i; } a; // { dg-error "private|anonymous type" }
-void foo() { a.i; } // { dg-error "context" }
+// Make sure we issue a diagnostic if a type with no linkage is used
+// to declare a a variable that has linkage.
+struct { int i; } a; // { dg-warning "anonymous type" }
+
+void foo() { a.i; }
diff --git a/gcc/testsuite/g++.dg/other/anon3.C b/gcc/testsuite/g++.dg/other/anon3.C
index 87cbfb544cd..87116eb8901 100644
--- a/gcc/testsuite/g++.dg/other/anon3.C
+++ b/gcc/testsuite/g++.dg/other/anon3.C
@@ -4,4 +4,4 @@
// { dg-do compile }
-enum { a = 3 } x;
+enum { a = 3 } x; // { dg-warning "anonymous type" }
diff --git a/gcc/testsuite/g++.dg/rtti/tinfo1.C b/gcc/testsuite/g++.dg/rtti/tinfo1.C
index 581d3c71c97..037ee35fc8f 100644
--- a/gcc/testsuite/g++.dg/rtti/tinfo1.C
+++ b/gcc/testsuite/g++.dg/rtti/tinfo1.C
@@ -1,6 +1,6 @@
// Test if a local definition is in a linkonce/comdat section.
// { dg-do compile }
-// { dg-final { scan-assembler "_ZTIP9CTemplateIhE\[: \t\]" } }
+// { dg-final { scan-assembler "_ZTIP9CTemplateIhE\[: \t\n\]" } }
// { dg-final { scan-assembler-not ".globl\[ \]+_ZTIP9CTemplateIhE" } }
// { dg-final { scan-assembler-not ".section\[^\n\r\]*_ZTIP9CTemplateIhE\[^\n\r\]*" } }
diff --git a/gcc/testsuite/g++.dg/template/crash2.C b/gcc/testsuite/g++.dg/template/crash2.C
index 8bf7b450df2..a02787a46fa 100644
--- a/gcc/testsuite/g++.dg/template/crash2.C
+++ b/gcc/testsuite/g++.dg/template/crash2.C
@@ -5,7 +5,7 @@ class A
{
public:
static const EnumType size = max; // { dg-error "" }
- int table[size]; // { dg-error "" }
+ int table[size];
};
template <class EnumType>
const EnumType A<EnumType>::size;
diff --git a/gcc/testsuite/g++.dg/template/qualttp15.C b/gcc/testsuite/g++.dg/template/qualttp15.C
index 1b1f3bb725d..0f97c32fcb8 100644
--- a/gcc/testsuite/g++.dg/template/qualttp15.C
+++ b/gcc/testsuite/g++.dg/template/qualttp15.C
@@ -17,8 +17,8 @@ template <class T> struct X<T::template B>
T z;
};
-template <class T> struct X<T::template B>
-{ // { dg-error "redefinition" }
+template <class T> struct X<T::template B> // { dg-error "redefinition" }
+{
T z;
};
diff --git a/gcc/testsuite/g++.dg/template/qualttp20.C b/gcc/testsuite/g++.dg/template/qualttp20.C
index 5a9c61c4304..ae20d762902 100644
--- a/gcc/testsuite/g++.dg/template/qualttp20.C
+++ b/gcc/testsuite/g++.dg/template/qualttp20.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-options "-pedantic -pedantic-errors" }
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 15 Dec 2001 <nathan@codesourcery.com>
@@ -16,7 +17,7 @@ struct AS
template <typename T> struct B1 : T
{
typedef typename T::L __restrict__ r;// { dg-error "'__restrict__' qualifiers cannot" "" }
- typedef typename T::myT __restrict__ p;// { dg-warning "ignoring '__restrict__'" "" { xfail *-*-* } }
+ typedef typename T::myT __restrict__ p;// { dg-error "ignoring '__restrict__'" }
// The following are DR 295 dependent
typedef typename T::myT volatile *myvolatile;
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
index e5f59ab63bc..a2c84fadb9e 100644
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
+++ b/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
@@ -9,19 +9,23 @@
// keywords: default constructor, inheritance
-struct struct0 {
+// In ISO C++ 1998, such a derived class is not ill-formed, but if the
+// implicitly-declared constructor is used, then it is implicitly
+// defined and found to be ill-formed.
+
+struct struct0 { // { dg-error "note" }
int data_member;
struct0 (int, void *); // suppresses implicit default constructor
};
-struct0::struct0 (int, void *)
+struct0::struct0 (int, void *) // { dg-error "note" }
{
}
-struct struct0_derived_struct_0 : public struct0 { // { dg-error "" }
+struct struct0_derived_struct_0 : public struct0 { // { dg-error "" }
};
-// struct0_derived_struct_0 object; // would give g++ error if compiled
+struct0_derived_struct_0 object;
int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10769a.C b/gcc/testsuite/g++.old-deja/g++.mike/p10769a.C
deleted file mode 100644
index 89cc31d0fff..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10769a.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// { dg-do run }
-// { dg-options "-Wno-pmf-conversions" }
-// prms-id: 10769
-
-#define PMF2PF(PMF) ((void (*)())(PMF))
-
-int ok = 0;
-
-class A {
-public:
- void f1a() { ok += 3; }
- void f1b() { ok += 5; }
- void f2a() { ok += 7; }
- void f2b() { }
- static void (*table[2][2])();
- void main();
-} a;
-
-void (*A::table[2][2])()
- = { { PMF2PF(&A::f1a), PMF2PF(&A::f1b) },
- { PMF2PF(&A::f2a), PMF2PF(&A::f1b) },
- };
-
-void
-dispatch (A *obj, int i, int j)
-{
- (*(void (*)(A *))A::table[i][j])(obj);
-}
-
-void A::main() {
- dispatch (&a, 0, 0);
- void (A::*mPtr)() = &A::f1a;
-
- (*(void (*)(A*))PMF2PF(mPtr))(&a);
- (*(void (*)(A*))PMF2PF(f2a))(&a); // { dg-bogus "" "" { xfail *-*-* } }
-}
-
-int main() {
- a.A::main();
- dispatch (&a, 0, 1);
- void (A::*mPtr)() = &A::f1b;
-
- (*(void (*)(A*))PMF2PF(a.*mPtr))(&a);
- (*(void (*)(A*))PMF2PF(a.f2a))(&a); // { dg-bogus "" "" { xfail *-*-* } }
- return ok != 3+3+5+5+7+7;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/template6.C b/gcc/testsuite/g++.old-deja/g++.oliva/template6.C
index f31d677afb0..270d67695f6 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/template6.C
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/template6.C
@@ -6,4 +6,7 @@
// simplified from bug report by Meenaradchagan Vishnu <mvishnu@fore.com>
template <typename> struct foo {};
-template <> void foo(); // { dg-error "" } bad specialization
+template <> void foo(); // { dg-error "not a template function" } bad specialization
+
+struct baz {};
+template <> void baz (); // { dg-error "not a template function" } bad specialization
diff --git a/gcc/testsuite/g++.old-deja/g++.other/struct1.C b/gcc/testsuite/g++.old-deja/g++.other/struct1.C
index f4fa322bd1f..b1f943f604f 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/struct1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/struct1.C
@@ -9,34 +9,34 @@
class Y
{ // { dg-error "" } previous definition
};
-class Y
-{ // { dg-error "" } redefinition
+class Y // { dg-error "" } redefinition
+{
};
template<class T> class X
{ // { dg-error "" } previous definition
};
-template<class T> class X
-{ // { dg-error "" } redefinition
+template<class T> class X // { dg-error "" } redefinition
+{
};
template<class T> class X<T *>
{ // { dg-error "" } previous definition
};
-template<class T> class X<T *>
-{ // { dg-error "" } redefinition
+template<class T> class X<T *> // { dg-error "" } redefinition
+{
};
template<> class X<int>
{ // { dg-error "" } previous definition
};
-template<> class X<int>
-{ // { dg-error "" } redefinition
+template<> class X<int> // { dg-error "" } redefinition
+{
};
template<> class X<int *>
{ // { dg-error "" } previous definition
};
-template<> class X<int *>
-{ // { dg-error "" } redefinition
+template<> class X<int *> // { dg-error "" } redefinition
+{
};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C
index 4b7d5f9f572..54e975edab6 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C
@@ -14,4 +14,4 @@ struct Null {
int *pd = NULL;
int (*pf)() = NULL;
int Null::*pmd = NULL;
-int (Null::*pmf)() = NULL; // { dg-bogus "" "" { xfail *-*-* } } - cannot convert -
+int (Null::*pmf)() = NULL;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020720-1.x b/gcc/testsuite/gcc.c-torture/execute/20020720-1.x
index 7afd9e44879..c693128a791 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020720-1.x
+++ b/gcc/testsuite/gcc.c-torture/execute/20020720-1.x
@@ -29,7 +29,7 @@ set torture_eval_before_compile {
set compiler_conditional_xfail_data {
"This test fails to optimize completely on certain platforms." \
{ "xtensa-*-*" "sh-*-*" "arm*-*-*" "strongarm*-*-*" "xscale*-*-*" \
- "h8300*-*-*" "cris-*-*" "frv-*-*" "powerpc-*-*spe" } \
+ "h8300*-*-*" "frv-*-*" "powerpc-*-*spe" } \
{ "*" } \
{ "-O0" }
}
diff --git a/gcc/testsuite/gcc.dg/asm-b.c b/gcc/testsuite/gcc.dg/asm-b.c
index c3b0edd4284..ce68cabe300 100644
--- a/gcc/testsuite/gcc.dg/asm-b.c
+++ b/gcc/testsuite/gcc.dg/asm-b.c
@@ -1,8 +1,8 @@
/* { dg-do run { target powerpc-*-* i?386-*-* x86_64-*-* } } */
/* { dg-options "-O1" } */
-/* Test to make sure that inline-asm causes the tree optimizers to get the
- V_MAY_DEFs and clobber memory. */
-/* Test from Jakub Jelinek, modified by Andrew Pinski to work on all powerpc targets. */
+/* Test to make sure that inline-asm causes the tree optimizators get the
+ V_MAY_DEFs and clober memory. */
+/* Test from Jakub Jelinek, modified by Andrew Pinski to work on all powerpc targets. */
extern void abort (void);
unsigned short v = 0x0300;
diff --git a/gcc/testsuite/gcc.dg/builtins-10.c b/gcc/testsuite/gcc.dg/builtins-10.c
index 9e5a4583fc3..53158a0f852 100644
--- a/gcc/testsuite/gcc.dg/builtins-10.c
+++ b/gcc/testsuite/gcc.dg/builtins-10.c
@@ -14,11 +14,12 @@ extern double exp(double);
extern double log(double);
extern double sqrt(double);
extern double pow(double,double);
+extern double fabs(double);
void test(double x)
{
- if (sqrt(pow(x,4.0)) != x*x)
- link_error ();
+ /*if (sqrt(pow(x,4.0)) != x*x)
+ link_error (); */
if (pow(sqrt(x),4.0) != x*x)
link_error ();
@@ -29,7 +30,7 @@ void test(double x)
void test2(double x, double y, double z)
{
- if (sqrt(pow(x,y)) != pow(x,y*0.5))
+ if (sqrt(pow(x,y)) != pow(fabs(x),y*0.5))
link_error ();
if (log(pow(x,y)) != y*log(x))
diff --git a/gcc/testsuite/gcc.dg/builtins-34.c b/gcc/testsuite/gcc.dg/builtins-34.c
index 0055f329dd5..f2625d5ef59 100644
--- a/gcc/testsuite/gcc.dg/builtins-34.c
+++ b/gcc/testsuite/gcc.dg/builtins-34.c
@@ -12,14 +12,17 @@ extern double exp10(double);
extern double exp2(double);
extern double pow10(double);
extern double expm1(double);
+extern double ldexp(double, int);
extern float exp10f(float);
extern float exp2f(float);
extern float pow10f(float);
extern float expm1f(float);
+extern float ldexpf(float, int);
extern long double exp10l(long double);
extern long double exp2l(long double);
extern long double pow10l(long double);
extern long double expm1l(long double);
+extern long double ldexpl(long double, int);
double test1(double x)
@@ -42,6 +45,11 @@ double test4(double x)
return expm1(x);
}
+double test5(double x, int exp)
+{
+ return ldexp(x, exp);
+}
+
float test1f(float x)
{
return exp10f(x);
@@ -62,6 +70,11 @@ float test4f(float x)
return expm1f(x);
}
+float test5f(float x, int exp)
+{
+ return ldexpf(x, exp);
+}
+
long double test1l(long double x)
{
return exp10l(x);
@@ -82,3 +95,7 @@ long double test4l(long double x)
return expm1l(x);
}
+long double test5l(long double x, int exp)
+{
+ return ldexpl(x, exp);
+}
diff --git a/gcc/testsuite/gcc.dg/charset/asm1.c b/gcc/testsuite/gcc.dg/charset/asm1.c
index d7578d418f6..dfd14018613 100644
--- a/gcc/testsuite/gcc.dg/charset/asm1.c
+++ b/gcc/testsuite/gcc.dg/charset/asm1.c
@@ -1,5 +1,5 @@
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler ".ascii bar" } }
{ dg-final { scan-assembler ".ascii foo" } }
*/
diff --git a/gcc/testsuite/gcc.dg/charset/asm2.c b/gcc/testsuite/gcc.dg/charset/asm2.c
index bfca86c8e96..a9a9c011b2b 100644
--- a/gcc/testsuite/gcc.dg/charset/asm2.c
+++ b/gcc/testsuite/gcc.dg/charset/asm2.c
@@ -2,7 +2,7 @@
If we ever get a good way to test error recovery
the string "foobar" should be translated. */
/* { dg-do compile } */
-/* { dg-require-iconv "IBM-1047" } */
+/* { dg-require-iconv "IBM1047" } */
asm (not_a_string); /* { dg-error "(parse error|syntax error|expected string literal) before" "not_a_string" } */
char x[] = "foobar";
diff --git a/gcc/testsuite/gcc.dg/charset/asm3.c b/gcc/testsuite/gcc.dg/charset/asm3.c
index 8d8dbbb524d..8ae2212fd26 100644
--- a/gcc/testsuite/gcc.dg/charset/asm3.c
+++ b/gcc/testsuite/gcc.dg/charset/asm3.c
@@ -1,7 +1,7 @@
/* Test for complex asm statements. Make sure it compiles
then test for some of the asm statements not being translated. */
/* { dg-do compile { target i?86-*-* } }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler "std" } }
{ dg-final { scan-assembler "cld" } }
{ dg-final { scan-assembler "rep" } }
diff --git a/gcc/testsuite/gcc.dg/charset/asm4.c b/gcc/testsuite/gcc.dg/charset/asm4.c
index cd850c3e81f..59c8d59ff39 100644
--- a/gcc/testsuite/gcc.dg/charset/asm4.c
+++ b/gcc/testsuite/gcc.dg/charset/asm4.c
@@ -1,6 +1,6 @@
/* Simple asm test. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler "foo" } } */
extern int bar;
diff --git a/gcc/testsuite/gcc.dg/charset/asm5.c b/gcc/testsuite/gcc.dg/charset/asm5.c
index fa93f40fdaf..a4bb01401a9 100644
--- a/gcc/testsuite/gcc.dg/charset/asm5.c
+++ b/gcc/testsuite/gcc.dg/charset/asm5.c
@@ -1,6 +1,6 @@
/* Test for string translation. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler-not "translate" } } */
void foo (void)
{
diff --git a/gcc/testsuite/gcc.dg/charset/asm6.c b/gcc/testsuite/gcc.dg/charset/asm6.c
index 91316224f0c..ae2ec485d80 100644
--- a/gcc/testsuite/gcc.dg/charset/asm6.c
+++ b/gcc/testsuite/gcc.dg/charset/asm6.c
@@ -1,6 +1,6 @@
/* Test for string translation. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler "foo" } } */
int main()
{
diff --git a/gcc/testsuite/gcc.dg/charset/attribute1.c b/gcc/testsuite/gcc.dg/charset/attribute1.c
index 993c7934c80..799630030ba 100644
--- a/gcc/testsuite/gcc.dg/charset/attribute1.c
+++ b/gcc/testsuite/gcc.dg/charset/attribute1.c
@@ -1,6 +1,6 @@
/* Test for attribute non-translation. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler "foo" } } */
int walrus __attribute__ ((section (".foo")));
diff --git a/gcc/testsuite/gcc.dg/charset/attribute2.c b/gcc/testsuite/gcc.dg/charset/attribute2.c
index 4ce95a51f84..ef1f35f3ed1 100644
--- a/gcc/testsuite/gcc.dg/charset/attribute2.c
+++ b/gcc/testsuite/gcc.dg/charset/attribute2.c
@@ -2,7 +2,7 @@
If error recovery is ever testable then "foobar" should be
translated. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
*/
int foo __attribute__ ((walrus)); /* { dg-error "walrus" "ignored" } */
char x[] = "foobar";
diff --git a/gcc/testsuite/gcc.dg/charset/charset.exp b/gcc/testsuite/gcc.dg/charset/charset.exp
index ad75cb55af8..bc2c65db910 100644
--- a/gcc/testsuite/gcc.dg/charset/charset.exp
+++ b/gcc/testsuite/gcc.dg/charset/charset.exp
@@ -30,7 +30,7 @@ load_lib target-supports.exp
# If a testcase doesn't have special options, use these.
global DEFAULT_CHARSETCFLAGS
if ![info exists DEFAULT_CHARSETCFLAGS] then {
- set DEFAULT_CHARSETCFLAGS "-fexec-charset=IBM-1047"
+ set DEFAULT_CHARSETCFLAGS "-fexec-charset=IBM1047"
}
# Initialize `dg'.
diff --git a/gcc/testsuite/gcc.dg/charset/extern.c b/gcc/testsuite/gcc.dg/charset/extern.c
index 5e46ca6facf..05a0c3e42bc 100644
--- a/gcc/testsuite/gcc.dg/charset/extern.c
+++ b/gcc/testsuite/gcc.dg/charset/extern.c
@@ -1,5 +1,5 @@
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler-not "abcdefghijklmnopqrstuvwxyz" } } */
extern char *bar;
diff --git a/gcc/testsuite/gcc.dg/charset/function.c b/gcc/testsuite/gcc.dg/charset/function.c
index ab4c2bcba0e..5aba6511bd0 100644
--- a/gcc/testsuite/gcc.dg/charset/function.c
+++ b/gcc/testsuite/gcc.dg/charset/function.c
@@ -1,5 +1,5 @@
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler-not "\"foobar\"" } } */
const char *str;
diff --git a/gcc/testsuite/gcc.dg/charset/string.c b/gcc/testsuite/gcc.dg/charset/string.c
index 375e28a2ed6..f720773dd57 100644
--- a/gcc/testsuite/gcc.dg/charset/string.c
+++ b/gcc/testsuite/gcc.dg/charset/string.c
@@ -1,5 +1,5 @@
/* Simple character translation test. */
/* { dg-do compile }
- { dg-require-iconv "IBM-1047" }
+ { dg-require-iconv "IBM1047" }
{ dg-final { scan-assembler-not "string foobar" } } */
char *foo = "string foobar";
diff --git a/gcc/testsuite/gcc.dg/cpp/separate-1.c b/gcc/testsuite/gcc.dg/cpp/separate-1.c
index 71dcfef7f1d..8698147d521 100644
--- a/gcc/testsuite/gcc.dg/cpp/separate-1.c
+++ b/gcc/testsuite/gcc.dg/cpp/separate-1.c
@@ -12,4 +12,4 @@ int FOO( /* { dg-error "parse error|syntax error|expected" "error on this line"
), bar;
int baz FOO /* { dg-error "parse error|syntax error|expected" "error on this line" } */
-; /* { dg-warning "no type or storage class" "warning on this line" } */
+;
diff --git a/gcc/testsuite/gcc.dg/noncompile/971104-1.c b/gcc/testsuite/gcc.dg/noncompile/971104-1.c
index 4b02d7174df..722b71c784f 100644
--- a/gcc/testsuite/gcc.dg/noncompile/971104-1.c
+++ b/gcc/testsuite/gcc.dg/noncompile/971104-1.c
@@ -25,5 +25,5 @@ static void up(int sem){
({ "MUTEX ", "BARB_SEM 1", "BARB_SEM 2", "CUST_SEM 1",
"CUST_SEM 2", "WAIT_SEM 1", "WAIT_SEM 2", "WAIT_SEM 3",
"WAIT_SEM 4"} /* { dg-error "parse error|syntax error|expected" } */
- [( sb.sem_num )]) );
+ [( sb.sem_num )]) ); /* { dg-error "expected" } */
}
diff --git a/gcc/testsuite/gcc.dg/noncompile/990416-1.c b/gcc/testsuite/gcc.dg/noncompile/990416-1.c
index a0e02e20638..49f5569394e 100644
--- a/gcc/testsuite/gcc.dg/noncompile/990416-1.c
+++ b/gcc/testsuite/gcc.dg/noncompile/990416-1.c
@@ -3,7 +3,7 @@ typedef int word_type;
static void
copy_reg (unsigned int reg, frame_state *udata, /* { dg-error "parse|syntax|expected" } */
- frame_state *target_udata)
+ frame_state *target_udata) /* { dg-error "expected" } */
{
word_type *preg = get_reg_addr (reg, udata, 0); /* { dg-error "undeclared|function|without a cast" } */
word_type *ptreg = get_reg_addr (reg, target_udata, 0); /* { dg-error "undeclared|without a cast" } */
diff --git a/gcc/testsuite/gcc.dg/sibcall-3.c b/gcc/testsuite/gcc.dg/sibcall-3.c
index d4b1b6f9b63..490e193541f 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-*-* c4x-*-* cris-*-* h8300-*-* ip2k-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mn10300-*-* ns32k-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */
+/* { dg-do run { xfail arc-*-* avr-*-* c4x-*-* cris-*-* h8300-*-* hppa*64*-*-* ip2k-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mn10300-*-* ns32k-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */
/* { dg-options "-O2 -foptimize-sibling-calls" } */
/* The option -foptimize-sibling-calls is the default, but serves as
diff --git a/gcc/testsuite/gcc.dg/sibcall-4.c b/gcc/testsuite/gcc.dg/sibcall-4.c
index b092440e1ad..7237310b3a0 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-*-* c4x-*-* cris-*-* h8300-*-* ip2k-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mn10300-*-* ns32k-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */
+/* { dg-do run { xfail arc-*-* avr-*-* c4x-*-* cris-*-* h8300-*-* hppa*64*-*-* ip2k-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mn10300-*-* ns32k-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */
/* { dg-options "-O2 -foptimize-sibling-calls" } */
/* The option -foptimize-sibling-calls is the default, but serves as
diff --git a/gcc/testsuite/gcc.dg/torture/builtin-power-1.c b/gcc/testsuite/gcc.dg/torture/builtin-power-1.c
index 45566118a81..7cdc00c23fb 100644
--- a/gcc/testsuite/gcc.dg/torture/builtin-power-1.c
+++ b/gcc/testsuite/gcc.dg/torture/builtin-power-1.c
@@ -63,7 +63,7 @@ void test(double d1, double d2, double d3,
|| FN##l(powl(ld1,ld2)) != powl(ld1,ld2/N)) \
link_failure_##FN##_pow()
- ROOT_POW(sqrt,2);
+ /*ROOT_POW(sqrt,2); Invalid. */
/*ROOT_POW(cbrt,3); Intentionally not implemented. */
/* Test pow(pow(x,y),z) -> pow(x,y*z). */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20040517-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20040517-1.c
index 5f99be2874e..4b09b536d13 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/20040517-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/20040517-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-ssa-vops" } */
+/* { dg-options "-O1 -fdump-tree-alias1-vops" } */
extern void abort (void);
int a;
@@ -17,5 +17,4 @@ void bar (void)
malloc functions may clobber global memory. Only the function result
does not alias any other pointer.
Hence, we must have a VDEF for a before and after the call to foo(). */
-/* { dg-final { scan-tree-dump-times "V_MAY_DEF" 1 "ssa"} } */
-
+/* { dg-final { scan-tree-dump-times "V_MAY_DEF" 1 "alias1"} } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20040703-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20040703-1.c
index 8f6ae167d3d..25e470a59b6 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/20040703-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/20040703-1.c
@@ -9,4 +9,4 @@ float foo(float x)
}
/* We should *not* fold the arithmetic. */
-/* { dg-final { scan-tree-dump-times "0.0" 0 "dom2"} } */
+/* { dg-final { scan-tree-dump-times "0\\.0" 0 "dom2"} } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/inline_asm-2.c b/gcc/testsuite/gcc.dg/tree-ssa/inline_asm-2.c
index ef8f9607056..bc4039f878f 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/inline_asm-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/inline_asm-2.c
@@ -13,5 +13,5 @@ void f(char *a)
link_error ();
}
-/* There should a V_MAY_DEF for the inline-asm and one for the link_error. */
-/* { dg-final { scan-tree-dump-times "V_MAY_DEF" 2 "alias1"} } */
+/* There should a V_MAY_DEF for the inline-asm. */
+/* { dg-final { scan-tree-dump-times "V_MAY_DEF" 1 "alias1"} } */
diff --git a/gcc/testsuite/gcc.dg/uninit-4.c b/gcc/testsuite/gcc.dg/uninit-4.c
index c51d00802b7..3a8d917df28 100644
--- a/gcc/testsuite/gcc.dg/uninit-4.c
+++ b/gcc/testsuite/gcc.dg/uninit-4.c
@@ -23,7 +23,7 @@ extern struct operation cpp_lex (void);
void
cpp_parse_expr (void)
{
- int rprio; /* { dg-bogus "rprio" "uninitialized variable warning" } */
+ int rprio; /* { dg-bogus "rprio" "uninitialized variable warning PR19833" { xfail { powerpc*-*-* && lp64 } } } */
struct operation op;
for (;;)
diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp b/gcc/testsuite/gcc.dg/vect/vect.exp
index 55525f41fab..3f52ed68e19 100644
--- a/gcc/testsuite/gcc.dg/vect/vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/vect.exp
@@ -23,7 +23,8 @@ load_lib gcc-dg.exp
set DEFAULT_VECTCFLAGS ""
# These flags are used for all targets.
-lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" "-fdump-tree-vect-stats"
+lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" \
+ "-ftree-vectorizer-verbose=3" "-fdump-tree-vect-stats"
# If the target system supports vector instructions, the default action
# for a test is 'run', otherwise it's 'compile'. Save current default.
diff --git a/gcc/testsuite/gcc.misc-tests/linkage.exp b/gcc/testsuite/gcc.misc-tests/linkage.exp
index 375378d0f16..ade04113c13 100644
--- a/gcc/testsuite/gcc.misc-tests/linkage.exp
+++ b/gcc/testsuite/gcc.misc-tests/linkage.exp
@@ -48,11 +48,14 @@ if [isnative] then {
set native_cflags "-xarch=v9"
}
}
- if [istarget "s390x-*-linux*"] {
+ if [istarget "s390*-*-linux*"] {
set file_string [exec file "linkage-x.o"]
if [ string match "*32-bit*" $file_string ] {
set native_cflags "-m31"
}
+ if [ string match "*64-bit*" $file_string ] {
+ set native_cflags "-m64"
+ }
} elseif [istarget "x86_64-*-linux*"] {
set file_string [exec file "linkage-x.o"]
if [ string match "*32-bit*" $file_string ] {
diff --git a/gcc/testsuite/gfortran.dg/do_iterator.f90 b/gcc/testsuite/gfortran.dg/do_iterator.f90
index 982568e3909..0e11aa23339 100644
--- a/gcc/testsuite/gfortran.dg/do_iterator.f90
+++ b/gcc/testsuite/gfortran.dg/do_iterator.f90
@@ -1,8 +1,12 @@
! { dg-do compile }
! various checks which verify that we don't change do-iterators
-DO I=1,5
- I=1 ! { dg-error "cannot be redefined" "changing do-iterator 1" }
+DO I=1,5 ! { dg-error "cannot be redefined" "changing do-iterator 1" }
+ I=1 ! { dg-error "cannot be redefined" "changing do-iterator 1" }
+END DO
+DO I=1,5 ! { dg-error "cannot be redefined" "changing do-iterator 2" }
READ(5,*) I ! { dg-error "cannot be redefined" "changing do-iterator 2" }
+END DO
+DO I=1,5 ! { dg-error "cannot be redefined" "changing do-iterator 3" }
READ(5,*,iostat=i) j ! { dg-error "cannot be redefined" "changing do-iterator 3" }
ENDDO
END
diff --git a/gcc/testsuite/gfortran.dg/pr17708.f90 b/gcc/testsuite/gfortran.dg/pr17708.f90
index 7485da8bb07..b696b0c2757 100644
--- a/gcc/testsuite/gfortran.dg/pr17708.f90
+++ b/gcc/testsuite/gfortran.dg/pr17708.f90
@@ -2,8 +2,8 @@
program test
j = 0
do 10 i=1,3
- if(i == 2) goto 10 ! { dg-warning "" "" }
+ if(i == 2) goto 10 ! { dg-warning "jumps to END" }
j = j+1
-10 enddo
+10 enddo ! { dg-warning "jumps to END" }
if (j/=2) call abort
end
diff --git a/gcc/testsuite/gfortran.dg/select_4.f90 b/gcc/testsuite/gfortran.dg/select_4.f90
index 8fb661f7c22..dbced6e4c66 100644
--- a/gcc/testsuite/gfortran.dg/select_4.f90
+++ b/gcc/testsuite/gfortran.dg/select_4.f90
@@ -4,15 +4,15 @@
program select_5
integer i
select case(i)
- case (20:30)
- case (25:) ! { dg-error "overlaps with CASE" "" }
+ case (20:30) ! { dg-error "overlaps with CASE" }
+ case (25:) ! { dg-error "overlaps with CASE" }
end select
select case(i)
- case (30)
- case (25:) ! { dg-error "overlaps with CASE" "" }
+ case (30) ! { dg-error "overlaps with CASE" }
+ case (25:) ! { dg-error "overlaps with CASE" }
end select
select case(i)
- case (20:30)
- case (25) ! { dg-error "overlaps with CASE" "" }
+ case (20:30) ! { dg-error "overlaps with CASE" }
+ case (25) ! { dg-error "overlaps with CASE" }
end select
end program select_5
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index 6e09639b1cf..9f55b02cb93 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -17,6 +17,7 @@
load_lib dg.exp
load_lib file-format.exp
load_lib target-supports.exp
+load_lib target-supports-dg.exp
load_lib scanasm.exp
load_lib scantree.exp
load_lib prune.exp
@@ -298,157 +299,6 @@ proc gcc-dg-debug-runtest { target_compile trivial opt_opts testcases } {
}
}
-# If this target does not support weak symbols, skip this test.
-
-proc dg-require-weak { args } {
- set weak_available [ check_weak_available ]
- if { $weak_available == -1 } {
- upvar name name
- unresolved "$name"
- }
- if { $weak_available != 1 } {
- upvar dg-do-what dg-do-what
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
- }
-}
-
-# If this target does not support the "visibility" attribute, skip this
-# test.
-
-proc dg-require-visibility { args } {
- set visibility_available [ check_visibility_available ]
- if { $visibility_available == -1 } {
- upvar name name
- unresolved "$name"
- }
- if { $visibility_available != 1 } {
- upvar dg-do-what dg-do-what
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
- }
-}
-
-# If this target does not support the "alias" attribute, skip this
-# test.
-
-proc dg-require-alias { args } {
- set alias_available [ check_alias_available ]
- if { $alias_available == -1 } {
- upvar name name
- unresolved "$name"
- }
- if { $alias_available < 2 } {
- upvar dg-do-what dg-do-what
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
- }
-}
-
-# If this target's linker does not support the --gc-sections flag,
-# skip this test.
-
-proc dg-require-gc-sections { args } {
- if { ![ check_gc_sections_available ] } {
- upvar dg-do-what dg-do-what
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
- }
-}
-
-# If this target does not support profiling, skip this test.
-
-proc dg-require-profiling { args } {
- if { ![ check_profiling_available ${args} ] } {
- upvar dg-do-what dg-do-what
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
- }
-}
-
-# If this target does not support DLL attributes skip this test.
-
-proc dg-require-dll { args } {
- global target_triplet
- # As a special case, the mcore-*-elf supports these attributes.
- # All Symbian OS targets also support these attributes.
- if { [string match "mcore-*-elf" $target_triplet]
- || [string match "*-*-symbianelf" $target_triplet]} {
- return
- }
- # PE/COFF targets support dllimport/dllexport.
- if { [gcc_target_object_format] == "pe" } {
- return
- }
-
- upvar dg-do-what dg-do-what
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
-}
-
-proc dg-require-iconv { args } {
- if { ![ check_iconv_available ${args} ] } {
- upvar dg-do-what dg-do-what
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
- }
-}
-
-# If this target does not support named sections skip this test.
-
-proc dg-require-named-sections { args } {
- if { ![ check_named_sections_available ] } {
- upvar dg-do-what dg-do-what
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
- }
-}
-
-# If the target does not match the required effective target, skip this test.
-
-proc dg-require-effective-target { args } {
- set args [lreplace $args 0 0]
- 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"]
- }
-}
-
-# Skip the test (report it as UNSUPPORTED) if the target list and
-# included flags are matched and the excluded flags are not matched.
-#
-# The first argument is the line number of the dg-skip-if directive
-# within the test file. Remaining arguments are as for xfail lists:
-# message { targets } { include } { exclude }
-#
-# This tests against multilib flags plus either the default flags for this
-# group of tests or flags specified with a previous dg-options command.
-
-proc dg-skip-if { args } {
- set args [lreplace $args 0 0]
-
- set selector "target [join [lindex $args 1]]"
- if { [dg-process-target $selector] == "S" } {
- # The target list matched; now check the flags. The DejaGnu proc
- # check_conditional_xfail will look at the options in compiler_flags,
- # so set that up for this test based on flags we know about. Start
- # the list with a dummy tool name so the list will match "*" if
- # there are no flags.
-
- global compiler_flags
- upvar dg-extra-tool-flags extra_tool_flags
-
- set compiler_flags " toolname "
- append compiler_flags $extra_tool_flags
- set dest [target_info name]
- if [board_info $dest exists multilib_flags] {
- append compiler_flags "[board_info $dest multilib_flags] "
- }
-
- # The target list might be an effective-target keyword, so replace
- # the original list with "*-*-*".
- if [check_conditional_xfail [lreplace $args 1 1 "*-*-*"]] {
- upvar dg-do-what dg-do-what
- set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
- }
-
- # Any value in this variable was left over from an earlier test.
- set compiler_flags ""
- }
-}
-
# Prune any messages matching ARGS[1] (a regexp) from test output.
proc dg-prune-output { args } {
global additional_prunes
@@ -461,23 +311,6 @@ proc dg-prune-output { args } {
lappend additional_prunes [lindex $args 1]
}
-# Like check_conditional_xfail, but callable from a dg test.
-
-proc dg-xfail-if { args } {
- # Don't change anything if we're already skipping the test.
- upvar dg-do-what dg-do-what
- if { [lindex ${dg-do-what} 1] == "N" } {
- return
- }
-
- set args [lreplace $args 0 0]
- set selector "target [join [lindex $args 1]]"
- if { [dg-process-target $selector] == "S" } {
- global compiler_conditional_xfail_data
- set compiler_conditional_xfail_data [lreplace $args 1 1 "*-*-*"]
- }
-}
-
# We need to make sure that additional_* are cleared out after every
# test. It is not enough to clear them out *before* the next test run
# because gcc-target-compile gets run directly from some .exp files
@@ -515,117 +348,4 @@ if { [info procs saved-dg-test] == [list] } {
}
}
-# Intercept the call to the DejaGnu version of dg-process-target to
-# support use of an effective-target keyword in place of a list of
-# target triplets to xfail or skip a test.
-#
-# selector is one of:
-# xfail target-triplet-1 ...
-# xfail effective-target-keyword
-# xfail selector-expression
-# target target-triplet-1 ...
-# target effective-target-keyword
-# target selector-expression
-#
-# For a target list the result is "S" if the target is selected, "N" otherwise.
-# For an xfail list the result is "F" if the target is affected, "P" otherwise.
-#
-# A selector expression appears within curly braces and uses a single logical
-# operator: !, &&, or ||. An operand is another selector expression, an
-# effective-target keyword, or a list of target triplets within quotes or
-# curly braces.
-
-if { [info procs saved-dg-process-target] == [list] } {
- rename dg-process-target saved-dg-process-target
-
- # Evaluate an operand within a selector expression.
- proc selector_opd { op } {
- set selector "target"
- lappend selector $op
- set answer [ expr { [dg-process-target $selector] == "S" } ]
- verbose "selector_opd: `$op' $answer" 2
- return $answer
- }
-
- # Evaluate a target triplet list within a selector expression.
- # Unlike other operands, this needs to be expanded from a list to
- # the same string as "target".
- proc selector_list { op } {
- set selector "target [join $op]"
- set answer [ expr { [dg-process-target $selector] == "S" } ]
- verbose "selector_list: `$op' $answer" 2
- return $answer
- }
-
- # Evaluate a selector expression.
- proc selector_expression { exp } {
- if { [llength $exp] == 2 } {
- if [string match "!" [lindex $exp 0]] {
- set op1 [lindex $exp 1]
- set answer [expr { ! [selector_opd $op1] }]
- } else {
- # Assume it's a list of target triplets.
- set answer [selector_list $exp]
- }
- } elseif { [llength $exp] == 3 } {
- set op1 [lindex $exp 0]
- set opr [lindex $exp 1]
- set op2 [lindex $exp 2]
- if [string match "&&" $opr] {
- set answer [expr { [selector_opd $op1] && [selector_opd $op2] }]
- } elseif [string match "||" $opr] {
- set answer [expr { [selector_opd $op1] || [selector_opd $op2] }]
- } else {
- # Assume it's a list of target triplets.
- set answer [selector_list $exp]
- }
- } else {
- # Assume it's a list of target triplets.
- set answer [selector_list $exp]
- }
-
- verbose "selector_expression: `$exp' $answer" 2
- return $answer
- }
-
- proc dg-process-target { args } {
- verbose "replacement dg-process-target: `$args'" 2
-
- # Extract the 'what' keyword from the argument list.
- set selector [string trim [lindex $args 0]]
- if [regexp "^xfail " $selector] {
- set what "xfail"
- } elseif [regexp "^target " $selector] {
- set what "target"
- } else {
- error "syntax error in target selector \"$selector\""
- }
-
- # Extract the rest of the list, which might be a keyword.
- regsub "^${what}" $selector "" rest
- set rest [string trim $rest]
-
- if [is-effective-target-keyword $rest] {
- # The selector is an effective target keyword.
- if [is-effective-target $rest] {
- return [expr { $what == "xfail" ? "F" : "S" }]
- } else {
- return [expr { $what == "xfail" ? "P" : "N" }]
- }
- }
-
- if [string match "{*}" $rest] {
- if [selector_expression [lindex $rest 0]] {
- return [expr { $what == "xfail" ? "F" : "S" }]
- } else {
- return [expr { $what == "xfail" ? "P" : "N" }]
- }
- }
-
- # The selector is not an effective-target keyword, so process
- # the list of target triplets.
- return [saved-dg-process-target $selector]
- }
-}
-
set additional_prunes ""
diff --git a/gcc/testsuite/lib/gfortran-dg.exp b/gcc/testsuite/lib/gfortran-dg.exp
index 2387403030b..247df02bd0c 100644
--- a/gcc/testsuite/lib/gfortran-dg.exp
+++ b/gcc/testsuite/lib/gfortran-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -25,11 +25,47 @@ proc gfortran-dg-test { prog do_what extra_tool_flags } {
set comp_output [lindex $result 0]
set output_file [lindex $result 1]
- # Put the error message on the same line as the line number
- # FIXME: Add a colon after line number
- # Remove the line of source code with the error and
- # the number pointing to error
- regsub -all "\n\n\[^\n\]*\n *\[0-9\]*\n" $comp_output ": " comp_output
+ # gfortran error messages look like this:
+ # In file [name]:[line]
+ #
+ # some code
+ # 1
+ # Error: Some error at (1) and (2)
+ # or
+ # In file [name]:[line]
+ #
+ # some code
+ # 1
+ # In file [name]:[line2]
+ #
+ # some other code
+ # 2
+ # Error: Some error at (1) and (2)
+ # or
+ # In file [name]:[line]
+ #
+ # some code and some more code
+ # 1 2
+ # Error: Some error at (1) and (2)
+ #
+ # We collapse these to look like:
+ # [name]:[line]: Error: Some error at (1) and (2)
+ # or
+ # [name]:[line]: Error: Some error at (1) and (2)
+ # [name]:[line2]: Error: Some error at (1) and (2)
+ # We proceed in two steps: first we deal with the form with two
+ # different locus lines, then with the form with only one locus line.
+ #
+ # Note that these regexps only make sense in the combinations used below.
+ # Note also that is imperative that we first deal with the form with
+ # two loci.
+ set locus_regexp " In file (\[^\n\]*)\n\n\[^\n\]*\n\[^\n\]*\n"
+ set diag_regexp "(\[^\n\]*)\n"
+
+ set two_loci "$locus_regexp$locus_regexp$diag_regexp"
+ set single_locus "$locus_regexp$diag_regexp"
+ regsub -all $two_loci $comp_output "\\1: \\3\n\\2: \\3\n" comp_output
+ regsub -all $single_locus $comp_output "\\1: \\2\n" comp_output
return [list $comp_output $output_file]
}
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 4a91b943d6d..f2577c18106 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -386,6 +386,92 @@ proc check_vmx_hw_available { } {
return $vmx_hw_available_saved
}
+# GCC 3.4.0 for powerpc64-*-linux* included an ABI fix for passing
+# complex float arguments. This affects gfortran tests that call cabsf
+# in libm built by an earlier compiler. Return 1 if libm uses the same
+# argument passing as the compiler under test, 0 otherwise.
+#
+# When the target name changes, replace the cached result.
+
+proc check_effective_target_broken_cplxf_arg { } {
+ global et_broken_cplxf_arg_saved
+ global et_broken_cplxf_arg_target_name
+ global tool
+
+ # Skip the work for targets known not to be affected.
+ if { ![istarget powerpc64-*-linux*] } {
+ return 0
+ } elseif { [is-effective-target ilp32] } {
+ return 0
+ }
+
+ if { ![info exists et_broken_cplxf_arg_target_name] } {
+ set et_broken_cplxf_arg_target_name ""
+ }
+
+ # If the target has changed since we set the cached value, clear it.
+ set current_target [current_target_name]
+ if { $current_target != $et_broken_cplxf_arg_target_name } {
+ verbose "check_effective_target_broken_cplxf_arg: `$et_broken_cplxf_arg_target_name'" 2
+ set et_broken_cplxf_arg_target_name $current_target
+ if [info exists et_broken_cplxf_arg_saved] {
+ verbose "check_effective_target_broken_cplxf_arg: removing cached result" 2
+ unset et_broken_cplxf_arg_saved
+ }
+ }
+
+ if [info exists et_broken_cplxf_arg_saved] {
+ verbose "check_effective_target_broken_cplxf_arg: using cached result" 2
+ } else {
+ set et_broken_cplxf_arg_saved 0
+ # This is only known to affect one target.
+ if { ![istarget powerpc64-*-linux*] || ![is-effective-target lp64] } {
+ set et_broken_cplxf_arg_saved 0
+ verbose "check_effective_target_broken_cplxf_arg: caching 0" 2
+ return $et_broken_cplxf_arg_saved
+ }
+
+ # Set up, compile, and execute a C test program that calls cabsf.
+ set src cabsf[pid].c
+ set exe cabsf[pid].x
+
+ set f [open $src "w"]
+ puts $f "#include <complex.h>"
+ puts $f "extern void abort (void);"
+ puts $f "float fabsf (float);"
+ puts $f "float cabsf (_Complex float);"
+ puts $f "int main ()"
+ puts $f "{"
+ puts $f " _Complex float cf;"
+ puts $f " float f;"
+ puts $f " cf = 3 + 4.0fi;"
+ puts $f " f = cabsf (cf);"
+ puts $f " if (fabsf (f - 5.0) > 0.0001) abort ();"
+ puts $f " return 0;"
+ puts $f "}"
+ close $f
+
+ set lines [${tool}_target_compile $src $exe executable "-lm"]
+ file delete $src
+
+ if [string match "" $lines] {
+ # No error message, compilation succeeded.
+ set result [${tool}_load "./$exe" "" ""]
+ set status [lindex $result 0]
+ remote_file build delete $exe
+
+ verbose "check_effective_target_broken_cplxf_arg: status is <$status>" 2
+
+ if { $status != "pass" } {
+ set et_broken_cplxf_arg_saved 1
+ }
+ } else {
+ verbose "check_effective_target_broken_cplxf_arg: compilation failed" 2
+ }
+ }
+ return $et_broken_cplxf_arg_saved
+}
+
proc check_alpha_max_hw_available { } {
global alpha_max_hw_available_saved
global tool
diff --git a/gcc/testsuite/treelang/ChangeLog b/gcc/testsuite/treelang/ChangeLog
index c60765b837c..4f7fd02b5e9 100644
--- a/gcc/testsuite/treelang/ChangeLog
+++ b/gcc/testsuite/treelang/ChangeLog
@@ -1,3 +1,28 @@
+2005-02-26 James A. Morrison <phython@gcc.gnu.org>
+
+ * compile/var_defs: Add uninitialized variables.
+
+2005-02-26 James A. Morrison <phython@gcc.gnu.org>
+
+ * compile/extrafunc.tree, compile/extravar.tree: New tests.
+
+2005-02-26 James A. Morrison <phython@gcc.gnu.org>
+
+ * compile/unsigned.tree: New test.
+
+2005-02-24 James A. Morrison <phython@gcc.gnu.org>
+
+ PR other/19896
+ * execute/execute.exp: New file.
+ * execute/funccall.tree, execute/funccall-2.tree, execute/initial.tree,
+ execute/main.tree, execute/static.tree: New tests.
+
+2005-02-24 James A. Morrison <phython@gcc.gnu.org>
+
+ PR other/19897
+ * compile/exit.tree, compile/extref.tree, compile/function-1.tree,
+ compile/syntax-1.tree: New tests.
+
2004-10-02 James A. Morrison <phython@gcc.gnu.org>
* compile/autofunc.tree: New File.
diff --git a/gcc/testsuite/treelang/compile/var_defs.tree b/gcc/testsuite/treelang/compile/var_defs.tree
index aaab0d9099e..49f9cd0385b 100644
--- a/gcc/testsuite/treelang/compile/var_defs.tree
+++ b/gcc/testsuite/treelang/compile/var_defs.tree
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-options "-Wuninitialized -O" }
external_definition void boring (int arg0);
external_definition char condition (char arg1, char arg2);
external_definition int first_nonzero (int arg5, int arg6);
@@ -14,11 +15,12 @@ condition
if (arg1)
{
automatic int i;
- return arg1;
+ return i + 1; // { dg-warning "uninitialized" }
}
else
{
- return 0;
+ automatic int j;
+ return j; // { dg-warning "uninitialized" }
}
}