aboutsummaryrefslogtreecommitdiff
path: root/src/parseh.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2016-09-05 16:19:20 -0400
committerAndrew Kelley <superjoe30@gmail.com>2016-09-05 16:19:20 -0400
commite8e2d84689ec2eb19d0b725743a87f1892137665 (patch)
treee3f5dd6859cb0aa69a5c0d1898d7cf947c13f751 /src/parseh.cpp
parenta31eb977b4b930aa588283c5bf07b2e83987a0ed (diff)
parent4979e606c36fdca886f82b0dd8c0db17374ab8f6 (diff)
downloadzig-e8e2d84689ec2eb19d0b725743a87f1892137665.tar.gz
zig-e8e2d84689ec2eb19d0b725743a87f1892137665.zip
Merge branch 'llvm-3.9'
Diffstat (limited to 'src/parseh.cpp')
-rw-r--r--src/parseh.cpp77
1 files changed, 56 insertions, 21 deletions
diff --git a/src/parseh.cpp b/src/parseh.cpp
index 11015b8133..64838bb496 100644
--- a/src/parseh.cpp
+++ b/src/parseh.cpp
@@ -408,25 +408,7 @@ static TypeTableEntry *resolve_type_with_table(Context *c, const Type *ty, const
case BuiltinType::ObjCId:
case BuiltinType::ObjCClass:
case BuiltinType::ObjCSel:
- case BuiltinType::OCLImage1d:
- case BuiltinType::OCLImage1dArray:
- case BuiltinType::OCLImage1dBuffer:
- case BuiltinType::OCLImage2d:
- case BuiltinType::OCLImage2dArray:
- case BuiltinType::OCLImage2dArrayDepth:
- case BuiltinType::OCLImage2dDepth:
- case BuiltinType::OCLImage2dMSAA:
- case BuiltinType::OCLImage2dArrayMSAA:
- case BuiltinType::OCLImage2dMSAADepth:
- case BuiltinType::OCLImage2dArrayMSAADepth:
- case BuiltinType::OCLClkEvent:
- case BuiltinType::OCLQueue:
- case BuiltinType::OCLNDRange:
- case BuiltinType::OCLReserveID:
case BuiltinType::OMPArraySection:
- case BuiltinType::OCLImage3d:
- case BuiltinType::OCLSampler:
- case BuiltinType::OCLEvent:
case BuiltinType::Dependent:
case BuiltinType::Overload:
case BuiltinType::BoundMember:
@@ -434,6 +416,50 @@ static TypeTableEntry *resolve_type_with_table(Context *c, const Type *ty, const
case BuiltinType::UnknownAny:
case BuiltinType::BuiltinFn:
case BuiltinType::ARCUnbridgedCast:
+
+ case BuiltinType::OCLImage1dRO:
+ case BuiltinType::OCLImage1dArrayRO:
+ case BuiltinType::OCLImage1dBufferRO:
+ case BuiltinType::OCLImage2dRO:
+ case BuiltinType::OCLImage2dArrayRO:
+ case BuiltinType::OCLImage2dDepthRO:
+ case BuiltinType::OCLImage2dArrayDepthRO:
+ case BuiltinType::OCLImage2dMSAARO:
+ case BuiltinType::OCLImage2dArrayMSAARO:
+ case BuiltinType::OCLImage2dMSAADepthRO:
+ case BuiltinType::OCLImage2dArrayMSAADepthRO:
+ case BuiltinType::OCLImage3dRO:
+ case BuiltinType::OCLImage1dWO:
+ case BuiltinType::OCLImage1dArrayWO:
+ case BuiltinType::OCLImage1dBufferWO:
+ case BuiltinType::OCLImage2dWO:
+ case BuiltinType::OCLImage2dArrayWO:
+ case BuiltinType::OCLImage2dDepthWO:
+ case BuiltinType::OCLImage2dArrayDepthWO:
+ case BuiltinType::OCLImage2dMSAAWO:
+ case BuiltinType::OCLImage2dArrayMSAAWO:
+ case BuiltinType::OCLImage2dMSAADepthWO:
+ case BuiltinType::OCLImage2dArrayMSAADepthWO:
+ case BuiltinType::OCLImage3dWO:
+ case BuiltinType::OCLImage1dRW:
+ case BuiltinType::OCLImage1dArrayRW:
+ case BuiltinType::OCLImage1dBufferRW:
+ case BuiltinType::OCLImage2dRW:
+ case BuiltinType::OCLImage2dArrayRW:
+ case BuiltinType::OCLImage2dDepthRW:
+ case BuiltinType::OCLImage2dArrayDepthRW:
+ case BuiltinType::OCLImage2dMSAARW:
+ case BuiltinType::OCLImage2dArrayMSAARW:
+ case BuiltinType::OCLImage2dMSAADepthRW:
+ case BuiltinType::OCLImage2dArrayMSAADepthRW:
+ case BuiltinType::OCLImage3dRW:
+ case BuiltinType::Float128:
+ case BuiltinType::OCLSampler:
+ case BuiltinType::OCLEvent:
+ case BuiltinType::OCLClkEvent:
+ case BuiltinType::OCLQueue:
+ case BuiltinType::OCLNDRange:
+ case BuiltinType::OCLReserveID:
emit_warning(c, decl, "missed a builtin type");
return c->codegen->builtin_types.entry_invalid;
}
@@ -554,8 +580,17 @@ static TypeTableEntry *resolve_type_with_table(Context *c, const Type *ty, const
case CC_SpirFunction: // default for OpenCL functions on SPIR target
emit_warning(c, decl, "function type has SPIR function calling convention");
return c->codegen->builtin_types.entry_invalid;
- case CC_SpirKernel: // inferred for OpenCL kernels on SPIR target
- emit_warning(c, decl, "function type has SPIR kernel calling convention");
+ case CC_OpenCLKernel:
+ emit_warning(c, decl, "function type has OpenCLKernel calling convention");
+ return c->codegen->builtin_types.entry_invalid;
+ case CC_Swift:
+ emit_warning(c, decl, "function type has Swift calling convention");
+ return c->codegen->builtin_types.entry_invalid;
+ case CC_PreserveMost:
+ emit_warning(c, decl, "function type has PreserveMost calling convention");
+ return c->codegen->builtin_types.entry_invalid;
+ case CC_PreserveAll:
+ emit_warning(c, decl, "function type has PreserveAll calling convention");
return c->codegen->builtin_types.entry_invalid;
}
@@ -1170,7 +1205,7 @@ static void visit_var_decl(Context *c, const VarDecl *var_decl) {
emit_warning(c, var_decl, "ignoring variable '%s' - unable to evaluate initializer\n", buf_ptr(name));
return;
}
- AstNode *init_node;
+ AstNode *init_node = nullptr;
switch (ap_value->getKind()) {
case APValue::Int:
{