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

--- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Wed Dec 21 22:15:59 2016
New Revision: 243874

URL: https://gcc.gnu.org/viewcvs?rev=243874&root=gcc&view=rev
Log:
        PR bootstrap/78817
        * tree-pass.h (make_pass_post_ipa_warn): Declare.
        * builtins.c (validate_arglist): Adjust get_nonnull_args call.
        Check for NULL pointer argument to nonnull arg here.
        (validate_arg): Revert 2016-12-14 changes.
        * calls.h (get_nonnull_args): Remove declaration.
        * tree-ssa-ccp.c: Include diagnostic-core.h.
        (pass_data_post_ipa_warn): New variable.
        (pass_post_ipa_warn): New class.
        (pass_post_ipa_warn::execute): New method.
        (make_pass_post_ipa_warn): New function.
        * tree.h (get_nonnull_args): Declare.
        * tree.c (get_nonnull_args): New function.
        * calls.c (maybe_warn_null_arg): Removed.
        (maybe_warn_null_arg): Removed.
        (initialize_argument_information): Revert 2016-12-14 changes.
        * passes.def: Add pass_post_ipa_warn after first ccp after IPA.
c-family/
        * c-common.c (struct nonnull_arg_ctx): New type.
        (check_function_nonnull): Return bool instead of void.  Use
        nonnull_arg_ctx as context rather than just location_t.
        (check_nonnull_arg): Adjust for the new context type, set
        warned_p to true if a warning has been diagnosed.
        (check_function_arguments): Return bool instead of void.
        * c-common.h (check_function_arguments): Adjust prototype.
c/
        * c-typeck.c (build_function_call_vec): If check_function_arguments
        returns true, set TREE_NO_WARNING on CALL_EXPR.
cp/
        * typeck.c (cp_build_function_call_vec): If check_function_arguments
        returns true, set TREE_NO_WARNING on CALL_EXPR.
        * call.c (build_over_call): Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtins.c
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/c-family/c-common.h
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-typeck.c
    trunk/gcc/calls.c
    trunk/gcc/calls.h
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/typeck.c
    trunk/gcc/passes.def
    trunk/gcc/tree-pass.h
    trunk/gcc/tree-ssa-ccp.c
    trunk/gcc/tree.c
    trunk/gcc/tree.h

Reply via email to