| ... | ... | @@ -127,6 +127,7 @@ static AstNode *trans_bool_expr(Context *c, ResultUsed result_used, TransScope * |
| 127 | 127 | const ZigClangExpr *expr, TransLRValue lrval); |
| 128 | 128 | static AstNode *trans_ap_value(Context *c, const ZigClangAPValue *ap_value, ZigClangQualType qt, |
| 129 | 129 | ZigClangSourceLocation source_loc); |
| 130 | static bool c_is_unsigned_integer(Context *c, ZigClangQualType qt); |
| 130 | 131 | |
| 131 | 132 | static const ZigClangAPSInt *bitcast(const llvm::APSInt *src) { |
| 132 | 133 | return reinterpret_cast<const ZigClangAPSInt *>(src); |
| ... | ... | @@ -581,33 +582,6 @@ static bool qual_type_is_ptr(ZigClangQualType qt) { |
| 581 | 582 | return ZigClangType_getTypeClass(ty) == ZigClangType_Pointer; |
| 582 | 583 | } |
| 583 | 584 | |
| 584 | | static bool qual_type_is_int(ZigClangQualType qt) { |
| 585 | | const ZigClangType *ty = qual_type_canon(qt); |
| 586 | | if (ZigClangType_getTypeClass(ty) != ZigClangType_Builtin) |
| 587 | | return false; |
| 588 | | const clang::BuiltinType *builtin_ty = reinterpret_cast<const clang::BuiltinType*>(ty); |
| 589 | | switch (builtin_ty->getKind()) { |
| 590 | | case clang::BuiltinType::Char_U: |
| 591 | | case clang::BuiltinType::UChar: |
| 592 | | case clang::BuiltinType::Char_S: |
| 593 | | case clang::BuiltinType::Char8: |
| 594 | | case clang::BuiltinType::SChar: |
| 595 | | case clang::BuiltinType::UShort: |
| 596 | | case clang::BuiltinType::UInt: |
| 597 | | case clang::BuiltinType::ULong: |
| 598 | | case clang::BuiltinType::ULongLong: |
| 599 | | case clang::BuiltinType::Short: |
| 600 | | case clang::BuiltinType::Int: |
| 601 | | case clang::BuiltinType::Long: |
| 602 | | case clang::BuiltinType::LongLong: |
| 603 | | case clang::BuiltinType::UInt128: |
| 604 | | case clang::BuiltinType::Int128: |
| 605 | | return true; |
| 606 | | default: |
| 607 | | return false; |
| 608 | | } |
| 609 | | } |
| 610 | | |
| 611 | 585 | static const clang::FunctionProtoType *qual_type_get_fn_proto(ZigClangQualType qt, bool *is_ptr) { |
| 612 | 586 | const ZigClangType *ty = qual_type_canon(qt); |
| 613 | 587 | *is_ptr = false; |
| ... | ... | @@ -639,15 +613,15 @@ static uint32_t qual_type_int_bit_width(Context *c, const ZigClangQualType qt, Z |
| 639 | 613 | switch (ZigClangType_getTypeClass(ty)) { |
| 640 | 614 | case ZigClangType_Builtin: |
| 641 | 615 | { |
| 642 | | const clang::BuiltinType *builtin_ty = reinterpret_cast<const clang::BuiltinType*>(ty); |
| 643 | | switch (builtin_ty->getKind()) { |
| 644 | | case clang::BuiltinType::Char_U: |
| 645 | | case clang::BuiltinType::UChar: |
| 646 | | case clang::BuiltinType::Char_S: |
| 647 | | case clang::BuiltinType::SChar: |
| 616 | const ZigClangBuiltinType *builtin_ty = reinterpret_cast<const ZigClangBuiltinType*>(ty); |
| 617 | switch (ZigClangBuiltinType_getKind(builtin_ty)) { |
| 618 | case ZigClangBuiltinTypeChar_U: |
| 619 | case ZigClangBuiltinTypeUChar: |
| 620 | case ZigClangBuiltinTypeChar_S: |
| 621 | case ZigClangBuiltinTypeSChar: |
| 648 | 622 | return 8; |
| 649 | | case clang::BuiltinType::UInt128: |
| 650 | | case clang::BuiltinType::Int128: |
| 623 | case ZigClangBuiltinTypeUInt128: |
| 624 | case ZigClangBuiltinTypeInt128: |
| 651 | 625 | return 128; |
| 652 | 626 | default: |
| 653 | 627 | return 0; |
| ... | ... | @@ -771,12 +745,12 @@ static AstNode* trans_c_cast(Context *c, ZigClangSourceLocation source_location, |
| 771 | 745 | if (qual_type_is_ptr(dest_type) && qual_type_is_ptr(src_type)) { |
| 772 | 746 | return trans_c_ptr_cast(c, source_location, dest_type, src_type, expr); |
| 773 | 747 | } |
| 774 | | if (qual_type_is_int(dest_type) && qual_type_is_ptr(src_type)) { |
| 748 | if (c_is_unsigned_integer(c, dest_type) && qual_type_is_ptr(src_type)) { |
| 775 | 749 | AstNode *addr_node = trans_create_node_builtin_fn_call_str(c, "ptrToInt"); |
| 776 | 750 | addr_node->data.fn_call_expr.params.append(expr); |
| 777 | 751 | return trans_create_node_fn_call_1(c, trans_qual_type(c, dest_type, source_location), addr_node); |
| 778 | 752 | } |
| 779 | | if (qual_type_is_int(src_type) && qual_type_is_ptr(dest_type)) { |
| 753 | if (c_is_unsigned_integer(c, src_type) && qual_type_is_ptr(dest_type)) { |
| 780 | 754 | AstNode *ptr_node = trans_create_node_builtin_fn_call_str(c, "intToPtr"); |
| 781 | 755 | ptr_node->data.fn_call_expr.params.append(trans_qual_type(c, dest_type, source_location)); |
| 782 | 756 | ptr_node->data.fn_call_expr.params.append(expr); |
| ... | ... | @@ -792,15 +766,15 @@ static bool c_is_signed_integer(Context *c, ZigClangQualType qt) { |
| 792 | 766 | const ZigClangType *c_type = qual_type_canon(qt); |
| 793 | 767 | if (ZigClangType_getTypeClass(c_type) != ZigClangType_Builtin) |
| 794 | 768 | return false; |
| 795 | | const clang::BuiltinType *builtin_ty = reinterpret_cast<const clang::BuiltinType*>(c_type); |
| 796 | | switch (builtin_ty->getKind()) { |
| 797 | | case clang::BuiltinType::SChar: |
| 798 | | case clang::BuiltinType::Short: |
| 799 | | case clang::BuiltinType::Int: |
| 800 | | case clang::BuiltinType::Long: |
| 801 | | case clang::BuiltinType::LongLong: |
| 802 | | case clang::BuiltinType::Int128: |
| 803 | | case clang::BuiltinType::WChar_S: |
| 769 | const ZigClangBuiltinType *builtin_ty = reinterpret_cast<const ZigClangBuiltinType*>(c_type); |
| 770 | switch (ZigClangBuiltinType_getKind(builtin_ty)) { |
| 771 | case ZigClangBuiltinTypeSChar: |
| 772 | case ZigClangBuiltinTypeShort: |
| 773 | case ZigClangBuiltinTypeInt: |
| 774 | case ZigClangBuiltinTypeLong: |
| 775 | case ZigClangBuiltinTypeLongLong: |
| 776 | case ZigClangBuiltinTypeInt128: |
| 777 | case ZigClangBuiltinTypeWChar_S: |
| 804 | 778 | return true; |
| 805 | 779 | default: |
| 806 | 780 | return false; |
| ... | ... | @@ -811,42 +785,42 @@ static bool c_is_unsigned_integer(Context *c, ZigClangQualType qt) { |
| 811 | 785 | const ZigClangType *c_type = qual_type_canon(qt); |
| 812 | 786 | if (ZigClangType_getTypeClass(c_type) != ZigClangType_Builtin) |
| 813 | 787 | return false; |
| 814 | | const clang::BuiltinType *builtin_ty = reinterpret_cast<const clang::BuiltinType*>(c_type); |
| 815 | | switch (builtin_ty->getKind()) { |
| 816 | | case clang::BuiltinType::Char_U: |
| 817 | | case clang::BuiltinType::UChar: |
| 818 | | case clang::BuiltinType::Char_S: |
| 819 | | case clang::BuiltinType::UShort: |
| 820 | | case clang::BuiltinType::UInt: |
| 821 | | case clang::BuiltinType::ULong: |
| 822 | | case clang::BuiltinType::ULongLong: |
| 823 | | case clang::BuiltinType::UInt128: |
| 824 | | case clang::BuiltinType::WChar_U: |
| 788 | const ZigClangBuiltinType *builtin_ty = reinterpret_cast<const ZigClangBuiltinType*>(c_type); |
| 789 | switch (ZigClangBuiltinType_getKind(builtin_ty)) { |
| 790 | case ZigClangBuiltinTypeChar_U: |
| 791 | case ZigClangBuiltinTypeUChar: |
| 792 | case ZigClangBuiltinTypeChar_S: |
| 793 | case ZigClangBuiltinTypeUShort: |
| 794 | case ZigClangBuiltinTypeUInt: |
| 795 | case ZigClangBuiltinTypeULong: |
| 796 | case ZigClangBuiltinTypeULongLong: |
| 797 | case ZigClangBuiltinTypeUInt128: |
| 798 | case ZigClangBuiltinTypeWChar_U: |
| 825 | 799 | return true; |
| 826 | 800 | default: |
| 827 | 801 | return false; |
| 828 | 802 | } |
| 829 | 803 | } |
| 830 | 804 | |
| 831 | | static bool c_is_builtin_type(Context *c, ZigClangQualType qt, clang::BuiltinType::Kind kind) { |
| 805 | static bool c_is_builtin_type(Context *c, ZigClangQualType qt, ZigClangBuiltinTypeKind kind) { |
| 832 | 806 | const ZigClangType *c_type = qual_type_canon(qt); |
| 833 | 807 | if (ZigClangType_getTypeClass(c_type) != ZigClangType_Builtin) |
| 834 | 808 | return false; |
| 835 | | const clang::BuiltinType *builtin_ty = reinterpret_cast<const clang::BuiltinType*>(c_type); |
| 836 | | return builtin_ty->getKind() == kind; |
| 809 | const ZigClangBuiltinType *builtin_ty = reinterpret_cast<const ZigClangBuiltinType*>(c_type); |
| 810 | return ZigClangBuiltinType_getKind(builtin_ty) == kind; |
| 837 | 811 | } |
| 838 | 812 | |
| 839 | 813 | static bool c_is_float(Context *c, ZigClangQualType qt) { |
| 840 | 814 | const ZigClangType *c_type = ZigClangQualType_getTypePtr(qt); |
| 841 | 815 | if (ZigClangType_getTypeClass(c_type) != ZigClangType_Builtin) |
| 842 | 816 | return false; |
| 843 | | const clang::BuiltinType *builtin_ty = reinterpret_cast<const clang::BuiltinType*>(c_type); |
| 844 | | switch (builtin_ty->getKind()) { |
| 845 | | case clang::BuiltinType::Half: |
| 846 | | case clang::BuiltinType::Float: |
| 847 | | case clang::BuiltinType::Double: |
| 848 | | case clang::BuiltinType::Float128: |
| 849 | | case clang::BuiltinType::LongDouble: |
| 817 | const ZigClangBuiltinType *builtin_ty = reinterpret_cast<const ZigClangBuiltinType*>(c_type); |
| 818 | switch (ZigClangBuiltinType_getKind(builtin_ty)) { |
| 819 | case ZigClangBuiltinTypeHalf: |
| 820 | case ZigClangBuiltinTypeFloat: |
| 821 | case ZigClangBuiltinTypeDouble: |
| 822 | case ZigClangBuiltinTypeFloat128: |
| 823 | case ZigClangBuiltinTypeLongDouble: |
| 850 | 824 | return true; |
| 851 | 825 | default: |
| 852 | 826 | return false; |
| ... | ... | @@ -866,8 +840,8 @@ static bool qual_type_has_wrapping_overflow(Context *c, ZigClangQualType qt) { |
| 866 | 840 | static bool type_is_opaque(Context *c, const ZigClangType *ty, ZigClangSourceLocation source_loc) { |
| 867 | 841 | switch (ZigClangType_getTypeClass(ty)) { |
| 868 | 842 | case ZigClangType_Builtin: { |
| 869 | | const clang::BuiltinType *builtin_ty = reinterpret_cast<const clang::BuiltinType*>(ty); |
| 870 | | return builtin_ty->getKind() == clang::BuiltinType::Void; |
| 843 | const ZigClangBuiltinType *builtin_ty = reinterpret_cast<const ZigClangBuiltinType*>(ty); |
| 844 | return ZigClangBuiltinType_getKind(builtin_ty) == ZigClangBuiltinTypeVoid; |
| 871 | 845 | } |
| 872 | 846 | case ZigClangType_Record: { |
| 873 | 847 | const clang::RecordType *record_ty = reinterpret_cast<const clang::RecordType*>(ty); |
| ... | ... | @@ -893,144 +867,144 @@ static AstNode *trans_type(Context *c, const ZigClangType *ty, ZigClangSourceLoc |
| 893 | 867 | switch (ZigClangType_getTypeClass(ty)) { |
| 894 | 868 | case ZigClangType_Builtin: |
| 895 | 869 | { |
| 896 | | const clang::BuiltinType *builtin_ty = reinterpret_cast<const clang::BuiltinType*>(ty); |
| 897 | | switch (builtin_ty->getKind()) { |
| 898 | | case clang::BuiltinType::Void: |
| 870 | const ZigClangBuiltinType *builtin_ty = reinterpret_cast<const ZigClangBuiltinType *>(ty); |
| 871 | switch (ZigClangBuiltinType_getKind(builtin_ty)) { |
| 872 | case ZigClangBuiltinTypeVoid: |
| 899 | 873 | return trans_create_node_symbol_str(c, "c_void"); |
| 900 | | case clang::BuiltinType::Bool: |
| 874 | case ZigClangBuiltinTypeBool: |
| 901 | 875 | return trans_create_node_symbol_str(c, "bool"); |
| 902 | | case clang::BuiltinType::Char_U: |
| 903 | | case clang::BuiltinType::UChar: |
| 904 | | case clang::BuiltinType::Char_S: |
| 905 | | case clang::BuiltinType::Char8: |
| 876 | case ZigClangBuiltinTypeChar_U: |
| 877 | case ZigClangBuiltinTypeUChar: |
| 878 | case ZigClangBuiltinTypeChar_S: |
| 879 | case ZigClangBuiltinTypeChar8: |
| 906 | 880 | return trans_create_node_symbol_str(c, "u8"); |
| 907 | | case clang::BuiltinType::SChar: |
| 881 | case ZigClangBuiltinTypeSChar: |
| 908 | 882 | return trans_create_node_symbol_str(c, "i8"); |
| 909 | | case clang::BuiltinType::UShort: |
| 883 | case ZigClangBuiltinTypeUShort: |
| 910 | 884 | return trans_create_node_symbol_str(c, "c_ushort"); |
| 911 | | case clang::BuiltinType::UInt: |
| 885 | case ZigClangBuiltinTypeUInt: |
| 912 | 886 | return trans_create_node_symbol_str(c, "c_uint"); |
| 913 | | case clang::BuiltinType::ULong: |
| 887 | case ZigClangBuiltinTypeULong: |
| 914 | 888 | return trans_create_node_symbol_str(c, "c_ulong"); |
| 915 | | case clang::BuiltinType::ULongLong: |
| 889 | case ZigClangBuiltinTypeULongLong: |
| 916 | 890 | return trans_create_node_symbol_str(c, "c_ulonglong"); |
| 917 | | case clang::BuiltinType::Short: |
| 891 | case ZigClangBuiltinTypeShort: |
| 918 | 892 | return trans_create_node_symbol_str(c, "c_short"); |
| 919 | | case clang::BuiltinType::Int: |
| 893 | case ZigClangBuiltinTypeInt: |
| 920 | 894 | return trans_create_node_symbol_str(c, "c_int"); |
| 921 | | case clang::BuiltinType::Long: |
| 895 | case ZigClangBuiltinTypeLong: |
| 922 | 896 | return trans_create_node_symbol_str(c, "c_long"); |
| 923 | | case clang::BuiltinType::LongLong: |
| 897 | case ZigClangBuiltinTypeLongLong: |
| 924 | 898 | return trans_create_node_symbol_str(c, "c_longlong"); |
| 925 | | case clang::BuiltinType::UInt128: |
| 899 | case ZigClangBuiltinTypeUInt128: |
| 926 | 900 | return trans_create_node_symbol_str(c, "u128"); |
| 927 | | case clang::BuiltinType::Int128: |
| 901 | case ZigClangBuiltinTypeInt128: |
| 928 | 902 | return trans_create_node_symbol_str(c, "i128"); |
| 929 | | case clang::BuiltinType::Float: |
| 903 | case ZigClangBuiltinTypeFloat: |
| 930 | 904 | return trans_create_node_symbol_str(c, "f32"); |
| 931 | | case clang::BuiltinType::Double: |
| 905 | case ZigClangBuiltinTypeDouble: |
| 932 | 906 | return trans_create_node_symbol_str(c, "f64"); |
| 933 | | case clang::BuiltinType::Float128: |
| 907 | case ZigClangBuiltinTypeFloat128: |
| 934 | 908 | return trans_create_node_symbol_str(c, "f128"); |
| 935 | | case clang::BuiltinType::Float16: |
| 909 | case ZigClangBuiltinTypeFloat16: |
| 936 | 910 | return trans_create_node_symbol_str(c, "f16"); |
| 937 | | case clang::BuiltinType::LongDouble: |
| 911 | case ZigClangBuiltinTypeLongDouble: |
| 938 | 912 | return trans_create_node_symbol_str(c, "c_longdouble"); |
| 939 | | case clang::BuiltinType::WChar_U: |
| 940 | | case clang::BuiltinType::Char16: |
| 941 | | case clang::BuiltinType::Char32: |
| 942 | | case clang::BuiltinType::WChar_S: |
| 943 | | case clang::BuiltinType::Half: |
| 944 | | case clang::BuiltinType::NullPtr: |
| 945 | | case clang::BuiltinType::ObjCId: |
| 946 | | case clang::BuiltinType::ObjCClass: |
| 947 | | case clang::BuiltinType::ObjCSel: |
| 948 | | case clang::BuiltinType::OMPArraySection: |
| 949 | | case clang::BuiltinType::Dependent: |
| 950 | | case clang::BuiltinType::Overload: |
| 951 | | case clang::BuiltinType::BoundMember: |
| 952 | | case clang::BuiltinType::PseudoObject: |
| 953 | | case clang::BuiltinType::UnknownAny: |
| 954 | | case clang::BuiltinType::BuiltinFn: |
| 955 | | case clang::BuiltinType::ARCUnbridgedCast: |
| 956 | | case clang::BuiltinType::ShortAccum: |
| 957 | | case clang::BuiltinType::Accum: |
| 958 | | case clang::BuiltinType::LongAccum: |
| 959 | | case clang::BuiltinType::UShortAccum: |
| 960 | | case clang::BuiltinType::UAccum: |
| 961 | | case clang::BuiltinType::ULongAccum: |
| 962 | | |
| 963 | | case clang::BuiltinType::OCLImage1dRO: |
| 964 | | case clang::BuiltinType::OCLImage1dArrayRO: |
| 965 | | case clang::BuiltinType::OCLImage1dBufferRO: |
| 966 | | case clang::BuiltinType::OCLImage2dRO: |
| 967 | | case clang::BuiltinType::OCLImage2dArrayRO: |
| 968 | | case clang::BuiltinType::OCLImage2dDepthRO: |
| 969 | | case clang::BuiltinType::OCLImage2dArrayDepthRO: |
| 970 | | case clang::BuiltinType::OCLImage2dMSAARO: |
| 971 | | case clang::BuiltinType::OCLImage2dArrayMSAARO: |
| 972 | | case clang::BuiltinType::OCLImage2dMSAADepthRO: |
| 973 | | case clang::BuiltinType::OCLImage2dArrayMSAADepthRO: |
| 974 | | case clang::BuiltinType::OCLImage3dRO: |
| 975 | | case clang::BuiltinType::OCLImage1dWO: |
| 976 | | case clang::BuiltinType::OCLImage1dArrayWO: |
| 977 | | case clang::BuiltinType::OCLImage1dBufferWO: |
| 978 | | case clang::BuiltinType::OCLImage2dWO: |
| 979 | | case clang::BuiltinType::OCLImage2dArrayWO: |
| 980 | | case clang::BuiltinType::OCLImage2dDepthWO: |
| 981 | | case clang::BuiltinType::OCLImage2dArrayDepthWO: |
| 982 | | case clang::BuiltinType::OCLImage2dMSAAWO: |
| 983 | | case clang::BuiltinType::OCLImage2dArrayMSAAWO: |
| 984 | | case clang::BuiltinType::OCLImage2dMSAADepthWO: |
| 985 | | case clang::BuiltinType::OCLImage2dArrayMSAADepthWO: |
| 986 | | case clang::BuiltinType::OCLImage3dWO: |
| 987 | | case clang::BuiltinType::OCLImage1dRW: |
| 988 | | case clang::BuiltinType::OCLImage1dArrayRW: |
| 989 | | case clang::BuiltinType::OCLImage1dBufferRW: |
| 990 | | case clang::BuiltinType::OCLImage2dRW: |
| 991 | | case clang::BuiltinType::OCLImage2dArrayRW: |
| 992 | | case clang::BuiltinType::OCLImage2dDepthRW: |
| 993 | | case clang::BuiltinType::OCLImage2dArrayDepthRW: |
| 994 | | case clang::BuiltinType::OCLImage2dMSAARW: |
| 995 | | case clang::BuiltinType::OCLImage2dArrayMSAARW: |
| 996 | | case clang::BuiltinType::OCLImage2dMSAADepthRW: |
| 997 | | case clang::BuiltinType::OCLImage2dArrayMSAADepthRW: |
| 998 | | case clang::BuiltinType::OCLImage3dRW: |
| 999 | | case clang::BuiltinType::OCLSampler: |
| 1000 | | case clang::BuiltinType::OCLEvent: |
| 1001 | | case clang::BuiltinType::OCLClkEvent: |
| 1002 | | case clang::BuiltinType::OCLQueue: |
| 1003 | | case clang::BuiltinType::OCLReserveID: |
| 1004 | | case clang::BuiltinType::ShortFract: |
| 1005 | | case clang::BuiltinType::Fract: |
| 1006 | | case clang::BuiltinType::LongFract: |
| 1007 | | case clang::BuiltinType::UShortFract: |
| 1008 | | case clang::BuiltinType::UFract: |
| 1009 | | case clang::BuiltinType::ULongFract: |
| 1010 | | case clang::BuiltinType::SatShortAccum: |
| 1011 | | case clang::BuiltinType::SatAccum: |
| 1012 | | case clang::BuiltinType::SatLongAccum: |
| 1013 | | case clang::BuiltinType::SatUShortAccum: |
| 1014 | | case clang::BuiltinType::SatUAccum: |
| 1015 | | case clang::BuiltinType::SatULongAccum: |
| 1016 | | case clang::BuiltinType::SatShortFract: |
| 1017 | | case clang::BuiltinType::SatFract: |
| 1018 | | case clang::BuiltinType::SatLongFract: |
| 1019 | | case clang::BuiltinType::SatUShortFract: |
| 1020 | | case clang::BuiltinType::SatUFract: |
| 1021 | | case clang::BuiltinType::SatULongFract: |
| 1022 | | case clang::BuiltinType::OCLIntelSubgroupAVCMcePayload: |
| 1023 | | case clang::BuiltinType::OCLIntelSubgroupAVCImePayload: |
| 1024 | | case clang::BuiltinType::OCLIntelSubgroupAVCRefPayload: |
| 1025 | | case clang::BuiltinType::OCLIntelSubgroupAVCSicPayload: |
| 1026 | | case clang::BuiltinType::OCLIntelSubgroupAVCMceResult: |
| 1027 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeResult: |
| 1028 | | case clang::BuiltinType::OCLIntelSubgroupAVCRefResult: |
| 1029 | | case clang::BuiltinType::OCLIntelSubgroupAVCSicResult: |
| 1030 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeResultSingleRefStreamout: |
| 1031 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeResultDualRefStreamout: |
| 1032 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeSingleRefStreamin: |
| 1033 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeDualRefStreamin: |
| 913 | case ZigClangBuiltinTypeWChar_U: |
| 914 | case ZigClangBuiltinTypeChar16: |
| 915 | case ZigClangBuiltinTypeChar32: |
| 916 | case ZigClangBuiltinTypeWChar_S: |
| 917 | case ZigClangBuiltinTypeHalf: |
| 918 | case ZigClangBuiltinTypeNullPtr: |
| 919 | case ZigClangBuiltinTypeObjCId: |
| 920 | case ZigClangBuiltinTypeObjCClass: |
| 921 | case ZigClangBuiltinTypeObjCSel: |
| 922 | case ZigClangBuiltinTypeOMPArraySection: |
| 923 | case ZigClangBuiltinTypeDependent: |
| 924 | case ZigClangBuiltinTypeOverload: |
| 925 | case ZigClangBuiltinTypeBoundMember: |
| 926 | case ZigClangBuiltinTypePseudoObject: |
| 927 | case ZigClangBuiltinTypeUnknownAny: |
| 928 | case ZigClangBuiltinTypeBuiltinFn: |
| 929 | case ZigClangBuiltinTypeARCUnbridgedCast: |
| 930 | case ZigClangBuiltinTypeShortAccum: |
| 931 | case ZigClangBuiltinTypeAccum: |
| 932 | case ZigClangBuiltinTypeLongAccum: |
| 933 | case ZigClangBuiltinTypeUShortAccum: |
| 934 | case ZigClangBuiltinTypeUAccum: |
| 935 | case ZigClangBuiltinTypeULongAccum: |
| 936 | |
| 937 | case ZigClangBuiltinTypeOCLImage1dRO: |
| 938 | case ZigClangBuiltinTypeOCLImage1dArrayRO: |
| 939 | case ZigClangBuiltinTypeOCLImage1dBufferRO: |
| 940 | case ZigClangBuiltinTypeOCLImage2dRO: |
| 941 | case ZigClangBuiltinTypeOCLImage2dArrayRO: |
| 942 | case ZigClangBuiltinTypeOCLImage2dDepthRO: |
| 943 | case ZigClangBuiltinTypeOCLImage2dArrayDepthRO: |
| 944 | case ZigClangBuiltinTypeOCLImage2dMSAARO: |
| 945 | case ZigClangBuiltinTypeOCLImage2dArrayMSAARO: |
| 946 | case ZigClangBuiltinTypeOCLImage2dMSAADepthRO: |
| 947 | case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthRO: |
| 948 | case ZigClangBuiltinTypeOCLImage3dRO: |
| 949 | case ZigClangBuiltinTypeOCLImage1dWO: |
| 950 | case ZigClangBuiltinTypeOCLImage1dArrayWO: |
| 951 | case ZigClangBuiltinTypeOCLImage1dBufferWO: |
| 952 | case ZigClangBuiltinTypeOCLImage2dWO: |
| 953 | case ZigClangBuiltinTypeOCLImage2dArrayWO: |
| 954 | case ZigClangBuiltinTypeOCLImage2dDepthWO: |
| 955 | case ZigClangBuiltinTypeOCLImage2dArrayDepthWO: |
| 956 | case ZigClangBuiltinTypeOCLImage2dMSAAWO: |
| 957 | case ZigClangBuiltinTypeOCLImage2dArrayMSAAWO: |
| 958 | case ZigClangBuiltinTypeOCLImage2dMSAADepthWO: |
| 959 | case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthWO: |
| 960 | case ZigClangBuiltinTypeOCLImage3dWO: |
| 961 | case ZigClangBuiltinTypeOCLImage1dRW: |
| 962 | case ZigClangBuiltinTypeOCLImage1dArrayRW: |
| 963 | case ZigClangBuiltinTypeOCLImage1dBufferRW: |
| 964 | case ZigClangBuiltinTypeOCLImage2dRW: |
| 965 | case ZigClangBuiltinTypeOCLImage2dArrayRW: |
| 966 | case ZigClangBuiltinTypeOCLImage2dDepthRW: |
| 967 | case ZigClangBuiltinTypeOCLImage2dArrayDepthRW: |
| 968 | case ZigClangBuiltinTypeOCLImage2dMSAARW: |
| 969 | case ZigClangBuiltinTypeOCLImage2dArrayMSAARW: |
| 970 | case ZigClangBuiltinTypeOCLImage2dMSAADepthRW: |
| 971 | case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthRW: |
| 972 | case ZigClangBuiltinTypeOCLImage3dRW: |
| 973 | case ZigClangBuiltinTypeOCLSampler: |
| 974 | case ZigClangBuiltinTypeOCLEvent: |
| 975 | case ZigClangBuiltinTypeOCLClkEvent: |
| 976 | case ZigClangBuiltinTypeOCLQueue: |
| 977 | case ZigClangBuiltinTypeOCLReserveID: |
| 978 | case ZigClangBuiltinTypeShortFract: |
| 979 | case ZigClangBuiltinTypeFract: |
| 980 | case ZigClangBuiltinTypeLongFract: |
| 981 | case ZigClangBuiltinTypeUShortFract: |
| 982 | case ZigClangBuiltinTypeUFract: |
| 983 | case ZigClangBuiltinTypeULongFract: |
| 984 | case ZigClangBuiltinTypeSatShortAccum: |
| 985 | case ZigClangBuiltinTypeSatAccum: |
| 986 | case ZigClangBuiltinTypeSatLongAccum: |
| 987 | case ZigClangBuiltinTypeSatUShortAccum: |
| 988 | case ZigClangBuiltinTypeSatUAccum: |
| 989 | case ZigClangBuiltinTypeSatULongAccum: |
| 990 | case ZigClangBuiltinTypeSatShortFract: |
| 991 | case ZigClangBuiltinTypeSatFract: |
| 992 | case ZigClangBuiltinTypeSatLongFract: |
| 993 | case ZigClangBuiltinTypeSatUShortFract: |
| 994 | case ZigClangBuiltinTypeSatUFract: |
| 995 | case ZigClangBuiltinTypeSatULongFract: |
| 996 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCMcePayload: |
| 997 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImePayload: |
| 998 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCRefPayload: |
| 999 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCSicPayload: |
| 1000 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCMceResult: |
| 1001 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResult: |
| 1002 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCRefResult: |
| 1003 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCSicResult: |
| 1004 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultSingleRefStreamout: |
| 1005 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout: |
| 1006 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin: |
| 1007 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin: |
| 1034 | 1008 | emit_warning(c, source_loc, "unsupported builtin type"); |
| 1035 | 1009 | return nullptr; |
| 1036 | 1010 | } |
| ... | ... | @@ -2729,128 +2703,128 @@ static AstNode *trans_bool_expr(Context *c, ResultUsed result_used, TransScope * |
| 2729 | 2703 | switch (classs) { |
| 2730 | 2704 | case ZigClangType_Builtin: |
| 2731 | 2705 | { |
| 2732 | | const clang::BuiltinType *builtin_ty = reinterpret_cast<const clang::BuiltinType*>(ty); |
| 2733 | | switch (builtin_ty->getKind()) { |
| 2734 | | case clang::BuiltinType::Bool: |
| 2735 | | case clang::BuiltinType::Char_U: |
| 2736 | | case clang::BuiltinType::UChar: |
| 2737 | | case clang::BuiltinType::Char_S: |
| 2738 | | case clang::BuiltinType::SChar: |
| 2739 | | case clang::BuiltinType::UShort: |
| 2740 | | case clang::BuiltinType::UInt: |
| 2741 | | case clang::BuiltinType::ULong: |
| 2742 | | case clang::BuiltinType::ULongLong: |
| 2743 | | case clang::BuiltinType::Short: |
| 2744 | | case clang::BuiltinType::Int: |
| 2745 | | case clang::BuiltinType::Long: |
| 2746 | | case clang::BuiltinType::LongLong: |
| 2747 | | case clang::BuiltinType::UInt128: |
| 2748 | | case clang::BuiltinType::Int128: |
| 2749 | | case clang::BuiltinType::Float: |
| 2750 | | case clang::BuiltinType::Double: |
| 2751 | | case clang::BuiltinType::Float128: |
| 2752 | | case clang::BuiltinType::LongDouble: |
| 2753 | | case clang::BuiltinType::WChar_U: |
| 2754 | | case clang::BuiltinType::Char8: |
| 2755 | | case clang::BuiltinType::Char16: |
| 2756 | | case clang::BuiltinType::Char32: |
| 2757 | | case clang::BuiltinType::WChar_S: |
| 2758 | | case clang::BuiltinType::Float16: |
| 2706 | const ZigClangBuiltinType *builtin_ty = reinterpret_cast<const ZigClangBuiltinType*>(ty); |
| 2707 | switch (ZigClangBuiltinType_getKind(builtin_ty)) { |
| 2708 | case ZigClangBuiltinTypeBool: |
| 2709 | case ZigClangBuiltinTypeChar_U: |
| 2710 | case ZigClangBuiltinTypeUChar: |
| 2711 | case ZigClangBuiltinTypeChar_S: |
| 2712 | case ZigClangBuiltinTypeSChar: |
| 2713 | case ZigClangBuiltinTypeUShort: |
| 2714 | case ZigClangBuiltinTypeUInt: |
| 2715 | case ZigClangBuiltinTypeULong: |
| 2716 | case ZigClangBuiltinTypeULongLong: |
| 2717 | case ZigClangBuiltinTypeShort: |
| 2718 | case ZigClangBuiltinTypeInt: |
| 2719 | case ZigClangBuiltinTypeLong: |
| 2720 | case ZigClangBuiltinTypeLongLong: |
| 2721 | case ZigClangBuiltinTypeUInt128: |
| 2722 | case ZigClangBuiltinTypeInt128: |
| 2723 | case ZigClangBuiltinTypeFloat: |
| 2724 | case ZigClangBuiltinTypeDouble: |
| 2725 | case ZigClangBuiltinTypeFloat128: |
| 2726 | case ZigClangBuiltinTypeLongDouble: |
| 2727 | case ZigClangBuiltinTypeWChar_U: |
| 2728 | case ZigClangBuiltinTypeChar8: |
| 2729 | case ZigClangBuiltinTypeChar16: |
| 2730 | case ZigClangBuiltinTypeChar32: |
| 2731 | case ZigClangBuiltinTypeWChar_S: |
| 2732 | case ZigClangBuiltinTypeFloat16: |
| 2759 | 2733 | return trans_create_node_bin_op(c, res, BinOpTypeCmpNotEq, trans_create_node_unsigned_negative(c, 0, false)); |
| 2760 | | case clang::BuiltinType::NullPtr: |
| 2734 | case ZigClangBuiltinTypeNullPtr: |
| 2761 | 2735 | return trans_create_node_bin_op(c, res, BinOpTypeCmpNotEq, |
| 2762 | 2736 | trans_create_node(c, NodeTypeNullLiteral)); |
| 2763 | 2737 | |
| 2764 | | case clang::BuiltinType::Void: |
| 2765 | | case clang::BuiltinType::Half: |
| 2766 | | case clang::BuiltinType::ObjCId: |
| 2767 | | case clang::BuiltinType::ObjCClass: |
| 2768 | | case clang::BuiltinType::ObjCSel: |
| 2769 | | case clang::BuiltinType::OMPArraySection: |
| 2770 | | case clang::BuiltinType::Dependent: |
| 2771 | | case clang::BuiltinType::Overload: |
| 2772 | | case clang::BuiltinType::BoundMember: |
| 2773 | | case clang::BuiltinType::PseudoObject: |
| 2774 | | case clang::BuiltinType::UnknownAny: |
| 2775 | | case clang::BuiltinType::BuiltinFn: |
| 2776 | | case clang::BuiltinType::ARCUnbridgedCast: |
| 2777 | | case clang::BuiltinType::OCLImage1dRO: |
| 2778 | | case clang::BuiltinType::OCLImage1dArrayRO: |
| 2779 | | case clang::BuiltinType::OCLImage1dBufferRO: |
| 2780 | | case clang::BuiltinType::OCLImage2dRO: |
| 2781 | | case clang::BuiltinType::OCLImage2dArrayRO: |
| 2782 | | case clang::BuiltinType::OCLImage2dDepthRO: |
| 2783 | | case clang::BuiltinType::OCLImage2dArrayDepthRO: |
| 2784 | | case clang::BuiltinType::OCLImage2dMSAARO: |
| 2785 | | case clang::BuiltinType::OCLImage2dArrayMSAARO: |
| 2786 | | case clang::BuiltinType::OCLImage2dMSAADepthRO: |
| 2787 | | case clang::BuiltinType::OCLImage2dArrayMSAADepthRO: |
| 2788 | | case clang::BuiltinType::OCLImage3dRO: |
| 2789 | | case clang::BuiltinType::OCLImage1dWO: |
| 2790 | | case clang::BuiltinType::OCLImage1dArrayWO: |
| 2791 | | case clang::BuiltinType::OCLImage1dBufferWO: |
| 2792 | | case clang::BuiltinType::OCLImage2dWO: |
| 2793 | | case clang::BuiltinType::OCLImage2dArrayWO: |
| 2794 | | case clang::BuiltinType::OCLImage2dDepthWO: |
| 2795 | | case clang::BuiltinType::OCLImage2dArrayDepthWO: |
| 2796 | | case clang::BuiltinType::OCLImage2dMSAAWO: |
| 2797 | | case clang::BuiltinType::OCLImage2dArrayMSAAWO: |
| 2798 | | case clang::BuiltinType::OCLImage2dMSAADepthWO: |
| 2799 | | case clang::BuiltinType::OCLImage2dArrayMSAADepthWO: |
| 2800 | | case clang::BuiltinType::OCLImage3dWO: |
| 2801 | | case clang::BuiltinType::OCLImage1dRW: |
| 2802 | | case clang::BuiltinType::OCLImage1dArrayRW: |
| 2803 | | case clang::BuiltinType::OCLImage1dBufferRW: |
| 2804 | | case clang::BuiltinType::OCLImage2dRW: |
| 2805 | | case clang::BuiltinType::OCLImage2dArrayRW: |
| 2806 | | case clang::BuiltinType::OCLImage2dDepthRW: |
| 2807 | | case clang::BuiltinType::OCLImage2dArrayDepthRW: |
| 2808 | | case clang::BuiltinType::OCLImage2dMSAARW: |
| 2809 | | case clang::BuiltinType::OCLImage2dArrayMSAARW: |
| 2810 | | case clang::BuiltinType::OCLImage2dMSAADepthRW: |
| 2811 | | case clang::BuiltinType::OCLImage2dArrayMSAADepthRW: |
| 2812 | | case clang::BuiltinType::OCLImage3dRW: |
| 2813 | | case clang::BuiltinType::OCLSampler: |
| 2814 | | case clang::BuiltinType::OCLEvent: |
| 2815 | | case clang::BuiltinType::OCLClkEvent: |
| 2816 | | case clang::BuiltinType::OCLQueue: |
| 2817 | | case clang::BuiltinType::OCLReserveID: |
| 2818 | | case clang::BuiltinType::ShortAccum: |
| 2819 | | case clang::BuiltinType::Accum: |
| 2820 | | case clang::BuiltinType::LongAccum: |
| 2821 | | case clang::BuiltinType::UShortAccum: |
| 2822 | | case clang::BuiltinType::UAccum: |
| 2823 | | case clang::BuiltinType::ULongAccum: |
| 2824 | | case clang::BuiltinType::ShortFract: |
| 2825 | | case clang::BuiltinType::Fract: |
| 2826 | | case clang::BuiltinType::LongFract: |
| 2827 | | case clang::BuiltinType::UShortFract: |
| 2828 | | case clang::BuiltinType::UFract: |
| 2829 | | case clang::BuiltinType::ULongFract: |
| 2830 | | case clang::BuiltinType::SatShortAccum: |
| 2831 | | case clang::BuiltinType::SatAccum: |
| 2832 | | case clang::BuiltinType::SatLongAccum: |
| 2833 | | case clang::BuiltinType::SatUShortAccum: |
| 2834 | | case clang::BuiltinType::SatUAccum: |
| 2835 | | case clang::BuiltinType::SatULongAccum: |
| 2836 | | case clang::BuiltinType::SatShortFract: |
| 2837 | | case clang::BuiltinType::SatFract: |
| 2838 | | case clang::BuiltinType::SatLongFract: |
| 2839 | | case clang::BuiltinType::SatUShortFract: |
| 2840 | | case clang::BuiltinType::SatUFract: |
| 2841 | | case clang::BuiltinType::SatULongFract: |
| 2842 | | case clang::BuiltinType::OCLIntelSubgroupAVCMcePayload: |
| 2843 | | case clang::BuiltinType::OCLIntelSubgroupAVCImePayload: |
| 2844 | | case clang::BuiltinType::OCLIntelSubgroupAVCRefPayload: |
| 2845 | | case clang::BuiltinType::OCLIntelSubgroupAVCSicPayload: |
| 2846 | | case clang::BuiltinType::OCLIntelSubgroupAVCMceResult: |
| 2847 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeResult: |
| 2848 | | case clang::BuiltinType::OCLIntelSubgroupAVCRefResult: |
| 2849 | | case clang::BuiltinType::OCLIntelSubgroupAVCSicResult: |
| 2850 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeResultSingleRefStreamout: |
| 2851 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeResultDualRefStreamout: |
| 2852 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeSingleRefStreamin: |
| 2853 | | case clang::BuiltinType::OCLIntelSubgroupAVCImeDualRefStreamin: |
| 2738 | case ZigClangBuiltinTypeVoid: |
| 2739 | case ZigClangBuiltinTypeHalf: |
| 2740 | case ZigClangBuiltinTypeObjCId: |
| 2741 | case ZigClangBuiltinTypeObjCClass: |
| 2742 | case ZigClangBuiltinTypeObjCSel: |
| 2743 | case ZigClangBuiltinTypeOMPArraySection: |
| 2744 | case ZigClangBuiltinTypeDependent: |
| 2745 | case ZigClangBuiltinTypeOverload: |
| 2746 | case ZigClangBuiltinTypeBoundMember: |
| 2747 | case ZigClangBuiltinTypePseudoObject: |
| 2748 | case ZigClangBuiltinTypeUnknownAny: |
| 2749 | case ZigClangBuiltinTypeBuiltinFn: |
| 2750 | case ZigClangBuiltinTypeARCUnbridgedCast: |
| 2751 | case ZigClangBuiltinTypeOCLImage1dRO: |
| 2752 | case ZigClangBuiltinTypeOCLImage1dArrayRO: |
| 2753 | case ZigClangBuiltinTypeOCLImage1dBufferRO: |
| 2754 | case ZigClangBuiltinTypeOCLImage2dRO: |
| 2755 | case ZigClangBuiltinTypeOCLImage2dArrayRO: |
| 2756 | case ZigClangBuiltinTypeOCLImage2dDepthRO: |
| 2757 | case ZigClangBuiltinTypeOCLImage2dArrayDepthRO: |
| 2758 | case ZigClangBuiltinTypeOCLImage2dMSAARO: |
| 2759 | case ZigClangBuiltinTypeOCLImage2dArrayMSAARO: |
| 2760 | case ZigClangBuiltinTypeOCLImage2dMSAADepthRO: |
| 2761 | case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthRO: |
| 2762 | case ZigClangBuiltinTypeOCLImage3dRO: |
| 2763 | case ZigClangBuiltinTypeOCLImage1dWO: |
| 2764 | case ZigClangBuiltinTypeOCLImage1dArrayWO: |
| 2765 | case ZigClangBuiltinTypeOCLImage1dBufferWO: |
| 2766 | case ZigClangBuiltinTypeOCLImage2dWO: |
| 2767 | case ZigClangBuiltinTypeOCLImage2dArrayWO: |
| 2768 | case ZigClangBuiltinTypeOCLImage2dDepthWO: |
| 2769 | case ZigClangBuiltinTypeOCLImage2dArrayDepthWO: |
| 2770 | case ZigClangBuiltinTypeOCLImage2dMSAAWO: |
| 2771 | case ZigClangBuiltinTypeOCLImage2dArrayMSAAWO: |
| 2772 | case ZigClangBuiltinTypeOCLImage2dMSAADepthWO: |
| 2773 | case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthWO: |
| 2774 | case ZigClangBuiltinTypeOCLImage3dWO: |
| 2775 | case ZigClangBuiltinTypeOCLImage1dRW: |
| 2776 | case ZigClangBuiltinTypeOCLImage1dArrayRW: |
| 2777 | case ZigClangBuiltinTypeOCLImage1dBufferRW: |
| 2778 | case ZigClangBuiltinTypeOCLImage2dRW: |
| 2779 | case ZigClangBuiltinTypeOCLImage2dArrayRW: |
| 2780 | case ZigClangBuiltinTypeOCLImage2dDepthRW: |
| 2781 | case ZigClangBuiltinTypeOCLImage2dArrayDepthRW: |
| 2782 | case ZigClangBuiltinTypeOCLImage2dMSAARW: |
| 2783 | case ZigClangBuiltinTypeOCLImage2dArrayMSAARW: |
| 2784 | case ZigClangBuiltinTypeOCLImage2dMSAADepthRW: |
| 2785 | case ZigClangBuiltinTypeOCLImage2dArrayMSAADepthRW: |
| 2786 | case ZigClangBuiltinTypeOCLImage3dRW: |
| 2787 | case ZigClangBuiltinTypeOCLSampler: |
| 2788 | case ZigClangBuiltinTypeOCLEvent: |
| 2789 | case ZigClangBuiltinTypeOCLClkEvent: |
| 2790 | case ZigClangBuiltinTypeOCLQueue: |
| 2791 | case ZigClangBuiltinTypeOCLReserveID: |
| 2792 | case ZigClangBuiltinTypeShortAccum: |
| 2793 | case ZigClangBuiltinTypeAccum: |
| 2794 | case ZigClangBuiltinTypeLongAccum: |
| 2795 | case ZigClangBuiltinTypeUShortAccum: |
| 2796 | case ZigClangBuiltinTypeUAccum: |
| 2797 | case ZigClangBuiltinTypeULongAccum: |
| 2798 | case ZigClangBuiltinTypeShortFract: |
| 2799 | case ZigClangBuiltinTypeFract: |
| 2800 | case ZigClangBuiltinTypeLongFract: |
| 2801 | case ZigClangBuiltinTypeUShortFract: |
| 2802 | case ZigClangBuiltinTypeUFract: |
| 2803 | case ZigClangBuiltinTypeULongFract: |
| 2804 | case ZigClangBuiltinTypeSatShortAccum: |
| 2805 | case ZigClangBuiltinTypeSatAccum: |
| 2806 | case ZigClangBuiltinTypeSatLongAccum: |
| 2807 | case ZigClangBuiltinTypeSatUShortAccum: |
| 2808 | case ZigClangBuiltinTypeSatUAccum: |
| 2809 | case ZigClangBuiltinTypeSatULongAccum: |
| 2810 | case ZigClangBuiltinTypeSatShortFract: |
| 2811 | case ZigClangBuiltinTypeSatFract: |
| 2812 | case ZigClangBuiltinTypeSatLongFract: |
| 2813 | case ZigClangBuiltinTypeSatUShortFract: |
| 2814 | case ZigClangBuiltinTypeSatUFract: |
| 2815 | case ZigClangBuiltinTypeSatULongFract: |
| 2816 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCMcePayload: |
| 2817 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImePayload: |
| 2818 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCRefPayload: |
| 2819 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCSicPayload: |
| 2820 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCMceResult: |
| 2821 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResult: |
| 2822 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCRefResult: |
| 2823 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCSicResult: |
| 2824 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultSingleRefStreamout: |
| 2825 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout: |
| 2826 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin: |
| 2827 | case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin: |
| 2854 | 2828 | return res; |
| 2855 | 2829 | } |
| 2856 | 2830 | break; |
| ... | ... | @@ -4268,8 +4242,8 @@ static AstNode *resolve_enum_decl(Context *c, const ZigClangEnumDecl *enum_decl) |
| 4268 | 4242 | // TODO only emit this tag type if the enum tag type is not the default. |
| 4269 | 4243 | // I don't know what the default is, need to figure out how clang is deciding. |
| 4270 | 4244 | // it appears to at least be different across gcc/msvc |
| 4271 | | if (!c_is_builtin_type(c, ZigClangEnumDecl_getIntegerType(enum_decl), clang::BuiltinType::UInt) && |
| 4272 | | !c_is_builtin_type(c, ZigClangEnumDecl_getIntegerType(enum_decl), clang::BuiltinType::Int)) |
| 4245 | if (!c_is_builtin_type(c, ZigClangEnumDecl_getIntegerType(enum_decl), ZigClangBuiltinTypeUInt) && |
| 4246 | !c_is_builtin_type(c, ZigClangEnumDecl_getIntegerType(enum_decl), ZigClangBuiltinTypeInt)) |
| 4273 | 4247 | { |
| 4274 | 4248 | enum_node->data.container_decl.init_arg_expr = tag_int_type; |
| 4275 | 4249 | } |