[PATCH INSTALLED]: Eliminate "try" keyword from FORTRAN dir

Kaveh R. GHAZI ghazi@caip.rutgers.edu
Tue Jul 29 08:00:00 GMT 2008


This patch removes the "try" helper macro from gfortran.h and updates all
the locations in the fortran directory where this keyword was used.

Tested on x86_64-linux-gnu after the tuples merge, no regressions.

Installed on mainline, preapproved by Tobias Burnus:
http://gcc.gnu.org/ml/fortran/2008-07/msg00118.html

		--Kaveh


2008-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* gfortran.h (try): Remove macro.  Replace try with gfc_try
	throughout.
	* array.c: Likewise.
	* check.c: Likewise.
	* cpp.c: Likewise.
	* cpp.h: Likewise.
	* data.c: Likewise.
	* data.h: Likewise.
	* decl.c: Likewise.
	* error.c: Likewise.
	* expr.c: Likewise.
	* interface.c: Likewise.
	* intrinsic.c: Likewise.
	* intrinsic.h: Likewise.
	* io.c: Likewise.
	* match.h: Likewise.
	* parse.c: Likewise.
	* parse.h: Likewise.
	* resolve.c: Likewise.
	* scanner.c: Likewise.
	* simplify.c: Likewise.
	* symbol.c: Likewise.
	* trans-openmp.c: Likewise.
	* trans-types.c: Likewise.

diff -rup orig/egcc-SVN20080728/gcc/fortran/gfortran.h egcc-SVN20080728/gcc/fortran/gfortran.h
--- orig/egcc-SVN20080728/gcc/fortran/gfortran.h	2008-07-28 02:00:05.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/gfortran.h	2008-07-28 17:49:42.000000000 +0200
@@ -114,8 +114,6 @@ io_kind;
    following enum makes things much more readable.  We also start
    values off at one instead of zero.  */

-/* FIXME: This macro is temporary until we convert everything.  */
-#define try gfc_try
 typedef enum
 { SUCCESS = 1, FAILURE }
 gfc_try;
