From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id A0BAB384A02F; Thu, 5 Nov 2020 14:20:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A0BAB384A02F From: "markus.boeck02 at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/97729] [11 Regression] Link failure due to basic_stringbuf and others when building DLL on MinGW Date: Thu, 05 Nov 2020 14:20:17 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: build X-Bugzilla-Severity: normal X-Bugzilla-Who: markus.boeck02 at gmail dot com X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: redi at gcc dot gnu.org X-Bugzilla-Target-Milestone: 11.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Nov 2020 14:20:17 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D97729 --- Comment #4 from Markus B=C3=B6ck --- Indeed that sounds like it might be the issue. I am currently on a very rec= ent version of binutils: $ ./x86_64-w64-mingw32-ld --version GNU ld (GNU Binutils) 2.35.50.20200709=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 Copyright (C) 2020 Free Software Foundation, In= c.=20=20 This program is free software; you may redistribute it under the terms of=20=20= =20=20=20=20=20=20=20=20=20 the GNU General Public License version 3= or (at your option) a later version.=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20 This program has absolutely no warranty. Changing the lines you posted above yields me a compiler error now: libtool: compile: /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/./gcc/xgcc -shared-libgcc -B/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/./gcc -nostdi= nc++ -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/src -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/src/.libs -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/libsupc++/.libs -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/l= ib -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/mingw/lib -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/inc= lude -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/mingw/include -B/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/b= in/ -B/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/l= ib/ -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/inc= lude -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/sys= -include -I/mnt/c/GCC-Build-Array/gcc/libstdc++-v3/../libgcc -I/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/include/x86_64-w64-mingw32 -I/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/include -I/mnt/c/GCC-Build-Array/gcc/libstdc++-v3/libsupc++ -I/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/include -std=3Dgnu++= 11 -D_GLIBCXX_SHARED -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=3D2 -fdiagnostics-show-location=3Donce -ffunction-sections -fdata-sections -frandom-seed=3Dfuture.lo -Wno-error=3Dformat-extra-args -Wno-error=3Dformat -g1 -fdebug-prefix-map=3D/mnt/c=3DC: -c ../../../../../libstdc++-v3/src/c++11/future.cc -o future.o In file included from ../../../../../libstdc++-v3/src/c++11/future.cc:29: /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v= 3/include/future: In member function 'std::__future_base::_Result<_Res>& std::__basic_future<_Res>::_M_get_result() const': /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v= 3/include/future:712:30: error: ambiguous overload for 'operator=3D=3D' (operand types are 'std::__exception_ptr::exception_ptr' and 'int') 712 | if (!(__res._M_error =3D=3D 0)) | ~~~~~~~~~~~~~~ ^~ ~ | | | | | int | std::__exception_ptr::exception_ptr /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v= 3/include/future:712:30: note: candidate: 'operator=3D=3D(std::__exception_ptr::exception_ptr::__saf= e_bool {aka void (std::__exception_ptr::exception_ptr::*)()}, std::__exception_ptr::exception_ptr::__safe_bool {aka void (std::__exception_ptr::exception_ptr::*)()})' (built-in) 712 | if (!(__res._M_error =3D=3D 0)) | ~~~~~~~~~~~~~~~^~~~ In file included from /mnt/c/GCC-Build-Array/gcc/libstdc++-v3/libsupc++/exception:147, from /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v= 3/include/mutex:40, from /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v= 3/include/future:38, from ../../../../../libstdc++-v3/src/c++11/future.cc:29: /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v= 3/include/bits/exception_ptr.h:223:5: note: candidate: 'bool std::__exception_ptr::operator=3D=3D(const std::__exception_ptr::exception_ptr&, const std::__exception_ptr::exception_ptr&)' 223 | operator=3D=3D(const exception_ptr&, const exception_ptr&) | ^~~~~~~~ Makefile:644: recipe for target 'future.lo' failed make[5]: Leaving directory '/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-= v3/src/c++11'=