Revert previous patch

From-SVN: r34482
This commit is contained in:
Mark Mitchell 2000-06-10 03:02:21 +00:00
parent 27985b669a
commit d2103f699c
3 changed files with 32 additions and 11 deletions

View File

@ -1,8 +1,3 @@
2000-06-08 Mark Mitchell <mark@codesourcery.com>
* libioP.h: Remove old ABI mangling code.
* stdstrbufs.cc: Likewise.
2000-06-04 Mark Mitchell <mark@codesourcery.com> 2000-06-04 Mark Mitchell <mark@codesourcery.com>
* libioP.h: Handle new ABI mangling. * libioP.h: Handle new ABI mangling.

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1997, 2000 Free Software Foundation, Inc. /* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
This file is part of the GNU IO Library. This file is part of the GNU IO Library.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
@ -593,8 +593,18 @@ extern int _IO_vscanf __P ((const char *, _IO_va_list));
/* VTABLE_LABEL defines NAME as of the CLASS class. /* VTABLE_LABEL defines NAME as of the CLASS class.
CNLENGTH is strlen(#CLASS). */ CNLENGTH is strlen(#CLASS). */
#ifdef __GNUC__ #ifdef __GNUC__
# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \ # if (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100)
extern char NAME[] asm ("_ZTV" #CNLENGTH #CLASS ); # if _G_VTABLE_LABEL_HAS_LENGTH
# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CNLENGTH #CLASS);
# else
# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CLASS);
# endif
# else
# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
extern char NAME[] asm ("_ZN" #CNLENGTH #CLASS "TVE");
# endif /* (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */
#endif /* __GNUC__ */ #endif /* __GNUC__ */
#if !defined(builtinbuf_vtable) && defined(__cplusplus) #if !defined(builtinbuf_vtable) && defined(__cplusplus)

View File

@ -1,5 +1,5 @@
/* /*
Copyright (C) 1994, 2000 Free Software Foundation Copyright (C) 1994 Free Software Foundation
This file is part of the GNU IO Library. This library is free This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the software; you can redistribute it and/or modify it under the
@ -35,7 +35,15 @@ the executable file might be covered by the GNU General Public License. */
#if !defined(filebuf_vtable) && defined(__cplusplus) #if !defined(filebuf_vtable) && defined(__cplusplus)
#ifdef __GNUC__ #ifdef __GNUC__
extern char filebuf_vtable[] extern char filebuf_vtable[]
asm ( "_ZTV7filebuf" ); #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__ */ #else /* !__GNUC__ */
#if _G_VTABLE_LABEL_HAS_LENGTH #if _G_VTABLE_LABEL_HAS_LENGTH
#define filebuf_vtable _G_VTABLE_LABEL_PREFIX_ID##7filebuf #define filebuf_vtable _G_VTABLE_LABEL_PREFIX_ID##7filebuf
@ -83,7 +91,15 @@ struct _IO_fake_stdiobuf {
#ifndef stdiobuf_vtable #ifndef stdiobuf_vtable
#ifdef __GNUC__ #ifdef __GNUC__
extern struct _IO_jump_t stdiobuf_vtable extern struct _IO_jump_t stdiobuf_vtable
asm ( "_ZTV15stdiobuf_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__ */ #else /* !__GNUC__ */
#if _G_VTABLE_LABEL_HAS_LENGTH #if _G_VTABLE_LABEL_HAS_LENGTH
#define stdiobuf_vtable _G_VTABLE_LABEL_PREFIX_ID##8stdiobuf #define stdiobuf_vtable _G_VTABLE_LABEL_PREFIX_ID##8stdiobuf