authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-04-12 03:56:38-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-04-12 03:56:38-04:00
log6284a4c534771797406ceb945e5b7985d591d62b
tree266033bc4e370cf33fc8dfb4d8ac8e2684b1a96f
parentf860493f23f0c438e76268b412f85e7b9843ea89
signaturelock-open Commit is signed but in an unrecognized format.

translate-c: move some code to the C API

See #1964

3 files changed, 810 insertions(+), 207 deletions(-)

src/translate_c.cpp+206-206
......@@ -509,11 +509,11 @@ static const ZigClangType *qual_type_canon(ZigClangQualType qt) {
509509
510510static ZigClangQualType get_expr_qual_type(Context *c, const clang::Expr *expr) {
511511 // String literals in C are `char *` but they should really be `const char *`.
512 if (expr->getStmtClass() == clang::Stmt::ImplicitCastExprClass) {
512 if ((ZigClangStmtClass)expr->getStmtClass() == ZigClangStmt_ImplicitCastExprClass) {
513513 const clang::ImplicitCastExpr *cast_expr = static_cast<const clang::ImplicitCastExpr *>(expr);
514514 if (cast_expr->getCastKind() == clang::CK_ArrayToPointerDecay) {
515515 const clang::Expr *sub_expr = cast_expr->getSubExpr();
516 if (sub_expr->getStmtClass() == clang::Stmt::StringLiteralClass) {
516 if ((ZigClangStmtClass)sub_expr->getStmtClass() == ZigClangStmt_StringLiteralClass) {
517517 ZigClangQualType array_qt = bitcast(sub_expr->getType());
518518 const clang::ArrayType *array_type = reinterpret_cast<const clang::ArrayType *>(
519519 ZigClangQualType_getTypePtr(array_qt));
......@@ -527,7 +527,7 @@ static ZigClangQualType get_expr_qual_type(Context *c, const clang::Expr *expr)
527527}
528528
529529static ZigClangQualType get_expr_qual_type_before_implicit_cast(Context *c, const clang::Expr *expr) {
530 if (expr->getStmtClass() == clang::Stmt::ImplicitCastExprClass) {
530 if ((ZigClangStmtClass)expr->getStmtClass() == ZigClangStmt_ImplicitCastExprClass) {
531531 const clang::ImplicitCastExpr *cast_expr = static_cast<const clang::ImplicitCastExpr *>(expr);
532532 return get_expr_qual_type(c, cast_expr->getSubExpr());
533533 }
......@@ -2791,10 +2791,10 @@ static AstNode *trans_call_expr(Context *c, ResultUsed result_used, TransScope *
27912791 const clang::FunctionProtoType *fn_ty = qual_type_get_fn_proto(bitcast(stmt->getCallee()->getType()), &is_ptr);
27922792 AstNode *callee_node = nullptr;
27932793 if (is_ptr && fn_ty) {
2794 if (stmt->getCallee()->getStmtClass() == clang::Stmt::ImplicitCastExprClass) {
2794 if ((ZigClangStmtClass)stmt->getCallee()->getStmtClass() == ZigClangStmt_ImplicitCastExprClass) {
27952795 const clang::ImplicitCastExpr *implicit_cast = static_cast<const clang::ImplicitCastExpr *>(stmt->getCallee());
27962796 if (implicit_cast->getCastKind() == clang::CK_FunctionToPointerDecay) {
2797 if (implicit_cast->getSubExpr()->getStmtClass() == clang::Stmt::DeclRefExprClass) {
2797 if ((ZigClangStmtClass)implicit_cast->getSubExpr()->getStmtClass() == ZigClangStmt_DeclRefExprClass) {
27982798 const clang::DeclRefExpr *decl_ref = static_cast<const clang::DeclRefExpr *>(implicit_cast->getSubExpr());
27992799 const clang::Decl *decl = decl_ref->getFoundDecl();
28002800 if (decl->getKind() == clang::Decl::Function) {
......@@ -2898,7 +2898,7 @@ static AstNode *trans_do_loop(Context *c, TransScope *parent_scope, const clang:
28982898
28992899 AstNode *body_node;
29002900 TransScope *child_scope;
2901 if (stmt->getBody()->getStmtClass() == clang::Stmt::CompoundStmtClass) {
2901 if ((ZigClangStmtClass)stmt->getBody()->getStmtClass() == ZigClangStmt_CompoundStmtClass) {
29022902 // there's already a block in C, so we'll append our condition to it.
29032903 // c: do {
29042904 // c: a;
......@@ -3051,7 +3051,7 @@ static AstNode *trans_switch_stmt(Context *c, TransScope *parent_scope, const cl
30513051
30523052 AstNode *body_node;
30533053 const clang::Stmt *body_stmt = stmt->getBody();
3054 if (body_stmt->getStmtClass() == clang::Stmt::CompoundStmtClass) {
3054 if ((ZigClangStmtClass)body_stmt->getStmtClass() == ZigClangStmt_CompoundStmtClass) {
30553055 if (trans_compound_stmt_inline(c, &switch_scope->base, (const clang::CompoundStmt *)body_stmt,
30563056 block_scope->node, nullptr))
30573057 {
......@@ -3224,40 +3224,40 @@ static int trans_stmt_extra(Context *c, TransScope *scope, const clang::Stmt *st
32243224 AstNode **out_node, TransScope **out_child_scope,
32253225 TransScope **out_node_scope)
32263226{
3227 clang::Stmt::StmtClass sc = stmt->getStmtClass();
3227 ZigClangStmtClass sc = (ZigClangStmtClass)stmt->getStmtClass();
32283228 switch (sc) {
3229 case clang::Stmt::ReturnStmtClass:
3229 case ZigClangStmt_ReturnStmtClass:
32303230 return wrap_stmt(out_node, out_child_scope, scope,
32313231 trans_return_stmt(c, scope, (const clang::ReturnStmt *)stmt));
3232 case clang::Stmt::CompoundStmtClass:
3232 case ZigClangStmt_CompoundStmtClass:
32333233 return wrap_stmt(out_node, out_child_scope, scope,
32343234 trans_compound_stmt(c, scope, (const clang::CompoundStmt *)stmt, out_node_scope));
3235 case clang::Stmt::IntegerLiteralClass:
3235 case ZigClangStmt_IntegerLiteralClass:
32363236 return wrap_stmt(out_node, out_child_scope, scope,
32373237 trans_integer_literal(c, result_used, (const clang::IntegerLiteral *)stmt));
3238 case clang::Stmt::ConditionalOperatorClass:
3238 case ZigClangStmt_ConditionalOperatorClass:
32393239 return wrap_stmt(out_node, out_child_scope, scope,
32403240 trans_conditional_operator(c, result_used, scope, (const clang::ConditionalOperator *)stmt));
3241 case clang::Stmt::BinaryOperatorClass:
3241 case ZigClangStmt_BinaryOperatorClass:
32423242 return wrap_stmt(out_node, out_child_scope, scope,
32433243 trans_binary_operator(c, result_used, scope, (const clang::BinaryOperator *)stmt));
3244 case clang::Stmt::CompoundAssignOperatorClass:
3244 case ZigClangStmt_CompoundAssignOperatorClass:
32453245 return wrap_stmt(out_node, out_child_scope, scope,
32463246 trans_compound_assign_operator(c, result_used, scope, (const clang::CompoundAssignOperator *)stmt));
3247 case clang::Stmt::ImplicitCastExprClass:
3247 case ZigClangStmt_ImplicitCastExprClass:
32483248 return wrap_stmt(out_node, out_child_scope, scope,
32493249 trans_implicit_cast_expr(c, result_used, scope, (const clang::ImplicitCastExpr *)stmt));
3250 case clang::Stmt::DeclRefExprClass:
3250 case ZigClangStmt_DeclRefExprClass:
32513251 return wrap_stmt(out_node, out_child_scope, scope,
32523252 trans_decl_ref_expr(c, scope, (const clang::DeclRefExpr *)stmt, lrvalue));
3253 case clang::Stmt::UnaryOperatorClass:
3253 case ZigClangStmt_UnaryOperatorClass:
32543254 return wrap_stmt(out_node, out_child_scope, scope,
32553255 trans_unary_operator(c, result_used, scope, (const clang::UnaryOperator *)stmt));
3256 case clang::Stmt::DeclStmtClass:
3256 case ZigClangStmt_DeclStmtClass:
32573257 return trans_local_declaration(c, scope, (const clang::DeclStmt *)stmt, out_node, out_child_scope);
3258 case clang::Stmt::DoStmtClass:
3259 case clang::Stmt::WhileStmtClass: {
3260 AstNode *while_node = sc == clang::Stmt::DoStmtClass
3258 case ZigClangStmt_DoStmtClass:
3259 case ZigClangStmt_WhileStmtClass: {
3260 AstNode *while_node = sc == ZigClangStmt_DoStmtClass
32613261 ? trans_do_loop(c, scope, (const clang::DoStmt *)stmt)
32623262 : trans_while_loop(c, scope, (const clang::WhileStmt *)stmt);
32633263
......@@ -3270,559 +3270,559 @@ static int trans_stmt_extra(Context *c, TransScope *scope, const clang::Stmt *st
32703270
32713271 return wrap_stmt(out_node, out_child_scope, scope, while_node);
32723272 }
3273 case clang::Stmt::IfStmtClass:
3273 case ZigClangStmt_IfStmtClass:
32743274 return wrap_stmt(out_node, out_child_scope, scope,
32753275 trans_if_statement(c, scope, (const clang::IfStmt *)stmt));
3276 case clang::Stmt::CallExprClass:
3276 case ZigClangStmt_CallExprClass:
32773277 return wrap_stmt(out_node, out_child_scope, scope,
32783278 trans_call_expr(c, result_used, scope, (const clang::CallExpr *)stmt));
3279 case clang::Stmt::NullStmtClass:
3279 case ZigClangStmt_NullStmtClass:
32803280 *out_node = trans_create_node(c, NodeTypeBlock);
32813281 *out_child_scope = scope;
32823282 return ErrorNone;
3283 case clang::Stmt::MemberExprClass:
3283 case ZigClangStmt_MemberExprClass:
32843284 return wrap_stmt(out_node, out_child_scope, scope,
32853285 trans_member_expr(c, result_used, scope, (const clang::MemberExpr *)stmt));
3286 case clang::Stmt::ArraySubscriptExprClass:
3286 case ZigClangStmt_ArraySubscriptExprClass:
32873287 return wrap_stmt(out_node, out_child_scope, scope,
32883288 trans_array_subscript_expr(c, result_used, scope, (const clang::ArraySubscriptExpr *)stmt));
3289 case clang::Stmt::CStyleCastExprClass:
3289 case ZigClangStmt_CStyleCastExprClass:
32903290 return wrap_stmt(out_node, out_child_scope, scope,
32913291 trans_c_style_cast_expr(c, result_used, scope, (const clang::CStyleCastExpr *)stmt, lrvalue));
3292 case clang::Stmt::UnaryExprOrTypeTraitExprClass:
3292 case ZigClangStmt_UnaryExprOrTypeTraitExprClass:
32933293 return wrap_stmt(out_node, out_child_scope, scope,
32943294 trans_unary_expr_or_type_trait_expr(c, result_used, scope, (const clang::UnaryExprOrTypeTraitExpr *)stmt));
3295 case clang::Stmt::ForStmtClass: {
3295 case ZigClangStmt_ForStmtClass: {
32963296 AstNode *node = trans_for_loop(c, scope, (const clang::ForStmt *)stmt);
32973297 return wrap_stmt(out_node, out_child_scope, scope, node);
32983298 }
3299 case clang::Stmt::StringLiteralClass:
3299 case ZigClangStmt_StringLiteralClass:
33003300 return wrap_stmt(out_node, out_child_scope, scope,
33013301 trans_string_literal(c, result_used, scope, (const clang::StringLiteral *)stmt));
3302 case clang::Stmt::BreakStmtClass:
3302 case ZigClangStmt_BreakStmtClass:
33033303 return wrap_stmt(out_node, out_child_scope, scope,
33043304 trans_break_stmt(c, scope, (const clang::BreakStmt *)stmt));
3305 case clang::Stmt::ContinueStmtClass:
3305 case ZigClangStmt_ContinueStmtClass:
33063306 return wrap_stmt(out_node, out_child_scope, scope,
33073307 trans_continue_stmt(c, scope, (const clang::ContinueStmt *)stmt));
3308 case clang::Stmt::ParenExprClass:
3308 case ZigClangStmt_ParenExprClass:
33093309 return wrap_stmt(out_node, out_child_scope, scope,
33103310 trans_expr(c, result_used, scope, ((const clang::ParenExpr*)stmt)->getSubExpr(), lrvalue));
3311 case clang::Stmt::SwitchStmtClass:
3311 case ZigClangStmt_SwitchStmtClass:
33123312 return wrap_stmt(out_node, out_child_scope, scope,
33133313 trans_switch_stmt(c, scope, (const clang::SwitchStmt *)stmt));
3314 case clang::Stmt::CaseStmtClass:
3314 case ZigClangStmt_CaseStmtClass:
33153315 return trans_switch_case(c, scope, (const clang::CaseStmt *)stmt, out_node, out_child_scope);
3316 case clang::Stmt::DefaultStmtClass:
3316 case ZigClangStmt_DefaultStmtClass:
33173317 return trans_switch_default(c, scope, (const clang::DefaultStmt *)stmt, out_node, out_child_scope);
3318 case clang::Stmt::ConstantExprClass:
3318 case ZigClangStmt_ConstantExprClass:
33193319 return wrap_stmt(out_node, out_child_scope, scope,
33203320 trans_constant_expr(c, result_used, (const clang::ConstantExpr *)stmt));
3321 case clang::Stmt::PredefinedExprClass:
3321 case ZigClangStmt_PredefinedExprClass:
33223322 return wrap_stmt(out_node, out_child_scope, scope,
33233323 trans_predefined_expr(c, result_used, scope, (const clang::PredefinedExpr *)stmt));
3324 case clang::Stmt::StmtExprClass:
3324 case ZigClangStmt_StmtExprClass:
33253325 return wrap_stmt(out_node, out_child_scope, scope,
33263326 trans_stmt_expr(c, result_used, scope, (const clang::StmtExpr *)stmt, out_node_scope));
3327 case clang::Stmt::NoStmtClass:
3327 case ZigClangStmt_NoStmtClass:
33283328 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C NoStmtClass");
33293329 return ErrorUnexpected;
3330 case clang::Stmt::GCCAsmStmtClass:
3330 case ZigClangStmt_GCCAsmStmtClass:
33313331 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C GCCAsmStmtClass");
33323332 return ErrorUnexpected;
3333 case clang::Stmt::MSAsmStmtClass:
3333 case ZigClangStmt_MSAsmStmtClass:
33343334 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C MSAsmStmtClass");
33353335 return ErrorUnexpected;
3336 case clang::Stmt::AttributedStmtClass:
3336 case ZigClangStmt_AttributedStmtClass:
33373337 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C AttributedStmtClass");
33383338 return ErrorUnexpected;
3339 case clang::Stmt::CXXCatchStmtClass:
3339 case ZigClangStmt_CXXCatchStmtClass:
33403340 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXCatchStmtClass");
33413341 return ErrorUnexpected;
3342 case clang::Stmt::CXXForRangeStmtClass:
3342 case ZigClangStmt_CXXForRangeStmtClass:
33433343 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXForRangeStmtClass");
33443344 return ErrorUnexpected;
3345 case clang::Stmt::CXXTryStmtClass:
3345 case ZigClangStmt_CXXTryStmtClass:
33463346 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXTryStmtClass");
33473347 return ErrorUnexpected;
3348 case clang::Stmt::CapturedStmtClass:
3348 case ZigClangStmt_CapturedStmtClass:
33493349 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CapturedStmtClass");
33503350 return ErrorUnexpected;
3351 case clang::Stmt::CoreturnStmtClass:
3351 case ZigClangStmt_CoreturnStmtClass:
33523352 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CoreturnStmtClass");
33533353 return ErrorUnexpected;
3354 case clang::Stmt::CoroutineBodyStmtClass:
3354 case ZigClangStmt_CoroutineBodyStmtClass:
33553355 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CoroutineBodyStmtClass");
33563356 return ErrorUnexpected;
3357 case clang::Stmt::BinaryConditionalOperatorClass:
3357 case ZigClangStmt_BinaryConditionalOperatorClass:
33583358 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C BinaryConditionalOperatorClass");
33593359 return ErrorUnexpected;
3360 case clang::Stmt::AddrLabelExprClass:
3360 case ZigClangStmt_AddrLabelExprClass:
33613361 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C AddrLabelExprClass");
33623362 return ErrorUnexpected;
3363 case clang::Stmt::ArrayInitIndexExprClass:
3363 case ZigClangStmt_ArrayInitIndexExprClass:
33643364 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ArrayInitIndexExprClass");
33653365 return ErrorUnexpected;
3366 case clang::Stmt::ArrayInitLoopExprClass:
3366 case ZigClangStmt_ArrayInitLoopExprClass:
33673367 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ArrayInitLoopExprClass");
33683368 return ErrorUnexpected;
3369 case clang::Stmt::ArrayTypeTraitExprClass:
3369 case ZigClangStmt_ArrayTypeTraitExprClass:
33703370 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ArrayTypeTraitExprClass");
33713371 return ErrorUnexpected;
3372 case clang::Stmt::AsTypeExprClass:
3372 case ZigClangStmt_AsTypeExprClass:
33733373 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C AsTypeExprClass");
33743374 return ErrorUnexpected;
3375 case clang::Stmt::AtomicExprClass:
3375 case ZigClangStmt_AtomicExprClass:
33763376 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C AtomicExprClass");
33773377 return ErrorUnexpected;
3378 case clang::Stmt::BlockExprClass:
3378 case ZigClangStmt_BlockExprClass:
33793379 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C BlockExprClass");
33803380 return ErrorUnexpected;
3381 case clang::Stmt::CXXBindTemporaryExprClass:
3381 case ZigClangStmt_CXXBindTemporaryExprClass:
33823382 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXBindTemporaryExprClass");
33833383 return ErrorUnexpected;
3384 case clang::Stmt::CXXBoolLiteralExprClass:
3384 case ZigClangStmt_CXXBoolLiteralExprClass:
33853385 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXBoolLiteralExprClass");
33863386 return ErrorUnexpected;
3387 case clang::Stmt::CXXConstructExprClass:
3387 case ZigClangStmt_CXXConstructExprClass:
33883388 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXConstructExprClass");
33893389 return ErrorUnexpected;
3390 case clang::Stmt::CXXTemporaryObjectExprClass:
3390 case ZigClangStmt_CXXTemporaryObjectExprClass:
33913391 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXTemporaryObjectExprClass");
33923392 return ErrorUnexpected;
3393 case clang::Stmt::CXXDefaultArgExprClass:
3393 case ZigClangStmt_CXXDefaultArgExprClass:
33943394 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXDefaultArgExprClass");
33953395 return ErrorUnexpected;
3396 case clang::Stmt::CXXDefaultInitExprClass:
3396 case ZigClangStmt_CXXDefaultInitExprClass:
33973397 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXDefaultInitExprClass");
33983398 return ErrorUnexpected;
3399 case clang::Stmt::CXXDeleteExprClass:
3399 case ZigClangStmt_CXXDeleteExprClass:
34003400 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXDeleteExprClass");
34013401 return ErrorUnexpected;
3402 case clang::Stmt::CXXDependentScopeMemberExprClass:
3402 case ZigClangStmt_CXXDependentScopeMemberExprClass:
34033403 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXDependentScopeMemberExprClass");
34043404 return ErrorUnexpected;
3405 case clang::Stmt::CXXFoldExprClass:
3405 case ZigClangStmt_CXXFoldExprClass:
34063406 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXFoldExprClass");
34073407 return ErrorUnexpected;
3408 case clang::Stmt::CXXInheritedCtorInitExprClass:
3408 case ZigClangStmt_CXXInheritedCtorInitExprClass:
34093409 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXInheritedCtorInitExprClass");
34103410 return ErrorUnexpected;
3411 case clang::Stmt::CXXNewExprClass:
3411 case ZigClangStmt_CXXNewExprClass:
34123412 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXNewExprClass");
34133413 return ErrorUnexpected;
3414 case clang::Stmt::CXXNoexceptExprClass:
3414 case ZigClangStmt_CXXNoexceptExprClass:
34153415 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXNoexceptExprClass");
34163416 return ErrorUnexpected;
3417 case clang::Stmt::CXXNullPtrLiteralExprClass:
3417 case ZigClangStmt_CXXNullPtrLiteralExprClass:
34183418 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXNullPtrLiteralExprClass");
34193419 return ErrorUnexpected;
3420 case clang::Stmt::CXXPseudoDestructorExprClass:
3420 case ZigClangStmt_CXXPseudoDestructorExprClass:
34213421 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXPseudoDestructorExprClass");
34223422 return ErrorUnexpected;
3423 case clang::Stmt::CXXScalarValueInitExprClass:
3423 case ZigClangStmt_CXXScalarValueInitExprClass:
34243424 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXScalarValueInitExprClass");
34253425 return ErrorUnexpected;
3426 case clang::Stmt::CXXStdInitializerListExprClass:
3426 case ZigClangStmt_CXXStdInitializerListExprClass:
34273427 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXStdInitializerListExprClass");
34283428 return ErrorUnexpected;
3429 case clang::Stmt::CXXThisExprClass:
3429 case ZigClangStmt_CXXThisExprClass:
34303430 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXThisExprClass");
34313431 return ErrorUnexpected;
3432 case clang::Stmt::CXXThrowExprClass:
3432 case ZigClangStmt_CXXThrowExprClass:
34333433 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXThrowExprClass");
34343434 return ErrorUnexpected;
3435 case clang::Stmt::CXXTypeidExprClass:
3435 case ZigClangStmt_CXXTypeidExprClass:
34363436 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXTypeidExprClass");
34373437 return ErrorUnexpected;
3438 case clang::Stmt::CXXUnresolvedConstructExprClass:
3438 case ZigClangStmt_CXXUnresolvedConstructExprClass:
34393439 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXUnresolvedConstructExprClass");
34403440 return ErrorUnexpected;
3441 case clang::Stmt::CXXUuidofExprClass:
3441 case ZigClangStmt_CXXUuidofExprClass:
34423442 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXUuidofExprClass");
34433443 return ErrorUnexpected;
3444 case clang::Stmt::CUDAKernelCallExprClass:
3444 case ZigClangStmt_CUDAKernelCallExprClass:
34453445 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CUDAKernelCallExprClass");
34463446 return ErrorUnexpected;
3447 case clang::Stmt::CXXMemberCallExprClass:
3447 case ZigClangStmt_CXXMemberCallExprClass:
34483448 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXMemberCallExprClass");
34493449 return ErrorUnexpected;
3450 case clang::Stmt::CXXOperatorCallExprClass:
3450 case ZigClangStmt_CXXOperatorCallExprClass:
34513451 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXOperatorCallExprClass");
34523452 return ErrorUnexpected;
3453 case clang::Stmt::UserDefinedLiteralClass:
3453 case ZigClangStmt_UserDefinedLiteralClass:
34543454 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C UserDefinedLiteralClass");
34553455 return ErrorUnexpected;
3456 case clang::Stmt::CXXFunctionalCastExprClass:
3456 case ZigClangStmt_CXXFunctionalCastExprClass:
34573457 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXFunctionalCastExprClass");
34583458 return ErrorUnexpected;
3459 case clang::Stmt::CXXConstCastExprClass:
3459 case ZigClangStmt_CXXConstCastExprClass:
34603460 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXConstCastExprClass");
34613461 return ErrorUnexpected;
3462 case clang::Stmt::CXXDynamicCastExprClass:
3462 case ZigClangStmt_CXXDynamicCastExprClass:
34633463 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXDynamicCastExprClass");
34643464 return ErrorUnexpected;
3465 case clang::Stmt::CXXReinterpretCastExprClass:
3465 case ZigClangStmt_CXXReinterpretCastExprClass:
34663466 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXReinterpretCastExprClass");
34673467 return ErrorUnexpected;
3468 case clang::Stmt::CXXStaticCastExprClass:
3468 case ZigClangStmt_CXXStaticCastExprClass:
34693469 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CXXStaticCastExprClass");
34703470 return ErrorUnexpected;
3471 case clang::Stmt::ObjCBridgedCastExprClass:
3471 case ZigClangStmt_ObjCBridgedCastExprClass:
34723472 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCBridgedCastExprClass");
34733473 return ErrorUnexpected;
3474 case clang::Stmt::CharacterLiteralClass:
3474 case ZigClangStmt_CharacterLiteralClass:
34753475 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CharacterLiteralClass");
34763476 return ErrorUnexpected;
3477 case clang::Stmt::ChooseExprClass:
3477 case ZigClangStmt_ChooseExprClass:
34783478 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ChooseExprClass");
34793479 return ErrorUnexpected;
3480 case clang::Stmt::CompoundLiteralExprClass:
3480 case ZigClangStmt_CompoundLiteralExprClass:
34813481 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CompoundLiteralExprClass");
34823482 return ErrorUnexpected;
3483 case clang::Stmt::ConvertVectorExprClass:
3483 case ZigClangStmt_ConvertVectorExprClass:
34843484 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ConvertVectorExprClass");
34853485 return ErrorUnexpected;
3486 case clang::Stmt::CoawaitExprClass:
3486 case ZigClangStmt_CoawaitExprClass:
34873487 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CoawaitExprClass");
34883488 return ErrorUnexpected;
3489 case clang::Stmt::CoyieldExprClass:
3489 case ZigClangStmt_CoyieldExprClass:
34903490 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CoyieldExprClass");
34913491 return ErrorUnexpected;
3492 case clang::Stmt::DependentCoawaitExprClass:
3492 case ZigClangStmt_DependentCoawaitExprClass:
34933493 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C DependentCoawaitExprClass");
34943494 return ErrorUnexpected;
3495 case clang::Stmt::DependentScopeDeclRefExprClass:
3495 case ZigClangStmt_DependentScopeDeclRefExprClass:
34963496 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C DependentScopeDeclRefExprClass");
34973497 return ErrorUnexpected;
3498 case clang::Stmt::DesignatedInitExprClass:
3498 case ZigClangStmt_DesignatedInitExprClass:
34993499 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C DesignatedInitExprClass");
35003500 return ErrorUnexpected;
3501 case clang::Stmt::DesignatedInitUpdateExprClass:
3501 case ZigClangStmt_DesignatedInitUpdateExprClass:
35023502 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C DesignatedInitUpdateExprClass");
35033503 return ErrorUnexpected;
3504 case clang::Stmt::ExpressionTraitExprClass:
3504 case ZigClangStmt_ExpressionTraitExprClass:
35053505 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ExpressionTraitExprClass");
35063506 return ErrorUnexpected;
3507 case clang::Stmt::ExtVectorElementExprClass:
3507 case ZigClangStmt_ExtVectorElementExprClass:
35083508 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ExtVectorElementExprClass");
35093509 return ErrorUnexpected;
3510 case clang::Stmt::FixedPointLiteralClass:
3510 case ZigClangStmt_FixedPointLiteralClass:
35113511 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C FixedPointLiteralClass");
35123512 return ErrorUnexpected;
3513 case clang::Stmt::FloatingLiteralClass:
3513 case ZigClangStmt_FloatingLiteralClass:
35143514 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C FloatingLiteralClass");
35153515 return ErrorUnexpected;
3516 case clang::Stmt::ExprWithCleanupsClass:
3516 case ZigClangStmt_ExprWithCleanupsClass:
35173517 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ExprWithCleanupsClass");
35183518 return ErrorUnexpected;
3519 case clang::Stmt::FunctionParmPackExprClass:
3519 case ZigClangStmt_FunctionParmPackExprClass:
35203520 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C FunctionParmPackExprClass");
35213521 return ErrorUnexpected;
3522 case clang::Stmt::GNUNullExprClass:
3522 case ZigClangStmt_GNUNullExprClass:
35233523 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C GNUNullExprClass");
35243524 return ErrorUnexpected;
3525 case clang::Stmt::GenericSelectionExprClass:
3525 case ZigClangStmt_GenericSelectionExprClass:
35263526 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C GenericSelectionExprClass");
35273527 return ErrorUnexpected;
3528 case clang::Stmt::ImaginaryLiteralClass:
3528 case ZigClangStmt_ImaginaryLiteralClass:
35293529 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ImaginaryLiteralClass");
35303530 return ErrorUnexpected;
3531 case clang::Stmt::ImplicitValueInitExprClass:
3531 case ZigClangStmt_ImplicitValueInitExprClass:
35323532 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ImplicitValueInitExprClass");
35333533 return ErrorUnexpected;
3534 case clang::Stmt::InitListExprClass:
3534 case ZigClangStmt_InitListExprClass:
35353535 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C InitListExprClass");
35363536 return ErrorUnexpected;
3537 case clang::Stmt::LambdaExprClass:
3537 case ZigClangStmt_LambdaExprClass:
35383538 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C LambdaExprClass");
35393539 return ErrorUnexpected;
3540 case clang::Stmt::MSPropertyRefExprClass:
3540 case ZigClangStmt_MSPropertyRefExprClass:
35413541 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C MSPropertyRefExprClass");
35423542 return ErrorUnexpected;
3543 case clang::Stmt::MSPropertySubscriptExprClass:
3543 case ZigClangStmt_MSPropertySubscriptExprClass:
35443544 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C MSPropertySubscriptExprClass");
35453545 return ErrorUnexpected;
3546 case clang::Stmt::MaterializeTemporaryExprClass:
3546 case ZigClangStmt_MaterializeTemporaryExprClass:
35473547 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C MaterializeTemporaryExprClass");
35483548 return ErrorUnexpected;
3549 case clang::Stmt::NoInitExprClass:
3549 case ZigClangStmt_NoInitExprClass:
35503550 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C NoInitExprClass");
35513551 return ErrorUnexpected;
3552 case clang::Stmt::OMPArraySectionExprClass:
3552 case ZigClangStmt_OMPArraySectionExprClass:
35533553 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPArraySectionExprClass");
35543554 return ErrorUnexpected;
3555 case clang::Stmt::ObjCArrayLiteralClass:
3555 case ZigClangStmt_ObjCArrayLiteralClass:
35563556 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCArrayLiteralClass");
35573557 return ErrorUnexpected;
3558 case clang::Stmt::ObjCAvailabilityCheckExprClass:
3558 case ZigClangStmt_ObjCAvailabilityCheckExprClass:
35593559 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCAvailabilityCheckExprClass");
35603560 return ErrorUnexpected;
3561 case clang::Stmt::ObjCBoolLiteralExprClass:
3561 case ZigClangStmt_ObjCBoolLiteralExprClass:
35623562 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCBoolLiteralExprClass");
35633563 return ErrorUnexpected;
3564 case clang::Stmt::ObjCBoxedExprClass:
3564 case ZigClangStmt_ObjCBoxedExprClass:
35653565 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCBoxedExprClass");
35663566 return ErrorUnexpected;
3567 case clang::Stmt::ObjCDictionaryLiteralClass:
3567 case ZigClangStmt_ObjCDictionaryLiteralClass:
35683568 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCDictionaryLiteralClass");
35693569 return ErrorUnexpected;
3570 case clang::Stmt::ObjCEncodeExprClass:
3570 case ZigClangStmt_ObjCEncodeExprClass:
35713571 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCEncodeExprClass");
35723572 return ErrorUnexpected;
3573 case clang::Stmt::ObjCIndirectCopyRestoreExprClass:
3573 case ZigClangStmt_ObjCIndirectCopyRestoreExprClass:
35743574 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCIndirectCopyRestoreExprClass");
35753575 return ErrorUnexpected;
3576 case clang::Stmt::ObjCIsaExprClass:
3576 case ZigClangStmt_ObjCIsaExprClass:
35773577 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCIsaExprClass");
35783578 return ErrorUnexpected;
3579 case clang::Stmt::ObjCIvarRefExprClass:
3579 case ZigClangStmt_ObjCIvarRefExprClass:
35803580 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCIvarRefExprClass");
35813581 return ErrorUnexpected;
3582 case clang::Stmt::ObjCMessageExprClass:
3582 case ZigClangStmt_ObjCMessageExprClass:
35833583 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCMessageExprClass");
35843584 return ErrorUnexpected;
3585 case clang::Stmt::ObjCPropertyRefExprClass:
3585 case ZigClangStmt_ObjCPropertyRefExprClass:
35863586 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCPropertyRefExprClass");
35873587 return ErrorUnexpected;
3588 case clang::Stmt::ObjCProtocolExprClass:
3588 case ZigClangStmt_ObjCProtocolExprClass:
35893589 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCProtocolExprClass");
35903590 return ErrorUnexpected;
3591 case clang::Stmt::ObjCSelectorExprClass:
3591 case ZigClangStmt_ObjCSelectorExprClass:
35923592 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCSelectorExprClass");
35933593 return ErrorUnexpected;
3594 case clang::Stmt::ObjCStringLiteralClass:
3594 case ZigClangStmt_ObjCStringLiteralClass:
35953595 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCStringLiteralClass");
35963596 return ErrorUnexpected;
3597 case clang::Stmt::ObjCSubscriptRefExprClass:
3597 case ZigClangStmt_ObjCSubscriptRefExprClass:
35983598 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCSubscriptRefExprClass");
35993599 return ErrorUnexpected;
3600 case clang::Stmt::OffsetOfExprClass:
3600 case ZigClangStmt_OffsetOfExprClass:
36013601 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OffsetOfExprClass");
36023602 return ErrorUnexpected;
3603 case clang::Stmt::OpaqueValueExprClass:
3603 case ZigClangStmt_OpaqueValueExprClass:
36043604 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OpaqueValueExprClass");
36053605 return ErrorUnexpected;
3606 case clang::Stmt::UnresolvedLookupExprClass:
3606 case ZigClangStmt_UnresolvedLookupExprClass:
36073607 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C UnresolvedLookupExprClass");
36083608 return ErrorUnexpected;
3609 case clang::Stmt::UnresolvedMemberExprClass:
3609 case ZigClangStmt_UnresolvedMemberExprClass:
36103610 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C UnresolvedMemberExprClass");
36113611 return ErrorUnexpected;
3612 case clang::Stmt::PackExpansionExprClass:
3612 case ZigClangStmt_PackExpansionExprClass:
36133613 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C PackExpansionExprClass");
36143614 return ErrorUnexpected;
3615 case clang::Stmt::ParenListExprClass:
3615 case ZigClangStmt_ParenListExprClass:
36163616 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ParenListExprClass");
36173617 return ErrorUnexpected;
3618 case clang::Stmt::PseudoObjectExprClass:
3618 case ZigClangStmt_PseudoObjectExprClass:
36193619 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C PseudoObjectExprClass");
36203620 return ErrorUnexpected;
3621 case clang::Stmt::ShuffleVectorExprClass:
3621 case ZigClangStmt_ShuffleVectorExprClass:
36223622 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ShuffleVectorExprClass");
36233623 return ErrorUnexpected;
3624 case clang::Stmt::SizeOfPackExprClass:
3624 case ZigClangStmt_SizeOfPackExprClass:
36253625 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C SizeOfPackExprClass");
36263626 return ErrorUnexpected;
3627 case clang::Stmt::SubstNonTypeTemplateParmExprClass:
3627 case ZigClangStmt_SubstNonTypeTemplateParmExprClass:
36283628 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C SubstNonTypeTemplateParmExprClass");
36293629 return ErrorUnexpected;
3630 case clang::Stmt::SubstNonTypeTemplateParmPackExprClass:
3630 case ZigClangStmt_SubstNonTypeTemplateParmPackExprClass:
36313631 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C SubstNonTypeTemplateParmPackExprClass");
36323632 return ErrorUnexpected;
3633 case clang::Stmt::TypeTraitExprClass:
3633 case ZigClangStmt_TypeTraitExprClass:
36343634 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C TypeTraitExprClass");
36353635 return ErrorUnexpected;
3636 case clang::Stmt::TypoExprClass:
3636 case ZigClangStmt_TypoExprClass:
36373637 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C TypoExprClass");
36383638 return ErrorUnexpected;
3639 case clang::Stmt::VAArgExprClass:
3639 case ZigClangStmt_VAArgExprClass:
36403640 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C VAArgExprClass");
36413641 return ErrorUnexpected;
3642 case clang::Stmt::GotoStmtClass:
3642 case ZigClangStmt_GotoStmtClass:
36433643 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C GotoStmtClass");
36443644 return ErrorUnexpected;
3645 case clang::Stmt::IndirectGotoStmtClass:
3645 case ZigClangStmt_IndirectGotoStmtClass:
36463646 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C IndirectGotoStmtClass");
36473647 return ErrorUnexpected;
3648 case clang::Stmt::LabelStmtClass:
3648 case ZigClangStmt_LabelStmtClass:
36493649 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C LabelStmtClass");
36503650 return ErrorUnexpected;
3651 case clang::Stmt::MSDependentExistsStmtClass:
3651 case ZigClangStmt_MSDependentExistsStmtClass:
36523652 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C MSDependentExistsStmtClass");
36533653 return ErrorUnexpected;
3654 case clang::Stmt::OMPAtomicDirectiveClass:
3654 case ZigClangStmt_OMPAtomicDirectiveClass:
36553655 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPAtomicDirectiveClass");
36563656 return ErrorUnexpected;
3657 case clang::Stmt::OMPBarrierDirectiveClass:
3657 case ZigClangStmt_OMPBarrierDirectiveClass:
36583658 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPBarrierDirectiveClass");
36593659 return ErrorUnexpected;
3660 case clang::Stmt::OMPCancelDirectiveClass:
3660 case ZigClangStmt_OMPCancelDirectiveClass:
36613661 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPCancelDirectiveClass");
36623662 return ErrorUnexpected;
3663 case clang::Stmt::OMPCancellationPointDirectiveClass:
3663 case ZigClangStmt_OMPCancellationPointDirectiveClass:
36643664 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPCancellationPointDirectiveClass");
36653665 return ErrorUnexpected;
3666 case clang::Stmt::OMPCriticalDirectiveClass:
3666 case ZigClangStmt_OMPCriticalDirectiveClass:
36673667 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPCriticalDirectiveClass");
36683668 return ErrorUnexpected;
3669 case clang::Stmt::OMPFlushDirectiveClass:
3669 case ZigClangStmt_OMPFlushDirectiveClass:
36703670 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPFlushDirectiveClass");
36713671 return ErrorUnexpected;
3672 case clang::Stmt::OMPDistributeDirectiveClass:
3672 case ZigClangStmt_OMPDistributeDirectiveClass:
36733673 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPDistributeDirectiveClass");
36743674 return ErrorUnexpected;
3675 case clang::Stmt::OMPDistributeParallelForDirectiveClass:
3675 case ZigClangStmt_OMPDistributeParallelForDirectiveClass:
36763676 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPDistributeParallelForDirectiveClass");
36773677 return ErrorUnexpected;
3678 case clang::Stmt::OMPDistributeParallelForSimdDirectiveClass:
3678 case ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass:
36793679 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPDistributeParallelForSimdDirectiveClass");
36803680 return ErrorUnexpected;
3681 case clang::Stmt::OMPDistributeSimdDirectiveClass:
3681 case ZigClangStmt_OMPDistributeSimdDirectiveClass:
36823682 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPDistributeSimdDirectiveClass");
36833683 return ErrorUnexpected;
3684 case clang::Stmt::OMPForDirectiveClass:
3684 case ZigClangStmt_OMPForDirectiveClass:
36853685 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPForDirectiveClass");
36863686 return ErrorUnexpected;
3687 case clang::Stmt::OMPForSimdDirectiveClass:
3687 case ZigClangStmt_OMPForSimdDirectiveClass:
36883688 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPForSimdDirectiveClass");
36893689 return ErrorUnexpected;
3690 case clang::Stmt::OMPParallelForDirectiveClass:
3690 case ZigClangStmt_OMPParallelForDirectiveClass:
36913691 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPParallelForDirectiveClass");
36923692 return ErrorUnexpected;
3693 case clang::Stmt::OMPParallelForSimdDirectiveClass:
3693 case ZigClangStmt_OMPParallelForSimdDirectiveClass:
36943694 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPParallelForSimdDirectiveClass");
36953695 return ErrorUnexpected;
3696 case clang::Stmt::OMPSimdDirectiveClass:
3696 case ZigClangStmt_OMPSimdDirectiveClass:
36973697 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPSimdDirectiveClass");
36983698 return ErrorUnexpected;
3699 case clang::Stmt::OMPTargetParallelForSimdDirectiveClass:
3699 case ZigClangStmt_OMPTargetParallelForSimdDirectiveClass:
37003700 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetParallelForSimdDirectiveClass");
37013701 return ErrorUnexpected;
3702 case clang::Stmt::OMPTargetSimdDirectiveClass:
3702 case ZigClangStmt_OMPTargetSimdDirectiveClass:
37033703 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetSimdDirectiveClass");
37043704 return ErrorUnexpected;
3705 case clang::Stmt::OMPTargetTeamsDistributeDirectiveClass:
3705 case ZigClangStmt_OMPTargetTeamsDistributeDirectiveClass:
37063706 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetTeamsDistributeDirectiveClass");
37073707 return ErrorUnexpected;
3708 case clang::Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass:
3708 case ZigClangStmt_OMPTargetTeamsDistributeParallelForDirectiveClass:
37093709 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetTeamsDistributeParallelForDirectiveClass");
37103710 return ErrorUnexpected;
3711 case clang::Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass:
3711 case ZigClangStmt_OMPTargetTeamsDistributeParallelForSimdDirectiveClass:
37123712 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetTeamsDistributeParallelForSimdDirectiveClass");
37133713 return ErrorUnexpected;
3714 case clang::Stmt::OMPTargetTeamsDistributeSimdDirectiveClass:
3714 case ZigClangStmt_OMPTargetTeamsDistributeSimdDirectiveClass:
37153715 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetTeamsDistributeSimdDirectiveClass");
37163716 return ErrorUnexpected;
3717 case clang::Stmt::OMPTaskLoopDirectiveClass:
3717 case ZigClangStmt_OMPTaskLoopDirectiveClass:
37183718 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTaskLoopDirectiveClass");
37193719 return ErrorUnexpected;
3720 case clang::Stmt::OMPTaskLoopSimdDirectiveClass:
3720 case ZigClangStmt_OMPTaskLoopSimdDirectiveClass:
37213721 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTaskLoopSimdDirectiveClass");
37223722 return ErrorUnexpected;
3723 case clang::Stmt::OMPTeamsDistributeDirectiveClass:
3723 case ZigClangStmt_OMPTeamsDistributeDirectiveClass:
37243724 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTeamsDistributeDirectiveClass");
37253725 return ErrorUnexpected;
3726 case clang::Stmt::OMPTeamsDistributeParallelForDirectiveClass:
3726 case ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass:
37273727 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTeamsDistributeParallelForDirectiveClass");
37283728 return ErrorUnexpected;
3729 case clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass:
3729 case ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass:
37303730 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTeamsDistributeParallelForSimdDirectiveClass");
37313731 return ErrorUnexpected;
3732 case clang::Stmt::OMPTeamsDistributeSimdDirectiveClass:
3732 case ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass:
37333733 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTeamsDistributeSimdDirectiveClass");
37343734 return ErrorUnexpected;
3735 case clang::Stmt::OMPMasterDirectiveClass:
3735 case ZigClangStmt_OMPMasterDirectiveClass:
37363736 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPMasterDirectiveClass");
37373737 return ErrorUnexpected;
3738 case clang::Stmt::OMPOrderedDirectiveClass:
3738 case ZigClangStmt_OMPOrderedDirectiveClass:
37393739 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPOrderedDirectiveClass");
37403740 return ErrorUnexpected;
3741 case clang::Stmt::OMPParallelDirectiveClass:
3741 case ZigClangStmt_OMPParallelDirectiveClass:
37423742 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPParallelDirectiveClass");
37433743 return ErrorUnexpected;
3744 case clang::Stmt::OMPParallelSectionsDirectiveClass:
3744 case ZigClangStmt_OMPParallelSectionsDirectiveClass:
37453745 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPParallelSectionsDirectiveClass");
37463746 return ErrorUnexpected;
3747 case clang::Stmt::OMPSectionDirectiveClass:
3747 case ZigClangStmt_OMPSectionDirectiveClass:
37483748 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPSectionDirectiveClass");
37493749 return ErrorUnexpected;
3750 case clang::Stmt::OMPSectionsDirectiveClass:
3750 case ZigClangStmt_OMPSectionsDirectiveClass:
37513751 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPSectionsDirectiveClass");
37523752 return ErrorUnexpected;
3753 case clang::Stmt::OMPSingleDirectiveClass:
3753 case ZigClangStmt_OMPSingleDirectiveClass:
37543754 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPSingleDirectiveClass");
37553755 return ErrorUnexpected;
3756 case clang::Stmt::OMPTargetDataDirectiveClass:
3756 case ZigClangStmt_OMPTargetDataDirectiveClass:
37573757 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetDataDirectiveClass");
37583758 return ErrorUnexpected;
3759 case clang::Stmt::OMPTargetDirectiveClass:
3759 case ZigClangStmt_OMPTargetDirectiveClass:
37603760 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetDirectiveClass");
37613761 return ErrorUnexpected;
3762 case clang::Stmt::OMPTargetEnterDataDirectiveClass:
3762 case ZigClangStmt_OMPTargetEnterDataDirectiveClass:
37633763 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetEnterDataDirectiveClass");
37643764 return ErrorUnexpected;
3765 case clang::Stmt::OMPTargetExitDataDirectiveClass:
3765 case ZigClangStmt_OMPTargetExitDataDirectiveClass:
37663766 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetExitDataDirectiveClass");
37673767 return ErrorUnexpected;
3768 case clang::Stmt::OMPTargetParallelDirectiveClass:
3768 case ZigClangStmt_OMPTargetParallelDirectiveClass:
37693769 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetParallelDirectiveClass");
37703770 return ErrorUnexpected;
3771 case clang::Stmt::OMPTargetParallelForDirectiveClass:
3771 case ZigClangStmt_OMPTargetParallelForDirectiveClass:
37723772 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetParallelForDirectiveClass");
37733773 return ErrorUnexpected;
3774 case clang::Stmt::OMPTargetTeamsDirectiveClass:
3774 case ZigClangStmt_OMPTargetTeamsDirectiveClass:
37753775 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetTeamsDirectiveClass");
37763776 return ErrorUnexpected;
3777 case clang::Stmt::OMPTargetUpdateDirectiveClass:
3777 case ZigClangStmt_OMPTargetUpdateDirectiveClass:
37783778 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTargetUpdateDirectiveClass");
37793779 return ErrorUnexpected;
3780 case clang::Stmt::OMPTaskDirectiveClass:
3780 case ZigClangStmt_OMPTaskDirectiveClass:
37813781 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTaskDirectiveClass");
37823782 return ErrorUnexpected;
3783 case clang::Stmt::OMPTaskgroupDirectiveClass:
3783 case ZigClangStmt_OMPTaskgroupDirectiveClass:
37843784 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTaskgroupDirectiveClass");
37853785 return ErrorUnexpected;
3786 case clang::Stmt::OMPTaskwaitDirectiveClass:
3786 case ZigClangStmt_OMPTaskwaitDirectiveClass:
37873787 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTaskwaitDirectiveClass");
37883788 return ErrorUnexpected;
3789 case clang::Stmt::OMPTaskyieldDirectiveClass:
3789 case ZigClangStmt_OMPTaskyieldDirectiveClass:
37903790 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTaskyieldDirectiveClass");
37913791 return ErrorUnexpected;
3792 case clang::Stmt::OMPTeamsDirectiveClass:
3792 case ZigClangStmt_OMPTeamsDirectiveClass:
37933793 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPTeamsDirectiveClass");
37943794 return ErrorUnexpected;
3795 case clang::Stmt::ObjCAtCatchStmtClass:
3795 case ZigClangStmt_ObjCAtCatchStmtClass:
37963796 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCAtCatchStmtClass");
37973797 return ErrorUnexpected;
3798 case clang::Stmt::ObjCAtFinallyStmtClass:
3798 case ZigClangStmt_ObjCAtFinallyStmtClass:
37993799 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCAtFinallyStmtClass");
38003800 return ErrorUnexpected;
3801 case clang::Stmt::ObjCAtSynchronizedStmtClass:
3801 case ZigClangStmt_ObjCAtSynchronizedStmtClass:
38023802 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCAtSynchronizedStmtClass");
38033803 return ErrorUnexpected;
3804 case clang::Stmt::ObjCAtThrowStmtClass:
3804 case ZigClangStmt_ObjCAtThrowStmtClass:
38053805 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCAtThrowStmtClass");
38063806 return ErrorUnexpected;
3807 case clang::Stmt::ObjCAtTryStmtClass:
3807 case ZigClangStmt_ObjCAtTryStmtClass:
38083808 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCAtTryStmtClass");
38093809 return ErrorUnexpected;
3810 case clang::Stmt::ObjCAutoreleasePoolStmtClass:
3810 case ZigClangStmt_ObjCAutoreleasePoolStmtClass:
38113811 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCAutoreleasePoolStmtClass");
38123812 return ErrorUnexpected;
3813 case clang::Stmt::ObjCForCollectionStmtClass:
3813 case ZigClangStmt_ObjCForCollectionStmtClass:
38143814 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C ObjCForCollectionStmtClass");
38153815 return ErrorUnexpected;
3816 case clang::Stmt::SEHExceptStmtClass:
3816 case ZigClangStmt_SEHExceptStmtClass:
38173817 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C SEHExceptStmtClass");
38183818 return ErrorUnexpected;
3819 case clang::Stmt::SEHFinallyStmtClass:
3819 case ZigClangStmt_SEHFinallyStmtClass:
38203820 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C SEHFinallyStmtClass");
38213821 return ErrorUnexpected;
3822 case clang::Stmt::SEHLeaveStmtClass:
3822 case ZigClangStmt_SEHLeaveStmtClass:
38233823 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C SEHLeaveStmtClass");
38243824 return ErrorUnexpected;
3825 case clang::Stmt::SEHTryStmtClass:
3825 case ZigClangStmt_SEHTryStmtClass:
38263826 emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C SEHTryStmtClass");
38273827 return ErrorUnexpected;
38283828 }
src/zig_clang.cpp+404-1
......@@ -101,7 +101,7 @@ static_assert((clang::BinaryOperatorKind)ZigClangBO_SubAssign == clang::BO_SubAs
101101static_assert((clang::BinaryOperatorKind)ZigClangBO_Xor == clang::BO_Xor, "");
102102static_assert((clang::BinaryOperatorKind)ZigClangBO_XorAssign == clang::BO_XorAssign, "");
103103
104// This function detects additions to the enum
104// Detect additions to the enum
105105void zig2clang_UO(clang::UnaryOperatorKind op) {
106106 switch (op) {
107107 case clang::UO_AddrOf:
......@@ -137,6 +137,7 @@ static_assert((clang::UnaryOperatorKind)ZigClangUO_PreDec == clang::UO_PreDec, "
137137static_assert((clang::UnaryOperatorKind)ZigClangUO_PreInc == clang::UO_PreInc, "");
138138static_assert((clang::UnaryOperatorKind)ZigClangUO_Real == clang::UO_Real, "");
139139
140// Detect additions to the enum
140141void zig2clang_TypeClass(clang::Type::TypeClass ty) {
141142 switch (ty) {
142143 case clang::Type::Builtin:
......@@ -238,6 +239,408 @@ static_assert((clang::Type::TypeClass)ZigClangType_ObjCObjectPointer == clang::T
238239static_assert((clang::Type::TypeClass)ZigClangType_Pipe == clang::Type::Pipe, "");
239240static_assert((clang::Type::TypeClass)ZigClangType_Atomic == clang::Type::Atomic, "");
240241
242// Detect additions to the enum
243void zig2clang_StmtClass(clang::Stmt::StmtClass x) {
244 switch (x) {
245 case clang::Stmt::NoStmtClass:
246 case clang::Stmt::NullStmtClass:
247 case clang::Stmt::CompoundStmtClass:
248 case clang::Stmt::LabelStmtClass:
249 case clang::Stmt::AttributedStmtClass:
250 case clang::Stmt::IfStmtClass:
251 case clang::Stmt::SwitchStmtClass:
252 case clang::Stmt::WhileStmtClass:
253 case clang::Stmt::DoStmtClass:
254 case clang::Stmt::ForStmtClass:
255 case clang::Stmt::GotoStmtClass:
256 case clang::Stmt::IndirectGotoStmtClass:
257 case clang::Stmt::ContinueStmtClass:
258 case clang::Stmt::BreakStmtClass:
259 case clang::Stmt::ReturnStmtClass:
260 case clang::Stmt::DeclStmtClass:
261 case clang::Stmt::CaseStmtClass:
262 case clang::Stmt::DefaultStmtClass:
263 case clang::Stmt::CapturedStmtClass:
264 case clang::Stmt::GCCAsmStmtClass:
265 case clang::Stmt::MSAsmStmtClass:
266 case clang::Stmt::ObjCAtTryStmtClass:
267 case clang::Stmt::ObjCAtCatchStmtClass:
268 case clang::Stmt::ObjCAtFinallyStmtClass:
269 case clang::Stmt::ObjCAtThrowStmtClass:
270 case clang::Stmt::ObjCAtSynchronizedStmtClass:
271 case clang::Stmt::ObjCForCollectionStmtClass:
272 case clang::Stmt::ObjCAutoreleasePoolStmtClass:
273 case clang::Stmt::CXXCatchStmtClass:
274 case clang::Stmt::CXXTryStmtClass:
275 case clang::Stmt::CXXForRangeStmtClass:
276 case clang::Stmt::CoroutineBodyStmtClass:
277 case clang::Stmt::CoreturnStmtClass:
278 case clang::Stmt::PredefinedExprClass:
279 case clang::Stmt::DeclRefExprClass:
280 case clang::Stmt::IntegerLiteralClass:
281 case clang::Stmt::FixedPointLiteralClass:
282 case clang::Stmt::FloatingLiteralClass:
283 case clang::Stmt::ImaginaryLiteralClass:
284 case clang::Stmt::StringLiteralClass:
285 case clang::Stmt::CharacterLiteralClass:
286 case clang::Stmt::ParenExprClass:
287 case clang::Stmt::UnaryOperatorClass:
288 case clang::Stmt::OffsetOfExprClass:
289 case clang::Stmt::UnaryExprOrTypeTraitExprClass:
290 case clang::Stmt::ArraySubscriptExprClass:
291 case clang::Stmt::OMPArraySectionExprClass:
292 case clang::Stmt::CallExprClass:
293 case clang::Stmt::MemberExprClass:
294 case clang::Stmt::BinaryOperatorClass:
295 case clang::Stmt::CompoundAssignOperatorClass:
296 case clang::Stmt::ConditionalOperatorClass:
297 case clang::Stmt::BinaryConditionalOperatorClass:
298 case clang::Stmt::ImplicitCastExprClass:
299 case clang::Stmt::CStyleCastExprClass:
300 case clang::Stmt::CompoundLiteralExprClass:
301 case clang::Stmt::ExtVectorElementExprClass:
302 case clang::Stmt::InitListExprClass:
303 case clang::Stmt::DesignatedInitExprClass:
304 case clang::Stmt::DesignatedInitUpdateExprClass:
305 case clang::Stmt::ImplicitValueInitExprClass:
306 case clang::Stmt::NoInitExprClass:
307 case clang::Stmt::ArrayInitLoopExprClass:
308 case clang::Stmt::ArrayInitIndexExprClass:
309 case clang::Stmt::ParenListExprClass:
310 case clang::Stmt::VAArgExprClass:
311 case clang::Stmt::GenericSelectionExprClass:
312 case clang::Stmt::PseudoObjectExprClass:
313 case clang::Stmt::ConstantExprClass:
314 case clang::Stmt::AtomicExprClass:
315 case clang::Stmt::AddrLabelExprClass:
316 case clang::Stmt::StmtExprClass:
317 case clang::Stmt::ChooseExprClass:
318 case clang::Stmt::GNUNullExprClass:
319 case clang::Stmt::CXXOperatorCallExprClass:
320 case clang::Stmt::CXXMemberCallExprClass:
321 case clang::Stmt::CXXStaticCastExprClass:
322 case clang::Stmt::CXXDynamicCastExprClass:
323 case clang::Stmt::CXXReinterpretCastExprClass:
324 case clang::Stmt::CXXConstCastExprClass:
325 case clang::Stmt::CXXFunctionalCastExprClass:
326 case clang::Stmt::CXXTypeidExprClass:
327 case clang::Stmt::UserDefinedLiteralClass:
328 case clang::Stmt::CXXBoolLiteralExprClass:
329 case clang::Stmt::CXXNullPtrLiteralExprClass:
330 case clang::Stmt::CXXThisExprClass:
331 case clang::Stmt::CXXThrowExprClass:
332 case clang::Stmt::CXXDefaultArgExprClass:
333 case clang::Stmt::CXXDefaultInitExprClass:
334 case clang::Stmt::CXXScalarValueInitExprClass:
335 case clang::Stmt::CXXStdInitializerListExprClass:
336 case clang::Stmt::CXXNewExprClass:
337 case clang::Stmt::CXXDeleteExprClass:
338 case clang::Stmt::CXXPseudoDestructorExprClass:
339 case clang::Stmt::TypeTraitExprClass:
340 case clang::Stmt::ArrayTypeTraitExprClass:
341 case clang::Stmt::ExpressionTraitExprClass:
342 case clang::Stmt::DependentScopeDeclRefExprClass:
343 case clang::Stmt::CXXConstructExprClass:
344 case clang::Stmt::CXXInheritedCtorInitExprClass:
345 case clang::Stmt::CXXBindTemporaryExprClass:
346 case clang::Stmt::ExprWithCleanupsClass:
347 case clang::Stmt::CXXTemporaryObjectExprClass:
348 case clang::Stmt::CXXUnresolvedConstructExprClass:
349 case clang::Stmt::CXXDependentScopeMemberExprClass:
350 case clang::Stmt::UnresolvedLookupExprClass:
351 case clang::Stmt::UnresolvedMemberExprClass:
352 case clang::Stmt::CXXNoexceptExprClass:
353 case clang::Stmt::PackExpansionExprClass:
354 case clang::Stmt::SizeOfPackExprClass:
355 case clang::Stmt::SubstNonTypeTemplateParmExprClass:
356 case clang::Stmt::SubstNonTypeTemplateParmPackExprClass:
357 case clang::Stmt::FunctionParmPackExprClass:
358 case clang::Stmt::MaterializeTemporaryExprClass:
359 case clang::Stmt::LambdaExprClass:
360 case clang::Stmt::CXXFoldExprClass:
361 case clang::Stmt::CoawaitExprClass:
362 case clang::Stmt::DependentCoawaitExprClass:
363 case clang::Stmt::CoyieldExprClass:
364 case clang::Stmt::ObjCStringLiteralClass:
365 case clang::Stmt::ObjCBoxedExprClass:
366 case clang::Stmt::ObjCArrayLiteralClass:
367 case clang::Stmt::ObjCDictionaryLiteralClass:
368 case clang::Stmt::ObjCEncodeExprClass:
369 case clang::Stmt::ObjCMessageExprClass:
370 case clang::Stmt::ObjCSelectorExprClass:
371 case clang::Stmt::ObjCProtocolExprClass:
372 case clang::Stmt::ObjCIvarRefExprClass:
373 case clang::Stmt::ObjCPropertyRefExprClass:
374 case clang::Stmt::ObjCIsaExprClass:
375 case clang::Stmt::ObjCIndirectCopyRestoreExprClass:
376 case clang::Stmt::ObjCBoolLiteralExprClass:
377 case clang::Stmt::ObjCSubscriptRefExprClass:
378 case clang::Stmt::ObjCAvailabilityCheckExprClass:
379 case clang::Stmt::ObjCBridgedCastExprClass:
380 case clang::Stmt::CUDAKernelCallExprClass:
381 case clang::Stmt::ShuffleVectorExprClass:
382 case clang::Stmt::ConvertVectorExprClass:
383 case clang::Stmt::BlockExprClass:
384 case clang::Stmt::OpaqueValueExprClass:
385 case clang::Stmt::TypoExprClass:
386 case clang::Stmt::MSPropertyRefExprClass:
387 case clang::Stmt::MSPropertySubscriptExprClass:
388 case clang::Stmt::CXXUuidofExprClass:
389 case clang::Stmt::SEHTryStmtClass:
390 case clang::Stmt::SEHExceptStmtClass:
391 case clang::Stmt::SEHFinallyStmtClass:
392 case clang::Stmt::SEHLeaveStmtClass:
393 case clang::Stmt::MSDependentExistsStmtClass:
394 case clang::Stmt::AsTypeExprClass:
395 case clang::Stmt::OMPParallelDirectiveClass:
396 case clang::Stmt::OMPSimdDirectiveClass:
397 case clang::Stmt::OMPForDirectiveClass:
398 case clang::Stmt::OMPForSimdDirectiveClass:
399 case clang::Stmt::OMPSectionsDirectiveClass:
400 case clang::Stmt::OMPSectionDirectiveClass:
401 case clang::Stmt::OMPSingleDirectiveClass:
402 case clang::Stmt::OMPMasterDirectiveClass:
403 case clang::Stmt::OMPCriticalDirectiveClass:
404 case clang::Stmt::OMPParallelForDirectiveClass:
405 case clang::Stmt::OMPParallelForSimdDirectiveClass:
406 case clang::Stmt::OMPParallelSectionsDirectiveClass:
407 case clang::Stmt::OMPTaskDirectiveClass:
408 case clang::Stmt::OMPTaskyieldDirectiveClass:
409 case clang::Stmt::OMPBarrierDirectiveClass:
410 case clang::Stmt::OMPTaskwaitDirectiveClass:
411 case clang::Stmt::OMPTaskgroupDirectiveClass:
412 case clang::Stmt::OMPFlushDirectiveClass:
413 case clang::Stmt::OMPOrderedDirectiveClass:
414 case clang::Stmt::OMPAtomicDirectiveClass:
415 case clang::Stmt::OMPTargetDirectiveClass:
416 case clang::Stmt::OMPTargetDataDirectiveClass:
417 case clang::Stmt::OMPTargetEnterDataDirectiveClass:
418 case clang::Stmt::OMPTargetExitDataDirectiveClass:
419 case clang::Stmt::OMPTargetParallelDirectiveClass:
420 case clang::Stmt::OMPTargetParallelForDirectiveClass:
421 case clang::Stmt::OMPTargetUpdateDirectiveClass:
422 case clang::Stmt::OMPTeamsDirectiveClass:
423 case clang::Stmt::OMPCancellationPointDirectiveClass:
424 case clang::Stmt::OMPCancelDirectiveClass:
425 case clang::Stmt::OMPTaskLoopDirectiveClass:
426 case clang::Stmt::OMPTaskLoopSimdDirectiveClass:
427 case clang::Stmt::OMPDistributeDirectiveClass:
428 case clang::Stmt::OMPDistributeParallelForDirectiveClass:
429 case clang::Stmt::OMPDistributeParallelForSimdDirectiveClass:
430 case clang::Stmt::OMPDistributeSimdDirectiveClass:
431 case clang::Stmt::OMPTargetParallelForSimdDirectiveClass:
432 case clang::Stmt::OMPTargetSimdDirectiveClass:
433 case clang::Stmt::OMPTeamsDistributeDirectiveClass:
434 case clang::Stmt::OMPTeamsDistributeSimdDirectiveClass:
435 case clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass:
436 case clang::Stmt::OMPTeamsDistributeParallelForDirectiveClass:
437 case clang::Stmt::OMPTargetTeamsDirectiveClass:
438 case clang::Stmt::OMPTargetTeamsDistributeDirectiveClass:
439 case clang::Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass:
440 case clang::Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass:
441 case clang::Stmt::OMPTargetTeamsDistributeSimdDirectiveClass:
442 break;
443 }
444}
445
446static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoStmtClass == clang::Stmt::NoStmtClass, "");
447static_assert((clang::Stmt::StmtClass)ZigClangStmt_NullStmtClass == clang::Stmt::NullStmtClass, "");
448static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundStmtClass == clang::Stmt::CompoundStmtClass, "");
449static_assert((clang::Stmt::StmtClass)ZigClangStmt_LabelStmtClass == clang::Stmt::LabelStmtClass, "");
450static_assert((clang::Stmt::StmtClass)ZigClangStmt_AttributedStmtClass == clang::Stmt::AttributedStmtClass, "");
451static_assert((clang::Stmt::StmtClass)ZigClangStmt_IfStmtClass == clang::Stmt::IfStmtClass, "");
452static_assert((clang::Stmt::StmtClass)ZigClangStmt_SwitchStmtClass == clang::Stmt::SwitchStmtClass, "");
453static_assert((clang::Stmt::StmtClass)ZigClangStmt_WhileStmtClass == clang::Stmt::WhileStmtClass, "");
454static_assert((clang::Stmt::StmtClass)ZigClangStmt_DoStmtClass == clang::Stmt::DoStmtClass, "");
455static_assert((clang::Stmt::StmtClass)ZigClangStmt_ForStmtClass == clang::Stmt::ForStmtClass, "");
456static_assert((clang::Stmt::StmtClass)ZigClangStmt_GotoStmtClass == clang::Stmt::GotoStmtClass, "");
457static_assert((clang::Stmt::StmtClass)ZigClangStmt_IndirectGotoStmtClass == clang::Stmt::IndirectGotoStmtClass, "");
458static_assert((clang::Stmt::StmtClass)ZigClangStmt_ContinueStmtClass == clang::Stmt::ContinueStmtClass, "");
459static_assert((clang::Stmt::StmtClass)ZigClangStmt_BreakStmtClass == clang::Stmt::BreakStmtClass, "");
460static_assert((clang::Stmt::StmtClass)ZigClangStmt_ReturnStmtClass == clang::Stmt::ReturnStmtClass, "");
461static_assert((clang::Stmt::StmtClass)ZigClangStmt_DeclStmtClass == clang::Stmt::DeclStmtClass, "");
462static_assert((clang::Stmt::StmtClass)ZigClangStmt_CaseStmtClass == clang::Stmt::CaseStmtClass, "");
463static_assert((clang::Stmt::StmtClass)ZigClangStmt_DefaultStmtClass == clang::Stmt::DefaultStmtClass, "");
464static_assert((clang::Stmt::StmtClass)ZigClangStmt_CapturedStmtClass == clang::Stmt::CapturedStmtClass, "");
465static_assert((clang::Stmt::StmtClass)ZigClangStmt_GCCAsmStmtClass == clang::Stmt::GCCAsmStmtClass, "");
466static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSAsmStmtClass == clang::Stmt::MSAsmStmtClass, "");
467static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtTryStmtClass == clang::Stmt::ObjCAtTryStmtClass, "");
468static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtCatchStmtClass == clang::Stmt::ObjCAtCatchStmtClass, "");
469static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtFinallyStmtClass == clang::Stmt::ObjCAtFinallyStmtClass, "");
470static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtThrowStmtClass == clang::Stmt::ObjCAtThrowStmtClass, "");
471static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAtSynchronizedStmtClass == clang::Stmt::ObjCAtSynchronizedStmtClass, "");
472static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCForCollectionStmtClass == clang::Stmt::ObjCForCollectionStmtClass, "");
473static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAutoreleasePoolStmtClass == clang::Stmt::ObjCAutoreleasePoolStmtClass, "");
474static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXCatchStmtClass == clang::Stmt::CXXCatchStmtClass, "");
475static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXTryStmtClass == clang::Stmt::CXXTryStmtClass, "");
476static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXForRangeStmtClass == clang::Stmt::CXXForRangeStmtClass, "");
477static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoroutineBodyStmtClass == clang::Stmt::CoroutineBodyStmtClass, "");
478static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoreturnStmtClass == clang::Stmt::CoreturnStmtClass, "");
479static_assert((clang::Stmt::StmtClass)ZigClangStmt_PredefinedExprClass == clang::Stmt::PredefinedExprClass, "");
480static_assert((clang::Stmt::StmtClass)ZigClangStmt_DeclRefExprClass == clang::Stmt::DeclRefExprClass, "");
481static_assert((clang::Stmt::StmtClass)ZigClangStmt_IntegerLiteralClass == clang::Stmt::IntegerLiteralClass, "");
482static_assert((clang::Stmt::StmtClass)ZigClangStmt_FixedPointLiteralClass == clang::Stmt::FixedPointLiteralClass, "");
483static_assert((clang::Stmt::StmtClass)ZigClangStmt_FloatingLiteralClass == clang::Stmt::FloatingLiteralClass, "");
484static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImaginaryLiteralClass == clang::Stmt::ImaginaryLiteralClass, "");
485static_assert((clang::Stmt::StmtClass)ZigClangStmt_StringLiteralClass == clang::Stmt::StringLiteralClass, "");
486static_assert((clang::Stmt::StmtClass)ZigClangStmt_CharacterLiteralClass == clang::Stmt::CharacterLiteralClass, "");
487static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenExprClass == clang::Stmt::ParenExprClass, "");
488static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnaryOperatorClass == clang::Stmt::UnaryOperatorClass, "");
489static_assert((clang::Stmt::StmtClass)ZigClangStmt_OffsetOfExprClass == clang::Stmt::OffsetOfExprClass, "");
490static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnaryExprOrTypeTraitExprClass == clang::Stmt::UnaryExprOrTypeTraitExprClass, "");
491static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArraySubscriptExprClass == clang::Stmt::ArraySubscriptExprClass, "");
492static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPArraySectionExprClass == clang::Stmt::OMPArraySectionExprClass, "");
493static_assert((clang::Stmt::StmtClass)ZigClangStmt_CallExprClass == clang::Stmt::CallExprClass, "");
494static_assert((clang::Stmt::StmtClass)ZigClangStmt_MemberExprClass == clang::Stmt::MemberExprClass, "");
495static_assert((clang::Stmt::StmtClass)ZigClangStmt_BinaryOperatorClass == clang::Stmt::BinaryOperatorClass, "");
496static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundAssignOperatorClass == clang::Stmt::CompoundAssignOperatorClass, "");
497static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConditionalOperatorClass == clang::Stmt::ConditionalOperatorClass, "");
498static_assert((clang::Stmt::StmtClass)ZigClangStmt_BinaryConditionalOperatorClass == clang::Stmt::BinaryConditionalOperatorClass, "");
499static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImplicitCastExprClass == clang::Stmt::ImplicitCastExprClass, "");
500static_assert((clang::Stmt::StmtClass)ZigClangStmt_CStyleCastExprClass == clang::Stmt::CStyleCastExprClass, "");
501static_assert((clang::Stmt::StmtClass)ZigClangStmt_CompoundLiteralExprClass == clang::Stmt::CompoundLiteralExprClass, "");
502static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExtVectorElementExprClass == clang::Stmt::ExtVectorElementExprClass, "");
503static_assert((clang::Stmt::StmtClass)ZigClangStmt_InitListExprClass == clang::Stmt::InitListExprClass, "");
504static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitExprClass == clang::Stmt::DesignatedInitExprClass, "");
505static_assert((clang::Stmt::StmtClass)ZigClangStmt_DesignatedInitUpdateExprClass == clang::Stmt::DesignatedInitUpdateExprClass, "");
506static_assert((clang::Stmt::StmtClass)ZigClangStmt_ImplicitValueInitExprClass == clang::Stmt::ImplicitValueInitExprClass, "");
507static_assert((clang::Stmt::StmtClass)ZigClangStmt_NoInitExprClass == clang::Stmt::NoInitExprClass, "");
508static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitLoopExprClass == clang::Stmt::ArrayInitLoopExprClass, "");
509static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayInitIndexExprClass == clang::Stmt::ArrayInitIndexExprClass, "");
510static_assert((clang::Stmt::StmtClass)ZigClangStmt_ParenListExprClass == clang::Stmt::ParenListExprClass, "");
511static_assert((clang::Stmt::StmtClass)ZigClangStmt_VAArgExprClass == clang::Stmt::VAArgExprClass, "");
512static_assert((clang::Stmt::StmtClass)ZigClangStmt_GenericSelectionExprClass == clang::Stmt::GenericSelectionExprClass, "");
513static_assert((clang::Stmt::StmtClass)ZigClangStmt_PseudoObjectExprClass == clang::Stmt::PseudoObjectExprClass, "");
514static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConstantExprClass == clang::Stmt::ConstantExprClass, "");
515static_assert((clang::Stmt::StmtClass)ZigClangStmt_AtomicExprClass == clang::Stmt::AtomicExprClass, "");
516static_assert((clang::Stmt::StmtClass)ZigClangStmt_AddrLabelExprClass == clang::Stmt::AddrLabelExprClass, "");
517static_assert((clang::Stmt::StmtClass)ZigClangStmt_StmtExprClass == clang::Stmt::StmtExprClass, "");
518static_assert((clang::Stmt::StmtClass)ZigClangStmt_ChooseExprClass == clang::Stmt::ChooseExprClass, "");
519static_assert((clang::Stmt::StmtClass)ZigClangStmt_GNUNullExprClass == clang::Stmt::GNUNullExprClass, "");
520static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXOperatorCallExprClass == clang::Stmt::CXXOperatorCallExprClass, "");
521static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXMemberCallExprClass == clang::Stmt::CXXMemberCallExprClass, "");
522static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXStaticCastExprClass == clang::Stmt::CXXStaticCastExprClass, "");
523static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDynamicCastExprClass == clang::Stmt::CXXDynamicCastExprClass, "");
524static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXReinterpretCastExprClass == clang::Stmt::CXXReinterpretCastExprClass, "");
525static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXConstCastExprClass == clang::Stmt::CXXConstCastExprClass, "");
526static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXFunctionalCastExprClass == clang::Stmt::CXXFunctionalCastExprClass, "");
527static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXTypeidExprClass == clang::Stmt::CXXTypeidExprClass, "");
528static_assert((clang::Stmt::StmtClass)ZigClangStmt_UserDefinedLiteralClass == clang::Stmt::UserDefinedLiteralClass, "");
529static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXBoolLiteralExprClass == clang::Stmt::CXXBoolLiteralExprClass, "");
530static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNullPtrLiteralExprClass == clang::Stmt::CXXNullPtrLiteralExprClass, "");
531static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXThisExprClass == clang::Stmt::CXXThisExprClass, "");
532static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXThrowExprClass == clang::Stmt::CXXThrowExprClass, "");
533static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDefaultArgExprClass == clang::Stmt::CXXDefaultArgExprClass, "");
534static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDefaultInitExprClass == clang::Stmt::CXXDefaultInitExprClass, "");
535static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXScalarValueInitExprClass == clang::Stmt::CXXScalarValueInitExprClass, "");
536static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXStdInitializerListExprClass == clang::Stmt::CXXStdInitializerListExprClass, "");
537static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNewExprClass == clang::Stmt::CXXNewExprClass, "");
538static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDeleteExprClass == clang::Stmt::CXXDeleteExprClass, "");
539static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXPseudoDestructorExprClass == clang::Stmt::CXXPseudoDestructorExprClass, "");
540static_assert((clang::Stmt::StmtClass)ZigClangStmt_TypeTraitExprClass == clang::Stmt::TypeTraitExprClass, "");
541static_assert((clang::Stmt::StmtClass)ZigClangStmt_ArrayTypeTraitExprClass == clang::Stmt::ArrayTypeTraitExprClass, "");
542static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExpressionTraitExprClass == clang::Stmt::ExpressionTraitExprClass, "");
543static_assert((clang::Stmt::StmtClass)ZigClangStmt_DependentScopeDeclRefExprClass == clang::Stmt::DependentScopeDeclRefExprClass, "");
544static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXConstructExprClass == clang::Stmt::CXXConstructExprClass, "");
545static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXInheritedCtorInitExprClass == clang::Stmt::CXXInheritedCtorInitExprClass, "");
546static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXBindTemporaryExprClass == clang::Stmt::CXXBindTemporaryExprClass, "");
547static_assert((clang::Stmt::StmtClass)ZigClangStmt_ExprWithCleanupsClass == clang::Stmt::ExprWithCleanupsClass, "");
548static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXTemporaryObjectExprClass == clang::Stmt::CXXTemporaryObjectExprClass, "");
549static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXUnresolvedConstructExprClass == clang::Stmt::CXXUnresolvedConstructExprClass, "");
550static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXDependentScopeMemberExprClass == clang::Stmt::CXXDependentScopeMemberExprClass, "");
551static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedLookupExprClass == clang::Stmt::UnresolvedLookupExprClass, "");
552static_assert((clang::Stmt::StmtClass)ZigClangStmt_UnresolvedMemberExprClass == clang::Stmt::UnresolvedMemberExprClass, "");
553static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNoexceptExprClass == clang::Stmt::CXXNoexceptExprClass, "");
554static_assert((clang::Stmt::StmtClass)ZigClangStmt_PackExpansionExprClass == clang::Stmt::PackExpansionExprClass, "");
555static_assert((clang::Stmt::StmtClass)ZigClangStmt_SizeOfPackExprClass == clang::Stmt::SizeOfPackExprClass, "");
556static_assert((clang::Stmt::StmtClass)ZigClangStmt_SubstNonTypeTemplateParmExprClass == clang::Stmt::SubstNonTypeTemplateParmExprClass, "");
557static_assert((clang::Stmt::StmtClass)ZigClangStmt_SubstNonTypeTemplateParmPackExprClass == clang::Stmt::SubstNonTypeTemplateParmPackExprClass, "");
558static_assert((clang::Stmt::StmtClass)ZigClangStmt_FunctionParmPackExprClass == clang::Stmt::FunctionParmPackExprClass, "");
559static_assert((clang::Stmt::StmtClass)ZigClangStmt_MaterializeTemporaryExprClass == clang::Stmt::MaterializeTemporaryExprClass, "");
560static_assert((clang::Stmt::StmtClass)ZigClangStmt_LambdaExprClass == clang::Stmt::LambdaExprClass, "");
561static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXFoldExprClass == clang::Stmt::CXXFoldExprClass, "");
562static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoawaitExprClass == clang::Stmt::CoawaitExprClass, "");
563static_assert((clang::Stmt::StmtClass)ZigClangStmt_DependentCoawaitExprClass == clang::Stmt::DependentCoawaitExprClass, "");
564static_assert((clang::Stmt::StmtClass)ZigClangStmt_CoyieldExprClass == clang::Stmt::CoyieldExprClass, "");
565static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCStringLiteralClass == clang::Stmt::ObjCStringLiteralClass, "");
566static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBoxedExprClass == clang::Stmt::ObjCBoxedExprClass, "");
567static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCArrayLiteralClass == clang::Stmt::ObjCArrayLiteralClass, "");
568static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCDictionaryLiteralClass == clang::Stmt::ObjCDictionaryLiteralClass, "");
569static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCEncodeExprClass == clang::Stmt::ObjCEncodeExprClass, "");
570static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCMessageExprClass == clang::Stmt::ObjCMessageExprClass, "");
571static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCSelectorExprClass == clang::Stmt::ObjCSelectorExprClass, "");
572static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCProtocolExprClass == clang::Stmt::ObjCProtocolExprClass, "");
573static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCIvarRefExprClass == clang::Stmt::ObjCIvarRefExprClass, "");
574static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCPropertyRefExprClass == clang::Stmt::ObjCPropertyRefExprClass, "");
575static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCIsaExprClass == clang::Stmt::ObjCIsaExprClass, "");
576static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCIndirectCopyRestoreExprClass == clang::Stmt::ObjCIndirectCopyRestoreExprClass, "");
577static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBoolLiteralExprClass == clang::Stmt::ObjCBoolLiteralExprClass, "");
578static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCSubscriptRefExprClass == clang::Stmt::ObjCSubscriptRefExprClass, "");
579static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCAvailabilityCheckExprClass == clang::Stmt::ObjCAvailabilityCheckExprClass, "");
580static_assert((clang::Stmt::StmtClass)ZigClangStmt_ObjCBridgedCastExprClass == clang::Stmt::ObjCBridgedCastExprClass, "");
581static_assert((clang::Stmt::StmtClass)ZigClangStmt_CUDAKernelCallExprClass == clang::Stmt::CUDAKernelCallExprClass, "");
582static_assert((clang::Stmt::StmtClass)ZigClangStmt_ShuffleVectorExprClass == clang::Stmt::ShuffleVectorExprClass, "");
583static_assert((clang::Stmt::StmtClass)ZigClangStmt_ConvertVectorExprClass == clang::Stmt::ConvertVectorExprClass, "");
584static_assert((clang::Stmt::StmtClass)ZigClangStmt_BlockExprClass == clang::Stmt::BlockExprClass, "");
585static_assert((clang::Stmt::StmtClass)ZigClangStmt_OpaqueValueExprClass == clang::Stmt::OpaqueValueExprClass, "");
586static_assert((clang::Stmt::StmtClass)ZigClangStmt_TypoExprClass == clang::Stmt::TypoExprClass, "");
587static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertyRefExprClass == clang::Stmt::MSPropertyRefExprClass, "");
588static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSPropertySubscriptExprClass == clang::Stmt::MSPropertySubscriptExprClass, "");
589static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXUuidofExprClass == clang::Stmt::CXXUuidofExprClass, "");
590static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHTryStmtClass == clang::Stmt::SEHTryStmtClass, "");
591static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHExceptStmtClass == clang::Stmt::SEHExceptStmtClass, "");
592static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHFinallyStmtClass == clang::Stmt::SEHFinallyStmtClass, "");
593static_assert((clang::Stmt::StmtClass)ZigClangStmt_SEHLeaveStmtClass == clang::Stmt::SEHLeaveStmtClass, "");
594static_assert((clang::Stmt::StmtClass)ZigClangStmt_MSDependentExistsStmtClass == clang::Stmt::MSDependentExistsStmtClass, "");
595static_assert((clang::Stmt::StmtClass)ZigClangStmt_AsTypeExprClass == clang::Stmt::AsTypeExprClass, "");
596static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelDirectiveClass == clang::Stmt::OMPParallelDirectiveClass, "");
597static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSimdDirectiveClass == clang::Stmt::OMPSimdDirectiveClass, "");
598static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPForDirectiveClass == clang::Stmt::OMPForDirectiveClass, "");
599static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPForSimdDirectiveClass == clang::Stmt::OMPForSimdDirectiveClass, "");
600static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionsDirectiveClass == clang::Stmt::OMPSectionsDirectiveClass, "");
601static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSectionDirectiveClass == clang::Stmt::OMPSectionDirectiveClass, "");
602static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPSingleDirectiveClass == clang::Stmt::OMPSingleDirectiveClass, "");
603static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPMasterDirectiveClass == clang::Stmt::OMPMasterDirectiveClass, "");
604static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCriticalDirectiveClass == clang::Stmt::OMPCriticalDirectiveClass, "");
605static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelForDirectiveClass == clang::Stmt::OMPParallelForDirectiveClass, "");
606static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelForSimdDirectiveClass == clang::Stmt::OMPParallelForSimdDirectiveClass, "");
607static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPParallelSectionsDirectiveClass == clang::Stmt::OMPParallelSectionsDirectiveClass, "");
608static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskDirectiveClass == clang::Stmt::OMPTaskDirectiveClass, "");
609static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskyieldDirectiveClass == clang::Stmt::OMPTaskyieldDirectiveClass, "");
610static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPBarrierDirectiveClass == clang::Stmt::OMPBarrierDirectiveClass, "");
611static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskwaitDirectiveClass == clang::Stmt::OMPTaskwaitDirectiveClass, "");
612static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskgroupDirectiveClass == clang::Stmt::OMPTaskgroupDirectiveClass, "");
613static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPFlushDirectiveClass == clang::Stmt::OMPFlushDirectiveClass, "");
614static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPOrderedDirectiveClass == clang::Stmt::OMPOrderedDirectiveClass, "");
615static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPAtomicDirectiveClass == clang::Stmt::OMPAtomicDirectiveClass, "");
616static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetDirectiveClass == clang::Stmt::OMPTargetDirectiveClass, "");
617static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetDataDirectiveClass == clang::Stmt::OMPTargetDataDirectiveClass, "");
618static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetEnterDataDirectiveClass == clang::Stmt::OMPTargetEnterDataDirectiveClass, "");
619static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetExitDataDirectiveClass == clang::Stmt::OMPTargetExitDataDirectiveClass, "");
620static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelDirectiveClass == clang::Stmt::OMPTargetParallelDirectiveClass, "");
621static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelForDirectiveClass == clang::Stmt::OMPTargetParallelForDirectiveClass, "");
622static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetUpdateDirectiveClass == clang::Stmt::OMPTargetUpdateDirectiveClass, "");
623static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDirectiveClass == clang::Stmt::OMPTeamsDirectiveClass, "");
624static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirectiveClass == clang::Stmt::OMPCancellationPointDirectiveClass, "");
625static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancelDirectiveClass == clang::Stmt::OMPCancelDirectiveClass, "");
626static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskLoopDirectiveClass == clang::Stmt::OMPTaskLoopDirectiveClass, "");
627static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTaskLoopSimdDirectiveClass == clang::Stmt::OMPTaskLoopSimdDirectiveClass, "");
628static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeDirectiveClass == clang::Stmt::OMPDistributeDirectiveClass, "");
629static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForDirectiveClass == clang::Stmt::OMPDistributeParallelForDirectiveClass, "");
630static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPDistributeParallelForSimdDirectiveClass, "");
631static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeSimdDirectiveClass == clang::Stmt::OMPDistributeSimdDirectiveClass, "");
632static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetParallelForSimdDirectiveClass == clang::Stmt::OMPTargetParallelForSimdDirectiveClass, "");
633static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetSimdDirectiveClass == clang::Stmt::OMPTargetSimdDirectiveClass, "");
634static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeDirectiveClass == clang::Stmt::OMPTeamsDistributeDirectiveClass, "");
635static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeSimdDirectiveClass, "");
636static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass, "");
637static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass == clang::Stmt::OMPTeamsDistributeParallelForDirectiveClass, "");
638static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDirectiveClass == clang::Stmt::OMPTargetTeamsDirectiveClass, "");
639static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeDirectiveClass, "");
640static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeParallelForDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass, "");
641static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeParallelForSimdDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass, "");
642static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPTargetTeamsDistributeSimdDirectiveClass == clang::Stmt::OMPTargetTeamsDistributeSimdDirectiveClass, "");
643
241644
242645static_assert(sizeof(ZigClangSourceLocation) == sizeof(clang::SourceLocation), "");
243646static ZigClangSourceLocation bitcast(clang::SourceLocation src) {
src/zig_clang.h+200
......@@ -200,6 +200,206 @@ enum ZigClangTypeClass {
200200 ZigClangType_Atomic,
201201};
202202
203enum ZigClangStmtClass {
204 ZigClangStmt_NoStmtClass = 0,
205 ZigClangStmt_GCCAsmStmtClass,
206 ZigClangStmt_MSAsmStmtClass,
207 ZigClangStmt_AttributedStmtClass,
208 ZigClangStmt_BreakStmtClass,
209 ZigClangStmt_CXXCatchStmtClass,
210 ZigClangStmt_CXXForRangeStmtClass,
211 ZigClangStmt_CXXTryStmtClass,
212 ZigClangStmt_CapturedStmtClass,
213 ZigClangStmt_CompoundStmtClass,
214 ZigClangStmt_ContinueStmtClass,
215 ZigClangStmt_CoreturnStmtClass,
216 ZigClangStmt_CoroutineBodyStmtClass,
217 ZigClangStmt_DeclStmtClass,
218 ZigClangStmt_DoStmtClass,
219 ZigClangStmt_BinaryConditionalOperatorClass,
220 ZigClangStmt_ConditionalOperatorClass,
221 ZigClangStmt_AddrLabelExprClass,
222 ZigClangStmt_ArrayInitIndexExprClass,
223 ZigClangStmt_ArrayInitLoopExprClass,
224 ZigClangStmt_ArraySubscriptExprClass,
225 ZigClangStmt_ArrayTypeTraitExprClass,
226 ZigClangStmt_AsTypeExprClass,
227 ZigClangStmt_AtomicExprClass,
228 ZigClangStmt_BinaryOperatorClass,
229 ZigClangStmt_CompoundAssignOperatorClass,
230 ZigClangStmt_BlockExprClass,
231 ZigClangStmt_CXXBindTemporaryExprClass,
232 ZigClangStmt_CXXBoolLiteralExprClass,
233 ZigClangStmt_CXXConstructExprClass,
234 ZigClangStmt_CXXTemporaryObjectExprClass,
235 ZigClangStmt_CXXDefaultArgExprClass,
236 ZigClangStmt_CXXDefaultInitExprClass,
237 ZigClangStmt_CXXDeleteExprClass,
238 ZigClangStmt_CXXDependentScopeMemberExprClass,
239 ZigClangStmt_CXXFoldExprClass,
240 ZigClangStmt_CXXInheritedCtorInitExprClass,
241 ZigClangStmt_CXXNewExprClass,
242 ZigClangStmt_CXXNoexceptExprClass,
243 ZigClangStmt_CXXNullPtrLiteralExprClass,
244 ZigClangStmt_CXXPseudoDestructorExprClass,
245 ZigClangStmt_CXXScalarValueInitExprClass,
246 ZigClangStmt_CXXStdInitializerListExprClass,
247 ZigClangStmt_CXXThisExprClass,
248 ZigClangStmt_CXXThrowExprClass,
249 ZigClangStmt_CXXTypeidExprClass,
250 ZigClangStmt_CXXUnresolvedConstructExprClass,
251 ZigClangStmt_CXXUuidofExprClass,
252 ZigClangStmt_CallExprClass,
253 ZigClangStmt_CUDAKernelCallExprClass,
254 ZigClangStmt_CXXMemberCallExprClass,
255 ZigClangStmt_CXXOperatorCallExprClass,
256 ZigClangStmt_UserDefinedLiteralClass,
257 ZigClangStmt_CStyleCastExprClass,
258 ZigClangStmt_CXXFunctionalCastExprClass,
259 ZigClangStmt_CXXConstCastExprClass,
260 ZigClangStmt_CXXDynamicCastExprClass,
261 ZigClangStmt_CXXReinterpretCastExprClass,
262 ZigClangStmt_CXXStaticCastExprClass,
263 ZigClangStmt_ObjCBridgedCastExprClass,
264 ZigClangStmt_ImplicitCastExprClass,
265 ZigClangStmt_CharacterLiteralClass,
266 ZigClangStmt_ChooseExprClass,
267 ZigClangStmt_CompoundLiteralExprClass,
268 ZigClangStmt_ConvertVectorExprClass,
269 ZigClangStmt_CoawaitExprClass,
270 ZigClangStmt_CoyieldExprClass,
271 ZigClangStmt_DeclRefExprClass,
272 ZigClangStmt_DependentCoawaitExprClass,
273 ZigClangStmt_DependentScopeDeclRefExprClass,
274 ZigClangStmt_DesignatedInitExprClass,
275 ZigClangStmt_DesignatedInitUpdateExprClass,
276 ZigClangStmt_ExpressionTraitExprClass,
277 ZigClangStmt_ExtVectorElementExprClass,
278 ZigClangStmt_FixedPointLiteralClass,
279 ZigClangStmt_FloatingLiteralClass,
280 ZigClangStmt_ConstantExprClass,
281 ZigClangStmt_ExprWithCleanupsClass,
282 ZigClangStmt_FunctionParmPackExprClass,
283 ZigClangStmt_GNUNullExprClass,
284 ZigClangStmt_GenericSelectionExprClass,
285 ZigClangStmt_ImaginaryLiteralClass,
286 ZigClangStmt_ImplicitValueInitExprClass,
287 ZigClangStmt_InitListExprClass,
288 ZigClangStmt_IntegerLiteralClass,
289 ZigClangStmt_LambdaExprClass,
290 ZigClangStmt_MSPropertyRefExprClass,
291 ZigClangStmt_MSPropertySubscriptExprClass,
292 ZigClangStmt_MaterializeTemporaryExprClass,
293 ZigClangStmt_MemberExprClass,
294 ZigClangStmt_NoInitExprClass,
295 ZigClangStmt_OMPArraySectionExprClass,
296 ZigClangStmt_ObjCArrayLiteralClass,
297 ZigClangStmt_ObjCAvailabilityCheckExprClass,
298 ZigClangStmt_ObjCBoolLiteralExprClass,
299 ZigClangStmt_ObjCBoxedExprClass,
300 ZigClangStmt_ObjCDictionaryLiteralClass,
301 ZigClangStmt_ObjCEncodeExprClass,
302 ZigClangStmt_ObjCIndirectCopyRestoreExprClass,
303 ZigClangStmt_ObjCIsaExprClass,
304 ZigClangStmt_ObjCIvarRefExprClass,
305 ZigClangStmt_ObjCMessageExprClass,
306 ZigClangStmt_ObjCPropertyRefExprClass,
307 ZigClangStmt_ObjCProtocolExprClass,
308 ZigClangStmt_ObjCSelectorExprClass,
309 ZigClangStmt_ObjCStringLiteralClass,
310 ZigClangStmt_ObjCSubscriptRefExprClass,
311 ZigClangStmt_OffsetOfExprClass,
312 ZigClangStmt_OpaqueValueExprClass,
313 ZigClangStmt_UnresolvedLookupExprClass,
314 ZigClangStmt_UnresolvedMemberExprClass,
315 ZigClangStmt_PackExpansionExprClass,
316 ZigClangStmt_ParenExprClass,
317 ZigClangStmt_ParenListExprClass,
318 ZigClangStmt_PredefinedExprClass,
319 ZigClangStmt_PseudoObjectExprClass,
320 ZigClangStmt_ShuffleVectorExprClass,
321 ZigClangStmt_SizeOfPackExprClass,
322 ZigClangStmt_StmtExprClass,
323 ZigClangStmt_StringLiteralClass,
324 ZigClangStmt_SubstNonTypeTemplateParmExprClass,
325 ZigClangStmt_SubstNonTypeTemplateParmPackExprClass,
326 ZigClangStmt_TypeTraitExprClass,
327 ZigClangStmt_TypoExprClass,
328 ZigClangStmt_UnaryExprOrTypeTraitExprClass,
329 ZigClangStmt_UnaryOperatorClass,
330 ZigClangStmt_VAArgExprClass,
331 ZigClangStmt_ForStmtClass,
332 ZigClangStmt_GotoStmtClass,
333 ZigClangStmt_IfStmtClass,
334 ZigClangStmt_IndirectGotoStmtClass,
335 ZigClangStmt_LabelStmtClass,
336 ZigClangStmt_MSDependentExistsStmtClass,
337 ZigClangStmt_NullStmtClass,
338 ZigClangStmt_OMPAtomicDirectiveClass,
339 ZigClangStmt_OMPBarrierDirectiveClass,
340 ZigClangStmt_OMPCancelDirectiveClass,
341 ZigClangStmt_OMPCancellationPointDirectiveClass,
342 ZigClangStmt_OMPCriticalDirectiveClass,
343 ZigClangStmt_OMPFlushDirectiveClass,
344 ZigClangStmt_OMPDistributeDirectiveClass,
345 ZigClangStmt_OMPDistributeParallelForDirectiveClass,
346 ZigClangStmt_OMPDistributeParallelForSimdDirectiveClass,
347 ZigClangStmt_OMPDistributeSimdDirectiveClass,
348 ZigClangStmt_OMPForDirectiveClass,
349 ZigClangStmt_OMPForSimdDirectiveClass,
350 ZigClangStmt_OMPParallelForDirectiveClass,
351 ZigClangStmt_OMPParallelForSimdDirectiveClass,
352 ZigClangStmt_OMPSimdDirectiveClass,
353 ZigClangStmt_OMPTargetParallelForSimdDirectiveClass,
354 ZigClangStmt_OMPTargetSimdDirectiveClass,
355 ZigClangStmt_OMPTargetTeamsDistributeDirectiveClass,
356 ZigClangStmt_OMPTargetTeamsDistributeParallelForDirectiveClass,
357 ZigClangStmt_OMPTargetTeamsDistributeParallelForSimdDirectiveClass,
358 ZigClangStmt_OMPTargetTeamsDistributeSimdDirectiveClass,
359 ZigClangStmt_OMPTaskLoopDirectiveClass,
360 ZigClangStmt_OMPTaskLoopSimdDirectiveClass,
361 ZigClangStmt_OMPTeamsDistributeDirectiveClass,
362 ZigClangStmt_OMPTeamsDistributeParallelForDirectiveClass,
363 ZigClangStmt_OMPTeamsDistributeParallelForSimdDirectiveClass,
364 ZigClangStmt_OMPTeamsDistributeSimdDirectiveClass,
365 ZigClangStmt_OMPMasterDirectiveClass,
366 ZigClangStmt_OMPOrderedDirectiveClass,
367 ZigClangStmt_OMPParallelDirectiveClass,
368 ZigClangStmt_OMPParallelSectionsDirectiveClass,
369 ZigClangStmt_OMPSectionDirectiveClass,
370 ZigClangStmt_OMPSectionsDirectiveClass,
371 ZigClangStmt_OMPSingleDirectiveClass,
372 ZigClangStmt_OMPTargetDataDirectiveClass,
373 ZigClangStmt_OMPTargetDirectiveClass,
374 ZigClangStmt_OMPTargetEnterDataDirectiveClass,
375 ZigClangStmt_OMPTargetExitDataDirectiveClass,
376 ZigClangStmt_OMPTargetParallelDirectiveClass,
377 ZigClangStmt_OMPTargetParallelForDirectiveClass,
378 ZigClangStmt_OMPTargetTeamsDirectiveClass,
379 ZigClangStmt_OMPTargetUpdateDirectiveClass,
380 ZigClangStmt_OMPTaskDirectiveClass,
381 ZigClangStmt_OMPTaskgroupDirectiveClass,
382 ZigClangStmt_OMPTaskwaitDirectiveClass,
383 ZigClangStmt_OMPTaskyieldDirectiveClass,
384 ZigClangStmt_OMPTeamsDirectiveClass,
385 ZigClangStmt_ObjCAtCatchStmtClass,
386 ZigClangStmt_ObjCAtFinallyStmtClass,
387 ZigClangStmt_ObjCAtSynchronizedStmtClass,
388 ZigClangStmt_ObjCAtThrowStmtClass,
389 ZigClangStmt_ObjCAtTryStmtClass,
390 ZigClangStmt_ObjCAutoreleasePoolStmtClass,
391 ZigClangStmt_ObjCForCollectionStmtClass,
392 ZigClangStmt_ReturnStmtClass,
393 ZigClangStmt_SEHExceptStmtClass,
394 ZigClangStmt_SEHFinallyStmtClass,
395 ZigClangStmt_SEHLeaveStmtClass,
396 ZigClangStmt_SEHTryStmtClass,
397 ZigClangStmt_CaseStmtClass,
398 ZigClangStmt_DefaultStmtClass,
399 ZigClangStmt_SwitchStmtClass,
400 ZigClangStmt_WhileStmtClass,
401};
402
203403//struct ZigClangCC_AAPCS;
204404//struct ZigClangCC_AAPCS_VFP;
205405//struct ZigClangCC_C;