authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-10-12 12:10:22-04:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2019-10-12 12:10:22-04:00
logbd3a633e4d709e462f9435f94f9c6868980f7089
treef0a17fc830c18031ed668c9284fd965199d49941
parentce56ae8afe1fd00cc137375332014b8d8a8ef960
parentf77b0b90d8daedf30e86ab09d292158e0b9af353
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #3441 from LemonBoy/llvm10

LLVM 10

8 files changed, 153 insertions(+), 92 deletions(-)

cmake/Findlld.cmake+3-3
......@@ -8,13 +8,13 @@
88
99find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
1010 PATHS
11 /usr/lib/llvm-10.0/include
11 /usr/lib/llvm-10/include
1212 /usr/local/llvm100/include
1313 /mingw64/include)
1414
1515find_library(LLD_LIBRARY NAMES lld-10.0 lld100 lld
1616 PATHS
17 /usr/lib/llvm-10.0/lib
17 /usr/lib/llvm-10/lib
1818 /usr/local/llvm100/lib
1919)
2020if(EXISTS ${LLD_LIBRARY})
......@@ -24,7 +24,7 @@ else()
2424 string(TOUPPER ${_libname_} _prettylibname_)
2525 find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_}
2626 PATHS
27 /usr/lib/llvm-10.0/lib
27 /usr/lib/llvm-10/lib
2828 /usr/local/llvm100/lib
2929 /mingw64/lib
3030 /c/msys64/mingw64/lib
src/codegen.cpp+1-1
......@@ -5256,7 +5256,7 @@ static LLVMValueRef get_frame_address_fn_val(CodeGen *g) {
52565256
52575257 LLVMTypeRef fn_type = LLVMFunctionType(get_llvm_type(g, return_type),
52585258 &g->builtin_types.entry_i32->llvm_type, 1, false);
5259 g->frame_address_fn_val = LLVMAddFunction(g->module, "llvm.frameaddress", fn_type);
5259 g->frame_address_fn_val = LLVMAddFunction(g->module, "llvm.frameaddress.p0i8", fn_type);
52605260 assert(LLVMGetIntrinsicID(g->frame_address_fn_val));
52615261
52625262 return g->frame_address_fn_val;
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+62-37
......@@ -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, "");
......@@ -1807,14 +1831,15 @@ ZigClangASTUnit *ZigClangLoadFromCommandLine(const char **args_begin, const char
18071831 bool allow_pch_with_compiler_errors = false;
18081832 bool single_file_parse = false;
18091833 bool for_serialization = false;
1834 bool retain_excluded_conditional_blocks = false;
18101835 std::unique_ptr<clang::ASTUnit> *err_unit = new std::unique_ptr<clang::ASTUnit>();
18111836 clang::ASTUnit *ast_unit = clang::ASTUnit::LoadFromCommandLine(
18121837 args_begin, args_end,
18131838 pch_container_ops, diags, resources_path,
18141839 only_local_decls, clang::CaptureDiagsKind::All, clang::None, true, 0, clang::TU_Complete,
18151840 false, false, allow_pch_with_compiler_errors, clang::SkipFunctionBodiesScope::None,
1816 single_file_parse, user_files_are_volatile, for_serialization, clang::None, err_unit,
1817 nullptr);
1841 single_file_parse, user_files_are_volatile, for_serialization, retain_excluded_conditional_blocks,
1842 clang::None, err_unit, nullptr);
18181843
18191844 // Early failures in LoadFromCommandLine may return with ErrUnit unset.
18201845 if (!ast_unit && !err_unit) {
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,
src/zig_clang_cc1_main.cpp+4-4
......@@ -193,8 +193,8 @@ int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
193193
194194 // Register the support for object-file-wrapped Clang modules.
195195 auto PCHOps = Clang->getPCHContainerOperations();
196 PCHOps->registerWriter(llvm::make_unique<ObjectFilePCHContainerWriter>());
197 PCHOps->registerReader(llvm::make_unique<ObjectFilePCHContainerReader>());
196 PCHOps->registerWriter(std::make_unique<ObjectFilePCHContainerWriter>());
197 PCHOps->registerReader(std::make_unique<ObjectFilePCHContainerReader>());
198198
199199 // Initialize targets first, so that --version shows registered targets.
200200 llvm::InitializeAllTargets();
......@@ -208,10 +208,10 @@ int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
208208 TextDiagnosticBuffer *DiagsBuffer = new TextDiagnosticBuffer;
209209 DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagsBuffer);
210210 bool Success = CompilerInvocation::CreateFromArgs(
211 Clang->getInvocation(), Argv.begin(), Argv.end(), Diags);
211 Clang->getInvocation(), Argv, Diags);
212212
213213 if (Clang->getFrontendOpts().TimeTrace)
214 llvm::timeTraceProfilerInitialize();
214 llvm::timeTraceProfilerInitialize(/* granularity (us) */ 500);
215215
216216 // --print-supported-cpus takes priority over the actual compilation.
217217 if (Clang->getFrontendOpts().PrintSupportedCPUs)
src/zig_clang_cc1as_main.cpp+9-9
......@@ -174,11 +174,11 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts,
174174 bool Success = true;
175175
176176 // Parse the arguments.
177 std::unique_ptr<OptTable> OptTbl(createDriverOptTable());
177 const OptTable &OptTbl = getDriverOptTable();
178178
179179 const unsigned IncludedFlagsBitmask = options::CC1AsOption;
180180 unsigned MissingArgIndex, MissingArgCount;
181 InputArgList Args = OptTbl->ParseArgs(Argv, MissingArgIndex, MissingArgCount,
181 InputArgList Args = OptTbl.ParseArgs(Argv, MissingArgIndex, MissingArgCount,
182182 IncludedFlagsBitmask);
183183
184184 // Check for missing argument error.
......@@ -192,7 +192,7 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts,
192192 for (const Arg *A : Args.filtered(OPT_UNKNOWN)) {
193193 auto ArgString = A->getAsString(Args);
194194 std::string Nearest;
195 if (OptTbl->findNearest(ArgString, Nearest, IncludedFlagsBitmask) > 1)
195 if (OptTbl.findNearest(ArgString, Nearest, IncludedFlagsBitmask) > 1)
196196 Diags.Report(diag::err_drv_unknown_argument) << ArgString;
197197 else
198198 Diags.Report(diag::err_drv_unknown_argument_with_suggestion)
......@@ -312,7 +312,7 @@ getOutputStream(StringRef Path, DiagnosticsEngine &Diags, bool Binary) {
312312 sys::RemoveFileOnSignal(Path);
313313
314314 std::error_code EC;
315 auto Out = llvm::make_unique<raw_fd_ostream>(
315 auto Out = std::make_unique<raw_fd_ostream>(
316316 Path, EC, (Binary ? sys::fs::F_None : sys::fs::F_Text));
317317 if (EC) {
318318 Diags.Report(diag::err_fe_unable_to_open_output) << Path << EC.message();
......@@ -445,7 +445,7 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts,
445445 std::unique_ptr<MCAsmBackend> MAB(
446446 TheTarget->createMCAsmBackend(*STI, *MRI, MCOptions));
447447
448 auto FOut = llvm::make_unique<formatted_raw_ostream>(*Out);
448 auto FOut = std::make_unique<formatted_raw_ostream>(*Out);
449449 Str.reset(TheTarget->createAsmStreamer(
450450 Ctx, std::move(FOut), /*asmverbose*/ true,
451451 /*useDwarfDirectory*/ true, IP, std::move(CE), std::move(MAB),
......@@ -456,7 +456,7 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts,
456456 assert(Opts.OutputType == AssemblerInvocation::FT_Obj &&
457457 "Invalid file type!");
458458 if (!FDOS->supportsSeeking()) {
459 BOS = make_unique<buffer_ostream>(*FDOS);
459 BOS = std::make_unique<buffer_ostream>(*FDOS);
460460 Out = BOS.get();
461461 }
462462
......@@ -569,8 +569,8 @@ int cc1as_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
569569 return 1;
570570
571571 if (Asm.ShowHelp) {
572 std::unique_ptr<OptTable> Opts(driver::createDriverOptTable());
573 Opts->PrintHelp(llvm::outs(), "clang -cc1as [options] file...",
572 const OptTable &Opts = getDriverOptTable();
573 Opts.PrintHelp(llvm::outs(), "clang -cc1as [options] file...",
574574 "Clang Integrated Assembler",
575575 /*Include=*/driver::options::CC1AsOption, /*Exclude=*/0,
576576 /*ShowAllAliases=*/false);
......@@ -590,7 +590,7 @@ int cc1as_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
590590 // FIXME: Remove this, one day.
591591 if (!Asm.LLVMArgs.empty()) {
592592 unsigned NumArgs = Asm.LLVMArgs.size();
593 auto Args = llvm::make_unique<const char*[]>(NumArgs + 2);
593 auto Args = std::make_unique<const char*[]>(NumArgs + 2);
594594 Args[0] = "clang (LLVM option parsing)";
595595 for (unsigned i = 0; i != NumArgs; ++i)
596596 Args[i + 1] = Asm.LLVMArgs[i].c_str();
src/zig_clang_driver.cpp+2-2
......@@ -268,10 +268,10 @@ static void FixupDiagPrefixExeName(TextDiagnosticPrinter *DiagClient,
268268static DiagnosticOptions *
269269CreateAndPopulateDiagOpts(ArrayRef<const char *> argv) {
270270 auto *DiagOpts = new DiagnosticOptions;
271 std::unique_ptr<OptTable> Opts(createDriverOptTable());
271 const OptTable &Opts = getDriverOptTable();
272272 unsigned MissingArgIndex, MissingArgCount;
273273 InputArgList Args =
274 Opts->ParseArgs(argv.slice(1), MissingArgIndex, MissingArgCount);
274 Opts.ParseArgs(argv.slice(1), MissingArgIndex, MissingArgCount);
275275 // We ignore MissingArgCount and the return value of ParseDiagnosticArgs.
276276 // Any errors that would be diagnosed here will also be diagnosed later,
277277 // when the DiagnosticsEngine actually exists.