summaryrefslogtreecommitdiff
path: root/gcc/config/arm/bpabi.h
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-03 00:43:59 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-03 00:43:59 +0000
commit7dab6ba6d5accc0a926df56d15fedc92b0dad48f (patch)
tree00f44a86fe46ab3dee185812c70fc99b06132af2 /gcc/config/arm/bpabi.h
parent8ace0db69dfbcadcce5df8df17dfb85fd939ce09 (diff)
downloadgcc-7dab6ba6d5accc0a926df56d15fedc92b0dad48f.tar.gz
* config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
(TARGET_OS_CPP_BUILTINS): Likewise. * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include TARGET_BPABI_CPP_BUILTINS. * g++.dg/abi/arm_rtti1.C: New test. * libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87018 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/bpabi.h')
-rw-r--r--gcc/config/arm/bpabi.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h
index 60d6e75b73a..e2be11446f8 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -84,3 +84,19 @@
#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdisf, l2f)
#endif
+/* The BPABI requires that we always use an out-of-line implementation
+ of RTTI comparison, even if the target supports weak symbols,
+ because the same object file might be used on a target that does
+ not support merging symbols across DLL boundaries. This macro is
+ broken out separately so that it can be used within
+ TARGET_OS_CPP_BUILTINS in configuration files for systems based on
+ the BPABI. */
+#define TARGET_BPABI_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \
+ } \
+ while (false)
+
+#define TARGET_OS_CPP_BUILTINS() \
+ TARGET_BPABI_CPP_BUILTINS()