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

--- Comment #10 from Paul Thomas <pault at gcc dot gnu.org> ---
Author: pault
Date: Sun Oct 23 18:09:14 2016
New Revision: 241450

URL: https://gcc.gnu.org/viewcvs?rev=241450&root=gcc&view=rev
Log:
2016-10-23  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/69834
        * class.c (gfc_find_derived_vtab): Obtain the gsymbol for the
        derived type's module. If the gsymbol is present and the top
        level namespace corresponds to a module, use the gsymbol name
        space. In the search to see if the vtable exists, try the gsym
        namespace first.
        * dump-parse-tree (show_code_node): Modify select case dump to
        show select type construct.
        * resolve.c (build_loc_call): New function.
        (resolve_select_type): Add check for repeated type is cases.
        Retain selector expression and use it later instead of expr1.
        Exclude deferred length TYPE IS cases and emit error message.
        Store the address for the vtable in the 'low' expression and
        the hash value in the 'high' expression, for each case. Do not
        call resolve_select.
        * trans.c(trans_code) : Call gfc_trans_select_type.
        * trans-stmt.c (gfc_trans_select_type_cases): New function.
        (gfc_trans_select_type): New function.
        * trans-stmt.h : Add prototype for gfc_trans_select_type.

2016-10-23  Paul Thomas  <pa...@gcc.gnu.org>

        PR fortran/69834
        * gfortran.dg/select_type_1.f03: Change error for overlapping
        TYPE IS cases.
        * gfortran.dg/select_type_36.f03: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/select_type_36.f03
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/class.c
    trunk/gcc/fortran/dump-parse-tree.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/fortran/trans-stmt.c
    trunk/gcc/fortran/trans-stmt.h
    trunk/gcc/fortran/trans.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/select_type_1.f03

Reply via email to