This is the mail archive of the gcc-patches@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] |
Hi all, another simple fix for a rather old PR. This one adds a new check, in order to provide better error messages than just "Unclassifiable statement". Regtests cleanly on x86_64-linux-gnu. Ok for trunk? Cheers, Janus 2016-12-02 Janus Weil <janus@gcc.gnu.org> PR fortran/42188 * primary.c (gfc_match_rvalue): Add a new check that gives better error messages. 2016-12-02 Janus Weil <janus@gcc.gnu.org> PR fortran/42188 * gfortran.dg/derived_result_2.f90.f90: New test case.
Attachment:
pr42188.diff
Description: Text document
! { dg-do compile } ! ! PR 42188: [OOP] F03:C612. The leftmost part-name shall be the name of a data object ! ! Contributed by Janus Weil <janus@gcc.gnu.org> module grid_module implicit none type grid contains procedure :: new_grid procedure :: new_int end type contains subroutine new_grid(this) class(grid) :: this end subroutine integer function new_int(this) class(grid) :: this new_int = 42 end function end module module field_module use grid_module implicit none type field type(grid) :: mesh end type contains type(field) function new_field() end function subroutine test integer :: i type(grid) :: g g = new_field()%mesh ! { dg-error "can not be a function reference" } call new_field()%mesh%new_grid() ! { dg-error "Syntax error" } i = new_field() % mesh%new_int() ! { dg-error "can not be a function reference" } end subroutine end module
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |