gcc/
* omp-general.c (omp_is_optional_argument): Add comment. Add extra
check for Fortran language.
Reviewed-by: Julian Brown <julian@codesourcery.com>
(cherry picked from openacc-gcc-9-branch commit
abe09848284672b86613258711044b5019fadeb6)
+2019-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * omp-general.c (omp_is_optional_argument): Add comment. Add extra
+ check for Fortran language.
+
2019-01-30 Kwok Cheung Yeung <kcy@codesourcery.com>
* omp-general.c (omp_is_optional_argument): New.
bool
omp_is_optional_argument (tree decl)
{
- return TREE_CODE (decl) == PARM_DECL && DECL_BY_REFERENCE (decl)
+ /* A passed-by-reference Fortran optional argument is similar to
+ a normal argument, but since it can be null the type is a
+ POINTER_TYPE rather than a REFERENCE_TYPE. */
+ return lang_GNU_Fortran ()
+ && TREE_CODE (decl) == PARM_DECL
+ && DECL_BY_REFERENCE (decl)
&& TREE_CODE (TREE_TYPE (decl)) == POINTER_TYPE;
}