[clang] [clang][driver] Don't emit an error on an unrecognized SDK name (PR #181897)

Ian Anderson via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 17 14:03:23 PST 2026


ian-twilightcoder wrote:

> Is it a hard error because of Werror? In the test case case it looks valid to warn about this since the isysroot path is infact wrong for the given target triple.

It's a hard error because it uses `llvm::reportFatalUsageError`. I went back and forth on making it a warning or note, but really that's a weird place to emit the diagnostic that `-isysroot` has an unexpected value, and only for newer SDKs. `Darwin::VerifyTripleForSDK` is just supposed to verify the triple against the SDK, not verify that the SDK we have is valid. I think longer term we should be checking the isysroot value in `Darwin::AddDeploymentTarget` to make sure it contains and SDKSettings file or at least ends with `.sdk`. I filed 170558364 to think about that.

But the present issue is that we have some clients who are setting `-isysroot` to a subdirectory into the SDK and are now getting errors. I wanted to fix that in the short term and ruminate a little more over how to best validate `-isysroot` and potentially deal with clients who are using unexpected values like that.

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


More information about the cfe-commits mailing list