blob 8a8d794e (61836B) - Raw
1 const std = @import("std"); 2 pub const builtin = @import("builtin"); 3 4 pub const SourceLocation = extern struct { 5 ID: c_uint, 6 7 pub const eq = ZigClangSourceLocation_eq; 8 extern fn ZigClangSourceLocation_eq(a: SourceLocation, b: SourceLocation) bool; 9 }; 10 11 pub const QualType = extern struct { 12 ptr: ?*c_void, 13 14 pub const getCanonicalType = ZigClangQualType_getCanonicalType; 15 extern fn ZigClangQualType_getCanonicalType(QualType) QualType; 16 17 pub const getTypePtr = ZigClangQualType_getTypePtr; 18 extern fn ZigClangQualType_getTypePtr(QualType) *const Type; 19 20 pub const getTypeClass = ZigClangQualType_getTypeClass; 21 extern fn ZigClangQualType_getTypeClass(QualType) TypeClass; 22 23 pub const addConst = ZigClangQualType_addConst; 24 extern fn ZigClangQualType_addConst(*QualType) void; 25 26 pub const eq = ZigClangQualType_eq; 27 extern fn ZigClangQualType_eq(QualType, arg1: QualType) bool; 28 29 pub const isConstQualified = ZigClangQualType_isConstQualified; 30 extern fn ZigClangQualType_isConstQualified(QualType) bool; 31 32 pub const isVolatileQualified = ZigClangQualType_isVolatileQualified; 33 extern fn ZigClangQualType_isVolatileQualified(QualType) bool; 34 35 pub const isRestrictQualified = ZigClangQualType_isRestrictQualified; 36 extern fn ZigClangQualType_isRestrictQualified(QualType) bool; 37 }; 38 39 pub const APValueLValueBase = extern struct { 40 Ptr: ?*c_void, 41 CallIndex: c_uint, 42 Version: c_uint, 43 44 pub const dyn_cast_Expr = ZigClangAPValueLValueBase_dyn_cast_Expr; 45 extern fn ZigClangAPValueLValueBase_dyn_cast_Expr(APValueLValueBase) ?*const Expr; 46 }; 47 48 pub const APValueKind = enum(c_int) { 49 None, 50 Indeterminate, 51 Int, 52 Float, 53 FixedPoint, 54 ComplexInt, 55 ComplexFloat, 56 LValue, 57 Vector, 58 Array, 59 Struct, 60 Union, 61 MemberPointer, 62 AddrLabelDiff, 63 }; 64 65 pub const APValue = extern struct { 66 Kind: APValueKind, 67 Data: if (builtin.os.tag == .windows and builtin.abi == .msvc) [52]u8 else [68]u8, 68 69 pub const getKind = ZigClangAPValue_getKind; 70 extern fn ZigClangAPValue_getKind(*const APValue) APValueKind; 71 72 pub const getInt = ZigClangAPValue_getInt; 73 extern fn ZigClangAPValue_getInt(*const APValue) *const APSInt; 74 75 pub const getArrayInitializedElts = ZigClangAPValue_getArrayInitializedElts; 76 extern fn ZigClangAPValue_getArrayInitializedElts(*const APValue) c_uint; 77 78 pub const getArraySize = ZigClangAPValue_getArraySize; 79 extern fn ZigClangAPValue_getArraySize(*const APValue) c_uint; 80 81 pub const getLValueBase = ZigClangAPValue_getLValueBase; 82 extern fn ZigClangAPValue_getLValueBase(*const APValue) APValueLValueBase; 83 }; 84 85 pub const ExprEvalResult = extern struct { 86 HasSideEffects: bool, 87 HasUndefinedBehavior: bool, 88 SmallVectorImpl: ?*c_void, 89 Val: APValue, 90 }; 91 92 pub const AbstractConditionalOperator = opaque { 93 pub const getCond = ZigClangAbstractConditionalOperator_getCond; 94 extern fn ZigClangAbstractConditionalOperator_getCond(*const AbstractConditionalOperator) *const Expr; 95 96 pub const getTrueExpr = ZigClangAbstractConditionalOperator_getTrueExpr; 97 extern fn ZigClangAbstractConditionalOperator_getTrueExpr(*const AbstractConditionalOperator) *const Expr; 98 99 pub const getFalseExpr = ZigClangAbstractConditionalOperator_getFalseExpr; 100 extern fn ZigClangAbstractConditionalOperator_getFalseExpr(*const AbstractConditionalOperator) *const Expr; 101 }; 102 103 pub const APFloat = opaque { 104 pub const toString = ZigClangAPFloat_toString; 105 extern fn ZigClangAPFloat_toString(*const APFloat, precision: c_uint, maxPadding: c_uint, truncateZero: bool) [*:0]const u8; 106 }; 107 108 pub const APFloatBaseSemantics = enum(c_int) { 109 IEEEhalf, 110 BFloat, 111 IEEEsingle, 112 IEEEdouble, 113 x86DoubleExtended, 114 IEEEquad, 115 PPCDoubleDouble, 116 }; 117 118 pub const APInt = opaque { 119 pub fn getLimitedValue(self: *const APInt, comptime T: type) T { 120 return @truncate(T, ZigClangAPInt_getLimitedValue(self, std.math.maxInt(T))); 121 } 122 extern fn ZigClangAPInt_getLimitedValue(*const APInt, limit: u64) u64; 123 }; 124 125 pub const APSInt = opaque { 126 pub const isSigned = ZigClangAPSInt_isSigned; 127 extern fn ZigClangAPSInt_isSigned(*const APSInt) bool; 128 129 pub const isNegative = ZigClangAPSInt_isNegative; 130 extern fn ZigClangAPSInt_isNegative(*const APSInt) bool; 131 132 pub const negate = ZigClangAPSInt_negate; 133 extern fn ZigClangAPSInt_negate(*const APSInt) *const APSInt; 134 135 pub const free = ZigClangAPSInt_free; 136 extern fn ZigClangAPSInt_free(*const APSInt) void; 137 138 pub const getRawData = ZigClangAPSInt_getRawData; 139 extern fn ZigClangAPSInt_getRawData(*const APSInt) [*:0]const u64; 140 141 pub const getNumWords = ZigClangAPSInt_getNumWords; 142 extern fn ZigClangAPSInt_getNumWords(*const APSInt) c_uint; 143 144 pub const lessThanEqual = ZigClangAPSInt_lessThanEqual; 145 extern fn ZigClangAPSInt_lessThanEqual(*const APSInt, rhs: u64) bool; 146 }; 147 148 pub const ASTContext = opaque { 149 pub const getPointerType = ZigClangASTContext_getPointerType; 150 extern fn ZigClangASTContext_getPointerType(*const ASTContext, T: QualType) QualType; 151 }; 152 153 pub const ASTUnit = opaque { 154 pub const delete = ZigClangASTUnit_delete; 155 extern fn ZigClangASTUnit_delete(*ASTUnit) void; 156 157 pub const getASTContext = ZigClangASTUnit_getASTContext; 158 extern fn ZigClangASTUnit_getASTContext(*ASTUnit) *ASTContext; 159 160 pub const getSourceManager = ZigClangASTUnit_getSourceManager; 161 extern fn ZigClangASTUnit_getSourceManager(*ASTUnit) *SourceManager; 162 163 pub const visitLocalTopLevelDecls = ZigClangASTUnit_visitLocalTopLevelDecls; 164 extern fn ZigClangASTUnit_visitLocalTopLevelDecls(*ASTUnit, context: ?*c_void, Fn: ?fn (?*c_void, *const Decl) callconv(.C) bool) bool; 165 166 pub const getLocalPreprocessingEntities_begin = ZigClangASTUnit_getLocalPreprocessingEntities_begin; 167 extern fn ZigClangASTUnit_getLocalPreprocessingEntities_begin(*ASTUnit) PreprocessingRecord.iterator; 168 169 pub const getLocalPreprocessingEntities_end = ZigClangASTUnit_getLocalPreprocessingEntities_end; 170 extern fn ZigClangASTUnit_getLocalPreprocessingEntities_end(*ASTUnit) PreprocessingRecord.iterator; 171 }; 172 173 pub const ArraySubscriptExpr = opaque { 174 pub const getBase = ZigClangArraySubscriptExpr_getBase; 175 extern fn ZigClangArraySubscriptExpr_getBase(*const ArraySubscriptExpr) *const Expr; 176 177 pub const getIdx = ZigClangArraySubscriptExpr_getIdx; 178 extern fn ZigClangArraySubscriptExpr_getIdx(*const ArraySubscriptExpr) *const Expr; 179 }; 180 181 pub const ArrayType = opaque { 182 pub const getElementType = ZigClangArrayType_getElementType; 183 extern fn ZigClangArrayType_getElementType(*const ArrayType) QualType; 184 }; 185 186 pub const ASTRecordLayout = opaque { 187 pub const getFieldOffset = ZigClangASTRecordLayout_getFieldOffset; 188 extern fn ZigClangASTRecordLayout_getFieldOffset(*const ASTRecordLayout, c_uint) u64; 189 190 pub const getAlignment = ZigClangASTRecordLayout_getAlignment; 191 extern fn ZigClangASTRecordLayout_getAlignment(*const ASTRecordLayout) i64; 192 }; 193 194 pub const AttributedType = opaque { 195 pub const getEquivalentType = ZigClangAttributedType_getEquivalentType; 196 extern fn ZigClangAttributedType_getEquivalentType(*const AttributedType) QualType; 197 }; 198 199 pub const BinaryOperator = opaque { 200 pub const getOpcode = ZigClangBinaryOperator_getOpcode; 201 extern fn ZigClangBinaryOperator_getOpcode(*const BinaryOperator) BO; 202 203 pub const getBeginLoc = ZigClangBinaryOperator_getBeginLoc; 204 extern fn ZigClangBinaryOperator_getBeginLoc(*const BinaryOperator) SourceLocation; 205 206 pub const getLHS = ZigClangBinaryOperator_getLHS; 207 extern fn ZigClangBinaryOperator_getLHS(*const BinaryOperator) *const Expr; 208 209 pub const getRHS = ZigClangBinaryOperator_getRHS; 210 extern fn ZigClangBinaryOperator_getRHS(*const BinaryOperator) *const Expr; 211 212 pub const getType = ZigClangBinaryOperator_getType; 213 extern fn ZigClangBinaryOperator_getType(*const BinaryOperator) QualType; 214 }; 215 216 pub const BinaryConditionalOperator = opaque {}; 217 218 pub const BreakStmt = opaque {}; 219 220 pub const BuiltinType = opaque { 221 pub const getKind = ZigClangBuiltinType_getKind; 222 extern fn ZigClangBuiltinType_getKind(*const BuiltinType) BuiltinTypeKind; 223 }; 224 225 pub const CStyleCastExpr = opaque { 226 pub const getBeginLoc = ZigClangCStyleCastExpr_getBeginLoc; 227 extern fn ZigClangCStyleCastExpr_getBeginLoc(*const CStyleCastExpr) SourceLocation; 228 229 pub const getSubExpr = ZigClangCStyleCastExpr_getSubExpr; 230 extern fn ZigClangCStyleCastExpr_getSubExpr(*const CStyleCastExpr) *const Expr; 231 232 pub const getType = ZigClangCStyleCastExpr_getType; 233 extern fn ZigClangCStyleCastExpr_getType(*const CStyleCastExpr) QualType; 234 }; 235 236 pub const CallExpr = opaque { 237 pub const getCallee = ZigClangCallExpr_getCallee; 238 extern fn ZigClangCallExpr_getCallee(*const CallExpr) *const Expr; 239 240 pub const getNumArgs = ZigClangCallExpr_getNumArgs; 241 extern fn ZigClangCallExpr_getNumArgs(*const CallExpr) c_uint; 242 243 pub const getArgs = ZigClangCallExpr_getArgs; 244 extern fn ZigClangCallExpr_getArgs(*const CallExpr) [*]const *const Expr; 245 }; 246 247 pub const CaseStmt = opaque { 248 pub const getLHS = ZigClangCaseStmt_getLHS; 249 extern fn ZigClangCaseStmt_getLHS(*const CaseStmt) *const Expr; 250 251 pub const getRHS = ZigClangCaseStmt_getRHS; 252 extern fn ZigClangCaseStmt_getRHS(*const CaseStmt) ?*const Expr; 253 254 pub const getBeginLoc = ZigClangCaseStmt_getBeginLoc; 255 extern fn ZigClangCaseStmt_getBeginLoc(*const CaseStmt) SourceLocation; 256 257 pub const getSubStmt = ZigClangCaseStmt_getSubStmt; 258 extern fn ZigClangCaseStmt_getSubStmt(*const CaseStmt) *const Stmt; 259 }; 260 261 pub const CharacterLiteral = opaque { 262 pub const getBeginLoc = ZigClangCharacterLiteral_getBeginLoc; 263 extern fn ZigClangCharacterLiteral_getBeginLoc(*const CharacterLiteral) SourceLocation; 264 265 pub const getKind = ZigClangCharacterLiteral_getKind; 266 extern fn ZigClangCharacterLiteral_getKind(*const CharacterLiteral) CharacterLiteral_CharacterKind; 267 268 pub const getValue = ZigClangCharacterLiteral_getValue; 269 extern fn ZigClangCharacterLiteral_getValue(*const CharacterLiteral) c_uint; 270 }; 271 272 pub const ChooseExpr = opaque { 273 pub const getChosenSubExpr = ZigClangChooseExpr_getChosenSubExpr; 274 extern fn ZigClangChooseExpr_getChosenSubExpr(*const ChooseExpr) *const Expr; 275 }; 276 277 pub const CompoundAssignOperator = opaque { 278 pub const getType = ZigClangCompoundAssignOperator_getType; 279 extern fn ZigClangCompoundAssignOperator_getType(*const CompoundAssignOperator) QualType; 280 281 pub const getComputationLHSType = ZigClangCompoundAssignOperator_getComputationLHSType; 282 extern fn ZigClangCompoundAssignOperator_getComputationLHSType(*const CompoundAssignOperator) QualType; 283 284 pub const getComputationResultType = ZigClangCompoundAssignOperator_getComputationResultType; 285 extern fn ZigClangCompoundAssignOperator_getComputationResultType(*const CompoundAssignOperator) QualType; 286 287 pub const getBeginLoc = ZigClangCompoundAssignOperator_getBeginLoc; 288 extern fn ZigClangCompoundAssignOperator_getBeginLoc(*const CompoundAssignOperator) SourceLocation; 289 290 pub const getOpcode = ZigClangCompoundAssignOperator_getOpcode; 291 extern fn ZigClangCompoundAssignOperator_getOpcode(*const CompoundAssignOperator) BO; 292 293 pub const getLHS = ZigClangCompoundAssignOperator_getLHS; 294 extern fn ZigClangCompoundAssignOperator_getLHS(*const CompoundAssignOperator) *const Expr; 295 296 pub const getRHS = ZigClangCompoundAssignOperator_getRHS; 297 extern fn ZigClangCompoundAssignOperator_getRHS(*const CompoundAssignOperator) *const Expr; 298 }; 299 300 pub const CompoundLiteralExpr = opaque { 301 pub const getInitializer = ZigClangCompoundLiteralExpr_getInitializer; 302 extern fn ZigClangCompoundLiteralExpr_getInitializer(*const CompoundLiteralExpr) *const Expr; 303 }; 304 305 pub const CompoundStmt = opaque { 306 pub const body_begin = ZigClangCompoundStmt_body_begin; 307 extern fn ZigClangCompoundStmt_body_begin(*const CompoundStmt) ConstBodyIterator; 308 309 pub const body_end = ZigClangCompoundStmt_body_end; 310 extern fn ZigClangCompoundStmt_body_end(*const CompoundStmt) ConstBodyIterator; 311 312 pub const ConstBodyIterator = [*]const *Stmt; 313 }; 314 315 pub const ConditionalOperator = opaque {}; 316 317 pub const ConstantArrayType = opaque { 318 pub const getElementType = ZigClangConstantArrayType_getElementType; 319 extern fn ZigClangConstantArrayType_getElementType(*const ConstantArrayType) QualType; 320 321 pub const getSize = ZigClangConstantArrayType_getSize; 322 extern fn ZigClangConstantArrayType_getSize(*const ConstantArrayType) *const APInt; 323 }; 324 325 pub const ConstantExpr = opaque {}; 326 327 pub const ContinueStmt = opaque {}; 328 329 pub const ConvertVectorExpr = opaque { 330 pub const getSrcExpr = ZigClangConvertVectorExpr_getSrcExpr; 331 extern fn ZigClangConvertVectorExpr_getSrcExpr(*const ConvertVectorExpr) *const Expr; 332 333 pub const getTypeSourceInfo_getType = ZigClangConvertVectorExpr_getTypeSourceInfo_getType; 334 extern fn ZigClangConvertVectorExpr_getTypeSourceInfo_getType(*const ConvertVectorExpr) QualType; 335 }; 336 337 pub const DecayedType = opaque { 338 pub const getDecayedType = ZigClangDecayedType_getDecayedType; 339 extern fn ZigClangDecayedType_getDecayedType(*const DecayedType) QualType; 340 }; 341 342 pub const Decl = opaque { 343 pub const getLocation = ZigClangDecl_getLocation; 344 extern fn ZigClangDecl_getLocation(*const Decl) SourceLocation; 345 346 pub const castToNamedDecl = ZigClangDecl_castToNamedDecl; 347 extern fn ZigClangDecl_castToNamedDecl(decl: *const Decl) ?*const NamedDecl; 348 349 pub const getKind = ZigClangDecl_getKind; 350 extern fn ZigClangDecl_getKind(decl: *const Decl) DeclKind; 351 352 pub const getDeclKindName = ZigClangDecl_getDeclKindName; 353 extern fn ZigClangDecl_getDeclKindName(decl: *const Decl) [*:0]const u8; 354 }; 355 356 pub const DeclRefExpr = opaque { 357 pub const getDecl = ZigClangDeclRefExpr_getDecl; 358 extern fn ZigClangDeclRefExpr_getDecl(*const DeclRefExpr) *const ValueDecl; 359 360 pub const getFoundDecl = ZigClangDeclRefExpr_getFoundDecl; 361 extern fn ZigClangDeclRefExpr_getFoundDecl(*const DeclRefExpr) *const NamedDecl; 362 }; 363 364 pub const DeclStmt = opaque { 365 pub const decl_begin = ZigClangDeclStmt_decl_begin; 366 extern fn ZigClangDeclStmt_decl_begin(*const DeclStmt) const_decl_iterator; 367 368 pub const decl_end = ZigClangDeclStmt_decl_end; 369 extern fn ZigClangDeclStmt_decl_end(*const DeclStmt) const_decl_iterator; 370 371 pub const const_decl_iterator = [*]const *Decl; 372 }; 373 374 pub const DefaultStmt = opaque { 375 pub const getSubStmt = ZigClangDefaultStmt_getSubStmt; 376 extern fn ZigClangDefaultStmt_getSubStmt(*const DefaultStmt) *const Stmt; 377 }; 378 379 pub const DiagnosticOptions = opaque {}; 380 381 pub const DiagnosticsEngine = opaque {}; 382 383 pub const DoStmt = opaque { 384 pub const getCond = ZigClangDoStmt_getCond; 385 extern fn ZigClangDoStmt_getCond(*const DoStmt) *const Expr; 386 387 pub const getBody = ZigClangDoStmt_getBody; 388 extern fn ZigClangDoStmt_getBody(*const DoStmt) *const Stmt; 389 }; 390 391 pub const ElaboratedType = opaque { 392 pub const getNamedType = ZigClangElaboratedType_getNamedType; 393 extern fn ZigClangElaboratedType_getNamedType(*const ElaboratedType) QualType; 394 }; 395 396 pub const EnumConstantDecl = opaque { 397 pub const getInitVal = ZigClangEnumConstantDecl_getInitVal; 398 extern fn ZigClangEnumConstantDecl_getInitVal(*const EnumConstantDecl) *const APSInt; 399 }; 400 401 pub const EnumDecl = opaque { 402 pub const getCanonicalDecl = ZigClangEnumDecl_getCanonicalDecl; 403 extern fn ZigClangEnumDecl_getCanonicalDecl(*const EnumDecl) ?*const TagDecl; 404 405 pub const getIntegerType = ZigClangEnumDecl_getIntegerType; 406 extern fn ZigClangEnumDecl_getIntegerType(*const EnumDecl) QualType; 407 408 pub const getDefinition = ZigClangEnumDecl_getDefinition; 409 extern fn ZigClangEnumDecl_getDefinition(*const EnumDecl) ?*const EnumDecl; 410 411 pub const getLocation = ZigClangEnumDecl_getLocation; 412 extern fn ZigClangEnumDecl_getLocation(*const EnumDecl) SourceLocation; 413 414 pub const enumerator_begin = ZigClangEnumDecl_enumerator_begin; 415 extern fn ZigClangEnumDecl_enumerator_begin(*const EnumDecl) enumerator_iterator; 416 417 pub const enumerator_end = ZigClangEnumDecl_enumerator_end; 418 extern fn ZigClangEnumDecl_enumerator_end(*const EnumDecl) enumerator_iterator; 419 420 pub const enumerator_iterator = extern struct { 421 ptr: *c_void, 422 423 pub const next = ZigClangEnumDecl_enumerator_iterator_next; 424 extern fn ZigClangEnumDecl_enumerator_iterator_next(enumerator_iterator) enumerator_iterator; 425 426 pub const deref = ZigClangEnumDecl_enumerator_iterator_deref; 427 extern fn ZigClangEnumDecl_enumerator_iterator_deref(enumerator_iterator) *const EnumConstantDecl; 428 429 pub const neq = ZigClangEnumDecl_enumerator_iterator_neq; 430 extern fn ZigClangEnumDecl_enumerator_iterator_neq(enumerator_iterator, enumerator_iterator) bool; 431 }; 432 }; 433 434 pub const EnumType = opaque { 435 pub const getDecl = ZigClangEnumType_getDecl; 436 extern fn ZigClangEnumType_getDecl(*const EnumType) *const EnumDecl; 437 }; 438 439 pub const Expr = opaque { 440 pub const getStmtClass = ZigClangExpr_getStmtClass; 441 extern fn ZigClangExpr_getStmtClass(*const Expr) StmtClass; 442 443 pub const getType = ZigClangExpr_getType; 444 extern fn ZigClangExpr_getType(*const Expr) QualType; 445 446 pub const getBeginLoc = ZigClangExpr_getBeginLoc; 447 extern fn ZigClangExpr_getBeginLoc(*const Expr) SourceLocation; 448 449 pub const evaluateAsConstantExpr = ZigClangExpr_EvaluateAsConstantExpr; 450 extern fn ZigClangExpr_EvaluateAsConstantExpr(*const Expr, *ExprEvalResult, Expr_ConstantExprKind, *const ASTContext) bool; 451 }; 452 453 pub const FieldDecl = opaque { 454 pub const getCanonicalDecl = ZigClangFieldDecl_getCanonicalDecl; 455 extern fn ZigClangFieldDecl_getCanonicalDecl(*const FieldDecl) ?*const FieldDecl; 456 457 pub const getAlignedAttribute = ZigClangFieldDecl_getAlignedAttribute; 458 extern fn ZigClangFieldDecl_getAlignedAttribute(*const FieldDecl, *const ASTContext) c_uint; 459 460 pub const isAnonymousStructOrUnion = ZigClangFieldDecl_isAnonymousStructOrUnion; 461 extern fn ZigClangFieldDecl_isAnonymousStructOrUnion(*const FieldDecl) bool; 462 463 pub const isBitField = ZigClangFieldDecl_isBitField; 464 extern fn ZigClangFieldDecl_isBitField(*const FieldDecl) bool; 465 466 pub const getType = ZigClangFieldDecl_getType; 467 extern fn ZigClangFieldDecl_getType(*const FieldDecl) QualType; 468 469 pub const getLocation = ZigClangFieldDecl_getLocation; 470 extern fn ZigClangFieldDecl_getLocation(*const FieldDecl) SourceLocation; 471 472 pub const getParent = ZigClangFieldDecl_getParent; 473 extern fn ZigClangFieldDecl_getParent(*const FieldDecl) ?*const RecordDecl; 474 475 pub const getFieldIndex = ZigClangFieldDecl_getFieldIndex; 476 extern fn ZigClangFieldDecl_getFieldIndex(*const FieldDecl) c_uint; 477 }; 478 479 pub const FileID = opaque {}; 480 481 pub const FloatingLiteral = opaque { 482 pub const getValueAsApproximateDouble = ZigClangFloatingLiteral_getValueAsApproximateDouble; 483 extern fn ZigClangFloatingLiteral_getValueAsApproximateDouble(*const FloatingLiteral) f64; 484 485 pub const getBeginLoc = ZigClangIntegerLiteral_getBeginLoc; 486 extern fn ZigClangIntegerLiteral_getBeginLoc(*const FloatingLiteral) SourceLocation; 487 488 pub const getRawSemantics = ZigClangFloatingLiteral_getRawSemantics; 489 extern fn ZigClangFloatingLiteral_getRawSemantics(*const FloatingLiteral) APFloatBaseSemantics; 490 }; 491 492 pub const ForStmt = opaque { 493 pub const getInit = ZigClangForStmt_getInit; 494 extern fn ZigClangForStmt_getInit(*const ForStmt) ?*const Stmt; 495 496 pub const getCond = ZigClangForStmt_getCond; 497 extern fn ZigClangForStmt_getCond(*const ForStmt) ?*const Expr; 498 499 pub const getInc = ZigClangForStmt_getInc; 500 extern fn ZigClangForStmt_getInc(*const ForStmt) ?*const Expr; 501 502 pub const getBody = ZigClangForStmt_getBody; 503 extern fn ZigClangForStmt_getBody(*const ForStmt) *const Stmt; 504 }; 505 506 pub const FullSourceLoc = opaque {}; 507 508 pub const FunctionDecl = opaque { 509 pub const getType = ZigClangFunctionDecl_getType; 510 extern fn ZigClangFunctionDecl_getType(*const FunctionDecl) QualType; 511 512 pub const getLocation = ZigClangFunctionDecl_getLocation; 513 extern fn ZigClangFunctionDecl_getLocation(*const FunctionDecl) SourceLocation; 514 515 pub const hasBody = ZigClangFunctionDecl_hasBody; 516 extern fn ZigClangFunctionDecl_hasBody(*const FunctionDecl) bool; 517 518 pub const getStorageClass = ZigClangFunctionDecl_getStorageClass; 519 extern fn ZigClangFunctionDecl_getStorageClass(*const FunctionDecl) StorageClass; 520 521 pub const getParamDecl = ZigClangFunctionDecl_getParamDecl; 522 extern fn ZigClangFunctionDecl_getParamDecl(*const FunctionDecl, i: c_uint) *const ParmVarDecl; 523 524 pub const getBody = ZigClangFunctionDecl_getBody; 525 extern fn ZigClangFunctionDecl_getBody(*const FunctionDecl) *const Stmt; 526 527 pub const doesDeclarationForceExternallyVisibleDefinition = ZigClangFunctionDecl_doesDeclarationForceExternallyVisibleDefinition; 528 extern fn ZigClangFunctionDecl_doesDeclarationForceExternallyVisibleDefinition(*const FunctionDecl) bool; 529 530 pub const isThisDeclarationADefinition = ZigClangFunctionDecl_isThisDeclarationADefinition; 531 extern fn ZigClangFunctionDecl_isThisDeclarationADefinition(*const FunctionDecl) bool; 532 533 pub const doesThisDeclarationHaveABody = ZigClangFunctionDecl_doesThisDeclarationHaveABody; 534 extern fn ZigClangFunctionDecl_doesThisDeclarationHaveABody(*const FunctionDecl) bool; 535 536 pub const isInlineSpecified = ZigClangFunctionDecl_isInlineSpecified; 537 extern fn ZigClangFunctionDecl_isInlineSpecified(*const FunctionDecl) bool; 538 539 pub const hasAlwaysInlineAttr = ZigClangFunctionDecl_hasAlwaysInlineAttr; 540 extern fn ZigClangFunctionDecl_hasAlwaysInlineAttr(*const FunctionDecl) bool; 541 542 pub const isDefined = ZigClangFunctionDecl_isDefined; 543 extern fn ZigClangFunctionDecl_isDefined(*const FunctionDecl) bool; 544 545 pub const getDefinition = ZigClangFunctionDecl_getDefinition; 546 extern fn ZigClangFunctionDecl_getDefinition(*const FunctionDecl) ?*const FunctionDecl; 547 548 pub const getSectionAttribute = ZigClangFunctionDecl_getSectionAttribute; 549 extern fn ZigClangFunctionDecl_getSectionAttribute(*const FunctionDecl, len: *usize) ?[*]const u8; 550 551 pub const getCanonicalDecl = ZigClangFunctionDecl_getCanonicalDecl; 552 extern fn ZigClangFunctionDecl_getCanonicalDecl(*const FunctionDecl) ?*const FunctionDecl; 553 554 pub const getAlignedAttribute = ZigClangFunctionDecl_getAlignedAttribute; 555 extern fn ZigClangFunctionDecl_getAlignedAttribute(*const FunctionDecl, *const ASTContext) c_uint; 556 }; 557 558 pub const FunctionProtoType = opaque { 559 pub const isVariadic = ZigClangFunctionProtoType_isVariadic; 560 extern fn ZigClangFunctionProtoType_isVariadic(*const FunctionProtoType) bool; 561 562 pub const getNumParams = ZigClangFunctionProtoType_getNumParams; 563 extern fn ZigClangFunctionProtoType_getNumParams(*const FunctionProtoType) c_uint; 564 565 pub const getParamType = ZigClangFunctionProtoType_getParamType; 566 extern fn ZigClangFunctionProtoType_getParamType(*const FunctionProtoType, i: c_uint) QualType; 567 568 pub const getReturnType = ZigClangFunctionProtoType_getReturnType; 569 extern fn ZigClangFunctionProtoType_getReturnType(*const FunctionProtoType) QualType; 570 }; 571 572 pub const FunctionType = opaque { 573 pub const getNoReturnAttr = ZigClangFunctionType_getNoReturnAttr; 574 extern fn ZigClangFunctionType_getNoReturnAttr(*const FunctionType) bool; 575 576 pub const getCallConv = ZigClangFunctionType_getCallConv; 577 extern fn ZigClangFunctionType_getCallConv(*const FunctionType) CallingConv; 578 579 pub const getReturnType = ZigClangFunctionType_getReturnType; 580 extern fn ZigClangFunctionType_getReturnType(*const FunctionType) QualType; 581 }; 582 583 pub const GenericSelectionExpr = opaque { 584 pub const getResultExpr = ZigClangGenericSelectionExpr_getResultExpr; 585 extern fn ZigClangGenericSelectionExpr_getResultExpr(*const GenericSelectionExpr) *const Expr; 586 }; 587 588 pub const IfStmt = opaque { 589 pub const getThen = ZigClangIfStmt_getThen; 590 extern fn ZigClangIfStmt_getThen(*const IfStmt) *const Stmt; 591 592 pub const getElse = ZigClangIfStmt_getElse; 593 extern fn ZigClangIfStmt_getElse(*const IfStmt) ?*const Stmt; 594 595 pub const getCond = ZigClangIfStmt_getCond; 596 extern fn ZigClangIfStmt_getCond(*const IfStmt) *const Stmt; 597 }; 598 599 pub const ImplicitCastExpr = opaque { 600 pub const getBeginLoc = ZigClangImplicitCastExpr_getBeginLoc; 601 extern fn ZigClangImplicitCastExpr_getBeginLoc(*const ImplicitCastExpr) SourceLocation; 602 603 pub const getCastKind = ZigClangImplicitCastExpr_getCastKind; 604 extern fn ZigClangImplicitCastExpr_getCastKind(*const ImplicitCastExpr) CK; 605 606 pub const getSubExpr = ZigClangImplicitCastExpr_getSubExpr; 607 extern fn ZigClangImplicitCastExpr_getSubExpr(*const ImplicitCastExpr) *const Expr; 608 }; 609 610 pub const IncompleteArrayType = opaque { 611 pub const getElementType = ZigClangIncompleteArrayType_getElementType; 612 extern fn ZigClangIncompleteArrayType_getElementType(*const IncompleteArrayType) QualType; 613 }; 614 615 pub const IntegerLiteral = opaque { 616 pub const EvaluateAsInt = ZigClangIntegerLiteral_EvaluateAsInt; 617 extern fn ZigClangIntegerLiteral_EvaluateAsInt(*const IntegerLiteral, *ExprEvalResult, *const ASTContext) bool; 618 619 pub const getBeginLoc = ZigClangIntegerLiteral_getBeginLoc; 620 extern fn ZigClangIntegerLiteral_getBeginLoc(*const IntegerLiteral) SourceLocation; 621 622 pub const getSignum = ZigClangIntegerLiteral_getSignum; 623 extern fn ZigClangIntegerLiteral_getSignum(*const IntegerLiteral, *c_int, *const ASTContext) bool; 624 }; 625 626 /// This is just used as a namespace for a static method on clang's Lexer class; we don't directly 627 /// deal with Lexer objects 628 pub const Lexer = struct { 629 pub const getLocForEndOfToken = ZigClangLexer_getLocForEndOfToken; 630 extern fn ZigClangLexer_getLocForEndOfToken(SourceLocation, *const SourceManager, *const ASTUnit) SourceLocation; 631 }; 632 633 pub const MacroDefinitionRecord = opaque { 634 pub const getName_getNameStart = ZigClangMacroDefinitionRecord_getName_getNameStart; 635 extern fn ZigClangMacroDefinitionRecord_getName_getNameStart(*const MacroDefinitionRecord) [*:0]const u8; 636 637 pub const getSourceRange_getBegin = ZigClangMacroDefinitionRecord_getSourceRange_getBegin; 638 extern fn ZigClangMacroDefinitionRecord_getSourceRange_getBegin(*const MacroDefinitionRecord) SourceLocation; 639 640 pub const getSourceRange_getEnd = ZigClangMacroDefinitionRecord_getSourceRange_getEnd; 641 extern fn ZigClangMacroDefinitionRecord_getSourceRange_getEnd(*const MacroDefinitionRecord) SourceLocation; 642 }; 643 644 pub const MacroQualifiedType = opaque { 645 pub const getModifiedType = ZigClangMacroQualifiedType_getModifiedType; 646 extern fn ZigClangMacroQualifiedType_getModifiedType(*const MacroQualifiedType) QualType; 647 }; 648 649 pub const TypeOfType = opaque { 650 pub const getUnderlyingType = ZigClangTypeOfType_getUnderlyingType; 651 extern fn ZigClangTypeOfType_getUnderlyingType(*const TypeOfType) QualType; 652 }; 653 654 pub const TypeOfExprType = opaque { 655 pub const getUnderlyingExpr = ZigClangTypeOfExprType_getUnderlyingExpr; 656 extern fn ZigClangTypeOfExprType_getUnderlyingExpr(*const TypeOfExprType) *const Expr; 657 }; 658 659 pub const OffsetOfNode = opaque { 660 pub const getKind = ZigClangOffsetOfNode_getKind; 661 extern fn ZigClangOffsetOfNode_getKind(*const OffsetOfNode) OffsetOfNode_Kind; 662 663 pub const getArrayExprIndex = ZigClangOffsetOfNode_getArrayExprIndex; 664 extern fn ZigClangOffsetOfNode_getArrayExprIndex(*const OffsetOfNode) c_uint; 665 666 pub const getField = ZigClangOffsetOfNode_getField; 667 extern fn ZigClangOffsetOfNode_getField(*const OffsetOfNode) *FieldDecl; 668 }; 669 670 pub const OffsetOfExpr = opaque { 671 pub const getNumComponents = ZigClangOffsetOfExpr_getNumComponents; 672 extern fn ZigClangOffsetOfExpr_getNumComponents(*const OffsetOfExpr) c_uint; 673 674 pub const getNumExpressions = ZigClangOffsetOfExpr_getNumExpressions; 675 extern fn ZigClangOffsetOfExpr_getNumExpressions(*const OffsetOfExpr) c_uint; 676 677 pub const getIndexExpr = ZigClangOffsetOfExpr_getIndexExpr; 678 extern fn ZigClangOffsetOfExpr_getIndexExpr(*const OffsetOfExpr, idx: c_uint) *const Expr; 679 680 pub const getComponent = ZigClangOffsetOfExpr_getComponent; 681 extern fn ZigClangOffsetOfExpr_getComponent(*const OffsetOfExpr, idx: c_uint) *const OffsetOfNode; 682 683 pub const getBeginLoc = ZigClangOffsetOfExpr_getBeginLoc; 684 extern fn ZigClangOffsetOfExpr_getBeginLoc(*const OffsetOfExpr) SourceLocation; 685 }; 686 687 pub const MemberExpr = opaque { 688 pub const getBase = ZigClangMemberExpr_getBase; 689 extern fn ZigClangMemberExpr_getBase(*const MemberExpr) *const Expr; 690 691 pub const isArrow = ZigClangMemberExpr_isArrow; 692 extern fn ZigClangMemberExpr_isArrow(*const MemberExpr) bool; 693 694 pub const getMemberDecl = ZigClangMemberExpr_getMemberDecl; 695 extern fn ZigClangMemberExpr_getMemberDecl(*const MemberExpr) *const ValueDecl; 696 }; 697 698 pub const NamedDecl = opaque { 699 pub const getName_bytes_begin = ZigClangNamedDecl_getName_bytes_begin; 700 extern fn ZigClangNamedDecl_getName_bytes_begin(decl: *const NamedDecl) [*:0]const u8; 701 }; 702 703 pub const None = opaque {}; 704 705 pub const OpaqueValueExpr = opaque { 706 pub const getSourceExpr = ZigClangOpaqueValueExpr_getSourceExpr; 707 extern fn ZigClangOpaqueValueExpr_getSourceExpr(*const OpaqueValueExpr) ?*const Expr; 708 }; 709 710 pub const PCHContainerOperations = opaque {}; 711 712 pub const ParenExpr = opaque { 713 pub const getSubExpr = ZigClangParenExpr_getSubExpr; 714 extern fn ZigClangParenExpr_getSubExpr(*const ParenExpr) *const Expr; 715 }; 716 717 pub const ParenType = opaque { 718 pub const getInnerType = ZigClangParenType_getInnerType; 719 extern fn ZigClangParenType_getInnerType(*const ParenType) QualType; 720 }; 721 722 pub const ParmVarDecl = opaque { 723 pub const getOriginalType = ZigClangParmVarDecl_getOriginalType; 724 extern fn ZigClangParmVarDecl_getOriginalType(*const ParmVarDecl) QualType; 725 }; 726 727 pub const PointerType = opaque {}; 728 729 pub const PredefinedExpr = opaque { 730 pub const getFunctionName = ZigClangPredefinedExpr_getFunctionName; 731 extern fn ZigClangPredefinedExpr_getFunctionName(*const PredefinedExpr) *const StringLiteral; 732 }; 733 734 pub const PreprocessedEntity = opaque { 735 pub const getKind = ZigClangPreprocessedEntity_getKind; 736 extern fn ZigClangPreprocessedEntity_getKind(*const PreprocessedEntity) PreprocessedEntity_EntityKind; 737 }; 738 739 pub const PreprocessingRecord = opaque { 740 pub const iterator = extern struct { 741 I: c_int, 742 Self: *PreprocessingRecord, 743 744 pub const deref = ZigClangPreprocessingRecord_iterator_deref; 745 extern fn ZigClangPreprocessingRecord_iterator_deref(iterator) *PreprocessedEntity; 746 }; 747 }; 748 749 pub const RecordDecl = opaque { 750 pub const getCanonicalDecl = ZigClangRecordDecl_getCanonicalDecl; 751 extern fn ZigClangRecordDecl_getCanonicalDecl(*const RecordDecl) ?*const TagDecl; 752 753 pub const isUnion = ZigClangRecordDecl_isUnion; 754 extern fn ZigClangRecordDecl_isUnion(*const RecordDecl) bool; 755 756 pub const isStruct = ZigClangRecordDecl_isStruct; 757 extern fn ZigClangRecordDecl_isStruct(*const RecordDecl) bool; 758 759 pub const isAnonymousStructOrUnion = ZigClangRecordDecl_isAnonymousStructOrUnion; 760 extern fn ZigClangRecordDecl_isAnonymousStructOrUnion(record_decl: ?*const RecordDecl) bool; 761 762 pub const getPackedAttribute = ZigClangRecordDecl_getPackedAttribute; 763 extern fn ZigClangRecordDecl_getPackedAttribute(*const RecordDecl) bool; 764 765 pub const getDefinition = ZigClangRecordDecl_getDefinition; 766 extern fn ZigClangRecordDecl_getDefinition(*const RecordDecl) ?*const RecordDecl; 767 768 pub const getLocation = ZigClangRecordDecl_getLocation; 769 extern fn ZigClangRecordDecl_getLocation(*const RecordDecl) SourceLocation; 770 771 pub const getASTRecordLayout = ZigClangRecordDecl_getASTRecordLayout; 772 extern fn ZigClangRecordDecl_getASTRecordLayout(*const RecordDecl, *const ASTContext) *const ASTRecordLayout; 773 774 pub const field_begin = ZigClangRecordDecl_field_begin; 775 extern fn ZigClangRecordDecl_field_begin(*const RecordDecl) field_iterator; 776 777 pub const field_end = ZigClangRecordDecl_field_end; 778 extern fn ZigClangRecordDecl_field_end(*const RecordDecl) field_iterator; 779 780 pub const field_iterator = extern struct { 781 ptr: *c_void, 782 783 pub const next = ZigClangRecordDecl_field_iterator_next; 784 extern fn ZigClangRecordDecl_field_iterator_next(field_iterator) field_iterator; 785 786 pub const deref = ZigClangRecordDecl_field_iterator_deref; 787 extern fn ZigClangRecordDecl_field_iterator_deref(field_iterator) *const FieldDecl; 788 789 pub const neq = ZigClangRecordDecl_field_iterator_neq; 790 extern fn ZigClangRecordDecl_field_iterator_neq(field_iterator, field_iterator) bool; 791 }; 792 }; 793 794 pub const RecordType = opaque { 795 pub const getDecl = ZigClangRecordType_getDecl; 796 extern fn ZigClangRecordType_getDecl(*const RecordType) *const RecordDecl; 797 }; 798 799 pub const ReturnStmt = opaque { 800 pub const getRetValue = ZigClangReturnStmt_getRetValue; 801 extern fn ZigClangReturnStmt_getRetValue(*const ReturnStmt) ?*const Expr; 802 }; 803 804 pub const ShuffleVectorExpr = opaque { 805 pub const getNumSubExprs = ZigClangShuffleVectorExpr_getNumSubExprs; 806 extern fn ZigClangShuffleVectorExpr_getNumSubExprs(*const ShuffleVectorExpr) c_uint; 807 808 pub const getExpr = ZigClangShuffleVectorExpr_getExpr; 809 extern fn ZigClangShuffleVectorExpr_getExpr(*const ShuffleVectorExpr, c_uint) *const Expr; 810 }; 811 812 pub const SourceManager = opaque { 813 pub const getSpellingLoc = ZigClangSourceManager_getSpellingLoc; 814 extern fn ZigClangSourceManager_getSpellingLoc(*const SourceManager, Loc: SourceLocation) SourceLocation; 815 816 pub const getFilename = ZigClangSourceManager_getFilename; 817 extern fn ZigClangSourceManager_getFilename(*const SourceManager, SpellingLoc: SourceLocation) ?[*:0]const u8; 818 819 pub const getSpellingLineNumber = ZigClangSourceManager_getSpellingLineNumber; 820 extern fn ZigClangSourceManager_getSpellingLineNumber(*const SourceManager, Loc: SourceLocation) c_uint; 821 822 pub const getSpellingColumnNumber = ZigClangSourceManager_getSpellingColumnNumber; 823 extern fn ZigClangSourceManager_getSpellingColumnNumber(*const SourceManager, Loc: SourceLocation) c_uint; 824 825 pub const getCharacterData = ZigClangSourceManager_getCharacterData; 826 extern fn ZigClangSourceManager_getCharacterData(*const SourceManager, SL: SourceLocation) [*:0]const u8; 827 }; 828 829 pub const SourceRange = opaque {}; 830 831 pub const Stmt = opaque { 832 pub const getBeginLoc = ZigClangStmt_getBeginLoc; 833 extern fn ZigClangStmt_getBeginLoc(*const Stmt) SourceLocation; 834 835 pub const getStmtClass = ZigClangStmt_getStmtClass; 836 extern fn ZigClangStmt_getStmtClass(*const Stmt) StmtClass; 837 838 pub const classof_Expr = ZigClangStmt_classof_Expr; 839 extern fn ZigClangStmt_classof_Expr(*const Stmt) bool; 840 }; 841 842 pub const StmtExpr = opaque { 843 pub const getSubStmt = ZigClangStmtExpr_getSubStmt; 844 extern fn ZigClangStmtExpr_getSubStmt(*const StmtExpr) *const CompoundStmt; 845 }; 846 847 pub const StringLiteral = opaque { 848 pub const getKind = ZigClangStringLiteral_getKind; 849 extern fn ZigClangStringLiteral_getKind(*const StringLiteral) StringLiteral_StringKind; 850 851 pub const getCodeUnit = ZigClangStringLiteral_getCodeUnit; 852 extern fn ZigClangStringLiteral_getCodeUnit(*const StringLiteral, usize) u32; 853 854 pub const getLength = ZigClangStringLiteral_getLength; 855 extern fn ZigClangStringLiteral_getLength(*const StringLiteral) c_uint; 856 857 pub const getCharByteWidth = ZigClangStringLiteral_getCharByteWidth; 858 extern fn ZigClangStringLiteral_getCharByteWidth(*const StringLiteral) c_uint; 859 860 pub const getString_bytes_begin_size = ZigClangStringLiteral_getString_bytes_begin_size; 861 extern fn ZigClangStringLiteral_getString_bytes_begin_size(*const StringLiteral, *usize) [*]const u8; 862 }; 863 864 pub const StringRef = opaque {}; 865 866 pub const SwitchStmt = opaque { 867 pub const getConditionVariableDeclStmt = ZigClangSwitchStmt_getConditionVariableDeclStmt; 868 extern fn ZigClangSwitchStmt_getConditionVariableDeclStmt(*const SwitchStmt) ?*const DeclStmt; 869 870 pub const getCond = ZigClangSwitchStmt_getCond; 871 extern fn ZigClangSwitchStmt_getCond(*const SwitchStmt) *const Expr; 872 873 pub const getBody = ZigClangSwitchStmt_getBody; 874 extern fn ZigClangSwitchStmt_getBody(*const SwitchStmt) *const Stmt; 875 876 pub const isAllEnumCasesCovered = ZigClangSwitchStmt_isAllEnumCasesCovered; 877 extern fn ZigClangSwitchStmt_isAllEnumCasesCovered(*const SwitchStmt) bool; 878 }; 879 880 pub const TagDecl = opaque { 881 pub const isThisDeclarationADefinition = ZigClangTagDecl_isThisDeclarationADefinition; 882 extern fn ZigClangTagDecl_isThisDeclarationADefinition(*const TagDecl) bool; 883 }; 884 885 pub const Type = opaque { 886 pub const getTypeClass = ZigClangType_getTypeClass; 887 extern fn ZigClangType_getTypeClass(*const Type) TypeClass; 888 889 pub const getPointeeType = ZigClangType_getPointeeType; 890 extern fn ZigClangType_getPointeeType(*const Type) QualType; 891 892 pub const isVoidType = ZigClangType_isVoidType; 893 extern fn ZigClangType_isVoidType(*const Type) bool; 894 895 pub const isConstantArrayType = ZigClangType_isConstantArrayType; 896 extern fn ZigClangType_isConstantArrayType(*const Type) bool; 897 898 pub const isRecordType = ZigClangType_isRecordType; 899 extern fn ZigClangType_isRecordType(*const Type) bool; 900 901 pub const isVectorType = ZigClangType_isVectorType; 902 extern fn ZigClangType_isVectorType(*const Type) bool; 903 904 pub const isIncompleteOrZeroLengthArrayType = ZigClangType_isIncompleteOrZeroLengthArrayType; 905 extern fn ZigClangType_isIncompleteOrZeroLengthArrayType(*const Type, *const ASTContext) bool; 906 907 pub const isArrayType = ZigClangType_isArrayType; 908 extern fn ZigClangType_isArrayType(*const Type) bool; 909 910 pub const isBooleanType = ZigClangType_isBooleanType; 911 extern fn ZigClangType_isBooleanType(*const Type) bool; 912 913 pub const getTypeClassName = ZigClangType_getTypeClassName; 914 extern fn ZigClangType_getTypeClassName(*const Type) [*:0]const u8; 915 916 pub const getAsArrayTypeUnsafe = ZigClangType_getAsArrayTypeUnsafe; 917 extern fn ZigClangType_getAsArrayTypeUnsafe(*const Type) *const ArrayType; 918 919 pub const getAsRecordType = ZigClangType_getAsRecordType; 920 extern fn ZigClangType_getAsRecordType(*const Type) ?*const RecordType; 921 922 pub const getAsUnionType = ZigClangType_getAsUnionType; 923 extern fn ZigClangType_getAsUnionType(*const Type) ?*const RecordType; 924 }; 925 926 pub const TypedefNameDecl = opaque { 927 pub const getUnderlyingType = ZigClangTypedefNameDecl_getUnderlyingType; 928 extern fn ZigClangTypedefNameDecl_getUnderlyingType(*const TypedefNameDecl) QualType; 929 930 pub const getCanonicalDecl = ZigClangTypedefNameDecl_getCanonicalDecl; 931 extern fn ZigClangTypedefNameDecl_getCanonicalDecl(*const TypedefNameDecl) ?*const TypedefNameDecl; 932 933 pub const getLocation = ZigClangTypedefNameDecl_getLocation; 934 extern fn ZigClangTypedefNameDecl_getLocation(*const TypedefNameDecl) SourceLocation; 935 }; 936 937 pub const FileScopeAsmDecl = opaque { 938 pub const getAsmString = ZigClangFileScopeAsmDecl_getAsmString; 939 extern fn ZigClangFileScopeAsmDecl_getAsmString(*const FileScopeAsmDecl) *const StringLiteral; 940 }; 941 942 pub const TypedefType = opaque { 943 pub const getDecl = ZigClangTypedefType_getDecl; 944 extern fn ZigClangTypedefType_getDecl(*const TypedefType) *const TypedefNameDecl; 945 }; 946 947 pub const UnaryExprOrTypeTraitExpr = opaque { 948 pub const getTypeOfArgument = ZigClangUnaryExprOrTypeTraitExpr_getTypeOfArgument; 949 extern fn ZigClangUnaryExprOrTypeTraitExpr_getTypeOfArgument(*const UnaryExprOrTypeTraitExpr) QualType; 950 951 pub const getBeginLoc = ZigClangUnaryExprOrTypeTraitExpr_getBeginLoc; 952 extern fn ZigClangUnaryExprOrTypeTraitExpr_getBeginLoc(*const UnaryExprOrTypeTraitExpr) SourceLocation; 953 954 pub const getKind = ZigClangUnaryExprOrTypeTraitExpr_getKind; 955 extern fn ZigClangUnaryExprOrTypeTraitExpr_getKind(*const UnaryExprOrTypeTraitExpr) UnaryExprOrTypeTrait_Kind; 956 }; 957 958 pub const UnaryOperator = opaque { 959 pub const getOpcode = ZigClangUnaryOperator_getOpcode; 960 extern fn ZigClangUnaryOperator_getOpcode(*const UnaryOperator) UO; 961 962 pub const getType = ZigClangUnaryOperator_getType; 963 extern fn ZigClangUnaryOperator_getType(*const UnaryOperator) QualType; 964 965 pub const getSubExpr = ZigClangUnaryOperator_getSubExpr; 966 extern fn ZigClangUnaryOperator_getSubExpr(*const UnaryOperator) *const Expr; 967 968 pub const getBeginLoc = ZigClangUnaryOperator_getBeginLoc; 969 extern fn ZigClangUnaryOperator_getBeginLoc(*const UnaryOperator) SourceLocation; 970 }; 971 972 pub const ValueDecl = opaque { 973 pub const getType = ZigClangValueDecl_getType; 974 extern fn ZigClangValueDecl_getType(*const ValueDecl) QualType; 975 }; 976 977 pub const VarDecl = opaque { 978 pub const getLocation = ZigClangVarDecl_getLocation; 979 extern fn ZigClangVarDecl_getLocation(*const VarDecl) SourceLocation; 980 981 pub const hasInit = ZigClangVarDecl_hasInit; 982 extern fn ZigClangVarDecl_hasInit(*const VarDecl) bool; 983 984 pub const getStorageClass = ZigClangVarDecl_getStorageClass; 985 extern fn ZigClangVarDecl_getStorageClass(*const VarDecl) StorageClass; 986 987 pub const getType = ZigClangVarDecl_getType; 988 extern fn ZigClangVarDecl_getType(*const VarDecl) QualType; 989 990 pub const getInit = ZigClangVarDecl_getInit; 991 extern fn ZigClangVarDecl_getInit(*const VarDecl) ?*const Expr; 992 993 pub const getTLSKind = ZigClangVarDecl_getTLSKind; 994 extern fn ZigClangVarDecl_getTLSKind(*const VarDecl) VarDecl_TLSKind; 995 996 pub const getCanonicalDecl = ZigClangVarDecl_getCanonicalDecl; 997 extern fn ZigClangVarDecl_getCanonicalDecl(*const VarDecl) ?*const VarDecl; 998 999 pub const getSectionAttribute = ZigClangVarDecl_getSectionAttribute; 1000 extern fn ZigClangVarDecl_getSectionAttribute(*const VarDecl, len: *usize) ?[*]const u8; 1001 1002 pub const getAlignedAttribute = ZigClangVarDecl_getAlignedAttribute; 1003 extern fn ZigClangVarDecl_getAlignedAttribute(*const VarDecl, *const ASTContext) c_uint; 1004 1005 pub const getCleanupAttribute = ZigClangVarDecl_getCleanupAttribute; 1006 extern fn ZigClangVarDecl_getCleanupAttribute(*const VarDecl) ?*const FunctionDecl; 1007 1008 pub const getTypeSourceInfo_getType = ZigClangVarDecl_getTypeSourceInfo_getType; 1009 extern fn ZigClangVarDecl_getTypeSourceInfo_getType(*const VarDecl) QualType; 1010 1011 pub const isStaticLocal = ZigClangVarDecl_isStaticLocal; 1012 extern fn ZigClangVarDecl_isStaticLocal(*const VarDecl) bool; 1013 }; 1014 1015 pub const VectorType = opaque { 1016 pub const getElementType = ZigClangVectorType_getElementType; 1017 extern fn ZigClangVectorType_getElementType(*const VectorType) QualType; 1018 1019 pub const getNumElements = ZigClangVectorType_getNumElements; 1020 extern fn ZigClangVectorType_getNumElements(*const VectorType) c_uint; 1021 }; 1022 1023 pub const WhileStmt = opaque { 1024 pub const getCond = ZigClangWhileStmt_getCond; 1025 extern fn ZigClangWhileStmt_getCond(*const WhileStmt) *const Expr; 1026 1027 pub const getBody = ZigClangWhileStmt_getBody; 1028 extern fn ZigClangWhileStmt_getBody(*const WhileStmt) *const Stmt; 1029 }; 1030 1031 pub const InitListExpr = opaque { 1032 pub const getInit = ZigClangInitListExpr_getInit; 1033 extern fn ZigClangInitListExpr_getInit(*const InitListExpr, i: c_uint) *const Expr; 1034 1035 pub const getArrayFiller = ZigClangInitListExpr_getArrayFiller; 1036 extern fn ZigClangInitListExpr_getArrayFiller(*const InitListExpr) *const Expr; 1037 1038 pub const getNumInits = ZigClangInitListExpr_getNumInits; 1039 extern fn ZigClangInitListExpr_getNumInits(*const InitListExpr) c_uint; 1040 1041 pub const getInitializedFieldInUnion = ZigClangInitListExpr_getInitializedFieldInUnion; 1042 extern fn ZigClangInitListExpr_getInitializedFieldInUnion(*const InitListExpr) ?*FieldDecl; 1043 }; 1044 1045 pub const BO = enum(c_int) { 1046 PtrMemD, 1047 PtrMemI, 1048 Mul, 1049 Div, 1050 Rem, 1051 Add, 1052 Sub, 1053 Shl, 1054 Shr, 1055 Cmp, 1056 LT, 1057 GT, 1058 LE, 1059 GE, 1060 EQ, 1061 NE, 1062 And, 1063 Xor, 1064 Or, 1065 LAnd, 1066 LOr, 1067 Assign, 1068 MulAssign, 1069 DivAssign, 1070 RemAssign, 1071 AddAssign, 1072 SubAssign, 1073 ShlAssign, 1074 ShrAssign, 1075 AndAssign, 1076 XorAssign, 1077 OrAssign, 1078 Comma, 1079 }; 1080 1081 pub const UO = enum(c_int) { 1082 PostInc, 1083 PostDec, 1084 PreInc, 1085 PreDec, 1086 AddrOf, 1087 Deref, 1088 Plus, 1089 Minus, 1090 Not, 1091 LNot, 1092 Real, 1093 Imag, 1094 Extension, 1095 Coawait, 1096 }; 1097 1098 pub const TypeClass = enum(c_int) { 1099 Adjusted, 1100 Decayed, 1101 ConstantArray, 1102 DependentSizedArray, 1103 IncompleteArray, 1104 VariableArray, 1105 Atomic, 1106 Attributed, 1107 BlockPointer, 1108 Builtin, 1109 Complex, 1110 Decltype, 1111 Auto, 1112 DeducedTemplateSpecialization, 1113 DependentAddressSpace, 1114 DependentExtInt, 1115 DependentName, 1116 DependentSizedExtVector, 1117 DependentTemplateSpecialization, 1118 DependentVector, 1119 Elaborated, 1120 ExtInt, 1121 FunctionNoProto, 1122 FunctionProto, 1123 InjectedClassName, 1124 MacroQualified, 1125 ConstantMatrix, 1126 DependentSizedMatrix, 1127 MemberPointer, 1128 ObjCObjectPointer, 1129 ObjCObject, 1130 ObjCInterface, 1131 ObjCTypeParam, 1132 PackExpansion, 1133 Paren, 1134 Pipe, 1135 Pointer, 1136 LValueReference, 1137 RValueReference, 1138 SubstTemplateTypeParmPack, 1139 SubstTemplateTypeParm, 1140 Enum, 1141 Record, 1142 TemplateSpecialization, 1143 TemplateTypeParm, 1144 TypeOfExpr, 1145 TypeOf, 1146 Typedef, 1147 UnaryTransform, 1148 UnresolvedUsing, 1149 Vector, 1150 ExtVector, 1151 }; 1152 1153 const StmtClass = enum(c_int) { 1154 NoStmtClass, 1155 GCCAsmStmtClass, 1156 MSAsmStmtClass, 1157 BreakStmtClass, 1158 CXXCatchStmtClass, 1159 CXXForRangeStmtClass, 1160 CXXTryStmtClass, 1161 CapturedStmtClass, 1162 CompoundStmtClass, 1163 ContinueStmtClass, 1164 CoreturnStmtClass, 1165 CoroutineBodyStmtClass, 1166 DeclStmtClass, 1167 DoStmtClass, 1168 ForStmtClass, 1169 GotoStmtClass, 1170 IfStmtClass, 1171 IndirectGotoStmtClass, 1172 MSDependentExistsStmtClass, 1173 NullStmtClass, 1174 OMPCanonicalLoopClass, 1175 OMPAtomicDirectiveClass, 1176 OMPBarrierDirectiveClass, 1177 OMPCancelDirectiveClass, 1178 OMPCancellationPointDirectiveClass, 1179 OMPCriticalDirectiveClass, 1180 OMPDepobjDirectiveClass, 1181 OMPDispatchDirectiveClass, 1182 OMPFlushDirectiveClass, 1183 OMPInteropDirectiveClass, 1184 OMPDistributeDirectiveClass, 1185 OMPDistributeParallelForDirectiveClass, 1186 OMPDistributeParallelForSimdDirectiveClass, 1187 OMPDistributeSimdDirectiveClass, 1188 OMPForDirectiveClass, 1189 OMPForSimdDirectiveClass, 1190 OMPMasterTaskLoopDirectiveClass, 1191 OMPMasterTaskLoopSimdDirectiveClass, 1192 OMPParallelForDirectiveClass, 1193 OMPParallelForSimdDirectiveClass, 1194 OMPParallelMasterTaskLoopDirectiveClass, 1195 OMPParallelMasterTaskLoopSimdDirectiveClass, 1196 OMPSimdDirectiveClass, 1197 OMPTargetParallelForSimdDirectiveClass, 1198 OMPTargetSimdDirectiveClass, 1199 OMPTargetTeamsDistributeDirectiveClass, 1200 OMPTargetTeamsDistributeParallelForDirectiveClass, 1201 OMPTargetTeamsDistributeParallelForSimdDirectiveClass, 1202 OMPTargetTeamsDistributeSimdDirectiveClass, 1203 OMPTaskLoopDirectiveClass, 1204 OMPTaskLoopSimdDirectiveClass, 1205 OMPTeamsDistributeDirectiveClass, 1206 OMPTeamsDistributeParallelForDirectiveClass, 1207 OMPTeamsDistributeParallelForSimdDirectiveClass, 1208 OMPTeamsDistributeSimdDirectiveClass, 1209 OMPTileDirectiveClass, 1210 OMPUnrollDirectiveClass, 1211 OMPMaskedDirectiveClass, 1212 OMPMasterDirectiveClass, 1213 OMPOrderedDirectiveClass, 1214 OMPParallelDirectiveClass, 1215 OMPParallelMasterDirectiveClass, 1216 OMPParallelSectionsDirectiveClass, 1217 OMPScanDirectiveClass, 1218 OMPSectionDirectiveClass, 1219 OMPSectionsDirectiveClass, 1220 OMPSingleDirectiveClass, 1221 OMPTargetDataDirectiveClass, 1222 OMPTargetDirectiveClass, 1223 OMPTargetEnterDataDirectiveClass, 1224 OMPTargetExitDataDirectiveClass, 1225 OMPTargetParallelDirectiveClass, 1226 OMPTargetParallelForDirectiveClass, 1227 OMPTargetTeamsDirectiveClass, 1228 OMPTargetUpdateDirectiveClass, 1229 OMPTaskDirectiveClass, 1230 OMPTaskgroupDirectiveClass, 1231 OMPTaskwaitDirectiveClass, 1232 OMPTaskyieldDirectiveClass, 1233 OMPTeamsDirectiveClass, 1234 ObjCAtCatchStmtClass, 1235 ObjCAtFinallyStmtClass, 1236 ObjCAtSynchronizedStmtClass, 1237 ObjCAtThrowStmtClass, 1238 ObjCAtTryStmtClass, 1239 ObjCAutoreleasePoolStmtClass, 1240 ObjCForCollectionStmtClass, 1241 ReturnStmtClass, 1242 SEHExceptStmtClass, 1243 SEHFinallyStmtClass, 1244 SEHLeaveStmtClass, 1245 SEHTryStmtClass, 1246 CaseStmtClass, 1247 DefaultStmtClass, 1248 SwitchStmtClass, 1249 AttributedStmtClass, 1250 BinaryConditionalOperatorClass, 1251 ConditionalOperatorClass, 1252 AddrLabelExprClass, 1253 ArrayInitIndexExprClass, 1254 ArrayInitLoopExprClass, 1255 ArraySubscriptExprClass, 1256 ArrayTypeTraitExprClass, 1257 AsTypeExprClass, 1258 AtomicExprClass, 1259 BinaryOperatorClass, 1260 CompoundAssignOperatorClass, 1261 BlockExprClass, 1262 CXXBindTemporaryExprClass, 1263 CXXBoolLiteralExprClass, 1264 CXXConstructExprClass, 1265 CXXTemporaryObjectExprClass, 1266 CXXDefaultArgExprClass, 1267 CXXDefaultInitExprClass, 1268 CXXDeleteExprClass, 1269 CXXDependentScopeMemberExprClass, 1270 CXXFoldExprClass, 1271 CXXInheritedCtorInitExprClass, 1272 CXXNewExprClass, 1273 CXXNoexceptExprClass, 1274 CXXNullPtrLiteralExprClass, 1275 CXXPseudoDestructorExprClass, 1276 CXXRewrittenBinaryOperatorClass, 1277 CXXScalarValueInitExprClass, 1278 CXXStdInitializerListExprClass, 1279 CXXThisExprClass, 1280 CXXThrowExprClass, 1281 CXXTypeidExprClass, 1282 CXXUnresolvedConstructExprClass, 1283 CXXUuidofExprClass, 1284 CallExprClass, 1285 CUDAKernelCallExprClass, 1286 CXXMemberCallExprClass, 1287 CXXOperatorCallExprClass, 1288 UserDefinedLiteralClass, 1289 BuiltinBitCastExprClass, 1290 CStyleCastExprClass, 1291 CXXFunctionalCastExprClass, 1292 CXXAddrspaceCastExprClass, 1293 CXXConstCastExprClass, 1294 CXXDynamicCastExprClass, 1295 CXXReinterpretCastExprClass, 1296 CXXStaticCastExprClass, 1297 ObjCBridgedCastExprClass, 1298 ImplicitCastExprClass, 1299 CharacterLiteralClass, 1300 ChooseExprClass, 1301 CompoundLiteralExprClass, 1302 ConceptSpecializationExprClass, 1303 ConvertVectorExprClass, 1304 CoawaitExprClass, 1305 CoyieldExprClass, 1306 DeclRefExprClass, 1307 DependentCoawaitExprClass, 1308 DependentScopeDeclRefExprClass, 1309 DesignatedInitExprClass, 1310 DesignatedInitUpdateExprClass, 1311 ExpressionTraitExprClass, 1312 ExtVectorElementExprClass, 1313 FixedPointLiteralClass, 1314 FloatingLiteralClass, 1315 ConstantExprClass, 1316 ExprWithCleanupsClass, 1317 FunctionParmPackExprClass, 1318 GNUNullExprClass, 1319 GenericSelectionExprClass, 1320 ImaginaryLiteralClass, 1321 ImplicitValueInitExprClass, 1322 InitListExprClass, 1323 IntegerLiteralClass, 1324 LambdaExprClass, 1325 MSPropertyRefExprClass, 1326 MSPropertySubscriptExprClass, 1327 MaterializeTemporaryExprClass, 1328 MatrixSubscriptExprClass, 1329 MemberExprClass, 1330 NoInitExprClass, 1331 OMPArraySectionExprClass, 1332 OMPArrayShapingExprClass, 1333 OMPIteratorExprClass, 1334 ObjCArrayLiteralClass, 1335 ObjCAvailabilityCheckExprClass, 1336 ObjCBoolLiteralExprClass, 1337 ObjCBoxedExprClass, 1338 ObjCDictionaryLiteralClass, 1339 ObjCEncodeExprClass, 1340 ObjCIndirectCopyRestoreExprClass, 1341 ObjCIsaExprClass, 1342 ObjCIvarRefExprClass, 1343 ObjCMessageExprClass, 1344 ObjCPropertyRefExprClass, 1345 ObjCProtocolExprClass, 1346 ObjCSelectorExprClass, 1347 ObjCStringLiteralClass, 1348 ObjCSubscriptRefExprClass, 1349 OffsetOfExprClass, 1350 OpaqueValueExprClass, 1351 UnresolvedLookupExprClass, 1352 UnresolvedMemberExprClass, 1353 PackExpansionExprClass, 1354 ParenExprClass, 1355 ParenListExprClass, 1356 PredefinedExprClass, 1357 PseudoObjectExprClass, 1358 RecoveryExprClass, 1359 RequiresExprClass, 1360 SYCLUniqueStableNameExprClass, 1361 ShuffleVectorExprClass, 1362 SizeOfPackExprClass, 1363 SourceLocExprClass, 1364 StmtExprClass, 1365 StringLiteralClass, 1366 SubstNonTypeTemplateParmExprClass, 1367 SubstNonTypeTemplateParmPackExprClass, 1368 TypeTraitExprClass, 1369 TypoExprClass, 1370 UnaryExprOrTypeTraitExprClass, 1371 UnaryOperatorClass, 1372 VAArgExprClass, 1373 LabelStmtClass, 1374 WhileStmtClass, 1375 }; 1376 1377 pub const CK = enum(c_int) { 1378 Dependent, 1379 BitCast, 1380 LValueBitCast, 1381 LValueToRValueBitCast, 1382 LValueToRValue, 1383 NoOp, 1384 BaseToDerived, 1385 DerivedToBase, 1386 UncheckedDerivedToBase, 1387 Dynamic, 1388 ToUnion, 1389 ArrayToPointerDecay, 1390 FunctionToPointerDecay, 1391 NullToPointer, 1392 NullToMemberPointer, 1393 BaseToDerivedMemberPointer, 1394 DerivedToBaseMemberPointer, 1395 MemberPointerToBoolean, 1396 ReinterpretMemberPointer, 1397 UserDefinedConversion, 1398 ConstructorConversion, 1399 IntegralToPointer, 1400 PointerToIntegral, 1401 PointerToBoolean, 1402 ToVoid, 1403 MatrixCast, 1404 VectorSplat, 1405 IntegralCast, 1406 IntegralToBoolean, 1407 IntegralToFloating, 1408 FloatingToFixedPoint, 1409 FixedPointToFloating, 1410 FixedPointCast, 1411 FixedPointToIntegral, 1412 IntegralToFixedPoint, 1413 FixedPointToBoolean, 1414 FloatingToIntegral, 1415 FloatingToBoolean, 1416 BooleanToSignedIntegral, 1417 FloatingCast, 1418 CPointerToObjCPointerCast, 1419 BlockPointerToObjCPointerCast, 1420 AnyPointerToBlockPointerCast, 1421 ObjCObjectLValueCast, 1422 FloatingRealToComplex, 1423 FloatingComplexToReal, 1424 FloatingComplexToBoolean, 1425 FloatingComplexCast, 1426 FloatingComplexToIntegralComplex, 1427 IntegralRealToComplex, 1428 IntegralComplexToReal, 1429 IntegralComplexToBoolean, 1430 IntegralComplexCast, 1431 IntegralComplexToFloatingComplex, 1432 ARCProduceObject, 1433 ARCConsumeObject, 1434 ARCReclaimReturnedObject, 1435 ARCExtendBlockObject, 1436 AtomicToNonAtomic, 1437 NonAtomicToAtomic, 1438 CopyAndAutoreleaseBlockObject, 1439 BuiltinFnToFnPtr, 1440 ZeroToOCLOpaqueType, 1441 AddressSpaceConversion, 1442 IntToOCLSampler, 1443 }; 1444 1445 pub const DeclKind = enum(c_int) { 1446 AccessSpec, 1447 Block, 1448 Captured, 1449 ClassScopeFunctionSpecialization, 1450 Empty, 1451 Export, 1452 ExternCContext, 1453 FileScopeAsm, 1454 Friend, 1455 FriendTemplate, 1456 Import, 1457 LifetimeExtendedTemporary, 1458 LinkageSpec, 1459 Using, 1460 UsingEnum, 1461 Label, 1462 Namespace, 1463 NamespaceAlias, 1464 ObjCCompatibleAlias, 1465 ObjCCategory, 1466 ObjCCategoryImpl, 1467 ObjCImplementation, 1468 ObjCInterface, 1469 ObjCProtocol, 1470 ObjCMethod, 1471 ObjCProperty, 1472 BuiltinTemplate, 1473 Concept, 1474 ClassTemplate, 1475 FunctionTemplate, 1476 TypeAliasTemplate, 1477 VarTemplate, 1478 TemplateTemplateParm, 1479 Enum, 1480 Record, 1481 CXXRecord, 1482 ClassTemplateSpecialization, 1483 ClassTemplatePartialSpecialization, 1484 TemplateTypeParm, 1485 ObjCTypeParam, 1486 TypeAlias, 1487 Typedef, 1488 UnresolvedUsingTypename, 1489 UnresolvedUsingIfExists, 1490 UsingDirective, 1491 UsingPack, 1492 UsingShadow, 1493 ConstructorUsingShadow, 1494 Binding, 1495 Field, 1496 ObjCAtDefsField, 1497 ObjCIvar, 1498 Function, 1499 CXXDeductionGuide, 1500 CXXMethod, 1501 CXXConstructor, 1502 CXXConversion, 1503 CXXDestructor, 1504 MSProperty, 1505 NonTypeTemplateParm, 1506 Var, 1507 Decomposition, 1508 ImplicitParam, 1509 OMPCapturedExpr, 1510 ParmVar, 1511 VarTemplateSpecialization, 1512 VarTemplatePartialSpecialization, 1513 EnumConstant, 1514 IndirectField, 1515 MSGuid, 1516 OMPDeclareMapper, 1517 OMPDeclareReduction, 1518 TemplateParamObject, 1519 UnresolvedUsingValue, 1520 OMPAllocate, 1521 OMPRequires, 1522 OMPThreadPrivate, 1523 ObjCPropertyImpl, 1524 PragmaComment, 1525 PragmaDetectMismatch, 1526 RequiresExprBody, 1527 StaticAssert, 1528 TranslationUnit, 1529 }; 1530 1531 pub const BuiltinTypeKind = enum(c_int) { 1532 OCLImage1dRO, 1533 OCLImage1dArrayRO, 1534 OCLImage1dBufferRO, 1535 OCLImage2dRO, 1536 OCLImage2dArrayRO, 1537 OCLImage2dDepthRO, 1538 OCLImage2dArrayDepthRO, 1539 OCLImage2dMSAARO, 1540 OCLImage2dArrayMSAARO, 1541 OCLImage2dMSAADepthRO, 1542 OCLImage2dArrayMSAADepthRO, 1543 OCLImage3dRO, 1544 OCLImage1dWO, 1545 OCLImage1dArrayWO, 1546 OCLImage1dBufferWO, 1547 OCLImage2dWO, 1548 OCLImage2dArrayWO, 1549 OCLImage2dDepthWO, 1550 OCLImage2dArrayDepthWO, 1551 OCLImage2dMSAAWO, 1552 OCLImage2dArrayMSAAWO, 1553 OCLImage2dMSAADepthWO, 1554 OCLImage2dArrayMSAADepthWO, 1555 OCLImage3dWO, 1556 OCLImage1dRW, 1557 OCLImage1dArrayRW, 1558 OCLImage1dBufferRW, 1559 OCLImage2dRW, 1560 OCLImage2dArrayRW, 1561 OCLImage2dDepthRW, 1562 OCLImage2dArrayDepthRW, 1563 OCLImage2dMSAARW, 1564 OCLImage2dArrayMSAARW, 1565 OCLImage2dMSAADepthRW, 1566 OCLImage2dArrayMSAADepthRW, 1567 OCLImage3dRW, 1568 OCLIntelSubgroupAVCMcePayload, 1569 OCLIntelSubgroupAVCImePayload, 1570 OCLIntelSubgroupAVCRefPayload, 1571 OCLIntelSubgroupAVCSicPayload, 1572 OCLIntelSubgroupAVCMceResult, 1573 OCLIntelSubgroupAVCImeResult, 1574 OCLIntelSubgroupAVCRefResult, 1575 OCLIntelSubgroupAVCSicResult, 1576 OCLIntelSubgroupAVCImeResultSingleRefStreamout, 1577 OCLIntelSubgroupAVCImeResultDualRefStreamout, 1578 OCLIntelSubgroupAVCImeSingleRefStreamin, 1579 OCLIntelSubgroupAVCImeDualRefStreamin, 1580 SveInt8, 1581 SveInt16, 1582 SveInt32, 1583 SveInt64, 1584 SveUint8, 1585 SveUint16, 1586 SveUint32, 1587 SveUint64, 1588 SveFloat16, 1589 SveFloat32, 1590 SveFloat64, 1591 SveBFloat16, 1592 SveInt8x2, 1593 SveInt16x2, 1594 SveInt32x2, 1595 SveInt64x2, 1596 SveUint8x2, 1597 SveUint16x2, 1598 SveUint32x2, 1599 SveUint64x2, 1600 SveFloat16x2, 1601 SveFloat32x2, 1602 SveFloat64x2, 1603 SveBFloat16x2, 1604 SveInt8x3, 1605 SveInt16x3, 1606 SveInt32x3, 1607 SveInt64x3, 1608 SveUint8x3, 1609 SveUint16x3, 1610 SveUint32x3, 1611 SveUint64x3, 1612 SveFloat16x3, 1613 SveFloat32x3, 1614 SveFloat64x3, 1615 SveBFloat16x3, 1616 SveInt8x4, 1617 SveInt16x4, 1618 SveInt32x4, 1619 SveInt64x4, 1620 SveUint8x4, 1621 SveUint16x4, 1622 SveUint32x4, 1623 SveUint64x4, 1624 SveFloat16x4, 1625 SveFloat32x4, 1626 SveFloat64x4, 1627 SveBFloat16x4, 1628 SveBool, 1629 VectorQuad, 1630 VectorPair, 1631 RvvInt8mf8, 1632 RvvInt8mf4, 1633 RvvInt8mf2, 1634 RvvInt8m1, 1635 RvvInt8m2, 1636 RvvInt8m4, 1637 RvvInt8m8, 1638 RvvUint8mf8, 1639 RvvUint8mf4, 1640 RvvUint8mf2, 1641 RvvUint8m1, 1642 RvvUint8m2, 1643 RvvUint8m4, 1644 RvvUint8m8, 1645 RvvInt16mf4, 1646 RvvInt16mf2, 1647 RvvInt16m1, 1648 RvvInt16m2, 1649 RvvInt16m4, 1650 RvvInt16m8, 1651 RvvUint16mf4, 1652 RvvUint16mf2, 1653 RvvUint16m1, 1654 RvvUint16m2, 1655 RvvUint16m4, 1656 RvvUint16m8, 1657 RvvInt32mf2, 1658 RvvInt32m1, 1659 RvvInt32m2, 1660 RvvInt32m4, 1661 RvvInt32m8, 1662 RvvUint32mf2, 1663 RvvUint32m1, 1664 RvvUint32m2, 1665 RvvUint32m4, 1666 RvvUint32m8, 1667 RvvInt64m1, 1668 RvvInt64m2, 1669 RvvInt64m4, 1670 RvvInt64m8, 1671 RvvUint64m1, 1672 RvvUint64m2, 1673 RvvUint64m4, 1674 RvvUint64m8, 1675 RvvFloat16mf4, 1676 RvvFloat16mf2, 1677 RvvFloat16m1, 1678 RvvFloat16m2, 1679 RvvFloat16m4, 1680 RvvFloat16m8, 1681 RvvFloat32mf2, 1682 RvvFloat32m1, 1683 RvvFloat32m2, 1684 RvvFloat32m4, 1685 RvvFloat32m8, 1686 RvvFloat64m1, 1687 RvvFloat64m2, 1688 RvvFloat64m4, 1689 RvvFloat64m8, 1690 RvvBool1, 1691 RvvBool2, 1692 RvvBool4, 1693 RvvBool8, 1694 RvvBool16, 1695 RvvBool32, 1696 RvvBool64, 1697 Void, 1698 Bool, 1699 Char_U, 1700 UChar, 1701 WChar_U, 1702 Char8, 1703 Char16, 1704 Char32, 1705 UShort, 1706 UInt, 1707 ULong, 1708 ULongLong, 1709 UInt128, 1710 Char_S, 1711 SChar, 1712 WChar_S, 1713 Short, 1714 Int, 1715 Long, 1716 LongLong, 1717 Int128, 1718 ShortAccum, 1719 Accum, 1720 LongAccum, 1721 UShortAccum, 1722 UAccum, 1723 ULongAccum, 1724 ShortFract, 1725 Fract, 1726 LongFract, 1727 UShortFract, 1728 UFract, 1729 ULongFract, 1730 SatShortAccum, 1731 SatAccum, 1732 SatLongAccum, 1733 SatUShortAccum, 1734 SatUAccum, 1735 SatULongAccum, 1736 SatShortFract, 1737 SatFract, 1738 SatLongFract, 1739 SatUShortFract, 1740 SatUFract, 1741 SatULongFract, 1742 Half, 1743 Float, 1744 Double, 1745 LongDouble, 1746 Float16, 1747 BFloat16, 1748 Float128, 1749 NullPtr, 1750 ObjCId, 1751 ObjCClass, 1752 ObjCSel, 1753 OCLSampler, 1754 OCLEvent, 1755 OCLClkEvent, 1756 OCLQueue, 1757 OCLReserveID, 1758 Dependent, 1759 Overload, 1760 BoundMember, 1761 PseudoObject, 1762 UnknownAny, 1763 BuiltinFn, 1764 ARCUnbridgedCast, 1765 IncompleteMatrixIdx, 1766 OMPArraySection, 1767 OMPArrayShaping, 1768 OMPIterator, 1769 }; 1770 1771 pub const CallingConv = enum(c_int) { 1772 C, 1773 X86StdCall, 1774 X86FastCall, 1775 X86ThisCall, 1776 X86VectorCall, 1777 X86Pascal, 1778 Win64, 1779 X86_64SysV, 1780 X86RegCall, 1781 AAPCS, 1782 AAPCS_VFP, 1783 IntelOclBicc, 1784 SpirFunction, 1785 OpenCLKernel, 1786 Swift, 1787 SwiftAsync, 1788 PreserveMost, 1789 PreserveAll, 1790 AArch64VectorCall, 1791 }; 1792 1793 pub const StorageClass = enum(c_int) { 1794 None, 1795 Extern, 1796 Static, 1797 PrivateExtern, 1798 Auto, 1799 Register, 1800 }; 1801 1802 pub const APFloat_roundingMode = enum(i8) { 1803 TowardZero = 0, 1804 NearestTiesToEven = 1, 1805 TowardPositive = 2, 1806 TowardNegative = 3, 1807 NearestTiesToAway = 4, 1808 Dynamic = 7, 1809 Invalid = -1, 1810 }; 1811 1812 pub const StringLiteral_StringKind = enum(c_int) { 1813 Ascii, 1814 Wide, 1815 UTF8, 1816 UTF16, 1817 UTF32, 1818 }; 1819 1820 pub const CharacterLiteral_CharacterKind = enum(c_int) { 1821 Ascii, 1822 Wide, 1823 UTF8, 1824 UTF16, 1825 UTF32, 1826 }; 1827 1828 pub const VarDecl_TLSKind = enum(c_int) { 1829 None, 1830 Static, 1831 Dynamic, 1832 }; 1833 1834 pub const ElaboratedTypeKeyword = enum(c_int) { 1835 Struct, 1836 Interface, 1837 Union, 1838 Class, 1839 Enum, 1840 Typename, 1841 None, 1842 }; 1843 1844 pub const PreprocessedEntity_EntityKind = enum(c_int) { 1845 InvalidKind, 1846 MacroExpansionKind, 1847 MacroDefinitionKind, 1848 InclusionDirectiveKind, 1849 }; 1850 1851 pub const Expr_ConstantExprKind = enum(c_int) { 1852 Normal, 1853 NonClassTemplateArgument, 1854 ClassTemplateArgument, 1855 ImmediateInvocation, 1856 }; 1857 1858 pub const UnaryExprOrTypeTrait_Kind = enum(c_int) { 1859 SizeOf, 1860 AlignOf, 1861 VecStep, 1862 OpenMPRequiredSimdAlign, 1863 PreferredAlignOf, 1864 }; 1865 1866 pub const OffsetOfNode_Kind = enum(c_int) { 1867 Array, 1868 Field, 1869 Identifier, 1870 Base, 1871 }; 1872 1873 pub const Stage2ErrorMsg = extern struct { 1874 filename_ptr: ?[*]const u8, 1875 filename_len: usize, 1876 msg_ptr: [*]const u8, 1877 msg_len: usize, 1878 // valid until the ASTUnit is freed 1879 source: ?[*]const u8, 1880 // 0 based 1881 line: c_uint, 1882 // 0 based 1883 column: c_uint, 1884 // byte offset into source 1885 offset: c_uint, 1886 1887 pub const delete = ZigClangErrorMsg_delete; 1888 extern fn ZigClangErrorMsg_delete(ptr: [*]Stage2ErrorMsg, len: usize) void; 1889 }; 1890 1891 pub const LoadFromCommandLine = ZigClangLoadFromCommandLine; 1892 extern fn ZigClangLoadFromCommandLine( 1893 args_begin: [*]?[*]const u8, 1894 args_end: [*]?[*]const u8, 1895 errors_ptr: *[*]Stage2ErrorMsg, 1896 errors_len: *usize, 1897 resources_path: [*:0]const u8, 1898 ) ?*ASTUnit;