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.