зеркало из https://github.com/microsoft/clang-1.git
Add some stdlib builtins
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65115 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
2073216a10
Коммит
f8ebb4154e
|
@ -138,6 +138,12 @@ BUILTIN(__builtin_bzero, "vv*z", "n")
|
|||
BUILTIN(__builtin_memcpy, "v*v*vC*z", "n")
|
||||
BUILTIN(__builtin_memmove, "v*v*vC*z", "n")
|
||||
BUILTIN(__builtin_memset, "v*v*iz", "n")
|
||||
BUILTIN(__builtin_strcat, "c*c*cC*", "nF")
|
||||
BUILTIN(__builtin_strncat, "c*c*cC*z", "nF")
|
||||
BUILTIN(__builtin_strcpy, "c*c*cC*", "nF")
|
||||
BUILTIN(__builtin_strncpy, "c*c*cC*z", "nF")
|
||||
BUILTIN(__builtin_strchr, "c*cC*i", "nF")
|
||||
BUILTIN(__builtin_strrchr, "c*cC*i", "nF")
|
||||
BUILTIN(__builtin_return_address, "v*Ui", "n")
|
||||
BUILTIN(__builtin_frame_address, "v*Ui", "n")
|
||||
BUILTIN(__builtin_flt_rounds, "i", "nc")
|
||||
|
|
|
@ -77,9 +77,17 @@ int main() {
|
|||
Q(powif, (1.2f, N));
|
||||
Q(powil, (1.2f, N));
|
||||
|
||||
// Object size checking
|
||||
// Lib functions
|
||||
int a, b, n = random(); // Avoid optimizing out.
|
||||
char s0[10], s1[] = "Hello";
|
||||
V(strcat, (s0, s1));
|
||||
V(strncat, (s0, s1, n));
|
||||
V(strchr, (s0, s1[0]));
|
||||
V(strrchr, (s0, s1[0]));
|
||||
V(strcpy, (s0, s1));
|
||||
V(strncpy, (s0, s1, n));
|
||||
|
||||
// Object size checking
|
||||
V(__memset_chk, (s0, 0, sizeof s0, n));
|
||||
V(__memcpy_chk, (s0, s1, sizeof s0, n));
|
||||
V(__memmove_chk, (s0, s1, sizeof s0, n));
|
||||
|
|
Загрузка…
Ссылка в новой задаче