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/java/builtins.c | |
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/java/builtins.c')
-rw-r--r-- | gcc/java/builtins.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c index 1e388d8..4c9a83a 100644 --- a/gcc/java/builtins.c +++ b/gcc/java/builtins.c @@ -46,6 +46,7 @@ enum builtin_type #define DEF_FUNCTION_TYPE_VAR_0(NAME, RETURN) NAME, #define DEF_FUNCTION_TYPE_VAR_1(NAME, RETURN, ARG1) NAME, #define DEF_FUNCTION_TYPE_VAR_2(NAME, RETURN, ARG1, ARG2) NAME, +#define DEF_FUNCTION_TYPE_VAR_3(NAME, RETURN, ARG1, ARG2, ARG3) NAME, #define DEF_POINTER_TYPE(NAME, TYPE) NAME, #include "builtin-types.def" #undef DEF_PRIMITIVE_TYPE @@ -57,6 +58,7 @@ enum builtin_type #undef DEF_FUNCTION_TYPE_VAR_0 #undef DEF_FUNCTION_TYPE_VAR_1 #undef DEF_FUNCTION_TYPE_VAR_2 +#undef DEF_FUNCTION_TYPE_VAR_3 #undef DEF_POINTER_TYPE BT_LAST }; @@ -297,12 +299,14 @@ initialize_builtins (void) #define DEF_FUNCTION_TYPE_4(ENUM, RETURN, ARG1, ARG2, ARG3, ARG4) \ builtin_types[(int) ENUM] \ = define_builtin_type (RETURN, ARG1, ARG2, ARG3, ARG4); -#define DEF_FUNCTION_TYPE_VAR_0(ENUM, RETURN) \ +#define DEF_FUNCTION_TYPE_VAR_0(ENUM, RETURN) \ builtin_types[(int) ENUM] = NULL_TREE; -#define DEF_FUNCTION_TYPE_VAR_1(ENUM, RETURN, ARG1) \ +#define DEF_FUNCTION_TYPE_VAR_1(ENUM, RETURN, ARG1) \ builtin_types[(int) ENUM] = NULL_TREE; #define DEF_FUNCTION_TYPE_VAR_2(ENUM, RETURN, ARG1, ARG2) \ builtin_types[(int) ENUM] = NULL_TREE; +#define DEF_FUNCTION_TYPE_VAR_3(ENUM, RETURN, ARG1, ARG2, ARG3) \ + builtin_types[(int) ENUM] = NULL_TREE; #define DEF_POINTER_TYPE(ENUM, TYPE) \ builtin_types[(int) ENUM] = NULL_TREE; |