class.c (get_vtable_name): Use a literal format string and VTABLE_NAME_PREFIX macro instead of...
* 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
This commit is contained in:
parent
509c1e9cf2
commit
486837a79c
8 changed files with 43 additions and 26 deletions
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
25
gcc/cp/lex.c
25
gcc/cp/lex.c
|
@ -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);
|
||||
}
|
||||
|
||||
/* Value is 1 (or 2) if we should try to make the next identifier look like
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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. */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue