http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55978
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code --- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2013-01-15 11:36:05 UTC --- (In reply to comment #3) > y.data = 0B; > void * D.1914; > > D.1914 = _gfortran_internal_pack (&y); > a4t2 (D.1914); Looks as if code of the form: if (y.data) D.1914 = _gfortran_internal_pack (&y); else D.1914 = NULL; is missing - at least for "(gfc_option.allow_std & GFC_STD_F2008) != 0". I assume that there is (implicitly?) a check for "y == NULL" for optional dummies. (The latter is not applicable to the reduced example, but to line 39 of class_optional_2.f90.)