We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 9deedf0 + 8ea3bb1 commit 5b4b3afCopy full SHA for 5b4b3af
src/google/protobuf/port.h
@@ -64,7 +64,10 @@ inline PROTOBUF_ALWAYS_INLINE void StrongPointer() {
64
template <typename T>
65
inline PROTOBUF_ALWAYS_INLINE void StrongReferenceToType() {
66
static constexpr auto ptr = T::template GetStrongPointerForType<T>();
67
- return StrongPointer<decltype(ptr), ptr>();
+ // This is identical to the implementation of StrongPointer() above, but it
68
+ // has to be explicitly inlined here or else Clang 19 will raise an error in
69
+ // some configurations.
70
+ asm(".reloc ., BFD_RELOC_NONE, %p0" ::"Ws"(ptr));
71
}
72
#else // .reloc
73
// Portable fallback. It usually generates a single LEA instruction or
0 commit comments