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

Liviu Ionescu via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 7 03:24:37 PST 2024


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 over the SDK headers, when the compiler was launched via a symbolic link to the executable (a behaviour common to the npm/xpm ecosystem).

If I understand this proposal right (please correct me if I'm wrong), it will move the SDK headers to the top of the list. 

If this will happen only when an explicit `-isysroot` is passed on the compiler command line, it might be ok, but if it will happen for all cases, this will simply bring us back to the pre 70817 case, when builds on old macOS-es (like 10.13) with a new clang (like 17.x) will fail, due to the out of sync old headers from the SDK with the new library from the toolchain. I wasted quite a lot of time to diagnose this subtle issue by that time.



https://github.com/llvm/llvm-project/pull/80524


More information about the cfe-commits mailing list