aboutsummaryrefslogtreecommitdiff
path: root/src/stage1/ir.cpp
diff options
context:
space:
mode:
authorDaniele Cocca <daniele.cocca@gmail.com>2021-06-18 17:59:38 +0100
committerAndrew Kelley <andrew@ziglang.org>2021-07-15 15:12:44 -0400
commitb009aca38a861f74fd5378db19c65db286ad397e (patch)
treed66aaa750958d46598b6c0d75ab2bf889dffc355 /src/stage1/ir.cpp
parent08e5daa7d5ff0226ced462308d06b3b17ee4472f (diff)
downloadzig-b009aca38a861f74fd5378db19c65db286ad397e.tar.gz
zig-b009aca38a861f74fd5378db19c65db286ad397e.zip
src: return a null-terminated slice
Diffstat (limited to 'src/stage1/ir.cpp')
-rw-r--r--src/stage1/ir.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/stage1/ir.cpp b/src/stage1/ir.cpp
index 1b7f500b6d..604d2c2f90 100644
--- a/src/stage1/ir.cpp
+++ b/src/stage1/ir.cpp
@@ -24261,12 +24261,6 @@ static Stage1AirInst *ir_analyze_instruction_src(IrAnalyze *ira, Stage1ZirInstSr
return ira->codegen->invalid_inst_gen;
}
- ZigType *u8_ptr = get_pointer_to_type_extra2(
- ira->codegen, ira->codegen->builtin_types.entry_u8,
- true, false, PtrLenUnknown,
- 0, 0, 0, false, VECTOR_INDEX_NONE, nullptr, ira->codegen->intern.for_zero_byte());
- ZigType *u8_slice = get_slice_type(ira->codegen, u8_ptr);
-
ZigType *source_location_type = get_builtin_type(ira->codegen, "SourceLocation");
if (type_resolve(ira->codegen, source_location_type, ResolveStatusSizeKnown)) {
zig_unreachable();
@@ -24286,18 +24280,16 @@ static Stage1AirInst *ir_analyze_instruction_src(IrAnalyze *ira, Stage1ZirInstSr
ZigType *import = instruction->base.source_node->owner;
RootStruct *root_struct = import->data.structure.root_struct;
Buf *path = root_struct->path;
- ZigValue *file_name = create_const_str_lit(ira->codegen, path)->data.x_ptr.data.ref.pointee;
- init_const_slice(ira->codegen, fields[0], file_name, 0, buf_len(path), true, nullptr);
- fields[0]->type = u8_slice;
+ fields[0] = create_sentineled_str_lit(
+ ira->codegen, path,
+ ira->codegen->intern.for_zero_byte());
// fn_name: [:0]const u8
ensure_field_index(source_location_type, "fn_name", 1);
fields[1]->special = ConstValSpecialStatic;
-
- ZigValue *fn_name = create_const_str_lit(ira->codegen, &fn_entry->symbol_name)->data.x_ptr.data.ref.pointee;
- init_const_slice(ira->codegen, fields[1], fn_name, 0, buf_len(&fn_entry->symbol_name), true, nullptr);
- fields[1]->type = u8_slice;
-
+ fields[1] = create_sentineled_str_lit(
+ ira->codegen, &fn_entry->symbol_name,
+ ira->codegen->intern.for_zero_byte());
TokenLoc tok_loc = root_struct->token_locs[instruction->base.source_node->main_token];