|
|
@ -495,11 +495,19 @@ Message* GenericTypeHandler<Message>::NewFromPrototype( |
|
|
|
return prototype->New(arena); |
|
|
|
return prototype->New(arena); |
|
|
|
} |
|
|
|
} |
|
|
|
template<> |
|
|
|
template<> |
|
|
|
|
|
|
|
#if defined(_MSC_VER) && (_MSC_VER >= 1900) |
|
|
|
|
|
|
|
// Note: force noinline to workaround MSVC 2015 compiler bug, issue #240
|
|
|
|
|
|
|
|
GOOGLE_ATTRIBUTE_NOINLINE |
|
|
|
|
|
|
|
#endif |
|
|
|
google::protobuf::Arena* GenericTypeHandler<Message>::GetArena( |
|
|
|
google::protobuf::Arena* GenericTypeHandler<Message>::GetArena( |
|
|
|
Message* value) { |
|
|
|
Message* value) { |
|
|
|
return value->GetArena(); |
|
|
|
return value->GetArena(); |
|
|
|
} |
|
|
|
} |
|
|
|
template<> |
|
|
|
template<> |
|
|
|
|
|
|
|
#if defined(_MSC_VER) && (_MSC_VER >= 1900) |
|
|
|
|
|
|
|
// Note: force noinline to workaround MSVC 2015 compiler bug, issue #240
|
|
|
|
|
|
|
|
GOOGLE_ATTRIBUTE_NOINLINE |
|
|
|
|
|
|
|
#endif |
|
|
|
void* GenericTypeHandler<Message>::GetMaybeArenaPointer( |
|
|
|
void* GenericTypeHandler<Message>::GetMaybeArenaPointer( |
|
|
|
Message* value) { |
|
|
|
Message* value) { |
|
|
|
return value->GetMaybeArenaPointer(); |
|
|
|
return value->GetMaybeArenaPointer(); |
|
|
|