mirror of
https://github.com/ziglang/zig.git
synced 2026-02-13 12:59:04 +00:00
commit
bd3a633e4d
@ -8,13 +8,13 @@
|
||||
|
||||
find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
|
||||
PATHS
|
||||
/usr/lib/llvm-10.0/include
|
||||
/usr/lib/llvm-10/include
|
||||
/usr/local/llvm100/include
|
||||
/mingw64/include)
|
||||
|
||||
find_library(LLD_LIBRARY NAMES lld-10.0 lld100 lld
|
||||
PATHS
|
||||
/usr/lib/llvm-10.0/lib
|
||||
/usr/lib/llvm-10/lib
|
||||
/usr/local/llvm100/lib
|
||||
)
|
||||
if(EXISTS ${LLD_LIBRARY})
|
||||
@ -24,7 +24,7 @@ else()
|
||||
string(TOUPPER ${_libname_} _prettylibname_)
|
||||
find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_}
|
||||
PATHS
|
||||
/usr/lib/llvm-10.0/lib
|
||||
/usr/lib/llvm-10/lib
|
||||
/usr/local/llvm100/lib
|
||||
/mingw64/lib
|
||||
/c/msys64/mingw64/lib
|
||||
|
||||
@ -5256,7 +5256,7 @@ static LLVMValueRef get_frame_address_fn_val(CodeGen *g) {
|
||||
|
||||
LLVMTypeRef fn_type = LLVMFunctionType(get_llvm_type(g, return_type),
|
||||
&g->builtin_types.entry_i32->llvm_type, 1, false);
|
||||
g->frame_address_fn_val = LLVMAddFunction(g->module, "llvm.frameaddress", fn_type);
|
||||
g->frame_address_fn_val = LLVMAddFunction(g->module, "llvm.frameaddress.p0i8", fn_type);
|
||||
assert(LLVMGetIntrinsicID(g->frame_address_fn_val));
|
||||
|
||||
return g->frame_address_fn_val;
|
||||
|
||||
@ -1038,6 +1038,18 @@ static AstNode *trans_type(Context *c, const ZigClangType *ty, ZigClangSourceLoc
|
||||
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout:
|
||||
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin:
|
||||
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin:
|
||||
case ZigClangBuiltinTypeSveInt8:
|
||||
case ZigClangBuiltinTypeSveInt16:
|
||||
case ZigClangBuiltinTypeSveInt32:
|
||||
case ZigClangBuiltinTypeSveInt64:
|
||||
case ZigClangBuiltinTypeSveUint8:
|
||||
case ZigClangBuiltinTypeSveUint16:
|
||||
case ZigClangBuiltinTypeSveUint32:
|
||||
case ZigClangBuiltinTypeSveUint64:
|
||||
case ZigClangBuiltinTypeSveFloat16:
|
||||
case ZigClangBuiltinTypeSveFloat32:
|
||||
case ZigClangBuiltinTypeSveFloat64:
|
||||
case ZigClangBuiltinTypeSveBool:
|
||||
emit_warning(c, source_loc, "unsupported builtin type");
|
||||
return nullptr;
|
||||
}
|
||||
@ -2900,6 +2912,18 @@ static AstNode *trans_bool_expr(Context *c, ResultUsed result_used, TransScope *
|
||||
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout:
|
||||
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin:
|
||||
case ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin:
|
||||
case ZigClangBuiltinTypeSveInt8:
|
||||
case ZigClangBuiltinTypeSveInt16:
|
||||
case ZigClangBuiltinTypeSveInt32:
|
||||
case ZigClangBuiltinTypeSveInt64:
|
||||
case ZigClangBuiltinTypeSveUint8:
|
||||
case ZigClangBuiltinTypeSveUint16:
|
||||
case ZigClangBuiltinTypeSveUint32:
|
||||
case ZigClangBuiltinTypeSveUint64:
|
||||
case ZigClangBuiltinTypeSveFloat16:
|
||||
case ZigClangBuiltinTypeSveFloat32:
|
||||
case ZigClangBuiltinTypeSveFloat64:
|
||||
case ZigClangBuiltinTypeSveBool:
|
||||
return res;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -325,54 +325,54 @@ void ZigClang_detect_enum_TypeClass(clang::Type::TypeClass ty) {
|
||||
}
|
||||
}
|
||||
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Adjusted == clang::Type::Adjusted, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Atomic == clang::Type::Atomic, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Attributed == clang::Type::Attributed, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Auto == clang::Type::Auto, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_BlockPointer == clang::Type::BlockPointer, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Builtin == clang::Type::Builtin, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Complex == clang::Type::Complex, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Pointer == clang::Type::Pointer, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_BlockPointer == clang::Type::BlockPointer, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_LValueReference == clang::Type::LValueReference, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_RValueReference == clang::Type::RValueReference, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_MemberPointer == clang::Type::MemberPointer, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ConstantArray == clang::Type::ConstantArray, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_IncompleteArray == clang::Type::IncompleteArray, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_VariableArray == clang::Type::VariableArray, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Decayed == clang::Type::Decayed, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Decltype == clang::Type::Decltype, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DeducedTemplateSpecialization == clang::Type::DeducedTemplateSpecialization, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DependentAddressSpace == clang::Type::DependentAddressSpace, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DependentName == clang::Type::DependentName, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedArray == clang::Type::DependentSizedArray, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DependentSizedExtVector == clang::Type::DependentSizedExtVector, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DependentAddressSpace == clang::Type::DependentAddressSpace, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Vector == clang::Type::Vector, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DependentTemplateSpecialization == clang::Type::DependentTemplateSpecialization, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DependentVector == clang::Type::DependentVector, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ExtVector == clang::Type::ExtVector, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_FunctionProto == clang::Type::FunctionProto, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_FunctionNoProto == clang::Type::FunctionNoProto, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_UnresolvedUsing == clang::Type::UnresolvedUsing, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Paren == clang::Type::Paren, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Typedef == clang::Type::Typedef, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_MacroQualified == clang::Type::MacroQualified, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Adjusted == clang::Type::Adjusted, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Decayed == clang::Type::Decayed, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_TypeOfExpr == clang::Type::TypeOfExpr, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_TypeOf == clang::Type::TypeOf, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Decltype == clang::Type::Decltype, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_UnaryTransform == clang::Type::UnaryTransform, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Record == clang::Type::Record, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Enum == clang::Type::Enum, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Elaborated == clang::Type::Elaborated, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Attributed == clang::Type::Attributed, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_TemplateTypeParm == clang::Type::TemplateTypeParm, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Enum == clang::Type::Enum, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ExtVector == clang::Type::ExtVector, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_FunctionNoProto == clang::Type::FunctionNoProto, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_FunctionProto == clang::Type::FunctionProto, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_IncompleteArray == clang::Type::IncompleteArray, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_InjectedClassName == clang::Type::InjectedClassName, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_LValueReference == clang::Type::LValueReference, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_MacroQualified == clang::Type::MacroQualified, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_MemberPointer == clang::Type::MemberPointer, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ObjCInterface == clang::Type::ObjCInterface, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ObjCObject == clang::Type::ObjCObject, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ObjCObjectPointer == clang::Type::ObjCObjectPointer, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ObjCTypeParam == clang::Type::ObjCTypeParam, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_PackExpansion == clang::Type::PackExpansion, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Paren == clang::Type::Paren, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Pipe == clang::Type::Pipe, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Pointer == clang::Type::Pointer, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_RValueReference == clang::Type::RValueReference, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Record == clang::Type::Record, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_SubstTemplateTypeParm == clang::Type::SubstTemplateTypeParm, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_SubstTemplateTypeParmPack == clang::Type::SubstTemplateTypeParmPack, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_TemplateSpecialization == clang::Type::TemplateSpecialization, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Auto == clang::Type::Auto, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DeducedTemplateSpecialization == clang::Type::DeducedTemplateSpecialization, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_InjectedClassName == clang::Type::InjectedClassName, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DependentName == clang::Type::DependentName, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_DependentTemplateSpecialization == clang::Type::DependentTemplateSpecialization, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_PackExpansion == clang::Type::PackExpansion, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ObjCTypeParam == clang::Type::ObjCTypeParam, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ObjCObject == clang::Type::ObjCObject, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ObjCInterface == clang::Type::ObjCInterface, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_ObjCObjectPointer == clang::Type::ObjCObjectPointer, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Pipe == clang::Type::Pipe, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Atomic == clang::Type::Atomic, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_TemplateTypeParm == clang::Type::TemplateTypeParm, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_TypeOf == clang::Type::TypeOf, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_TypeOfExpr == clang::Type::TypeOfExpr, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Typedef == clang::Type::Typedef, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_UnaryTransform == clang::Type::UnaryTransform, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_UnresolvedUsing == clang::Type::UnresolvedUsing, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_VariableArray == clang::Type::VariableArray, "");
|
||||
static_assert((clang::Type::TypeClass)ZigClangType_Vector == clang::Type::Vector, "");
|
||||
|
||||
// Detect additions to the enum
|
||||
void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
|
||||
@ -1027,6 +1027,18 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
|
||||
case clang::BuiltinType::OCLIntelSubgroupAVCImeResultDualRefStreamout:
|
||||
case clang::BuiltinType::OCLIntelSubgroupAVCImeSingleRefStreamin:
|
||||
case clang::BuiltinType::OCLIntelSubgroupAVCImeDualRefStreamin:
|
||||
case clang::BuiltinType::SveInt8:
|
||||
case clang::BuiltinType::SveInt16:
|
||||
case clang::BuiltinType::SveInt32:
|
||||
case clang::BuiltinType::SveInt64:
|
||||
case clang::BuiltinType::SveUint8:
|
||||
case clang::BuiltinType::SveUint16:
|
||||
case clang::BuiltinType::SveUint32:
|
||||
case clang::BuiltinType::SveUint64:
|
||||
case clang::BuiltinType::SveFloat16:
|
||||
case clang::BuiltinType::SveFloat32:
|
||||
case clang::BuiltinType::SveFloat64:
|
||||
case clang::BuiltinType::SveBool:
|
||||
case clang::BuiltinType::Void:
|
||||
case clang::BuiltinType::Bool:
|
||||
case clang::BuiltinType::Char_U:
|
||||
@ -1147,6 +1159,18 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLIntelSubgroupAVCIm
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout == clang::BuiltinType::OCLIntelSubgroupAVCImeResultDualRefStreamout, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin == clang::BuiltinType::OCLIntelSubgroupAVCImeSingleRefStreamin, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin == clang::BuiltinType::OCLIntelSubgroupAVCImeDualRefStreamin, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt8 == clang::BuiltinType::SveInt8, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt16 == clang::BuiltinType::SveInt16, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt32 == clang::BuiltinType::SveInt32, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveInt64 == clang::BuiltinType::SveInt64, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint8 == clang::BuiltinType::SveUint8, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint16 == clang::BuiltinType::SveUint16, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint32 == clang::BuiltinType::SveUint32, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveUint64 == clang::BuiltinType::SveUint64, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat16 == clang::BuiltinType::SveFloat16, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32 == clang::BuiltinType::SveFloat32, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64 == clang::BuiltinType::SveFloat64, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
|
||||
static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");
|
||||
@ -1807,14 +1831,15 @@ ZigClangASTUnit *ZigClangLoadFromCommandLine(const char **args_begin, const char
|
||||
bool allow_pch_with_compiler_errors = false;
|
||||
bool single_file_parse = false;
|
||||
bool for_serialization = false;
|
||||
bool retain_excluded_conditional_blocks = false;
|
||||
std::unique_ptr<clang::ASTUnit> *err_unit = new std::unique_ptr<clang::ASTUnit>();
|
||||
clang::ASTUnit *ast_unit = clang::ASTUnit::LoadFromCommandLine(
|
||||
args_begin, args_end,
|
||||
pch_container_ops, diags, resources_path,
|
||||
only_local_decls, clang::CaptureDiagsKind::All, clang::None, true, 0, clang::TU_Complete,
|
||||
false, false, allow_pch_with_compiler_errors, clang::SkipFunctionBodiesScope::None,
|
||||
single_file_parse, user_files_are_volatile, for_serialization, clang::None, err_unit,
|
||||
nullptr);
|
||||
single_file_parse, user_files_are_volatile, for_serialization, retain_excluded_conditional_blocks,
|
||||
clang::None, err_unit, nullptr);
|
||||
|
||||
// Early failures in LoadFromCommandLine may return with ErrUnit unset.
|
||||
if (!ast_unit && !err_unit) {
|
||||
|
||||
@ -200,54 +200,54 @@ enum ZigClangUO {
|
||||
};
|
||||
|
||||
enum ZigClangTypeClass {
|
||||
ZigClangType_Adjusted,
|
||||
ZigClangType_Atomic,
|
||||
ZigClangType_Attributed,
|
||||
ZigClangType_Auto,
|
||||
ZigClangType_BlockPointer,
|
||||
ZigClangType_Builtin,
|
||||
ZigClangType_Complex,
|
||||
ZigClangType_Pointer,
|
||||
ZigClangType_BlockPointer,
|
||||
ZigClangType_LValueReference,
|
||||
ZigClangType_RValueReference,
|
||||
ZigClangType_MemberPointer,
|
||||
ZigClangType_ConstantArray,
|
||||
ZigClangType_IncompleteArray,
|
||||
ZigClangType_VariableArray,
|
||||
ZigClangType_Decayed,
|
||||
ZigClangType_Decltype,
|
||||
ZigClangType_DeducedTemplateSpecialization,
|
||||
ZigClangType_DependentAddressSpace,
|
||||
ZigClangType_DependentName,
|
||||
ZigClangType_DependentSizedArray,
|
||||
ZigClangType_DependentSizedExtVector,
|
||||
ZigClangType_DependentAddressSpace,
|
||||
ZigClangType_Vector,
|
||||
ZigClangType_DependentVector,
|
||||
ZigClangType_ExtVector,
|
||||
ZigClangType_FunctionProto,
|
||||
ZigClangType_FunctionNoProto,
|
||||
ZigClangType_UnresolvedUsing,
|
||||
ZigClangType_Paren,
|
||||
ZigClangType_Typedef,
|
||||
ZigClangType_MacroQualified,
|
||||
ZigClangType_Adjusted,
|
||||
ZigClangType_Decayed,
|
||||
ZigClangType_TypeOfExpr,
|
||||
ZigClangType_TypeOf,
|
||||
ZigClangType_Decltype,
|
||||
ZigClangType_UnaryTransform,
|
||||
ZigClangType_Record,
|
||||
ZigClangType_Enum,
|
||||
ZigClangType_Elaborated,
|
||||
ZigClangType_Attributed,
|
||||
ZigClangType_TemplateTypeParm,
|
||||
ZigClangType_SubstTemplateTypeParm,
|
||||
ZigClangType_SubstTemplateTypeParmPack,
|
||||
ZigClangType_TemplateSpecialization,
|
||||
ZigClangType_Auto,
|
||||
ZigClangType_DeducedTemplateSpecialization,
|
||||
ZigClangType_InjectedClassName,
|
||||
ZigClangType_DependentName,
|
||||
ZigClangType_DependentTemplateSpecialization,
|
||||
ZigClangType_PackExpansion,
|
||||
ZigClangType_ObjCTypeParam,
|
||||
ZigClangType_ObjCObject,
|
||||
ZigClangType_DependentVector,
|
||||
ZigClangType_Elaborated,
|
||||
ZigClangType_Enum,
|
||||
ZigClangType_ExtVector,
|
||||
ZigClangType_FunctionNoProto,
|
||||
ZigClangType_FunctionProto,
|
||||
ZigClangType_IncompleteArray,
|
||||
ZigClangType_InjectedClassName,
|
||||
ZigClangType_LValueReference,
|
||||
ZigClangType_MacroQualified,
|
||||
ZigClangType_MemberPointer,
|
||||
ZigClangType_ObjCInterface,
|
||||
ZigClangType_ObjCObjectPointer,
|
||||
ZigClangType_ObjCObject,
|
||||
ZigClangType_ObjCTypeParam,
|
||||
ZigClangType_PackExpansion,
|
||||
ZigClangType_Paren,
|
||||
ZigClangType_Pipe,
|
||||
ZigClangType_Atomic,
|
||||
ZigClangType_Pointer,
|
||||
ZigClangType_RValueReference,
|
||||
ZigClangType_Record,
|
||||
ZigClangType_SubstTemplateTypeParmPack,
|
||||
ZigClangType_SubstTemplateTypeParm,
|
||||
ZigClangType_TemplateSpecialization,
|
||||
ZigClangType_TemplateTypeParm,
|
||||
ZigClangType_TypeOfExpr,
|
||||
ZigClangType_TypeOf,
|
||||
ZigClangType_Typedef,
|
||||
ZigClangType_UnaryTransform,
|
||||
ZigClangType_UnresolvedUsing,
|
||||
ZigClangType_VariableArray,
|
||||
ZigClangType_Vector,
|
||||
};
|
||||
|
||||
enum ZigClangStmtClass {
|
||||
@ -646,6 +646,18 @@ enum ZigClangBuiltinTypeKind {
|
||||
ZigClangBuiltinTypeOCLIntelSubgroupAVCImeResultDualRefStreamout,
|
||||
ZigClangBuiltinTypeOCLIntelSubgroupAVCImeSingleRefStreamin,
|
||||
ZigClangBuiltinTypeOCLIntelSubgroupAVCImeDualRefStreamin,
|
||||
ZigClangBuiltinTypeSveInt8,
|
||||
ZigClangBuiltinTypeSveInt16,
|
||||
ZigClangBuiltinTypeSveInt32,
|
||||
ZigClangBuiltinTypeSveInt64,
|
||||
ZigClangBuiltinTypeSveUint8,
|
||||
ZigClangBuiltinTypeSveUint16,
|
||||
ZigClangBuiltinTypeSveUint32,
|
||||
ZigClangBuiltinTypeSveUint64,
|
||||
ZigClangBuiltinTypeSveFloat16,
|
||||
ZigClangBuiltinTypeSveFloat32,
|
||||
ZigClangBuiltinTypeSveFloat64,
|
||||
ZigClangBuiltinTypeSveBool,
|
||||
ZigClangBuiltinTypeVoid,
|
||||
ZigClangBuiltinTypeBool,
|
||||
ZigClangBuiltinTypeChar_U,
|
||||
|
||||
@ -193,8 +193,8 @@ int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
||||
|
||||
// Register the support for object-file-wrapped Clang modules.
|
||||
auto PCHOps = Clang->getPCHContainerOperations();
|
||||
PCHOps->registerWriter(llvm::make_unique<ObjectFilePCHContainerWriter>());
|
||||
PCHOps->registerReader(llvm::make_unique<ObjectFilePCHContainerReader>());
|
||||
PCHOps->registerWriter(std::make_unique<ObjectFilePCHContainerWriter>());
|
||||
PCHOps->registerReader(std::make_unique<ObjectFilePCHContainerReader>());
|
||||
|
||||
// Initialize targets first, so that --version shows registered targets.
|
||||
llvm::InitializeAllTargets();
|
||||
@ -208,10 +208,10 @@ int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
||||
TextDiagnosticBuffer *DiagsBuffer = new TextDiagnosticBuffer;
|
||||
DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagsBuffer);
|
||||
bool Success = CompilerInvocation::CreateFromArgs(
|
||||
Clang->getInvocation(), Argv.begin(), Argv.end(), Diags);
|
||||
Clang->getInvocation(), Argv, Diags);
|
||||
|
||||
if (Clang->getFrontendOpts().TimeTrace)
|
||||
llvm::timeTraceProfilerInitialize();
|
||||
llvm::timeTraceProfilerInitialize(/* granularity (us) */ 500);
|
||||
|
||||
// --print-supported-cpus takes priority over the actual compilation.
|
||||
if (Clang->getFrontendOpts().PrintSupportedCPUs)
|
||||
|
||||
@ -174,11 +174,11 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts,
|
||||
bool Success = true;
|
||||
|
||||
// Parse the arguments.
|
||||
std::unique_ptr<OptTable> OptTbl(createDriverOptTable());
|
||||
const OptTable &OptTbl = getDriverOptTable();
|
||||
|
||||
const unsigned IncludedFlagsBitmask = options::CC1AsOption;
|
||||
unsigned MissingArgIndex, MissingArgCount;
|
||||
InputArgList Args = OptTbl->ParseArgs(Argv, MissingArgIndex, MissingArgCount,
|
||||
InputArgList Args = OptTbl.ParseArgs(Argv, MissingArgIndex, MissingArgCount,
|
||||
IncludedFlagsBitmask);
|
||||
|
||||
// Check for missing argument error.
|
||||
@ -192,7 +192,7 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts,
|
||||
for (const Arg *A : Args.filtered(OPT_UNKNOWN)) {
|
||||
auto ArgString = A->getAsString(Args);
|
||||
std::string Nearest;
|
||||
if (OptTbl->findNearest(ArgString, Nearest, IncludedFlagsBitmask) > 1)
|
||||
if (OptTbl.findNearest(ArgString, Nearest, IncludedFlagsBitmask) > 1)
|
||||
Diags.Report(diag::err_drv_unknown_argument) << ArgString;
|
||||
else
|
||||
Diags.Report(diag::err_drv_unknown_argument_with_suggestion)
|
||||
@ -312,7 +312,7 @@ getOutputStream(StringRef Path, DiagnosticsEngine &Diags, bool Binary) {
|
||||
sys::RemoveFileOnSignal(Path);
|
||||
|
||||
std::error_code EC;
|
||||
auto Out = llvm::make_unique<raw_fd_ostream>(
|
||||
auto Out = std::make_unique<raw_fd_ostream>(
|
||||
Path, EC, (Binary ? sys::fs::F_None : sys::fs::F_Text));
|
||||
if (EC) {
|
||||
Diags.Report(diag::err_fe_unable_to_open_output) << Path << EC.message();
|
||||
@ -445,7 +445,7 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts,
|
||||
std::unique_ptr<MCAsmBackend> MAB(
|
||||
TheTarget->createMCAsmBackend(*STI, *MRI, MCOptions));
|
||||
|
||||
auto FOut = llvm::make_unique<formatted_raw_ostream>(*Out);
|
||||
auto FOut = std::make_unique<formatted_raw_ostream>(*Out);
|
||||
Str.reset(TheTarget->createAsmStreamer(
|
||||
Ctx, std::move(FOut), /*asmverbose*/ true,
|
||||
/*useDwarfDirectory*/ true, IP, std::move(CE), std::move(MAB),
|
||||
@ -456,7 +456,7 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts,
|
||||
assert(Opts.OutputType == AssemblerInvocation::FT_Obj &&
|
||||
"Invalid file type!");
|
||||
if (!FDOS->supportsSeeking()) {
|
||||
BOS = make_unique<buffer_ostream>(*FDOS);
|
||||
BOS = std::make_unique<buffer_ostream>(*FDOS);
|
||||
Out = BOS.get();
|
||||
}
|
||||
|
||||
@ -569,8 +569,8 @@ int cc1as_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
||||
return 1;
|
||||
|
||||
if (Asm.ShowHelp) {
|
||||
std::unique_ptr<OptTable> Opts(driver::createDriverOptTable());
|
||||
Opts->PrintHelp(llvm::outs(), "clang -cc1as [options] file...",
|
||||
const OptTable &Opts = getDriverOptTable();
|
||||
Opts.PrintHelp(llvm::outs(), "clang -cc1as [options] file...",
|
||||
"Clang Integrated Assembler",
|
||||
/*Include=*/driver::options::CC1AsOption, /*Exclude=*/0,
|
||||
/*ShowAllAliases=*/false);
|
||||
@ -590,7 +590,7 @@ int cc1as_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
||||
// FIXME: Remove this, one day.
|
||||
if (!Asm.LLVMArgs.empty()) {
|
||||
unsigned NumArgs = Asm.LLVMArgs.size();
|
||||
auto Args = llvm::make_unique<const char*[]>(NumArgs + 2);
|
||||
auto Args = std::make_unique<const char*[]>(NumArgs + 2);
|
||||
Args[0] = "clang (LLVM option parsing)";
|
||||
for (unsigned i = 0; i != NumArgs; ++i)
|
||||
Args[i + 1] = Asm.LLVMArgs[i].c_str();
|
||||
|
||||
@ -268,10 +268,10 @@ static void FixupDiagPrefixExeName(TextDiagnosticPrinter *DiagClient,
|
||||
static DiagnosticOptions *
|
||||
CreateAndPopulateDiagOpts(ArrayRef<const char *> argv) {
|
||||
auto *DiagOpts = new DiagnosticOptions;
|
||||
std::unique_ptr<OptTable> Opts(createDriverOptTable());
|
||||
const OptTable &Opts = getDriverOptTable();
|
||||
unsigned MissingArgIndex, MissingArgCount;
|
||||
InputArgList Args =
|
||||
Opts->ParseArgs(argv.slice(1), MissingArgIndex, MissingArgCount);
|
||||
Opts.ParseArgs(argv.slice(1), MissingArgIndex, MissingArgCount);
|
||||
// We ignore MissingArgCount and the return value of ParseDiagnosticArgs.
|
||||
// Any errors that would be diagnosed here will also be diagnosed later,
|
||||
// when the DiagnosticsEngine actually exists.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user