37 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++11 %s -O1 -emit-llvm -o - | FileCheck %s2 3struct S {4 int n = 10;5 int m = 2 * n;6 7 S() {}8 S(int a) : n(a) {}9 S(int a, int b) : n(a), m(b) {}10 11 struct T {12 T *that = this;13 };14};15 16template<typename T>17struct U {18 T *r = &q;19 T q = 42;20 U *p = this;21};22 23S a;24// CHECK: @a = {{.*}} { i32 10, i32 20 }25 26S b(5);27// CHECK: @b = {{.*}} { i32 5, i32 10 }28 29S c(3, 9);30// CHECK: @c = {{.*}} { i32 3, i32 9 }31 32S::T d;33// CHECK: @d = {{.*}} { {{.*}} @d }34 35U<S> e;36// CHECK: @e = {{.*}} { {{.*}} { i32 42, i32 84 }, {{.*}} @e }37