| Issue |
175529
|
| Summary |
[clang] The issue with clang::trivial_abi attribute in public api of thirdparty library
|
| Labels |
clang
|
| Assignees |
|
| Reporter |
codelimit
|
Hi!
In my project I am using CEF (https://github.com/chromiumembedded/cef). It has smart ptr marked with TRIVIAL_ABI macro, which turns into [[clang::trivial_abi]] for clang compiler ([link1](https://github.com/chromiumembedded/cef/blob/master/include/base/cef_scoped_refptr.h#L269), [link2](https://github.com/chromiumembedded/cef/blob/master/include/base/cef_compiler_specific.h#L490)).
In my project CEF is prebuilt with MSVC compiler as a static lib, where trivial_abi attribute is absent. When the main project is being compiled with Clang, the abi compatibility breaks and causes runtime crashes. I have two binary incompatible binaries: main application, that is being built with Clang, and CEF library, which is built with MSVC compiler). CEF project does not support building with clang for Windows platform.
Is there a way to disable clang attributes or make them unavailable in a such way that __has_attribute(trivial_abi) returns false?
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs