Patch contributed by Dev Dude for mingw64 port.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@162188 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/thread b/include/thread
index b6b7000..d81e853 100644
--- a/include/thread
+++ b/include/thread
@@ -227,7 +227,7 @@
     _LIBCPP_INLINE_VISIBILITY
     __thread_id(pthread_t __id) : __id_(__id) {}
 
-    friend __thread_id this_thread::get_id();
+    friend __thread_id this_thread::get_id() _NOEXCEPT;
     friend class _LIBCPP_VISIBLE thread;
     friend struct _LIBCPP_VISIBLE hash<__thread_id>;
 };
diff --git a/src/memory.cpp b/src/memory.cpp
index 1c108b8..3884a2b 100644
--- a/src/memory.cpp
+++ b/src/memory.cpp
@@ -119,6 +119,8 @@
 
 #endif  // _LIBCPP_NO_RTTI
 
+#if __has_feature(cxx_atomic)
+
 static const std::size_t __sp_mut_count = 16;
 static mutex mut_back[__sp_mut_count];
 
@@ -162,6 +164,7 @@
     return muts[hash<const void*>()(p) & (__sp_mut_count-1)];
 }
 
+#endif // __has_feature(cxx_atomic)
 
 void
 declare_reachable(void*)