[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-07 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Yes, that's why I said that your patch must be elaborated and check for the presence of `-isysroot`, since the internal variable may come from other settings. https://github.com/llvm/llvm-project/pull/80524 ___ cfe-commits mailing

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-07 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: If, for any reason, you need the SDK path to be the first in the search list, I suggest you add an extra condition, the explicit presence of the `-isysroot`, since it looks like the `Sysroot` variable may come from other configuration definitions.

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-07 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > I am suspicious of SDKROOT maybe being in the environment. Can you check if > your environment is providing that value under the hood? I checked and there is no SDKROOT in the environment. https://github.com/llvm/llvm-project/pull/80524

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-07 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: I did a test with this patch, and, as expected, the resulting behaviour is wrong. The verbose build of a hello-world test resulted in: ``` [/Users/ilg/Work/xpack-dev-tools-build/clang-18.1.0-1/darwin-x64/application/bin/clang++ simple-hello.cpp -o simple-hello-cpp-one -v -v]

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-07 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Sorry, the discussion went too specific for me :-( But after taking a quick look, my impression is that this change reverses the bug fixed in https://github.com/llvm/llvm-project/pull/70817. To recap, that PR preferred the C++ headers available in the toolchain distribution

[clang] [clang] Match -isysroot behaviour with system compiler on Darwin (PR #80524)

2024-02-03 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > they change the behaviour you introduced in > https://github.com/llvm/llvm-project/pull/70817 when -isysroot is provided. I need to take a closer look, since at first reading I can't evaluate the consequences, especially if this does change the behaviour when -isysroot is

[clang] [Driver, test] Remove -v from mkdir & ln -s from a test since it fails on AIX (PR #72924)

2023-11-20 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Is there a page documenting these tags? https://github.com/llvm/llvm-project/pull/72924 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Driver, test] Remove -v from mkdir & ln -s from a test since it fails on AIX (PR #72924)

2023-11-20 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Great! Thank you! https://github.com/llvm/llvm-project/pull/72924 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Driver, test] Remove -v from mkdir & ln -s from a test since it fails on AIX (PR #72924)

2023-11-20 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Thank you @MaskRay for correcting the title and for the approval. Please also merge it when possible. https://github.com/llvm/llvm-project/pull/72924 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [Driver, test] Remove -v from mkdir & ln -s from a test since it fails on AIX (PR #72924)

2023-11-20 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/72924 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Remove -v from mkdir & ln -s from a test since it fails on ppc64 (PR #72924)

2023-11-20 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: @ldionne, could you take a look? This should fix the bug introduced by the previous PR. https://github.com/llvm/llvm-project/pull/72924 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-20 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: I opened https://github.com/llvm/llvm-project/pull/72924 to fix this bug. https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Remove -v from mkdir & ln -s from a test since it fails on ppc64 (PR #72924)

2023-11-20 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul created https://github.com/llvm/llvm-project/pull/72924 The PR https://github.com/llvm/llvm-project/pull/70817 introduced a small bug, the tests failed on ppc64 with: ``` RUN: at line 186: mkdir -pv

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-20 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: The ppc64 build failed with: ``` RUN: at line 186: mkdir -pv /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/Driver/Output/darwin-header-search-libcxx.cpp.tmp/install/bin + mkdir -pv

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-20 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Thank you, Louis @ldionne, I highly appreciate your help! https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-16 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: The CI passed. Do we need a second review, or the PR can be merged? https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-16 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > assuming CI passes It passed on my Mac, let's hope that the CI will pass too. But, not related to this PR, on my Mac, I always had several test failing: ``` Failed Tests (7): Clang :: Driver/baremetal.cpp Clang :: Driver/csky-toolchain.c Clang ::

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-16 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 01/18] Add \/../include/c++/v1 to include path On macOS, when

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-15 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: @ldionne, do you agree with the current changes? Since your request for changes currently blocks this PR. https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: I pushed a new test that copies `clang` to a local `install` folder, to avoid creating folders in the build location. The Linux build passed. Any other comments? https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 01/17] Add \/../include/c++/v1 to include path On macOS, when

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
@@ -172,3 +172,20 @@ // RUN: --check-prefix=CHECK-LIBCXX-STDLIB-UNSPECIFIED %s // CHECK-LIBCXX-STDLIB-UNSPECIFIED: "-cc1" // CHECK-LIBCXX-STDLIB-UNSPECIFIED: "-internal-isystem" "[[SYSROOT]]/usr/include/c++/v1" + +// Reproduce the xPack use case; there must be

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
@@ -2494,6 +2494,19 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs( << "\"\n"; } +// Check for the folder where the executable is located, if different. +if (getDriver().getInstalledDir() != getDriver().Dir) { + InstallBin =

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: After several more attempts I identified the reason for the failure: the folder structure in the build location does not include the `bin/../include/c++/v1` folder required for this to work: ``` clang version 18.0.0 (https://github.com/llvm-premerge-tests/llvm-project.git

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 01/16] Add \/../include/c++/v1 to include path On macOS, when

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 01/15] Add \/../include/c++/v1 to include path On macOS, when

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 01/14] Add \/../include/c++/v1 to include path On macOS, when

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 01/13] Add \/../include/c++/v1 to include path On macOS, when

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 01/12] Add \/../include/c++/v1 to include path On macOS, when

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-13 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 01/11] Add \/../include/c++/v1 to include path On macOS, when

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-12 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 01/10] Add \/../include/c++/v1 to include path On macOS, when

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-12 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: I tried to write the test, but after several atempts I was not able to properly check the paths... :-( @ldionne, do you have any suggestions on how to fix the test? https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-12 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 1/9] Add \/../include/c++/v1 to include path On macOS, when clang

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-12 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 1/8] Add \/../include/c++/v1 to include path On macOS, when clang

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-12 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 1/7] Add \/../include/c++/v1 to include path On macOS, when clang

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-12 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 1/6] Add \/../include/c++/v1 to include path On macOS, when clang

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-12 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 1/5] Add \/../include/c++/v1 to include path On macOS, when clang

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-10 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 1/4] Add \/../include/c++/v1 to include path On macOS, when clang

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-10 Thread Liviu Ionescu via cfe-commits
@@ -2494,6 +2494,19 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs( << "\"\n"; } +// Check for the folder where the executable is located, if different. +if (getDriver().getInstalledDir() != getDriver().Dir) { + InstallBin =

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-10 Thread Liviu Ionescu via cfe-commits
@@ -2494,6 +2494,19 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs( << "\"\n"; } +// Check for the folder where the executable is located, if different. ilg-ul wrote: Done. https://github.com/llvm/llvm-project/pull/70817

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-10 Thread Liviu Ionescu via cfe-commits
@@ -2494,6 +2494,19 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs( << "\"\n"; ilg-ul wrote: Done. https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-10 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/70817 >From 7fbc229ee7316d826517480ee7896c91dad941f3 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 31 Oct 2023 17:09:04 +0200 Subject: [PATCH 1/3] Add \/../include/c++/v1 to include path On macOS, when clang

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-08 Thread Liviu Ionescu via cfe-commits
@@ -2494,6 +2494,19 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs( << "\"\n"; } +// Check for the folder where the executable is located, if different. +if (getDriver().getInstalledDir() != getDriver().Dir) { + InstallBin =

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-08 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Can someone review this patch? Exactly the same strategy (check if the desired subfolder is below `InstalledDir`, and, if not, check again below `Dir`), so this patch is consistent with the rest of the code. https://github.com/llvm/llvm-project/pull/70817

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-02 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Then can this bug fix be accepted? Are there any other solutions? https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-01 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Can you clearly state why you are against this PR? You don't consider the current behaviour of silently using the wrong headers a bug, or the proposed solution is not correct? https://github.com/llvm/llvm-project/pull/70817 ___

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-11-01 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > for your use case, can you stick symlinks in to preserve that toolchain > folder structure relative to the ~/tmp/clang++ symlink? i.e. make that > ~/tmp/bin/clang++ -> > /Users/ilg/Library/xPacks/@xpack-dev-tools/clang/15.0.7-3.1/.content/bin/clang-15 > and add ~/tmp/lib ->

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-10-31 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > Is there any reason why we don't just use Dir all the time? That's a good question. There was a long discussion in #68091, and my understanding is that, for compatibility reasons, the current behaviour must be preserved. > What's the difference between those two? `Dir` is

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-10-31 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > Only one of `Dir`/`InstalledDir` should be used The current behaviour is: - if `InstalledDir/../include/c++/v1` exists, it is used - otherwise the `MacOSX.sdk/usr/include/c++/v1` is used. In most cases, when invoked via a link, there is no `include` in that folder (see the

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-10-31 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: @Endilll, @AaronBallman, @bjope, @mstorsjo, this is a cleanup of a previous PR (#68091) where you contributed. Could you take a second look? https://github.com/llvm/llvm-project/pull/70817 ___ cfe-commits mailing list

[clang] [clang][driver] Add \/../include/c++/v1 to include path on Darwin (PR #70817)

2023-10-31 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul created https://github.com/llvm/llvm-project/pull/70817 On macOS, when clang is invoked via a symlink, since the InstalledDir is where the link is located, the C++ headers are not identified and the default system headers are used. ```console % ln -s

