aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/expr.c
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@gcc.gnu.org>2004-05-13 02:41:07 -0400
committerDiego Novillo <dnovillo@gcc.gnu.org>2004-05-13 02:41:07 -0400
commit6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f (patch)
treea2568888a519c077427b133de9ece5879a8484a5 /gcc/cp/expr.c
parentac1a20aec53364d77f3bdff94a2a0a06840e0fe9 (diff)
downloadgcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.zip
gcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.tar.gz
gcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.tar.bz2
Merge tree-ssa-20020619-branch into mainline.
From-SVN: r81764
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r--gcc/cp/expr.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index 00f8676..e12c6a4 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -73,6 +73,9 @@ cplus_expand_constant (tree cst)
}
/* Hook used by expand_expr to expand language-specific tree codes. */
+/* ??? The only thing that should be here are things needed to expand
+ constant initializers; everything else should be handled by the
+ gimplification routines. Are EMPTY_CLASS_EXPR or BASELINK needed? */
rtx
cxx_expand_expr (tree exp, rtx target, enum machine_mode tmode, int modifier,
@@ -81,7 +84,6 @@ cxx_expand_expr (tree exp, rtx target, enum machine_mode tmode, int modifier,
tree type = TREE_TYPE (exp);
enum machine_mode mode = TYPE_MODE (type);
enum tree_code code = TREE_CODE (exp);
- rtx ret;
/* No sense saving up arithmetic to be done
if it's all in the wrong mode to form part of an address.
@@ -99,17 +101,6 @@ cxx_expand_expr (tree exp, rtx target, enum machine_mode tmode, int modifier,
case OFFSET_REF:
/* Offset refs should not make it through to here. */
abort ();
- return const0_rtx;
-
- case THROW_EXPR:
- expand_expr (TREE_OPERAND (exp, 0), const0_rtx, VOIDmode, 0);
- return const0_rtx;
-
- case MUST_NOT_THROW_EXPR:
- expand_eh_region_start ();
- ret = expand_expr (TREE_OPERAND (exp, 0), target, tmode, modifier);
- expand_eh_region_end_must_not_throw (build_call (terminate_node, 0));
- return ret;
case EMPTY_CLASS_EXPR:
/* We don't need to generate any code for an empty class. */
@@ -122,7 +113,4 @@ cxx_expand_expr (tree exp, rtx target, enum machine_mode tmode, int modifier,
default:
return c_expand_expr (exp, target, tmode, modifier, alt_rtl);
}
- abort ();
- /* NOTREACHED */
- return NULL;
}