Fix compile issues with -std=c++11

This compiles with -std=c++11:
message Foo {
  map<string, Foo> value = 1;
}

This does not compile:
message Foo {
  map<int32, Foo> value = 1;
}

Needs to dig more into the underlying issue.
pull/742/head
Feng Xiao 9 years ago
parent b192ba87f7
commit d9ab86cdbf
  1. 2
      src/google/protobuf/map_test.cc
  2. 4
      src/google/protobuf/map_unittest.proto

@ -2188,7 +2188,7 @@ TEST_F(MapFieldInDynamicMessageTest, MapSpaceUsed) {
TEST_F(MapFieldInDynamicMessageTest, RecursiveMap) { TEST_F(MapFieldInDynamicMessageTest, RecursiveMap) {
TestRecursiveMapMessage from; TestRecursiveMapMessage from;
(*from.mutable_a())[0]; (*from.mutable_a())[""];
string data = from.SerializeAsString(); string data = from.SerializeAsString();
google::protobuf::scoped_ptr<Message> to( google::protobuf::scoped_ptr<Message> to(
factory_.GetPrototype(recursive_map_descriptor_)->New()); factory_.GetPrototype(recursive_map_descriptor_)->New());

@ -116,7 +116,7 @@ message MessageContainingEnumCalledType {
enum Type { enum Type {
TYPE_FOO = 0; TYPE_FOO = 0;
} }
map<int32, MessageContainingEnumCalledType> type = 1; map<string, MessageContainingEnumCalledType> type = 1;
} }
// Previously, message cannot contain map field called "entry". // Previously, message cannot contain map field called "entry".
@ -125,5 +125,5 @@ message MessageContainingMapCalledEntry {
} }
message TestRecursiveMapMessage { message TestRecursiveMapMessage {
map<int32, TestRecursiveMapMessage> a = 1; map<string, TestRecursiveMapMessage> a = 1;
} }

Loading…
Cancel
Save