https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66695

G. Steinmetz <gs...@t-online.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gs...@t-online.de

--- Comment #6 from G. Steinmetz <gs...@t-online.de> ---

Update :


$ cat z1.f90
module m
contains
   integer function f()
   end
end
module m2
   use m
contains
   subroutine s() bind(c, name='f')
      integer :: x
      x = f()
   end
end


$ gfortran-9-20181111 -c z1.f90
z1.f90:11:0:

   11 |       x = f()
      |
internal compiler error: in fold_convert_loc, at fold-const.c:2426
0x8a9b87 fold_convert_loc(unsigned int, tree_node*, tree_node*)
        ../../gcc/fold-const.c:2425
0x6ed255 gfc_trans_scalar_assign(gfc_se*, gfc_se*, gfc_typespec, bool, bool,
bool)
        ../../gcc/fortran/trans-expr.c:9063
0x6fd58d gfc_trans_assignment_1
        ../../gcc/fortran/trans-expr.c:10449
0x6bfdaf trans_code
        ../../gcc/fortran/trans.c:1822
0x6e7674 gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.c:6509
0x6c3b39 gfc_generate_module_code(gfc_namespace*)
        ../../gcc/fortran/trans.c:2216
0x67440b translate_all_program_units
        ../../gcc/fortran/parse.c:6112
0x67440b gfc_parse_file()
        ../../gcc/fortran/parse.c:6328
0x6bc89f gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:204


---

$ cat z2.f90
module m
contains
   integer function f()
   end
end
module m2
   use m
contains
   subroutine s() bind(c, name='f')
      print *, f()
   end
end


$ gfortran-9-20181111 -c z2.f90
f951: Error: using result of function returning 'void'

Reply via email to