This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/71580] New: Internal compiler error associated with type bound defined assignment


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

            Bug ID: 71580
           Summary: Internal compiler error associated with type bound
                    defined assignment
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ian_harvey at bigpond dot com
  Target Milestone: ---

With trunk r237470 the following results in an internal compiler error
(sym->backend_decl is null at trans_decl.c:1420).

MODULE MySharedPointer
  IMPLICIT NONE
  PRIVATE

  PUBLIC :: SharedPointer

  TYPE, PRIVATE :: shared_pointer_impl
  CONTAINS
    PROCEDURE, PRIVATE :: assign => ptr_impl_assign
    GENERIC :: ASSIGNMENT(=) => assign
  END TYPE shared_pointer_impl

  TYPE :: SharedPointer
    PRIVATE
    TYPE(shared_pointer_impl) :: impl = shared_pointer_impl()
  END TYPE SharedPointer
CONTAINS
  SUBROUTINE ptr_impl_assign(lhs, rhs)
    CLASS(shared_pointer_impl), INTENT(OUT) :: lhs
    TYPE(shared_pointer_impl), INTENT(IN) :: rhs
  END SUBROUTINE ptr_impl_assign

  SUBROUTINE evil01_worker(x)
    TYPE(SharedPointer) :: x
    x = make_ptr()
  END SUBROUTINE evil01_worker

  FUNCTION make_ptr() RESULT(ptr)
    TYPE(SharedPointer) :: ptr
  END FUNCTION make_ptr
END MODULE MySharedPointer



$ gfortran -v PolyScalarSharedPointerExample.f90
Driving: gfortran -v PolyScalarSharedPointerExample.f90 -l gfortran -l m
-shared-libgcc
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: .././src/configure --prefix=/home/MEGMS2/ian/usr/gcc-7.0.0
--enable-languages=c,c++,fortran --enable-libgomp --enable-checking=release
Thread model: posix
gcc version 7.0.0 20160615 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/f951
PolyScalarSharedPointerExample.f90 -quiet -dumpbase
PolyScalarSharedPointerExample.f90 -mtune=generic -march=x86-64 -auxbase
PolyScalarSharedPointerExample -version -fintrinsic-modules-path
/home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/finclude -o
/tmp/ccdBc06e.s
GNU Fortran (GCC) version 7.0.0 20160615 (experimental) (x86_64-pc-linux-gnu)
        compiled by GNU C version 7.0.0 20160615 (experimental), GMP version
6.0.0, MPFR version 3.1.3, MPC version 1.0.2, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Fortran2008 (GCC) version 7.0.0 20160615 (experimental)
(x86_64-pc-linux-gnu)
        compiled by GNU C version 7.0.0 20160615 (experimental), GMP version
6.0.0, MPFR version 3.1.3, MPC version 1.0.2, isl version none
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
PolyScalarSharedPointerExample.f90:30:0:

   END FUNCTION make_ptr

internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1420
0x6a1408 gfc_get_symbol_decl(gfc_symbol*)
        ../.././src/gcc/fortran/trans-decl.c:1420
0x6a370f generate_local_decl
        ../.././src/gcc/fortran/trans-decl.c:5237
0x66bd2b do_traverse_symtree
        ../.././src/gcc/fortran/symbol.c:3926
0x6a4372 generate_local_vars
        ../.././src/gcc/fortran/trans-decl.c:5427
0x6a4372 gfc_generate_function_code(gfc_namespace*)
        ../.././src/gcc/fortran/trans-decl.c:6106
0x684141 gfc_generate_module_code(gfc_namespace*)
        ../.././src/gcc/fortran/trans.c:2058
0x63c86b translate_all_program_units
        ../.././src/gcc/fortran/parse.c:5830
0x63c86b gfc_parse_file()
        ../.././src/gcc/fortran/parse.c:6049
0x67de02 gfc_be_parse_file
        ../.././src/gcc/fortran/f95-lang.c:201
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]