diff options
author | Matt Austern <austern@apple.com> | 2004-06-03 23:15:01 +0000 |
---|---|---|
committer | Matt Austern <austern@gcc.gnu.org> | 2004-06-03 23:15:01 +0000 |
commit | 0524c91d1eee6dc2f1629160ed309a5441fb3bdd (patch) | |
tree | 4dfc88aeb614a38019098dbdc178d9f2bfbb2b83 /gcc/defaults.h | |
parent | c073ab616f5692283e12bc93b82a14aad88adf9e (diff) | |
download | gcc-0524c91d1eee6dc2f1629160ed309a5441fb3bdd.zip gcc-0524c91d1eee6dc2f1629160ed309a5441fb3bdd.tar.gz gcc-0524c91d1eee6dc2f1629160ed309a5441fb3bdd.tar.bz2 |
re PR c++/15428 (vtables shouldn't always be weak on Darwin)
PR c++/15428
* default.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New name
for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense.
* config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise.
* doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite
documentation to reflect the new macro name and to clarify its
meaning.
* cp/decl2.c (maybe_emit_vtables): If TARGET_WEAK_NOT_IN_ARCHIVE_TOC
is nonzero, and if we see a noninline definition of a key method,
make the vtables nonweak.
From-SVN: r82610
Diffstat (limited to 'gcc/defaults.h')
-rw-r--r-- | gcc/defaults.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/defaults.h b/gcc/defaults.h index cf8ad08..e479aff 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -238,11 +238,13 @@ do { fputs (integer_asm_op (POINTER_SIZE / BITS_PER_UNIT, TRUE), FILE); \ #endif #endif -/* Determines whether explicit template instantiations should - be given link-once semantics. The C++ ABI requires this - macro to be nonzero; see the documentation. */ -#ifndef TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY -# define TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY 1 +/* This determines whether weak symbols must be left out of a static + archive's table of contents. Defining this macro to be nonzero has + the consequence that certain symbols will not be made weak that + otherwise would be. The C++ ABI requires this macro to be zero; + see the documentation. */ +#ifndef TARGET_WEAK_NOT_IN_ARCHIVE_TOC +#define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 0 #endif /* This determines whether or not we need linkonce unwind information */ |