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)