diff options
author | Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> | 2016-03-28 03:05:01 -0600 |
---|---|---|
committer | Alessandro Fanfarillo <afanfa@gcc.gnu.org> | 2016-03-28 03:05:01 -0600 |
commit | 0daa7ed9447c71f2a1c1311729f840c36d0a558d (patch) | |
tree | 5e06caaa5702f05c412828249ea7d92ef377f1a6 /gcc/fortran/trans-decl.c | |
parent | 45733562ce6c85f6bfd60afa5438f20ef47c2c15 (diff) | |
download | gcc-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.c | 14 |
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, |