This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Omitting vtables does not work in egcs-2.93.20 19990501
- To: martin at mira dot isdn dot cs dot tu-berlin dot de
- Subject: Re: Omitting vtables does not work in egcs-2.93.20 19990501
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Sat, 1 May 1999 08:42:53 -0700
- CC: egcs-bugs at egcs dot cygnus dot com
- References: <199905011118.NAA29504@mira.isdn.cs.tu-berlin.de>
- Reply-to: mark at codesourcery dot com
Thanks for the report. I broke this earlier this weak. Then, I tried
to fix it yesterday. I came very close! Here's the missing bit.
If anyone knows how to write a test-case for this, I'd be happy to
have one for the testsuite.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com
1999-05-01 Mark Mitchell <mark@codesourcery.com>
* decl.c (wrapup_globals_for_namespace): Fix thinko in previous
change.
Index: decl.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/cp/decl.c,v
retrieving revision 1.354
diff -u -p -r1.354 decl.c
--- decl.c 1999/04/30 16:14:55 1.354
+++ decl.c 1999/05/01 15:37:31
@@ -2012,7 +2012,7 @@ wrapup_globals_for_namespace (namespace,
wrapup_global_declarations from writing them out; we must process
them ourselves in finish_vtable_vardecl. */
for (i = 0; i < len; ++i)
- if (vtable_decl_p (vec[i], /*data=*/0))
+ if (vtable_decl_p (vec[i], /*data=*/0) && !DECL_EXTERNAL (vec[i]))
{
DECL_NOT_REALLY_EXTERN (vec[i]) = 1;
DECL_EXTERNAL (vec[i]) = 1;