+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.
#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.
{
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;