diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2001-07-25 09:00:37 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2001-07-25 09:00:37 +0000 |
commit | ab085207aad52d58945ea30b78c04e050d7b5a9a (patch) | |
tree | cdaef3f76b7987573e0d77de853d8f8b8f7ccd5b /gcc/cp/expr.c | |
parent | 0abe00c528965ac8c84fed624ab93dc30e7636b9 (diff) | |
download | gcc-ab085207aad52d58945ea30b78c04e050d7b5a9a.tar.gz |
re PR c++/3543 (gcc-3.0 Internal error #56 in resolve_offset_ref, at cp/init.c:1963)
cp:
PR c++/3543
* typeck.c (condition_conversion): Resolve an OFFSET_REF.
* expr.c (cplus_expand_expr): An OFFSET_REF should never get here.
testsuite:
* g++.old-deja/g++.other/optimize4.C: New test.
From-SVN: r44340
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r-- | gcc/cp/expr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c index 6855160fc19..f2fe6ebf476 100644 --- a/gcc/cp/expr.c +++ b/gcc/cp/expr.c @@ -105,9 +105,10 @@ cplus_expand_expr (exp, target, tmode, modifier) target, tmode, modifier); case OFFSET_REF: - return expand_expr (default_conversion (resolve_offset_ref (exp)), - target, tmode, EXPAND_NORMAL); - + /* Offset refs should not make it through to here. */ + my_friendly_abort (20010724); + return const0_rtx; + case THROW_EXPR: expand_expr (TREE_OPERAND (exp, 0), const0_rtx, VOIDmode, 0); return NULL; |