mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-11 13:01:20 +08:00
[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
This commit is contained in:
parent
11d09c08aa
commit
8a21007c94
@ -1,3 +1,7 @@
|
||||
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. */
|
||||
|
@ -1,3 +1,8 @@
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user