summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/builtin-object-size.c
diff options
context:
space:
mode:
authorSteven Wu <stevenwu@apple.com>2014-09-24 04:37:33 +0000
committerSteven Wu <stevenwu@apple.com>2014-09-24 04:37:33 +0000
commit566c14eccd5294244e586ed70f8bf2506cd67a76 (patch)
tree824f59312ed06dd709485ff9518be5c46011a5ad /clang/test/Sema/builtin-object-size.c
parent78dd725cded98e0a736fb8ea5db6c4e7d1b819e7 (diff)
downloadbcm5719-llvm-566c14eccd5294244e586ed70f8bf2506cd67a76.tar.gz
bcm5719-llvm-566c14eccd5294244e586ed70f8bf2506cd67a76.zip
Fix the argument index error of __builtin___memccpy_chk
memccpy_check should have source and dest size at arg 3 and 4 rdar://18431336 llvm-svn: 218367
Diffstat (limited to 'clang/test/Sema/builtin-object-size.c')
-rw-r--r--clang/test/Sema/builtin-object-size.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/Sema/builtin-object-size.c b/clang/test/Sema/builtin-object-size.c
index e4b65608816..b1bda0652c1 100644
--- a/clang/test/Sema/builtin-object-size.c
+++ b/clang/test/Sema/builtin-object-size.c
@@ -43,3 +43,12 @@ void f5(void)
memcpy((char *)NULL + 0x10000, buf, 0x10);
memcpy1((char *)NULL + 0x10000, buf, 0x10); // expected-error {{argument should be a value from 0 to 3}}
}
+
+// rdar://18431336
+void f6(void)
+{
+ char b[5];
+ char buf[10];
+ __builtin___memccpy_chk (buf, b, '\0', sizeof(b), __builtin_object_size (buf, 0));
+ __builtin___memccpy_chk (b, buf, '\0', sizeof(buf), __builtin_object_size (b, 0)); // expected-warning {{'__builtin___memccpy_chk' will always overflow destination buffer}}
+}
OpenPOWER on IntegriCloud