https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113258

--- Comment #4 from Nicholas Miell <nmiell at gmail dot com> ---
(In reply to Andrew Pinski from comment #2)
> So the situtation here is you have a pre-C++17 application using a C++17
> library.
> 
> If the application was C++17 and using a C++11 library, it would just work.
> 
> So the ABI is broken in the C++17 library rather than in libstdc++ as far as
> I can tell. That is this is NOT a libstdc++ issue but the C++17 library
> making sure it does not call the new `operator new`. Which means this is a
> bug in LLVM ....

No, the problem is that a pre-C++17 application is using a post-C++17 GPU
driver (well, the GPU driver is using a post-C++17 libLLVM), and the post-C++17
version of libstdc++ is incompatible with pre-C++17 users of libstdc++.

If GCC supplied a pre-C++17 version of libstdc++ and a post-C++17 version of
libstdc++ and allowed both of them to be used simultaneously in a single
application, there wouldn't be a problem.

But instead GCC only supplies a post-C++17 version of libstdc++ that is
supposed to be ABI compatible with all previous versions of libstdc++, yet in
this case it isn't.

Reply via email to