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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:395a75593ef87a68a04111bb08243b5d9a811f45

commit r14-656-g395a75593ef87a68a04111bb08243b5d9a811f45
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Wed May 10 13:20:39 2023 +0200

    ipa-prop: Fix ipa_get_callee_param_type for calls with argument type
mismatches

    The PR contains a testcase where the Fortran FE creates FUNCTION_TYPE
    which doesn't really match the passed in arguments (FUNCTION_TYPE has
    5 arguments, call has 6).  Now, I think that is a Fortran FE bug that
    should be fixed there, but I think with function pointers one can
    create something similar (of course invalid) in C/C++ too,so IMHO IPA
    should be also more careful.
    The ipa_get_callee_param_type function can return NULL if something goes
    wrong and it does e.g. if asked for 7th argument type on a function
    with just 5 arguments and similar.  But, if a function isn't varargs,
    when asked for 6th argument type on a function with just 5 arguments
    it actually returns void_type_node because the argument list is in that
    case terminated with void_list_node.

    The following patch makes sure we don't treat void_list_node as something
    holding another argument.

    2023-05-10  Jakub Jelinek  <ja...@redhat.com>

            PR fortran/109788
            * ipa-prop.cc (ipa_get_callee_param_type): Don't return TREE_VALUE
(t)
            if t is void_list_node.

Reply via email to