1 // RUN: %clang_cc1 -emit-llvm -triple=x86_64-pc-win32 -fms-compatibility %s -o - | FileCheck %s
2 
3 class Test1 {
4 private:
5   int x_;
6 
7 public:
8   Test1(int x) : x_(x) {}
9   __declspec(property(get = get_x)) int X;
10   int get_x() const { return x_; }
11   static Test1 *GetTest1() { return new Test1(10); }
12 };
13 
14 // CHECK-LABEL: main
15 int main(int argc, char **argv) {
16   // CHECK: [[CALL:%.+]] = call %class.Test1* @"\01?GetTest1@Test1@@SAPEAV1@XZ"()
17   // CHECK-NEXT: call i32 @"\01?get_x@Test1@@QEBAHXZ"(%class.Test1* [[CALL]])
18   return Test1::GetTest1()->X;
19 }
20