aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/darwin.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/config/darwin.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/config/darwin.h')
-rw-r--r--gcc/config/darwin.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 67bb294..37122e6 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -358,11 +358,10 @@ do { text_section (); \
#undef USE_COMMON_FOR_ONE_ONLY
#define USE_COMMON_FOR_ONE_ONLY 0
-/* The Darwin linker doesn't like explicit template instantiations to be
- coalesced, because it doesn't want coalesced symbols to appear in
+/* The Darwin linker doesn't want coalesced symbols to appear in
a static archive's table of contents. */
-#undef TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY
-#define TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY 0
+#undef TARGET_WEAK_NOT_IN_ARCHIVE_TOC
+#define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 1
/* We make exception information linkonce. */
#undef TARGET_USES_WEAK_UNWIND_INFO