aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1997-10-08 07:19:53 +0000
committerJason Merrill <jason@gcc.gnu.org>1997-10-08 03:19:53 -0400
commit3bd1e206cbeadb50b9c8cbaa25dfe89a2e311b7a (patch)
tree17bee16b6261dce4e49a54e1f94090b50aa29852
parentffb690bd0862a35dd74a4abdc9c261ad7611a457 (diff)
downloadgcc-3bd1e206cbeadb50b9c8cbaa25dfe89a2e311b7a.zip
gcc-3bd1e206cbeadb50b9c8cbaa25dfe89a2e311b7a.tar.gz
gcc-3bd1e206cbeadb50b9c8cbaa25dfe89a2e311b7a.tar.bz2
decl2.c (finish_prevtable_vardecl): Check DECL_REALLY_EXTERN for our key method; it might have been inlined by -O3.
* decl2.c (finish_prevtable_vardecl): Check DECL_REALLY_EXTERN for our key method; it might have been inlined by -O3. From-SVN: r15877
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl2.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b3d1795..5e280ff 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+Wed Oct 8 00:18:22 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * decl2.c (finish_prevtable_vardecl): Check DECL_REALLY_EXTERN
+ for our key method; it might have been inlined by -O3.
+
Tue Oct 7 23:00:12 1997 Mark Mitchell <mmitchell@usa.net>
* decl.c (make_typename_type): Do not try to call lookup_field for
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 428ba14..325090a 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -2589,8 +2589,9 @@ finish_prevtable_vardecl (prev, vars)
&& !DECL_ABSTRACT_VIRTUAL_P (method))
{
SET_CLASSTYPE_INTERFACE_KNOWN (ctype);
- CLASSTYPE_VTABLE_NEEDS_WRITING (ctype) = ! DECL_EXTERNAL (method);
- CLASSTYPE_INTERFACE_ONLY (ctype) = DECL_EXTERNAL (method);
+ CLASSTYPE_VTABLE_NEEDS_WRITING (ctype)
+ = ! DECL_REALLY_EXTERN (method);
+ CLASSTYPE_INTERFACE_ONLY (ctype) = DECL_REALLY_EXTERN (method);
break;
}
}