authorgravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2019-10-12 16:15:58+02:00
committergravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2019-10-12 16:15:58+02:00
log6439759298c13c884e92a59fbcba6fe20d81ced5
treee3678d0090d38c4d7af97b46f6e4b92939d527eb
parent8a36064c9695a82974d7ea87728bd70db77ae6da

Add/shuffle several enum members to match Clang's API


3 files changed, 131 insertions(+), 71 deletions(-)

src/translate_c.cpp+24
......@@ -1038,6 +1038,18 @@ static AstNode *trans_type(Context *c, const ZigClangType *ty, ZigClangSourceLoc
10381038 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout:
10391039 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin:
10401040 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin:
1041 case ZigClangBuiltinTypeSveInt8:
1042 case ZigClangBuiltinTypeSveInt16:
1043 case ZigClangBuiltinTypeSveInt32:
1044 case ZigClangBuiltinTypeSveInt64:
1045 case ZigClangBuiltinTypeSveUint8:
1046 case ZigClangBuiltinTypeSveUint16:
1047 case ZigClangBuiltinTypeSveUint32:
1048 case ZigClangBuiltinTypeSveUint64:
1049 case ZigClangBuiltinTypeSveFloat16:
1050 case ZigClangBuiltinTypeSveFloat32:
1051 case ZigClangBuiltinTypeSveFloat64:
1052 case ZigClangBuiltinTypeSveBool:
10411053 emit_warning(c, source_loc, "unsupported builtin type");
10421054 return nullptr;
10431055 }
......@@ -2900,6 +2912,18 @@ static AstNode *trans_bool_expr(Context *c, ResultUsed result_used, TransScope *
29002912 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout:
29012913 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin:
29022914 case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin:
2915 case ZigClangBuiltinTypeSveInt8:
2916 case ZigClangBuiltinTypeSveInt16:
2917 case ZigClangBuiltinTypeSveInt32:
2918 case ZigClangBuiltinTypeSveInt64:
2919 case ZigClangBuiltinTypeSveUint8:
2920 case ZigClangBuiltinTypeSveUint16:
2921 case ZigClangBuiltinTypeSveUint32:
2922 case ZigClangBuiltinTypeSveUint64:
2923 case ZigClangBuiltinTypeSveFloat16:
2924 case ZigClangBuiltinTypeSveFloat32:
2925 case ZigClangBuiltinTypeSveFloat64:
2926 case ZigClangBuiltinTypeSveBool:
29032927 return res;
29042928 }
29052929 break;
src/zig_clang.cpp+59-35
......@@ -325,54 +325,54 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
325325 }
326326}
327327
328static_assert((clang::Type::TypeClass)ZigClangType_Adjusted == clang::Type::Adjusted, "");
329static_assert((clang::Type::TypeClass)ZigClangType_Atomic == clang::Type::Atomic, "");
330static_assert((clang::Type::TypeClass)ZigClangType_Attributed == clang::Type::Attributed, "");
331static_assert((clang::Type::TypeClass)ZigClangType_Auto == clang::Type::Auto, "");
332static_assert((clang::Type::TypeClass)ZigClangType_BlockPointer == clang::Type::BlockPointer, "");
328333static_assert((clang::Type::TypeClass)ZigClangType_Builtin == clang::Type::Builtin, "");
329334static_assert((clang::Type::TypeClass)ZigClangType_Complex == clang::Type::Complex, "");
330static_assert((clang::Type::TypeClass)ZigClangType_Pointer == clang::Type::Pointer, "");
331static_assert((clang::Type::TypeClass)ZigClangType_BlockPointer == clang::Type::BlockPointer, "");
332static_assert((clang::Type::TypeClass)ZigClangType_LValueReference == clang::Type::LValueReference, "");
333static_assert((clang::Type::TypeClass)ZigClangType_RValueReference == clang::Type::RValueReference, "");
334static_assert((clang::Type::TypeClass)ZigClangType_MemberPointer == clang::Type::MemberPointer, "");
335335static_assert((clang::Type::TypeClass)ZigClangType_ConstantArray == clang::Type::ConstantArray, "");
336static_assert((clang::Type::TypeClass)ZigClangType_IncompleteArray == clang::Type::IncompleteArray, "");
337static_assert((clang::Type::TypeClass)ZigClangType_VariableArray == clang::Type::VariableArray, "");
336static_assert((clang::Type::TypeClass)ZigClangType_Decayed == clang::Type::Decayed, "");
337static_assert((clang::Type::TypeClass)ZigClangType_Decltype == clang::Type::Decltype, "");
338static_assert((clang::Type::TypeClass)ZigClangType_DeducedTemplateSpecialization == clang::Type::DeducedTemplateSpecialization, "");
339static_assert((clang::Type::TypeClass)ZigClangType_DependentAddressSpace == clang::Type::DependentAddressSpace, "");
340static_assert((clang::Type::TypeClass)ZigClangType_DependentName == clang::Type::DependentName, "");
338341static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedArray == clang::Type::DependentSizedArray, "");
339342static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedExtVector == clang::Type::DependentSizedExtVector, "");
340static_assert((clang::Type::TypeClass)ZigClangType_DependentAddressSpace == clang::Type::DependentAddressSpace, "");
341static_assert((clang::Type::TypeClass)ZigClangType_Vector == clang::Type::Vector, "");
343static_assert((clang::Type::TypeClass)ZigClangType_DependentTemplateSpecialization == clang::Type::DependentTemplateSpecialization, "");
342344static_assert((clang::Type::TypeClass)ZigClangType_DependentVector == clang::Type::DependentVector, "");
345static_assert((clang::Type::TypeClass)ZigClangType_Elaborated == clang::Type::Elaborated, "");
346static_assert((clang::Type::TypeClass)ZigClangType_Enum == clang::Type::Enum, "");
343347static_assert((clang::Type::TypeClass)ZigClangType_ExtVector == clang::Type::ExtVector, "");
344static_assert((clang::Type::TypeClass)ZigClangType_FunctionProto == clang::Type::FunctionProto, "");
345348static_assert((clang::Type::TypeClass)ZigClangType_FunctionNoProto == clang::Type::FunctionNoProto, "");
346static_assert((clang::Type::TypeClass)ZigClangType_UnresolvedUsing == clang::Type::UnresolvedUsing, "");
347static_assert((clang::Type::TypeClass)ZigClangType_Paren == clang::Type::Paren, "");
348static_assert((clang::Type::TypeClass)ZigClangType_Typedef == clang::Type::Typedef, "");
349static_assert((clang::Type::TypeClass)ZigClangType_FunctionProto == clang::Type::FunctionProto, "");
350static_assert((clang::Type::TypeClass)ZigClangType_IncompleteArray == clang::Type::IncompleteArray, "");
351static_assert((clang::Type::TypeClass)ZigClangType_InjectedClassName == clang::Type::InjectedClassName, "");
352static_assert((clang::Type::TypeClass)ZigClangType_LValueReference == clang::Type::LValueReference, "");
349353static_assert((clang::Type::TypeClass)ZigClangType_MacroQualified == clang::Type::MacroQualified, "");
350static_assert((clang::Type::TypeClass)ZigClangType_Adjusted == clang::Type::Adjusted, "");
351static_assert((clang::Type::TypeClass)ZigClangType_Decayed == clang::Type::Decayed, "");
352static_assert((clang::Type::TypeClass)ZigClangType_TypeOfExpr == clang::Type::TypeOfExpr, "");
353static_assert((clang::Type::TypeClass)ZigClangType_TypeOf == clang::Type::TypeOf, "");
354static_assert((clang::Type::TypeClass)ZigClangType_Decltype == clang::Type::Decltype, "");
355static_assert((clang::Type::TypeClass)ZigClangType_UnaryTransform == clang::Type::UnaryTransform, "");
354static_assert((clang::Type::TypeClass)ZigClangType_MemberPointer == clang::Type::MemberPointer, "");
355static_assert((clang::Type::TypeClass)ZigClangType_ObjCInterface == clang::Type::ObjCInterface, "");
356static_assert((clang::Type::TypeClass)ZigClangType_ObjCObject == clang::Type::ObjCObject, "");
357static_assert((clang::Type::TypeClass)ZigClangType_ObjCObjectPointer == clang::Type::ObjCObjectPointer, "");
358static_assert((clang::Type::TypeClass)ZigClangType_ObjCTypeParam == clang::Type::ObjCTypeParam, "");
359static_assert((clang::Type::TypeClass)ZigClangType_PackExpansion == clang::Type::PackExpansion, "");
360static_assert((clang::Type::TypeClass)ZigClangType_Paren == clang::Type::Paren, "");
361static_assert((clang::Type::TypeClass)ZigClangType_Pipe == clang::Type::Pipe, "");
362static_assert((clang::Type::TypeClass)ZigClangType_Pointer == clang::Type::Pointer, "");
363static_assert((clang::Type::TypeClass)ZigClangType_RValueReference == clang::Type::RValueReference, "");
356364static_assert((clang::Type::TypeClass)ZigClangType_Record == clang::Type::Record, "");
357static_assert((clang::Type::TypeClass)ZigClangType_Enum == clang::Type::Enum, "");
358static_assert((clang::Type::TypeClass)ZigClangType_Elaborated == clang::Type::Elaborated, "");
359static_assert((clang::Type::TypeClass)ZigClangType_Attributed == clang::Type::Attributed, "");
360static_assert((clang::Type::TypeClass)ZigClangType_TemplateTypeParm == clang::Type::TemplateTypeParm, "");
361365static_assert((clang::Type::TypeClass)ZigClangType_SubstTemplateTypeParm == clang::Type::SubstTemplateTypeParm, "");
362366static_assert((clang::Type::TypeClass)ZigClangType_SubstTemplateTypeParmPack == clang::Type::SubstTemplateTypeParmPack, "");
363367static_assert((clang::Type::TypeClass)ZigClangType_TemplateSpecialization == clang::Type::TemplateSpecialization, "");
364static_assert((clang::Type::TypeClass)ZigClangType_Auto == clang::Type::Auto, "");
365static_assert((clang::Type::TypeClass)ZigClangType_DeducedTemplateSpecialization == clang::Type::DeducedTemplateSpecialization, "");
366static_assert((clang::Type::TypeClass)ZigClangType_InjectedClassName == clang::Type::InjectedClassName, "");
367static_assert((clang::Type::TypeClass)ZigClangType_DependentName == clang::Type::DependentName, "");
368static_assert((clang::Type::TypeClass)ZigClangType_DependentTemplateSpecialization == clang::Type::DependentTemplateSpecialization, "");
369static_assert((clang::Type::TypeClass)ZigClangType_PackExpansion == clang::Type::PackExpansion, "");
370static_assert((clang::Type::TypeClass)ZigClangType_ObjCTypeParam == clang::Type::ObjCTypeParam, "");
371static_assert((clang::Type::TypeClass)ZigClangType_ObjCObject == clang::Type::ObjCObject, "");
372static_assert((clang::Type::TypeClass)ZigClangType_ObjCInterface == clang::Type::ObjCInterface, "");
373static_assert((clang::Type::TypeClass)ZigClangType_ObjCObjectPointer == clang::Type::ObjCObjectPointer, "");
374static_assert((clang::Type::TypeClass)ZigClangType_Pipe == clang::Type::Pipe, "");
375static_assert((clang::Type::TypeClass)ZigClangType_Atomic == clang::Type::Atomic, "");
368static_assert((clang::Type::TypeClass)ZigClangType_TemplateTypeParm == clang::Type::TemplateTypeParm, "");
369static_assert((clang::Type::TypeClass)ZigClangType_TypeOf == clang::Type::TypeOf, "");
370static_assert((clang::Type::TypeClass)ZigClangType_TypeOfExpr == clang::Type::TypeOfExpr, "");
371static_assert((clang::Type::TypeClass)ZigClangType_Typedef == clang::Type::Typedef, "");
372static_assert((clang::Type::TypeClass)ZigClangType_UnaryTransform == clang::Type::UnaryTransform, "");
373static_assert((clang::Type::TypeClass)ZigClangType_UnresolvedUsing == clang::Type::UnresolvedUsing, "");
374static_assert((clang::Type::TypeClass)ZigClangType_VariableArray == clang::Type::VariableArray, "");
375static_assert((clang::Type::TypeClass)ZigClangType_Vector == clang::Type::Vector, "");
376376
377377// Detect additions to the enum
378378void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
......@@ -1027,6 +1027,18 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
10271027 case clang::BuiltinType::OCLIntelSubgroupAVCImeResultDualRefStreamout:
10281028 case clang::BuiltinType::OCLIntelSubgroupAVCImeSingleRefStreamin:
10291029 case clang::BuiltinType::OCLIntelSubgroupAVCImeDualRefStreamin:
1030 case clang::BuiltinType::SveInt8:
1031 case clang::BuiltinType::SveInt16:
1032 case clang::BuiltinType::SveInt32:
1033 case clang::BuiltinType::SveInt64:
1034 case clang::BuiltinType::SveUint8:
1035 case clang::BuiltinType::SveUint16:
1036 case clang::BuiltinType::SveUint32:
1037 case clang::BuiltinType::SveUint64:
1038 case clang::BuiltinType::SveFloat16:
1039 case clang::BuiltinType::SveFloat32:
1040 case clang::BuiltinType::SveFloat64:
1041 case clang::BuiltinType::SveBool:
10301042 case clang::BuiltinType::Void:
10311043 case clang::BuiltinType::Bool:
10321044 case clang::BuiltinType::Char_U:
......@@ -1147,6 +1159,18 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLIntelSubgroupAVCIm
11471159static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout == clang::BuiltinType::OCLIntelSubgroupAVCImeResultDualRefStreamout, "");
11481160static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin == clang::BuiltinType::OCLIntelSubgroupAVCImeSingleRefStreamin, "");
11491161static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin == clang::BuiltinType::OCLIntelSubgroupAVCImeDualRefStreamin, "");
1162static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8 == clang::BuiltinType::SveInt8, "");
1163static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16 == clang::BuiltinType::SveInt16, "");
1164static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32 == clang::BuiltinType::SveInt32, "");
1165static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt64 == clang::BuiltinType::SveInt64, "");
1166static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint8 == clang::BuiltinType::SveUint8, "");
1167static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint16 == clang::BuiltinType::SveUint16, "");
1168static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint32 == clang::BuiltinType::SveUint32, "");
1169static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64 == clang::BuiltinType::SveUint64, "");
1170static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16 == clang::BuiltinType::SveFloat16, "");
1171static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32 == clang::BuiltinType::SveFloat32, "");
1172static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64 == clang::BuiltinType::SveFloat64, "");
1173static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");
11501174static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
11511175static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
11521176static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");
src/zig_clang.h+48-36
......@@ -200,54 +200,54 @@ enum ZigClangUO {
200200};
201201
202202enum ZigClangTypeClass {
203 ZigClangType_Adjusted,
204 ZigClangType_Atomic,
205 ZigClangType_Attributed,
206 ZigClangType_Auto,
207 ZigClangType_BlockPointer,
203208 ZigClangType_Builtin,
204209 ZigClangType_Complex,
205 ZigClangType_Pointer,
206 ZigClangType_BlockPointer,
207 ZigClangType_LValueReference,
208 ZigClangType_RValueReference,
209 ZigClangType_MemberPointer,
210210 ZigClangType_ConstantArray,
211 ZigClangType_IncompleteArray,
212 ZigClangType_VariableArray,
211 ZigClangType_Decayed,
212 ZigClangType_Decltype,
213 ZigClangType_DeducedTemplateSpecialization,
214 ZigClangType_DependentAddressSpace,
215 ZigClangType_DependentName,
213216 ZigClangType_DependentSizedArray,
214217 ZigClangType_DependentSizedExtVector,
215 ZigClangType_DependentAddressSpace,
216 ZigClangType_Vector,
218 ZigClangType_DependentTemplateSpecialization,
217219 ZigClangType_DependentVector,
220 ZigClangType_Elaborated,
221 ZigClangType_Enum,
218222 ZigClangType_ExtVector,
219 ZigClangType_FunctionProto,
220223 ZigClangType_FunctionNoProto,
221 ZigClangType_UnresolvedUsing,
222 ZigClangType_Paren,
223 ZigClangType_Typedef,
224 ZigClangType_MacroQualified,
225 ZigClangType_Adjusted,
226 ZigClangType_Decayed,
227 ZigClangType_TypeOfExpr,
228 ZigClangType_TypeOf,
229 ZigClangType_Decltype,
230 ZigClangType_UnaryTransform,
231 ZigClangType_Record,
232 ZigClangType_Enum,
233 ZigClangType_Elaborated,
234 ZigClangType_Attributed,
235 ZigClangType_TemplateTypeParm,
236 ZigClangType_SubstTemplateTypeParm,
237 ZigClangType_SubstTemplateTypeParmPack,
238 ZigClangType_TemplateSpecialization,
239 ZigClangType_Auto,
240 ZigClangType_DeducedTemplateSpecialization,
224 ZigClangType_FunctionProto,
225 ZigClangType_IncompleteArray,
241226 ZigClangType_InjectedClassName,
242 ZigClangType_DependentName,
243 ZigClangType_DependentTemplateSpecialization,
244 ZigClangType_PackExpansion,
245 ZigClangType_ObjCTypeParam,
246 ZigClangType_ObjCObject,
227 ZigClangType_LValueReference,
228 ZigClangType_MacroQualified,
229 ZigClangType_MemberPointer,
247230 ZigClangType_ObjCInterface,
248231 ZigClangType_ObjCObjectPointer,
232 ZigClangType_ObjCObject,
233 ZigClangType_ObjCTypeParam,
234 ZigClangType_PackExpansion,
235 ZigClangType_Paren,
249236 ZigClangType_Pipe,
250 ZigClangType_Atomic,
237 ZigClangType_Pointer,
238 ZigClangType_RValueReference,
239 ZigClangType_Record,
240 ZigClangType_SubstTemplateTypeParmPack,
241 ZigClangType_SubstTemplateTypeParm,
242 ZigClangType_TemplateSpecialization,
243 ZigClangType_TemplateTypeParm,
244 ZigClangType_TypeOfExpr,
245 ZigClangType_TypeOf,
246 ZigClangType_Typedef,
247 ZigClangType_UnaryTransform,
248 ZigClangType_UnresolvedUsing,
249 ZigClangType_VariableArray,
250 ZigClangType_Vector,
251251};
252252
253253enum ZigClangStmtClass {
......@@ -646,6 +646,18 @@ enum ZigClangBuiltinTypeKind {
646646 ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout,
647647 ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin,
648648 ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin,
649 ZigClangBuiltinTypeSveInt8,
650 ZigClangBuiltinTypeSveInt16,
651 ZigClangBuiltinTypeSveInt32,
652 ZigClangBuiltinTypeSveInt64,
653 ZigClangBuiltinTypeSveUint8,
654 ZigClangBuiltinTypeSveUint16,
655 ZigClangBuiltinTypeSveUint32,
656 ZigClangBuiltinTypeSveUint64,
657 ZigClangBuiltinTypeSveFloat16,
658 ZigClangBuiltinTypeSveFloat32,
659 ZigClangBuiltinTypeSveFloat64,
660 ZigClangBuiltinTypeSveBool,
649661 ZigClangBuiltinTypeVoid,
650662 ZigClangBuiltinTypeBool,
651663 ZigClangBuiltinTypeChar_U,