https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98897
Bug ID: 98897 Summary: Erroneous procedure attribute for associate name Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: damian at sourceryinstitute dot org Target Milestone: --- The behavior demonstrated below also occurs if the procedure definition is moved to a submodule. Workarounds include (1) declaring "output_data" as a variable instead of an associate name or (2) making "output" a function referencing it as such instead of calling it as a subroutine. % cat bug.f90 module output_data_m implicit none type output_data_t contains procedure output end type interface module subroutine output(self) implicit none class(output_data_t) self end subroutine end interface contains module procedure output end procedure end module use output_data_m implicit none associate(output_data => output_data_t()) call output_data%output end associate end % gfortran bug.f90 bug.f90:24:20: 24 | call output_data%output | 1 Error: VARIABLE attribute of ‘output_data’ conflicts with PROCEDURE attribute at (1) % gfortran --version GNU Fortran (GCC) 11.0.0 20201231 (experimental)