diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-03-11 21:34:40 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-03-11 21:34:40 +0000 |
commit | fbe1f017435875f9bfd29d250b4ba2eaf4c79047 (patch) | |
tree | b74e8b8a89bebff4e89246bb82fad265f81c3579 /gcc/fortran/iresolve.c | |
parent | 6f76317a471e2960343ff94a60620fec76cdc35c (diff) | |
download | gcc-fbe1f017435875f9bfd29d250b4ba2eaf4c79047.zip gcc-fbe1f017435875f9bfd29d250b4ba2eaf4c79047.tar.gz gcc-fbe1f017435875f9bfd29d250b4ba2eaf4c79047.tar.bz2 |
check.c (gfc_check_kill): Check pid and sig are scalar.
2018-03-11 Steven G. Kargl <kargls@gcc.gnu.org>
* check.c (gfc_check_kill): Check pid and sig are scalar.
(gfc_check_kill_sub): Restrict kind to 4 and 8.
* intrinsic.c (add_function): Sort keyword list. Add pid and sig
keywords for KILL. Remove redundant *back="back" in favor of the
original *bck="back".
(add_subroutines): Sort keyword list. Add pid and sig keywords
for KILL.
* intrinsic.texi: Fix documentation to consistently use pid and sig.
* iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8. Choose the
correct function.
(gfc_resolve_rename_sub): Add comment.
From-SVN: r258436
Diffstat (limited to 'gcc/fortran/iresolve.c')
-rw-r--r-- | gcc/fortran/iresolve.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c index 2134432..f2208b4 100644 --- a/gcc/fortran/iresolve.c +++ b/gcc/fortran/iresolve.c @@ -1492,11 +1492,14 @@ gfc_resolve_ishftc (gfc_expr *f, gfc_expr *i, gfc_expr *shift, gfc_expr *size) void -gfc_resolve_kill (gfc_expr *f, gfc_expr *p ATTRIBUTE_UNUSED, - gfc_expr *s ATTRIBUTE_UNUSED) +gfc_resolve_kill (gfc_expr *f, gfc_expr *pid, + gfc_expr *sig ATTRIBUTE_UNUSED) { f->ts.type = BT_INTEGER; - f->ts.kind = gfc_default_integer_kind; + if (pid->ts.kind == 4 || pid->ts.kind == 8) + f->ts.kind = pid->ts.kind; + else + f->ts.kind = gfc_default_integer_kind; f->value.function.name = gfc_get_string (PREFIX ("kill_i%d"), f->ts.kind); } @@ -3446,6 +3449,7 @@ gfc_resolve_rename_sub (gfc_code *c) const char *name; int kind; + /* Find the type of status. If not present use default integer kind. */ if (c->ext.actual->next->next->expr != NULL) kind = c->ext.actual->next->next->expr->ts.kind; else |