diff options
author | Jan Svoboda <jan_svoboda@apple.com> | 2024-10-31 16:04:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-31 16:04:35 -0700 |
commit | 19b4f17d4c0ae12725050d09f04f85bccc686d8e (patch) | |
tree | fe4f2b7acca55c466ab79f0667cd4cb98184e79f /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 3af87d4c5709fb7498e5adf75ec07e6528b14e1a (diff) | |
download | llvm-19b4f17d4c0ae12725050d09f04f85bccc686d8e.zip llvm-19b4f17d4c0ae12725050d09f04f85bccc686d8e.tar.gz llvm-19b4f17d4c0ae12725050d09f04f85bccc686d8e.tar.bz2 |
[clang][lex] Remove `-index-header-map` (#114459)
This PR removes the `-index-header-map` functionality from Clang. AFAIK
this was only used internally at Apple and is now dead code. The main
motivation behind this change is to enable the removal of
`HeaderFileInfo::Framework` member and reducing the size of that data
structure.
rdar://84036149
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index d8261e12..b5fd35a 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -3190,15 +3190,10 @@ static void GenerateHeaderSearchArgs(const HeaderSearchOptions &Opts, auto It = Opts.UserEntries.begin(); auto End = Opts.UserEntries.end(); - // Add -I..., -F..., and -index-header-map options in order. - for (; It < End && Matches(*It, {frontend::IndexHeaderMap, frontend::Angled}, - std::nullopt, true); + // Add -I... and -F... options in order. + for (; It < End && Matches(*It, {frontend::Angled}, std::nullopt, true); ++It) { OptSpecifier Opt = [It, Matches]() { - if (Matches(*It, frontend::IndexHeaderMap, true, true)) - return OPT_F; - if (Matches(*It, frontend::IndexHeaderMap, false, true)) - return OPT_I; if (Matches(*It, frontend::Angled, true, true)) return OPT_F; if (Matches(*It, frontend::Angled, false, true)) @@ -3206,8 +3201,6 @@ static void GenerateHeaderSearchArgs(const HeaderSearchOptions &Opts, llvm_unreachable("Unexpected HeaderSearchOptions::Entry."); }(); - if (It->Group == frontend::IndexHeaderMap) - GenerateArg(Consumer, OPT_index_header_map); GenerateArg(Consumer, Opt, It->Path); }; @@ -3319,8 +3312,7 @@ static bool ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args, llvm::CachedHashString(MacroDef.split('=').first)); } - // Add -I..., -F..., and -index-header-map options in order. - bool IsIndexHeaderMap = false; + // Add -I... and -F... options in order. bool IsSysrootSpecified = Args.hasArg(OPT__sysroot_EQ) || Args.hasArg(OPT_isysroot); @@ -3339,20 +3331,10 @@ static bool ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args, return A->getValue(); }; - for (const auto *A : Args.filtered(OPT_I, OPT_F, OPT_index_header_map)) { - if (A->getOption().matches(OPT_index_header_map)) { - // -index-header-map applies to the next -I or -F. - IsIndexHeaderMap = true; - continue; - } - - frontend::IncludeDirGroup Group = - IsIndexHeaderMap ? frontend::IndexHeaderMap : frontend::Angled; - + for (const auto *A : Args.filtered(OPT_I, OPT_F)) { bool IsFramework = A->getOption().matches(OPT_F); - Opts.AddPath(PrefixHeaderPath(A, IsFramework), Group, IsFramework, - /*IgnoreSysroot*/ true); - IsIndexHeaderMap = false; + Opts.AddPath(PrefixHeaderPath(A, IsFramework), frontend::Angled, + IsFramework, /*IgnoreSysroot=*/true); } // Add -iprefix/-iwithprefix/-iwithprefixbefore options. |