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:
parent
5a6bb57eb9
commit
3bf6bfcc7e
|
@ -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>
|
2007-05-15 Zdenek Dvorak <dvorakz@suse.cz>
|
||||||
|
|
||||||
* tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate
|
* tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate
|
||||||
|
|
|
@ -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);
|
int none_complex = (code0 != COMPLEX_TYPE && code1 != COMPLEX_TYPE);
|
||||||
|
|
||||||
if (shorten || common || short_compare)
|
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)
|
/* For certain operations (which identify themselves by shorten != 0)
|
||||||
if both args were extended from the same smaller type,
|
if both args were extended from the same smaller type,
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
2007-05-14 Janis Johnson <janis187@us.ibm.com>
|
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
|
PR c/31924
|
||||||
* gcc.dg/fltconst-1.c: New test.
|
* gcc.dg/fltconst-1.c: New test.
|
||||||
|
|
|
@ -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++;
|
||||||
|
}
|
Loading…
Reference in New Issue