diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2016-09-08 00:24:48 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2016-09-08 00:24:48 -0400 |
| commit | d324b1befa6c7f0fd5d18ffe45a98d104a62d8a0 (patch) | |
| tree | 0258132b13007f3b93cabc2ca54f4d17689e0c2d /src/codegen.cpp | |
| parent | de7e88c38fcaa37c98c2425be341568e8e193ffc (diff) | |
| download | zig-d324b1befa6c7f0fd5d18ffe45a98d104a62d8a0.tar.gz zig-d324b1befa6c7f0fd5d18ffe45a98d104a62d8a0.zip | |
ability to infer parameter types
Diffstat (limited to 'src/codegen.cpp')
| -rw-r--r-- | src/codegen.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp index 78be609a96..7500010409 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -3597,6 +3597,7 @@ static LLVMValueRef gen_expr(CodeGen *g, AstNode *node) { case NodeTypeErrorType: case NodeTypeTypeLiteral: case NodeTypeArrayType: + case NodeTypeVarLiteral: // caught by constant expression eval codegen zig_unreachable(); case NodeTypeRoot: @@ -3815,6 +3816,7 @@ static LLVMValueRef gen_const_val(CodeGen *g, TypeTableEntry *type_entry, ConstE case TypeTableEntryIdVoid: case TypeTableEntryIdNamespace: case TypeTableEntryIdGenericFn: + case TypeTableEntryIdVar: zig_unreachable(); } @@ -4362,6 +4364,12 @@ static void define_builtin_types(CodeGen *g) { entry->deep_const = true; g->builtin_types.entry_null = entry; } + { + TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdVar); + buf_init_from_str(&entry->name, "(var)"); + entry->deep_const = true; + g->builtin_types.entry_var = entry; + } for (int int_size_i = 0; int_size_i < array_length(int_sizes_in_bits); int_size_i += 1) { int size_in_bits = int_sizes_in_bits[int_size_i]; @@ -5129,6 +5137,7 @@ static void get_c_type(CodeGen *g, TypeTableEntry *type_entry, Buf *out_buf) { case TypeTableEntryIdNumLitInt: case TypeTableEntryIdUndefLit: case TypeTableEntryIdNullLit: + case TypeTableEntryIdVar: zig_unreachable(); } } |
