summaryrefslogtreecommitdiff
path: root/libio/stdstrbufs.cc
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-04 21:16:04 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-04 21:16:04 +0000
commitd1324df27323626f96c7c18728846e585e3d7273 (patch)
treed0a838ab4ac7afcba16af04b63f3841da7ca8c30 /libio/stdstrbufs.cc
parent98eaf693c4426e6caabea1fcc9e3f77bec90adbc (diff)
downloadgcc-d1324df27323626f96c7c18728846e585e3d7273.tar.gz
* libioP.h: Handle new ABI mangling.
* stdstrbufs.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34395 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libio/stdstrbufs.cc')
-rw-r--r--libio/stdstrbufs.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/libio/stdstrbufs.cc b/libio/stdstrbufs.cc
index 48aa719df86..ee10cdc4d00 100644
--- a/libio/stdstrbufs.cc
+++ b/libio/stdstrbufs.cc
@@ -35,11 +35,15 @@ the executable file might be covered by the GNU General Public License. */
#if !defined(filebuf_vtable) && defined(__cplusplus)
#ifdef __GNUC__
extern char filebuf_vtable[]
+#if (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100)
asm (_G_VTABLE_LABEL_PREFIX
#if _G_VTABLE_LABEL_HAS_LENGTH
"7"
#endif
"filebuf");
+#else
+ asm ( "_ZN7filebufTVE" );
+#endif /* (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */
#else /* !__GNUC__ */
#if _G_VTABLE_LABEL_HAS_LENGTH
#define filebuf_vtable _G_VTABLE_LABEL_PREFIX_ID##7filebuf
@@ -87,11 +91,15 @@ struct _IO_fake_stdiobuf {
#ifndef stdiobuf_vtable
#ifdef __GNUC__
extern struct _IO_jump_t stdiobuf_vtable
+#if (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100)
asm (_G_VTABLE_LABEL_PREFIX
#if _G_VTABLE_LABEL_HAS_LENGTH
"8"
#endif
"stdiobuf");
+#else
+ asm ( "_ZN15stdiobuf_vtableTVE" );
+#endif /* (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */
#else /* !__GNUC__ */
#if _G_VTABLE_LABEL_HAS_LENGTH
#define stdiobuf_vtable _G_VTABLE_LABEL_PREFIX_ID##8stdiobuf