This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/59678] [F03] Segfault on equalizing variables of a complex derived type


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59678

--- Comment #14 from janus at gcc dot gnu.org ---
(In reply to janus from comment #11)
> The dump shows that the assignment is translated into:
> 
>   {
>     void * restrict D.2321;
>     integer(kind=8) D.2320;
>     integer(kind=8) D.2319;
>     integer(kind=8) D.2318;
>     struct t1 D.2317;
> 
>     D.2317 = y;
>     y = x;
>     y.parts = x.parts;
>     y.parts.obj = x.parts.obj;

Up to here the dump is fine, but it the next line things start to go wrong:

>     if ((void *) x.parts.obj.vec.data != 0B)

We fail to check if obj is allocated.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]