mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Allow @test with modules. Change name mangling for non exports.
This commit is contained in:
@@ -29,17 +29,17 @@ fn void main()
|
||||
|
||||
/* #expect: test.ll
|
||||
|
||||
store ptr @"test_test$lambda1", ptr %z, align 8
|
||||
store ptr @"test.test$lambda1", ptr %z, align 8
|
||||
%1 = call i32 %0(i32 3)
|
||||
store ptr @"test_test$lambda2", ptr %z3, align 8
|
||||
store ptr @"test.test$lambda2", ptr %z3, align 8
|
||||
%7 = call double %6(double 3.300000e+00)
|
||||
store ptr @"test_test$lambda2", ptr %z7, align 8
|
||||
store ptr @"test.test$lambda2", ptr %z7, align 8
|
||||
%13 = call double %12(double 3.300000e+00)
|
||||
%18 = call i32 @"test_test2$lambda3"(i32 3)
|
||||
%23 = call i32 @"test_test2$lambda3"(i32 3)
|
||||
%28 = call double @"test_test2$lambda4"(double 3.300000e+00)
|
||||
%18 = call i32 @"test.test2$lambda3"(i32 3)
|
||||
%23 = call i32 @"test.test2$lambda3"(i32 3)
|
||||
%28 = call double @"test.test2$lambda4"(double 3.300000e+00)
|
||||
|
||||
define internal double @"test_test2$lambda4"(double %0) #0 {
|
||||
define internal i32 @"test_test2$lambda3"(i32 %0) #0 {
|
||||
define internal double @"test_test$lambda2"(double %0) #0 {
|
||||
define internal i32 @"test_test$lambda1"(i32 %0) #0 {
|
||||
define internal double @"test.test2$lambda4"(double %0) #0 {
|
||||
define internal i32 @"test.test2$lambda3"(i32 %0) #0 {
|
||||
define internal double @"test.test$lambda2"(double %0) #0 {
|
||||
define internal i32 @"test.test$lambda1"(i32 %0) #0 {
|
||||
|
||||
@@ -46,36 +46,36 @@ macro Callback get_callback2()
|
||||
|
||||
/* #expect: abc.ll
|
||||
|
||||
store ptr @"bar_get_callback$lambda1", ptr %F, align 8
|
||||
%0 = call i32 @abc_xy(ptr @"bar_get_callback$lambda1")
|
||||
%1 = call i32 @abc_xy(ptr @"bar_get_callback$lambda1")
|
||||
store ptr @"bar.get_callback$lambda1", ptr %F, align 8
|
||||
%0 = call i32 @abc.xy(ptr @"bar.get_callback$lambda1")
|
||||
%1 = call i32 @abc.xy(ptr @"bar.get_callback$lambda1")
|
||||
|
||||
declare i32 @"bar_get_callback$lambda1"()
|
||||
declare i32 @"bar.get_callback$lambda1"()
|
||||
|
||||
// #expect: foo.ll
|
||||
|
||||
define i32 @"foo_get_callback$lambda1"() #0 {
|
||||
%0 = call i32 @"bar_get_callback2$lambda2"()
|
||||
define i32 @"foo.get_callback$lambda1"() #0 {
|
||||
%0 = call i32 @"bar.get_callback2$lambda2"()
|
||||
|
||||
define i32 @"foo_get_callback2$lambda2"() #0 {
|
||||
%1 = load i32, ptr @foo_xz, align 4
|
||||
define i32 @"foo.get_callback2$lambda2"() #0 {
|
||||
%1 = load i32, ptr @foo.xz, align 4
|
||||
|
||||
declare i32 @"bar_get_callback2$lambda2"()
|
||||
declare i32 @"bar.get_callback2$lambda2"()
|
||||
|
||||
// #expect: bar.ll
|
||||
|
||||
define i32 @"bar_get_callback$lambda1"() #0 {
|
||||
define i32 @"bar.get_callback$lambda1"() #0 {
|
||||
entry:
|
||||
%0 = call i32 @"foo_get_callback$lambda1"()
|
||||
%0 = call i32 @"foo.get_callback$lambda1"()
|
||||
ret i32 %0
|
||||
}
|
||||
|
||||
define i32 @"bar_get_callback2$lambda2"() #0 {
|
||||
define i32 @"bar.get_callback2$lambda2"() #0 {
|
||||
entry:
|
||||
%0 = call i32 @"foo_get_callback2$lambda2"()
|
||||
%0 = call i32 @"foo.get_callback2$lambda2"()
|
||||
ret i32 %0
|
||||
}
|
||||
|
||||
declare i32 @"foo_get_callback$lambda1"()
|
||||
declare i32 @"foo_get_callback2$lambda2"()
|
||||
declare i32 @"foo.get_callback$lambda1"()
|
||||
declare i32 @"foo.get_callback2$lambda2"()
|
||||
|
||||
|
||||
@@ -17,13 +17,13 @@ fn void main()
|
||||
|
||||
/* #expect: simple_lambda.ll
|
||||
|
||||
define void @simple_lambda_main() #0 {
|
||||
define void @simple_lambda.main() #0 {
|
||||
entry:
|
||||
%F = alloca ptr, align 8
|
||||
%z = alloca i32, align 4
|
||||
store ptr @"simple_lambda_main$lambda1", ptr %F, align 8
|
||||
%0 = call i32 @simple_lambda_xy(ptr @"simple_lambda_main$lambda1")
|
||||
%5 = call i32 @simple_lambda_xy(ptr @"simple_lambda_main$lambda2")
|
||||
store ptr @"simple_lambda.main$lambda1", ptr %F, align 8
|
||||
%0 = call i32 @simple_lambda.xy(ptr @"simple_lambda.main$lambda1")
|
||||
%5 = call i32 @simple_lambda.xy(ptr @"simple_lambda.main$lambda2")
|
||||
|
||||
define internal i32 @"simple_lambda_main$lambda2"() #0 {
|
||||
define internal i32 @"simple_lambda_main$lambda1"() #0 {
|
||||
define internal i32 @"simple_lambda.main$lambda2"() #0 {
|
||||
define internal i32 @"simple_lambda.main$lambda1"() #0 {
|
||||
Reference in New Issue
Block a user