https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95304
Bug ID: 95304 Summary: Clean up some code for finalization Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: tkoenig at gcc dot gnu.org Target Milestone: --- Just looked at the output of gfortran -fdump-fortran-original finalize_28.f90 which has symtree: 'idx2' || symbol: 'idx2' type spec : (INTEGER 8) attributes: (VARIABLE ARTIFICIAL) symtree: 'ignore' || symbol: 'ignore' type spec : (INTEGER 4) attributes: (VARIABLE ARTIFICIAL) symtree: 'is_contiguous'|| symbol: 'is_contiguous' type spec : (LOGICAL 4) attributes: (VARIABLE ARTIFICIAL) symtree: 'nelem' || symbol: 'nelem' [...] DO __final_coo_graphs_Coo_graph:idx=1_8 __convert_i4_i8[[((_F.rank[[((__final_coo_graphs_Coo_graph:array(FULL)))]]))]] 1_8 ASSIGN __final_coo_graphs_Coo_graph:strides(__final_coo_graphs_Coo_graph:idx) _F.stride[[((__final_coo_graphs_Coo_graph:array(FULL)) (__final_coo_graphs_Coo_graph:idx))]] ASSIGN __final_coo_graphs_Coo_graph:sizes(__final_coo_graphs_Coo_graph:idx) (* __final_coo_graphs_Coo_graph:sizes((- __final_coo_graphs_Coo_graph:idx 1_8)) _F.size[[((__final_coo_graphs_Coo_graph:array(FULL)) (__final_coo_graphs_Coo_graph:idx) (8_8))]]) IF (/= __final_coo_graphs_Coo_graph:strides(__final_coo_graphs_Coo_graph:idx) __final_coo_graphs_Coo_graph:sizes((- __final_coo_graphs_Coo_graph:idx 1_8))) ASSIGN __final_coo_graphs_Coo_graph:is_contiguous .false. ENDIF END DO We should be able to use the is_contiguous intrinsic and also use variable names which are prefixed with __ so we can not collide with user variables under any circumstances.