f95-lang.c (LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT): Define to gfc_omp_is_optional_argument.
authorKwok Cheung Yeung <kcy@codesourcery.com>
Wed, 2 Oct 2019 10:31:02 +0000 (10:31 +0000)
committerTobias Burnus <burnus@gcc.gnu.org>
Wed, 2 Oct 2019 10:31:02 +0000 (12:31 +0200)
commit73a28634098cb1aba4a1773e62b6387af120dd9e
tree04b74614812eb5badf5bd35f2fc3ad29ff83bd08
parent68710ac7da29c2ed111755351936d1956f64de7c
f95-lang.c (LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT): Define to gfc_omp_is_optional_argument.

2019-10-02  Kwok Cheung Yeung  <kcy@codesourcery.com>

        gcc/fortran/
        * f95-lang.c (LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT): Define to
        gfc_omp_is_optional_argument.
        * trans-decl.c (create_function_arglist): Set
        GFC_DECL_OPTIONAL_ARGUMENT in the generated decl if the parameter is
        optional.
        * trans-openmp.c (gfc_omp_is_optional_argument): New.
        (gfc_omp_privatize_by_reference): Return true if the decl is an
        optional pass-by-reference argument.
        * trans.h (gfc_omp_is_optional_argument): New declaration.
        (lang_decl): Add new optional_arg field.
        (GFC_DECL_OPTIONAL_ARGUMENT): New macro.

        gcc/
        * langhooks-def.h (LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT): Default to
        false.
        (LANG_HOOKS_DECLS): Add LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT.
        * langhooks.h (omp_is_optional_argument): New hook.
        * omp-general.c (omp_is_optional_argument): New.
        * omp-general.h (omp_is_optional_argument): New declaration.
        * omp-low.c (lower_omp_target): Create temporary for received value
        and take the address for new_var if the original variable was a
        DECL_BY_REFERENCE.  Use size of referenced object when a
        pass-by-reference optional argument used as argument to firstprivate.

From-SVN: r276444
gcc/ChangeLog
gcc/fortran/ChangeLog
gcc/fortran/f95-lang.c
gcc/fortran/trans-decl.c
gcc/fortran/trans-openmp.c
gcc/fortran/trans.h
gcc/langhooks-def.h
gcc/langhooks.h
gcc/omp-general.c
gcc/omp-general.h
gcc/omp-low.c