aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/expr.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-09-27 01:27:18 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-09-27 01:27:18 +0000
commit59ccf49da343eb034258f5fe6282da6ed6751cf4 (patch)
tree1b29796b2aee3f4dfa3db27106f7aebfefc0e732 /gcc/cp/expr.c
parentbfcccecc564752b7ef55ac9ca32ab8df0c5ba1dc (diff)
downloadgcc-59ccf49da343eb034258f5fe6282da6ed6751cf4.zip
gcc-59ccf49da343eb034258f5fe6282da6ed6751cf4.tar.gz
gcc-59ccf49da343eb034258f5fe6282da6ed6751cf4.tar.bz2
cp-tree.h (expand_throw): Remove prototype.
* cp-tree.h (expand_throw): Remove prototype. * except.c (expand_throw): Make it static. Use tree-generation functions, rather than RTL-generation functions. (build_throw): Use it. * expr.c: Include except.h. (cplus_expand_expr): Don't call expand_throw here. * Makefile.in (expr.o): Depend on except.h. * ir.texi: Update documentation for THROW_EXPR. * decl.c (start_function): Set x_dont_save_pending_sizes rather than calling get_pending_sizes. * init.c (build_new): Don't save and restore immediate_size_expand; instead, assert that it has the expected value already. From-SVN: r29671
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r--gcc/cp/expr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index 741174e..5b5352e 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -28,6 +28,7 @@ Boston, MA 02111-1307, USA. */
#include "expr.h"
#include "cp-tree.h"
#include "toplev.h"
+#include "except.h"
#if 0
static tree extract_aggr_init PROTO((tree, tree));
@@ -228,7 +229,8 @@ cplus_expand_expr (exp, target, tmode, modifier)
return DECL_RTL (exp);
case THROW_EXPR:
- expand_throw (TREE_OPERAND (exp, 0));
+ expand_expr (TREE_OPERAND (exp, 0), const0_rtx, VOIDmode, 0);
+ expand_internal_throw ();
return NULL;
case VEC_INIT_EXPR: