summaryrefslogtreecommitdiff
path: root/gcc/doc/tm.texi
diff options
context:
space:
mode:
authordannysmith <dannysmith@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-01 06:23:12 +0000
committerdannysmith <dannysmith@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-01 06:23:12 +0000
commitd91ef9b080d6973de3f2a6851855a03b54743d52 (patch)
treea6f02d60df84edc128eac9c800531bb6b5dc6bbb /gcc/doc/tm.texi
parenta39e926c3645803ac16fcfdd6184ab7e05bb29a7 (diff)
downloadgcc-d91ef9b080d6973de3f2a6851855a03b54743d52.tar.gz
* target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target
hook. * target-def.h: (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Define default. * config/i386/mingw32.h (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Override default. * doc/tm.texi (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Document. * configure.ac (use_cxa_atexit): As a special case, don't test for libc definition of __cxa_atexit on mingw32 * configure: Regenerate. * config.gcc (i[34567]86-pc-mingw32): Default to enable__cxa_atexit=yes. cp * decl.c (get_atexit_node): Reference atexit, not __cxa_exit. if targetm.cxx.use_atexit_for cxa_atexit. (start_cleanup_fn): Likewise. (register_dtor_fn): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118371 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/tm.texi')
-rw-r--r--gcc/doc/tm.texi8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index cc448bcc687..c4dc052ddbe 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -8971,6 +8971,14 @@ should be used to register static destructors when @option{-fuse-cxa-atexit}
is in effect. The default is to return false to use @code{__cxa_atexit}.
@end deftypefn
+@deftypefn {Target Hook} bool TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT (void)
+This hook returns true if the target @code{atexit} function can be used
+in the same manner as @code{__cxa_atexit} to register C++ static
+destructors. This requires that @code{atexit}-registered functions in
+shared libraries are run in the correct order when the libraries are
+unloaded. The default is to return false.
+@end deftypefn
+
@deftypefn {Target Hook} void TARGET_CXX_ADJUST_CLASS_AT_DEFINITION (tree @var{type})
@var{type} is a C++ class (i.e., RECORD_TYPE or UNION_TYPE) that has just been
defined. Use this hook to make adjustments to the class (eg, tweak