https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119478
Bug ID: 119478 Summary: structure constructor is using the wrong stride Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: kargls at comcast dot net Target Milestone: --- Created attachment 60890 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60890&action=edit code showing the issue. It appears that a structure constructor does not use the correct stride when an array section is assigned to a component. The testcase and its comments show the issue. % gfcx -o z b.f90 -fcheck=all -fmax-errors=1 && ./z Display initial values of df row: 1 1.1000 1.2000 row: 2 2.1000 2.2000 row: 3 3.1000 3.2000 row: 4 4.1000 4.2000 row: 5 5.1000 5.2000 row: 6 6.1000 6.2000 row: 7 7.1000 7.2000 row: 8 8.1000 8.2000 Print df_new, should have rows 1, 4, 7 Shape(df_new%values) 3 2 Bounds of df_new%values, dim 1: 1 3 Bounds of df_new%values, dim 2: 1 2 row: 1 1.1000 1.2000 row: 2 2.1000 2.2000 row: 3 3.1000 3.2000 Print df_new, should have rows 1, 4, 7 Shape(df_new%values) 3 2 Bounds of df_new%values, dim 1: 1 3 Bounds of df_new%values, dim 2: 1 2 row: 1 1.1000 1.2000 row: 2 4.1000 4.2000 row: 3 7.1000 7.2000