Jonathan Wakely via Gcc <gcc@gcc.gnu.org> wrote:

On Sat, 3 Apr 2021 at 00:53, Richard Copley via Gcc <gcc@gcc.gnu.org> wrote:
On 01/04/2021 13:35, Richard Biener wrote:
The first release candidate for GCC 10.3 is available from

 https://gcc.gnu.org/pub/gcc/snapshots/10.3.0-RC-20210401/
 ftp://gcc.gnu.org/pub/gcc/snapshots/10.3.0-RC-20210401/

and shortly its mirrors.  It has been generated from git commit
892024d4af83b258801ff7484bf28f0cf1a1a999.

I have so far bootstrapped and tested the release candidate on
x86_64-linux.  Please test it and report any issues to bugzilla.

If all goes well, I'd like to release 10.3 on Thursday, April 8th.

On Windows, linking two C++ translation units that both #include
<coroutine> results in errors about multiple definition of the weak
function __dummy_resume_destroy. This can be avoided by cherry-picking
commit 94fd05f1f76faca9dc9033b55d44c960155d38e9 [PR 95917].

That problem is already present in GCC 10.2, right?

I didn't backport that because it's an ABI change, so not appropriate
to change between minor releases (even for an experimental feature
like coroutines). PR 95917 was about suboptimal codegen; nobody
reported that there's a multiple definition error on Windows.

That agrees with my recollection - the entity was marked as ‘weak’ so that
there should only be one instance in a linked exe.  However, that did lead
to a complaint that object files then contained the weak entity any time the
coroutine header was included.

Is there something more needed to support weak definitions for Windows?

I don’t think we should fix this for 10.3, but please report it to bugzilla
and we can look into a fix for 10.4 (maybe with something specific to
Windows).

+1

Iain

Reply via email to