diff options
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}} +} |