@@ -1347,16 +1345,16 @@ gfc_intrinsic_arg;

 typedef union
 {
-  try (*f0)(void);
-  try (*f1)(struct gfc_expr *);
-  try (*f1m)(gfc_actual_arglist *);
-  try (*f2)(struct gfc_expr *, struct gfc_expr *);
-  try (*f3)(struct gfc_expr *, struct gfc_expr *, struct gfc_expr *);
-  try (*f3ml)(gfc_actual_arglist *);
-  try (*f3red)(gfc_actual_arglist *);
-  try (*f4)(struct gfc_expr *, struct gfc_expr *, struct gfc_expr *,
+  gfc_try (*f0)(void);
+  gfc_try (*f1)(struct gfc_expr *);
+  gfc_try (*f1m)(gfc_actual_arglist *);
+  gfc_try (*f2)(struct gfc_expr *, struct gfc_expr *);
+  gfc_try (*f3)(struct gfc_expr *, struct gfc_expr *, struct gfc_expr *);
+  gfc_try (*f3ml)(gfc_actual_arglist *);
+  gfc_try (*f3red)(gfc_actual_arglist *);
+  gfc_try (*f4)(struct gfc_expr *, struct gfc_expr *, struct gfc_expr *,
 	    struct gfc_expr *);
-  try (*f5)(struct gfc_expr *, struct gfc_expr *, struct gfc_expr *,
+  gfc_try (*f5)(struct gfc_expr *, struct gfc_expr *, struct gfc_expr *,
 	    struct gfc_expr *, struct gfc_expr *);
 }
 gfc_check_f;
@@ -2011,7 +2009,7 @@ gfc_char_t gfc_peek_char (void);
 char gfc_peek_ascii_char (void);
 void gfc_error_recovery (void);
 void gfc_gobble_whitespace (void);
-try gfc_new_file (void);
+gfc_try gfc_new_file (void);
 const char * gfc_read_orig_filename (const char *, const char **);

 extern gfc_source_form gfc_current_form;
@@ -2078,7 +2076,7 @@ int gfc_error_check (void);
 int gfc_error_flag_test (void);

 notification gfc_notification_std (int);
-try gfc_notify_std (int, const char *, ...) ATTRIBUTE_GCC_GFC(2,3);
+gfc_try gfc_notify_std (int, const char *, ...) ATTRIBUTE_GCC_GFC(2,3);

 /* A general purpose syntax error.  */
 #define gfc_syntax_error(ST)	\
@@ -2098,8 +2096,8 @@ arith gfc_check_integer_range (mpz_t p,
 bool gfc_check_character_range (gfc_char_t, int);

 /* trans-types.c */
-try gfc_validate_c_kind (gfc_typespec *);
-try gfc_check_any_c_kind (gfc_typespec *);
+gfc_try gfc_validate_c_kind (gfc_typespec *);
+gfc_try gfc_check_any_c_kind (gfc_typespec *);
 int gfc_validate_kind (bt, int, bool);
 extern int gfc_index_integer_kind;
 extern int gfc_default_integer_kind;
@@ -2117,69 +2115,69 @@ extern int gfc_character_storage_size;

 /* symbol.c */
 void gfc_clear_new_implicit (void);
-try gfc_add_new_implicit_range (int, int);
-try gfc_merge_new_implicit (gfc_typespec *);
+gfc_try gfc_add_new_implicit_range (int, int);
+gfc_try gfc_merge_new_implicit (gfc_typespec *);
 void gfc_set_implicit_none (void);
 void gfc_check_function_type (gfc_namespace *);
 bool gfc_is_intrinsic_typename (const char *);

 gfc_typespec *gfc_get_default_type (gfc_symbol *, gfc_namespace *);
-try gfc_set_default_type (gfc_symbol *, int, gfc_namespace *);
+gfc_try gfc_set_default_type (gfc_symbol *, int, gfc_namespace *);

 void gfc_set_component_attr (gfc_component *, symbol_attribute *);
 void gfc_get_component_attr (symbol_attribute *, gfc_component *);

 void gfc_set_sym_referenced (gfc_symbol *);

-try gfc_add_attribute (symbol_attribute *, locus *);
-try gfc_add_allocatable (symbol_attribute *, locus *);
-try gfc_add_dimension (symbol_attribute *, const char *, locus *);
-try gfc_add_external (symbol_attribute *, locus *);
-try gfc_add_intrinsic (symbol_attribute *, locus *);
-try gfc_add_optional (symbol_attribute *, locus *);
-try gfc_add_pointer (symbol_attribute *, locus *);
-try gfc_add_cray_pointer (symbol_attribute *, locus *);
-try gfc_add_cray_pointee (symbol_attribute *, locus *);
-try gfc_mod_pointee_as (gfc_array_spec *);
-try gfc_add_protected (symbol_attribute *, const char *, locus *);
-try gfc_add_result (symbol_attribute *, const char *, locus *);
-try gfc_add_save (symbol_attribute *, const char *, locus *);
-try gfc_add_threadprivate (symbol_attribute *, const char *, locus *);
-try gfc_add_saved_common (symbol_attribute *, locus *);
-try gfc_add_target (symbol_attribute *, locus *);
-try gfc_add_dummy (symbol_attribute *, const char *, locus *);
-try gfc_add_generic (symbol_attribute *, const char *, locus *);
-try gfc_add_common (symbol_attribute *, locus *);
-try gfc_add_in_common (symbol_attribute *, const char *, locus *);
-try gfc_add_in_equivalence (symbol_attribute *, const char *, locus *);
-try gfc_add_data (symbol_attribute *, const char *, locus *);
-try gfc_add_in_namelist (symbol_attribute *, const char *, locus *);
-try gfc_add_sequence (symbol_attribute *, const char *, locus *);
-try gfc_add_elemental (symbol_attribute *, locus *);
-try gfc_add_pure (symbol_attribute *, locus *);
-try gfc_add_recursive (symbol_attribute *, locus *);
-try gfc_add_function (symbol_attribute *, const char *, locus *);
-try gfc_add_subroutine (symbol_attribute *, const char *, locus *);
-try gfc_add_volatile (symbol_attribute *, const char *, locus *);
-try gfc_add_proc (symbol_attribute *attr, const char *name, locus *where);
-
-try gfc_add_access (symbol_attribute *, gfc_access, const char *, locus *);
-try gfc_add_is_bind_c(symbol_attribute *, const char *, locus *, int);
-try gfc_add_value (symbol_attribute *, const char *, locus *);
-try gfc_add_flavor (symbol_attribute *, sym_flavor, const char *, locus *);
-try gfc_add_entry (symbol_attribute *, const char *, locus *);
-try gfc_add_procedure (symbol_attribute *, procedure_type,
+gfc_try gfc_add_attribute (symbol_attribute *, locus *);
+gfc_try gfc_add_allocatable (symbol_attribute *, locus *);
+gfc_try gfc_add_dimension (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_external (symbol_attribute *, locus *);
+gfc_try gfc_add_intrinsic (symbol_attribute *, locus *);
+gfc_try gfc_add_optional (symbol_attribute *, locus *);
+gfc_try gfc_add_pointer (symbol_attribute *, locus *);
+gfc_try gfc_add_cray_pointer (symbol_attribute *, locus *);
+gfc_try gfc_add_cray_pointee (symbol_attribute *, locus *);
+gfc_try gfc_mod_pointee_as (gfc_array_spec *);
+gfc_try gfc_add_protected (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_result (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_save (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_threadprivate (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_saved_common (symbol_attribute *, locus *);
+gfc_try gfc_add_target (symbol_attribute *, locus *);
+gfc_try gfc_add_dummy (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_generic (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_common (symbol_attribute *, locus *);
+gfc_try gfc_add_in_common (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_in_equivalence (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_data (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_in_namelist (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_sequence (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_elemental (symbol_attribute *, locus *);
+gfc_try gfc_add_pure (symbol_attribute *, locus *);
+gfc_try gfc_add_recursive (symbol_attribute *, locus *);
+gfc_try gfc_add_function (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_subroutine (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_volatile (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_proc (symbol_attribute *attr, const char *name, locus *where);
+
+gfc_try gfc_add_access (symbol_attribute *, gfc_access, const char *, locus *);
+gfc_try gfc_add_is_bind_c(symbol_attribute *, const char *, locus *, int);
+gfc_try gfc_add_value (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_flavor (symbol_attribute *, sym_flavor, const char *, locus *);
+gfc_try gfc_add_entry (symbol_attribute *, const char *, locus *);
+gfc_try gfc_add_procedure (symbol_attribute *, procedure_type,
 		       const char *, locus *);
-try gfc_add_intent (symbol_attribute *, sym_intent, locus *);
-try gfc_add_explicit_interface (gfc_symbol *, ifsrc,
+gfc_try gfc_add_intent (symbol_attribute *, sym_intent, locus *);
+gfc_try gfc_add_explicit_interface (gfc_symbol *, ifsrc,
 				gfc_formal_arglist *, locus *);
-try gfc_add_type (gfc_symbol *, gfc_typespec *, locus *);
+gfc_try gfc_add_type (gfc_symbol *, gfc_typespec *, locus *);

 void gfc_clear_attr (symbol_attribute *);
-try gfc_missing_attr (symbol_attribute *, locus *);
-try gfc_copy_attr (symbol_attribute *, symbol_attribute *, locus *);
+gfc_try gfc_missing_attr (symbol_attribute *, locus *);
+gfc_try gfc_copy_attr (symbol_attribute *, symbol_attribute *, locus *);

-try gfc_add_component (gfc_symbol *, const char *, gfc_component **);
+gfc_try gfc_add_component (gfc_symbol *, const char *, gfc_component **);
 gfc_symbol *gfc_use_derived (gfc_symbol *);
 gfc_symtree *gfc_use_derived_tree (gfc_symtree *);
 gfc_component *gfc_find_component (gfc_symbol *, const char *);
@@ -2187,7 +2185,7 @@ gfc_component *gfc_find_component (gfc_s
 gfc_st_label *gfc_get_st_label (int);
 void gfc_free_st_label (gfc_st_label *);
 void gfc_define_st_label (gfc_st_label *, gfc_sl_type, locus *);
-try gfc_reference_st_label (gfc_st_label *, gfc_sl_type);
+gfc_try gfc_reference_st_label (gfc_st_label *, gfc_sl_type);

 gfc_expr * gfc_lval_expr_from_sym (gfc_symbol *);

@@ -2203,11 +2201,11 @@ gfc_symbol *gfc_new_symbol (const char *
 int gfc_find_symbol (const char *, gfc_namespace *, int, gfc_symbol **);
 int gfc_find_sym_tree (const char *, gfc_namespace *, int, gfc_symtree **);
 int gfc_get_symbol (const char *, gfc_namespace *, gfc_symbol **);
-try verify_c_interop (gfc_typespec *, const char *name, locus *where);
-try verify_c_interop_param (gfc_symbol *);
-try verify_bind_c_sym (gfc_symbol *, gfc_typespec *, int, gfc_common_head *);
-try verify_bind_c_derived_type (gfc_symbol *);
-try verify_com_block_vars_c_interop (gfc_common_head *);
+gfc_try verify_c_interop (gfc_typespec *, const char *name, locus *where);
+gfc_try verify_c_interop_param (gfc_symbol *);
+gfc_try verify_bind_c_sym (gfc_symbol *, gfc_typespec *, int, gfc_common_head *);
+gfc_try verify_bind_c_derived_type (gfc_symbol *);
+gfc_try verify_com_block_vars_c_interop (gfc_common_head *);
 void generate_isocbinding_symbol (const char *, iso_c_binding_symbol, const char *);
 gfc_symbol *get_iso_c_sym (gfc_symbol *, char *, char *, int);
 int gfc_get_sym_tree (const char *, gfc_namespace *, gfc_symtree **);
@@ -2252,9 +2250,9 @@ void gfc_intrinsic_done_1 (void);

 char gfc_type_letter (bt);
 gfc_symbol * gfc_get_intrinsic_sub_symbol (const char *);
-try gfc_convert_type (gfc_expr *, gfc_typespec *, int);
-try gfc_convert_type_warn (gfc_expr *, gfc_typespec *, int, int);
-try gfc_convert_chartype (gfc_expr *, gfc_typespec *);
+gfc_try gfc_convert_type (gfc_expr *, gfc_typespec *, int);
+gfc_try gfc_convert_type_warn (gfc_expr *, gfc_typespec *, int, int);
+gfc_try gfc_convert_chartype (gfc_expr *, gfc_typespec *);
 int gfc_generic_intrinsic (const char *);
 int gfc_specific_intrinsic (const char *);
 bool gfc_is_intrinsic (gfc_symbol*, int, locus);
@@ -2266,8 +2264,8 @@ match gfc_intrinsic_func_interface (gfc_
 match gfc_intrinsic_sub_interface (gfc_code *, int);

 void gfc_warn_intrinsic_shadow (const gfc_symbol*, bool, bool);
-try gfc_check_intrinsic_standard (const gfc_intrinsic_sym*, const char**,
-				  bool, locus);
+gfc_try gfc_check_intrinsic_standard (const gfc_intrinsic_sym*, const char**,
+				      bool, locus);

 /* match.c -- FIXME */
 void gfc_free_iterator (gfc_iterator *, int);
@@ -2299,7 +2297,7 @@ gfc_expr *gfc_build_conversion (gfc_expr
 void gfc_free_ref_list (gfc_ref *);
 void gfc_type_convert_binary (gfc_expr *);
 int gfc_is_constant_expr (gfc_expr *);
-try gfc_simplify_expr (gfc_expr *, int);
+gfc_try gfc_simplify_expr (gfc_expr *, int);
 int gfc_has_vector_index (gfc_expr *);

 gfc_expr *gfc_get_expr (void);
@@ -2311,15 +2309,15 @@ mpz_t *gfc_copy_shape (mpz_t *, int);
 mpz_t *gfc_copy_shape_excluding (mpz_t *, int, gfc_expr *);
 gfc_expr *gfc_copy_expr (gfc_expr *);

-try gfc_specification_expr (gfc_expr *);
+gfc_try gfc_specification_expr (gfc_expr *);

 int gfc_numeric_ts (gfc_typespec *);
 int gfc_kind_max (gfc_expr *, gfc_expr *);

-try gfc_check_conformance (const char *, gfc_expr *, gfc_expr *);
-try gfc_check_assign (gfc_expr *, gfc_expr *, int);
-try gfc_check_pointer_assign (gfc_expr *, gfc_expr *);
-try gfc_check_assign_symbol (gfc_symbol *, gfc_expr *);
+gfc_try gfc_check_conformance (const char *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_assign (gfc_expr *, gfc_expr *, int);
+gfc_try gfc_check_pointer_assign (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_assign_symbol (gfc_symbol *, gfc_expr *);

 gfc_expr *gfc_default_initializer (gfc_typespec *);
 gfc_expr *gfc_get_variable_expr (gfc_symtree *);
@@ -2339,16 +2337,16 @@ void gfc_free_statement (gfc_code *);
 void gfc_free_statements (gfc_code *);

 /* resolve.c */
-try gfc_resolve_expr (gfc_expr *);
+gfc_try gfc_resolve_expr (gfc_expr *);
 void gfc_resolve (gfc_namespace *);
 void gfc_resolve_blocks (gfc_code *, gfc_namespace *);
 int gfc_impure_variable (gfc_symbol *);
 int gfc_pure (gfc_symbol *);
 int gfc_elemental (gfc_symbol *);
-try gfc_resolve_iterator (gfc_iterator *, bool);
-try find_forall_index (gfc_expr *, gfc_symbol *, int);
-try gfc_resolve_index (gfc_expr *, int);
-try gfc_resolve_dim_arg (gfc_expr *);
+gfc_try gfc_resolve_iterator (gfc_iterator *, bool);
+gfc_try find_forall_index (gfc_expr *, gfc_symbol *, int);
+gfc_try gfc_resolve_index (gfc_expr *, int);
+gfc_try gfc_resolve_dim_arg (gfc_expr *);
 int gfc_is_formal_arg (void);
 void gfc_resolve_substring_charlen (gfc_expr *);
 match gfc_iso_c_sub_interface(gfc_code *, gfc_symbol *);
@@ -2358,9 +2356,9 @@ match gfc_iso_c_sub_interface(gfc_code *
 void gfc_free_array_spec (gfc_array_spec *);
 gfc_array_ref *gfc_copy_array_ref (gfc_array_ref *);

-try gfc_set_array_spec (gfc_symbol *, gfc_array_spec *, locus *);
+gfc_try gfc_set_array_spec (gfc_symbol *, gfc_array_spec *, locus *);
 gfc_array_spec *gfc_copy_array_spec (gfc_array_spec *);
-try gfc_resolve_array_spec (gfc_array_spec *, int);
+gfc_try gfc_resolve_array_spec (gfc_array_spec *, int);

 int gfc_compare_array_spec (gfc_array_spec *, gfc_array_spec *);

@@ -2368,25 +2366,25 @@ gfc_expr *gfc_start_constructor (bt, int
 void gfc_append_constructor (gfc_expr *, gfc_expr *);
 void gfc_free_constructor (gfc_constructor *);
 void gfc_simplify_iterator_var (gfc_expr *);
-try gfc_expand_constructor (gfc_expr *);
+gfc_try gfc_expand_constructor (gfc_expr *);
 int gfc_constant_ac (gfc_expr *);
 int gfc_expanded_ac (gfc_expr *);
-try gfc_resolve_character_array_constructor (gfc_expr *);
-try gfc_resolve_array_constructor (gfc_expr *);
-try gfc_check_constructor_type (gfc_expr *);
-try gfc_check_iter_variable (gfc_expr *);
-try gfc_check_constructor (gfc_expr *, try (*)(gfc_expr *));
+gfc_try gfc_resolve_character_array_constructor (gfc_expr *);
+gfc_try gfc_resolve_array_constructor (gfc_expr *);
+gfc_try gfc_check_constructor_type (gfc_expr *);
+gfc_try gfc_check_iter_variable (gfc_expr *);
+gfc_try gfc_check_constructor (gfc_expr *, gfc_try (*)(gfc_expr *));
 gfc_constructor *gfc_copy_constructor (gfc_constructor *);
 gfc_expr *gfc_get_array_element (gfc_expr *, int);
-try gfc_array_size (gfc_expr *, mpz_t *);
-try gfc_array_dimen_size (gfc_expr *, int, mpz_t *);
-try gfc_array_ref_shape (gfc_array_ref *, mpz_t *);
+gfc_try gfc_array_size (gfc_expr *, mpz_t *);
+gfc_try gfc_array_dimen_size (gfc_expr *, int, mpz_t *);
+gfc_try gfc_array_ref_shape (gfc_array_ref *, mpz_t *);
 gfc_array_ref *gfc_find_array_ref (gfc_expr *);
 void gfc_insert_constructor (gfc_expr *, gfc_constructor *);
 gfc_constructor *gfc_get_constructor (void);
 tree gfc_conv_array_initializer (tree type, gfc_expr *);
-try spec_size (gfc_array_spec *, mpz_t *);
-try spec_dimen_size (gfc_array_spec *, int, mpz_t *);
+gfc_try spec_size (gfc_array_spec *, mpz_t *);
+gfc_try spec_dimen_size (gfc_array_spec *, int, mpz_t *);
 int gfc_is_compile_time_shape (gfc_array_spec *);

 /* interface.c -- FIXME: some of these should be in symbol.c */
@@ -2397,10 +2395,10 @@ void gfc_check_interfaces (gfc_namespace
 void gfc_procedure_use (gfc_symbol *, gfc_actual_arglist **, locus *);
 gfc_symbol *gfc_search_interface (gfc_interface *, int,
 				  gfc_actual_arglist **);
-try gfc_extend_expr (gfc_expr *);
+gfc_try gfc_extend_expr (gfc_expr *);
 void gfc_free_formal_arglist (gfc_formal_arglist *);
-try gfc_extend_assign (gfc_code *, gfc_namespace *);
-try gfc_add_interface (gfc_symbol *);
+gfc_try gfc_extend_assign (gfc_code *, gfc_namespace *);
+gfc_try gfc_add_interface (gfc_symbol *);
 gfc_interface *gfc_current_interface_head (void);
 void gfc_set_current_interface_head (gfc_interface *);

@@ -2408,17 +2406,17 @@ void gfc_set_current_interface_head (gfc
 extern gfc_st_label format_asterisk;

 void gfc_free_open (gfc_open *);
-try gfc_resolve_open (gfc_open *);
+gfc_try gfc_resolve_open (gfc_open *);
 void gfc_free_close (gfc_close *);
-try gfc_resolve_close (gfc_close *);
+gfc_try gfc_resolve_close (gfc_close *);
 void gfc_free_filepos (gfc_filepos *);
-try gfc_resolve_filepos (gfc_filepos *);
+gfc_try gfc_resolve_filepos (gfc_filepos *);
 void gfc_free_inquire (gfc_inquire *);
-try gfc_resolve_inquire (gfc_inquire *);
+gfc_try gfc_resolve_inquire (gfc_inquire *);
 void gfc_free_dt (gfc_dt *);
-try gfc_resolve_dt (gfc_dt *);
+gfc_try gfc_resolve_dt (gfc_dt *);
 void gfc_free_wait (gfc_wait *);
-try gfc_resolve_wait (gfc_wait *);
+gfc_try gfc_resolve_wait (gfc_wait *);

 /* module.c */
 void gfc_module_init_2 (void);
@@ -2445,7 +2443,7 @@ void gfc_delete_bbt (void *, void *, com
 void gfc_dump_parse_tree (gfc_namespace *, FILE *);

 /* parse.c */
-try gfc_parse_file (void);
+gfc_try gfc_parse_file (void);
 void gfc_global_used (gfc_gsymbol *, locus *);

 /* dependency.c */
diff -rup orig/egcc-SVN20080728/gcc/fortran/array.c egcc-SVN20080728/gcc/fortran/array.c
--- orig/egcc-SVN20080728/gcc/fortran/array.c	2008-07-22 02:00:11.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/array.c	2008-07-28 17:46:10.000000000 +0200
@@ -208,7 +208,7 @@ gfc_free_array_spec (gfc_array_spec *as)
 /* Take an array bound, resolves the expression, that make up the
    shape and check associated constraints.  */

-static try
+static gfc_try
 resolve_array_bound (gfc_expr *e, int check_constant)
 {
   if (e == NULL)
@@ -232,7 +232,7 @@ resolve_array_bound (gfc_expr *e, int ch
 /* Takes an array specification, resolves the expressions that make up
    the shape and make sure everything is integral.  */

-try
+gfc_try
 gfc_resolve_array_spec (gfc_array_spec *as, int check_constant)
 {
   gfc_expr *e;
@@ -469,7 +469,7 @@ cleanup:
    have that array specification.  The error locus is needed in case
    something goes wrong.  On failure, the caller must free the spec.  */

-try
+gfc_try
 gfc_set_array_spec (gfc_symbol *sym, gfc_array_spec *as, locus *error_loc)
 {
   if (as == NULL)
@@ -1038,7 +1038,7 @@ check_element_type (gfc_expr *expr, bool

 /* Recursive work function for gfc_check_constructor_type().  */

-static try
+static gfc_try
 check_constructor_type (gfc_constructor *c, bool convert)
 {
   gfc_expr *e;
@@ -1066,10 +1066,10 @@ check_constructor_type (gfc_constructor
 /* Check that all elements of an array constructor are the same type.
    On FAILURE, an error has been generated.  */

-try
+gfc_try
 gfc_check_constructor_type (gfc_expr *e)
 {
-  try t;
+  gfc_try t;

   if (e->ts.type != BT_UNKNOWN)
     {
@@ -1102,12 +1102,12 @@ cons_stack;

 static cons_stack *base;

-static try check_constructor (gfc_constructor *, try (*) (gfc_expr *));
+static gfc_try check_constructor (gfc_constructor *, gfc_try (*) (gfc_expr *));

 /* Check an EXPR_VARIABLE expression in a constructor to make sure
    that that variable is an iteration variables.  */

-try
+gfc_try
 gfc_check_iter_variable (gfc_expr *expr)
 {
   gfc_symbol *sym;
@@ -1127,12 +1127,12 @@ gfc_check_iter_variable (gfc_expr *expr)
    to calling the check function for each expression in the
    constructor, giving variables with the names of iterators a pass.  */

-static try
-check_constructor (gfc_constructor *c, try (*check_function) (gfc_expr *))
+static gfc_try
+check_constructor (gfc_constructor *c, gfc_try (*check_function) (gfc_expr *))
 {
   cons_stack element;
   gfc_expr *e;
-  try t;
+  gfc_try t;

   for (; c; c = c->next)
     {
@@ -1165,11 +1165,11 @@ check_constructor (gfc_constructor *c, t
    expression -- specification, restricted, or initialization as
    determined by the check_function.  */

-try
-gfc_check_constructor (gfc_expr *expr, try (*check_function) (gfc_expr *))
+gfc_try
+gfc_check_constructor (gfc_expr *expr, gfc_try (*check_function) (gfc_expr *))
 {
   cons_stack *base_save;
-  try t;
+  gfc_try t;

   base_save = base;
   base = NULL;
@@ -1197,19 +1197,19 @@ typedef struct
   gfc_component *component;
   mpz_t *repeat;

-  try (*expand_work_function) (gfc_expr *);
+  gfc_try (*expand_work_function) (gfc_expr *);
 }
 expand_info;

 static expand_info current_expand;

-static try expand_constructor (gfc_constructor *);
+static gfc_try expand_constructor (gfc_constructor *);


 /* Work function that counts the number of elements present in a
    constructor.  */

-static try
+static gfc_try
 count_elements (gfc_expr *e)
 {
   mpz_t result;
@@ -1236,7 +1236,7 @@ count_elements (gfc_expr *e)
 /* Work function that extracts a particular element from an array
    constructor, freeing the rest.  */

-static try
+static gfc_try
 extract_element (gfc_expr *e)
 {

@@ -1259,7 +1259,7 @@ extract_element (gfc_expr *e)
 /* Work function that constructs a new constructor out of the old one,
    stringing new elements together.  */

-static try
+static gfc_try
 expand (gfc_expr *e)
 {
   if (current_expand.new_head == NULL)
@@ -1307,7 +1307,7 @@ gfc_simplify_iterator_var (gfc_expr *e)
 /* Expand an expression with that is inside of a constructor,
    recursing into other constructors if present.  */

-static try
+static gfc_try
 expand_expr (gfc_expr *e)
 {
   if (e->expr_type == EXPR_ARRAY)
@@ -1325,13 +1325,13 @@ expand_expr (gfc_expr *e)
 }


-static try
+static gfc_try
 expand_iterator (gfc_constructor *c)
 {
   gfc_expr *start, *end, *step;
   iterator_stack frame;
   mpz_t trip;
-  try t;
+  gfc_try t;

   end = step = NULL;

@@ -1409,7 +1409,7 @@ cleanup:
    expressions.  The work function needs to either save or free the
    passed expression.  */

-static try
+static gfc_try
 expand_constructor (gfc_constructor *c)
 {
   gfc_expr *e;
@@ -1452,12 +1452,12 @@ expand_constructor (gfc_constructor *c)
 /* Top level subroutine for expanding constructors.  We only expand
    constructor if they are small enough.  */

-try
+gfc_try
 gfc_expand_constructor (gfc_expr *e)
 {
   expand_info expand_save;
   gfc_expr *f;
-  try rc;
+  gfc_try rc;

   f = gfc_get_array_element (e, GFC_MAX_AC_EXPAND);
   if (f != NULL)
@@ -1496,7 +1496,7 @@ done:
    constant, after removal of any iteration variables.  We return
    FAILURE if not so.  */

-static try
+static gfc_try
 constant_element (gfc_expr *e)
 {
   int rv;
@@ -1518,7 +1518,7 @@ int
 gfc_constant_ac (gfc_expr *e)
 {
   expand_info expand_save;
-  try rc;
+  gfc_try rc;

   iter_stack = NULL;
   expand_save = current_expand;
@@ -1556,10 +1556,10 @@ gfc_expanded_ac (gfc_expr *e)
 /* Recursive array list resolution function.  All of the elements must
    be of the same type.  */

-static try
+static gfc_try
 resolve_array_list (gfc_constructor *p)
 {
-  try t;
+  gfc_try t;

   t = SUCCESS;

@@ -1581,7 +1581,7 @@ resolve_array_list (gfc_constructor *p)
    all elements are of compile-time known length, emit an error as this is
    invalid.  */

-try
+gfc_try
 gfc_resolve_character_array_constructor (gfc_expr *expr)
 {
   gfc_constructor *p;
@@ -1711,10 +1711,10 @@ got_charlen:

 /* Resolve all of the expressions in an array list.  */

-try
+gfc_try
 gfc_resolve_array_constructor (gfc_expr *expr)
 {
-  try t;
+  gfc_try t;

   t = resolve_array_list (expr->value.constructor);
   if (t == SUCCESS)
@@ -1795,7 +1795,7 @@ gfc_get_array_element (gfc_expr *array,
 {
   expand_info expand_save;
   gfc_expr *e;
-  try rc;
+  gfc_try rc;

   expand_save = current_expand;
   current_expand.extract_n = element;
@@ -1826,7 +1826,7 @@ gfc_get_array_element (gfc_expr *array,
 /* Get the size of single dimension of an array specification.  The
    array is guaranteed to be one dimensional.  */

-try
+gfc_try
 spec_dimen_size (gfc_array_spec *as, int dimen, mpz_t *result)
 {
   if (as == NULL)
@@ -1853,7 +1853,7 @@ spec_dimen_size (gfc_array_spec *as, int
 }


-try
+gfc_try
 spec_size (gfc_array_spec *as, mpz_t *result)
 {
   mpz_t size;
@@ -1879,11 +1879,11 @@ spec_size (gfc_array_spec *as, mpz_t *re

 /* Get the number of elements in an array section.  */

-static try
+static gfc_try
 ref_dimen_size (gfc_array_ref *ar, int dimen, mpz_t *result)
 {
   mpz_t upper, lower, stride;
-  try t;
+  gfc_try t;

   if (dimen < 0 || ar == NULL || dimen > ar->dimen - 1)
     gfc_internal_error ("ref_dimen_size(): Bad dimension");
@@ -1967,7 +1967,7 @@ ref_dimen_size (gfc_array_ref *ar, int d
 }


-static try
+static gfc_try
 ref_size (gfc_array_ref *ar, mpz_t *result)
 {
   mpz_t size;
@@ -1996,7 +1996,7 @@ ref_size (gfc_array_ref *ar, mpz_t *resu
    able to return a result in the 'result' variable, FAILURE
    otherwise.  */

-try
+gfc_try
 gfc_array_dimen_size (gfc_expr *array, int dimen, mpz_t *result)
 {
   gfc_ref *ref;
@@ -2064,13 +2064,13 @@ gfc_array_dimen_size (gfc_expr *array, i
    array.  Returns SUCCESS if this is possible, and sets the 'result'
    variable.  Otherwise returns FAILURE.  */

-try
+gfc_try
 gfc_array_size (gfc_expr *array, mpz_t *result)
 {
   expand_info expand_save;
   gfc_ref *ref;
   int i, flag;
-  try t;
+  gfc_try t;

   switch (array->expr_type)
     {
@@ -2129,7 +2129,7 @@ gfc_array_size (gfc_expr *array, mpz_t *
 /* Given an array reference, return the shape of the reference in an
    array of mpz_t integers.  */

-try
+gfc_try
 gfc_array_ref_shape (gfc_array_ref *ar, mpz_t *shape)
 {
   int d;
diff -rup orig/egcc-SVN20080728/gcc/fortran/check.c egcc-SVN20080728/gcc/fortran/check.c
--- orig/egcc-SVN20080728/gcc/fortran/check.c	2008-07-19 19:47:20.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/check.c	2008-07-28 17:46:10.000000000 +0200
@@ -35,7 +35,7 @@ along with GCC; see the file COPYING3.

 /* Make sure an expression is a scalar.  */

-static try
+static gfc_try
 scalar_check (gfc_expr *e, int n)
 {
   if (e->rank == 0)
@@ -50,7 +50,7 @@ scalar_check (gfc_expr *e, int n)

 /* Check the type of an expression.  */

-static try
+static gfc_try
 type_check (gfc_expr *e, int n, bt type)
 {
   if (e->ts.type == type)
@@ -66,7 +66,7 @@ type_check (gfc_expr *e, int n, bt type)

 /* Check that the expression is a numeric type.  */

-static try
+static gfc_try
 numeric_check (gfc_expr *e, int n)
 {
   if (gfc_numeric_ts (&e->ts))
@@ -93,7 +93,7 @@ numeric_check (gfc_expr *e, int n)

 /* Check that an expression is integer or real.  */

-static try
+static gfc_try
 int_or_real_check (gfc_expr *e, int n)
 {
   if (e->ts.type != BT_INTEGER && e->ts.type != BT_REAL)
@@ -110,7 +110,7 @@ int_or_real_check (gfc_expr *e, int n)

 /* Check that an expression is real or complex.  */

-static try
+static gfc_try
 real_or_complex_check (gfc_expr *e, int n)
 {
   if (e->ts.type != BT_REAL && e->ts.type != BT_COMPLEX)
@@ -128,7 +128,7 @@ real_or_complex_check (gfc_expr *e, int
 /* Check that the expression is an optional constant integer
    and that it specifies a valid kind for that type.  */

-static try
+static gfc_try
 kind_check (gfc_expr *k, int n, bt type)
 {
   int kind;
@@ -164,7 +164,7 @@ kind_check (gfc_expr *k, int n, bt type)

 /* Make sure the expression is a double precision real.  */

-static try
+static gfc_try
 double_check (gfc_expr *d, int n)
 {
   if (type_check (d, n, BT_REAL) == FAILURE)
@@ -184,7 +184,7 @@ double_check (gfc_expr *d, int n)

 /* Make sure the expression is a logical array.  */

-static try
+static gfc_try
 logical_array_check (gfc_expr *array, int n)
 {
   if (array->ts.type != BT_LOGICAL || array->rank == 0)
@@ -201,7 +201,7 @@ logical_array_check (gfc_expr *array, in

 /* Make sure an expression is an array.  */

-static try
+static gfc_try
 array_check (gfc_expr *e, int n)
 {
   if (e->rank != 0)
@@ -216,7 +216,7 @@ array_check (gfc_expr *e, int n)

 /* Make sure two expressions have the same type.  */

-static try
+static gfc_try
 same_type_check (gfc_expr *e, int n, gfc_expr *f, int m)
 {
   if (gfc_compare_types (&e->ts, &f->ts))
@@ -232,7 +232,7 @@ same_type_check (gfc_expr *e, int n, gfc

 /* Make sure that an expression has a certain (nonzero) rank.  */

-static try
+static gfc_try
 rank_check (gfc_expr *e, int n, int rank)
 {
   if (e->rank == rank)
@@ -248,7 +248,7 @@ rank_check (gfc_expr *e, int n, int rank

 /* Make sure a variable expression is not an optional dummy argument.  */

-static try
+static gfc_try
 nonoptional_check (gfc_expr *e, int n)
 {
   if (e->expr_type == EXPR_VARIABLE && e->symtree->n.sym->attr.optional)
@@ -266,7 +266,7 @@ nonoptional_check (gfc_expr *e, int n)

 /* Check that an expression has a particular kind.  */

-static try
+static gfc_try
 kind_value_check (gfc_expr *e, int n, int k)
 {
   if (e->ts.kind == k)
@@ -282,7 +282,7 @@ kind_value_check (gfc_expr *e, int n, in

 /* Make sure an expression is a variable.  */

-static try
+static gfc_try
 variable_check (gfc_expr *e, int n)
 {
   if ((e->expr_type == EXPR_VARIABLE
@@ -309,7 +309,7 @@ variable_check (gfc_expr *e, int n)

 /* Check the common DIM parameter for correctness.  */

-static try
+static gfc_try
 dim_check (gfc_expr *dim, int n, bool optional)
 {
   if (dim == NULL)
@@ -333,7 +333,7 @@ dim_check (gfc_expr *dim, int n, bool op
    allow_assumed is zero then dim must be less than the rank of the array
    for assumed size arrays.  */

-static try
+static gfc_try
 dim_rank_check (gfc_expr *dim, gfc_expr *array, int allow_assumed)
 {
   gfc_array_ref *ar;
@@ -396,7 +396,7 @@ identical_dimen_shape (gfc_expr *a, int
 /* Check whether two character expressions have the same length;
    returns SUCCESS if they have or if the length cannot be determined.  */

-static try
+static gfc_try
 check_same_strlen (const gfc_expr *a, const gfc_expr *b, const char *name)
 {
    long len_a, len_b;
@@ -434,7 +434,7 @@ check_same_strlen (const gfc_expr *a, co
 /* Check subroutine suitable for intrinsics taking a real argument and
    a kind argument for the result.  */

-static try
+static gfc_try
 check_a_kind (gfc_expr *a, gfc_expr *kind, bt type)
 {
   if (type_check (a, 0, BT_REAL) == FAILURE)
@@ -448,7 +448,7 @@ check_a_kind (gfc_expr *a, gfc_expr *kin

 /* Check subroutine suitable for ceiling, floor and nint.  */

-try
+gfc_try
 gfc_check_a_ikind (gfc_expr *a, gfc_expr *kind)
 {
   return check_a_kind (a, kind, BT_INTEGER);
@@ -457,14 +457,14 @@ gfc_check_a_ikind (gfc_expr *a, gfc_expr

 /* Check subroutine suitable for aint, anint.  */

-try
+gfc_try
 gfc_check_a_xkind (gfc_expr *a, gfc_expr *kind)
 {
   return check_a_kind (a, kind, BT_REAL);
 }


-try
+gfc_try
 gfc_check_abs (gfc_expr *a)
 {
   if (numeric_check (a, 0) == FAILURE)
@@ -474,7 +474,7 @@ gfc_check_abs (gfc_expr *a)
 }


-try
+gfc_try
 gfc_check_achar (gfc_expr *a, gfc_expr *kind)
 {
   if (type_check (a, 0, BT_INTEGER) == FAILURE)
@@ -486,7 +486,7 @@ gfc_check_achar (gfc_expr *a, gfc_expr *
 }


-try
+gfc_try
 gfc_check_access_func (gfc_expr *name, gfc_expr *mode)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE
@@ -505,7 +505,7 @@ gfc_check_access_func (gfc_expr *name, g
 }


-try
+gfc_try
 gfc_check_all_any (gfc_expr *mask, gfc_expr *dim)
 {
   if (logical_array_check (mask, 0) == FAILURE)
@@ -518,7 +518,7 @@ gfc_check_all_any (gfc_expr *mask, gfc_e
 }


-try
+gfc_try
 gfc_check_allocated (gfc_expr *array)
 {
   symbol_attribute attr;
@@ -545,7 +545,7 @@ gfc_check_allocated (gfc_expr *array)
 /* Common check function where the first argument must be real or
    integer and the second argument must be the same as the first.  */

-try
+gfc_try
 gfc_check_a_p (gfc_expr *a, gfc_expr *p)
 {
   if (int_or_real_check (a, 0) == FAILURE)
@@ -571,7 +571,7 @@ gfc_check_a_p (gfc_expr *a, gfc_expr *p)
 }


-try
+gfc_try
 gfc_check_x_yd (gfc_expr *x, gfc_expr *y)
 {
   if (double_check (x, 0) == FAILURE || double_check (y, 1) == FAILURE)
@@ -581,12 +581,12 @@ gfc_check_x_yd (gfc_expr *x, gfc_expr *y
 }


-try
+gfc_try
 gfc_check_associated (gfc_expr *pointer, gfc_expr *target)
 {
   symbol_attribute attr1, attr2;
   int i;
-  try t;
+  gfc_try t;
   locus *where;

   where = &pointer->where;
@@ -664,7 +664,7 @@ null_arg:
 }


-try
+gfc_try
 gfc_check_atan2 (gfc_expr *y, gfc_expr *x)
 {
   if (type_check (y, 0, BT_REAL) == FAILURE)
@@ -678,7 +678,7 @@ gfc_check_atan2 (gfc_expr *y, gfc_expr *

 /* BESJN and BESYN functions.  */

-try
+gfc_try
 gfc_check_besn (gfc_expr *n, gfc_expr *x)
 {
   if (type_check (n, 0, BT_INTEGER) == FAILURE)
@@ -691,7 +691,7 @@ gfc_check_besn (gfc_expr *n, gfc_expr *x
 }


-try
+gfc_try
 gfc_check_btest (gfc_expr *i, gfc_expr *pos)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -703,7 +703,7 @@ gfc_check_btest (gfc_expr *i, gfc_expr *
 }


-try
+gfc_try
 gfc_check_char (gfc_expr *i, gfc_expr *kind)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -715,7 +715,7 @@ gfc_check_char (gfc_expr *i, gfc_expr *k
 }


-try
+gfc_try
 gfc_check_chdir (gfc_expr *dir)
 {
   if (type_check (dir, 0, BT_CHARACTER) == FAILURE)
@@ -727,7 +727,7 @@ gfc_check_chdir (gfc_expr *dir)
 }


-try
+gfc_try
 gfc_check_chdir_sub (gfc_expr *dir, gfc_expr *status)
 {
   if (type_check (dir, 0, BT_CHARACTER) == FAILURE)
@@ -747,7 +747,7 @@ gfc_check_chdir_sub (gfc_expr *dir, gfc_
 }


-try
+gfc_try
 gfc_check_chmod (gfc_expr *name, gfc_expr *mode)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE)
@@ -764,7 +764,7 @@ gfc_check_chmod (gfc_expr *name, gfc_exp
 }


-try
+gfc_try
 gfc_check_chmod_sub (gfc_expr *name, gfc_expr *mode, gfc_expr *status)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE)
@@ -790,7 +790,7 @@ gfc_check_chmod_sub (gfc_expr *name, gfc
 }


-try
+gfc_try
 gfc_check_cmplx (gfc_expr *x, gfc_expr *y, gfc_expr *kind)
 {
   if (numeric_check (x, 0) == FAILURE)
@@ -817,7 +817,7 @@ gfc_check_cmplx (gfc_expr *x, gfc_expr *
 }


-try
+gfc_try
 gfc_check_complex (gfc_expr *x, gfc_expr *y)
 {
   if (x->ts.type != BT_INTEGER && x->ts.type != BT_REAL)
@@ -844,7 +844,7 @@ gfc_check_complex (gfc_expr *x, gfc_expr
 }


-try
+gfc_try
 gfc_check_count (gfc_expr *mask, gfc_expr *dim, gfc_expr *kind)
 {
   if (logical_array_check (mask, 0) == FAILURE)
@@ -862,7 +862,7 @@ gfc_check_count (gfc_expr *mask, gfc_exp
 }


-try
+gfc_try
 gfc_check_cshift (gfc_expr *array, gfc_expr *shift, gfc_expr *dim)
 {
   if (array_check (array, 0) == FAILURE)
@@ -893,7 +893,7 @@ gfc_check_cshift (gfc_expr *array, gfc_e
 }


-try
+gfc_try
 gfc_check_ctime (gfc_expr *time)
 {
   if (scalar_check (time, 0) == FAILURE)
@@ -906,7 +906,7 @@ gfc_check_ctime (gfc_expr *time)
 }


-try gfc_check_datan2 (gfc_expr *y, gfc_expr *x)
+gfc_try gfc_check_datan2 (gfc_expr *y, gfc_expr *x)
 {
   if (double_check (y, 0) == FAILURE || double_check (x, 1) == FAILURE)
     return FAILURE;
@@ -914,7 +914,7 @@ try gfc_check_datan2 (gfc_expr *y, gfc_e
   return SUCCESS;
 }

-try
+gfc_try
 gfc_check_dcmplx (gfc_expr *x, gfc_expr *y)
 {
   if (numeric_check (x, 0) == FAILURE)
@@ -938,7 +938,7 @@ gfc_check_dcmplx (gfc_expr *x, gfc_expr
 }


-try
+gfc_try
 gfc_check_dble (gfc_expr *x)
 {
   if (numeric_check (x, 0) == FAILURE)
@@ -948,7 +948,7 @@ gfc_check_dble (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_digits (gfc_expr *x)
 {
   if (int_or_real_check (x, 0) == FAILURE)
@@ -958,7 +958,7 @@ gfc_check_digits (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_dot_product (gfc_expr *vector_a, gfc_expr *vector_b)
 {
   switch (vector_a->ts.type)
@@ -1000,7 +1000,7 @@ gfc_check_dot_product (gfc_expr *vector_
 }


-try
+gfc_try
 gfc_check_dprod (gfc_expr *x, gfc_expr *y)
 {
   if (type_check (x, 0, BT_REAL) == FAILURE
@@ -1027,7 +1027,7 @@ gfc_check_dprod (gfc_expr *x, gfc_expr *
 }


-try
+gfc_try
 gfc_check_eoshift (gfc_expr *array, gfc_expr *shift, gfc_expr *boundary,
 		   gfc_expr *dim)
 {
@@ -1092,7 +1092,7 @@ gfc_check_eoshift (gfc_expr *array, gfc_

 /* A single complex argument.  */

-try
+gfc_try
 gfc_check_fn_c (gfc_expr *a)
 {
   if (type_check (a, 0, BT_COMPLEX) == FAILURE)
@@ -1104,7 +1104,7 @@ gfc_check_fn_c (gfc_expr *a)

 /* A single real argument.  */

-try
+gfc_try
 gfc_check_fn_r (gfc_expr *a)
 {
   if (type_check (a, 0, BT_REAL) == FAILURE)
@@ -1115,7 +1115,7 @@ gfc_check_fn_r (gfc_expr *a)

 /* A single double argument.  */

-try
+gfc_try
 gfc_check_fn_d (gfc_expr *a)
 {
   if (double_check (a, 0) == FAILURE)
@@ -1126,7 +1126,7 @@ gfc_check_fn_d (gfc_expr *a)

 /* A single real or complex argument.  */

-try
+gfc_try
 gfc_check_fn_rc (gfc_expr *a)
 {
   if (real_or_complex_check (a, 0) == FAILURE)
@@ -1136,7 +1136,7 @@ gfc_check_fn_rc (gfc_expr *a)
 }


-try
+gfc_try
 gfc_check_fnum (gfc_expr *unit)
 {
   if (type_check (unit, 0, BT_INTEGER) == FAILURE)
@@ -1149,7 +1149,7 @@ gfc_check_fnum (gfc_expr *unit)
 }


-try
+gfc_try
 gfc_check_huge (gfc_expr *x)
 {
   if (int_or_real_check (x, 0) == FAILURE)
@@ -1159,7 +1159,7 @@ gfc_check_huge (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_hypot (gfc_expr *x, gfc_expr *y)
 {
   if (type_check (x, 0, BT_REAL) == FAILURE)
@@ -1173,7 +1173,7 @@ gfc_check_hypot (gfc_expr *x, gfc_expr *

 /* Check that the single argument is an integer.  */

-try
+gfc_try
 gfc_check_i (gfc_expr *i)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -1183,7 +1183,7 @@ gfc_check_i (gfc_expr *i)
 }


-try
+gfc_try
 gfc_check_iand (gfc_expr *i, gfc_expr *j)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -1203,7 +1203,7 @@ gfc_check_iand (gfc_expr *i, gfc_expr *j
 }


-try
+gfc_try
 gfc_check_ibclr (gfc_expr *i, gfc_expr *pos)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -1216,7 +1216,7 @@ gfc_check_ibclr (gfc_expr *i, gfc_expr *
 }


-try
+gfc_try
 gfc_check_ibits (gfc_expr *i, gfc_expr *pos, gfc_expr *len)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -1232,7 +1232,7 @@ gfc_check_ibits (gfc_expr *i, gfc_expr *
 }


-try
+gfc_try
 gfc_check_ibset (gfc_expr *i, gfc_expr *pos)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -1245,7 +1245,7 @@ gfc_check_ibset (gfc_expr *i, gfc_expr *
 }


-try
+gfc_try
 gfc_check_ichar_iachar (gfc_expr *c, gfc_expr *kind)
 {
   int i;
@@ -1316,7 +1316,7 @@ gfc_check_ichar_iachar (gfc_expr *c, gfc
 }


-try
+gfc_try
 gfc_check_idnint (gfc_expr *a)
 {
   if (double_check (a, 0) == FAILURE)
@@ -1326,7 +1326,7 @@ gfc_check_idnint (gfc_expr *a)
 }


-try
+gfc_try
 gfc_check_ieor (gfc_expr *i, gfc_expr *j)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -1346,7 +1346,7 @@ gfc_check_ieor (gfc_expr *i, gfc_expr *j
 }


-try
+gfc_try
 gfc_check_index (gfc_expr *string, gfc_expr *substring, gfc_expr *back,
 		 gfc_expr *kind)
 {
@@ -1377,7 +1377,7 @@ gfc_check_index (gfc_expr *string, gfc_e
 }


-try
+gfc_try
 gfc_check_int (gfc_expr *x, gfc_expr *kind)
 {
   if (numeric_check (x, 0) == FAILURE)
@@ -1390,7 +1390,7 @@ gfc_check_int (gfc_expr *x, gfc_expr *ki
 }


-try
+gfc_try
 gfc_check_intconv (gfc_expr *x)
 {
   if (numeric_check (x, 0) == FAILURE)
@@ -1400,7 +1400,7 @@ gfc_check_intconv (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_ior (gfc_expr *i, gfc_expr *j)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -1420,7 +1420,7 @@ gfc_check_ior (gfc_expr *i, gfc_expr *j)
 }


-try
+gfc_try
 gfc_check_ishft (gfc_expr *i, gfc_expr *shift)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE
@@ -1431,7 +1431,7 @@ gfc_check_ishft (gfc_expr *i, gfc_expr *
 }


-try
+gfc_try
 gfc_check_ishftc (gfc_expr *i, gfc_expr *shift, gfc_expr *size)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE
@@ -1445,7 +1445,7 @@ gfc_check_ishftc (gfc_expr *i, gfc_expr
 }


-try
+gfc_try
 gfc_check_kill (gfc_expr *pid, gfc_expr *sig)
 {
   if (type_check (pid, 0, BT_INTEGER) == FAILURE)
@@ -1458,7 +1458,7 @@ gfc_check_kill (gfc_expr *pid, gfc_expr
 }


-try
+gfc_try
 gfc_check_kill_sub (gfc_expr *pid, gfc_expr *sig, gfc_expr *status)
 {
   if (type_check (pid, 0, BT_INTEGER) == FAILURE)
@@ -1486,7 +1486,7 @@ gfc_check_kill_sub (gfc_expr *pid, gfc_e
 }


-try
+gfc_try
 gfc_check_kind (gfc_expr *x)
 {
   if (x->ts.type == BT_DERIVED)
@@ -1501,7 +1501,7 @@ gfc_check_kind (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_lbound (gfc_expr *array, gfc_expr *dim, gfc_expr *kind)
 {
   if (array_check (array, 0) == FAILURE)
@@ -1527,7 +1527,7 @@ gfc_check_lbound (gfc_expr *array, gfc_e
 }


-try
+gfc_try
 gfc_check_len_lentrim (gfc_expr *s, gfc_expr *kind)
 {
   if (type_check (s, 0, BT_CHARACTER) == FAILURE)
@@ -1544,7 +1544,7 @@ gfc_check_len_lentrim (gfc_expr *s, gfc_
 }


-try
+gfc_try
 gfc_check_lge_lgt_lle_llt (gfc_expr *a, gfc_expr *b)
 {
   if (type_check (a, 0, BT_CHARACTER) == FAILURE)
@@ -1561,7 +1561,7 @@ gfc_check_lge_lgt_lle_llt (gfc_expr *a,
 }


-try
+gfc_try
 gfc_check_link (gfc_expr *path1, gfc_expr *path2)
 {
   if (type_check (path1, 0, BT_CHARACTER) == FAILURE)
@@ -1578,7 +1578,7 @@ gfc_check_link (gfc_expr *path1, gfc_exp
 }


-try
+gfc_try
 gfc_check_link_sub (gfc_expr *path1, gfc_expr *path2, gfc_expr *status)
 {
   if (type_check (path1, 0, BT_CHARACTER) == FAILURE)
@@ -1604,14 +1604,14 @@ gfc_check_link_sub (gfc_expr *path1, gfc
 }


-try
+gfc_try
 gfc_check_loc (gfc_expr *expr)
 {
   return variable_check (expr, 0);
 }


-try
+gfc_try
 gfc_check_symlnk (gfc_expr *path1, gfc_expr *path2)
 {
   if (type_check (path1, 0, BT_CHARACTER) == FAILURE)
@@ -1628,7 +1628,7 @@ gfc_check_symlnk (gfc_expr *path1, gfc_e
 }


-try
+gfc_try
 gfc_check_symlnk_sub (gfc_expr *path1, gfc_expr *path2, gfc_expr *status)
 {
   if (type_check (path1, 0, BT_CHARACTER) == FAILURE)
@@ -1654,7 +1654,7 @@ gfc_check_symlnk_sub (gfc_expr *path1, g
 }


-try
+gfc_try
 gfc_check_logical (gfc_expr *a, gfc_expr *kind)
 {
   if (type_check (a, 0, BT_LOGICAL) == FAILURE)
@@ -1668,7 +1668,7 @@ gfc_check_logical (gfc_expr *a, gfc_expr

 /* Min/max family.  */

-static try
+static gfc_try
 min_max_args (gfc_actual_arglist *arg)
 {
   if (arg == NULL || arg->next == NULL)
@@ -1682,7 +1682,7 @@ min_max_args (gfc_actual_arglist *arg)
 }


-static try
+static gfc_try
 check_rest (bt type, int kind, gfc_actual_arglist *arglist)
 {
   gfc_actual_arglist *arg, *tmp;
@@ -1727,7 +1727,7 @@ check_rest (bt type, int kind, gfc_actua
 }


-try
+gfc_try
 gfc_check_min_max (gfc_actual_arglist *arg)
 {
   gfc_expr *x;
@@ -1755,21 +1755,21 @@ gfc_check_min_max (gfc_actual_arglist *a
 }


-try
+gfc_try
 gfc_check_min_max_integer (gfc_actual_arglist *arg)
 {
   return check_rest (BT_INTEGER, gfc_default_integer_kind, arg);
 }


-try
+gfc_try
 gfc_check_min_max_real (gfc_actual_arglist *arg)
 {
   return check_rest (BT_REAL, gfc_default_real_kind, arg);
 }


-try
+gfc_try
 gfc_check_min_max_double (gfc_actual_arglist *arg)
 {
   return check_rest (BT_REAL, gfc_default_double_kind, arg);
@@ -1778,7 +1778,7 @@ gfc_check_min_max_double (gfc_actual_arg

 /* End of min/max family.  */

-try
+gfc_try
 gfc_check_malloc (gfc_expr *size)
 {
   if (type_check (size, 0, BT_INTEGER) == FAILURE)
@@ -1791,7 +1791,7 @@ gfc_check_malloc (gfc_expr *size)
 }


-try
+gfc_try
 gfc_check_matmul (gfc_expr *matrix_a, gfc_expr *matrix_b)
 {
   if ((matrix_a->ts.type != BT_LOGICAL) && !gfc_numeric_ts (&matrix_b->ts))
@@ -1870,7 +1870,7 @@ gfc_check_matmul (gfc_expr *matrix_a, gf
    I.e. in the case of minloc(array,mask), mask will be in the second
    position of the argument list and we'll have to fix that up.  */

-try
+gfc_try
 gfc_check_minloc_maxloc (gfc_actual_arglist *ap)
 {
   gfc_expr *a, *m, *d;
@@ -1929,7 +1929,7 @@ gfc_check_minloc_maxloc (gfc_actual_argl
    I.e. in the case of minval(array,mask), mask will be in the second
    position of the argument list and we'll have to fix that up.  */

-static try
+static gfc_try
 check_reduction (gfc_actual_arglist *ap)
 {
   gfc_expr *a, *m, *d;
@@ -1970,7 +1970,7 @@ check_reduction (gfc_actual_arglist *ap)
 }


-try
+gfc_try
 gfc_check_minval_maxval (gfc_actual_arglist *ap)
 {
   if (int_or_real_check (ap->expr, 0) == FAILURE
@@ -1981,7 +1981,7 @@ gfc_check_minval_maxval (gfc_actual_argl
 }


-try
+gfc_try
 gfc_check_product_sum (gfc_actual_arglist *ap)
 {
   if (numeric_check (ap->expr, 0) == FAILURE
@@ -1992,7 +1992,7 @@ gfc_check_product_sum (gfc_actual_arglis
 }


-try
+gfc_try
 gfc_check_merge (gfc_expr *tsource, gfc_expr *fsource, gfc_expr *mask)
 {
   if (same_type_check (tsource, 0, fsource, 1) == FAILURE)
@@ -2008,7 +2008,7 @@ gfc_check_merge (gfc_expr *tsource, gfc_
 }


-try
+gfc_try
 gfc_check_move_alloc (gfc_expr *from, gfc_expr *to)
 {
   symbol_attribute attr;
@@ -2068,7 +2068,7 @@ gfc_check_move_alloc (gfc_expr *from, gf
 }


-try
+gfc_try
 gfc_check_nearest (gfc_expr *x, gfc_expr *s)
 {
   if (type_check (x, 0, BT_REAL) == FAILURE)
@@ -2081,7 +2081,7 @@ gfc_check_nearest (gfc_expr *x, gfc_expr
 }


-try
+gfc_try
 gfc_check_new_line (gfc_expr *a)
 {
   if (type_check (a, 0, BT_CHARACTER) == FAILURE)
@@ -2091,7 +2091,7 @@ gfc_check_new_line (gfc_expr *a)
 }


-try
+gfc_try
 gfc_check_null (gfc_expr *mold)
 {
   symbol_attribute attr;
@@ -2116,7 +2116,7 @@ gfc_check_null (gfc_expr *mold)
 }


-try
+gfc_try
 gfc_check_pack (gfc_expr *array, gfc_expr *mask, gfc_expr *vector)
 {
   char buffer[80];
@@ -2148,7 +2148,7 @@ gfc_check_pack (gfc_expr *array, gfc_exp
 }


-try
+gfc_try
 gfc_check_precision (gfc_expr *x)
 {
   if (x->ts.type != BT_REAL && x->ts.type != BT_COMPLEX)
@@ -2163,7 +2163,7 @@ gfc_check_precision (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_present (gfc_expr *a)
 {
   gfc_symbol *sym;
@@ -2208,7 +2208,7 @@ gfc_check_present (gfc_expr *a)
 }


-try
+gfc_try
 gfc_check_radix (gfc_expr *x)
 {
   if (int_or_real_check (x, 0) == FAILURE)
@@ -2218,7 +2218,7 @@ gfc_check_radix (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_range (gfc_expr *x)
 {
   if (numeric_check (x, 0) == FAILURE)
@@ -2229,7 +2229,7 @@ gfc_check_range (gfc_expr *x)


 /* real, float, sngl.  */
-try
+gfc_try
 gfc_check_real (gfc_expr *a, gfc_expr *kind)
 {
   if (numeric_check (a, 0) == FAILURE)
@@ -2242,7 +2242,7 @@ gfc_check_real (gfc_expr *a, gfc_expr *k
 }


-try
+gfc_try
 gfc_check_rename (gfc_expr *path1, gfc_expr *path2)
 {
   if (type_check (path1, 0, BT_CHARACTER) == FAILURE)
@@ -2259,7 +2259,7 @@ gfc_check_rename (gfc_expr *path1, gfc_e
 }


-try
+gfc_try
 gfc_check_rename_sub (gfc_expr *path1, gfc_expr *path2, gfc_expr *status)
 {
   if (type_check (path1, 0, BT_CHARACTER) == FAILURE)
@@ -2285,7 +2285,7 @@ gfc_check_rename_sub (gfc_expr *path1, g
 }


-try
+gfc_try
 gfc_check_repeat (gfc_expr *x, gfc_expr *y)
 {
   if (type_check (x, 0, BT_CHARACTER) == FAILURE)
@@ -2304,7 +2304,7 @@ gfc_check_repeat (gfc_expr *x, gfc_expr
 }


-try
+gfc_try
 gfc_check_reshape (gfc_expr *source, gfc_expr *shape,
 		   gfc_expr *pad, gfc_expr *order)
 {
@@ -2383,7 +2383,7 @@ gfc_check_reshape (gfc_expr *source, gfc
 }


-try
+gfc_try
 gfc_check_scale (gfc_expr *x, gfc_expr *i)
 {
   if (type_check (x, 0, BT_REAL) == FAILURE)
@@ -2396,7 +2396,7 @@ gfc_check_scale (gfc_expr *x, gfc_expr *
 }


-try
+gfc_try
 gfc_check_scan (gfc_expr *x, gfc_expr *y, gfc_expr *z, gfc_expr *kind)
 {
   if (type_check (x, 0, BT_CHARACTER) == FAILURE)
@@ -2422,7 +2422,7 @@ gfc_check_scan (gfc_expr *x, gfc_expr *y
 }


-try
+gfc_try
 gfc_check_secnds (gfc_expr *r)
 {
   if (type_check (r, 0, BT_REAL) == FAILURE)
@@ -2438,7 +2438,7 @@ gfc_check_secnds (gfc_expr *r)
 }


-try
+gfc_try
 gfc_check_selected_char_kind (gfc_expr *name)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE)
@@ -2454,7 +2454,7 @@ gfc_check_selected_char_kind (gfc_expr *
 }


-try
+gfc_try
 gfc_check_selected_int_kind (gfc_expr *r)
 {
   if (type_check (r, 0, BT_INTEGER) == FAILURE)
@@ -2467,7 +2467,7 @@ gfc_check_selected_int_kind (gfc_expr *r
 }


-try
+gfc_try
 gfc_check_selected_real_kind (gfc_expr *p, gfc_expr *r)
 {
   if (p == NULL && r == NULL)
@@ -2488,7 +2488,7 @@ gfc_check_selected_real_kind (gfc_expr *
 }


-try
+gfc_try
 gfc_check_set_exponent (gfc_expr *x, gfc_expr *i)
 {
   if (type_check (x, 0, BT_REAL) == FAILURE)
@@ -2501,7 +2501,7 @@ gfc_check_set_exponent (gfc_expr *x, gfc
 }


-try
+gfc_try
 gfc_check_shape (gfc_expr *source)
 {
   gfc_array_ref *ar;
@@ -2522,7 +2522,7 @@ gfc_check_shape (gfc_expr *source)
 }


-try
+gfc_try
 gfc_check_sign (gfc_expr *a, gfc_expr *b)
 {
   if (int_or_real_check (a, 0) == FAILURE)
@@ -2535,7 +2535,7 @@ gfc_check_sign (gfc_expr *a, gfc_expr *b
 }


-try
+gfc_try
 gfc_check_size (gfc_expr *array, gfc_expr *dim, gfc_expr *kind)
 {
   if (array_check (array, 0) == FAILURE)
@@ -2562,14 +2562,14 @@ gfc_check_size (gfc_expr *array, gfc_exp
 }


-try
+gfc_try
 gfc_check_sizeof (gfc_expr *arg ATTRIBUTE_UNUSED)
 {
   return SUCCESS;
 }


-try
+gfc_try
 gfc_check_sleep_sub (gfc_expr *seconds)
 {
   if (type_check (seconds, 0, BT_INTEGER) == FAILURE)
@@ -2582,7 +2582,7 @@ gfc_check_sleep_sub (gfc_expr *seconds)
 }


-try
+gfc_try
 gfc_check_spread (gfc_expr *source, gfc_expr *dim, gfc_expr *ncopies)
 {
   if (source->rank >= GFC_MAX_DIMENSIONS)
@@ -2613,7 +2613,7 @@ gfc_check_spread (gfc_expr *source, gfc_
 /* Functions for checking FGETC, FPUTC, FGET and FPUT (subroutines and
    functions).  */

-try
+gfc_try
 gfc_check_fgetputc_sub (gfc_expr *unit, gfc_expr *c, gfc_expr *status)
 {
   if (type_check (unit, 0, BT_INTEGER) == FAILURE)
@@ -2639,14 +2639,14 @@ gfc_check_fgetputc_sub (gfc_expr *unit,
 }


-try
+gfc_try
 gfc_check_fgetputc (gfc_expr *unit, gfc_expr *c)
 {
   return gfc_check_fgetputc_sub (unit, c, NULL);
 }


-try
+gfc_try
 gfc_check_fgetput_sub (gfc_expr *c, gfc_expr *status)
 {
   if (type_check (c, 0, BT_CHARACTER) == FAILURE)
@@ -2666,14 +2666,14 @@ gfc_check_fgetput_sub (gfc_expr *c, gfc_
 }


-try
+gfc_try
 gfc_check_fgetput (gfc_expr *c)
 {
   return gfc_check_fgetput_sub (c, NULL);
 }


-try
+gfc_try
 gfc_check_fseek_sub (gfc_expr *unit, gfc_expr *offset, gfc_expr *whence, gfc_expr *status)
 {
   if (type_check (unit, 0, BT_INTEGER) == FAILURE)
@@ -2711,7 +2711,7 @@ gfc_check_fseek_sub (gfc_expr *unit, gfc



-try
+gfc_try
 gfc_check_fstat (gfc_expr *unit, gfc_expr *array)
 {
   if (type_check (unit, 0, BT_INTEGER) == FAILURE)
@@ -2731,7 +2731,7 @@ gfc_check_fstat (gfc_expr *unit, gfc_exp
 }


-try
+gfc_try
 gfc_check_fstat_sub (gfc_expr *unit, gfc_expr *array, gfc_expr *status)
 {
   if (type_check (unit, 0, BT_INTEGER) == FAILURE)
@@ -2761,7 +2761,7 @@ gfc_check_fstat_sub (gfc_expr *unit, gfc
 }


-try
+gfc_try
 gfc_check_ftell (gfc_expr *unit)
 {
   if (type_check (unit, 0, BT_INTEGER) == FAILURE)
@@ -2774,7 +2774,7 @@ gfc_check_ftell (gfc_expr *unit)
 }


-try
+gfc_try
 gfc_check_ftell_sub (gfc_expr *unit, gfc_expr *offset)
 {
   if (type_check (unit, 0, BT_INTEGER) == FAILURE)
@@ -2793,7 +2793,7 @@ gfc_check_ftell_sub (gfc_expr *unit, gfc
 }


-try
+gfc_try
 gfc_check_stat (gfc_expr *name, gfc_expr *array)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE)
@@ -2812,7 +2812,7 @@ gfc_check_stat (gfc_expr *name, gfc_expr
 }


-try
+gfc_try
 gfc_check_stat_sub (gfc_expr *name, gfc_expr *array, gfc_expr *status)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE)
@@ -2841,7 +2841,7 @@ gfc_check_stat_sub (gfc_expr *name, gfc_
 }


-try
+gfc_try
 gfc_check_transfer (gfc_expr *source ATTRIBUTE_UNUSED,
 		    gfc_expr *mold ATTRIBUTE_UNUSED, gfc_expr *size)
 {
@@ -2868,7 +2868,7 @@ gfc_check_transfer (gfc_expr *source ATT
 }


-try
+gfc_try
 gfc_check_transpose (gfc_expr *matrix)
 {
   if (rank_check (matrix, 0, 2) == FAILURE)
@@ -2878,7 +2878,7 @@ gfc_check_transpose (gfc_expr *matrix)
 }


-try
+gfc_try
 gfc_check_ubound (gfc_expr *array, gfc_expr *dim, gfc_expr *kind)
 {
   if (array_check (array, 0) == FAILURE)
@@ -2904,7 +2904,7 @@ gfc_check_ubound (gfc_expr *array, gfc_e
 }


-try
+gfc_try
 gfc_check_unpack (gfc_expr *vector, gfc_expr *mask, gfc_expr *field)
 {
   if (rank_check (vector, 0, 1) == FAILURE)
@@ -2942,7 +2942,7 @@ gfc_check_unpack (gfc_expr *vector, gfc_
 }


-try
+gfc_try
 gfc_check_verify (gfc_expr *x, gfc_expr *y, gfc_expr *z, gfc_expr *kind)
 {
   if (type_check (x, 0, BT_CHARACTER) == FAILURE)
@@ -2965,7 +2965,7 @@ gfc_check_verify (gfc_expr *x, gfc_expr
 }


-try
+gfc_try
 gfc_check_trim (gfc_expr *x)
 {
   if (type_check (x, 0, BT_CHARACTER) == FAILURE)
@@ -2978,7 +2978,7 @@ gfc_check_trim (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_ttynam (gfc_expr *unit)
 {
   if (scalar_check (unit, 0) == FAILURE)
@@ -2994,7 +2994,7 @@ gfc_check_ttynam (gfc_expr *unit)
 /* Common check function for the half a dozen intrinsics that have a
    single real argument.  */

-try
+gfc_try
 gfc_check_x (gfc_expr *x)
 {
   if (type_check (x, 0, BT_REAL) == FAILURE)
@@ -3006,7 +3006,7 @@ gfc_check_x (gfc_expr *x)

 /************* Check functions for intrinsic subroutines *************/

-try
+gfc_try
 gfc_check_cpu_time (gfc_expr *time)
 {
   if (scalar_check (time, 0) == FAILURE)
@@ -3022,7 +3022,7 @@ gfc_check_cpu_time (gfc_expr *time)
 }


-try
+gfc_try
 gfc_check_date_and_time (gfc_expr *date, gfc_expr *time,
 			 gfc_expr *zone, gfc_expr *values)
 {
@@ -3078,7 +3078,7 @@ gfc_check_date_and_time (gfc_expr *date,
 }


-try
+gfc_try
 gfc_check_mvbits (gfc_expr *from, gfc_expr *frompos, gfc_expr *len,
 		  gfc_expr *to, gfc_expr *topos)
 {
@@ -3104,7 +3104,7 @@ gfc_check_mvbits (gfc_expr *from, gfc_ex
 }


-try
+gfc_try
 gfc_check_random_number (gfc_expr *harvest)
 {
   if (type_check (harvest, 0, BT_REAL) == FAILURE)
@@ -3117,7 +3117,7 @@ gfc_check_random_number (gfc_expr *harve
 }


-try
+gfc_try
 gfc_check_random_seed (gfc_expr *size, gfc_expr *put, gfc_expr *get)
 {
   unsigned int nargs = 0;
@@ -3197,7 +3197,7 @@ gfc_check_random_seed (gfc_expr *size, g
 }


-try
+gfc_try
 gfc_check_second_sub (gfc_expr *time)
 {
   if (scalar_check (time, 0) == FAILURE)
@@ -3216,7 +3216,7 @@ gfc_check_second_sub (gfc_expr *time)
 /* The arguments of SYSTEM_CLOCK are scalar, integer variables.  Note,
    count, count_rate, and count_max are all optional arguments */

-try
+gfc_try
 gfc_check_system_clock (gfc_expr *count, gfc_expr *count_rate,
 			gfc_expr *count_max)
 {
@@ -3273,7 +3273,7 @@ gfc_check_system_clock (gfc_expr *count,
 }


-try
+gfc_try
 gfc_check_irand (gfc_expr *x)
 {
   if (x == NULL)
@@ -3292,7 +3292,7 @@ gfc_check_irand (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_alarm_sub (gfc_expr *seconds, gfc_expr *handler, gfc_expr *status)
 {
   if (scalar_check (seconds, 0) == FAILURE)
@@ -3328,7 +3328,7 @@ gfc_check_alarm_sub (gfc_expr *seconds,
 }


-try
+gfc_try
 gfc_check_rand (gfc_expr *x)
 {
   if (x == NULL)
@@ -3347,7 +3347,7 @@ gfc_check_rand (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_srand (gfc_expr *x)
 {
   if (scalar_check (x, 0) == FAILURE)
@@ -3363,7 +3363,7 @@ gfc_check_srand (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_ctime_sub (gfc_expr *time, gfc_expr *result)
 {
   if (scalar_check (time, 0) == FAILURE)
@@ -3380,7 +3380,7 @@ gfc_check_ctime_sub (gfc_expr *time, gfc
 }


-try
+gfc_try
 gfc_check_dtime_etime (gfc_expr *x)
 {
   if (array_check (x, 0) == FAILURE)
@@ -3402,7 +3402,7 @@ gfc_check_dtime_etime (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_dtime_etime_sub (gfc_expr *values, gfc_expr *time)
 {
   if (array_check (values, 0) == FAILURE)
@@ -3433,7 +3433,7 @@ gfc_check_dtime_etime_sub (gfc_expr *val
 }


-try
+gfc_try
 gfc_check_fdate_sub (gfc_expr *date)
 {
   if (type_check (date, 0, BT_CHARACTER) == FAILURE)
@@ -3445,7 +3445,7 @@ gfc_check_fdate_sub (gfc_expr *date)
 }


-try
+gfc_try
 gfc_check_gerror (gfc_expr *msg)
 {
   if (type_check (msg, 0, BT_CHARACTER) == FAILURE)
@@ -3457,7 +3457,7 @@ gfc_check_gerror (gfc_expr *msg)
 }


-try
+gfc_try
 gfc_check_getcwd_sub (gfc_expr *cwd, gfc_expr *status)
 {
   if (type_check (cwd, 0, BT_CHARACTER) == FAILURE)
@@ -3478,7 +3478,7 @@ gfc_check_getcwd_sub (gfc_expr *cwd, gfc
 }


-try
+gfc_try
 gfc_check_getarg (gfc_expr *pos, gfc_expr *value)
 {
   if (type_check (pos, 0, BT_INTEGER) == FAILURE)
@@ -3502,7 +3502,7 @@ gfc_check_getarg (gfc_expr *pos, gfc_exp
 }


-try
+gfc_try
 gfc_check_getlog (gfc_expr *msg)
 {
   if (type_check (msg, 0, BT_CHARACTER) == FAILURE)
@@ -3514,7 +3514,7 @@ gfc_check_getlog (gfc_expr *msg)
 }


-try
+gfc_try
 gfc_check_exit (gfc_expr *status)
 {
   if (status == NULL)
@@ -3530,7 +3530,7 @@ gfc_check_exit (gfc_expr *status)
 }


-try
+gfc_try
 gfc_check_flush (gfc_expr *unit)
 {
   if (unit == NULL)
@@ -3546,7 +3546,7 @@ gfc_check_flush (gfc_expr *unit)
 }


-try
+gfc_try
 gfc_check_free (gfc_expr *i)
 {
   if (type_check (i, 0, BT_INTEGER) == FAILURE)
@@ -3559,7 +3559,7 @@ gfc_check_free (gfc_expr *i)
 }


-try
+gfc_try
 gfc_check_hostnm (gfc_expr *name)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE)
@@ -3571,7 +3571,7 @@ gfc_check_hostnm (gfc_expr *name)
 }


-try
+gfc_try
 gfc_check_hostnm_sub (gfc_expr *name, gfc_expr *status)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE)
@@ -3592,7 +3592,7 @@ gfc_check_hostnm_sub (gfc_expr *name, gf
 }


-try
+gfc_try
 gfc_check_itime_idate (gfc_expr *values)
 {
   if (array_check (values, 0) == FAILURE)
@@ -3614,7 +3614,7 @@ gfc_check_itime_idate (gfc_expr *values)
 }


-try
+gfc_try
 gfc_check_ltime_gmtime (gfc_expr *time, gfc_expr *values)
 {
   if (type_check (time, 0, BT_INTEGER) == FAILURE)
@@ -3645,7 +3645,7 @@ gfc_check_ltime_gmtime (gfc_expr *time,
 }


-try
+gfc_try
 gfc_check_ttynam_sub (gfc_expr *unit, gfc_expr *name)
 {
   if (scalar_check (unit, 0) == FAILURE)
@@ -3663,7 +3663,7 @@ gfc_check_ttynam_sub (gfc_expr *unit, gf
 }


-try
+gfc_try
 gfc_check_isatty (gfc_expr *unit)
 {
   if (unit == NULL)
@@ -3679,7 +3679,7 @@ gfc_check_isatty (gfc_expr *unit)
 }


-try
+gfc_try
 gfc_check_isnan (gfc_expr *x)
 {
   if (type_check (x, 0, BT_REAL) == FAILURE)
@@ -3689,7 +3689,7 @@ gfc_check_isnan (gfc_expr *x)
 }


-try
+gfc_try
 gfc_check_perror (gfc_expr *string)
 {
   if (type_check (string, 0, BT_CHARACTER) == FAILURE)
@@ -3701,7 +3701,7 @@ gfc_check_perror (gfc_expr *string)
 }


-try
+gfc_try
 gfc_check_umask (gfc_expr *mask)
 {
   if (type_check (mask, 0, BT_INTEGER) == FAILURE)
@@ -3714,7 +3714,7 @@ gfc_check_umask (gfc_expr *mask)
 }


-try
+gfc_try
 gfc_check_umask_sub (gfc_expr *mask, gfc_expr *old)
 {
   if (type_check (mask, 0, BT_INTEGER) == FAILURE)
@@ -3736,7 +3736,7 @@ gfc_check_umask_sub (gfc_expr *mask, gfc
 }


-try
+gfc_try
 gfc_check_unlink (gfc_expr *name)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE)
@@ -3748,7 +3748,7 @@ gfc_check_unlink (gfc_expr *name)
 }


-try
+gfc_try
 gfc_check_unlink_sub (gfc_expr *name, gfc_expr *status)
 {
   if (type_check (name, 0, BT_CHARACTER) == FAILURE)
@@ -3769,7 +3769,7 @@ gfc_check_unlink_sub (gfc_expr *name, gf
 }


-try
+gfc_try
 gfc_check_signal (gfc_expr *number, gfc_expr *handler)
 {
   if (scalar_check (number, 0) == FAILURE)
@@ -3793,7 +3793,7 @@ gfc_check_signal (gfc_expr *number, gfc_
 }


-try
+gfc_try
 gfc_check_signal_sub (gfc_expr *number, gfc_expr *handler, gfc_expr *status)
 {
   if (scalar_check (number, 0) == FAILURE)
@@ -3826,7 +3826,7 @@ gfc_check_signal_sub (gfc_expr *number,
 }


-try
+gfc_try
 gfc_check_system_sub (gfc_expr *cmd, gfc_expr *status)
 {
   if (type_check (cmd, 0, BT_CHARACTER) == FAILURE)
@@ -3848,7 +3848,7 @@ gfc_check_system_sub (gfc_expr *cmd, gfc


 /* This is used for the GNU intrinsics AND, OR and XOR.  */
-try
+gfc_try
 gfc_check_and (gfc_expr *i, gfc_expr *j)
 {
   if (i->ts.type != BT_INTEGER && i->ts.type != BT_LOGICAL)
diff -rup orig/egcc-SVN20080728/gcc/fortran/cpp.c egcc-SVN20080728/gcc/fortran/cpp.c
--- orig/egcc-SVN20080728/gcc/fortran/cpp.c	2008-06-24 02:00:06.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/cpp.c	2008-07-28 17:46:10.000000000 +0200
@@ -574,7 +574,7 @@ gfc_cpp_init (void)
     pp_dir_change (cpp_in, get_src_pwd ());
 }

-try
+gfc_try
 gfc_cpp_preprocess (const char *source_file)
 {
   if (!gfc_cpp_enabled ())
diff -rup orig/egcc-SVN20080728/gcc/fortran/cpp.h egcc-SVN20080728/gcc/fortran/cpp.h
--- orig/egcc-SVN20080728/gcc/fortran/cpp.h	2008-06-12 02:00:03.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/cpp.h	2008-07-28 17:46:10.000000000 +0200
@@ -36,7 +36,7 @@ int gfc_cpp_handle_option(size_t scode,

 void gfc_cpp_post_options (void);

-try gfc_cpp_preprocess (const char *source_file);
+gfc_try gfc_cpp_preprocess (const char *source_file);

 void gfc_cpp_done (void);

diff -rup orig/egcc-SVN20080728/gcc/fortran/data.c egcc-SVN20080728/gcc/fortran/data.c
--- orig/egcc-SVN20080728/gcc/fortran/data.c	2008-07-22 02:00:11.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/data.c	2008-07-28 17:46:10.000000000 +0200
@@ -46,7 +46,7 @@ get_array_index (gfc_array_ref *ar, mpz_
 {
   gfc_expr *e;
   int i;
-  try re;
+  gfc_try re;
   mpz_t delta;
   mpz_t tmp;

@@ -247,7 +247,7 @@ create_character_intializer (gfc_expr *i
    LVALUE already has an initialization, we extend this, otherwise we
    create a new one.  */

-try
+gfc_try
 gfc_assign_data_value (gfc_expr *lvalue, gfc_expr *rvalue, mpz_t index)
 {
   gfc_ref *ref;
diff -rup orig/egcc-SVN20080728/gcc/fortran/data.h egcc-SVN20080728/gcc/fortran/data.h
--- orig/egcc-SVN20080728/gcc/fortran/data.h	2008-03-14 00:34:29.000000000 +0100
+++ egcc-SVN20080728/gcc/fortran/data.h	2008-07-28 17:46:10.000000000 +0200
@@ -19,6 +19,6 @@ along with GCC; see the file COPYING3.

 void gfc_formalize_init_value (gfc_symbol *);
 void gfc_get_section_index (gfc_array_ref *, mpz_t *, mpz_t *);
-try gfc_assign_data_value (gfc_expr *, gfc_expr *, mpz_t);
+gfc_try gfc_assign_data_value (gfc_expr *, gfc_expr *, mpz_t);
 void gfc_assign_data_value_range (gfc_expr *, gfc_expr *, mpz_t, mpz_t);
 void gfc_advance_section (mpz_t *, gfc_array_ref *, mpz_t *);
diff -rup orig/egcc-SVN20080728/gcc/fortran/decl.c egcc-SVN20080728/gcc/fortran/decl.c
--- orig/egcc-SVN20080728/gcc/fortran/decl.c	2008-07-25 02:00:07.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/decl.c	2008-07-28 17:46:10.000000000 +0200
@@ -867,11 +867,11 @@ get_proc_name (const char *name, gfc_sym
    the compiler could have automatically handled the varying sizes
    across platforms.  */

-try
+gfc_try
 verify_c_interop_param (gfc_symbol *sym)
 {
   int is_c_interop = 0;
-  try retval = SUCCESS;
+  gfc_try retval = SUCCESS;

   /* We check implicitly typed variables in symbol.c:gfc_set_default_type().
      Don't repeat the checks here.  */
@@ -1009,7 +1009,7 @@ verify_c_interop_param (gfc_symbol *sym)

 /* Function called by variable_decl() that adds a name to the symbol table.  */

-static try
+static gfc_try
 build_sym (const char *name, gfc_charlen *cl,
 	   gfc_array_spec **as, locus *var_locus)
 {
@@ -1185,7 +1185,7 @@ gfc_free_enum_history (void)
 /* Function called by variable_decl() that adds an initialization
    expression to a symbol.  */

-static try
+static gfc_try
 add_init_expr_to_sym (const char *name, gfc_expr **initp, locus *var_locus)
 {
   symbol_attribute attr;
@@ -1362,7 +1362,7 @@ add_init_expr_to_sym (const char *name,
 /* Function called by variable_decl() that adds a name to a structure
    being built.  */

-static try
+static gfc_try
 build_struct (const char *name, gfc_charlen *cl, gfc_expr **init,
 	      gfc_array_spec **as)
 {
@@ -1548,7 +1548,7 @@ variable_decl (int elem)
   gfc_charlen *cl;
   locus var_locus;
   match m;
-  try t;
+  gfc_try t;
   gfc_symbol *sym;
   locus old_locus;

@@ -2786,7 +2786,7 @@ match_attr_spec (void)
   decl_types d;
   const char *attr;
   match m;
-  try t;
+  gfc_try t;

   gfc_clear_attr (&current_attr);
   start = gfc_current_locus;
@@ -3248,7 +3248,7 @@ cleanup:
    (J3/04-007, section 15.4.1).  If a binding label was given and
    there is more than one argument (num_idents), it is an error.  */

-try
+gfc_try
 set_binding_label (char *dest_label, const char *sym_name, int num_idents)
 {
   if (num_idents > 1 && has_name_equals)
@@ -3288,10 +3288,10 @@ set_com_block_bind_c (gfc_common_head *c

 /* Verify that the given gfc_typespec is for a C interoperable type.  */

-try
+gfc_try
 verify_c_interop (gfc_typespec *ts, const char *name, locus *where)
 {
-  try t;
+  gfc_try t;

   /* Make sure the kind used is appropriate for the type.
      The f90_type is unknown if an integer constant was
@@ -3326,11 +3326,11 @@ verify_c_interop (gfc_typespec *ts, cons
    interoperable type.  Errors will be reported here, if
    encountered.  */

-try
+gfc_try
 verify_com_block_vars_c_interop (gfc_common_head *com_block)
 {
   gfc_symbol *curr_sym = NULL;
-  try retval = SUCCESS;
+  gfc_try retval = SUCCESS;

   curr_sym = com_block->head;

@@ -3354,11 +3354,11 @@ verify_com_block_vars_c_interop (gfc_com
 /* Verify that a given BIND(C) symbol is C interoperable.  If it is not,
    an appropriate error message is reported.  */

-try
+gfc_try
 verify_bind_c_sym (gfc_symbol *tmp_sym, gfc_typespec *ts,
                    int is_in_common, gfc_common_head *com_block)
 {
-  try retval = SUCCESS;
+  gfc_try retval = SUCCESS;

   if (tmp_sym->attr.function && tmp_sym->result != NULL)
     {
@@ -3478,10 +3478,10 @@ verify_bind_c_sym (gfc_symbol *tmp_sym,
    the type is C interoperable.  Errors are reported by the functions
    used to set/test these fields.  */

-try
+gfc_try
 set_verify_bind_c_sym (gfc_symbol *tmp_sym, int num_idents)
 {
-  try retval = SUCCESS;
+  gfc_try retval = SUCCESS;

   /* TODO: Do we need to make sure the vars aren't marked private?  */

@@ -3499,10 +3499,10 @@ set_verify_bind_c_sym (gfc_symbol *tmp_s
 /* Set the fields marking the given common block as BIND(C), including
    a binding label, and report any errors encountered.  */

-try
+gfc_try
 set_verify_bind_c_com_block (gfc_common_head *com_block, int num_idents)
 {
-  try retval = SUCCESS;
+  gfc_try retval = SUCCESS;

   /* destLabel, common name, typespec (which may have binding label).  */
   if (set_binding_label (com_block->binding_label, com_block->name, num_idents)
@@ -3519,7 +3519,7 @@ set_verify_bind_c_com_block (gfc_common_
 /* Retrieve the list of one or more identifiers that the given bind(c)
    attribute applies to.  */

-try
+gfc_try
 get_bind_c_idents (void)
 {
   char name[GFC_MAX_SYMBOL_LEN + 1];
@@ -3792,7 +3792,7 @@ loop:

 /* Copy attributes matched by gfc_match_prefix() to attributes on a symbol.  */

-static try
+static gfc_try
 copy_prefix (symbol_attribute *dest, locus *where)
 {
   if (current_attr.pure && gfc_add_pure (dest, where) == FAILURE)
@@ -6400,7 +6400,7 @@ gfc_match_derived_decl (void)
    is the case. Since there is no bounds-checking for Cray Pointees,
    this will be okay.  */

-try
+gfc_try
 gfc_mod_pointee_as (gfc_array_spec *as)
 {
   as->cray_pointee = true; /* This will be useful to know later.  */
@@ -6454,7 +6454,7 @@ enumerator_decl (void)
   gfc_symbol *sym;
   locus var_locus;
   match m;
-  try t;
+  gfc_try t;
   locus old_locus;

   initializer = NULL;
@@ -6537,7 +6537,7 @@ match
 gfc_match_enumerator_def (void)
 {
   match m;
-  try t;
+  gfc_try t;

   gfc_clear_ts (&current_ts);

diff -rup orig/egcc-SVN20080728/gcc/fortran/error.c egcc-SVN20080728/gcc/fortran/error.c
--- orig/egcc-SVN20080728/gcc/fortran/error.c	2008-06-20 08:07:55.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/error.c	2008-07-28 17:46:10.000000000 +0200
@@ -754,7 +754,7 @@ gfc_notification_std (int std)
    standard does not contain the requested bits.  Return FAILURE if
    an error is generated.  */

-try
+gfc_try
 gfc_notify_std (int std, const char *nocmsgid, ...)
 {
   va_list argp;
diff -rup orig/egcc-SVN20080728/gcc/fortran/expr.c egcc-SVN20080728/gcc/fortran/expr.c
--- orig/egcc-SVN20080728/gcc/fortran/expr.c	2008-07-25 02:00:07.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/expr.c	2008-07-28 17:51:02.000000000 +0200
@@ -824,7 +824,7 @@ is_subref_array (gfc_expr * e)

 /* Try to collapse intrinsic expressions.  */

-static try
+static gfc_try
 simplify_intrinsic_op (gfc_expr *p, int type)
 {
   gfc_intrinsic_op op;
@@ -960,7 +960,7 @@ simplify_intrinsic_op (gfc_expr *p, int
 /* Subroutine to simplify constructor expressions.  Mutually recursive
    with gfc_simplify_expr().  */

-static try
+static gfc_try
 simplify_constructor (gfc_constructor *c, int type)
 {
   gfc_expr *p;
@@ -996,7 +996,7 @@ simplify_constructor (gfc_constructor *c

 /* Pull a single array element out of an array constructor.  */

-static try
+static gfc_try
 find_array_element (gfc_constructor *cons, gfc_array_ref *ar,
 		    gfc_constructor **rval)
 {
@@ -1007,7 +1007,7 @@ find_array_element (gfc_constructor *con
   mpz_t span;
   mpz_t tmp;
   gfc_expr *e;
-  try t;
+  gfc_try t;

   t = SUCCESS;
   e = NULL;
@@ -1115,7 +1115,7 @@ remove_subobject_ref (gfc_expr *p, gfc_c

 /* Pull an array section out of an array constructor.  */

-static try
+static gfc_try
 find_array_section (gfc_expr *expr, gfc_ref *ref)
 {
   int idx;
@@ -1142,7 +1142,7 @@ find_array_section (gfc_expr *expr, gfc_
   gfc_expr *upper;
   gfc_expr *lower;
   gfc_constructor *vecsub[GFC_MAX_DIMENSIONS], *c;
-  try t;
+  gfc_try t;

   t = SUCCESS;

@@ -1373,7 +1373,7 @@ cleanup:

 /* Pull a substring out of an expression.  */

-static try
+static gfc_try
 find_substring_ref (gfc_expr *p, gfc_expr **newp)
 {
   int end;
@@ -1405,7 +1405,7 @@ find_substring_ref (gfc_expr *p, gfc_exp
 /* Simplify a subobject reference of a constructor.  This occurs when
    parameter variable values are substituted.  */

-static try
+static gfc_try
 simplify_const_ref (gfc_expr *p)
 {
   gfc_constructor *cons;
@@ -1479,7 +1479,7 @@ simplify_const_ref (gfc_expr *p)

 /* Simplify a chain of references.  */

-static try
+static gfc_try
 simplify_ref_chain (gfc_ref *ref, int type)
 {
   int n;
@@ -1517,11 +1517,11 @@ simplify_ref_chain (gfc_ref *ref, int ty

 /* Try to substitute the value of a parameter variable.  */

-static try
+static gfc_try
 simplify_parameter_variable (gfc_expr *p, int type)
 {
   gfc_expr *e;
-  try t;
+  gfc_try t;

   e = gfc_copy_expr (p->symtree->n.sym->value);
   if (e == NULL)
@@ -1562,7 +1562,7 @@ simplify_parameter_variable (gfc_expr *p
    Returns FAILURE on error, SUCCESS otherwise.
    NOTE: Will return SUCCESS even if the expression can not be simplified.  */

-try
+gfc_try
 gfc_simplify_expr (gfc_expr *p, int type)
 {
   gfc_actual_arglist *ap;
@@ -1693,12 +1693,12 @@ et0 (gfc_expr *e)
 /* Check an intrinsic arithmetic operation to see if it is consistent
    with some type of expression.  */

-static try check_init_expr (gfc_expr *);
+static gfc_try check_init_expr (gfc_expr *);


 /* Scalarize an expression for an elemental intrinsic call.  */

-static try
+static gfc_try
 scalarize_intrinsic_call (gfc_expr *e)
 {
   gfc_actual_arglist *a, *b;
@@ -1831,8 +1831,8 @@ cleanup:
 }


-static try
-check_intrinsic_op (gfc_expr *e, try (*check_function) (gfc_expr *))
+static gfc_try
+check_intrinsic_op (gfc_expr *e, gfc_try (*check_function) (gfc_expr *))
 {
   gfc_expr *op1 = e->value.op.op1;
   gfc_expr *op2 = e->value.op.op2;
@@ -2155,11 +2155,11 @@ check_conversion (gfc_expr *e)
    intrinsics in the context of initialization expressions.  If
    FAILURE is returned an error message has been generated.  */

-static try
+static gfc_try
 check_init_expr (gfc_expr *e)
 {
   match m;
-  try t;
+  gfc_try t;

   if (e == NULL)
     return SUCCESS;
@@ -2334,7 +2334,7 @@ gfc_match_init_expr (gfc_expr **result)
 {
   gfc_expr *expr;
   match m;
-  try t;
+  gfc_try t;

   m = gfc_match_expr (&expr);
   if (m != MATCH_YES)
@@ -2375,13 +2375,13 @@ gfc_match_init_expr (gfc_expr **result)
 }


-static try check_restricted (gfc_expr *);
+static gfc_try check_restricted (gfc_expr *);

 /* Given an actual argument list, test to see that each argument is a
    restricted expression and optionally if the expression type is
    integer or character.  */

-static try
+static gfc_try
 restricted_args (gfc_actual_arglist *a)
 {
   for (; a; a = a->next)
@@ -2399,7 +2399,7 @@ restricted_args (gfc_actual_arglist *a)

 /* Make sure a non-intrinsic function is a specification function.  */

-static try
+static gfc_try
 external_spec_function (gfc_expr *e)
 {
   gfc_symbol *f;
@@ -2441,7 +2441,7 @@ external_spec_function (gfc_expr *e)
 /* Check to see that a function reference to an intrinsic is a
    restricted expression.  */

-static try
+static gfc_try
 restricted_intrinsic (gfc_expr *e)
 {
   /* TODO: Check constraints on inquiry functions.  7.1.6.2 (7).  */
@@ -2456,11 +2456,11 @@ restricted_intrinsic (gfc_expr *e)
    cousin check_init_expr(), an error message is generated if we
    return FAILURE.  */

-static try
+static gfc_try
 check_restricted (gfc_expr *e)
 {
   gfc_symbol *sym;
-  try t;
+  gfc_try t;

   if (e == NULL)
     return SUCCESS;
@@ -2568,7 +2568,7 @@ check_restricted (gfc_expr *e)
 /* Check to see that an expression is a specification expression.  If
    we return FAILURE, an error has been generated.  */

-try
+gfc_try
 gfc_specification_expr (gfc_expr *e)
 {

@@ -2611,12 +2611,12 @@ gfc_specification_expr (gfc_expr *e)

 /* Given two expressions, make sure that the arrays are conformable.  */

-try
+gfc_try
 gfc_check_conformance (const char *optype_msgid, gfc_expr *op1, gfc_expr *op2)
 {
   int op1_flag, op2_flag, d;
   mpz_t op1_size, op2_size;
-  try t;
+  gfc_try t;

   if (op1->rank == 0 || op2->rank == 0)
     return SUCCESS;
@@ -2661,7 +2661,7 @@ gfc_check_conformance (const char *optyp
 /* Given an assignable expression and an arbitrary expression, make
    sure that the assignment can take place.  */

-try
+gfc_try
 gfc_check_assign (gfc_expr *lvalue, gfc_expr *rvalue, int conform)
 {
   gfc_symbol *sym;
@@ -2870,7 +2870,7 @@ gfc_check_assign (gfc_expr *lvalue, gfc_
    we only check rvalue if it's not an assignment to NULL() or a
    NULLIFY statement.  */

-try
+gfc_try
 gfc_check_pointer_assign (gfc_expr *lvalue, gfc_expr *rvalue)
 {
   symbol_attribute attr;
@@ -3018,11 +3018,11 @@ gfc_check_pointer_assign (gfc_expr *lval
 /* Relative of gfc_check_assign() except that the lvalue is a single
    symbol.  Used for initialization assignments.  */

-try
+gfc_try
 gfc_check_assign_symbol (gfc_symbol *sym, gfc_expr *rvalue)
 {
   gfc_expr lvalue;
-  try r;
+  gfc_try r;

   memset (&lvalue, '\0', sizeof (gfc_expr));

diff -rup orig/egcc-SVN20080728/gcc/fortran/interface.c egcc-SVN20080728/gcc/fortran/interface.c
--- orig/egcc-SVN20080728/gcc/fortran/interface.c	2008-07-19 19:47:20.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/interface.c	2008-07-28 17:46:10.000000000 +0200
@@ -2218,7 +2218,7 @@ pair_cmp (const void *p1, const void *p2
    refer to the same expression. The analysis is conservative.
    Returning FAILURE will produce no warning.  */

-static try
+static gfc_try
 compare_actual_expr (gfc_expr *e1, gfc_expr *e2)
 {
   const gfc_ref *r1, *r2;
@@ -2267,7 +2267,7 @@ compare_actual_expr (gfc_expr *e1, gfc_e
    another, check that identical actual arguments aren't not
    associated with some incompatible INTENTs.  */

-static try
+static gfc_try
 check_some_aliasing (gfc_formal_arglist *f, gfc_actual_arglist *a)
 {
   sym_intent f1_intent, f2_intent;
@@ -2275,7 +2275,7 @@ check_some_aliasing (gfc_formal_arglist
   gfc_actual_arglist *a1;
   size_t n, i, j;
   argpair *p;
-  try t = SUCCESS;
+  gfc_try t = SUCCESS;

   n = 0;
   for (f1 = f, a1 = a;; f1 = f1->next, a1 = a1->next)
@@ -2355,7 +2355,7 @@ compare_parameter_intent (gfc_symbol *fo
    another, check that they are compatible in the sense that intents
    are not mismatched.  */

-static try
+static gfc_try
 check_intents (gfc_formal_arglist *f, gfc_actual_arglist *a)
 {
   sym_intent f_intent;
@@ -2546,7 +2546,7 @@ find_sym_in_symtree (gfc_symbol *sym)
    interface.  If one is found, the expression node is replaced with
    the appropriate function call.  */

-try
+gfc_try
 gfc_extend_expr (gfc_expr *e)
 {
   gfc_actual_arglist *actual;
@@ -2677,7 +2677,7 @@ gfc_extend_expr (gfc_expr *e)
    SUCCESS if the node was replaced.  On FAILURE, no error is
    generated.  */

-try
+gfc_try
 gfc_extend_assign (gfc_code *c, gfc_namespace *ns)
 {
   gfc_actual_arglist *actual;
@@ -2731,7 +2731,7 @@ gfc_extend_assign (gfc_code *c, gfc_name
    the given interface list.  Ambiguity isn't checked yet since module
    procedures can be present without interfaces.  */

-static try
+static gfc_try
 check_new_interface (gfc_interface *base, gfc_symbol *new_sym)
 {
   gfc_interface *ip;
@@ -2752,7 +2752,7 @@ check_new_interface (gfc_interface *base

 /* Add a symbol to the current interface.  */

-try
+gfc_try
 gfc_add_interface (gfc_symbol *new_sym)
 {
   gfc_interface **head, *intr;
diff -rup orig/egcc-SVN20080728/gcc/fortran/intrinsic.c egcc-SVN20080728/gcc/fortran/intrinsic.c
--- orig/egcc-SVN20080728/gcc/fortran/intrinsic.c	2008-07-25 02:00:07.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/intrinsic.c	2008-07-28 17:51:26.000000000 +0200
@@ -175,7 +175,7 @@ find_char_conv (gfc_typespec *from, gfc_
    and call the proper check function rather than forcing each
    function to manipulate the argument list.  */

-static try
+static gfc_try
 do_check (gfc_intrinsic_sym *specific, gfc_actual_arglist *arg)
 {
   gfc_expr *a1, *a2, *a3, *a4, *a5;
@@ -334,7 +334,7 @@ add_sym (const char *name, gfc_isym_id i
 static void
 add_sym_0 (const char *name, gfc_isym_id id, enum klass cl, int actual_ok, bt type,
 	   int kind, int standard,
-	   try (*check) (void),
+	   gfc_try (*check) (void),
 	   gfc_expr *(*simplify) (void),
 	   void (*resolve) (gfc_expr *))
 {
@@ -376,7 +376,7 @@ add_sym_0s (const char *name, gfc_isym_i
 static void
 add_sym_1 (const char *name, gfc_isym_id id, enum klass cl, int actual_ok, bt type,
 	   int kind, int standard,
-	   try (*check) (gfc_expr *),
+	   gfc_try (*check) (gfc_expr *),
 	   gfc_expr *(*simplify) (gfc_expr *),
 	   void (*resolve) (gfc_expr *, gfc_expr *),
 	   const char *a1, bt type1, int kind1, int optional1)
@@ -400,7 +400,7 @@ add_sym_1 (const char *name, gfc_isym_id

 static void
 add_sym_1s (const char *name, gfc_isym_id id, enum klass cl, bt type, int kind, int standard,
-	    try (*check) (gfc_expr *),
+	    gfc_try (*check) (gfc_expr *),
 	    gfc_expr *(*simplify) (gfc_expr *),
 	    void (*resolve) (gfc_code *),
 	    const char *a1, bt type1, int kind1, int optional1)
@@ -425,7 +425,7 @@ add_sym_1s (const char *name, gfc_isym_i
 static void
 add_sym_1m (const char *name, gfc_isym_id id, enum klass cl, int actual_ok, bt type,
 	    int kind, int standard,
-	    try (*check) (gfc_actual_arglist *),
+	    gfc_try (*check) (gfc_actual_arglist *),
 	    gfc_expr *(*simplify) (gfc_expr *),
 	    void (*resolve) (gfc_expr *, gfc_actual_arglist *),
 	    const char *a1, bt type1, int kind1, int optional1,
@@ -452,7 +452,7 @@ add_sym_1m (const char *name, gfc_isym_i
 static void
 add_sym_2 (const char *name, gfc_isym_id id, enum klass cl, int actual_ok, bt type,
 	   int kind, int standard,
-	   try (*check) (gfc_expr *, gfc_expr *),
+	   gfc_try (*check) (gfc_expr *, gfc_expr *),
 	   gfc_expr *(*simplify) (gfc_expr *, gfc_expr *),
 	   void (*resolve) (gfc_expr *, gfc_expr *, gfc_expr *),
 	   const char *a1, bt type1, int kind1, int optional1,
@@ -478,7 +478,7 @@ add_sym_2 (const char *name, gfc_isym_id

 static void
 add_sym_2s (const char *name, gfc_isym_id id, enum klass cl, bt type, int kind, int standard,
-	    try (*check) (gfc_expr *, gfc_expr *),
+	    gfc_try (*check) (gfc_expr *, gfc_expr *),
 	    gfc_expr *(*simplify) (gfc_expr *, gfc_expr *),
 	    void (*resolve) (gfc_code *),
 	    const char *a1, bt type1, int kind1, int optional1,
@@ -505,7 +505,7 @@ add_sym_2s (const char *name, gfc_isym_i
 static void
 add_sym_3 (const char *name, gfc_isym_id id, enum klass cl, int actual_ok, bt type,
 	   int kind, int standard,
-	   try (*check) (gfc_expr *, gfc_expr *, gfc_expr *),
+	   gfc_try (*check) (gfc_expr *, gfc_expr *, gfc_expr *),
 	   gfc_expr *(*simplify) (gfc_expr *, gfc_expr *, gfc_expr *),
 	   void (*resolve) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *),
 	   const char *a1, bt type1, int kind1, int optional1,
@@ -534,7 +534,7 @@ add_sym_3 (const char *name, gfc_isym_id
 static void
 add_sym_3ml (const char *name, gfc_isym_id id, enum klass cl, int actual_ok, bt type,
 	     int kind, int standard,
-	     try (*check) (gfc_actual_arglist *),
+	     gfc_try (*check) (gfc_actual_arglist *),
 	     gfc_expr *(*simplify) (gfc_expr *, gfc_expr *, gfc_expr *),
 	     void (*resolve) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *),
 	     const char *a1, bt type1, int kind1, int optional1,
@@ -563,7 +563,7 @@ add_sym_3ml (const char *name, gfc_isym_
 static void
 add_sym_3red (const char *name, gfc_isym_id id, enum klass cl, int actual_ok, bt type,
 	      int kind, int standard,
-	      try (*check) (gfc_actual_arglist *),
+	      gfc_try (*check) (gfc_actual_arglist *),
 	      gfc_expr *(*simplify) (gfc_expr *, gfc_expr *, gfc_expr *),
 	      void (*resolve) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *),
 	      const char *a1, bt type1, int kind1, int optional1,
@@ -591,7 +591,7 @@ add_sym_3red (const char *name, gfc_isym

 static void
 add_sym_3s (const char *name, gfc_isym_id id, enum klass cl, bt type, int kind, int standard,
-	    try (*check) (gfc_expr *, gfc_expr *, gfc_expr *),
+	    gfc_try (*check) (gfc_expr *, gfc_expr *, gfc_expr *),
 	    gfc_expr *(*simplify) (gfc_expr *, gfc_expr *, gfc_expr *),
 	    void (*resolve) (gfc_code *),
 	    const char *a1, bt type1, int kind1, int optional1,
@@ -620,7 +620,7 @@ add_sym_3s (const char *name, gfc_isym_i
 static void
 add_sym_4 (const char *name, gfc_isym_id id, enum klass cl, int actual_ok, bt type,
 	   int kind, int standard,
-	   try (*check) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *),
+	   gfc_try (*check) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *),
 	   gfc_expr *(*simplify) (gfc_expr *, gfc_expr *, gfc_expr *,
 				  gfc_expr *),
 	   void (*resolve) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
@@ -652,7 +652,7 @@ add_sym_4 (const char *name, gfc_isym_id

 static void
 add_sym_4s (const char *name, gfc_isym_id id, enum klass cl, bt type, int kind, int standard,
-	    try (*check) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *),
+	    gfc_try (*check) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *),
 	    gfc_expr *(*simplify) (gfc_expr *, gfc_expr *, gfc_expr *,
 				   gfc_expr *),
 	    void (*resolve) (gfc_code *),
@@ -683,7 +683,7 @@ add_sym_4s (const char *name, gfc_isym_i

 static void
 add_sym_5s (const char *name, gfc_isym_id id, enum klass cl, bt type, int kind, int standard,
-	    try (*check) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
+	    gfc_try (*check) (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
 			  gfc_expr *),
 	    gfc_expr *(*simplify) (gfc_expr *, gfc_expr *, gfc_expr *,
 				   gfc_expr *, gfc_expr *),
@@ -3024,7 +3024,7 @@ remove_nullargs (gfc_actual_arglist **ap
    wrong (say, a missing required argument) we abort sorting and
    return FAILURE.  */

-static try
+static gfc_try
 sort_actual (const char *name, gfc_actual_arglist **ap,
 	     gfc_intrinsic_arg *formal, locus *where)
 {
@@ -3145,7 +3145,7 @@ do_sort:
    list.  The lists are checked for agreement of type.  We don't check
    for arrayness here.  */

-static try
+static gfc_try
 check_arglist (gfc_actual_arglist **ap, gfc_intrinsic_sym *sym,
 	       int error_flag)
 {
@@ -3277,7 +3277,7 @@ resolve_intrinsic (gfc_intrinsic_sym *sp
    of the simplification, SUCCESS if the simplification worked, even
    if nothing has changed in the expression itself.  */

-static try
+static gfc_try
 do_simplify (gfc_intrinsic_sym *specific, gfc_expr *e)
 {
   gfc_expr *result, *a1, *a2, *a3, *a4, *a5;
@@ -3406,11 +3406,11 @@ init_arglist (gfc_intrinsic_sym *isym)
    intrinsic's formal argument list.  Return SUCCESS if the expression
    and intrinsic match, FAILURE otherwise.  */

-static try
+static gfc_try
 check_specific (gfc_intrinsic_sym *specific, gfc_expr *expr, int error_flag)
 {
   gfc_actual_arglist *arg, **ap;
-  try t;
+  gfc_try t;

   ap = &expr->value.function.actual;

@@ -3487,7 +3487,7 @@ check_specific (gfc_intrinsic_sym *speci
    can be used to construct a detailed warning/error message in case of
    a FAILURE.  */

-try
+gfc_try
 gfc_check_intrinsic_standard (const gfc_intrinsic_sym* isym,
 			      const char** symstd, bool silent, locus where)
 {
@@ -3744,7 +3744,7 @@ fail:

 /* Call gfc_convert_type() with warning enabled.  */

-try
+gfc_try
 gfc_convert_type (gfc_expr *expr, gfc_typespec *ts, int eflag)
 {
   return gfc_convert_type_warn (expr, ts, eflag, 1);
@@ -3761,7 +3761,7 @@ gfc_convert_type (gfc_expr *expr, gfc_ty

    'wflag' controls the warning related to conversion.  */

-try
+gfc_try
 gfc_convert_type_warn (gfc_expr *expr, gfc_typespec *ts, int eflag, int wflag)
 {
   gfc_intrinsic_sym *sym;
@@ -3860,7 +3860,7 @@ bad:
 }


-try
+gfc_try
 gfc_convert_chartype (gfc_expr *expr, gfc_typespec *ts)
 {
   gfc_intrinsic_sym *sym;
diff -rup orig/egcc-SVN20080728/gcc/fortran/intrinsic.h egcc-SVN20080728/gcc/fortran/intrinsic.h
--- orig/egcc-SVN20080728/gcc/fortran/intrinsic.h	2008-05-19 01:21:43.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/intrinsic.h	2008-07-28 17:46:10.000000000 +0200
@@ -26,169 +26,169 @@ extern gfc_expr gfc_bad_expr;


 /* Check functions.  */
-try gfc_check_a_ikind (gfc_expr *, gfc_expr *);
-try gfc_check_a_xkind (gfc_expr *, gfc_expr *);
-try gfc_check_a_p (gfc_expr *, gfc_expr *);
-try gfc_check_x_yd (gfc_expr *, gfc_expr *);
-
-try gfc_check_abs (gfc_expr *);
-try gfc_check_access_func (gfc_expr *, gfc_expr *);
-try gfc_check_achar (gfc_expr *, gfc_expr *);
-try gfc_check_all_any (gfc_expr *, gfc_expr *);
-try gfc_check_allocated (gfc_expr *);
-try gfc_check_associated (gfc_expr *, gfc_expr *);
-try gfc_check_atan2 (gfc_expr *, gfc_expr *);
-try gfc_check_besn (gfc_expr *, gfc_expr *);
-try gfc_check_btest (gfc_expr *, gfc_expr *);
-try gfc_check_char (gfc_expr *, gfc_expr *);
-try gfc_check_chdir (gfc_expr *);
-try gfc_check_chmod (gfc_expr *, gfc_expr *);
-try gfc_check_cmplx (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_complex (gfc_expr *, gfc_expr *);
-try gfc_check_count (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_cshift (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_ctime (gfc_expr *);
-try gfc_check_datan2 (gfc_expr *, gfc_expr *);
-try gfc_check_dcmplx (gfc_expr *, gfc_expr *);
-try gfc_check_dble (gfc_expr *);
-try gfc_check_digits (gfc_expr *);
-try gfc_check_dot_product (gfc_expr *, gfc_expr *);
-try gfc_check_dprod (gfc_expr *, gfc_expr *);
-try gfc_check_eoshift (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_dtime_etime (gfc_expr *);
-try gfc_check_fgetputc (gfc_expr *, gfc_expr *);
-try gfc_check_fgetput (gfc_expr *);
-try gfc_check_fstat (gfc_expr *, gfc_expr *);
-try gfc_check_ftell (gfc_expr *);
-try gfc_check_fn_c (gfc_expr *);
-try gfc_check_fn_d (gfc_expr *);
-try gfc_check_fn_r (gfc_expr *);
-try gfc_check_fn_rc (gfc_expr *);
-try gfc_check_fnum (gfc_expr *);
-try gfc_check_hostnm (gfc_expr *);
-try gfc_check_huge (gfc_expr *);
-try gfc_check_hypot (gfc_expr *, gfc_expr *);
-try gfc_check_i (gfc_expr *);
-try gfc_check_iand (gfc_expr *, gfc_expr *);
-try gfc_check_and (gfc_expr *, gfc_expr *);
-try gfc_check_ibclr (gfc_expr *, gfc_expr *);
-try gfc_check_ibits (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_ibset (gfc_expr *, gfc_expr *);
-try gfc_check_ichar_iachar (gfc_expr *, gfc_expr *);
-try gfc_check_idnint (gfc_expr *);
-try gfc_check_ieor (gfc_expr *, gfc_expr *);
-try gfc_check_index (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_int (gfc_expr *, gfc_expr *);
-try gfc_check_intconv (gfc_expr *);
-try gfc_check_ior (gfc_expr *, gfc_expr *);
-try gfc_check_irand (gfc_expr *);
-try gfc_check_isatty (gfc_expr *);
-try gfc_check_isnan (gfc_expr *);
-try gfc_check_ishft (gfc_expr *, gfc_expr *);
-try gfc_check_ishftc (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_kill (gfc_expr *, gfc_expr *);
-try gfc_check_kind (gfc_expr *);
-try gfc_check_lbound (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_len_lentrim (gfc_expr *, gfc_expr *);
-try gfc_check_link (gfc_expr *, gfc_expr *);
-try gfc_check_lge_lgt_lle_llt (gfc_expr *, gfc_expr *);
-try gfc_check_loc (gfc_expr *);
-try gfc_check_logical (gfc_expr *, gfc_expr *);
-try gfc_check_min_max (gfc_actual_arglist *);
-try gfc_check_min_max_integer (gfc_actual_arglist *);
-try gfc_check_min_max_real (gfc_actual_arglist *);
-try gfc_check_min_max_double (gfc_actual_arglist *);
-try gfc_check_malloc (gfc_expr *);
-try gfc_check_matmul (gfc_expr *, gfc_expr *);
-try gfc_check_merge (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_minloc_maxloc (gfc_actual_arglist *);
-try gfc_check_minval_maxval (gfc_actual_arglist *);
-try gfc_check_nearest (gfc_expr *, gfc_expr *);
-try gfc_check_new_line (gfc_expr *);
-try gfc_check_null (gfc_expr *);
-try gfc_check_pack (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_precision (gfc_expr *);
-try gfc_check_present (gfc_expr *);
-try gfc_check_product_sum (gfc_actual_arglist *);
-try gfc_check_radix (gfc_expr *);
-try gfc_check_rand (gfc_expr *);
-try gfc_check_range (gfc_expr *);
-try gfc_check_real (gfc_expr *, gfc_expr *);
-try gfc_check_rename (gfc_expr *, gfc_expr *);
-try gfc_check_repeat (gfc_expr *, gfc_expr *);
-try gfc_check_reshape (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_scale (gfc_expr *, gfc_expr *);
-try gfc_check_scan (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_second_sub (gfc_expr *);
-try gfc_check_secnds (gfc_expr *);
-try gfc_check_selected_char_kind (gfc_expr *);
-try gfc_check_selected_int_kind (gfc_expr *);
-try gfc_check_selected_real_kind (gfc_expr *, gfc_expr *);
-try gfc_check_set_exponent (gfc_expr *, gfc_expr *);
-try gfc_check_shape (gfc_expr *);
-try gfc_check_size (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_sign (gfc_expr *, gfc_expr *);
-try gfc_check_signal (gfc_expr *, gfc_expr *);
-try gfc_check_sizeof (gfc_expr *);
-try gfc_check_spread (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_srand (gfc_expr *);
-try gfc_check_stat (gfc_expr *, gfc_expr *);
-try gfc_check_sum (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_symlnk (gfc_expr *, gfc_expr *);
-try gfc_check_transfer (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_transpose (gfc_expr *);
-try gfc_check_trim (gfc_expr *);
-try gfc_check_ttynam (gfc_expr *);
-try gfc_check_ubound (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_umask (gfc_expr *);
-try gfc_check_unlink (gfc_expr *);
-try gfc_check_unpack (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_verify (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_x (gfc_expr *);
+gfc_try gfc_check_a_ikind (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_a_xkind (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_a_p (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_x_yd (gfc_expr *, gfc_expr *);
+
+gfc_try gfc_check_abs (gfc_expr *);
+gfc_try gfc_check_access_func (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_achar (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_all_any (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_allocated (gfc_expr *);
+gfc_try gfc_check_associated (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_atan2 (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_besn (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_btest (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_char (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_chdir (gfc_expr *);
+gfc_try gfc_check_chmod (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_cmplx (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_complex (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_count (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_cshift (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ctime (gfc_expr *);
+gfc_try gfc_check_datan2 (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_dcmplx (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_dble (gfc_expr *);
+gfc_try gfc_check_digits (gfc_expr *);
+gfc_try gfc_check_dot_product (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_dprod (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_eoshift (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_dtime_etime (gfc_expr *);
+gfc_try gfc_check_fgetputc (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_fgetput (gfc_expr *);
+gfc_try gfc_check_fstat (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ftell (gfc_expr *);
+gfc_try gfc_check_fn_c (gfc_expr *);
+gfc_try gfc_check_fn_d (gfc_expr *);
+gfc_try gfc_check_fn_r (gfc_expr *);
+gfc_try gfc_check_fn_rc (gfc_expr *);
+gfc_try gfc_check_fnum (gfc_expr *);
+gfc_try gfc_check_hostnm (gfc_expr *);
+gfc_try gfc_check_huge (gfc_expr *);
+gfc_try gfc_check_hypot (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_i (gfc_expr *);
+gfc_try gfc_check_iand (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_and (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ibclr (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ibits (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ibset (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ichar_iachar (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_idnint (gfc_expr *);
+gfc_try gfc_check_ieor (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_index (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_int (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_intconv (gfc_expr *);
+gfc_try gfc_check_ior (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_irand (gfc_expr *);
+gfc_try gfc_check_isatty (gfc_expr *);
+gfc_try gfc_check_isnan (gfc_expr *);
+gfc_try gfc_check_ishft (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ishftc (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_kill (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_kind (gfc_expr *);
+gfc_try gfc_check_lbound (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_len_lentrim (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_link (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_lge_lgt_lle_llt (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_loc (gfc_expr *);
+gfc_try gfc_check_logical (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_min_max (gfc_actual_arglist *);
+gfc_try gfc_check_min_max_integer (gfc_actual_arglist *);
+gfc_try gfc_check_min_max_real (gfc_actual_arglist *);
+gfc_try gfc_check_min_max_double (gfc_actual_arglist *);
+gfc_try gfc_check_malloc (gfc_expr *);
+gfc_try gfc_check_matmul (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_merge (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_minloc_maxloc (gfc_actual_arglist *);
+gfc_try gfc_check_minval_maxval (gfc_actual_arglist *);
+gfc_try gfc_check_nearest (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_new_line (gfc_expr *);
+gfc_try gfc_check_null (gfc_expr *);
+gfc_try gfc_check_pack (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_precision (gfc_expr *);
+gfc_try gfc_check_present (gfc_expr *);
+gfc_try gfc_check_product_sum (gfc_actual_arglist *);
+gfc_try gfc_check_radix (gfc_expr *);
+gfc_try gfc_check_rand (gfc_expr *);
+gfc_try gfc_check_range (gfc_expr *);
+gfc_try gfc_check_real (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_rename (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_repeat (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_reshape (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_scale (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_scan (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_second_sub (gfc_expr *);
+gfc_try gfc_check_secnds (gfc_expr *);
+gfc_try gfc_check_selected_char_kind (gfc_expr *);
+gfc_try gfc_check_selected_int_kind (gfc_expr *);
+gfc_try gfc_check_selected_real_kind (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_set_exponent (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_shape (gfc_expr *);
+gfc_try gfc_check_size (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_sign (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_signal (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_sizeof (gfc_expr *);
+gfc_try gfc_check_spread (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_srand (gfc_expr *);
+gfc_try gfc_check_stat (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_sum (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_symlnk (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_transfer (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_transpose (gfc_expr *);
+gfc_try gfc_check_trim (gfc_expr *);
+gfc_try gfc_check_ttynam (gfc_expr *);
+gfc_try gfc_check_ubound (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_umask (gfc_expr *);
+gfc_try gfc_check_unlink (gfc_expr *);
+gfc_try gfc_check_unpack (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_verify (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_x (gfc_expr *);


 /* Intrinsic subroutines.  */
-try gfc_check_alarm_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_chdir_sub (gfc_expr *, gfc_expr *);
-try gfc_check_chmod_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_cpu_time (gfc_expr *);
-try gfc_check_ctime_sub (gfc_expr *, gfc_expr *);
-try gfc_check_system_clock (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_date_and_time (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_exit (gfc_expr *);
-try gfc_check_fdate_sub (gfc_expr *);
-try gfc_check_flush (gfc_expr *);
-try gfc_check_free (gfc_expr *);
-try gfc_check_fstat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_gerror (gfc_expr *);
-try gfc_check_getarg (gfc_expr *, gfc_expr *);
-try gfc_check_getlog (gfc_expr *);
-try gfc_check_move_alloc (gfc_expr *, gfc_expr *);
-try gfc_check_mvbits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
+gfc_try gfc_check_alarm_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_chdir_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_chmod_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_cpu_time (gfc_expr *);
+gfc_try gfc_check_ctime_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_system_clock (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_date_and_time (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_exit (gfc_expr *);
+gfc_try gfc_check_fdate_sub (gfc_expr *);
+gfc_try gfc_check_flush (gfc_expr *);
+gfc_try gfc_check_free (gfc_expr *);
+gfc_try gfc_check_fstat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_gerror (gfc_expr *);
+gfc_try gfc_check_getarg (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_getlog (gfc_expr *);
+gfc_try gfc_check_move_alloc (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_mvbits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
 		      gfc_expr *);
-try gfc_check_random_number (gfc_expr *);
-try gfc_check_random_seed (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_dtime_etime_sub (gfc_expr *, gfc_expr *);
-try gfc_check_fgetputc_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_fgetput_sub (gfc_expr *, gfc_expr *);
-try gfc_check_fseek_sub (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_ftell_sub (gfc_expr *, gfc_expr *);
-try gfc_check_getcwd_sub (gfc_expr *, gfc_expr *);
-try gfc_check_hostnm_sub (gfc_expr *, gfc_expr *);
-try gfc_check_itime_idate (gfc_expr *);
-try gfc_check_kill_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_ltime_gmtime (gfc_expr *, gfc_expr *);
-try gfc_check_perror (gfc_expr *);
-try gfc_check_rename_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_link_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_symlnk_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_signal_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_sleep_sub (gfc_expr *);
-try gfc_check_stat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
-try gfc_check_system_sub (gfc_expr *, gfc_expr *);
-try gfc_check_ttynam_sub (gfc_expr *, gfc_expr *);
-try gfc_check_umask_sub (gfc_expr *, gfc_expr *);
-try gfc_check_unlink_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_random_number (gfc_expr *);
+gfc_try gfc_check_random_seed (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_dtime_etime_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_fgetputc_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_fgetput_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_fseek_sub (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ftell_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_getcwd_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_hostnm_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_itime_idate (gfc_expr *);
+gfc_try gfc_check_kill_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ltime_gmtime (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_perror (gfc_expr *);
+gfc_try gfc_check_rename_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_link_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_symlnk_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_signal_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_sleep_sub (gfc_expr *);
+gfc_try gfc_check_stat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
+gfc_try gfc_check_system_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_ttynam_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_umask_sub (gfc_expr *, gfc_expr *);
+gfc_try gfc_check_unlink_sub (gfc_expr *, gfc_expr *);


 /* Simplification functions.  */
diff -rup orig/egcc-SVN20080728/gcc/fortran/io.c egcc-SVN20080728/gcc/fortran/io.c
--- orig/egcc-SVN20080728/gcc/fortran/io.c	2008-07-23 02:00:06.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/io.c	2008-07-28 17:46:10.000000000 +0200
@@ -474,7 +474,7 @@ format_lex (void)
    by itself, and we are checking it for validity.  The dual origin
    means that the warning message is a little less than great.  */

-static try
+static gfc_try
 check_format (bool is_input)
 {
   const char *posint_required	  = _("Positive width required");
@@ -489,7 +489,7 @@ check_format (bool is_input)
   format_token t, u;
   int level;
   int repeat;
-  try rv;
+  gfc_try rv;

   use_last_char = 0;
   saved_token = FMT_NONE;
@@ -981,7 +981,7 @@ finished:
 /* Given an expression node that is a constant string, see if it looks
    like a format string.  */

-static try
+static gfc_try
 check_format_string (gfc_expr *e, bool is_input)
 {
   if (!e || e->ts.type != BT_CHARACTER || e->expr_type != EXPR_CONSTANT)
@@ -1191,7 +1191,7 @@ match_ltag (const io_tag *tag, gfc_st_la

 /* Resolution of the FORMAT tag, to be called from resolve_tag.  */

-static try
+static gfc_try
 resolve_tag_format (const gfc_expr *e)
 {
   if (e->expr_type == EXPR_CONSTANT
@@ -1260,7 +1260,7 @@ resolve_tag_format (const gfc_expr *e)

 /* Do expression resolution and type-checking on an expression tag.  */

-static try
+static gfc_try
 resolve_tag (const io_tag *tag, gfc_expr *e)
 {
   if (e == NULL)
@@ -1417,7 +1417,7 @@ gfc_free_open (gfc_open *open)

 /* Resolve everything in a gfc_open structure.  */

-try
+gfc_try
 gfc_resolve_open (gfc_open *open)
 {

@@ -2017,7 +2017,7 @@ cleanup:

 /* Resolve everything in a gfc_close structure.  */

-try
+gfc_try
 gfc_resolve_close (gfc_close *close)
 {
   RESOLVE_TAG (&tag_unit, close->unit);
@@ -2141,7 +2141,7 @@ cleanup:
 }


-try
+gfc_try
 gfc_resolve_filepos (gfc_filepos *fp)
 {
   RESOLVE_TAG (&tag_unit, fp->unit);
@@ -2467,7 +2467,7 @@ gfc_free_dt (gfc_dt *dt)

 /* Resolve everything in a gfc_dt structure.  */

-try
+gfc_try
 gfc_resolve_dt (gfc_dt *dt)
 {
   gfc_expr *e;
@@ -3705,7 +3705,7 @@ cleanup:

 /* Resolve everything in a gfc_inquire structure.  */

-try
+gfc_try
 gfc_resolve_inquire (gfc_inquire *inquire)
 {
   RESOLVE_TAG (&tag_unit, inquire->unit);
@@ -3764,7 +3764,7 @@ gfc_free_wait (gfc_wait *wait)
 }


-try
+gfc_try
 gfc_resolve_wait (gfc_wait *wait)
 {
   RESOLVE_TAG (&tag_unit, wait->unit);
diff -rup orig/egcc-SVN20080728/gcc/fortran/match.h egcc-SVN20080728/gcc/fortran/match.h
--- orig/egcc-SVN20080728/gcc/fortran/match.h	2008-07-03 02:00:15.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/match.h	2008-07-28 17:46:10.000000000 +0200
@@ -175,10 +175,10 @@ match gfc_match_volatile (void);
 /* Fortran 2003 c interop.
    TODO: some of these should be moved to another file rather than decl.c */
 void set_com_block_bind_c (gfc_common_head *, int);
-try set_binding_label (char *, const char *, int);
-try set_verify_bind_c_sym (gfc_symbol *, int);
-try set_verify_bind_c_com_block (gfc_common_head *, int);
-try get_bind_c_idents (void);
+gfc_try set_binding_label (char *, const char *, int);
+gfc_try set_verify_bind_c_sym (gfc_symbol *, int);
+gfc_try set_verify_bind_c_com_block (gfc_common_head *, int);
+gfc_try get_bind_c_idents (void);
 match gfc_match_bind_c_stmt (void);
 match gfc_match_suffix (gfc_symbol *, gfc_symbol **);
 match gfc_match_bind_c (gfc_symbol *, bool);
diff -rup orig/egcc-SVN20080728/gcc/fortran/parse.c egcc-SVN20080728/gcc/fortran/parse.c
--- orig/egcc-SVN20080728/gcc/fortran/parse.c	2008-07-22 02:00:11.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/parse.c	2008-07-28 17:46:10.000000000 +0200
@@ -923,7 +923,7 @@ pop_state (void)

 /* Try to find the given state in the state stack.  */

-try
+gfc_try
 gfc_find_state (gfc_compile_state state)
 {
   gfc_state_data *p;
@@ -1575,7 +1575,7 @@ typedef struct
 }
 st_state;

-static try
+static gfc_try
 verify_st_order (st_state *p, gfc_statement st)
 {

@@ -3563,7 +3563,7 @@ add_global_program (void)

 /* Top level parser.  */

-try
+gfc_try
 gfc_parse_file (void)
 {
   int seen_program, errors_before, errors;
diff -rup orig/egcc-SVN20080728/gcc/fortran/parse.h egcc-SVN20080728/gcc/fortran/parse.h
--- orig/egcc-SVN20080728/gcc/fortran/parse.h	2008-03-14 00:34:29.000000000 +0100
+++ egcc-SVN20080728/gcc/fortran/parse.h	2008-07-28 17:46:10.000000000 +0200
@@ -61,7 +61,7 @@ extern gfc_state_data *gfc_state_stack;
 #define gfc_current_state() (gfc_state_stack->state)

 int gfc_check_do_variable (gfc_symtree *);
-try gfc_find_state (gfc_compile_state);
+gfc_try gfc_find_state (gfc_compile_state);
 gfc_state_data *gfc_enclosing_unit (gfc_compile_state *);
 const char *gfc_ascii_statement (gfc_statement);
 match gfc_match_enum (void);
diff -rup orig/egcc-SVN20080728/gcc/fortran/resolve.c egcc-SVN20080728/gcc/fortran/resolve.c
--- orig/egcc-SVN20080728/gcc/fortran/resolve.c	2008-07-25 02:00:07.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/resolve.c	2008-07-28 17:46:10.000000000 +0200
@@ -298,7 +298,7 @@ resolve_formal_arglists (gfc_namespace *
 static void
 resolve_contained_fntype (gfc_symbol *sym, gfc_namespace *ns)
 {
-  try t;
+  gfc_try t;

   /* If this namespace is not a function or an entry master function,
      ignore it.  */
@@ -767,12 +767,12 @@ resolve_contained_functions (gfc_namespa
 /* Resolve all of the elements of a structure constructor and make sure that
    the types are correct.  */

-static try
+static gfc_try
 resolve_structure_cons (gfc_expr *expr)
 {
   gfc_constructor *cons;
   gfc_component *comp;
-  try t;
+  gfc_try t;
   symbol_attribute a;

   t = SUCCESS;
@@ -1017,7 +1017,7 @@ resolve_assumed_size_actual (gfc_expr *e
    that look like procedure arguments are really simple variable
    references.  */

-static try
+static gfc_try
 resolve_actual_arglist (gfc_actual_arglist *arg, procedure_type ptype)
 {
   gfc_symbol *sym;
@@ -1261,7 +1261,7 @@ resolve_actual_arglist (gfc_actual_argli
    procedures.  If called with c == NULL, we have a function, otherwise if
    expr == NULL, we have a subroutine.  */

-static try
+static gfc_try
 resolve_elemental_actual (gfc_expr *expr, gfc_code *c)
 {
   gfc_actual_arglist *arg0;
@@ -1506,7 +1506,7 @@ resolve_generic_f0 (gfc_expr *expr, gfc_
 }


-static try
+static gfc_try
 resolve_generic_f (gfc_expr *expr)
 {
   gfc_symbol *sym;
@@ -1622,7 +1622,7 @@ found:
 }


-static try
+static gfc_try
 resolve_specific_f (gfc_expr *expr)
 {
   gfc_symbol *sym;
@@ -1656,7 +1656,7 @@ resolve_specific_f (gfc_expr *expr)

 /* Resolve a procedure call not known to be generic nor specific.  */

-static try
+static gfc_try
 resolve_unknown_f (gfc_expr *expr)
 {
   gfc_symbol *sym;
@@ -1796,10 +1796,10 @@ pure_stmt_function (gfc_expr *e, gfc_sym
 }


-static try
+static gfc_try
 is_scalar_expr_ptr (gfc_expr *expr)
 {
-  try retval = SUCCESS;
+  gfc_try retval = SUCCESS;
   gfc_ref *ref;
   int start;
   int end;
@@ -1897,14 +1897,14 @@ is_scalar_expr_ptr (gfc_expr *expr)
    and, in the case of c_associated, set the binding label based on
    the arguments.  */

-static try
+static gfc_try
 gfc_iso_c_func_interface (gfc_symbol *sym, gfc_actual_arglist *args,
                           gfc_symbol **new_sym)
 {
   char name[GFC_MAX_SYMBOL_LEN + 1];
   char binding_label[GFC_MAX_BINDING_LABEL_LEN + 1];
   int optional_arg = 0;
-  try retval = SUCCESS;
+  gfc_try retval = SUCCESS;
   gfc_symbol *args_sym;
   gfc_typespec *arg_ts;
   gfc_ref *parent_ref;
@@ -2161,13 +2161,13 @@ gfc_iso_c_func_interface (gfc_symbol *sy
 /* TODO: Check procedure arguments so that an INTENT(IN) isn't passed
    to INTENT(OUT) or INTENT(INOUT).  */

-static try
+static gfc_try
 resolve_function (gfc_expr *expr)
 {
   gfc_actual_arglist *arg;
   gfc_symbol *sym;
   const char *name;
-  try t;
+  gfc_try t;
   int temp;
   procedure_type p = PROC_INTRINSIC;

@@ -2438,7 +2438,7 @@ resolve_generic_s0 (gfc_code *c, gfc_sym
 }


-static try
+static gfc_try
 resolve_generic_s (gfc_code *c)
 {
   gfc_symbol *sym;
@@ -2698,7 +2698,7 @@ found:
 }


-static try
+static gfc_try
 resolve_specific_s (gfc_code *c)
 {
   gfc_symbol *sym;
@@ -2733,7 +2733,7 @@ resolve_specific_s (gfc_code *c)

 /* Resolve a subroutine call not known to be generic nor specific.  */

-static try
+static gfc_try
 resolve_unknown_s (gfc_code *c)
 {
   gfc_symbol *sym;
@@ -2772,10 +2772,10 @@ found:
    for functions, subroutines and functions are stored differently and this
    makes things awkward.  */

-static try
+static gfc_try
 resolve_call (gfc_code *c)
 {
-  try t;
+  gfc_try t;
   procedure_type ptype = PROC_INTRINSIC;

   if (c->symtree && c->symtree->n.sym
@@ -2864,10 +2864,10 @@ resolve_call (gfc_code *c)
    if their shapes do not match.  If either op1->shape or op2->shape is
    NULL, return SUCCESS.  */

-static try
+static gfc_try
 compare_shapes (gfc_expr *op1, gfc_expr *op2)
 {
-  try t;
+  gfc_try t;
   int i;

   t = SUCCESS;
@@ -2893,13 +2893,13 @@ compare_shapes (gfc_expr *op1, gfc_expr
 /* Resolve an operator expression node.  This can involve replacing the
    operation with a user defined function call.  */

-static try
+static gfc_try
 resolve_operator (gfc_expr *e)
 {
   gfc_expr *op1, *op2;
   char msg[200];
   bool dual_locus_error;
-  try t;
+  gfc_try t;

   /* Resolve all subnodes-- give them types.  */

@@ -3338,7 +3338,7 @@ compute_last_value_for_triplet (gfc_expr
 /* Compare a single dimension of an array reference to the array
    specification.  */

-static try
+static gfc_try
 check_dimension (int i, gfc_array_ref *ar, gfc_array_spec *as)
 {
   mpz_t last_value;
@@ -3456,7 +3456,7 @@ check_dimension (int i, gfc_array_ref *a

 /* Compare an array reference with an array specification.  */

-static try
+static gfc_try
 compare_spec_to_ref (gfc_array_ref *ar)
 {
   gfc_array_spec *as;
@@ -3495,7 +3495,7 @@ compare_spec_to_ref (gfc_array_ref *ar)

 /* Resolve one part of an array index.  */

-try
+gfc_try
 gfc_resolve_index (gfc_expr *index, int check_scalar)
 {
   gfc_typespec ts;
@@ -3539,7 +3539,7 @@ gfc_resolve_index (gfc_expr *index, int

 /* Resolve a dim argument to an intrinsic function.  */

-try
+gfc_try
 gfc_resolve_dim_arg (gfc_expr *dim)
 {
   if (dim == NULL)
@@ -3644,7 +3644,7 @@ find_array_spec (gfc_expr *e)

 /* Resolve an array reference.  */

-static try
+static gfc_try
 resolve_array_ref (gfc_array_ref *ar)
 {
   int i, check_scalar;
@@ -3705,7 +3705,7 @@ resolve_array_ref (gfc_array_ref *ar)
 }


-static try
+static gfc_try
 resolve_substring (gfc_ref *ref)
 {
   if (ref->u.ss.start != NULL)
@@ -3837,7 +3837,7 @@ gfc_resolve_substring_charlen (gfc_expr

 /* Resolve subtype references.  */

-static try
+static gfc_try
 resolve_ref (gfc_expr *expr)
 {
   int current_part_dimension, n_components, seen_part_dimension;
@@ -4035,11 +4035,11 @@ done:

 /* Resolve a variable expression.  */

-static try
+static gfc_try
 resolve_variable (gfc_expr *e)
 {
   gfc_symbol *sym;
-  try t;
+  gfc_try t;

   t = SUCCESS;

@@ -4285,10 +4285,10 @@ fixup_charlen (gfc_expr *e)
    with their operators, intrinsic operators are converted to function calls
    for overloaded types and unresolved function references are resolved.  */

-try
+gfc_try
 gfc_resolve_expr (gfc_expr *e)
 {
-  try t;
+  gfc_try t;

   if (e == NULL)
     return SUCCESS;
@@ -4373,7 +4373,7 @@ gfc_resolve_expr (gfc_expr *e)
 /* Resolve an expression from an iterator.  They must be scalar and have
    INTEGER or (optionally) REAL type.  */

-static try
+static gfc_try
 gfc_resolve_iterator_expr (gfc_expr *expr, bool real_ok,
 			   const char *name_msgid)
 {
@@ -4414,7 +4414,7 @@ gfc_resolve_iterator_expr (gfc_expr *exp
 /* Resolve the expressions in an iterator structure.  If REAL_OK is
    false allow only INTEGER type iterators, otherwise allow REAL types.  */

-try
+gfc_try
 gfc_resolve_iterator (gfc_iterator *iter, bool real_ok)
 {
   if (gfc_resolve_iterator_expr (iter->var, real_ok, "Loop variable")
@@ -4497,7 +4497,7 @@ forall_index (gfc_expr *expr, gfc_symbol
 /* Check whether the FORALL index appears in the expression or not.
    Returns SUCCESS if SYM is found in EXPR.  */

-try
+gfc_try
 find_forall_index (gfc_expr *expr, gfc_symbol *sym, int f)
 {
   if (gfc_traverse_expr (expr, sym, forall_index, f))
@@ -4597,7 +4597,7 @@ derived_inaccessible (gfc_symbol *sym)
 /* Resolve the argument of a deallocate expression.  The expression must be
    a pointer or a full array.  */

-static try
+static gfc_try
 resolve_deallocate_expr (gfc_expr *e)
 {
   symbol_attribute attr;
@@ -4712,7 +4712,7 @@ expr_to_initialize (gfc_expr *e)
    checks to see whether the expression is OK or not.  The expression must
    have a trailing array reference that gives the size of the array.  */

-static try
+static gfc_try
 resolve_allocate_expr (gfc_expr *e, gfc_code *code)
 {
   int i, pointer, allocatable, dimension, check_intent_in;
@@ -5112,7 +5112,7 @@ check_case_overlap (gfc_case *list)
    Makes sure that all case expressions are scalar constants of the same
    type.  Return FAILURE if anything is wrong.  */

-static try
+static gfc_try
 validate_case_label_expr (gfc_expr *e, gfc_expr *case_expr)
 {
   if (e == NULL) return SUCCESS;
@@ -5181,7 +5181,7 @@ resolve_select (gfc_code *code)
   int seen_logical;
   int ncases;
   bt type;
-  try t;
+  gfc_try t;

   if (code->expr == NULL)
     {
@@ -5622,12 +5622,12 @@ resolve_branch (gfc_st_label *label, gfc

 /* Check whether EXPR1 has the same shape as EXPR2.  */

-static try
+static gfc_try
 resolve_where_shape (gfc_expr *expr1, gfc_expr *expr2)
 {
   mpz_t shape[GFC_MAX_DIMENSIONS];
   mpz_t shape2[GFC_MAX_DIMENSIONS];
-  try result = FAILURE;
+  gfc_try result = FAILURE;
   int i;

   /* Compare the rank.  */
@@ -5934,7 +5934,7 @@ static void resolve_code (gfc_code *, gf
 void
 gfc_resolve_blocks (gfc_code *b, gfc_namespace *ns)
 {
-  try t;
+  gfc_try t;

   for (; b; b = b->block)
     {
@@ -6148,7 +6148,7 @@ resolve_code (gfc_code *code, gfc_namesp
   int omp_workshare_save;
   int forall_save;
   code_stack frame;
-  try t;
+  gfc_try t;

   frame.prev = cs_base;
   frame.head = code;
@@ -6666,7 +6666,7 @@ gfc_verify_binding_labels (gfc_symbol *s

 /* Resolve an index expression.  */

-static try
+static gfc_try
 resolve_index_expr (gfc_expr *e)
 {
   if (gfc_resolve_expr (e) == FAILURE)
@@ -6683,7 +6683,7 @@ resolve_index_expr (gfc_expr *e)

 /* Resolve a charlen structure.  */

-static try
+static gfc_try
 resolve_charlen (gfc_charlen *cl)
 {
   int i;
@@ -6983,7 +6983,7 @@ apply_default_init_local (gfc_symbol *sy

 /* Resolution of common features of flavors variable and procedure.  */

-static try
+static gfc_try
 resolve_fl_var_and_proc (gfc_symbol *sym, int mp_flag)
 {
   /* Constraints on deferred shape variable.  */
@@ -7025,7 +7025,7 @@ resolve_fl_var_and_proc (gfc_symbol *sym
 /* Additional checks for symbols with flavor variable and derived
    type.  To be called from resolve_fl_variable.  */

-static try
+static gfc_try
 resolve_fl_variable_derived (gfc_symbol *sym, int no_init_flag)
 {
   gcc_assert (sym->ts.type == BT_DERIVED);
@@ -7084,7 +7084,7 @@ resolve_fl_variable_derived (gfc_symbol

 /* Resolve symbols with flavor variable.  */

-static try
+static gfc_try
 resolve_fl_variable (gfc_symbol *sym, int mp_flag)
 {
   int no_init_flag, automatic_flag;
@@ -7209,7 +7209,7 @@ no_init_error:

 /* Resolve a procedure.  */

-static try
+static gfc_try
 resolve_fl_procedure (gfc_symbol *sym, int mp_flag)
 {
   gfc_formal_arglist *arg;
@@ -7451,12 +7451,12 @@ resolve_fl_procedure (gfc_symbol *sym, i
    been defined and we now know their defined arguments, check that they fulfill
    the requirements of the standard for procedures used as finalizers.  */

-static try
+static gfc_try
 gfc_resolve_finalizers (gfc_symbol* derived)
 {
   gfc_finalizer* list;
   gfc_finalizer** prev_link; /* For removing wrong entries from the list.  */
-  try result = SUCCESS;
+  gfc_try result = SUCCESS;
   bool seen_scalar = false;

   if (!derived->f2k_derived || !derived->f2k_derived->finalizers)
@@ -7610,7 +7610,7 @@ add_dt_to_dt_list (gfc_symbol *derived)

 /* Resolve the components of a derived type.  */

-static try
+static gfc_try
 resolve_fl_derived (gfc_symbol *sym)
 {
   gfc_component *c;
@@ -7707,7 +7707,7 @@ resolve_fl_derived (gfc_symbol *sym)
 }


-static try
+static gfc_try
 resolve_fl_namelist (gfc_symbol *sym)
 {
   gfc_namelist *nl;
@@ -7826,7 +7826,7 @@ resolve_fl_namelist (gfc_symbol *sym)
 }


-static try
+static gfc_try
 resolve_fl_parameter (gfc_symbol *sym)
 {
   /* A parameter array's shape needs to be constant.  */
@@ -8098,7 +8098,7 @@ resolve_symbol (gfc_symbol *sym)
       sym->attr.use_assoc == 0 && sym->attr.dummy == 0 &&
       sym->attr.flavor != FL_PROCEDURE && sym->attr.flavor != FL_DERIVED)
     {
-      try t = SUCCESS;
+      gfc_try t = SUCCESS;

       /* First, make sure the variable is declared at the
 	 module-level scope (J3/04-007, Section 15.3).	*/
@@ -8311,7 +8311,7 @@ values;

 /* Advance the values structure to point to the next value in the data list.  */

-static try
+static gfc_try
 next_data_value (void)
 {

@@ -8328,13 +8328,13 @@ next_data_value (void)
 }


-static try
+static gfc_try
 check_data_variable (gfc_data_variable *var, locus *where)
 {
   gfc_expr *e;
   mpz_t size;
   mpz_t offset;
-  try t;
+  gfc_try t;
   ar_type mark = AR_UNKNOWN;
   int i;
   mpz_t section_index[GFC_MAX_DIMENSIONS];
@@ -8491,17 +8491,17 @@ check_data_variable (gfc_data_variable *
 }


-static try traverse_data_var (gfc_data_variable *, locus *);
+static gfc_try traverse_data_var (gfc_data_variable *, locus *);

 /* Iterate over a list of elements in a DATA statement.  */

-static try
+static gfc_try
 traverse_data_list (gfc_data_variable *var, locus *where)
 {
   mpz_t trip;
   iterator_stack frame;
   gfc_expr *e, *start, *end, *step;
-  try retval = SUCCESS;
+  gfc_try retval = SUCCESS;

   mpz_init (frame.value);

@@ -8581,10 +8581,10 @@ cleanup:

 /* Type resolve variables in the variable list of a DATA statement.  */

-static try
+static gfc_try
 traverse_data_var (gfc_data_variable *var, locus *where)
 {
-  try t;
+  gfc_try t;

   for (; var; var = var->next)
     {
@@ -8605,7 +8605,7 @@ traverse_data_var (gfc_data_variable *va
    This is separate from the assignment checking because data lists should
    only be resolved once.  */

-static try
+static gfc_try
 resolve_data_variables (gfc_data_variable *d)
 {
   for (; d; d = d->next)
@@ -8821,7 +8821,7 @@ sequence_type (gfc_typespec ts)

 /* Resolve derived type EQUIVALENCE object.  */

-static try
+static gfc_try
 resolve_equivalence_derived (gfc_symbol *derived, gfc_symbol *sym, gfc_expr *e)
 {
   gfc_symbol *d;
diff -rup orig/egcc-SVN20080728/gcc/fortran/scanner.c egcc-SVN20080728/gcc/fortran/scanner.c
--- orig/egcc-SVN20080728/gcc/fortran/scanner.c	2008-07-22 02:00:11.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/scanner.c	2008-07-28 17:46:10.000000000 +0200
@@ -1672,7 +1672,7 @@ preprocessor_line (gfc_char_t *c)
 }


-static try load_file (const char *, const char *, bool);
+static gfc_try load_file (const char *, const char *, bool);

 /* include_line()-- Checks a line buffer to see if it is an include
    line.  If so, we call load_file() recursively to load the included
@@ -1751,7 +1751,7 @@ include_line (gfc_char_t *line)

 /* Load a file into memory by calling load_line until the file ends.  */

-static try
+static gfc_try
 load_file (const char *realfilename, const char *displayedname, bool initial)
 {
   gfc_char_t *line;
@@ -1921,10 +1921,10 @@ load_file (const char *realfilename, con
    it tries to determine the source form from the filename, defaulting
    to free form.  */

-try
+gfc_try
 gfc_new_file (void)
 {
-  try result;
+  gfc_try result;

   if (gfc_cpp_enabled ())
     {
diff -rup orig/egcc-SVN20080728/gcc/fortran/simplify.c egcc-SVN20080728/gcc/fortran/simplify.c
--- orig/egcc-SVN20080728/gcc/fortran/simplify.c	2008-06-20 08:07:55.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/simplify.c	2008-07-28 17:46:10.000000000 +0200
@@ -3942,7 +3942,7 @@ gfc_simplify_shape (gfc_expr *source)
   gfc_expr *result, *e, *f;
   gfc_array_ref *ar;
   int n;
-  try t;
+  gfc_try t;

   if (source->rank == 0)
     return gfc_start_constructor (BT_INTEGER, gfc_default_integer_kind,
diff -rup orig/egcc-SVN20080728/gcc/fortran/symbol.c egcc-SVN20080728/gcc/fortran/symbol.c
--- orig/egcc-SVN20080728/gcc/fortran/symbol.c	2008-07-22 02:00:11.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/symbol.c	2008-07-28 17:46:10.000000000 +0200
@@ -145,7 +145,7 @@ gfc_clear_new_implicit (void)

 /* Prepare for a new implicit range.  Sets flags in new_flag[].  */

-try
+gfc_try
 gfc_add_new_implicit_range (int c1, int c2)
 {
   int i;
@@ -172,7 +172,7 @@ gfc_add_new_implicit_range (int c1, int
 /* Add a matched implicit range for gfc_set_implicit().  Check if merging
    the new implicit types back into the existing types will work.  */

-try
+gfc_try
 gfc_merge_new_implicit (gfc_typespec *ts)
 {
   int i;
@@ -230,7 +230,7 @@ gfc_get_default_type (gfc_symbol *sym, g
    letter of its name.  Fails if the letter in question has no default
    type.  */

-try
+gfc_try
 gfc_set_default_type (gfc_symbol *sym, int error_flag, gfc_namespace *ns)
 {
   gfc_typespec *ts;
@@ -336,7 +336,7 @@ gfc_check_function_type (gfc_namespace *
                                 goto conflict_std;\
                               }

-static try
+static gfc_try
 check_conflict (symbol_attribute *attr, const char *name, locus *where)
 {
   static const char *dummy = "DUMMY", *save = "SAVE", *pointer = "POINTER",
@@ -790,7 +790,7 @@ duplicate_attr (const char *attr, locus
 /* Called from decl.c (attr_decl1) to check attributes, when declared
    separately.  */

-try
+gfc_try
 gfc_add_attribute (symbol_attribute *attr, locus *where)
 {

@@ -800,7 +800,7 @@ gfc_add_attribute (symbol_attribute *att
   return check_conflict (attr, NULL, where);
 }

-try
+gfc_try
 gfc_add_allocatable (symbol_attribute *attr, locus *where)
 {

@@ -826,7 +826,7 @@ gfc_add_allocatable (symbol_attribute *a
 }


-try
+gfc_try
 gfc_add_dimension (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -852,7 +852,7 @@ gfc_add_dimension (symbol_attribute *att
 }


-try
+gfc_try
 gfc_add_external (symbol_attribute *attr, locus *where)
 {

@@ -877,7 +877,7 @@ gfc_add_external (symbol_attribute *attr
 }


-try
+gfc_try
 gfc_add_intrinsic (symbol_attribute *attr, locus *where)
 {

@@ -896,7 +896,7 @@ gfc_add_intrinsic (symbol_attribute *att
 }


-try
+gfc_try
 gfc_add_optional (symbol_attribute *attr, locus *where)
 {

@@ -914,7 +914,7 @@ gfc_add_optional (symbol_attribute *attr
 }


-try
+gfc_try
 gfc_add_pointer (symbol_attribute *attr, locus *where)
 {

@@ -939,7 +939,7 @@ gfc_add_pointer (symbol_attribute *attr,
 }


-try
+gfc_try
 gfc_add_cray_pointer (symbol_attribute *attr, locus *where)
 {

@@ -951,7 +951,7 @@ gfc_add_cray_pointer (symbol_attribute *
 }


-try
+gfc_try
 gfc_add_cray_pointee (symbol_attribute *attr, locus *where)
 {

@@ -970,7 +970,7 @@ gfc_add_cray_pointee (symbol_attribute *
 }


-try
+gfc_try
 gfc_add_protected (symbol_attribute *attr, const char *name, locus *where)
 {
   if (check_used (attr, name, where))
@@ -990,7 +990,7 @@ gfc_add_protected (symbol_attribute *att
 }


-try
+gfc_try
 gfc_add_result (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1002,7 +1002,7 @@ gfc_add_result (symbol_attribute *attr,
 }


-try
+gfc_try
 gfc_add_save (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1031,7 +1031,7 @@ gfc_add_save (symbol_attribute *attr, co
 }


-try
+gfc_try
 gfc_add_value (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1052,7 +1052,7 @@ gfc_add_value (symbol_attribute *attr, c
 }


-try
+gfc_try
 gfc_add_volatile (symbol_attribute *attr, const char *name, locus *where)
 {
   /* No check_used needed as 11.2.1 of the F2003 standard allows
@@ -1071,7 +1071,7 @@ gfc_add_volatile (symbol_attribute *attr
 }


-try
+gfc_try
 gfc_add_threadprivate (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1089,7 +1089,7 @@ gfc_add_threadprivate (symbol_attribute
 }


-try
+gfc_try
 gfc_add_target (symbol_attribute *attr, locus *where)
 {

@@ -1107,7 +1107,7 @@ gfc_add_target (symbol_attribute *attr,
 }


-try
+gfc_try
 gfc_add_dummy (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1120,7 +1120,7 @@ gfc_add_dummy (symbol_attribute *attr, c
 }


-try
+gfc_try
 gfc_add_in_common (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1139,7 +1139,7 @@ gfc_add_in_common (symbol_attribute *att
 }


-try
+gfc_try
 gfc_add_in_equivalence (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1155,7 +1155,7 @@ gfc_add_in_equivalence (symbol_attribute
 }


-try
+gfc_try
 gfc_add_data (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1167,7 +1167,7 @@ gfc_add_data (symbol_attribute *attr, co
 }


-try
+gfc_try
 gfc_add_in_namelist (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1176,7 +1176,7 @@ gfc_add_in_namelist (symbol_attribute *a
 }


-try
+gfc_try
 gfc_add_sequence (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1188,7 +1188,7 @@ gfc_add_sequence (symbol_attribute *attr
 }


-try
+gfc_try
 gfc_add_elemental (symbol_attribute *attr, locus *where)
 {

@@ -1206,7 +1206,7 @@ gfc_add_elemental (symbol_attribute *att
 }


-try
+gfc_try
 gfc_add_pure (symbol_attribute *attr, locus *where)
 {

@@ -1224,7 +1224,7 @@ gfc_add_pure (symbol_attribute *attr, lo
 }


-try
+gfc_try
 gfc_add_recursive (symbol_attribute *attr, locus *where)
 {

@@ -1242,7 +1242,7 @@ gfc_add_recursive (symbol_attribute *att
 }


-try
+gfc_try
 gfc_add_entry (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1260,7 +1260,7 @@ gfc_add_entry (symbol_attribute *attr, c
 }


-try
+gfc_try
 gfc_add_function (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1273,7 +1273,7 @@ gfc_add_function (symbol_attribute *attr
 }


-try
+gfc_try
 gfc_add_subroutine (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1286,7 +1286,7 @@ gfc_add_subroutine (symbol_attribute *at
 }


-try
+gfc_try
 gfc_add_generic (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1299,7 +1299,7 @@ gfc_add_generic (symbol_attribute *attr,
 }


-try
+gfc_try
 gfc_add_proc (symbol_attribute *attr, const char *name, locus *where)
 {

@@ -1325,7 +1325,7 @@ gfc_add_proc (symbol_attribute *attr, co
 /* Flavors are special because some flavors are not what Fortran
    considers attributes and can be reaffirmed multiple times.  */

-try
+gfc_try
 gfc_add_flavor (symbol_attribute *attr, sym_flavor f, const char *name,
 		locus *where)
 {
@@ -1361,7 +1361,7 @@ gfc_add_flavor (symbol_attribute *attr,
 }


-try
+gfc_try
 gfc_add_procedure (symbol_attribute *attr, procedure_type t,
 		   const char *name, locus *where)
 {
@@ -1397,7 +1397,7 @@ gfc_add_procedure (symbol_attribute *att
 }


-try
+gfc_try
 gfc_add_intent (symbol_attribute *attr, sym_intent intent, locus *where)
 {

@@ -1423,7 +1423,7 @@ gfc_add_intent (symbol_attribute *attr,

 /* No checks for use-association in public and private statements.  */

-try
+gfc_try
 gfc_add_access (symbol_attribute *attr, gfc_access access,
 		const char *name, locus *where)
 {
@@ -1444,7 +1444,7 @@ gfc_add_access (symbol_attribute *attr,

 /* Set the is_bind_c field for the given symbol_attribute.  */

-try
+gfc_try
 gfc_add_is_bind_c (symbol_attribute *attr, const char *name, locus *where,
                    int is_proc_lang_bind_spec)
 {
@@ -1468,7 +1468,7 @@ gfc_add_is_bind_c (symbol_attribute *att
 }


-try
+gfc_try
 gfc_add_explicit_interface (gfc_symbol *sym, ifsrc source,
 			    gfc_formal_arglist * formal, locus *where)
 {
@@ -1503,7 +1503,7 @@ gfc_add_explicit_interface (gfc_symbol *

 /* Add a type to a symbol.  */

-try
+gfc_try
 gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
 {
   sym_flavor flavor;
@@ -1555,7 +1555,7 @@ gfc_clear_attr (symbol_attribute *attr)
 /* Check for missing attributes in the new symbol.  Currently does
    nothing, but it's not clear that it is unnecessary yet.  */

-try
+gfc_try
 gfc_missing_attr (symbol_attribute *attr ATTRIBUTE_UNUSED,
 		  locus *where ATTRIBUTE_UNUSED)
 {
@@ -1568,7 +1568,7 @@ gfc_missing_attr (symbol_attribute *attr
    attributes have a lot of side-effects but cannot be present given
    where we are called from, so we ignore some bits.  */

-try
+gfc_try
 gfc_copy_attr (symbol_attribute *dest, symbol_attribute *src, locus *where)
 {
   int is_proc_lang_bind_spec;
@@ -1681,7 +1681,7 @@ fail:
    already present.  On success, the component pointer is modified to
    point to the additional component structure.  */

-try
+gfc_try
 gfc_add_component (gfc_symbol *sym, const char *name,
 		   gfc_component **component)
 {
@@ -2034,12 +2034,12 @@ gfc_define_st_label (gfc_st_label *lp, g
    updating the unknown state.  Returns FAILURE if something goes
    wrong.  */

-try
+gfc_try
 gfc_reference_st_label (gfc_st_label *lp, gfc_sl_type type)
 {
   gfc_sl_type label_type;
   int labelno;
-  try rc;
+  gfc_try rc;

   if (lp == NULL)
     return SUCCESS;
@@ -3257,12 +3257,12 @@ get_iso_c_binding_dt (int sym_id)
    for such.  If an error occurs, the errors are reported here, allowing for
    multiple errors to be handled for a single derived type.  */

-try
+gfc_try
 verify_bind_c_derived_type (gfc_symbol *derived_sym)
 {
   gfc_component *curr_comp = NULL;
-  try is_c_interop = FAILURE;
-  try retval = SUCCESS;
+  gfc_try is_c_interop = FAILURE;
+  gfc_try retval = SUCCESS;

   if (derived_sym == NULL)
     gfc_internal_error ("verify_bind_c_derived_type(): Given symbol is "
@@ -3406,7 +3406,7 @@ verify_bind_c_derived_type (gfc_symbol *

 /* Generate symbols for the named constants c_null_ptr and c_null_funptr.  */

-static try
+static gfc_try
 gen_special_c_interop_ptr (int ptr_id, const char *ptr_name,
                            const char *module_name)
 {
diff -rup orig/egcc-SVN20080728/gcc/fortran/trans-openmp.c egcc-SVN20080728/gcc/fortran/trans-openmp.c
--- orig/egcc-SVN20080728/gcc/fortran/trans-openmp.c	2008-07-28 17:34:48.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/trans-openmp.c	2008-07-28 17:46:10.000000000 +0200
@@ -454,7 +454,7 @@ gfc_trans_omp_array_reduction (tree c, g
   tree decl, backend_decl, stmt;
   locus old_loc = gfc_current_locus;
   const char *iname;
-  try t;
+  gfc_try t;

   decl = OMP_CLAUSE_DECL (c);
   gfc_current_locus = where;
diff -rup orig/egcc-SVN20080728/gcc/fortran/trans-types.c egcc-SVN20080728/gcc/fortran/trans-types.c
--- orig/egcc-SVN20080728/gcc/fortran/trans-types.c	2008-07-22 02:00:11.000000000 +0200
+++ egcc-SVN20080728/gcc/fortran/trans-types.c	2008-07-28 17:46:10.000000000 +0200
@@ -124,14 +124,14 @@ int gfc_character_storage_size;
    if a mismatch occurs between ts->f90_type and ts->type; SUCCESS if
    they match.  */

-try
+gfc_try
 gfc_validate_c_kind (gfc_typespec *ts)
 {
    return ((ts->type == ts->f90_type) ? SUCCESS : FAILURE);
 }


-try
+gfc_try
 gfc_check_any_c_kind (gfc_typespec *ts)
 {
   int i;



More information about the Gcc-patches mailing list