jeremyd2019 wrote:
I think next on this would be to hook up so that it can call ld directly.
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-co
https://github.com/mstorsjo approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mstorsjo closed
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,109 @@
+//===--- Cygwin.cpp - Cygwin ToolChain Implementations --*- C++
-*-===//
jeremyd2019 wrote:
Like so?
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 949ec2a683faf53652b21a4c90206befa498bf4e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH 1/4] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin
@@ -2632,6 +2632,27 @@ void
Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
return;
}
+ if (TargetTriple.isWindowsCygwinEnvironment()) {
+static const char *const CygwinX86Triples[] = {"i686-pc-cygwin",
+
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 949ec2a683faf53652b21a4c90206befa498bf4e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH 1/3] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin
https://github.com/jeremyd2019 edited
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,109 @@
+//===--- Cygwin.cpp - Cygwin ToolChain Implementations --*- C++
-*-===//
MaskRay wrote:
In new code, can remove the comments per the updated
https://llvm.org/docs/CodingStandards.html#file-headers
https://github.com/llvm/llvm-project
@@ -2632,6 +2632,27 @@ void
Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
return;
}
+ if (TargetTriple.isWindowsCygwinEnvironment()) {
+static const char *const CygwinX86Triples[] = {"i686-pc-cygwin",
+
https://github.com/MaskRay commented:
LGTM. But I hope folks more familiar with Windows can take a look.
Can you describe the support triples in the description and state why we need
the msys ones?
(Wow, MSYS and Cygwin... familiar names! I used them back in 2009, but then I
made the switch to
https://github.com/MaskRay edited
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
jeremyd2019 wrote:
Ping @MaskRay
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mati865 edited
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,77 @@
+// RUN: %clang -### %s --target=i686-pc-windows-cygnus
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN: -resource-dir=%S/Inputs/resource_dir \
+// RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK %s
+// CHECK: "-cc1"
+// CHECK-SAME: "-resour
@@ -0,0 +1,77 @@
+// RUN: %clang -### %s --target=i686-pc-windows-cygnus
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN: -resource-dir=%S/Inputs/resource_dir \
+// RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK %s
+// CHECK: "-cc1"
+// CHECK-SAME: "-resour
https://github.com/mstorsjo edited
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,77 @@
+// RUN: %clang -### %s --target=i686-pc-windows-cygnus
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN: -resource-dir=%S/Inputs/resource_dir \
+// RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK %s
+// CHECK: "-cc1"
+// CHECK-SAME: "-resour
@@ -0,0 +1,77 @@
+// RUN: %clang -### %s --target=i686-pc-windows-cygnus
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN: -resource-dir=%S/Inputs/resource_dir \
+// RUN: --stdlib=platform 2>&1 | FileCheck --check-prefix=CHECK %s
+// CHECK: "-cc1"
+// CHECK-SAME: "-resour
https://github.com/mstorsjo commented:
I think the test looks good, thanks!
I'd still want @MaskRay to ack this change before approving it though, as
adding a new toolchain driver is a notable change.
https://github.com/llvm/llvm-project/pull/135691
jeremyd2019 wrote:
It did turn out to be just one more slash issue. Test is passing now on
Windows (and Linux, and Cygwin itself)
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.l
mstorsjo wrote:
> I'm fighting the tests on Windows - the hurd test I started from had `//
> UNSUPPORTED: system-windows` at the top, probably because they weren't
> interested in messing around with backslashes and .exe extensions. I don't
> know if the cross test will work right for the path
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 949ec2a683faf53652b21a4c90206befa498bf4e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH 1/2] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin
jeremyd2019 wrote:
I'm fighting the tests on Windows - the hurd test I started from had `//
UNSUPPORTED: system-windows` at the top, probably because they weren't
interested in messing around with backslashes and .exe extensions. I don't
know if the cross test will work right for the path to
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 949ec2a683faf53652b21a4c90206befa498bf4e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH 1/2] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 949ec2a683faf53652b21a4c90206befa498bf4e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH 1/2] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 949ec2a683faf53652b21a4c90206befa498bf4e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH 1/2] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin
jeremyd2019 wrote:
I tried to exercise both the -msys and -cygwin directory structures in these
tests - I alternated between i686 and x86_64 in the normal and cross basic
trees.
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing
https://github.com/jeremyd2019 edited
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 949ec2a683faf53652b21a4c90206befa498bf4e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH 1/2] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin
https://github.com/brad0 edited https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 949ec2a683faf53652b21a4c90206befa498bf4e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH 1/2] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin
jeremyd2019 wrote:
> > I don't have experience with llvm's test suite though, but if it's just a
> > matter of adding additional cases to existing tests or maybe copying some
> > existing tests I might be OK figuring it out.
>
> Yeah it's usually not that hard to figure out. A couple general p
@@ -180,35 +170,14 @@ bool InitHeaderSearch::AddUnmappedPath(const Twine &Path,
IncludeDirGroup Group,
return false;
}
-void InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(StringRef Base,
- StringRef Arch,
-
jeremyd2019 wrote:
> I see that that patch also contains some similar cleanups to
> InitHeaderSearch.cpp - do these patches share some common ancestry (e.g. some
> cygwin specific clang patchsets that have been floating around somewhere?).
No, I wasn't aware of that PR, I noticed that using Ge
mstorsjo wrote:
> To me, the general theory is that Cygwin is more UNIXy than Windowsy, so I
> based this off of actually the Hurd.h/cpp (as it had pretty limited amounts
> of special cases).
Sounds like a reasonable guess. In practice it's probably somewhere inbetween,
and which side ends up
jeremyd2019 wrote:
To me, the general theory is that Cygwin is more UNIXy than Windowsy, so I
based this off of actually the Hurd.h/cpp (as it had pretty limited amounts of
special cases).
It looks to me like the #74933 PR followed the from-scratch ToolChain idea, and
that probably accounts f
@@ -180,35 +170,14 @@ bool InitHeaderSearch::AddUnmappedPath(const Twine &Path,
IncludeDirGroup Group,
return false;
}
-void InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(StringRef Base,
- StringRef Arch,
-
https://github.com/jeremyd2019 edited
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mstorsjo wrote:
Oh, also, what's the tradeoff between having this extend the `Generic_GCC`
driver, vs doing a plain from-scratch implementation that extents the
`ToolChain` base class like the `MinGW` driver does? I guess that it's a
smaller step to just tweak `Generic_GCC`, not requiring all
mstorsjo wrote:
Adding @MaskRay as the Clang Driver maintainer.
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mstorsjo edited
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -180,35 +170,14 @@ bool InitHeaderSearch::AddUnmappedPath(const Twine &Path,
IncludeDirGroup Group,
return false;
}
-void InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(StringRef Base,
- StringRef Arch,
-
https://github.com/mstorsjo commented:
What test coverage do we have for targeting cygwin with clang right now? Do we
have enough tests to make sure that this is a refactoring, so things work
mostly like before, but with better structured code? If not, we should probably
add some sort of minim
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 949ec2a683faf53652b21a4c90206befa498bf4e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin too
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From df6e55b21f2eca0d62c9c306fd0d00280f578861 Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin too
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 95196a22017a40fb3392661a0d0635bab81c825e Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin too
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From de135831a6c21ae48863f8867107753f865f29f2 Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin too
jeremyd2019 wrote:
Ooh, I just noticed the "hack-cygwin-use-proper-EH-model.patch" patch would
also be properly situated in the ToolChains/Cygwin.cpp file.
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists
jeremyd2019 wrote:
I don't have rights to push/merge. (I seem to remember being asked to mention
this in the past)
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/
mati865 wrote:
So this is basically `hack: dynamically resolve G++ include dir` and `hack: add
system search paths` from
https://github.com/mati865/llvm-project/commits/cygwin-more-fixes/ but done the
proper way.
It will take a few more changes to get everything working, but this is a good
s
https://github.com/jeremyd2019 created
https://github.com/llvm/llvm-project/pull/135691
Add a new Cygwin toolchain that just goes through the motions to initialize the
Generic_GCC base properly. This allows removing some old, almost certainly
wrong hard-coded paths from Lex/InitHeaderSearch.c
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: None (jeremyd2019)
Changes
Add a new Cygwin toolchain that just goes through the motions to initialize the
Generic_GCC base properly. This allows removing some old, almost certainly
wrong hard-coded paths from Lex/InitHeaderSearch.cpp
T
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 7bb8bc392d2ea0a0deabb69117da3305ac3137af Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin too
https://github.com/jeremyd2019 updated
https://github.com/llvm/llvm-project/pull/135691
>From 7f71c0f13661ea7ad1d6798e790463eedf1bb225 Mon Sep 17 00:00:00 2001
From: Jeremy Drake
Date: Mon, 14 Apr 2025 10:37:59 -0700
Subject: [PATCH] [Clang] [Driver] add a Cygwin ToolChain
Add a new Cygwin too
github-actions[bot] wrote:
:warning: C/C++ code formatter, clang-format found issues in your code.
:warning:
You can test this locally with the following command:
``bash
git-clang-format --diff HEAD~1 HEAD --extensions cpp,h --
clang/lib/Driver/ToolChains/Cygwin.cpp clang/lib/Dr
56 matches
Mail list logo