Commit Graph

23792 Commits

Author SHA1 Message Date
Mark Mitchell
37b31aefeb ggc.h (ggc_alloc): New function.
* ggc.h (ggc_alloc): New function.
	(ggc_mark): Likewise.
	* ggc-simple.c (ggc_any): New structure.
	(ggc_status): Add anys.
	(n_anys_collected): New variable.
	(ggc_alloc): Define.
	(ggc_mark): Likewise.
	(ggc_collect): Collect the anys.

From-SVN: r29222
1999-09-09 03:26:58 +00:00
Mark Mitchell
fc0e7bf5d1 cp-tree.h (saved_scope): Remove old_binding_level and function_decl.
* cp-tree.h (saved_scope): Remove old_binding_level and
	function_decl.  Tidy up.
	* decl.c (mark_saved_scope): Don't set them.
	(maybe_push_to_top_level): Clear memory.

From-SVN: r29221
1999-09-09 01:47:02 +00:00
Mark Mitchell
c82dbd9588 decl.c (layout_var_decl): Change prototype.
* decl.c (layout_var_decl): Change prototype.  Don't complete
	types for external objects.
	(check_initializer): Likewise.  Tidy.
	(initialize_local_var): Complete types here.
	(cp_finish_decl): Not here.  Reorganize a little.
	(grokvardecl): Don't complete types here.

From-SVN: r29220
1999-09-09 00:29:22 +00:00
Kaveh R. Ghazi
dbec3d5b8f * c-decl.c (mark_binding_level): Make static to match prototype.
From-SVN: r29219
1999-09-09 00:22:07 +00:00
Kaveh R. Ghazi
33c5ddcd3e * xmemdup.c: Include sys/types.h.
From-SVN: r29218
1999-09-09 00:11:39 +00:00
Richard Henderson
9831d64062 * flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
From-SVN: r29217
1999-09-08 16:42:18 -07:00
Richard Henderson
b6b4c6c6f9 gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC will use into account.
* gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC
        will use into account.  Expand the max width to 5.
        * rtl.c: Likewise.

From-SVN: r29216
1999-09-08 16:09:38 -07:00
Richard Henderson
38792a9487 ggc-simple.c (ggc_free_rtx): Poison the correct amount for the rtx length.
* ggc-simple.c (ggc_free_rtx): Poison the correct amount
        for the rtx length.

From-SVN: r29215
1999-09-08 16:02:12 -07:00
Richard Henderson
3d46d5af21 * alpha.md (call value patterns): Remove the result predicates.
From-SVN: r29214
1999-09-08 15:24:45 -07:00
Mark Mitchell
be91309cda decl.c (start_function): Clear last_dtor_insn and last_parm_cleanup_insn.
* decl.c (start_function): Clear last_dtor_insn and
	last_parm_cleanup_insn.
	(push_cp_function_context): Just copy over a little of
	the old context, not all of it.

From-SVN: r29213
1999-09-08 20:53:47 +00:00
Richard Henderson
2e769ad05c Makefile.in (stmp-fixinc): Remove extraneous exit 1 from last change.
* Makefile.in (stmp-fixinc): Remove extraneous exit 1 from
        last change.

From-SVN: r29212
1999-09-08 13:37:56 -07:00
Mark Mitchell
2a1e9fdd03 cp-tree.h (copy_to_permanent): Remove.
* cp-tree.h (copy_to_permanent): Remove.
	(permanent_p): Likewise.
	* decl.c (building_typename_type): Don't use copy_to_permanent.
	(start_decl): Likewise.
	(grok_reference_init): Likewise.
	(cp_finish_decl): Likewise.
	* init.c (build_new_1): Don't use mapcar.
	(build_vec_delete_1): Don't use copy_to_permanent.
	(build_vec_init): Likewise.
	* parse.y (primary): Likewise.
	* parse.c: Regenerated.
	* pt.c (push_template_decl_real): Don't use copy_to_permanent.
	(lookup_template_class): Likewise.
	(tsubst_friend_function): Likewise.
	(instantiate_class_template): Likewise.
	(tsubst_decl): Likewise.
	(tsubst): Likewise.
	(instantiate_template): Likewise.
	(unify): Likewise.
	* rtti.c (get_tinfo_fn): Likewise.
	(build_dynamic_cast): Likewise.
	* semantics.c (finish_if_stmt_cond): Likewise.
	(finish_while_stmt_cond): Likewise.
	(finish_do_stmt): Likewise.
	(finish_for_cond): Likewise.
	(finish_for_expr): Likewise.
	(finish_cleanup): Likewise.
	(add_decl_stmt): Likewise.
	(finish_named_return_value): Likewise.
	(finish_qualified_call_expr): Likewise.
	* tree.c (perm_manip): Remove.
	(build_exception_variant): Don't use copy_to_permanent.
	(permanent_p): Remove.
	(copy_to_permament): Remove.
	(build_min_nt): Don't use copy_to_permanent.
	(build_min): Likewise.
	(min_tree_cons): Likewise.
	* typeckc.c (build_static_cast): Likewise.
	(build_reinterpret_cast): Likewise.
	(build_const_cast): Likewise.

From-SVN: r29211
1999-09-08 20:12:35 +00:00
Kaveh R. Ghazi
ce3700e3ba system.h (sbrk, [...]): Backup prototypes changed from extern char *, to extern PTR.
* system.h (sbrk, malloc, calloc, realloc): Backup prototypes
	changed from extern char *, to extern PTR.  Also fix typo in
	NEED_DECLARATION_REALLOC test.

	* mips-tdump.c (malloc, calloc, realloc): Don't prototype.

From-SVN: r29210
1999-09-08 19:42:01 +00:00
Tom Tromey
c45a8466e6 posix-threads.h (_Jv_PthreadCheckMonitor): Reverted previous change and implemented a correct test in the __m_count case.
* include/posix-threads.h (_Jv_PthreadCheckMonitor): Reverted
	previous change and implemented a correct test in the __m_count
	case.

From-SVN: r29209
1999-09-08 17:10:22 +00:00
Kaveh R. Ghazi
e1b6684cec gansidecl.h (__attribute__, [...]): Delete.
* gansidecl.h (__attribute__, ATTRIBUTE_UNUSED_LABEL,
	ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, ATTRIBUTE_PRINTF,
	ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2, ATTRIBUTE_PRINTF_3,
	ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5, GENERIC_PTR): Delete.

	* c-decl.c (field_decl_cmp): Use PTR instead of GENERIC_PTR.

	* cccp.c (pcfinclude): Likewise.

	* global.c (allocno_compare): Likewise.

	* haifa-sched.c (rank_for_schedule): Likewise.

	* local-alloc.c (qty_sugg_compare_1, qty_compare_1): Likewise.

	* reload1.c (hard_reg_use_compare, reload_reg_class_lower): Likewise.

	* stupid.c (stupid_reg_compare): Likewise.

	* tree.c (_obstack_allocated_p): Likewise.

	* varray.h (varray_data_tag, VARRAY_GENERIC_PTR_INIT): Likewise.

