[Bug fortran/94585] New: Automatic LHS reallocation issue with debug options

jeremie.vandenplas at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Apr 13 20:58:15 GMT 2020


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

            Bug ID: 94585
           Summary: Automatic LHS reallocation issue with debug options
           Product: gcc
           Version: 7.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jeremie.vandenplas at gmail dot com
  Target Milestone: ---

Created attachment 48264
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48264&action=edit
.s file

Reports a runtime error for an automatic RHS reallocation of an integer array
with a real array as RHS, when compiled with -fimplicit-none -Wall -fcheck=all
-fbacktrace -Wextra.

`gcc -v`:
Pilotage: gfortran -v -save-temps -fimplicit-none -Wall -fcheck=all -fbacktrace
-Wextra bug.f90 -l gfortran -l m -shared-libgcc
Utilisation des specs internes.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/cm/local/apps/gcc/7.2.0/libexec/gcc/x86_64-pc-linux-gnu/7.2.0/lto-wrapper
Cible : x86_64-pc-linux-gnu
Configuré avec: ../gcc-7.2.0/configure --prefix=/cm/local/apps/gcc/7.2.0
--enable-languages=c,c++,fortran
--with-gmp-include=/root/rpmbuild/BUILD/gcc-7.2.0-obj/../gcc-7.2.0/our-gmp
--with-gm
p-lib=/root/rpmbuild/BUILD/gcc-7.2.0-obj/../gcc-7.2.0/our-gmp/.libs
--with-mpc-include=/root/rpmbuild/BUILD/gcc-7.2.0-obj/../gcc-7.2.0/our-mpc/src
--with-mpc-lib=/root/rpmbuild/BUILD/gcc-7.2
.0-obj/../gcc-7.2.0/our-mpc/src/.libs
--with-mpfr-include=/root/rpmbuild/BUILD/gcc-7.2.0-obj/../gcc-7.2.0/our-mpfr/src
--with-mpfr-lib=/root/rpmbuild/BUILD/gcc-7.2.0-obj/../gcc-7.2.0/our-mpf
r/src/.libs
Modèle de thread: posix
gcc version 7.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fimplicit-none' '-Wall' '-fcheck=all'
'-fbacktrace' '-Wextra' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /cm/local/apps/gcc/7.2.0/libexec/gcc/x86_64-pc-linux-gnu/7.2.0/f951 bug.f90
-quiet -dumpbase bug.f90 -mtune=generic -march=x86-64 -auxbase bug -Wall
-Wextra -version -fimplicit-none -fcheck
=all -fbacktrace -fintrinsic-modules-path
/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/7.2.0/finclude -o bug.s
GNU Fortran (GCC) version 7.2.0 (x86_64-pc-linux-gnu)
        compilé par GNU C version 7.2.0, GMP version 6.1.2, MPFR version 3.1.6,
MPC version 1.0.3, isl version none
heuristiques GGC: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Fortran2008 (GCC) version 7.2.0 (x86_64-pc-linux-gnu)
        compilé par GNU C version 7.2.0, GMP version 6.1.2, MPFR version 3.1.6,
MPC version 1.0.3, isl version none
heuristiques GGC: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
bug.f90:9:5:

  i = d
     1
Avertissement: Changement possible de valeur dans la conversion de REAL(4) vers
INTEGER(4) à (1) [-Wconversion]
bug.f90:9:0:

  i = d

Avertissement: « i.offset » pourrait être utilisé sans être initialisé dans
cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].lbound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].ubound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].lbound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].ubound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].lbound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].ubound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].ubound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].lbound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].lbound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].lbound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].ubound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].ubound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].lbound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].ubound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0:

  i = d

Avertissement: « i.dim[0].lbound » pourrait être utilisé sans être initialisé
dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].ubound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].ubound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
bug.f90:9:0: Avertissement: « i.dim[0].lbound » pourrait être utilisé sans être
initialisé dans cette fonction [-Wmaybe-uninitialized]
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fimplicit-none' '-Wall' '-fcheck=all'
'-fbacktrace' '-Wextra' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 as -v --64 -o bug.o bug.s
Version de l'assembleur GNU 2.27 (x86_64-redhat-linux) utilisant la version BFD
version 2.27-41.base.el7
Lecture des spécifications à partir de
/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64/libgfortran.spec
renommer les specs lib à liborig
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fimplicit-none' '-Wall' '-fcheck=all'
'-fbacktrace' '-Wextra' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
COMPILER_PATH=/cm/local/apps/gcc/7.2.0/libexec/gcc/x86_64-pc-linux-gnu/7.2.0/:/cm/local/apps/gcc/7.2.0/libexec/gcc/x86_64-pc-linux-gnu/7.2.0/:/cm/local/apps/gcc/7.2.0/libexec/gcc/x86_64-pc-l
inux-gnu/:/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/7.2.0/:/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/
LIBRARY_PATH=/cm/shared/apps/slurm/17.11.12/lib64/../lib64/:/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/7.2.0/:/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../..
/lib64/:/lib/../lib64/:/usr/lib/../lib64/:/cm/shared/apps/octave/gcc/64/5.1.0/lib/:/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_2017.0.098/linux/tbb/lib/intel64_lin/
gcc4.4/:/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_2017.0.098/linux/daal/lib/intel64_lin/:/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_201
7.0.098/linux/tbb/lib/intel64/gcc4.7/:/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_2017.0.098/linux/mkl/lib/intel64/:/cm/shared/apps/intel/parallel_studio_xe/2017/co
mpilers_and_libraries_2017.0.098/linux/compiler/lib/intel64/:/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_2017.0.098/linux/ipp/lib/intel64/:/cm/shared/apps/intel/par
allel_studio_xe/2017/compilers_and_libraries/linux/lib/intel64/:/cm/shared/apps/slurm/17.11.12/lib64/slurm/:/cm/shared/apps/slurm/17.11.12/lib64/:/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-l
inux-gnu/7.2.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fimplicit-none' '-Wall' '-fcheck=all'
'-fbacktrace' '-Wextra' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /cm/local/apps/gcc/7.2.0/libexec/gcc/x86_64-pc-linux-gnu/7.2.0/collect2
-plugin
/cm/local/apps/gcc/7.2.0/libexec/gcc/x86_64-pc-linux-gnu/7.2.0/liblto_plugin.so
-plugin-opt=/cm/local/apps/gc
c/7.2.0/libexec/gcc/x86_64-pc-linux-gnu/7.2.0/lto-wrapper
-plugin-opt=-fresolution=bug.res -plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lquadm
ath -plugin-opt=-pass-through=-lm -plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=
-lgcc --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2
/lib/../lib64/crt1.o /lib/../lib64/crti.o
/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/7.2.0/crtbegin.o
 -L/cm/shared/apps/slurm/17.11.12/lib64/../lib64
-L/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/7.2.0
-L/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../lib64
-
L/lib/../lib64 -L/usr/lib/../lib64 -L/cm/shared/apps/octave/gcc/64/5.1.0/lib
-L/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_2017.0.098/linux/tbb/lib/intel64_lin/gcc4
.4
-L/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_2017.0.098/linux/daal/lib/intel64_lin
-L/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_2017.
0.098/linux/tbb/lib/intel64/gcc4.7
-L/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_2017.0.098/linux/mkl/lib/intel64
-L/cm/shared/apps/intel/parallel_studio_xe/2017/co
mpilers_and_libraries_2017.0.098/linux/compiler/lib/intel64
-L/cm/shared/apps/intel/parallel_studio_xe/2017/compilers_and_libraries_2017.0.098/linux/ipp/lib/intel64
-L/cm/shared/apps/intel/p
arallel_studio_xe/2017/compilers_and_libraries/linux/lib/intel64
-L/cm/shared/apps/slurm/17.11.12/lib64/slurm
-L/cm/shared/apps/slurm/17.11.12/lib64
-L/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64
-pc-linux-gnu/7.2.0/../../.. bug.o -lgfortran -lm -lgcc_s -lgcc -lquadmath -lm
-lgcc_s -lgcc -lc -lgcc_s -lgcc
/cm/local/apps/gcc/7.2.0/lib/gcc/x86_64-pc-linux-gnu/7.2.0/crtend.o /lib/../lib
64/crtn.o
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fimplicit-none' '-Wall' '-fcheck=all'
'-fbacktrace' '-Wextra' '-shared-libgcc' '-mtune=generic' '-march=x86-64'



REPORTED ERROR:
At line 9 of file bug.f90
Fortran runtime error: Array bound mismatch for dimension 1 of array 'i'
(93824992067665/5)

Error termination. Backtrace:
#0  0x400985 in ???
#1  0x400b1e in ???
#2  0x2aaaab81b544 in ???
#3  0x400738 in ???
#4  0xffffffffffffffff in ???


SOURCE FILE:

program bug
 implicit none
 integer, allocatable :: i(:)
 real :: d(5)

 d = 1

 i = d

 print*,i

end program


More information about the Gcc-bugs mailing list