You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
However, it seems that the BDE library introduces compiler-dependent types in its public interface, which breaks this compatibility.
Specifically, when building the BDE library with GCC and attempting to consume it using Clang, the following linker error occurs: undefined reference to 'BloombergLP::bsls::Review::updateCount(BloombergLP::bsls::Atomic_TypeTraits<BloombergLP::bsls::AtomicOperations_ALL_ALL_ClangIntrinsics>::Int*)'
The issue is mainly due to one line in bdlt_datetime.h because it uses BSLS_REVIEW_INVOKE in the header. Other usages can be turned off with BSLS_REVIEW_LEVEL_NONE.
Is there (still) a reason why there is a Clang specific BloombergLP::bsls::AtomicOperations_ALL_ALL_ClangIntrinsics traits class?
The structure of the ifdef-ery in bsls_atomicoperations.h looks like Clang also should work with the GCC intrinsics, but the path is not reachable with current Clang versions.
The text was updated successfully, but these errors were encountered:
GCC and Clang are supposedly binary compatible.
However, it seems that the BDE library introduces compiler-dependent types in its public interface, which breaks this compatibility.
Specifically, when building the BDE library with GCC and attempting to consume it using Clang, the following linker error occurs:
undefined reference to 'BloombergLP::bsls::Review::updateCount(BloombergLP::bsls::Atomic_TypeTraits<BloombergLP::bsls::AtomicOperations_ALL_ALL_ClangIntrinsics>::Int*)'
The issue is mainly due to one line in bdlt_datetime.h because it uses
BSLS_REVIEW_INVOKE
in the header. Other usages can be turned off withBSLS_REVIEW_LEVEL_NONE
.Is there (still) a reason why there is a Clang specific
BloombergLP::bsls::AtomicOperations_ALL_ALL_ClangIntrinsics
traits class?The structure of the ifdef-ery in
bsls_atomicoperations.h
looks like Clang also should work with the GCC intrinsics, but the path is not reachable with current Clang versions.The text was updated successfully, but these errors were encountered: