bug realloc-lhs

patnel97269-gfortran@yahoo.fr patnel97269-gfortran@yahoo.fr
Wed Mar 28 19:26:00 GMT 2012


The function have no side effect, and the user produces this function especiallly for the case.  Nothing prevent the user from deallocating an array of the type inside the function. 
And the standard said that if the array is no more of the same shape,size or not allocated, then it should be allocated to match the return of the function.  
So yes i blame the compiler not to verify whether the pointer is valid or not before reallocating. 

And by the way this code works perfectly as expected with the intel compiler.

Patrice


----- Mail original -----
De : Steve Kargl <sgk@troutmask.apl.washington.edu>
À : "patnel97269-gfortran@yahoo.fr" <patnel97269-gfortran@yahoo.fr>
Cc : Paul Richard Thomas <paul.richard.thomas@gmail.com>; "fortran@gcc.gnu.org" <fortran@gcc.gnu.org>
Envoyé le : Mercredi 28 mars 2012 12h49
Objet : Re: Re : bug realloc-lhs

I think it is a not-so-special case of a user writing a
function with a side-effect, and then blaming the compiler
for not recognizing that the user has pulled the rug
from under it.

-- 
steve


On Wed, Mar 28, 2012 at 05:23:15PM +0100, patnel97269-gfortran@yahoo.fr wrote:
> I'm using gfortran 4.6.3 (not 4.7 yet) on a linux 64bit. ?I think this is a special case in which the realloc-lhs doesn't work as expected. I can't tell if it's a regression or not. Patrice
> 
> 
> ----- Mail original -----
> De : Paul Richard Thomas <paul.richard.thomas@gmail.com>
> À : Steve Kargl <sgk@troutmask.apl.washington.edu>
> Cc : "patnel97269-gfortran@yahoo.fr" <patnel97269-gfortran@yahoo.fr>; "fortran@gcc.gnu.org" <fortran@gcc.gnu.org>
> Envoyé le : Mercredi 28 mars 2012 8h58
> Objet : Re: bug realloc-lhs
> 
> You do not tell us which version of gfortran you are using nor on what
> system you are running.  Without this information, we can say nothing
> useful.
> 
> Paul
> 
> On Tue, Mar 27, 2012 at 9:20 PM, Steve Kargl
> <sgk@troutmask.apl.washington.edu> wrote:
> > On Tue, Mar 27, 2012 at 08:06:09PM +0100, patnel97269-gfortran@yahoo.fr wrote:
> >> Hi all,
> >>
> >> I want to report a bug concerning the realloc-lhs, in case of a type containing a allocatable array.
> >> For just an allocatable array it's ok ,everything works fine, when i deallocate the array in a function it's reallocated with the "=" statement;
> >> But for a type i got a double free corruption, so i think there a test here to know if the array in the type is allocated or not. Note that if i don't allocate the array in the type at the beginning without deallocating it works.
> >>
> >> Here is the code .
> >
> > Looks like the type of problem, one might expect from
> > invoking a function with side-effect.
> >
> > --
> > Steve
> 
> 
> 
> -- 
> The knack of flying is learning how to throw yourself at the ground and miss.
>        --Hitchhikers Guide to the Galaxy
> 

-- 
Steve



More information about the Fortran mailing list