aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf
diff options
context:
space:
mode:
authorGravatar Craig Donner <cdonner@google.com>2015-11-24 15:07:09 -0800
committerGravatar Craig Donner <cdonner@google.com>2015-11-24 15:07:18 -0800
commit8e869f76275253726da5a712de4d4a1b4de22ca2 (patch)
treedc246ba8c22bbde4c7ea31f2626ea60e8e5dc816 /src/google/protobuf
parentb640f216a56ae25aab9a1fc6f21aa1a56c304494 (diff)
Adds support for buliding protobuf with emscripten; we just needed the proper platform define used in the right place.
Diffstat (limited to 'src/google/protobuf')
-rw-r--r--src/google/protobuf/map.h4
-rw-r--r--src/google/protobuf/stubs/platform_macros.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/google/protobuf/map.h b/src/google/protobuf/map.h
index 52fba603..4bd76f25 100644
--- a/src/google/protobuf/map.h
+++ b/src/google/protobuf/map.h
@@ -546,7 +546,9 @@ class Map {
}
#if __cplusplus >= 201103L && !defined(GOOGLE_PROTOBUF_OS_APPLE) && \
- !defined(GOOGLE_PROTOBUF_OS_NACL) && !defined(GOOGLE_PROTOBUF_OS_ANDROID)
+ !defined(GOOGLE_PROTOBUF_OS_NACL) && \
+ !defined(GOOGLE_PROTOBUF_OS_ANDROID) && \
+ !defined(GOOGLE_PROTOBUF_OS_EMSCRIPTEN)
template<class NodeType, class... Args>
void construct(NodeType* p, Args&&... args) {
new (static_cast<void*>(p)) NodeType(std::forward<Args>(args)...);
diff --git a/src/google/protobuf/stubs/platform_macros.h b/src/google/protobuf/stubs/platform_macros.h
index 338d22f0..5cde8f4e 100644
--- a/src/google/protobuf/stubs/platform_macros.h
+++ b/src/google/protobuf/stubs/platform_macros.h
@@ -97,6 +97,8 @@ GOOGLE_PROTOBUF_PLATFORM_ERROR
#if TARGET_OS_IPHONE
#define GOOGLE_PROTOBUF_OS_IPHONE
#endif
+#elif defined(__EMSCRIPTEN__)
+#define GOOGLE_PROTOBUF_OS_EMSCRIPTEN
#elif defined(__native_client__)
#define GOOGLE_PROTOBUF_OS_NACL
#elif defined(sun)