summaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJ. Brobecker <brobecker@gnat.com>2004-03-16 21:29:03 +0000
committerJoel Brobecker <brobecke@gcc.gnu.org>2004-03-16 21:29:03 +0000
commitfd5580cb8e3d9bb30d5c241ef8236e613c4d0fd6 (patch)
tree8fda773a38825715b1f0a8fff18ca2c68b5f0517 /gcc/dwarf2out.c
parent78fab00fb0997da4114c2ac6774690eb15ecaa4a (diff)
downloadgcc-fd5580cb8e3d9bb30d5c241ef8236e613c4d0fd6.tar.gz
* dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
From-SVN: r79549
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index a9639c3f4a9..2fcc150b931 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -9011,11 +9011,17 @@ loc_descriptor_from_tree (tree loc, int addressp)
add_loc_descr (&ret, new_loc_descr (op, 0, 0));
break;
+ case MIN_EXPR:
case MAX_EXPR:
- loc = build (COND_EXPR, TREE_TYPE (loc),
- build (LT_EXPR, integer_type_node,
- TREE_OPERAND (loc, 0), TREE_OPERAND (loc, 1)),
- TREE_OPERAND (loc, 1), TREE_OPERAND (loc, 0));
+ {
+ const enum tree_code code =
+ TREE_CODE (loc) == MIN_EXPR ? GT_EXPR : LT_EXPR;
+
+ loc = build (COND_EXPR, TREE_TYPE (loc),
+ build (code, integer_type_node,
+ TREE_OPERAND (loc, 0), TREE_OPERAND (loc, 1)),
+ TREE_OPERAND (loc, 1), TREE_OPERAND (loc, 0));
+ }
/* ... fall through ... */