aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@dcc.unicamp.br>1999-07-07 00:32:23 +0000
committerJeff Law <law@gcc.gnu.org>1999-07-06 18:32:23 -0600
commitdb39aa0b8dda53613820b0e5a99cb8a8d330f7f9 (patch)
treec33cf18483cd93c0302fb3dbea4c69f952e444fd
parent0bf162b9a0bbecc3ff3da2097122e7c1bf0ab3df (diff)
downloadgcc-db39aa0b8dda53613820b0e5a99cb8a8d330f7f9.zip
gcc-db39aa0b8dda53613820b0e5a99cb8a8d330f7f9.tar.gz
gcc-db39aa0b8dda53613820b0e5a99cb8a8d330f7f9.tar.bz2
* decl2.c (mark_vtable_entries): Fix check for rtti offset.
From-SVN: r27978
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/decl2.c7
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index dc76bc3..50c3858 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+Wed Jul 7 01:26:47 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * decl2.c (mark_vtable_entries): Fix check for rtti offset.
+
1999-07-06 Gavin Romig-Koch <gavin@cygnus.com>
* typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 3b09993..d4fcac6 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -2414,12 +2414,13 @@ mark_vtable_entries (decl)
tree fnaddr;
tree fn;
- if (TREE_CODE (TREE_VALUE (entries)) == NOP_EXPR)
+ fnaddr = (flag_vtable_thunks ? TREE_VALUE (entries)
+ : FNADDR_FROM_VTABLE_ENTRY (TREE_VALUE (entries)));
+
+ if (TREE_CODE (fnaddr) == NOP_EXPR)
/* RTTI offset. */
continue;
- fnaddr = (flag_vtable_thunks ? TREE_VALUE (entries)
- : FNADDR_FROM_VTABLE_ENTRY (TREE_VALUE (entries)));
fn = TREE_OPERAND (fnaddr, 0);
TREE_ADDRESSABLE (fn) = 1;
if (DECL_LANG_SPECIFIC (fn) && DECL_ABSTRACT_VIRTUAL_P (fn))