Eric Christopher cf5e83b471 __clear_cache() is varargs and people will occasionally write it without
arguments. Process only the arguments that people write, but process
all of them.

Fixes rdar://8900346

llvm-svn: 127616
2011-03-14 20:30:34 +00:00

22 lines
424 B
C

// RUN: %clang_cc1 -triple armv7-apple-darwin9 -emit-llvm -w -o - %s | FileCheck %s
void clear0(void *ptr) {
// CHECK: clear0
// CHECK-NOT: load i8**
__clear_cache();
}
void clear1(void *ptr) {
// CHECK: clear1
// CHECK: load i8**
// CHECK-NOT: load i8**
__clear_cache(ptr);
}
void clear2(void *ptr, void *ptr2) {
// CHECK: clear2
// CHECK: load i8**
// CHECK: load i8**
__clear_cache(ptr, ptr2);
}