aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-decl.c
diff options
context:
space:
mode:
authorAlessandro Fanfarillo <fanfarillo.gcc@gmail.com>2016-03-28 03:05:01 -0600
committerAlessandro Fanfarillo <afanfa@gcc.gnu.org>2016-03-28 03:05:01 -0600
commit0daa7ed9447c71f2a1c1311729f840c36d0a558d (patch)
tree5e06caaa5702f05c412828249ea7d92ef377f1a6 /gcc/fortran/trans-decl.c
parent45733562ce6c85f6bfd60afa5438f20ef47c2c15 (diff)
downloadgcc-0daa7ed9447c71f2a1c1311729f840c36d0a558d.zip
gcc-0daa7ed9447c71f2a1c1311729f840c36d0a558d.tar.gz
gcc-0daa7ed9447c71f2a1c1311729f840c36d0a558d.tar.bz2
STOP managed by external library when coarrays are used
From-SVN: r234502
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r--gcc/fortran/trans-decl.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 4bd7dc4..309baf1 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -137,6 +137,8 @@ tree gfor_fndecl_caf_sendget;
tree gfor_fndecl_caf_sync_all;
tree gfor_fndecl_caf_sync_memory;
tree gfor_fndecl_caf_sync_images;
+tree gfor_fndecl_caf_stop_str;
+tree gfor_fndecl_caf_stop_numeric;
tree gfor_fndecl_caf_error_stop;
tree gfor_fndecl_caf_error_stop_str;
tree gfor_fndecl_caf_atomic_def;
@@ -3550,6 +3552,18 @@ gfc_build_builtin_function_decls (void)
/* CAF's ERROR STOP doesn't return. */
TREE_THIS_VOLATILE (gfor_fndecl_caf_error_stop_str) = 1;
+ gfor_fndecl_caf_stop_numeric = gfc_build_library_function_decl_with_spec (
+ get_identifier (PREFIX("caf_stop_numeric")), ".R.",
+ void_type_node, 1, gfc_int4_type_node);
+ /* CAF's STOP doesn't return. */
+ TREE_THIS_VOLATILE (gfor_fndecl_caf_stop_numeric) = 1;
+
+ gfor_fndecl_caf_stop_str = gfc_build_library_function_decl_with_spec (
+ get_identifier (PREFIX("caf_stop_str")), ".R.",
+ void_type_node, 2, pchar_type_node, gfc_int4_type_node);
+ /* CAF's STOP doesn't return. */
+ TREE_THIS_VOLATILE (gfor_fndecl_caf_stop_str) = 1;
+
gfor_fndecl_caf_atomic_def = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("caf_atomic_define")), "R..RW",
void_type_node, 7, pvoid_type_node, size_type_node, integer_type_node,