1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
// RUN: %ldc -c -output-ll -of=%t.ll %s && FileCheck %s < %t.ll
struct A0
{
ubyte[0] zerolen;
}
// CHECK-DAG: %{{.*}}.A0 = type { [1 x i8] }
struct uint_0_uint
{
uint a = 111;
ubyte[0] zerolen;
uint c = 333;
}
// CHECK-DAG: %{{.*}}.uint_0_uint = type { i32, i32 }
// No tests for codegen with e.g. uint_0_uint yet, because codegen could be much improved.
// I think codegen should be the same as for
// struct uint_uint
// {
// uint a = 111;
// uint c = 333;
// }
// CHECK-LABEL: define{{.*}}fooA0{{.*}} {
auto fooA0()
{
return A0();
// Intentionally a regexp to not match "sret"
// CHECK: {{ ret }}
}
// CHECK-LABEL: define{{.*}}foo_uint_0_uint
auto foo_uint_0_uint()
{
return uint_0_uint();
// Intentionally a regexp to not match "sret"
// CHECK: {{ ret }}
}
|