[llvm] [clang] [clang-tools-extra] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-31 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul closed https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang-tools-extra] [clang] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-31 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/68091 >From f3812174546270051c4a2903b9a99408bf5b7ba0 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 3 Oct 2023 14:07:48 +0300 Subject: [PATCH 1/6] [clang][driver] Use platform specific calls to get the

[clang] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: @jansvoboda11, as Martin showed before, Apple clang did not fix this, so this patch applies to it too. https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Any suggestions how to proceed from here? https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: The Linux tests were fine, but the Windows tests failed in `Interpreter/const.cpp`, which does not seem to be related to my patch. https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: The latest patch fixes the issue #66704 without changing the meaning of InstalledDir. It is specific to macOS headers, the libraries were ok. I also checked the other places where `installedDir` is used, but I'm not familiar with them (`Hexagon.cpp`, `MipsLinux.cpp`,

[clang] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: @nolange, thank you for rephrasing the title. https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Fix an issue where clang does not correctly resolve the system header if invoked via symlink (on MacOS) (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Prevent clang picking the system headers when started via a symlink (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/68091 >From f3812174546270051c4a2903b9a99408bf5b7ba0 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 3 Oct 2023 14:07:48 +0300 Subject: [PATCH 1/6] [clang][driver] Use platform specific calls to get the

[clang] [clang][driver] Prevent clang picking the system headers when started via a symlink (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/68091 >From f3812174546270051c4a2903b9a99408bf5b7ba0 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 3 Oct 2023 14:07:48 +0300 Subject: [PATCH 1/5] [clang][driver] Use platform specific calls to get the

[clang] [clang][driver] Prevent clang picking the system headers when started via a symlink (PR #68091)

2023-10-05 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/68091 >From f3812174546270051c4a2903b9a99408bf5b7ba0 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 3 Oct 2023 14:07:48 +0300 Subject: [PATCH 1/4] [clang][driver] Use platform specific calls to get the

[clang] [clang][driver] Prevent clang picking the system headers when started via a symlink (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > ... I understand this is only a bug on MacOS? I'm using clang only to compile my binary packages on macOS (the Linux binaries are compiled with gcc), so I got bitten by this bug only on macOS. The other platforms/targets may or may not be affected, I don't know; but my initial

[clang] [clang][driver] Prevent clang picking the system headers when started via a symlink (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Prevent clang picking the system headers when started via a symlink (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: @nolange, English is not my first language, and I know sometimes I'm very confusing. In my understanding, the title suggest that if clang is not invoked directly but via a symlink, it does not behave correctly, i.e. instead of picking the headers from the folders where clang is

[clang] [clang][driver] Prevent clang picking the system headers/libraries when started via a symlink (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > I wonder if this would need to be somewhat target specific. I took a first look, and it seems target specific. The strategy was to search for `InstalledDir` and see how it is used. It looks like in many places both locations are used, which means things are not that bad:

[clang] [clang][driver] Prevent clang picking the system headers/libraries when started via a symlink (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Prevent clang pick the system headers/libraries when started via a symlink (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Use TheDriver.ClangExecutable in SetInstallDir to point to the actual install folder (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > it's quite possible that someone has ended up depending on the previous de > facto behaviour. Then we have to be super creative and find a better solution. How about changing the logic, and where `Driver.InstalledDir` is used, if the desired file/folder is not found (like

[clang] [clang][driver] Use TheDriver.ClangExecutable in SetInstallDir to point to the actual install folder (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: Another way to rephrase the question: the current implementation that preserves the symlinks, was it an explicitly required feature, or rather a side effect that came into existence by accident when implementing the current tests? https://github.com/llvm/llvm-project/pull/68091

[clang] [clang][driver] Use TheDriver.ClangExecutable in SetInstallDir to point to the actual install folder (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: @jansvoboda11, since the Apple clang already fixed this bug, could you suggest how to proceed? Could you backport the Apple patch to upstream? Please also take a look at the original bug report #66704, since it is related to macOS.

[clang] [clang][driver] Use TheDriver.ClangExecutable in SetInstallDir to point to the actual install folder (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][driver] Use platform specific calls to get the executable absolute path (PR #68091)

2023-10-04 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: I took some time to analyse the failed tests. I managed to reproduce them (except `rocm-detect.hip`) on my macOS, so I had more freedom to experiment. The failing tests are: - `Clang::Driver/mingw-sysroot.cpp` - `Clang::Driver/no-canonical-prefixes.c` -

[clang] [clang][driver] Use platform specific calls to get the executable absolute path (PR #68091)

2023-10-03 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > You make it sound like nobody else might ever have used such symlinks before > - isn't that quite a big assumption? Ah, sorry for the confusion, I did not intend to make it sound like a big assumption. I'm convinced that such links were occasionally used before, just that

[clang] [clang][driver] Use platform specific calls to get the executable absolute path (PR #68091)

2023-10-03 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > resolving this to the actual clang binary would indeed seem like the right > thing to do. Great! The new simplified patch does exactly this. > it makes me wonder if someone actually is relying on the current behaviour To rephrase your question, you ask if someone is using a

[clang] [clang][driver] Use platform specific calls to get the executable absolute path (PR #68091)

2023-10-03 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul updated https://github.com/llvm/llvm-project/pull/68091 >From f3812174546270051c4a2903b9a99408bf5b7ba0 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 3 Oct 2023 14:07:48 +0300 Subject: [PATCH 1/3] [clang][driver] Use platform specific calls to get the

[clang] [clang][driver] Use platform specific calls to get the executable absolute path (PR #68091)

2023-10-03 Thread Liviu Ionescu via cfe-commits
ilg-ul wrote: > I haven't checked closely Hi Martin, please check the #66704 bug report, the current behaviour is plainly wrong, clang does not pick the correct libraries and silently uses the system libraries, which leads to very subtle and hard to debug errors if the new version is several

[clang] [clang][driver] Use platform specific calls to get the executable absolute path (PR #68091)

2023-10-03 Thread Liviu Ionescu via cfe-commits
@@ -331,6 +340,56 @@ static void SetInstallDir(SmallVectorImpl , // path being a symlink. SmallString<128> InstalledPath(argv[0]); +#if defined(__linux__) ilg-ul wrote: > Can we use `getMainExecutable()` instead? Good point! > So is the problem here

[clang] [clang][driver] Use platform specific calls to get the executable absolute path (PR #68091)

2023-10-03 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul edited https://github.com/llvm/llvm-project/pull/68091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Use platform specific calls to get the executable absolute path (PR #68091)

2023-10-03 Thread Liviu Ionescu via cfe-commits
https://github.com/ilg-ul created https://github.com/llvm/llvm-project/pull/68091 This patch fixes #66704. >From f3812174546270051c4a2903b9a99408bf5b7ba0 Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Tue, 3 Oct 2023 14:07:48 +0300 Subject: [PATCH 1/2] [clang][driver] Use platform