Builtins/ARM: __clear_cache doesn't seem to have a consistent prototype, declare

the builtin as void __clear_cache(...) to workaround this, which appears to
match what GCC does.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108487 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2010-07-16 00:31:23 +00:00
Родитель 754b9fbaa1
Коммит 1058253c36
3 изменённых файлов: 13 добавлений и 2 удалений

Просмотреть файл

@ -15,7 +15,7 @@
// The format of this database matches clang/Basic/Builtins.def.
// In libgcc
BUILTIN(__clear_cache, "vc*c*", "")
BUILTIN(__clear_cache, "v.", "")
BUILTIN(__builtin_thread_pointer, "v*", "")
// NEON

Просмотреть файл

@ -9,4 +9,4 @@ void f1(char *a, char *b) {
__clear_cache(a,b);
}
// CHECK: call void @__clear_cache
// CHECK: call {{.*}} @__clear_cache

11
test/Sema/builtins-arm.c Normal file
Просмотреть файл

@ -0,0 +1,11 @@
// RUN: %clang_cc1 -triple armv7 -fsyntax-only -verify -DTEST0 %s
// RUN: %clang_cc1 -triple armv7 -fsyntax-only -verify -DTEST1 %s
#ifdef TEST0
void __clear_cache(char*, char*);
#endif
#ifdef TEST1
void __clear_cache(void*, void*);
#endif