https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124598

Steve Kargl <kargl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
      Known to fail|                            |14.3.1, 15.2.1, 16.0
             Status|WAITING                     |NEW

--- Comment #5 from Steve Kargl <kargl at gcc dot gnu.org> ---
(In reply to Antoine Lemoine from comment #4)
> (In reply to Steve Kargl from comment #2)
> > (In reply to anlauf from comment #1)
> >
> > [...]
> > 
> > 'n' is a type-param-name in 'type(t_baz(n)) :: baz'.  OP's code is likely
> > invalid because 'n' does not appear in an specification expression.
> > 
> > However, if one changes the code to 
> > 
> >    type(t_baz) :: baz ! <- REMOVE THIS LINE AND THIS PROGRAM COMPILES
> > 
> > or 
> > 
> >    type(t_baz(n=10)) :: baz ! <- REMOVE THIS LINE AND THIS PROGRAM COMPILES
> > 
> 
> This mistake occurred when I created the minimal example. In the actual code
> where the ICE happened, n was assigned a value such as type(t_baz(3)). So,
> what I intended to do is valid.

Thanks for the confirmation.  I assumed that there was an issue with cutting
a large code down to a minimum example.  I have had similar issues in the
past.

Paul has put addressing the remaining PDT issues on hold until after the
upcoming GCC 16.1.  He indicated in a post to the fortran@ list that he
needs to make some invasive changes to PDT internals, so he's reluctant
to make changes which may introduce regressions.

Reply via email to