Created attachment 50506 [details] testcase The attached testcase has two translation units main.cpp and coro2.cpp which both include <coroutine>. Linking the program with g++ (from the mingw-w64 toolchain built by the MSYS2 project on Microsoft Windows) fails with the following errors: ld.exe: coro2.o:coro2.cpp:(.text+0x0): multiple definition of `.weak._ZNSt7__n486122__dummy_resume_destroyEv._ZSt21is_constant_evaluatedv'; main.o:main.cpp:(.text+0x0): first defined here ld.exe: coro2.o:coro2.cpp:(.data+0x0): multiple definition of `.weak._ZNSt7__n486114__noop_coro_frE._ZSt21is_constant_evaluatedv'; main.o:main.cpp:(.data+0x0): first defined here The issue is present in the versions of <coroutine> in the 10.2 release and the 10.3 release candidate, but not in the current head version in the gcc repo. It is fixed in this commit: 94fd05f1f76faca9dc9033b55d44c960155d38e9 libstdc++: Define noop coroutine details private and inline [PR 95917] Some discussion here: https://gcc.gnu.org/pipermail/gcc/2021-April/235305.html
The GCC 10 release series is no longer supported, so this is fixed in all supported release series.