mirror of
https://github.com/ziglang/zig.git
synced 2026-02-14 21:38:33 +00:00
update clang API to 16
This commit is contained in:
parent
740a0d8f12
commit
b260bf42d3
@ -662,8 +662,8 @@ pub const MacroQualifiedType = opaque {
|
||||
};
|
||||
|
||||
pub const TypeOfType = opaque {
|
||||
pub const getUnderlyingType = ZigClangTypeOfType_getUnderlyingType;
|
||||
extern fn ZigClangTypeOfType_getUnderlyingType(*const TypeOfType) QualType;
|
||||
pub const getUnmodifiedType = ZigClangTypeOfType_getUnmodifiedType;
|
||||
extern fn ZigClangTypeOfType_getUnmodifiedType(*const TypeOfType) QualType;
|
||||
};
|
||||
|
||||
pub const TypeOfExprType = opaque {
|
||||
@ -1199,6 +1199,7 @@ const StmtClass = enum(c_int) {
|
||||
OMPCriticalDirectiveClass,
|
||||
OMPDepobjDirectiveClass,
|
||||
OMPDispatchDirectiveClass,
|
||||
OMPErrorDirectiveClass,
|
||||
OMPFlushDirectiveClass,
|
||||
OMPInteropDirectiveClass,
|
||||
OMPDistributeDirectiveClass,
|
||||
@ -1303,6 +1304,7 @@ const StmtClass = enum(c_int) {
|
||||
CXXNewExprClass,
|
||||
CXXNoexceptExprClass,
|
||||
CXXNullPtrLiteralExprClass,
|
||||
CXXParenListInitExprClass,
|
||||
CXXPseudoDestructorExprClass,
|
||||
CXXRewrittenBinaryOperatorClass,
|
||||
CXXScalarValueInitExprClass,
|
||||
@ -1484,11 +1486,13 @@ pub const DeclKind = enum(c_int) {
|
||||
FileScopeAsm,
|
||||
Friend,
|
||||
FriendTemplate,
|
||||
ImplicitConceptSpecialization,
|
||||
Import,
|
||||
LifetimeExtendedTemporary,
|
||||
LinkageSpec,
|
||||
Using,
|
||||
UsingEnum,
|
||||
HLSLBuffer,
|
||||
Label,
|
||||
Namespace,
|
||||
NamespaceAlias,
|
||||
@ -1557,6 +1561,7 @@ pub const DeclKind = enum(c_int) {
|
||||
PragmaDetectMismatch,
|
||||
RequiresExprBody,
|
||||
StaticAssert,
|
||||
TopLevelStmt,
|
||||
TranslationUnit,
|
||||
};
|
||||
|
||||
|
||||
@ -4825,7 +4825,7 @@ fn transType(c: *Context, scope: *Scope, ty: *const clang.Type, source_loc: clan
|
||||
},
|
||||
.TypeOf => {
|
||||
const typeof_ty = @ptrCast(*const clang.TypeOfType, ty);
|
||||
return transQualType(c, scope, typeof_ty.getUnderlyingType(), source_loc);
|
||||
return transQualType(c, scope, typeof_ty.getUnmodifiedType(), source_loc);
|
||||
},
|
||||
.TypeOfExpr => {
|
||||
const typeofexpr_ty = @ptrCast(*const clang.TypeOfExprType, ty);
|
||||
|
||||
@ -425,6 +425,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
|
||||
case clang::Stmt::OMPCriticalDirectiveClass:
|
||||
case clang::Stmt::OMPDepobjDirectiveClass:
|
||||
case clang::Stmt::OMPDispatchDirectiveClass:
|
||||
case clang::Stmt::OMPErrorDirectiveClass:
|
||||
case clang::Stmt::OMPFlushDirectiveClass:
|
||||
case clang::Stmt::OMPInteropDirectiveClass:
|
||||
case clang::Stmt::OMPDistributeDirectiveClass:
|
||||
@ -529,6 +530,7 @@ void ZigClang_detect_enum_StmtClass(clang::Stmt::StmtClass x) {
|
||||
case clang::Stmt::CXXNewExprClass:
|
||||
case clang::Stmt::CXXNoexceptExprClass:
|
||||
case clang::Stmt::CXXNullPtrLiteralExprClass:
|
||||
case clang::Stmt::CXXParenListInitExprClass:
|
||||
case clang::Stmt::CXXPseudoDestructorExprClass:
|
||||
case clang::Stmt::CXXRewrittenBinaryOperatorClass:
|
||||
case clang::Stmt::CXXScalarValueInitExprClass:
|
||||
@ -661,6 +663,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCancellationPointDirective
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPCriticalDirectiveClass == clang::Stmt::OMPCriticalDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDepobjDirectiveClass == clang::Stmt::OMPDepobjDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDispatchDirectiveClass == clang::Stmt::OMPDispatchDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPErrorDirectiveClass == clang::Stmt::OMPErrorDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPFlushDirectiveClass == clang::Stmt::OMPFlushDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPInteropDirectiveClass == clang::Stmt::OMPInteropDirectiveClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_OMPDistributeDirectiveClass == clang::Stmt::OMPDistributeDirectiveClass, "");
|
||||
@ -765,6 +768,7 @@ static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXInheritedCtorInitExprClass
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNewExprClass == clang::Stmt::CXXNewExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNoexceptExprClass == clang::Stmt::CXXNoexceptExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXNullPtrLiteralExprClass == clang::Stmt::CXXNullPtrLiteralExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXParenListInitExprClass == clang::Stmt::CXXParenListInitExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXPseudoDestructorExprClass == clang::Stmt::CXXPseudoDestructorExprClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXRewrittenBinaryOperatorClass == clang::Stmt::CXXRewrittenBinaryOperatorClass, "");
|
||||
static_assert((clang::Stmt::StmtClass)ZigClangStmt_CXXScalarValueInitExprClass == clang::Stmt::CXXScalarValueInitExprClass, "");
|
||||
@ -915,11 +919,13 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
|
||||
case clang::Decl::FileScopeAsm:
|
||||
case clang::Decl::Friend:
|
||||
case clang::Decl::FriendTemplate:
|
||||
case clang::Decl::ImplicitConceptSpecialization:
|
||||
case clang::Decl::Import:
|
||||
case clang::Decl::LifetimeExtendedTemporary:
|
||||
case clang::Decl::LinkageSpec:
|
||||
case clang::Decl::Using:
|
||||
case clang::Decl::UsingEnum:
|
||||
case clang::Decl::HLSLBuffer:
|
||||
case clang::Decl::Label:
|
||||
case clang::Decl::Namespace:
|
||||
case clang::Decl::NamespaceAlias:
|
||||
@ -988,6 +994,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
|
||||
case clang::Decl::PragmaDetectMismatch:
|
||||
case clang::Decl::RequiresExprBody:
|
||||
case clang::Decl::StaticAssert:
|
||||
case clang::Decl::TopLevelStmt:
|
||||
case clang::Decl::TranslationUnit:
|
||||
break;
|
||||
}
|
||||
@ -1003,11 +1010,13 @@ static_assert((clang::Decl::Kind)ZigClangDeclExternCContext == clang::Decl::Exte
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclFileScopeAsm == clang::Decl::FileScopeAsm, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclFriend == clang::Decl::Friend, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclFriendTemplate == clang::Decl::FriendTemplate, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclImplicitConceptSpecialization == clang::Decl::ImplicitConceptSpecialization, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclImport == clang::Decl::Import, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclLifetimeExtendedTemporary == clang::Decl::LifetimeExtendedTemporary, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclLinkageSpec == clang::Decl::LinkageSpec, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclUsing == clang::Decl::Using, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclUsingEnum == clang::Decl::UsingEnum, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclHLSLBuffer == clang::Decl::HLSLBuffer, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclLabel == clang::Decl::Label, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclNamespace == clang::Decl::Namespace, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclNamespaceAlias == clang::Decl::NamespaceAlias, "");
|
||||
@ -1076,6 +1085,7 @@ static_assert((clang::Decl::Kind)ZigClangDeclPragmaComment == clang::Decl::Pragm
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclPragmaDetectMismatch == clang::Decl::PragmaDetectMismatch, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclRequiresExprBody == clang::Decl::RequiresExprBody, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclStaticAssert == clang::Decl::StaticAssert, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclTopLevelStmt == clang::Decl::TopLevelStmt, "");
|
||||
static_assert((clang::Decl::Kind)ZigClangDeclTranslationUnit == clang::Decl::TranslationUnit, "");
|
||||
|
||||
void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
|
||||
@ -2496,14 +2506,32 @@ ZigClangASTUnit *ZigClangLoadFromCommandLine(const char **args_begin, const char
|
||||
bool single_file_parse = false;
|
||||
bool for_serialization = false;
|
||||
bool retain_excluded_conditional_blocks = false;
|
||||
clang::ArrayRef<clang::ASTUnit::RemappedFile> remapped_files = std::nullopt;
|
||||
std::unique_ptr<clang::ASTUnit> err_unit;
|
||||
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS = nullptr;
|
||||
std::optional<llvm::StringRef> ModuleFormat = std::nullopt;
|
||||
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, retain_excluded_conditional_blocks,
|
||||
clang::None, &err_unit, nullptr);
|
||||
args_begin, args_end,
|
||||
pch_container_ops,
|
||||
diags,
|
||||
resources_path,
|
||||
only_local_decls,
|
||||
clang::CaptureDiagsKind::All,
|
||||
remapped_files,
|
||||
true, // remapped files keep original name
|
||||
0, // precompiled preable after n parses
|
||||
clang::TU_Complete,
|
||||
false, // cache code completion results
|
||||
false, // include brief comments in code completion
|
||||
allow_pch_with_compiler_errors,
|
||||
clang::SkipFunctionBodiesScope::None,
|
||||
single_file_parse,
|
||||
user_files_are_volatile,
|
||||
for_serialization,
|
||||
retain_excluded_conditional_blocks,
|
||||
ModuleFormat,
|
||||
&err_unit,
|
||||
VFS);
|
||||
|
||||
*errors_len = 0;
|
||||
|
||||
@ -2836,9 +2864,9 @@ struct ZigClangQualType ZigClangMacroQualifiedType_getModifiedType(const struct
|
||||
return bitcast(casted->getModifiedType());
|
||||
}
|
||||
|
||||
struct ZigClangQualType ZigClangTypeOfType_getUnderlyingType(const struct ZigClangTypeOfType *self) {
|
||||
struct ZigClangQualType ZigClangTypeOfType_getUnmodifiedType(const struct ZigClangTypeOfType *self) {
|
||||
auto casted = reinterpret_cast<const clang::TypeOfType *>(self);
|
||||
return bitcast(casted->getUnderlyingType());
|
||||
return bitcast(casted->getUnmodifiedType());
|
||||
}
|
||||
|
||||
const struct ZigClangExpr *ZigClangTypeOfExprType_getUnderlyingExpr(const struct ZigClangTypeOfExprType *self) {
|
||||
|
||||
@ -329,6 +329,7 @@ enum ZigClangStmtClass {
|
||||
ZigClangStmt_OMPCriticalDirectiveClass,
|
||||
ZigClangStmt_OMPDepobjDirectiveClass,
|
||||
ZigClangStmt_OMPDispatchDirectiveClass,
|
||||
ZigClangStmt_OMPErrorDirectiveClass,
|
||||
ZigClangStmt_OMPFlushDirectiveClass,
|
||||
ZigClangStmt_OMPInteropDirectiveClass,
|
||||
ZigClangStmt_OMPDistributeDirectiveClass,
|
||||
@ -433,6 +434,7 @@ enum ZigClangStmtClass {
|
||||
ZigClangStmt_CXXNewExprClass,
|
||||
ZigClangStmt_CXXNoexceptExprClass,
|
||||
ZigClangStmt_CXXNullPtrLiteralExprClass,
|
||||
ZigClangStmt_CXXParenListInitExprClass,
|
||||
ZigClangStmt_CXXPseudoDestructorExprClass,
|
||||
ZigClangStmt_CXXRewrittenBinaryOperatorClass,
|
||||
ZigClangStmt_CXXScalarValueInitExprClass,
|
||||
@ -614,11 +616,13 @@ enum ZigClangDeclKind {
|
||||
ZigClangDeclFileScopeAsm,
|
||||
ZigClangDeclFriend,
|
||||
ZigClangDeclFriendTemplate,
|
||||
ZigClangDeclImplicitConceptSpecialization,
|
||||
ZigClangDeclImport,
|
||||
ZigClangDeclLifetimeExtendedTemporary,
|
||||
ZigClangDeclLinkageSpec,
|
||||
ZigClangDeclUsing,
|
||||
ZigClangDeclUsingEnum,
|
||||
ZigClangDeclHLSLBuffer,
|
||||
ZigClangDeclLabel,
|
||||
ZigClangDeclNamespace,
|
||||
ZigClangDeclNamespaceAlias,
|
||||
@ -687,6 +691,7 @@ enum ZigClangDeclKind {
|
||||
ZigClangDeclPragmaDetectMismatch,
|
||||
ZigClangDeclRequiresExprBody,
|
||||
ZigClangDeclStaticAssert,
|
||||
ZigClangDeclTopLevelStmt,
|
||||
ZigClangDeclTranslationUnit,
|
||||
};
|
||||
|
||||
@ -1301,7 +1306,7 @@ ZIG_EXTERN_C struct ZigClangQualType ZigClangAttributedType_getEquivalentType(co
|
||||
|
||||
ZIG_EXTERN_C struct ZigClangQualType ZigClangMacroQualifiedType_getModifiedType(const struct ZigClangMacroQualifiedType *);
|
||||
|
||||
ZIG_EXTERN_C struct ZigClangQualType ZigClangTypeOfType_getUnderlyingType(const struct ZigClangTypeOfType *);
|
||||
ZIG_EXTERN_C struct ZigClangQualType ZigClangTypeOfType_getUnmodifiedType(const struct ZigClangTypeOfType *);
|
||||
|
||||
ZIG_EXTERN_C const struct ZigClangExpr *ZigClangTypeOfExprType_getUnderlyingExpr(const struct ZigClangTypeOfExprType *);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user