aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-16 16:48:45 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-16 16:48:45 +0000
commit072fc19c921464e34f695478f461b66329619848 (patch)
treec9cd18f993d59ce07f62cc5597f102baad744b53
parent059402ed15c3f8ce87ca750730a04bea51f13279 (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/ChangeLog9
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/config/s390/s390.md4
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/error.c4
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/g++.dg/other/error16.C14
-rw-r--r--gcc/testsuite/gcc.dg/20070801-1.c62
-rw-r--r--gcc/version.c2
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,