[Bug fortran/102817] [12 Regression] ICE in gfc_clear_shape, at fortran/expr.c:422 since r12-4278-g74ccca380cde5e79

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Oct 19 07:35:17 GMT 2021


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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[12 Regression] ICE in      |[12 Regression] ICE in
                   |gfc_clear_shape, at         |gfc_clear_shape, at
                   |fortran/expr.c:422          |fortran/expr.c:422 since
                   |                            |r12-4278-g74ccca380cde5e79
   Last reconfirmed|                            |2021-10-19
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |anlauf at gcc dot gnu.org,
                   |                            |marxin at gcc dot gnu.org

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r12-4278-g74ccca380cde5e79 with:

$ valgrind --trace-children=yes gfortran pr102817.f90 -c
==19067== Memcheck, a memory error detector
==19067== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==19067== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright
info
==19067== Command: gfortran pr102817.f90 -c
==19067== 
==19074== Memcheck, a memory error detector
==19074== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==19074== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright
info
==19074== Command:
/home/marxin/bin/gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/f951 pr102817.f90
-quiet -dumpbase pr102817.f90 -dumpbase-ext .f90 -mtune=generic -march=x86-64
-fintrinsic-modules-path
/home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/12.0.0/finclude
-fpre-include=/usr/include/finclude/math-vector-fortran.h -o /tmp/ccfJ3EKQ.s
==19074== 
==19074== Invalid read of size 4
==19074==    at 0x4B52590: __gmpz_clear (clear.c:38)
==19074==    by 0x8F92DB: gfc_clear_shape(__mpz_struct (*) [1], int)
(expr.c:422)
==19074==    by 0x8F9314: gfc_free_shape(__mpz_struct (**) [1], int)
(expr.c:432)
==19074==    by 0x8F9417: free_expr0(gfc_expr*) (expr.c:513)
==19074==    by 0x8F95E4: gfc_replace_expr(gfc_expr*, gfc_expr*) (expr.c:626)
==19074==    by 0x8FE3F2: remove_subobject_ref (expr.c:1483)
==19074==    by 0x8FE3F2: simplify_const_ref(gfc_expr*) (expr.c:2001)
==19074==    by 0x8FEE71: gfc_simplify_expr(gfc_expr*, int) (expr.c:2314)
==19074==    by 0x8FF267: simplify_parameter_variable(gfc_expr*, int) [clone
.part.0] (expr.c:2143)
==19074==    by 0x8FF0D0: simplify_parameter_variable (expr.c:2086)
==19074==    by 0x8FF0D0: gfc_simplify_expr(gfc_expr*, int) (expr.c:2281)
==19074==    by 0x8FEBE6: simplify_intrinsic_op (expr.c:1190)
==19074==    by 0x8FEBE6: gfc_simplify_expr(gfc_expr*, int) (expr.c:2270)
==19074==    by 0x97EFD1: resolve_operator(gfc_expr*) (resolve.c:4470)
==19074==    by 0x97B777: gfc_resolve_expr (resolve.c:7136)
==19074==    by 0x97B777: gfc_resolve_expr(gfc_expr*) (resolve.c:7105)
==19074==  Address 0x51a4450 is 0 bytes after a block of size 16 alloc'd
==19074==    at 0x484315C: calloc (vg_replace_malloc.c:1117)
==19074==    by 0x1EA2BD4: xcalloc (xmalloc.c:164)
==19074==    by 0x8F9A35: gfc_copy_shape(__mpz_struct (*) [1], int)
(expr.c:814)
==19074==    by 0x8F9BC3: gfc_copy_expr(gfc_expr*) (expr.c:405)
==19074==    by 0x8FF2C8: simplify_parameter_variable(gfc_expr*, int) [clone
.part.0] (expr.c:2127)
==19074==    by 0x8FF0D0: simplify_parameter_variable (expr.c:2086)
==19074==    by 0x8FF0D0: gfc_simplify_expr(gfc_expr*, int) (expr.c:2281)
==19074==    by 0x8FEBE6: simplify_intrinsic_op (expr.c:1190)
==19074==    by 0x8FEBE6: gfc_simplify_expr(gfc_expr*, int) (expr.c:2270)
==19074==    by 0x97EFD1: resolve_operator(gfc_expr*) (resolve.c:4470)
==19074==    by 0x97B777: gfc_resolve_expr (resolve.c:7136)
==19074==    by 0x97B777: gfc_resolve_expr(gfc_expr*) (resolve.c:7105)
==19074==    by 0x986732: gfc_resolve_code(gfc_code*, gfc_namespace*)
(resolve.c:11908)
==19074==    by 0x98ADA1: resolve_codes(gfc_namespace*) (resolve.c:17512)
==19074==    by 0x975E38: gfc_resolve (resolve.c:17547)
==19074==    by 0x975E38: gfc_resolve(gfc_namespace*) (resolve.c:17526)


More information about the Gcc-bugs mailing list