https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71973

--- Comment #5 from Bernd Edlinger <edlinger at gcc dot gnu.org> ---
Author: edlinger
Date: Mon Nov 21 14:17:05 2016
New Revision: 242662

URL: https://gcc.gnu.org/viewcvs?rev=242662&root=gcc&view=rev
Log:
gcc:
2016-11-21  Bernd Edlinger  <bernd.edlin...@hotmail.de>

        PR c++/71973
        * doc/invoke.texi (-Wno-builtin-declaration-mismatch): Document the
        new default-enabled warning..
        * builtin-types.def (BT_CONST_TM_PTR): New primitive type.
        (BT_PTR_CONST_STRING): Updated.
        (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR): Removed.
        (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR): New function type.
        * builtins.def (DEF_TM_BUILTIN): Disable BOTH_P for TM builtins.
        (strftime): Update builtin function.
        * tree-core.h (TI_CONST_TM_PTR_TYPE): New enum value.
        * tree.h (const_tm_ptr_type_node): New type node.
        * tree.c (free_lang_data, build_common_tree_nodes): Initialize
        const_tm_ptr_type_node.

c-family:
2016-11-21  Bernd Edlinger  <bernd.edlin...@hotmail.de>

        PR c++/71973
        * c.opt (-Wbuiltin-declaration-mismatch): New warning.
        * c-common.c (c_common_nodes_and_builtins): Initialize
        const_tm_ptr_type_node.

c:
2016-11-21  Bernd Edlinger  <bernd.edlin...@hotmail.de>

        PR c++/71973
        * c-decl.c (diagnose_mismatched_decls): Use
        OPT_Wbuiltin_declaration_mismatch here too.

cp:
2016-11-21  Bernd Edlinger  <bernd.edlin...@hotmail.de>

        PR c++/71973
        * decl.c (duplicate_decls): Warn when a built-in function is redefined.
        Don't overload builtin functions with C++ functions.
        Handle const_tm_ptr_type_node like file_ptr_node.
        Copy the TREE_NOTHROW flag unmodified to the old decl.

lto:
2016-11-21  Bernd Edlinger  <bernd.edlin...@hotmail.de>

        PR c++/71973
        * lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane.

testsuite:
2016-11-21  Bernd Edlinger  <bernd.edlin...@hotmail.de>

        PR c++/71973
        * g++.dg/pr71973-1.C: New test.
        * g++.dg/pr71973-2.C: New test.
        * g++.dg/pr71973-3.C: New test.
        * g++.dg/lto/pr68811_0.C: Add -w to first lto-options.
        * g++.dg/lookup/extern-c-redecl4.C: Adjust test expectations.
        * g++.old-deja/g++.mike/p700.C: Add -Wno-builtin-declaration-mismatch
        to dg-options.
        * g++.old-deja/g++.other/realloc.C: Likewise.
        * g++.old-deja/g++.other/builtins10.C: Adjust test expectations.

Added:
    trunk/gcc/testsuite/g++.dg/pr71973-1.C
    trunk/gcc/testsuite/g++.dg/pr71973-2.C
    trunk/gcc/testsuite/g++.dg/pr71973-3.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtin-types.def
    trunk/gcc/builtins.def
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/c-family/c.opt
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-decl.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/decl.c
    trunk/gcc/doc/invoke.texi
    trunk/gcc/lto/ChangeLog
    trunk/gcc/lto/lto-lang.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/lookup/extern-c-redecl4.C
    trunk/gcc/testsuite/g++.dg/lto/pr68811_0.C
    trunk/gcc/testsuite/g++.old-deja/g++.mike/p700.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/builtins10.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/realloc.C
    trunk/gcc/tree-core.h
    trunk/gcc/tree.c
    trunk/gcc/tree.h

Reply via email to