1// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++11 %s -O1 -emit-llvm -o - | FileCheck %s 2 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