minix/external/bsd/llvm/dist/clang/test/CodeGenObjCXX/write-barrier-global-assign.mm
Lionel Sambuc f4a2713ac8 Importing netbsd clang -- pristine
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
2014-07-28 17:05:57 +02:00

29 lines
717 B
Text

// RUN: %clang_cc1 -fobjc-gc -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -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;
}