diff --git a/include/ChangeLog b/include/ChangeLog
index e441ba9381498eb4178e1ad9c05e48436053c9d4..a7384878beff2b1bd43119bfbb36d725361b71e6 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,9 @@
+2001-05-07  Zack Weinberg  <zackw@stanford.edu>
+
+	* demangle.h: Use PARAMS for all prototypes.
+	* ternary.h: Use PARAMS for all prototypes.  Use PTR, not void *.
+	Make arguments constant where possible.
+
 2001-05-07  Mark Mitchell  <mark@codesourcery.com>
 
 	* splay-tree.h (splay_tree_max): New function.
diff --git a/include/demangle.h b/include/demangle.h
index 96f60d7288600543fbf3aefe4539f1af8eafae51..dc1e1f107440a9b55e6170cb3b3819f246b457e0 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -139,7 +139,8 @@ enum gnu_v3_ctor_kinds {
    in the G++ V3 ABI demangling style.  Specifically, return an `enum
    gnu_v3_ctor_kinds' value indicating what kind of constructor
    it is.  */
-extern enum gnu_v3_ctor_kinds is_gnu_v3_mangled_ctor (const char *name);
+extern enum gnu_v3_ctor_kinds
+	is_gnu_v3_mangled_ctor PARAMS ((const char *name));
 
 
 enum gnu_v3_dtor_kinds {
@@ -152,6 +153,7 @@ enum gnu_v3_dtor_kinds {
    in the G++ V3 ABI demangling style.  Specifically, return an `enum
    gnu_v3_dtor_kinds' value, indicating what kind of destructor
    it is.  */
-extern enum gnu_v3_dtor_kinds is_gnu_v3_mangled_dtor (const char *name);
+extern enum gnu_v3_dtor_kinds
+	is_gnu_v3_mangled_dtor PARAMS ((const char *name));
 
 #endif	/* DEMANGLE_H */
diff --git a/include/ternary.h b/include/ternary.h
index 2e0c828503050fb3f2e780956ec4d847d1115bf4..40d442e6223e5a12f90fda83c3e7d0f5a322e5ba 100644
--- a/include/ternary.h
+++ b/include/ternary.h
@@ -38,13 +38,14 @@ ternary_node;
    already there, and replace is 0.
    Otherwise, replaces if it it exists, inserts if it doesn't, and
    returns the data you passed in. */
-void *ternary_insert (ternary_tree *p, char *s, void *data, int replace);
+PTR ternary_insert PARAMS ((ternary_tree *p, const char *s,
+			    PTR data, int replace));
 
 /* Delete the ternary search tree rooted at P. 
    Does NOT delete the data you associated with the strings. */
-void ternary_cleanup (ternary_tree p);
+void ternary_cleanup PARAMS ((ternary_tree p));
 
 /* Search the ternary tree for string S, returning the data associated
    with it if found. */
-void *ternary_search (ternary_tree p, char *s);
+PTR ternary_search PARAMS ((const ternary_node *p, const char *s));
 #endif
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 9f635430edcb00b914dd280b00cba9bc668494ce..bf8f221d910f6c6eb8375f3c6e4e943be9c2593d 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,11 @@
+2001-05-07  Zack Weinberg  <zackw@stanford.edu>
+
+	* cp-demangle.c (demangle_v3_with_details,
+	is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor): Use K+R style
+	function definition.
+	* ternary.c: Use K+R style function definitions.  Use PTR, not
+	void *.  Make arguments constant where possible.
+
 2001-05-07  Mark Mitchell  <mark@codesourcery.com>
 
 	* splay-tree.h (splay_tree_max): New function.
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 8419eef34259093a916bdeb5bf0628a4f3a1456b..a6a2c1e9f1a56c6d74d67a3a4b1330e69bf57fb9 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -3819,7 +3819,8 @@ java_demangle_v3 (mangled)
    zero, indicating that some error occurred, or a demangling_t
    holding the results.  */
 static demangling_t
-demangle_v3_with_details (const char *name)
+demangle_v3_with_details (name)
+     const char *name;
 {
   demangling_t dm;
   status_t status;
@@ -3857,7 +3858,8 @@ demangle_v3_with_details (const char *name)
    - '2' if NAME is a base object constructor, or
    - '3' if NAME is a complete object allocating constructor.  */
 enum gnu_v3_ctor_kinds
-is_gnu_v3_mangled_ctor (const char *name)
+is_gnu_v3_mangled_ctor (name)
+     const char *name;
 {
   demangling_t dm = demangle_v3_with_details (name);
 
@@ -3878,7 +3880,8 @@ is_gnu_v3_mangled_ctor (const char *name)
    - '1' if NAME is a complete object destructor, or
    - '2' if NAME is a base object destructor.  */
 enum gnu_v3_dtor_kinds
-is_gnu_v3_mangled_dtor (const char *name)
+is_gnu_v3_mangled_dtor (name)
+     const char *name;
 {
   demangling_t dm = demangle_v3_with_details (name);
 
diff --git a/libiberty/ternary.c b/libiberty/ternary.c
index c5ef3a58b7638b00f7bec0cbf4d50e1f03e2836a..056d2cee11ee661d4e7bfc2e3def8ec5fe7f13ef 100644
--- a/libiberty/ternary.c
+++ b/libiberty/ternary.c
@@ -33,8 +33,12 @@
 /* Non-recursive so we don't waste stack space/time on large
    insertions. */
 
-void *
-ternary_insert (ternary_tree * root, char *s, void *data, int replace)
+PTR
+ternary_insert (root, s, data, replace)
+     ternary_tree *root;
+     const char *s;
+     PTR data;
+     int replace;
 {
   int diff;
   ternary_tree curr, *pcurr;
@@ -54,7 +58,7 @@ ternary_insert (ternary_tree * root, char *s, void *data, int replace)
 	    {
 	      if (replace)
 		curr->eqkid = (ternary_tree) data;
-	      return (void *) curr->eqkid;
+	      return (PTR) curr->eqkid;
 	    }
 	  pcurr = &(curr->eqkid);
 	}
@@ -94,7 +98,8 @@ ternary_insert (ternary_tree * root, char *s, void *data, int replace)
 
 /* Free the ternary search tree rooted at p. */
 void
-ternary_cleanup (ternary_tree p)
+ternary_cleanup (p)
+     ternary_tree p;
 {
   if (p)
     {
@@ -107,10 +112,12 @@ ternary_cleanup (ternary_tree p)
 }
 
 /* Non-recursive find of a string in the ternary tree */
-void *
-ternary_search (ternary_tree p, char *s)
+PTR
+ternary_search (p, s)
+     const ternary_node *p;
+     const char *s;
 {
-  ternary_tree curr;
+  const ternary_node *curr;
   int diff, spchar;
   spchar = *s;
   curr = p;
@@ -123,7 +130,7 @@ ternary_search (ternary_tree p, char *s)
       if (diff == 0)
 	{
 	  if (spchar == 0)
-	    return (void *) curr->eqkid;
+	    return (PTR) curr->eqkid;
 	  spchar = *++s;
 	  curr = curr->eqkid;
 	}
@@ -139,8 +146,10 @@ ternary_search (ternary_tree p, char *s)
 
 /* For those who care, the recursive version of the search. Useful if
    you want a starting point for pmsearch or nearsearch. */
-static void *
-ternary_recursivesearch (ternary_tree p, char *s)
+static PTR
+ternary_recursivesearch (p, s)
+     const ternary_node *p;
+     const char *s;
 {
   if (!p)
     return 0;
@@ -151,7 +160,7 @@ ternary_recursivesearch (ternary_tree p, char *s)
   else
     {
       if (*s == 0)
-	return (void *) p->eqkid;
+	return (PTR) p->eqkid;
       return ternary_recursivesearch (p->eqkid, ++s);
     }
 }