aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.h
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2009-10-08 01:32:51 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2009-10-08 01:32:51 +0100
commite5a942312327b2ef428e7d2d7fc97b5150c7c04a (patch)
treefd81fa90e7923181957eb30dcbb964a2a29c5e9d /gcc/c-common.h
parent1afab7bdc313af774b7bf5bf61872c6416e48ee9 (diff)
downloadgcc-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.h1
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);