http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58003
Bug ID: 58003
Summary: internal compiler error: in convert_mpz_to_unsigned,
at fortran/simplify.c:165
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: cngilbreth at gmail dot com
The following program triggers an internal compiler error when compiled with
-fno-range-check:
program test
use iso_fortran_env
implicit none
integer, parameter :: wt = int32
write (*,'(a)') "Testing popcnt ..."
if (bit_size(1_wt) >= 64) then
write (*,*) popcnt(int(z'0F00F0008001',wt)) == 10
end if
if (bit_size(1_wt) >= 32) then
write (*,*) popcnt(int(z'800F0001',wt)) == 6
end if
end program test
(Is this valid Fortran?)
$ gfortran -fno-range-check test.f90
f951: internal compiler error: in convert_mpz_to_unsigned, at
fortran/simplify.c:165
f951: internal compiler error: Abort trap: 6
gfortran: internal compiler error: Abort trap: 6 (program f951)
Abort trap: 6
$ gfortran --version
GNU Fortran (GCC) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.