diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-03-02 01:34:34 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-03-02 01:34:34 +0000 |
commit | 082916584969704a8b996bdbd0ea353a3b742bd3 (patch) | |
tree | 13a26927c2fd8d16601ecab3d5325e98595e4c07 /gcc/testsuite/gcc.dg/format | |
parent | 66c4e25802794e3c3c92e3cfdafe3ee8bd3b005c (diff) | |
download | gcc-082916584969704a8b996bdbd0ea353a3b742bd3.zip gcc-082916584969704a8b996bdbd0ea353a3b742bd3.tar.gz gcc-082916584969704a8b996bdbd0ea353a3b742bd3.tar.bz2 |
re PR c++/9367 (error: nonnull argument with extern "C" snprintf prototype)
PR c++/9367
* builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
(BT_FN_INT_CONST_STRING_VALIST_ARG,
BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
BT_FN_INT_STRING_CONST_STRING_VAR,
BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
ATTR_NONNULL_3): Also include the nothrow attribute.
(sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
vsnprintf, vscanf, vsscanf): Don't define attributes here.
* builtins.def (putchar, puts): Make full C89 built-ins.
(snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
vsscanf, vsnprintf, vsprintf): New built-ins.
* c-common.c (c_common_nodes_and_builtins): Handle new macro
DEF_FUNCTION_TYPE_VAR_3.
* doc/extend.texi: Document these new built-in functions.
* java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
(initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
* g++.old-deja/g++.other/builtins10.C: New test for PR 9367.
* gcc.dg/format/attr-5.c: Handle new conflicting types warning.
From-SVN: r63650
Diffstat (limited to 'gcc/testsuite/gcc.dg/format')
-rw-r--r-- | gcc/testsuite/gcc.dg/format/attr-5.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/format/attr-5.c b/gcc/testsuite/gcc.dg/format/attr-5.c index a4e9634..36b1198 100644 --- a/gcc/testsuite/gcc.dg/format/attr-5.c +++ b/gcc/testsuite/gcc.dg/format/attr-5.c @@ -11,7 +11,7 @@ static int scanf(const char *restrict, ...); /* This sscanf declaration doesn't have variable arguments, so isn't compatible with a format attribute. */ -extern int sscanf(const char *restrict, const char *restrict, int *); +extern int sscanf(const char *restrict, const char *restrict, int *); /* { dg-warning "conflict" "conflict" } */ void foo (const char *s, int *p) |