summaryrefslogtreecommitdiff
path: root/gcc/defaults.h
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-05-12 10:41:21 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-05-12 10:41:21 +0000
commit3aba38cc0710497d00193289e97efac937bb545a (patch)
tree85d31d3c38b3d8227bcdae0fdb074c5fbcdf205a /gcc/defaults.h
parentd75b8a6881a6a4cf009cf42d15035e95625272ff (diff)
downloadgcc-3aba38cc0710497d00193289e97efac937bb545a.tar.gz
* defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
* tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41989 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/defaults.h')
-rw-r--r--gcc/defaults.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/defaults.h b/gcc/defaults.h
index 9ec2af1a5ab..45fb088785f 100644
--- a/gcc/defaults.h
+++ b/gcc/defaults.h
@@ -325,5 +325,16 @@ do { \
#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) DW_EH_PE_absptr
#endif
+/* By default, the C++ compiler will use the lowest bit of the pointer
+ to function to indicate a pointer-to-member-function points to a
+ virtual member function. However, if FUNCTION_BOUNDARY indicates
+ function addresses aren't always even, the lowest bit of the delta
+ field will be used. */
+#ifndef TARGET_PTRMEMFUNC_VBIT_LOCATION
+#define TARGET_PTRMEMFUNC_VBIT_LOCATION \
+ (FUNCTION_BOUNDARY >= 2 * BITS_PER_UNIT \
+ ? ptrmemfunc_vbit_in_pfn : ptrmemfunc_vbit_in_delta)
+#endif
+
#endif /* GCC_DEFAULTS_H */