aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/gfortran.h
diff options
context:
space:
mode:
authorHarald Anlauf <anlauf@gmx.de>2020-06-11 20:29:45 +0200
committerHarald Anlauf <anlauf@gmx.de>2020-06-11 20:29:45 +0200
commit7fd614ee818983274eb5e47cbb8ec68b20994963 (patch)
treeaea6cae53ec66c1965fd4e11cfe0d8396fcb63e2 /gcc/fortran/gfortran.h
parent1c140cfbfa4b465a29ef26f1fdfef04c671e3c9c (diff)
downloadgcc-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.h1
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 */