From: Jason Merrill Date: Thu, 4 Jul 2002 10:57:18 +0000 (-0400) Subject: re PR c++/6611 (Non-weak emission of `std::__default_alloc_template[...]' on platform... X-Git-Tag: releases/gcc-3.1.1~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8cc81a75b97c84da508e86194331731522e51952;p=thirdparty%2Fgcc.git 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 --- 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);