diff options
author | pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-10-23 18:09:14 +0000 |
---|---|---|
committer | pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-10-23 18:09:14 +0000 |
commit | b0cb70c025ac91a7399318963114adb1848a50a6 (patch) | |
tree | fbc0891231c59b5f11319981f233231b8a38dc77 /gcc/fortran/trans-stmt.h | |
parent | 50703e6fe56095d300ab12de77679ea190b85802 (diff) | |
download | gcc-b0cb70c025ac91a7399318963114adb1848a50a6.tar.gz |
2016-10-23 Paul Thomas <pault@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 <pault@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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241450 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-stmt.h')
-rw-r--r-- | gcc/fortran/trans-stmt.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/trans-stmt.h b/gcc/fortran/trans-stmt.h index e4d4a67aa5d..0b4f71357f6 100644 --- a/gcc/fortran/trans-stmt.h +++ b/gcc/fortran/trans-stmt.h @@ -52,6 +52,7 @@ tree gfc_trans_do (gfc_code *, tree); tree gfc_trans_do_concurrent (gfc_code *); tree gfc_trans_do_while (gfc_code *); tree gfc_trans_select (gfc_code *); +tree gfc_trans_select_type (gfc_code *); tree gfc_trans_sync (gfc_code *, gfc_exec_op); tree gfc_trans_lock_unlock (gfc_code *, gfc_exec_op); tree gfc_trans_event_post_wait (gfc_code *, gfc_exec_op); |