Files
c3c/test/test_suite/visibility/export_property.c3t

40 lines
1.1 KiB
Plaintext

// #target: macos-aarch64
module test;
fn void test(Test a) @export
{
}
enum Abc
{
ABC,
DEF
}
struct Test
{
struct
{
int a;
int b;
}
bitstruct : int
{
int fa : 1..6;
}
Abc y;
int[?] x;
}
/* #expect: test.ll
%.introspect = type { i8, i64, ptr, i64, i64, i64, [0 x i64] }
%"char[]" = type { ptr, i64 }
%Test = type { %.anon, i32, i32, [0 x i32] }
%.anon = type { i32, i32 }
@"$ct.test.$anon" = linkonce global %.introspect { i8 10, i64 0, ptr null, i64 8, i64 0, i64 2, [0 x i64] zeroinitializer }, align 8
@"$ct.test.Test" = linkonce global %.introspect { i8 10, i64 0, ptr null, i64 16, i64 0, i64 4, [0 x i64] zeroinitializer }, align 8
@.enum.ABC = internal constant [4 x i8] c"ABC\00", align 1
@.enum.DEF = internal constant [4 x i8] c"DEF\00", align 1
@"$ct.int" = linkonce global %.introspect { i8 2, i64 0, ptr null, i64 4, i64 0, i64 0, [0 x i64] zeroinitializer }, align 8
@"$ct.test.Abc" = linkonce global { i8, i64, ptr, i64, i64, i64, [2 x %"char[]"] } { i8 8, i64 0, ptr null, i64 4, i64 ptrtoint (ptr @"$ct.int" to i64), i64 2, [2 x %"char[]"] [%"char[]" { ptr @.enum.ABC, i64 3 }, %"char[]" { ptr @.enum.DEF, i64 3 }] }, align 8