зеркало из https://github.com/microsoft/clang-1.git
Add implicit definition of objc_msgSend.
- As with malloc and friends, this is important where the return type on a 64-bit platform would otherwise end up discarding the upper 32-bits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69874 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
b700377f85
Коммит
9396dcf969
|
@ -249,6 +249,11 @@ LIBBUILTIN(vfprintf, "iP*cC*a", "fP:1:", "stdio.h")
|
|||
LIBBUILTIN(vsnprintf, "ic*zcC*a", "fP:2:", "stdio.h")
|
||||
LIBBUILTIN(vsprintf, "ic*cC*a", "fP:1:", "stdio.h")
|
||||
|
||||
// FIXME: This type isn't very correct, it should be
|
||||
// id objc_msgSend(id, SEL)
|
||||
// but we need new type letters for that.
|
||||
LIBBUILTIN(objc_msgSend, "v*.", "f", "objc/message.h")
|
||||
|
||||
// FIXME: asprintf and vasprintf aren't C99 functions. Should they be
|
||||
// target-specific builtins, perhaps?
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
// RUN: clang-cc -triple x86_64-apple-darwin9 -emit-llvm -o %t %s &&
|
||||
// RUN: grep -F 'declare i8* @objc_msgSend(...)' %t
|
||||
|
||||
typedef struct objc_selector *SEL;
|
||||
id f0(id x, SEL s) {
|
||||
return objc_msgSend(x, s);
|
||||
}
|
Загрузка…
Ссылка в новой задаче