https://github.com/cvspvr created 
https://github.com/llvm/llvm-project/pull/150398

I wasn't able to build lldb using Mingw-w64 on Windows without changing these 3 
lines.

Sorry for opening another pull request. I closed the old one because I don't 
know how to update it to fix the Clang formatting errors.


>From e03e5b5840ba0ee95faa62ee0863a52f11fcc030 Mon Sep 17 00:00:00 2001
From: cvspvr <37761007+cvs...@users.noreply.github.com>
Date: Thu, 24 Jul 2025 17:15:01 +1000
Subject: [PATCH 1/3] Update MainLoopWindows.cpp

Added include atomic to avoid incomplete type 'std::atomic<bool>' error.
---
 lldb/source/Host/windows/MainLoopWindows.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lldb/source/Host/windows/MainLoopWindows.cpp 
b/lldb/source/Host/windows/MainLoopWindows.cpp
index a1de895c0ba98..c1a018238432d 100644
--- a/lldb/source/Host/windows/MainLoopWindows.cpp
+++ b/lldb/source/Host/windows/MainLoopWindows.cpp
@@ -14,6 +14,7 @@
 #include "llvm/Config/llvm-config.h"
 #include "llvm/Support/WindowsError.h"
 #include <algorithm>
+#include <atomic>
 #include <cassert>
 #include <ctime>
 #include <io.h>

>From 4d86086959654b60b931e682835471617887820a Mon Sep 17 00:00:00 2001
From: cvspvr <37761007+cvs...@users.noreply.github.com>
Date: Thu, 24 Jul 2025 17:16:09 +1000
Subject: [PATCH 2/3] Update PipeWindows.cpp

Changed ceil to std::chrono::ceil to avoid  expected primary-expression before 
'>' token error.
---
 lldb/source/Host/windows/PipeWindows.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lldb/source/Host/windows/PipeWindows.cpp 
b/lldb/source/Host/windows/PipeWindows.cpp
index 0b495fff69dfa..3b2152e405737 100644
--- a/lldb/source/Host/windows/PipeWindows.cpp
+++ b/lldb/source/Host/windows/PipeWindows.cpp
@@ -279,7 +279,7 @@ llvm::Expected<size_t> PipeWindows::Read(void *buf, size_t 
size,
     return Status(failure_error, eErrorTypeWin32).takeError();
 
   DWORD timeout_msec =
-      timeout ? ceil<std::chrono::milliseconds>(*timeout).count() : INFINITE;
+      timeout ? std::chrono::ceil<std::chrono::milliseconds>(*timeout).count() 
: INFINITE;
   DWORD wait_result =
       ::WaitForSingleObject(m_read_overlapped.hEvent, timeout_msec);
   if (wait_result != WAIT_OBJECT_0) {
@@ -324,7 +324,7 @@ llvm::Expected<size_t> PipeWindows::Write(const void *buf, 
size_t size,
     return Status(failure_error, eErrorTypeWin32).takeError();
 
   DWORD timeout_msec =
-      timeout ? ceil<std::chrono::milliseconds>(*timeout).count() : INFINITE;
+      timeout ? std::chrono::ceil<std::chrono::milliseconds>(*timeout).count() 
: INFINITE;
   DWORD wait_result =
       ::WaitForSingleObject(m_write_overlapped.hEvent, timeout_msec);
   if (wait_result != WAIT_OBJECT_0) {

>From 31a0e470b302a7ac45f09f07f515284c7995d8d7 Mon Sep 17 00:00:00 2001
From: cvspvr <cs...@outlook.com>
Date: Thu, 24 Jul 2025 20:04:55 +1000
Subject: [PATCH 3/3] Update PipeWindows.cpp

---
 lldb/source/Host/windows/PipeWindows.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lldb/source/Host/windows/PipeWindows.cpp 
b/lldb/source/Host/windows/PipeWindows.cpp
index 3b2152e405737..001396fafde04 100644
--- a/lldb/source/Host/windows/PipeWindows.cpp
+++ b/lldb/source/Host/windows/PipeWindows.cpp
@@ -279,7 +279,8 @@ llvm::Expected<size_t> PipeWindows::Read(void *buf, size_t 
size,
     return Status(failure_error, eErrorTypeWin32).takeError();
 
   DWORD timeout_msec =
-      timeout ? std::chrono::ceil<std::chrono::milliseconds>(*timeout).count() 
: INFINITE;
+      timeout ? std::chrono::ceil<std::chrono::milliseconds>(*timeout).count()
+              : INFINITE;
   DWORD wait_result =
       ::WaitForSingleObject(m_read_overlapped.hEvent, timeout_msec);
   if (wait_result != WAIT_OBJECT_0) {
@@ -324,7 +325,8 @@ llvm::Expected<size_t> PipeWindows::Write(const void *buf, 
size_t size,
     return Status(failure_error, eErrorTypeWin32).takeError();
 
   DWORD timeout_msec =
-      timeout ? std::chrono::ceil<std::chrono::milliseconds>(*timeout).count() 
: INFINITE;
+      timeout ? std::chrono::ceil<std::chrono::milliseconds>(*timeout).count()
+              : INFINITE;
   DWORD wait_result =
       ::WaitForSingleObject(m_write_overlapped.hEvent, timeout_msec);
   if (wait_result != WAIT_OBJECT_0) {

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to