diff options
author | Andre Vehreschild <vehre@gcc.gnu.org> | 2017-01-19 16:52:32 +0100 |
---|---|---|
committer | Andre Vehreschild <vehre@gcc.gnu.org> | 2017-01-19 16:52:32 +0100 |
commit | 118d5ed3212800810ad6c09c1e51649a02d4caf3 (patch) | |
tree | 19376ad3f5757f08f61c02608a53612aa86ca96e | |
parent | 9db0a8c2bfe8e9602109d3fc3de0dc5e575b8c5c (diff) | |
download | gcc-118d5ed3212800810ad6c09c1e51649a02d4caf3.zip gcc-118d5ed3212800810ad6c09c1e51649a02d4caf3.tar.gz gcc-118d5ed3212800810ad6c09c1e51649a02d4caf3.tar.bz2 |
re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)
gcc/fortran/ChangeLog:
2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70696
* trans-decl.c (gfc_build_qualified_array): Add static decl to parent
function only, when the decl-context is not the translation unit.
gcc/testsuite/ChangeLog:
2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70696
* gfortran.dg/coarray_43.f90: New test.
From-SVN: r244637
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/trans-decl.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/coarray_43.f90 | 13 |
4 files changed, 27 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 17c419f..ca6ac2a 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/70696 + * trans-decl.c (gfc_build_qualified_array): Add static decl to parent + function only, when the decl-context is not the translation unit. + 2017-01-18 Louis Krupp <louis.krupp@zoho.com> PR fortran/50069 diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 51c23e8..5d246cd 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -971,7 +971,9 @@ gfc_build_qualified_array (tree decl, gfc_symbol * sym) DECL_CONTEXT (token) = sym->ns->proc_name->backend_decl; gfc_module_add_decl (cur_module, token); } - else if (sym->attr.host_assoc) + else if (sym->attr.host_assoc + && TREE_CODE (DECL_CONTEXT (current_function_decl)) + != TRANSLATION_UNIT_DECL) gfc_add_decl_to_parent_function (token); else gfc_add_decl_to_function (token); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dc54c0a..e0e0bd5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/70696 + * gfortran.dg/coarray_43.f90: New test. + 2017-01-19 Richard Earnshaw <rearnsha@arm.com> PR rtl-optimization/79121 diff --git a/gcc/testsuite/gfortran.dg/coarray_43.f90 b/gcc/testsuite/gfortran.dg/coarray_43.f90 new file mode 100644 index 0000000..d5ee4e1 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/coarray_43.f90 @@ -0,0 +1,13 @@ +! { dg-do link } +! { dg-options "-fcoarray=lib -lcaf_single" } + +program coarray_43 + implicit none + integer, parameter :: STR_LEN = 50 + character(len=STR_LEN) :: str[*] + integer :: pos + write(str,"(2(a,i2))") "Greetings from image ",this_image()," of ",num_images() + block + pos = scan(str[5], set="123456789") + end block +end program |