clang: include/clang/Lex/HeaderSearchOptions.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_CLANG_LEX_HEADERSEARCHOPTIONS_H
10#define LLVM_CLANG_LEX_HEADERSEARCHOPTIONS_H
11
13#include "llvm/ADT/CachedHashString.h"
14#include "llvm/ADT/SetVector.h"
15#include "llvm/ADT/StringRef.h"
16#include "llvm/Support/HashBuilder.h"
17#include
18#include
19#include
20#include
21
23
25
26
27
28
29
30
32
34
35
37
38
40
41
43
44
46
47
49
50
52
53
55
56
58};
59
60}
61
62
63
65public:
69 LLVM_PREFERRED_TYPE(bool)
71
72
73
74
75 LLVM_PREFERRED_TYPE(bool)
77
78 Entry(StringRef path, frontend::IncludeDirGroup group, bool isFramework,
79 bool ignoreSysRoot)
82 };
83
95
96
97
99
100
102
103
105
106
107
109
110
112
113
115
116
118
119
121
122
124
125
126
127
128
129 LLVM_PREFERRED_TYPE(bool)
131
132
133
134 LLVM_PREFERRED_TYPE(bool)
136
137
138
139
140
141
142
143
144 LLVM_PREFERRED_TYPE(bool)
146
147
148
149
150
151 LLVM_PREFERRED_TYPE(bool)
153
154
155
156 LLVM_PREFERRED_TYPE(bool)
158
159
160
161
162
163
164
165
167
168
169
170
171
172
173
174
176
177
178
179
180
182
183
184
186
187
189
190
191 LLVM_PREFERRED_TYPE(bool)
193
194
195 LLVM_PREFERRED_TYPE(bool)
197
198
199 LLVM_PREFERRED_TYPE(bool)
201
202
203 LLVM_PREFERRED_TYPE(bool)
205
206
207 LLVM_PREFERRED_TYPE(bool)
209
210
211
212
213 LLVM_PREFERRED_TYPE(bool)
215
216
217 LLVM_PREFERRED_TYPE(bool)
219
220
221
222 LLVM_PREFERRED_TYPE(bool)
224
225
226
227 LLVM_PREFERRED_TYPE(bool)
229
230
231 LLVM_PREFERRED_TYPE(bool)
233
234
235 LLVM_PREFERRED_TYPE(bool)
237
238 LLVM_PREFERRED_TYPE(bool)
240
241
242
243
244 LLVM_PREFERRED_TYPE(bool)
246
247
248
249 LLVM_PREFERRED_TYPE(bool)
251
252
253
254 LLVM_PREFERRED_TYPE(bool)
256
257
258 LLVM_PREFERRED_TYPE(bool)
260
261 LLVM_PREFERRED_TYPE(bool)
263
264
265 LLVM_PREFERRED_TYPE(bool)
267
268
269
270
271
272
273 LLVM_PREFERRED_TYPE(bool)
275
276
277 LLVM_PREFERRED_TYPE(bool)
279
280
281
282
283 LLVM_PREFERRED_TYPE(bool)
285
305
306
308 bool IsFramework, bool IgnoreSysRoot) {
309 UserEntries.emplace_back(Path, Group, IsFramework, IgnoreSysRoot);
310 }
311
312
313
314
318
322
326};
327
328template <typename HasherT, llvm::endianness Endianness>
329inline void addHash(llvm::HashBuilder<HasherT, Endianness> &HBuilder,
332}
333
334template <typename HasherT, llvm::endianness Endianness>
335inline void addHash(llvm::HashBuilder<HasherT, Endianness> &HBuilder,
338}
339
340}
341
342#endif
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...
Definition HeaderSearchOptions.h:31
@ CXXSystem
Like System, but only used for C++.
Definition HeaderSearchOptions.h:48
@ Angled
Paths for '#include <>' added by '-I'.
Definition HeaderSearchOptions.h:36
@ CSystem
Like System, but only used for C.
Definition HeaderSearchOptions.h:45
@ System
Like Angled, but marks system directories.
Definition HeaderSearchOptions.h:39
@ Quoted
'#include ""' paths, added by 'gcc -iquote'.
Definition HeaderSearchOptions.h:33
@ ExternCSystem
Like System, but headers are implicitly wrapped in extern "C".
Definition HeaderSearchOptions.h:42
@ ObjCSystem
Like System, but only used for ObjC.
Definition HeaderSearchOptions.h:51
@ ObjCXXSystem
Like System, but only used for ObjC++.
Definition HeaderSearchOptions.h:54
@ After
Like System, but searched after the system directories.
Definition HeaderSearchOptions.h:57
The JSON file list parser is used to communicate input to InstallAPI.
void addHash(llvm::HashBuilder< HasherT, Endianness > &HBuilder, const HeaderSearchOptions::Entry &E)
Definition HeaderSearchOptions.h:329
Diagnostic wrappers for TextAPI types for error reporting.