Closed chicken2006 closed 3 years ago
Try using mingw with pthreads support.
I install mingw with pthreads support but it doesn't work.
Maybe you have more than one mingw installed and build is picking the wrong one?
I don't know where my problem is. I install posix-thread and win32-thread and posix-thread on PATH.
Build may be picking the wrong one. Try removing completely the win32-thread version, ninja clean and rebuild.
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.
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
my mingw is x86_64-8.1.0-release-posix-seh-rt_v6-rev0. So it isn't too new.
Could you upload the error text as preformatted, it will display correctly without strike-through?
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
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; ^'; 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: note: 'std::condition_variable' is defined in header '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; ^'; 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: note: 'std::condition_variable' is defined in header '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] { ^'; 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: note: 'std::thread' is defined in header 'C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/lib/Support/Parallel.cpp:78:10: std::thread([&, ThreadCount] { ^'; 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();
^ 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();
^ 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();
^'; 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/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 '~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~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~[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 '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;
^ Threads;
^ Threads;
^ 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
~C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:21: note: suggested alternative: 'ThreadPool' std::vector~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~ThreadPool C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:77:27: error: template argument 1 is invalid std::vectorinclude
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; ^'; did you forget to '#include '?
C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:27:1:
+#include
~~~~~ C:/Users/ad.DESKTOP-7K71UP5/Downloads/zapcc/llvm/include/llvm/Support/ThreadPool.h:84:3: note: 'std::condition_variable' is defined in header '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;
^'; 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);
^ 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/include/llvm/Support/ThreadPool.h:88:3: note: 'std::condition_variable' is defined in header '~~ 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_lockC:/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);
^ 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);
^ 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);
^ 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);
^' 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);
^ 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: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~~~~~ 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~~~~~ 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~~~~~ 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~~~~ 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~~~~ 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)