@ -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 ( ) ;