c-typeck.c (build_binary_op): Return early for error.

gcc/
	* c-typeck.c (build_binary_op): Return early for error.
gcc/testsuite/
	* gcc.dg/dfp/usual-arith-conv-bad.c: New test.

From-SVN: r124732
This commit is contained in:
Janis Johnson 2007-05-14 23:49:36 +00:00 committed by Janis Johnson
parent 5a6bb57eb9
commit 3bf6bfcc7e
4 changed files with 26 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2007-05-14 Janis Johnson <janis187@us.ibm.com>
* c-typeck.c (build_binary_op): Return early for error.
2007-05-15 Zdenek Dvorak <dvorakz@suse.cz>
* tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate

View File

@ -8148,7 +8148,11 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
int none_complex = (code0 != COMPLEX_TYPE && code1 != COMPLEX_TYPE);
if (shorten || common || short_compare)
result_type = c_common_type (type0, type1);
{
result_type = c_common_type (type0, type1);
if (result_type == error_mark_node)
return error_mark_node;
}
/* For certain operations (which identify themselves by shorten != 0)
if both args were extended from the same smaller type,

View File

@ -1,6 +1,8 @@
2007-05-14 Janis Johnson <janis187@us.ibm.com>
* expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
* gcc.dg/dfp/usual-arith-conv-bad.c: New test.
* gcc.dg/fltconst-pedantic-dfp.c: New test.
PR c/31924
* gcc.dg/fltconst-1.c: New test.

View File

@ -0,0 +1,14 @@
/* { dg-do compile } */
/* { dg-options "-std=gnu99" } */
/* This used to result in an ICE. */
extern _Decimal64 x;
extern int i;
void
foo (void)
{
if (x <= 2.0) /* { dg-error "mix operands" } */
i++;
}