* tree.c (avoid_overlap): Add prototype.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Apr 1998 08:05:26 +0000 (08:05 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Apr 1998 08:05:26 +0000 (08:05 +0000)
        * spew.c (num_tokens): Add prototype.
        (nth_noken, add_token, consume_token, debug_yychar): Likewise.
        * search.c (dfs_check_overlap): Add prototype.
        (dfs_no_overlap_yet): Likewise.
        * pt.c (original_template): Add prototype.
        (inline_needs_template_parms): Likewise.
        (push_inline_template_parms_recursive): Likewise.
        (retrieve_specialization, register_specialization): Likewise.
        (print_candidates, reduce_template_parm_level): Likewise.
        (build_template_decl, mark_template_parm): Likewise.
        (tsubst_friend_function, get_bindings_real): Likewise.
        * method.c (start_squangling): Add prototype.
        (end_squangling, check_ktype, issue_ktype): Likewise.
        (build_overloaded_scope_ref, check_btype): Likewise.
        (build_mangled_template_parm_index): Likewise.
        * lex.c (init_cpp_parse): Add prototype.
        (handle_cp_pragma, handle_sysv_pragma): Likewise.
        (reduce_cmp, token_cmp): Likewise.
        * except.c (call_eh_info): Add prototype.
        (push_eh_info, get_eh_info, get_eh_value, get_eh_type): Likewise.
        (get_eh_caught, get_eh_handlers, do_pop_exception): Likewise.
        * decl2.c (is_namespace_ancestor): Add prototype.
        (namespace_ancestor, add_using_namespace): Likewise.
        (ambiguous_decl): Likewise.
        * decl.c (indent): Add prototype.
        * call.c (add_template_candidate_real): Add prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19259 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/except.c
gcc/cp/lex.c
gcc/cp/method.c
gcc/cp/pt.c
gcc/cp/search.c
gcc/cp/spew.c
gcc/cp/tree.c

index 2ff3c13..ee4daf5 100644 (file)
@@ -1,3 +1,42 @@
+Fri Apr 17 08:57:35 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * tree.c (avoid_overlap): Add prototype.
+
+       * spew.c (num_tokens): Add prototype.
+       (nth_noken, add_token, consume_token, debug_yychar): Likewise.
+
+       * search.c (dfs_check_overlap): Add prototype.
+       (dfs_no_overlap_yet): Likewise.
+
+       * pt.c (original_template): Add prototype.
+       (inline_needs_template_parms): Likewise.
+       (push_inline_template_parms_recursive): Likewise.
+       (retrieve_specialization, register_specialization): Likewise.
+       (print_candidates, reduce_template_parm_level): Likewise.
+       (build_template_decl, mark_template_parm): Likewise.
+       (tsubst_friend_function, get_bindings_real): Likewise.
+
+       * method.c (start_squangling): Add prototype.
+       (end_squangling, check_ktype, issue_ktype): Likewise.
+       (build_overloaded_scope_ref, check_btype): Likewise.
+       (build_mangled_template_parm_index): Likewise.
+
+       * lex.c (init_cpp_parse): Add prototype.
+       (handle_cp_pragma, handle_sysv_pragma): Likewise.
+       (reduce_cmp, token_cmp): Likewise.
+
+       * except.c (call_eh_info): Add prototype.
+       (push_eh_info, get_eh_info, get_eh_value, get_eh_type): Likewise.
+       (get_eh_caught, get_eh_handlers, do_pop_exception): Likewise.
+
+       * decl2.c (is_namespace_ancestor): Add prototype.
+       (namespace_ancestor, add_using_namespace): Likewise.
+       (ambiguous_decl): Likewise.
+
+       * decl.c (indent): Add prototype.
+
+       * call.c (add_template_candidate_real): Add prototype.
+
 Fri Apr 17 01:57:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
        * decl2.c (build_expr_from_tree): Just return a PMF.
index 1c50b7e..46a5be0 100644 (file)
@@ -61,6 +61,8 @@ static struct z_candidate * splice_viable PROTO((struct z_candidate *));
 static int any_viable PROTO((struct z_candidate *));
 static struct z_candidate * add_template_candidate
        PROTO((struct z_candidate *, tree, tree, tree, tree, int));
+static struct z_candidate * add_template_candidate_real
+       PROTO((struct z_candidate *, tree, tree, tree, tree, int, tree));
 static struct z_candidate * add_template_conv_candidate 
         PROTO((struct z_candidate *, tree, tree, tree, tree));
 static struct z_candidate * add_builtin_candidates
index 8f5b90c..2a966a2 100644 (file)
@@ -171,6 +171,10 @@ static int member_function_or_else PROTO((tree, tree, char *));
 static void bad_specifiers PROTO((tree, char *, int, int, int, int,
                                  int));
 
+#if defined (DEBUG_CP_BINDING_LEVELS)
+static void indent PROTO((void));
+#endif
+
 /* a node which has tree code ERROR_MARK, and whose type is itself.
    All erroneous expressions are replaced with this node.  All functions
    that accept nodes as arguments should avoid generating error messages
index 5ab2f98..42e0e21 100644 (file)
@@ -47,6 +47,10 @@ static void grok_function_init PROTO((tree, tree));
 static int finish_vtable_vardecl PROTO((tree, tree));
 static int prune_vtable_vardecl PROTO((tree, tree));
 static void finish_sigtable_vardecl PROTO((tree, tree));
+static int is_namespace_ancestor PROTO((tree, tree));
+static tree namespace_ancestor PROTO((tree, tree));
+static void add_using_namespace PROTO((tree, tree, int));
+static tree ambiguous_decl PROTO((int, tree, tree));
 
 extern int current_class_depth;
 
index 63593ee..0a6bb33 100644 (file)
@@ -47,6 +47,14 @@ static rtx do_function_call PROTO((tree, tree, tree));
 static tree build_eh_type_type PROTO((tree));
 static tree build_eh_type PROTO((tree));
 static void expand_end_eh_spec 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 tree get_eh_type PROTO((void));
+static tree get_eh_caught PROTO((void));
+static tree get_eh_handlers PROTO((void));
+static tree do_pop_exception PROTO((void));
 
 #if 0
 /* This is the startup, and finish stuff per exception table.  */
index 76bf527..93a2891 100644 (file)
@@ -87,6 +87,17 @@ static void feed_defarg PROTO((tree, tree));
 static int set_vardecl_interface_info 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 int handle_cp_pragma PROTO((char *));
+#ifdef HANDLE_SYSV_PRAGMA
+static int handle_sysv_pragma PROTO((FILE *, int));
+#endif
+#ifdef GATHER_STATISTICS
+#ifdef REDUCE_LENGTH
+static int reduce_cmp PROTO((int *, int *));
+static int token_cmp PROTO((int *, int *));
+#endif
+#endif
 
 /* Given a file name X, return the nondirectory portion.
    Keep in mind that X can be computed more than once.  */
index 6e20848..139086b 100644 (file)
@@ -75,6 +75,13 @@ static tree build_decl_overload_real PROTO((tree, tree, tree, 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_sqangling PROTO((void));
+static void end_sqangling PROTO((void));
+static int check_ktype PROTO((tree, int));
+static int issue_ktype PROTO((tree));
+static void build_overloaded_scope_ref PROTO((tree));
+static void build_mangled_template_parm_index PROTO((char *, tree));
+static int check_btype PROTO((tree));
 
 # define OB_INIT() (scratch_firstobj ? (obstack_free (&scratch_obstack, scratch_firstobj), 0) : 0)
 # define OB_PUTC(C) (obstack_1grow (&scratch_obstack, (C)))
index 6fce6bb..7a8365c 100644 (file)
@@ -90,6 +90,17 @@ static tree convert_nontype_argument PROTO((tree, 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 tree original_template PROTO((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 void register_specialization PROTO((tree, tree, tree));
+static void print_candidates PROTO((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 get_bindings_real PROTO((tree, tree, tree, int));
 
 /* Do any processing required when DECL (a member template declaration
    using TEMPLATE_PARAMETERS as its innermost parameter list) is
index 4438372..820dbf1 100644 (file)
@@ -90,6 +90,8 @@ static tree virtual_context PROTO((tree, tree, tree));
 static tree get_template_base_recursive
        PROTO((tree, tree, tree, int));
 static void dfs_walk PROTO((tree, void (*) (tree), int (*) (tree)));
+static void dfs_check_overlap PROTO((tree));
+static int dfs_no_overlap_yet PROTO((tree));
 static void envelope_add_decl PROTO((tree, tree, tree *));
 static int get_base_distance_recursive
        PROTO((tree, int, int, int, int *, tree *, tree, tree *,
index ceee4e6..a13f659 100644 (file)
@@ -49,6 +49,14 @@ static int do_aggr PROTO((void));
 static int probe_obstack PROTO((struct obstack *, tree, unsigned int));
 static void scan_tokens PROTO((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));
+#endif
+
 /* From lex.c: */
 /* the declaration found for the last IDENTIFIER token read in.
    yylex must look this up to detect typedefs, which get token type TYPENAME,
index 8d694c2..de3906c 100644 (file)
@@ -44,6 +44,7 @@ static tree list_hash_lookup PROTO((int, int, int, int, tree, tree,
                                    tree));
 static void propagate_binfo_offsets PROTO((tree, tree));
 static void unshare_base_binfos PROTO((tree));
+static int avoid_overlap PROTO((tree, tree));
 
 #define CEIL(x,y) (((x) + (y) - 1) / (y))