Bruce Mitchener, Jr.: Port to emscripten.  Fixes http://llvm.org/bugs/show_bug.cgi?id=15624.

llvm-svn: 178354
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 9cb970074fb76f3507b0b97ef371308f3c384042
diff --git a/src/thread.cpp b/src/thread.cpp
index 6355002..c6f6748 100644
--- a/src/thread.cpp
+++ b/src/thread.cpp
@@ -67,7 +67,7 @@
     std::size_t s = sizeof(n);
     sysctl(mib, 2, &n, &s, 0, 0);
     return n;
-#elif defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) && defined(_SC_NPROCESSORS_ONLN)
+#elif (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) && defined(_SC_NPROCESSORS_ONLN)) || defined(EMSCRIPTEN)
     long result = sysconf(_SC_NPROCESSORS_ONLN);
     // sysconf returns -1 if the name is invalid, the option does not exist or
     // does not have a definite limit.