150
|
1 // RUN: %clang_cc1 -verify -S -emit-llvm -o- %s -isystem %S -DWITH_DECL | FileCheck --check-prefix=CHECK-WITH-DECL %s
|
|
2 // RUN: %clang_cc1 -verify -S -emit-llvm -o- %s -isystem %S -UWITH_DECL | FileCheck --check-prefix=CHECK-NO-DECL %s
|
|
3 // RUN: %clang_cc1 -verify -S -emit-llvm -o- %s -isystem %S -DWITH_SELF_REFERENCE_DECL | FileCheck --check-prefix=CHECK-SELF-REF-DECL %s
|
|
4 //
|
|
5 // CHECK-WITH-DECL-NOT: @llvm.memcpy
|
|
6 // CHECK-NO-DECL: @llvm.memcpy
|
|
7 // CHECK-SELF-REF-DECL: @llvm.memcpy
|
|
8 //
|
|
9 #include <memcpy-nobuiltin.inc>
|
|
10 void test(void *dest, void const *from, size_t n) {
|
|
11 memcpy(dest, from, n);
|
|
12
|
|
13 static char buffer[1];
|
|
14 memcpy(buffer, from, 2); // expected-warning {{'memcpy' will always overflow; destination buffer has size 1, but size argument is 2}}
|
|
15 }
|