9#ifndef LLVM_CLANG_LEX_HEADERSEARCHOPTIONS_H
10#define LLVM_CLANG_LEX_HEADERSEARCHOPTIONS_H
13#include "llvm/ADT/CachedHashString.h"
14#include "llvm/ADT/SetVector.h"
15#include "llvm/ADT/StringRef.h"
16#include "llvm/Support/HashBuilder.h"
69 LLVM_PREFERRED_TYPE(
bool)
75 LLVM_PREFERRED_TYPE(
bool)
78 Entry(StringRef path, frontend::IncludeDirGroup group,
bool isFramework,
129 LLVM_PREFERRED_TYPE(
bool)
134 LLVM_PREFERRED_TYPE(
bool)
144 LLVM_PREFERRED_TYPE(
bool)
151 LLVM_PREFERRED_TYPE(
bool)
156 LLVM_PREFERRED_TYPE(
bool)
191 LLVM_PREFERRED_TYPE(
bool)
195 LLVM_PREFERRED_TYPE(
bool)
199 LLVM_PREFERRED_TYPE(
bool)
203 LLVM_PREFERRED_TYPE(
bool)
207 LLVM_PREFERRED_TYPE(
bool)
213 LLVM_PREFERRED_TYPE(
bool)
217 LLVM_PREFERRED_TYPE(
bool)
222 LLVM_PREFERRED_TYPE(
bool)
227 LLVM_PREFERRED_TYPE(
bool)
231 LLVM_PREFERRED_TYPE(
bool)
235 LLVM_PREFERRED_TYPE(
bool)
238 LLVM_PREFERRED_TYPE(
bool)
244 LLVM_PREFERRED_TYPE(
bool)
249 LLVM_PREFERRED_TYPE(
bool)
254 LLVM_PREFERRED_TYPE(
bool)
258 LLVM_PREFERRED_TYPE(
bool)
261 LLVM_PREFERRED_TYPE(
bool)
265 LLVM_PREFERRED_TYPE(
bool)
273 LLVM_PREFERRED_TYPE(
bool)
277 LLVM_PREFERRED_TYPE(
bool)
283 LLVM_PREFERRED_TYPE(
bool)
308 bool IsFramework,
bool IgnoreSysRoot) {
328template <
typename HasherT, llvm::endianness Endianness>
329inline void addHash(llvm::HashBuilder<HasherT, Endianness> &HBuilder,
331 HBuilder.add(
E.Path,
E.Group,
E.IsFramework,
E.IgnoreSysRoot);
334template <
typename HasherT, llvm::endianness Endianness>
335inline void addHash(llvm::HashBuilder<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.
@ ObjCXXSystem
Like System, but only used for ObjC++.
@ After
Like System, but searched after the system directories.
The JSON file list parser is used to communicate input to InstallAPI.
void addHash(llvm::HashBuilder< HasherT, Endianness > &HBuilder, const HeaderSearchOptions::Entry &E)
Diagnostic wrappers for TextAPI types for error reporting.