[Bug fortran/92629] internal compiler error: in convert_mpz_to_unsigned, at fortran/simplify.c:173
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92629 anlauf at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |8.4 --- Comment #7 from anlauf at gcc dot gnu.org --- Fixed on trunk, 9- and 8-branch. Thanks for the report.
[Bug fortran/92629] internal compiler error: in convert_mpz_to_unsigned, at fortran/simplify.c:173
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92629 --- Comment #6 from anlauf at gcc dot gnu.org --- Author: anlauf Date: Fri Nov 29 20:58:39 2019 New Revision: 278863 URL: https://gcc.gnu.org/viewcvs?rev=278863&root=gcc&view=rev Log: 2019-11-29 Harald Anlauf Backport from mainline PR fortran/92629 * simplify.c (convert_mpz_to_unsigned): Skip assert for argument range when -fno-range-check is specified. PR fortran/92629 * gfortran.dg/pr92629.f90: New testcase. Added: branches/gcc-8-branch/gcc/testsuite/gfortran.dg/pr92629.f90 Modified: branches/gcc-8-branch/gcc/fortran/ChangeLog branches/gcc-8-branch/gcc/fortran/simplify.c branches/gcc-8-branch/gcc/testsuite/ChangeLog
[Bug fortran/92629] internal compiler error: in convert_mpz_to_unsigned, at fortran/simplify.c:173
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92629 --- Comment #5 from anlauf at gcc dot gnu.org --- Author: anlauf Date: Fri Nov 29 20:56:11 2019 New Revision: 278862 URL: https://gcc.gnu.org/viewcvs?rev=278862&root=gcc&view=rev Log: 2019-11-29 Harald Anlauf Backport from mainline PR fortran/92629 * simplify.c (convert_mpz_to_unsigned): Skip assert for argument range when -fno-range-check is specified. PR fortran/92629 * gfortran.dg/pr92629.f90: New testcase. Added: branches/gcc-9-branch/gcc/testsuite/gfortran.dg/pr92629.f90 Modified: branches/gcc-9-branch/gcc/fortran/ChangeLog branches/gcc-9-branch/gcc/fortran/simplify.c branches/gcc-9-branch/gcc/testsuite/ChangeLog
[Bug fortran/92629] internal compiler error: in convert_mpz_to_unsigned, at fortran/simplify.c:173
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92629 anlauf at gcc dot gnu.org changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |anlauf at gcc dot gnu.org --- Comment #4 from anlauf at gcc dot gnu.org --- Should have taken this one... Fixed on trunk. Waiting a couple days before backports.
[Bug fortran/92629] internal compiler error: in convert_mpz_to_unsigned, at fortran/simplify.c:173
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92629 --- Comment #3 from anlauf at gcc dot gnu.org --- Author: anlauf Date: Mon Nov 25 19:50:38 2019 New Revision: 278699 URL: https://gcc.gnu.org/viewcvs?rev=278699&root=gcc&view=rev Log: 2019-11-25 Harald Anlauf PR fortran/92629 * simplify.c (convert_mpz_to_unsigned): Skip assert for argument range when -fno-range-check is specified. PR fortran/92629 * gfortran.dg/pr92629.f90: New testcase. Added: trunk/gcc/testsuite/gfortran.dg/pr92629.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/simplify.c trunk/gcc/testsuite/ChangeLog
[Bug fortran/92629] internal compiler error: in convert_mpz_to_unsigned, at fortran/simplify.c:173
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92629 kargl at gcc dot gnu.org changed: What|Removed |Added CC||kargl at gcc dot gnu.org --- Comment #2 from kargl at gcc dot gnu.org --- (In reply to anlauf from comment #1) > Confirmed. > > Tentative fix: > > Index: gcc/fortran/simplify.c > === > --- gcc/fortran/simplify.c (Revision 278629) > +++ gcc/fortran/simplify.c (Arbeitskopie) > @@ -170,7 +170,8 @@ convert_mpz_to_unsigned (mpz_t x, int bitsize) >else > { >/* Confirm that no bits above the signed range are set. */ > - gcc_assert (mpz_scan1 (x, bitsize-1) == ULONG_MAX); > + if (flag_range_check != 0) > + gcc_assert (mpz_scan1 (x, bitsize-1) == ULONG_MAX); > } > } I was looking at a fix in compare_bitwise(), but it did not work as intended. One thing I added was a warning that bit wise comparisons involving a negative integer is processor dependent.
[Bug fortran/92629] internal compiler error: in convert_mpz_to_unsigned, at fortran/simplify.c:173
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92629 anlauf at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P4 Status|UNCONFIRMED |NEW Last reconfirmed||2019-11-22 CC||anlauf at gcc dot gnu.org Version|unknown |10.0 Ever confirmed|0 |1 Known to fail||10.0, 8.3.1, 9.2.1 --- Comment #1 from anlauf at gcc dot gnu.org --- Confirmed. Tentative fix: Index: gcc/fortran/simplify.c === --- gcc/fortran/simplify.c (Revision 278629) +++ gcc/fortran/simplify.c (Arbeitskopie) @@ -170,7 +170,8 @@ convert_mpz_to_unsigned (mpz_t x, int bitsize) else { /* Confirm that no bits above the signed range are set. */ - gcc_assert (mpz_scan1 (x, bitsize-1) == ULONG_MAX); + if (flag_range_check != 0) + gcc_assert (mpz_scan1 (x, bitsize-1) == ULONG_MAX); } }