diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-10-02 18:44:07 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-10-02 18:44:07 +0000 |
commit | dd9b2d16f91a4d4d2182f840694d35ccf700ca4e (patch) | |
tree | 8536c99d3256fa539f14eef72dd9de30e917c39d /clang/test/Sema/format-strings.c | |
parent | bed16a1a2bbac2b18edd93e1aa882888916b742e (diff) | |
download | bcm5719-llvm-dd9b2d16f91a4d4d2182f840694d35ccf700ca4e.tar.gz bcm5719-llvm-dd9b2d16f91a4d4d2182f840694d35ccf700ca4e.zip |
Add support for format string checking of object-size checking
versions of sprintf and friends.
- Added FIXME that this mechanism should be generalized.
llvm-svn: 56962
Diffstat (limited to 'clang/test/Sema/format-strings.c')
-rw-r--r-- | clang/test/Sema/format-strings.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/test/Sema/format-strings.c b/clang/test/Sema/format-strings.c index ec070a291b1..16d4943cda5 100644 --- a/clang/test/Sema/format-strings.c +++ b/clang/test/Sema/format-strings.c @@ -22,9 +22,13 @@ void check_string_literal( FILE* fp, const char* s, char *buf, ... ) { vasprintf(&b,s,ap); // no-warning sprintf(buf,s); // expected-warning {{format string is not a string literal}} snprintf(buf,2,s); // expected-warning {{format string is not a string lit}} + __builtin___sprintf_chk(buf,0,-1,s); // expected-warning {{format string is not a string literal}} + __builtin___snprintf_chk(buf,2,0,-1,s); // expected-warning {{format string is not a string lit}} vsprintf(buf,s,ap); // no-warning vsnprintf(buf,2,s,ap); // no-warning vsnprintf(buf,2,global_fmt,ap); // expected-warning {{format string is not a string literal}} + __builtin___vsnprintf_chk(buf,2,0,-1,s,ap); // no-warning + __builtin___vsnprintf_chk(buf,2,0,-1,global_fmt,ap); // expected-warning {{format string is not a string literal}} } void check_writeback_specifier() |