| author | |
| committer | |
| log | e816d592e8773c03ca92645d978669ec6de5ca0c |
| tree | 54c6ba073b75a5740266d4e91fac2e826f337df2 |
| parent | 8f92a49dfde5e8690525da028844cb7c1188d397 |
| signature |
8 files changed, 422 insertions(+), 343 deletions(-)
cmake/Findllvm.cmake+1| ... | ... | @@ -59,6 +59,7 @@ NEED_TARGET("Mips") |
| 59 | 59 | NEED_TARGET("MSP430") |
| 60 | 60 | NEED_TARGET("NVPTX") |
| 61 | 61 | NEED_TARGET("PowerPC") |
| 62 | NEED_TARGET("RISCV") | |
| 62 | 63 | NEED_TARGET("Sparc") |
| 63 | 64 | NEED_TARGET("SystemZ") |
| 64 | 65 | NEED_TARGET("WebAssembly") |
src-self-hosted/clang.zig+211-215| ... | ... | @@ -148,6 +148,7 @@ pub const ZigClangTypeClass = extern enum { |
| 148 | 148 | UnresolvedUsing, |
| 149 | 149 | Paren, |
| 150 | 150 | Typedef, |
| 151 | MacroQualified, | |
| 151 | 152 | Adjusted, |
| 152 | 153 | Decayed, |
| 153 | 154 | TypeOfExpr, |
| ... | ... | @@ -176,210 +177,213 @@ pub const ZigClangTypeClass = extern enum { |
| 176 | 177 | Atomic, |
| 177 | 178 | }; |
| 178 | 179 | |
| 179 | pub const ZigClangStmtClass = extern enum { | |
| 180 | NoStmtClass = 0, | |
| 181 | GCCAsmStmtClass = 1, | |
| 182 | MSAsmStmtClass = 2, | |
| 183 | AttributedStmtClass = 3, | |
| 184 | BreakStmtClass = 4, | |
| 185 | CXXCatchStmtClass = 5, | |
| 186 | CXXForRangeStmtClass = 6, | |
| 187 | CXXTryStmtClass = 7, | |
| 188 | CapturedStmtClass = 8, | |
| 189 | CompoundStmtClass = 9, | |
| 190 | ContinueStmtClass = 10, | |
| 191 | CoreturnStmtClass = 11, | |
| 192 | CoroutineBodyStmtClass = 12, | |
| 193 | DeclStmtClass = 13, | |
| 194 | DoStmtClass = 14, | |
| 195 | BinaryConditionalOperatorClass = 15, | |
| 196 | ConditionalOperatorClass = 16, | |
| 197 | AddrLabelExprClass = 17, | |
| 198 | ArrayInitIndexExprClass = 18, | |
| 199 | ArrayInitLoopExprClass = 19, | |
| 200 | ArraySubscriptExprClass = 20, | |
| 201 | ArrayTypeTraitExprClass = 21, | |
| 202 | AsTypeExprClass = 22, | |
| 203 | AtomicExprClass = 23, | |
| 204 | BinaryOperatorClass = 24, | |
| 205 | CompoundAssignOperatorClass = 25, | |
| 206 | BlockExprClass = 26, | |
| 207 | CXXBindTemporaryExprClass = 27, | |
| 208 | CXXBoolLiteralExprClass = 28, | |
| 209 | CXXConstructExprClass = 29, | |
| 210 | CXXTemporaryObjectExprClass = 30, | |
| 211 | CXXDefaultArgExprClass = 31, | |
| 212 | CXXDefaultInitExprClass = 32, | |
| 213 | CXXDeleteExprClass = 33, | |
| 214 | CXXDependentScopeMemberExprClass = 34, | |
| 215 | CXXFoldExprClass = 35, | |
| 216 | CXXInheritedCtorInitExprClass = 36, | |
| 217 | CXXNewExprClass = 37, | |
| 218 | CXXNoexceptExprClass = 38, | |
| 219 | CXXNullPtrLiteralExprClass = 39, | |
| 220 | CXXPseudoDestructorExprClass = 40, | |
| 221 | CXXScalarValueInitExprClass = 41, | |
| 222 | CXXStdInitializerListExprClass = 42, | |
| 223 | CXXThisExprClass = 43, | |
| 224 | CXXThrowExprClass = 44, | |
| 225 | CXXTypeidExprClass = 45, | |
| 226 | CXXUnresolvedConstructExprClass = 46, | |
| 227 | CXXUuidofExprClass = 47, | |
| 228 | CallExprClass = 48, | |
| 229 | CUDAKernelCallExprClass = 49, | |
| 230 | CXXMemberCallExprClass = 50, | |
| 231 | CXXOperatorCallExprClass = 51, | |
| 232 | UserDefinedLiteralClass = 52, | |
| 233 | CStyleCastExprClass = 53, | |
| 234 | CXXFunctionalCastExprClass = 54, | |
| 235 | CXXConstCastExprClass = 55, | |
| 236 | CXXDynamicCastExprClass = 56, | |
| 237 | CXXReinterpretCastExprClass = 57, | |
| 238 | CXXStaticCastExprClass = 58, | |
| 239 | ObjCBridgedCastExprClass = 59, | |
| 240 | ImplicitCastExprClass = 60, | |
| 241 | CharacterLiteralClass = 61, | |
| 242 | ChooseExprClass = 62, | |
| 243 | CompoundLiteralExprClass = 63, | |
| 244 | ConvertVectorExprClass = 64, | |
| 245 | CoawaitExprClass = 65, | |
| 246 | CoyieldExprClass = 66, | |
| 247 | DeclRefExprClass = 67, | |
| 248 | DependentCoawaitExprClass = 68, | |
| 249 | DependentScopeDeclRefExprClass = 69, | |
| 250 | DesignatedInitExprClass = 70, | |
| 251 | DesignatedInitUpdateExprClass = 71, | |
| 252 | ExpressionTraitExprClass = 72, | |
| 253 | ExtVectorElementExprClass = 73, | |
| 254 | FixedPointLiteralClass = 74, | |
| 255 | FloatingLiteralClass = 75, | |
| 256 | ConstantExprClass = 76, | |
| 257 | ExprWithCleanupsClass = 77, | |
| 258 | FunctionParmPackExprClass = 78, | |
| 259 | GNUNullExprClass = 79, | |
| 260 | GenericSelectionExprClass = 80, | |
| 261 | ImaginaryLiteralClass = 81, | |
| 262 | ImplicitValueInitExprClass = 82, | |
| 263 | InitListExprClass = 83, | |
| 264 | IntegerLiteralClass = 84, | |
| 265 | LambdaExprClass = 85, | |
| 266 | MSPropertyRefExprClass = 86, | |
| 267 | MSPropertySubscriptExprClass = 87, | |
| 268 | MaterializeTemporaryExprClass = 88, | |
| 269 | MemberExprClass = 89, | |
| 270 | NoInitExprClass = 90, | |
| 271 | OMPArraySectionExprClass = 91, | |
| 272 | ObjCArrayLiteralClass = 92, | |
| 273 | ObjCAvailabilityCheckExprClass = 93, | |
| 274 | ObjCBoolLiteralExprClass = 94, | |
| 275 | ObjCBoxedExprClass = 95, | |
| 276 | ObjCDictionaryLiteralClass = 96, | |
| 277 | ObjCEncodeExprClass = 97, | |
| 278 | ObjCIndirectCopyRestoreExprClass = 98, | |
| 279 | ObjCIsaExprClass = 99, | |
| 280 | ObjCIvarRefExprClass = 100, | |
| 281 | ObjCMessageExprClass = 101, | |
| 282 | ObjCPropertyRefExprClass = 102, | |
| 283 | ObjCProtocolExprClass = 103, | |
| 284 | ObjCSelectorExprClass = 104, | |
| 285 | ObjCStringLiteralClass = 105, | |
| 286 | ObjCSubscriptRefExprClass = 106, | |
| 287 | OffsetOfExprClass = 107, | |
| 288 | OpaqueValueExprClass = 108, | |
| 289 | UnresolvedLookupExprClass = 109, | |
| 290 | UnresolvedMemberExprClass = 110, | |
| 291 | PackExpansionExprClass = 111, | |
| 292 | ParenExprClass = 112, | |
| 293 | ParenListExprClass = 113, | |
| 294 | PredefinedExprClass = 114, | |
| 295 | PseudoObjectExprClass = 115, | |
| 296 | ShuffleVectorExprClass = 116, | |
| 297 | SizeOfPackExprClass = 117, | |
| 298 | StmtExprClass = 118, | |
| 299 | StringLiteralClass = 119, | |
| 300 | SubstNonTypeTemplateParmExprClass = 120, | |
| 301 | SubstNonTypeTemplateParmPackExprClass = 121, | |
| 302 | TypeTraitExprClass = 122, | |
| 303 | TypoExprClass = 123, | |
| 304 | UnaryExprOrTypeTraitExprClass = 124, | |
| 305 | UnaryOperatorClass = 125, | |
| 306 | VAArgExprClass = 126, | |
| 307 | ForStmtClass = 127, | |
| 308 | GotoStmtClass = 128, | |
| 309 | IfStmtClass = 129, | |
| 310 | IndirectGotoStmtClass = 130, | |
| 311 | LabelStmtClass = 131, | |
| 312 | MSDependentExistsStmtClass = 132, | |
| 313 | NullStmtClass = 133, | |
| 314 | OMPAtomicDirectiveClass = 134, | |
| 315 | OMPBarrierDirectiveClass = 135, | |
| 316 | OMPCancelDirectiveClass = 136, | |
| 317 | OMPCancellationPointDirectiveClass = 137, | |
| 318 | OMPCriticalDirectiveClass = 138, | |
| 319 | OMPFlushDirectiveClass = 139, | |
| 320 | OMPDistributeDirectiveClass = 140, | |
| 321 | OMPDistributeParallelForDirectiveClass = 141, | |
| 322 | OMPDistributeParallelForSimdDirectiveClass = 142, | |
| 323 | OMPDistributeSimdDirectiveClass = 143, | |
| 324 | OMPForDirectiveClass = 144, | |
| 325 | OMPForSimdDirectiveClass = 145, | |
| 326 | OMPParallelForDirectiveClass = 146, | |
| 327 | OMPParallelForSimdDirectiveClass = 147, | |
| 328 | OMPSimdDirectiveClass = 148, | |
| 329 | OMPTargetParallelForSimdDirectiveClass = 149, | |
| 330 | OMPTargetSimdDirectiveClass = 150, | |
| 331 | OMPTargetTeamsDistributeDirectiveClass = 151, | |
| 332 | OMPTargetTeamsDistributeParallelForDirectiveClass = 152, | |
| 333 | OMPTargetTeamsDistributeParallelForSimdDirectiveClass = 153, | |
| 334 | OMPTargetTeamsDistributeSimdDirectiveClass = 154, | |
| 335 | OMPTaskLoopDirectiveClass = 155, | |
| 336 | OMPTaskLoopSimdDirectiveClass = 156, | |
| 337 | OMPTeamsDistributeDirectiveClass = 157, | |
| 338 | OMPTeamsDistributeParallelForDirectiveClass = 158, | |
| 339 | OMPTeamsDistributeParallelForSimdDirectiveClass = 159, | |
| 340 | OMPTeamsDistributeSimdDirectiveClass = 160, | |
| 341 | OMPMasterDirectiveClass = 161, | |
| 342 | OMPOrderedDirectiveClass = 162, | |
| 343 | OMPParallelDirectiveClass = 163, | |
| 344 | OMPParallelSectionsDirectiveClass = 164, | |
| 345 | OMPSectionDirectiveClass = 165, | |
| 346 | OMPSectionsDirectiveClass = 166, | |
| 347 | OMPSingleDirectiveClass = 167, | |
| 348 | OMPTargetDataDirectiveClass = 168, | |
| 349 | OMPTargetDirectiveClass = 169, | |
| 350 | OMPTargetEnterDataDirectiveClass = 170, | |
| 351 | OMPTargetExitDataDirectiveClass = 171, | |
| 352 | OMPTargetParallelDirectiveClass = 172, | |
| 353 | OMPTargetParallelForDirectiveClass = 173, | |
| 354 | OMPTargetTeamsDirectiveClass = 174, | |
| 355 | OMPTargetUpdateDirectiveClass = 175, | |
| 356 | OMPTaskDirectiveClass = 176, | |
| 357 | OMPTaskgroupDirectiveClass = 177, | |
| 358 | OMPTaskwaitDirectiveClass = 178, | |
| 359 | OMPTaskyieldDirectiveClass = 179, | |
| 360 | OMPTeamsDirectiveClass = 180, | |
| 361 | ObjCAtCatchStmtClass = 181, | |
| 362 | ObjCAtFinallyStmtClass = 182, | |
| 363 | ObjCAtSynchronizedStmtClass = 183, | |
| 364 | ObjCAtThrowStmtClass = 184, | |
| 365 | ObjCAtTryStmtClass = 185, | |
| 366 | ObjCAutoreleasePoolStmtClass = 186, | |
| 367 | ObjCForCollectionStmtClass = 187, | |
| 368 | ReturnStmtClass = 188, | |
| 369 | SEHExceptStmtClass = 189, | |
| 370 | SEHFinallyStmtClass = 190, | |
| 371 | SEHLeaveStmtClass = 191, | |
| 372 | SEHTryStmtClass = 192, | |
| 373 | CaseStmtClass = 193, | |
| 374 | DefaultStmtClass = 194, | |
| 375 | SwitchStmtClass = 195, | |
| 376 | WhileStmtClass = 196, | |
| 180 | const ZigClangStmtClass = extern enum { | |
| 181 | NoStmtClass, | |
| 182 | GCCAsmStmtClass, | |
| 183 | MSAsmStmtClass, | |
| 184 | BreakStmtClass, | |
| 185 | CXXCatchStmtClass, | |
| 186 | CXXForRangeStmtClass, | |
| 187 | CXXTryStmtClass, | |
| 188 | CapturedStmtClass, | |
| 189 | CompoundStmtClass, | |
| 190 | ContinueStmtClass, | |
| 191 | CoreturnStmtClass, | |
| 192 | CoroutineBodyStmtClass, | |
| 193 | DeclStmtClass, | |
| 194 | DoStmtClass, | |
| 195 | ForStmtClass, | |
| 196 | GotoStmtClass, | |
| 197 | IfStmtClass, | |
| 198 | IndirectGotoStmtClass, | |
| 199 | MSDependentExistsStmtClass, | |
| 200 | NullStmtClass, | |
| 201 | OMPAtomicDirectiveClass, | |
| 202 | OMPBarrierDirectiveClass, | |
| 203 | OMPCancelDirectiveClass, | |
| 204 | OMPCancellationPointDirectiveClass, | |
| 205 | OMPCriticalDirectiveClass, | |
| 206 | OMPFlushDirectiveClass, | |
| 207 | OMPDistributeDirectiveClass, | |
| 208 | OMPDistributeParallelForDirectiveClass, | |
| 209 | OMPDistributeParallelForSimdDirectiveClass, | |
| 210 | OMPDistributeSimdDirectiveClass, | |
| 211 | OMPForDirectiveClass, | |
| 212 | OMPForSimdDirectiveClass, | |
| 213 | OMPParallelForDirectiveClass, | |
| 214 | OMPParallelForSimdDirectiveClass, | |
| 215 | OMPSimdDirectiveClass, | |
| 216 | OMPTargetParallelForSimdDirectiveClass, | |
| 217 | OMPTargetSimdDirectiveClass, | |
| 218 | OMPTargetTeamsDistributeDirectiveClass, | |
| 219 | OMPTargetTeamsDistributeParallelForDirectiveClass, | |
| 220 | OMPTargetTeamsDistributeParallelForSimdDirectiveClass, | |
| 221 | OMPTargetTeamsDistributeSimdDirectiveClass, | |
| 222 | OMPTaskLoopDirectiveClass, | |
| 223 | OMPTaskLoopSimdDirectiveClass, | |
| 224 | OMPTeamsDistributeDirectiveClass, | |
| 225 | OMPTeamsDistributeParallelForDirectiveClass, | |
| 226 | OMPTeamsDistributeParallelForSimdDirectiveClass, | |
| 227 | OMPTeamsDistributeSimdDirectiveClass, | |
| 228 | OMPMasterDirectiveClass, | |
| 229 | OMPOrderedDirectiveClass, | |
| 230 | OMPParallelDirectiveClass, | |
| 231 | OMPParallelSectionsDirectiveClass, | |
| 232 | OMPSectionDirectiveClass, | |
| 233 | OMPSectionsDirectiveClass, | |
| 234 | OMPSingleDirectiveClass, | |
| 235 | OMPTargetDataDirectiveClass, | |
| 236 | OMPTargetDirectiveClass, | |
| 237 | OMPTargetEnterDataDirectiveClass, | |
| 238 | OMPTargetExitDataDirectiveClass, | |
| 239 | OMPTargetParallelDirectiveClass, | |
| 240 | OMPTargetParallelForDirectiveClass, | |
| 241 | OMPTargetTeamsDirectiveClass, | |
| 242 | OMPTargetUpdateDirectiveClass, | |
| 243 | OMPTaskDirectiveClass, | |
| 244 | OMPTaskgroupDirectiveClass, | |
| 245 | OMPTaskwaitDirectiveClass, | |
| 246 | OMPTaskyieldDirectiveClass, | |
| 247 | OMPTeamsDirectiveClass, | |
| 248 | ObjCAtCatchStmtClass, | |
| 249 | ObjCAtFinallyStmtClass, | |
| 250 | ObjCAtSynchronizedStmtClass, | |
| 251 | ObjCAtThrowStmtClass, | |
| 252 | ObjCAtTryStmtClass, | |
| 253 | ObjCAutoreleasePoolStmtClass, | |
| 254 | ObjCForCollectionStmtClass, | |
| 255 | ReturnStmtClass, | |
| 256 | SEHExceptStmtClass, | |
| 257 | SEHFinallyStmtClass, | |
| 258 | SEHLeaveStmtClass, | |
| 259 | SEHTryStmtClass, | |
| 260 | CaseStmtClass, | |
| 261 | DefaultStmtClass, | |
| 262 | SwitchStmtClass, | |
| 263 | AttributedStmtClass, | |
| 264 | BinaryConditionalOperatorClass, | |
| 265 | ConditionalOperatorClass, | |
| 266 | AddrLabelExprClass, | |
| 267 | ArrayInitIndexExprClass, | |
| 268 | ArrayInitLoopExprClass, | |
| 269 | ArraySubscriptExprClass, | |
| 270 | ArrayTypeTraitExprClass, | |
| 271 | AsTypeExprClass, | |
| 272 | AtomicExprClass, | |
| 273 | BinaryOperatorClass, | |
| 274 | CompoundAssignOperatorClass, | |
| 275 | BlockExprClass, | |
| 276 | CXXBindTemporaryExprClass, | |
| 277 | CXXBoolLiteralExprClass, | |
| 278 | CXXConstructExprClass, | |
| 279 | CXXTemporaryObjectExprClass, | |
| 280 | CXXDefaultArgExprClass, | |
| 281 | CXXDefaultInitExprClass, | |
| 282 | CXXDeleteExprClass, | |
| 283 | CXXDependentScopeMemberExprClass, | |
| 284 | CXXFoldExprClass, | |
| 285 | CXXInheritedCtorInitExprClass, | |
| 286 | CXXNewExprClass, | |
| 287 | CXXNoexceptExprClass, | |
| 288 | CXXNullPtrLiteralExprClass, | |
| 289 | CXXPseudoDestructorExprClass, | |
| 290 | CXXScalarValueInitExprClass, | |
| 291 | CXXStdInitializerListExprClass, | |
| 292 | CXXThisExprClass, | |
| 293 | CXXThrowExprClass, | |
| 294 | CXXTypeidExprClass, | |
| 295 | CXXUnresolvedConstructExprClass, | |
| 296 | CXXUuidofExprClass, | |
| 297 | CallExprClass, | |
| 298 | CUDAKernelCallExprClass, | |
| 299 | CXXMemberCallExprClass, | |
| 300 | CXXOperatorCallExprClass, | |
| 301 | UserDefinedLiteralClass, | |
| 302 | BuiltinBitCastExprClass, | |
| 303 | CStyleCastExprClass, | |
| 304 | CXXFunctionalCastExprClass, | |
| 305 | CXXConstCastExprClass, | |
| 306 | CXXDynamicCastExprClass, | |
| 307 | CXXReinterpretCastExprClass, | |
| 308 | CXXStaticCastExprClass, | |
| 309 | ObjCBridgedCastExprClass, | |
| 310 | ImplicitCastExprClass, | |
| 311 | CharacterLiteralClass, | |
| 312 | ChooseExprClass, | |
| 313 | CompoundLiteralExprClass, | |
| 314 | ConvertVectorExprClass, | |
| 315 | CoawaitExprClass, | |
| 316 | CoyieldExprClass, | |
| 317 | DeclRefExprClass, | |
| 318 | DependentCoawaitExprClass, | |
| 319 | DependentScopeDeclRefExprClass, | |
| 320 | DesignatedInitExprClass, | |
| 321 | DesignatedInitUpdateExprClass, | |
| 322 | ExpressionTraitExprClass, | |
| 323 | ExtVectorElementExprClass, | |
| 324 | FixedPointLiteralClass, | |
| 325 | FloatingLiteralClass, | |
| 326 | ConstantExprClass, | |
| 327 | ExprWithCleanupsClass, | |
| 328 | FunctionParmPackExprClass, | |
| 329 | GNUNullExprClass, | |
| 330 | GenericSelectionExprClass, | |
| 331 | ImaginaryLiteralClass, | |
| 332 | ImplicitValueInitExprClass, | |
| 333 | InitListExprClass, | |
| 334 | IntegerLiteralClass, | |
| 335 | LambdaExprClass, | |
| 336 | MSPropertyRefExprClass, | |
| 337 | MSPropertySubscriptExprClass, | |
| 338 | MaterializeTemporaryExprClass, | |
| 339 | MemberExprClass, | |
| 340 | NoInitExprClass, | |
| 341 | OMPArraySectionExprClass, | |
| 342 | ObjCArrayLiteralClass, | |
| 343 | ObjCAvailabilityCheckExprClass, | |
| 344 | ObjCBoolLiteralExprClass, | |
| 345 | ObjCBoxedExprClass, | |
| 346 | ObjCDictionaryLiteralClass, | |
| 347 | ObjCEncodeExprClass, | |
| 348 | ObjCIndirectCopyRestoreExprClass, | |
| 349 | ObjCIsaExprClass, | |
| 350 | ObjCIvarRefExprClass, | |
| 351 | ObjCMessageExprClass, | |
| 352 | ObjCPropertyRefExprClass, | |
| 353 | ObjCProtocolExprClass, | |
| 354 | ObjCSelectorExprClass, | |
| 355 | ObjCStringLiteralClass, | |
| 356 | ObjCSubscriptRefExprClass, | |
| 357 | OffsetOfExprClass, | |
| 358 | OpaqueValueExprClass, | |
| 359 | UnresolvedLookupExprClass, | |
| 360 | UnresolvedMemberExprClass, | |
| 361 | PackExpansionExprClass, | |
| 362 | ParenExprClass, | |
| 363 | ParenListExprClass, | |
| 364 | PredefinedExprClass, | |
| 365 | PseudoObjectExprClass, | |
| 366 | ShuffleVectorExprClass, | |
| 367 | SizeOfPackExprClass, | |
| 368 | SourceLocExprClass, | |
| 369 | StmtExprClass, | |
| 370 | StringLiteralClass, | |
| 371 | SubstNonTypeTemplateParmExprClass, | |
| 372 | SubstNonTypeTemplateParmPackExprClass, | |
| 373 | TypeTraitExprClass, | |
| 374 | TypoExprClass, | |
| 375 | UnaryExprOrTypeTraitExprClass, | |
| 376 | UnaryOperatorClass, | |
| 377 | VAArgExprClass, | |
| 378 | LabelStmtClass, | |
| 379 | WhileStmtClass, | |
| 377 | 380 | }; |
| 378 | 381 | |
| 379 | 382 | pub const ZigClangCK = extern enum { |
| 380 | 383 | Dependent, |
| 381 | 384 | BitCast, |
| 382 | 385 | LValueBitCast, |
| 386 | LValueToRValueBitCast, | |
| 383 | 387 | LValueToRValue, |
| 384 | 388 | NoOp, |
| 385 | 389 | BaseToDerived, |
| ... | ... | @@ -406,6 +410,8 @@ pub const ZigClangCK = extern enum { |
| 406 | 410 | IntegralToBoolean, |
| 407 | 411 | IntegralToFloating, |
| 408 | 412 | FixedPointCast, |
| 413 | FixedPointToIntegral, | |
| 414 | IntegralToFixedPoint, | |
| 409 | 415 | FixedPointToBoolean, |
| 410 | 416 | FloatingToIntegral, |
| 411 | 417 | FloatingToBoolean, |
| ... | ... | @@ -439,9 +445,11 @@ pub const ZigClangCK = extern enum { |
| 439 | 445 | }; |
| 440 | 446 | |
| 441 | 447 | pub const ZigClangAPValueKind = extern enum { |
| 442 | Uninitialized, | |
| 448 | None, | |
| 449 | Indeterminate, | |
| 443 | 450 | Int, |
| 444 | 451 | Float, |
| 452 | FixedPoint, | |
| 445 | 453 | ComplexInt, |
| 446 | 454 | ComplexFloat, |
| 447 | 455 | LValue, |
| ... | ... | @@ -478,6 +486,7 @@ pub const ZigClangDeclKind = extern enum { |
| 478 | 486 | ObjCMethod, |
| 479 | 487 | ObjCProperty, |
| 480 | 488 | BuiltinTemplate, |
| 489 | Concept, | |
| 481 | 490 | ClassTemplate, |
| 482 | 491 | FunctionTemplate, |
| 483 | 492 | TypeAliasTemplate, |
| ... | ... | @@ -519,8 +528,10 @@ pub const ZigClangDeclKind = extern enum { |
| 519 | 528 | VarTemplatePartialSpecialization, |
| 520 | 529 | EnumConstant, |
| 521 | 530 | IndirectField, |
| 531 | OMPDeclareMapper, | |
| 522 | 532 | OMPDeclareReduction, |
| 523 | 533 | UnresolvedUsingValue, |
| 534 | OMPAllocate, | |
| 524 | 535 | OMPRequires, |
| 525 | 536 | OMPThreadPrivate, |
| 526 | 537 | ObjCPropertyImpl, |
| ... | ... | @@ -939,25 +950,10 @@ pub const struct_ZigClangExprEvalResult = extern struct { |
| 939 | 950 | }; |
| 940 | 951 | |
| 941 | 952 | pub const struct_ZigClangAPValue = extern struct { |
| 942 | Kind: ZigClangAPValue_ValueKind, | |
| 953 | Kind: ZigClangAPValueKind, | |
| 943 | 954 | Data: if (builtin.os == .windows and builtin.abi == .msvc) [52]u8 else [68]u8, |
| 944 | 955 | }; |
| 945 | 956 | |
| 946 | pub const ZigClangAPValue_ValueKind = extern enum { | |
| 947 | ZigClangAPValue_ValueKind_Uninitialized, | |
| 948 | ZigClangAPValue_ValueKind_Int, | |
| 949 | ZigClangAPValue_ValueKind_Float, | |
| 950 | ZigClangAPValue_ValueKind_ComplexInt, | |
| 951 | ZigClangAPValue_ValueKind_ComplexFloat, | |
| 952 | ZigClangAPValue_ValueKind_LValue, | |
| 953 | ZigClangAPValue_ValueKind_Vector, | |
| 954 | ZigClangAPValue_ValueKind_Array, | |
| 955 | ZigClangAPValue_ValueKind_Struct, | |
| 956 | ZigClangAPValue_ValueKind_Union, | |
| 957 | ZigClangAPValue_ValueKind_MemberPointer, | |
| 958 | ZigClangAPValue_ValueKind_AddrLabelDiff, | |
| 959 | }; | |
| 960 | ||
| 961 | 957 | pub extern fn ZigClangIntegerLiteral_EvaluateAsInt(*const ZigClangIntegerLiteral, *ZigClangExprEvalResult, *const ZigClangASTContext) bool; |
| 962 | 958 | pub extern fn ZigClangIntegerLiteral_getBeginLoc(*const ZigClangIntegerLiteral) ZigClangSourceLocation; |
| 963 | 959 |
src/link.cpp+1| ... | ... | @@ -2520,6 +2520,7 @@ static void construct_linker_job_macho(LinkJob *lj) { |
| 2520 | 2520 | static void construct_linker_job(LinkJob *lj) { |
| 2521 | 2521 | switch (target_object_format(lj->codegen->zig_target)) { |
| 2522 | 2522 | case ZigLLVM_UnknownObjectFormat: |
| 2523 | case ZigLLVM_XCOFF: | |
| 2523 | 2524 | zig_unreachable(); |
| 2524 | 2525 | |
| 2525 | 2526 | case ZigLLVM_COFF: |
src/target.cpp+55-11| ... | ... | @@ -235,6 +235,7 @@ const char *target_oformat_name(ZigLLVM_ObjectFormatType oformat) { |
| 235 | 235 | case ZigLLVM_ELF: return "elf"; |
| 236 | 236 | case ZigLLVM_MachO: return "macho"; |
| 237 | 237 | case ZigLLVM_Wasm: return "wasm"; |
| 238 | case ZigLLVM_XCOFF: return "xcoff"; | |
| 238 | 239 | } |
| 239 | 240 | zig_unreachable(); |
| 240 | 241 | } |
| ... | ... | @@ -337,6 +338,8 @@ ZigLLVM_OSType get_llvm_os_type(Os os_type) { |
| 337 | 338 | return ZigLLVM_Hurd; |
| 338 | 339 | case OsWASI: |
| 339 | 340 | return ZigLLVM_WASI; |
| 341 | case OsEmscripten: | |
| 342 | return ZigLLVM_Emscripten; | |
| 340 | 343 | } |
| 341 | 344 | zig_unreachable(); |
| 342 | 345 | } |
| ... | ... | @@ -412,6 +415,8 @@ static Os get_zig_os_type(ZigLLVM_OSType os_type) { |
| 412 | 415 | return OsHurd; |
| 413 | 416 | case ZigLLVM_WASI: |
| 414 | 417 | return OsWASI; |
| 418 | case ZigLLVM_Emscripten: | |
| 419 | return OsEmscripten; | |
| 415 | 420 | } |
| 416 | 421 | zig_unreachable(); |
| 417 | 422 | } |
| ... | ... | @@ -457,6 +462,7 @@ const char *target_os_name(Os os_type) { |
| 457 | 462 | case OsHermitCore: |
| 458 | 463 | case OsHurd: |
| 459 | 464 | case OsWASI: |
| 465 | case OsEmscripten: | |
| 460 | 466 | return ZigLLVMGetOSTypeName(get_llvm_os_type(os_type)); |
| 461 | 467 | } |
| 462 | 468 | zig_unreachable(); |
| ... | ... | @@ -569,6 +575,7 @@ SubArchList target_subarch_list(ZigLLVM_ArchType arch) { |
| 569 | 575 | |
| 570 | 576 | case ZigLLVM_aarch64: |
| 571 | 577 | case ZigLLVM_aarch64_be: |
| 578 | case ZigLLVM_aarch64_32: | |
| 572 | 579 | return SubArchListArm64; |
| 573 | 580 | |
| 574 | 581 | case ZigLLVM_kalimba: |
| ... | ... | @@ -843,6 +850,7 @@ uint32_t target_arch_pointer_bit_width(ZigLLVM_ArchType arch) { |
| 843 | 850 | case ZigLLVM_shave: |
| 844 | 851 | case ZigLLVM_wasm32: |
| 845 | 852 | case ZigLLVM_renderscript32: |
| 853 | case ZigLLVM_aarch64_32: | |
| 846 | 854 | return 32; |
| 847 | 855 | |
| 848 | 856 | case ZigLLVM_aarch64: |
| ... | ... | @@ -916,6 +924,7 @@ uint32_t target_c_type_size_in_bits(const ZigTarget *target, CIntType id) { |
| 916 | 924 | case OsNetBSD: |
| 917 | 925 | case OsOpenBSD: |
| 918 | 926 | case OsWASI: |
| 927 | case OsEmscripten: | |
| 919 | 928 | switch (id) { |
| 920 | 929 | case CIntTypeShort: |
| 921 | 930 | case CIntTypeUShort: |
| ... | ... | @@ -1091,7 +1100,40 @@ static bool is_64_bit(ZigLLVM_ArchType arch) { |
| 1091 | 1100 | return target_arch_pointer_bit_width(arch) == 64; |
| 1092 | 1101 | } |
| 1093 | 1102 | |
| 1103 | bool target_is_android(const ZigTarget *target) { | |
| 1104 | return target->abi == ZigLLVM_Android; | |
| 1105 | } | |
| 1106 | ||
| 1094 | 1107 | const char *target_dynamic_linker(const ZigTarget *target) { |
| 1108 | if (target_is_android(target)) { | |
| 1109 | return is_64_bit(target->arch) ? "/system/bin/linker64" : "/system/bin/linker"; | |
| 1110 | } | |
| 1111 | ||
| 1112 | if (target_is_musl(target)) { | |
| 1113 | Buf buf = BUF_INIT; | |
| 1114 | buf_init_from_str(&buf, "/lib/ld-musl-"); | |
| 1115 | bool is_arm = false; | |
| 1116 | switch (target->arch) { | |
| 1117 | case ZigLLVM_arm: | |
| 1118 | case ZigLLVM_thumb: | |
| 1119 | buf_append_str(&buf, "arm"); | |
| 1120 | is_arm = true; | |
| 1121 | break; | |
| 1122 | case ZigLLVM_armeb: | |
| 1123 | case ZigLLVM_thumbeb: | |
| 1124 | buf_append_str(&buf, "armeb"); | |
| 1125 | is_arm = true; | |
| 1126 | break; | |
| 1127 | default: | |
| 1128 | buf_append_str(&buf, target_arch_name(target->arch)); | |
| 1129 | } | |
| 1130 | if (is_arm && get_float_abi(target) == FloatAbiHard) { | |
| 1131 | buf_append_str(&buf, "hf"); | |
| 1132 | } | |
| 1133 | buf_append_str(&buf, ".so.1"); | |
| 1134 | return buf_ptr(&buf); | |
| 1135 | } | |
| 1136 | ||
| 1095 | 1137 | switch (target->os) { |
| 1096 | 1138 | case OsFreeBSD: |
| 1097 | 1139 | return "/libexec/ld-elf.so.1"; |
| ... | ... | @@ -1099,14 +1141,6 @@ const char *target_dynamic_linker(const ZigTarget *target) { |
| 1099 | 1141 | return "/libexec/ld.elf_so"; |
| 1100 | 1142 | case OsLinux: { |
| 1101 | 1143 | const ZigLLVM_EnvironmentType abi = target->abi; |
| 1102 | if (abi == ZigLLVM_Android) { | |
| 1103 | if (is_64_bit(target->arch)) { | |
| 1104 | return "/system/bin/linker64"; | |
| 1105 | } else { | |
| 1106 | return "/system/bin/linker"; | |
| 1107 | } | |
| 1108 | } | |
| 1109 | ||
| 1110 | 1144 | switch (target->arch) { |
| 1111 | 1145 | case ZigLLVM_UnknownArch: |
| 1112 | 1146 | zig_unreachable(); |
| ... | ... | @@ -1121,6 +1155,9 @@ const char *target_dynamic_linker(const ZigTarget *target) { |
| 1121 | 1155 | case ZigLLVM_aarch64_be: |
| 1122 | 1156 | return "/lib/ld-linux-aarch64_be.so.1"; |
| 1123 | 1157 | |
| 1158 | case ZigLLVM_aarch64_32: | |
| 1159 | return "/lib/ld-linux-aarch64_32.so.1"; | |
| 1160 | ||
| 1124 | 1161 | case ZigLLVM_arm: |
| 1125 | 1162 | case ZigLLVM_thumb: |
| 1126 | 1163 | if (get_float_abi(target) == FloatAbiHard) { |
| ... | ... | @@ -1213,6 +1250,7 @@ const char *target_dynamic_linker(const ZigTarget *target) { |
| 1213 | 1250 | case OsMacOSX: |
| 1214 | 1251 | case OsUefi: |
| 1215 | 1252 | case OsWindows: |
| 1253 | case OsEmscripten: | |
| 1216 | 1254 | return nullptr; |
| 1217 | 1255 | |
| 1218 | 1256 | case OsAnanas: |
| ... | ... | @@ -1280,11 +1318,12 @@ const char *arch_stack_pointer_register_name(ZigLLVM_ArchType arch) { |
| 1280 | 1318 | case ZigLLVM_x86_64: |
| 1281 | 1319 | return "rsp"; |
| 1282 | 1320 | case ZigLLVM_aarch64: |
| 1321 | case ZigLLVM_aarch64_be: | |
| 1322 | case ZigLLVM_aarch64_32: | |
| 1283 | 1323 | return "sp"; |
| 1284 | 1324 | |
| 1285 | 1325 | case ZigLLVM_arm: |
| 1286 | 1326 | case ZigLLVM_thumb: |
| 1287 | case ZigLLVM_aarch64_be: | |
| 1288 | 1327 | case ZigLLVM_amdgcn: |
| 1289 | 1328 | case ZigLLVM_amdil: |
| 1290 | 1329 | case ZigLLVM_amdil64: |
| ... | ... | @@ -1338,10 +1377,11 @@ bool target_is_arm(const ZigTarget *target) { |
| 1338 | 1377 | case ZigLLVM_UnknownArch: |
| 1339 | 1378 | zig_unreachable(); |
| 1340 | 1379 | case ZigLLVM_aarch64: |
| 1341 | case ZigLLVM_arm: | |
| 1342 | case ZigLLVM_thumb: | |
| 1343 | 1380 | case ZigLLVM_aarch64_be: |
| 1381 | case ZigLLVM_aarch64_32: | |
| 1382 | case ZigLLVM_arm: | |
| 1344 | 1383 | case ZigLLVM_armeb: |
| 1384 | case ZigLLVM_thumb: | |
| 1345 | 1385 | case ZigLLVM_thumbeb: |
| 1346 | 1386 | return true; |
| 1347 | 1387 | |
| ... | ... | @@ -1490,6 +1530,7 @@ ZigLLVM_EnvironmentType target_default_abi(ZigLLVM_ArchType arch, Os os) { |
| 1490 | 1530 | return ZigLLVM_MSVC; |
| 1491 | 1531 | case OsLinux: |
| 1492 | 1532 | case OsWASI: |
| 1533 | case OsEmscripten: | |
| 1493 | 1534 | return ZigLLVM_Musl; |
| 1494 | 1535 | } |
| 1495 | 1536 | zig_unreachable(); |
| ... | ... | @@ -1607,12 +1648,15 @@ const char *target_libc_generic_name(const ZigTarget *target) { |
| 1607 | 1648 | case ZigLLVM_CODE16: |
| 1608 | 1649 | case ZigLLVM_EABI: |
| 1609 | 1650 | case ZigLLVM_EABIHF: |
| 1651 | case ZigLLVM_ELFv1: | |
| 1652 | case ZigLLVM_ELFv2: | |
| 1610 | 1653 | case ZigLLVM_Android: |
| 1611 | 1654 | case ZigLLVM_MSVC: |
| 1612 | 1655 | case ZigLLVM_Itanium: |
| 1613 | 1656 | case ZigLLVM_Cygnus: |
| 1614 | 1657 | case ZigLLVM_CoreCLR: |
| 1615 | 1658 | case ZigLLVM_Simulator: |
| 1659 | case ZigLLVM_MacABI: | |
| 1616 | 1660 | zig_unreachable(); |
| 1617 | 1661 | } |
| 1618 | 1662 | zig_unreachable(); |
src/target.hpp+1| ... | ... | @@ -186,6 +186,7 @@ bool target_abi_is_musl(ZigLLVM_EnvironmentType abi); |
| 186 | 186 | bool target_is_glibc(const ZigTarget *target); |
| 187 | 187 | bool target_is_musl(const ZigTarget *target); |
| 188 | 188 | bool target_is_wasm(const ZigTarget *target); |
| 189 | bool target_is_android(const ZigTarget *target); | |
| 189 | 190 | bool target_is_single_threaded(const ZigTarget *target); |
| 190 | 191 | bool target_supports_stack_probing(const ZigTarget *target); |
| 191 | 192 | bool target_has_debug_info(const ZigTarget *target); |
src/translate_c.cpp+33-1| ... | ... | @@ -1301,6 +1301,7 @@ static AstNode *trans_type(Context *c, const ZigClangType *ty, ZigClangSourceLoc |
| 1301 | 1301 | case ZigClangType_DeducedTemplateSpecialization: |
| 1302 | 1302 | case ZigClangType_DependentAddressSpace: |
| 1303 | 1303 | case ZigClangType_DependentVector: |
| 1304 | case ZigClangType_MacroQualified: | |
| 1304 | 1305 | emit_warning(c, source_loc, "unsupported type: '%s'", ZigClangType_getTypeClassName(ty)); |
| 1305 | 1306 | return nullptr; |
| 1306 | 1307 | } |
| ... | ... | @@ -2188,6 +2189,15 @@ static AstNode *trans_implicit_cast_expr(Context *c, ResultUsed result_used, Tra |
| 2188 | 2189 | case ZigClangCK_IntToOCLSampler: |
| 2189 | 2190 | emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CK_IntToOCLSampler"); |
| 2190 | 2191 | return nullptr; |
| 2192 | case ZigClangCK_LValueToRValueBitCast: | |
| 2193 | emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CK_LValueToRValueBitCast"); | |
| 2194 | return nullptr; | |
| 2195 | case ZigClangCK_FixedPointToIntegral: | |
| 2196 | emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CK_FixedPointToIntegral"); | |
| 2197 | return nullptr; | |
| 2198 | case ZigClangCK_IntegralToFixedPoint: | |
| 2199 | emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CK_IntegralToFixedPointral"); | |
| 2200 | return nullptr; | |
| 2191 | 2201 | } |
| 2192 | 2202 | zig_unreachable(); |
| 2193 | 2203 | } |
| ... | ... | @@ -2671,6 +2681,15 @@ static int trans_local_declaration(Context *c, TransScope *scope, const clang::D |
| 2671 | 2681 | case clang::Decl::TranslationUnit: |
| 2672 | 2682 | emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C TranslationUnit"); |
| 2673 | 2683 | return ErrorUnexpected; |
| 2684 | case clang::Decl::Concept: | |
| 2685 | emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C Concept"); | |
| 2686 | return ErrorUnexpected; | |
| 2687 | case clang::Decl::OMPDeclareMapper: | |
| 2688 | emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPDeclareMapper"); | |
| 2689 | return ErrorUnexpected; | |
| 2690 | case clang::Decl::OMPAllocate: | |
| 2691 | emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPAllocate"); | |
| 2692 | return ErrorUnexpected; | |
| 2674 | 2693 | } |
| 2675 | 2694 | zig_unreachable(); |
| 2676 | 2695 | } |
| ... | ... | @@ -2946,6 +2965,7 @@ static AstNode *trans_bool_expr(Context *c, ResultUsed result_used, TransScope * |
| 2946 | 2965 | case ZigClangType_DeducedTemplateSpecialization: |
| 2947 | 2966 | case ZigClangType_DependentAddressSpace: |
| 2948 | 2967 | case ZigClangType_DependentVector: |
| 2968 | case ZigClangType_MacroQualified: | |
| 2949 | 2969 | return res; |
| 2950 | 2970 | } |
| 2951 | 2971 | zig_unreachable(); |
| ... | ... | @@ -4031,6 +4051,12 @@ static int trans_stmt_extra(Context *c, TransScope *scope, const ZigClangStmt *s |
| 4031 | 4051 | case ZigClangStmt_SEHTryStmtClass: |
| 4032 | 4052 | emit_warning(c, ZigClangStmt_getBeginLoc(stmt), "TODO handle C SEHTryStmtClass"); |
| 4033 | 4053 | return ErrorUnexpected; |
| 4054 | case ZigClangStmt_BuiltinBitCastExprClass: | |
| 4055 | emit_warning(c, ZigClangStmt_getBeginLoc(stmt), "TODO handle C BuiltinBitCastExprClass"); | |
| 4056 | return ErrorUnexpected; | |
| 4057 | case ZigClangStmt_SourceLocExprClass: | |
| 4058 | emit_warning(c, ZigClangStmt_getBeginLoc(stmt), "TODO handle C SourceLocExprClass"); | |
| 4059 | return ErrorUnexpected; | |
| 4034 | 4060 | } |
| 4035 | 4061 | zig_unreachable(); |
| 4036 | 4062 | } |
| ... | ... | @@ -4448,7 +4474,7 @@ static AstNode *trans_ap_value(Context *c, const ZigClangAPValue *ap_value, ZigC |
| 4448 | 4474 | switch (ZigClangAPValue_getKind(ap_value)) { |
| 4449 | 4475 | case ZigClangAPValueInt: |
| 4450 | 4476 | return trans_create_node_apint(c, ZigClangAPValue_getInt(ap_value)); |
| 4451 | case ZigClangAPValueUninitialized: | |
| 4477 | case ZigClangAPValueNone: | |
| 4452 | 4478 | return trans_create_node(c, NodeTypeUndefinedLiteral); |
| 4453 | 4479 | case ZigClangAPValueArray: { |
| 4454 | 4480 | emit_warning(c, source_loc, "TODO add a test case for this code"); |
| ... | ... | @@ -4539,6 +4565,12 @@ static AstNode *trans_ap_value(Context *c, const ZigClangAPValue *ap_value, ZigC |
| 4539 | 4565 | case ZigClangAPValueAddrLabelDiff: |
| 4540 | 4566 | emit_warning(c, source_loc, "unsupported initializer value kind: AddrLabelDiff"); |
| 4541 | 4567 | return nullptr; |
| 4568 | case ZigClangAPValueIndeterminate: | |
| 4569 | emit_warning(c, source_loc, "unsupported initializer value kind: Indeterminate"); | |
| 4570 | return nullptr; | |
| 4571 | case ZigClangAPValueFixedPoint: | |
| 4572 | emit_warning(c, source_loc, "unsupported initializer value kind: FixedPoint"); | |
| 4573 | return nullptr; | |
| 4542 | 4574 | } |
| 4543 | 4575 | zig_unreachable(); |
| 4544 | 4576 | } |
src/zig_clang.cpp+25-17| ... | ... | @@ -182,6 +182,7 @@ void ZigClang_detect_enum_CK(clang::CastKind x) { |
| 182 | 182 | case clang::CK_IntegralToFloating: |
| 183 | 183 | case clang::CK_IntegralToPointer: |
| 184 | 184 | case clang::CK_LValueBitCast: |
| 185 | case clang::CK_LValueToRValueBitCast: | |
| 185 | 186 | case clang::CK_LValueToRValue: |
| 186 | 187 | case clang::CK_MemberPointerToBoolean: |
| 187 | 188 | case clang::CK_NoOp: |
| ... | ... | @@ -199,6 +200,8 @@ void ZigClang_detect_enum_CK(clang::CastKind x) { |
| 199 | 200 | case clang::CK_VectorSplat: |
| 200 | 201 | case clang::CK_ZeroToOCLOpaqueType: |
| 201 | 202 | case clang::CK_FixedPointCast: |
| 203 | case clang::CK_FixedPointToIntegral: | |
| 204 | case clang::CK_IntegralToFixedPoint: | |
| 202 | 205 | case clang::CK_FixedPointToBoolean: |
| 203 | 206 | break; |
| 204 | 207 | } |
| ... | ... | @@ -207,6 +210,7 @@ void ZigClang_detect_enum_CK(clang::CastKind x) { |
| 207 | 210 | static_assert((clang::CastKind)ZigClangCK_Dependent == clang::CK_Dependent, ""); |
| 208 | 211 | static_assert((clang::CastKind)ZigClangCK_BitCast == clang::CK_BitCast, ""); |
| 209 | 212 | static_assert((clang::CastKind)ZigClangCK_LValueBitCast == clang::CK_LValueBitCast, ""); |
| 213 | static_assert((clang::CastKind)ZigClangCK_LValueToRValueBitCast == clang::CK_LValueToRValueBitCast, ""); | |
| 210 | 214 | static_assert((clang::CastKind)ZigClangCK_LValueToRValue == clang::CK_LValueToRValue, ""); |
| 211 | 215 | static_assert((clang::CastKind)ZigClangCK_NoOp == clang::CK_NoOp, ""); |
| 212 | 216 | static_assert((clang::CastKind)ZigClangCK_BaseToDerived == clang::CK_BaseToDerived, ""); |
| ... | ... | @@ -233,6 +237,8 @@ static_assert((clang::CastKind)ZigClangCK_IntegralCast == clang::CK_IntegralCast |
| 233 | 237 | static_assert((clang::CastKind)ZigClangCK_IntegralToBoolean == clang::CK_IntegralToBoolean, ""); |
| 234 | 238 | static_assert((clang::CastKind)ZigClangCK_IntegralToFloating == clang::CK_IntegralToFloating, ""); |
| 235 | 239 | static_assert((clang::CastKind)ZigClangCK_FixedPointCast == clang::CK_FixedPointCast, ""); |
| 240 | static_assert((clang::CastKind)ZigClangCK_FixedPointToIntegral == clang::CK_FixedPointToIntegral, ""); | |
| 241 | static_assert((clang::CastKind)ZigClangCK_IntegralToFixedPoint == clang::CK_IntegralToFixedPoint, ""); | |
| 236 | 242 | static_assert((clang::CastKind)ZigClangCK_FixedPointToBoolean == clang::CK_FixedPointToBoolean, ""); |
| 237 | 243 | static_assert((clang::CastKind)ZigClangCK_FloatingToIntegral == clang::CK_FloatingToIntegral, ""); |
| 238 | 244 | static_assert((clang::CastKind)ZigClangCK_FloatingToBoolean == clang::CK_FloatingToBoolean, ""); |
| ... | ... | @@ -288,6 +294,7 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) { |
| 288 | 294 | case clang::Type::UnresolvedUsing: |
| 289 | 295 | case clang::Type::Paren: |
| 290 | 296 | case clang::Type::Typedef: |
| 297 | case clang::Type::MacroQualified: | |
| 291 | 298 | case clang::Type::Adjusted: |
| 292 | 299 | case clang::Type::Decayed: |
| 293 | 300 | case clang::Type::TypeOfExpr: |
| ... | ... | @@ -339,6 +346,7 @@ static_assert((clang::Type::TypeClass)ZigClangType_FunctionNoProto == clang::Typ |
| 339 | 346 | static_assert((clang::Type::TypeClass)ZigClangType_UnresolvedUsing == clang::Type::UnresolvedUsing, ""); |
| 340 | 347 | static_assert((clang::Type::TypeClass)ZigClangType_Paren == clang::Type::Paren, ""); |
| 341 | 348 | static_assert((clang::Type::TypeClass)ZigClangType_Typedef == clang::Type::Typedef, ""); |
| 349 | static_assert((clang::Type::TypeClass)ZigClangType_MacroQualified == clang::Type::MacroQualified, ""); | |
| 342 | 350 | static_assert((clang::Type::TypeClass)ZigClangType_Adjusted == clang::Type::Adjusted, ""); |
| 343 | 351 | static_assert((clang::Type::TypeClass)ZigClangType_Decayed == clang::Type::Decayed, ""); |
| 344 | 352 | static_assert((clang::Type::TypeClass)ZigClangType_TypeOfExpr == clang::Type::TypeOfExpr, ""); |
| ... | ... | @@ -423,6 +431,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) { |
| 423 | 431 | case clang::Stmt::ConditionalOperatorClass: |
| 424 | 432 | case clang::Stmt::BinaryConditionalOperatorClass: |
| 425 | 433 | case clang::Stmt::ImplicitCastExprClass: |
| 434 | case clang::Stmt::BuiltinBitCastExprClass: | |
| 426 | 435 | case clang::Stmt::CStyleCastExprClass: |
| 427 | 436 | case clang::Stmt::CompoundLiteralExprClass: |
| 428 | 437 | case clang::Stmt::ExtVectorElementExprClass: |
| ... | ... | @@ -479,6 +488,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) { |
| 479 | 488 | case clang::Stmt::CXXNoexceptExprClass: |
| 480 | 489 | case clang::Stmt::PackExpansionExprClass: |
| 481 | 490 | case clang::Stmt::SizeOfPackExprClass: |
| 491 | case clang::Stmt::SourceLocExprClass: | |
| 482 | 492 | case clang::Stmt::SubstNonTypeTemplateParmExprClass: |
| 483 | 493 | case clang::Stmt::SubstNonTypeTemplateParmPackExprClass: |
| 484 | 494 | case clang::Stmt::FunctionParmPackExprClass: |
| ... | ... | @@ -624,6 +634,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundAssignOperatorClass = |
| 624 | 634 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConditionalOperatorClass == clang::Stmt::ConditionalOperatorClass, ""); |
| 625 | 635 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_BinaryConditionalOperatorClass == clang::Stmt::BinaryConditionalOperatorClass, ""); |
| 626 | 636 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImplicitCastExprClass == clang::Stmt::ImplicitCastExprClass, ""); |
| 637 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_BuiltinBitCastExprClass == clang::Stmt::BuiltinBitCastExprClass, ""); | |
| 627 | 638 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_CStyleCastExprClass == clang::Stmt::CStyleCastExprClass, ""); |
| 628 | 639 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundLiteralExprClass == clang::Stmt::CompoundLiteralExprClass, ""); |
| 629 | 640 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExtVectorElementExprClass == clang::Stmt::ExtVectorElementExprClass, ""); |
| ... | ... | @@ -680,6 +691,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedMemberExprClass == |
| 680 | 691 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNoexceptExprClass == clang::Stmt::CXXNoexceptExprClass, ""); |
| 681 | 692 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackExpansionExprClass == clang::Stmt::PackExpansionExprClass, ""); |
| 682 | 693 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_SizeOfPackExprClass == clang::Stmt::SizeOfPackExprClass, ""); |
| 694 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_SourceLocExprClass == clang::Stmt::SourceLocExprClass, ""); | |
| 683 | 695 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_SubstNonTypeTemplateParmExprClass == clang::Stmt::SubstNonTypeTemplateParmExprClass, ""); |
| 684 | 696 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_SubstNonTypeTemplateParmPackExprClass == clang::Stmt::SubstNonTypeTemplateParmPackExprClass, ""); |
| 685 | 697 | static_assert((clang::Stmt::StmtClass)ZigClangStmt_FunctionParmPackExprClass == clang::Stmt::FunctionParmPackExprClass, ""); |
| ... | ... | @@ -770,9 +782,11 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeSimdD |
| 770 | 782 | |
| 771 | 783 | void ZigClang_detect_enum_APValueKind(clang::APValue::ValueKind x) { |
| 772 | 784 | switch (x) { |
| 773 | case clang::APValue::Uninitialized: | |
| 785 | case clang::APValue::None: | |
| 786 | case clang::APValue::Indeterminate: | |
| 774 | 787 | case clang::APValue::Int: |
| 775 | 788 | case clang::APValue::Float: |
| 789 | case clang::APValue::FixedPoint: | |
| 776 | 790 | case clang::APValue::ComplexInt: |
| 777 | 791 | case clang::APValue::ComplexFloat: |
| 778 | 792 | case clang::APValue::LValue: |
| ... | ... | @@ -786,9 +800,11 @@ void ZigClang_detect_enum_APValueKind(clang::APValue::ValueKind x) { |
| 786 | 800 | } |
| 787 | 801 | } |
| 788 | 802 | |
| 789 | static_assert((clang::APValue::ValueKind)ZigClangAPValueUninitialized == clang::APValue::Uninitialized, ""); | |
| 803 | static_assert((clang::APValue::ValueKind)ZigClangAPValueNone == clang::APValue::None, ""); | |
| 804 | static_assert((clang::APValue::ValueKind)ZigClangAPValueIndeterminate == clang::APValue::Indeterminate, ""); | |
| 790 | 805 | static_assert((clang::APValue::ValueKind)ZigClangAPValueInt == clang::APValue::Int, ""); |
| 791 | 806 | static_assert((clang::APValue::ValueKind)ZigClangAPValueFloat == clang::APValue::Float, ""); |
| 807 | static_assert((clang::APValue::ValueKind)ZigClangAPValueFixedPoint == clang::APValue::FixedPoint, ""); | |
| 792 | 808 | static_assert((clang::APValue::ValueKind)ZigClangAPValueComplexInt == clang::APValue::ComplexInt, ""); |
| 793 | 809 | static_assert((clang::APValue::ValueKind)ZigClangAPValueComplexFloat == clang::APValue::ComplexFloat, ""); |
| 794 | 810 | static_assert((clang::APValue::ValueKind)ZigClangAPValueLValue == clang::APValue::LValue, ""); |
| ... | ... | @@ -826,6 +842,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) { |
| 826 | 842 | case clang::Decl::ObjCMethod: |
| 827 | 843 | case clang::Decl::ObjCProperty: |
| 828 | 844 | case clang::Decl::BuiltinTemplate: |
| 845 | case clang::Decl::Concept: | |
| 829 | 846 | case clang::Decl::ClassTemplate: |
| 830 | 847 | case clang::Decl::FunctionTemplate: |
| 831 | 848 | case clang::Decl::TypeAliasTemplate: |
| ... | ... | @@ -867,8 +884,10 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) { |
| 867 | 884 | case clang::Decl::VarTemplatePartialSpecialization: |
| 868 | 885 | case clang::Decl::EnumConstant: |
| 869 | 886 | case clang::Decl::IndirectField: |
| 887 | case clang::Decl::OMPDeclareMapper: | |
| 870 | 888 | case clang::Decl::OMPDeclareReduction: |
| 871 | 889 | case clang::Decl::UnresolvedUsingValue: |
| 890 | case clang::Decl::OMPAllocate: | |
| 872 | 891 | case clang::Decl::OMPRequires: |
| 873 | 892 | case clang::Decl::OMPThreadPrivate: |
| 874 | 893 | case clang::Decl::ObjCPropertyImpl: |
| ... | ... | @@ -904,6 +923,7 @@ static_assert((clang::Decl::Kind)ZigClangDeclObjCProtocol == clang::Decl::ObjCPr |
| 904 | 923 | static_assert((clang::Decl::Kind)ZigClangDeclObjCMethod == clang::Decl::ObjCMethod, ""); |
| 905 | 924 | static_assert((clang::Decl::Kind)ZigClangDeclObjCProperty == clang::Decl::ObjCProperty, ""); |
| 906 | 925 | static_assert((clang::Decl::Kind)ZigClangDeclBuiltinTemplate == clang::Decl::BuiltinTemplate, ""); |
| 926 | static_assert((clang::Decl::Kind)ZigClangDeclConcept == clang::Decl::Concept, ""); | |
| 907 | 927 | static_assert((clang::Decl::Kind)ZigClangDeclClassTemplate == clang::Decl::ClassTemplate, ""); |
| 908 | 928 | static_assert((clang::Decl::Kind)ZigClangDeclFunctionTemplate == clang::Decl::FunctionTemplate, ""); |
| 909 | 929 | static_assert((clang::Decl::Kind)ZigClangDeclTypeAliasTemplate == clang::Decl::TypeAliasTemplate, ""); |
| ... | ... | @@ -919,6 +939,7 @@ static_assert((clang::Decl::Kind)ZigClangDeclObjCTypeParam == clang::Decl::ObjCT |
| 919 | 939 | static_assert((clang::Decl::Kind)ZigClangDeclTypeAlias == clang::Decl::TypeAlias, ""); |
| 920 | 940 | static_assert((clang::Decl::Kind)ZigClangDeclTypedef == clang::Decl::Typedef, ""); |
| 921 | 941 | static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingTypename == clang::Decl::UnresolvedUsingTypename, ""); |
| 942 | static_assert((clang::Decl::Kind)ZigClangDeclOMPAllocate == clang::Decl::OMPAllocate, ""); | |
| 922 | 943 | static_assert((clang::Decl::Kind)ZigClangDeclUsing == clang::Decl::Using, ""); |
| 923 | 944 | static_assert((clang::Decl::Kind)ZigClangDeclUsingDirective == clang::Decl::UsingDirective, ""); |
| 924 | 945 | static_assert((clang::Decl::Kind)ZigClangDeclUsingPack == clang::Decl::UsingPack, ""); |
| ... | ... | @@ -945,6 +966,7 @@ static_assert((clang::Decl::Kind)ZigClangDeclVarTemplateSpecialization == clang: |
| 945 | 966 | static_assert((clang::Decl::Kind)ZigClangDeclVarTemplatePartialSpecialization == clang::Decl::VarTemplatePartialSpecialization, ""); |
| 946 | 967 | static_assert((clang::Decl::Kind)ZigClangDeclEnumConstant == clang::Decl::EnumConstant, ""); |
| 947 | 968 | static_assert((clang::Decl::Kind)ZigClangDeclIndirectField == clang::Decl::IndirectField, ""); |
| 969 | static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, ""); | |
| 948 | 970 | static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, ""); |
| 949 | 971 | static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, ""); |
| 950 | 972 | static_assert((clang::Decl::Kind)ZigClangDeclOMPRequires == clang::Decl::OMPRequires, ""); |
| ... | ... | @@ -1288,19 +1310,6 @@ static_assert((clang::StringLiteral::StringKind)ZigClangStringLiteral_StringKind |
| 1288 | 1310 | static_assert((clang::StringLiteral::StringKind)ZigClangStringLiteral_StringKind_UTF16 == clang::StringLiteral::UTF16, ""); |
| 1289 | 1311 | static_assert((clang::StringLiteral::StringKind)ZigClangStringLiteral_StringKind_UTF32 == clang::StringLiteral::UTF32, ""); |
| 1290 | 1312 | |
| 1291 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_Uninitialized == clang::APValue::ValueKind::Uninitialized, ""); | |
| 1292 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_Int == clang::APValue::ValueKind::Int, ""); | |
| 1293 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_Float == clang::APValue::ValueKind::Float, ""); | |
| 1294 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_ComplexInt == clang::APValue::ValueKind::ComplexInt, ""); | |
| 1295 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_ComplexFloat == clang::APValue::ValueKind::ComplexFloat, ""); | |
| 1296 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_LValue == clang::APValue::ValueKind::LValue, ""); | |
| 1297 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_Vector == clang::APValue::ValueKind::Vector, ""); | |
| 1298 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_Array == clang::APValue::ValueKind::Array, ""); | |
| 1299 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_Struct == clang::APValue::ValueKind::Struct, ""); | |
| 1300 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_Union == clang::APValue::ValueKind::Union, ""); | |
| 1301 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_MemberPointer == clang::APValue::ValueKind::MemberPointer, ""); | |
| 1302 | static_assert((clang::APValue::ValueKind)ZigClangAPValue_ValueKind_AddrLabelDiff == clang::APValue::ValueKind::AddrLabelDiff, ""); | |
| 1303 | ||
| 1304 | 1313 | static_assert(sizeof(ZigClangAPValue) == sizeof(clang::APValue), ""); |
| 1305 | 1314 | |
| 1306 | 1315 | static_assert(sizeof(ZigClangSourceLocation) == sizeof(clang::SourceLocation), ""); |
| ... | ... | @@ -1744,7 +1753,6 @@ ZigClangASTUnit *ZigClangLoadFromCommandLine(const char **args_begin, const char |
| 1744 | 1753 | std::shared_ptr<clang::PCHContainerOperations> pch_container_ops = std::make_shared<clang::PCHContainerOperations>(); |
| 1745 | 1754 | |
| 1746 | 1755 | bool only_local_decls = true; |
| 1747 | bool capture_diagnostics = true; | |
| 1748 | 1756 | bool user_files_are_volatile = true; |
| 1749 | 1757 | bool allow_pch_with_compiler_errors = false; |
| 1750 | 1758 | bool single_file_parse = false; |
| ... | ... | @@ -1753,7 +1761,7 @@ ZigClangASTUnit *ZigClangLoadFromCommandLine(const char **args_begin, const char |
| 1753 | 1761 | clang::ASTUnit *ast_unit = clang::ASTUnit::LoadFromCommandLine( |
| 1754 | 1762 | args_begin, args_end, |
| 1755 | 1763 | pch_container_ops, diags, resources_path, |
| 1756 | only_local_decls, capture_diagnostics, clang::None, true, 0, clang::TU_Complete, | |
| 1764 | only_local_decls, clang::CaptureDiagsKind::All, clang::None, true, 0, clang::TU_Complete, | |
| 1757 | 1765 | false, false, allow_pch_with_compiler_errors, clang::SkipFunctionBodiesScope::None, |
| 1758 | 1766 | single_file_parse, user_files_are_volatile, for_serialization, clang::None, err_unit, |
| 1759 | 1767 | nullptr); |
src/zig_clang.h+95-99| ... | ... | @@ -30,23 +30,25 @@ struct ZigClangAPValueLValueBase { |
| 30 | 30 | unsigned Version; |
| 31 | 31 | }; |
| 32 | 32 | |
| 33 | enum ZigClangAPValue_ValueKind { | |
| 34 | ZigClangAPValue_ValueKind_Uninitialized, | |
| 35 | ZigClangAPValue_ValueKind_Int, | |
| 36 | ZigClangAPValue_ValueKind_Float, | |
| 37 | ZigClangAPValue_ValueKind_ComplexInt, | |
| 38 | ZigClangAPValue_ValueKind_ComplexFloat, | |
| 39 | ZigClangAPValue_ValueKind_LValue, | |
| 40 | ZigClangAPValue_ValueKind_Vector, | |
| 41 | ZigClangAPValue_ValueKind_Array, | |
| 42 | ZigClangAPValue_ValueKind_Struct, | |
| 43 | ZigClangAPValue_ValueKind_Union, | |
| 44 | ZigClangAPValue_ValueKind_MemberPointer, | |
| 45 | ZigClangAPValue_ValueKind_AddrLabelDiff | |
| 33 | enum ZigClangAPValueKind { | |
| 34 | ZigClangAPValueNone, | |
| 35 | ZigClangAPValueIndeterminate, | |
| 36 | ZigClangAPValueInt, | |
| 37 | ZigClangAPValueFloat, | |
| 38 | ZigClangAPValueFixedPoint, | |
| 39 | ZigClangAPValueComplexInt, | |
| 40 | ZigClangAPValueComplexFloat, | |
| 41 | ZigClangAPValueLValue, | |
| 42 | ZigClangAPValueVector, | |
| 43 | ZigClangAPValueArray, | |
| 44 | ZigClangAPValueStruct, | |
| 45 | ZigClangAPValueUnion, | |
| 46 | ZigClangAPValueMemberPointer, | |
| 47 | ZigClangAPValueAddrLabelDiff, | |
| 46 | 48 | }; |
| 47 | 49 | |
| 48 | 50 | struct ZigClangAPValue { |
| 49 | enum ZigClangAPValue_ValueKind Kind; | |
| 51 | enum ZigClangAPValueKind Kind; | |
| 50 | 52 | // experimentally-derived size of clang::APValue::DataType |
| 51 | 53 | #if defined(WIN32) && defined(_MSC_VER) |
| 52 | 54 | char Data[52]; |
| ... | ... | @@ -214,6 +216,7 @@ enum ZigClangTypeClass { |
| 214 | 216 | ZigClangType_UnresolvedUsing, |
| 215 | 217 | ZigClangType_Paren, |
| 216 | 218 | ZigClangType_Typedef, |
| 219 | ZigClangType_MacroQualified, | |
| 217 | 220 | ZigClangType_Adjusted, |
| 218 | 221 | ZigClangType_Decayed, |
| 219 | 222 | ZigClangType_TypeOfExpr, |
| ... | ... | @@ -243,10 +246,9 @@ enum ZigClangTypeClass { |
| 243 | 246 | }; |
| 244 | 247 | |
| 245 | 248 | enum ZigClangStmtClass { |
| 246 | ZigClangStmt_NoStmtClass = 0, | |
| 249 | ZigClangStmt_NoStmtClass, | |
| 247 | 250 | ZigClangStmt_GCCAsmStmtClass, |
| 248 | 251 | ZigClangStmt_MSAsmStmtClass, |
| 249 | ZigClangStmt_AttributedStmtClass, | |
| 250 | 252 | ZigClangStmt_BreakStmtClass, |
| 251 | 253 | ZigClangStmt_CXXCatchStmtClass, |
| 252 | 254 | ZigClangStmt_CXXForRangeStmtClass, |
| ... | ... | @@ -258,6 +260,75 @@ enum ZigClangStmtClass { |
| 258 | 260 | ZigClangStmt_CoroutineBodyStmtClass, |
| 259 | 261 | ZigClangStmt_DeclStmtClass, |
| 260 | 262 | ZigClangStmt_DoStmtClass, |
| 263 | ZigClangStmt_ForStmtClass, | |
| 264 | ZigClangStmt_GotoStmtClass, | |
| 265 | ZigClangStmt_IfStmtClass, | |
| 266 | ZigClangStmt_IndirectGotoStmtClass, | |
| 267 | ZigClangStmt_MSDependentExistsStmtClass, | |
| 268 | ZigClangStmt_NullStmtClass, | |
| 269 | ZigClangStmt_OMPAtomicDirectiveClass, | |
| 270 | ZigClangStmt_OMPBarrierDirectiveClass, | |
| 271 | ZigClangStmt_OMPCancelDirectiveClass, | |
| 272 | ZigClangStmt_OMPCancellationPointDirectiveClass, | |
| 273 | ZigClangStmt_OMPCriticalDirectiveClass, | |
| 274 | ZigClangStmt_OMPFlushDirectiveClass, | |
| 275 | ZigClangStmt_OMPDistributeDirectiveClass, | |
| 276 | ZigClangStmt_OMPDistributeParallelForDirectiveClass, | |
| 277 | ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass, | |
| 278 | ZigClangStmt_OMPDistributeSimdDirectiveClass, | |
| 279 | ZigClangStmt_OMPForDirectiveClass, | |
| 280 | ZigClangStmt_OMPForSimdDirectiveClass, | |
| 281 | ZigClangStmt_OMPParallelForDirectiveClass, | |
| 282 | ZigClangStmt_OMPParallelForSimdDirectiveClass, | |
| 283 | ZigClangStmt_OMPSimdDirectiveClass, | |
| 284 | ZigClangStmt_OMPTargetParallelForSimdDirectiveClass, | |
| 285 | ZigClangStmt_OMPTargetSimdDirectiveClass, | |
| 286 | ZigClangStmt_OMPTargetTeamsDistributeDirectiveClass, | |
| 287 | ZigClangStmt_OMPTargetTeamsDistributeParallelForDirectiveClass, | |
| 288 | ZigClangStmt_OMPTargetTeamsDistributeParallelForSimdDirectiveClass, | |
| 289 | ZigClangStmt_OMPTargetTeamsDistributeSimdDirectiveClass, | |
| 290 | ZigClangStmt_OMPTaskLoopDirectiveClass, | |
| 291 | ZigClangStmt_OMPTaskLoopSimdDirectiveClass, | |
| 292 | ZigClangStmt_OMPTeamsDistributeDirectiveClass, | |
| 293 | ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass, | |
| 294 | ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass, | |
| 295 | ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass, | |
| 296 | ZigClangStmt_OMPMasterDirectiveClass, | |
| 297 | ZigClangStmt_OMPOrderedDirectiveClass, | |
| 298 | ZigClangStmt_OMPParallelDirectiveClass, | |
| 299 | ZigClangStmt_OMPParallelSectionsDirectiveClass, | |
| 300 | ZigClangStmt_OMPSectionDirectiveClass, | |
| 301 | ZigClangStmt_OMPSectionsDirectiveClass, | |
| 302 | ZigClangStmt_OMPSingleDirectiveClass, | |
| 303 | ZigClangStmt_OMPTargetDataDirectiveClass, | |
| 304 | ZigClangStmt_OMPTargetDirectiveClass, | |
| 305 | ZigClangStmt_OMPTargetEnterDataDirectiveClass, | |
| 306 | ZigClangStmt_OMPTargetExitDataDirectiveClass, | |
| 307 | ZigClangStmt_OMPTargetParallelDirectiveClass, | |
| 308 | ZigClangStmt_OMPTargetParallelForDirectiveClass, | |
| 309 | ZigClangStmt_OMPTargetTeamsDirectiveClass, | |
| 310 | ZigClangStmt_OMPTargetUpdateDirectiveClass, | |
| 311 | ZigClangStmt_OMPTaskDirectiveClass, | |
| 312 | ZigClangStmt_OMPTaskgroupDirectiveClass, | |
| 313 | ZigClangStmt_OMPTaskwaitDirectiveClass, | |
| 314 | ZigClangStmt_OMPTaskyieldDirectiveClass, | |
| 315 | ZigClangStmt_OMPTeamsDirectiveClass, | |
| 316 | ZigClangStmt_ObjCAtCatchStmtClass, | |
| 317 | ZigClangStmt_ObjCAtFinallyStmtClass, | |
| 318 | ZigClangStmt_ObjCAtSynchronizedStmtClass, | |
| 319 | ZigClangStmt_ObjCAtThrowStmtClass, | |
| 320 | ZigClangStmt_ObjCAtTryStmtClass, | |
| 321 | ZigClangStmt_ObjCAutoreleasePoolStmtClass, | |
| 322 | ZigClangStmt_ObjCForCollectionStmtClass, | |
| 323 | ZigClangStmt_ReturnStmtClass, | |
| 324 | ZigClangStmt_SEHExceptStmtClass, | |
| 325 | ZigClangStmt_SEHFinallyStmtClass, | |
| 326 | ZigClangStmt_SEHLeaveStmtClass, | |
| 327 | ZigClangStmt_SEHTryStmtClass, | |
| 328 | ZigClangStmt_CaseStmtClass, | |
| 329 | ZigClangStmt_DefaultStmtClass, | |
| 330 | ZigClangStmt_SwitchStmtClass, | |
| 331 | ZigClangStmt_AttributedStmtClass, | |
| 261 | 332 | ZigClangStmt_BinaryConditionalOperatorClass, |
| 262 | 333 | ZigClangStmt_ConditionalOperatorClass, |
| 263 | 334 | ZigClangStmt_AddrLabelExprClass, |
| ... | ... | @@ -296,6 +367,7 @@ enum ZigClangStmtClass { |
| 296 | 367 | ZigClangStmt_CXXMemberCallExprClass, |
| 297 | 368 | ZigClangStmt_CXXOperatorCallExprClass, |
| 298 | 369 | ZigClangStmt_UserDefinedLiteralClass, |
| 370 | ZigClangStmt_BuiltinBitCastExprClass, | |
| 299 | 371 | ZigClangStmt_CStyleCastExprClass, |
| 300 | 372 | ZigClangStmt_CXXFunctionalCastExprClass, |
| 301 | 373 | ZigClangStmt_CXXConstCastExprClass, |
| ... | ... | @@ -361,6 +433,7 @@ enum ZigClangStmtClass { |
| 361 | 433 | ZigClangStmt_PseudoObjectExprClass, |
| 362 | 434 | ZigClangStmt_ShuffleVectorExprClass, |
| 363 | 435 | ZigClangStmt_SizeOfPackExprClass, |
| 436 | ZigClangStmt_SourceLocExprClass, | |
| 364 | 437 | ZigClangStmt_StmtExprClass, |
| 365 | 438 | ZigClangStmt_StringLiteralClass, |
| 366 | 439 | ZigClangStmt_SubstNonTypeTemplateParmExprClass, |
| ... | ... | @@ -370,75 +443,7 @@ enum ZigClangStmtClass { |
| 370 | 443 | ZigClangStmt_UnaryExprOrTypeTraitExprClass, |
| 371 | 444 | ZigClangStmt_UnaryOperatorClass, |
| 372 | 445 | ZigClangStmt_VAArgExprClass, |
| 373 | ZigClangStmt_ForStmtClass, | |
| 374 | ZigClangStmt_GotoStmtClass, | |
| 375 | ZigClangStmt_IfStmtClass, | |
| 376 | ZigClangStmt_IndirectGotoStmtClass, | |
| 377 | 446 | ZigClangStmt_LabelStmtClass, |
| 378 | ZigClangStmt_MSDependentExistsStmtClass, | |
| 379 | ZigClangStmt_NullStmtClass, | |
| 380 | ZigClangStmt_OMPAtomicDirectiveClass, | |
| 381 | ZigClangStmt_OMPBarrierDirectiveClass, | |
| 382 | ZigClangStmt_OMPCancelDirectiveClass, | |
| 383 | ZigClangStmt_OMPCancellationPointDirectiveClass, | |
| 384 | ZigClangStmt_OMPCriticalDirectiveClass, | |
| 385 | ZigClangStmt_OMPFlushDirectiveClass, | |
| 386 | ZigClangStmt_OMPDistributeDirectiveClass, | |
| 387 | ZigClangStmt_OMPDistributeParallelForDirectiveClass, | |
| 388 | ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass, | |
| 389 | ZigClangStmt_OMPDistributeSimdDirectiveClass, | |
| 390 | ZigClangStmt_OMPForDirectiveClass, | |
| 391 | ZigClangStmt_OMPForSimdDirectiveClass, | |
| 392 | ZigClangStmt_OMPParallelForDirectiveClass, | |
| 393 | ZigClangStmt_OMPParallelForSimdDirectiveClass, | |
| 394 | ZigClangStmt_OMPSimdDirectiveClass, | |
| 395 | ZigClangStmt_OMPTargetParallelForSimdDirectiveClass, | |
| 396 | ZigClangStmt_OMPTargetSimdDirectiveClass, | |
| 397 | ZigClangStmt_OMPTargetTeamsDistributeDirectiveClass, | |
| 398 | ZigClangStmt_OMPTargetTeamsDistributeParallelForDirectiveClass, | |
| 399 | ZigClangStmt_OMPTargetTeamsDistributeParallelForSimdDirectiveClass, | |
| 400 | ZigClangStmt_OMPTargetTeamsDistributeSimdDirectiveClass, | |
| 401 | ZigClangStmt_OMPTaskLoopDirectiveClass, | |
| 402 | ZigClangStmt_OMPTaskLoopSimdDirectiveClass, | |
| 403 | ZigClangStmt_OMPTeamsDistributeDirectiveClass, | |
| 404 | ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass, | |
| 405 | ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass, | |
| 406 | ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass, | |
| 407 | ZigClangStmt_OMPMasterDirectiveClass, | |
| 408 | ZigClangStmt_OMPOrderedDirectiveClass, | |
| 409 | ZigClangStmt_OMPParallelDirectiveClass, | |
| 410 | ZigClangStmt_OMPParallelSectionsDirectiveClass, | |
| 411 | ZigClangStmt_OMPSectionDirectiveClass, | |
| 412 | ZigClangStmt_OMPSectionsDirectiveClass, | |
| 413 | ZigClangStmt_OMPSingleDirectiveClass, | |
| 414 | ZigClangStmt_OMPTargetDataDirectiveClass, | |
| 415 | ZigClangStmt_OMPTargetDirectiveClass, | |
| 416 | ZigClangStmt_OMPTargetEnterDataDirectiveClass, | |
| 417 | ZigClangStmt_OMPTargetExitDataDirectiveClass, | |
| 418 | ZigClangStmt_OMPTargetParallelDirectiveClass, | |
| 419 | ZigClangStmt_OMPTargetParallelForDirectiveClass, | |
| 420 | ZigClangStmt_OMPTargetTeamsDirectiveClass, | |
| 421 | ZigClangStmt_OMPTargetUpdateDirectiveClass, | |
| 422 | ZigClangStmt_OMPTaskDirectiveClass, | |
| 423 | ZigClangStmt_OMPTaskgroupDirectiveClass, | |
| 424 | ZigClangStmt_OMPTaskwaitDirectiveClass, | |
| 425 | ZigClangStmt_OMPTaskyieldDirectiveClass, | |
| 426 | ZigClangStmt_OMPTeamsDirectiveClass, | |
| 427 | ZigClangStmt_ObjCAtCatchStmtClass, | |
| 428 | ZigClangStmt_ObjCAtFinallyStmtClass, | |
| 429 | ZigClangStmt_ObjCAtSynchronizedStmtClass, | |
| 430 | ZigClangStmt_ObjCAtThrowStmtClass, | |
| 431 | ZigClangStmt_ObjCAtTryStmtClass, | |
| 432 | ZigClangStmt_ObjCAutoreleasePoolStmtClass, | |
| 433 | ZigClangStmt_ObjCForCollectionStmtClass, | |
| 434 | ZigClangStmt_ReturnStmtClass, | |
| 435 | ZigClangStmt_SEHExceptStmtClass, | |
| 436 | ZigClangStmt_SEHFinallyStmtClass, | |
| 437 | ZigClangStmt_SEHLeaveStmtClass, | |
| 438 | ZigClangStmt_SEHTryStmtClass, | |
| 439 | ZigClangStmt_CaseStmtClass, | |
| 440 | ZigClangStmt_DefaultStmtClass, | |
| 441 | ZigClangStmt_SwitchStmtClass, | |
| 442 | 447 | ZigClangStmt_WhileStmtClass, |
| 443 | 448 | }; |
| 444 | 449 | |
| ... | ... | @@ -446,6 +451,7 @@ enum ZigClangCK { |
| 446 | 451 | ZigClangCK_Dependent, |
| 447 | 452 | ZigClangCK_BitCast, |
| 448 | 453 | ZigClangCK_LValueBitCast, |
| 454 | ZigClangCK_LValueToRValueBitCast, | |
| 449 | 455 | ZigClangCK_LValueToRValue, |
| 450 | 456 | ZigClangCK_NoOp, |
| 451 | 457 | ZigClangCK_BaseToDerived, |
| ... | ... | @@ -472,6 +478,8 @@ enum ZigClangCK { |
| 472 | 478 | ZigClangCK_IntegralToBoolean, |
| 473 | 479 | ZigClangCK_IntegralToFloating, |
| 474 | 480 | ZigClangCK_FixedPointCast, |
| 481 | ZigClangCK_FixedPointToIntegral, | |
| 482 | ZigClangCK_IntegralToFixedPoint, | |
| 475 | 483 | ZigClangCK_FixedPointToBoolean, |
| 476 | 484 | ZigClangCK_FloatingToIntegral, |
| 477 | 485 | ZigClangCK_FloatingToBoolean, |
| ... | ... | @@ -504,21 +512,6 @@ enum ZigClangCK { |
| 504 | 512 | ZigClangCK_IntToOCLSampler, |
| 505 | 513 | }; |
| 506 | 514 | |
| 507 | enum ZigClangAPValueKind { | |
| 508 | ZigClangAPValueUninitialized, | |
| 509 | ZigClangAPValueInt, | |
| 510 | ZigClangAPValueFloat, | |
| 511 | ZigClangAPValueComplexInt, | |
| 512 | ZigClangAPValueComplexFloat, | |
| 513 | ZigClangAPValueLValue, | |
| 514 | ZigClangAPValueVector, | |
| 515 | ZigClangAPValueArray, | |
| 516 | ZigClangAPValueStruct, | |
| 517 | ZigClangAPValueUnion, | |
| 518 | ZigClangAPValueMemberPointer, | |
| 519 | ZigClangAPValueAddrLabelDiff, | |
| 520 | }; | |
| 521 | ||
| 522 | 515 | enum ZigClangDeclKind { |
| 523 | 516 | ZigClangDeclAccessSpec, |
| 524 | 517 | ZigClangDeclBlock, |
| ... | ... | @@ -544,6 +537,7 @@ enum ZigClangDeclKind { |
| 544 | 537 | ZigClangDeclObjCMethod, |
| 545 | 538 | ZigClangDeclObjCProperty, |
| 546 | 539 | ZigClangDeclBuiltinTemplate, |
| 540 | ZigClangDeclConcept, | |
| 547 | 541 | ZigClangDeclClassTemplate, |
| 548 | 542 | ZigClangDeclFunctionTemplate, |
| 549 | 543 | ZigClangDeclTypeAliasTemplate, |
| ... | ... | @@ -585,8 +579,10 @@ enum ZigClangDeclKind { |
| 585 | 579 | ZigClangDeclVarTemplatePartialSpecialization, |
| 586 | 580 | ZigClangDeclEnumConstant, |
| 587 | 581 | ZigClangDeclIndirectField, |
| 582 | ZigClangDeclOMPDeclareMapper, | |
| 588 | 583 | ZigClangDeclOMPDeclareReduction, |
| 589 | 584 | ZigClangDeclUnresolvedUsingValue, |
| 585 | ZigClangDeclOMPAllocate, | |
| 590 | 586 | ZigClangDeclOMPRequires, |
| 591 | 587 | ZigClangDeclOMPThreadPrivate, |
| 592 | 588 | ZigClangDeclObjCPropertyImpl, |