aboutsummaryrefslogtreecommitdiff
path: root/src/translate_c.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-09-19 21:12:57 -0400
committerGitHub <noreply@github.com>2019-09-19 21:12:57 -0400
commite81156b87364a31bee892aee2e6145f65c02fa35 (patch)
treeae784e161db393c18e8fbbc99a5f17454e20f4e8 /src/translate_c.cpp
parent925ffbce7f424548be9eb42eb3914d5035066003 (diff)
parentb76d16c7c7b54b3da35c3c91a8e5bc5dc7d6c57e (diff)
downloadzig-e81156b87364a31bee892aee2e6145f65c02fa35.tar.gz
zig-e81156b87364a31bee892aee2e6145f65c02fa35.zip
Merge pull request #3260 from ziglang/llvm9
LLVM 9
Diffstat (limited to 'src/translate_c.cpp')
-rw-r--r--src/translate_c.cpp34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/translate_c.cpp b/src/translate_c.cpp
index 7a4ad3f57d..d007b83fcd 100644
--- a/src/translate_c.cpp
+++ b/src/translate_c.cpp
@@ -1301,6 +1301,7 @@ static AstNode *trans_type(Context *c, const ZigClangType *ty, ZigClangSourceLoc
case ZigClangType_DeducedTemplateSpecialization:
case ZigClangType_DependentAddressSpace:
case ZigClangType_DependentVector:
+ case ZigClangType_MacroQualified:
emit_warning(c, source_loc, "unsupported type: '%s'", ZigClangType_getTypeClassName(ty));
return nullptr;
}
@@ -2188,6 +2189,15 @@ static AstNode *trans_implicit_cast_expr(Context *c, ResultUsed result_used, Tra
case ZigClangCK_IntToOCLSampler:
emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CK_IntToOCLSampler");
return nullptr;
+ case ZigClangCK_LValueToRValueBitCast:
+ emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CK_LValueToRValueBitCast");
+ return nullptr;
+ case ZigClangCK_FixedPointToIntegral:
+ emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CK_FixedPointToIntegral");
+ return nullptr;
+ case ZigClangCK_IntegralToFixedPoint:
+ emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C CK_IntegralToFixedPointral");
+ return nullptr;
}
zig_unreachable();
}
@@ -2671,6 +2681,15 @@ static int trans_local_declaration(Context *c, TransScope *scope, const clang::D
case clang::Decl::TranslationUnit:
emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C TranslationUnit");
return ErrorUnexpected;
+ case clang::Decl::Concept:
+ emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C Concept");
+ return ErrorUnexpected;
+ case clang::Decl::OMPDeclareMapper:
+ emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPDeclareMapper");
+ return ErrorUnexpected;
+ case clang::Decl::OMPAllocate:
+ emit_warning(c, bitcast(stmt->getBeginLoc()), "TODO handle C OMPAllocate");
+ return ErrorUnexpected;
}
zig_unreachable();
}
@@ -2946,6 +2965,7 @@ static AstNode *trans_bool_expr(Context *c, ResultUsed result_used, TransScope *
case ZigClangType_DeducedTemplateSpecialization:
case ZigClangType_DependentAddressSpace:
case ZigClangType_DependentVector:
+ case ZigClangType_MacroQualified:
return res;
}
zig_unreachable();
@@ -4031,6 +4051,12 @@ static int trans_stmt_extra(Context *c, TransScope *scope, const ZigClangStmt *s
case ZigClangStmt_SEHTryStmtClass:
emit_warning(c, ZigClangStmt_getBeginLoc(stmt), "TODO handle C SEHTryStmtClass");
return ErrorUnexpected;
+ case ZigClangStmt_BuiltinBitCastExprClass:
+ emit_warning(c, ZigClangStmt_getBeginLoc(stmt), "TODO handle C BuiltinBitCastExprClass");
+ return ErrorUnexpected;
+ case ZigClangStmt_SourceLocExprClass:
+ emit_warning(c, ZigClangStmt_getBeginLoc(stmt), "TODO handle C SourceLocExprClass");
+ return ErrorUnexpected;
}
zig_unreachable();
}
@@ -4448,7 +4474,7 @@ static AstNode *trans_ap_value(Context *c, const ZigClangAPValue *ap_value, ZigC
switch (ZigClangAPValue_getKind(ap_value)) {
case ZigClangAPValueInt:
return trans_create_node_apint(c, ZigClangAPValue_getInt(ap_value));
- case ZigClangAPValueUninitialized:
+ case ZigClangAPValueNone:
return trans_create_node(c, NodeTypeUndefinedLiteral);
case ZigClangAPValueArray: {
emit_warning(c, source_loc, "TODO add a test case for this code");
@@ -4539,6 +4565,12 @@ static AstNode *trans_ap_value(Context *c, const ZigClangAPValue *ap_value, ZigC
case ZigClangAPValueAddrLabelDiff:
emit_warning(c, source_loc, "unsupported initializer value kind: AddrLabelDiff");
return nullptr;
+ case ZigClangAPValueIndeterminate:
+ emit_warning(c, source_loc, "unsupported initializer value kind: Indeterminate");
+ return nullptr;
+ case ZigClangAPValueFixedPoint:
+ emit_warning(c, source_loc, "unsupported initializer value kind: FixedPoint");
+ return nullptr;
}
zig_unreachable();
}