================
@@ -3191,6 +3191,22 @@ static bool ParseHeaderSearchArgs(HeaderSearchOptions
&Opts, ArgList &Args,
bool IsIndexHeaderMap = false;
bool IsSysrootSpecified =
Args.hasArg(OPT__sysroot_EQ) || Args.hasArg(OPT_isysroot);
+
+ // Expand a leading `=` to the sysroot if one was passed (and it's not a
+ // framework flag).
+ auto PrefixHeaderPath = [IsSysrootSpecified,
----------------
fanghuaqi wrote:
Hello, I have a question about why `IsSysrootSpecified` is required, since the
sysroot could use default sysroot defined in toolchain, for gcc, it is not
required.
`If dir begins with ‘=’ or $SYSROOT, then the ‘=’ or $SYSROOT is replaced by
the sysroot prefix; see --sysroot and -isysroot.`
So it will replace sysroot defined in toolchain, as tested below:
- gcc `-isystem=/include/libncrt`:
`xxxxx/gcc/bin/../riscv64-unknown-elf/include/libncrt`, this is expected
- clang `-isystem=/include/libncrt` : ignoring nonexistent directory
"=/include/libncrt"
https://github.com/llvm/llvm-project/pull/82084
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits