Commit 001e82a7 authored by Feng Xiao's avatar Feng Xiao

Merge pull request #113 from nsuke/oneof-c++11

Make C++ code generation of string oneof field compatible with C++11
parents 78c82006 2413cb57
...@@ -725,7 +725,7 @@ TEST_F(CommandLineInterfaceTest, ColonDelimitedPath) { ...@@ -725,7 +725,7 @@ TEST_F(CommandLineInterfaceTest, ColonDelimitedPath) {
#endif #endif
Run("protocol_compiler --test_out=$tmpdir " Run("protocol_compiler --test_out=$tmpdir "
"--proto_path=$tmpdir/a"PATH_SEPARATOR"$tmpdir/b foo.proto"); "--proto_path=$tmpdir/a" PATH_SEPARATOR "$tmpdir/b foo.proto");
#undef PATH_SEPARATOR #undef PATH_SEPARATOR
......
...@@ -613,8 +613,7 @@ GenerateSwappingCode(io::Printer* printer) const { ...@@ -613,8 +613,7 @@ GenerateSwappingCode(io::Printer* printer) const {
void StringOneofFieldGenerator:: void StringOneofFieldGenerator::
GenerateConstructorCode(io::Printer* printer) const { GenerateConstructorCode(io::Printer* printer) const {
printer->Print(variables_, printer->Print(variables_,
" const_cast< ::google::protobuf::internal::ArenaStringPtr*>(" " $classname$_default_oneof_instance_->$name$_.UnsafeSetDefault("
"&$classname$_default_oneof_instance_->$name$_)->UnsafeSetDefault("
"$default_variable$);\n"); "$default_variable$);\n");
} }
......
...@@ -379,35 +379,35 @@ TEST_F(ParseMessageTest, FieldDefaults) { ...@@ -379,35 +379,35 @@ TEST_F(ParseMessageTest, FieldDefaults) {
#define ETC "name:\"foo\" label:LABEL_REQUIRED number:1" #define ETC "name:\"foo\" label:LABEL_REQUIRED number:1"
"message_type {" "message_type {"
" name: \"TestMessage\"" " name: \"TestMessage\""
" field { type:TYPE_INT32 default_value:\"1\" "ETC" }" " field { type:TYPE_INT32 default_value:\"1\" " ETC " }"
" field { type:TYPE_INT32 default_value:\"-2\" "ETC" }" " field { type:TYPE_INT32 default_value:\"-2\" " ETC " }"
" field { type:TYPE_INT64 default_value:\"3\" "ETC" }" " field { type:TYPE_INT64 default_value:\"3\" " ETC " }"
" field { type:TYPE_INT64 default_value:\"-4\" "ETC" }" " field { type:TYPE_INT64 default_value:\"-4\" " ETC " }"
" field { type:TYPE_UINT32 default_value:\"5\" "ETC" }" " field { type:TYPE_UINT32 default_value:\"5\" " ETC " }"
" field { type:TYPE_UINT64 default_value:\"6\" "ETC" }" " field { type:TYPE_UINT64 default_value:\"6\" " ETC " }"
" field { type:TYPE_FLOAT default_value:\"7.5\" "ETC" }" " field { type:TYPE_FLOAT default_value:\"7.5\" " ETC " }"
" field { type:TYPE_FLOAT default_value:\"-8.5\" "ETC" }" " field { type:TYPE_FLOAT default_value:\"-8.5\" " ETC " }"
" field { type:TYPE_FLOAT default_value:\"9\" "ETC" }" " field { type:TYPE_FLOAT default_value:\"9\" " ETC " }"
" field { type:TYPE_DOUBLE default_value:\"10.5\" "ETC" }" " field { type:TYPE_DOUBLE default_value:\"10.5\" " ETC " }"
" field { type:TYPE_DOUBLE default_value:\"-11.5\" "ETC" }" " field { type:TYPE_DOUBLE default_value:\"-11.5\" " ETC " }"
" field { type:TYPE_DOUBLE default_value:\"12\" "ETC" }" " field { type:TYPE_DOUBLE default_value:\"12\" " ETC " }"
" field { type:TYPE_DOUBLE default_value:\"inf\" "ETC" }" " field { type:TYPE_DOUBLE default_value:\"inf\" " ETC " }"
" field { type:TYPE_DOUBLE default_value:\"-inf\" "ETC" }" " field { type:TYPE_DOUBLE default_value:\"-inf\" " ETC " }"
" field { type:TYPE_DOUBLE default_value:\"nan\" "ETC" }" " field { type:TYPE_DOUBLE default_value:\"nan\" " ETC " }"
" field { type:TYPE_STRING default_value:\"13\\001\" "ETC" }" " field { type:TYPE_STRING default_value:\"13\\001\" " ETC " }"
" field { type:TYPE_STRING default_value:\"abc\" "ETC" }" " field { type:TYPE_STRING default_value:\"abc\" " ETC " }"
" field { type:TYPE_BYTES default_value:\"14\\\\002\" "ETC" }" " field { type:TYPE_BYTES default_value:\"14\\\\002\" " ETC " }"
" field { type:TYPE_BYTES default_value:\"abc\" "ETC" }" " field { type:TYPE_BYTES default_value:\"abc\" " ETC " }"
" 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 { type:TYPE_INT32 default_value:\"2147483647\" " ETC " }"
" field { type:TYPE_INT32 default_value:\"-2147483648\" "ETC" }" " field { type:TYPE_INT32 default_value:\"-2147483648\" " ETC " }"
" field { type:TYPE_UINT32 default_value:\"4294967295\" "ETC" }" " field { type:TYPE_UINT32 default_value:\"4294967295\" " ETC " }"
" field { type:TYPE_INT64 default_value:\"9223372036854775807\" "ETC" }" " field { type:TYPE_INT64 default_value:\"9223372036854775807\" " ETC " }"
" field { type:TYPE_INT64 default_value:\"-9223372036854775808\" "ETC" }" " field { type:TYPE_INT64 default_value:\"-9223372036854775808\" " ETC " }"
" field { type:TYPE_UINT64 default_value:\"18446744073709551615\" "ETC" }" " field { type:TYPE_UINT64 default_value:\"18446744073709551615\" " ETC " }"
" field { type:TYPE_DOUBLE default_value:\"43981\" "ETC" }" " field { type:TYPE_DOUBLE default_value:\"43981\" " ETC " }"
"}"); "}");
#undef ETC #undef ETC
} }
......
...@@ -5883,8 +5883,8 @@ class AbortingErrorCollector : public DescriptorPool::ErrorCollector { ...@@ -5883,8 +5883,8 @@ class AbortingErrorCollector : public DescriptorPool::ErrorCollector {
const Message *message, const Message *message,
ErrorLocation location, ErrorLocation location,
const string &error_message) { const string &error_message) {
GOOGLE_LOG(FATAL) << "AddError() called unexpectedly: " << filename << ": " GOOGLE_LOG(FATAL) << "AddError() called unexpectedly: " << filename << " ["
<< error_message; << element_name << "]: " << error_message;
} }
private: private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(AbortingErrorCollector); GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(AbortingErrorCollector);
......
...@@ -95,9 +95,9 @@ TEST(LoggingTest, DefaultLogging) { ...@@ -95,9 +95,9 @@ TEST(LoggingTest, DefaultLogging) {
string text = GetCapturedTestStderr(); string text = GetCapturedTestStderr();
EXPECT_EQ( EXPECT_EQ(
"[libprotobuf INFO "__FILE__":" + SimpleItoa(line + 1) + "] A message.\n" "[libprotobuf INFO " __FILE__ ":" + SimpleItoa(line + 1) + "] A message.\n"
"[libprotobuf WARNING "__FILE__":" + SimpleItoa(line + 2) + "] A warning.\n" "[libprotobuf WARNING " __FILE__ ":" + SimpleItoa(line + 2) + "] A warning.\n"
"[libprotobuf ERROR "__FILE__":" + SimpleItoa(line + 3) + "] An error.\n", "[libprotobuf ERROR " __FILE__ ":" + SimpleItoa(line + 3) + "] An error.\n",
text); text);
} }
...@@ -128,10 +128,10 @@ TEST(LoggingTest, CaptureLogging) { ...@@ -128,10 +128,10 @@ TEST(LoggingTest, CaptureLogging) {
ASSERT_EQ(2, captured_messages_.size()); ASSERT_EQ(2, captured_messages_.size());
EXPECT_EQ( EXPECT_EQ(
"2 "__FILE__":" + SimpleItoa(start_line + 1) + ": An error.", "2 " __FILE__ ":" + SimpleItoa(start_line + 1) + ": An error.",
captured_messages_[0]); captured_messages_[0]);
EXPECT_EQ( EXPECT_EQ(
"1 "__FILE__":" + SimpleItoa(start_line + 2) + ": A warning.", "1 " __FILE__ ":" + SimpleItoa(start_line + 2) + ": A warning.",
captured_messages_[1]); captured_messages_[1]);
} }
...@@ -154,10 +154,10 @@ TEST(LoggingTest, SilenceLogging) { ...@@ -154,10 +154,10 @@ TEST(LoggingTest, SilenceLogging) {
ASSERT_EQ(2, captured_messages_.size()); ASSERT_EQ(2, captured_messages_.size());
EXPECT_EQ( EXPECT_EQ(
"0 "__FILE__":" + SimpleItoa(line1) + ": Visible1", "0 " __FILE__ ":" + SimpleItoa(line1) + ": Visible1",
captured_messages_[0]); captured_messages_[0]);
EXPECT_EQ( EXPECT_EQ(
"0 "__FILE__":" + SimpleItoa(line2) + ": Visible2", "0 " __FILE__ ":" + SimpleItoa(line2) + ": Visible2",
captured_messages_[1]); captured_messages_[1]);
} }
......
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