diff options
author | Joseph Myers <joseph@codesourcery.com> | 2009-10-08 01:32:51 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2009-10-08 01:32:51 +0100 |
commit | e5a942312327b2ef428e7d2d7fc97b5150c7c04a (patch) | |
tree | fd81fa90e7923181957eb30dcbb964a2a29c5e9d /gcc/c-common.h | |
parent | 1afab7bdc313af774b7bf5bf61872c6416e48ee9 (diff) | |
download | gcc-e5a942312327b2ef428e7d2d7fc97b5150c7c04a.zip gcc-e5a942312327b2ef428e7d2d7fc97b5150c7c04a.tar.gz gcc-e5a942312327b2ef428e7d2d7fc97b5150c7c04a.tar.bz2 |
re PR c/41182 (Revision 145254 caused ICE: tree check: expected integer_cst, have nop_expr in tree_int_cst_lt, at tree.c:5259)
PR c/41182
* c-common.c (c_fully_fold_internal): Strip nops from the result
of recursive calls to c_fully_fold_internal.
(c_wrap_maybe_const): New.
(c_save_expr): Use c_wrap_maybe_const.
* c-common.h (c_wrap_maybe_const): Declare.
* c-typeck.c (build_conditional_expr, c_finish_stmt_expr,
build_binary_op): Use c_wrap_maybe_const.
testsuite:
* gcc.c-torture/compile/pr41182-1.c: New.
From-SVN: r152548
Diffstat (limited to 'gcc/c-common.h')
-rw-r--r-- | gcc/c-common.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/c-common.h b/gcc/c-common.h index db4f910e..61d52c8 100644 --- a/gcc/c-common.h +++ b/gcc/c-common.h @@ -792,6 +792,7 @@ extern tree c_build_bitfield_integer_type (unsigned HOST_WIDE_INT, int); extern bool decl_with_nonnull_addr_p (const_tree); extern tree c_fully_fold (tree, bool, bool *); extern tree decl_constant_value_for_optimization (tree); +extern tree c_wrap_maybe_const (tree, bool); extern tree c_save_expr (tree); extern tree c_common_truthvalue_conversion (location_t, tree); extern void c_apply_type_quals_to_decl (int, tree); |