aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2016-01-22 22:42:02 -0700
committerAndrew Kelley <superjoe30@gmail.com>2016-01-22 22:42:02 -0700
commit0e51c16ef57b3b8239c512d78f0dcafb202be21c (patch)
tree17589df96ea0df0ffc5c66eae1d9404fb0a14151 /src/codegen.cpp
parent523e3b86af44b97bcf68e3eb0956ef297421ee10 (diff)
downloadzig-0e51c16ef57b3b8239c512d78f0dcafb202be21c.tar.gz
zig-0e51c16ef57b3b8239c512d78f0dcafb202be21c.zip
add undefined literal
Diffstat (limited to 'src/codegen.cpp')
-rw-r--r--src/codegen.cpp22
1 files changed, 5 insertions, 17 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp
index 6a5008b94e..65b3b91a4c 100644
--- a/src/codegen.cpp
+++ b/src/codegen.cpp
@@ -1486,22 +1486,6 @@ static LLVMValueRef gen_asm_expr(CodeGen *g, AstNode *node) {
return LLVMBuildCall(g->builder, asm_fn, param_values, input_and_output_count, "");
}
-static LLVMValueRef gen_null_literal(CodeGen *g, AstNode *node) {
- assert(node->type == NodeTypeNullLiteral);
-
- TypeTableEntry *type_entry = get_expr_type(node);
- assert(type_entry->id == TypeTableEntryIdMaybe);
-
- LLVMValueRef tmp_struct_ptr = node->data.null_literal.resolved_struct_val_expr.ptr;
-
- add_debug_source_node(g, node);
- LLVMValueRef field_ptr = LLVMBuildStructGEP(g->builder, tmp_struct_ptr, 1, "");
- LLVMValueRef null_value = LLVMConstNull(LLVMInt1Type());
- LLVMBuildStore(g->builder, null_value, field_ptr);
-
- return tmp_struct_ptr;
-}
-
static LLVMValueRef gen_container_init_expr(CodeGen *g, AstNode *node) {
assert(node->type == NodeTypeContainerInitExpr);
@@ -1963,7 +1947,11 @@ static LLVMValueRef gen_expr(CodeGen *g, AstNode *node) {
case NodeTypeFieldAccessExpr:
return gen_field_access_expr(g, node, false);
case NodeTypeNullLiteral:
- return gen_null_literal(g, node);
+ // caught by constant expression eval codegen
+ zig_unreachable();
+ case NodeTypeUndefinedLiteral:
+ // caught by constant expression eval codegen
+ zig_unreachable();
case NodeTypeIfBoolExpr:
return gen_if_bool_expr(g, node);
case NodeTypeIfVarExpr: