From 79307120d6a982a90b60b9b2d2346ba6ae8dae9b Mon Sep 17 00:00:00 2001 From: rguenth Date: Fri, 20 Jul 2007 18:10:57 +0000 Subject: 2007-07-20 Richard Guenther * tree-cfg.c (verify_expr): COND_EXPRs can have any integral typed condition. * tree-ssa.c (useless_type_conversion_p): Do not preserve booleanness. Only preserve conversions from a non-base type to a base type, not in general between types with different TYPE_MIN_VALUE or TYPE_MAX_VALUE. * tree.def (COND_EXPR): Document that the condition can be of any integral type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126804 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree.def | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc/tree.def') diff --git a/gcc/tree.def b/gcc/tree.def index fc9408af2d8..3b7750a909d 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -485,7 +485,8 @@ DEFTREECODE (TARGET_EXPR, "target_expr", tcc_expression, 4) Operand 0 may be of any type. Operand 1 must have the same type as the entire expression, unless it unconditionally throws an exception, in which case it should - have VOID_TYPE. The same constraints apply to operand 2. */ + have VOID_TYPE. The same constraints apply to operand 2. The + condition in operand 0 must be of integral type. */ DEFTREECODE (COND_EXPR, "cond_expr", tcc_expression, 3) /* Vector conditional expression. It is like COND_EXPR, but with -- cgit v1.2.1