class.c (get_vtable_name): Use a literal format string and VTABLE_NAME_PREFIX macro...
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Sat, 11 Dec 1999 19:02:10 +0000 (19:02 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Sat, 11 Dec 1999 19:02:10 +0000 (19:02 +0000)
* class.c (get_vtable_name): Use a literal format string and
VTABLE_NAME_PREFIX macro instead of VTABLE_NAME_FORMAT.
(prepare_fresh_vtable): Likewise.

* cp-tree.h (VTABLE_NAME_PREFIX): Define this instead of
VTABLE_NAME_FORMAT.

* decl.c (make_rtl_for_local_static): Remove unused variable `type'.

* init.c (build_vec_init): Initialize variable `try_body'.

* lex.c (yyerror): Don't call a variadic function with a
non-literal format string.

* optimize.c (optimize_function): Call memset, not bzero.

* pt.c (for_each_template_parm_r): Add static prototype.

From-SVN: r30868

gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/init.c
gcc/cp/lex.c
gcc/cp/optimize.c
gcc/cp/pt.c

index bde1126e3eb6a7bfc48dde4606bca578259c8841..640a164f7680f1241b0671b2105ae096fa260d38 100644 (file)
@@ -1,3 +1,23 @@
+1999-12-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * class.c (get_vtable_name): Use a literal format string and
+       VTABLE_NAME_PREFIX macro instead of VTABLE_NAME_FORMAT.
+       (prepare_fresh_vtable): Likewise.
+
+       * cp-tree.h (VTABLE_NAME_PREFIX): Define this instead of
+       VTABLE_NAME_FORMAT.
+
+       * decl.c (make_rtl_for_local_static): Remove unused variable `type'.
+
+       * init.c (build_vec_init): Initialize variable `try_body'.
+
+       * lex.c (yyerror): Don't call a variadic function with a
+       non-literal format string.
+
+       * optimize.c (optimize_function): Call memset, not bzero.
+
+       * pt.c (for_each_template_parm_r): Add static prototype.
+
 11999-12-09  Andreas Jaeger  <aj@suse.de>
 
        * except.c (expand_throw): Add static attribute to match
index a916123ed9b1df5719d13610852335d0e1bbd489..7d2965df6160d553af1e2a3c69f18de80b344f96 100644 (file)
@@ -583,7 +583,7 @@ get_vtable_name (type)
      tree type;
 {
   tree type_id = build_typename_overload (type);
-  char *buf = (char *) alloca (strlen (VTABLE_NAME_FORMAT)
+  char *buf = (char *) alloca (strlen (VTABLE_NAME_PREFIX)
                               + IDENTIFIER_LENGTH (type_id) + 2);
   const char *ptr = IDENTIFIER_POINTER (type_id);
   int i;
@@ -596,7 +596,7 @@ get_vtable_name (type)
   while (ptr[i] >= '0' && ptr[i] <= '9')
     i += 1;
 #endif
-  sprintf (buf, VTABLE_NAME_FORMAT, ptr+i);
+  sprintf (buf, "%s%s", VTABLE_NAME_PREFIX, ptr+i);
   return get_identifier (buf);
 }
 
@@ -796,8 +796,8 @@ prepare_fresh_vtable (binfo, for_type)
 
       sprintf (buf1, "%s%c%s", TYPE_ASSEMBLER_NAME_STRING (for_type), joiner,
               buf2);
-      buf = (char *) alloca (strlen (VTABLE_NAME_FORMAT) + strlen (buf1) + 1);
-      sprintf (buf, VTABLE_NAME_FORMAT, buf1);
+      buf = (char *) alloca (strlen (VTABLE_NAME_PREFIX) + strlen (buf1) + 1);
+      sprintf (buf, "%s%s", VTABLE_NAME_PREFIX, buf1);
       name = get_identifier (buf);
 
       /* If this name doesn't clash, then we can use it, otherwise
@@ -827,9 +827,9 @@ prepare_fresh_vtable (binfo, for_type)
            sprintf (buf1, "%s%c%s%c%d",
                     TYPE_ASSEMBLER_NAME_STRING (basetype), joiner,
                     buf2, joiner, j);
-           buf = (char *) alloca (strlen (VTABLE_NAME_FORMAT)
+           buf = (char *) alloca (strlen (VTABLE_NAME_PREFIX)
                                   + strlen (buf1) + 1);
-           sprintf (buf, VTABLE_NAME_FORMAT, buf1);
+           sprintf (buf, "%s%s", VTABLE_NAME_PREFIX, buf1);
            name = get_identifier (buf);
 
            /* If this name doesn't clash, then we can use it,
index 7410a821420d51723397f2758ec26f3735273879..90f652fae2550c2f1a65072a679af10191a25e06 100644 (file)
@@ -2922,7 +2922,7 @@ extern tree global_base_init_list;
 #define AUTO_TEMP_NAME "_$tmp_"
 #define AUTO_TEMP_FORMAT "_$tmp_%d"
 #define VTABLE_BASE "$vb"
-#define VTABLE_NAME_FORMAT (flag_vtable_thunks ? "__vt_%s" : "_vt$%s")
+#define VTABLE_NAME_PREFIX (flag_vtable_thunks ? "__vt_" : "_vt$")
 #define VFIELD_BASE "$vf"
 #define VFIELD_NAME "_vptr$"
 #define VFIELD_NAME_FORMAT "_vptr$%s"
@@ -2944,7 +2944,7 @@ extern tree global_base_init_list;
 #define AUTO_TEMP_NAME "_.tmp_"
 #define AUTO_TEMP_FORMAT "_.tmp_%d"
 #define VTABLE_BASE ".vb"
-#define VTABLE_NAME_FORMAT (flag_vtable_thunks ? "__vt_%s" : "_vt.%s")
+#define VTABLE_NAME_PREFIX (flag_vtable_thunks ? "__vt_" : "_vt.")
 #define VFIELD_BASE ".vf"
 #define VFIELD_NAME "_vptr."
 #define VFIELD_NAME_FORMAT "_vptr.%s"
@@ -2973,7 +2973,7 @@ extern tree global_base_init_list;
 #define AUTO_TEMP_FORMAT "__tmp_%d"
 #define VTABLE_BASE "__vtb"
 #define VTABLE_NAME "__vt_"
-#define VTABLE_NAME_FORMAT (flag_vtable_thunks ? "__vt_%s" : "_vt_%s")
+#define VTABLE_NAME_PREFIX (flag_vtable_thunks ? "__vt_" : "_vt_")
 #define VTABLE_NAME_P(ID_NODE) \
   (!strncmp (IDENTIFIER_POINTER (ID_NODE), VTABLE_NAME, \
             sizeof (VTABLE_NAME) - 1))
index b6a62ea48348bb396e93378bb3218f562fee502a..98498744ae5c3e05d230f9e97220da98de57fc1e 100644 (file)
@@ -7381,7 +7381,6 @@ void
 make_rtl_for_local_static (decl)
      tree decl;
 {
-  tree type = TREE_TYPE (decl);
   const char *asmspec = NULL;
 
   /* If we inlined this variable, we could see it's declaration
index b0be498950b0d953045aaa5135a9b2aa5967a284..e5b9d7848adac8038bb423c6c3b4fc78bc73b5ea 100644 (file)
@@ -2640,7 +2640,7 @@ build_vec_init (decl, base, maxindex, init, from_array)
   tree compound_stmt;
   int destroy_temps;
   tree try_block = NULL_TREE;
-  tree try_body;
+  tree try_body = NULL_TREE;
   int num_initialized_elts = 0;
 
   maxindex = cp_convert (ptrdiff_type_node, maxindex);
index 30292a6f6bb28c3ae1c096b603c5b9ed07e4d518..8d212ce97e4ce29b82b3ca65f737c400535fa718 100644 (file)
@@ -2936,29 +2936,26 @@ yyerror (string)
      const char *string;
 {
   extern int end_of_file;
-  char buf[200];
-
-  strcpy (buf, string);
 
   /* We can't print string and character constants well
      because the token_buffer contains the result of processing escapes.  */
   if (end_of_file)
-    strcat (buf, input_redirected ()
-           ? " at end of saved text"
-           : " at end of input");
+  {
+    if (input_redirected ())
+      error ("%s at end of saved text", string);
+    else
+      error ("%s at end of input", string);
+  }
   else if (token_buffer[0] == 0)
-    strcat (buf, " at null character");
+    error ("%s at null character", string);
   else if (token_buffer[0] == '"')
-    strcat (buf, " before string constant");
+    error ("%s before string constant", string);
   else if (token_buffer[0] == '\'')
-    strcat (buf, " before character constant");
+    error ("%s before character constant", string);
   else if (!ISGRAPH ((unsigned char)token_buffer[0]))
-    sprintf (buf + strlen (buf), " before character 0%o",
-            (unsigned char) token_buffer[0]);
+    error ("%s before character 0%o", string, (unsigned char) token_buffer[0]);
   else
-    strcat (buf, " before `%s'");
-
-  error (buf, token_buffer);
+    error ("%s before `%s'", string, token_buffer);
 }
 \f
 /* Value is 1 (or 2) if we should try to make the next identifier look like
index dbbda797bcc480ef57eb4c2af3f1451e5218f0e3..374e90b6e635c519cdff33c3769ac2b8c4fe3c87 100644 (file)
@@ -695,7 +695,7 @@ optimize_function (fn)
       struct saved_scope *s;
 
       /* Clear out ID.  */
-      bzero (&id, sizeof (id));
+      memset (&id, 0, sizeof (id));
 
       /* Don't allow recursion into FN.  */
       VARRAY_TREE_INIT (id.fns, 32, "fns");
index ed9e8485ff742309d7b42ad7556d55f6e4d66d33..522045685dd72d5f9206cc833084fe9e4178cee2 100644 (file)
@@ -157,6 +157,7 @@ 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 *));
 
 /* Called once to initialize pt.c.  */