[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-09 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-09 Thread Martin Storsjö via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-08 Thread Martin Storsjö via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread via cfe-commits
@@ -2632,6 +2632,27 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( return; } + if (TargetTriple.isWindowsCygwinEnvironment()) { +static const char *const CygwinX86Triples[] = {"i686-pc-cygwin", +

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread via 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/3] [Clang] [Driver] add a Cygwin ToolChain Add a new Cygwin

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread Fangrui Song via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread Fangrui Song via cfe-commits
@@ -2632,6 +2632,27 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( return; } + if (TargetTriple.isWindowsCygwinEnvironment()) { +static const char *const CygwinX86Triples[] = {"i686-pc-cygwin", +

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread Fangrui Song via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread Fangrui Song via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-06 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-01 Thread Mateusz Mikuła via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-01 Thread Martin Storsjö via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-05-01 Thread Mateusz Mikuła via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-24 Thread Martin Storsjö via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-23 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-23 Thread Martin Storsjö via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-23 Thread Martin Storsjö via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-23 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-23 Thread Martin Storsjö via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-23 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-23 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread Brad Smith via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread Brad Smith via cfe-commits
@@ -180,35 +170,14 @@ bool InitHeaderSearch::AddUnmappedPath(const Twine &Path, IncludeDirGroup Group, return false; } -void InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(StringRef Base, - StringRef Arch, -

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread Martin Storsjö via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via cfe-commits
@@ -180,35 +170,14 @@ bool InitHeaderSearch::AddUnmappedPath(const Twine &Path, IncludeDirGroup Group, return false; } -void InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(StringRef Base, - StringRef Arch, -

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread Martin Storsjö via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread Martin Storsjö via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread Martin Storsjö via 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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread Martin Storsjö via cfe-commits
@@ -180,35 +170,14 @@ bool InitHeaderSearch::AddUnmappedPath(const Twine &Path, IncludeDirGroup Group, return false; } -void InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(StringRef Base, - StringRef Arch, -

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-22 Thread Martin Storsjö via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-16 Thread via 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] [Clang] [Driver] add a Cygwin ToolChain Add a new Cygwin too

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-16 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-16 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-16 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-16 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-15 Thread via cfe-commits
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/

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-15 Thread Mateusz Mikuła via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-15 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-14 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-14 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-14 Thread via cfe-commits
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

[clang] [Clang] [Driver] add a Cygwin ToolChain (PR #135691)

2025-04-14 Thread via cfe-commits
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