[Bug fortran/92629] internal compiler error: in convert_mpz_to_unsigned, at fortran/simplify.c:173

2019-11-29 Thread anlauf at gcc dot gnu.org
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

2019-11-29 Thread anlauf at gcc dot gnu.org
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=gcc=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

2019-11-29 Thread anlauf at gcc dot gnu.org
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=gcc=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

2019-11-25 Thread anlauf at gcc dot gnu.org
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

2019-11-25 Thread anlauf at gcc dot gnu.org
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=gcc=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

2019-11-22 Thread kargl at gcc dot gnu.org
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

2019-11-22 Thread anlauf at gcc dot gnu.org
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);
 }
 }