http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57553
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
"13.7.160 STORAGE SIZE (A [, KIND])
Description. Storage size in bits.
Class. Inquiry function.
Arguments.
A shall be a scalar or array of any type. If it is polymorphic it shall
not be an undefined pointer. If it has any deferred type parameters
it shall not be an unallocated allocatable variable or a disassociated
or undefined pointer."
My impression is that the current code assumes that the argument is a variable
and not an expression (including literal constants).