optimization removes a __builtin_memcpy?
Steve Kargl
sgk@troutmask.apl.washington.edu
Mon Dec 1 14:48:00 GMT 2008
On Sun, Nov 30, 2008 at 10:18:22PM +0100, Richard Guenther wrote:
> On Sun, Nov 30, 2008 at 5:28 AM, Steve Kargl
> <sgk@troutmask.apl.washington.edu> wrote:
> >
> > ERRMSG.12 = &"Attempt to deallocate an unallocated object"[1]{lb: 1 sz: 1};
> > - ERRMSG.12 = stat.11 != 0 ? (void) __builtin_memcpy ((void *) &err, (void *) ERRMSG.12, 30) : (void) 0;
> > + ERRMSG.12 = stat.11 != 0 ? err = *(character(kind=1)[1:30] * {ref-all}) ERRMSG.12 : (void) 0;
>
> Btw, you assign "void" to ERRMSG.12 - this is certainly invalid GENERIC and not
> what you want to do, right?
>
I have a working patch. Don't know if it's completely correct;
however, there are no regressions. The key appeared to be that
I needed to build a pointer to err instead on passing err itself.
--
Steve
More information about the Fortran
mailing list