9#ifndef LLVM_CLANG_LEX_HEADERSEARCHOPTIONS_H
10#define LLVM_CLANG_LEX_HEADERSEARCHOPTIONS_H
13#include "llvm/ADT/CachedHashString.h"
14#include "llvm/ADT/Hashing.h"
15#include "llvm/ADT/SetVector.h"
16#include "llvm/ADT/StringRef.h"
17#include "llvm/Support/HashBuilder.h"
242 bool IsFramework,
bool IgnoreSysRoot) {
243 UserEntries.emplace_back(Path, Group, IsFramework, IgnoreSysRoot);
266template <
typename HasherT, llvm::support::endianness Endianness>
267inline void addHash(llvm::HashBuilderImpl<HasherT, Endianness> &HBuilder,
272inline llvm::hash_code
277template <
typename HasherT, llvm::support::endianness Endianness>
278inline void addHash(llvm::HashBuilderImpl<HasherT, Endianness> &HBuilder,
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
IncludeDirGroup
IncludeDirGroup - Identifies the group an include Entry belongs to, representing its relative positiv...
@ CXXSystem
Like System, but only used for C++.
@ Angled
Paths for '#include <>' added by '-I'.
@ CSystem
Like System, but only used for C.
@ System
Like Angled, but marks system directories.
@ Quoted
'#include ""' paths, added by 'gcc -iquote'.
@ ExternCSystem
Like System, but headers are implicitly wrapped in extern "C".
@ ObjCSystem
Like System, but only used for ObjC.
@ IndexHeaderMap
Like Angled, but marks header maps used when building frameworks.
@ ObjCXXSystem
Like System, but only used for ObjC++.
@ After
Like System, but searched after the system directories.
void addHash(llvm::HashBuilderImpl< HasherT, Endianness > &HBuilder, const HeaderSearchOptions::Entry &E)
llvm::hash_code hash_value(const CustomizableOptional< T > &O)