[Patch, Fortran] PR57906 - fix issue with coarray component assignment

Steve Kargl sgk@troutmask.apl.washington.edu
Mon Jul 22 17:25:00 GMT 2013


On Mon, Jul 22, 2013 at 07:17:50PM +0200, Tobias Burnus wrote:
> For coarrays, an assignment does not affect the allocation status. That 
> also implies that the type parameters, shape and effective types between 
> the LHS and RHS have to match.
> 
> For coarrays components, that's handled (since Rev. 200955) by 
> re-assigning the saved data after the assignment:
> 
>   tmp  = LHS;
>   LHS = RHS;
>   LHS.caf = RHS.caf;
> 
> However, as the PR shows, the middle end for some reasons optimizes the 
> latter assignment away. My impression is that that's due to the 
> "restrict" issue (PR45586). The patch now only assigns the data 
> component, which seems to work:
> 
>   tmp  = LHS;
>   LHS = RHS;
>   LHS.caf.data = RHS.caf.data;
> 
> Other changes:
> - Change space+tab to tab
> - Add a test case, which I seemingly forgot to include in r200955
> 
> Build and regtested on x86-64-gnu-linux.
> OK for the trunk?
> 

OK.

-- 
Steve



More information about the Gcc-patches mailing list