public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/6611: [PATCH] Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak
@ 2002-05-17 21:46 Jason Merrill
0 siblings, 0 replies; 3+ messages in thread
From: Jason Merrill @ 2002-05-17 21:46 UTC (permalink / raw)
To: jason; +Cc: gcc-prs
The following reply was made to PR c++/6611; it has been noted by GNATS.
From: Jason Merrill <jason@redhat.com>
To: gcc-gnats@gcc.gnu.org, gcc-patches@gcc.gnu.org
Cc: bkoz@redhat.com, gcc-bugs@gcc.gnu.org, ljrittle@acm.org,
pfeifer@dbai.tuwien.ac.at
Subject: Re: c++/6611: [PATCH] Non-weak emission of
`std::__default_alloc_template[...]' on platform(s) where it should be
weak
Date: Sat, 18 May 2002 05:42:33 +0100
--=-=-=
We clear DECL_EXTERNAL when we start to define a function. In this case
when we were supposed to clear it again, it was already referenced, so
DECL_NEEDED_P was true, so we ended up emitting it even though
import_export_decl tried to suppress it.
Yet another ugly tweak to the C++ linkage morass. I'll get back to work on
the rewrite RSN.
Tested i686-pc-linux-gnu, applied to trunk. I'll come up with a testcase
soon, but I want to get this in now so it stops interfering with libstdc++
work.
2002-05-18 Jason Merrill <jason@redhat.com>
* decl2.c (import_export_decl): If we clear
DECL_NOT_REALLY_EXTERN, make sure DECL_EXTERNAL is set.
--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline
*** decl2.c.~1~ Thu May 16 05:52:12 2002
--- decl2.c Fri May 17 22:59:52 2002
*************** import_export_decl (decl)
*** 2481,2487 ****
comdat_linkage (decl);
}
else
! DECL_NOT_REALLY_EXTERN (decl) = 0;
}
else if (DECL_FUNCTION_MEMBER_P (decl))
{
--- 2481,2490 ----
comdat_linkage (decl);
}
else
! {
! DECL_EXTERNAL (decl) = 1;
! DECL_NOT_REALLY_EXTERN (decl) = 0;
! }
}
else if (DECL_FUNCTION_MEMBER_P (decl))
{
*************** import_export_decl (decl)
*** 2497,2502 ****
--- 2500,2508 ----
&& ! 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);
--=-=-=--
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: c++/6611: [PATCH] Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak
@ 2002-05-21 8:23 Gerald Pfeifer
0 siblings, 0 replies; 3+ messages in thread
From: Gerald Pfeifer @ 2002-05-21 8:23 UTC (permalink / raw)
To: jason; +Cc: gcc-prs
The following reply was made to PR c++/6611; it has been noted by GNATS.
From: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
To: Jason Merrill <jason@redhat.com>, "B. Kosnik" <bkoz@nabi.net>
Cc: gcc-gnats@gcc.gnu.org, <gcc-patches@gcc.gnu.org>, <bkoz@redhat.com>,
<gcc-bugs@gcc.gnu.org>, <ljrittle@acm.org>
Subject: Re: c++/6611: [PATCH] Non-weak emission of `std::__default_alloc_template[...]'
on platform(s) where it should be weak
Date: Tue, 21 May 2002 12:56:26 +0200 (CEST)
On Sat, 18 May 2002, Jason Merrill wrote:
> Tested i686-pc-linux-gnu, applied to trunk. I'll come up with a testcase
> soon, but I want to get this in now so it stops interfering with libstdc++
> work.
Thanks! I can confirm this fixes the bug I have been experiencing (and
which was destilled into the testcase in PR c++/6611).
One way to come up with a testcase, as suggested by Loren, would be to
duplicate the file in the PR and simply rename all classes in that copy;
if linking both object files fails, this is due to this/a bug.
Gerald
--
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: c++/6611: [PATCH] Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak
@ 2002-05-18 8:06 B. Kosnik
0 siblings, 0 replies; 3+ messages in thread
From: B. Kosnik @ 2002-05-18 8:06 UTC (permalink / raw)
To: jason; +Cc: gcc-prs
The following reply was made to PR c++/6611; it has been noted by GNATS.
From: "B. Kosnik" <bkoz@nabi.net>
To: Jason Merrill <jason@redhat.com>
Cc: gcc-gnats@gcc.gnu.org, gcc-patches@gcc.gnu.org, bkoz@redhat.com,
gcc-bugs@gcc.gnu.org, ljrittle@acm.org, pfeifer@dbai.tuwien.ac.at
Subject: Re: c++/6611: [PATCH] Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak
Date: Sat, 18 May 2002 07:57:19 -0700
> 2002-05-18 Jason Merrill <jason@redhat.com>
>
> * decl2.c (import_export_decl): If we clear
> DECL_NOT_REALLY_EXTERN, make sure DECL_EXTERNAL is set.
Thanks Jason. Gerald, can you verify this fixes your situation? If so,
let's make sure this patch finds its way to the branch.
-benjamin
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-05-21 15:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-17 21:46 c++/6611: [PATCH] Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak Jason Merrill
2002-05-18 8:06 B. Kosnik
2002-05-21 8:23 Gerald Pfeifer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).