mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-08 13:17:27 +08:00
tree.h (BINFO_SIZE, [...]): New macros.
* tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros. * stor-layout.c (layout_record): Set it. * toplev.c (rest_of_compilation): Don't defer nested functions. From-SVN: r19781
This commit is contained in:
parent
92834d7d83
commit
bbc0e64172
@ -1,3 +1,12 @@
|
||||
Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
|
||||
* stor-layout.c (layout_record): Set it.
|
||||
|
||||
Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
|
||||
|
||||
* toplev.c (rest_of_compilation): Don't defer nested functions.
|
||||
|
||||
Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
|
||||
|
@ -549,6 +549,11 @@ layout_record (rec)
|
||||
TYPE_ALIGN (rec) = MAX (TYPE_ALIGN (rec), record_align);
|
||||
#endif
|
||||
|
||||
/* Record the un-rounded size in the binfo node. But first we check
|
||||
the size of TYPE_BINFO to make sure that BINFO_SIZE is available. */
|
||||
if (TYPE_BINFO (rec) && TREE_VEC_LENGTH (TYPE_BINFO (rec)) >= 6)
|
||||
TYPE_BINFO_SIZE (rec) = TYPE_SIZE (rec);
|
||||
|
||||
#ifdef ROUND_TYPE_SIZE
|
||||
TYPE_SIZE (rec) = ROUND_TYPE_SIZE (rec, TYPE_SIZE (rec), TYPE_ALIGN (rec));
|
||||
#else
|
||||
|
@ -3023,7 +3023,8 @@ rest_of_compilation (decl)
|
||||
for those functions that need to be output. Also defer those
|
||||
functions that we are supposed to defer. We cannot defer
|
||||
functions containing nested functions since the nested function
|
||||
data is in our non-saved obstack. */
|
||||
data is in our non-saved obstack. We cannot defer nested
|
||||
functions for the same reason. */
|
||||
|
||||
/* If this is a nested inline, remove ADDRESSOF now so we can
|
||||
finish compiling ourselves. Otherwise, wait until EOF.
|
||||
@ -3038,6 +3039,7 @@ rest_of_compilation (decl)
|
||||
}
|
||||
|
||||
if (! current_function_contains_functions
|
||||
&& ! decl_function_context (decl)
|
||||
&& (DECL_DEFER_OUTPUT (decl)
|
||||
|| (DECL_INLINE (decl)
|
||||
&& ((! TREE_PUBLIC (decl) && ! TREE_ADDRESSABLE (decl)
|
||||
|
@ -899,7 +899,8 @@ struct tree_type
|
||||
class pointer" for the given inheritance. */
|
||||
#define BINFO_VPTR_FIELD(NODE) TREE_VEC_ELT ((NODE), 5)
|
||||
|
||||
/* The size of a base class subobject of this type. */
|
||||
/* The size of a base class subobject of this type. Not all frontends
|
||||
currently allocate the space for this field. */
|
||||
#define BINFO_SIZE(NODE) TREE_VEC_ELT ((NODE), 6)
|
||||
#define TYPE_BINFO_SIZE(NODE) BINFO_SIZE (TYPE_BINFO (NODE))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user