OSDN Git Service

* config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
[pf3gnuchains/gcc-fork.git] / gcc / ch / ch-tree.h
index e1c399b..4b26e00 100644 (file)
@@ -1,5 +1,6 @@
 /* Definitions for CHILL parsing and type checking.
-   Copyright (C) 1992, 93, 1994 Free Software Foundation, Inc.
+   Copyright (C) 1992, 1993, 1994, 1998,
+   1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -15,10 +16,11 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
-#ifndef _CH_TREE_H
-#define _CH_TREE_H
+#ifndef GCC_CH_TREE_H
+#define GCC_CH_TREE_H
 
 /* Usage of TREE_LANG_FLAG_?:
    1: TUPLE_NAMED_FIELD
@@ -77,7 +79,7 @@ struct lang_identifier
    Predefined declarations have level -1; the global scope is level 0.
  */
 #define DECL_NESTING_LEVEL(DECL) \
-   ((DECL)->decl.vindex ? TREE_INT_CST_LOW((DECL)->decl.vindex) : -1)
+   ((DECL)->decl.vindex ? TREE_INT_CST_HIGH((DECL)->decl.vindex) : -1)
 
 /* Nesting of things that can have an ON-unit attached. */
 extern int action_nesting_level;
@@ -86,7 +88,7 @@ extern int action_nesting_level;
 #define ELSE_VARIANT_NAME ridpointers[(int) RID_ELSE]
 
 /* For a LABEL_DECL:  action_nesting_level of its target. */
-#define DECL_ACTION_NESTING_LEVEL(NODE) ((NODE)->decl.saved_insns.i)
+#define DECL_ACTION_NESTING_LEVEL(NODE) ((NODE)->decl.u2.i)
 
 #define DECL_OLD_PREFIX(DECL) ((DECL)->decl.initial)
 #define DECL_NEW_PREFIX(DECL) ((DECL)->decl.result)
@@ -99,7 +101,7 @@ extern tree ALL_POSTFIX;
    In this case, the USE_SEIZE_FILE directive will not be copied
    into the grant file */
 #define CH_USE_SEIZEFILE_RESTRICTED(NODE) TREE_LANG_FLAG_4(NODE)
-extern tree decl_old_name PROTO ((tree));
+extern tree decl_old_name PARAMS ((tree));
 
 /* for selective granting, mark as already granted */
 #define CH_ALREADY_GRANTED(NODE) TREE_LANG_FLAG_4(NODE)
@@ -373,9 +375,6 @@ struct mode_chain;  /* Forward reference */
 #define CH_REFERABLE(EXPR) chill_referable(EXPR)
 #define CH_LOCATION_P(EXPR) chill_location (EXPR)
 \f
-extern int maybe_objc_comptypes ();
-extern tree maybe_building_objc_message_expr ();
-\f
 /* Standard named or nameless data types of the C compiler.  */
 
 /* Nonzero means `$' can be in an identifier.  */
@@ -391,10 +390,6 @@ extern int flag_cond_mismatch;
 
 extern int flag_no_asm;
 
-/* Nonzero means ignore `#ident' directives.  */
-
-extern int flag_no_ident;
-
 /* Nonzero means warn about implicit declarations.  */
 
 extern int warn_implicit;
@@ -432,10 +427,6 @@ extern int warn_nested_externs;
 
 extern int warn_cast_qual;
 
-/* Warn about traditional constructs whose meanings changed in ANSI C.  */
-
-extern int warn_traditional;
-
 /* Warn about *printf or *scanf format/argument anomalies. */
 
 extern int warn_format;
@@ -452,19 +443,10 @@ extern int warn_conversion;
 
 extern int warn_switch;
 
-/* Nonzero means do some things the same way PCC does.  */
-
-extern int flag_traditional;
-
 /* Nonzero means warn about suggesting putting in ()'s.  */
 
 extern int warn_parentheses;
 
-/* Nonzero means this is a function to call to perform comptypes
-   on two record types.  */
-
-extern int (*comptypes_record_hook) ();
-
 /* Nonzero means we are reading code that came from a system header file.  */
 extern int system_header_p;
 
@@ -485,9 +467,6 @@ extern tree signed_boolean_type_node;
 extern tree string_one_type_node;
 extern tree bitstring_one_type_node, bit_zero_node, bit_one_node;
 
-extern tree float_type_node, double_type_node;
-extern tree void_type_node, ptr_type_node, const_ptr_type_node;
-
 /* a VOID_TYPE node, packaged in a TREE_LIST.  */
 
 extern tree void_list_node;
@@ -634,28 +613,20 @@ extern tree case_else_node;
 #endif
 
 /* in c-aux-info.c */
-extern void gen_aux_info_record                 PROTO((tree, int, int, int));
+extern void gen_aux_info_record                 PARAMS ((tree, int, int, int));
 
 /* in c-common.c */
-extern tree combine_strings                     PROTO((tree));
-extern void constant_expression_warning         PROTO((tree));
-extern void decl_attributes                     PROTO((tree, tree));
-extern void declare_function_name               PROTO((void));
+extern tree combine_strings                     PARAMS ((tree));
+extern void constant_expression_warning         PARAMS ((tree));
+extern void decl_attributes                     PARAMS ((tree, tree));
+extern void declare_function_name               PARAMS ((void));
 #ifdef BUFSIZ
-extern char *get_directive_line                 PROTO((FILE *));
+extern char *get_directive_line                 PARAMS ((FILE *));
 #endif
-extern tree shorten_compare                     PROTO((tree *, tree *, tree *, enum tree_code *));
+extern tree shorten_compare                     PARAMS ((tree *, tree *, tree *, enum tree_code *));
 
 /* in c-decl.c */
-extern tree short_integer_type_node, integer_type_node;
-extern tree long_integer_type_node, long_long_integer_type_node;
-extern tree short_unsigned_type_node, unsigned_type_node;
-extern tree long_unsigned_type_node, long_long_unsigned_type_node;
-extern tree ptrdiff_type_node;
-extern tree unsigned_char_type_node, signed_char_type_node, char_type_node;
 extern tree wchar_type_node, signed_wchar_type_node, unsigned_wchar_type_node;
-extern tree float_type_node, double_type_node, long_double_type_node;
-extern tree void_type_node, ptr_type_node, const_ptr_type_node;
 extern tree default_function_type;
 extern tree double_ftype_double, double_ftype_double_double;
 extern tree int_ftype_int, long_ftype_long;
@@ -668,501 +639,479 @@ extern tree boolean_true_node, boolean_false_node;
 extern tree global_function_decl;
 
 /* in except.c */
-extern void except_init_pass_2                  PROTO((void));
+extern void except_init_pass_2                  PARAMS ((void));
+extern void push_handler                       PARAMS ((void));
+extern void pop_handler                                PARAMS ((int));
 
 /* in ch-loop.c */
 extern int flag_local_loop_counter;
-extern void push_loop_block                     PROTO((void));
-extern void pop_loop_block                      PROTO((void));
-extern void build_loop_start                    PROTO((tree));
-extern void top_loop_end_check                 PROTO((tree));
-extern void build_loop_end                      PROTO((void));
-extern void build_loop_iterator                 PROTO((tree, tree, tree, tree, int, int, int));
-extern void begin_loop_scope                    PROTO((void));
-extern void end_loop_scope                      PROTO((tree));
-extern void nonvalue_begin_loop_scope           PROTO((void));
-extern void nonvalue_end_loop_scope             PROTO((void));
-
-extern tree build_enumerator                    PROTO((tree, tree));
-extern tree builtin_function                    PROTO((char *, tree, enum built_in_function function_, char *));
-extern tree c_build_type_variant                PROTO((tree, int, int));
-extern int  c_decode_option                     PROTO((int, char **));
-extern void c_mark_varargs                      PROTO((void));
-extern void clear_parm_order                    PROTO((void));
-extern tree combine_parm_decls                  PROTO((tree, tree, int));
-extern int  complete_array_type                 PROTO((tree, tree, int));
-extern void declare_parm_level                  PROTO((int));
-extern tree define_label                        PROTO((char *, int, tree));
-extern void delete_block                        PROTO((tree));
-extern void finish_decl                         PROTO((tree));
-extern tree finish_enum                         PROTO((tree, tree));
-extern void finish_function                     PROTO((int));
-extern tree finish_struct                       PROTO((tree, tree));
-extern tree get_parm_decls                      PROTO((void));
-extern tree get_parm_info                       PROTO((int));
-extern tree getdecls                            PROTO((void));
-extern tree gettags                             PROTO((void));
-extern int  global_bindings_p                   PROTO((void));
-extern tree grokfield                           PROTO((char *, int, tree, tree, tree));
-extern tree groktypename                        PROTO((tree));
-extern tree groktypename_in_parm_context        PROTO((tree));
-extern tree implicitly_declare                  PROTO((tree));
-extern void init_decl_processing                PROTO((void));
-extern void insert_block                        PROTO((tree));
-extern void keep_next_level                     PROTO((void));
-extern int  kept_level_p                        PROTO((void));
-extern tree lookup_label                        PROTO((tree));
-extern tree lookup_name                         PROTO((tree));
-extern tree maybe_build_cleanup                 PROTO((tree));
-extern void parmlist_tags_warning               PROTO((void));
-extern void pending_xref_error                  PROTO((void));
-extern void pop_chill_function_context          PROTO((void));
-extern tree poplevel                            PROTO((int, int, int));
+extern void push_loop_block                     PARAMS ((void));
+extern void pop_loop_block                      PARAMS ((void));
+extern void build_loop_start                    PARAMS ((tree));
+extern void top_loop_end_check                 PARAMS ((tree));
+extern void build_loop_end                      PARAMS ((void));
+extern void build_loop_iterator                 PARAMS ((tree, tree, tree, tree, int, int, int));
+extern void begin_loop_scope                    PARAMS ((void));
+extern void end_loop_scope                      PARAMS ((tree));
+extern void nonvalue_begin_loop_scope           PARAMS ((void));
+extern void nonvalue_end_loop_scope             PARAMS ((void));
+
+extern tree build_enumerator                    PARAMS ((tree, tree));
+extern tree c_build_type_variant                PARAMS ((tree, int, int));
+extern int  c_decode_option                     PARAMS ((int, char **));
+extern void c_mark_varargs                      PARAMS ((void));
+extern void clear_parm_order                    PARAMS ((void));
+extern int  complete_array_type                 PARAMS ((tree, tree, int));
+extern void declare_parm_level                  PARAMS ((int));
+extern tree define_label                        PARAMS ((const char *, int, tree));
+extern void delete_block                        PARAMS ((tree));
+extern void finish_decl                         PARAMS ((tree));
+extern tree finish_enum                         PARAMS ((tree, tree));
+extern void finish_function                     PARAMS ((int));
+extern tree finish_struct                       PARAMS ((tree, tree));
+extern tree get_parm_decls                      PARAMS ((void));
+extern tree get_parm_info                       PARAMS ((int));
+extern tree getdecls                            PARAMS ((void));
+extern tree gettags                             PARAMS ((void));
+extern int  global_bindings_p                   PARAMS ((void));
+extern tree grokfield                           PARAMS ((char *, int, tree, tree, tree));
+extern tree groktypename                        PARAMS ((tree));
+extern tree groktypename_in_parm_context        PARAMS ((tree));
+extern tree implicitly_declare                  PARAMS ((tree));
+extern void init_decl_processing                PARAMS ((void));
+extern void insert_block                        PARAMS ((tree));
+extern void keep_next_level                     PARAMS ((void));
+extern int  kept_level_p                        PARAMS ((void));
+extern tree lookup_label                        PARAMS ((tree));
+extern tree lookup_name                         PARAMS ((tree));
+extern tree maybe_build_cleanup                 PARAMS ((tree));
+extern void parmlist_tags_warning               PARAMS ((void));
+extern void pending_xref_error                  PARAMS ((void));
+extern void pop_chill_function_context          PARAMS ((void));
+extern tree poplevel                            PARAMS ((int, int, int));
 #ifdef BUFSIZ
-extern void print_lang_decl                     PROTO((FILE *,tree, int));
-extern void print_lang_identifier               PROTO((FILE *,tree, int));
-extern void print_lang_type                     PROTO((FILE *,tree, int));
+extern void print_lang_decl                     PARAMS ((FILE *,tree, int));
+extern void print_lang_identifier               PARAMS ((FILE *,tree, int));
+extern void print_lang_type                     PARAMS ((FILE *,tree, int));
 #endif
-extern void push_chill_function_context         PROTO((void));
-extern void push_parm_decl                      PROTO((tree));
-extern tree pushdecl                            PROTO((tree));
-extern tree pushdecl_top_level                  PROTO((tree));
-extern void pushlevel                           PROTO((int));
-extern void set_block                           PROTO((tree));
-extern tree shadow_label                        PROTO((tree));
-extern void shadow_record_fields                PROTO((tree));
-extern void shadow_tag                          PROTO((tree));
-extern void shadow_tag_warned                   PROTO((tree, int));
-extern tree start_enum                          PROTO((tree));
-extern int  start_function                      PROTO((tree, tree, int));
-extern tree start_decl                          PROTO((tree, tree, int));
-extern tree start_struct                        PROTO((enum tree_code, tree));
-extern void store_parm_decls                    PROTO((void));
-extern tree xref_tag                            PROTO((enum tree_code, tree));
+extern void push_chill_function_context         PARAMS ((void));
+extern void push_parm_decl                      PARAMS ((tree));
+extern tree pushdecl                            PARAMS ((tree));
+extern tree pushdecl_top_level                  PARAMS ((tree));
+extern void pushlevel                           PARAMS ((int));
+extern void set_block                           PARAMS ((tree));
+extern tree shadow_label                        PARAMS ((tree));
+extern void shadow_record_fields                PARAMS ((tree));
+extern void shadow_tag                          PARAMS ((tree));
+extern void shadow_tag_warned                   PARAMS ((tree, int));
+extern tree start_enum                          PARAMS ((tree));
+extern int  start_function                      PARAMS ((tree, tree, int));
+extern tree start_decl                          PARAMS ((tree, tree, int));
+extern tree start_struct                        PARAMS ((enum tree_code, tree));
+extern void store_parm_decls                    PARAMS ((void));
+extern tree xref_tag                            PARAMS ((enum tree_code, tree));
 
 /* in c-typeck.c */
