diff options
author | Danny Smith <dannysmith@users.sourceforge.net> | 2006-11-01 06:23:12 +0000 |
---|---|---|
committer | Danny Smith <dannysmith@gcc.gnu.org> | 2006-11-01 06:23:12 +0000 |
commit | 97388150b4635856c7b8dabc45dbf5f3ddf47a79 (patch) | |
tree | a6f02d60df84edc128eac9c800531bb6b5dc6bbb /gcc/config/i386/mingw32.h | |
parent | d5523ce18d221e06e62cf2ef506fb5ffffa4fd2d (diff) | |
download | gcc-97388150b4635856c7b8dabc45dbf5f3ddf47a79.zip gcc-97388150b4635856c7b8dabc45dbf5f3ddf47a79.tar.gz gcc-97388150b4635856c7b8dabc45dbf5f3ddf47a79.tar.bz2 |
target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target hook.
* 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.
From-SVN: r118371
Diffstat (limited to 'gcc/config/i386/mingw32.h')
-rw-r--r-- | gcc/config/i386/mingw32.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h index 6fd5d94..28c2fb9 100644 --- a/gcc/config/i386/mingw32.h +++ b/gcc/config/i386/mingw32.h @@ -112,3 +112,7 @@ do { \ /* mingw32 uses the -mthreads option to enable thread support. */ #undef GOMP_SELF_SPECS #define GOMP_SELF_SPECS "%{fopenmp: -mthreads}" + +/* mingw32 atexit function is safe to use in shared libraries. Use it + to register C++ static destructors. */ +#define TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT hook_bool_void_true |