diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-06-13 17:24:54 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2005-06-13 17:24:54 +0200 |
commit | dda895f9c6216d207d277770e221939f3a42e8ff (patch) | |
tree | 0035578b9cc54831eeec842b51ebb7c3f6932292 /gcc/fortran/trans.h | |
parent | adacecf105b889e4d7f9b48dea7895724f850d66 (diff) | |
download | gcc-dda895f9c6216d207d277770e221939f3a42e8ff.zip gcc-dda895f9c6216d207d277770e221939f3a42e8ff.tar.gz gcc-dda895f9c6216d207d277770e221939f3a42e8ff.tar.bz2 |
trans-expr.c (gfc_conv_function_call): Return int instead of void.
* trans-expr.c (gfc_conv_function_call): Return int instead of
void. Use a local variable for has_alternate_specifier and
return it. Avoid modification of function type's return value
in place, since it may be shared.
* trans.h (has_alternate_specifier): Remove.
(gfc_conv_function_call): Change return type.
* trans-stmt.c (has_alternate_specifier): Remove.
(gfc_trans_call): Add a local has_alternate_specifier variable,
set it from gfc_conv_function_call return value.
* gfortran.dg/altreturn_1.f90: New test.
From-SVN: r100878
Diffstat (limited to 'gcc/fortran/trans.h')
-rw-r--r-- | gcc/fortran/trans.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h index f3bcbaa3..705e9f6 100644 --- a/gcc/fortran/trans.h +++ b/gcc/fortran/trans.h @@ -301,7 +301,7 @@ void gfc_conv_intrinsic_function (gfc_se *, gfc_expr *); int gfc_is_intrinsic_libcall (gfc_expr *); /* Also used to CALL subroutines. */ -void gfc_conv_function_call (gfc_se *, gfc_symbol *, gfc_actual_arglist *); +int gfc_conv_function_call (gfc_se *, gfc_symbol *, gfc_actual_arglist *); /* gfc_trans_* shouldn't call push/poplevel, use gfc_push/pop_scope */ /* Generate code for a scalar assignment. */ @@ -574,7 +574,4 @@ struct lang_decl GTY(()) arg1, arg2) #define build3_v(code, arg1, arg2, arg3) build3(code, void_type_node, \ arg1, arg2, arg3) - -/* flag for alternative return labels. */ -extern int has_alternate_specifier; /* for caller */ #endif /* GFC_TRANS_H */ |