authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-11-05 11:17:35-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-11-05 11:17:35-05:00
log5b96cc236c4139c0b8db383ff440366f5276aec8
tree87ed6443d9d0175e414538dd36b1252716ebe8b5
parent197ffe009281ccbfbb86c5e32c3e470a5d98d3a4

update to build against llvm trunk


4 files changed, 352 insertions(+), 325 deletions(-)

src/target.cpp+14-4
......@@ -13,6 +13,8 @@
1313#include <stdio.h>
1414
1515static const ArchType arch_list[] = {
16 {ZigLLVM_arm, ZigLLVM_ARMSubArch_v8_5a},
17 {ZigLLVM_arm, ZigLLVM_ARMSubArch_v8_4a},
1618 {ZigLLVM_arm, ZigLLVM_ARMSubArch_v8_3a},
1719 {ZigLLVM_arm, ZigLLVM_ARMSubArch_v8_2a},
1820 {ZigLLVM_arm, ZigLLVM_ARMSubArch_v8_1a},
......@@ -34,6 +36,8 @@ static const ArchType arch_list[] = {
3436 {ZigLLVM_arm, ZigLLVM_ARMSubArch_v5te},
3537 {ZigLLVM_arm, ZigLLVM_ARMSubArch_v4t},
3638
39 {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8_5a},
40 {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8_4a},
3741 {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8_3a},
3842 {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8_2a},
3943 {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v8_1a},
......@@ -55,6 +59,8 @@ static const ArchType arch_list[] = {
5559 {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v5te},
5660 {ZigLLVM_armeb, ZigLLVM_ARMSubArch_v4t},
5761
62 {ZigLLVM_aarch64, ZigLLVM_ARMSubArch_v8_5a},
63 {ZigLLVM_aarch64, ZigLLVM_ARMSubArch_v8_4a},
5864 {ZigLLVM_aarch64, ZigLLVM_ARMSubArch_v8_3a},
5965 {ZigLLVM_aarch64, ZigLLVM_ARMSubArch_v8_2a},
6066 {ZigLLVM_aarch64, ZigLLVM_ARMSubArch_v8_1a},
......@@ -63,6 +69,8 @@ static const ArchType arch_list[] = {
6369 {ZigLLVM_aarch64, ZigLLVM_ARMSubArch_v8m_baseline},
6470 {ZigLLVM_aarch64, ZigLLVM_ARMSubArch_v8m_mainline},
6571
72 {ZigLLVM_aarch64_be, ZigLLVM_ARMSubArch_v8_5a},
73 {ZigLLVM_aarch64_be, ZigLLVM_ARMSubArch_v8_4a},
6674 {ZigLLVM_aarch64_be, ZigLLVM_ARMSubArch_v8_3a},
6775 {ZigLLVM_aarch64_be, ZigLLVM_ARMSubArch_v8_2a},
6876 {ZigLLVM_aarch64_be, ZigLLVM_ARMSubArch_v8_1a},
......@@ -76,10 +84,12 @@ static const ArchType arch_list[] = {
7684 {ZigLLVM_bpfel, ZigLLVM_NoSubArch},
7785 {ZigLLVM_bpfeb, ZigLLVM_NoSubArch},
7886 {ZigLLVM_hexagon, ZigLLVM_NoSubArch},
79 {ZigLLVM_mips, ZigLLVM_NoSubArch},
80 {ZigLLVM_mipsel, ZigLLVM_NoSubArch},
81 {ZigLLVM_mips64, ZigLLVM_NoSubArch},
82 {ZigLLVM_mips64el, ZigLLVM_NoSubArch},
87
88 {ZigLLVM_mips, ZigLLVM_MipsSubArch_r6},
89 {ZigLLVM_mipsel, ZigLLVM_MipsSubArch_r6},
90 {ZigLLVM_mips64, ZigLLVM_MipsSubArch_r6},
91 {ZigLLVM_mips64el, ZigLLVM_MipsSubArch_r6},
92
8393 {ZigLLVM_msp430, ZigLLVM_NoSubArch},
8494 {ZigLLVM_nios2, ZigLLVM_NoSubArch},
8595 {ZigLLVM_ppc, ZigLLVM_NoSubArch},
src/translate_c.cpp+330-321
......@@ -509,7 +509,7 @@ static QualType get_expr_qual_type_before_implicit_cast(Context *c, const Expr *
509509}
510510
511511static AstNode *get_expr_type(Context *c, const Expr *expr) {
512 return trans_qual_type(c, get_expr_qual_type(c, expr), expr->getLocStart());
512 return trans_qual_type(c, get_expr_qual_type(c, expr), expr->getBeginLoc());
513513}
514514
515515static bool qual_types_equal(QualType t1, QualType t2) {
......@@ -1203,7 +1203,7 @@ static AstNode *trans_return_stmt(Context *c, TransScope *scope, const ReturnStm
12031203static AstNode *trans_integer_literal(Context *c, const IntegerLiteral *stmt) {
12041204 llvm::APSInt result;
12051205 if (!stmt->EvaluateAsInt(result, *c->ctx)) {
1206 emit_warning(c, stmt->getLocStart(), "invalid integer literal");
1206 emit_warning(c, stmt->getBeginLoc(), "invalid integer literal");
12071207 return nullptr;
12081208 }
12091209 return trans_create_node_apint(c, result);
......@@ -1318,7 +1318,7 @@ static AstNode *trans_create_assign(Context *c, ResultUsed result_used, TransSco
13181318static AstNode *trans_create_shift_op(Context *c, TransScope *scope, QualType result_type,
13191319 Expr *lhs_expr, BinOpType bin_op, Expr *rhs_expr)
13201320{
1321 const SourceLocation &rhs_location = rhs_expr->getLocStart();
1321 const SourceLocation &rhs_location = rhs_expr->getBeginLoc();
13221322 AstNode *rhs_type = qual_type_to_log2_int_ref(c, result_type, rhs_location);
13231323 // lhs >> u5(rh)
13241324
......@@ -1335,13 +1335,13 @@ static AstNode *trans_create_shift_op(Context *c, TransScope *scope, QualType re
13351335static AstNode *trans_binary_operator(Context *c, ResultUsed result_used, TransScope *scope, const BinaryOperator *stmt) {
13361336 switch (stmt->getOpcode()) {
13371337 case BO_PtrMemD:
1338 emit_warning(c, stmt->getLocStart(), "TODO handle more C binary operators: BO_PtrMemD");
1338 emit_warning(c, stmt->getBeginLoc(), "TODO handle more C binary operators: BO_PtrMemD");
13391339 return nullptr;
13401340 case BO_PtrMemI:
1341 emit_warning(c, stmt->getLocStart(), "TODO handle more C binary operators: BO_PtrMemI");
1341 emit_warning(c, stmt->getBeginLoc(), "TODO handle more C binary operators: BO_PtrMemI");
13421342 return nullptr;
13431343 case BO_Cmp:
1344 emit_warning(c, stmt->getLocStart(), "TODO handle more C binary operators: BO_Cmp");
1344 emit_warning(c, stmt->getBeginLoc(), "TODO handle more C binary operators: BO_Cmp");
13451345 return nullptr;
13461346 case BO_Mul:
13471347 return trans_create_bin_op(c, scope, stmt->getLHS(),
......@@ -1449,7 +1449,7 @@ static AstNode *trans_binary_operator(Context *c, ResultUsed result_used, TransS
14491449static AstNode *trans_create_compound_assign_shift(Context *c, ResultUsed result_used, TransScope *scope,
14501450 const CompoundAssignOperator *stmt, BinOpType assign_op, BinOpType bin_op)
14511451{
1452 const SourceLocation &rhs_location = stmt->getRHS()->getLocStart();
1452 const SourceLocation &rhs_location = stmt->getRHS()->getBeginLoc();
14531453 AstNode *rhs_type = qual_type_to_log2_int_ref(c, stmt->getComputationLHSType(), rhs_location);
14541454
14551455 bool use_intermediate_casts = stmt->getComputationLHSType().getTypePtr() != stmt->getComputationResultType().getTypePtr();
......@@ -1598,13 +1598,13 @@ static AstNode *trans_compound_assign_operator(Context *c, ResultUsed result_use
15981598 else
15991599 return trans_create_compound_assign(c, result_used, scope, stmt, BinOpTypeAssignTimes, BinOpTypeMult);
16001600 case BO_DivAssign:
1601 emit_warning(c, stmt->getLocStart(), "TODO handle more C compound assign operators: BO_DivAssign");
1601 emit_warning(c, stmt->getBeginLoc(), "TODO handle more C compound assign operators: BO_DivAssign");
16021602 return nullptr;
16031603 case BO_RemAssign:
1604 emit_warning(c, stmt->getLocStart(), "TODO handle more C compound assign operators: BO_RemAssign");
1604 emit_warning(c, stmt->getBeginLoc(), "TODO handle more C compound assign operators: BO_RemAssign");
16051605 return nullptr;
16061606 case BO_Cmp:
1607 emit_warning(c, stmt->getLocStart(), "TODO handle more C compound assign operators: BO_Cmp");
1607 emit_warning(c, stmt->getBeginLoc(), "TODO handle more C compound assign operators: BO_Cmp");
16081608 return nullptr;
16091609 case BO_AddAssign:
16101610 if (qual_type_has_wrapping_overflow(c, stmt->getType()))
......@@ -1694,160 +1694,163 @@ static AstNode *trans_implicit_cast_expr(Context *c, TransScope *scope, const Im
16941694 case CK_NullToPointer:
16951695 return trans_create_node(c, NodeTypeNullLiteral);
16961696 case CK_Dependent:
1697 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_Dependent");
1697 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_Dependent");
16981698 return nullptr;
16991699 case CK_LValueBitCast:
1700 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_LValueBitCast");
1700 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_LValueBitCast");
17011701 return nullptr;
17021702 case CK_NoOp:
1703 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_NoOp");
1703 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_NoOp");
17041704 return nullptr;
17051705 case CK_BaseToDerived:
1706 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_BaseToDerived");
1706 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_BaseToDerived");
17071707 return nullptr;
17081708 case CK_DerivedToBase:
1709 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_DerivedToBase");
1709 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_DerivedToBase");
17101710 return nullptr;
17111711 case CK_UncheckedDerivedToBase:
1712 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_UncheckedDerivedToBase");
1712 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_UncheckedDerivedToBase");
17131713 return nullptr;
17141714 case CK_Dynamic:
1715 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_Dynamic");
1715 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_Dynamic");
17161716 return nullptr;
17171717 case CK_ToUnion:
1718 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ToUnion");
1718 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ToUnion");
17191719 return nullptr;
17201720 case CK_NullToMemberPointer:
1721 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_NullToMemberPointer");
1721 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_NullToMemberPointer");
17221722 return nullptr;
17231723 case CK_BaseToDerivedMemberPointer:
1724 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_BaseToDerivedMemberPointer");
1724 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_BaseToDerivedMemberPointer");
17251725 return nullptr;
17261726 case CK_DerivedToBaseMemberPointer:
1727 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_DerivedToBaseMemberPointer");
1727 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_DerivedToBaseMemberPointer");
17281728 return nullptr;
17291729 case CK_MemberPointerToBoolean:
1730 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_MemberPointerToBoolean");
1730 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_MemberPointerToBoolean");
17311731 return nullptr;
17321732 case CK_ReinterpretMemberPointer:
1733 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ReinterpretMemberPointer");
1733 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ReinterpretMemberPointer");
17341734 return nullptr;
17351735 case CK_UserDefinedConversion:
1736 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_UserDefinedConversion");
1736 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_UserDefinedConversion");
17371737 return nullptr;
17381738 case CK_ConstructorConversion:
1739 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ConstructorConversion");
1739 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ConstructorConversion");
17401740 return nullptr;
17411741 case CK_IntegralToPointer:
1742 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_IntegralToPointer");
1742 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_IntegralToPointer");
17431743 return nullptr;
17441744 case CK_PointerToIntegral:
1745 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_PointerToIntegral");
1745 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_PointerToIntegral");
17461746 return nullptr;
17471747 case CK_PointerToBoolean:
1748 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_PointerToBoolean");
1748 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_PointerToBoolean");
17491749 return nullptr;
17501750 case CK_ToVoid:
1751 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ToVoid");
1751 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ToVoid");
17521752 return nullptr;
17531753 case CK_VectorSplat:
1754 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_VectorSplat");
1754 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_VectorSplat");
17551755 return nullptr;
17561756 case CK_IntegralToBoolean:
1757 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_IntegralToBoolean");
1757 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_IntegralToBoolean");
17581758 return nullptr;
17591759 case CK_IntegralToFloating:
1760 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_IntegralToFloating");
1760 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_IntegralToFloating");
17611761 return nullptr;
17621762 case CK_FloatingToIntegral:
1763 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_FloatingToIntegral");
1763 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FloatingToIntegral");
17641764 return nullptr;
17651765 case CK_FloatingToBoolean:
1766 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_FloatingToBoolean");
1766 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FloatingToBoolean");
17671767 return nullptr;
17681768 case CK_BooleanToSignedIntegral:
1769 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_BooleanToSignedIntegral");
1769 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_BooleanToSignedIntegral");
17701770 return nullptr;
17711771 case CK_FloatingCast:
1772 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_FloatingCast");
1772 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FloatingCast");
17731773 return nullptr;
17741774 case CK_CPointerToObjCPointerCast:
1775 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_CPointerToObjCPointerCast");
1775 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_CPointerToObjCPointerCast");
17761776 return nullptr;
17771777 case CK_BlockPointerToObjCPointerCast:
1778 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_BlockPointerToObjCPointerCast");
1778 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_BlockPointerToObjCPointerCast");
17791779 return nullptr;
17801780 case CK_AnyPointerToBlockPointerCast:
1781 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_AnyPointerToBlockPointerCast");
1781 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_AnyPointerToBlockPointerCast");
17821782 return nullptr;
17831783 case CK_ObjCObjectLValueCast:
1784 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ObjCObjectLValueCast");
1784 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ObjCObjectLValueCast");
17851785 return nullptr;
17861786 case CK_FloatingRealToComplex:
1787 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_FloatingRealToComplex");
1787 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FloatingRealToComplex");
17881788 return nullptr;
17891789 case CK_FloatingComplexToReal:
1790 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_FloatingComplexToReal");
1790 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FloatingComplexToReal");
17911791 return nullptr;
17921792 case CK_FloatingComplexToBoolean:
1793 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_FloatingComplexToBoolean");
1793 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FloatingComplexToBoolean");
17941794 return nullptr;
17951795 case CK_FloatingComplexCast:
1796 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_FloatingComplexCast");
1796 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FloatingComplexCast");
17971797 return nullptr;
17981798 case CK_FloatingComplexToIntegralComplex:
1799 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_FloatingComplexToIntegralComplex");
1799 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FloatingComplexToIntegralComplex");
18001800 return nullptr;
18011801 case CK_IntegralRealToComplex:
1802 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_IntegralRealToComplex");
1802 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_IntegralRealToComplex");
18031803 return nullptr;
18041804 case CK_IntegralComplexToReal:
1805 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_IntegralComplexToReal");
1805 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_IntegralComplexToReal");
18061806 return nullptr;
18071807 case CK_IntegralComplexToBoolean:
1808 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_IntegralComplexToBoolean");
1808 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_IntegralComplexToBoolean");
18091809 return nullptr;
18101810 case CK_IntegralComplexCast:
1811 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_IntegralComplexCast");
1811 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_IntegralComplexCast");
18121812 return nullptr;
18131813 case CK_IntegralComplexToFloatingComplex:
1814 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_IntegralComplexToFloatingComplex");
1814 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_IntegralComplexToFloatingComplex");
18151815 return nullptr;
18161816 case CK_ARCProduceObject:
1817 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ARCProduceObject");
1817 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ARCProduceObject");
18181818 return nullptr;
18191819 case CK_ARCConsumeObject:
1820 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ARCConsumeObject");
1820 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ARCConsumeObject");
18211821 return nullptr;
18221822 case CK_ARCReclaimReturnedObject:
1823 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ARCReclaimReturnedObject");
1823 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ARCReclaimReturnedObject");
18241824 return nullptr;
18251825 case CK_ARCExtendBlockObject:
1826 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ARCExtendBlockObject");
1826 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ARCExtendBlockObject");
18271827 return nullptr;
18281828 case CK_AtomicToNonAtomic:
1829 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_AtomicToNonAtomic");
1829 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_AtomicToNonAtomic");
18301830 return nullptr;
18311831 case CK_NonAtomicToAtomic:
1832 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_NonAtomicToAtomic");
1832 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_NonAtomicToAtomic");
18331833 return nullptr;
18341834 case CK_CopyAndAutoreleaseBlockObject:
1835 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_CopyAndAutoreleaseBlockObject");
1835 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_CopyAndAutoreleaseBlockObject");
18361836 return nullptr;
18371837 case CK_BuiltinFnToFnPtr:
1838 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_BuiltinFnToFnPtr");
1839 return nullptr;
1840 case CK_ZeroToOCLEvent:
1841 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ZeroToOCLEvent");
1842 return nullptr;
1843 case CK_ZeroToOCLQueue:
1844 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_ZeroToOCLQueue");
1838 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_BuiltinFnToFnPtr");
18451839 return nullptr;
18461840 case CK_AddressSpaceConversion:
1847 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_AddressSpaceConversion");
1841 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_AddressSpaceConversion");
18481842 return nullptr;
18491843 case CK_IntToOCLSampler:
1850 emit_warning(c, stmt->getLocStart(), "TODO handle C translation cast CK_IntToOCLSampler");
1844 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_IntToOCLSampler");
1845 return nullptr;
1846 case CK_FixedPointCast:
1847 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FixedPointCast");
1848 return nullptr;
1849 case CK_FixedPointToBoolean:
1850 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_FixedPointToBoolean");
1851 return nullptr;
1852 case CK_ZeroToOCLOpaqueType:
1853 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_ZeroToOCLOpaqueType");
18511854 return nullptr;
18521855 }
18531856 zig_unreachable();
......@@ -2010,7 +2013,7 @@ static AstNode *trans_unary_operator(Context *c, ResultUsed result_used, TransSc
20102013 return trans_create_node_ptr_deref(c, unwrapped);
20112014 }
20122015 case UO_Plus:
2013 emit_warning(c, stmt->getLocStart(), "TODO handle C translation UO_Plus");
2016 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation UO_Plus");
20142017 return nullptr;
20152018 case UO_Minus:
20162019 {
......@@ -2036,7 +2039,7 @@ static AstNode *trans_unary_operator(Context *c, ResultUsed result_used, TransSc
20362039 node->data.bin_op_expr.bin_op = BinOpTypeSubWrap;
20372040 return node;
20382041 } else {
2039 emit_warning(c, stmt->getLocStart(), "C negation with non float non integer");
2042 emit_warning(c, stmt->getBeginLoc(), "C negation with non float non integer");
20402043 return nullptr;
20412044 }
20422045 }
......@@ -2059,16 +2062,16 @@ static AstNode *trans_unary_operator(Context *c, ResultUsed result_used, TransSc
20592062 return trans_create_node_prefix_op(c, PrefixOpBoolNot, sub_node);
20602063 }
20612064 case UO_Real:
2062 emit_warning(c, stmt->getLocStart(), "TODO handle C translation UO_Real");
2065 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation UO_Real");
20632066 return nullptr;
20642067 case UO_Imag:
2065 emit_warning(c, stmt->getLocStart(), "TODO handle C translation UO_Imag");
2068 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation UO_Imag");
20662069 return nullptr;
20672070 case UO_Extension:
2068 emit_warning(c, stmt->getLocStart(), "TODO handle C translation UO_Extension");
2071 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation UO_Extension");
20692072 return nullptr;
20702073 case UO_Coawait:
2071 emit_warning(c, stmt->getLocStart(), "TODO handle C translation UO_Coawait");
2074 emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation UO_Coawait");
20722075 return nullptr;
20732076 }
20742077 zig_unreachable();
......@@ -2098,7 +2101,7 @@ static int trans_local_declaration(Context *c, TransScope *scope, const DeclStmt
20982101 } else {
20992102 init_node = trans_create_node(c, NodeTypeUndefinedLiteral);
21002103 }
2101 AstNode *type_node = trans_qual_type(c, qual_type, stmt->getLocStart());
2104 AstNode *type_node = trans_qual_type(c, qual_type, stmt->getBeginLoc());
21022105 if (type_node == nullptr)
21032106 return ErrorUnexpected;
21042107
......@@ -2114,220 +2117,223 @@ static int trans_local_declaration(Context *c, TransScope *scope, const DeclStmt
21142117 continue;
21152118 }
21162119 case Decl::AccessSpec:
2117 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind AccessSpec");
2120 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind AccessSpec");
21182121 return ErrorUnexpected;
21192122 case Decl::Block:
2120 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Block");
2123 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Block");
21212124 return ErrorUnexpected;
21222125 case Decl::Captured:
2123 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Captured");
2126 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Captured");
21242127 return ErrorUnexpected;
21252128 case Decl::ClassScopeFunctionSpecialization:
2126 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ClassScopeFunctionSpecialization");
2129 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ClassScopeFunctionSpecialization");
21272130 return ErrorUnexpected;
21282131 case Decl::Empty:
2129 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Empty");
2132 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Empty");
21302133 return ErrorUnexpected;
21312134 case Decl::Export:
2132 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Export");
2135 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Export");
21332136 return ErrorUnexpected;
21342137 case Decl::ExternCContext:
2135 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ExternCContext");
2138 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ExternCContext");
21362139 return ErrorUnexpected;
21372140 case Decl::FileScopeAsm:
2138 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind FileScopeAsm");
2141 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind FileScopeAsm");
21392142 return ErrorUnexpected;
21402143 case Decl::Friend:
2141 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Friend");
2144 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Friend");
21422145 return ErrorUnexpected;
21432146 case Decl::FriendTemplate:
2144 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind FriendTemplate");
2147 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind FriendTemplate");
21452148 return ErrorUnexpected;
21462149 case Decl::Import:
2147 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Import");
2150 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Import");
21482151 return ErrorUnexpected;
21492152 case Decl::LinkageSpec:
2150 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind LinkageSpec");
2153 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind LinkageSpec");
21512154 return ErrorUnexpected;
21522155 case Decl::Label:
2153 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Label");
2156 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Label");
21542157 return ErrorUnexpected;
21552158 case Decl::Namespace:
2156 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Namespace");
2159 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Namespace");
21572160 return ErrorUnexpected;
21582161 case Decl::NamespaceAlias:
2159 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind NamespaceAlias");
2162 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind NamespaceAlias");
21602163 return ErrorUnexpected;
21612164 case Decl::ObjCCompatibleAlias:
2162 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCCompatibleAlias");
2165 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCCompatibleAlias");
21632166 return ErrorUnexpected;
21642167 case Decl::ObjCCategory:
2165 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCCategory");
2168 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCCategory");
21662169 return ErrorUnexpected;
21672170 case Decl::ObjCCategoryImpl:
2168 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCCategoryImpl");
2171 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCCategoryImpl");
21692172 return ErrorUnexpected;
21702173 case Decl::ObjCImplementation:
2171 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCImplementation");
2174 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCImplementation");
21722175 return ErrorUnexpected;
21732176 case Decl::ObjCInterface:
2174 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCInterface");
2177 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCInterface");
21752178 return ErrorUnexpected;
21762179 case Decl::ObjCProtocol:
2177 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCProtocol");
2180 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCProtocol");
21782181 return ErrorUnexpected;
21792182 case Decl::ObjCMethod:
2180 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCMethod");
2183 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCMethod");
21812184 return ErrorUnexpected;
21822185 case Decl::ObjCProperty:
2183 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCProperty");
2186 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCProperty");
21842187 return ErrorUnexpected;
21852188 case Decl::BuiltinTemplate:
2186 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind BuiltinTemplate");
2189 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind BuiltinTemplate");
21872190 return ErrorUnexpected;
21882191 case Decl::ClassTemplate:
2189 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ClassTemplate");
2192 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ClassTemplate");
21902193 return ErrorUnexpected;
21912194 case Decl::FunctionTemplate:
2192 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind FunctionTemplate");
2195 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind FunctionTemplate");
21932196 return ErrorUnexpected;
21942197 case Decl::TypeAliasTemplate:
2195 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind TypeAliasTemplate");
2198 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind TypeAliasTemplate");
21962199 return ErrorUnexpected;
21972200 case Decl::VarTemplate:
2198 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind VarTemplate");
2201 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind VarTemplate");
21992202 return ErrorUnexpected;
22002203 case Decl::TemplateTemplateParm:
2201 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind TemplateTemplateParm");
2204 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind TemplateTemplateParm");
22022205 return ErrorUnexpected;
22032206 case Decl::Enum:
2204 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Enum");
2207 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Enum");
22052208 return ErrorUnexpected;
22062209 case Decl::Record:
2207 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Record");
2210 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Record");
22082211 return ErrorUnexpected;
22092212 case Decl::CXXRecord:
2210 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind CXXRecord");
2213 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind CXXRecord");
22112214 return ErrorUnexpected;
22122215 case Decl::ClassTemplateSpecialization:
2213 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ClassTemplateSpecialization");
2216 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ClassTemplateSpecialization");
22142217 return ErrorUnexpected;
22152218 case Decl::ClassTemplatePartialSpecialization:
2216 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ClassTemplatePartialSpecialization");
2219 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ClassTemplatePartialSpecialization");
22172220 return ErrorUnexpected;
22182221 case Decl::TemplateTypeParm:
2219 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind TemplateTypeParm");
2222 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind TemplateTypeParm");
22202223 return ErrorUnexpected;
22212224 case Decl::ObjCTypeParam:
2222 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCTypeParam");
2225 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCTypeParam");
22232226 return ErrorUnexpected;
22242227 case Decl::TypeAlias:
2225 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind TypeAlias");
2228 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind TypeAlias");
22262229 return ErrorUnexpected;
22272230 case Decl::Typedef:
2228 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Typedef");
2231 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Typedef");
22292232 return ErrorUnexpected;
22302233 case Decl::UnresolvedUsingTypename:
2231 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind UnresolvedUsingTypename");
2234 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind UnresolvedUsingTypename");
22322235 return ErrorUnexpected;
22332236 case Decl::Using:
2234 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Using");
2237 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Using");
22352238 return ErrorUnexpected;
22362239 case Decl::UsingDirective:
2237 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind UsingDirective");
2240 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind UsingDirective");
22382241 return ErrorUnexpected;
22392242 case Decl::UsingPack:
2240 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind UsingPack");
2243 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind UsingPack");
22412244 return ErrorUnexpected;
22422245 case Decl::UsingShadow:
2243 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind UsingShadow");
2246 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind UsingShadow");
22442247 return ErrorUnexpected;
22452248 case Decl::ConstructorUsingShadow:
2246 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ConstructorUsingShadow");
2249 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ConstructorUsingShadow");
22472250 return ErrorUnexpected;
22482251 case Decl::Binding:
2249 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Binding");
2252 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Binding");
22502253 return ErrorUnexpected;
22512254 case Decl::Field:
2252 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Field");
2255 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Field");
22532256 return ErrorUnexpected;
22542257 case Decl::ObjCAtDefsField:
2255 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCAtDefsField");
2258 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCAtDefsField");
22562259 return ErrorUnexpected;
22572260 case Decl::ObjCIvar:
2258 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCIvar");
2261 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCIvar");
22592262 return ErrorUnexpected;
22602263 case Decl::Function:
2261 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Function");
2264 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Function");
22622265 return ErrorUnexpected;
22632266 case Decl::CXXDeductionGuide:
2264 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind CXXDeductionGuide");
2267 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind CXXDeductionGuide");
22652268 return ErrorUnexpected;
22662269 case Decl::CXXMethod:
2267 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind CXXMethod");
2270 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind CXXMethod");
22682271 return ErrorUnexpected;
22692272 case Decl::CXXConstructor:
2270 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind CXXConstructor");
2273 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind CXXConstructor");
22712274 return ErrorUnexpected;
22722275 case Decl::CXXConversion:
2273 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind CXXConversion");
2276 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind CXXConversion");
22742277 return ErrorUnexpected;
22752278 case Decl::CXXDestructor:
2276 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind CXXDestructor");
2279 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind CXXDestructor");
22772280 return ErrorUnexpected;
22782281 case Decl::MSProperty:
2279 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind MSProperty");
2282 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind MSProperty");
22802283 return ErrorUnexpected;
22812284 case Decl::NonTypeTemplateParm:
2282 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind NonTypeTemplateParm");
2285 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind NonTypeTemplateParm");
22832286 return ErrorUnexpected;
22842287 case Decl::Decomposition:
2285 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind Decomposition");
2288 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind Decomposition");
22862289 return ErrorUnexpected;
22872290 case Decl::ImplicitParam:
2288 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ImplicitParam");
2291 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ImplicitParam");
22892292 return ErrorUnexpected;
22902293 case Decl::OMPCapturedExpr:
2291 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind OMPCapturedExpr");
2294 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind OMPCapturedExpr");
22922295 return ErrorUnexpected;
22932296 case Decl::ParmVar:
2294 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ParmVar");
2297 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ParmVar");
22952298 return ErrorUnexpected;
22962299 case Decl::VarTemplateSpecialization:
2297 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind VarTemplateSpecialization");
2300 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind VarTemplateSpecialization");
22982301 return ErrorUnexpected;
22992302 case Decl::VarTemplatePartialSpecialization:
2300 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind VarTemplatePartialSpecialization");
2303 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind VarTemplatePartialSpecialization");
23012304 return ErrorUnexpected;
23022305 case Decl::EnumConstant:
2303 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind EnumConstant");
2306 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind EnumConstant");
23042307 return ErrorUnexpected;
23052308 case Decl::IndirectField:
2306 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind IndirectField");
2309 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind IndirectField");
23072310 return ErrorUnexpected;
23082311 case Decl::OMPDeclareReduction:
2309 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind OMPDeclareReduction");
2312 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind OMPDeclareReduction");
23102313 return ErrorUnexpected;
23112314 case Decl::UnresolvedUsingValue:
2312 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind UnresolvedUsingValue");
2315 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind UnresolvedUsingValue");
23132316 return ErrorUnexpected;
23142317 case Decl::OMPThreadPrivate:
2315 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind OMPThreadPrivate");
2318 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind OMPThreadPrivate");
23162319 return ErrorUnexpected;
23172320 case Decl::ObjCPropertyImpl:
2318 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind ObjCPropertyImpl");
2321 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind ObjCPropertyImpl");
23192322 return ErrorUnexpected;
23202323 case Decl::PragmaComment:
2321 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind PragmaComment");
2324 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind PragmaComment");
23222325 return ErrorUnexpected;
23232326 case Decl::PragmaDetectMismatch:
2324 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind PragmaDetectMismatch");
2327 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind PragmaDetectMismatch");
23252328 return ErrorUnexpected;
23262329 case Decl::StaticAssert:
2327 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind StaticAssert");
2330 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind StaticAssert");
23282331 return ErrorUnexpected;
23292332 case Decl::TranslationUnit:
2330 emit_warning(c, stmt->getLocStart(), "TODO handle decl kind TranslationUnit");
2333 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind TranslationUnit");
2334 return ErrorUnexpected;
2335 case Decl::OMPRequires:
2336 emit_warning(c, stmt->getBeginLoc(), "TODO handle decl kind OMPRequires");
23312337 return ErrorUnexpected;
23322338 }
23332339 zig_unreachable();
......@@ -2535,7 +2541,7 @@ static AstNode *trans_bool_expr(Context *c, ResultUsed result_used, TransScope *
25352541 const ElaboratedType *elaborated_ty = static_cast<const ElaboratedType*>(ty);
25362542 switch (elaborated_ty->getKeyword()) {
25372543 case ETK_Enum: {
2538 AstNode *enum_type = trans_qual_type(c, elaborated_ty->getNamedType(), expr->getLocStart());
2544 AstNode *enum_type = trans_qual_type(c, elaborated_ty->getNamedType(), expr->getBeginLoc());
25392545 return to_enum_zero_cmp(c, res, enum_type);
25402546 }
25412547 case ETK_Struct:
......@@ -2719,13 +2725,13 @@ static AstNode *trans_c_style_cast_expr(Context *c, ResultUsed result_used, Tran
27192725 if (sub_expr_node == nullptr)
27202726 return nullptr;
27212727
2722 return trans_c_cast(c, stmt->getLocStart(), stmt->getType(), stmt->getSubExpr()->getType(), sub_expr_node);
2728 return trans_c_cast(c, stmt->getBeginLoc(), stmt->getType(), stmt->getSubExpr()->getType(), sub_expr_node);
27232729}
27242730
27252731static AstNode *trans_unary_expr_or_type_trait_expr(Context *c, TransScope *scope,
27262732 const UnaryExprOrTypeTraitExpr *stmt)
27272733{
2728 AstNode *type_node = trans_qual_type(c, stmt->getTypeOfArgument(), stmt->getLocStart());
2734 AstNode *type_node = trans_qual_type(c, stmt->getTypeOfArgument(), stmt->getBeginLoc());
27292735 if (type_node == nullptr)
27302736 return nullptr;
27312737
......@@ -2932,7 +2938,7 @@ static int trans_switch_case(Context *c, TransScope *parent_scope, const CaseStm
29322938 *out_node = nullptr;
29332939
29342940 if (stmt->getRHS() != nullptr) {
2935 emit_warning(c, stmt->getLocStart(), "TODO support GNU switch case a ... b extension");
2941 emit_warning(c, stmt->getBeginLoc(), "TODO support GNU switch case a ... b extension");
29362942 return ErrorUnexpected;
29372943 }
29382944
......@@ -3015,13 +3021,13 @@ static AstNode *trans_string_literal(Context *c, TransScope *scope, const String
30153021 case StringLiteral::UTF8:
30163022 return trans_create_node_str_lit_c(c, string_ref_to_buf(stmt->getString()));
30173023 case StringLiteral::UTF16:
3018 emit_warning(c, stmt->getLocStart(), "TODO support UTF16 string literals");
3024 emit_warning(c, stmt->getBeginLoc(), "TODO support UTF16 string literals");
30193025 return nullptr;
30203026 case StringLiteral::UTF32:
3021 emit_warning(c, stmt->getLocStart(), "TODO support UTF32 string literals");
3027 emit_warning(c, stmt->getBeginLoc(), "TODO support UTF32 string literals");
30223028 return nullptr;
30233029 case StringLiteral::Wide:
3024 emit_warning(c, stmt->getLocStart(), "TODO support wide string literals");
3030 emit_warning(c, stmt->getBeginLoc(), "TODO support wide string literals");
30253031 return nullptr;
30263032 }
30273033 zig_unreachable();
......@@ -3151,511 +3157,514 @@ static int trans_stmt_extra(Context *c, TransScope *scope, const Stmt *stmt,
31513157 case Stmt::DefaultStmtClass:
31523158 return trans_switch_default(c, scope, (const DefaultStmt *)stmt, out_node, out_child_scope);
31533159 case Stmt::NoStmtClass:
3154 emit_warning(c, stmt->getLocStart(), "TODO handle C NoStmtClass");
3160 emit_warning(c, stmt->getBeginLoc(), "TODO handle C NoStmtClass");
31553161 return ErrorUnexpected;
31563162 case Stmt::GCCAsmStmtClass:
3157 emit_warning(c, stmt->getLocStart(), "TODO handle C GCCAsmStmtClass");
3163 emit_warning(c, stmt->getBeginLoc(), "TODO handle C GCCAsmStmtClass");
31583164 return ErrorUnexpected;
31593165 case Stmt::MSAsmStmtClass:
3160 emit_warning(c, stmt->getLocStart(), "TODO handle C MSAsmStmtClass");
3166 emit_warning(c, stmt->getBeginLoc(), "TODO handle C MSAsmStmtClass");
31613167 return ErrorUnexpected;
31623168 case Stmt::AttributedStmtClass:
3163 emit_warning(c, stmt->getLocStart(), "TODO handle C AttributedStmtClass");
3169 emit_warning(c, stmt->getBeginLoc(), "TODO handle C AttributedStmtClass");
31643170 return ErrorUnexpected;
31653171 case Stmt::CXXCatchStmtClass:
3166 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXCatchStmtClass");
3172 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXCatchStmtClass");
31673173 return ErrorUnexpected;
31683174 case Stmt::CXXForRangeStmtClass:
3169 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXForRangeStmtClass");
3175 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXForRangeStmtClass");
31703176 return ErrorUnexpected;
31713177 case Stmt::CXXTryStmtClass:
3172 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXTryStmtClass");
3178 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXTryStmtClass");
31733179 return ErrorUnexpected;
31743180 case Stmt::CapturedStmtClass:
3175 emit_warning(c, stmt->getLocStart(), "TODO handle C CapturedStmtClass");
3181 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CapturedStmtClass");
31763182 return ErrorUnexpected;
31773183 case Stmt::CoreturnStmtClass:
3178 emit_warning(c, stmt->getLocStart(), "TODO handle C CoreturnStmtClass");
3184 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CoreturnStmtClass");
31793185 return ErrorUnexpected;
31803186 case Stmt::CoroutineBodyStmtClass:
3181 emit_warning(c, stmt->getLocStart(), "TODO handle C CoroutineBodyStmtClass");
3187 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CoroutineBodyStmtClass");
31823188 return ErrorUnexpected;
31833189 case Stmt::BinaryConditionalOperatorClass:
3184 emit_warning(c, stmt->getLocStart(), "TODO handle C BinaryConditionalOperatorClass");
3190 emit_warning(c, stmt->getBeginLoc(), "TODO handle C BinaryConditionalOperatorClass");
31853191 return ErrorUnexpected;
31863192 case Stmt::AddrLabelExprClass:
3187 emit_warning(c, stmt->getLocStart(), "TODO handle C AddrLabelExprClass");
3193 emit_warning(c, stmt->getBeginLoc(), "TODO handle C AddrLabelExprClass");
31883194 return ErrorUnexpected;
31893195 case Stmt::ArrayInitIndexExprClass:
3190 emit_warning(c, stmt->getLocStart(), "TODO handle C ArrayInitIndexExprClass");
3196 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ArrayInitIndexExprClass");
31913197 return ErrorUnexpected;
31923198 case Stmt::ArrayInitLoopExprClass:
3193 emit_warning(c, stmt->getLocStart(), "TODO handle C ArrayInitLoopExprClass");
3199 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ArrayInitLoopExprClass");
31943200 return ErrorUnexpected;
31953201 case Stmt::ArrayTypeTraitExprClass:
3196 emit_warning(c, stmt->getLocStart(), "TODO handle C ArrayTypeTraitExprClass");
3202 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ArrayTypeTraitExprClass");
31973203 return ErrorUnexpected;
31983204 case Stmt::AsTypeExprClass:
3199 emit_warning(c, stmt->getLocStart(), "TODO handle C AsTypeExprClass");
3205 emit_warning(c, stmt->getBeginLoc(), "TODO handle C AsTypeExprClass");
32003206 return ErrorUnexpected;
32013207 case Stmt::AtomicExprClass:
3202 emit_warning(c, stmt->getLocStart(), "TODO handle C AtomicExprClass");
3208 emit_warning(c, stmt->getBeginLoc(), "TODO handle C AtomicExprClass");
32033209 return ErrorUnexpected;
32043210 case Stmt::BlockExprClass:
3205 emit_warning(c, stmt->getLocStart(), "TODO handle C BlockExprClass");
3211 emit_warning(c, stmt->getBeginLoc(), "TODO handle C BlockExprClass");
32063212 return ErrorUnexpected;
32073213 case Stmt::CXXBindTemporaryExprClass:
3208 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXBindTemporaryExprClass");
3214 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXBindTemporaryExprClass");
32093215 return ErrorUnexpected;
32103216 case Stmt::CXXBoolLiteralExprClass:
3211 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXBoolLiteralExprClass");
3217 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXBoolLiteralExprClass");
32123218 return ErrorUnexpected;
32133219 case Stmt::CXXConstructExprClass:
3214 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXConstructExprClass");
3220 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXConstructExprClass");
32153221 return ErrorUnexpected;
32163222 case Stmt::CXXTemporaryObjectExprClass:
3217 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXTemporaryObjectExprClass");
3223 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXTemporaryObjectExprClass");
32183224 return ErrorUnexpected;
32193225 case Stmt::CXXDefaultArgExprClass:
3220 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXDefaultArgExprClass");
3226 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXDefaultArgExprClass");
32213227 return ErrorUnexpected;
32223228 case Stmt::CXXDefaultInitExprClass:
3223 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXDefaultInitExprClass");
3229 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXDefaultInitExprClass");
32243230 return ErrorUnexpected;
32253231 case Stmt::CXXDeleteExprClass:
3226 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXDeleteExprClass");
3232 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXDeleteExprClass");
32273233 return ErrorUnexpected;
32283234 case Stmt::CXXDependentScopeMemberExprClass:
3229 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXDependentScopeMemberExprClass");
3235 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXDependentScopeMemberExprClass");
32303236 return ErrorUnexpected;
32313237 case Stmt::CXXFoldExprClass:
3232 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXFoldExprClass");
3238 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXFoldExprClass");
32333239 return ErrorUnexpected;
32343240 case Stmt::CXXInheritedCtorInitExprClass:
3235 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXInheritedCtorInitExprClass");
3241 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXInheritedCtorInitExprClass");
32363242 return ErrorUnexpected;
32373243 case Stmt::CXXNewExprClass:
3238 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXNewExprClass");
3244 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXNewExprClass");
32393245 return ErrorUnexpected;
32403246 case Stmt::CXXNoexceptExprClass:
3241 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXNoexceptExprClass");
3247 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXNoexceptExprClass");
32423248 return ErrorUnexpected;
32433249 case Stmt::CXXNullPtrLiteralExprClass:
3244 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXNullPtrLiteralExprClass");
3250 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXNullPtrLiteralExprClass");
32453251 return ErrorUnexpected;
32463252 case Stmt::CXXPseudoDestructorExprClass:
3247 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXPseudoDestructorExprClass");
3253 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXPseudoDestructorExprClass");
32483254 return ErrorUnexpected;
32493255 case Stmt::CXXScalarValueInitExprClass:
3250 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXScalarValueInitExprClass");
3256 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXScalarValueInitExprClass");
32513257 return ErrorUnexpected;
32523258 case Stmt::CXXStdInitializerListExprClass:
3253 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXStdInitializerListExprClass");
3259 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXStdInitializerListExprClass");
32543260 return ErrorUnexpected;
32553261 case Stmt::CXXThisExprClass:
3256 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXThisExprClass");
3262 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXThisExprClass");
32573263 return ErrorUnexpected;
32583264 case Stmt::CXXThrowExprClass:
3259 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXThrowExprClass");
3265 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXThrowExprClass");
32603266 return ErrorUnexpected;
32613267 case Stmt::CXXTypeidExprClass:
3262 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXTypeidExprClass");
3268 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXTypeidExprClass");
32633269 return ErrorUnexpected;
32643270 case Stmt::CXXUnresolvedConstructExprClass:
3265 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXUnresolvedConstructExprClass");
3271 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXUnresolvedConstructExprClass");
32663272 return ErrorUnexpected;
32673273 case Stmt::CXXUuidofExprClass:
3268 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXUuidofExprClass");
3274 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXUuidofExprClass");
32693275 return ErrorUnexpected;
32703276 case Stmt::CUDAKernelCallExprClass:
3271 emit_warning(c, stmt->getLocStart(), "TODO handle C CUDAKernelCallExprClass");
3277 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CUDAKernelCallExprClass");
32723278 return ErrorUnexpected;
32733279 case Stmt::CXXMemberCallExprClass:
3274 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXMemberCallExprClass");
3280 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXMemberCallExprClass");
32753281 return ErrorUnexpected;
32763282 case Stmt::CXXOperatorCallExprClass:
3277 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXOperatorCallExprClass");
3283 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXOperatorCallExprClass");
32783284 return ErrorUnexpected;
32793285 case Stmt::UserDefinedLiteralClass:
3280 emit_warning(c, stmt->getLocStart(), "TODO handle C UserDefinedLiteralClass");
3286 emit_warning(c, stmt->getBeginLoc(), "TODO handle C UserDefinedLiteralClass");
32813287 return ErrorUnexpected;
32823288 case Stmt::CXXFunctionalCastExprClass:
3283 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXFunctionalCastExprClass");
3289 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXFunctionalCastExprClass");
32843290 return ErrorUnexpected;
32853291 case Stmt::CXXConstCastExprClass:
3286 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXConstCastExprClass");
3292 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXConstCastExprClass");
32873293 return ErrorUnexpected;
32883294 case Stmt::CXXDynamicCastExprClass:
3289 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXDynamicCastExprClass");
3295 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXDynamicCastExprClass");
32903296 return ErrorUnexpected;
32913297 case Stmt::CXXReinterpretCastExprClass:
3292 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXReinterpretCastExprClass");
3298 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXReinterpretCastExprClass");
32933299 return ErrorUnexpected;
32943300 case Stmt::CXXStaticCastExprClass:
3295 emit_warning(c, stmt->getLocStart(), "TODO handle C CXXStaticCastExprClass");
3301 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CXXStaticCastExprClass");
32963302 return ErrorUnexpected;
32973303 case Stmt::ObjCBridgedCastExprClass:
3298 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCBridgedCastExprClass");
3304 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCBridgedCastExprClass");
32993305 return ErrorUnexpected;
33003306 case Stmt::CharacterLiteralClass:
3301 emit_warning(c, stmt->getLocStart(), "TODO handle C CharacterLiteralClass");
3307 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CharacterLiteralClass");
33023308 return ErrorUnexpected;
33033309 case Stmt::ChooseExprClass:
3304 emit_warning(c, stmt->getLocStart(), "TODO handle C ChooseExprClass");
3310 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ChooseExprClass");
33053311 return ErrorUnexpected;
33063312 case Stmt::CompoundLiteralExprClass:
3307 emit_warning(c, stmt->getLocStart(), "TODO handle C CompoundLiteralExprClass");
3313 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CompoundLiteralExprClass");
33083314 return ErrorUnexpected;
33093315 case Stmt::ConvertVectorExprClass:
3310 emit_warning(c, stmt->getLocStart(), "TODO handle C ConvertVectorExprClass");
3316 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ConvertVectorExprClass");
33113317 return ErrorUnexpected;
33123318 case Stmt::CoawaitExprClass:
3313 emit_warning(c, stmt->getLocStart(), "TODO handle C CoawaitExprClass");
3319 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CoawaitExprClass");
33143320 return ErrorUnexpected;
33153321 case Stmt::CoyieldExprClass:
3316 emit_warning(c, stmt->getLocStart(), "TODO handle C CoyieldExprClass");
3322 emit_warning(c, stmt->getBeginLoc(), "TODO handle C CoyieldExprClass");
33173323 return ErrorUnexpected;
33183324 case Stmt::DependentCoawaitExprClass:
3319 emit_warning(c, stmt->getLocStart(), "TODO handle C DependentCoawaitExprClass");
3325 emit_warning(c, stmt->getBeginLoc(), "TODO handle C DependentCoawaitExprClass");
33203326 return ErrorUnexpected;
33213327 case Stmt::DependentScopeDeclRefExprClass:
3322 emit_warning(c, stmt->getLocStart(), "TODO handle C DependentScopeDeclRefExprClass");
3328 emit_warning(c, stmt->getBeginLoc(), "TODO handle C DependentScopeDeclRefExprClass");
33233329 return ErrorUnexpected;
33243330 case Stmt::DesignatedInitExprClass:
3325 emit_warning(c, stmt->getLocStart(), "TODO handle C DesignatedInitExprClass");
3331 emit_warning(c, stmt->getBeginLoc(), "TODO handle C DesignatedInitExprClass");
33263332 return ErrorUnexpected;
33273333 case Stmt::DesignatedInitUpdateExprClass:
3328 emit_warning(c, stmt->getLocStart(), "TODO handle C DesignatedInitUpdateExprClass");
3334 emit_warning(c, stmt->getBeginLoc(), "TODO handle C DesignatedInitUpdateExprClass");
33293335 return ErrorUnexpected;
33303336 case Stmt::ExprWithCleanupsClass:
3331 emit_warning(c, stmt->getLocStart(), "TODO handle C ExprWithCleanupsClass");
3337 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ExprWithCleanupsClass");
33323338 return ErrorUnexpected;
33333339 case Stmt::ExpressionTraitExprClass:
3334 emit_warning(c, stmt->getLocStart(), "TODO handle C ExpressionTraitExprClass");
3340 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ExpressionTraitExprClass");
33353341 return ErrorUnexpected;
33363342 case Stmt::ExtVectorElementExprClass:
3337 emit_warning(c, stmt->getLocStart(), "TODO handle C ExtVectorElementExprClass");
3343 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ExtVectorElementExprClass");
33383344 return ErrorUnexpected;
33393345 case Stmt::FloatingLiteralClass:
3340 emit_warning(c, stmt->getLocStart(), "TODO handle C FloatingLiteralClass");
3346 emit_warning(c, stmt->getBeginLoc(), "TODO handle C FloatingLiteralClass");
33413347 return ErrorUnexpected;
33423348 case Stmt::FunctionParmPackExprClass:
3343 emit_warning(c, stmt->getLocStart(), "TODO handle C FunctionParmPackExprClass");
3349 emit_warning(c, stmt->getBeginLoc(), "TODO handle C FunctionParmPackExprClass");
33443350 return ErrorUnexpected;
33453351 case Stmt::GNUNullExprClass:
3346 emit_warning(c, stmt->getLocStart(), "TODO handle C GNUNullExprClass");
3352 emit_warning(c, stmt->getBeginLoc(), "TODO handle C GNUNullExprClass");
33473353 return ErrorUnexpected;
33483354 case Stmt::GenericSelectionExprClass:
3349 emit_warning(c, stmt->getLocStart(), "TODO handle C GenericSelectionExprClass");
3355 emit_warning(c, stmt->getBeginLoc(), "TODO handle C GenericSelectionExprClass");
33503356 return ErrorUnexpected;
33513357 case Stmt::ImaginaryLiteralClass:
3352 emit_warning(c, stmt->getLocStart(), "TODO handle C ImaginaryLiteralClass");
3358 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ImaginaryLiteralClass");
33533359 return ErrorUnexpected;
33543360 case Stmt::ImplicitValueInitExprClass:
3355 emit_warning(c, stmt->getLocStart(), "TODO handle C ImplicitValueInitExprClass");
3361 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ImplicitValueInitExprClass");
33563362 return ErrorUnexpected;
33573363 case Stmt::InitListExprClass:
3358 emit_warning(c, stmt->getLocStart(), "TODO handle C InitListExprClass");
3364 emit_warning(c, stmt->getBeginLoc(), "TODO handle C InitListExprClass");
33593365 return ErrorUnexpected;
33603366 case Stmt::LambdaExprClass:
3361 emit_warning(c, stmt->getLocStart(), "TODO handle C LambdaExprClass");
3367 emit_warning(c, stmt->getBeginLoc(), "TODO handle C LambdaExprClass");
33623368 return ErrorUnexpected;
33633369 case Stmt::MSPropertyRefExprClass:
3364 emit_warning(c, stmt->getLocStart(), "TODO handle C MSPropertyRefExprClass");
3370 emit_warning(c, stmt->getBeginLoc(), "TODO handle C MSPropertyRefExprClass");
33653371 return ErrorUnexpected;
33663372 case Stmt::MSPropertySubscriptExprClass:
3367 emit_warning(c, stmt->getLocStart(), "TODO handle C MSPropertySubscriptExprClass");
3373 emit_warning(c, stmt->getBeginLoc(), "TODO handle C MSPropertySubscriptExprClass");
33683374 return ErrorUnexpected;
33693375 case Stmt::MaterializeTemporaryExprClass:
3370 emit_warning(c, stmt->getLocStart(), "TODO handle C MaterializeTemporaryExprClass");
3376 emit_warning(c, stmt->getBeginLoc(), "TODO handle C MaterializeTemporaryExprClass");
33713377 return ErrorUnexpected;
33723378 case Stmt::NoInitExprClass:
3373 emit_warning(c, stmt->getLocStart(), "TODO handle C NoInitExprClass");
3379 emit_warning(c, stmt->getBeginLoc(), "TODO handle C NoInitExprClass");
33743380 return ErrorUnexpected;
33753381 case Stmt::OMPArraySectionExprClass:
3376 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPArraySectionExprClass");
3382 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPArraySectionExprClass");
33773383 return ErrorUnexpected;
33783384 case Stmt::ObjCArrayLiteralClass:
3379 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCArrayLiteralClass");
3385 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCArrayLiteralClass");
33803386 return ErrorUnexpected;
33813387 case Stmt::ObjCAvailabilityCheckExprClass:
3382 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCAvailabilityCheckExprClass");
3388 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCAvailabilityCheckExprClass");
33833389 return ErrorUnexpected;
33843390 case Stmt::ObjCBoolLiteralExprClass:
3385 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCBoolLiteralExprClass");
3391 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCBoolLiteralExprClass");
33863392 return ErrorUnexpected;
33873393 case Stmt::ObjCBoxedExprClass:
3388 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCBoxedExprClass");
3394 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCBoxedExprClass");
33893395 return ErrorUnexpected;
33903396 case Stmt::ObjCDictionaryLiteralClass:
3391 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCDictionaryLiteralClass");
3397 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCDictionaryLiteralClass");
33923398 return ErrorUnexpected;
33933399 case Stmt::ObjCEncodeExprClass:
3394 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCEncodeExprClass");
3400 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCEncodeExprClass");
33953401 return ErrorUnexpected;
33963402 case Stmt::ObjCIndirectCopyRestoreExprClass:
3397 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCIndirectCopyRestoreExprClass");
3403 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCIndirectCopyRestoreExprClass");
33983404 return ErrorUnexpected;
33993405 case Stmt::ObjCIsaExprClass:
3400 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCIsaExprClass");
3406 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCIsaExprClass");
34013407 return ErrorUnexpected;
34023408 case Stmt::ObjCIvarRefExprClass:
3403 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCIvarRefExprClass");
3409 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCIvarRefExprClass");
34043410 return ErrorUnexpected;
34053411 case Stmt::ObjCMessageExprClass:
3406 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCMessageExprClass");
3412 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCMessageExprClass");
34073413 return ErrorUnexpected;
34083414 case Stmt::ObjCPropertyRefExprClass:
3409 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCPropertyRefExprClass");
3415 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCPropertyRefExprClass");
34103416 return ErrorUnexpected;
34113417 case Stmt::ObjCProtocolExprClass:
3412 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCProtocolExprClass");
3418 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCProtocolExprClass");
34133419 return ErrorUnexpected;
34143420 case Stmt::ObjCSelectorExprClass:
3415 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCSelectorExprClass");
3421 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCSelectorExprClass");
34163422 return ErrorUnexpected;
34173423 case Stmt::ObjCStringLiteralClass:
3418 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCStringLiteralClass");
3424 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCStringLiteralClass");
34193425 return ErrorUnexpected;
34203426 case Stmt::ObjCSubscriptRefExprClass:
3421 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCSubscriptRefExprClass");
3427 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCSubscriptRefExprClass");
34223428 return ErrorUnexpected;
34233429 case Stmt::OffsetOfExprClass:
3424 emit_warning(c, stmt->getLocStart(), "TODO handle C OffsetOfExprClass");
3430 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OffsetOfExprClass");
34253431 return ErrorUnexpected;
34263432 case Stmt::OpaqueValueExprClass:
3427 emit_warning(c, stmt->getLocStart(), "TODO handle C OpaqueValueExprClass");
3433 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OpaqueValueExprClass");
34283434 return ErrorUnexpected;
34293435 case Stmt::UnresolvedLookupExprClass:
3430 emit_warning(c, stmt->getLocStart(), "TODO handle C UnresolvedLookupExprClass");
3436 emit_warning(c, stmt->getBeginLoc(), "TODO handle C UnresolvedLookupExprClass");
34313437 return ErrorUnexpected;
34323438 case Stmt::UnresolvedMemberExprClass:
3433 emit_warning(c, stmt->getLocStart(), "TODO handle C UnresolvedMemberExprClass");
3439 emit_warning(c, stmt->getBeginLoc(), "TODO handle C UnresolvedMemberExprClass");
34343440 return ErrorUnexpected;
34353441 case Stmt::PackExpansionExprClass:
3436 emit_warning(c, stmt->getLocStart(), "TODO handle C PackExpansionExprClass");
3442 emit_warning(c, stmt->getBeginLoc(), "TODO handle C PackExpansionExprClass");
34373443 return ErrorUnexpected;
34383444 case Stmt::ParenListExprClass:
3439 emit_warning(c, stmt->getLocStart(), "TODO handle C ParenListExprClass");
3445 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ParenListExprClass");
34403446 return ErrorUnexpected;
34413447 case Stmt::PredefinedExprClass:
3442 emit_warning(c, stmt->getLocStart(), "TODO handle C PredefinedExprClass");
3448 emit_warning(c, stmt->getBeginLoc(), "TODO handle C PredefinedExprClass");
34433449 return ErrorUnexpected;
34443450 case Stmt::PseudoObjectExprClass:
3445 emit_warning(c, stmt->getLocStart(), "TODO handle C PseudoObjectExprClass");
3451 emit_warning(c, stmt->getBeginLoc(), "TODO handle C PseudoObjectExprClass");
34463452 return ErrorUnexpected;
34473453 case Stmt::ShuffleVectorExprClass:
3448 emit_warning(c, stmt->getLocStart(), "TODO handle C ShuffleVectorExprClass");
3454 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ShuffleVectorExprClass");
34493455 return ErrorUnexpected;
34503456 case Stmt::SizeOfPackExprClass:
3451 emit_warning(c, stmt->getLocStart(), "TODO handle C SizeOfPackExprClass");
3457 emit_warning(c, stmt->getBeginLoc(), "TODO handle C SizeOfPackExprClass");
34523458 return ErrorUnexpected;
34533459 case Stmt::StmtExprClass:
3454 emit_warning(c, stmt->getLocStart(), "TODO handle C StmtExprClass");
3460 emit_warning(c, stmt->getBeginLoc(), "TODO handle C StmtExprClass");
34553461 return ErrorUnexpected;
34563462 case Stmt::SubstNonTypeTemplateParmExprClass:
3457 emit_warning(c, stmt->getLocStart(), "TODO handle C SubstNonTypeTemplateParmExprClass");
3463 emit_warning(c, stmt->getBeginLoc(), "TODO handle C SubstNonTypeTemplateParmExprClass");
34583464 return ErrorUnexpected;
34593465 case Stmt::SubstNonTypeTemplateParmPackExprClass:
3460 emit_warning(c, stmt->getLocStart(), "TODO handle C SubstNonTypeTemplateParmPackExprClass");
3466 emit_warning(c, stmt->getBeginLoc(), "TODO handle C SubstNonTypeTemplateParmPackExprClass");
34613467 return ErrorUnexpected;
34623468 case Stmt::TypeTraitExprClass:
3463 emit_warning(c, stmt->getLocStart(), "TODO handle C TypeTraitExprClass");
3469 emit_warning(c, stmt->getBeginLoc(), "TODO handle C TypeTraitExprClass");
34643470 return ErrorUnexpected;
34653471 case Stmt::TypoExprClass:
3466 emit_warning(c, stmt->getLocStart(), "TODO handle C TypoExprClass");
3472 emit_warning(c, stmt->getBeginLoc(), "TODO handle C TypoExprClass");
34673473 return ErrorUnexpected;
34683474 case Stmt::VAArgExprClass:
3469 emit_warning(c, stmt->getLocStart(), "TODO handle C VAArgExprClass");
3475 emit_warning(c, stmt->getBeginLoc(), "TODO handle C VAArgExprClass");
34703476 return ErrorUnexpected;
34713477 case Stmt::GotoStmtClass:
3472 emit_warning(c, stmt->getLocStart(), "TODO handle C GotoStmtClass");
3478 emit_warning(c, stmt->getBeginLoc(), "TODO handle C GotoStmtClass");
34733479 return ErrorUnexpected;
34743480 case Stmt::IndirectGotoStmtClass:
3475 emit_warning(c, stmt->getLocStart(), "TODO handle C IndirectGotoStmtClass");
3481 emit_warning(c, stmt->getBeginLoc(), "TODO handle C IndirectGotoStmtClass");
34763482 return ErrorUnexpected;
34773483 case Stmt::LabelStmtClass:
3478 emit_warning(c, stmt->getLocStart(), "TODO handle C LabelStmtClass");
3484 emit_warning(c, stmt->getBeginLoc(), "TODO handle C LabelStmtClass");
34793485 return ErrorUnexpected;
34803486 case Stmt::MSDependentExistsStmtClass:
3481 emit_warning(c, stmt->getLocStart(), "TODO handle C MSDependentExistsStmtClass");
3487 emit_warning(c, stmt->getBeginLoc(), "TODO handle C MSDependentExistsStmtClass");
34823488 return ErrorUnexpected;
34833489 case Stmt::OMPAtomicDirectiveClass:
3484 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPAtomicDirectiveClass");
3490 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPAtomicDirectiveClass");
34853491 return ErrorUnexpected;
34863492 case Stmt::OMPBarrierDirectiveClass:
3487 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPBarrierDirectiveClass");
3493 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPBarrierDirectiveClass");
34883494 return ErrorUnexpected;
34893495 case Stmt::OMPCancelDirectiveClass:
3490 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPCancelDirectiveClass");
3496 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPCancelDirectiveClass");
34913497 return ErrorUnexpected;
34923498 case Stmt::OMPCancellationPointDirectiveClass:
3493 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPCancellationPointDirectiveClass");
3499 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPCancellationPointDirectiveClass");
34943500 return ErrorUnexpected;
34953501 case Stmt::OMPCriticalDirectiveClass:
3496 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPCriticalDirectiveClass");
3502 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPCriticalDirectiveClass");
34973503 return ErrorUnexpected;
34983504 case Stmt::OMPFlushDirectiveClass:
3499 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPFlushDirectiveClass");
3505 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPFlushDirectiveClass");
35003506 return ErrorUnexpected;
35013507 case Stmt::OMPDistributeDirectiveClass:
3502 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPDistributeDirectiveClass");
3508 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPDistributeDirectiveClass");
35033509 return ErrorUnexpected;
35043510 case Stmt::OMPDistributeParallelForDirectiveClass:
3505 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPDistributeParallelForDirectiveClass");
3511 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPDistributeParallelForDirectiveClass");
35063512 return ErrorUnexpected;
35073513 case Stmt::OMPDistributeParallelForSimdDirectiveClass:
3508 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPDistributeParallelForSimdDirectiveClass");
3514 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPDistributeParallelForSimdDirectiveClass");
35093515 return ErrorUnexpected;
35103516 case Stmt::OMPDistributeSimdDirectiveClass:
3511 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPDistributeSimdDirectiveClass");
3517 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPDistributeSimdDirectiveClass");
35123518 return ErrorUnexpected;
35133519 case Stmt::OMPForDirectiveClass:
3514 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPForDirectiveClass");
3520 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPForDirectiveClass");
35153521 return ErrorUnexpected;
35163522 case Stmt::OMPForSimdDirectiveClass:
3517 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPForSimdDirectiveClass");
3523 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPForSimdDirectiveClass");
35183524 return ErrorUnexpected;
35193525 case Stmt::OMPParallelForDirectiveClass:
3520 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPParallelForDirectiveClass");
3526 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPParallelForDirectiveClass");
35213527 return ErrorUnexpected;
35223528 case Stmt::OMPParallelForSimdDirectiveClass:
3523 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPParallelForSimdDirectiveClass");
3529 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPParallelForSimdDirectiveClass");
35243530 return ErrorUnexpected;
35253531 case Stmt::OMPSimdDirectiveClass:
3526 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPSimdDirectiveClass");
3532 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPSimdDirectiveClass");
35273533 return ErrorUnexpected;
35283534 case Stmt::OMPTargetParallelForSimdDirectiveClass:
3529 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetParallelForSimdDirectiveClass");
3535 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetParallelForSimdDirectiveClass");
35303536 return ErrorUnexpected;
35313537 case Stmt::OMPTargetSimdDirectiveClass:
3532 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetSimdDirectiveClass");
3538 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetSimdDirectiveClass");
35333539 return ErrorUnexpected;
35343540 case Stmt::OMPTargetTeamsDistributeDirectiveClass:
3535 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetTeamsDistributeDirectiveClass");
3541 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetTeamsDistributeDirectiveClass");
35363542 return ErrorUnexpected;
35373543 case Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass:
3538 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetTeamsDistributeParallelForDirectiveClass");
3544 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetTeamsDistributeParallelForDirectiveClass");
35393545 return ErrorUnexpected;
35403546 case Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass:
3541 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetTeamsDistributeParallelForSimdDirectiveClass");
3547 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetTeamsDistributeParallelForSimdDirectiveClass");
35423548 return ErrorUnexpected;
35433549 case Stmt::OMPTargetTeamsDistributeSimdDirectiveClass:
3544 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetTeamsDistributeSimdDirectiveClass");
3550 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetTeamsDistributeSimdDirectiveClass");
35453551 return ErrorUnexpected;
35463552 case Stmt::OMPTaskLoopDirectiveClass:
3547 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTaskLoopDirectiveClass");
3553 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTaskLoopDirectiveClass");
35483554 return ErrorUnexpected;
35493555 case Stmt::OMPTaskLoopSimdDirectiveClass:
3550 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTaskLoopSimdDirectiveClass");
3556 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTaskLoopSimdDirectiveClass");
35513557 return ErrorUnexpected;
35523558 case Stmt::OMPTeamsDistributeDirectiveClass:
3553 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTeamsDistributeDirectiveClass");
3559 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTeamsDistributeDirectiveClass");
35543560 return ErrorUnexpected;
35553561 case Stmt::OMPTeamsDistributeParallelForDirectiveClass:
3556 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTeamsDistributeParallelForDirectiveClass");
3562 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTeamsDistributeParallelForDirectiveClass");
35573563 return ErrorUnexpected;
35583564 case Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass:
3559 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTeamsDistributeParallelForSimdDirectiveClass");
3565 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTeamsDistributeParallelForSimdDirectiveClass");
35603566 return ErrorUnexpected;
35613567 case Stmt::OMPTeamsDistributeSimdDirectiveClass:
3562 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTeamsDistributeSimdDirectiveClass");
3568 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTeamsDistributeSimdDirectiveClass");
35633569 return ErrorUnexpected;
35643570 case Stmt::OMPMasterDirectiveClass:
3565 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPMasterDirectiveClass");
3571 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPMasterDirectiveClass");
35663572 return ErrorUnexpected;
35673573 case Stmt::OMPOrderedDirectiveClass:
3568 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPOrderedDirectiveClass");
3574 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPOrderedDirectiveClass");
35693575 return ErrorUnexpected;
35703576 case Stmt::OMPParallelDirectiveClass:
3571 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPParallelDirectiveClass");
3577 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPParallelDirectiveClass");
35723578 return ErrorUnexpected;
35733579 case Stmt::OMPParallelSectionsDirectiveClass:
3574 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPParallelSectionsDirectiveClass");
3580 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPParallelSectionsDirectiveClass");
35753581 return ErrorUnexpected;
35763582 case Stmt::OMPSectionDirectiveClass:
3577 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPSectionDirectiveClass");
3583 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPSectionDirectiveClass");
35783584 return ErrorUnexpected;
35793585 case Stmt::OMPSectionsDirectiveClass:
3580 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPSectionsDirectiveClass");
3586 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPSectionsDirectiveClass");
35813587 return ErrorUnexpected;
35823588 case Stmt::OMPSingleDirectiveClass:
3583 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPSingleDirectiveClass");
3589 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPSingleDirectiveClass");
35843590 return ErrorUnexpected;
35853591 case Stmt::OMPTargetDataDirectiveClass:
3586 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetDataDirectiveClass");
3592 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetDataDirectiveClass");
35873593 return ErrorUnexpected;
35883594 case Stmt::OMPTargetDirectiveClass:
3589 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetDirectiveClass");
3595 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetDirectiveClass");
35903596 return ErrorUnexpected;
35913597 case Stmt::OMPTargetEnterDataDirectiveClass:
3592 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetEnterDataDirectiveClass");
3598 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetEnterDataDirectiveClass");
35933599 return ErrorUnexpected;
35943600 case Stmt::OMPTargetExitDataDirectiveClass:
3595 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetExitDataDirectiveClass");
3601 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetExitDataDirectiveClass");
35963602 return ErrorUnexpected;
35973603 case Stmt::OMPTargetParallelDirectiveClass:
3598 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetParallelDirectiveClass");
3604 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetParallelDirectiveClass");
35993605 return ErrorUnexpected;
36003606 case Stmt::OMPTargetParallelForDirectiveClass:
3601 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetParallelForDirectiveClass");
3607 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetParallelForDirectiveClass");
36023608 return ErrorUnexpected;
36033609 case Stmt::OMPTargetTeamsDirectiveClass:
3604 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetTeamsDirectiveClass");
3610 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetTeamsDirectiveClass");
36053611 return ErrorUnexpected;
36063612 case Stmt::OMPTargetUpdateDirectiveClass:
3607 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTargetUpdateDirectiveClass");
3613 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTargetUpdateDirectiveClass");
36083614 return ErrorUnexpected;
36093615 case Stmt::OMPTaskDirectiveClass:
3610 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTaskDirectiveClass");
3616 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTaskDirectiveClass");
36113617 return ErrorUnexpected;
36123618 case Stmt::OMPTaskgroupDirectiveClass:
3613 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTaskgroupDirectiveClass");
3619 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTaskgroupDirectiveClass");
36143620 return ErrorUnexpected;
36153621 case Stmt::OMPTaskwaitDirectiveClass:
3616 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTaskwaitDirectiveClass");
3622 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTaskwaitDirectiveClass");
36173623 return ErrorUnexpected;
36183624 case Stmt::OMPTaskyieldDirectiveClass:
3619 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTaskyieldDirectiveClass");
3625 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTaskyieldDirectiveClass");
36203626 return ErrorUnexpected;
36213627 case Stmt::OMPTeamsDirectiveClass:
3622 emit_warning(c, stmt->getLocStart(), "TODO handle C OMPTeamsDirectiveClass");
3628 emit_warning(c, stmt->getBeginLoc(), "TODO handle C OMPTeamsDirectiveClass");
36233629 return ErrorUnexpected;
36243630 case Stmt::ObjCAtCatchStmtClass:
3625 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCAtCatchStmtClass");
3631 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCAtCatchStmtClass");
36263632 return ErrorUnexpected;
36273633 case Stmt::ObjCAtFinallyStmtClass:
3628 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCAtFinallyStmtClass");
3634 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCAtFinallyStmtClass");
36293635 return ErrorUnexpected;
36303636 case Stmt::ObjCAtSynchronizedStmtClass:
3631 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCAtSynchronizedStmtClass");
3637 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCAtSynchronizedStmtClass");
36323638 return ErrorUnexpected;
36333639 case Stmt::ObjCAtThrowStmtClass:
3634 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCAtThrowStmtClass");
3640 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCAtThrowStmtClass");
36353641 return ErrorUnexpected;
36363642 case Stmt::ObjCAtTryStmtClass:
3637 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCAtTryStmtClass");
3643 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCAtTryStmtClass");
36383644 return ErrorUnexpected;
36393645 case Stmt::ObjCAutoreleasePoolStmtClass:
3640 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCAutoreleasePoolStmtClass");
3646 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCAutoreleasePoolStmtClass");
36413647 return ErrorUnexpected;
36423648 case Stmt::ObjCForCollectionStmtClass:
3643 emit_warning(c, stmt->getLocStart(), "TODO handle C ObjCForCollectionStmtClass");
3649 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ObjCForCollectionStmtClass");
36443650 return ErrorUnexpected;
36453651 case Stmt::SEHExceptStmtClass:
3646 emit_warning(c, stmt->getLocStart(), "TODO handle C SEHExceptStmtClass");
3652 emit_warning(c, stmt->getBeginLoc(), "TODO handle C SEHExceptStmtClass");
36473653 return ErrorUnexpected;
36483654 case Stmt::SEHFinallyStmtClass:
3649 emit_warning(c, stmt->getLocStart(), "TODO handle C SEHFinallyStmtClass");
3655 emit_warning(c, stmt->getBeginLoc(), "TODO handle C SEHFinallyStmtClass");
36503656 return ErrorUnexpected;
36513657 case Stmt::SEHLeaveStmtClass:
3652 emit_warning(c, stmt->getLocStart(), "TODO handle C SEHLeaveStmtClass");
3658 emit_warning(c, stmt->getBeginLoc(), "TODO handle C SEHLeaveStmtClass");
36533659 return ErrorUnexpected;
36543660 case Stmt::SEHTryStmtClass:
3655 emit_warning(c, stmt->getLocStart(), "TODO handle C SEHTryStmtClass");
3661 emit_warning(c, stmt->getBeginLoc(), "TODO handle C SEHTryStmtClass");
36563662 return ErrorUnexpected;
36573663 case Stmt::FixedPointLiteralClass:
3658 emit_warning(c, stmt->getLocStart(), "TODO handle C FixedPointLiteralClass");
3664 emit_warning(c, stmt->getBeginLoc(), "TODO handle C FixedPointLiteralClass");
3665 return ErrorUnexpected;
3666 case Stmt::ConstantExprClass:
3667 emit_warning(c, stmt->getBeginLoc(), "TODO handle C ConstantExprClass");
36593668 return ErrorUnexpected;
36603669 }
36613670 zig_unreachable();
src/zig_llvm.cpp+5
......@@ -686,6 +686,7 @@ static_assert((Triple::VendorType)ZigLLVM_LastVendorType == Triple::LastVendorTy
686686static_assert((Triple::OSType)ZigLLVM_LastOSType == Triple::LastOSType, "");
687687static_assert((Triple::EnvironmentType)ZigLLVM_LastEnvironmentType == Triple::LastEnvironmentType, "");
688688static_assert((Triple::SubArchType)ZigLLVM_KalimbaSubArch_v5 == Triple::KalimbaSubArch_v5, "");
689static_assert((Triple::SubArchType)ZigLLVM_MipsSubArch_r6 == Triple::MipsSubArch_r6, "");
689690
690691static_assert((Triple::ObjectFormatType)ZigLLVM_UnknownObjectFormat == Triple::UnknownObjectFormat, "");
691692static_assert((Triple::ObjectFormatType)ZigLLVM_COFF == Triple::COFF, "");
......@@ -730,6 +731,8 @@ const char *ZigLLVMGetSubArchTypeName(ZigLLVM_SubArchType sub_arch) {
730731 switch (sub_arch) {
731732 case ZigLLVM_NoSubArch:
732733 return "(none)";
734 case ZigLLVM_ARMSubArch_v8_5a:
735 return "v8_5a";
733736 case ZigLLVM_ARMSubArch_v8_4a:
734737 return "v8_4a";
735738 case ZigLLVM_ARMSubArch_v8_3a:
......@@ -778,6 +781,8 @@ const char *ZigLLVMGetSubArchTypeName(ZigLLVM_SubArchType sub_arch) {
778781 return "v4";
779782 case ZigLLVM_KalimbaSubArch_v5:
780783 return "v5";
784 case ZigLLVM_MipsSubArch_r6:
785 return "r6";
781786 }
782787 abort();
783788}
src/zig_llvm.h+3
......@@ -273,6 +273,7 @@ enum ZigLLVM_ArchType {
273273enum ZigLLVM_SubArchType {
274274 ZigLLVM_NoSubArch,
275275
276 ZigLLVM_ARMSubArch_v8_5a,
276277 ZigLLVM_ARMSubArch_v8_4a,
277278 ZigLLVM_ARMSubArch_v8_3a,
278279 ZigLLVM_ARMSubArch_v8_2a,
......@@ -298,6 +299,8 @@ enum ZigLLVM_SubArchType {
298299 ZigLLVM_KalimbaSubArch_v3,
299300 ZigLLVM_KalimbaSubArch_v4,
300301 ZigLLVM_KalimbaSubArch_v5,
302
303 ZigLLVM_MipsSubArch_r6,
301304};
302305
303306enum ZigLLVM_VendorType {