clang  14.0.0git
Functions
InitHeaderSearch.cpp File Reference
#include "clang/Basic/FileManager.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Config/config.h"
#include "clang/Frontend/FrontendDiagnostic.h"
#include "clang/Frontend/Utils.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/Triple.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for InitHeaderSearch.cpp:

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)
 RemoveDuplicates - 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 117 of file InitHeaderSearch.cpp.

◆ extractLookups()

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

Extract DirectoryLookups from DirectoryLookupInfos.

Definition at line 568 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 578 of file InitHeaderSearch.cpp.

◆ RemoveDuplicates()

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

RemoveDuplicates - 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 483 of file InitHeaderSearch.cpp.