[Patch, Fortran] Some coarray fixes

Tobias Burnus burnus@net-b.de
Sat Jun 21 18:52:00 GMT 2014


This patch primarily adds a check that the "A" argument (= 
source/result) of a collective is definable. I found the issue when a 
co_* test case didn't work with vector subscripts. (gfortran doesn't do 
a copy-out.)


The patch additionally fixes one issue I found on the way: 
gfc_check_vardef_context with context == NULL segfaulted for vector 
subscripts.


And I fixed two issues I encountered with coindexed strings:

a) gfc_conv_string_tmp requires that the "type" argument is a pointer – 
otherwise, it will ICE. (See also other uses of that function)
b) get_scalar_to_descriptor_type: If the argument is a pointer, the type 
and hence the dtype is wrong.

I found those while writing a test case for coindexed strings and type 
conversion; I will later submit the test case together with some other 
coarray-related patches, but to clean up my trunk and to make strings 
already usable, I have included those bits of the patch already.

Build and regtested on x86-64-gnu-linux.
OK for the trunk?

Tobias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: caf.diff
Type: text/x-patch
Size: 4067 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20140621/c562c331/attachment.bin>


More information about the Fortran mailing list