clang  19.0.0git
Functions
InitHeaderSearch.cpp File Reference
#include "clang/Basic/DiagnosticFrontend.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Config/config.h"
#include "clang/Lex/HeaderMap.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/HeaderSearchOptions.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/Triple.h"
#include <optional>

Go to the source code of this file.

Functions

static bool CanPrefixSysroot (StringRef Path)
 
static unsigned RemoveDuplicates (std::vector< DirectoryLookupInfo > &SearchList, unsigned First, bool Verbose)
 If there are duplicate directory entries in the specified search list, remove the later (dead) ones. More...
 
static std::vector< DirectoryLookupextractLookups (const std::vector< DirectoryLookupInfo > &Infos)
 Extract DirectoryLookups from DirectoryLookupInfos. More...
 
static llvm::DenseMap< unsigned, unsignedmapToUserEntries (const std::vector< DirectoryLookupInfo > &Infos)
 Collect the mapping between indices of DirectoryLookups and UserEntries. More...
 

Function Documentation

◆ CanPrefixSysroot()

static bool CanPrefixSysroot ( StringRef  Path)
static

Definition at line 109 of file InitHeaderSearch.cpp.

◆ extractLookups()

static std::vector<DirectoryLookup> extractLookups ( const std::vector< DirectoryLookupInfo > &  Infos)
static

Extract DirectoryLookups from DirectoryLookupInfos.

Definition at line 456 of file InitHeaderSearch.cpp.

◆ mapToUserEntries()

static llvm::DenseMap<unsigned, unsigned> mapToUserEntries ( const std::vector< DirectoryLookupInfo > &  Infos)
static

Collect the mapping between indices of DirectoryLookups and UserEntries.

Definition at line 466 of file InitHeaderSearch.cpp.

◆ RemoveDuplicates()

static unsigned RemoveDuplicates ( std::vector< DirectoryLookupInfo > &  SearchList,
unsigned  First,
bool  Verbose 
)
static

If there are duplicate directory entries in the specified search list, remove the later (dead) ones.

Returns the number of non-system headers removed, which is used to update NumAngled.

Definition at line 371 of file InitHeaderSearch.cpp.