diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-16 16:48:45 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-16 16:48:45 +0000 |
commit | 072fc19c921464e34f695478f461b66329619848 (patch) | |
tree | c9cd18f993d59ce07f62cc5597f102baad744b53 | |
parent | 059402ed15c3f8ce87ca750730a04bea51f13279 (diff) |
svn merge -r126830:127528 svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_1-branch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_1-branch@127561 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/DATESTAMP | 2 | ||||
-rw-r--r-- | gcc/config/s390/s390.md | 4 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/error.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/other/error16.C | 14 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20070801-1.c | 62 | ||||
-rw-r--r-- | gcc/version.c | 2 |
9 files changed, 106 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a15b398e8a..3636a4111bf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2007-08-02 Andreas Krebbel <krebbel1@de.ibm.com> + + * config/s390/s390.md ("*xordi3_cconly"): Change xr to xg. + +2007-08-01 Andreas Krebbel <krebbel1@de.ibm.com> + + * config/s390/s390.md (TF in GPR splitter): Change operand_subword + parameter to TFmode. + 2005-12-21 Joseph S. Myers <joseph@codesourcery.com> PR middle-end/24998 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 89442fa0d9d..3ea82236f23 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20070723 +20070816 diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 6d994c87944..910fd2bab60 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -1578,7 +1578,7 @@ && !s_operand (operands[1], VOIDmode)" [(set (match_dup 0) (match_dup 1))] { - rtx addr = operand_subword (operands[0], 1, 0, DFmode); + rtx addr = operand_subword (operands[0], 1, 0, TFmode); s390_load_address (addr, XEXP (operands[1], 0)); operands[1] = replace_equiv_address (operands[1], addr); }) @@ -5902,7 +5902,7 @@ "s390_match_ccmode(insn, CCTmode) && TARGET_64BIT" "@ xgr\t%0,%2 - xr\t%0,%2" + xg\t%0,%2" [(set_attr "op_type" "RRE,RXY")]) (define_insn "*xordi3_extimm" diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 5765f612abf..591c8757a4f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2007-08-10 Paolo Carlini <pcarlini@suse.de> + + PR c++/17763 + * error.c (dump_expr): Consistently use the *_cxx_* + variants of the pretty-print functions. + 2007-07-02 Jakub Jelinek <jakub@redhat.com> PR c++/31748 diff --git a/gcc/cp/error.c b/gcc/cp/error.c index be4563265d7..e1cdfcd0015 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -1413,13 +1413,13 @@ dump_expr (tree t, int flags) if (TREE_CODE (ob) == ADDR_EXPR) { dump_expr (TREE_OPERAND (ob, 0), flags | TFF_EXPR_IN_PARENS); - pp_dot (cxx_pp); + pp_cxx_dot (cxx_pp); } else if (TREE_CODE (ob) != PARM_DECL || strcmp (IDENTIFIER_POINTER (DECL_NAME (ob)), "this")) { dump_expr (ob, flags | TFF_EXPR_IN_PARENS); - pp_arrow (cxx_pp); + pp_cxx_arrow (cxx_pp); } args = TREE_CHAIN (args); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6142ec58baa..8869d9695cc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2007-08-10 Paolo Carlini <pcarlini@suse.de> + + PR c++/17763 + * g++.dg/other/error16.C: New. + +2007-08-01 Andreas Krebbel <krebbel1@de.ibm.com> + + * gcc.dg/20070801-1.c: New testcase. + 2006-09-19 Paul Brook <paul@codesourcery.com> PR target/28516 diff --git a/gcc/testsuite/g++.dg/other/error16.C b/gcc/testsuite/g++.dg/other/error16.C new file mode 100644 index 00000000000..1e34647145d --- /dev/null +++ b/gcc/testsuite/g++.dg/other/error16.C @@ -0,0 +1,14 @@ +// PR c++/17763 + +template <typename U> struct Outer { + struct Inner {}; + Inner foo(); +}; + +typedef int X; +typedef Outer<X> XOuter; + +int main() { + Outer<int> ab; + ab.foo() == 1; // { dg-error "ab.Outer" } +} diff --git a/gcc/testsuite/gcc.dg/20070801-1.c b/gcc/testsuite/gcc.dg/20070801-1.c new file mode 100644 index 00000000000..d6a034cd13d --- /dev/null +++ b/gcc/testsuite/gcc.dg/20070801-1.c @@ -0,0 +1,62 @@ +/* This failed on s390x due to a back end bug. */ + +/* { dg-do compile { target fpic } } */ +/* { dg-options "-O2 -fpic" } */ + +typedef long unsigned int size_t; +typedef enum +{ + TYPE_SCHAR, TYPE_LONGDOUBLE +} +arg_type; + +typedef struct +{ + arg_type type; + union + { + signed char a_schar; + long double a_longdouble; + } + a; +} +argument; + +typedef struct +{ + argument *arg; +} +arguments; + +int ind; + +extern void foo (arguments *a); + +void +bar () +{ + arguments a; + char *buf; + char *result; + int uninitialized; + int count, i; + int retcount; + + foo (&a); + + switch (a.arg[ind].type) + { + case TYPE_SCHAR: + { + if (uninitialized == 0) + __builtin___snprintf_chk (result, 10, 1, 10, buf, 1, &count); + } + case TYPE_LONGDOUBLE: + { + long double arg = a.arg[ind].a.a_longdouble; + + if (uninitialized == 0) + __builtin___snprintf_chk (result, 10, 1, 10, buf, arg, &count); + } + } +} diff --git a/gcc/version.c b/gcc/version.c index c944f8155f7..950e7c490cf 100644 --- a/gcc/version.c +++ b/gcc/version.c @@ -8,7 +8,7 @@ in parentheses. You may also wish to include a number indicating the revision of your modified compiler. */ -#define VERSUFFIX " (Red Hat 4.1.2-16)" +#define VERSUFFIX " (Red Hat 4.1.2-18)" /* This is the location of the online document giving instructions for reporting bugs. If you distribute a modified version of GCC, |