diff options
| author | hryx <codroid@gmail.com> | 2019-05-29 15:33:44 -0700 |
|---|---|---|
| committer | hryx <codroid@gmail.com> | 2019-05-29 15:33:44 -0700 |
| commit | 3e14f86f9e703a4d189aab5e2f27c1029927c9e9 (patch) | |
| tree | 168394c02980a979b8d3ff9410adcfde5a4acc99 /src-self-hosted | |
| parent | e632c2ade3d9ea2cfaa201b20f523d315d9c47fd (diff) | |
| download | zig-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.zig | 7 | ||||
| -rw-r--r-- | src-self-hosted/translate_c.zig | 4 |
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; } |
