aboutsummaryrefslogtreecommitdiff
path: root/src-self-hosted
diff options
context:
space:
mode:
authorhryx <codroid@gmail.com>2019-05-29 15:33:44 -0700
committerhryx <codroid@gmail.com>2019-05-29 15:33:44 -0700
commit3e14f86f9e703a4d189aab5e2f27c1029927c9e9 (patch)
tree168394c02980a979b8d3ff9410adcfde5a4acc99 /src-self-hosted
parente632c2ade3d9ea2cfaa201b20f523d315d9c47fd (diff)
downloadzig-3e14f86f9e703a4d189aab5e2f27c1029927c9e9.tar.gz
zig-3e14f86f9e703a4d189aab5e2f27c1029927c9e9.zip
Implement missing clang functions from last commit
Diffstat (limited to 'src-self-hosted')
-rw-r--r--src-self-hosted/clang.zig7
-rw-r--r--src-self-hosted/translate_c.zig4
2 files changed, 9 insertions, 2 deletions
diff --git a/src-self-hosted/clang.zig b/src-self-hosted/clang.zig
index 108204d401..4bc027dfa8 100644
--- a/src-self-hosted/clang.zig
+++ b/src-self-hosted/clang.zig
@@ -479,6 +479,7 @@ pub extern fn ZigClangSourceLocation_eq(a: struct_ZigClangSourceLocation, b: str
pub extern fn ZigClangTypedefType_getDecl(arg0: ?*const struct_ZigClangTypedefType) ?*const struct_ZigClangTypedefNameDecl;
pub extern fn ZigClangTypedefNameDecl_getUnderlyingType(arg0: ?*const struct_ZigClangTypedefNameDecl) struct_ZigClangQualType;
pub extern fn ZigClangQualType_getCanonicalType(arg0: struct_ZigClangQualType) struct_ZigClangQualType;
+pub extern fn ZigClangQualType_getTypeClass(self: struct_ZigClangQualType) ZigClangTypeClass;
pub extern fn ZigClangQualType_getTypePtr(self: struct_ZigClangQualType) *const struct_ZigClangType;
pub extern fn ZigClangQualType_addConst(arg0: [*c]struct_ZigClangQualType) void;
pub extern fn ZigClangQualType_eq(arg0: struct_ZigClangQualType, arg1: struct_ZigClangQualType) bool;
@@ -887,3 +888,9 @@ pub extern fn ZigClangImplicitCastExpr_getSubExpr(*const ZigClangImplicitCastExp
pub extern fn ZigClangArrayType_getElementType(*const ZigClangArrayType) ZigClangQualType;
pub extern fn ZigClangDeclRefExpr_getDecl(*const ZigClangDeclRefExpr) *const ZigClangValueDecl;
+
+pub extern fn ZigClangParenType_getInnerType(*const ZigClangParenType) ZigClangQualType;
+
+pub extern fn ZigClangElaboratedType_getNamedType(*const ZigClangElaboratedType) ZigClangQualType;
+
+pub extern fn ZigClangAttributedType_getEquivalentType(*const ZigClangAttributedType) ZigClangQualType;
diff --git a/src-self-hosted/translate_c.zig b/src-self-hosted/translate_c.zig
index 017b861458..a7818de67c 100644
--- a/src-self-hosted/translate_c.zig
+++ b/src-self-hosted/translate_c.zig
@@ -638,12 +638,12 @@ fn qualTypeChildIsFnProto(qt: ZigClangQualType) bool {
const ty = ZigClangQualType_getTypePtr(qt);
if (ZigClangType_getTypeClass(ty) == .Paren) {
const paren_type = @ptrCast(*const ZigClangParenType, ty);
- const inner_type = ZigClangParenType_getInnerType(ty);
+ const inner_type = ZigClangParenType_getInnerType(paren_type);
return ZigClangQualType_getTypeClass(inner_type) == .FunctionProto;
}
if (ZigClangType_getTypeClass(ty) == .Attributed) {
const attr_type = @ptrCast(*const ZigClangAttributedType, ty);
- return qualTypeChildIsFnProto(bitcast(ZigClangAttributedType_getEquivalentType(attr_type)));
+ return qualTypeChildIsFnProto(ZigClangAttributedType_getEquivalentType(attr_type));
}
return false;
}