mirror of
https://github.com/ziglang/zig.git
synced 2026-01-04 12:33:19 +00:00
var decl: threadlocal
This commit is contained in:
parent
99f0b28d39
commit
c79b8aeaef
@ -870,3 +870,10 @@ pub const ZigClangDeclStmt_const_decl_iterator = [*c]const *struct_ZigClangDecl;
|
||||
|
||||
pub extern fn ZigClangDeclStmt_decl_begin(self: *const ZigClangDeclStmt) ZigClangDeclStmt_const_decl_iterator;
|
||||
pub extern fn ZigClangDeclStmt_decl_end(self: *const ZigClangDeclStmt) ZigClangDeclStmt_const_decl_iterator;
|
||||
|
||||
pub extern fn ZigClangVarDecl_getTLSKind(self: ?*const struct_ZigClangVarDecl) ZigClangVarDecl_TLSKind;
|
||||
pub const ZigClangVarDecl_TLSKind = extern enum {
|
||||
None,
|
||||
Static,
|
||||
Dynamic,
|
||||
};
|
||||
|
||||
@ -381,12 +381,10 @@ fn transDeclStmt(rp: RestorePoint, parent_scope: *Scope, stmt: *const ZigClangDe
|
||||
.Var => {
|
||||
const var_decl = @ptrCast(*const ZigClangVarDecl, it.*);
|
||||
|
||||
// TODO:
|
||||
// const thread_local_token = if (ZigClangVarDecl_getTLSKind() == .None)
|
||||
// null
|
||||
// else
|
||||
// try appendToken(c, .Keyword_threadlocal, "threadlocal");
|
||||
const thread_local_token: ?ast.TokenIndex = null;
|
||||
const thread_local_token = if (ZigClangVarDecl_getTLSKind(var_decl) == .None)
|
||||
null
|
||||
else
|
||||
try appendToken(c, .Keyword_threadlocal, "threadlocal");
|
||||
const qual_type = ZigClangVarDecl_getType(var_decl);
|
||||
const mut_token = if (ZigClangQualType_isConstQualified(qual_type))
|
||||
try appendToken(c, .Keyword_const, "const")
|
||||
|
||||
@ -1459,6 +1459,11 @@ const char *ZigClangDecl_getDeclKindName(const struct ZigClangDecl *self) {
|
||||
return casted->getDeclKindName();
|
||||
}
|
||||
|
||||
enum ZigClangVarDecl_TLSKind ZigClangVarDecl_getTLSKind(const ZigClangVarDecl *self) {
|
||||
auto casted = reinterpret_cast<const clang::VarDecl *>(self);
|
||||
return (ZigClangVarDecl_TLSKind)casted->getTLSKind();
|
||||
}
|
||||
|
||||
ZigClangSourceLocation ZigClangRecordDecl_getLocation(const ZigClangRecordDecl *zig_record_decl) {
|
||||
const clang::RecordDecl *record_decl = reinterpret_cast<const clang::RecordDecl *>(zig_record_decl);
|
||||
return bitcast(record_decl->getLocation());
|
||||
|
||||
@ -733,6 +733,12 @@ enum ZigClangStringLiteral_StringKind {
|
||||
ZigClangStringLiteral_StringKind_UTF32,
|
||||
};
|
||||
|
||||
enum ZigClangVarDecl_TLSKind {
|
||||
ZigClangVarDecl_TLSKind_None,
|
||||
ZigClangVarDecl_TLSKind_Static,
|
||||
ZigClangVarDecl_TLSKind_Dynamic,
|
||||
};
|
||||
|
||||
ZIG_EXTERN_C struct ZigClangSourceLocation ZigClangSourceManager_getSpellingLoc(const struct ZigClangSourceManager *,
|
||||
struct ZigClangSourceLocation Loc);
|
||||
ZIG_EXTERN_C const char *ZigClangSourceManager_getFilename(const struct ZigClangSourceManager *,
|
||||
@ -792,6 +798,8 @@ ZIG_EXTERN_C const char *ZigClangDecl_getName_bytes_begin(const struct ZigClangD
|
||||
ZIG_EXTERN_C enum ZigClangDeclKind ZigClangDecl_getKind(const struct ZigClangDecl *decl);
|
||||
ZIG_EXTERN_C const char *ZigClangDecl_getDeclKindName(const struct ZigClangDecl *decl);
|
||||
|
||||
ZIG_EXTERN_C enum ZigClangVarDecl_TLSKind ZigClangVarDecl_getTLSKind(const struct ZigClangVarDecl *var_decl);
|
||||
|
||||
ZIG_EXTERN_C bool ZigClangSourceLocation_eq(struct ZigClangSourceLocation a, struct ZigClangSourceLocation b);
|
||||
|
||||
ZIG_EXTERN_C const struct ZigClangTypedefNameDecl *ZigClangTypedefType_getDecl(const struct ZigClangTypedefType *);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user