summaryrefslogtreecommitdiff
path: root/gcc/tree.def
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-18 06:53:19 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-18 06:53:19 +0000
commit47cbd05d29467bf69f6d45fcf29cf8ce54bc469d (patch)
treec25457418d139939fd0b964498eca1ff819ec8c8 /gcc/tree.def
parent4c71ff3859df863c5610b1ee9317f25db462fb17 (diff)
downloadgcc-47cbd05d29467bf69f6d45fcf29cf8ce54bc469d.tar.gz
* fold-const.c (fold_binary_op_with_conditional_arg): New
function, split out from ... (fold): ... here. * tree.def (COND_EXPR): Document the use of VOID_TYPE for conditional arms that throw exceptions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39822 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.def')
-rw-r--r--gcc/tree.def6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/tree.def b/gcc/tree.def
index c59f7f219e0..4ccd6e38944 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -425,8 +425,10 @@ DEFTREECODE (TARGET_EXPR, "target_expr", 'e', 4)
Operand 0 is the condition.
Operand 1 is the then-value.
Operand 2 is the else-value.
- Operand 0 may be of any type, but the types of operands 1 and 2
- must be the same and the same as the type of this expression. */
+ 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. */
DEFTREECODE (COND_EXPR, "cond_expr", 'e', 3)
/* Declare local variables, including making RTL and allocating space.