diff options
author | Joseph Myers <joseph@codesourcery.com> | 2006-11-13 13:10:17 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2006-11-13 13:10:17 +0000 |
commit | b54c93b7b8602e91e284196327ad2646a01d2838 (patch) | |
tree | e7e22593e28800c7b7ed6b9d807015761663859d /gcc | |
parent | 5da10ac71f76160cb5f94912e29b449cfd2de04d (diff) | |
download | gcc-b54c93b7b8602e91e284196327ad2646a01d2838.zip gcc-b54c93b7b8602e91e284196327ad2646a01d2838.tar.gz gcc-b54c93b7b8602e91e284196327ad2646a01d2838.tar.bz2 |
bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define __GXX_TYPEINFO_EQUALITY_INLINE but not __GXX_MERGED_TYPEINFO_NAMES.
gcc:
* config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE but not
__GXX_MERGED_TYPEINFO_NAMES.
* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_MERGED_TYPEINFO_NAMES.
* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE.
libstdc++-v3:
* libsupc++/typeinfo (__GXX_TYPEINFO_EQUALITY_INLINE): Define.
Use instead of __GXX_MERGED_TYPEINFO_NAMES to condition inline
definitions.
* libsupc++/tinfo.cc (operator==): Condition on
__GXX_TYPEINFO_EQUALITY_INLINE; check __GXX_MERGED_TYPEINFO_NAMES
to determine algorithm.
* libsupc++/tinfo2.cc (type_info::before): Likewise.
From-SVN: r118755
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/arm/bpabi.h | 2 | ||||
-rw-r--r-- | gcc/config/arm/symbian.h | 17 | ||||
-rw-r--r-- | gcc/config/i386/cygming.h | 1 |
4 files changed, 22 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 78798b2..00039dc0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2006-11-13 Joseph Myers <joseph@codesourcery.com> + + * config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define + __GXX_TYPEINFO_EQUALITY_INLINE but not + __GXX_MERGED_TYPEINFO_NAMES. + * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define + __GXX_MERGED_TYPEINFO_NAMES. + * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define + __GXX_TYPEINFO_EQUALITY_INLINE. + 2006-11-13 H.J. Lu <hongjiu.lu@intel.com> Zdenek Dvorak <dvorakz@suse.cz> diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h index 4c73088..71b2ec5 100644 --- a/gcc/config/arm/bpabi.h +++ b/gcc/config/arm/bpabi.h @@ -102,7 +102,7 @@ #define TARGET_BPABI_CPP_BUILTINS() \ do \ { \ - builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \ + builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \ } \ while (false) diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h index af1ba9a..eca67db 100644 --- a/gcc/config/arm/symbian.h +++ b/gcc/config/arm/symbian.h @@ -79,13 +79,16 @@ /* Define the __symbian__ macro. */ #undef TARGET_OS_CPP_BUILTINS -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - /* Include the default BPABI stuff. */ \ - TARGET_BPABI_CPP_BUILTINS (); \ - builtin_define ("__symbian__"); \ - } \ +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + /* Include the default BPABI stuff. */ \ + TARGET_BPABI_CPP_BUILTINS (); \ + /* Symbian OS does not support merging symbols across DLL \ + boundaries. */ \ + builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \ + builtin_define ("__symbian__"); \ + } \ while (false) /* On SymbianOS, these sections are not writable, so we use "a", diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index 957c02e..9b0cd7f 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -70,6 +70,7 @@ Boston, MA 02110-1301, USA. */ /* Even though linkonce works with static libs, this is needed \ to compare typeinfo symbols across dll boundaries. */ \ builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \ + builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \ MAYBE_UWIN_CPP_BUILTINS (); \ EXTRA_OS_CPP_BUILTINS (); \ } \ |