aboutsummaryrefslogtreecommitdiff
path: root/src/zig_clang.cpp
diff options
context:
space:
mode:
authorVexu <git@vexu.eu>2019-12-13 14:55:36 +0200
committerVexu <git@vexu.eu>2019-12-13 15:07:10 +0200
commiteb057ef41c8a5482586fc39bab11c280e261ea94 (patch)
tree2d2b3564a10210644bee16a6647b8961017e0db7 /src/zig_clang.cpp
parent0795f17db23fff5aada41008348a63cbc9e0321b (diff)
downloadzig-eb057ef41c8a5482586fc39bab11c280e261ea94.tar.gz
zig-eb057ef41c8a5482586fc39bab11c280e261ea94.zip
translate-c-2 dont eval init expr
Diffstat (limited to 'src/zig_clang.cpp')
-rw-r--r--src/zig_clang.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/zig_clang.cpp b/src/zig_clang.cpp
index 3c04a2dc8a..86ef17ffbe 100644
--- a/src/zig_clang.cpp
+++ b/src/zig_clang.cpp
@@ -1825,6 +1825,23 @@ bool ZigClangExpr_EvaluateAsConstantExpr(const ZigClangExpr *self, ZigClangExprE
return true;
}
+const ZigClangExpr *ZigClangInitListExpr_getInit(const ZigClangInitListExpr *self, unsigned i) {
+ auto casted = reinterpret_cast<const clang::InitListExpr *>(self);
+ const clang::Expr *result = casted->getInit(i);
+ return reinterpret_cast<const ZigClangExpr *>(result);
+}
+
+const ZigClangExpr *ZigClangInitListExpr_getArrayFiller(const ZigClangInitListExpr *self) {
+ auto casted = reinterpret_cast<const clang::InitListExpr *>(self);
+ const clang::Expr *result = casted->getArrayFiller();
+ return reinterpret_cast<const ZigClangExpr *>(result);
+}
+
+unsigned ZigClangInitListExpr_getNumInits(const ZigClangInitListExpr *self) {
+ auto casted = reinterpret_cast<const clang::InitListExpr *>(self);
+ return casted->getNumInits();
+}
+
ZigClangAPValueKind ZigClangAPValue_getKind(const ZigClangAPValue *self) {
auto casted = reinterpret_cast<const clang::APValue *>(self);
return (ZigClangAPValueKind)casted->getKind();
@@ -2065,6 +2082,11 @@ const ZigClangAPValue * ZigClangVarDecl_evaluateValue(const struct ZigClangVarDe
return reinterpret_cast<const ZigClangAPValue *>(result);
}
+enum ZigClangStorageClass ZigClangVarDecl_getStorageClass(const struct ZigClangVarDecl *self) {
+ auto casted = reinterpret_cast<const clang::VarDecl *>(self);
+ return (ZigClangStorageClass)casted->getStorageClass();
+}
+
enum ZigClangBuiltinTypeKind ZigClangBuiltinType_getKind(const struct ZigClangBuiltinType *self) {
auto casted = reinterpret_cast<const clang::BuiltinType *>(self);
return (ZigClangBuiltinTypeKind)casted->getKind();