diff options
author | Paul Yang <TeBoring@users.noreply.github.com> | 2015-05-25 02:02:27 -0700 |
---|---|---|
committer | Paul Yang <TeBoring@users.noreply.github.com> | 2015-05-25 02:02:27 -0700 |
commit | ad0a5cab521d86fcadb8991427395e77daca71a6 (patch) | |
tree | 51ed90fe381d25a3c8dbb9f3a568bb8fefc18c4d /src/google | |
parent | 8ee267dda7084db25065619620bfec4a1eee326a (diff) | |
parent | cf603a9dfac6447f2fe62822fa7c235a50a92de7 (diff) | |
download | protobuf-ad0a5cab521d86fcadb8991427395e77daca71a6.tar.gz protobuf-ad0a5cab521d86fcadb8991427395e77daca71a6.tar.bz2 protobuf-ad0a5cab521d86fcadb8991427395e77daca71a6.zip |
Merge pull request #422 from google/3.0.0-alpha-3-windows-fix
3.0.0 alpha 3 windows fix
Diffstat (limited to 'src/google')
-rw-r--r-- | src/google/protobuf/any.h | 2 | ||||
-rw-r--r-- | src/google/protobuf/arena_unittest.cc | 5 | ||||
-rw-r--r-- | src/google/protobuf/compiler/command_line_interface_unittest.cc | 4 | ||||
-rw-r--r-- | src/google/protobuf/compiler/objectivec/objectivec_helpers.h | 2 | ||||
-rw-r--r-- | src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc | 7 | ||||
-rw-r--r-- | src/google/protobuf/map.h | 6 | ||||
-rw-r--r-- | src/google/protobuf/map_entry.h | 6 | ||||
-rw-r--r-- | src/google/protobuf/map_entry_lite.h | 12 | ||||
-rw-r--r-- | src/google/protobuf/map_field.h | 2 | ||||
-rw-r--r-- | src/google/protobuf/map_field_lite.h | 2 | ||||
-rw-r--r-- | src/google/protobuf/stubs/strutil.h | 57 |
11 files changed, 64 insertions, 41 deletions
diff --git a/src/google/protobuf/any.h b/src/google/protobuf/any.h index 757b45aa..f681eceb 100644 --- a/src/google/protobuf/any.h +++ b/src/google/protobuf/any.h @@ -43,7 +43,7 @@ namespace protobuf { namespace internal { // Helper class used to implement google::protobuf::Any. -class AnyMetadata { +class LIBPROTOBUF_EXPORT AnyMetadata { typedef ArenaStringPtr UrlType; typedef ArenaStringPtr ValueType; public: diff --git a/src/google/protobuf/arena_unittest.cc b/src/google/protobuf/arena_unittest.cc index 873e85ae..b9dd8b98 100644 --- a/src/google/protobuf/arena_unittest.cc +++ b/src/google/protobuf/arena_unittest.cc @@ -1232,8 +1232,11 @@ TEST(ArenaTest, ArenaHooksSanity) { EXPECT_EQ(1, ArenaHooksTestUtil::num_init); EXPECT_EQ(0, ArenaHooksTestUtil::num_allocations); ::google::protobuf::Arena::Create<uint64>(&arena); +#ifdef _WIN32 + EXPECT_EQ(2, ArenaHooksTestUtil::num_allocations); +#else EXPECT_EQ(1, ArenaHooksTestUtil::num_allocations); - +#endif arena.Reset(); arena.Reset(); EXPECT_EQ(2, ArenaHooksTestUtil::num_reset); diff --git a/src/google/protobuf/compiler/command_line_interface_unittest.cc b/src/google/protobuf/compiler/command_line_interface_unittest.cc index 23d67e2b..e5b77c33 100644 --- a/src/google/protobuf/compiler/command_line_interface_unittest.cc +++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc @@ -973,6 +973,9 @@ TEST_F(CommandLineInterfaceTest, WriteTransitiveDescriptorSetWithSourceInfo) { EXPECT_TRUE(descriptor_set.file(1).has_source_code_info()); } +#ifdef _WIN32 +// TODO(teboring): Figure out how to write test on windows. +#else TEST_F(CommandLineInterfaceTest, WriteDependencyManifestFileGivenTwoInputs) { CreateTempFile("foo.proto", "syntax = \"proto2\";\n" @@ -1042,6 +1045,7 @@ TEST_F(CommandLineInterfaceTest, WriteDependencyManifestFileForAbsolutePath) { "$tmpdir/bar.proto.MockCodeGenerator.test_generator: " "$tmpdir/foo.proto\\\n $tmpdir/bar.proto"); } +#endif // !_WIN32 // ------------------------------------------------------------------- diff --git a/src/google/protobuf/compiler/objectivec/objectivec_helpers.h b/src/google/protobuf/compiler/objectivec/objectivec_helpers.h index 29168937..19317698 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_helpers.h +++ b/src/google/protobuf/compiler/objectivec/objectivec_helpers.h @@ -150,7 +150,7 @@ bool FilterClass(const string& name); // Generate decode data needed for ObjC's GPBDecodeTextFormatName() to transform // the input into the the expected output. -class TextFormatDecodeData { +class LIBPROTOC_EXPORT TextFormatDecodeData { public: TextFormatDecodeData() {} diff --git a/src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc b/src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc index 01e937c3..b091b77a 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc +++ b/src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc @@ -111,6 +111,8 @@ TEST(ObjCHelper, TextFormatDecodeData_DecodeDataForString_ByteCodes) { EXPECT_EQ(expected, result); } +// Death tests do not work on Windows as of yet. +#ifdef PROTOBUF_HAS_DEATH_TEST TEST(ObjCHelperDeathTest, TextFormatDecodeData_DecodeDataForString_Failures) { // Empty inputs. @@ -136,6 +138,7 @@ TEST(ObjCHelperDeathTest, TextFormatDecodeData_DecodeDataForString_Failures) { ::testing::KilledBySignal(SIGABRT), "error: got a null char in a string for making TextFormat data, input:"); } +#endif // PROTOBUF_HAS_DEATH_TEST TEST(ObjCHelper, TextFormatDecodeData_RawStrings) { TextFormatDecodeData decode_data; @@ -198,6 +201,9 @@ TEST(ObjCHelper, TextFormatDecodeData_ByteCodes) { EXPECT_EQ(expected, decode_data.Data()); } + +// Death tests do not work on Windows as of yet. +#ifdef PROTOBUF_HAS_DEATH_TEST TEST(ObjCHelperDeathTest, TextFormatDecodeData_Failures) { TextFormatDecodeData decode_data; @@ -234,6 +240,7 @@ TEST(ObjCHelperDeathTest, TextFormatDecodeData_Failures) { ::testing::KilledBySignal(SIGABRT), "error: duplicate key \\(2\\) making TextFormat data, input:"); } +#endif // PROTOBUF_HAS_DEATH_TEST } // namespace } // namespace objectivec diff --git a/src/google/protobuf/map.h b/src/google/protobuf/map.h index 1858e2f9..f246dd10 100644 --- a/src/google/protobuf/map.h +++ b/src/google/protobuf/map.h @@ -199,7 +199,7 @@ class Map { typedef MapAllocator<std::pair<const Key, MapPair<Key, T>*> > Allocator; // Iterators - class LIBPROTOBUF_EXPORT const_iterator + class const_iterator : public std::iterator<std::forward_iterator_tag, value_type, ptrdiff_t, const value_type*, const value_type&> { typedef typename hash_map<Key, value_type*, hash<Key>, equal_to<Key>, @@ -229,7 +229,7 @@ class Map { InnerIt it_; }; - class LIBPROTOBUF_EXPORT iterator : public std::iterator<std::forward_iterator_tag, value_type> { + class iterator : public std::iterator<std::forward_iterator_tag, value_type> { typedef typename hash_map<Key, value_type*, hasher, equal_to<Key>, Allocator>::iterator InnerIt; @@ -428,7 +428,7 @@ class Map { internal::WireFormatLite::FieldType key_wire_type, internal::WireFormatLite::FieldType value_wire_type, int default_enum_value> - friend class LIBPROTOBUF_EXPORT internal::MapFieldLite; + friend class internal::MapFieldLite; }; } // namespace protobuf diff --git a/src/google/protobuf/map_entry.h b/src/google/protobuf/map_entry.h index f78a4f40..e93d0348 100644 --- a/src/google/protobuf/map_entry.h +++ b/src/google/protobuf/map_entry.h @@ -97,7 +97,7 @@ template <typename Key, typename Value, WireFormatLite::FieldType kKeyFieldType, WireFormatLite::FieldType kValueFieldType, int default_enum_value> -class LIBPROTOBUF_EXPORT MapEntry : public MapEntryBase { +class MapEntry : public MapEntryBase { // Handlers for key/value wire type. Provide utilities to parse/serialize // key/value. typedef MapWireFieldTypeHandler<kKeyFieldType> KeyWireHandler; @@ -274,8 +274,8 @@ class LIBPROTOBUF_EXPORT MapEntry : public MapEntryBase { typedef void DestructorSkippable_; template <typename K, typename V, WireFormatLite::FieldType k_wire_type, WireFormatLite::FieldType, int default_enum> - friend class LIBPROTOBUF_EXPORT internal::MapField; - friend class LIBPROTOBUF_EXPORT internal::GeneratedMessageReflection; + friend class internal::MapField; + friend class internal::GeneratedMessageReflection; GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MapEntry); }; diff --git a/src/google/protobuf/map_entry_lite.h b/src/google/protobuf/map_entry_lite.h index 2d11bea8..52746da5 100644 --- a/src/google/protobuf/map_entry_lite.h +++ b/src/google/protobuf/map_entry_lite.h @@ -60,7 +60,7 @@ template <typename Key, typename Value, WireFormatLite::FieldType kKeyFieldType, WireFormatLite::FieldType kValueFieldType, int default_enum_value> -class LIBPROTOBUF_EXPORT MapEntryLite : public MessageLite { +class MapEntryLite : public MessageLite { // Handlers for key/value wire type. Provide utilities to parse/serialize // key/value. typedef MapWireFieldTypeHandler<kKeyFieldType> KeyWireHandler; @@ -302,7 +302,7 @@ class LIBPROTOBUF_EXPORT MapEntryLite : public MessageLite { // only takes references of given key and value. template <typename K, typename V, WireFormatLite::FieldType k_wire_type, WireFormatLite::FieldType v_wire_type, int default_enum> - class LIBPROTOBUF_EXPORT MapEntryWrapper + class MapEntryWrapper : public MapEntryLite<K, V, k_wire_type, v_wire_type, default_enum> { typedef MapEntryLite<K, V, k_wire_type, v_wire_type, default_enum> Base; typedef typename Base::KeyCppType KeyCppType; @@ -336,7 +336,7 @@ class LIBPROTOBUF_EXPORT MapEntryLite : public MessageLite { // the temporary. template <typename K, typename V, WireFormatLite::FieldType k_wire_type, WireFormatLite::FieldType v_wire_type, int default_enum> - class LIBPROTOBUF_EXPORT MapEnumEntryWrapper + class MapEnumEntryWrapper : public MapEntryLite<K, V, k_wire_type, v_wire_type, default_enum> { typedef MapEntryLite<K, V, k_wire_type, v_wire_type, default_enum> Base; typedef typename Base::KeyCppType KeyCppType; @@ -357,7 +357,7 @@ class LIBPROTOBUF_EXPORT MapEntryLite : public MessageLite { const KeyCppType& key_; const ValCppType value_; - friend class LIBPROTOBUF_EXPORT google::protobuf::Arena; + friend class google::protobuf::Arena; typedef void DestructorSkippable_; }; @@ -396,10 +396,10 @@ class LIBPROTOBUF_EXPORT MapEntryLite : public MessageLite { typedef void DestructorSkippable_; template <typename K, typename V, WireFormatLite::FieldType, WireFormatLite::FieldType, int> - friend class LIBPROTOBUF_EXPORT internal::MapEntry; + friend class internal::MapEntry; template <typename K, typename V, WireFormatLite::FieldType, WireFormatLite::FieldType, int> - friend class LIBPROTOBUF_EXPORT internal::MapFieldLite; + friend class internal::MapFieldLite; GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MapEntryLite); }; diff --git a/src/google/protobuf/map_field.h b/src/google/protobuf/map_field.h index f3504f1b..902aefce 100644 --- a/src/google/protobuf/map_field.h +++ b/src/google/protobuf/map_field.h @@ -146,7 +146,7 @@ template <typename Key, typename T, WireFormatLite::FieldType kKeyFieldType, WireFormatLite::FieldType kValueFieldType, int default_enum_value = 0> -class LIBPROTOBUF_EXPORT MapField : public MapFieldBase, +class MapField : public MapFieldBase, public MapFieldLite<Key, T, kKeyFieldType, kValueFieldType, default_enum_value> { // Handlers for key/value wire type. Provide utilities to parse/serialize diff --git a/src/google/protobuf/map_field_lite.h b/src/google/protobuf/map_field_lite.h index 40322851..860dae55 100644 --- a/src/google/protobuf/map_field_lite.h +++ b/src/google/protobuf/map_field_lite.h @@ -45,7 +45,7 @@ template <typename Key, typename T, WireFormatLite::FieldType key_wire_type, WireFormatLite::FieldType value_wire_type, int default_enum_value = 0> -class LIBPROTOBUF_EXPORT MapFieldLite { +class MapFieldLite { // Define message type for internal repeated field. typedef MapEntryLite<Key, T, key_wire_type, value_wire_type, default_enum_value> EntryType; diff --git a/src/google/protobuf/stubs/strutil.h b/src/google/protobuf/stubs/strutil.h index 5faa81e0..397122ef 100644 --- a/src/google/protobuf/stubs/strutil.h +++ b/src/google/protobuf/stubs/strutil.h @@ -534,7 +534,7 @@ struct Hex { } }; -struct AlphaNum { +struct LIBPROTOBUF_EXPORT AlphaNum { const char *piece_data_; // move these to string_ref eventually size_t piece_size_; // move these to string_ref eventually @@ -610,23 +610,30 @@ using strings::AlphaNum; // be a reference into str. // ---------------------------------------------------------------------- -string StrCat(const AlphaNum &a, const AlphaNum &b); -string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum &c); -string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum &c, - const AlphaNum &d); -string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum &c, - const AlphaNum &d, const AlphaNum &e); -string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum &c, - const AlphaNum &d, const AlphaNum &e, const AlphaNum &f); -string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum &c, - const AlphaNum &d, const AlphaNum &e, const AlphaNum &f, - const AlphaNum &g); -string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum &c, - const AlphaNum &d, const AlphaNum &e, const AlphaNum &f, - const AlphaNum &g, const AlphaNum &h); -string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum &c, - const AlphaNum &d, const AlphaNum &e, const AlphaNum &f, - const AlphaNum &g, const AlphaNum &h, const AlphaNum &i); +LIBPROTOBUF_EXPORT string StrCat(const AlphaNum& a, const AlphaNum& b); +LIBPROTOBUF_EXPORT string StrCat(const AlphaNum& a, const AlphaNum& b, + const AlphaNum& c); +LIBPROTOBUF_EXPORT string StrCat(const AlphaNum& a, const AlphaNum& b, + const AlphaNum& c, const AlphaNum& d); +LIBPROTOBUF_EXPORT string StrCat(const AlphaNum& a, const AlphaNum& b, + const AlphaNum& c, const AlphaNum& d, + const AlphaNum& e); +LIBPROTOBUF_EXPORT string StrCat(const AlphaNum& a, const AlphaNum& b, + const AlphaNum& c, const AlphaNum& d, + const AlphaNum& e, const AlphaNum& f); +LIBPROTOBUF_EXPORT string StrCat(const AlphaNum& a, const AlphaNum& b, + const AlphaNum& c, const AlphaNum& d, + const AlphaNum& e, const AlphaNum& f, + const AlphaNum& g); +LIBPROTOBUF_EXPORT string StrCat(const AlphaNum& a, const AlphaNum& b, + const AlphaNum& c, const AlphaNum& d, + const AlphaNum& e, const AlphaNum& f, + const AlphaNum& g, const AlphaNum& h); +LIBPROTOBUF_EXPORT string StrCat(const AlphaNum& a, const AlphaNum& b, + const AlphaNum& c, const AlphaNum& d, + const AlphaNum& e, const AlphaNum& f, + const AlphaNum& g, const AlphaNum& h, + const AlphaNum& i); inline string StrCat(const AlphaNum& a) { return string(a.data(), a.size()); } @@ -651,12 +658,14 @@ inline string StrCat(const AlphaNum& a) { return string(a.data(), a.size()); } // worked around as consecutive calls to StrAppend are quite efficient. // ---------------------------------------------------------------------- -void StrAppend(string* dest, const AlphaNum& a); -void StrAppend(string* dest, const AlphaNum& a, const AlphaNum& b); -void StrAppend(string* dest, const AlphaNum& a, const AlphaNum& b, - const AlphaNum& c); -void StrAppend(string* dest, const AlphaNum& a, const AlphaNum& b, - const AlphaNum& c, const AlphaNum& d); +LIBPROTOBUF_EXPORT void StrAppend(string* dest, const AlphaNum& a); +LIBPROTOBUF_EXPORT void StrAppend(string* dest, const AlphaNum& a, + const AlphaNum& b); +LIBPROTOBUF_EXPORT void StrAppend(string* dest, const AlphaNum& a, + const AlphaNum& b, const AlphaNum& c); +LIBPROTOBUF_EXPORT void StrAppend(string* dest, const AlphaNum& a, + const AlphaNum& b, const AlphaNum& c, + const AlphaNum& d); // ---------------------------------------------------------------------- // Join() |