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