This is the mail archive of the gcc-patches@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]

Re: [Patch, Fortran, OOP] PR 57305: ICE when calling SIZEOF on an unlimited polymorphic variable


Hello,

Le 22/08/2013 15:20, Janus Weil a écrit :
> Hi all,
> 
> the SIZEOF intrinsic currently returns the size according to the
> *declared* type for polymorphic variables. I think this doesn't really
> make much sense and it also causes ICEs when SIZEOF is called on
> CLASS(*) variables (which don't really have a declared type).
> Therefore I'm proposing to make SIZEOF return the size according to
> the *dynamic* type instead. The same is done by STORAGE_SIZE (F08),
> which however gives the size in bits. SIZEOF is a GNU extension, so we
> are free to decide on its behavior. I don't remember why the declared
> type was chosen in the first place, and I hope that no one seriously
> depends on the current behavior (the size of the declared type is
> probably not really useful after all).
> 
I'm slightly inclined to kindly invite the user to switch to
STORAGE_SIZE+SIZE instead.  Any other opinion?

> The patch was regtested on x86_64-unknown-linux-gnu. Ok for trunk?
> 
Independently of the above, the patch seems to be forgetting the
arg->rank != 0 case.

Mikael


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