summaryrefslogtreecommitdiff
path: root/gcc/fortran/trans.h
diff options
context:
space:
mode:
authordomob <domob@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-21 13:44:38 +0000
committerdomob <domob@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-21 13:44:38 +0000
commit89ac8ba1010f80f10f55ffe9d9445a25163266af (patch)
tree3afbfb5397c9f4875f557b7dd7084ea182554630 /gcc/fortran/trans.h
parent8e3b5e90c9521674dbc02422831fbdc08673d034 (diff)
downloadgcc-89ac8ba1010f80f10f55ffe9d9445a25163266af.tar.gz
2010-07-21 Daniel Kraft <d@domob.eu>
* trans.h (gfc_get_return_label): Removed. (gfc_generate_return): New method. (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than returning a tree directly. * trans-stmt.c (gfc_trans_return): Use `gfc_generate_return'. (gfc_trans_block_construct): Update for new interface to `gfc_trans_deferred_vars'. * trans-decl.c (current_function_return_label): Removed. (current_procedure_symbol): New variable. (gfc_get_return_label): Removed. (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than returning a tree directly. (get_proc_result), (gfc_generate_return): New methods. (gfc_generate_function_code): Clean up and do init/cleanup here also with gfc_wrapped_block. Remove return-label but rather return directly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162373 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans.h')
-rw-r--r--gcc/fortran/trans.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index db782c0a0ff..cbed52b5f87 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -408,9 +408,6 @@ tree gfc_build_label_decl (tree);
Do not use if the function has an explicit result variable. */
tree gfc_get_fake_result_decl (gfc_symbol *, int);
-/* Get the return label for the current function. */
-tree gfc_get_return_label (void);
-
/* Add a decl to the binding level for the current function. */
void gfc_add_decl_to_function (tree);
@@ -456,6 +453,8 @@ void gfc_generate_function_code (gfc_namespace *);
void gfc_generate_block_data (gfc_namespace *);
/* Output a decl for a module variable. */
void gfc_generate_module_vars (gfc_namespace *);
+/* Get the appropriate return statement for a procedure. */
+tree gfc_generate_return (void);
struct GTY(()) module_htab_entry {
const char *name;
@@ -533,7 +532,7 @@ tree gfc_build_library_function_decl_with_spec (tree name, const char *spec,
void gfc_process_block_locals (gfc_namespace*);
/* Output initialization/clean-up code that was deferred. */
-tree gfc_trans_deferred_vars (gfc_symbol*, tree);
+void gfc_trans_deferred_vars (gfc_symbol*, gfc_wrapped_block *);
/* somewhere! */
tree pushdecl (tree);