Commit 2c751309 by Daniel Berlin

in gcc/ 2007-05-31 Daniel Berlin <dberlin@dberlin.org>

in gcc/
2007-05-31  Daniel Berlin  <dberlin@dberlin.org>

	* c-typeck.c (build_indirect_ref): Include type in error message.
	(build_binary_op): Pass types to binary_op_error.
	* c-common.c (binary_op_error): Take two type arguments, print out
	types with error.
	* c-common.h (binary_op_error): Update prototype.
In gcc/cp
2007-05-31  Daniel Berlin  <dberlin@dberlin.org>

	* typeck.c (build_binary_op): Include types in error.

From-SVN: r125239
parent 6847c43d
2007-05-31 Daniel Berlin <dberlin@dberlin.org>
* c-typeck.c (build_indirect_ref): Include type in error message.
(build_binary_op): Pass types to binary_op_error.
* c-common.c (binary_op_error): Take two type arguments, print out
types with error.
* c-common.h (binary_op_error): Update prototype.
2007-05-31 H.J. Lu <hongjiu.lu@intel.com> 2007-05-31 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c: Correct coments on -mno-sse4. * config/i386/i386.c: Correct coments on -mno-sse4.
...@@ -75,6 +83,7 @@ ...@@ -75,6 +83,7 @@
* gcc.c (main): Don't consider linker options when issuing the * gcc.c (main): Don't consider linker options when issuing the
warning about a linker input file not being used. warning about a linker input file not being used.
>>>>>>> .r125234
2007-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2007-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tree-vrp.c (compare_names): Initialize sop. * tree-vrp.c (compare_names): Initialize sop.
......
...@@ -2233,10 +2233,10 @@ min_precision (tree value, int unsignedp) ...@@ -2233,10 +2233,10 @@ min_precision (tree value, int unsignedp)
} }
/* Print an error message for invalid operands to arith operation /* Print an error message for invalid operands to arith operation
CODE. */ CODE with TYPE0 for operand 0, and TYPE1 for operand 1. */
void void
binary_op_error (enum tree_code code) binary_op_error (enum tree_code code, tree type0, tree type1)
{ {
const char *opname; const char *opname;
...@@ -2287,7 +2287,8 @@ binary_op_error (enum tree_code code) ...@@ -2287,7 +2287,8 @@ binary_op_error (enum tree_code code)
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
error ("invalid operands to binary %s", opname); error ("invalid operands to binary %s (have %qT and %qT)", opname,
type0, type1);
} }
/* Subroutine of build_binary_op, used for comparison operations. /* Subroutine of build_binary_op, used for comparison operations.
......
...@@ -677,7 +677,7 @@ extern tree c_sizeof_or_alignof_type (tree, bool, int); ...@@ -677,7 +677,7 @@ extern tree c_sizeof_or_alignof_type (tree, bool, int);
extern tree c_alignof_expr (tree); extern tree c_alignof_expr (tree);
/* Print an error message for invalid operands to arith operation CODE. /* Print an error message for invalid operands to arith operation CODE.
NOP_EXPR is used as a special case (see truthvalue_conversion). */ NOP_EXPR is used as a special case (see truthvalue_conversion). */
extern void binary_op_error (enum tree_code); extern void binary_op_error (enum tree_code, tree, tree);
extern tree fix_string_type (tree); extern tree fix_string_type (tree);
struct varray_head_tag; struct varray_head_tag;
extern void constant_expression_warning (tree); extern void constant_expression_warning (tree);
......
...@@ -1923,7 +1923,7 @@ build_indirect_ref (tree ptr, const char *errorstring) ...@@ -1923,7 +1923,7 @@ build_indirect_ref (tree ptr, const char *errorstring)
} }
} }
else if (TREE_CODE (pointer) != ERROR_MARK) else if (TREE_CODE (pointer) != ERROR_MARK)
error ("invalid type argument of %qs", errorstring); error ("invalid type argument of %qs (have %qT)", errorstring, type);
return error_mark_node; return error_mark_node;
} }
...@@ -8138,7 +8138,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, ...@@ -8138,7 +8138,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
|| !same_scalar_type_ignoring_signedness (TREE_TYPE (type0), || !same_scalar_type_ignoring_signedness (TREE_TYPE (type0),
TREE_TYPE (type1)))) TREE_TYPE (type1))))
{ {
binary_op_error (code); binary_op_error (code, type0, type1);
return error_mark_node; return error_mark_node;
} }
...@@ -8438,7 +8438,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, ...@@ -8438,7 +8438,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
if (!result_type) if (!result_type)
{ {
binary_op_error (code); binary_op_error (code, TREE_TYPE (op0), TREE_TYPE (op1));
return error_mark_node; return error_mark_node;
} }
......
2007-05-31 Daniel Berlin <dberlin@dberlin.org>
* typeck.c (build_binary_op): Include types in error.
2007-05-31 Jakub Jelinek <jakub@redhat.com> 2007-05-31 Jakub Jelinek <jakub@redhat.com>
PR c++/31806 PR c++/31806
......
...@@ -3556,7 +3556,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, ...@@ -3556,7 +3556,7 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
|| !same_scalar_type_ignoring_signedness (TREE_TYPE (type0), || !same_scalar_type_ignoring_signedness (TREE_TYPE (type0),
TREE_TYPE (type1))) TREE_TYPE (type1)))
{ {
binary_op_error (code); binary_op_error (code, type0, type1);
return error_mark_node; return error_mark_node;
} }
arithmetic_types_p = 1; arithmetic_types_p = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment