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

            Bug ID: 123943
           Summary: [16 Regression] ice in gfc_resolve_forall, at
                    fortran/resolve.cc:12646
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

For this Fortran 90 code:

PROGRAM MAIN
IMPLICIT NONE
INTEGER :: K,L,M,X
INTEGER :: arr(5)
X=0
K=10
L=30
arr=(/ 1,2,3,4,5 /)
DO CONCURRENT(K=1:5,arr(K)>=2)
  if(arr(K)==3) then
    Do CONCURRENT(L=2:arr(K)+1,K<5)
     IF(arr(L)==4) then
        DO CONCURRENT(M=3:arr(L))
            X=X+4
        END DO
     ELSE
       X=X+3
     END IF
    END DO
  else
      X=X+1
  end if
END DO
IF (X==17 .AND.  K==10 .AND. L==30) THEN
 Print *,"PASS"
ELSE
 Print *,"FAIL",X
END IF
END PROGRAM

from the Fujitsu compiler test suite at

https://github.com/fujitsu/compiler-test-suite

works fine with gcc 15.2.0:

fujitsu $ ~/gcc/results.15.2.0/bin/gfortran  -c -w
trunk/Fortran/0246/0246_0018.f90
fujitsu $ 

but fails with recent gcc trunk:

fujitsu $ ~/gcc/results.20260131.ubsan/bin/gfortran  -c -w
trunk/Fortran/0246/0246_0018.f90
f951: internal compiler error: in gfc_resolve_forall, at
fortran/resolve.cc:12688
0x1fc04b7 internal_error
       
/home/dcb42/gcc/working/gcc/../../trunk/gcc/diagnostic-global-context.cc:787
0x1fca70b fancy_abort
        /home/dcb42/gcc/working/gcc/../../trunk/gcc/diagnostics/context.cc:1812
0x4e2410 gfc_resolve_forall
        /home/dcb42/gcc/working/gcc/../../trunk/gcc/fortran/resolve.cc:12688

The earliest gcc 16 compiler I have is dated 20260102
and it goes wrong there too:

fujitsu $ ~/gcc/results.20260102.asan.ubsan/bin/gfortran  -c -w
trunk/Fortran/0246/0246_0018.f90
f951: internal compiler error: in gfc_resolve_forall, at
fortran/resolve.cc:12646
0x1ffc867 internal_error
       
/home/dcb42/gcc/working/gcc/../../trunk/gcc/diagnostic-global-context.cc:787
0x2006a8b fancy_abort
        /home/dcb42/gcc/working/gcc/../../trunk/gcc/diagnostics/context.cc:1805
0x4e0fa0 gfc_resolve_forall
        /home/dcb42/gcc/working/gcc/../../trunk/gcc/fortran/resolve.cc:12646

Recent gfortran compiler is:

fujitsu $ ~/gcc/results.20260131.ubsan/bin/gfortran  -v
Using built-in specs.
COLLECT_GCC=/home/dcb42/gcc/results.20260131.ubsan/bin/gfortran
COLLECT_LTO_WRAPPER=/home/dcb42/gcc/results.20260131.ubsan/libexec/gcc/x86_64-pc-linux-gnu/16.0.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../trunk/configure
--prefix=/home/dcb42/gcc/results.20260131.ubsan --disable-bootstrap
--disable-doc --disable-multilib --with-build-config=bootstrap-ubsan
--with-pkgversion=c035985fd611dfb2 --enable-checking=df,extra,fold,rtl,yes
--enable-languages=c,c++,cobol,fortran
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 16.0.1 20260131 (experimental) (c035985fd611dfb2) 
fujitsu $

Reply via email to