http://bugzilla.opensuse.org/show_bug.cgi?id=1205190 Bug ID: 1205190 Summary: windows:mingw:win{32|64}/mingw{32|64}-xapian- core - error: reference to 'byte' is ambiguous Classification: openSUSE Product: openSUSE.org Version: unspecified Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: 3rd party software Assignee: fstrba@suse.com Reporter: ralf.habacker@freenet.de QA Contact: screening-team-bugs@suse.de CC: fridrich.strba@bluewin.ch, hib@hiberis.nl, mkbosmans@gmail.com Found By: --- Blocker: --- The mentioned package fails to build with gcc12 as: [ 97s] backends/glass/glass_changes.cc: In static member function 'static void GlassChanges::check(const std::string&)': [ 97s] backends/glass/glass_changes.cc:248:66: error: expected '>' before 'byte' [ 97s] 248 | uint4 block_rev = unaligned_read4(reinterpret_cast<const byte*>(p)); [ 97s] | ^~~~ [ 97s] backends/glass/glass_changes.cc:248:66: error: expected '(' before 'byte' [ 97s] 248 | uint4 block_rev = unaligned_read4(reinterpret_cast<const byte*>(p)); [ 97s] | ^~~~ [ 97s] | ( [ 97s] backends/glass/glass_changes.cc:248:66: error: reference to 'byte' is ambiguous [ 97s] 248 | uint4 block_rev = unaligned_read4(reinterpret_cast<const byte*>(p)); [ 97s] | ^~~~ [ 97s] In file included from /usr/lib64/gcc/x86_64-w64-mingw32/12.2.0/include/c++/string:42, [ 97s] from backends/glass/glass_changes.h:26, [ 97s] from backends/glass/glass_changes.cc:24: [ 97s] /usr/lib64/gcc/x86_64-w64-mingw32/12.2.0/include/c++/bits/cpp_type_traits.h:406:30: note: candidates are: 'enum class std::byte' [ 97s] 406 | enum class byte : unsigned char; [ 97s] | ^~~~ [ 97s] In file included from backends/glass/glass_defs.h:24, [ 97s] from backends/glass/glass_changes.h:25: [ 97s] ./common/internaltypes.h:32:17: note: 'typedef uint8_t byte' [ 97s] 32 | typedef uint8_t byte; [ 97s] | ^~~~ [ 97s] backends/glass/glass_changes.cc:248:71: error: expected primary-expression before '>' token [ 97s] 248 | uint4 block_rev = unaligned_read4(reinterpret_cast<const byte*>(p)); One of the reason is the extensive usage of 'using namespace std', which maps 'enum class std::byte' into the global namespace, which then conflicts with /usr/i686-w64-mingw32/sys-root/mingw/include/rpcndr.h:397:170: error: reference to 'byte' is ambiguous [ 97s] ./common/internaltypes.h:32:17: note: 'typedef uint8_t byte' [ 97s] 32 | typedef uint8_t byte; -- You are receiving this mail because: You are on the CC list for the bug.