Commit b262575b authored by Chris Fallin's avatar Chris Fallin

Merge pull request #212 from haberman/update-from-google

Integrated changes from Google opensource branch.
parents 2cb2358c 55cf8abe
...@@ -54,7 +54,7 @@ AC_PROG_CC ...@@ -54,7 +54,7 @@ AC_PROG_CC
AC_PROG_CXX AC_PROG_CXX
AC_LANG([C++]) AC_LANG([C++])
ACX_USE_SYSTEM_EXTENSIONS ACX_USE_SYSTEM_EXTENSIONS
AM_PROG_AR m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
AM_CONDITIONAL(GCC, test "$GCC" = yes) # let the Makefile know if we're gcc AM_CONDITIONAL(GCC, test "$GCC" = yes) # let the Makefile know if we're gcc
# test_util.cc takes forever to compile with GCC and optimization turned on. # test_util.cc takes forever to compile with GCC and optimization turned on.
......
...@@ -313,6 +313,8 @@ class LIBPROTOBUF_EXPORT Arena { ...@@ -313,6 +313,8 @@ class LIBPROTOBUF_EXPORT Arena {
static const size_t kHeaderSize = sizeof(Block); static const size_t kHeaderSize = sizeof(Block);
static google::protobuf::internal::SequenceNumber lifecycle_id_generator_; static google::protobuf::internal::SequenceNumber lifecycle_id_generator_;
#ifdef PROTOBUF_USE_DLLS #ifdef PROTOBUF_USE_DLLS
// Thread local variables cannot be exposed through DLL interface but we can
// wrap them in static functions.
static ThreadCache& thread_cache(); static ThreadCache& thread_cache();
#else #else
static GOOGLE_THREAD_LOCAL ThreadCache thread_cache_; static GOOGLE_THREAD_LOCAL ThreadCache thread_cache_;
......
...@@ -401,13 +401,27 @@ TEST_F(ParseMessageTest, FieldDefaults) { ...@@ -401,13 +401,27 @@ TEST_F(ParseMessageTest, FieldDefaults) {
" field { type:TYPE_BOOL default_value:\"true\" " ETC " }" " field { type:TYPE_BOOL default_value:\"true\" " ETC " }"
" field { type_name:\"Foo\" default_value:\"FOO\" " ETC " }" " field { type_name:\"Foo\" default_value:\"FOO\" " ETC " }"
" field { type:TYPE_INT32 default_value:\"2147483647\" " ETC " }" " field {"
" field { type:TYPE_INT32 default_value:\"-2147483648\" " ETC " }" " type:TYPE_INT32 default_value:\"2147483647\" " ETC
" field { type:TYPE_UINT32 default_value:\"4294967295\" " ETC " }" " }"
" field { type:TYPE_INT64 default_value:\"9223372036854775807\" " ETC " }" " field {"
" field { type:TYPE_INT64 default_value:\"-9223372036854775808\" " ETC " }" " type:TYPE_INT32 default_value:\"-2147483648\" " ETC
" field { type:TYPE_UINT64 default_value:\"18446744073709551615\" " ETC " }" " }"
" field { type:TYPE_DOUBLE default_value:\"43981\" " ETC " }" " field {"
" type:TYPE_UINT32 default_value:\"4294967295\" " ETC
" }"
" field {"
" type:TYPE_INT64 default_value:\"9223372036854775807\" " ETC
" }"
" field {"
" type:TYPE_INT64 default_value:\"-9223372036854775808\" " ETC
" }"
" field {"
" type:TYPE_UINT64 default_value:\"18446744073709551615\" " ETC
" }"
" field {"
" type:TYPE_DOUBLE default_value:\"43981\" " ETC
" }"
"}"); "}");
#undef ETC #undef ETC
} }
......
...@@ -581,7 +581,8 @@ void Generator::PrintServiceDescriptor( ...@@ -581,7 +581,8 @@ void Generator::PrintServiceDescriptor(
} }
void Generator::PrintDescriptorKeyAndModuleName(const ServiceDescriptor& descriptor) const { void Generator::PrintDescriptorKeyAndModuleName(
const ServiceDescriptor& descriptor) const {
printer_->Print( printer_->Print(
"$descriptor_key$ = $descriptor_name$,\n", "$descriptor_key$ = $descriptor_name$,\n",
"descriptor_key", kDescriptorKey, "descriptor_key", kDescriptorKey,
......
...@@ -127,7 +127,8 @@ class LIBPROTOC_EXPORT Generator : public CodeGenerator { ...@@ -127,7 +127,8 @@ class LIBPROTOC_EXPORT Generator : public CodeGenerator {
void PrintServiceDescriptor(const ServiceDescriptor& descriptor) const; void PrintServiceDescriptor(const ServiceDescriptor& descriptor) const;
void PrintServiceClass(const ServiceDescriptor& descriptor) const; void PrintServiceClass(const ServiceDescriptor& descriptor) const;
void PrintServiceStub(const ServiceDescriptor& descriptor) const; void PrintServiceStub(const ServiceDescriptor& descriptor) const;
void PrintDescriptorKeyAndModuleName(const ServiceDescriptor& descriptor) const ; void PrintDescriptorKeyAndModuleName(
const ServiceDescriptor& descriptor) const ;
void PrintEnumValueDescriptor(const EnumValueDescriptor& descriptor) const; void PrintEnumValueDescriptor(const EnumValueDescriptor& descriptor) const;
string OptionsValue(const string& class_name, string OptionsValue(const string& class_name,
......
...@@ -378,7 +378,8 @@ bool Generator::Generate( ...@@ -378,7 +378,8 @@ bool Generator::Generate(
std::string filename = std::string filename =
StripDotProto(file->name()) + ".rb"; StripDotProto(file->name()) + ".rb";
scoped_ptr<io::ZeroCopyOutputStream> output(generator_context->Open(filename)); scoped_ptr<io::ZeroCopyOutputStream> output(
generator_context->Open(filename));
io::Printer printer(output.get(), '$'); io::Printer printer(output.get(), '$');
GenerateFile(file, &printer); GenerateFile(file, &printer);
......
...@@ -45,7 +45,8 @@ namespace internal { ...@@ -45,7 +45,8 @@ namespace internal {
// Register all MapEntry default instances so we can delete them in // Register all MapEntry default instances so we can delete them in
// ShutdownProtobufLibrary(). // ShutdownProtobufLibrary().
void LIBPROTOBUF_EXPORT RegisterMapEntryDefaultInstance(MessageLite* default_instance); void LIBPROTOBUF_EXPORT RegisterMapEntryDefaultInstance(
MessageLite* default_instance);
// This is the common base class for MapEntry. It is used by MapFieldBase in // This is the common base class for MapEntry. It is used by MapFieldBase in
// reflection api, in which the static type of key and value is unknown. // reflection api, in which the static type of key and value is unknown.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment