diff options
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 32 | ||||
-rw-r--r-- | gcc/cp/call.c | 86 | ||||
-rw-r--r-- | gcc/cp/class.c | 160 | ||||
-rw-r--r-- | gcc/cp/cp-tree.h | 1600 | ||||
-rw-r--r-- | gcc/cp/cvt.c | 6 | ||||
-rw-r--r-- | gcc/cp/decl.c | 160 | ||||
-rw-r--r-- | gcc/cp/decl.h | 4 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 72 | ||||
-rw-r--r-- | gcc/cp/dump.c | 26 | ||||
-rw-r--r-- | gcc/cp/errfn.c | 23 | ||||
-rw-r--r-- | gcc/cp/error.c | 79 | ||||
-rw-r--r-- | gcc/cp/except.c | 35 | ||||
-rw-r--r-- | gcc/cp/expr.c | 6 | ||||
-rw-r--r-- | gcc/cp/init.c | 32 | ||||
-rw-r--r-- | gcc/cp/input.c | 19 | ||||
-rw-r--r-- | gcc/cp/lex.c | 68 | ||||
-rw-r--r-- | gcc/cp/lex.h | 4 | ||||
-rw-r--r-- | gcc/cp/method.c | 62 | ||||
-rw-r--r-- | gcc/cp/optimize.c | 22 | ||||
-rw-r--r-- | gcc/cp/parse.c | 8 | ||||
-rw-r--r-- | gcc/cp/parse.y | 8 | ||||
-rw-r--r-- | gcc/cp/pt.c | 130 | ||||
-rw-r--r-- | gcc/cp/repo.c | 14 | ||||
-rw-r--r-- | gcc/cp/rtti.c | 34 | ||||
-rw-r--r-- | gcc/cp/search.c | 136 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 6 | ||||
-rw-r--r-- | gcc/cp/spew.c | 16 | ||||
-rw-r--r-- | gcc/cp/tree.c | 34 | ||||
-rw-r--r-- | gcc/cp/typeck.c | 44 | ||||
-rw-r--r-- | gcc/cp/typeck2.c | 10 | ||||
-rw-r--r-- | gcc/cp/xref.c | 20 |
31 files changed, 1496 insertions, 1460 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d6eea728a52..7cd0cb4f600 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,35 @@ +2000-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * call.c: PROTO -> PARAMS. + * class.c: Likewise. + * cp-tree.h: Likewise. + * cvt.c: Likewise. + * decl.c: Likewise. + * decl.h: Likewise. + * decl2.c: Likewise. + * dump.c: Likewise. + * errfn.c: Likewise. + * error.c: Likewise. + * except.c: Likewise. + * expr.c: Likewise. + * init.c: Likewise. + * input.c: Likewise. + * lex.c: Likewise. + * lex.h: Likewise. + * method.c: Likewise. + * optimize.c: Likewise. + * parse.y: Likewise. + * pt.c: Likewise. + * repo.c: Likewise. + * rtti.c: Likewise. + * search.c: Likewise. + * semantics.c: Likewise. + * spew.c: Likewise. + * tree.c: Likewise. + * typeck.c: Likewise. + * typeck2.c: Likewise. + * xref.c: Likewise. + 2000-01-25 Richard Henderson <rth@cygnus.com> * typeck.c (build_binary_op_nodefault): Remove UNNE_EXPR. diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 991a79dcd99..da320b4ffe1 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -39,65 +39,65 @@ Boston, MA 02111-1307, USA. */ extern int inhibit_warnings; -static tree build_new_method_call PROTO((tree, tree, tree, tree, int)); - -static tree build_field_call PROTO((tree, tree, tree, tree)); -static struct z_candidate * tourney PROTO((struct z_candidate *)); -static int equal_functions PROTO((tree, tree)); -static int joust PROTO((struct z_candidate *, struct z_candidate *, int)); -static int compare_ics PROTO((tree, tree)); -static tree build_over_call PROTO((struct z_candidate *, tree, int)); -static tree convert_like PROTO((tree, tree)); -static void op_error PROTO((enum tree_code, enum tree_code, tree, tree, +static tree build_new_method_call PARAMS ((tree, tree, tree, tree, int)); + +static tree build_field_call PARAMS ((tree, tree, tree, tree)); +static struct z_candidate * tourney PARAMS ((struct z_candidate *)); +static int equal_functions PARAMS ((tree, tree)); +static int joust PARAMS ((struct z_candidate *, struct z_candidate *, int)); +static int compare_ics PARAMS ((tree, tree)); +static tree build_over_call PARAMS ((struct z_candidate *, tree, int)); +static tree convert_like PARAMS ((tree, tree)); +static void op_error PARAMS ((enum tree_code, enum tree_code, tree, tree, tree, const char *)); -static tree build_object_call PROTO((tree, tree)); -static tree resolve_args PROTO((tree)); +static tree build_object_call PARAMS ((tree, tree)); +static tree resolve_args PARAMS ((tree)); static struct z_candidate * build_user_type_conversion_1 - PROTO ((tree, tree, int)); -static void print_z_candidates PROTO((struct z_candidate *)); -static tree build_this PROTO((tree)); -static struct z_candidate * splice_viable PROTO((struct z_candidate *)); -static int any_viable PROTO((struct z_candidate *)); + PARAMS ((tree, tree, int)); +static void print_z_candidates PARAMS ((struct z_candidate *)); +static tree build_this PARAMS ((tree)); +static struct z_candidate * splice_viable PARAMS ((struct z_candidate *)); +static int any_viable PARAMS ((struct z_candidate *)); static struct z_candidate * add_template_candidate - PROTO((struct z_candidate *, tree, tree, tree, tree, int, + PARAMS ((struct z_candidate *, tree, tree, tree, tree, int, unification_kind_t)); static struct z_candidate * add_template_candidate_real - PROTO((struct z_candidate *, tree, tree, tree, tree, int, + PARAMS ((struct z_candidate *, tree, tree, tree, tree, int, tree, unification_kind_t)); static struct z_candidate * add_template_conv_candidate - PROTO((struct z_candidate *, tree, tree, tree, tree)); + PARAMS ((struct z_candidate *, tree, tree, tree, tree)); static struct z_candidate * add_builtin_candidates - PROTO((struct z_candidate *, enum tree_code, enum tree_code, + PARAMS ((struct z_candidate *, enum tree_code, enum tree_code, tree, tree *, int)); static struct z_candidate * add_builtin_candidate - PROTO((struct z_candidate *, enum tree_code, enum tree_code, + PARAMS ((struct z_candidate *, enum tree_code, enum tree_code, tree, tree, tree, tree *, tree *, int)); -static int is_complete PROTO((tree)); +static int is_complete PARAMS ((tree)); static struct z_candidate * build_builtin_candidate - PROTO((struct z_candidate *, tree, tree, tree, tree *, tree *, + PARAMS ((struct z_candidate *, tree, tree, tree, tree *, tree *, int)); static struct z_candidate * add_conv_candidate - PROTO((struct z_candidate *, tree, tree, tree)); + PARAMS ((struct z_candidate *, tree, tree, tree)); static struct z_candidate * add_function_candidate - PROTO((struct z_candidate *, tree, tree, int)); -static tree implicit_conversion PROTO((tree, tree, tree, int)); -static tree standard_conversion PROTO((tree, tree, tree)); -static tree reference_binding PROTO((tree, tree, tree, int)); -static tree non_reference PROTO((tree)); -static tree build_conv PROTO((enum tree_code, tree, tree)); -static int is_subseq PROTO((tree, tree)); -static int maybe_handle_ref_bind PROTO((tree*, tree*)); -static void maybe_handle_implicit_object PROTO((tree*)); -static struct z_candidate * add_candidate PROTO((struct z_candidate *, + PARAMS ((struct z_candidate *, tree, tree, int)); +static tree implicit_conversion PARAMS ((tree, tree, tree, int)); +static tree standard_conversion PARAMS ((tree, tree, tree)); +static tree reference_binding PARAMS ((tree, tree, tree, int)); +static tree non_reference PARAMS ((tree)); +static tree build_conv PARAMS ((enum tree_code, tree, tree)); +static int is_subseq PARAMS ((tree, tree)); +static int maybe_handle_ref_bind PARAMS ((tree*, tree*)); +static void maybe_handle_implicit_object PARAMS ((tree*)); +static struct z_candidate * add_candidate PARAMS ((struct z_candidate *, tree, tree, int)); -static tree source_type PROTO((tree)); -static void add_warning PROTO((struct z_candidate *, struct z_candidate *)); -static int reference_related_p PROTO ((tree, tree)); -static int reference_compatible_p PROTO ((tree, tree)); -static tree convert_class_to_reference PROTO ((tree, tree, tree)); -static tree direct_reference_binding PROTO ((tree, tree)); -static int promoted_arithmetic_type_p PROTO ((tree)); -static tree conditional_conversion PROTO ((tree, tree)); +static tree source_type PARAMS ((tree)); +static void add_warning PARAMS ((struct z_candidate *, struct z_candidate *)); +static int reference_related_p PARAMS ((tree, tree)); +static int reference_compatible_p PARAMS ((tree, tree)); +static tree convert_class_to_reference PARAMS ((tree, tree, tree)); +static tree direct_reference_binding PARAMS ((tree, tree)); +static int promoted_arithmetic_type_p PARAMS ((tree)); +static tree conditional_conversion PARAMS ((tree, tree)); tree build_vfield_ref (datum, type) diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 0085052d302..e7b11f95469 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -41,7 +41,7 @@ Boston, MA 02111-1307, USA. */ same. */ #define SAME_FN(FN1DECL, FN2DECL) (DECL_ASSEMBLER_NAME (FN1DECL) == DECL_ASSEMBLER_NAME (FN2DECL)) -extern void set_class_shadows PROTO ((tree)); +extern void set_class_shadows PARAMS ((tree)); /* The number of nested classes being processed. If we are not in the scope of any class, this is zero. */ @@ -72,87 +72,87 @@ typedef struct class_stack_node { static int current_class_stack_size; static class_stack_node_t current_class_stack; -static tree get_vfield_name PROTO((tree)); -static void finish_struct_anon PROTO((tree)); -static tree build_vbase_pointer PROTO((tree, tree)); -static tree build_vtable_entry PROTO((tree, tree)); -static tree get_vtable_name PROTO((tree)); -static tree get_derived_offset PROTO((tree, tree)); -static tree get_basefndecls PROTO((tree, tree)); -static void set_rtti_entry PROTO((tree, tree, tree)); -static void build_vtable PROTO((tree, tree)); -static void prepare_fresh_vtable PROTO((tree, tree)); -static tree dfs_fixup_vtable_deltas PROTO((tree, void *)); -static tree dfs_finish_vtbls PROTO((tree, void *)); -static void finish_vtbls PROTO((tree)); -static void modify_vtable_entry PROTO((tree, tree, tree)); -static tree get_vtable_entry_n PROTO((tree, unsigned HOST_WIDE_INT)); -static void add_virtual_function PROTO((tree *, tree *, int *, tree, tree)); -static tree delete_duplicate_fields_1 PROTO((tree, tree)); -static void delete_duplicate_fields PROTO((tree)); -static void finish_struct_bits PROTO((tree)); -static int alter_access PROTO((tree, tree, tree, tree)); -static void handle_using_decl PROTO((tree, tree)); -static int overrides PROTO((tree, tree)); -static int strictly_overrides PROTO((tree, tree)); -static void merge_overrides PROTO((tree, tree, int, tree)); -static void override_one_vtable PROTO((tree, tree, tree)); -static void mark_overriders PROTO((tree, tree)); -static void check_for_override PROTO((tree, tree)); -static tree dfs_get_class_offset PROTO((tree, void *)); -static tree get_class_offset PROTO((tree, tree, tree, tree)); -static void modify_one_vtable PROTO((tree, tree, tree)); -static tree dfs_modify_vtables PROTO((tree, void *)); -static tree modify_all_vtables PROTO((tree, int *, tree)); -static void determine_primary_base PROTO((tree, int *)); -static void finish_struct_methods PROTO((tree)); -static void maybe_warn_about_overly_private_class PROTO ((tree)); -static int field_decl_cmp PROTO ((const tree *, const tree *)); -static int method_name_cmp PROTO ((const tree *, const tree *)); -static tree add_implicitly_declared_members PROTO((tree, int, int, int)); -static tree fixed_type_or_null PROTO((tree, int *)); -static tree resolve_address_of_overloaded_function PROTO((tree, tree, int, +static tree get_vfield_name PARAMS ((tree)); +static void finish_struct_anon PARAMS ((tree)); +static tree build_vbase_pointer PARAMS ((tree, tree)); +static tree build_vtable_entry PARAMS ((tree, tree)); +static tree get_vtable_name PARAMS ((tree)); +static tree get_derived_offset PARAMS ((tree, tree)); +static tree get_basefndecls PARAMS ((tree, tree)); +static void set_rtti_entry PARAMS ((tree, tree, tree)); +static void build_vtable PARAMS ((tree, tree)); +static void prepare_fresh_vtable PARAMS ((tree, tree)); +static tree dfs_fixup_vtable_deltas PARAMS ((tree, void *)); +static tree dfs_finish_vtbls PARAMS ((tree, void *)); +static void finish_vtbls PARAMS ((tree)); +static void modify_vtable_entry PARAMS ((tree, tree, tree)); +static tree get_vtable_entry_n PARAMS ((tree, unsigned HOST_WIDE_INT)); +static void add_virtual_function PARAMS ((tree *, tree *, int *, tree, tree)); +static tree delete_duplicate_fields_1 PARAMS ((tree, tree)); +static void delete_duplicate_fields PARAMS ((tree)); +static void finish_struct_bits PARAMS ((tree)); +static int alter_access PARAMS ((tree, tree, tree, tree)); +static void handle_using_decl PARAMS ((tree, tree)); +static int overrides PARAMS ((tree, tree)); +static int strictly_overrides PARAMS ((tree, tree)); +static void merge_overrides PARAMS ((tree, tree, int, tree)); +static void override_one_vtable PARAMS ((tree, tree, tree)); +static void mark_overriders PARAMS ((tree, tree)); +static void check_for_override PARAMS ((tree, tree)); +static tree dfs_get_class_offset PARAMS ((tree, void *)); +static tree get_class_offset PARAMS ((tree, tree, tree, tree)); +static void modify_one_vtable PARAMS ((tree, tree, tree)); +static tree dfs_modify_vtables PARAMS ((tree, void *)); +static tree modify_all_vtables PARAMS ((tree, int *, tree)); +static void determine_primary_base PARAMS ((tree, int *)); +static void finish_struct_methods PARAMS ((tree)); +static void maybe_warn_about_overly_private_class PARAMS ((tree)); +static int field_decl_cmp PARAMS ((const tree *, const tree *)); +static int method_name_cmp PARAMS ((const tree *, const tree *)); +static tree add_implicitly_declared_members PARAMS ((tree, int, int, int)); +static tree fixed_type_or_null PARAMS ((tree, int *)); +static tree resolve_address_of_overloaded_function PARAMS ((tree, tree, int, int, tree)); -static void build_vtable_entry_ref PROTO((tree, tree, tree)); -static tree build_vtable_entry_for_fn PROTO((tree, tree)); -static tree build_vtbl_initializer PROTO((tree, tree)); -static int count_fields PROTO((tree)); -static int add_fields_to_vec PROTO((tree, tree, int)); -static void check_bitfield_decl PROTO((tree)); -static void check_field_decl PROTO((tree, tree, int *, int *, int *, int *)); -static void check_field_decls PROTO((tree, tree *, int *, int *, int *, +static void build_vtable_entry_ref PARAMS ((tree, tree, tree)); +static tree build_vtable_entry_for_fn PARAMS ((tree, tree)); +static tree build_vtbl_initializer PARAMS ((tree, tree)); +static int count_fields PARAMS ((tree)); +static int add_fields_to_vec PARAMS ((tree, tree, int)); +static void check_bitfield_decl PARAMS ((tree)); +static void check_field_decl PARAMS ((tree, tree, int *, int *, int *, int *)); +static void check_field_decls PARAMS ((tree, tree *, int *, int *, int *, int *)); -static int avoid_overlap PROTO((tree, tree, int *)); -static tree build_base_field PROTO((tree, tree, int *, int *, unsigned int *)); -static tree build_base_fields PROTO((tree, int *)); -static tree build_vbase_pointer_fields PROTO((tree, int *)); -static tree build_vtbl_or_vbase_field PROTO((tree, tree, tree, tree, int *)); -static void check_methods PROTO((tree)); -static void remove_zero_width_bit_fields PROTO((tree)); -static void check_bases PROTO((tree, int *, int *, int *)); -static void check_bases_and_members PROTO((tree, int *)); -static void create_vtable_ptr PROTO((tree, int *, int *, tree *, tree *)); -static void layout_class_type PROTO((tree, int *, int *, tree *, tree *)); -static void fixup_pending_inline PROTO((struct pending_inline *)); -static void fixup_inline_methods PROTO((tree)); -static void set_primary_base PROTO((tree, int, int *)); -static tree dfs_propagate_binfo_offsets PROTO((tree, void *)); -static void propagate_binfo_offsets PROTO((tree, tree)); -static void layout_basetypes PROTO((tree)); -static void layout_virtual_bases PROTO((tree)); -static void remove_base_field PROTO((tree, tree, tree *)); -static void remove_base_fields PROTO((tree)); -static tree dfs_set_offset_for_shared_vbases PROTO((tree, void *)); -static tree dfs_set_offset_for_unshared_vbases PROTO((tree, void *)); -static tree dfs_build_vbase_offset_vtbl_entries PROTO((tree, void *)); -static tree build_vbase_offset_vtbl_entries PROTO((tree, tree)); -static tree dfs_vcall_offset_queue_p PROTO((tree, void *)); -static tree dfs_build_vcall_offset_vtbl_entries PROTO((tree, void *)); -static tree build_vcall_offset_vtbl_entries PROTO((tree, tree)); -static tree dfs_count_virtuals PROTO((tree, void *)); -static void start_vtable PROTO((tree, int *)); -static void layout_vtable_decl PROTO((tree, int)); -static int num_vfun_entries PROTO((tree)); +static int avoid_overlap PARAMS ((tree, tree, int *)); +static tree build_base_field PARAMS ((tree, tree, int *, int *, unsigned int *)); +static tree build_base_fields PARAMS ((tree, int *)); +static tree build_vbase_pointer_fields PARAMS ((tree, int *)); +static tree build_vtbl_or_vbase_field PARAMS ((tree, tree, tree, tree, int *)); +static void check_methods PARAMS ((tree)); +static void remove_zero_width_bit_fields PARAMS ((tree)); +static void check_bases PARAMS ((tree, int *, int *, int *)); +static void check_bases_and_members PARAMS ((tree, int *)); +static void create_vtable_ptr PARAMS ((tree, int *, int *, tree *, tree *)); +static void layout_class_type PARAMS ((tree, int *, int *, tree *, tree *)); +static void fixup_pending_inline PARAMS ((struct pending_inline *)); +static void fixup_inline_methods PARAMS ((tree)); +static void set_primary_base PARAMS ((tree, int, int *)); +static tree dfs_propagate_binfo_offsets PARAMS ((tree, void *)); +static void propagate_binfo_offsets PARAMS ((tree, tree)); +static void layout_basetypes PARAMS ((tree)); +static void layout_virtual_bases PARAMS ((tree)); +static void remove_base_field PARAMS ((tree, tree, tree *)); +static void remove_base_fields PARAMS ((tree)); +static tree dfs_set_offset_for_shared_vbases PARAMS ((tree, void *)); +static tree dfs_set_offset_for_unshared_vbases PARAMS ((tree, void *)); +static tree dfs_build_vbase_offset_vtbl_entries PARAMS ((tree, void *)); +static tree build_vbase_offset_vtbl_entries PARAMS ((tree, tree)); +static tree dfs_vcall_offset_queue_p PARAMS ((tree, void *)); +static tree dfs_build_vcall_offset_vtbl_entries PARAMS ((tree, void *)); +static tree build_vcall_offset_vtbl_entries PARAMS ((tree, tree)); +static tree dfs_count_virtuals PARAMS ((tree, void *)); +static void start_vtable PARAMS ((tree, int *)); +static void layout_vtable_decl PARAMS ((tree, int)); +static int num_vfun_entries PARAMS ((tree)); /* Variables shared between class.c and call.c. */ diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 0d83576c922..062586c38c1 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -1135,7 +1135,7 @@ extern int flag_access_control; after the file has been completely parsed. The argument will be the GLOBAL_NAMESPACE. */ -extern void (*back_end_hook) PROTO((tree)); +extern void (*back_end_hook) PARAMS ((tree)); /* C++ language-specific tree codes. */ @@ -2954,44 +2954,44 @@ extern int warn_multichar; extern int warn_nontemplate_friend; /* in c-common.c */ -extern void declare_function_name PROTO((void)); -extern void decl_attributes PROTO((tree, tree, tree)); -extern void init_function_format_info PROTO((void)); -extern void record_function_format PROTO((tree, tree, int, int, int)); -extern void check_function_format PROTO((tree, tree, tree)); +extern void declare_function_name PARAMS ((void)); +extern void decl_attributes PARAMS ((tree, tree, tree)); +extern void init_function_format_info PARAMS ((void)); +extern void record_function_format PARAMS ((tree, tree, int, int, int)); +extern void check_function_format PARAMS ((tree, tree, tree)); /* Print an error message for invalid operands to arith operation CODE. NOP_EXPR is used as a special case (see truthvalue_conversion). */ -extern void binary_op_error PROTO((enum tree_code)); -extern tree canonical_type_variant PROTO((tree)); -extern void c_expand_expr_stmt PROTO((tree)); +extern void binary_op_error PARAMS ((enum tree_code)); +extern tree canonical_type_variant PARAMS ((tree)); +extern void c_expand_expr_stmt PARAMS ((tree)); /* Validate the expression after `case' and apply default promotions. */ -extern tree check_case_value PROTO((tree)); +extern tree check_case_value PARAMS ((tree)); /* Concatenate a list of STRING_CST nodes into one STRING_CST. */ -extern tree combine_strings PROTO((tree)); -extern void constant_expression_warning PROTO((tree)); -extern tree convert_and_check PROTO((tree, tree)); -extern void overflow_warning PROTO((tree)); -extern void unsigned_conversion_warning PROTO((tree, tree)); -extern void c_apply_type_quals_to_decl PROTO((int, tree)); +extern tree combine_strings PARAMS ((tree)); +extern void constant_expression_warning PARAMS ((tree)); +extern tree convert_and_check PARAMS ((tree, tree)); +extern void overflow_warning PARAMS ((tree)); +extern void unsigned_conversion_warning PARAMS ((tree, tree)); +extern void c_apply_type_quals_to_decl PARAMS ((int, tree)); /* Read the rest of the current #-directive line. */ #if USE_CPPLIB -extern char *get_directive_line PROTO((void)); +extern char *get_directive_line PARAMS ((void)); #define GET_DIRECTIVE_LINE() get_directive_line () #else -extern char *get_directive_line PROTO((FILE *)); +extern char *get_directive_line PARAMS ((FILE *)); #define GET_DIRECTIVE_LINE() get_directive_line (finput) #endif /* Subroutine of build_binary_op, used for comparison operations. See if the operands have both been converted from subword integer types and, if so, perhaps change them both back to their original type. */ -extern tree shorten_compare PROTO((tree *, tree *, tree *, enum tree_code *)); +extern tree shorten_compare PARAMS ((tree *, tree *, tree *, enum tree_code *)); /* Prepare expr to be an argument of a TRUTH_NOT_EXPR, or validate its data type for an `if' or `while' statement or ?..: exp. */ -extern tree truthvalue_conversion PROTO((tree)); -extern tree type_for_mode PROTO((enum machine_mode, int)); -extern tree type_for_size PROTO((unsigned, int)); -extern int c_get_alias_set PROTO((tree)); +extern tree truthvalue_conversion PARAMS ((tree)); +extern tree type_for_mode PARAMS ((enum machine_mode, int)); +extern tree type_for_size PARAMS ((unsigned, int)); +extern int c_get_alias_set PARAMS ((tree)); /* in decl{2}.c */ /* A node that is a list (length 1) of error_mark_nodes. */ @@ -3033,7 +3033,7 @@ struct tinst_level struct tinst_level *next; }; -extern void maybe_print_template_context PROTO ((void)); +extern void maybe_print_template_context PARAMS ((void)); /* in class.c */ @@ -3477,869 +3477,869 @@ enum tree_string_flags extern const char **opname_tab, **assignop_tab; /* in call.c */ -extern int check_dtor_name PROTO((tree, tree)); -extern int get_arglist_len_in_bytes PROTO((tree)); - -extern tree build_vfield_ref PROTO((tree, tree)); -extern tree resolve_scope_to_name PROTO((tree, tree)); -extern tree build_scoped_method_call PROTO((tree, tree, tree, tree)); -extern tree build_addr_func PROTO((tree)); -extern tree build_call PROTO((tree, tree, tree)); -extern tree build_method_call PROTO((tree, tree, tree, tree, int)); -extern int null_ptr_cst_p PROTO((tree)); -extern tree type_decays_to PROTO((tree)); -extern tree build_user_type_conversion PROTO((tree, tree, int)); -extern tree build_new_function_call PROTO((tree, tree)); -extern tree build_new_op PROTO((enum tree_code, int, tree, tree, tree)); -extern tree build_op_new_call PROTO((enum tree_code, tree, tree, int)); -extern tree build_op_delete_call PROTO((enum tree_code, tree, tree, int, tree)); -extern int can_convert PROTO((tree, tree)); -extern int can_convert_arg PROTO((tree, tree, tree)); -extern int enforce_access PROTO((tree, tree)); -extern tree convert_default_arg PROTO((tree, tree, tree)); -extern tree convert_arg_to_ellipsis PROTO((tree)); -extern tree build_x_va_arg PROTO((tree, tree)); -extern tree convert_type_from_ellipsis PROTO((tree)); -extern int is_properly_derived_from PROTO((tree, tree)); -extern tree initialize_reference PROTO((tree, tree)); -extern tree strip_top_quals PROTO((tree)); -extern tree perform_implicit_conversion PROTO((tree, tree)); +extern int check_dtor_name PARAMS ((tree, tree)); +extern int get_arglist_len_in_bytes PARAMS ((tree)); + +extern tree build_vfield_ref PARAMS ((tree, tree)); +extern tree resolve_scope_to_name PARAMS ((tree, tree)); +extern tree build_scoped_method_call PARAMS ((tree, tree, tree, tree)); +extern tree build_addr_func PARAMS ((tree)); +extern tree build_call PARAMS ((tree, tree, tree)); +extern tree build_method_call PARAMS ((tree, tree, tree, tree, int)); +extern int null_ptr_cst_p PARAMS ((tree)); +extern tree type_decays_to PARAMS ((tree)); +extern tree build_user_type_conversion PARAMS ((tree, tree, int)); +extern tree build_new_function_call PARAMS ((tree, tree)); +extern tree build_new_op PARAMS ((enum tree_code, int, tree, tree, tree)); +extern tree build_op_new_call PARAMS ((enum tree_code, tree, tree, int)); +extern tree build_op_delete_call PARAMS ((enum tree_code, tree, tree, int, tree)); +extern int can_convert PARAMS ((tree, tree)); +extern int can_convert_arg PARAMS ((tree, tree, tree)); +extern int enforce_access PARAMS ((tree, tree)); +extern tree convert_default_arg PARAMS ((tree, tree, tree)); +extern tree convert_arg_to_ellipsis PARAMS ((tree)); +extern tree build_x_va_arg PARAMS ((tree, tree)); +extern tree convert_type_from_ellipsis PARAMS ((tree)); +extern int is_properly_derived_from PARAMS ((tree, tree)); +extern tree initialize_reference PARAMS ((tree, tree)); +extern tree strip_top_quals PARAMS ((tree)); +extern tree perform_implicit_conversion PARAMS ((tree, tree)); /* in class.c */ -extern tree build_vbase_path PROTO((enum tree_code, tree, tree, tree, int)); -extern tree build_vtbl_ref PROTO((tree, tree)); -extern tree build_vfn_ref PROTO((tree *, tree, tree)); -extern tree get_vtable_decl PROTO((tree, int)); -extern void add_method PROTO((tree, tree *, tree)); -extern int currently_open_class PROTO((tree)); -extern tree get_vfield_offset PROTO((tree)); -extern void duplicate_tag_error PROTO((tree)); -extern tree finish_struct PROTO((tree, tree)); -extern void finish_struct_1 PROTO((tree)); -extern int resolves_to_fixed_type_p PROTO((tree, int *)); -extern void init_class_processing PROTO((void)); -extern int is_empty_class PROTO((tree)); -extern void pushclass PROTO((tree, int)); -extern void popclass PROTO((void)); -extern void push_nested_class PROTO((tree, int)); -extern void pop_nested_class PROTO((void)); -extern void push_lang_context PROTO((tree)); -extern void pop_lang_context PROTO((void)); -extern tree instantiate_type PROTO((tree, tree, int)); -extern void print_class_statistics PROTO((void)); -extern tree skip_rtti_stuff PROTO((tree, tree, unsigned HOST_WIDE_INT *)); -extern void build_self_reference PROTO((void)); -extern void warn_hidden PROTO((tree)); -extern tree get_enclosing_class PROTO((tree)); -int is_base_of_enclosing_class PROTO((tree, tree)); -extern void unreverse_member_declarations PROTO((tree)); -extern void invalidate_class_lookup_cache PROTO((void)); -extern void maybe_note_name_used_in_class PROTO((tree, tree)); -extern void note_name_declared_in_class PROTO((tree, tree)); -extern tree num_extra_vtbl_entries PROTO((tree)); -extern tree size_extra_vtbl_entries PROTO((tree)); +extern tree build_vbase_path PARAMS ((enum tree_code, tree, tree, tree, int)); +extern tree build_vtbl_ref PARAMS ((tree, tree)); +extern tree build_vfn_ref PARAMS ((tree *, tree, tree)); +extern tree get_vtable_decl PARAMS ((tree, int)); +extern void add_method PARAMS ((tree, tree *, tree)); +extern int currently_open_class PARAMS ((tree)); +extern tree get_vfield_offset PARAMS ((tree)); +extern void duplicate_tag_error PARAMS ((tree)); +extern tree finish_struct PARAMS ((tree, tree)); +extern void finish_struct_1 PARAMS ((tree)); +extern int resolves_to_fixed_type_p PARAMS ((tree, int *)); +extern void init_class_processing PARAMS ((void)); +extern int is_empty_class PARAMS ((tree)); +extern void pushclass PARAMS ((tree, int)); +extern void popclass PARAMS ((void)); +extern void push_nested_class PARAMS ((tree, int)); +extern void pop_nested_class PARAMS ((void)); +extern void push_lang_context PARAMS ((tree)); +extern void pop_lang_context PARAMS ((void)); +extern tree instantiate_type PARAMS ((tree, tree, int)); +extern void print_class_statistics PARAMS ((void)); +extern tree skip_rtti_stuff PARAMS ((tree, tree, unsigned HOST_WIDE_INT *)); +extern void build_self_reference PARAMS ((void)); +extern void warn_hidden PARAMS ((tree)); +extern tree get_enclosing_class PARAMS ((tree)); +int is_base_of_enclosing_class PARAMS ((tree, tree)); +extern void unreverse_member_declarations PARAMS ((tree)); +extern void invalidate_class_lookup_cache PARAMS ((void)); +extern void maybe_note_name_used_in_class PARAMS ((tree, tree)); +extern void note_name_declared_in_class PARAMS ((tree, tree)); +extern tree num_extra_vtbl_entries PARAMS ((tree)); +extern tree size_extra_vtbl_entries PARAMS ((tree)); /* in cvt.c */ -extern tree convert_to_reference PROTO((tree, tree, int, int, tree)); -extern tree convert_from_reference PROTO((tree)); -extern tree convert_pointer_to_real PROTO((tree, tree)); -extern tree convert_pointer_to PROTO((tree, tree)); -extern tree ocp_convert PROTO((tree, tree, int, int)); -extern tree cp_convert PROTO((tree, tree)); -extern tree convert_to_void PROTO((tree, const char */*implicit context*/)); -extern tree convert PROTO((tree, tree)); -extern tree convert_force PROTO((tree, tree, int)); -extern tree build_type_conversion PROTO((tree, tree, int)); -extern tree build_expr_type_conversion PROTO((int, tree, int)); -extern tree type_promotes_to PROTO((tree)); -extern tree perform_qualification_conversions PROTO((tree, tree)); +extern tree convert_to_reference PARAMS ((tree, tree, int, int, tree)); +extern tree convert_from_reference PARAMS ((tree)); +extern tree convert_pointer_to_real PARAMS ((tree, tree)); +extern tree convert_pointer_to PARAMS ((tree, tree)); +extern tree ocp_convert PARAMS ((tree, tree, int, int)); +extern tree cp_convert PARAMS ((tree, tree)); +extern tree convert_to_void PARAMS ((tree, const char */*implicit context*/)); +extern tree convert PARAMS ((tree, tree)); +extern tree convert_force PARAMS ((tree, tree, int)); +extern tree build_type_conversion PARAMS ((tree, tree, int)); +extern tree build_expr_type_conversion PARAMS ((int, tree, int)); +extern tree type_promotes_to PARAMS ((tree)); +extern tree perform_qualification_conversions PARAMS ((tree, tree)); /* decl.c */ /* resume_binding_level */ -extern void set_identifier_local_value PROTO((tree, tree)); -extern int global_bindings_p PROTO((void)); -extern int toplevel_bindings_p PROTO((void)); -extern int namespace_bindings_p PROTO((void)); -extern void keep_next_level PROTO((int)); -extern int kept_level_p PROTO((void)); -extern void declare_pseudo_global_level PROTO((void)); -extern int pseudo_global_level_p PROTO((void)); -extern void set_class_shadows PROTO((tree)); -extern void pushlevel PROTO((int)); -extern void note_level_for_for PROTO((void)); -extern void resume_level PROTO((struct binding_level *)); -extern void delete_block PROTO((tree)); -extern void insert_block PROTO((tree)); -extern void add_block_current_level PROTO((tree)); -extern void set_block PROTO((tree)); -extern void pushlevel_class PROTO((void)); -extern void poplevel_class PROTO((void)); -extern void print_binding_stack PROTO((void)); -extern void print_binding_level PROTO((struct binding_level *)); -extern void push_namespace PROTO((tree)); -extern void pop_namespace PROTO((void)); -extern void push_nested_namespace PROTO((tree)); -extern void pop_nested_namespace PROTO((tree)); -extern void maybe_push_to_top_level PROTO((int)); -extern void push_to_top_level PROTO((void)); -extern void pop_from_top_level PROTO((void)); -extern tree identifier_type_value PROTO((tree)); -extern void set_identifier_type_value PROTO((tree, tree)); -extern void pop_everything PROTO((void)); -extern void pushtag PROTO((tree, tree, int)); -extern tree make_anon_name PROTO((void)); -extern void clear_anon_tags PROTO((void)); -extern int decls_match PROTO((tree, tree)); -extern int duplicate_decls PROTO((tree, tree)); -extern tree pushdecl PROTO((tree)); -extern tree pushdecl_top_level PROTO((tree)); -extern void pushdecl_class_level PROTO((tree)); +extern void set_identifier_local_value PARAMS ((tree, tree)); +extern int global_bindings_p PARAMS ((void)); +extern int toplevel_bindings_p PARAMS ((void)); +extern int namespace_bindings_p PARAMS ((void)); +extern void keep_next_level PARAMS ((int)); +extern int kept_level_p PARAMS ((void)); +extern void declare_pseudo_global_level PARAMS ((void)); +extern int pseudo_global_level_p PARAMS ((void)); +extern void set_class_shadows PARAMS ((tree)); +extern void pushlevel PARAMS ((int)); +extern void note_level_for_for PARAMS ((void)); +extern void resume_level PARAMS ((struct binding_level *)); +extern void delete_block PARAMS ((tree)); +extern void insert_block PARAMS ((tree)); +extern void add_block_current_level PARAMS ((tree)); +extern void set_block PARAMS ((tree)); +extern void pushlevel_class PARAMS ((void)); +extern void poplevel_class PARAMS ((void)); +extern void print_binding_stack PARAMS ((void)); +extern void print_binding_level PARAMS ((struct binding_level *)); +extern void push_namespace PARAMS ((tree)); +extern void pop_namespace PARAMS ((void)); +extern void push_nested_namespace PARAMS ((tree)); +extern void pop_nested_namespace PARAMS ((tree)); +extern void maybe_push_to_top_level PARAMS ((int)); +extern void push_to_top_level PARAMS ((void)); +extern void pop_from_top_level PARAMS ((void)); +extern tree identifier_type_value PARAMS ((tree)); +extern void set_identifier_type_value PARAMS ((tree, tree)); +extern void pop_everything PARAMS ((void)); +extern void pushtag PARAMS ((tree, tree, int)); +extern tree make_anon_name PARAMS ((void)); +extern void clear_anon_tags PARAMS ((void)); +extern int decls_match PARAMS ((tree, tree)); +extern int duplicate_decls PARAMS ((tree, tree)); +extern tree pushdecl PARAMS ((tree)); +extern tree pushdecl_top_level PARAMS ((tree)); +extern void pushdecl_class_level PARAMS ((tree)); #if 0 -extern void pushdecl_nonclass_level PROTO((tree)); +extern void pushdecl_nonclass_level PARAMS ((tree)); #endif -extern tree pushdecl_namespace_level PROTO((tree)); -extern tree push_using_decl PROTO((tree, tree)); -extern tree push_using_directive PROTO((tree)); -extern void push_class_level_binding PROTO((tree, tree)); -extern tree implicitly_declare PROTO((tree)); -extern tree lookup_label PROTO((tree)); -extern tree declare_local_label PROTO((tree)); -extern tree define_label PROTO((char *, int, tree)); -extern void push_switch PROTO((void)); -extern void pop_switch PROTO((void)); -extern void define_case_label PROTO((void)); -extern tree getdecls PROTO((void)); -extern tree gettags PROTO((void)); +extern tree pushdecl_namespace_level PARAMS ((tree)); +extern tree push_using_decl PARAMS ((tree, tree)); +extern tree push_using_directive PARAMS ((tree)); +extern void push_class_level_binding PARAMS ((tree, tree)); +extern tree implicitly_declare PARAMS ((tree)); +extern tree lookup_label PARAMS ((tree)); +extern tree declare_local_label PARAMS ((tree)); +extern tree define_label PARAMS ((char *, int, tree)); +extern void push_switch PARAMS ((void)); +extern void pop_switch PARAMS ((void)); +extern void define_case_label PARAMS ((void)); +extern tree getdecls PARAMS ((void)); +extern tree gettags PARAMS ((void)); #if 0 -extern void set_current_level_tags_transparency PROTO((int)); +extern void set_current_level_tags_transparency PARAMS ((int)); #endif -extern tree binding_for_name PROTO((tree, tree)); -extern tree namespace_binding PROTO((tree, tree)); -extern void set_namespace_binding PROTO((tree, tree, tree)); -extern tree lookup_namespace_name PROTO((tree, tree)); -extern tree build_typename_type PROTO((tree, tree, tree, tree)); -extern tree make_typename_type PROTO((tree, tree, int)); -extern tree lookup_name_nonclass PROTO((tree)); -extern tree lookup_function_nonclass PROTO((tree, tree)); -extern tree lookup_name PROTO((tree, int)); -extern tree lookup_name_current_level PROTO((tree)); -extern tree lookup_type_current_level PROTO((tree)); -extern tree lookup_name_namespace_only PROTO((tree)); -extern void begin_only_namespace_names PROTO((void)); -extern void end_only_namespace_names PROTO((void)); -extern tree namespace_ancestor PROTO((tree, tree)); -extern tree unqualified_namespace_lookup PROTO((tree, int, tree *)); -extern int lookup_using_namespace PROTO((tree, tree, tree, tree, int, tree *)); -extern int qualified_lookup_using_namespace PROTO((tree, tree, tree, int)); -extern tree auto_function PROTO((tree, tree)); -extern void init_decl_processing PROTO((void)); -extern int init_type_desc PROTO((void)); -extern tree define_function PROTO((const char *, tree, +extern tree binding_for_name PARAMS ((tree, tree)); +extern tree namespace_binding PARAMS ((tree, tree)); +extern void set_namespace_binding PARAMS ((tree, tree, tree)); +extern tree lookup_namespace_name PARAMS ((tree, tree)); +extern tree build_typename_type PARAMS ((tree, tree, tree, tree)); +extern tree make_typename_type PARAMS ((tree, tree, int)); +extern tree lookup_name_nonclass PARAMS ((tree)); +extern tree lookup_function_nonclass PARAMS ((tree, tree)); +extern tree lookup_name PARAMS ((tree, int)); +extern tree lookup_name_current_level PARAMS ((tree)); +extern tree lookup_type_current_level PARAMS ((tree)); +extern tree lookup_name_namespace_only PARAMS ((tree)); +extern void begin_only_namespace_names PARAMS ((void)); +extern void end_only_namespace_names PARAMS ((void)); +extern tree namespace_ancestor PARAMS ((tree, tree)); +extern tree unqualified_namespace_lookup PARAMS ((tree, int, tree *)); +extern int lookup_using_namespace PARAMS ((tree, tree, tree, tree, int, tree *)); +extern int qualified_lookup_using_namespace PARAMS ((tree, tree, tree, int)); +extern tree auto_function PARAMS ((tree, tree)); +extern void init_decl_processing PARAMS ((void)); +extern int init_type_desc PARAMS ((void)); +extern tree define_function PARAMS ((const char *, tree, void (*) (tree), const char *)); -extern tree check_tag_decl PROTO((tree)); -extern void shadow_tag PROTO((tree)); -extern tree groktypename PROTO((tree)); -extern tree start_decl PROTO((tree, tree, int, tree, tree)); -extern void start_decl_1 PROTO((tree)); -extern void cp_finish_decl PROTO((tree, tree, tree, int)); -extern void finish_decl PROTO((tree, tree, tree)); -extern void maybe_inject_for_scope_var PROTO((tree)); -extern void initialize_local_var PROTO((tree, tree, int)); -extern void expand_static_init PROTO((tree, tree)); -extern tree start_handler_parms PROTO((tree, tree)); -extern int complete_array_type PROTO((tree, tree, int)); -extern tree build_ptrmemfunc_type PROTO((tree)); +extern tree check_tag_decl PARAMS ((tree)); +extern void shadow_tag PARAMS ((tree)); +extern tree groktypename PARAMS ((tree)); +extern tree start_decl PARAMS ((tree, tree, int, tree, tree)); +extern void start_decl_1 PARAMS ((tree)); +extern void cp_finish_decl PARAMS ((tree, tree, tree, int)); +extern void finish_decl PARAMS ((tree, tree, tree)); +extern void maybe_inject_for_scope_var PARAMS ((tree)); +extern void initialize_local_var PARAMS ((tree, tree, int)); +extern void expand_static_init PARAMS ((tree, tree)); +extern tree start_handler_parms PARAMS ((tree, tree)); +extern int complete_array_type PARAMS ((tree, tree, int)); +extern tree build_ptrmemfunc_type PARAMS ((tree)); /* the grokdeclarator prototype is in decl.h */ -extern int parmlist_is_exprlist PROTO((tree)); -extern int copy_args_p PROTO((tree)); -extern int grok_ctor_properties PROTO((tree, tree)); -extern void grok_op_properties PROTO((tree, int, int)); -extern tree xref_tag PROTO((tree, tree, int)); -extern tree xref_tag_from_type PROTO((tree, tree, int)); -extern void xref_basetypes PROTO((tree, tree, tree, tree)); -extern tree start_enum PROTO((tree)); -extern tree finish_enum PROTO((tree)); -extern void build_enumerator PROTO((tree, tree, tree)); -extern int start_function PROTO((tree, tree, tree, int)); -extern void expand_start_early_try_stmts PROTO((void)); -extern void store_parm_decls PROTO((void)); -extern void store_return_init PROTO((tree)); -extern tree finish_function PROTO((int, int)); -extern tree start_method PROTO((tree, tree, tree)); -extern tree finish_method PROTO((tree)); -extern void hack_incomplete_structures PROTO((tree)); -extern tree maybe_build_cleanup_and_delete PROTO((tree)); -extern tree maybe_build_cleanup PROTO((tree)); -extern void cplus_expand_expr_stmt PROTO((tree)); -extern void finish_stmt PROTO((void)); -extern int in_function_p PROTO((void)); -extern void replace_defarg PROTO((tree, tree)); -extern void print_other_binding_stack PROTO((struct binding_level *)); -extern void revert_static_member_fn PROTO((tree*, tree*, tree*)); -extern void fixup_anonymous_aggr PROTO((tree)); -extern int check_static_variable_definition PROTO((tree, tree)); -extern tree compute_array_index_type PROTO((tree, tree)); -extern void push_local_binding PROTO((tree, tree, int)); -extern int push_class_binding PROTO((tree, tree)); -extern tree check_default_argument PROTO((tree, tree)); -extern tree push_overloaded_decl PROTO((tree, int)); -extern void clear_identifier_class_values PROTO((void)); -extern void storetags PROTO((tree)); -extern int vtable_decl_p PROTO((tree, void *)); -extern int vtype_decl_p PROTO((tree, void *)); -extern int sigtable_decl_p PROTO((tree, void *)); -typedef int (*walk_globals_pred) PROTO((tree, void *)); -typedef int (*walk_globals_fn) PROTO((tree *, void *)); -extern int walk_globals PROTO((walk_globals_pred, +extern int parmlist_is_exprlist PARAMS ((tree)); +extern int copy_args_p PARAMS ((tree)); +extern int grok_ctor_properties PARAMS ((tree, tree)); +extern void grok_op_properties PARAMS ((tree, int, int)); +extern tree xref_tag PARAMS ((tree, tree, int)); +extern tree xref_tag_from_type PARAMS ((tree, tree, int)); +extern void xref_basetypes PARAMS ((tree, tree, tree, tree)); +extern tree start_enum PARAMS ((tree)); +extern tree finish_enum PARAMS ((tree)); +extern void build_enumerator PARAMS ((tree, tree, tree)); +extern int start_function PARAMS ((tree, tree, tree, int)); +extern void expand_start_early_try_stmts PARAMS ((void)); +extern void store_parm_decls PARAMS ((void)); +extern void store_return_init PARAMS ((tree)); +extern tree finish_function PARAMS ((int, int)); +extern tree start_method PARAMS ((tree, tree, tree)); +extern tree finish_method PARAMS ((tree)); +extern void hack_incomplete_structures PARAMS ((tree)); +extern tree maybe_build_cleanup_and_delete PARAMS ((tree)); +extern tree maybe_build_cleanup PARAMS ((tree)); +extern void cplus_expand_expr_stmt PARAMS ((tree)); +extern void finish_stmt PARAMS ((void)); +extern int in_function_p PARAMS ((void)); +extern void replace_defarg PARAMS ((tree, tree)); +extern void print_other_binding_stack PARAMS ((struct binding_level *)); +extern void revert_static_member_fn PARAMS ((tree*, tree*, tree*)); +extern void fixup_anonymous_aggr PARAMS ((tree)); +extern int check_static_variable_definition PARAMS ((tree, tree)); +extern tree compute_array_index_type PARAMS ((tree, tree)); +extern void push_local_binding PARAMS ((tree, tree, int)); +extern int push_class_binding PARAMS ((tree, tree)); +extern tree check_default_argument PARAMS ((tree, tree)); +extern tree push_overloaded_decl PARAMS ((tree, int)); +extern void clear_identifier_class_values PARAMS ((void)); +extern void storetags PARAMS ((tree)); +extern int vtable_decl_p PARAMS ((tree, void *)); +extern int vtype_decl_p PARAMS ((tree, void *)); +extern int sigtable_decl_p PARAMS ((tree, void *)); +typedef int (*walk_globals_pred) PARAMS ((tree, void *)); +typedef int (*walk_globals_fn) PARAMS ((tree *, void *)); +extern int walk_globals PARAMS ((walk_globals_pred, walk_globals_fn, void *)); -typedef int (*walk_namespaces_fn) PROTO((tree, void *)); -extern int walk_namespaces PROTO((walk_namespaces_fn, +typedef int (*walk_namespaces_fn) PARAMS ((tree, void *)); +extern int walk_namespaces PARAMS ((walk_namespaces_fn, void *)); -extern int wrapup_globals_for_namespace PROTO((tree, void *)); -extern tree cp_namespace_decls PROTO((tree)); -extern tree create_implicit_typedef PROTO((tree, tree)); -extern tree maybe_push_decl PROTO((tree)); -extern void emit_local_var PROTO((tree)); -extern tree build_target_expr_with_type PROTO((tree, tree)); -extern void make_rtl_for_local_static PROTO((tree)); -extern int local_variable_p PROTO((tree)); -extern int nonstatic_local_decl_p PROTO((tree)); -extern tree declare_global_var PROTO((tree, tree)); -extern void register_dtor_fn PROTO((tree)); +extern int wrapup_globals_for_namespace PARAMS ((tree, void *)); +extern tree cp_namespace_decls PARAMS ((tree)); +extern tree create_implicit_typedef PARAMS ((tree, tree)); +extern tree maybe_push_decl PARAMS ((tree)); +extern void emit_local_var PARAMS ((tree)); +extern tree build_target_expr_with_type PARAMS ((tree, tree)); +extern void make_rtl_for_local_static PARAMS ((tree)); +extern int local_variable_p PARAMS ((tree)); +extern int nonstatic_local_decl_p PARAMS ((tree)); +extern tree declare_global_var PARAMS ((tree, tree)); +extern void register_dtor_fn PARAMS ((tree)); /* in decl2.c */ -extern void init_decl2 PROTO((void)); -extern int check_java_method PROTO((tree)); -extern int lang_decode_option PROTO((int, char **)); -extern int grok_method_quals PROTO((tree, tree, tree)); -extern void warn_if_unknown_interface PROTO((tree)); -extern void grok_x_components PROTO((tree)); -extern void maybe_retrofit_in_chrg PROTO((tree)); -extern void maybe_make_one_only PROTO((tree)); -extern void grokclassfn PROTO((tree, tree, enum overload_flags, tree)); -extern tree grok_alignof PROTO((tree)); -extern tree grok_array_decl PROTO((tree, tree)); -extern tree delete_sanity PROTO((tree, tree, int, int)); -extern tree check_classfn PROTO((tree, tree)); -extern void check_member_template PROTO((tree)); -extern tree grokfield PROTO((tree, tree, tree, tree, tree)); -extern tree grokbitfield PROTO((tree, tree, tree)); -extern tree groktypefield PROTO((tree, tree)); -extern tree grokoptypename PROTO((tree, tree)); -extern int copy_assignment_arg_p PROTO((tree, int)); -extern void cplus_decl_attributes PROTO((tree, tree, tree)); -extern tree constructor_name_full PROTO((tree)); -extern tree constructor_name PROTO((tree)); -extern void setup_vtbl_ptr PROTO((void)); -extern void mark_inline_for_output PROTO((tree)); -extern tree get_temp_name PROTO((tree, int)); -extern void finish_anon_union PROTO((tree)); -extern tree finish_table PROTO((tree, tree, tree, int)); -extern void finish_builtin_type PROTO((tree, const char *, +extern void init_decl2 PARAMS ((void)); +extern int check_java_method PARAMS ((tree)); +extern int lang_decode_option PARAMS ((int, char **)); +extern int grok_method_quals PARAMS ((tree, tree, tree)); +extern void warn_if_unknown_interface PARAMS ((tree)); +extern void grok_x_components PARAMS ((tree)); +extern void maybe_retrofit_in_chrg PARAMS ((tree)); +extern void maybe_make_one_only PARAMS ((tree)); +extern void grokclassfn PARAMS ((tree, tree, enum overload_flags, tree)); +extern tree grok_alignof PARAMS ((tree)); +extern tree grok_array_decl PARAMS ((tree, tree)); +extern tree delete_sanity PARAMS ((tree, tree, int, int)); +extern tree check_classfn PARAMS ((tree, tree)); +extern void check_member_template PARAMS ((tree)); +extern tree grokfield PARAMS ((tree, tree, tree, tree, tree)); +extern tree grokbitfield PARAMS ((tree, tree, tree)); +extern tree groktypefield PARAMS ((tree, tree)); +extern tree grokoptypename PARAMS ((tree, tree)); +extern int copy_assignment_arg_p PARAMS ((tree, int)); +extern void cplus_decl_attributes PARAMS ((tree, tree, tree)); +extern tree constructor_name_full PARAMS ((tree)); +extern tree constructor_name PARAMS ((tree)); +extern void setup_vtbl_ptr PARAMS ((void)); +extern void mark_inline_for_output PARAMS ((tree)); +extern tree get_temp_name PARAMS ((tree, int)); +extern void finish_anon_union PARAMS ((tree)); +extern tree finish_table PARAMS ((tree, tree, tree, int)); +extern void finish_builtin_type PARAMS ((tree, const char *, tree *, int, tree)); -extern tree coerce_new_type PROTO((tree)); -extern tree coerce_delete_type PROTO((tree)); -extern void comdat_linkage PROTO((tree)); -extern void import_export_class PROTO((tree)); -extern void import_export_vtable PROTO((tree, tree, int)); -extern void import_export_decl PROTO((tree)); -extern tree build_cleanup PROTO((tree)); -extern void finish_file PROTO((void)); -extern tree reparse_absdcl_as_expr PROTO((tree, tree)); -extern tree reparse_absdcl_as_casts PROTO((tree, tree)); -extern tree build_expr_from_tree PROTO((tree)); -extern tree reparse_decl_as_expr PROTO((tree, tree)); -extern tree finish_decl_parsing PROTO((tree)); -extern tree check_cp_case_value PROTO((tree)); -extern void set_decl_namespace PROTO((tree, tree, int)); -extern tree current_decl_namespace PROTO((void)); -extern void push_decl_namespace PROTO((tree)); -extern void pop_decl_namespace PROTO((void)); -extern void push_scope PROTO((tree)); -extern void pop_scope PROTO((tree)); -extern void do_namespace_alias PROTO((tree, tree)); -extern void do_toplevel_using_decl PROTO((tree)); -extern void do_local_using_decl PROTO((tree)); -extern tree do_class_using_decl PROTO((tree)); -extern void do_using_directive PROTO((tree)); -extern void check_default_args PROTO((tree)); -extern void mark_used PROTO((tree)); -extern tree handle_class_head PROTO((tree, tree, tree)); -extern tree lookup_arg_dependent PROTO((tree, tree, tree)); -extern void finish_static_data_member_decl PROTO((tree, tree, tree, int)); +extern tree coerce_new_type PARAMS ((tree)); +extern tree coerce_delete_type PARAMS ((tree)); +extern void comdat_linkage PARAMS ((tree)); +extern void import_export_class PARAMS ((tree)); +extern void import_export_vtable PARAMS ((tree, tree, int)); +extern void import_export_decl PARAMS ((tree)); +extern tree build_cleanup PARAMS ((tree)); +extern void finish_file PARAMS ((void)); +extern tree reparse_absdcl_as_expr PARAMS ((tree, tree)); +extern tree reparse_absdcl_as_casts PARAMS ((tree, tree)); +extern tree build_expr_from_tree PARAMS ((tree)); +extern tree reparse_decl_as_expr PARAMS ((tree, tree)); +extern tree finish_decl_parsing PARAMS ((tree)); +extern tree check_cp_case_value PARAMS ((tree)); +extern void set_decl_namespace PARAMS ((tree, tree, int)); +extern tree current_decl_namespace PARAMS ((void)); +extern void push_decl_namespace PARAMS ((tree)); +extern void pop_decl_namespace PARAMS ((void)); +extern void push_scope PARAMS ((tree)); +extern void pop_scope PARAMS ((tree)); +extern void do_namespace_alias PARAMS ((tree, tree)); +extern void do_toplevel_using_decl PARAMS ((tree)); +extern void do_local_using_decl PARAMS ((tree)); +extern tree do_class_using_decl PARAMS ((tree)); +extern void do_using_directive PARAMS ((tree)); +extern void check_default_args PARAMS ((tree)); +extern void mark_used PARAMS ((tree)); +extern tree handle_class_head PARAMS ((tree, tree, tree)); +extern tree lookup_arg_dependent PARAMS ((tree, tree, tree)); +extern void finish_static_data_member_decl PARAMS ((tree, tree, tree, int)); /* in parse.y */ -extern void cp_parse_init PROTO((void)); +extern void cp_parse_init PARAMS ((void)); /* in errfn.c */ /* The cp_* functions aren't suitable for ATTRIBUTE_PRINTF. */ -extern void cp_error PVPROTO((const char *, ...)); -extern void cp_error_at PVPROTO((const char *, ...)); -extern void cp_warning PVPROTO((const char *, ...)); -extern void cp_warning_at PVPROTO((const char *, ...)); -extern void cp_pedwarn PVPROTO((const char *, ...)); -extern void cp_pedwarn_at PVPROTO((const char *, ...)); -extern void cp_compiler_error PVPROTO((const char *, ...)); -extern void cp_sprintf PVPROTO((const char *, ...)); -extern void cp_deprecated PROTO((const char*)); +extern void cp_error PARAMS ((const char *, ...)); +extern void cp_error_at PARAMS ((const char *, ...)); +extern void cp_warning PARAMS ((const char *, ...)); +extern void cp_warning_at PARAMS ((const char *, ...)); +extern void cp_pedwarn PARAMS ((const char *, ...)); +extern void cp_pedwarn_at PARAMS ((const char *, ...)); +extern void cp_compiler_error PARAMS ((const char *, ...)); +extern void cp_sprintf PARAMS ((const char *, ...)); +extern void cp_deprecated PARAMS ((const char*)); /* in error.c */ -extern void init_error PROTO((void)); -extern const char *type_as_string PROTO((tree, enum tree_string_flags)); -extern const char *decl_as_string PROTO((tree, enum tree_string_flags)); -extern const char *expr_as_string PROTO((tree, enum tree_string_flags)); -extern const char *context_as_string PROTO((tree, enum tree_string_flags)); -extern const char *lang_decl_name PROTO((tree, int)); -extern const char *cp_file_of PROTO((tree)); -extern int cp_line_of PROTO((tree)); +extern void init_error PARAMS ((void)); +extern const char *type_as_string PARAMS ((tree, enum tree_string_flags)); +extern const char *decl_as_string PARAMS ((tree, enum tree_string_flags)); +extern const char *expr_as_string PARAMS ((tree, enum tree_string_flags)); +extern const char *context_as_string PARAMS ((tree, enum tree_string_flags)); +extern const char *lang_decl_name PARAMS ((tree, int)); +extern const char *cp_file_of PARAMS ((tree)); +extern int cp_line_of PARAMS ((tree)); /* in except.c */ -extern void init_exception_processing PROTO((void)); -extern tree expand_start_catch_block PROTO((tree)); -extern void expand_end_catch_block PROTO((tree)); -extern void expand_builtin_throw PROTO((void)); -extern tree expand_start_eh_spec PROTO((void)); -extern void expand_end_eh_spec PROTO((tree, tree)); -extern void expand_exception_blocks PROTO((void)); -extern tree build_throw PROTO((tree)); -extern void mark_all_runtime_matches PROTO((void)); +extern void init_exception_processing PARAMS ((void)); +extern tree expand_start_catch_block PARAMS ((tree)); +extern void expand_end_catch_block PARAMS ((tree)); +extern void expand_builtin_throw PARAMS ((void)); +extern tree expand_start_eh_spec PARAMS ((void)); +extern void expand_end_eh_spec PARAMS ((tree, tree)); +extern void expand_exception_blocks PARAMS ((void)); +extern tree build_throw PARAMS ((tree)); +extern void mark_all_runtime_matches PARAMS ((void)); /* in expr.c */ -extern void init_cplus_expand PROTO((void)); -extern void fixup_result_decl PROTO((tree, struct rtx_def *)); -extern int extract_init PROTO((tree, tree)); -extern void do_case PROTO((tree, tree)); -extern tree cplus_expand_constant PROTO((tree)); +extern void init_cplus_expand PARAMS ((void)); +extern void fixup_result_decl PARAMS ((tree, struct rtx_def *)); +extern int extract_init PARAMS ((tree, tree)); +extern void do_case PARAMS ((tree, tree)); +extern tree cplus_expand_constant PARAMS ((tree)); /* friend.c */ -extern int is_friend PROTO((tree, tree)); -extern void make_friend_class PROTO((tree, tree)); -extern void add_friend PROTO((tree, tree)); -extern void add_friends PROTO((tree, tree, tree)); -extern tree do_friend PROTO((tree, tree, tree, tree, tree, enum overload_flags, tree, int)); +extern int is_friend PARAMS ((tree, tree)); +extern void make_friend_class PARAMS ((tree, tree)); +extern void add_friend PARAMS ((tree, tree)); +extern void add_friends PARAMS ((tree, tree, tree)); +extern tree do_friend PARAMS ((tree, tree, tree, tree, tree, enum overload_flags, tree, int)); /* in init.c */ -extern void init_init_processing PROTO((void)); -extern tree emit_base_init PROTO((tree)); -extern void check_base_init PROTO((tree)); -extern void expand_member_init PROTO((tree, tree, tree)); -extern tree build_aggr_init PROTO((tree, tree, int)); -extern int is_aggr_typedef PROTO((tree, int)); -extern int is_aggr_type PROTO((tree, int)); -extern tree get_aggr_from_typedef PROTO((tree, int)); -extern tree get_type_value PROTO((tree)); -extern tree build_member_call PROTO((tree, tree, tree)); -extern tree build_offset_ref PROTO((tree, tree)); -extern tree resolve_offset_ref PROTO((tree)); -extern tree decl_constant_value PROTO((tree)); -extern tree build_new PROTO((tree, tree, tree, int)); -extern tree build_new_1 PROTO((tree)); -extern tree build_vec_init PROTO((tree, tree, tree, tree, int)); -extern tree build_x_delete PROTO((tree, int, tree)); -extern tree build_delete PROTO((tree, tree, tree, int, int)); -extern tree build_vbase_delete PROTO((tree, tree)); -extern tree build_vec_delete PROTO((tree, tree, tree, int)); -extern tree create_temporary_var PROTO((tree)); -extern void begin_init_stmts PROTO((tree *, tree *)); -extern tree finish_init_stmts PROTO((tree, tree)); -extern void initialize_vtbl_ptrs PROTO((tree, tree)); +extern void init_init_processing PARAMS ((void)); +extern tree emit_base_init PARAMS ((tree)); +extern void check_base_init PARAMS ((tree)); +extern void expand_member_init PARAMS ((tree, tree, tree)); +extern tree build_aggr_init PARAMS ((tree, tree, int)); +extern int is_aggr_typedef PARAMS ((tree, int)); +extern int is_aggr_type PARAMS ((tree, int)); +extern tree get_aggr_from_typedef PARAMS ((tree, int)); +extern tree get_type_value PARAMS ((tree)); +extern tree build_member_call PARAMS ((tree, tree, tree)); +extern tree build_offset_ref PARAMS ((tree, tree)); +extern tree resolve_offset_ref PARAMS ((tree)); +extern tree decl_constant_value PARAMS ((tree)); +extern tree build_new PARAMS ((tree, tree, tree, int)); +extern tree build_new_1 PARAMS ((tree)); +extern tree build_vec_init PARAMS ((tree, tree, tree, tree, int)); +extern tree build_x_delete PARAMS ((tree, int, tree)); +extern tree build_delete PARAMS ((tree, tree, tree, int, int)); +extern tree build_vbase_delete PARAMS ((tree, tree)); +extern tree build_vec_delete PARAMS ((tree, tree, tree, int)); +extern tree create_temporary_var PARAMS ((tree)); +extern void begin_init_stmts PARAMS ((tree *, tree *)); +extern tree finish_init_stmts PARAMS ((tree, tree)); +extern void initialize_vtbl_ptrs PARAMS ((tree, tree)); /* in input.c */ /* in lex.c */ -extern char *file_name_nondirectory PROTO((const char *)); -extern tree make_pointer_declarator PROTO((tree, tree)); -extern tree make_reference_declarator PROTO((tree, tree)); -extern tree make_call_declarator PROTO((tree, tree, tree, tree)); -extern void set_quals_and_spec PROTO((tree, tree, tree)); -extern const char *operator_name_string PROTO((tree)); -extern void lang_init PROTO((void)); -extern void lang_finish PROTO((void)); +extern char *file_name_nondirectory PARAMS ((const char *)); +extern tree make_pointer_declarator PARAMS ((tree, tree)); +extern tree make_reference_declarator PARAMS ((tree, tree)); +extern tree make_call_declarator PARAMS ((tree, tree, tree, tree)); +extern void set_quals_and_spec PARAMS ((tree, tree, tree)); +extern const char *operator_name_string PARAMS ((tree)); +extern void lang_init PARAMS ((void)); +extern void lang_finish PARAMS ((void)); #if 0 -extern void reinit_lang_specific PROTO((void)); +extern void reinit_lang_specific PARAMS ((void)); #endif -extern void reinit_parse_for_function PROTO((void)); -extern void print_parse_statistics PROTO((void)); -extern void extract_interface_info PROTO((void)); -extern void do_pending_inlines PROTO((void)); -extern void process_next_inline PROTO((struct pending_inline *)); -extern struct pending_input *save_pending_input PROTO((void)); -extern void restore_pending_input PROTO((struct pending_input *)); -extern void yyungetc PROTO((int, int)); -extern void reinit_parse_for_method PROTO((int, tree)); -extern void reinit_parse_for_block PROTO((int, struct obstack *)); -extern tree cons_up_default_function PROTO((tree, tree, int)); -extern void check_for_missing_semicolon PROTO((tree)); -extern void note_got_semicolon PROTO((tree)); -extern void note_list_got_semicolon PROTO((tree)); -extern void do_pending_lang_change PROTO((void)); -extern int identifier_type PROTO((tree)); -extern void see_typename PROTO((void)); -extern tree do_identifier PROTO((tree, int, tree)); -extern tree do_scoped_id PROTO((tree, int)); -extern tree identifier_typedecl_value PROTO((tree)); -extern int real_yylex PROTO((void)); -extern int is_rid PROTO((tree)); -extern tree build_lang_decl PROTO((enum tree_code, tree, tree)); -extern void retrofit_lang_decl PROTO((tree)); -extern void copy_lang_decl PROTO((tree)); -extern tree cp_make_lang_type PROTO((enum tree_code)); -extern tree make_aggr_type PROTO((enum tree_code)); -extern void dump_time_statistics PROTO((void)); -extern void compiler_error PVPROTO((const char *, ...)) +extern void reinit_parse_for_function PARAMS ((void)); +extern void print_parse_statistics PARAMS ((void)); +extern void extract_interface_info PARAMS ((void)); +extern void do_pending_inlines PARAMS ((void)); +extern void process_next_inline PARAMS ((struct pending_inline *)); +extern struct pending_input *save_pending_input PARAMS ((void)); +extern void restore_pending_input PARAMS ((struct pending_input *)); +extern void yyungetc PARAMS ((int, int)); +extern void reinit_parse_for_method PARAMS ((int, tree)); +extern void reinit_parse_for_block PARAMS ((int, struct obstack *)); +extern tree cons_up_default_function PARAMS ((tree, tree, int)); +extern void check_for_missing_semicolon PARAMS ((tree)); +extern void note_got_semicolon PARAMS ((tree)); +extern void note_list_got_semicolon PARAMS ((tree)); +extern void do_pending_lang_change PARAMS ((void)); +extern int identifier_type PARAMS ((tree)); +extern void see_typename PARAMS ((void)); +extern tree do_identifier PARAMS ((tree, int, tree)); +extern tree do_scoped_id PARAMS ((tree, int)); +extern tree identifier_typedecl_value PARAMS ((tree)); +extern int real_yylex PARAMS ((void)); +extern int is_rid PARAMS ((tree)); +extern tree build_lang_decl PARAMS ((enum tree_code, tree, tree)); +extern void retrofit_lang_decl PARAMS ((tree)); +extern void copy_lang_decl PARAMS ((tree)); +extern tree cp_make_lang_type PARAMS ((enum tree_code)); +extern tree make_aggr_type PARAMS ((enum tree_code)); +extern void dump_time_statistics PARAMS ((void)); +extern void compiler_error PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; -extern void yyerror PROTO((const char *)); -extern void clear_inline_text_obstack PROTO((void)); -extern void maybe_snarf_defarg PROTO((void)); -extern tree snarf_defarg PROTO((void)); -extern void add_defarg_fn PROTO((tree)); -extern void do_pending_defargs PROTO((void)); -extern int identifier_type PROTO((tree)); -extern void yyhook PROTO((int)); -extern int cp_type_qual_from_rid PROTO((tree)); +extern void yyerror PARAMS ((const char *)); +extern void clear_inline_text_obstack PARAMS ((void)); +extern void maybe_snarf_defarg PARAMS ((void)); +extern tree snarf_defarg PARAMS ((void)); +extern void add_defarg_fn PARAMS ((tree)); +extern void do_pending_defargs PARAMS ((void)); +extern int identifier_type PARAMS ((tree)); +extern void yyhook PARAMS ((int)); +extern int cp_type_qual_from_rid PARAMS ((tree)); /* in method.c */ -extern void init_method PROTO((void)); -extern char *build_overload_name PROTO((tree, int, int)); -extern tree build_static_name PROTO((tree, tree)); -extern tree build_decl_overload PROTO((tree, tree, int)); -extern tree build_decl_overload_real PROTO((tree, tree, tree, tree, +extern void init_method PARAMS ((void)); +extern char *build_overload_name PARAMS ((tree, int, int)); +extern tree build_static_name PARAMS ((tree, tree)); +extern tree build_decl_overload PARAMS ((tree, tree, int)); +extern tree build_decl_overload_real PARAMS ((tree, tree, tree, tree, tree, int)); -extern void set_mangled_name_for_decl PROTO((tree)); -extern tree build_typename_overload PROTO((tree)); -extern tree build_overload_with_type PROTO((tree, tree)); -extern tree build_destructor_name PROTO((tree)); -extern tree build_opfncall PROTO((enum tree_code, int, tree, tree, tree)); -extern tree hack_identifier PROTO((tree, tree)); -extern tree make_thunk PROTO((tree, int)); -extern void emit_thunk PROTO((tree)); -extern void synthesize_method PROTO((tree)); -extern tree get_id_2 PROTO((const char *, tree)); +extern void set_mangled_name_for_decl PARAMS ((tree)); +extern tree build_typename_overload PARAMS ((tree)); +extern tree build_overload_with_type PARAMS ((tree, tree)); +extern tree build_destructor_name PARAMS ((tree)); +extern tree build_opfncall PARAMS ((enum tree_code, int, tree, tree, tree)); +extern tree hack_identifier PARAMS ((tree, tree)); +extern tree make_thunk PARAMS ((tree, int)); +extern void emit_thunk PARAMS ((tree)); +extern void synthesize_method PARAMS ((tree)); +extern tree get_id_2 PARAMS ((const char *, tree)); /* In optimize.c */ -extern void optimize_function PROTO((tree)); -extern int calls_setjmp_p PROTO((tree)); +extern void optimize_function PARAMS ((tree)); +extern int calls_setjmp_p PARAMS ((tree)); /* in pt.c */ -extern void init_pt PROTO ((void)); -extern void check_template_shadow PROTO ((tree)); -extern tree innermost_args PROTO ((tree)); -extern tree tsubst PROTO ((tree, tree, int, tree)); -extern tree tsubst_expr PROTO ((tree, tree, int, tree)); -extern tree tsubst_copy PROTO ((tree, tree, int, tree)); -extern void maybe_begin_member_template_processing PROTO((tree)); -extern void maybe_end_member_template_processing PROTO((void)); -extern tree finish_member_template_decl PROTO((tree)); -extern void begin_template_parm_list PROTO((void)); -extern void begin_specialization PROTO((void)); -extern void reset_specialization PROTO((void)); -extern void end_specialization PROTO((void)); -extern void begin_explicit_instantiation PROTO((void)); -extern void end_explicit_instantiation PROTO((void)); -extern tree check_explicit_specialization PROTO((tree, tree, int, int)); -extern tree process_template_parm PROTO((tree, tree)); -extern tree end_template_parm_list PROTO((tree)); -extern void end_template_decl PROTO((void)); -extern tree current_template_args PROTO((void)); -extern tree push_template_decl PROTO((tree)); -extern tree push_template_decl_real PROTO((tree, int)); -extern void redeclare_class_template PROTO((tree, tree)); -extern tree lookup_template_class PROTO((tree, tree, tree, tree, int)); -extern tree lookup_template_function PROTO((tree, tree)); -extern int uses_template_parms PROTO((tree)); -extern tree instantiate_class_template PROTO((tree)); -extern tree instantiate_template PROTO((tree, tree)); -extern void overload_template_name PROTO((tree)); -extern int fn_type_unification PROTO((tree, tree, tree, tree, tree, unification_kind_t)); -struct tinst_level *tinst_for_decl PROTO((void)); -extern void mark_decl_instantiated PROTO((tree, int)); -extern int more_specialized PROTO((tree, tree, tree)); -extern void mark_class_instantiated PROTO((tree, int)); -extern void do_decl_instantiation PROTO((tree, tree, tree)); -extern void do_type_instantiation PROTO((tree, tree)); -extern tree instantiate_decl PROTO((tree)); -extern tree get_bindings PROTO((tree, tree, tree)); -extern void add_tree PROTO((tree)); -extern void add_maybe_template PROTO((tree, tree)); -extern void pop_tinst_level PROTO((void)); -extern int more_specialized_class PROTO((tree, tree)); -extern int is_member_template PROTO((tree)); -extern int template_parms_equal PROTO((tree, tree)); -extern int comp_template_parms PROTO((tree, tree)); -extern int template_class_depth PROTO((tree)); -extern int is_specialization_of PROTO((tree, tree)); -extern int comp_template_args PROTO((tree, tree)); -extern void maybe_process_partial_specialization PROTO((tree)); -extern void maybe_check_template_type PROTO((tree)); -extern tree most_specialized_instantiation PROTO((tree, tree)); -extern void print_candidates PROTO((tree)); -extern int instantiate_pending_templates PROTO((void)); -extern tree tsubst_default_argument PROTO((tree, tree, tree)); -extern tree most_general_template PROTO((tree)); +extern void init_pt PARAMS ((void)); +extern void check_template_shadow PARAMS ((tree)); +extern tree innermost_args PARAMS ((tree)); +extern tree tsubst PARAMS ((tree, tree, int, tree)); +extern tree tsubst_expr PARAMS ((tree, tree, int, tree)); +extern tree tsubst_copy PARAMS ((tree, tree, int, tree)); +extern void maybe_begin_member_template_processing PARAMS ((tree)); +extern void maybe_end_member_template_processing PARAMS ((void)); +extern tree finish_member_template_decl PARAMS ((tree)); +extern void begin_template_parm_list PARAMS ((void)); +extern void begin_specialization PARAMS ((void)); +extern void reset_specialization PARAMS ((void)); +extern void end_specialization PARAMS ((void)); +extern void begin_explicit_instantiation PARAMS ((void)); +extern void end_explicit_instantiation PARAMS ((void)); +extern tree check_explicit_specialization PARAMS ((tree, tree, int, int)); +extern tree process_template_parm PARAMS ((tree, tree)); +extern tree end_template_parm_list PARAMS ((tree)); +extern void end_template_decl PARAMS ((void)); +extern tree current_template_args PARAMS ((void)); +extern tree push_template_decl PARAMS ((tree)); +extern tree push_template_decl_real PARAMS ((tree, int)); +extern void redeclare_class_template PARAMS ((tree, tree)); +extern tree lookup_template_class PARAMS ((tree, tree, tree, tree, int)); +extern tree lookup_template_function PARAMS ((tree, tree)); +extern int uses_template_parms PARAMS ((tree)); +extern tree instantiate_class_template PARAMS ((tree)); +extern tree instantiate_template PARAMS ((tree, tree)); +extern void overload_template_name PARAMS ((tree)); +extern int fn_type_unification PARAMS ((tree, tree, tree, tree, tree, unification_kind_t)); +struct tinst_level *tinst_for_decl PARAMS ((void)); +extern void mark_decl_instantiated PARAMS ((tree, int)); +extern int more_specialized PARAMS ((tree, tree, tree)); +extern void mark_class_instantiated PARAMS ((tree, int)); +extern void do_decl_instantiation PARAMS ((tree, tree, tree)); +extern void do_type_instantiation PARAMS ((tree, tree)); +extern tree instantiate_decl PARAMS ((tree)); +extern tree get_bindings PARAMS ((tree, tree, tree)); +extern void add_tree PARAMS ((tree)); +extern void add_maybe_template PARAMS ((tree, tree)); +extern void pop_tinst_level PARAMS ((void)); +extern int more_specialized_class PARAMS ((tree, tree)); +extern int is_member_template PARAMS ((tree)); +extern int template_parms_equal PARAMS ((tree, tree)); +extern int comp_template_parms PARAMS ((tree, tree)); +extern int template_class_depth PARAMS ((tree)); +extern int is_specialization_of PARAMS ((tree, tree)); +extern int comp_template_args PARAMS ((tree, tree)); +extern void maybe_process_partial_specialization PARAMS ((tree)); +extern void maybe_check_template_type PARAMS ((tree)); +extern tree most_specialized_instantiation PARAMS ((tree, tree)); +extern void print_candidates PARAMS ((tree)); +extern int instantiate_pending_templates PARAMS ((void)); +extern tree tsubst_default_argument PARAMS ((tree, tree, tree)); +extern tree most_general_template PARAMS ((tree)); extern int processing_template_parmlist; /* in repo.c */ -extern void repo_template_used PROTO((tree)); -extern void repo_template_instantiated PROTO((tree, int)); -extern void init_repo PROTO((const char *)); -extern void finish_repo PROTO((void)); +extern void repo_template_used PARAMS ((tree)); +extern void repo_template_instantiated PARAMS ((tree, int)); +extern void init_repo PARAMS ((const char *)); +extern void finish_repo PARAMS ((void)); /* in rtti.c */ -extern void init_rtti_processing PROTO((void)); -extern tree build_typeid PROTO((tree)); -extern tree get_tinfo_decl PROTO((tree)); -extern tree get_typeid PROTO((tree)); -extern tree get_typeid_1 PROTO((tree)); -extern tree build_dynamic_cast PROTO((tree, tree)); -extern void synthesize_tinfo_fn PROTO((tree)); +extern void init_rtti_processing PARAMS ((void)); +extern tree build_typeid PARAMS ((tree)); +extern tree get_tinfo_decl PARAMS ((tree)); +extern tree get_typeid PARAMS ((tree)); +extern tree get_typeid_1 PARAMS ((tree)); +extern tree build_dynamic_cast PARAMS ((tree, tree)); +extern void synthesize_tinfo_fn PARAMS ((tree)); /* in search.c */ -extern int types_overlap_p PROTO((tree, tree)); -extern tree get_vbase PROTO((tree, tree)); -extern tree get_binfo PROTO((tree, tree, int)); -extern int get_base_distance PROTO((tree, tree, int, tree *)); -extern tree get_dynamic_cast_base_type PROTO((tree, tree)); -extern int accessible_p PROTO((tree, tree)); -extern tree lookup_field PROTO((tree, tree, int, int)); -extern int lookup_fnfields_1 PROTO((tree, tree)); -extern tree lookup_fnfields PROTO((tree, tree, int)); -extern tree lookup_member PROTO((tree, tree, int, int)); -extern tree lookup_nested_tag PROTO((tree, tree)); -extern tree get_matching_virtual PROTO((tree, tree, int)); -extern void get_pure_virtuals PROTO((tree)); -extern tree init_vbase_pointers PROTO((tree, tree)); -extern void expand_indirect_vtbls_init PROTO((tree, tree)); -extern void clear_search_slots PROTO((tree)); -extern void get_vbase_types PROTO((tree)); -extern void maybe_suppress_debug_info PROTO((tree)); -extern void note_debug_info_needed PROTO((tree)); -extern void push_class_decls PROTO((tree)); -extern void pop_class_decls PROTO((void)); -extern void unuse_fields PROTO((tree)); -extern void print_search_statistics PROTO((void)); -extern void init_search_processing PROTO((void)); -extern void reinit_search_statistics PROTO((void)); -extern tree current_scope PROTO((void)); -extern int at_function_scope_p PROTO((void)); -extern tree lookup_conversions PROTO((tree)); -extern tree binfo_for_vtable PROTO((tree)); -extern int binfo_from_vbase PROTO((tree)); -extern tree dfs_walk PROTO((tree, +extern int types_overlap_p PARAMS ((tree, tree)); +extern tree get_vbase PARAMS ((tree, tree)); +extern tree get_binfo PARAMS ((tree, tree, int)); +extern int get_base_distance PARAMS ((tree, tree, int, tree *)); +extern tree get_dynamic_cast_base_type PARAMS ((tree, tree)); +extern int accessible_p PARAMS ((tree, tree)); +extern tree lookup_field PARAMS ((tree, tree, int, int)); +extern int lookup_fnfields_1 PARAMS ((tree, tree)); +extern tree lookup_fnfields PARAMS ((tree, tree, int)); +extern tree lookup_member PARAMS ((tree, tree, int, int)); +extern tree lookup_nested_tag PARAMS ((tree, tree)); +extern tree get_matching_virtual PARAMS ((tree, tree, int)); +extern void get_pure_virtuals PARAMS ((tree)); +extern tree init_vbase_pointers PARAMS ((tree, tree)); +extern void expand_indirect_vtbls_init PARAMS ((tree, tree)); +extern void clear_search_slots PARAMS ((tree)); +extern void get_vbase_types PARAMS ((tree)); +extern void maybe_suppress_debug_info PARAMS ((tree)); +extern void note_debug_info_needed PARAMS ((tree)); +extern void push_class_decls PARAMS ((tree)); +extern void pop_class_decls PARAMS ((void)); +extern void unuse_fields PARAMS ((tree)); +extern void print_search_statistics PARAMS ((void)); +extern void init_search_processing PARAMS ((void)); +extern void reinit_search_statistics PARAMS ((void)); +extern tree current_scope PARAMS ((void)); +extern int at_function_scope_p PARAMS ((void)); +extern tree lookup_conversions PARAMS ((tree)); +extern tree binfo_for_vtable PARAMS ((tree)); +extern int binfo_from_vbase PARAMS ((tree)); +extern tree dfs_walk PARAMS ((tree, tree (*)(tree, void *), tree (*) (tree, void *), void *)); -extern tree dfs_walk_real PROTO ((tree, +extern tree dfs_walk_real PARAMS ((tree, tree (*) (tree, void *), tree (*) (tree, void *), tree (*) (tree, void *), void *)); -extern tree dfs_unmark PROTO((tree, void *)); -extern tree dfs_vbase_unmark PROTO((tree, void *)); -extern tree dfs_vtable_path_unmark PROTO((tree, void *)); -extern tree markedp PROTO((tree, void *)); -extern tree unmarkedp PROTO((tree, void *)); -extern tree dfs_skip_nonprimary_vbases_unmarkedp PROTO((tree, void *)); -extern tree dfs_skip_nonprimary_vbases_markedp PROTO((tree, void *)); -extern tree dfs_unmarked_real_bases_queue_p PROTO((tree, void *)); -extern tree dfs_marked_real_bases_queue_p PROTO((tree, void *)); +extern tree dfs_unmark PARAMS ((tree, void *)); +extern tree dfs_vbase_unmark PARAMS ((tree, void *)); +extern tree dfs_vtable_path_unmark PARAMS ((tree, void *)); +extern tree markedp PARAMS ((tree, void *)); +extern tree unmarkedp PARAMS ((tree, void *)); +extern tree dfs_skip_nonprimary_vbases_unmarkedp PARAMS ((tree, void *)); +extern tree dfs_skip_nonprimary_vbases_markedp PARAMS ((tree, void *)); +extern tree dfs_unmarked_real_bases_queue_p PARAMS ((tree, void *)); +extern tree dfs_marked_real_bases_queue_p PARAMS ((tree, void *)); extern tree dfs_vtable_path_unmarked_real_bases_queue_p - PROTO((tree, void *)); + PARAMS ((tree, void *)); extern tree dfs_vtable_path_marked_real_bases_queue_p - PROTO((tree, void *)); -extern tree dfs_skip_vbases PROTO((tree, void *)); -extern void mark_primary_bases PROTO((tree)); -extern tree convert_pointer_to_vbase PROTO((tree, tree)); -extern tree find_vbase_instance PROTO((tree, tree)); + PARAMS ((tree, void *)); +extern tree dfs_skip_vbases PARAMS ((tree, void *)); +extern void mark_primary_bases PARAMS ((tree)); +extern tree convert_pointer_to_vbase PARAMS ((tree, tree)); +extern tree find_vbase_instance PARAMS ((tree, tree)); /* in semantics.c */ -extern void finish_expr_stmt PROTO((tree)); -extern tree begin_if_stmt PROTO((void)); -extern void finish_if_stmt_cond PROTO((tree, tree)); -extern tree finish_then_clause PROTO((tree)); -extern void begin_else_clause PROTO((void)); -extern void finish_else_clause PROTO((tree)); -extern void finish_if_stmt PROTO((void)); -extern tree begin_while_stmt PROTO((void)); -extern void finish_while_stmt_cond PROTO((tree, tree)); -extern void finish_while_stmt PROTO((tree)); -extern tree begin_do_stmt PROTO((void)); -extern void finish_do_body PROTO((tree)); -extern void finish_do_stmt PROTO((tree, tree)); -extern void finish_return_stmt PROTO((tree)); -extern tree begin_for_stmt PROTO((void)); -extern void finish_for_init_stmt PROTO((tree)); -extern void finish_for_cond PROTO((tree, tree)); -extern void finish_for_expr PROTO((tree, tree)); -extern void finish_for_stmt PROTO((tree, tree)); -extern void finish_break_stmt PROTO((void)); -extern void finish_continue_stmt PROTO((void)); -extern tree begin_switch_stmt PROTO((void)); -extern void finish_switch_cond PROTO((tree, tree)); -extern void finish_switch_stmt PROTO((tree, tree)); -extern void finish_case_label PROTO((tree, tree)); -extern void finish_goto_stmt PROTO((tree)); -extern tree begin_try_block PROTO((void)); -extern void finish_try_block PROTO((tree)); -extern void finish_handler_sequence PROTO((tree)); -extern tree begin_function_try_block PROTO((void)); -extern void finish_function_try_block PROTO((tree)); -extern void finish_function_handler_sequence PROTO((tree)); -extern void finish_cleanup_try_block PROTO((tree)); -extern tree begin_handler PROTO((void)); -extern tree finish_handler_parms PROTO((tree, tree)); -extern void begin_catch_block PROTO((tree)); -extern void finish_handler PROTO((tree, tree)); -extern void finish_cleanup PROTO((tree, tree)); -extern tree begin_compound_stmt PROTO((int)); -extern tree finish_compound_stmt PROTO((int, tree)); -extern void finish_asm_stmt PROTO((tree, tree, tree, tree, tree)); -extern void finish_label_stmt PROTO((tree)); -extern void finish_label_decl PROTO((tree)); -extern void finish_subobject PROTO((tree)); -extern tree finish_parenthesized_expr PROTO((tree)); -extern tree begin_stmt_expr PROTO((void)); -extern tree finish_stmt_expr PROTO((tree)); -extern tree finish_call_expr PROTO((tree, tree, int)); -extern tree finish_increment_expr PROTO((tree, enum tree_code)); -extern tree finish_this_expr PROTO((void)); -extern tree finish_object_call_expr PROTO((tree, tree, tree)); -extern tree finish_qualified_object_call_expr PROTO((tree, tree, tree)); -extern tree finish_pseudo_destructor_call_expr PROTO((tree, tree, tree)); -extern tree finish_qualified_call_expr PROTO ((tree, tree)); -extern tree finish_label_address_expr PROTO((tree)); -extern tree finish_unary_op_expr PROTO((enum tree_code, tree)); -extern tree finish_id_expr PROTO((tree)); -extern int begin_function_definition PROTO((tree, tree)); -extern tree begin_constructor_declarator PROTO((tree, tree)); -extern tree finish_declarator PROTO((tree, tree, tree, tree, int)); -extern void finish_translation_unit PROTO((void)); -extern tree finish_template_type_parm PROTO((tree, tree)); -extern tree finish_template_template_parm PROTO((tree, tree)); -extern tree finish_parmlist PROTO((tree, int)); -extern tree begin_class_definition PROTO((tree)); -extern tree finish_class_definition PROTO((tree, tree, int, int)); -extern void finish_default_args PROTO((void)); -extern void begin_inline_definitions PROTO((void)); -extern void finish_inline_definitions PROTO((void)); -extern tree finish_member_class_template PROTO((tree)); -extern void finish_template_decl PROTO((tree)); -extern tree finish_template_type PROTO((tree, tree, int)); -extern void enter_scope_of PROTO((tree)); -extern tree finish_base_specifier PROTO((tree, tree)); -extern void finish_member_declaration PROTO((tree)); -extern void check_multiple_declarators PROTO((void)); -extern tree finish_typeof PROTO((tree)); -extern void add_decl_stmt PROTO((tree)); -extern void finish_decl_cleanup PROTO((tree, tree)); -extern void finish_named_return_value PROTO((tree, tree)); -extern tree expand_stmt PROTO((tree)); -extern void expand_body PROTO((tree)); -extern void begin_stmt_tree PROTO((tree *)); -extern void finish_stmt_tree PROTO((tree *)); -extern void prep_stmt PROTO((tree)); -extern tree add_scope_stmt PROTO((int, int)); -extern void do_pushlevel PROTO((void)); -extern tree do_poplevel PROTO((void)); +extern void finish_expr_stmt PARAMS ((tree)); +extern tree begin_if_stmt PARAMS ((void)); +extern void finish_if_stmt_cond PARAMS ((tree, tree)); +extern tree finish_then_clause PARAMS ((tree)); +extern void begin_else_clause PARAMS ((void)); +extern void finish_else_clause PARAMS ((tree)); +extern void finish_if_stmt PARAMS ((void)); +extern tree begin_while_stmt PARAMS ((void)); +extern void finish_while_stmt_cond PARAMS ((tree, tree)); +extern void finish_while_stmt PARAMS ((tree)); +extern tree begin_do_stmt PARAMS ((void)); +extern void finish_do_body PARAMS ((tree)); +extern void finish_do_stmt PARAMS ((tree, tree)); +extern void finish_return_stmt PARAMS ((tree)); +extern tree begin_for_stmt PARAMS ((void)); +extern void finish_for_init_stmt PARAMS ((tree)); +extern void finish_for_cond PARAMS ((tree, tree)); +extern void finish_for_expr PARAMS ((tree, tree)); +extern void finish_for_stmt PARAMS ((tree, tree)); +extern void finish_break_stmt PARAMS ((void)); +extern void finish_continue_stmt PARAMS ((void)); +extern tree begin_switch_stmt PARAMS ((void)); +extern void finish_switch_cond PARAMS ((tree, tree)); +extern void finish_switch_stmt PARAMS ((tree, tree)); +extern void finish_case_label PARAMS ((tree, tree)); +extern void finish_goto_stmt PARAMS ((tree)); +extern tree begin_try_block PARAMS ((void)); +extern void finish_try_block PARAMS ((tree)); +extern void finish_handler_sequence PARAMS ((tree)); +extern tree begin_function_try_block PARAMS ((void)); +extern void finish_function_try_block PARAMS ((tree)); +extern void finish_function_handler_sequence PARAMS ((tree)); +extern void finish_cleanup_try_block PARAMS ((tree)); +extern tree begin_handler PARAMS ((void)); +extern tree finish_handler_parms PARAMS ((tree, tree)); +extern void begin_catch_block PARAMS ((tree)); +extern void finish_handler PARAMS ((tree, tree)); +extern void finish_cleanup PARAMS ((tree, tree)); +extern tree begin_compound_stmt PARAMS ((int)); +extern tree finish_compound_stmt PARAMS ((int, tree)); +extern void finish_asm_stmt PARAMS ((tree, tree, tree, tree, tree)); +extern void finish_label_stmt PARAMS ((tree)); +extern void finish_label_decl PARAMS ((tree)); +extern void finish_subobject PARAMS ((tree)); +extern tree finish_parenthesized_expr PARAMS ((tree)); +extern tree begin_stmt_expr PARAMS ((void)); +extern tree finish_stmt_expr PARAMS ((tree)); +extern tree finish_call_expr PARAMS ((tree, tree, int)); +extern tree finish_increment_expr PARAMS ((tree, enum tree_code)); +extern tree finish_this_expr PARAMS ((void)); +extern tree finish_object_call_expr PARAMS ((tree, tree, tree)); +extern tree finish_qualified_object_call_expr PARAMS ((tree, tree, tree)); +extern tree finish_pseudo_destructor_call_expr PARAMS ((tree, tree, tree)); +extern tree finish_qualified_call_expr PARAMS ((tree, tree)); +extern tree finish_label_address_expr PARAMS ((tree)); +extern tree finish_unary_op_expr PARAMS ((enum tree_code, tree)); +extern tree finish_id_expr PARAMS ((tree)); +extern int begin_function_definition PARAMS ((tree, tree)); +extern tree begin_constructor_declarator PARAMS ((tree, tree)); +extern tree finish_declarator PARAMS ((tree, tree, tree, tree, int)); +extern void finish_translation_unit PARAMS ((void)); +extern tree finish_template_type_parm PARAMS ((tree, tree)); +extern tree finish_template_template_parm PARAMS ((tree, tree)); +extern tree finish_parmlist PARAMS ((tree, int)); +extern tree begin_class_definition PARAMS ((tree)); +extern tree finish_class_definition PARAMS ((tree, tree, int, int)); +extern void finish_default_args PARAMS ((void)); +extern void begin_inline_definitions PARAMS ((void)); +extern void finish_inline_definitions PARAMS ((void)); +extern tree finish_member_class_template PARAMS ((tree)); +extern void finish_template_decl PARAMS ((tree)); +extern tree finish_template_type PARAMS ((tree, tree, int)); +extern void enter_scope_of PARAMS ((tree)); +extern tree finish_base_specifier PARAMS ((tree, tree)); +extern void finish_member_declaration PARAMS ((tree)); +extern void check_multiple_declarators PARAMS ((void)); +extern tree finish_typeof PARAMS ((tree)); +extern void add_decl_stmt PARAMS ((tree)); +extern void finish_decl_cleanup PARAMS ((tree, tree)); +extern void finish_named_return_value PARAMS ((tree, tree)); +extern tree expand_stmt PARAMS ((tree)); +extern void expand_body PARAMS ((tree)); +extern void begin_stmt_tree PARAMS ((tree *)); +extern void finish_stmt_tree PARAMS ((tree *)); +extern void prep_stmt PARAMS ((tree)); +extern tree add_scope_stmt PARAMS ((int, int)); +extern void do_pushlevel PARAMS ((void)); +extern tree do_poplevel PARAMS ((void)); /* Non-zero if we are presently building a statement tree, rather than expanding each statement as we encounter it. */ #define building_stmt_tree() (last_tree != NULL_TREE) /* in spew.c */ -extern void init_spew PROTO((void)); -extern int peekyylex PROTO((void)); -extern int yylex PROTO((void)); -extern tree arbitrate_lookup PROTO((tree, tree, tree)); +extern void init_spew PARAMS ((void)); +extern int peekyylex PARAMS ((void)); +extern int yylex PARAMS ((void)); +extern tree arbitrate_lookup PARAMS ((tree, tree, tree)); /* in tree.c */ -extern void init_tree PROTO((void)); -extern int pod_type_p PROTO((tree)); -extern void unshare_base_binfos PROTO((tree)); -extern int member_p PROTO((tree)); -extern cp_lvalue_kind real_lvalue_p PROTO((tree)); -extern tree build_min PVPROTO((enum tree_code, tree, ...)); -extern tree build_min_nt PVPROTO((enum tree_code, ...)); -extern int lvalue_p PROTO((tree)); -extern int lvalue_or_else PROTO((tree, const char *)); -extern tree build_cplus_new PROTO((tree, tree)); -extern tree get_target_expr PROTO((tree)); -extern tree break_out_cleanups PROTO((tree)); -extern tree break_out_calls PROTO((tree)); -extern tree build_cplus_method_type PROTO((tree, tree, tree)); -extern tree build_cplus_staticfn_type PROTO((tree, tree, tree)); -extern tree build_cplus_array_type PROTO((tree, tree)); -extern tree hash_tree_cons PROTO((tree, tree, tree)); -extern tree hash_tree_chain PROTO((tree, tree)); -extern tree hash_chainon PROTO((tree, tree)); -extern tree make_binfo PROTO((tree, tree, tree, tree)); -extern tree binfo_value PROTO((tree, tree)); -extern tree reverse_path PROTO((tree)); -extern int count_functions PROTO((tree)); -extern int is_overloaded_fn PROTO((tree)); -extern tree get_first_fn PROTO((tree)); -extern int bound_pmf_p PROTO((tree)); -extern tree ovl_cons PROTO((tree, tree)); -extern int ovl_member PROTO((tree, tree)); -extern tree build_overload PROTO((tree, tree)); -extern tree fnaddr_from_vtable_entry PROTO((tree)); -extern tree function_arg_chain PROTO((tree)); -extern int promotes_to_aggr_type PROTO((tree, enum tree_code)); -extern int is_aggr_type_2 PROTO((tree, tree)); -extern const char *lang_printable_name PROTO((tree, int)); -extern tree build_exception_variant PROTO((tree, tree)); -extern tree copy_template_template_parm PROTO((tree)); -extern void print_lang_statistics PROTO((void)); -extern tree array_type_nelts_total PROTO((tree)); -extern tree array_type_nelts_top PROTO((tree)); -extern tree break_out_target_exprs PROTO((tree)); -extern tree get_type_decl PROTO((tree)); -extern tree vec_binfo_member PROTO((tree, tree)); -extern tree hack_decl_function_context PROTO((tree)); -extern tree decl_namespace_context PROTO((tree)); -extern tree lvalue_type PROTO((tree)); -extern tree error_type PROTO((tree)); -extern tree build_ptr_wrapper PROTO((void *)); -extern tree build_expr_ptr_wrapper PROTO((void *)); -extern tree build_int_wrapper PROTO((int)); -extern tree build_srcloc_here PROTO((void)); -extern int varargs_function_p PROTO((tree)); -extern int really_overloaded_fn PROTO((tree)); -extern int cp_tree_equal PROTO((tree, tree)); -extern int can_free PROTO((struct obstack *, tree)); -extern tree no_linkage_check PROTO((tree)); -extern void debug_binfo PROTO((tree)); -extern tree build_dummy_object PROTO((tree)); -extern tree maybe_dummy_object PROTO((tree, tree *)); -extern int is_dummy_object PROTO((tree)); -typedef tree (*walk_tree_fn) PROTO((tree *, int *, void *)); -extern tree walk_tree PROTO((tree *, walk_tree_fn, void *)); -extern tree copy_tree_r PROTO((tree *, int *, void *)); -extern int cp_valid_lang_attribute PROTO((tree, tree, tree, tree)); -extern tree make_ptrmem_cst PROTO((tree, tree)); -extern tree cp_build_qualified_type_real PROTO((tree, int, int)); -extern void remap_save_expr PROTO((tree *, splay_tree, tree, int *)); +extern void init_tree PARAMS ((void)); +extern int pod_type_p PARAMS ((tree)); +extern void unshare_base_binfos PARAMS ((tree)); +extern int member_p PARAMS ((tree)); +extern cp_lvalue_kind real_lvalue_p PARAMS ((tree)); +extern tree build_min PARAMS ((enum tree_code, tree, ...)); +extern tree build_min_nt PARAMS ((enum tree_code, ...)); +extern int lvalue_p PARAMS ((tree)); +extern int lvalue_or_else PARAMS ((tree, const char *)); +extern tree build_cplus_new PARAMS ((tree, tree)); +extern tree get_target_expr PARAMS ((tree)); +extern tree break_out_cleanups PARAMS ((tree)); +extern tree break_out_calls PARAMS ((tree)); +extern tree build_cplus_method_type PARAMS ((tree, tree, tree)); +extern tree build_cplus_staticfn_type PARAMS ((tree, tree, tree)); +extern tree build_cplus_array_type PARAMS ((tree, tree)); +extern tree hash_tree_cons PARAMS ((tree, tree, tree)); +extern tree hash_tree_chain PARAMS ((tree, tree)); +extern tree hash_chainon PARAMS ((tree, tree)); +extern tree make_binfo PARAMS ((tree, tree, tree, tree)); +extern tree binfo_value PARAMS ((tree, tree)); +extern tree reverse_path PARAMS ((tree)); +extern int count_functions PARAMS ((tree)); +extern int is_overloaded_fn PARAMS ((tree)); +extern tree get_first_fn PARAMS ((tree)); +extern int bound_pmf_p PARAMS ((tree)); +extern tree ovl_cons PARAMS ((tree, tree)); +extern int ovl_member PARAMS ((tree, tree)); +extern tree build_overload PARAMS ((tree, tree)); +extern tree fnaddr_from_vtable_entry PARAMS ((tree)); +extern tree function_arg_chain PARAMS ((tree)); +extern int promotes_to_aggr_type PARAMS ((tree, enum tree_code)); +extern int is_aggr_type_2 PARAMS ((tree, tree)); +extern const char *lang_printable_name PARAMS ((tree, int)); +extern tree build_exception_variant PARAMS ((tree, tree)); +extern tree copy_template_template_parm PARAMS ((tree)); +extern void print_lang_statistics PARAMS ((void)); +extern tree array_type_nelts_total PARAMS ((tree)); +extern tree array_type_nelts_top PARAMS ((tree)); +extern tree break_out_target_exprs PARAMS ((tree)); +extern tree get_type_decl PARAMS ((tree)); +extern tree vec_binfo_member PARAMS ((tree, tree)); +extern tree hack_decl_function_context PARAMS ((tree)); +extern tree decl_namespace_context PARAMS ((tree)); +extern tree lvalue_type PARAMS ((tree)); +extern tree error_type PARAMS ((tree)); +extern tree build_ptr_wrapper PARAMS ((void *)); +extern tree build_expr_ptr_wrapper PARAMS ((void *)); +extern tree build_int_wrapper PARAMS ((int)); +extern tree build_srcloc_here PARAMS ((void)); +extern int varargs_function_p PARAMS ((tree)); +extern int really_overloaded_fn PARAMS ((tree)); +extern int cp_tree_equal PARAMS ((tree, tree)); +extern int can_free PARAMS ((struct obstack *, tree)); +extern tree no_linkage_check PARAMS ((tree)); +extern void debug_binfo PARAMS ((tree)); +extern tree build_dummy_object PARAMS ((tree)); +extern tree maybe_dummy_object PARAMS ((tree, tree *)); +extern int is_dummy_object PARAMS ((tree)); +typedef tree (*walk_tree_fn) PARAMS ((tree *, int *, void *)); +extern tree walk_tree PARAMS ((tree *, walk_tree_fn, void *)); +extern tree copy_tree_r PARAMS ((tree *, int *, void *)); +extern int cp_valid_lang_attribute PARAMS ((tree, tree, tree, tree)); +extern tree make_ptrmem_cst PARAMS ((tree, tree)); +extern tree cp_build_qualified_type_real PARAMS ((tree, int, int)); +extern void remap_save_expr PARAMS ((tree *, splay_tree, tree, int *)); #define cp_build_qualified_type(TYPE, QUALS) \ cp_build_qualified_type_real ((TYPE), (QUALS), /*complain=*/1) -extern tree build_shared_int_cst PROTO((int)); +extern tree build_shared_int_cst PARAMS ((int)); /* in typeck.c */ -extern int string_conv_p PROTO((tree, tree, int)); -extern tree condition_conversion PROTO((tree)); -extern tree target_type PROTO((tree)); -extern tree require_complete_type PROTO((tree)); -extern tree complete_type PROTO((tree)); -extern tree complete_type_or_else PROTO((tree, tree)); -extern int type_unknown_p PROTO((tree)); -extern int fntype_p PROTO((tree)); -extern tree commonparms PROTO((tree, tree)); -extern tree original_type PROTO((tree)); -extern tree common_type PROTO((tree, tree)); -extern int comp_except_specs PROTO((tree, tree, int)); -extern int comptypes PROTO((tree, tree, int)); -extern int comp_target_types PROTO((tree, tree, int)); -extern int compparms PROTO((tree, tree)); -extern int comp_target_types PROTO((tree, tree, int)); -extern int comp_cv_qualification PROTO((tree, tree)); -extern int comp_cv_qual_signature PROTO((tree, tree)); -extern tree unsigned_type PROTO((tree)); -extern tree signed_type PROTO((tree)); -extern tree signed_or_unsigned_type PROTO((int, tree)); -extern tree expr_sizeof PROTO((tree)); -extern tree c_sizeof PROTO((tree)); -extern tree c_sizeof_nowarn PROTO((tree)); -extern tree c_alignof PROTO((tree)); -extern tree inline_conversion PROTO((tree)); -extern tree decay_conversion PROTO((tree)); -extern tree default_conversion PROTO((tree)); -extern tree build_object_ref PROTO((tree, tree, tree)); -extern tree build_component_ref_1 PROTO((tree, tree, int)); -extern tree build_component_ref PROTO((tree, tree, tree, int)); -extern tree build_x_component_ref PROTO((tree, tree, tree, int)); -extern tree build_x_indirect_ref PROTO((tree, const char *)); -extern tree build_indirect_ref PROTO((tree, const char *)); -extern tree build_array_ref PROTO((tree, tree)); -extern tree build_x_function_call PROTO((tree, tree, tree)); -extern tree get_member_function_from_ptrfunc PROTO((tree *, tree)); -extern tree build_function_call_real PROTO((tree, tree, int, int)); -extern tree build_function_call PROTO((tree, tree)); -extern tree build_function_call_maybe PROTO((tree, tree)); -extern tree convert_arguments PROTO((tree, tree, tree, int)); -extern tree build_x_binary_op PROTO((enum tree_code, tree, tree)); -extern tree build_binary_op PROTO((enum tree_code, tree, tree)); -extern tree build_binary_op_nodefault PROTO((enum tree_code, tree, tree, enum tree_code)); -extern tree build_x_unary_op PROTO((enum tree_code, tree)); -extern tree build_unary_op PROTO((enum tree_code, tree, int)); -extern tree unary_complex_lvalue PROTO((enum tree_code, tree)); -extern int mark_addressable PROTO((tree)); -extern tree build_x_conditional_expr PROTO((tree, tree, tree)); -extern tree build_conditional_expr PROTO((tree, tree, tree)); -extern tree build_x_compound_expr PROTO((tree)); -extern tree build_compound_expr PROTO((tree)); -extern tree build_static_cast PROTO((tree, tree)); -extern tree build_reinterpret_cast PROTO((tree, tree)); -extern tree build_const_cast PROTO((tree, tree)); -extern tree build_c_cast PROTO((tree, tree)); -extern tree build_x_modify_expr PROTO((tree, enum tree_code, tree)); -extern tree build_modify_expr PROTO((tree, enum tree_code, tree)); -extern tree convert_for_initialization PROTO((tree, tree, tree, int, const char *, tree, int)); -extern void c_expand_asm_operands PROTO((tree, tree, tree, tree, int, char *, int)); -extern void c_expand_return PROTO((tree)); -extern tree c_expand_start_case PROTO((tree)); -extern int comp_ptr_ttypes PROTO((tree, tree)); -extern int ptr_reasonably_similar PROTO((tree, tree)); -extern tree build_ptrmemfunc PROTO((tree, tree, int)); -extern tree strip_array_types PROTO((tree)); -extern int cp_type_quals PROTO((tree)); -extern int cp_has_mutable_p PROTO((tree)); -extern int at_least_as_qualified_p PROTO((tree, tree)); -extern int more_qualified_p PROTO((tree, tree)); -extern tree build_ptrmemfunc1 PROTO((tree, tree, tree, tree, tree)); -extern void expand_ptrmemfunc_cst PROTO((tree, tree *, tree *, tree *, tree *)); -extern tree delta2_from_ptrmemfunc PROTO((tree)); -extern tree pfn_from_ptrmemfunc PROTO((tree)); -extern tree type_after_usual_arithmetic_conversions PROTO((tree, tree)); -extern tree composite_pointer_type PROTO((tree, tree, tree, tree, +extern int string_conv_p PARAMS ((tree, tree, int)); +extern tree condition_conversion PARAMS ((tree)); +extern tree target_type PARAMS ((tree)); +extern tree require_complete_type PARAMS ((tree)); +extern tree complete_type PARAMS ((tree)); +extern tree complete_type_or_else PARAMS ((tree, tree)); +extern int type_unknown_p PARAMS ((tree)); +extern int fntype_p PARAMS ((tree)); +extern tree commonparms PARAMS ((tree, tree)); +extern tree original_type PARAMS ((tree)); +extern tree common_type PARAMS ((tree, tree)); +extern int comp_except_specs PARAMS ((tree, tree, int)); +extern int comptypes PARAMS ((tree, tree, int)); +extern int comp_target_types PARAMS ((tree, tree, int)); +extern int compparms PARAMS ((tree, tree)); +extern int comp_target_types PARAMS ((tree, tree, int)); +extern int comp_cv_qualification PARAMS ((tree, tree)); +extern int comp_cv_qual_signature PARAMS ((tree, tree)); +extern tree unsigned_type PARAMS ((tree)); +extern tree signed_type PARAMS ((tree)); +extern tree signed_or_unsigned_type PARAMS ((int, tree)); +extern tree expr_sizeof PARAMS ((tree)); +extern tree c_sizeof PARAMS ((tree)); +extern tree c_sizeof_nowarn PARAMS ((tree)); +extern tree c_alignof PARAMS ((tree)); +extern tree inline_conversion PARAMS ((tree)); +extern tree decay_conversion PARAMS ((tree)); +extern tree default_conversion PARAMS ((tree)); +extern tree build_object_ref PARAMS ((tree, tree, tree)); +extern tree build_component_ref_1 PARAMS ((tree, tree, int)); +extern tree build_component_ref PARAMS ((tree, tree, tree, int)); +extern tree build_x_component_ref PARAMS ((tree, tree, tree, int)); +extern tree build_x_indirect_ref PARAMS ((tree, const char *)); +extern tree build_indirect_ref PARAMS ((tree, const char *)); +extern tree build_array_ref PARAMS ((tree, tree)); +extern tree build_x_function_call PARAMS ((tree, tree, tree)); +extern tree get_member_function_from_ptrfunc PARAMS ((tree *, tree)); +extern tree build_function_call_real PARAMS ((tree, tree, int, int)); +extern tree build_function_call PARAMS ((tree, tree)); +extern tree build_function_call_maybe PARAMS ((tree, tree)); +extern tree convert_arguments PARAMS ((tree, tree, tree, int)); +extern tree build_x_binary_op PARAMS ((enum tree_code, tree, tree)); +extern tree build_binary_op PARAMS ((enum tree_code, tree, tree)); +extern tree build_binary_op_nodefault PARAMS ((enum tree_code, tree, tree, enum tree_code)); +extern tree build_x_unary_op PARAMS ((enum tree_code, tree)); +extern tree build_unary_op PARAMS ((enum tree_code, tree, int)); +extern tree unary_complex_lvalue PARAMS ((enum tree_code, tree)); +extern int mark_addressable PARAMS ((tree)); +extern tree build_x_conditional_expr PARAMS ((tree, tree, tree)); +extern tree build_conditional_expr PARAMS ((tree, tree, tree)); +extern tree build_x_compound_expr PARAMS ((tree)); +extern tree build_compound_expr PARAMS ((tree)); +extern tree build_static_cast PARAMS ((tree, tree)); +extern tree build_reinterpret_cast PARAMS ((tree, tree)); +extern tree build_const_cast PARAMS ((tree, tree)); +extern tree build_c_cast PARAMS ((tree, tree)); +extern tree build_x_modify_expr PARAMS ((tree, enum tree_code, tree)); +extern tree build_modify_expr PARAMS ((tree, enum tree_code, tree)); +extern tree convert_for_initialization PARAMS ((tree, tree, tree, int, const char *, tree, int)); +extern void c_expand_asm_operands PARAMS ((tree, tree, tree, tree, int, char *, int)); +extern void c_expand_return PARAMS ((tree)); +extern tree c_expand_start_case PARAMS ((tree)); +extern int comp_ptr_ttypes PARAMS ((tree, tree)); +extern int ptr_reasonably_similar PARAMS ((tree, tree)); +extern tree build_ptrmemfunc PARAMS ((tree, tree, int)); +extern tree strip_array_types PARAMS ((tree)); +extern int cp_type_quals PARAMS ((tree)); +extern int cp_has_mutable_p PARAMS ((tree)); +extern int at_least_as_qualified_p PARAMS ((tree, tree)); +extern int more_qualified_p PARAMS ((tree, tree)); +extern tree build_ptrmemfunc1 PARAMS ((tree, tree, tree, tree, tree)); +extern void expand_ptrmemfunc_cst PARAMS ((tree, tree *, tree *, tree *, tree *)); +extern tree delta2_from_ptrmemfunc PARAMS ((tree)); +extern tree pfn_from_ptrmemfunc PARAMS ((tree)); +extern tree type_after_usual_arithmetic_conversions PARAMS ((tree, tree)); +extern tree composite_pointer_type PARAMS ((tree, tree, tree, tree, const char*)); -extern tree check_return_expr PROTO((tree)); +extern tree check_return_expr PARAMS ((tree)); /* in typeck2.c */ -extern tree error_not_base_type PROTO((tree, tree)); -extern tree binfo_or_else PROTO((tree, tree)); -extern void readonly_error PROTO((tree, const char *, int)); -extern int abstract_virtuals_error PROTO((tree, tree)); -extern void incomplete_type_error PROTO((tree, tree)); -extern void my_friendly_abort PROTO((int)) +extern tree error_not_base_type PARAMS ((tree, tree)); +extern tree binfo_or_else PARAMS ((tree, tree)); +extern void readonly_error PARAMS ((tree, const char *, int)); +extern int abstract_virtuals_error PARAMS ((tree, tree)); +extern void incomplete_type_error PARAMS ((tree, tree)); +extern void my_friendly_abort PARAMS ((int)) ATTRIBUTE_NORETURN; -extern void my_friendly_assert PROTO((int, int)); -extern tree store_init_value PROTO((tree, tree)); -extern tree digest_init PROTO((tree, tree, tree *)); -extern tree build_scoped_ref PROTO((tree, tree)); -extern tree build_x_arrow PROTO((tree)); -extern tree build_m_component_ref PROTO((tree, tree)); -extern tree build_functional_cast PROTO((tree, tree)); -extern char *enum_name_string PROTO((tree, tree)); -extern void report_case_error PROTO((int, tree, tree, tree)); -extern void check_for_new_type PROTO((const char *, flagged_type_tree)); -extern tree add_exception_specifier PROTO((tree, tree, int)); +extern void my_friendly_assert PARAMS ((int, int)); +extern tree store_init_value PARAMS ((tree, tree)); +extern tree digest_init PARAMS ((tree, tree, tree *)); +extern tree build_scoped_ref PARAMS ((tree, tree)); +extern tree build_x_arrow PARAMS ((tree)); +extern tree build_m_component_ref PARAMS ((tree, tree)); +extern tree build_functional_cast PARAMS ((tree, tree)); +extern char *enum_name_string PARAMS ((tree, tree)); +extern void report_case_error PARAMS ((int, tree, tree, tree)); +extern void check_for_new_type PARAMS ((const char *, flagged_type_tree)); +extern tree add_exception_specifier PARAMS ((tree, tree, int)); /* in xref.c */ -extern void GNU_xref_begin PROTO((const char *)); -extern void GNU_xref_end PROTO((int)); -extern void GNU_xref_file PROTO((const char *)); -extern void GNU_xref_start_scope PROTO((HOST_WIDE_INT)); -extern void GNU_xref_end_scope PROTO((HOST_WIDE_INT, HOST_WIDE_INT, int, int)); -extern void GNU_xref_ref PROTO((tree, const char *)); -extern void GNU_xref_decl PROTO((tree, tree)); -extern void GNU_xref_call PROTO((tree, const char *)); -extern void GNU_xref_function PROTO((tree, tree)); -extern void GNU_xref_assign PROTO((tree)); -extern void GNU_xref_hier PROTO((tree, tree, int, int, int)); -extern void GNU_xref_member PROTO((tree, tree)); +extern void GNU_xref_begin PARAMS ((const char *)); +extern void GNU_xref_end PARAMS ((int)); +extern void GNU_xref_file PARAMS ((const char *)); +extern void GNU_xref_start_scope PARAMS ((HOST_WIDE_INT)); +extern void GNU_xref_end_scope PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, int, int)); +extern void GNU_xref_ref PARAMS ((tree, const char *)); +extern void GNU_xref_decl PARAMS ((tree, tree)); +extern void GNU_xref_call PARAMS ((tree, const char *)); +extern void GNU_xref_function PARAMS ((tree, tree)); +extern void GNU_xref_assign PARAMS ((tree)); +extern void GNU_xref_hier PARAMS ((tree, tree, int, int, int)); +extern void GNU_xref_member PARAMS ((tree, tree)); /* in dump.c */ -extern void dump_node_to_file PROTO ((tree, const char *)); +extern void dump_node_to_file PARAMS ((tree, const char *)); /* -- end of C++ */ diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index bcc467a0b7d..22c3e3c5c35 100644 --- a/gcc/cp/cvt.c +++ b/gcc/cp/cvt.c @@ -34,9 +34,9 @@ Boston, MA 02111-1307, USA. */ #include "toplev.h" #include "decl.h" -static tree cp_convert_to_pointer PROTO((tree, tree)); -static tree convert_to_pointer_force PROTO((tree, tree)); -static tree build_up_reference PROTO((tree, tree, int)); +static tree cp_convert_to_pointer PARAMS ((tree, tree)); +static tree convert_to_pointer_force PARAMS ((tree, tree)); +static tree build_up_reference PARAMS ((tree, tree, int)); /* Change of width--truncation and extension of integers or reals-- is represented with NOP_EXPR. Proper functioning of many things diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index ed4a07183a2..72de97cb904 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -56,7 +56,7 @@ extern tree static_ctors, static_dtors; extern tree global_namespace; -extern int (*valid_lang_attribute) PROTO ((tree, tree, tree, tree)); +extern int (*valid_lang_attribute) PARAMS ((tree, tree, tree, tree)); /* Use garbage collection. */ @@ -99,91 +99,91 @@ int ggc_p = 1; #define WCHAR_TYPE "int" #endif -static tree grokparms PROTO((tree, int)); -static const char *redeclaration_error_message PROTO((tree, tree)); +static tree grokparms PARAMS ((tree, int)); +static const char *redeclaration_error_message PARAMS ((tree, tree)); -static void push_binding_level PROTO((struct binding_level *, int, +static void push_binding_level PARAMS ((struct binding_level *, int, int)); -static void pop_binding_level PROTO((void)); -static void suspend_binding_level PROTO((void)); -static void resume_binding_level PROTO((struct binding_level *)); -static struct binding_level *make_binding_level PROTO((void)); -static void declare_namespace_level PROTO((void)); -static void signal_catch PROTO((int)) ATTRIBUTE_NORETURN; -static void storedecls PROTO((tree)); -static void require_complete_types_for_parms PROTO((tree)); -static void push_overloaded_decl_1 PROTO((tree)); -static int ambi_op_p PROTO((tree)); -static int unary_op_p PROTO((tree)); -static tree store_bindings PROTO((tree, tree)); -static tree lookup_tag_reverse PROTO((tree, tree)); -static tree obscure_complex_init PROTO((tree, tree)); -static tree maybe_build_cleanup_1 PROTO((tree, tree)); -static tree lookup_name_real PROTO((tree, int, int, int)); -static void warn_extern_redeclared_static PROTO((tree, tree)); -static void grok_reference_init PROTO((tree, tree, tree)); -static tree grokfndecl PROTO((tree, tree, tree, tree, int, +static void pop_binding_level PARAMS ((void)); +static void suspend_binding_level PARAMS ((void)); +static void resume_binding_level PARAMS ((struct binding_level *)); +static struct binding_level *make_binding_level PARAMS ((void)); +static void declare_namespace_level PARAMS ((void)); +static void signal_catch PARAMS ((int)) ATTRIBUTE_NORETURN; +static void storedecls PARAMS ((tree)); +static void require_complete_types_for_parms PARAMS ((tree)); +static void push_overloaded_decl_1 PARAMS ((tree)); +static int ambi_op_p PARAMS ((tree)); +static int unary_op_p PARAMS ((tree)); +static tree store_bindings PARAMS ((tree, tree)); +static tree lookup_tag_reverse PARAMS ((tree, tree)); +static tree obscure_complex_init PARAMS ((tree, tree)); +static tree maybe_build_cleanup_1 PARAMS ((tree, tree)); +static tree lookup_name_real PARAMS ((tree, int, int, int)); +static void warn_extern_redeclared_static PARAMS ((tree, tree)); +static void grok_reference_init PARAMS ((tree, tree, tree)); +static tree grokfndecl PARAMS ((tree, tree, tree, tree, int, enum overload_flags, tree, tree, int, int, int, int, int, int, tree)); -static tree grokvardecl PROTO((tree, tree, RID_BIT_TYPE *, int, int, tree)); -static tree lookup_tag PROTO((enum tree_code, tree, +static tree grokvardecl PARAMS ((tree, tree, RID_BIT_TYPE *, int, int, tree)); +static tree lookup_tag PARAMS ((enum tree_code, tree, struct binding_level *, int)); static void set_identifier_type_value_with_scope - PROTO((tree, tree, struct binding_level *)); -static void record_builtin_type PROTO((enum rid, const char *, tree)); -static void record_unknown_type PROTO((tree, const char *)); -static int member_function_or_else PROTO((tree, tree, enum overload_flags)); -static void bad_specifiers PROTO((tree, const char *, int, int, int, int, + PARAMS ((tree, tree, struct binding_level *)); +static void record_builtin_type PARAMS ((enum rid, const char *, tree)); +static void record_unknown_type PARAMS ((tree, const char *)); +static int member_function_or_else PARAMS ((tree, tree, enum overload_flags)); +static void bad_specifiers PARAMS ((tree, const char *, int, int, int, int, int)); -static void lang_print_error_function PROTO((const char *)); -static tree maybe_process_template_type_declaration PROTO((tree, int, struct binding_level*)); -static void check_for_uninitialized_const_var PROTO((tree)); -static unsigned long typename_hash PROTO((hash_table_key)); -static boolean typename_compare PROTO((hash_table_key, hash_table_key)); -static void push_binding PROTO((tree, tree, struct binding_level*)); -static int add_binding PROTO((tree, tree)); -static void pop_binding PROTO((tree, tree)); -static tree local_variable_p_walkfn PROTO((tree *, int *, void *)); -static tree find_binding PROTO((tree, tree)); -static tree select_decl PROTO((tree, int)); -static int lookup_flags PROTO((int, int)); -static tree qualify_lookup PROTO((tree, int)); -static tree record_builtin_java_type PROTO((const char *, int)); -static const char *tag_name PROTO((enum tag_types code)); -static void find_class_binding_level PROTO((void)); -static struct binding_level *innermost_nonclass_level PROTO((void)); -static void warn_about_implicit_typename_lookup PROTO((tree, tree)); -static int walk_namespaces_r PROTO((tree, walk_namespaces_fn, void *)); -static int walk_globals_r PROTO((tree, void *)); -static void add_decl_to_level PROTO((tree, struct binding_level *)); -static tree make_label_decl PROTO((tree, int)); -static void pop_label PROTO((tree)); -static void pop_labels PROTO((tree)); -static void maybe_deduce_size_from_array_init PROTO((tree, tree)); -static void layout_var_decl PROTO((tree)); -static void maybe_commonize_var PROTO((tree)); -static tree check_initializer PROTO((tree, tree)); -static void make_rtl_for_nonlocal_decl PROTO((tree, tree, const char *)); -static void push_cp_function_context PROTO((struct function *)); -static void pop_cp_function_context PROTO((struct function *)); -static void mark_binding_level PROTO((void *)); -static void mark_cp_function_context PROTO((struct function *)); -static void mark_saved_scope PROTO((void *)); -static void mark_lang_function PROTO((struct language_function *)); -static void mark_stmt_tree PROTO((struct stmt_tree *)); -static void save_function_data PROTO((tree)); -static void check_function_type PROTO((tree)); -static void destroy_local_var PROTO((tree)); -static void finish_constructor_body PROTO((void)); -static void finish_destructor_body PROTO((void)); -static tree create_array_type_for_decl PROTO((tree, tree, tree)); -static tree get_atexit_node PROTO((void)); -static tree get_dso_handle_node PROTO((void)); -static tree start_cleanup_fn PROTO((void)); -static void end_cleanup_fn PROTO((void)); +static void lang_print_error_function PARAMS ((const char *)); +static tree maybe_process_template_type_declaration PARAMS ((tree, int, struct binding_level*)); +static void check_for_uninitialized_const_var PARAMS ((tree)); +static unsigned long typename_hash PARAMS ((hash_table_key)); +static boolean typename_compare PARAMS ((hash_table_key, hash_table_key)); +static void push_binding PARAMS ((tree, tree, struct binding_level*)); +static int add_binding PARAMS ((tree, tree)); +static void pop_binding PARAMS ((tree, tree)); +static tree local_variable_p_walkfn PARAMS ((tree *, int *, void *)); +static tree find_binding PARAMS ((tree, tree)); +static tree select_decl PARAMS ((tree, int)); +static int lookup_flags PARAMS ((int, int)); +static tree qualify_lookup PARAMS ((tree, int)); +static tree record_builtin_java_type PARAMS ((const char *, int)); +static const char *tag_name PARAMS ((enum tag_types code)); +static void find_class_binding_level PARAMS ((void)); +static struct binding_level *innermost_nonclass_level PARAMS ((void)); +static void warn_about_implicit_typename_lookup PARAMS ((tree, tree)); +static int walk_namespaces_r PARAMS ((tree, walk_namespaces_fn, void *)); +static int walk_globals_r PARAMS ((tree, void *)); +static void add_decl_to_level PARAMS ((tree, struct binding_level *)); +static tree make_label_decl PARAMS ((tree, int)); +static void pop_label PARAMS ((tree)); +static void pop_labels PARAMS ((tree)); +static void maybe_deduce_size_from_array_init PARAMS ((tree, tree)); +static void layout_var_decl PARAMS ((tree)); +static void maybe_commonize_var PARAMS ((tree)); +static tree check_initializer PARAMS ((tree, tree)); +static void make_rtl_for_nonlocal_decl PARAMS ((tree, tree, const char *)); +static void push_cp_function_context PARAMS ((struct function *)); +static void pop_cp_function_context PARAMS ((struct function *)); +static void mark_binding_level PARAMS ((void *)); +static void mark_cp_function_context PARAMS ((struct function *)); +static void mark_saved_scope PARAMS ((void *)); +static void mark_lang_function PARAMS ((struct language_function *)); +static void mark_stmt_tree PARAMS ((struct stmt_tree *)); +static void save_function_data PARAMS ((tree)); +static void check_function_type PARAMS ((tree)); +static void destroy_local_var PARAMS ((tree)); +static void finish_constructor_body PARAMS ((void)); +static void finish_destructor_body PARAMS ((void)); +static tree create_array_type_for_decl PARAMS ((tree, tree, tree)); +static tree get_atexit_node PARAMS ((void)); +static tree get_dso_handle_node PARAMS ((void)); +static tree start_cleanup_fn PARAMS ((void)); +static void end_cleanup_fn PARAMS ((void)); #if defined (DEBUG_CP_BINDING_LEVELS) -static void indent PROTO((void)); +static void indent PARAMS ((void)); #endif /* Erroneous argument lists can use this *IFF* they do not modify it. */ @@ -536,7 +536,7 @@ indent () } #endif /* defined(DEBUG_CP_BINDING_LEVELS) */ -static tree pushdecl_with_scope PROTO((tree, struct binding_level *)); +static tree pushdecl_with_scope PARAMS ((tree, struct binding_level *)); static void push_binding_level (newlevel, tag_transparent, keep) @@ -6404,7 +6404,7 @@ tree define_function (name, type, pfn, library_name) const char *name; tree type; - void (*pfn) PROTO((tree)); + void (*pfn) PARAMS ((tree)); const char *library_name; { tree decl = build_lang_decl (FUNCTION_DECL, get_identifier (name), type); @@ -6439,7 +6439,7 @@ builtin_function (name, type, code, class, libname) enum built_in_class class; const char *libname; { - tree decl = define_function (name, type, (void (*) PROTO((tree)))pushdecl, + tree decl = define_function (name, type, (void (*) PARAMS ((tree)))pushdecl, libname); DECL_BUILT_IN_CLASS (decl) = class; DECL_FUNCTION_CODE (decl) = code; diff --git a/gcc/cp/decl.h b/gcc/cp/decl.h index d6c376c39bf..c5417d1ea48 100644 --- a/gcc/cp/decl.h +++ b/gcc/cp/decl.h @@ -1,5 +1,5 @@ /* Variables and structures for declaration processing. - Copyright (C) 1993 Free Software Foundation, Inc. + Copyright (C) 1993, 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -31,7 +31,7 @@ enum decl_context }; /* We need this in here to get the decl_context definition. */ -extern tree grokdeclarator PROTO((tree, tree, enum decl_context, int, tree)); +extern tree grokdeclarator PARAMS ((tree, tree, enum decl_context, int, tree)); /* Parsing a function declarator leaves a list of parameter names or a chain or parameter decls here. */ diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 56283c88fbe..619696380f3 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -60,36 +60,36 @@ typedef struct priority_info_s { int destructions_p; } *priority_info; -static tree get_sentry PROTO((tree)); -static void mark_vtable_entries PROTO((tree)); -static void grok_function_init PROTO((tree, tree)); -static int finish_vtable_vardecl PROTO((tree *, void *)); -static int prune_vtable_vardecl PROTO((tree *, void *)); -static int is_namespace_ancestor PROTO((tree, tree)); -static void add_using_namespace PROTO((tree, tree, int)); -static tree ambiguous_decl PROTO((tree, tree, tree,int)); -static tree build_anon_union_vars PROTO((tree, tree*, int, int)); -static int acceptable_java_type PROTO((tree)); -static void output_vtable_inherit PROTO((tree)); -static tree start_objects PROTO((int, int)); -static void finish_objects PROTO((int, int, tree)); -static tree merge_functions PROTO((tree, tree)); -static tree decl_namespace PROTO((tree)); -static tree validate_nonmember_using_decl PROTO((tree, tree *, tree *)); -static void do_nonmember_using_decl PROTO((tree, tree, tree, tree, +static tree get_sentry PARAMS ((tree)); +static void mark_vtable_entries PARAMS ((tree)); +static void grok_function_init PARAMS ((tree, tree)); +static int finish_vtable_vardecl PARAMS ((tree *, void *)); +static int prune_vtable_vardecl PARAMS ((tree *, void *)); +static int is_namespace_ancestor PARAMS ((tree, tree)); +static void add_using_namespace PARAMS ((tree, tree, int)); +static tree ambiguous_decl PARAMS ((tree, tree, tree,int)); +static tree build_anon_union_vars PARAMS ((tree, tree*, int, int)); +static int acceptable_java_type PARAMS ((tree)); +static void output_vtable_inherit PARAMS ((tree)); +static tree start_objects PARAMS ((int, int)); +static void finish_objects PARAMS ((int, int, tree)); +static tree merge_functions PARAMS ((tree, tree)); +static tree decl_namespace PARAMS ((tree)); +static tree validate_nonmember_using_decl PARAMS ((tree, tree *, tree *)); +static void do_nonmember_using_decl PARAMS ((tree, tree, tree, tree, tree *, tree *)); -static tree start_static_storage_duration_function PROTO((void)); -static void finish_static_storage_duration_function PROTO((tree)); -static priority_info get_priority_info PROTO((int)); -static void do_static_initialization PROTO((tree, tree)); -static void do_static_destruction PROTO((tree)); -static tree start_static_initialization_or_destruction PROTO((tree, int)); -static void finish_static_initialization_or_destruction PROTO((tree)); -static void generate_ctor_or_dtor_function PROTO((int, int)); +static tree start_static_storage_duration_function PARAMS ((void)); +static void finish_static_storage_duration_function PARAMS ((tree)); +static priority_info get_priority_info PARAMS ((int)); +static void do_static_initialization PARAMS ((tree, tree)); +static void do_static_destruction PARAMS ((tree)); +static tree start_static_initialization_or_destruction PARAMS ((tree, int)); +static void finish_static_initialization_or_destruction PARAMS ((tree)); +static void generate_ctor_or_dtor_function PARAMS ((int, int)); static int generate_ctor_and_dtor_functions_for_priority - PROTO((splay_tree_node, void *)); -static tree prune_vars_needing_no_initialization PROTO((tree)); -static void write_out_vars PROTO((tree)); + PARAMS ((splay_tree_node, void *)); +static tree prune_vars_needing_no_initialization PARAMS ((tree)); +static void write_out_vars PARAMS ((tree)); extern int current_class_depth; @@ -489,7 +489,7 @@ int flag_permissive; /* If this variable is defined to a non-NULL value, it will be called after the file has been completely parsed. */ -void (*back_end_hook) PROTO((tree)); +void (*back_end_hook) PARAMS ((tree)); /* Table of language-dependent -f options. STRING is the option name. VARIABLE is the address of the variable. @@ -4527,13 +4527,13 @@ struct arg_lookup tree functions; }; -static int arg_assoc PROTO((struct arg_lookup*, tree)); -static int arg_assoc_args PROTO((struct arg_lookup*, tree)); -static int arg_assoc_type PROTO((struct arg_lookup*, tree)); -static int add_function PROTO((struct arg_lookup *, tree)); -static int arg_assoc_namespace PROTO((struct arg_lookup *, tree)); -static int arg_assoc_class PROTO((struct arg_lookup *, tree)); -static int arg_assoc_template_arg PROTO((struct arg_lookup*, tree)); +static int arg_assoc PARAMS ((struct arg_lookup*, tree)); +static int arg_assoc_args PARAMS ((struct arg_lookup*, tree)); +static int arg_assoc_type PARAMS ((struct arg_lookup*, tree)); +static int add_function PARAMS ((struct arg_lookup *, tree)); +static int arg_assoc_namespace PARAMS ((struct arg_lookup *, tree)); +static int arg_assoc_class PARAMS ((struct arg_lookup *, tree)); +static int arg_assoc_template_arg PARAMS ((struct arg_lookup*, tree)); /* Add a function to the lookup structure. Returns 1 on error. */ diff --git a/gcc/cp/dump.c b/gcc/cp/dump.c index 379ad831407..34444bb8a63 100644 --- a/gcc/cp/dump.c +++ b/gcc/cp/dump.c @@ -71,19 +71,19 @@ typedef struct dump_info splay_tree nodes; } *dump_info_p; -static unsigned int queue PROTO ((dump_info_p, tree, int)); -static void dump_index PROTO ((dump_info_p, unsigned int)); -static void queue_and_dump_index PROTO ((dump_info_p, const char *, tree, int)); -static void queue_and_dump_type PROTO ((dump_info_p, tree)); -static void dequeue_and_dump PROTO ((dump_info_p)); -static void dump_new_line PROTO ((dump_info_p)); -static void dump_maybe_newline PROTO ((dump_info_p)); -static void dump_int PROTO ((dump_info_p, const char *, int)); -static void dump_string PROTO ((dump_info_p, const char *)); -static void dump_string_field PROTO ((dump_info_p, const char *, const char *)); -static void dump_node PROTO ((tree, FILE *)); -static void dump_stmt PROTO ((dump_info_p, tree)); -static void dump_next_stmt PROTO ((dump_info_p, tree)); +static unsigned int queue PARAMS ((dump_info_p, tree, int)); +static void dump_index PARAMS ((dump_info_p, unsigned int)); +static void queue_and_dump_index PARAMS ((dump_info_p, const char *, tree, int)); +static void queue_and_dump_type PARAMS ((dump_info_p, tree)); +static void dequeue_and_dump PARAMS ((dump_info_p)); +static void dump_new_line PARAMS ((dump_info_p)); +static void dump_maybe_newline PARAMS ((dump_info_p)); +static void dump_int PARAMS ((dump_info_p, const char *, int)); +static void dump_string PARAMS ((dump_info_p, const char *)); +static void dump_string_field PARAMS ((dump_info_p, const char *, const char *)); +static void dump_node PARAMS ((tree, FILE *)); +static void dump_stmt PARAMS ((dump_info_p, tree)); +static void dump_next_stmt PARAMS ((dump_info_p, tree)); /* Add T to the end of the queue of nodes to dump. Returns the index assigned to T. */ diff --git a/gcc/cp/errfn.c b/gcc/cp/errfn.c index cc9f39bead1..ff2fb31e3e5 100644 --- a/gcc/cp/errfn.c +++ b/gcc/cp/errfn.c @@ -1,5 +1,6 @@ /* Provide a call-back mechanism for handling error output. - Copyright (C) 1993, 94-98, 1999 Free Software Foundation, Inc. + Copyright (C) 1993, 94, 95, 96, 97, 98, 99, 2000 + Free Software Foundation, Inc. Contributed by Jason Merrill (jason@cygnus.com) This file is part of GNU CC. @@ -30,7 +31,7 @@ Boston, MA 02111-1307, USA. */ with all memory management; the functions in this file will not free the char*s returned. See error.c for an example use of this code. */ -typedef const char *cp_printer PROTO((tree, int)); +typedef const char *cp_printer PARAMS ((tree, int)); extern cp_printer * cp_printers[256]; /* Whether or not we should try to be quiet for errors and warnings; this is @@ -40,7 +41,7 @@ int cp_silent = 0; typedef void errorfn (); /* deliberately vague */ -static void cp_thing PROTO ((errorfn *, int, const char *, va_list)); +static void cp_thing PARAMS ((errorfn *, int, const char *, va_list)); #define STRDUP(f) (ap = (char *) alloca (strlen (f) +1), strcpy (ap, (f)), ap) @@ -190,7 +191,7 @@ cp_thing (errfn, atarg1, format, ap) } void -cp_error VPROTO((const char *format, ...)) +cp_error VPARAMS ((const char *format, ...)) { #ifndef ANSI_PROTOTYPES char *format; @@ -209,7 +210,7 @@ cp_error VPROTO((const char *format, ...)) } void -cp_warning VPROTO((const char *format, ...)) +cp_warning VPARAMS ((const char *format, ...)) { #ifndef ANSI_PROTOTYPES char *format; @@ -228,7 +229,7 @@ cp_warning VPROTO((const char *format, ...)) } void -cp_pedwarn VPROTO((const char *format, ...)) +cp_pedwarn VPARAMS ((const char *format, ...)) { #ifndef ANSI_PROTOTYPES char *format; @@ -247,7 +248,7 @@ cp_pedwarn VPROTO((const char *format, ...)) } void -cp_compiler_error VPROTO((const char *format, ...)) +cp_compiler_error VPARAMS ((const char *format, ...)) { #ifndef ANSI_PROTOTYPES char *format; @@ -277,7 +278,7 @@ cp_deprecated (msg) } void -cp_sprintf VPROTO((const char *format, ...)) +cp_sprintf VPARAMS ((const char *format, ...)) { #ifndef ANSI_PROTOTYPES char *format; @@ -295,7 +296,7 @@ cp_sprintf VPROTO((const char *format, ...)) } void -cp_error_at VPROTO((const char *format, ...)) +cp_error_at VPARAMS ((const char *format, ...)) { #ifndef ANSI_PROTOTYPES char *format; @@ -314,7 +315,7 @@ cp_error_at VPROTO((const char *format, ...)) } void -cp_warning_at VPROTO((const char *format, ...)) +cp_warning_at VPARAMS ((const char *format, ...)) { #ifndef ANSI_PROTOTYPES char *format; @@ -333,7 +334,7 @@ cp_warning_at VPROTO((const char *format, ...)) } void -cp_pedwarn_at VPROTO((const char *format, ...)) +cp_pedwarn_at VPARAMS ((const char *format, ...)) { #ifndef ANSI_PROTOTYPES char *format; diff --git a/gcc/cp/error.c b/gcc/cp/error.c index f76b4da772c..d0196f58f7d 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -1,6 +1,7 @@ /* Call-backs for C++ error reporting. This code is non-reentrant. - Copyright (C) 1993, 94-97, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1993, 94, 95, 96, 97, 98, 99, 2000 + Free Software Foundation, Inc. This file is part of GNU CC. @@ -57,44 +58,44 @@ static char *scratch_firstobj; enum pad { none, before, after }; -static const char *args_to_string PROTO((tree, int)); -static const char *assop_to_string PROTO((enum tree_code, int)); -static const char *code_to_string PROTO((enum tree_code, int)); -static const char *cv_to_string PROTO((tree, int)); -static const char *decl_to_string PROTO((tree, int)); -static const char *expr_to_string PROTO((tree, int)); -static const char *fndecl_to_string PROTO((tree, int)); -static const char *language_to_string PROTO((enum languages, int)); -static const char *op_to_string PROTO((enum tree_code, int)); -static const char *parm_to_string PROTO((int, int)); -static const char *type_to_string PROTO((tree, int)); - -static void dump_type PROTO((tree, enum tree_string_flags)); -static void dump_simple_decl PROTO((tree, tree, enum tree_string_flags)); -static void dump_decl PROTO((tree, enum tree_string_flags)); -static void dump_template_decl PROTO((tree, enum tree_string_flags)); -static void dump_function_decl PROTO((tree, enum tree_string_flags)); -static void dump_expr PROTO((tree, enum tree_string_flags)); -static void dump_unary_op PROTO((const char *, tree, enum tree_string_flags)); -static void dump_binary_op PROTO((const char *, tree, enum tree_string_flags)); -static void dump_aggr_type PROTO((tree, enum tree_string_flags)); -static enum pad dump_type_prefix PROTO((tree, enum tree_string_flags)); -static void dump_type_suffix PROTO((tree, enum tree_string_flags)); -static void dump_function_name PROTO((tree, enum tree_string_flags)); -static void dump_expr_list PROTO((tree, enum tree_string_flags)); -static void dump_global_iord PROTO((tree)); -static enum pad dump_qualifiers PROTO((tree, enum pad)); -static void dump_char PROTO((int)); -static void dump_parameters PROTO((tree, enum tree_string_flags)); -static void dump_exception_spec PROTO((tree, enum tree_string_flags)); -static const char *aggr_variety PROTO((tree)); -static tree ident_fndecl PROTO((tree)); -static void dump_template_argument PROTO((tree, enum tree_string_flags)); -static void dump_template_argument_list PROTO((tree, enum tree_string_flags)); -static void dump_template_parameter PROTO((tree, enum tree_string_flags)); -static void dump_template_bindings PROTO((tree, tree)); -static void dump_scope PROTO((tree, enum tree_string_flags)); -static void dump_template_parms PROTO((tree, int, enum tree_string_flags)); +static const char *args_to_string PARAMS ((tree, int)); +static const char *assop_to_string PARAMS ((enum tree_code, int)); +static const char *code_to_string PARAMS ((enum tree_code, int)); +static const char *cv_to_string PARAMS ((tree, int)); +static const char *decl_to_string PARAMS ((tree, int)); +static const char *expr_to_string PARAMS ((tree, int)); +static const char *fndecl_to_string PARAMS ((tree, int)); +static const char *language_to_string PARAMS ((enum languages, int)); +static const char *op_to_string PARAMS ((enum tree_code, int)); +static const char *parm_to_string PARAMS ((int, int)); +static const char *type_to_string PARAMS ((tree, int)); + +static void dump_type PARAMS ((tree, enum tree_string_flags)); +static void dump_simple_decl PARAMS ((tree, tree, enum tree_string_flags)); +static void dump_decl PARAMS ((tree, enum tree_string_flags)); +static void dump_template_decl PARAMS ((tree, enum tree_string_flags)); +static void dump_function_decl PARAMS ((tree, enum tree_string_flags)); +static void dump_expr PARAMS ((tree, enum tree_string_flags)); +static void dump_unary_op PARAMS ((const char *, tree, enum tree_string_flags)); +static void dump_binary_op PARAMS ((const char *, tree, enum tree_string_flags)); +static void dump_aggr_type PARAMS ((tree, enum tree_string_flags)); +static enum pad dump_type_prefix PARAMS ((tree, enum tree_string_flags)); +static void dump_type_suffix PARAMS ((tree, enum tree_string_flags)); +static void dump_function_name PARAMS ((tree, enum tree_string_flags)); +static void dump_expr_list PARAMS ((tree, enum tree_string_flags)); +static void dump_global_iord PARAMS ((tree)); +static enum pad dump_qualifiers PARAMS ((tree, enum pad)); +static void dump_char PARAMS ((int)); +static void dump_parameters PARAMS ((tree, enum tree_string_flags)); +static void dump_exception_spec PARAMS ((tree, enum tree_string_flags)); +static const char *aggr_variety PARAMS ((tree)); +static tree ident_fndecl PARAMS ((tree)); +static void dump_template_argument PARAMS ((tree, enum tree_string_flags)); +static void dump_template_argument_list PARAMS ((tree, enum tree_string_flags)); +static void dump_template_parameter PARAMS ((tree, enum tree_string_flags)); +static void dump_template_bindings PARAMS ((tree, tree)); +static void dump_scope PARAMS ((tree, enum tree_string_flags)); +static void dump_template_parms PARAMS ((tree, int, enum tree_string_flags)); #define A args_to_string #define C code_to_string diff --git a/gcc/cp/except.c b/gcc/cp/except.c index 363c4bff247..3a9f5b08aa0 100644 --- a/gcc/cp/except.c +++ b/gcc/cp/except.c @@ -1,5 +1,6 @@ /* Handle exceptional things in C++. - Copyright (C) 1989, 92-97, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1989, 92, 93, 94, 95, 96, 97, 98, 99, 2000 + Free Software Foundation, Inc. Contributed by Michael Tiemann <tiemann@cygnus.com> Rewritten by Mike Stump <mrs@cygnus.com>, based upon an initial re-implementation courtesy Tad Hunt. @@ -36,24 +37,24 @@ Boston, MA 02111-1307, USA. */ #include "toplev.h" #include "eh-common.h" -static void push_eh_cleanup PROTO((void)); -static tree build_eh_type_type PROTO((tree)); -static tree call_eh_info PROTO((void)); -static void push_eh_info PROTO((void)); -static tree get_eh_info PROTO((void)); -static tree get_eh_value PROTO((void)); +static void push_eh_cleanup PARAMS ((void)); +static tree build_eh_type_type PARAMS ((tree)); +static tree call_eh_info PARAMS ((void)); +static void push_eh_info PARAMS ((void)); +static tree get_eh_info PARAMS ((void)); +static tree get_eh_value PARAMS ((void)); #if 0 -static tree get_eh_type PROTO((void)); -static tree get_eh_caught PROTO((void)); -static tree get_eh_handlers PROTO((void)); +static tree get_eh_type PARAMS ((void)); +static tree get_eh_caught PARAMS ((void)); +static tree get_eh_handlers PARAMS ((void)); #endif -static tree do_pop_exception PROTO((void)); -static tree build_eh_type_type_ref PROTO((tree)); -static tree build_terminate_handler PROTO((void)); -static tree alloc_eh_object PROTO((tree)); -static int complete_ptr_ref_or_void_ptr_p PROTO((tree, tree)); -static void initialize_handler_parm PROTO((tree)); -static tree expand_throw PROTO((tree)); +static tree do_pop_exception PARAMS ((void)); +static tree build_eh_type_type_ref PARAMS ((tree)); +static tree build_terminate_handler PARAMS ((void)); +static tree alloc_eh_object PARAMS ((tree)); +static int complete_ptr_ref_or_void_ptr_p PARAMS ((tree, tree)); +static void initialize_handler_parm PARAMS ((tree)); +static tree expand_throw PARAMS ((tree)); #if 0 /* This is the startup, and finish stuff per exception table. */ diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c index 32838f4af8f..1fcecff39aa 100644 --- a/gcc/cp/expr.c +++ b/gcc/cp/expr.c @@ -32,10 +32,10 @@ Boston, MA 02111-1307, USA. */ #include "tm_p.h" #if 0 -static tree extract_aggr_init PROTO((tree, tree)); -static tree extract_scalar_init PROTO((tree, tree)); +static tree extract_aggr_init PARAMS ((tree, tree)); +static tree extract_scalar_init PARAMS ((tree, tree)); #endif -static rtx cplus_expand_expr PROTO((tree, rtx, enum machine_mode, +static rtx cplus_expand_expr PARAMS ((tree, rtx, enum machine_mode, enum expand_modifier)); /* Hook used by output_constant to expand language-specific diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 7d7c084aca9..ffc67f7fbde 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -33,22 +33,22 @@ Boston, MA 02111-1307, USA. */ #include "toplev.h" #include "ggc.h" -static void expand_aggr_vbase_init_1 PROTO((tree, tree, tree, tree)); -static void construct_virtual_bases PROTO((tree, tree, tree, tree, tree)); -static void expand_aggr_init_1 PROTO((tree, tree, tree, tree, int)); -static void expand_default_init PROTO((tree, tree, tree, tree, int)); -static tree build_vec_delete_1 PROTO((tree, tree, tree, tree, int)); -static void perform_member_init PROTO((tree, tree, tree, int)); -static void sort_base_init PROTO((tree, tree *, tree *)); -static tree build_builtin_delete_call PROTO((tree)); -static int member_init_ok_or_else PROTO((tree, tree, const char *)); -static void expand_virtual_init PROTO((tree, tree)); -static tree sort_member_init PROTO((tree)); -static tree initializing_context PROTO((tree)); -static tree build_java_class_ref PROTO((tree)); -static void expand_cleanup_for_base PROTO((tree, tree)); -static tree get_temp_regvar PROTO((tree, tree)); -static tree dfs_initialize_vtbl_ptrs PROTO((tree, void *)); +static void expand_aggr_vbase_init_1 PARAMS ((tree, tree, tree, tree)); +static void construct_virtual_bases PARAMS ((tree, tree, tree, tree, tree)); +static void expand_aggr_init_1 PARAMS ((tree, tree, tree, tree, int)); +static void expand_default_init PARAMS ((tree, tree, tree, tree, int)); +static tree build_vec_delete_1 PARAMS ((tree, tree, tree, tree, int)); +static void perform_member_init PARAMS ((tree, tree, tree, int)); +static void sort_base_init PARAMS ((tree, tree *, tree *)); +static tree build_builtin_delete_call PARAMS ((tree)); +static int member_init_ok_or_else PARAMS ((tree, tree, const char *)); +static void expand_virtual_init PARAMS ((tree, tree)); +static tree sort_member_init PARAMS ((tree)); +static tree initializing_context PARAMS ((tree)); +static tree build_java_class_ref PARAMS ((tree)); +static void expand_cleanup_for_base PARAMS ((tree, tree)); +static tree get_temp_regvar PARAMS ((tree, tree)); +static tree dfs_initialize_vtbl_ptrs PARAMS ((tree, void *)); /* Set up local variable for this file. MUST BE CALLED AFTER INIT_DECL_PROCESSING. */ diff --git a/gcc/cp/input.c b/gcc/cp/input.c index f8ab714aa83..c82fc8f417d 100644 --- a/gcc/cp/input.c +++ b/gcc/cp/input.c @@ -1,5 +1,6 @@ /* Input handling for G++. - Copyright (C) 1992, 93-98, 1999 Free Software Foundation, Inc. + Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000 + Free Software Foundation, Inc. Written by Ken Raeburn (raeburn@cygnus.com) while at Watchmaker Computing. Enhanced by Michael Tiemann (tiemann@cygnus.com) to better support USE_CPPLIB @@ -69,15 +70,15 @@ extern unsigned char *yy_cur, *yy_lim; extern int yy_get_token (); #endif -extern void feed_input PROTO((char *, int, char *, int)); -extern void put_input PROTO((int)); -extern void put_back PROTO((int)); -extern int getch PROTO((void)); -extern int input_redirected PROTO((void)); +extern void feed_input PARAMS ((char *, int, char *, int)); +extern void put_input PARAMS ((int)); +extern void put_back PARAMS ((int)); +extern int getch PARAMS ((void)); +extern int input_redirected PARAMS ((void)); -static inline struct input_source * allocate_input PROTO((void)); -static inline void free_input PROTO((struct input_source *)); -static inline void end_input PROTO((void)); +static inline struct input_source * allocate_input PARAMS ((void)); +static inline void free_input PARAMS ((struct input_source *)); +static inline void end_input PARAMS ((void)); static inline struct input_source * allocate_input () diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index 918d05b6e4f..6bea2874206 100644 --- a/gcc/cp/lex.c +++ b/gcc/cp/lex.c @@ -48,47 +48,47 @@ Boston, MA 02111-1307, USA. */ #define obstack_chunk_alloc xmalloc #define obstack_chunk_free free -extern void yyprint PROTO((FILE *, int, YYSTYPE)); - -static tree get_time_identifier PROTO((const char *)); -static int check_newline PROTO((void)); -static int whitespace_cr PROTO((int)); -static int skip_white_space PROTO((int)); -static void finish_defarg PROTO((void)); -static int my_get_run_time PROTO((void)); -static int interface_strcmp PROTO((const char *)); -static int readescape PROTO((int *)); -static char *extend_token_buffer PROTO((const char *)); -static void consume_string PROTO((struct obstack *, int)); -static void feed_defarg PROTO((tree, tree)); -static void store_pending_inline PROTO((tree, struct pending_inline *)); -static void reinit_parse_for_expr PROTO((struct obstack *)); -static int *init_cpp_parse PROTO((void)); -static void cp_pragma_interface PROTO((char *)); -static void cp_pragma_implementation PROTO ((char *)); -static int handle_cp_pragma PROTO((const char *)); +extern void yyprint PARAMS ((FILE *, int, YYSTYPE)); + +static tree get_time_identifier PARAMS ((const char *)); +static int check_newline PARAMS ((void)); +static int whitespace_cr PARAMS ((int)); +static int skip_white_space PARAMS ((int)); +static void finish_defarg PARAMS ((void)); +static int my_get_run_time PARAMS ((void)); +static int interface_strcmp PARAMS ((const char *)); +static int readescape PARAMS ((int *)); +static char *extend_token_buffer PARAMS ((const char *)); +static void consume_string PARAMS ((struct obstack *, int)); +static void feed_defarg PARAMS ((tree, tree)); +static void store_pending_inline PARAMS ((tree, struct pending_inline *)); +static void reinit_parse_for_expr PARAMS ((struct obstack *)); +static int *init_cpp_parse PARAMS ((void)); +static void cp_pragma_interface PARAMS ((char *)); +static void cp_pragma_implementation PARAMS ((char *)); +static int handle_cp_pragma PARAMS ((const char *)); #ifdef HANDLE_GENERIC_PRAGMAS -static int handle_generic_pragma PROTO((int)); +static int handle_generic_pragma PARAMS ((int)); #endif #ifdef GATHER_STATISTICS #ifdef REDUCE_LENGTH -static int reduce_cmp PROTO((int *, int *)); -static int token_cmp PROTO((int *, int *)); +static int reduce_cmp PARAMS ((int *, int *)); +static int token_cmp PARAMS ((int *, int *)); #endif #endif -static void begin_definition_of_inclass_inline PROTO((struct pending_inline*)); -static void parse_float PROTO((PTR)); -static int is_global PROTO((tree)); -static void init_filename_times PROTO((void)); -static void extend_token_buffer_to PROTO((int)); +static void begin_definition_of_inclass_inline PARAMS ((struct pending_inline*)); +static void parse_float PARAMS ((PTR)); +static int is_global PARAMS ((tree)); +static void init_filename_times PARAMS ((void)); +static void extend_token_buffer_to PARAMS ((int)); #ifdef HANDLE_PRAGMA -static int pragma_getc PROTO((void)); -static void pragma_ungetc PROTO((int)); +static int pragma_getc PARAMS ((void)); +static void pragma_ungetc PARAMS ((int)); #endif -static int read_line_number PROTO((int *)); -static int token_getch PROTO ((void)); -static void token_put_back PROTO ((int)); -static void mark_impl_file_chain PROTO ((void *)); +static int read_line_number PARAMS ((int *)); +static int token_getch PARAMS ((void)); +static void token_put_back PARAMS ((int)); +static void mark_impl_file_chain PARAMS ((void *)); /* Given a file name X, return the nondirectory portion. Keep in mind that X can be computed more than once. */ @@ -4851,7 +4851,7 @@ dump_time_statistics () } void -compiler_error VPROTO ((const char *msg, ...)) +compiler_error VPARAMS ((const char *msg, ...)) { #ifndef ANSI_PROTOTYPES const char *msg; diff --git a/gcc/cp/lex.h b/gcc/cp/lex.h index 337e55aa7ca..d2c9352fa9a 100644 --- a/gcc/cp/lex.h +++ b/gcc/cp/lex.h @@ -1,5 +1,5 @@ /* Define constants and variables for communication with parse.y. - Copyright (C) 1987, 92-97, 1998 Free Software Foundation, Inc. + Copyright (C) 1987, 92-97, 1998, 2000 Free Software Foundation, Inc. Hacked by Michael Tiemann (tiemann@cygnus.com) and by Brendan Kehoe (brendan@cygnus.com). @@ -130,6 +130,6 @@ extern tree got_object; Positive is push count, negative is pop count. */ extern int pending_lang_change; -extern int yylex PROTO((void)); +extern int yylex PARAMS ((void)); extern struct lang_decl *free_lang_decl_chain; diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 4d9988541af..b43cc60f469 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -65,39 +65,39 @@ struct pending_inline *pending_inlines; static struct obstack scratch_obstack; static char *scratch_firstobj; -static void icat PROTO((HOST_WIDE_INT)); -static void dicat PROTO((HOST_WIDE_INT, HOST_WIDE_INT)); -static int old_backref_index PROTO((tree)); -static int flush_repeats PROTO((int, tree)); -static void build_overload_identifier PROTO((tree)); -static void build_overload_nested_name PROTO((tree)); -static void mangle_expression PROTO((tree)); -static void build_overload_int PROTO((tree, mangling_flags)); -static void build_overload_identifier PROTO((tree)); -static void build_qualified_name PROTO((tree)); -static void build_overload_value PROTO((tree, tree, mangling_flags)); -static void issue_nrepeats PROTO((int, tree)); -static char *build_mangled_name PROTO((tree,int,int)); -static void process_modifiers PROTO((tree)); -static void process_overload_item PROTO((tree,int)); -static void do_build_assign_ref PROTO((tree)); -static void do_build_copy_constructor PROTO((tree)); -static void build_template_template_parm_names PROTO((tree)); -static void build_template_parm_names PROTO((tree, tree)); -static void build_underscore_int PROTO((int)); -static void start_squangling PROTO((void)); -static void end_squangling PROTO((void)); -static int check_ktype PROTO((tree, int)); -static int issue_ktype PROTO((tree)); -static void build_overload_scope_ref PROTO((tree)); -static void build_mangled_template_parm_index PROTO((const char *, tree)); +static void icat PARAMS ((HOST_WIDE_INT)); +static void dicat PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT)); +static int old_backref_index PARAMS ((tree)); +static int flush_repeats PARAMS ((int, tree)); +static void build_overload_identifier PARAMS ((tree)); +static void build_overload_nested_name PARAMS ((tree)); +static void mangle_expression PARAMS ((tree)); +static void build_overload_int PARAMS ((tree, mangling_flags)); +static void build_overload_identifier PARAMS ((tree)); +static void build_qualified_name PARAMS ((tree)); +static void build_overload_value PARAMS ((tree, tree, mangling_flags)); +static void issue_nrepeats PARAMS ((int, tree)); +static char *build_mangled_name PARAMS ((tree,int,int)); +static void process_modifiers PARAMS ((tree)); +static void process_overload_item PARAMS ((tree,int)); +static void do_build_assign_ref PARAMS ((tree)); +static void do_build_copy_constructor PARAMS ((tree)); +static void build_template_template_parm_names PARAMS ((tree)); +static void build_template_parm_names PARAMS ((tree, tree)); +static void build_underscore_int PARAMS ((int)); +static void start_squangling PARAMS ((void)); +static void end_squangling PARAMS ((void)); +static int check_ktype PARAMS ((tree, int)); +static int issue_ktype PARAMS ((tree)); +static void build_overload_scope_ref PARAMS ((tree)); +static void build_mangled_template_parm_index PARAMS ((const char *, tree)); #if HOST_BITS_PER_WIDE_INT >= 64 -static void build_mangled_C9x_name PROTO((int)); +static void build_mangled_C9x_name PARAMS ((int)); #endif -static int is_back_referenceable_type PROTO((tree)); -static int check_btype PROTO((tree)); -static void build_mangled_name_for_type PROTO((tree)); -static void build_mangled_name_for_type_with_Gcode PROTO((tree, int)); +static int is_back_referenceable_type PARAMS ((tree)); +static int check_btype PARAMS ((tree)); +static void build_mangled_name_for_type PARAMS ((tree)); +static void build_mangled_name_for_type_with_Gcode PARAMS ((tree, int)); # define OB_INIT() (scratch_firstobj ? (obstack_free (&scratch_obstack, scratch_firstobj), 0) : 0) # define OB_PUTC(C) (obstack_1grow (&scratch_obstack, (C))) diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c index f529e9d70a6..d97749d2634 100644 --- a/gcc/cp/optimize.c +++ b/gcc/cp/optimize.c @@ -65,17 +65,17 @@ typedef struct inline_data /* Prototypes. */ -static tree initialize_inlined_parameters PROTO((inline_data *, tree, tree)); -static tree declare_return_variable PROTO((inline_data *, tree *)); -static tree copy_body_r PROTO((tree *, int *, void *)); -static tree copy_body PROTO((inline_data *)); -static tree expand_call_inline PROTO((tree *, int *, void *)); -static void expand_calls_inline PROTO((tree *, inline_data *)); -static int inlinable_function_p PROTO((tree, inline_data *)); -static tree remap_decl PROTO((tree, inline_data *)); -static void remap_block PROTO((tree, tree, inline_data *)); -static void copy_scope_stmt PROTO((tree *, int *, inline_data *)); -static tree calls_setjmp_r PROTO((tree *, int *, void *)); +static tree initialize_inlined_parameters PARAMS ((inline_data *, tree, tree)); +static tree declare_return_variable PARAMS ((inline_data *, tree *)); +static tree copy_body_r PARAMS ((tree *, int *, void *)); +static tree copy_body PARAMS ((inline_data *)); +static tree expand_call_inline PARAMS ((tree *, int *, void *)); +static void expand_calls_inline PARAMS ((tree *, inline_data *)); +static int inlinable_function_p PARAMS ((tree, inline_data *)); +static tree remap_decl PARAMS ((tree, inline_data *)); +static void remap_block PARAMS ((tree, tree, inline_data *)); +static void copy_scope_stmt PARAMS ((tree *, int *, inline_data *)); +static tree calls_setjmp_r PARAMS ((tree *, int *, void *)); /* Remap DECL during the copying of the BLOCK tree for the function. DATA is really an `inline_data *'. */ diff --git a/gcc/cp/parse.c b/gcc/cp/parse.c index 840b04cc76c..1d3f44a706d 100644 --- a/gcc/cp/parse.c +++ b/gcc/cp/parse.c @@ -127,8 +127,8 @@ extern int end_of_file; error message if the user supplies an empty conditional expression. */ static const char *cond_stmt_keyword; -static tree empty_parms PROTO((void)); -static void parse_decl PROTO((tree, tree, tree, int, tree *)); +static tree empty_parms PARAMS ((void)); +static void parse_decl PARAMS ((tree, tree, tree, int, tree *)); /* Nonzero if we have an `extern "C"' acting as an extern specifier. */ int have_extern_spec; @@ -180,8 +180,8 @@ static tree current_enum_type; /* Tell yyparse how to print a token's value, if yydebug is set. */ #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL) -extern void yyprint PROTO((FILE *, int, YYSTYPE)); -extern tree combine_strings PROTO((tree)); +extern void yyprint PARAMS ((FILE *, int, YYSTYPE)); +extern tree combine_strings PARAMS ((tree)); static void parse_decl (declarator, specs_attrs, attributes, initialized, decl) diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y index 7a236e02b67..7aacbdd03ec 100644 --- a/gcc/cp/parse.y +++ b/gcc/cp/parse.y @@ -62,8 +62,8 @@ extern int end_of_file; error message if the user supplies an empty conditional expression. */ static const char *cond_stmt_keyword; -static tree empty_parms PROTO((void)); -static void parse_decl PROTO((tree, tree, tree, int, tree *)); +static tree empty_parms PARAMS ((void)); +static void parse_decl PARAMS ((tree, tree, tree, int, tree *)); /* Nonzero if we have an `extern "C"' acting as an extern specifier. */ int have_extern_spec; @@ -311,8 +311,8 @@ static tree current_enum_type; /* Tell yyparse how to print a token's value, if yydebug is set. */ #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL) -extern void yyprint PROTO((FILE *, int, YYSTYPE)); -extern tree combine_strings PROTO((tree)); +extern void yyprint PARAMS ((FILE *, int, YYSTYPE)); +extern tree combine_strings PARAMS ((tree)); static void parse_decl (declarator, specs_attrs, attributes, initialized, decl) diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 701ec9bb097..b0b3289869f 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -45,7 +45,7 @@ Boston, MA 02111-1307, USA. */ /* The type of functions taking a tree, and some additional data, and returning an int. */ -typedef int (*tree_fn_t) PROTO((tree, void*)); +typedef int (*tree_fn_t) PARAMS ((tree, void*)); extern struct obstack permanent_obstack; @@ -87,77 +87,77 @@ static size_t inline_parm_levels_used; #define GTB_IGNORE_TYPE 2 /* We don't need to try to unify the current type with the desired type. */ -static int resolve_overloaded_unification PROTO((tree, tree, tree, tree, +static int resolve_overloaded_unification PARAMS ((tree, tree, tree, tree, unification_kind_t, int)); -static int try_one_overload PROTO((tree, tree, tree, tree, tree, +static int try_one_overload PARAMS ((tree, tree, tree, tree, tree, unification_kind_t, int)); -static int unify PROTO((tree, tree, tree, tree, int)); -static void add_pending_template PROTO((tree)); -static int push_tinst_level PROTO((tree)); -static tree classtype_mangled_name PROTO((tree)); -static char *mangle_class_name_for_template PROTO((char *, tree, tree)); -static tree tsubst_expr_values PROTO((tree, tree)); -static int list_eq PROTO((tree, tree)); -static tree get_class_bindings PROTO((tree, tree, tree)); -static tree coerce_template_parms PROTO((tree, tree, tree, int, int)); -static void tsubst_enum PROTO((tree, tree, tree)); -static tree add_to_template_args PROTO((tree, tree)); -static tree add_outermost_template_args PROTO((tree, tree)); -static void maybe_adjust_types_for_deduction PROTO((unification_kind_t, tree*, +static int unify PARAMS ((tree, tree, tree, tree, int)); +static void add_pending_template PARAMS ((tree)); +static int push_tinst_level PARAMS ((tree)); +static tree classtype_mangled_name PARAMS ((tree)); +static char *mangle_class_name_for_template PARAMS ((char *, tree, tree)); +static tree tsubst_expr_values PARAMS ((tree, tree)); +static int list_eq PARAMS ((tree, tree)); +static tree get_class_bindings PARAMS ((tree, tree, tree)); +static tree coerce_template_parms PARAMS ((tree, tree, tree, int, int)); +static void tsubst_enum PARAMS ((tree, tree, tree)); +static tree add_to_template_args PARAMS ((tree, tree)); +static tree add_outermost_template_args PARAMS ((tree, tree)); +static void maybe_adjust_types_for_deduction PARAMS ((unification_kind_t, tree*, tree*)); -static int type_unification_real PROTO((tree, tree, tree, tree, +static int type_unification_real PARAMS ((tree, tree, tree, tree, int, unification_kind_t, int)); -static void note_template_header PROTO((int)); -static tree maybe_fold_nontype_arg PROTO((tree)); -static tree convert_nontype_argument PROTO((tree, tree)); -static tree convert_template_argument PROTO ((tree, tree, tree, int, +static void note_template_header PARAMS ((int)); +static tree maybe_fold_nontype_arg PARAMS ((tree)); +static tree convert_nontype_argument PARAMS ((tree, tree)); +static tree convert_template_argument PARAMS ((tree, tree, tree, int, int , tree)); -static tree get_bindings_overload PROTO((tree, tree, tree)); -static int for_each_template_parm PROTO((tree, tree_fn_t, void*)); -static tree build_template_parm_index PROTO((int, int, int, tree, tree)); -static int inline_needs_template_parms PROTO((tree)); -static void push_inline_template_parms_recursive PROTO((tree, int)); -static tree retrieve_specialization PROTO((tree, tree)); -static tree retrieve_local_specialization PROTO((tree, tree)); -static tree register_specialization PROTO((tree, tree, tree)); -static tree register_local_specialization PROTO((tree, tree, tree)); -static int unregister_specialization PROTO((tree, tree)); -static tree reduce_template_parm_level PROTO((tree, tree, int)); -static tree build_template_decl PROTO((tree, tree)); -static int mark_template_parm PROTO((tree, void *)); -static tree tsubst_friend_function PROTO((tree, tree)); -static tree tsubst_friend_class PROTO((tree, tree)); -static tree get_bindings_real PROTO((tree, tree, tree, int)); -static int template_decl_level PROTO((tree)); -static tree maybe_get_template_decl_from_type_decl PROTO((tree)); -static int check_cv_quals_for_unify PROTO((int, tree, tree)); -static tree tsubst_template_arg_vector PROTO((tree, tree, int)); -static tree tsubst_template_parms PROTO((tree, tree, int)); -static void regenerate_decl_from_template PROTO((tree, tree)); -static tree most_specialized PROTO((tree, tree, tree)); -static tree most_specialized_class PROTO((tree, tree)); -static void set_mangled_name_for_template_decl PROTO((tree)); -static int template_class_depth_real PROTO((tree, int)); -static tree tsubst_aggr_type PROTO((tree, tree, int, tree, int)); -static tree tsubst_decl PROTO((tree, tree, tree, tree)); -static tree tsubst_arg_types PROTO((tree, tree, int, tree)); -static tree tsubst_function_type PROTO((tree, tree, int, tree)); -static void check_specialization_scope PROTO((void)); -static tree process_partial_specialization PROTO((tree)); -static void set_current_access_from_decl PROTO((tree)); -static void check_default_tmpl_args PROTO((tree, tree, int, int)); -static tree tsubst_call_declarator_parms PROTO((tree, tree, int, tree)); -static tree get_template_base_recursive PROTO((tree, tree, +static tree get_bindings_overload PARAMS ((tree, tree, tree)); +static int for_each_template_parm PARAMS ((tree, tree_fn_t, void*)); +static tree build_template_parm_index PARAMS ((int, int, int, tree, tree)); +static int inline_needs_template_parms PARAMS ((tree)); +static void push_inline_template_parms_recursive PARAMS ((tree, int)); +static tree retrieve_specialization PARAMS ((tree, tree)); +static tree retrieve_local_specialization PARAMS ((tree, tree)); +static tree register_specialization PARAMS ((tree, tree, tree)); +static tree register_local_specialization PARAMS ((tree, tree, tree)); +static int unregister_specialization PARAMS ((tree, tree)); +static tree reduce_template_parm_level PARAMS ((tree, tree, int)); +static tree build_template_decl PARAMS ((tree, tree)); +static int mark_template_parm PARAMS ((tree, void *)); +static tree tsubst_friend_function PARAMS ((tree, tree)); +static tree tsubst_friend_class PARAMS ((tree, tree)); +static tree get_bindings_real PARAMS ((tree, tree, tree, int)); +static int template_decl_level PARAMS ((tree)); +static tree maybe_get_template_decl_from_type_decl PARAMS ((tree)); +static int check_cv_quals_for_unify PARAMS ((int, tree, tree)); +static tree tsubst_template_arg_vector PARAMS ((tree, tree, int)); +static tree tsubst_template_parms PARAMS ((tree, tree, int)); +static void regenerate_decl_from_template PARAMS ((tree, tree)); +static tree most_specialized PARAMS ((tree, tree, tree)); +static tree most_specialized_class PARAMS ((tree, tree)); +static void set_mangled_name_for_template_decl PARAMS ((tree)); +static int template_class_depth_real PARAMS ((tree, int)); +static tree tsubst_aggr_type PARAMS ((tree, tree, int, tree, int)); +static tree tsubst_decl PARAMS ((tree, tree, tree, tree)); +static tree tsubst_arg_types PARAMS ((tree, tree, int, tree)); +static tree tsubst_function_type PARAMS ((tree, tree, int, tree)); +static void check_specialization_scope PARAMS ((void)); +static tree process_partial_specialization PARAMS ((tree)); +static void set_current_access_from_decl PARAMS ((tree)); +static void check_default_tmpl_args PARAMS ((tree, tree, int, int)); +static tree tsubst_call_declarator_parms PARAMS ((tree, tree, int, tree)); +static tree get_template_base_recursive PARAMS ((tree, tree, tree, tree, tree, int)); -static tree get_template_base PROTO((tree, tree, tree, tree)); -static tree try_class_unification PROTO((tree, tree, tree, tree)); -static int coerce_template_template_parms PROTO((tree, tree, int, +static tree get_template_base PARAMS ((tree, tree, tree, tree)); +static tree try_class_unification PARAMS ((tree, tree, tree, tree)); +static int coerce_template_template_parms PARAMS ((tree, tree, int, tree, tree)); -static tree determine_specialization PROTO((tree, tree, tree *, int)); -static int template_args_equal PROTO((tree, tree)); -static void print_template_context PROTO((int)); -static void tsubst_default_arguments PROTO((tree)); -static tree for_each_template_parm_r PROTO((tree *, int *, void *)); +static tree determine_specialization PARAMS ((tree, tree, tree *, int)); +static int template_args_equal PARAMS ((tree, tree)); +static void print_template_context PARAMS ((int)); +static void tsubst_default_arguments PARAMS ((tree)); +static tree for_each_template_parm_r PARAMS ((tree *, int *, void *)); /* Called once to initialize pt.c. */ diff --git a/gcc/cp/repo.c b/gcc/cp/repo.c index 92597aa58f5..7812823d19a 100644 --- a/gcc/cp/repo.c +++ b/gcc/cp/repo.c @@ -1,5 +1,5 @@ /* Code to maintain a C++ template repository. - Copyright (C) 1995, 96-97, 1998 Free Software Foundation, Inc. + Copyright (C) 1995, 96-97, 1998, 2000 Free Software Foundation, Inc. Contributed by Jason Merrill (jason@cygnus.com) This file is part of GNU CC. @@ -34,12 +34,12 @@ Boston, MA 02111-1307, USA. */ #include "toplev.h" #include "ggc.h" -static tree repo_get_id PROTO((tree)); -static char *extract_string PROTO((char **)); -static char *get_base_filename PROTO((const char *)); -static void open_repo_file PROTO((const char *)); -static char *afgets PROTO((FILE *)); -static void reopen_repo_file_for_write PROTO((void)); +static tree repo_get_id PARAMS ((tree)); +static char *extract_string PARAMS ((char **)); +static char *get_base_filename PARAMS ((const char *)); +static void open_repo_file PARAMS ((const char *)); +static char *afgets PARAMS ((FILE *)); +static void reopen_repo_file_for_write PARAMS ((void)); static tree pending_repo; static tree original_repo; diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index 2341a229d26..e962b6a75fe 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -35,23 +35,23 @@ Boston, MA 02111-1307, USA. */ extern struct obstack permanent_obstack; -static tree build_runtime_decl PROTO((const char *, tree)); -static tree build_headof_sub PROTO((tree)); -static tree build_headof PROTO((tree)); -static tree get_tinfo_var PROTO((tree)); -static tree ifnonnull PROTO((tree, tree)); -static tree tinfo_name PROTO((tree)); -static tree get_base_offset PROTO((tree, tree)); -static tree build_dynamic_cast_1 PROTO((tree, tree)); -static void expand_si_desc PROTO((tree, tree)); -static void expand_class_desc PROTO((tree, tree)); -static void expand_attr_desc PROTO((tree, tree)); -static void expand_ptr_desc PROTO((tree, tree)); -static void expand_generic_desc PROTO((tree, tree, const char *)); -static tree throw_bad_cast PROTO((void)); -static tree throw_bad_typeid PROTO((void)); -static tree get_tinfo_decl_dynamic PROTO((tree)); -static tree tinfo_from_decl PROTO((tree)); +static tree build_runtime_decl PARAMS ((const char *, tree)); +static tree build_headof_sub PARAMS ((tree)); +static tree build_headof PARAMS ((tree)); +static tree get_tinfo_var PARAMS ((tree)); +static tree ifnonnull PARAMS ((tree, tree)); +static tree tinfo_name PARAMS ((tree)); +static tree get_base_offset PARAMS ((tree, tree)); +static tree build_dynamic_cast_1 PARAMS ((tree, tree)); +static void expand_si_desc PARAMS ((tree, tree)); +static void expand_class_desc PARAMS ((tree, tree)); +static void expand_attr_desc PARAMS ((tree, tree)); +static void expand_ptr_desc PARAMS ((tree, tree)); +static void expand_generic_desc PARAMS ((tree, tree, const char *)); +static tree throw_bad_cast PARAMS ((void)); +static tree throw_bad_typeid PARAMS ((void)); +static tree get_tinfo_decl_dynamic PARAMS ((tree)); +static tree tinfo_from_decl PARAMS ((tree)); void init_rtti_processing () diff --git a/gcc/cp/search.c b/gcc/cp/search.c index 390c9747551..a2931424544 100644 --- a/gcc/cp/search.c +++ b/gcc/cp/search.c @@ -75,78 +75,78 @@ pop_stack_level (stack) #define search_level stack_level static struct search_level *search_stack; -static tree next_baselink PROTO((tree)); -static tree get_vbase_1 PROTO((tree, tree, unsigned int *)); -static tree lookup_field_1 PROTO((tree, tree)); -static tree convert_pointer_to_single_level PROTO((tree, tree)); -static int lookup_fnfields_here PROTO((tree, tree)); -static int is_subobject_of_p PROTO((tree, tree)); -static int hides PROTO((tree, tree)); -static tree virtual_context PROTO((tree, tree, tree)); -static tree dfs_check_overlap PROTO((tree, void *)); -static tree dfs_no_overlap_yet PROTO((tree, void *)); +static tree next_baselink PARAMS ((tree)); +static tree get_vbase_1 PARAMS ((tree, tree, unsigned int *)); +static tree lookup_field_1 PARAMS ((tree, tree)); +static tree convert_pointer_to_single_level PARAMS ((tree, tree)); +static int lookup_fnfields_here PARAMS ((tree, tree)); +static int is_subobject_of_p PARAMS ((tree, tree)); +static int hides PARAMS ((tree, tree)); +static tree virtual_context PARAMS ((tree, tree, tree)); +static tree dfs_check_overlap PARAMS ((tree, void *)); +static tree dfs_no_overlap_yet PARAMS ((tree, void *)); static int get_base_distance_recursive - PROTO((tree, int, int, int, int *, tree *, tree, + PARAMS ((tree, int, int, int, int *, tree *, tree, int, int *, int, int)); -static int dynamic_cast_base_recurse PROTO((tree, tree, int, tree *)); +static int dynamic_cast_base_recurse PARAMS ((tree, tree, int, tree *)); static void expand_upcast_fixups - PROTO((tree, tree, tree, tree, tree, tree, tree *)); + PARAMS ((tree, tree, tree, tree, tree, tree, tree *)); static void fixup_virtual_upcast_offsets - PROTO((tree, tree, int, int, tree, tree, tree, tree, + PARAMS ((tree, tree, int, int, tree, tree, tree, tree, tree *)); -static tree marked_vtable_pathp PROTO((tree, void *)); -static tree unmarked_vtable_pathp PROTO((tree, void *)); -static tree marked_new_vtablep PROTO((tree, void *)); -static tree unmarked_new_vtablep PROTO((tree, void *)); -static tree marked_pushdecls_p PROTO((tree, void *)); -static tree unmarked_pushdecls_p PROTO((tree, void *)); +static tree marked_vtable_pathp PARAMS ((tree, void *)); +static tree unmarked_vtable_pathp PARAMS ((tree, void *)); +static tree marked_new_vtablep PARAMS ((tree, void *)); +static tree unmarked_new_vtablep PARAMS ((tree, void *)); +static tree marked_pushdecls_p PARAMS ((tree, void *)); +static tree unmarked_pushdecls_p PARAMS ((tree, void *)); #if 0 -static tree dfs_debug_unmarkedp PROTO((tree, void *)); -static tree dfs_debug_mark PROTO((tree, void *)); +static tree dfs_debug_unmarkedp PARAMS ((tree, void *)); +static tree dfs_debug_mark PARAMS ((tree, void *)); #endif -static tree dfs_find_vbases PROTO((tree, void *)); -static tree dfs_clear_vbase_slots PROTO((tree, void *)); -static tree dfs_init_vbase_pointers PROTO((tree, void *)); -static tree dfs_get_vbase_types PROTO((tree, void *)); -static tree dfs_push_type_decls PROTO((tree, void *)); -static tree dfs_push_decls PROTO((tree, void *)); -static tree dfs_unuse_fields PROTO((tree, void *)); -static tree add_conversions PROTO((tree, void *)); -static tree get_virtuals_named_this PROTO((tree, tree)); -static tree get_virtual_destructor PROTO((tree, void *)); -static tree tree_has_any_destructor_p PROTO((tree, void *)); -static int covariant_return_p PROTO((tree, tree)); -static int check_final_overrider PROTO((tree, tree)); +static tree dfs_find_vbases PARAMS ((tree, void *)); +static tree dfs_clear_vbase_slots PARAMS ((tree, void *)); +static tree dfs_init_vbase_pointers PARAMS ((tree, void *)); +static tree dfs_get_vbase_types PARAMS ((tree, void *)); +static tree dfs_push_type_decls PARAMS ((tree, void *)); +static tree dfs_push_decls PARAMS ((tree, void *)); +static tree dfs_unuse_fields PARAMS ((tree, void *)); +static tree add_conversions PARAMS ((tree, void *)); +static tree get_virtuals_named_this PARAMS ((tree, tree)); +static tree get_virtual_destructor PARAMS ((tree, void *)); +static tree tree_has_any_destructor_p PARAMS ((tree, void *)); +static int covariant_return_p PARAMS ((tree, tree)); +static int check_final_overrider PARAMS ((tree, tree)); static struct search_level *push_search_level - PROTO((struct stack_level *, struct obstack *)); + PARAMS ((struct stack_level *, struct obstack *)); static struct search_level *pop_search_level - PROTO((struct stack_level *)); + PARAMS ((struct stack_level *)); static tree bfs_walk - PROTO((tree, tree (*) (tree, void *), tree (*) (tree, void *), + PARAMS ((tree, tree (*) (tree, void *), tree (*) (tree, void *), void *)); -static tree lookup_field_queue_p PROTO((tree, void *)); -static tree lookup_field_r PROTO((tree, void *)); -static tree get_virtuals_named_this_r PROTO ((tree, void *)); -static tree context_for_name_lookup PROTO ((tree)); -static tree canonical_binfo PROTO ((tree)); -static tree shared_marked_p PROTO ((tree, void *)); -static tree shared_unmarked_p PROTO ((tree, void *)); -static int dependent_base_p PROTO ((tree)); -static tree dfs_accessible_queue_p PROTO ((tree, void *)); -static tree dfs_accessible_p PROTO ((tree, void *)); -static tree dfs_access_in_type PROTO ((tree, void *)); -static tree access_in_type PROTO ((tree, tree)); -static tree dfs_canonical_queue PROTO ((tree, void *)); -static tree dfs_assert_unmarked_p PROTO ((tree, void *)); -static void assert_canonical_unmarked PROTO ((tree)); -static int protected_accessible_p PROTO ((tree, tree, tree, tree)); -static int friend_accessible_p PROTO ((tree, tree, tree, tree)); -static void setup_class_bindings PROTO ((tree, int)); -static int template_self_reference_p PROTO ((tree, tree)); -static void fixup_all_virtual_upcast_offsets PROTO ((tree, tree)); -static tree dfs_mark_primary_bases PROTO((tree, void *)); -static tree get_shared_vbase_if_not_primary PROTO((tree, void *)); -static tree dfs_find_vbase_instance PROTO((tree, void *)); +static tree lookup_field_queue_p PARAMS ((tree, void *)); +static tree lookup_field_r PARAMS ((tree, void *)); +static tree get_virtuals_named_this_r PARAMS ((tree, void *)); +static tree context_for_name_lookup PARAMS ((tree)); +static tree canonical_binfo PARAMS ((tree)); +static tree shared_marked_p PARAMS ((tree, void *)); +static tree shared_unmarked_p PARAMS ((tree, void *)); +static int dependent_base_p PARAMS ((tree)); +static tree dfs_accessible_queue_p PARAMS ((tree, void *)); +static tree dfs_accessible_p PARAMS ((tree, void *)); +static tree dfs_access_in_type PARAMS ((tree, void *)); +static tree access_in_type PARAMS ((tree, tree)); +static tree dfs_canonical_queue PARAMS ((tree, void *)); +static tree dfs_assert_unmarked_p PARAMS ((tree, void *)); +static void assert_canonical_unmarked PARAMS ((tree)); +static int protected_accessible_p PARAMS ((tree, tree, tree, tree)); +static int friend_accessible_p PARAMS ((tree, tree, tree, tree)); +static void setup_class_bindings PARAMS ((tree, int)); +static int template_self_reference_p PARAMS ((tree, tree)); +static void fixup_all_virtual_upcast_offsets PARAMS ((tree, tree)); +static tree dfs_mark_primary_bases PARAMS ((tree, void *)); +static tree get_shared_vbase_if_not_primary PARAMS ((tree, void *)); +static tree dfs_find_vbase_instance PARAMS ((tree, void *)); /* Allocate a level of searching. */ @@ -1707,8 +1707,8 @@ lookup_fnfields_1 (type, name) static tree bfs_walk (binfo, fn, qfn, data) tree binfo; - tree (*fn) PROTO((tree, void *)); - tree (*qfn) PROTO((tree, void *)); + tree (*fn) PARAMS ((tree, void *)); + tree (*qfn) PARAMS ((tree, void *)); void *data; { size_t head; @@ -1773,9 +1773,9 @@ bfs_walk (binfo, fn, qfn, data) tree dfs_walk_real (binfo, prefn, postfn, qfn, data) tree binfo; - tree (*prefn) PROTO((tree, void *)); - tree (*postfn) PROTO((tree, void *)); - tree (*qfn) PROTO((tree, void *)); + tree (*prefn) PARAMS ((tree, void *)); + tree (*postfn) PARAMS ((tree, void *)); + tree (*qfn) PARAMS ((tree, void *)); void *data; { int i; @@ -1822,8 +1822,8 @@ dfs_walk_real (binfo, prefn, postfn, qfn, data) tree dfs_walk (binfo, fn, qfn, data) tree binfo; - tree (*fn) PROTO((tree, void *)); - tree (*qfn) PROTO((tree, void *)); + tree (*fn) PARAMS ((tree, void *)); + tree (*qfn) PARAMS ((tree, void *)); void *data; { return dfs_walk_real (binfo, 0, fn, qfn, data); diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 41928ba21ab..d85a710f25a 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -45,9 +45,9 @@ parsing into this file; that will make implementing the new parser much easier since it will be able to make use of these routines. */ -static tree expand_cond PROTO((tree)); -static tree maybe_convert_cond PROTO((tree)); -static tree simplify_aggr_init_exprs_r PROTO((tree *, int *, void *)); +static tree expand_cond PARAMS ((tree)); +static tree maybe_convert_cond PARAMS ((tree)); +static tree simplify_aggr_init_exprs_r PARAMS ((tree *, int *, void *)); /* Record the fact that STMT was the last statement added to the statement tree. */ diff --git a/gcc/cp/spew.c b/gcc/cp/spew.c index 76f2253814d..8d95be650bd 100644 --- a/gcc/cp/spew.c +++ b/gcc/cp/spew.c @@ -1,5 +1,5 @@ /* Type Analyzer for GNU C++. - Copyright (C) 1987, 89, 92-97, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1987, 89, 92-97, 98, 99, 2000 Free Software Foundation, Inc. Hacked... nay, bludgeoned... by Mark Eichin (eichin@cygnus.com) This file is part of GNU CC. @@ -46,15 +46,15 @@ struct token { YYSTYPE yylval; }; -static int do_aggr PROTO((void)); -static void scan_tokens PROTO((unsigned int)); +static int do_aggr PARAMS ((void)); +static void scan_tokens PARAMS ((unsigned int)); #ifdef SPEW_DEBUG -static int num_tokens PROTO((void)); -static struct token *nth_token PROTO((int)); -static void add_token PROTO((struct token *)); -static void consume_token PROTO((void)); -static int debug_yychar PROTO((int)); +static int num_tokens PARAMS ((void)); +static struct token *nth_token PARAMS ((int)); +static void add_token PARAMS ((struct token *)); +static void consume_token PARAMS ((void)); +static int debug_yychar PARAMS ((int)); #endif /* From lex.c: */ diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 4a47ba8bf96..392ea547f2c 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -31,21 +31,21 @@ Boston, MA 02111-1307, USA. */ #include "insn-config.h" #include "integrate.h" -static tree bot_manip PROTO((tree *, int *, void *)); -static tree bot_replace PROTO((tree *, int *, void *)); -static tree build_cplus_array_type_1 PROTO((tree, tree)); -static void list_hash_add PROTO((int, tree)); -static int list_hash PROTO((tree, tree, tree)); -static tree list_hash_lookup PROTO((int, tree, tree, tree)); -static cp_lvalue_kind lvalue_p_1 PROTO((tree, int)); -static tree no_linkage_helper PROTO((tree *, int *, void *)); -static tree build_srcloc PROTO((char *, int)); -static void mark_list_hash PROTO ((void *)); -static int statement_code_p PROTO((enum tree_code)); -static tree mark_local_for_remap_r PROTO((tree *, int *, void *)); -static tree cp_unsave_r PROTO ((tree *, int *, void *)); -static void cp_unsave PROTO((tree *)); -static tree build_target_expr PROTO((tree, tree)); +static tree bot_manip PARAMS ((tree *, int *, void *)); +static tree bot_replace PARAMS ((tree *, int *, void *)); +static tree build_cplus_array_type_1 PARAMS ((tree, tree)); +static void list_hash_add PARAMS ((int, tree)); +static int list_hash PARAMS ((tree, tree, tree)); +static tree list_hash_lookup PARAMS ((int, tree, tree, tree)); +static cp_lvalue_kind lvalue_p_1 PARAMS ((tree, int)); +static tree no_linkage_helper PARAMS ((tree *, int *, void *)); +static tree build_srcloc PARAMS ((char *, int)); +static void mark_list_hash PARAMS ((void *)); +static int statement_code_p PARAMS ((enum tree_code)); +static tree mark_local_for_remap_r PARAMS ((tree *, int *, void *)); +static tree cp_unsave_r PARAMS ((tree *, int *, void *)); +static void cp_unsave PARAMS ((tree *)); +static tree build_target_expr PARAMS ((tree, tree)); /* If REF is an lvalue, returns the kind of lvalue that REF is. Otherwise, returns clk_none. If TREAT_CLASS_RVALUES_AS_LVALUES is @@ -1630,7 +1630,7 @@ break_out_target_exprs (t) current line number. */ tree -build_min_nt VPROTO((enum tree_code code, ...)) +build_min_nt VPARAMS ((enum tree_code code, ...)) { #ifndef ANSI_PROTOTYPES enum tree_code code; @@ -1664,7 +1664,7 @@ build_min_nt VPROTO((enum tree_code code, ...)) line-number. */ tree -build_min VPROTO((enum tree_code code, tree tt, ...)) +build_min VPARAMS ((enum tree_code code, tree tt, ...)) { #ifndef ANSI_PROTOTYPES enum tree_code code; diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 04feacfa31b..c9c10854fb5 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -41,31 +41,31 @@ Boston, MA 02111-1307, USA. */ #include "toplev.h" #include "defaults.h" -static tree convert_for_assignment PROTO((tree, tree, const char *, tree, +static tree convert_for_assignment PARAMS ((tree, tree, const char *, tree, int)); -static tree pointer_int_sum PROTO((enum tree_code, tree, tree)); -static tree rationalize_conditional_expr PROTO((enum tree_code, tree)); -static int comp_target_parms PROTO((tree, tree, int)); -static int comp_ptr_ttypes_real PROTO((tree, tree, int)); -static int comp_ptr_ttypes_const PROTO((tree, tree)); -static int comp_ptr_ttypes_reinterpret PROTO((tree, tree)); -static int comp_except_types PROTO((tree, tree, int)); -static int comp_array_types PROTO((int (*) (tree, tree, int), tree, +static tree pointer_int_sum PARAMS ((enum tree_code, tree, tree)); +static tree rationalize_conditional_expr PARAMS ((enum tree_code, tree)); +static int comp_target_parms PARAMS ((tree, tree, int)); +static int comp_ptr_ttypes_real PARAMS ((tree, tree, int)); +static int comp_ptr_ttypes_const PARAMS ((tree, tree)); +static int comp_ptr_ttypes_reinterpret PARAMS ((tree, tree)); +static int comp_except_types PARAMS ((tree, tree, int)); +static int comp_array_types PARAMS ((int (*) (tree, tree, int), tree, tree, int)); -static tree common_base_type PROTO((tree, tree)); +static tree common_base_type PARAMS ((tree, tree)); #if 0 -static tree convert_sequence PROTO((tree, tree)); +static tree convert_sequence PARAMS ((tree, tree)); #endif -static tree lookup_anon_field PROTO((tree, tree)); -static tree pointer_diff PROTO((tree, tree, tree)); -static tree build_component_addr PROTO((tree, tree)); -static tree qualify_type PROTO((tree, tree)); -static tree get_delta_difference PROTO((tree, tree, int)); -static int comp_cv_target_types PROTO((tree, tree, int)); -static void casts_away_constness_r PROTO((tree *, tree *)); -static int casts_away_constness PROTO ((tree, tree)); -static void maybe_warn_about_returning_address_of_local PROTO ((tree)); -static tree strip_all_pointer_quals PROTO ((tree)); +static tree lookup_anon_field PARAMS ((tree, tree)); +static tree pointer_diff PARAMS ((tree, tree, tree)); +static tree build_component_addr PARAMS ((tree, tree)); +static tree qualify_type PARAMS ((tree, tree)); +static tree get_delta_difference PARAMS ((tree, tree, int)); +static int comp_cv_target_types PARAMS ((tree, tree, int)); +static void casts_away_constness_r PARAMS ((tree *, tree *)); +static int casts_away_constness PARAMS ((tree, tree)); +static void maybe_warn_about_returning_address_of_local PARAMS ((tree)); +static tree strip_all_pointer_quals PARAMS ((tree)); /* Return the target type of TYPE, which means return T for: T*, T&, T[], T (...), and otherwise, just T. */ @@ -857,7 +857,7 @@ comp_except_specs (t1, t2, exact) static int comp_array_types (cmp, t1, t2, strict) - register int (*cmp) PROTO((tree, tree, int)); + register int (*cmp) PARAMS ((tree, tree, int)); tree t1, t2; int strict; { diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c index ced32f8192f..f49398b84a4 100644 --- a/gcc/cp/typeck2.c +++ b/gcc/cp/typeck2.c @@ -1,6 +1,6 @@ /* Report error messages, build initializers, and perform some front-end optimizations for C++ compiler. - Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 89, 92-98, 99, 2000 Free Software Foundation, Inc. Hacked by Michael Tiemann (tiemann@cygnus.com) This file is part of GNU CC. @@ -38,8 +38,8 @@ Boston, MA 02111-1307, USA. */ #include "toplev.h" #include "output.h" -static tree process_init_constructor PROTO((tree, tree, tree *)); -static void ack PVPROTO ((const char *, ...)) ATTRIBUTE_PRINTF_1; +static tree process_init_constructor PARAMS ((tree, tree, tree *)); +static void ack PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; /* Print an error message stemming from an attempt to use BASETYPE as a base class for TYPE. */ @@ -83,7 +83,7 @@ readonly_error (arg, string, soft) int soft; { const char *fmt; - void (*fn) PVPROTO ((const char *, ...)); + void (*fn) PARAMS ((const char *, ...)); if (soft) fn = cp_pedwarn; @@ -248,7 +248,7 @@ retry: /* Like error(), but don't call report_error_function(). */ static void -ack VPROTO ((const char *msg, ...)) +ack VPARAMS ((const char *msg, ...)) { #ifndef ANSI_PROTOTYPES const char *msg; diff --git a/gcc/cp/xref.c b/gcc/cp/xref.c index 94b757b5c8f..22a4ab859f3 100644 --- a/gcc/cp/xref.c +++ b/gcc/cp/xref.c @@ -1,5 +1,5 @@ /* Code for handling XREF output from GNU C++. - Copyright (C) 1992, 93-97, 1998 Free Software Foundation, Inc. + Copyright (C) 1992, 93-97, 1998, 2000 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@cygnus.com) This file is part of GNU CC. @@ -117,15 +117,15 @@ static tree last_fndecl = NULL; /* Forward definitions */ /* */ /************************************************************************/ -static void gen_assign PROTO((XREF_FILE, tree)); -static XREF_FILE find_file PROTO((const char *)); -static const char * filename PROTO((XREF_FILE)); -static const char * fctname PROTO((tree)); -static const char * declname PROTO((tree)); -static void simplify_type PROTO((char *)); -static const char * fixname PROTO((const char *, char *)); -static void open_xref_file PROTO((const char *)); -static const char * classname PROTO((tree)); +static void gen_assign PARAMS ((XREF_FILE, tree)); +static XREF_FILE find_file PARAMS ((const char *)); +static const char * filename PARAMS ((XREF_FILE)); +static const char * fctname PARAMS ((tree)); +static const char * declname PARAMS ((tree)); +static void simplify_type PARAMS ((char *)); +static const char * fixname PARAMS ((const char *, char *)); +static void open_xref_file PARAMS ((const char *)); +static const char * classname PARAMS ((tree)); /* Start cross referencing. FILE is the name of the file we xref. */ |