re PR c++/14791 (13070 does not fix -Wformat with fprintf)
authorJakub Jelinek <jakub@gcc.gnu.org>
Thu, 10 Jun 2004 08:08:02 +0000 (10:08 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 10 Jun 2004 08:08:02 +0000 (10:08 +0200)
commit498c0f2757190a22826576174616ab2403e2f4f6
tree0a102b64a167175eaefe13e2f8dbae8fe19d5fd4
parent618df7453e19213478c14873470d6efa760fcc7d
re PR c++/14791 (13070 does not fix -Wformat with fprintf)

PR c++/14791
* tree.h (enum tree_index): Add TI_FILEPTR_TYPE.
(fileptr_type_node): Define.
* tree.c (build_common_tree_nodes_2): Initialize
fileptr_type_node to ptr_type_node.
* c-common.c (c_common_nodes_and_builtins): For C++, make
fileptr_type_node a distinct type copy.
* builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR,
BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add.
(BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR,
BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR,
BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove.
* builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED,
BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS,
BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE,
BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
the above *FILEPTR* types instead of *PTR*.

* decl.c (duplicate_decls): Handle fileptr_type_node arguments
specially.

* g++.dg/opt/builtins1.C: New test.

From-SVN: r82902
gcc/ChangeLog
gcc/builtin-types.def
gcc/builtins.def
gcc/c-common.c
gcc/cp/decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/builtins1.C [new file with mode: 0644]
gcc/tree.c
gcc/tree.h