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