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.

Reply via email to