-extern tree build_array_ref                     PROTO((tree, tree));
-extern tree build_c_cast                        PROTO((tree, tree));
-extern tree build_chill_modify_expr             PROTO((tree, tree));
-extern tree build_chill_component_ref           PROTO((tree, tree));
-extern tree build_component_ref                 PROTO((tree, tree));
-extern tree build_compound_expr                 PROTO((tree));
-extern tree build_conditional_expr              PROTO((tree, tree, tree));
-extern tree build_function_call                 PROTO((tree, tree));
-extern tree build_indirect_ref                  PROTO((tree, char *));
-extern tree build_modify_expr                   PROTO((tree, enum tree_code, tree));
-extern tree build_unary_op                      PROTO((enum tree_code, tree, int));
-extern tree c_alignof                           PROTO((tree));
-extern tree c_alignof_expr                      PROTO((tree));
-extern void c_expand_asm_operands               PROTO((tree, tree, tree, tree, int, char *, int));
-extern tree c_sizeof                            PROTO((tree));
-extern void c_expand_return                     PROTO((tree));
-extern tree c_expand_start_case                 PROTO((tree));
-extern tree common_type                         PROTO((tree, tree));
-extern tree copy_novelty                        PROTO((tree, tree));
-extern tree default_conversion                  PROTO((tree));
-extern void finish_init                         PROTO((void));
-extern tree parser_build_binary_op              PROTO((enum tree_code, tree, tree));
-extern tree pop_init_level                      PROTO((int));
-extern void process_init_default                PROTO((tree));
-extern void process_init_element                PROTO((tree));
-extern void push_init_level                     PROTO((int));
-extern void really_start_incremental_init       PROTO((tree));
-extern void set_init_index                      PROTO((tree, tree));
-extern void set_init_label                      PROTO((tree));
-extern void start_init                          PROTO((tree, tree, int));
-extern void store_init_value                    PROTO((tree, tree));
-extern tree valid_array_index_p                 PROTO((tree, tree, char *, int));
+extern tree build_array_ref                     PARAMS ((tree, tree));
+extern tree build_c_cast                        PARAMS ((tree, tree));
+extern tree build_chill_modify_expr             PARAMS ((tree, tree));
+extern tree build_chill_component_ref           PARAMS ((tree, tree));
+extern tree build_component_ref                 PARAMS ((tree, tree));
+extern tree build_compound_expr                 PARAMS ((tree));
+extern tree build_conditional_expr              PARAMS ((tree, tree, tree));
+extern tree build_function_call                 PARAMS ((tree, tree));
+extern tree build_indirect_ref                  PARAMS ((tree, char *));
+extern tree build_modify_expr                   PARAMS ((tree, enum tree_code, tree));
+extern tree build_unary_op                      PARAMS ((enum tree_code, tree, int));
+extern tree c_alignof                           PARAMS ((tree));
+extern tree c_alignof_expr                      PARAMS ((tree));
+extern void c_expand_asm_operands               PARAMS ((tree, tree, tree, tree, int, char *, int));
+extern tree c_sizeof                            PARAMS ((tree));
+extern void c_expand_return                     PARAMS ((tree));
+extern tree c_expand_start_case                 PARAMS ((tree));
+extern tree common_type                         PARAMS ((tree, tree));
+extern tree copy_novelty                        PARAMS ((tree, tree));
+extern tree default_conversion                  PARAMS ((tree));
+extern void finish_init                         PARAMS ((void));
+extern tree parser_build_binary_op              PARAMS ((enum tree_code, tree, tree));
+extern tree pop_init_level                      PARAMS ((int));
+extern void process_init_default                PARAMS ((tree));
+extern void process_init_element                PARAMS ((tree));
+extern void push_init_level                     PARAMS ((int));
+extern void really_start_incremental_init       PARAMS ((tree));
+extern void set_init_index                      PARAMS ((tree, tree));
+extern void set_init_label                      PARAMS ((tree));
+extern void start_init                          PARAMS ((tree, tree, int));
+extern void store_init_value                    PARAMS ((tree, tree));
+extern tree valid_array_index_p                 PARAMS ((tree, tree, const char *, int));
 
 /* in ch/actions.c */
 extern int grant_only_flag;
-extern void allocate_lang_decl                  PROTO((tree));
-extern tree build_chill_abs                     PROTO((tree));
-extern tree build_chill_array_ref_1             PROTO((tree, tree));
-extern tree build_chill_array_ref               PROTO((tree, tree));
-extern tree build_chill_bin_type                PROTO((tree));
-extern tree build_chill_binary_op               PROTO((enum chill_tree_code, tree, tree));
-extern tree build_chill_card                    PROTO((tree));
-extern tree build_chill_case_expr               PROTO((tree, tree, tree)); 
-extern tree build_cause_exception               PROTO((tree, int));
-extern tree build_chill_exception_decl          PROTO((char *));
-extern tree build_chill_function_call           PROTO((tree, tree));
-extern tree build_chill_length                  PROTO((tree));
-extern tree build_chill_indirect_ref            PROTO((tree, tree, int));
-extern tree build_chill_lower                   PROTO((tree));
-extern tree build_chill_max                     PROTO((tree));
-extern tree build_chill_min                     PROTO((tree));
-extern tree build_chill_num                     PROTO((tree));
-extern tree build_chill_repetition_op           PROTO((tree, tree));
-extern tree build_chill_sizeof                  PROTO((tree));
-extern tree build_chill_slice                  PROTO((tree, tree, tree));
-extern tree build_chill_slice_with_range        PROTO((tree, tree, tree));
-extern tree build_chill_slice_with_length       PROTO((tree, tree, tree));
-extern tree build_chill_struct_type             PROTO((tree));
-extern tree build_chill_unary_op                PROTO((enum chill_tree_code, tree));
-extern tree build_chill_upper                   PROTO((tree));
-extern tree build_exception_variant             PROTO((tree, tree));
-extern tree build_generalized_call              PROTO((tree, tree));
-extern tree build_lang_decl                     PROTO((enum chill_tree_code, tree, tree));
-extern tree build_rts_call                      PROTO((char *, tree, tree));
-extern tree build_varying_struct                PROTO((tree));
-extern void chill_check_decl                    PROTO((tree));
-extern tree chill_convert_for_assignment        PROTO((tree, tree, char*));
-extern void chill_expand_return                 PROTO((tree, int));
-extern void chill_expand_result                 PROTO((tree, int));
-extern void chill_handle_case_default           PROTO((void));
-extern void chill_handle_case_label            PROTO((tree, tree));
-extern int  chill_varying_string_type_p         PROTO((tree));
-extern int  chill_varying_type_p                PROTO((tree));
-extern int  ch_singleton_set                    PROTO((tree));
-extern tree check_expression                    PROTO((tree, tree, tree));
-extern void check_missing_cases                 PROTO((tree));
-extern tree check_non_null                      PROTO((tree));
-extern tree check_range                         PROTO((tree, tree, tree,tree));
-extern void cond_type_range_exception           PROTO((tree));
-extern void expand_cause_exception              PROTO((tree));
-extern tree finish_chill_binary_op              PROTO((tree));
-extern tree finish_chill_unary_op               PROTO((tree));
-extern tree high_domain_value                   PROTO((tree));
-extern tree low_domain_value                    PROTO((tree));
-extern tree maybe_array_ref                    PROTO((tree, tree));
-extern void maybe_chill_check_decl              PROTO((tree));
-extern tree powersetlen                         PROTO((tree));
-extern tree test_range                          PROTO((tree, tree, tree));
+extern void allocate_lang_decl                  PARAMS ((tree));
+extern tree build_chill_abs                     PARAMS ((tree));
+extern tree build_chill_array_ref_1             PARAMS ((tree, tree));
+extern tree build_chill_array_ref               PARAMS ((tree, tree));
+extern tree build_chill_bin_type                PARAMS ((tree));
+extern tree build_chill_binary_op               PARAMS ((enum chill_tree_code, tree, tree));
+extern tree build_chill_card                    PARAMS ((tree));
+extern tree build_chill_case_expr               PARAMS ((tree, tree, tree)); 
+extern tree build_cause_exception               PARAMS ((tree, int));
+extern tree build_chill_exception_decl          PARAMS ((const char *));
+extern tree build_chill_function_call           PARAMS ((tree, tree));
+extern tree build_chill_length                  PARAMS ((tree));
+extern tree build_chill_indirect_ref            PARAMS ((tree, tree, int));
+extern tree build_chill_lower                   PARAMS ((tree));
+extern tree build_chill_max                     PARAMS ((tree));
+extern tree build_chill_min                     PARAMS ((tree));
+extern tree build_chill_num                     PARAMS ((tree));
+extern tree build_chill_repetition_op           PARAMS ((tree, tree));
+extern tree build_chill_sizeof                  PARAMS ((tree));
+extern tree build_chill_slice                  PARAMS ((tree, tree, tree));
+extern tree build_chill_slice_with_range        PARAMS ((tree, tree, tree));
+extern tree build_chill_slice_with_length       PARAMS ((tree, tree, tree));
+extern tree build_chill_struct_type             PARAMS ((tree));
+extern tree build_chill_unary_op                PARAMS ((enum chill_tree_code, tree));
+extern tree build_chill_upper                   PARAMS ((tree));
+extern tree build_exception_variant             PARAMS ((tree, tree));
+extern tree build_generalized_call              PARAMS ((tree, tree));
+extern tree build_lang_decl                     PARAMS ((enum chill_tree_code, tree, tree));
+extern tree build_rts_call                      PARAMS ((const char *, tree, tree));
+extern tree build_varying_struct                PARAMS ((tree));
+extern void chill_check_decl                    PARAMS ((tree));
+extern tree chill_convert_for_assignment        PARAMS ((tree, tree, const char *));
+extern void chill_expand_return                 PARAMS ((tree, int));
+extern void chill_expand_result                 PARAMS ((tree, int));
+extern void chill_handle_case_default           PARAMS ((void));
+extern void chill_handle_case_label            PARAMS ((tree, tree));
+extern int  chill_varying_string_type_p         PARAMS ((tree));
+extern int  chill_varying_type_p                PARAMS ((tree));
+extern int  ch_singleton_set                    PARAMS ((tree));
+extern tree check_expression                    PARAMS ((tree, tree, tree));
+extern void check_missing_cases                 PARAMS ((tree));
+extern tree check_non_null                      PARAMS ((tree));
+extern tree check_range                         PARAMS ((tree, tree, tree,tree));
+extern void cond_type_range_exception           PARAMS ((tree));
+extern void expand_cause_exception              PARAMS ((tree));
+extern tree finish_chill_binary_op              PARAMS ((tree));
+extern tree finish_chill_unary_op               PARAMS ((tree));
+extern tree high_domain_value                   PARAMS ((tree));
+extern tree low_domain_value                    PARAMS ((tree));
+extern tree maybe_array_ref                    PARAMS ((tree, tree));
+extern void maybe_chill_check_decl              PARAMS ((tree));
+extern tree powersetlen                         PARAMS ((tree));
+extern tree test_range                          PARAMS ((tree, tree, tree));
 /* in ch/convert.c */
-extern tree build_array_type_for_scalar         PROTO((tree));
-extern tree convert                             PROTO((tree, tree));
-extern tree convert_from_reference              PROTO((tree));
-extern tree convert_to_class                    PROTO((ch_class, tree));
-extern char* display_int_cst                   PROTO((tree));
+extern tree build_array_type_for_scalar         PARAMS ((tree));
+extern tree convert                             PARAMS ((tree, tree));
+extern tree convert_from_reference              PARAMS ((tree));
+extern tree convert_to_class                    PARAMS ((ch_class, tree));
+extern const char *display_int_cst             PARAMS ((tree));
 
 /* in ch/decl.c */
-extern tree build_enumerator                   PROTO((tree, tree));
-extern tree chill_munge_params                  PROTO((tree, tree, tree));
-extern tree build_chill_function_type           PROTO((tree, tree, tree, tree));
-extern tree decl_temp1                          PROTO((tree, tree, int, tree, int, int));
-extern void do_based_decls                      PROTO((tree, tree, tree));
-extern void do_chill_outparms                   PROTO((void));
-extern tree do_decl                             PROTO((tree, tree, int, int, tree, int));
-extern void do_decls                            PROTO((tree, tree, int, int, tree, int));
-extern void expand_chill_outparms               PROTO((void));
-extern void find_granted_decls                 PROTO((void));
-extern void finish_chill_function               PROTO(());
-extern tree finish_enum                                PROTO((tree, tree));
-extern void fixup_chill_parms                   PROTO((tree));
-extern void finish_outer_function               PROTO((void));
-extern unsigned get_type_precision              PROTO((tree, tree));
-extern tree grok_chill_fixedfields              PROTO((tree, tree, tree));
-extern tree grok_chill_variantdefs              PROTO((tree, tree, tree));
-extern void layout_enum                         PROTO((tree));
-/* extern tree lookup_remembered_decl PROTO((HOST_WIDE_INT, tree)); */
-extern void lookup_and_expand_goto             PROTO((tree));
-extern tree lookup_tag_fields                  PROTO((tree, tree));
-extern void lookup_and_handle_exit              PROTO((tree));
-extern tree massage_param_node                 PROTO((tree, tree));
-extern void pop_module                          PROTO((void));
-extern void print_mode                          PROTO((tree));
-extern tree push_extern_function                PROTO((tree, tree, tree, tree, int));
-extern void push_extern_process                 PROTO((tree, tree, tree, int));
-extern void push_extern_signal                  PROTO((tree, tree, tree));
-extern void push_granted                        PROTO((tree, tree));
-extern tree push_modedef                        PROTO((tree, tree, int));
-extern tree push_module                         PROTO((tree, int));
-extern void push_parms                          PROTO((tree, tree, tree));
-extern void push_syndecl                        PROTO((tree, tree, tree));
+extern tree build_enumerator                   PARAMS ((tree, tree));
+extern tree chill_munge_params                  PARAMS ((tree, tree, tree));
+extern tree build_chill_function_type           PARAMS ((tree, tree, tree, tree));
+extern tree decl_temp1                          PARAMS ((tree, tree, int, tree, int, int));
+extern void do_based_decls                      PARAMS ((tree, tree, tree));
+extern void do_chill_outparms                   PARAMS ((void));
+extern tree do_decl                             PARAMS ((tree, tree, int, int, tree, int));
+extern void do_decls                            PARAMS ((tree, tree, int, int, tree, int));
+extern void expand_chill_outparms               PARAMS ((void));
+extern void find_granted_decls                 PARAMS ((void));
+extern void finish_chill_function               PARAMS ((void));
+extern tree finish_enum                                PARAMS ((tree, tree));
+extern void fixup_chill_parms                   PARAMS ((tree));
+extern void finish_outer_function               PARAMS ((void));
+extern unsigned get_type_precision              PARAMS ((tree, tree));
+extern tree grok_chill_fixedfields              PARAMS ((tree, tree, tree));
+extern tree grok_chill_variantdefs              PARAMS ((tree, tree, tree));
+extern void layout_enum                         PARAMS ((tree));
+/* extern tree lookup_remembered_decl PARAMS ((HOST_WIDE_INT, tree)); */
+extern void lookup_and_expand_goto             PARAMS ((tree));
+extern tree lookup_tag_fields                  PARAMS ((tree, tree));
+extern void lookup_and_handle_exit              PARAMS ((tree));
+extern tree massage_param_node                 PARAMS ((tree, tree));
+extern void pop_module                          PARAMS ((void));
+extern void print_mode                          PARAMS ((tree));
+extern tree push_extern_function                PARAMS ((tree, tree, tree, tree, int));
+extern void push_extern_process                 PARAMS ((tree, tree, tree, int));
+extern void push_extern_signal                  PARAMS ((tree, tree, tree));
+extern void push_granted                        PARAMS ((tree, tree));
+extern tree push_modedef                        PARAMS ((tree, tree, int));
+extern tree push_module                         PARAMS ((tree, int));
+extern void push_parms                          PARAMS ((tree, tree, tree));
+extern void push_syndecl                        PARAMS ((tree, tree, tree));
 extern int result_never_set;
