aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/call.c5
-rw-r--r--gcc/cp/error.c8
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index f62013d..8318b91 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,12 @@
2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
+ PR c++/11510
+ * call.c (op_error): Properly format REALPART_EXPR and
+ IMAGPART_EXPR.
+ * error.c (dump_expr): Likewise.
+
+2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
* error.c (dump_expr): Handle EMPTY_CLASS_EXPR.
2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index c71b3f8..bd947f7 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -3010,6 +3010,11 @@ op_error (enum tree_code code, enum tree_code code2,
case ARRAY_REF:
error ("%s for 'operator[]' in '%E[%E]'", problem, arg1, arg2);
break;
+
+ case REALPART_EXPR:
+ case IMAGPART_EXPR:
+ error ("%s for '%s' in '%s %E'", problem, opname, opname, arg1);
+ break;
default:
if (arg2)
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 1fc4047..b9bc9b2 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -1982,6 +1982,14 @@ dump_expr (tree t, int flags)
print_right_paren (scratch_buffer);
break;
+ case REALPART_EXPR:
+ case IMAGPART_EXPR:
+ print_identifier (scratch_buffer,
+ operator_name_info[TREE_CODE (t)].name);
+ output_add_space (scratch_buffer);
+ dump_expr (TREE_OPERAND (t, 0), flags);
+ break;
+
case DEFAULT_ARG:
print_identifier (scratch_buffer, "<unparsed>");
break;