aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/intrinsic.h
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2014-05-25 07:24:12 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2014-05-25 07:24:12 +0200
commit05fc16dde913ed47ab4352a34b15f71d24d58934 (patch)
tree674a166546a3e633ac9d67036605b32fa986ed8b /gcc/fortran/intrinsic.h
parentfd1e93027047ca891e278fac96d38978aeb51d6d (diff)
downloadgcc-05fc16dde913ed47ab4352a34b15f71d24d58934.zip
gcc-05fc16dde913ed47ab4352a34b15f71d24d58934.tar.gz
gcc-05fc16dde913ed47ab4352a34b15f71d24d58934.tar.bz2
check.c (gfc_check_num_images): New.
2014-05-25 Tobias Burnus <burnus@net-b.de> * check.c (gfc_check_num_images): New. (gfc_check_this_image): Handle distance argument. * intrinsic.c (add_functions): Update this_image and num_images for new distance and failed arguments. * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new arguments. * intrinsic.h (gfc_check_num_images): New. (gfc_check_this_image, gfc_simplify_num_images, gfc_simplify_this_image, gfc_resolve_this_image): Update prototype. * iresolve.c (gfc_resolve_this_image): Handle distance argument. * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image): Handle new arguments. * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto. (gfc_conv_intrinsic_function): Update trans_num_images call. 2014-05-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_10.f90: Update dg-warning. * gfortran.dg/coarray_this_image_1.f90: New. * gfortran.dg/coarray_this_image_2.f90: New. From-SVN: r210909
Diffstat (limited to 'gcc/fortran/intrinsic.h')
-rw-r--r--gcc/fortran/intrinsic.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/fortran/intrinsic.h b/gcc/fortran/intrinsic.h
index 162fa71..05cd146 100644
--- a/gcc/fortran/intrinsic.h
+++ b/gcc/fortran/intrinsic.h
@@ -117,6 +117,7 @@ bool gfc_check_nearest (gfc_expr *, gfc_expr *);
bool gfc_check_new_line (gfc_expr *);
bool gfc_check_norm2 (gfc_expr *, gfc_expr *);
bool gfc_check_null (gfc_expr *);
+bool gfc_check_num_images (gfc_expr *, gfc_expr *);
bool gfc_check_pack (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_parity (gfc_expr *, gfc_expr *);
bool gfc_check_precision (gfc_expr *);
@@ -212,7 +213,7 @@ bool gfc_check_signal_sub (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_sleep_sub (gfc_expr *);
bool gfc_check_stat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_system_sub (gfc_expr *, gfc_expr *);
-bool gfc_check_this_image (gfc_expr *, gfc_expr *);
+bool gfc_check_this_image (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_ttynam_sub (gfc_expr *, gfc_expr *);
bool gfc_check_umask_sub (gfc_expr *, gfc_expr *);
bool gfc_check_unlink_sub (gfc_expr *, gfc_expr *);
@@ -343,7 +344,7 @@ gfc_expr *gfc_simplify_new_line (gfc_expr *);
gfc_expr *gfc_simplify_nint (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_norm2 (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_null (gfc_expr *);
-gfc_expr *gfc_simplify_num_images (void);
+gfc_expr *gfc_simplify_num_images (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_idnint (gfc_expr *);
gfc_expr *gfc_simplify_not (gfc_expr *);
gfc_expr *gfc_simplify_or (gfc_expr *, gfc_expr *);
@@ -387,7 +388,7 @@ gfc_expr *gfc_simplify_sqrt (gfc_expr *);
gfc_expr *gfc_simplify_sum (gfc_expr *, gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_tan (gfc_expr *);
gfc_expr *gfc_simplify_tanh (gfc_expr *);
-gfc_expr *gfc_simplify_this_image (gfc_expr *, gfc_expr *);
+gfc_expr *gfc_simplify_this_image (gfc_expr *, gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_tiny (gfc_expr *);
gfc_expr *gfc_simplify_trailz (gfc_expr *);
gfc_expr *gfc_simplify_transfer (gfc_expr *, gfc_expr *, gfc_expr *);
@@ -568,7 +569,7 @@ void gfc_resolve_symlnk (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_system (gfc_expr *, gfc_expr *);
void gfc_resolve_tan (gfc_expr *, gfc_expr *);
void gfc_resolve_tanh (gfc_expr *, gfc_expr *);
-void gfc_resolve_this_image (gfc_expr *, gfc_expr *, gfc_expr *);
+void gfc_resolve_this_image (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_time (gfc_expr *);
void gfc_resolve_time8 (gfc_expr *);
void gfc_resolve_transfer (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);