blob: 7c07931c079c60100f18a1d1de9ce682aa90f188 [file] [log] [blame]
Evan Cheng5cef02d2009-03-25 16:49:31 +00001// RUN: %llvmgcc -S -emit-llvm -O1 %s -o - | grep call | grep memcpy_chk | count 3
Evan Cheng57241272009-03-25 17:45:18 +00002// RUN: %llvmgcc -S -emit-llvm -O1 %s -o - | grep call | grep {llvm.memcpy} | count 3
3// rdar://6716432
Evan Cheng5cef02d2009-03-25 16:49:31 +00004
5void *t1(void *d, void *s) {
6 return __builtin___memcpy_chk(d, s, 16, 0);
7}
8
9void *t2(void *d, void *s) {
10 return __builtin___memcpy_chk(d, s, 16, 10);
11}
12
13void *t3(void *d, void *s) {
14 return __builtin___memcpy_chk(d, s, 16, 17);
15}
16
17void *t4(void *d, void *s, unsigned len) {
18 return __builtin___memcpy_chk(d, s, len, 17);
19}
20
21char buf[10];
22void *t5(void *s, unsigned len) {
23 return __builtin___memcpy_chk(buf, s, 5, __builtin_object_size(buf, 0));
24}
Evan Cheng57241272009-03-25 17:45:18 +000025
26void *t6(void *d, void *s) {
27 return __builtin___memcpy_chk(d, s, 16, __builtin_object_size(d, 0));
28}