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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572
Jonathan Wakely changed:
What|Removed |Added
CC||martin at martin dot st
--- Comment
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
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572
--- Comment #8 from Peter Damianov ---
The suggested fix works for g++, but not clang++.
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 >
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
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572
peter0x44 at disroot dot org changed:
What|Removed |Added
CC||peter0x44 at disroot dot
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?
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:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572
Jonathan Wakely changed:
What|Removed |Added
Ever confirmed|0 |1
Target Milestone|---
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.
12 matches
Mail list logo