int bar(int n){ int a = 0; a += foo(n); S1 S; a += S.r1(n); a += fstatic(n); a += ftemplate<int>(n); return a; }
int bar(int n, double *ptr) { int a = 0; a += foo(n, ptr); S1 S; a += S.r1(n); a += fstatic(n); a += ftemplate<int>(n); return a; }
// CHECK: define {{.*}}@{{.*}}bar{{.*}} int bar(int n){ int a = 0; S1 S; // CHECK: call {{.*}}i32 [[FS1:@.+]]([[S1]]* {{.*}}, i32 {{.*}}) a += S.r1(n); // CHECK: call {{.*}}i32 [[FSTATIC:@.+]](i32 {{.*}}) a += fstatic(n); // CHECK: call {{.*}}i32 [[FTEMPLATE:@.+]](i32 {{.*}}) a += ftemplate<int>(n); return a; }