[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2024-06-03 Thread martin at martin dot st via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 --- Comment #12 from Martin Storsjö --- (In reply to Jonathan Wakely from comment #11) > CC Martin Storsjo to see if changing Clang would be possible, or if he has a > better idea for the preprocessor check suggested in comment 9. > > It might

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2024-05-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 Jonathan Wakely changed: What|Removed |Added CC||martin at martin dot st --- Comment

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2024-05-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 --- Comment #10 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #1) > I would argue that the root cause is that Clang does not conform to the > platform ABI for mingw-w64, which requires __GXX_TYPEINFO_EQUALITY_INLINE=0 > to

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2024-05-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 --- Comment #9 from Jonathan Wakely --- Right, for Clang we need: --- a/libstdc++-v3/libsupc++/typeinfo +++ b/libstdc++-v3/libsupc++/typeinfo @@ -73,7 +73,7 @@ namespace __cxxabiv1 // By default follow the old inline rules to avoid ABI

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2024-05-31 Thread peter0x44 at disroot dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 --- Comment #8 from Peter Damianov --- The suggested fix works for g++, but not clang++.

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2024-05-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 --- Comment #7 from Jonathan Wakely --- This is the fix I'm suggesting: --- a/libstdc++-v3/libsupc++/typeinfo +++ b/libstdc++-v3/libsupc++/typeinfo @@ -188,6 +188,9 @@ namespace std #endif #if __GXX_TYPEINFO_EQUALITY_INLINE || __cplusplus >

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2024-05-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 --- Comment #6 from Jonathan Wakely --- (In reply to Peter Damianov from comment #5) > #include > int main() { return typeid(0) == typeid(0); } > > The following reproduces for me, although strangely only with -std=c++23 and >

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2023-09-01 Thread peter0x44 at disroot dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 peter0x44 at disroot dot org changed: What|Removed |Added CC||peter0x44 at disroot dot

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2023-07-10 Thread arndtthomas at gmx dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 --- Comment #4 from Thomas Arndt --- Sounds good, I would agree on your solution as well. So since it's not related to clang and can be reproduced with gcc is there a fix planned?

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2023-07-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 --- Comment #3 from Jonathan Wakely --- N.B. this can be reproduced without clang, just by using -std=c++20 -static-libstdc++ /usr/bin/x86_64-w64-mingw32-ld:

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2023-07-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 Jonathan Wakely changed: What|Removed |Added Ever confirmed|0 |1 Target Milestone|---

[Bug libstdc++/110572] ld.lld: error: duplicate symbol: std::type_info::operator==(std::type_info const&) const

2023-07-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572 --- Comment #1 from Jonathan Wakely --- I would argue that the root cause is that Clang does not conform to the platform ABI for mingw-w64, which requires __GXX_TYPEINFO_EQUALITY_INLINE=0 to be defined.