Skip to content

Commit 2997d72

Browse files
committed
Add test for fixed size array type
1 parent 2857d49 commit 2997d72

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

clang/test/CIR/CodeGen/unary-expr-or-type-trait.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ void foo() {
1515

1616
unsigned long d = sizeof(double);
1717
// CHECK: cir.const #cir.int<8> : !cir.int<u, 64>
18+
19+
unsigned long iArr = sizeof(int[5]);
20+
// CHECK: cir.const #cir.int<20> : !cir.int<u, 64>
21+
22+
unsigned long dArr = sizeof(double[5]);
23+
// CHECK: cir.const #cir.int<40> : !cir.int<u, 64>
1824
}
1925

2026
void foo2() {
@@ -32,4 +38,10 @@ void foo2() {
3238

3339
unsigned long d = alignof(double);
3440
// CHECK: cir.const #cir.int<8> : !cir.int<u, 64>
41+
42+
unsigned long iArr = alignof(int[5]);
43+
// CHECK: cir.const #cir.int<4> : !cir.int<u, 64>
44+
45+
unsigned long dArr = alignof(double[5]);
46+
// CHECK: cir.const #cir.int<8> : !cir.int<u, 64>
3547
}

clang/test/CIR/Lowering/unary-expr-or-type-trait.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ void foo() {
1515

1616
unsigned long d = sizeof(double);
1717
// CHECK: store i64 8, ptr {{%.*}}, align 4
18+
19+
unsigned long iArr = sizeof(float[5]);
20+
// CHECK: store i64 20, ptr {{%.*}}, align 4
21+
22+
unsigned long dArr = sizeof(double[5]);
23+
// CHECK: store i64 40, ptr {{%.*}}, align 4
1824
}
1925

2026
void foo2() {
@@ -32,4 +38,10 @@ void foo2() {
3238

3339
unsigned long d = alignof(double);
3440
// CHECK: store i64 8, ptr {{%.*}}, align 4
41+
42+
unsigned long iArr = alignof(int[5]);
43+
// CHECK: store i64 4, ptr {{%.*}}, align 4
44+
45+
unsigned long dArr = alignof(double[5]);
46+
// CHECK: store i64 8, ptr {{%.*}}, align 4
3547
}

0 commit comments

Comments
 (0)