re PR c++/27177 (ICE in build_simple_base_path, at cp/class.c:474)

PR c++/27177
        * class.c (build_base_path): Fix previous change.

From-SVN: r131899
This commit is contained in:
Jason Merrill 2008-01-27 21:19:38 -05:00 committed by Jason Merrill
parent ba54d89dc6
commit 7a0b47e3fe
2 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2008-01-27 Jason Merrill <jason@redhat.com>
PR c++/27177
* class.c (build_base_path): Fix previous change.
2008-01-26 Jakub Jelinek <jakub@redhat.com>
PR c++/34965

View File

@ -291,8 +291,12 @@ build_base_path (enum tree_code code,
target_type = code == PLUS_EXPR ? BINFO_TYPE (binfo) : BINFO_TYPE (d_binfo);
/* Do we need to look in the vtable for the real offset? */
/* Don't bother inside sizeof; the source type might not be complete. */
virtual_access = (v_binfo && fixed_type_p <= 0) && !skip_evaluation;
virtual_access = (v_binfo && fixed_type_p <= 0);
/* Don't bother with the calculations inside sizeof; they'll ICE if the
source type is incomplete and the pointer value doesn't matter. */
if (skip_evaluation)
return build_nop (build_pointer_type (target_type), expr);
/* Do we need to check for a null pointer? */
if (want_pointer && !nonnull)