76 lines
2.7 KiB
Diff
76 lines
2.7 KiB
Diff
From bca1b4bcfb86ea371071993064b49aa5577e3f4a Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= <oss@mateuszmikula.dev>
|
|
Date: Fri, 2 May 2025 10:07:15 +0200
|
|
Subject: [PATCH] [Clang][Cygwin] Remove erroneous _WIN32 define and clean up
|
|
Cygwin code (#138120)
|
|
|
|
With this define present and building with Clang the build fails:
|
|
```
|
|
In file included from /h/projects/llvm-project/clang/tools/libclang/CIndexer.cpp:36:
|
|
In file included from /usr/include/w32api/windows.h:69:
|
|
In file included from /usr/include/w32api/windef.h:9:
|
|
In file included from /usr/include/w32api/minwindef.h:163:
|
|
In file included from /usr/include/w32api/winnt.h:1658:
|
|
In file included from /usr/lib/clang/20/include/x86intrin.h:15:
|
|
In file included from /usr/lib/clang/20/include/immintrin.h:24:
|
|
In file included from /usr/lib/clang/20/include/xmmintrin.h:31:
|
|
/usr/lib/clang/20/include/mm_malloc.h:45:22: error: use of undeclared identifier '_aligned_malloc'; did you mean 'aligned_alloc'?
|
|
45 | __mallocedMemory = _aligned_malloc(__size, __align);
|
|
| ^
|
|
```
|
|
Removing it allows the build with Clang to succeed and doesn't break
|
|
build with GCC.
|
|
|
|
The "#define _WIN32" was originally "#define LLVM_ON_WIN32", but this
|
|
was changed into a plain "#define _WIN32" (which not necessarily is
|
|
something that is supported to do) in
|
|
1865df49960e34cc90d0083b0e0cd4771c0feb35 as part of a larger
|
|
refactoring.
|
|
|
|
This cygwin specific code isn't needed for converting paths anymore, as
|
|
dladdr takes care of it. (dladdr was added to cygwin in 2017, according
|
|
to the tags in version 2.8.0.)
|
|
|
|
Co-authored-by: Jeremy Drake <github@jdrake.com>
|
|
---
|
|
clang/tools/libclang/CIndexer.cpp | 16 ----------------
|
|
1 file changed, 16 deletions(-)
|
|
|
|
diff --git a/clang/tools/libclang/CIndexer.cpp b/clang/tools/libclang/CIndexer.cpp
|
|
index 12d9d418de..11d9312b64 100644
|
|
--- a/clang/tools/libclang/CIndexer.cpp
|
|
+++ b/clang/tools/libclang/CIndexer.cpp
|
|
@@ -26,12 +26,6 @@
|
|
#include <cstdio>
|
|
#include <mutex>
|
|
|
|
-#ifdef __CYGWIN__
|
|
-#include <cygwin/version.h>
|
|
-#include <sys/cygwin.h>
|
|
-#define _WIN32 1
|
|
-#endif
|
|
-
|
|
#ifdef _WIN32
|
|
#include <windows.h>
|
|
#elif defined(_AIX)
|
|
@@ -112,16 +106,6 @@ const std::string &CIndexer::getClangResourcesPath() {
|
|
sizeof(mbi));
|
|
GetModuleFileNameA((HINSTANCE)mbi.AllocationBase, path, MAX_PATH);
|
|
|
|
-#ifdef __CYGWIN__
|
|
- char w32path[MAX_PATH];
|
|
- strcpy(w32path, path);
|
|
-#if CYGWIN_VERSION_API_MAJOR > 0 || CYGWIN_VERSION_API_MINOR >= 181
|
|
- cygwin_conv_path(CCP_WIN_A_TO_POSIX, w32path, path, MAX_PATH);
|
|
-#else
|
|
- cygwin_conv_to_full_posix_path(w32path, path);
|
|
-#endif
|
|
-#endif
|
|
-
|
|
LibClangPath += path;
|
|
#elif defined(_AIX)
|
|
getClangResourcesPathImplAIX(LibClangPath);
|
|
--
|
|
2.50.1.windows.1
|
|
|