This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++ PATCH: ABI bug for vcall offsets
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: mark at codesourcery dot com (Mark Mitchell)
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 10 Nov 2002 22:42:11 -0500 (EST)
- Subject: Re: C++ PATCH: ABI bug for vcall offsets
> > This might also be the reason why
> >
> > FAIL: g++.dg/abi/vague1.C scan-assembler-not _ZN1AIiE1tE
>
> No; that looks like something different to me.
>From examination of the assembler output, my understanding of why this
fails on hppa*-*-hpux* is that the symbol occurs in the assembler output
because we define ASM_OUTPUT_EXTERNAL to provide the correct type for
undefined external references. This happens even for symbols that
eventually turn out not to be needed.
The enclosed patch avoids the fail. It's not ideal but I doubt it's
worth the effort to try eliminate references in .import/.type directives.
Ok for main?
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
2002-11-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
* g++.dg/abi/vague1.C (dg-final): Return if target is hppa*-*-hpux*.
Index: g++.dg/abi/vague1.C
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/testsuite/g++.dg/abi/vague1.C,v
retrieving revision 1.1
diff -u -3 -p -r1.1 vague1.C
--- g++.dg/abi/vague1.C 15 Mar 2002 09:54:42 -0000 1.1
+++ g++.dg/abi/vague1.C 11 Nov 2002 03:28:39 -0000
@@ -2,7 +2,9 @@
// instantiations.
// Disable debug info so we don't get confused by the symbol name there.
+// The test fails on hppa*-*-hpux* because the symbol _ZN1AIiE1tE is imported.
// { dg-options "-g0" }
+// { dg-final { if { [istarget hppa*-*-hpux*] } { return } } }
// { dg-final { scan-assembler-not "_ZN1AIiE1tE" } }
template <class T> struct A {