-extern void save_expr_under_name                PROTO((tree, tree));
-extern tree set_module_name                     PROTO((tree));
-extern int  start_chill_function                PROTO((tree, tree, tree, tree, tree));
-extern void start_outer_function               PROTO((void));
-extern void switch_to_pass_2                   PROTO((void));
+extern void save_expr_under_name                PARAMS ((tree, tree));
+extern tree set_module_name                     PARAMS ((tree));
+extern int  start_chill_function                PARAMS ((tree, tree, tree, tree, tree));
+extern void start_outer_function               PARAMS ((void));
+extern void switch_to_pass_2                   PARAMS ((void));
 
 /* in ch/except.c */
-extern void chill_check_no_handlers             PROTO((void));
-extern void chill_finish_on                     PROTO((void));
-extern void chill_handle_on_labels              PROTO((tree));
-extern void chill_reraise_exceptions            PROTO((tree));
-extern void chill_start_default_handler         PROTO((void));
-extern void chill_start_on                      PROTO((void));
-extern void expand_goto_except_cleanup          PROTO((int));
-extern int is_handled                          PROTO((tree));
+extern void chill_check_no_handlers             PARAMS ((void));
+extern void chill_finish_on                     PARAMS ((void));
+extern void chill_handle_on_labels              PARAMS ((tree));
+extern void chill_reraise_exceptions            PARAMS ((tree));
+extern void chill_start_default_handler         PARAMS ((void));
+extern void chill_start_on                      PARAMS ((void));
+extern void expand_goto_except_cleanup          PARAMS ((int));
+extern int is_handled                          PARAMS ((tree));
 
 /* in ch/expr.c */
