https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118683

            Bug ID: 118683
           Summary: UBSAN: Invalid value for type ar_type since
                    r15-7070-g0d1e62b83561ba
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jamborm at gcc dot gnu.org
                CC: anlauf at gcc dot gnu.org
            Blocks: 63426
  Target Milestone: ---
              Host: x86_64-linux-gnu
            Target: x86_64-linux-gnu

With UBSAN instrumented compiler, compiling the testcase
gfortran.dg/pr81978.f90 at -O3 -g fails with:

/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/trans-expr.cc:7499:19:
runtime error: load of value 960134032, which is not a valid value for type
'ar_type'

To configure the compiler with UBSAN, bootstrap it with option
--with-build-config=bootstrap-ubsan (we also only do release checking).

The failure started with commit r15-7070-g0d1e62b83561ba which however
introduced the testcase:

Author: Harald Anlauf <anl...@gmx.de>
Date:   Sun Jan 19 21:06:56 2025 +0100

    Fortran: do not copy back for parameter actual arguments [PR81978]

    When an array is packed for passing as an actual argument, and the array
    has the PARAMETER attribute (i.e., it is a named constant that can reside
    in read-only memory), do not copy back (unpack) from the temporary.

            PR fortran/81978

    gcc/fortran/ChangeLog:

            * trans-array.cc (gfc_conv_array_parameter): Do not copy back data
            if actual array parameter has the PARAMETER attribute.
            * trans-expr.cc (gfc_conv_subref_array_arg): Likewise.

    gcc/testsuite/ChangeLog:

            * gfortran.dg/pr81978.f90: New test.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426
[Bug 63426] [meta-bug] Issues found with -fsanitize=undefined

Reply via email to