summaryrefslogtreecommitdiff
path: root/gcc/cp/expr.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2001-07-25 09:00:37 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2001-07-25 09:00:37 +0000
commitab085207aad52d58945ea30b78c04e050d7b5a9a (patch)
treecdaef3f76b7987573e0d77de853d8f8b8f7ccd5b /gcc/cp/expr.c
parent0abe00c528965ac8c84fed624ab93dc30e7636b9 (diff)
downloadgcc-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.c7
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;