Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenCXX / 2011-12-19-init-list-ctor.cpp
blob4033adc8f03909a9cdb37082d445680d672f2873
1 // RUN: %clang_cc1 %s -emit-llvm -o - -triple x86_64-linux-gnu | FileCheck %s
3 struct A {
4 A(const char *);
5 };
7 // CHECK: @arr ={{.*}} global [3 x %struct.S] zeroinitializer
8 // CHECK: @.str = {{.*}}constant [6 x i8] c"hello\00"
9 // CHECK: @.str.1 = {{.*}}constant [6 x i8] c"world\00"
10 // CHECK: @.str.2 = {{.*}}constant [8 x i8] c"goodbye\00"
12 struct S {
13 int n;
14 A s;
15 } arr[] = {
16 { 0, "hello" },
17 { 1, "world" },
18 { 2, "goodbye" }
21 // CHECK: store i32 0, ptr @arr
22 // CHECK: call void @_ZN1AC1EPKc(ptr {{[^,]*}} getelementptr inbounds (%struct.S, ptr @arr, i32 0, i32 1), ptr noundef @.str)
23 // CHECK: store i32 1, ptr getelementptr inbounds (%struct.S, ptr @arr, i64 1)
24 // CHECK: call void @_ZN1AC1EPKc(ptr {{[^,]*}} getelementptr inbounds (%struct.S, ptr @arr, i64 1, i32 1), ptr noundef @.str.1)
25 // CHECK: store i32 2, ptr getelementptr inbounds (%struct.S, ptr @arr, i64 2)
26 // CHECK: call void @_ZN1AC1EPKc(ptr {{[^,]*}} getelementptr inbounds (%struct.S, ptr @arr, i64 2, i32 1), ptr noundef @.str.2)