зеркало из https://github.com/microsoft/clang-1.git
Add a test for x86-64 struct returns under gc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92140 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
83a56c4a1d
Коммит
25c92e6c29
|
@ -0,0 +1,31 @@
|
|||
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-gc -emit-llvm -o - %s | FileCheck %s
|
||||
struct Coerce {
|
||||
id a;
|
||||
};
|
||||
|
||||
struct Coerce coerce_func(void);
|
||||
|
||||
// CHECK: define void @Coerce_test()
|
||||
void Coerce_test(void) {
|
||||
struct Coerce c;
|
||||
|
||||
// CHECK: call i64 @coerce_func
|
||||
// CHECK: call i8* @objc_memmove_collectable(
|
||||
c = coerce_func();
|
||||
}
|
||||
|
||||
struct Indirect {
|
||||
id a;
|
||||
int b[10];
|
||||
};
|
||||
|
||||
struct Indirect indirect_func(void);
|
||||
|
||||
// CHECK: define void @Indirect_test()
|
||||
void Indirect_test(void) {
|
||||
struct Indirect i;
|
||||
|
||||
// CHECK: call void @indirect_func(%struct.Indirect* noalias sret
|
||||
// CHECK: call i8* @objc_memmove_collectable(
|
||||
i = indirect_func();
|
||||
}
|
Загрузка…
Ссылка в новой задаче