From-SVN: r29208
1999-09-08 15:44:18 +00:00
Bruce Korb
98cc505096 Hapless User Hint for gperf
From-SVN: r29207
1999-09-08 14:08:26 +00:00
Richard Henderson
d2cdcacaf2 ggc-simple.c (init_ggc): Absorb the old init.
* ggc-simple.c (init_ggc): Absorb the old init.
        (ggc_push_context): Use xcalloc.
        (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Likewise.
        (ggc_collect): Add [rvts] tags to the collection stats.

From-SVN: r29206
1999-09-08 04:59:52 -07:00
Richard Henderson
7cf3d8b413 lists.c: Include ggc.h.
* lists.c: Include ggc.h.
        (zap_lists): New.
        (init_EXPR_INSN_LIST_cache): Install it.

From-SVN: r29205
1999-09-08 04:46:28 -07:00
Andreas Schwab
29ffdfbb0f * cccp.c (main): Fix handling of -include and -imacros options.
From-SVN: r29204
1999-09-08 09:43:16 +00:00
Nathan Sidwell
661d2b52d4 sizeof3.C: New test.
* g++.old-deja/g++.other/sizeof3.C: New test.
	* g++.old-deja/g++.other/sizeof4.C: New test.
	* g++.old-deja/g++.other/ambig2.C: Mark XFAILs.
	* g++.old-deja/g++.other/lookup16.C: Mark XFAIL.

From-SVN: r29203
1999-09-08 08:50:57 +00:00
Mark Klein
a27995df2b * configure.in: Add mpeix.mt make fragment.
From-SVN: r29202
1999-09-08 02:40:16 -06:00
Jeffrey A Law
236d1439f3 * cpplib.c (cpp_push_buffer): Fix order of arguments.
From-SVN: r29201
1999-09-08 02:24:39 -06:00
Jeff Garzik
6659980655 * libiberty.h (xmemdup): Add prototype for new function.
From-SVN: r29200
1999-09-08 02:20:11 -06:00
Jeff Garzik
b10647f1b2 xmemdup.c: New xmemdup function.
* xmemdup.c:  New xmemdup function.
	* Makefile.in, makefile.vms, vmsbuild.com:  Use xmemdup.[co].

From-SVN: r29199
1999-09-08 02:19:52 -06:00
Alexandre Oliva
8984583485 rtl.h (obstack_alloc_rtx): Removed, it's now static in genrtl.c.
* rtl.h (obstack_alloc_rtx): Removed, it's now static in
genrtl.c.

From-SVN: r29198
1999-09-08 07:52:57 +00:00
Jeff Law
aaa8a002e3 Daily bump.
From-SVN: r29197
1999-09-08 01:45:08 -06:00
Alasdair Baird
355fca3e4f flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
* flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
         * haifa-sched.c (sched_analyze_1): Use XEXP rather than SUBREG_REG
         and SET_DEST. Update comment.

From-SVN: r29196
1999-09-08 00:34:47 -07:00
Michael Hayes
7eb3fb5f92 c4x.c: Include ggc.h.
* config/c4x/c4x.c: Include ggc.h.
	(c4x_add_gc_roots): New function.
	(c4x_override_options): Call c4x_add_gc_roots.

From-SVN: r29195
1999-09-08 07:11:02 +00:00
Richard Henderson
64f8a71830 defaults.h (TARGET_ESC): Move ...
* defaults.h (TARGET_ESC): Move ...
        * system.h: ... here, where Linas had it in the first place.  Silly me.

From-SVN: r29194
1999-09-08 00:01:41 -07:00
Tom Tromey
400ec27079 posix-threads.h (_Jv_PthreadCheckMonitor): Changed test in __m_count case.
* include/posix-threads.h (_Jv_PthreadCheckMonitor): Changed test
	in __m_count case.

From-SVN: r29193
1999-09-08 07:01:32 +00:00
Linas Vepstas
f3ad1f9c0d Linas Vepstas <linas@linas.org>
* c-common.c: Use ISGRAPH, ISLOWER, toupper.
        * c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
        genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
        * system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
        * defaults.h (TARGET_ESC): Add default.

From-SVN: r29192
1999-09-07 23:51:23 -07:00
Linas Vepstas
a2b368b6e9 configure.in: add i370-*-openedition, i370-*-mvs and i370-*-linux targets
* configure.in: add i370-*-openedition, i370-*-mvs and
        i370-*-linux targets

From-SVN: r29191
1999-09-07 23:37:28 -07:00
Linas Vepstas
0b77644a54 config.guess: Add OS/390 match pattern.
* config.guess: Add OS/390 match pattern.
        * config.sub: Add mvs, openedition targets.
        * configure.in (i370-ibm-opened*): New.

From-SVN: r29190
1999-09-07 23:35:42 -07:00
Mark Mitchell
47e1931659 decl.c (ggc_p): Set it to 1.
* decl.c (ggc_p): Set it to 1.
	(mark_saved_scope): Add prototype.

From-SVN: r29189
1999-09-08 06:33:29 +00:00
Linas Vepstas
3dd6c3afe3 config.table: Add openedition target.
* config.table: Add openedition target.
        * config/mh-openedition: New file.

From-SVN: r29188
1999-09-07 23:33:11 -07:00
Mark Mitchell
b979ef4549 dsp16xxx.c: Include ggc.h
* dsp16xxx.c: Include ggc.h
	(override_options): Mark GC roots.
	* mn10200.c: Include ggc.h.
	(asm_file_start): Mark GC roots.
	* tahoe.c: Include ggc.h.
	(extensible_operand): Mark GC roots.

From-SVN: r29187
1999-09-08 06:31:47 +00:00
Linas Vepstas
f0866ec2bb * mh-openedition: New file.
From-SVN: r29186
1999-09-07 23:31:40 -07:00
Linas Vepstas
ff9350e750 Linas Vepstas <linas@linas.org>
* README: Add section discussing status of ELF ABI.
        * i370.c: Fix misc spelling mistakes.
        (i370_label_scan): Updated notes, exception handling.
        (i370_function_prolog): Simplify ELF stack handling.
        * i370.h: (FIXED_REGISTERS): Free up r12 for ELF.
        (STACK_GROWS_DOWNWARD): ELF stack grows down.
        (ASM_DECLARE_FUNCTION_NAME): Fix crazy malloc size.
        * i370.md: (movdi): Add notes.
        (floatsidf2): Use stack not rtca for scratch float area.
        (iorsi3): Correct operand constraints.
        * x-oe: Restore TAROUTOPTS which are used by pax.

From-SVN: r29185
1999-09-07 23:23:46 -07:00
Mark Mitchell
c802301136 rs6000.c: Include ggc.h.
* rs6000.c: Include ggc.h.
	(rs6000_add_gc_roots): New function.
	(override_options): Call it.

From-SVN: r29184
1999-09-08 05:37:20 +00:00
Richard Henderson
6db21c7fb8 alpha.h (alpha_compare): New.
* alpha.h (alpha_compare): New.
        (alpha_compare_op0, alpha_compare_op1, alpha_compare_fp_p): Remove.
        * alpha.c: Likewise for the definitions.
        (alpha_emit_conditional_branch): Update for alpha_compare.
        (alpha_emit_conditional_move): Likewise.
        * alpha.md (cmpdf, cmpdi): Likewise.
        (setcc patterns): Likewise.  Zero alpha_compare after use.
        (sne): Optimize (x != 0) into (0U < x).

From-SVN: r29183
1999-09-07 22:13:35 -07:00
Richard Henderson
01439aeea5 alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
* alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
        (struct machine_function): Declare; add eh_epilogue_sp_ofs.
        (INIT_EXPANDERS): Remove.
        * alpha.c: Include ggc.h.
        (alpha_eh_epilogue_sp_ofs, alpha_return_addr_rtx): Remove.
        (alpha_init_machine_status, alpha_mark_machine_status): New.
        (override_options): Install them.
        (struct machine_function): Moved to alpha.h.
        (alpha_save_machine_status, alpha_restore_machine_status): Remove.
        (alpha_init_expanders): Remove.
        (alpha_return_addr): Adjust to use current_function->machine.
        (alpha_ra_ever_killed): Likewise.
        (alpha_expand_epilogue): Likewise.
        * alpha.md (eh_epilogue): Likewise.

From-SVN: r29182
1999-09-07 22:00:54 -07:00
Ian Piumarta
7d617b67c0 rs6000.c (first_reg_to_save): Don't save fixed or call-used registers (call-saved registers must still be...
* config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
call-used registers (call-saved registers must still be contiguous
and end with r31, of course).

Co-Authored-By: Geoff Keating <geoffk@cygnus.com>
Co-Authored-By: Melissa O'Neill <oneill@cs.sfu.ca>

From-SVN: r29181
1999-09-08 04:59:10 +00:00
Richard Henderson
c530479e15 c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
* c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
        (self_promoting_type_p): Delete.
        (self_promoting_args_p): Move ...
        * c-common.c: ... here.
        (c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
        (simple_type_promotes_to): New.
        * builtins.c (lang_type_promotes_to): New.
        (expand_builtin_va_arg): Use it to give diagnostic for illegal types.
        * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
        * c-common.h: ... here.
        (self_promoting_args_p, simple_type_promotes_to): Declare.
        * c-decl.c (duplicate_decls): Use simple_type_promotes_to.
        (grokdeclarator): Likewise.
        * tree.h (lang_type_promotes_to): Declare.

        * cp-tree.h (C_PROMOTING_INTEGER_TYPE_P): Delete.
        * typeck.c (self_promoting_args_p): Delete.

        * gcc.dg/va-arg-1.c: New.

From-SVN: r29180
1999-09-07 21:51:16 -07:00
Tom Tromey
472236af04 posix-threads.cc (_Jv_CondWait): pthread_ calls return error code and don't set errno.
* posix-threads.cc (_Jv_CondWait): pthread_ calls return error
	code and don't set errno.

From-SVN: r29179
1999-09-08 02:31:33 +00:00
Jason Merrill
5430acc846 search.c (binfo_for_vtable): Use CLASSTYPE_VFIELD_PARENT.
* search.c (binfo_for_vtable): Use CLASSTYPE_VFIELD_PARENT.
	(dfs_bfv_queue_p, dfs_bfv_helper, struct bfv_info): Remove.

From-SVN: r29178
1999-09-07 21:00:57 -04:00
Tom Tromey
fd59e3a04e posix-threads.cc (_Jv_CondWait): Check errno' against EINTR, not r'.
1999-09-07  Tom Tromey  <tromey@cygnus.com>

	* posix-threads.cc (_Jv_CondWait): Check `errno' against EINTR,
	not `r'.  Changed `done_sleeping' to a `bool'.

1999-09-07  Matt Welsh <mdw@cs.berkeley.edu

	* libjava/posix-threads.cc: Added _Jv_ThreadDataKey.
	Added FLAG_INTERRUPTED to indicate that a thread was interrupted
	by another thread, rather than by the GC.
	(_Jv_CondWait): Prevent premature thread wakeup by GC.
	(_Jv_InitThreads): Initialize _Jv_ThreadDataKey.
	* libjava/include/posix-threads.h (_Jv_ThreadCurrentData): New
	function.

From-SVN: r29177
1999-09-08 00:43:06 +00:00
Mark Mitchell
d07d525a85 Add some machine-dependent GC roots.
* sparc.c: Include ggc.h.
	(sparc_add_gc_roots): New function.
	(mark_ultrasparc_pipeline_state): Likewise.
	(override_options): Call sparc_add_gc_roots.
	* pa.c: Include ggc.h.
	(pa_add_gc_roots): New function.
	(mark_deferred_plabels): Likewise.
	(override_options): Call pa_add_gc_roots.
	* mips.c: Include ggc.h.
	(mips_add_gc_roots): New function.
	(override_options): Use it.

From-SVN: r29176
1999-09-08 00:21:45 +00:00
Dave Brolley
66815bff31 parse.h: Undefine DELAY if it's defined.
Tue Sep  7 15:59:56 1999  Dave Brolley  <brolley@cygnus.com>

	* parse.h: Undefine DELAY if it's defined.
	(PACK,NOPACK,POS): Remove erroneous comments regarding these tokens.
	Also, move them to their proper place alphabetically.

From-SVN: r29175
1999-09-07 17:02:43 -04:00
Mark Mitchell
fdfcc44c12 Makefile.in (tree.o): Depend on ggc.h.
* Makefile.in (tree.o): Depend on ggc.h.
	* class.c (make_method_vec): Remove.
	(free_method_vec): Likewise.
	(free_method_vecs): Remove.
	(add_method): Don't use them.
	* cp-tree.def (PTRMEM_CST): Make it longer.
	(TEMPLATE_PARM_INDEX): Make it shorter.
	* cp-tree.h (BINDING_HAS_LEVEL_P): New macro.
	(template_parm_index): Remove RTL field.
	(ptrmem_cst): Add RTL field.
	(finish_function): Removed parameter.
	(process_next_inline): Change prototype.
	(init_cplus_unsave): Rename to init_tree.
	(binding_init): Remove.
	* decl.c (free_binding_nodes): Remove.
	(push_binding): Don't use them.  Set BINDING_HAS_LEVEL_P.
	(pop_binding): Don't use free_binding_nodes.
	(free_binding_vecs): Remove.
	(store_bindings): Don't use them.
	(pop_from_top_level): Likewise.
	(lookup_namespace_name): Simplify.
	(build_typename_type): Don't use obstack_free.
	(unqualified_namespace_lookup): Simplify.
	(lookup_name_real): Simplify.
	(start_function): Remove comment about leaks.
	(finish_function): Removed nested parameter.  Call
	expand_end_bindings even when building_stmt_tree.
	Call ggc_push_context and ggc_pop_context around
	rest_of_compilation, if necessary.
	(mark_cp_function_context): Handle a NULL language-context.
	(lang_mark_false_label_stack): Fix typo.
	(lang_mark_tree): Handle CPLUS_BINDING, OVERLOAD,
	TEMPLATE_PARM_INDEX.  Handle the funny TYPE_LANG_SPECIFIC on
	pointer to method types.
	(lang_cleanup_tree): Use free to free TYPE_LANG_SPECIFIC.
	* decl2.c (finish_objects): Adjust call to finish_function.
	(finish_static_store_duration_function): Likewise.
	(do_nonmember_using_decl): Remove call to binding_init.
	* except.c (end_anon_func): Adjust call to finish_function.
	* lex.c (mark_impl_file_chain): New function.
	(init_parse): Call init_tree, not init_cplus_unsave.
	Add GC roots.
	(cp_pramga_interface): Use xmalloc, not permalloc.
	(cp_pragma_implementation): Likewise.
	(begin_definition_of_inclass_inline): Simplify.
	(process_next_inline): Adjust prototype.
	(do_scoped_id): Don't call binding_init.
	(make_lang_type): Allocate TYPE_LANG_SPECIFIC with xmalloc.
	* method.c (emit_thunk): Adjust call to finish_function.
	(synthesize_method): Likewise.
	* parse.y (%union): Add a new `pi' variant.
	(PRE_PARSED_FUNCTION_DECL): Use it.
	(fn.defpen): Likewise.
	(fndef): Adjust call to finish_function.
	* pt.c (instantiate_decl): Likewise.
	* rtti.c (syntheisze_tinfo_fn): Likewise.
	* semantics.c (expand_body): Likewise.
	* tree.c: Include ggc.h.
	(mark_list_hash): New function.
	(binding_init): Remove.
	(init_cplus_unsave): Rename to ...
	(init_tree): This.  Add GC roots.

From-SVN: r29173
1999-09-07 18:01:53 +00:00
Mark Mitchell
87e3dbc92a Makefile.in (tree.o): Depend on ggc.h.
* Makefile.in (tree.o): Depend on ggc.h.
	* class.c (make_method_vec): Remove.
	(free_method_vec): Likewise.
	(free_method_vecs): Remove.
	(add_method): Don't use them.
	* cp-tree.def (PTRMEM_CST): Make it longer.
	(TEMPLATE_PARM_INDEX): Make it shorter.
	* cp-tree.h (BINDING_HAS_LEVEL_P): New macro.
	(template_parm_index): Remove RTL field.
	(ptrmem_cst): Add RTL field.
	(finish_function): Removed parameter.
	(process_next_inline): Change prototype.
	(init_cplus_unsave): Rename to init_tree.
	(binding_init): Remove.
	* decl.c (free_binding_nodes): Remove.
	(push_binding): Don't use them.  Set BINDING_HAS_LEVEL_P.
	(pop_binding): Don't use free_binding_nodes.
	(free_binding_vecs): Remove.
	(store_bindings): Don't use them.
	(pop_from_top_level): Likewise.
	(lookup_namespace_name): Simplify.
	(build_typename_type): Don't use obstack_free.
	(unqualified_namespace_lookup): Simplify.
	(lookup_name_real): Simplify.
	(start_function): Remove comment about leaks.
	(finish_function): Removed nested parameter.  Call
	expand_end_bindings even when building_stmt_tree.
	Call ggc_push_context and ggc_pop_context around
	rest_of_compilation, if necessary.
	(mark_cp_function_context): Handle a NULL language-context.
	(lang_mark_false_label_stack): Fix typo.
	(lang_mark_tree): Handle CPLUS_BINDING, OVERLOAD,
	TEMPLATE_PARM_INDEX.  Handle the funny TYPE_LANG_SPECIFIC on
	pointer to method types.
	(lang_cleanup_tree): Use free to free TYPE_LANG_SPECIFIC.
	* decl2.c (finish_objects): Adjust call to finish_function.
	(finish_static_store_duration_function): Likewise.
	(do_nonmember_using_decl): Remove call to binding_init.
	* except.c (end_anon_func): Adjust call to finish_function.
	* lex.c (mark_impl_file_chain): New function.
	(init_parse): Call init_tree, not init_cplus_unsave.
	Add GC roots.
	(cp_pramga_interface): Use xmalloc, not permalloc.
	(cp_pragma_implementation): Likewise.
	(begin_definition_of_inclass_inline): Simplify.
	(process_next_inline): Adjust prototype.
	(do_scoped_id): Don't call binding_init.
	(make_lang_type): Allocate TYPE_LANG_SPECIFIC with xmalloc.
	(emit_thunk): Adjust call to finish_function.
	(synthesize_method): Likewise.
	* parse.y (%union): Add a new `pi' variant.
	(PRE_PARSED_FUNCTION_DECL): Use it.
	(fn.defpen): Likewise.
	(fndef): Adjust call to finish_function.
	(instantiate_decl): Likewise.
	(rtti.c): Likewise.
	(semantics.c): Likewise.
	* tree.c: Include ggc.h.
	(mark_list_hash): New function.
	(binding_init): Remove.
	(init_cplus_unsave): Rename to ...
	(init_tree): This.  Add GC roots.

From-SVN: r29172
1999-09-07 16:07:42 +00:00