]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR fortran/87689 (PowerPC64 ELFv2 function parameter passing violation)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 3 Mar 2019 09:20:09 +0000 (09:20 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 3 Mar 2019 09:20:09 +0000 (09:20 +0000)
commite5ec6ea9273b6141bbac718aeb4f4549bb8074b6
treea8823246122168756213ec1fe25fbe9bd2e5a63a
parentf75fa4140b1c7558610e5bc5efcfab949462aa93
re PR fortran/87689 (PowerPC64 ELFv2 function parameter passing violation)

2019-03-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/87689
    Backport from trunk
    * trans-decl.c (gfc_get_extern_function_decl): Add argument
    actual_args and pass it through to gfc_get_function_type.
    * trans-expr.c (conv_function_val): Add argument actual_args
    and pass it on to gfc_get_extern_function_decl.
    (conv_procedure_call): Pass actual arguments to conv_function_val.
    * trans-types.c (get_formal_from_actual_arglist): New function.
    (gfc_get_function_type): Add argument actual_args.  Generate
    formal args from actual args if necessary.
    * trans-types.h (gfc_get_function_type): Add optional argument.
    * trans.h (gfc_get_extern_function_decl): Add optional argument.

2019-03-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/87689
    Backport from trunk
    * gfortran.dg/lto/20091028-1_0.f90: Add -Wno-lto-type-mismatch to
    options.
    * gfortran.dg/lto/20091028-2_0.f90: Likewise.
    * gfortran.dg/lto/pr87689_0.f: New file.
    * gfortran.dg/lto/pr87689_1.f: New file.
    * gfortran.dg/altreturn_9_0.f90: New file.
    * gfortran.dg/altreturn_9_1.f90: New file.

From-SVN: r269350
13 files changed:
gcc/fortran/ChangeLog
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-types.c
gcc/fortran/trans-types.h
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/altreturn_9_0.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/altreturn_9_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/lto/20091028-1_0.f90
gcc/testsuite/gfortran.dg/lto/20091028-2_0.f90
gcc/testsuite/gfortran.dg/lto/pr87689_0.f [new file with mode: 0644]
gcc/testsuite/gfortran.dg/lto/pr87689_1.f [new file with mode: 0644]