* com.c (ffecom_init_0): Make double_ftype_double,
float_ftype_float, ldouble_ftype_ldouble,
ffecom_tree_ptr_to_fun_type_void local.
(tracker_head): New static variable.
(mark_tracker_head): New, marker procedure for tracker_head.
(ffecom_save_tree_forever): New procedure.
(ffecom_init_zero_): Remove obstack use.
(ffecom_make_gfrt_): Remove obstack use.
(ffecom_sym_transform_): Remove obstack use, save appropriate trees.
(ffecom_transform_common_): Remove obstack use, save appropriate
trees.
(ffecom_type_namelist_): Remove obstack use, save appropriate
trees.
(ffecom_type_vardesc_): Remove obstack use, save appropriate trees.
(ffecom_lookup_label): Remove obstack use, save appropriate trees.
(duplicate_decls): Remove obstack use.
(finish_function): push & pop ggc context around
rest_of_compilation when building nested function.
(mark_binding_level): New function.
(init_decl_processing): Mark all the GC roots.
(ggc_p): Set to 1.
(lang_mark_tree): New function.
(lang_mark_false_label_stack): New trivial function.
* com.h (ffecom_save_tree_forever): Declare as external.
* lex.c (ffelex_hash_): Use GC to allocate the filename string
even when ffelex_kludge_flag_.
* ste.c (ffeste_io_ialist_): Register a static root.
(ffeste_io_inlist_): Likewise.
(ffeste_io_icilist_): Likewise.
(ffeste_io_cllist_): Likewise.
(ffeste_io_cilist_): Likewise.
(ffeste_io_olist_): Likewise.
* Makefile.in (OBJS): Don't use ggc-callbacks.o.
(OBJDEPS): Likewise.
(GGC_H): New variable.
Update dependencies.
* where.c (ffewhere_head): New global.
(mark_ffewhere_head): New marker procedure for ffewhere_head.
(ffewhere_file_kill): Use GC to do memory management.
(ffewhere_file_new): Use GC to do memory management.
* ggc.j: New file.
From-SVN: r31142
1999-12-30 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
* dwarfout.c: Include "frame.h"
* dwarf2out.c: Likewise.
* Makefile.in (dwarfout.o): Depend on frame.h
(dwarf2out.o): Likewise.
From-SVN: r31131
* config/i386/i386.h (DWARF_FRAME_REGISTERS): Define as 17, the old
value of FIRST_PSEUDO_REGISTER.
* frame.h (DWARF_FRAME_REGISTERS): Default to FIRST_PSEUDO_REGISTER.
(struct frame_state): Use DWARF_FRAME_REGISTERS.
* dwarfout.c (output_reg_number): Ditto.
* dwarf2out.c (reg_number, expand_builtin_init_dwarf_reg_sizes): Ditto.
(DWARF_FRAME_RETURN_COLUMN): Default to DWARF_FRAME_REGISTERS.
From-SVN: r31127
* crtstuff.c: If !inhibit_libc, include stdlib.h/unistd.h.
Otherwise provide a declaration for atexit.
(init_dummy): Make sure dummy call to atexit is nevertheless
called with correct number of args.
* frame.c: Update comments referring to other files.
* libgcc2.c: Likewise.
From-SVN: r31124
* class.c (create_vtable_ptr): Put the vtable at the beginning of
the class, not the end, in the new ABI.
* tree.c (propagate_binfo_offsets): Do the right thing for the new
ABI.
From-SVN: r31120
* cp-tree.h (do_inline_function_hair): Remove.
* class.c (layout_class_type): New function, split out from
finish_struct_1.
(fixup_pending_inline): Likewise.
(fixup_inline_methods): New function.
* method.c (fixup_pending_inline): Remove.
(do_inline_function_hair): Likewise.
* decl.c (BOOL_TYPE_SIZE): Bools always have size `1' under the
new ABI.
From-SVN: r31115
* system.h (strsignal): Don't check HAVE_STRSIGNAL when
determining whether to provide a prototype. Remove the
sys_siglist clause in the conditional.
From-SVN: r31100
* config/h8300/h8300.h (TARGET_H8300H, TARGET_H8300S): Make sure
UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
compiling libgcc2.
* config/mips/mips.h (TARGET_64BIT): Likewise.
* config/rs6000/rs6000.h (TARGET_POWERPC64): Likewise.
* libgcc2.c: Use {,U}{HW,W,DW}type and DWunion everywhere instead
of {SI,DI}type and DIunion. Define these types to QI/HI modes on
dsps. Give routines proper names if SI/DI modes are not used.
* longlong.h: Use DWunion instead of DIunion.
From-SVN: r31095
* decl.c (store_return_init): Use mode of old RTL generated for
DECL_RESULT, not the mode of DECL_RESULT itself.
* semantics.c (finish_named_return_value): Set DECL_UNINLINABLE
for functions that used named return values.
From-SVN: r31092
* toplev.h (note_deferall_of_defined_inline_function): Declare.
* toplev.c (note_deferral_of_defined_inline_function): New
function, split out from ...
(rest_of_compilation): ... here. Use it.
* semantics.c (expand_body): Use
note_deferral_of_defined_inline_function.
From-SVN: r31088