diff options
author | Harald Anlauf <anlauf@gmx.de> | 2020-06-11 20:29:45 +0200 |
---|---|---|
committer | Harald Anlauf <anlauf@gmx.de> | 2020-06-11 20:29:45 +0200 |
commit | 7fd614ee818983274eb5e47cbb8ec68b20994963 (patch) | |
tree | aea6cae53ec66c1965fd4e11cfe0d8396fcb63e2 /gcc/fortran/gfortran.h | |
parent | 1c140cfbfa4b465a29ef26f1fdfef04c671e3c9c (diff) | |
download | gcc-7fd614ee818983274eb5e47cbb8ec68b20994963.zip gcc-7fd614ee818983274eb5e47cbb8ec68b20994963.tar.gz gcc-7fd614ee818983274eb5e47cbb8ec68b20994963.tar.bz2 |
PR fortran/95544 - Fix ICE in NULL() argument to intrinsics
Fortran 2018: An argument to an intrinsic procedure other than ASSOCIATED,
NULL, or PRESENT shall be a data object. An EXPR_NULL is not a data
object. Add checks for intrinsics.
2020-06-11 Steven G. Kargl <kargl@gcc.gnu.org>
Harald Anlauf <anlauf@gmx.de>
gcc/fortran/
PR fortran/95544
* check.c (invalid_null_arg): Rename to gfc_invalid_null_arg.
(gfc_check_associated, gfc_check_kind, gfc_check_merge)
(gfc_check_shape, gfc_check_size, gfc_check_spread)
(gfc_check_transfer): Adjust.
(gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument.
* gfortran.h: Declare gfc_invalid_null_arg ().
* intrinsic.c (check_arglist): Check for NULL() argument.
Diffstat (limited to 'gcc/fortran/gfortran.h')
-rw-r--r-- | gcc/fortran/gfortran.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h index 0ef7b1b..6d76efb 100644 --- a/gcc/fortran/gfortran.h +++ b/gcc/fortran/gfortran.h @@ -3553,6 +3553,7 @@ bool gfc_calculate_transfer_sizes (gfc_expr*, gfc_expr*, gfc_expr*, bool gfc_boz2int (gfc_expr *, int); bool gfc_boz2real (gfc_expr *, int); bool gfc_invalid_boz (const char *, locus *); +bool gfc_invalid_null_arg (gfc_expr *); /* class.c */ |