Files
c3c/test/test_suite/embed/embed_basic.c3t
Christoffer Lerno 25bccf4883 New faults and syntax (#2034)
- Remove `[?]` syntax.
- Change `int!` to `int?` syntax.
- New `fault` declarations.
- Enum associated values can reference the calling enum.
2025-03-10 00:11:35 +01:00

34 lines
1.8 KiB
Plaintext

// #target: macos-x64
module testing;
fn void main()
{
char[*] data = $embed("embed_basic.c3");
char* data2 = $embed("embed_basic.c3");
char[] data3 = $embed("embed_basic.c3");
char* data4 = $embed("fiek") ?? null;
char*? data5 = $embed("fiek");
}
/* #expect: testing.ll
@.bytes = private unnamed_addr constant [234 x i8] c"module testing;\0A\0Afn void main()\0A{\0A\09char[*] data = $embed(\22embed_basic.c3\22);\0A\09char* data2 = $embed(\22embed_basic.c3\22);\0A\09char[] data3 = $embed(\22embed_basic.c3\22);\0A\09char* data4 = $embed(\22fiek\22) ?? null;\0A\09char*? data5 = $embed(\22fiek\22);\0A}\0A\0A\00", align 1
@.bytes.1 = private unnamed_addr constant [234 x i8] c"module testing;\0A\0Afn void main()\0A{\0A\09char[*] data = $embed(\22embed_basic.c3\22);\0A\09char* data2 = $embed(\22embed_basic.c3\22);\0A\09char[] data3 = $embed(\22embed_basic.c3\22);\0A\09char* data4 = $embed(\22fiek\22) ?? null;\0A\09char*? data5 = $embed(\22fiek\22);\0A}\0A\0A\00", align 1
@.bytes.2 = private unnamed_addr constant [234 x i8] c"module testing;\0A\0Afn void main()\0A{\0A\09char[*] data = $embed(\22embed_basic.c3\22);\0A\09char* data2 = $embed(\22embed_basic.c3\22);\0A\09char[] data3 = $embed(\22embed_basic.c3\22);\0A\09char* data4 = $embed(\22fiek\22) ?? null;\0A\09char*? data5 = $embed(\22fiek\22);\0A}\0A\0A\00", align 1
define void @testing.main() #0 {
entry:
%data = alloca
%data2 = alloca ptr, align 8
%data3 = alloca %"char[]", align 8
%data4 = alloca ptr, align 8
%data5 = alloca ptr, align 8
%data5.f = alloca i64, align 8
call void @llvm.memcpy.p0.p0.i32(ptr align 16 %data, ptr align 1 @.bytes
store ptr @.bytes.1, ptr %data2, align 8
store %"char[]" { ptr @.bytes.2
store ptr null, ptr %data4, align 8
store i64 ptrtoint (ptr @std.io.FILE_NOT_FOUND to i64), ptr %data5.f, align 8
ret void
}