-extern tree build_chill_addr_expr               PROTO((tree, char *));
-extern tree build_chill_arrow_expr              PROTO((tree, int));
-extern tree build_component_ref                        PROTO((tree, tree));
-extern tree build_chill_compound_expr           PROTO((tree));
-extern tree build_chill_descr                   PROTO((tree));
-extern void build_chill_descr_type              PROTO((void));
-extern void build_chill_inttime_type            PROTO((void));
-extern tree build_compare_expr                 PROTO((enum tree_code,
+extern tree build_chill_addr_expr               PARAMS ((tree, const char *));
+extern tree build_chill_arrow_expr              PARAMS ((tree, int));
+extern tree build_component_ref                        PARAMS ((tree, tree));
+extern tree build_chill_compound_expr           PARAMS ((tree));
+extern tree build_chill_descr                   PARAMS ((tree));
+extern void build_chill_descr_type              PARAMS ((void));
+extern void build_chill_inttime_type            PARAMS ((void));
+extern tree build_compare_expr                 PARAMS ((enum tree_code,
                                                       tree, tree));
-extern tree build_compare_discrete_expr                PROTO((enum tree_code,
+extern tree build_compare_discrete_expr                PARAMS ((enum tree_code,
                                                       tree, tree));
-extern tree check_case_selector                 PROTO((tree));
-extern tree check_case_selector_list            PROTO((tree));
-extern tree check_have_mode                     PROTO((tree, char*));
-extern void init_chill_expand                   PROTO((void));
-extern void chill_expand_assignment             PROTO((tree, enum chill_tree_code, tree));
-extern void expand_assignment_action            PROTO((tree, enum chill_tree_code, tree));
-extern int compare_int_csts                    PROTO((enum chill_tree_code,
+extern tree check_case_selector                 PARAMS ((tree));
+extern tree check_case_selector_list            PARAMS ((tree));
+extern tree check_have_mode                     PARAMS ((tree, const char *));
+extern void init_chill_expand                   PARAMS ((void));
+extern void chill_expand_assignment             PARAMS ((tree, enum chill_tree_code, tree));
+extern void expand_assignment_action            PARAMS ((tree, enum chill_tree_code, tree));
+extern int compare_int_csts                    PARAMS ((enum chill_tree_code,
                                                       tree, tree));
-extern void expand_varying_length_assignment    PROTO((tree, tree));
-extern tree force_addr_of                      PROTO((tree));
-extern tree resolve_component_ref               PROTO((tree));
-extern tree truthvalue_conversion               PROTO((tree));
-extern tree varying_to_slice                   PROTO((tree));
+extern void expand_varying_length_assignment    PARAMS ((tree, tree));
+extern tree force_addr_of                      PARAMS ((tree));
+extern tree resolve_component_ref               PARAMS ((tree));
+extern tree truthvalue_conversion               PARAMS ((tree));
+extern tree varying_to_slice                   PARAMS ((tree));
 
 /* in ch/grant.c */
-extern void chill_finish_compile                PROTO((void));
-extern void chill_seize                         PROTO((tree, tree, tree));
-extern void start_outer_function               PROTO((void));
-extern void finish_chill_seize                  PROTO((tree));
-extern void chill_grant                         PROTO((tree,tree, tree, tree));
-extern void set_default_grant_file              PROTO((void));
-extern void set_identifier_size                 PROTO((int));
-extern void write_grant_file                    PROTO((void));
-extern void write_spec_module                   PROTO((tree, tree));
+extern void chill_finish_compile                PARAMS ((void));
+extern void chill_seize                         PARAMS ((tree, tree, tree));
+extern void start_outer_function               PARAMS ((void));
+extern void finish_chill_seize                  PARAMS ((tree));
+extern void chill_grant                         PARAMS ((tree,tree, tree, tree));
+extern void set_default_grant_file              PARAMS ((void));
+extern void set_identifier_size                 PARAMS ((int));
+extern void write_grant_file                    PARAMS ((void));
+extern void write_spec_module                   PARAMS ((tree, tree));
 
 /* in ch/lang.c */
 extern tree string_index_type_dummy;
-extern tree integer_minus_one_node;
 extern int  flag_old_strings;
-extern void GNU_xref_begin                      PROTO((void));
-extern void GNU_xref_end                        PROTO((void));
-extern tree build_chill_array_type              PROTO((tree, tree, int, tree));
-extern tree build_chill_struct_type             PROTO((tree));
-extern tree build_chill_pointer_type            PROTO((tree));
-extern tree build_chill_range_type              PROTO((tree, tree, tree));
-extern tree build_chill_reference_type          PROTO((tree));
-extern tree build_simple_array_type             PROTO((tree, tree, tree));
-extern tree const_expr                          PROTO((tree));
-extern tree get_identifier3                    PROTO((char*, char*, char*));
-extern tree layout_chill_array_type             PROTO((tree));
-extern tree layout_chill_range_type             PROTO((tree, int));
-extern tree layout_chill_pointer_type           PROTO((tree));
-extern tree layout_chill_struct_type            PROTO((tree));
-extern tree layout_chill_variants               PROTO((tree));
-extern tree layout_powerset_type                PROTO((tree));
-extern tree lookup_interface                    PROTO((tree));
-extern tree maybe_building_objc_message_expr    PROTO((void));
-extern void maybe_objc_check_decl               PROTO((tree));
-extern int  maybe_objc_comptypes                PROTO((tree, tree));
-extern int  recognize_objc_keyword              PROTO((void));
+extern void GNU_xref_begin                      PARAMS ((void));
+extern void GNU_xref_end                        PARAMS ((void));
+extern tree build_chill_array_type              PARAMS ((tree, tree, int, tree));
+extern tree build_chill_struct_type             PARAMS ((tree));
+extern tree build_chill_pointer_type            PARAMS ((tree));
+extern tree build_chill_range_type              PARAMS ((tree, tree, tree));
+extern tree build_chill_reference_type          PARAMS ((tree));
+extern tree build_simple_array_type             PARAMS ((tree, tree, tree));
+extern tree const_expr                          PARAMS ((tree));
+extern tree get_identifier3                    PARAMS ((const char *, const char *, const char *));
+extern tree layout_chill_array_type             PARAMS ((tree));
+extern tree layout_chill_range_type             PARAMS ((tree, int));
+extern tree layout_chill_pointer_type           PARAMS ((tree));
+extern tree layout_chill_struct_type            PARAMS ((tree));
+extern tree layout_chill_variants               PARAMS ((tree));
+extern tree layout_powerset_type                PARAMS ((tree));
+extern tree lookup_interface                    PARAMS ((tree));
+extern tree maybe_building_objc_message_expr    PARAMS ((void));
+extern void maybe_objc_check_decl               PARAMS ((tree));
+extern int  maybe_objc_comptypes                PARAMS ((tree, tree));
+extern int  recognize_objc_keyword              PARAMS ((void));
 
 /* in ch/lex.l */
 extern tree use_seizefile_name;
 extern tree current_seizefile_name;
-extern tree build_chill_string                  PROTO((int, char *));
-extern int  check_newline                       PROTO((void));
-extern tree get_chill_filename                  PROTO((void)); 
-extern tree get_chill_linenumber                PROTO((void));       
-extern void register_seize_path                 PROTO((char *));
-extern void reinit_parse_for_function           PROTO((void));
-extern void mark_use_seizefile_written          PROTO((tree));
+extern tree build_chill_string                  PARAMS ((int, const char *));
+extern int  check_newline                       PARAMS ((void));
+extern tree get_chill_filename                  PARAMS ((void)); 
+extern tree get_chill_linenumber                PARAMS ((void));       
+extern void register_seize_path                 PARAMS ((const char *));
+extern void reinit_parse_for_function           PARAMS ((void));
+extern void mark_use_seizefile_written          PARAMS ((tree));
 
 /* in ch/loop.c */
-extern void begin_chill_loop                    PROTO((tree, tree));
-extern tree build_chill_iterator                PROTO((tree, tree, tree, int, int, int));
-extern void end_chill_loop                      PROTO((void));
-extern tree get_unique_identifier               PROTO((char *));
+extern void begin_chill_loop                    PARAMS ((tree, tree));
+extern tree build_chill_iterator                PARAMS ((tree, tree, tree, int, int, int));
+extern void end_chill_loop                      PARAMS ((void));
+extern tree get_unique_identifier               PARAMS ((const char *));
 
 /* in ch/inout.c */
-extern tree access_recordmode                   PROTO((tree));
-extern void invalidate_access_recordmode        PROTO((tree));
-extern tree access_indexmode                    PROTO((tree));
-extern tree access_dynamic                      PROTO((tree));
+extern tree access_recordmode                   PARAMS ((tree));
+extern void invalidate_access_recordmode        PARAMS ((tree));
+extern tree access_indexmode                    PARAMS ((tree));
+extern tree access_dynamic                      PARAMS ((tree));
 extern tree association_init_value;
 extern tree association_type_node;
-extern tree build_access_mode                   PROTO((tree, tree, int));
-extern tree build_chill_associate               PROTO((tree, tree, tree));
-extern tree build_chill_connect                 PROTO((tree, tree, tree, tree));
-extern tree build_chill_create                  PROTO((tree));
-extern tree build_chill_delete                  PROTO((tree));
-extern tree build_chill_disconnect              PROTO((tree));
-extern tree build_chill_dissociate              PROTO((tree));
-extern tree build_chill_eoln                    PROTO((tree)); 
-extern tree build_chill_existing                PROTO((tree));
-extern tree build_chill_gettextaccess           PROTO((tree)); 
-extern tree build_chill_getassociation          PROTO((tree)); 
-extern tree build_chill_gettextindex            PROTO((tree)); 
-extern tree build_chill_gettextrecord           PROTO((tree)); 
-extern tree build_chill_getusage                PROTO((tree)); 
-extern tree build_chill_indexable               PROTO((tree)); 
-extern tree build_chill_isassociated            PROTO((tree)); 
-extern tree build_chill_modify                  PROTO((tree, tree));
-extern tree build_chill_outoffile               PROTO((tree)); 
-extern tree build_chill_readable                PROTO((tree));
-extern tree build_chill_readrecord              PROTO((tree, tree));
-extern tree build_chill_readtext                PROTO((tree, tree));
-extern tree build_chill_sequencible             PROTO((tree)); 
-extern tree build_chill_settextaccess           PROTO((tree, tree));
-extern tree build_chill_settextindex            PROTO((tree, tree));
-extern tree build_chill_settextrecord           PROTO((tree, tree));
-extern tree build_chill_variable                PROTO((tree)); 
-extern tree build_chill_writeable               PROTO((tree));
-extern tree build_chill_writerecord             PROTO((tree, tree));
-extern tree build_chill_writetext               PROTO((tree, tree));
-extern void build_enum_tables                   PROTO((void));
-extern tree build_text_mode                     PROTO((tree, tree, int));
-extern tree check_text_length                   PROTO((tree));
-extern void init_access_location                PROTO((tree, tree));
-extern void init_text_location                  PROTO((tree, tree));
-extern void inout_init                          PROTO((void));
-extern tree text_dynamic                        PROTO((tree));
-extern tree text_indexmode                      PROTO((tree));
-extern tree text_length                         PROTO((tree));
+extern tree build_access_mode                   PARAMS ((tree, tree, int));
+extern tree build_chill_associate               PARAMS ((tree, tree, tree));
+extern tree build_chill_connect                 PARAMS ((tree, tree, tree, tree));
+extern tree build_chill_create                  PARAMS ((tree));
+extern tree build_chill_delete                  PARAMS ((tree));
+extern tree build_chill_disconnect              PARAMS ((tree));
+extern tree build_chill_dissociate              PARAMS ((tree));
+extern tree build_chill_eoln                    PARAMS ((tree)); 
+extern tree build_chill_existing                PARAMS ((tree));
+extern tree build_chill_gettextaccess           PARAMS ((tree)); 
+extern tree build_chill_getassociation          PARAMS ((tree)); 
+extern tree build_chill_gettextindex            PARAMS ((tree)); 
+extern tree build_chill_gettextrecord           PARAMS ((tree)); 
+extern tree build_chill_getusage                PARAMS ((tree)); 
+extern tree build_chill_indexable               PARAMS ((tree)); 
+extern tree build_chill_isassociated            PARAMS ((tree)); 
+extern tree build_chill_modify                  PARAMS ((tree, tree));
+extern tree build_chill_outoffile               PARAMS ((tree)); 
+extern tree build_chill_readable                PARAMS ((tree));
+extern tree build_chill_readrecord              PARAMS ((tree, tree));
+extern tree build_chill_readtext                PARAMS ((tree, tree));
+extern tree build_chill_sequencible             PARAMS ((tree)); 
+extern tree build_chill_settextaccess           PARAMS ((tree, tree));
+extern tree build_chill_settextindex            PARAMS ((tree, tree));
+extern tree build_chill_settextrecord           PARAMS ((tree, tree));
+extern tree build_chill_variable                PARAMS ((tree)); 
+extern tree build_chill_writeable               PARAMS ((tree));
+extern tree build_chill_writerecord             PARAMS ((tree, tree));
+extern tree build_chill_writetext               PARAMS ((tree, tree));
+extern void build_enum_tables                   PARAMS ((void));
+extern tree build_text_mode                     PARAMS ((tree, tree, int));
+extern tree check_text_length                   PARAMS ((tree));
+extern void init_access_location                PARAMS ((tree, tree));
+extern void init_text_location                  PARAMS ((tree, tree));
+extern void inout_init                          PARAMS ((void));
+extern tree text_dynamic                        PARAMS ((tree));
+extern tree text_indexmode                      PARAMS ((tree));
+extern tree text_length                         PARAMS ((tree));
 extern tree usage_type_node;
 extern tree where_type_node;
 
 /* in ch/parse.c */
-extern tree get_type_of                         PROTO((tree));
-extern void set_yydebug                         PROTO((int));
-extern void yyerror                             PROTO((char *));
+extern tree get_type_of                         PARAMS ((tree));
+extern void set_yydebug                         PARAMS ((int));
+extern void yyerror                             PARAMS ((char *));
 extern int  pass;
 extern int ignoring;
 extern int seen_action;
 extern int build_constructor;
-extern void possibly_define_exit_label          PROTO((tree));
-extern void to_global_binding_level             PROTO((void));
+extern void possibly_define_exit_label          PARAMS ((tree));
+extern void to_global_binding_level             PARAMS ((void));
 
 /* in ch/satisfy.c */
-extern tree satisfy_decl                       PROTO((tree, int));
+extern tree satisfy_decl                       PARAMS ((tree, int));
 
 /* in ch/tasking.c */
-extern void add_taskstuff_to_list               PROTO((tree, char *, tree, tree, tree));
-extern void process_buffer_decls                PROTO((tree, tree, int));
-extern tree buffer_element_mode                 PROTO((tree));
-extern void invalidate_buffer_element_mode      PROTO((tree));
-extern tree build_buffer_descriptor             PROTO((tree, tree, tree));
-extern tree build_buffer_type                   PROTO((tree, tree));
-extern void build_delay_action                  PROTO((tree, tree));
-extern tree build_delay_case_start              PROTO((tree, tree));
-extern void build_delay_case_end                PROTO((tree));
-extern void build_delay_case_label              PROTO((tree, int));
-extern tree build_event_type                    PROTO((tree));
-extern void build_receive_case_end              PROTO((tree, tree));
-extern int  build_receive_case_if_generated     PROTO((void));
-extern tree build_receive_case_label            PROTO((tree, tree));
-extern tree build_receive_case_start            PROTO((tree));
-extern void expand_continue_event               PROTO((tree));
-extern void expand_send_buffer                  PROTO((tree, tree, tree, tree, tree));
-extern void expand_send_signal                  PROTO((tree, tree, tree, tree, tree));
-extern void build_start_process                 PROTO((tree, tree, tree, tree));
-extern tree build_copy_number                   PROTO((tree));
-extern tree build_gen_code                      PROTO((tree));
-extern tree build_gen_inst                      PROTO((tree, tree));
-extern tree build_gen_ptype                     PROTO((tree));
-extern void build_instance_type                 PROTO((void));
-extern tree build_process_header                PROTO((tree, tree));
-extern void build_process_wrapper               PROTO((tree, tree));
-extern tree build_proc_type                     PROTO((tree));
-extern tree build_queue_length                  PROTO((tree));
-extern tree build_signal_descriptor             PROTO((tree, tree));
-extern tree build_signal_struct_type            PROTO((tree, tree, tree));
-extern tree build_tasking_struct                PROTO((void));
+extern void add_taskstuff_to_list               PARAMS ((tree, const char *, tree, tree, tree));
+extern void process_buffer_decls                PARAMS ((tree, tree, int));
+extern tree buffer_element_mode                 PARAMS ((tree));
+extern void invalidate_buffer_element_mode      PARAMS ((tree));
+extern tree build_buffer_descriptor             PARAMS ((tree, tree, tree));
+extern tree build_buffer_type                   PARAMS ((tree, tree));
+extern void build_delay_action                  PARAMS ((tree, tree));
+extern tree build_delay_case_start              PARAMS ((tree, tree));
+extern void build_delay_case_end                PARAMS ((tree));
+extern void build_delay_case_label              PARAMS ((tree, int));
+extern tree build_event_type                    PARAMS ((tree));
+extern void build_receive_case_end              PARAMS ((tree, tree));
+extern int  build_receive_case_if_generated     PARAMS ((void));
+extern tree build_receive_case_label            PARAMS ((tree, tree));
+extern tree build_receive_case_start            PARAMS ((tree));
+extern void expand_continue_event               PARAMS ((tree));
+extern void expand_send_buffer                  PARAMS ((tree, tree, tree, tree, tree));
+extern void expand_send_signal                  PARAMS ((tree, tree, tree, tree, tree));
+extern void build_start_process                 PARAMS ((tree, tree, tree, tree));
+extern tree build_copy_number                   PARAMS ((tree));
+extern tree build_gen_code                      PARAMS ((tree));
+extern tree build_gen_inst                      PARAMS ((tree, tree));
+extern tree build_gen_ptype                     PARAMS ((tree));
+extern void build_instance_type                 PARAMS ((void));
+extern tree build_process_header                PARAMS ((tree, tree));
+extern void build_process_wrapper               PARAMS ((tree, tree));
+extern tree build_proc_type                     PARAMS ((tree));
+extern tree build_queue_length                  PARAMS ((tree));
+extern tree build_signal_descriptor             PARAMS ((tree, tree));
+extern tree build_signal_struct_type            PARAMS ((tree, tree, tree));
+extern tree build_tasking_struct                PARAMS ((void));
 extern tree chill_taskingcode_type_node;
-extern tree check_queue_size                    PROTO((tree));
-extern tree generate_tasking_code_variable      PROTO((tree, tree *, int));
-extern tree get_signal_type_name                PROTO((tree));
-extern tree get_struct_type_name                PROTO((tree));
-extern tree get_tasking_code_name               PROTO((tree));
-extern tree make_process_struct                 PROTO((tree, tree));
-extern tree make_signal_struct                  PROTO((tree));
-extern tree max_queue_size                      PROTO((tree));
-extern void tasking_init                        PROTO((void));
-extern void tasking_registry                    PROTO((void));
-extern void tasking_setup                       PROTO((void));
+extern tree check_queue_size                    PARAMS ((tree));
+extern tree generate_tasking_code_variable      PARAMS ((tree, tree *, int));
+extern tree get_signal_type_name                PARAMS ((tree));
+extern tree get_struct_type_name                PARAMS ((tree));
+extern tree get_tasking_code_name               PARAMS ((tree));
+extern tree make_process_struct                 PARAMS ((tree, tree));
+extern tree make_signal_struct                  PARAMS ((tree));
+extern tree max_queue_size                      PARAMS ((tree));
+extern void tasking_init                        PARAMS ((void));
+extern void tasking_registry                    PARAMS ((void));
+extern void tasking_setup                       PARAMS ((void));
 
 /* in ch/timing.c */
 extern tree abs_timing_type_node;
 extern tree after_stack;
-extern void build_after_end                     PROTO((void));
-extern void build_after_start                   PROTO((tree, int));
-extern void build_after_timeout_start           PROTO((void));
-extern void build_at_action                     PROTO((tree));
-extern void build_cycle_end                     PROTO((tree));
-extern tree build_cycle_start                   PROTO((tree));
-extern tree build_timeout_preface               PROTO((void));
-extern void build_timesupervised_call           PROTO((tree, tree));
+extern void build_after_end                     PARAMS ((void));
+extern void build_after_start                   PARAMS ((tree, int));
+extern void build_after_timeout_start           PARAMS ((void));
+extern void build_at_action                     PARAMS ((tree));
+extern void build_cycle_end                     PARAMS ((tree));
+extern tree build_cycle_start                   PARAMS ((tree));
+extern tree build_timeout_preface               PARAMS ((void));
+extern void build_timesupervised_call           PARAMS ((tree, tree));
 extern tree duration_timing_type_node;
-extern void timing_init                         PROTO((void));
+extern void timing_init                         PARAMS ((void));
 
 /* in ch/tree.c */
-extern tree build_alias_decl                   PROTO((tree, tree, tree));
-extern tree build_bitstring_type                PROTO((tree));
-extern tree build_powerset_type                 PROTO((tree));
-extern tree build_string_type                   PROTO((tree, tree));
-extern tree decl_check_rename                  PROTO((tree, tree));
-extern tree discrete_count                      PROTO((tree));
-extern int  list_length                         PROTO((tree));
-extern tree munge_exit_label                   PROTO((tree));
-extern tree save_if_needed                     PROTO((tree));
+extern tree build_alias_decl                   PARAMS ((tree, tree, tree));
+extern tree build_bitstring_type                PARAMS ((tree));
+extern tree build_powerset_type                 PARAMS ((tree));
+extern tree build_string_type                   PARAMS ((tree, tree));
+extern tree decl_check_rename                  PARAMS ((tree, tree));
+extern tree discrete_count                      PARAMS ((tree));
+extern int  list_length                         PARAMS ((tree));
+extern tree munge_exit_label                   PARAMS ((tree));
+extern tree save_if_needed                     PARAMS ((tree));
 
 /* in ch/typeck.c */
-extern tree build_array_from_set                PROTO((tree));
-extern tree build_chill_array_ref               PROTO((tree, tree));
-extern tree build_chill_bitref                  PROTO((tree, tree));
-extern tree build_chill_cast                    PROTO((tree, tree));
-extern tree chill_equivalent                   PROTO((tree, tree, struct mode_chain*));
-extern tree build_init_struct                   PROTO((void));
-extern tree build_readonly_type                 PROTO((tree));
-extern int  chill_compatible                    PROTO((tree, tree));
-extern int  chill_compatible_classes            PROTO((tree, tree));
-extern ch_class chill_expr_class                PROTO((tree));
-extern tree chill_give_type_to_expr             PROTO((tree, tree));
-extern tree chill_expand_tuple                  PROTO((tree, tree));
-extern ch_class chill_expr_class                PROTO((tree));
-extern int  chill_location                      PROTO((tree));
-extern tree chill_max_vary_array_index         PROTO((tree));
-extern int  chill_read_compatible               PROTO((tree, tree));
-extern int  chill_referable                     PROTO((tree));
-extern tree chill_root_mode                    PROTO((tree));
-extern ch_class chill_resulting_class           PROTO((ch_class, ch_class));
-extern tree chill_resulting_mode                PROTO((tree, tree));
-extern int  chill_similar                      PROTO((tree, tree, struct mode_chain*));
-extern int  discrete_type_p                    PROTO((tree));
-extern tree initializer_constant_valid_p        PROTO((tree, tree));
-extern tree convert_to_discrete                 PROTO((tree));
-extern tree smash_dummy_type                    PROTO((tree));
-extern tree string_assignment_condition         PROTO((tree, tree));
-extern tree type_for_mode                       PROTO((enum machine_mode, int));
-extern tree type_for_size                       PROTO((unsigned, int));
-extern int  valid_array_index                   PROTO((tree, tree));
-extern void validate_varying_array_ref          PROTO((tree, tree));
-
-/* in function.c */
-extern void expand_function_end                 PROTO((char *, int, int));
-extern void expand_function_start               PROTO((tree, int));
-extern void init_function_start                 PROTO((tree, char *, int));
-extern void pop_function_context                PROTO((void));
-extern void push_function_context               PROTO((void));
-
-/* in integrate.c */
-extern void output_inline_function              PROTO((tree));
-
-/* in stmt.c */
-extern void remember_end_note                   PROTO((tree));
+extern tree build_array_from_set                PARAMS ((tree));
+extern tree build_chill_array_ref               PARAMS ((tree, tree));
+extern tree build_chill_bitref                  PARAMS ((tree, tree));
+extern tree build_chill_cast                    PARAMS ((tree, tree));
+extern tree chill_equivalent                   PARAMS ((tree, tree, struct mode_chain*));
+extern tree build_init_struct                   PARAMS ((void));
+extern tree build_readonly_type                 PARAMS ((tree));
+extern int  chill_compatible                    PARAMS ((tree, tree));
+extern int  chill_compatible_classes            PARAMS ((tree, tree));
+extern ch_class chill_expr_class                PARAMS ((tree));
+extern tree chill_give_type_to_expr             PARAMS ((tree, tree));
+extern tree chill_expand_tuple                  PARAMS ((tree, tree));
+extern ch_class chill_expr_class                PARAMS ((tree));
+extern int  chill_location                      PARAMS ((tree));
+extern tree chill_max_vary_array_index         PARAMS ((tree));
+extern int  chill_read_compatible               PARAMS ((tree, tree));
+extern int  chill_referable                     PARAMS ((tree));
+extern tree chill_root_mode                    PARAMS ((tree));
+extern ch_class chill_resulting_class           PARAMS ((ch_class, ch_class));
+extern tree chill_resulting_mode                PARAMS ((tree, tree));
+extern int  chill_similar                      PARAMS ((tree, tree, struct mode_chain*));
+extern int  discrete_type_p                    PARAMS ((tree));
+extern tree convert_to_discrete                 PARAMS ((tree));
+extern tree smash_dummy_type                    PARAMS ((tree));
+extern tree string_assignment_condition         PARAMS ((tree, tree));
+extern tree type_for_mode                       PARAMS ((enum machine_mode, int));
+extern tree type_for_size                       PARAMS ((unsigned, int));
+extern int  valid_array_index                   PARAMS ((tree, tree));
+extern void validate_varying_array_ref          PARAMS ((tree, tree));
 
 /* in toplev.c */
-extern void announce_function                   PROTO((tree));
-extern int  floor_log2_wide                     PROTO((unsigned HOST_WIDE_INT));
-extern void pedwarn                             PROTO((char *, ...));
-extern void rest_of_compilation                 PROTO((tree));
-extern void warning_with_decl                   PROTO((tree, char*, ...));
+extern void announce_function                   PARAMS ((tree));
+extern int  floor_log2_wide                     PARAMS ((unsigned HOST_WIDE_INT));
+extern void rest_of_compilation                 PARAMS ((tree));
 
 /* in varasm.c */
-extern void make_decl_rtl                       PROTO((tree, char *, int));
-extern void make_function_rtl                   PROTO((tree));
+extern void make_function_rtl                   PARAMS ((tree));
 
 /* in ???? */
-extern void init_iterators                      PROTO((void));
-extern int  mark_addressable                   PROTO((tree));
+extern void init_iterators                      PARAMS ((void));
+extern int  mark_addressable                   PARAMS ((tree));
 extern tree chill_result_decl;
-#ifdef RTX_CODE
-extern rtx label_rtx                            PROTO((tree));
-#endif
-extern void permanent_allocation                PROTO((int));
 
 #ifndef SET_WORD_SIZE
 #define SET_WORD_SIZE BITS_PER_WORD
@@ -1192,5 +1141,8 @@ struct module
 extern struct module *current_module;
 
 /* fold a tree to constant as much as possible */
-extern tree deep_fold PROTO((tree));
-#endif
+extern tree deep_fold PARAMS ((tree));
+
+extern const char * const gnuchill_version;
+
+#endif /* ! GCC_CH_TREE_H */