call.c: PROTO -> PARAMS.

* 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.

From-SVN: r31632
This commit is contained in:
Kaveh R. Ghazi 2000-01-26 20:51:37 +00:00 committed by Kaveh Ghazi
parent 5c5c34a4cb
commit 158991b7e5
31 changed files with 1492 additions and 1456 deletions

View file

@ -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.

View file

@ -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_new_method_call PARAMS ((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_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)

View file

@ -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. */

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -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;

View file

@ -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. */

View file

@ -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. */

View file

@ -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. */

View file

@ -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;

View file

@ -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 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 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 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

View file

@ -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. */

View file

@ -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

View file

@ -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. */

View file

@ -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 ()

View file

@ -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));
extern void yyprint PARAMS ((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 *));
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;

View file

@ -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;

View file

@ -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)))

View file

@ -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 *'. */

View file

@ -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)

View file

@ -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)

View file

@ -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. */

View file

@ -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;

View file

@ -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 ()

View file

@ -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);

View file

@ -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. */

View file

@ -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: */

View file

@ -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;

View file

@ -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;
{

View file

@ -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;

View file

@ -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. */