diff --git a/src/google/protobuf/descriptor.cc b/src/google/protobuf/descriptor.cc index 0f243ce5..b843a06b 100644 --- a/src/google/protobuf/descriptor.cc +++ b/src/google/protobuf/descriptor.cc @@ -1693,6 +1693,9 @@ class DescriptorBuilder { template void AllocateOptions( const typename DescriptorT::OptionsType& orig_options, DescriptorT* descriptor); + // Specialization for FileOptions. + void AllocateOptions(const FileOptions& orig_options, + FileDescriptor* descriptor); // Implementation for AllocateOptions(). Don't call this directly. template void AllocateOptionsImpl( @@ -2208,9 +2211,8 @@ template void DescriptorBuilder::AllocateOptions( } // We specialize for FileDescriptor. -template<> void DescriptorBuilder::AllocateOptions( - const FileDescriptor::OptionsType& orig_options, - FileDescriptor* descriptor) { +void DescriptorBuilder::AllocateOptions(const FileOptions& orig_options, + FileDescriptor* descriptor) { // We add the dummy token so that LookupSymbol does the right thing. AllocateOptionsImpl(descriptor->package() + ".dummy", descriptor->name(), orig_options, descriptor);