diff options
author | Steven Wu <stevenwu@apple.com> | 2014-09-24 04:37:33 +0000 |
---|---|---|
committer | Steven Wu <stevenwu@apple.com> | 2014-09-24 04:37:33 +0000 |
commit | 566c14eccd5294244e586ed70f8bf2506cd67a76 (patch) | |
tree | 824f59312ed06dd709485ff9518be5c46011a5ad /clang/test/Sema/builtin-object-size.c | |
parent | 78dd725cded98e0a736fb8ea5db6c4e7d1b819e7 (diff) | |
download | bcm5719-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.c | 9 |
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}} +} |