diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/c-format.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/format1.C | 15 |
4 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b75dfe63132..afccd79e465 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk> + + * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94. + 2001-10-01 Jim Wilson <wilson@redhat.com> * sched-deps.c (add_dependence): When elide conditional dependence, diff --git a/gcc/c-format.c b/gcc/c-format.c index e25c29e2a06..3cc880e870e 100644 --- a/gcc/c-format.c +++ b/gcc/c-format.c @@ -497,7 +497,7 @@ enum format_std_version /* The C standard version C++ is treated as equivalent to or inheriting from, for the purpose of format features supported. */ -#define CPLUSPLUS_STD_VER STD_C89 +#define CPLUSPLUS_STD_VER STD_C94 /* The C standard version we are checking formats against when pedantic. */ #define C_STD_VER ((int)(c_language == clk_cplusplus \ ? CPLUSPLUS_STD_VER \ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 624b55e8bba..997762c4fdb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk> + + * g++.dg/warn/format1.C: New test. + 2001-10-01 Neil Booth <neil@daikokuya.demon.co.uk> * mi6.c, mi6a.h, mi6b.h, mi6c.h, mi6d.h, mi6e.h: Correct tests. diff --git a/gcc/testsuite/g++.dg/warn/format1.C b/gcc/testsuite/g++.dg/warn/format1.C new file mode 100644 index 00000000000..27bc414b098 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/format1.C @@ -0,0 +1,15 @@ +// Test that formats get checked according to C94. +// Origin: Joseph Myers <jsm28@cam.ac.uk>. +// { dg-do compile } +// { dg-options "-ansi -pedantic -Wformat" } + +#include <cstdio> + +void +foo (int i, int *ip, __WINT_TYPE__ lc, wchar_t *ls) +{ + std::printf ("%d%ls%lc\n", i, ls, lc); + std::printf ("%d", ls); // { dg-warning "format" "printf warning" } + std::scanf ("%d%lc%ls%l[abc]", ip, ls, ls, ls); + std::scanf ("%hd", ip); // { dg-warning "format" "scanf warning" } +} |