From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 8CBB43858020; Mon, 19 Oct 2020 06:27:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8CBB43858020 From: "brechtsanders at users dot sourceforge.net" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/97484] New: typedef conflict for "byte" in GCC11 for MinGW-w64 Date: Mon, 19 Oct 2020 06:27:46 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: brechtsanders at users dot sourceforge.net X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: 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: Mon, 19 Oct 2020 06:27:46 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D97484 Bug ID: 97484 Summary: typedef conflict for "byte" in GCC11 for MinGW-w64 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: brechtsanders at users dot sourceforge.net Target Milestone: --- I just built GCC11 snapshot 20201011 for the MinGW-w64 platform and noticed that some things won't build with it because "byte" now has conflicting definitions. Windows seems to already define this in rpcndr.h, which is included from windows.h. But it's also defined in C++' cpp_type_traits. The errors below are from an attempt to compile Ninja with GCC11 snapshot 20201011. These issues were not present with GCC 11 or lower. In file included from d:\prog\winlibs32_stage\mingw32\i686-w64-mingw32\include\wtypes.h:8, from d:\prog\winlibs32_stage\mingw32\i686-w64-mingw32\include\winscard.h:10, from d:\prog\winlibs32_stage\mingw32\i686-w64-mingw32\include\windows.h:97, from .\src\disk_interface.cc:27: d:\prog\winlibs32_stage\mingw32\i686-w64-mingw32\include\rpcndr.h:64:11: er= ror: reference to 'byte' is ambiguous 64 | typedef byte cs_byte; | ^~~~ In file included from d:\prog\winlibs32_stage\mingw32\include\c++\11.0.0\bits\stl_algobase.h:61, from d:\prog\winlibs32_stage\mingw32\include\c++\11.0.0\bits\stl_tree.h:63, from d:\prog\winlibs32_stage\mingw32\include\c++\11.0.0\map:60, from .\src\disk_interface.h:18, from .\src\disk_interface.cc:15: d:\prog\winlibs32_stage\mingw32\include\c++\11.0.0\bits\cpp_type_traits.h:4= 04:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from d:\prog\winlibs32_stage\mingw32\i686-w64-mingw32\include\wtypes.h:8, from d:\prog\winlibs32_stage\mingw32\i686-w64-mingw32\include\winscard.h:10, from d:\prog\winlibs32_stage\mingw32\i686-w64-mingw32\include\windows.h:97, from .\src\disk_interface.cc:27: d:\prog\winlibs32_stage\mingw32\i686-w64-mingw32\include\rpcndr.h:63:25: no= te:=20 'typedef unsigned char byte' 63 | typedef unsigned char byte; | ^~~~=