Add tests to check recent changes to some builtins.
authorBill Wendling <isanbard@gmail.com>
Tue, 18 Dec 2012 21:09:25 +0000 (21:09 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 18 Dec 2012 21:09:25 +0000 (21:09 +0000)
llvm-svn: 170458

clang/test/Sema/builtins.c

index e3b3b7e..d525ac0 100644 (file)
@@ -176,3 +176,18 @@ void test17() {
 #undef T
 #undef F
 }
+
+void test18() {
+  char src[1024];
+  char dst[2048];
+  size_t result;
+  void *ptr;
+
+  ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src), sizeof(dst));
+  result = __builtin___strlcpy_chk(dst, src, sizeof(src), sizeof(dst));
+  result = __builtin___strlcat_chk(dst, src, sizeof(src), sizeof(dst));
+
+  ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src));      // expected-error {{too few arguments to function call}}
+  ptr = __builtin___strlcpy_chk(dst, src, sizeof(src), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}}
+  ptr = __builtin___strlcat_chk(dst, src, sizeof(src), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}}
+}