| author | |
| committer | |
| log | 491e3cb5c5e21477f9f45b25825e27905685760c |
| tree | 41fb6811454f4448027182761858c43a3ef2cd1e |
| parent | 4ce85ea0673b36d5603e18917b288c976cd71844 |
3 files changed, 11 insertions(+), 1 deletions(-)
src/codegen.cpp+2-1| ... | ... | @@ -333,6 +333,7 @@ static LLVMValueRef get_handle_value(CodeGen *g, AstNode *source_node, LLVMValue |
| 333 | 333 | static LLVMValueRef gen_err_name(CodeGen *g, AstNode *node) { |
| 334 | 334 | zig_panic("TODO"); |
| 335 | 335 | //assert(node->type == NodeTypeFnCallExpr); |
| 336 | //assert(g->generate_error_name_table); | |
| 336 | 337 | //AstNode *err_val_node = node->data.fn_call_expr.params.at(0); |
| 337 | 338 | //LLVMValueRef err_val = gen_expr(g, err_val_node); |
| 338 | 339 | //arg |
| ... | ... | @@ -2895,7 +2896,7 @@ static LLVMValueRef gen_const_val(CodeGen *g, TypeTableEntry *type_entry, ConstE |
| 2895 | 2896 | } |
| 2896 | 2897 | target_val = LLVMConstArray(child_type->type_ref, values, len); |
| 2897 | 2898 | } else { |
| 2898 | zig_unreachable(); | |
| 2899 | return LLVMGetUndef(type_entry->type_ref); | |
| 2899 | 2900 | } |
| 2900 | 2901 | LLVMValueRef global_value = LLVMAddGlobal(g->module, LLVMTypeOf(target_val), ""); |
| 2901 | 2902 | LLVMSetInitializer(global_value, target_val); |
src/parser.cpp+3| ... | ... | @@ -278,6 +278,9 @@ static void parse_string_literal(ParseContext *pc, Token *token, Buf *buf, bool |
| 278 | 278 | buf_append_char(buf, '"'); |
| 279 | 279 | if (offset_map) offset_map->append(pos); |
| 280 | 280 | break; |
| 281 | case 'x': | |
| 282 | zig_panic("TODO"); | |
| 283 | break; | |
| 281 | 284 | default: |
| 282 | 285 | ast_error(pc, token, "invalid escape character"); |
| 283 | 286 | break; |
test/self_hosted.zig+6| ... | ... | @@ -554,3 +554,9 @@ fn mem_alloc(T: type)(n: isize) -> %[]T { |
| 554 | 554 | fn mem_free(T: type)(mem: []T) { } |
| 555 | 555 | |
| 556 | 556 | |
| 557 | #attribute("test") | |
| 558 | fn call_fn_with_empty_string() { | |
| 559 | accepts_string(""); | |
| 560 | } | |
| 561 | ||
| 562 | fn accepts_string(foo: []u8) { } |