aboutsummaryrefslogtreecommitdiff
path: root/gcc/defaults.h
diff options
context:
space:
mode:
authorMatt Austern <austern@apple.com>2004-06-03 23:15:01 +0000
committerMatt Austern <austern@gcc.gnu.org>2004-06-03 23:15:01 +0000
commit0524c91d1eee6dc2f1629160ed309a5441fb3bdd (patch)
tree4dfc88aeb614a38019098dbdc178d9f2bfbb2b83 /gcc/defaults.h
parentc073ab616f5692283e12bc93b82a14aad88adf9e (diff)
downloadgcc-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.h12
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 */