diff options
author | Paul Brook <paul@codesourcery.com> | 2004-06-25 17:15:46 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-06-25 17:15:46 +0000 |
commit | 4185ae53974032b6760938b7818099cb7dddd28f (patch) | |
tree | b8c2d8bd3079657353a50fef059902fbbf159bfe /gcc/doc | |
parent | 0da2c8ac77a61f9149fcbf3da36f7656aff96a4c (diff) | |
download | gcc-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.texi | 17 |
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 |