mirror of
https://github.com/ziglang/zig.git
synced 2026-02-21 16:54:52 +00:00
Fix @import of empty file
This commit is contained in:
parent
e83334274f
commit
1ce0994897
@ -1988,7 +1988,7 @@ static ZigType *analyze_fn_type(CodeGen *g, AstNode *proto_node, Scope *child_sc
|
||||
// behaviour when checking expected alignment with `@ptrToInt(fn_ptr)`
|
||||
// or similar. This commit proposes to make `align` expressions a
|
||||
// compile error when compiled to Wasm architecture.
|
||||
//
|
||||
//
|
||||
// Some references:
|
||||
// [1] [Mozilla: WebAssembly Tables](https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_format#WebAssembly_tables)
|
||||
// [2] [Sunfishcode's Wasm Ref Manual](https://github.com/sunfishcode/wasm-reference-manual/blob/master/WebAssembly.md#indirect-call)
|
||||
@ -8052,10 +8052,13 @@ not_integer:
|
||||
}
|
||||
|
||||
Error file_fetch(CodeGen *g, Buf *resolved_path, Buf *contents_buf) {
|
||||
size_t len;
|
||||
size_t len = 0xAA;
|
||||
const char *contents = stage2_fetch_file(&g->stage1, buf_ptr(resolved_path), buf_len(resolved_path), &len);
|
||||
if (contents == nullptr)
|
||||
if (len == 0) {
|
||||
// File exists but is empty (otherwise it would be 0xAA)
|
||||
} else if (contents == nullptr) {
|
||||
return ErrorFileNotFound;
|
||||
}
|
||||
buf_init_from_mem(contents_buf, contents, len);
|
||||
return ErrorNone;
|
||||
}
|
||||
@ -9044,7 +9047,7 @@ static void resolve_llvm_types_optional(CodeGen *g, ZigType *type, ResolveStatus
|
||||
8 * child_type->abi_align,
|
||||
val_offset_in_bits,
|
||||
ZigLLVM_DIFlags_Zero, child_llvm_di_type);
|
||||
di_element_types[maybe_null_index] =
|
||||
di_element_types[maybe_null_index] =
|
||||
ZigLLVMCreateDebugMemberType(g->dbuilder, ZigLLVMTypeToScope(type->llvm_di_type),
|
||||
"maybe", di_file, line,
|
||||
8*g->builtin_types.entry_bool->abi_size,
|
||||
|
||||
@ -16,3 +16,7 @@ test "import in non-toplevel scope" {
|
||||
};
|
||||
expectEqual(@as(i32, 1234), S.foo());
|
||||
}
|
||||
|
||||
test "import empty file" {
|
||||
const empty = @import("import/empty.zig");
|
||||
}
|
||||
|
||||
0
test/stage1/behavior/import/empty.zig
Normal file
0
test/stage1/behavior/import/empty.zig
Normal file
Loading…
x
Reference in New Issue
Block a user