Merge pull request #1317 from benvanik/patch-1

Fixing compilation error when building with emscripten.
diff --git a/src/google/protobuf/map.h b/src/google/protobuf/map.h
index 37e19b0..8319938 100644
--- a/src/google/protobuf/map.h
+++ b/src/google/protobuf/map.h
@@ -545,7 +545,9 @@
     }
 
 #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) {
       // Clang 3.6 doesn't compile static casting to void* directly. (Issue #1266)