Commit 8a21007c by Andrew MacLeod Committed by Andrew Macleod

[multiple changes]

Tue Sep 15 13:53:59 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
	* config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
1998-09-15  Andrew MacLeod  <amacleod@cygnus.com>
	* cp/search.c (expand_indirect_vtbls_init): Mark temporary stack slots
	as used to prevent conflicts with virtual function tables.

From-SVN: r22424
parent 11d09c08
Tue Sep 15 13:53:59 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
* config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
Tue Sep 15 09:59:01 1998 Mark Mitchell <mark@markmitchell.com>
* integrate.c (copy_decl_list): Fix typo.
......
......@@ -1109,9 +1109,10 @@ extern struct rtx_def *legitimize_address ();
#define LOAD_EXTEND_OP(MODE) ZERO_EXTEND
/* Nonzero if access to memory by bytes is no faster than for words.
Defining this results in worse code on the i960. */
Value changed to 1 after reports of poor bitfield code with g++.
Indications are that code is usually as good, sometimes better. */
#define SLOW_BYTE_ACCESS 0
#define SLOW_BYTE_ACCESS 1
/* We assume that the store-condition-codes instructions store 0 for false
and some other value for true. This is the value stored for true. */
......
1998-09-15 Andrew MacLeod <amacleod@cygnus.com>
* search.c (expand_indirect_vtbls_init): Mark temporary stack slots
as used to prevent conflicts with virtual function tables.
1998-09-14 Mark Mitchell <mark@markmitchell.com>
* pt.c (check_specialization_scope): Fix spelling error.
......
......@@ -2657,6 +2657,17 @@ expand_indirect_vtbls_init (binfo, true_exp, decl_ptr)
{
tree type = BINFO_TYPE (binfo);
/* This function executes during the finish_function() segment,
AFTER the auto variables and temporary stack space has been marked
unused...If space is needed for the virtual function tables,
some of them might fit within what the compiler now thinks
are available stack slots... These values are actually initialized at
the beginnning of the function, so when the automatics use their space,
they will overwrite the values that are placed here. Marking all
temporary space as unavailable prevents this from happening. */
mark_all_temps_used();
if (TYPE_USES_VIRTUAL_BASECLASSES (type))
{
rtx fixup_insns = NULL_RTX;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment