From 8cc81a75b97c84da508e86194331731522e51952 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Thu, 4 Jul 2002 06:57:18 -0400 Subject: [PATCH] re PR c++/6611 (Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak) PR c++/6611 * decl2.c (import_export_decl): If we clear DECL_NOT_REALLY_EXTERN, make sure DECL_EXTERNAL is set. From-SVN: r55243 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/decl2.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index bbb5eb344ce1..f7a26b9f0688 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2002-05-18 Jason Merrill + + PR c++/6611 + * decl2.c (import_export_decl): If we clear + DECL_NOT_REALLY_EXTERN, make sure DECL_EXTERNAL is set. + 2002-07-03 Kriang Lerdsuwanakij PR c++/6944 diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 0ce3d8fdedf3..c5ed336b6250 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -2497,7 +2497,10 @@ import_export_decl (decl) comdat_linkage (decl); } else - DECL_NOT_REALLY_EXTERN (decl) = 0; + { + DECL_EXTERNAL (decl) = 1; + DECL_NOT_REALLY_EXTERN (decl) = 0; + } } else if (DECL_FUNCTION_MEMBER_P (decl)) { @@ -2513,6 +2516,9 @@ import_export_decl (decl) && ! flag_implement_inlines && !DECL_VINDEX (decl))); + if (!DECL_NOT_REALLY_EXTERN (decl)) + DECL_EXTERNAL (decl) = 1; + /* Always make artificials weak. */ if (DECL_ARTIFICIAL (decl) && flag_weak) comdat_linkage (decl); -- 2.47.2