Allow @test with modules. Change name mangling for non exports.

This commit is contained in:
Christoffer Lerno
2023-02-20 16:02:30 +01:00
parent d35d50555e
commit e3416a1c40
282 changed files with 1954 additions and 1987 deletions

View File

@@ -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 {

View File

@@ -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"()

View File

@@ -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 {