mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Dynamic dispatch.
This commit is contained in:
committed by
Christoffer Lerno
parent
2e498a426e
commit
b794c893d6
@@ -38,12 +38,12 @@ fn void main()
|
||||
%Matrix2x2_b = type { %.anon.1 }
|
||||
%.anon.1 = type { [4 x float] }
|
||||
|
||||
@"$ct.foo.$anon" = linkonce constant %.introspect { i8 10, i64 16, i64 0, i64 4, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.$anon.3" = linkonce constant %.introspect { i8 11, i64 16, i64 0, i64 2, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.Matrix2x2" = linkonce constant %.introspect { i8 10, i64 16, i64 0, i64 1, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.$anon.6" = linkonce constant %.introspect { i8 10, i64 16, i64 0, i64 4, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.$anon.7" = linkonce constant %.introspect { i8 11, i64 16, i64 0, i64 2, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.Matrix2x2_b" = linkonce constant %.introspect { i8 10, i64 16, i64 0, i64 1, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.$anon" = linkonce global %.introspect { i8 10, ptr null, i64 16, i64 0, i64 4, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.$anon.3" = linkonce global %.introspect { i8 11, ptr null, i64 16, i64 0, i64 2, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.Matrix2x2" = linkonce global %.introspect { i8 10, ptr null, i64 16, i64 0, i64 1, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.$anon.6" = linkonce global %.introspect { i8 10, ptr null, i64 16, i64 0, i64 4, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.$anon.7" = linkonce global %.introspect { i8 11, ptr null, i64 16, i64 0, i64 2, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.foo.Matrix2x2_b" = linkonce global %.introspect { i8 10, ptr null, i64 16, i64 0, i64 1, [0 x i64] zeroinitializer }, align 8
|
||||
@.__const = private unnamed_addr constant %Matrix2x2 { %.anon { %.anon.0 { float 1.000000e+00, float 2.000000e+00, float 3.000000e+00, float 4.000000e+00 } } }, align 4
|
||||
@.__const.8 = private unnamed_addr constant %Matrix2x2_b { %.anon.1 { [4 x float] [float 1.000000e+00, float 2.000000e+00, float 3.000000e+00, float 4.000000e+00] } }, align 4
|
||||
@.str = private unnamed_addr constant [13 x i8] c"%f %f %f %f\0A\00", align 1
|
||||
|
||||
@@ -16,7 +16,7 @@ fn Event test(int x)
|
||||
/* #expect: test.ll
|
||||
%Event = type { i32 }
|
||||
|
||||
@"$ct.test.Event" = linkonce constant %.introspect { i8 10, i64 4, i64 0, i64 1, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.test.Event" = linkonce global %.introspect { i8 10, ptr null, i64 4, i64 0, i64 1, [0 x i64] zeroinitializer }, align 8
|
||||
@.__const = private unnamed_addr constant %Event { i32 1 }, align 4
|
||||
@.__const.1 = private unnamed_addr constant %Event { i32 2 }, align 4
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ fn void test1()
|
||||
|
||||
%Point = type { i32, i32 }
|
||||
|
||||
@"$ct.test.Point" = linkonce constant %.introspect { i8 10, i64 8, i64 0, i64 2, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.test.Point" = linkonce global %.introspect { i8 10, ptr null, i64 8, i64 0, i64 2, [0 x i64] zeroinitializer }, align 8
|
||||
@.__const = private unnamed_addr constant %Point { i32 5, i32 6 }, align 4
|
||||
|
||||
define void @test.test1() #0 {
|
||||
@@ -24,4 +24,4 @@ entry:
|
||||
%p = alloca %Point, align 4
|
||||
call void @llvm.memcpy.p0.p0.i32(ptr align 4 %p, ptr align 4 @.__const, i32 8, i1 false)
|
||||
ret void
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ Foo foo8 @private = FOO7;
|
||||
|
||||
/* #expect: structo.ll
|
||||
|
||||
@"$ct.structo.Foo" = linkonce constant %.introspect { i8 10, i64 16, i64 0, i64 2, [0 x i64] zeroinitializer }, align 8
|
||||
@"$ct.structo.Foo" = linkonce global %.introspect { i8 10, ptr null, i64 16, i64 0, i64 2, [0 x i64] zeroinitializer }, align 8
|
||||
@structo.x = protected unnamed_addr global i64 16, align 8
|
||||
@structo.foo1 = protected unnamed_addr global %Foo { i32 1, i64 2 }, align 8
|
||||
@structo.foo2 = protected unnamed_addr global %Foo { i32 2, i64 0 }, align 8
|
||||
|
||||
Reference in New Issue
Block a user