https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78238
Bug ID: 78238 Summary: ICE: verify_gimple failed, with -fdefault-integer-8 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gerhard.steinmetz.fort...@t-online.de Target Milestone: --- Valid code with explicitly no integer variable in source, and in first test case with no 4-byte integer value. ICE with option -fdefault-integer-8 or similar, seen with 7. $ cat z1.f90 program p type t class(*), allocatable :: q(:) end type type(t) :: z real :: a(2_8) = [1.0, 2.0] allocate (z%q(2_8), source=a) call s contains subroutine s select type (x => z%q) type is (real) if ( any(x/=a) ) call abort end select end end $ cat z2.f90 program p type t class(*), allocatable :: q(:) end type type(t) :: z real :: a(2) = [1.0, 2.0] allocate (z%q(2), source=a) call s contains subroutine s select type (x => z%q) type is (real) if ( any(x/=a) ) call abort end select end end $ gfortran-7-20161106 -fdefault-integer-8 z1.f90 z1.f90:10:0: subroutine s Error: mismatching comparison operand types integer(kind=4) integer(kind=8) if (_10 == 64409183) goto <D.3523>; else goto <D.3524>; z1.f90:10:0: internal compiler error: verify_gimple failed 0xc745fd verify_gimple_in_seq(gimple*) ../../gcc/tree-cfg.c:4876 0x9dcbc2 gimplify_body(tree_node*, bool) ../../gcc/gimplify.c:12251 0x9dcf56 gimplify_function_tree(tree_node*) ../../gcc/gimplify.c:12339 0xcd1892 gimplify_all_functions ../../gcc/tree-nested.c:3280 0xcd1877 gimplify_all_functions ../../gcc/tree-nested.c:3282 0xcd9fd6 lower_nested_functions(tree_node*) ../../gcc/tree-nested.c:3299 0x84aa76 cgraph_node::analyze() ../../gcc/cgraphunit.c:632 0x84e073 analyze_functions ../../gcc/cgraphunit.c:1087 0x84ed88 symbol_table::finalize_compilation_unit() ../../gcc/cgraphunit.c:2562