| // RUN: %clang_cc1 -fobjc-gc -triple x86_64-apple-darwin10 -fobjc-fragile-abi -emit-llvm -o - %s | FileCheck %s |
| // rdar://8761767 |
| |
| @class CPDestUser; |
| |
| CPDestUser* FUNC(); |
| |
| // CHECK: {{call.* @objc_assign_global}} |
| CPDestUser* globalUser = FUNC(); |
| |
| // CHECK: {{call.* @objc_assign_weak}} |
| __weak CPDestUser* weakUser = FUNC(); |
| |
| |
| // CHECK: {{call.* @objc_assign_global}} |
| static CPDestUser* staticUser = FUNC(); |
| |
| CPDestUser* GetDestUser() |
| { |
| // CHECK: {{call.* @objc_assign_global}} |
| static CPDestUser* gUser = FUNC(); |
| // CHECK: {{call.* @objc_assign_weak}} |
| static __weak CPDestUser* wUser = FUNC(); |
| if (wUser) |
| return wUser; |
| if (staticUser) |
| return staticUser; |
| return gUser; |
| } |