yrnkrn / zapcc

zapcc is a caching C++ compiler based on clang, designed to perform faster compilations
Other
1.25k stars 61 forks source link

Failed to Build on Windows: ninja config? Win10 #48

Closed chicken2006 closed 3 years ago

chicken2006 commented 3 years ago

C:\Users\ad.DESKTOP-7K71UP5\Downloads\zapcc\build>ninja [1/3181] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.obj FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.obj C:\PROGRA~1\MINGW-~1\X86_64~1.0-W\mingw64\bin\C~1.EXE -DGTEST_HAS_RTTI=0 -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -DSTDC_LIMIT_MACROS -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/include -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include -Wa,-mbig-obj -Werror=date-time -std=gnu++11 -w -O2 -DNDEBUG -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.obj -MF lib\Support\CMakeFiles\LLVMSupport.dir\Parallel.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.obj -c C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:10: C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:51:16: error: 'mutex' in namespace 'std' does not name a type mutable std::mutex Mutex; ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:51:11: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:21:1: +#include

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:51:11: mutable std::mutex Mutex; ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:52:16: error: 'condition_variable' in namespace 'std' does not name a type mutable std::condition_variable Cond; ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:52:11: note: 'std::condition_variable' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:21:1: +#include

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:52:11: mutable std::condition_variable Cond; ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h: In member function 'void llvm::parallel::detail::Latch::inc()': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:27: error: 'mutex' is not a member of 'std' std::unique_lock lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:27: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:32: error: template argument 1 is invalid std::unique_lock lock(Mutex); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:39: error: 'Mutex' was not declared in this scope std::unique_lock lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h: In member function 'void llvm::parallel::detail::Latch::dec()': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:27: error: 'mutex' is not a member of 'std' std::unique_lock lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:27: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:32: error: template argument 1 is invalid std::unique_lock lock(Mutex); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:39: error: 'Mutex' was not declared in this scope std::unique_lock lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:66:7: error: 'Cond' was not declared in this scope Cond.notify_all(); ^~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:66:7: note: suggested alternative: 'Count' Cond.notify_all(); ^~~~ Count C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h: In member function 'void llvm::parallel::detail::Latch::sync() const': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:27: error: 'mutex' is not a member of 'std' std::unique_lock lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:27: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:32: error: template argument 1 is invalid std::unique_lock lock(Mutex); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:39: error: 'Mutex' was not declared in this scope std::unique_lock lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:71:5: error: 'Cond' was not declared in this scope Cond.wait(lock, [&] { return Count == 0; }); ^~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:71:5: note: suggested alternative: 'Count' Cond.wait(lock, [&] { return Count == 0; }); ^~~~ Count C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: At global scope: C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:118:8: error: 'mutex' in namespace 'std' does not name a type std::mutex Mutex; ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:118:3: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:17:1: +#include

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:118:3: std::mutex Mutex; ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:119:8: error: 'condition_variable' in namespace 'std' does not name a type std::condition_variable Cond; ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:119:3: note: 'std::condition_variable' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:17:1: +#include

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:119:3: std::condition_variable Cond; ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In constructor '{anonymous}::ThreadPoolExecutor::ThreadPoolExecutor(unsigned int)': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:78:10: error: 'thread' is not a member of 'std' std::thread([&, ThreadCount] { ^~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:78:10: note: 'std::thread' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:17:1: +#include

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:78:10: std::thread([&, ThreadCount] { ^~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In lambda function: C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:80:14: error: 'thread' is not a member of 'std' std::thread([=] { work(); }).detach(); ^~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:80:14: note: 'std::thread' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In destructor 'virtual {anonymous}::ThreadPoolExecutor::~ThreadPoolExecutor()': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:27: error: 'mutex' is not a member of 'std' std::unique_lock Lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:27: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:32: error: template argument 1 is invalid std::unique_lock Lock(Mutex); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:39: error: 'Mutex' was not declared in this scope std::unique_lock Lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:89:10: error: request for member 'unlock' in 'Lock', which is of non-class type 'int' Lock.unlock(); ^~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:90:5: error: 'Cond' was not declared in this scope Cond.notify_all(); ^~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:90:5: note: suggested alternative: 'Done' Cond.notify_all(); ^~~~ Done C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In member function 'virtual void {anonymous}::ThreadPoolExecutor::add(std::function<void()>)': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:27: error: 'mutex' is not a member of 'std' std::unique_lock Lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:27: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:32: error: template argument 1 is invalid std::unique_lock Lock(Mutex); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:39: error: 'Mutex' was not declared in this scope std::unique_lock Lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:97:10: error: request for member 'unlock' in 'Lock', which is of non-class type 'int' Lock.unlock(); ^~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:98:5: error: 'Cond' was not declared in this scope Cond.notify_one(); ^~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:98:5: note: suggested alternative: 'Done' Cond.notify_one(); ^~~~ Done C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In member function 'void {anonymous}::ThreadPoolExecutor::work()': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:29: error: 'mutex' is not a member of 'std' std::unique_lock Lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:29: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:29: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:29: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:34: error: template argument 1 is invalid std::unique_lock Lock(Mutex); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:41: error: 'Mutex' was not declared in this scope std::unique_lock Lock(Mutex); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:105:7: error: 'Cond' was not declared in this scope Cond.wait(Lock, [&] { return Stop || !WorkStack.empty(); }); ^~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:105:7: note: suggested alternative: 'Done' Cond.wait(Lock, [&] { return Stop || !WorkStack.empty(); }); ^~~~ Done C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:110:12: error: request for member 'unlock' in 'Lock', which is of non-class type 'int' Lock.unlock(); ^~ [2/3181] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.obj FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.obj C:\PROGRA~1\MINGW-~1\X86_64~1.0-W\mingw64\bin\C~1.EXE -DGTEST_HAS_RTTI=0 -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -DSTDC_LIMIT_MACROS -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/include -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include -Wa,-mbig-obj -Werror=date-time -std=gnu++11 -w -O2 -DNDEBUG -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.obj -MF lib\Support\CMakeFiles\LLVMSupport.dir\ThreadPool.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.obj -c C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14: C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:27:14: error: 'thread' in namespace 'std' does not name a type typedef std::thread thread; ^~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:27:9: note: 'std::thread' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:25:1: +#include

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:27:9: typedef std::thread thread; ^~~ In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14: C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:21: error: 'thread' is not a member of 'llvm' std::vector Threads; ^~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:21: note: suggested alternative: 'ThreadPool' std::vector Threads; ^~ ThreadPool C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:21: error: 'thread' is not a member of 'llvm' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:21: note: suggested alternative: 'ThreadPool' std::vector Threads; ^~ ThreadPool C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:27: error: template argument 1 is invalid std::vector Threads; ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:27: error: template argument 2 is invalid C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:83:8: error: 'mutex' in namespace 'std' does not name a type std::mutex QueueLock; ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:83:3: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:27:1: +#include

include

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:83:3: std::mutex QueueLock; ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:84:8: error: 'condition_variable' in namespace 'std' does not name a type std::condition_variable QueueCondition; ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:84:3: note: 'std::condition_variable' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:27:1: +#include

include

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:84:3: std::condition_variable QueueCondition; ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:87:8: error: 'mutex' in namespace 'std' does not name a type std::mutex CompletionLock; ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:87:3: note: 'std::mutex' is defined in header ''; did you forget to '#include '? std::mutex CompletionLock; ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:88:8: error: 'condition_variable' in namespace 'std' does not name a type std::condition_variable CompletionCondition; ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:88:3: note: 'std::condition_variable' is defined in header ''; did you forget to '#include '? std::condition_variable CompletionCondition; ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:54:75: error: return type 'class std::shared_future' is incomplete inline std::shared_future async(Function &&F, Args &&... ArgList) { ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:63:55: error: return type 'class std::shared_future' is incomplete inline std::shared_future async(Function &&F) { ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In constructor 'llvm::ThreadPool::ThreadPool(unsigned int)': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:39:11: error: request for member 'reserve' in '((llvm::ThreadPool)this)->llvm::ThreadPool::Threads', which is of non-class type 'int' Threads.reserve(ThreadCount); ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:41:13: error: request for member 'emplace_back' in '((llvm::ThreadPool)this)->llvm::ThreadPool::Threads', which is of non-class type 'int' Threads.emplace_back([&] { ^~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In lambda function: C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:43:24: error: aggregate 'llvm::ThreadPool::PackagedTaskTy Task' has incomplete type and cannot be defined PackagedTaskTy Task; ^~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33: error: 'mutex' is not a member of 'std' std::unique_lock LockGuard(QueueLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:19:1: +#include

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33: std::unique_lock LockGuard(QueueLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:38: error: template argument 1 is invalid std::unique_lock LockGuard(QueueLock); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:50: error: 'QueueLock' was not declared in this scope std::unique_lock LockGuard(QueueLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:47:11: error: 'QueueCondition' was not declared in this scope QueueCondition.wait(LockGuard, ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:35: error: 'mutex' is not a member of 'std' std::unique_lock LockGuard(CompletionLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:35: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:35: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:35: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:40: error: template argument 1 is invalid std::unique_lock LockGuard(CompletionLock); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:52: error: 'CompletionLock' was not declared in this scope std::unique_lock LockGuard(CompletionLock); ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:33: error: 'mutex' is not a member of 'std' std::unique_lock LockGuard(CompletionLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:33: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:33: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:33: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:38: error: template argument 1 is invalid std::unique_lock LockGuard(CompletionLock); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:50: error: 'CompletionLock' was not declared in this scope std::unique_lock LockGuard(CompletionLock); ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:74:9: error: 'CompletionCondition' was not declared in this scope CompletionCondition.notify_all(); ^~~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In member function 'void llvm::ThreadPool::wait()': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:25: error: 'mutex' is not a member of 'std' std::unique_lock LockGuard(CompletionLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:25: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:25: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:25: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:30: error: template argument 1 is invalid std::unique_lock LockGuard(CompletionLock); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:42: error: 'CompletionLock' was not declared in this scope std::unique_lock LockGuard(CompletionLock); ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:86:3: error: 'CompletionCondition' was not declared in this scope CompletionCondition.wait(LockGuard, ^~~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: At global scope: C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:90:59: error: return type 'class std::shared_future' is incomplete std::shared_future ThreadPool::asyncImpl(TaskTy Task) { ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In member function 'void llvm::ThreadPool::asyncImpl(llvm::ThreadPool::TaskTy)': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:92:36: error: variable 'llvm::ThreadPool::PackagedTaskTy PackagedTask' has initializer but incomplete type PackagedTaskTy PackagedTask(std::move(Task)); ^~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:27: error: 'mutex' is not a member of 'std' std::unique_lock LockGuard(QueueLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:27: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:32: error: template argument 1 is invalid std::unique_lock LockGuard(QueueLock); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:44: error: 'QueueLock' was not declared in this scope std::unique_lock LockGuard(QueueLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:103:3: error: 'QueueCondition' was not declared in this scope QueueCondition.notify_one(); ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In destructor 'llvm::ThreadPool::~ThreadPool()': C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:27: error: 'mutex' is not a member of 'std' std::unique_lock LockGuard(QueueLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:27: error: 'mutex' is not a member of 'std' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:27: note: 'std::mutex' is defined in header ''; did you forget to '#include '? C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:32: error: template argument 1 is invalid std::unique_lock LockGuard(QueueLock); ^ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:44: error: 'QueueLock' was not declared in this scope std::unique_lock LockGuard(QueueLock); ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:113:3: error: 'QueueCondition' was not declared in this scope QueueCondition.notify_all(); ^~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:114:23: error: 'begin' was not declared in this scope for (auto &Worker : Threads) ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:114:23: note: suggested alternatives: In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:51, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tuple:39, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:37, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/memory:80, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/thread:39, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:24, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14: C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/range_access.h:87:5: note: 'std::begin' begin(_Tp (&arr)[_Nm]) ^~~~~ In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/utility:76, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:36, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/memory:80, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/thread:39, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:24, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14: C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/initializer_list:89:5: note: 'std::begin' begin(initializer_list<_Tp> __ils) noexcept ^~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:114:23: error: 'end' was not declared in this scope for (auto &Worker : Threads) ^~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:114:23: note: suggested alternatives: In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:51, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tuple:39, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:37, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/memory:80, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/thread:39, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:24, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14: C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/range_access.h:97:5: note: 'std::end' end(_Tp (&arr)[_Nm]) ^~~ In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/utility:76, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:36, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/memory:80, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/thread:39, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:24, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14: C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/initializer_list:99:5: note: 'std::end' end(initializer_list<_Tp> __ils) noexcept ^~~ In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/deque:64, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/queue:60, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:26, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14: C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h: In instantiation of 'void std::deque<_Tp, _Alloc>::_M_destroy_data(std::deque<_Tp, _Alloc>::iterator, std::deque<_Tp, _Alloc>::iterator, const std::allocator<_Tp1>&) [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >; std::deque<_Tp, _Alloc>::iterator = std::_Deque_iterator<std::packaged_task<void()>, std::packaged_task<void()>&, std::packaged_task<void()>*>]': C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:1055:9: required from 'std::deque<_Tp, _Alloc>::~deque() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]' C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_queue.h:96:11: required from here C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:2081:6: error: invalid use of incomplete type 'std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >::value_type' {aka 'class std::packaged_task<void()>'} if (!__has_trivial_destructor(value_type)) ^~~~~~~~~ In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:19, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14: C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/future:131:11: note: declaration of 'std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >::value_type' {aka 'class std::packaged_task<void()>'} class packaged_task; ^~~~~ In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/deque:64, from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/queue:60, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:26, from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14: C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h: In instantiation of 'void std::deque<_Tp, _Alloc>::pop_front() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]': C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_queue.h:287:2: required from 'void std::queue<_Tp, _Sequence>::pop() [with _Tp = std::packaged_task<void()>; _Sequence = std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >]' C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:62:21: required from here C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:1592:40: error: invalid use of incomplete type 'class std::packaged_task<void()>' != this->_M_impl._M_start._M_last - 1)


In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:19,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/future:131:11: note: declaration of 'class std::packaged_task<void()>'
     class packaged_task;
           ^~~~~~~~~~~~~
In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/deque:64,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/queue:60,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:26,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:1596:6: error: cannot increment a pointer to incomplete type 'std::packaged_task<void()>'
      ++this->_M_impl._M_start._M_cur;
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h: In instantiation of 'void std::_Deque_base<_Tp, _Alloc>::_M_initialize_map(std::size_t) [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >; std::size_t = long long unsigned int]':
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:493:9:   required from 'std::_Deque_base<_Tp, _Alloc>::_Deque_base() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:898:23:   required from 'std::deque<_Tp, _Alloc>::deque() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_queue.h:153:6:   required from 'std::queue<_Tp, _Sequence>::queue() [with _Seq = std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >; _Requires = void; _Tp = std::packaged_task<void()>; _Sequence = std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >]'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:36:40:   required from here
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:685:68: error: invalid application of 'sizeof' to incomplete type 'std::packaged_task<void()>'
       const size_t __num_nodes = (__num_elements/ __deque_buf_size(sizeof(_Tp))
                                                                    ^~~~~~~~~~~
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:716:25: error: invalid application of 'sizeof' to incomplete type 'std::packaged_task<void()>'
      % __deque_buf_size(sizeof(_Tp)));
                         ^~~~~~~~~~~
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h: In instantiation of 'void std::_Deque_base<_Tp, _Alloc>::_M_deallocate_node(std::_Deque_base<_Tp, _Alloc>::_Ptr) [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >; std::_Deque_base<_Tp, _Alloc>::_Ptr = std::packaged_task<void()>*]':
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:744:2:   required from 'void std::_Deque_base<_Tp, _Alloc>::_M_destroy_nodes(std::_Deque_base<_Tp, _Alloc>::_Map_pointer, std::_Deque_base<_Tp, _Alloc>::_Map_pointer) [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >; std::_Deque_base<_Tp, _Alloc>::_Map_pointer = std::packaged_task<void()>**]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:666:4:   required from 'std::_Deque_base<_Tp, _Alloc>::~_Deque_base() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:1055:65:   required from 'std::deque<_Tp, _Alloc>::~deque() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_queue.h:96:11:   required from here
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:610:53: error: invalid application of 'sizeof' to incomplete type 'std::packaged_task<void()>'
  _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp)));
                                                     ^~~~~~~~~~~
[3/3181] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-W\mingw64\bin\C__~1.EXE -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/include -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include -Wa,-mbig-obj -Werror=date-time -std=gnu++11 -w  -O2 -DNDEBUG  -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj -MF lib\Support\CMakeFiles\LLVMSupport.dir\ErrorHandling.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj -c C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:60:13: error: 'mutex' in namespace 'std' does not name a type
 static std::mutex ErrorHandlerMutex;
             ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:60:8: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:34:1:
+#include <mutex>
 #endif
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:60:8:
 static std::mutex ErrorHandlerMutex;
        ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:61:13: error: 'mutex' in namespace 'std' does not name a type
 static std::mutex BadAllocErrorHandlerMutex;
             ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:61:8: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
 static std::mutex BadAllocErrorHandlerMutex;
        ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::install_fatal_error_handler(llvm::fatal_error_handler_t, void*)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:24: error: 'mutex' is not a member of 'std'
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:24: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:29: error: template argument 1 is invalid
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                             ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:36: error: 'ErrorHandlerMutex' was not declared in this scope
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:36: note: suggested alternative: 'ErrorHandler'
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~
                                    ErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::remove_fatal_error_handler()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:24: error: 'mutex' is not a member of 'std'
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:24: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:29: error: template argument 1 is invalid
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                             ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:36: error: 'ErrorHandlerMutex' was not declared in this scope
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:36: note: suggested alternative: 'ErrorHandler'
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~
                                    ErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::report_fatal_error(const llvm::Twine&, bool)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:26: error: 'mutex' is not a member of 'std'
     std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                          ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:26: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:26: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:26: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:31: error: template argument 1 is invalid
     std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                               ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:38: error: 'ErrorHandlerMutex' was not declared in this scope
     std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                      ^~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:38: note: suggested alternative: 'ErrorHandler'
     std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                      ^~~~~~~~~~~~~~~~~
                                      ErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::install_bad_alloc_error_handler(llvm::fatal_error_handler_t, void*)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:24: error: 'mutex' is not a member of 'std'
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:24: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:29: error: template argument 1 is invalid
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                             ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:36: error: 'BadAllocErrorHandlerMutex' was not declared in this scope
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:36: note: suggested alternative: 'BadAllocErrorHandler'
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
                                    BadAllocErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::remove_bad_alloc_error_handler()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:24: error: 'mutex' is not a member of 'std'
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:24: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:29: error: template argument 1 is invalid
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                             ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:36: error: 'BadAllocErrorHandlerMutex' was not declared in this scope
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:36: note: suggested alternative: 'BadAllocErrorHandler'
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
                                    BadAllocErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::report_bad_alloc_error(const char*, bool)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:26: error: 'mutex' is not a member of 'std'
     std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                          ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:26: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:26: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:26: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:31: error: template argument 1 is invalid
     std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                               ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:38: error: 'BadAllocErrorHandlerMutex' was not declared in this scope
     std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:38: note: suggested alternative: 'BadAllocErrorHandler'
     std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~
                                      BadAllocErrorHandler
[8/3181] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.obj
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-W\mingw64\bin\C__~1.EXE -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/include -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include -Wa,-mbig-obj -Werror=date-time -std=gnu++11 -w  -O2 -DNDEBUG  -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.obj -MF lib\Support\CMakeFiles\LLVMSupport.dir\Threading.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.obj -c C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp: In function 'unsigned int llvm::heavyweight_hardware_concurrency()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp:72:17: error: 'std::thread' has not been declared
     return std::thread::hardware_concurrency();
                 ^~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp: In function 'unsigned int llvm::hardware_concurrency()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp:83:27: error: 'std::thread' has not been declared
   if (unsigned Val = std::thread::hardware_concurrency())
                           ^~~~~~
[10/3181] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenTarget.cpp.obj
ninja: build stopped: subcommand failed.

C:\Users\ad.DESKTOP-7K71UP5\Downloads\zapcc\build>
C:\Users\ad.DESKTOP-7K71UP5\Downloads\zapcc\build>ninja check-all
[1/3502] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.obj
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-W\mingw64\bin\C__~1.EXE -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/include -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include -Wa,-mbig-obj -Werror=date-time -std=gnu++11 -w  -O2 -DNDEBUG  -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.obj -MF lib\Support\CMakeFiles\LLVMSupport.dir\Parallel.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.obj -c C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp
In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:10:
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:51:16: error: 'mutex' in namespace 'std' does not name a type
   mutable std::mutex Mutex;
                ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:51:11: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:21:1:
+#include <mutex>

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:51:11:
   mutable std::mutex Mutex;
           ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:52:16: error: 'condition_variable' in namespace 'std' does not name a type
   mutable std::condition_variable Cond;
                ^~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:52:11: note: 'std::condition_variable' is defined in header '<condition_variable>'; did you forget to '#include <condition_variable>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:21:1:
+#include <condition_variable>

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:52:11:
   mutable std::condition_variable Cond;
           ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h: In member function 'void llvm::parallel::detail::Latch::inc()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:27: error: 'mutex' is not a member of 'std'
     std::unique_lock<std::mutex> lock(Mutex);
                           ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:27: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:32: error: template argument 1 is invalid
     std::unique_lock<std::mutex> lock(Mutex);
                                ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:59:39: error: 'Mutex' was not declared in this scope
     std::unique_lock<std::mutex> lock(Mutex);
                                       ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h: In member function 'void llvm::parallel::detail::Latch::dec()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:27: error: 'mutex' is not a member of 'std'
     std::unique_lock<std::mutex> lock(Mutex);
                           ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:27: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:32: error: template argument 1 is invalid
     std::unique_lock<std::mutex> lock(Mutex);
                                ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:64:39: error: 'Mutex' was not declared in this scope
     std::unique_lock<std::mutex> lock(Mutex);
                                       ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:66:7: error: 'Cond' was not declared in this scope
       Cond.notify_all();
       ^~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:66:7: note: suggested alternative: 'Count'
       Cond.notify_all();
       ^~~~
       Count
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h: In member function 'void llvm::parallel::detail::Latch::sync() const':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:27: error: 'mutex' is not a member of 'std'
     std::unique_lock<std::mutex> lock(Mutex);
                           ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:27: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:32: error: template argument 1 is invalid
     std::unique_lock<std::mutex> lock(Mutex);
                                ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:70:39: error: 'Mutex' was not declared in this scope
     std::unique_lock<std::mutex> lock(Mutex);
                                       ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:71:5: error: 'Cond' was not declared in this scope
     Cond.wait(lock, [&] { return Count == 0; });
     ^~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/Parallel.h:71:5: note: suggested alternative: 'Count'
     Cond.wait(lock, [&] { return Count == 0; });
     ^~~~
     Count
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: At global scope:
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:118:8: error: 'mutex' in namespace 'std' does not name a type
   std::mutex Mutex;
        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:118:3: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:17:1:
+#include <mutex>

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:118:3:
   std::mutex Mutex;
   ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:119:8: error: 'condition_variable' in namespace 'std' does not name a type
   std::condition_variable Cond;
        ^~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:119:3: note: 'std::condition_variable' is defined in header '<condition_variable>'; did you forget to '#include <condition_variable>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:17:1:
+#include <condition_variable>

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:119:3:
   std::condition_variable Cond;
   ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In constructor '{anonymous}::ThreadPoolExecutor::ThreadPoolExecutor(unsigned int)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:78:10: error: 'thread' is not a member of 'std'
     std::thread([&, ThreadCount] {
          ^~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:78:10: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:17:1:
+#include <thread>

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:78:10:
     std::thread([&, ThreadCount] {
          ^~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In lambda function:
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:80:14: error: 'thread' is not a member of 'std'
         std::thread([=] { work(); }).detach();
              ^~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:80:14: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In destructor 'virtual {anonymous}::ThreadPoolExecutor::~ThreadPoolExecutor()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:27: error: 'mutex' is not a member of 'std'
     std::unique_lock<std::mutex> Lock(Mutex);
                           ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:27: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:32: error: template argument 1 is invalid
     std::unique_lock<std::mutex> Lock(Mutex);
                                ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:87:39: error: 'Mutex' was not declared in this scope
     std::unique_lock<std::mutex> Lock(Mutex);
                                       ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:89:10: error: request for member 'unlock' in 'Lock', which is of non-class type 'int'
     Lock.unlock();
          ^~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:90:5: error: 'Cond' was not declared in this scope
     Cond.notify_all();
     ^~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:90:5: note: suggested alternative: 'Done'
     Cond.notify_all();
     ^~~~
     Done
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In member function 'virtual void {anonymous}::ThreadPoolExecutor::add(std::function<void()>)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:27: error: 'mutex' is not a member of 'std'
     std::unique_lock<std::mutex> Lock(Mutex);
                           ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:27: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:32: error: template argument 1 is invalid
     std::unique_lock<std::mutex> Lock(Mutex);
                                ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:95:39: error: 'Mutex' was not declared in this scope
     std::unique_lock<std::mutex> Lock(Mutex);
                                       ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:97:10: error: request for member 'unlock' in 'Lock', which is of non-class type 'int'
     Lock.unlock();
          ^~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:98:5: error: 'Cond' was not declared in this scope
     Cond.notify_one();
     ^~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:98:5: note: suggested alternative: 'Done'
     Cond.notify_one();
     ^~~~
     Done
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp: In member function 'void {anonymous}::ThreadPoolExecutor::work()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:29: error: 'mutex' is not a member of 'std'
       std::unique_lock<std::mutex> Lock(Mutex);
                             ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:29: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:29: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:29: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:34: error: template argument 1 is invalid
       std::unique_lock<std::mutex> Lock(Mutex);
                                  ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:104:41: error: 'Mutex' was not declared in this scope
       std::unique_lock<std::mutex> Lock(Mutex);
                                         ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:105:7: error: 'Cond' was not declared in this scope
       Cond.wait(Lock, [&] { return Stop || !WorkStack.empty(); });
       ^~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:105:7: note: suggested alternative: 'Done'
       Cond.wait(Lock, [&] { return Stop || !WorkStack.empty(); });
       ^~~~
       Done
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:110:12: error: request for member 'unlock' in 'Lock', which is of non-class type 'int'
       Lock.unlock();
            ^~~~~~
[2/3502] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.obj
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-W\mingw64\bin\C__~1.EXE -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/include -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include -Wa,-mbig-obj -Werror=date-time -std=gnu++11 -w  -O2 -DNDEBUG  -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.obj -MF lib\Support\CMakeFiles\LLVMSupport.dir\ThreadPool.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.obj -c C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp
In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:27:14: error: 'thread' in namespace 'std' does not name a type
 typedef std::thread thread;
              ^~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:27:9: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:25:1:
+#include <thread>

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:27:9:
 typedef std::thread thread;
         ^~~
In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:21: error: 'thread' is not a member of 'llvm'
   std::vector<llvm::thread> Threads;
                     ^~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:21: note: suggested alternative: 'ThreadPool'
   std::vector<llvm::thread> Threads;
                     ^~~~~~
                     ThreadPool
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:21: error: 'thread' is not a member of 'llvm'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:21: note: suggested alternative: 'ThreadPool'
   std::vector<llvm::thread> Threads;
                     ^~~~~~
                     ThreadPool
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:27: error: template argument 1 is invalid
   std::vector<llvm::thread> Threads;
                           ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:27: error: template argument 2 is invalid
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:83:8: error: 'mutex' in namespace 'std' does not name a type
   std::mutex QueueLock;
        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:83:3: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:27:1:
+#include <mutex>
 #include <utility>
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:83:3:
   std::mutex QueueLock;
   ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:84:8: error: 'condition_variable' in namespace 'std' does not name a type
   std::condition_variable QueueCondition;
        ^~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:84:3: note: 'std::condition_variable' is defined in header '<condition_variable>'; did you forget to '#include <condition_variable>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:27:1:
+#include <condition_variable>
 #include <utility>
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:84:3:
   std::condition_variable QueueCondition;
   ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:87:8: error: 'mutex' in namespace 'std' does not name a type
   std::mutex CompletionLock;
        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:87:3: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
   std::mutex CompletionLock;
   ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:88:8: error: 'condition_variable' in namespace 'std' does not name a type
   std::condition_variable CompletionCondition;
        ^~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:88:3: note: 'std::condition_variable' is defined in header '<condition_variable>'; did you forget to '#include <condition_variable>'?
   std::condition_variable CompletionCondition;
   ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:54:75: error: return type 'class std::shared_future<void>' is incomplete
   inline std::shared_future<void> async(Function &&F, Args &&... ArgList) {
                                                                           ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:63:55: error: return type 'class std::shared_future<void>' is incomplete
   inline std::shared_future<void> async(Function &&F) {
                                                       ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In constructor 'llvm::ThreadPool::ThreadPool(unsigned int)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:39:11: error: request for member 'reserve' in '((llvm::ThreadPool*)this)->llvm::ThreadPool::Threads', which is of non-class type 'int'
   Threads.reserve(ThreadCount);
           ^~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:41:13: error: request for member 'emplace_back' in '((llvm::ThreadPool*)this)->llvm::ThreadPool::Threads', which is of non-class type 'int'
     Threads.emplace_back([&] {
             ^~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In lambda function:
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:43:24: error: aggregate 'llvm::ThreadPool::PackagedTaskTy Task' has incomplete type and cannot be defined
         PackagedTaskTy Task;
                        ^~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33: error: 'mutex' is not a member of 'std'
           std::unique_lock<std::mutex> LockGuard(QueueLock);
                                 ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:19:1:
+#include <mutex>

C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33:
           std::unique_lock<std::mutex> LockGuard(QueueLock);
                                 ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:33: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:38: error: template argument 1 is invalid
           std::unique_lock<std::mutex> LockGuard(QueueLock);
                                      ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:45:50: error: 'QueueLock' was not declared in this scope
           std::unique_lock<std::mutex> LockGuard(QueueLock);
                                                  ^~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:47:11: error: 'QueueCondition' was not declared in this scope
           QueueCondition.wait(LockGuard,
           ^~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:35: error: 'mutex' is not a member of 'std'
             std::unique_lock<std::mutex> LockGuard(CompletionLock);
                                   ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:35: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:40: error: template argument 1 is invalid
             std::unique_lock<std::mutex> LockGuard(CompletionLock);
                                        ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:58:52: error: 'CompletionLock' was not declared in this scope
             std::unique_lock<std::mutex> LockGuard(CompletionLock);
                                                    ^~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:33: error: 'mutex' is not a member of 'std'
           std::unique_lock<std::mutex> LockGuard(CompletionLock);
                                 ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:33: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:33: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:33: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:38: error: template argument 1 is invalid
           std::unique_lock<std::mutex> LockGuard(CompletionLock);
                                      ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:69:50: error: 'CompletionLock' was not declared in this scope
           std::unique_lock<std::mutex> LockGuard(CompletionLock);
                                                  ^~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:74:9: error: 'CompletionCondition' was not declared in this scope
         CompletionCondition.notify_all();
         ^~~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In member function 'void llvm::ThreadPool::wait()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:25: error: 'mutex' is not a member of 'std'
   std::unique_lock<std::mutex> LockGuard(CompletionLock);
                         ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:25: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:25: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:25: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:30: error: template argument 1 is invalid
   std::unique_lock<std::mutex> LockGuard(CompletionLock);
                              ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:82:42: error: 'CompletionLock' was not declared in this scope
   std::unique_lock<std::mutex> LockGuard(CompletionLock);
                                          ^~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:86:3: error: 'CompletionCondition' was not declared in this scope
   CompletionCondition.wait(LockGuard,
   ^~~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: At global scope:
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:90:59: error: return type 'class std::shared_future<void>' is incomplete
 std::shared_future<void> ThreadPool::asyncImpl(TaskTy Task) {
                                                           ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In member function 'void llvm::ThreadPool::asyncImpl(llvm::ThreadPool::TaskTy)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:92:36: error: variable 'llvm::ThreadPool::PackagedTaskTy PackagedTask' has initializer but incomplete type
   PackagedTaskTy PackagedTask(std::move(Task));
                                    ^~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:27: error: 'mutex' is not a member of 'std'
     std::unique_lock<std::mutex> LockGuard(QueueLock);
                           ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:27: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:32: error: template argument 1 is invalid
     std::unique_lock<std::mutex> LockGuard(QueueLock);
                                ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:96:44: error: 'QueueLock' was not declared in this scope
     std::unique_lock<std::mutex> LockGuard(QueueLock);
                                            ^~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:103:3: error: 'QueueCondition' was not declared in this scope
   QueueCondition.notify_one();
   ^~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp: In destructor 'llvm::ThreadPool::~ThreadPool()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:27: error: 'mutex' is not a member of 'std'
     std::unique_lock<std::mutex> LockGuard(QueueLock);
                           ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:27: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:27: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:32: error: template argument 1 is invalid
     std::unique_lock<std::mutex> LockGuard(QueueLock);
                                ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:110:44: error: 'QueueLock' was not declared in this scope
     std::unique_lock<std::mutex> LockGuard(QueueLock);
                                            ^~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:113:3: error: 'QueueCondition' was not declared in this scope
   QueueCondition.notify_all();
   ^~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:114:23: error: 'begin' was not declared in this scope
   for (auto &Worker : Threads)
                       ^~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:114:23: note: suggested alternatives:
In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:51,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tuple:39,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:37,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/memory:80,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/thread:39,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:24,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/range_access.h:87:5: note:   'std::begin'
     begin(_Tp (&__arr)[_Nm])
     ^~~~~
In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/utility:76,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:36,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/memory:80,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/thread:39,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:24,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/initializer_list:89:5: note:   'std::begin'
     begin(initializer_list<_Tp> __ils) noexcept
     ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:114:23: error: 'end' was not declared in this scope
   for (auto &Worker : Threads)
                       ^~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:114:23: note: suggested alternatives:
In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:51,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tuple:39,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:37,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/memory:80,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/thread:39,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:24,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/range_access.h:97:5: note:   'std::end'
     end(_Tp (&__arr)[_Nm])
     ^~~
In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/utility:76,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:36,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/memory:80,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/thread:39,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/thread.h:24,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:17,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/initializer_list:99:5: note:   'std::end'
     end(initializer_list<_Tp> __ils) noexcept
     ^~~
In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/deque:64,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/queue:60,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:26,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h: In instantiation of 'void std::deque<_Tp, _Alloc>::_M_destroy_data(std::deque<_Tp, _Alloc>::iterator, std::deque<_Tp, _Alloc>::iterator, const std::allocator<_Tp1>&) [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >; std::deque<_Tp, _Alloc>::iterator = std::_Deque_iterator<std::packaged_task<void()>, std::packaged_task<void()>&, std::packaged_task<void()>*>]':
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:1055:9:   required from 'std::deque<_Tp, _Alloc>::~deque() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_queue.h:96:11:   required from here
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:2081:6: error: invalid use of incomplete type 'std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >::value_type' {aka 'class std::packaged_task<void()>'}
  if (!__has_trivial_destructor(value_type))
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:19,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/future:131:11: note: declaration of 'std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >::value_type' {aka 'class std::packaged_task<void()>'}
     class packaged_task;
           ^~~~~~~~~~~~~
In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/deque:64,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/queue:60,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:26,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h: In instantiation of 'void std::deque<_Tp, _Alloc>::pop_front() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]':
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_queue.h:287:2:   required from 'void std::queue<_Tp, _Sequence>::pop() [with _Tp = std::packaged_task<void()>; _Sequence = std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >]'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:62:21:   required from here
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:1592:40: error: invalid use of incomplete type 'class std::packaged_task<void()>'
      != this->_M_impl._M_start._M_last - 1)
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:19,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/future:131:11: note: declaration of 'class std::packaged_task<void()>'
     class packaged_task;
           ^~~~~~~~~~~~~
In file included from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/deque:64,
                 from C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/queue:60,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:26,
                 from C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:14:
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:1596:6: error: cannot increment a pointer to incomplete type 'std::packaged_task<void()>'
      ++this->_M_impl._M_start._M_cur;
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h: In instantiation of 'void std::_Deque_base<_Tp, _Alloc>::_M_initialize_map(std::size_t) [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >; std::size_t = long long unsigned int]':
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:493:9:   required from 'std::_Deque_base<_Tp, _Alloc>::_Deque_base() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:898:23:   required from 'std::deque<_Tp, _Alloc>::deque() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_queue.h:153:6:   required from 'std::queue<_Tp, _Sequence>::queue() [with _Seq = std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >; _Requires = void; _Tp = std::packaged_task<void()>; _Sequence = std::deque<std::packaged_task<void()>, std::allocator<std::packaged_task<void()> > >]'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ThreadPool.cpp:36:40:   required from here
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:685:68: error: invalid application of 'sizeof' to incomplete type 'std::packaged_task<void()>'
       const size_t __num_nodes = (__num_elements/ __deque_buf_size(sizeof(_Tp))
                                                                    ^~~~~~~~~~~
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:716:25: error: invalid application of 'sizeof' to incomplete type 'std::packaged_task<void()>'
      % __deque_buf_size(sizeof(_Tp)));
                         ^~~~~~~~~~~
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h: In instantiation of 'void std::_Deque_base<_Tp, _Alloc>::_M_deallocate_node(std::_Deque_base<_Tp, _Alloc>::_Ptr) [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >; std::_Deque_base<_Tp, _Alloc>::_Ptr = std::packaged_task<void()>*]':
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:744:2:   required from 'void std::_Deque_base<_Tp, _Alloc>::_M_destroy_nodes(std::_Deque_base<_Tp, _Alloc>::_Map_pointer, std::_Deque_base<_Tp, _Alloc>::_Map_pointer) [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >; std::_Deque_base<_Tp, _Alloc>::_Map_pointer = std::packaged_task<void()>**]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:666:4:   required from 'std::_Deque_base<_Tp, _Alloc>::~_Deque_base() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:1055:65:   required from 'std::deque<_Tp, _Alloc>::~deque() [with _Tp = std::packaged_task<void()>; _Alloc = std::allocator<std::packaged_task<void()> >]'
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_queue.h:96:11:   required from here
C:/PROGRA~1/MINGW-~1/X86_64~1.0-W/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_deque.h:610:53: error: invalid application of 'sizeof' to incomplete type 'std::packaged_task<void()>'
  _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp)));
                                                     ^~~~~~~~~~~
[3/3502] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-W\mingw64\bin\C__~1.EXE -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/include -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include -Wa,-mbig-obj -Werror=date-time -std=gnu++11 -w  -O2 -DNDEBUG  -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj -MF lib\Support\CMakeFiles\LLVMSupport.dir\ErrorHandling.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj -c C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:60:13: error: 'mutex' in namespace 'std' does not name a type
 static std::mutex ErrorHandlerMutex;
             ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:60:8: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:34:1:
+#include <mutex>
 #endif
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:60:8:
 static std::mutex ErrorHandlerMutex;
        ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:61:13: error: 'mutex' in namespace 'std' does not name a type
 static std::mutex BadAllocErrorHandlerMutex;
             ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:61:8: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
 static std::mutex BadAllocErrorHandlerMutex;
        ^~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::install_fatal_error_handler(llvm::fatal_error_handler_t, void*)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:24: error: 'mutex' is not a member of 'std'
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:24: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:29: error: template argument 1 is invalid
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                             ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:36: error: 'ErrorHandlerMutex' was not declared in this scope
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:67:36: note: suggested alternative: 'ErrorHandler'
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~
                                    ErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::remove_fatal_error_handler()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:24: error: 'mutex' is not a member of 'std'
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:24: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:29: error: template argument 1 is invalid
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                             ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:36: error: 'ErrorHandlerMutex' was not declared in this scope
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:76:36: note: suggested alternative: 'ErrorHandler'
   std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~
                                    ErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::report_fatal_error(const llvm::Twine&, bool)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:26: error: 'mutex' is not a member of 'std'
     std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                          ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:26: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:26: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:26: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:31: error: template argument 1 is invalid
     std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                               ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:38: error: 'ErrorHandlerMutex' was not declared in this scope
     std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                      ^~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:101:38: note: suggested alternative: 'ErrorHandler'
     std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
                                      ^~~~~~~~~~~~~~~~~
                                      ErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::install_bad_alloc_error_handler(llvm::fatal_error_handler_t, void*)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:24: error: 'mutex' is not a member of 'std'
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:24: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:29: error: template argument 1 is invalid
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                             ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:36: error: 'BadAllocErrorHandlerMutex' was not declared in this scope
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:132:36: note: suggested alternative: 'BadAllocErrorHandler'
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
                                    BadAllocErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::remove_bad_alloc_error_handler()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:24: error: 'mutex' is not a member of 'std'
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                        ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:24: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:24: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:29: error: template argument 1 is invalid
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                             ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:36: error: 'BadAllocErrorHandlerMutex' was not declared in this scope
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:141:36: note: suggested alternative: 'BadAllocErrorHandler'
   std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
                                    BadAllocErrorHandler
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::report_bad_alloc_error(const char*, bool)':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:26: error: 'mutex' is not a member of 'std'
     std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                          ^~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:26: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:26: error: 'mutex' is not a member of 'std'
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:26: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:31: error: template argument 1 is invalid
     std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                               ^
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:38: error: 'BadAllocErrorHandlerMutex' was not declared in this scope
     std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/ErrorHandling.cpp:154:38: note: suggested alternative: 'BadAllocErrorHandler'
     std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~
                                      BadAllocErrorHandler
[6/3502] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.obj
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.obj
C:\PROGRA~1\MINGW-~1\X86_64~1.0-W\mingw64\bin\C__~1.EXE -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/include -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include -Wa,-mbig-obj -Werror=date-time -std=gnu++11 -w  -O2 -DNDEBUG  -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.obj -MF lib\Support\CMakeFiles\LLVMSupport.dir\Threading.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.obj -c C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp: In function 'unsigned int llvm::heavyweight_hardware_concurrency()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp:72:17: error: 'std::thread' has not been declared
     return std::thread::hardware_concurrency();
                 ^~~~~~
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp: In function 'unsigned int llvm::hardware_concurrency()':
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Threading.cpp:83:27: error: 'std::thread' has not been declared
   if (unsigned Val = std::thread::hardware_concurrency())
                           ^~~~~~
[10/3502] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/GlobalISelEmitter.cpp.obj
ninja: build stopped: subcommand failed.
yrnkrn commented 3 years ago

Try using mingw with pthreads support.

chicken2006 commented 3 years ago

I install mingw with pthreads support but it doesn't work.

yrnkrn commented 3 years ago

Maybe you have more than one mingw installed and build is picking the wrong one?

chicken2006 commented 3 years ago

I don't know where my problem is. I install posix-thread and win32-thread and posix-thread on PATH.

yrnkrn commented 3 years ago

Build may be picking the wrong one. Try removing completely the win32-thread version, ninja clean and rebuild.

chicken2006 commented 3 years ago

another error: C:\Users\ad.DESKTOP-7K71UP5\Downloads\zapcc\build>ninja [208/3309] Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Globals.cpp.obj FAILED: lib/IR/CMakeFiles/LLVMCore.dir/Globals.cpp.obj C:\PROGRA~1\MINGW-~1\X86_64~1.0-P\mingw64\bin\C~1.EXE -DGTEST_HAS_RTTI=0 -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -DSTDC_LIMIT_MACROS -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/lib/IR -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/IR -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/build/include -IC:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include -Wa,-mbig-obj -Werror=date-time -std=gnu++11 -w -O2 -DNDEBUG -fno-exceptions -fno-rtti -MD -MT lib/IR/CMakeFiles/LLVMCore.dir/Globals.cpp.obj -MF lib\IR\CMakeFiles\LLVMCore.dir\Globals.cpp.obj.d -o lib/IR/CMakeFiles/LLVMCore.dir/Globals.cpp.obj -c C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/IR/Globals.cpp C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/IR/Globals.cpp:37:35: error: static assertion failed: unexpected GlobalValue size growth static_assert(sizeof(GlobalValue) ==

                   sizeof(Constant) + 3 * sizeof(void *) + 2 * sizeof(unsigned),

[217/3309] Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/LLVMContextImpl.cpp.obj ninja: build stopped: subcommand failed.

yrnkrn commented 3 years ago

zapcc had not been updated in a while, maybe mingw is too new the last mingw version I tested was: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z/download

chicken2006 commented 3 years ago

my mingw is x86_64-8.1.0-release-posix-seh-rt_v6-rev0. So it isn't too new.

yrnkrn commented 3 years ago

Could you upload the error text as preformatted, it will display correctly without strike-through?

chicken2006 commented 3 years ago

Screenshot (24)

yrnkrn commented 3 years ago

I see now. These are issues #24 and #37. For now, the only option is to use the 32 bit target of mingw-w64. Or if you have time cherry pick https://bugs.llvm.org/show_bug.cgi?id=38168