https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124661
anlauf at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |15.2.1
Status|UNCONFIRMED |NEW
Priority|P3 |P4
Keywords| |wrong-code
Known to fail| |16.0
Ever confirmed|0 |1
Target Milestone|--- |16.0
Summary|SIGSEGV with -fcheck=bounds |[16 Regression] SIGSEGV
|from type-bound procedure |with -fcheck=bounds from
| |type-bound procedure
Last reconfirmed| |2026-03-27
--- Comment #1 from anlauf at gcc dot gnu.org ---
Regression confirmed.
The dump-tree for the failing bounds check looks like it accesses random
memory:
struct point_cloud_t * D.4845;
real(kind=4)[3] * D.4846;
if (D.4845->points.dim[0].lbound > 1)
{
_gfortran_runtime_error_at (&"At line 25 of file
pr124661.f90"[1]{lb: 1 sz: 1}, &"Index \'%ld\' of dimension 1 of array
\'c%%points\' below lower bound of %ld"[1]{lb: 1 sz: 1}, 1,
D.4845->points.dim[0].lbound);
}
Note that D.4845 is not set but used.