aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2004-06-25 17:15:46 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2004-06-25 17:15:46 +0000
commit4185ae53974032b6760938b7818099cb7dddd28f (patch)
treeb8c2d8bd3079657353a50fef059902fbbf159bfe /gcc/doc
parent0da2c8ac77a61f9149fcbf3da36f7656aff96a4c (diff)
downloadgcc-4185ae53974032b6760938b7818099cb7dddd28f.zip
gcc-4185ae53974032b6760938b7818099cb7dddd28f.tar.gz
gcc-4185ae53974032b6760938b7818099cb7dddd28f.tar.bz2
target-def.h (TARGET_CXX_GUARD_TYPE, [...]): Define.
gcc/ * target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT, TARGET_CXX): Define. (TARGET_INITIALIZER): Use TARGET_CXX. * target.h (struct gcc_target): Add struct cxx. * targhooks.h (default_cxx_guard_type): Add prototype. * targhooks.c (default_cxx_guard_type): New function. * config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT): Define. (arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions. * doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and TARGET_CXX_GUARD_MASK_BIT. gcc/cp/ * decl2.c (get_guard): Call targetm.cxx.guard_type. (get_guard_bits, get_guard_cond): Call targetm.cxx.guard_mask_bit. libstdc++/ * libsupc++/cxxabi.h: Define __ARM_EABI__ (__guard): Use it. * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto. From-SVN: r83660
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/tm.texi17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index b93941e..d01993f 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -51,6 +51,7 @@ through the macros defined in the @file{.h} file.
* Target Attributes:: Defining target-specific uses of @code{__attribute__}.
* MIPS Coprocessors:: MIPS coprocessor support and how to customize it.
* PCH Target:: Validity checking for precompiled headers.
+* C++ ABI:: Controlling C++ ABI changes.
* Misc:: Everything else.
@end menu
@@ -8460,6 +8461,22 @@ if not. The error message will be presented to the user, so it should
be localized.
@end deftypefn
+@node C++ ABI
+@section C++ ABI parameters
+@cindex parameters, c++ abi
+
+@deftypefn {Target Hook} tree TARGET_CXX_GUARD_TYPE (void)
+Define this hook to override the integer type used for guard variables.
+These are used to implement one-time construction of static objects. The
+default is long_long_integer_type_node.
+@end deftypefn
+
+@deftypefn {Target Hook} bool TARGET_CXX_GUARD_MASK_BIT (void)
+This hook determines how guard variables are used. It should return
+@code{false} (the default) if first byte should be used. A return value of
+@code{true} indicates the least significant bit should be used.
+@end deftypefn
+
@node Misc
@section Miscellaneous Parameters
@cindex parameters, miscellaneous