Skip to content

Commit 83b5c98

Browse files
committed
make the old -fdepscan-prefix-map= option driver-only
1 parent 81e58f3 commit 83b5c98

File tree

3 files changed

+10
-12
lines changed

3 files changed

+10
-12
lines changed

clang/include/clang/Driver/Options.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8836,7 +8836,7 @@ def fdepscan_include_tree : Flag<["-"], "fdepscan-include-tree">,
88368836
//
88378837
// FIXME: Add DepscanOption flag.
88388838
def fdepscan_prefix_map_EQ : Joined<["-"], "fdepscan-prefix-map=">,
8839-
Group<f_Group>, Visibility<[ClangOption, CC1Option]>,
8839+
Group<f_Group>, Visibility<[ClangOption]>,
88408840
MetaVarName<"<old>=<new>">,
88418841
HelpText<"With -fdepscan, seamlessly filter the CAS filesystem to"
88428842
" apply the given prefix, updating the command-line to match.">;

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5059,8 +5059,9 @@ void Clang::AddPrefixMappingOptions(const ArgList &Args, ArgStringList &CmdArgs,
50595059

50605060
if (Arg *A = Args.getLastArg(options::OPT_fdepscan_prefix_map_sdk_EQ)) {
50615061
if (IsPathApplicableAsPrefix(Sysroot)) {
5062-
CmdArgs.push_back(Args.MakeArgString(Twine("-fdepscan-prefix-map=") +
5063-
*Sysroot + "=" + A->getValue()));
5062+
CmdArgs.push_back("-fdepscan-prefix-map");
5063+
CmdArgs.push_back(Args.MakeArgString(*Sysroot));
5064+
CmdArgs.push_back(Args.MakeArgString(A->getValue()));
50645065
} else {
50655066
// FIXME: warning if we cannot infer sdk
50665067
}
@@ -5075,8 +5076,9 @@ void Clang::AddPrefixMappingOptions(const ArgList &Args, ArgStringList &CmdArgs,
50755076
Guess = llvm::sys::path::parent_path(Guess);
50765077
}
50775078
if (IsPathApplicableAsPrefix(Guess)) {
5078-
CmdArgs.push_back(Args.MakeArgString(Twine("-fdepscan-prefix-map=") +
5079-
Guess + "=" + A->getValue()));
5079+
CmdArgs.push_back("-fdepscan-prefix-map");
5080+
CmdArgs.push_back(Args.MakeArgString(Guess));
5081+
CmdArgs.push_back(Args.MakeArgString(A->getValue()));
50805082
} else {
50815083
// FIXME: warning if we cannot infer toolchain
50825084
}
@@ -5096,7 +5098,9 @@ void Clang::AddPrefixMappingOptions(const ArgList &Args, ArgStringList &CmdArgs,
50965098
D.Diag(diag::err_drv_invalid_argument_to_option)
50975099
<< A->getValue() << A->getOption().getName();
50985100
} else {
5099-
A->render(Args, CmdArgs);
5101+
CmdArgs.push_back("-fdepscan-prefix-map");
5102+
CmdArgs.push_back(Args.MakeArgString(Prefix));
5103+
CmdArgs.push_back(Args.MakeArgString(MapTarget));
51005104
}
51015105
}
51025106
}

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3391,12 +3391,6 @@ static bool ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
33913391
assert(Values.size() == 2);
33923392
Opts.PathPrefixMappings.emplace_back(Values[0], Values[1]);
33933393
}
3394-
for (const Arg *A : Args.filtered(OPT_fdepscan_prefix_map_EQ)) {
3395-
StringRef Val = A->getValue();
3396-
if (std::optional<llvm::MappedPrefix> mapping = llvm::MappedPrefix::getFromJoined(Val)) {
3397-
Opts.PathPrefixMappings.emplace_back(mapping->Old, mapping->New);
3398-
}
3399-
}
34003394

34013395
if (Opts.ProgramAction != frontend::GenerateModule && Opts.IsSystemModule)
34023396
Diags.Report(diag::err_drv_argument_only_allowed_with) << "-fsystem-module"

0 commit comments

Comments
 (0)