aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-04-17 08:05:26 +0000
committerJeff Law <law@gcc.gnu.org>1998-04-17 02:05:26 -0600
commit69ac77ce5ebf654d078ebe323b04fca7b17ea8c8 (patch)
tree242c086714efaf4cb88e8025086ae7529f675fa2
parent45bb86fdcf913a6b3a1964f84a98b78d0f14cae1 (diff)
downloadgcc-69ac77ce5ebf654d078ebe323b04fca7b17ea8c8.zip
gcc-69ac77ce5ebf654d078ebe323b04fca7b17ea8c8.tar.gz
gcc-69ac77ce5ebf654d078ebe323b04fca7b17ea8c8.tar.bz2
tree.c (avoid_overlap): Add prototype.
* 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. From-SVN: r19259
-rw-r--r--gcc/cp/ChangeLog39
-rw-r--r--gcc/cp/call.c2
-rw-r--r--gcc/cp/decl.c4
-rw-r--r--gcc/cp/decl2.c4
-rw-r--r--gcc/cp/except.c8
-rw-r--r--gcc/cp/lex.c11
-rw-r--r--gcc/cp/method.c7
-rw-r--r--gcc/cp/pt.c11
-rw-r--r--gcc/cp/search.c2
-rw-r--r--gcc/cp/spew.c8
-rw-r--r--gcc/cp/tree.c1
11 files changed, 97 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 2ff3c13..ee4daf5 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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.
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 1c50b7e..46a5be0 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -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
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 8f5b90c..2a966a2 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -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
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 5ab2f98..42e0e21 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -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;
diff --git a/gcc/cp/except.c b/gcc/cp/except.c
index 63593ee..0a6bb33 100644
--- a/gcc/cp/except.c
+++ b/gcc/cp/except.c
@@ -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. */
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 76bf527..93a2891 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -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. */
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 6e20848..139086b 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -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)))
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 6fce6bb..7a8365c 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -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
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 4438372..820dbf1 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -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 *,
diff --git a/gcc/cp/spew.c b/gcc/cp/spew.c
index ceee4e6..a13f659 100644
--- a/gcc/cp/spew.c
+++ b/gcc/cp/spew.c
@@ -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,
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 8d694c2..de3906c 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -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))