diff options
Diffstat (limited to 'gcc/fortran/gfortran.texi')
-rw-r--r-- | gcc/fortran/gfortran.texi | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index 61cb3bb9746..f4bcdef69c4 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -2688,6 +2688,29 @@ are in a shared library. The following attributes are available: @item @code{DLLIMPORT} -- reference the function or variable using a global pointer @end itemize +For dummy arguments, the @code{NO_ARG_CHECK} attribute can be used; in +other compilers, it is also known as @code{IGNORE_TKR}. For dummy arguments +with this attribute actual arguments of any type and kind (similar to +@code{TYPE(*)}), scalars and arrays of any rank (no equivalent +in Fortran standard) are accepted. As with @code{TYPE(*)}, the argument +is unlimited polymorphic and no type information is available. +Additionally, the same restrictions apply, i.e. the argument may only be +passed to dummy arguments with the @code{NO_ARG_CHECK} attribute and as +argument to the @code{C_LOC} intrinsic function of the @code{ISO_C_BINDING} +module. + +Variables with @code{NO_ARG_CHECK} attribute shall be of assumed-type +(@code{TYPE(*)}; recommended) or of an intrinsic numeric type; they +shall not have the @code{ALLOCATE}, @code{CODIMENSION}, @code{INTENT(OUT)}, +@code{POINTER} or @code{VALUE} attribute; furthermore, they shall be +either scalar or of assumed-size (@code{dimension(*)}). As @code{TYPE(*)}, +the @code{NO_ARG_CHECK} attribute requires an explicit interface. + +@itemize +@item @code{NO_ARG_CHECK} -- disable the type, kind and rank checking +@end itemize + + The attributes are specified using the syntax @code{!GCC$ ATTRIBUTES} @var{attribute-list} @code{::} @var{variable-list} |