Bernd Schmidt [Fri, 10 Sep 1999 11:01:50 +0000 (11:01 +0000)]
Fix ashlqi3 bug
From-SVN: r29267
Bernd Schmidt [Fri, 10 Sep 1999 10:36:02 +0000 (10:36 +0000)]
Move declarations and building code for common tree nodes to tree.[ch]
From-SVN: r29266
Mark Mitchell [Fri, 10 Sep 1999 10:19:47 +0000 (10:19 +0000)]
cp-tree.h (language_function): Rename expanding_p to x_expanding_p.
* cp-tree.h (language_function): Rename expanding_p to
x_expanding_p. Rename named_label_uses to x_named_label_uses.
(expanding_p): Adjust accordingly.
(TREE_VIA_PRIVATE): Fix typo in comment.
(DECL_REFERENCE_SLOT): Remove.
(SET_DECL_REFERENCE_SLOT): Likewise.
* decl.c (named_label_uses): Adjust. Remove chicken comment.
(push_overloaded_decl): Don't truncate the chain of bindings when
adding an overloaded function.
(grok_reference_init): Don't use DECL_REFERENCE_SLOT.
(initialize_local_var): Fix typo in comment.
(store_parm_decls): Don't set DECL_REFERENCE_SLOT. Tidy up.
* decl2.c (start_objects): Make the fact that we are expanding
the generated function right away explicit.
(start_static_storage_duration_function): Likewise.
(finish_file): Fix typo in comment.
* init.c (build_vec_init): Correct bugs in handling cleanups.
* semantics.c (maybe_convert_cond): New function.
(FINISH_COND): Always store the condition, even if there's
a declaration.
(finish_if_stmt_cond): Use maybe_convert_cond.
(finish_while_stmt_cond): Likewise.
(finish_do_stmt): Likewise.
(finish_for_cond): Likewise.
(expand_cond): Adjust.
From-SVN: r29265
Mark Mitchell [Fri, 10 Sep 1999 09:30:57 +0000 (09:30 +0000)]
cp-tree.h (finish_cleanup_try_block): New function.
* cp-tree.h (finish_cleanup_try_block): New function.
* semantics.c (finish_cleanup_try_block): Add comment.
From-SVN: r29264
Mark Mitchell [Fri, 10 Sep 1999 09:21:37 +0000 (09:21 +0000)]
cp-tree.h (FN_TRY_BLOCK_P): New macro.
* cp-tree.h (FN_TRY_BLOCK_P): New macro.
* init.c (perform_member_init): Remove obstack machinations.
(expand_cleanup_for_base): Likewise.
(finish_init_stmts): Mark the statement-expression as used.
* method.c (emit_thunk): Use tree-generating functions, not
RTL.
(do_build_copy_constructor): Likewise.
(do_build_assign_ref): Likewise.
(synthesize_method): Likewise. Keep track of line numbers.
* pt.c (tsubst_expr): Handle various kinds of try blocks.
* semantics.c (expand_stmts): Remove.
(begin_function_try_block): Set FN_TRY_BLOCK_P.
(finish_function_try_block): Be careful rechaining
function try blocks.
(expand_stmt): Loop through all the statements at a given level.
(exapnd_body): Be careful with line-numbers here too. Prepare for
being called directly from the parser.
From-SVN: r29263
Mark Mitchell [Fri, 10 Sep 1999 09:10:24 +0000 (09:10 +0000)]
cp-tree.h (finish_function): Adjust prototype.
* cp-tree.h (finish_function): Adjust prototype.
* decl.c (finish_function): Return the function compiled.
* pt.c (instantiate_decl): Don't play games with obstacks.
* tree.c (mapcar): Handle OFFSET_REF and BIT_FIELD_REF.
(search_tree): Likewise.
* typeck.c: Fix typo in comment.
* typeck2.c (store_init_value): Add comment.
From-SVN: r29262
Mark Mitchell [Fri, 10 Sep 1999 08:52:07 +0000 (08:52 +0000)]
cp-tree.h (finish_function): Adjust prototype.
* cp-tree.h (finish_function): Adjust prototype.
* decl.c (finish_function): Return the function compiled.
* pt.c (instantiate_decl): Don't play games with obstacks.
* tree.c (mapcar): Handle OFFSET_REF and BIT_FIELD_REF.
(search_tree): Likewise.
* typeck.c: Fix typo in comment.
* typeck2.c (store_init_value): Add comment.
From-SVN: r29261
Mark Mitchell [Fri, 10 Sep 1999 08:30:08 +0000 (08:30 +0000)]
cp-tree.h (CPTI_ATEXIT): New macro.
* cp-tree.h (CPTI_ATEXIT): New macro.
(atexit_node): Likewise.
* decl.c (destroy_local_static): New function, broken out from ...
(expand_static_init): Here.
From-SVN: r29260
Mark Mitchell [Fri, 10 Sep 1999 08:14:16 +0000 (08:14 +0000)]
rtti.c (get_tinfo_var): These should always be global
* rtti.c (get_tinfo_var): These should always be global
(expand_si_desc): Use tree, not RTL, functions to generate code.
(expand_class_desc): Likewise.
(expand_ptr_desc): Likewise.
(expand_attr_desc): Likewise.
(expand_generic_desc): Likewise.
(synthesize_tinfo_fn): Likewise.
From-SVN: r29259
Mark Mitchell [Fri, 10 Sep 1999 08:08:52 +0000 (08:08 +0000)]
Regenerated
From-SVN: r29258
Jeff Law [Fri, 10 Sep 1999 07:45:10 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29257
Mark Mitchell [Fri, 10 Sep 1999 05:31:24 +0000 (05:31 +0000)]
semantics.c (RECHAIN_STMTS): Remove `last' parameter.
* semantics.c (RECHAIN_STMTS): Remove `last' parameter.
(RECHAIN_STMTS_FROM_LAST): Remove. Replace all uses with
RECHAIN_STMTS.
(RECHAIN_STMST_FROM_CHAIN): Likewise.
From-SVN: r29256
Richard Henderson [Fri, 10 Sep 1999 03:16:49 +0000 (20:16 -0700)]
c-decl.c (finish_function): When processing a nested function...
* c-decl.c (finish_function): When processing a nested function,
push and pop GC context around rest_of_compilation.
From-SVN: r29255
Jason Merrill [Fri, 10 Sep 1999 01:13:10 +0000 (21:13 -0400)]
revert:
Thu Sep 9 12:20:34 1999 Nick Clifton <nickc@cygnus.com>
* toplev.c (documented_lang_options):
From-SVN: r29253
Mark Mitchell [Fri, 10 Sep 1999 01:09:05 +0000 (01:09 +0000)]
* parse.y (simple_stmt): Fix typo in last change.
From-SVN: r29252
Tom Tromey [Fri, 10 Sep 1999 00:10:04 +0000 (00:10 +0000)]
configure: Rebuilt.
* configure: Rebuilt.
* configure.in: Fixed typo; variable is THREADSPEC and not
THREADSPECS.
From-SVN: r29251
Richard Henderson [Thu, 9 Sep 1999 23:45:55 +0000 (16:45 -0700)]
i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
* i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
Default ix86_arch to PROCESSOR_I386.
* i386.h (CC1_CPU_SPEC): Don't add -march=foo. Remove -mno-foo.
(CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
(CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
(CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
__tune_foo__ if no -mcpu. Make -mcpu=bar define __tune_bar__.
(EXTRA_SPECS): Remove deleted specs.
From-SVN: r29250
Mark Mitchell [Thu, 9 Sep 1999 23:24:34 +0000 (23:24 +0000)]
cp-tree.h (EXPR_STMT_ASSIGNS_THIS): New macro.
* cp-tree.h (EXPR_STMT_ASSIGNS_THIS): New macro.
(STMT_IS_FULL_EXPR_P): Likewise.
(STMT_LINENO_FOR_FN_P): Likewise.
(prep_stmt): New function.
(building_stmt_tree): Tweak for safety.
* pt.c (tsubst_expr): Use prep_stmt throughout.
(add_tree): Move it to semantics.c
* semantics.c (add_tree): Move it here.
(finish_expr_stmt_real): New function.
(finish_expr_stmt): Use it.
(finish_if_stmt_cond): Use FINISH_COND.
(finish_while_stmt_cond): Likewise.
(finish_for_cond): Likewise.
(finish_stmt_tree): Tweak line-number handling.
(prep_stmt): New function.
(expand_stmt): Use it.
From-SVN: r29249
Richard Henderson [Thu, 9 Sep 1999 23:04:12 +0000 (16:04 -0700)]
function.c (assign_stack_local_1): Allocate from function->x_frame_offset, not frame_offset.
* function.c (assign_stack_local_1): Allocate from
function->x_frame_offset, not frame_offset.
From-SVN: r29248
Mark Mitchell [Thu, 9 Sep 1999 22:41:05 +0000 (22:41 +0000)]
New test
From-SVN: r29247
Mark Mitchell [Thu, 9 Sep 1999 22:28:15 +0000 (22:28 +0000)]
cp-tree.h (begin_switch_stmt): Adjust prototype.
* cp-tree.h (begin_switch_stmt): Adjust prototype.
(finish_switch_cond): Likewise.
* parse.y (simple_stmt): Adjust accordingly.
* parse.c: Regenerated.
* pt.c (tsubst_expr): Adjust accordingly.
* semantics.c (expand_cond): New function.
(FINISH_COND): New macro.
(begin_switch_stmt): Build the SWITCH_STMT here.
(finish_switch_stmt_cond): Not here.
(expand_stmt): Adjust calls to begin_switch_stmt and
finish_switch_cond. Use expand_cond throughout.
From-SVN: r29246
Mark Mitchell [Thu, 9 Sep 1999 21:49:02 +0000 (21:49 +0000)]
dump.c (dequeue_and_dump): Dump types for constants.
* dump.c (dequeue_and_dump): Dump types for constants.
Describe DECL_ARG_TYPE more intuitively.
Handle ARRAY_REF.
From-SVN: r29245
Mark Mitchell [Thu, 9 Sep 1999 21:47:28 +0000 (21:47 +0000)]
decl.c (lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
* decl.c (lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
(lang_cleanup_tree): Remove.
* lex.c (make_lang_type): Use ggc_alloc to allocate
TYPE_LANG_SPECIFIC.
From-SVN: r29244
Mark Mitchell [Thu, 9 Sep 1999 21:45:27 +0000 (21:45 +0000)]
Fix typo in last change.
From-SVN: r29243
Mark Mitchell [Thu, 9 Sep 1999 21:41:38 +0000 (21:41 +0000)]
ggc.h (lang_cleanup_tree): Remove.
* ggc.h (lang_cleanup_tree): Remove.
* gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
* ggc-callbacks.c (lang_cleanup_tree): Remove.
* c-decl.c (finish_struct): Use ggc_alloc to allocate
TYPE_LANG_SPECIFIC when garbage collecting.
(lang_cleanup_tree): Remove.
From-SVN: r29242
Jason Merrill [Thu, 9 Sep 1999 21:36:20 +0000 (21:36 +0000)]
defaults.h (EH_FRAME_SECTION, [...]): Define here.
* defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
* crtstuff.c: Not here.
* dwarf2out.c: Or here.
* libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
info.
From-SVN: r29241
Mark Mitchell [Thu, 9 Sep 1999 19:02:39 +0000 (19:02 +0000)]
Reorganize per-function data.
* cp-tree.h (saved_scope): Add function_decl, bindings.
(language_function): Rename binding_level to bindings.
(cp_function_chain): Use the current_function, not the
outer_function_chain.
(current_class_ptr): Make it work, even when there's no
current function.
(current_class_ref): Likewise.
(SF_DEFAULT, SF_PRE_PARSED, SF_INCLASS_INLINE, SF_EXPAND): New
macros.
(clear_temp_name): Remove.
* decl.c (check_function_type): New function, broken out from
start_function.
(current_binding_level): Adjust definition.
(pushlevel): Simplify.
(poplevel): Don't use named_label_uses when we're outside
a function scope.
(mark_saved_scope): Mark function_decl and bindings.
(maybe_push_to_top_level): Don't unconditionally push a new
function context. Save bindings and the current_function_decl.
Don't clear named_labels.
(pop_from_top_level): Pop function context if appropriate.
(init_decl_processing): Set init_lang_status and free_lang_status,
rather than save_lang_status and restore_lang_status.
(start_function): Take SF_* flags. Don't clear per-function data.
Reorder and simplify to use new per-function data code. Add
asserts.
(store_parm_decls): Don't call init_function_start here.
(finish_function): Adjust for new handling of per-function data.
(push_cp_function_context): Simplify.
(mark_cp_function_context): Change binding_level to bindings.
* decl2.c (clear_temp_name): Remove.
(start_objects): Use SF flags to start_function.
(start_static_storage_duration_function): Likewise.
* except.c (start_anon_func): Remove redundant calls to
push_function_context_to. Use SF flags to start function.
(end_anon_func): Remove redundant call to pop_function_context
from.
* lex.c (reinit_parse_for_function): Don't initialize per-function
data.
* method.c (emit_thunk): Clear current_function after calling
assemble_end_function. Use SF flags for start_function.
(synthesize_method): Use SF flags for start_function.
* parse.c: Regenerated.
* parse.y (fn.defpen): Likewise.
(pending_inline): Clear current_function, even if something goes
wrong.
* pt.c (instantiate_decl): Use SF flags to start_function.
Don't save and restore expanding_p.
(add_tree): Handle the case where we are outside any function.
(end_tree): Likewise.
* rtti.c (sythesize_tinfo_fn): Use SF flags to start_function.
* semantics.c (begin_function_definition): Likewise.
(expand_body): Likewise.
From-SVN: r29240
Mark Mitchell [Thu, 9 Sep 1999 18:55:37 +0000 (18:55 +0000)]
function.h (free_after_compilation): Remove decl parameter.
* function.h (free_after_compilation): Remove decl parameter.
(free_varasm_status0: Likewise.
(free_emit_status): Likewise.
(free_stmt_status): Likewise.
(free_after_compilation): Likewise.
(init_lang_status): New variable.
(free_lang_status): Likewise.
* emit-rtl.c (free_emit_status): Make decl parameter implicit.
* function.c (init_lang_status): New variable.
(free_lang_status): Likewise.
(push_function_context_to): Don't set function::decl here.
(free_after_copmilation): Make decl parameter implicit. Call
free_lang_status if defined.
(prepare_function_start): Call init_lang_status if defined.
(init_function_start): Set function::decl here.
* profile.c (output_func_start_profiler): Don't call pushdecl
until we've actually started the function.
* stmt.c (free_stmt_status): Make decl parameter implicit.
* toplev.c (rest_of_compilation): Don't pass decl to
free_after_compilation.
* varasm.c (free_varasm_status): Likewise.
From-SVN: r29239
Mark Mitchell [Thu, 9 Sep 1999 18:33:45 +0000 (18:33 +0000)]
cp-tree.h (scratch_tree_cons): Remove.
* cp-tree.h (scratch_tree_cons): Remove.
* call.c: Replace all uses of expr_tree_cons, saveable_tree_cons,
and perm_tree_cons with plain tree_cons.
* class.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* init.c: Likewise.
* lex.c: Likewise.
* method.c: Likewise.
* parse.y: Likewise.
* pt.c: Likewise.
* repo.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.
* typeck.c: Likewise.
* parse.c: Regenerated.
* tree.c (build_srcloc): Simplify.
From-SVN: r29238
Richard Henderson [Thu, 9 Sep 1999 17:41:45 +0000 (10:41 -0700)]
* g++.old-deja/g++.other/delete6.C: Use size_t with operator new.
From-SVN: r29237
Bernd Schmidt [Thu, 9 Sep 1999 16:24:08 +0000 (16:24 +0000)]
Add a missing GC root
From-SVN: r29236
Richard Earnshaw [Thu, 9 Sep 1999 14:30:54 +0000 (14:30 +0000)]
arm.c: Include "ggc.h".
* arm.c: Include "ggc.h".
(arm_add_gc_roots): New function.
(arm_override_options): Call it.
(aof_pic_entry): Add a GC root for aof_pic_label when it's allocated.
* arm.md (define_asm_attributes): Add a pool_range attribute.
From-SVN: r29235
Nathan Sidwell [Thu, 9 Sep 1999 12:11:22 +0000 (12:11 +0000)]
lookup11.C: New test.
* g++.old-deja/g++.other/lookup11.C: New test.
* g++.old-deja/g++.bugs/900428_01.C: Rework now we understand
what is permitted and what we want.
* g++.old-deja/g++.jason/rfg4.C: Rework to remove ill-formed
overload use.
* g++.old-deja/g++.jason/rfg5.C: Likewise
From-SVN: r29234
Nathan Sidwell [Thu, 9 Sep 1999 12:07:46 +0000 (12:07 +0000)]
extend.texi (Volatiles): New node.
gcc/ChangeLog:
* extend.texi (Volatiles): New node.
gcc/cp/ChangeLog:
* cp-tree.h (convert_to_void): Prototype new function.
(require_complete_type_in_void): Remove prototype.
* cvt.c (convert_to_void): New function.
(ocp_convert): Use convert_to_void.
* decl.c (cplus_expand_expr_stmt): Likewise, for complete
expressions.
* typeck.c (require_complete_type_in_void): Remove function.
(build_compound_expr): Use convert_to_void.
(build_static_cast): Likewise.
(build_c_cast): Likewise.
* semantics.c (finish_expr_stmt): Do not decay full expressions.
* typeck.c (build_x_compound_expr): Add FIXME.
From-SVN: r29233
Nick Clifton [Thu, 9 Sep 1999 11:22:50 +0000 (11:22 +0000)]
Pass -pedantic command line switch on to cpplib
From-SVN: r29232
Richard Henderson [Thu, 9 Sep 1999 10:43:57 +0000 (03:43 -0700)]
ggc-simple.c (IS_MARKED, [...]): New.
* ggc-simple.c (IS_MARKED, IGNORE_MARK): New.
(GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): New.
(struct ggc_any): Replace `mark' with `magic_mark'.
(ggc_alloc_string): Use memcpy, not bcopy.
(ggc_alloc_any): Set magic_mark. Update bytes_alloced_since_gc.
(ggc_free_{rtx,rtvec,tree,string}): Mark inline.
(ggc_free_any): New.
(ggc_mark_string): Use IGNORE_MARK. Calc back to struct gcc_string.
(ggc_mark): Use IGNORE_MARK. Abort if magic doesn't match.
(ggc_collect): Re-enable collection avoidance. Use GGC_ANY_MARK.
Use IS_MARKED. Use ggc_free_any.
From-SVN: r29231
Scott Bambrough [Thu, 9 Sep 1999 09:12:03 +0000 (09:12 +0000)]
define NO_IMPLICIT_EXTERN_C
From-SVN: r29230
Richard Henderson [Thu, 9 Sep 1999 08:56:16 +0000 (01:56 -0700)]
* toplev.c (main): Always init_ggc.
From-SVN: r29229
Jeff Law [Thu, 9 Sep 1999 07:45:13 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29228
Richard Henderson [Thu, 9 Sep 1999 07:17:20 +0000 (00:17 -0700)]
except.c (find_all_handler_type_matches): Free the list if we found no matches.
* except.c (find_all_handler_type_matches): Free the list if
we found no matches.
From-SVN: r29227
Richard Henderson [Thu, 9 Sep 1999 07:07:41 +0000 (00:07 -0700)]
combine.c (SUBST): Break out to a real function do_SUBST.
* combine.c (SUBST): Break out to a real function do_SUBST.
(SUBST_INT): Likewise.
* gcse.c (free_pre_mem): Free `temp_bitmap'.
(pre_insert): Free `inserted'.
* loop.c (basic_induction_var): Always set `location'.
* function.c (expand_function_end): Add initial_trampoline as a root.
* rtl.h (init_varasm_once): Declare.
* toplev.c (compile_file): Call it.
* ggc-simple.c (ggc_mark_string_ptr): New.
(ggc_add_string_root): New.
(ggc_collect): Disable collection avoidance temporarily.
* ggc.h (ggc_add_string_root): Declare.
* except.c (create_rethrow_ref): Use ggc_alloc_string.
* optabs.c (init_libfuncs): Likewise.
* varasm.c (named_section): Use ggc_alloc_string.
(make_function_rtl): Likewise.
(make_decl_rtl): Likewise.
(assemble_static_space): Likewise.
(assemble_trampoline_template): Likewise.
(output_constant_def): Likewise.
(force_const_mem): Likewise.
(mark_const_hash_entry): New.
(mark_pool_sym_hash_table): New.
(mark_varasm_state): Use it.
(init_varasm_once): New.
* expr.h (init_one_libfunc): Declare.
* optabs.c (init_one_libfunc): New.
(init_optabs): Use it.
* config/gofast.h: Likewise.
* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Likewise.
* config/sparc/sparc.h (INIT_TARGET_OPTABS): Likewise.
From-SVN: r29226
Mark Mitchell [Thu, 9 Sep 1999 06:17:13 +0000 (06:17 +0000)]
cp-tree.h (scratch_tree_cons): Remove.
* cp-tree.h (scratch_tree_cons): Remove.
* call.c: Replace all uses of expr_tree_cons, saveable_tree_cons,
and perm_tree_cons with plain tree_cons.
* class.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* init.c: Likewise.
* lex.c: Likewise.
* method.c: Likewise.
* parse.y: Likewise.
* pt.c: Likewise.
* repo.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.
* typeck.c: Likewise.
* parse.c: Regenerated.
* tree.c (build_srcloc): Simplify.
From-SVN: r29225
Geoff Keating [Thu, 9 Sep 1999 04:00:37 +0000 (04:00 +0000)]
Makefile.in (cppexp.o): Depend on cpphash.h.
* Makefile.in (cppexp.o): Depend on cpphash.h.
* cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
Include cpphash.h.
* cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
* cpplib.c (do_define): Generalise to handle poisoned definitions,
redefining poisoned identifiers, etc.
(do_undef): Don't allow poisoned identifiers to be undefined.
(do_pragma): Add #pragma poison.
(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
* cccp.c: Add T_POISON node type.
(special_symbol): Handle `defined(xxx)' and plain `xxx' for
poisoned xxx.
(do_define): Generalise to handle poisoned definitions,
redefining poisoned identifiers, etc.
(do_undef): Don't allow poisoned identifiers to be undefined.
(do_pragma): Add #pragma poison.
(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
* c-pragma.c (handle_pragma_token): Ignore #pragma poison.
* c-pragma.h: Add ps_poison state. We now always have generic
pragmas.
From-SVN: r29224
Mark Mitchell [Thu, 9 Sep 1999 03:31:23 +0000 (03:31 +0000)]
cp-tree.h (lang_decl_flags): Remove permanent_attr.
* cp-tree.h (lang_decl_flags): Remove permanent_attr.
Remove next.
(LANG_DECL_PERMANENT): Remove.
* decl.c (duplicate_decls): Don't mess about with obstacks trying
to free memory.
(lang_mark_tree): Mark DECL_LANG_SPECIFIC.
* lex.c (free_lang_decl_chain): Remove.
(build_lang_decl): Don't use obstacks.
(retrofit_lang_decl): Likewise.
(copy_lang_decl): Likewise.
From-SVN: r29223
Mark Mitchell [Thu, 9 Sep 1999 03:26:58 +0000 (03:26 +0000)]
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
Mark Mitchell [Thu, 9 Sep 1999 01:47:02 +0000 (01:47 +0000)]
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
Mark Mitchell [Thu, 9 Sep 1999 00:29:22 +0000 (00:29 +0000)]
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
Kaveh R. Ghazi [Thu, 9 Sep 1999 00:22:07 +0000 (00:22 +0000)]
* c-decl.c (mark_binding_level): Make static to match prototype.
From-SVN: r29219
Kaveh R. Ghazi [Thu, 9 Sep 1999 00:11:39 +0000 (00:11 +0000)]
* xmemdup.c: Include sys/types.h.
From-SVN: r29218
Richard Henderson [Wed, 8 Sep 1999 23:42:18 +0000 (16:42 -0700)]
* flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
From-SVN: r29217
Richard Henderson [Wed, 8 Sep 1999 23:09:38 +0000 (16:09 -0700)]
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
Richard Henderson [Wed, 8 Sep 1999 23:02:12 +0000 (16:02 -0700)]
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
Richard Henderson [Wed, 8 Sep 1999 22:24:45 +0000 (15:24 -0700)]
* alpha.md (call value patterns): Remove the result predicates.
From-SVN: r29214
Mark Mitchell [Wed, 8 Sep 1999 20:53:47 +0000 (20:53 +0000)]
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
Richard Henderson [Wed, 8 Sep 1999 20:37:56 +0000 (13:37 -0700)]
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
Mark Mitchell [Wed, 8 Sep 1999 20:12:35 +0000 (20:12 +0000)]
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
Kaveh R. Ghazi [Wed, 8 Sep 1999 19:42:01 +0000 (19:42 +0000)]
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
Tom Tromey [Wed, 8 Sep 1999 17:10:22 +0000 (17:10 +0000)]
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
Kaveh R. Ghazi [Wed, 8 Sep 1999 15:44:18 +0000 (15:44 +0000)]
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
Bruce Korb [Wed, 8 Sep 1999 14:08:26 +0000 (14:08 +0000)]
Hapless User Hint for gperf
From-SVN: r29207
Richard Henderson [Wed, 8 Sep 1999 11:59:52 +0000 (04:59 -0700)]
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
Richard Henderson [Wed, 8 Sep 1999 11:46:28 +0000 (04:46 -0700)]
lists.c: Include ggc.h.
* lists.c: Include ggc.h.
(zap_lists): New.
(init_EXPR_INSN_LIST_cache): Install it.
From-SVN: r29205
Andreas Schwab [Wed, 8 Sep 1999 09:43:16 +0000 (09:43 +0000)]
* cccp.c (main): Fix handling of -include and -imacros options.
From-SVN: r29204
Nathan Sidwell [Wed, 8 Sep 1999 08:50:57 +0000 (08:50 +0000)]
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
Mark Klein [Wed, 8 Sep 1999 08:40:16 +0000 (08:40 +0000)]
* configure.in: Add mpeix.mt make fragment.
From-SVN: r29202
Jeffrey A Law [Wed, 8 Sep 1999 08:24:39 +0000 (08:24 +0000)]
* cpplib.c (cpp_push_buffer): Fix order of arguments.
From-SVN: r29201
Jeff Garzik [Wed, 8 Sep 1999 08:20:11 +0000 (08:20 +0000)]
* libiberty.h (xmemdup): Add prototype for new function.
From-SVN: r29200
Jeff Garzik [Wed, 8 Sep 1999 08:19:52 +0000 (08:19 +0000)]
xmemdup.c: New xmemdup function.
* xmemdup.c: New xmemdup function.
* Makefile.in, makefile.vms, vmsbuild.com: Use xmemdup.[co].
From-SVN: r29199
Alexandre Oliva [Wed, 8 Sep 1999 07:52:57 +0000 (07:52 +0000)]
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
Jeff Law [Wed, 8 Sep 1999 07:45:08 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29197
Alasdair Baird [Wed, 8 Sep 1999 07:34:47 +0000 (07:34 +0000)]
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
Michael Hayes [Wed, 8 Sep 1999 07:11:02 +0000 (07:11 +0000)]
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
Richard Henderson [Wed, 8 Sep 1999 07:01:41 +0000 (00:01 -0700)]
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
Tom Tromey [Wed, 8 Sep 1999 07:01:32 +0000 (07:01 +0000)]
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
Linas Vepstas [Wed, 8 Sep 1999 06:51:23 +0000 (06:51 +0000)]
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
Linas Vepstas [Wed, 8 Sep 1999 06:37:28 +0000 (06:37 +0000)]
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
Linas Vepstas [Wed, 8 Sep 1999 06:35:42 +0000 (06:35 +0000)]
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
Mark Mitchell [Wed, 8 Sep 1999 06:33:29 +0000 (06:33 +0000)]
decl.c (ggc_p): Set it to 1.
* decl.c (ggc_p): Set it to 1.
(mark_saved_scope): Add prototype.
From-SVN: r29189
Linas Vepstas [Wed, 8 Sep 1999 06:33:11 +0000 (06:33 +0000)]
config.table: Add openedition target.
* config.table: Add openedition target.
* config/mh-openedition: New file.
From-SVN: r29188
Mark Mitchell [Wed, 8 Sep 1999 06:31:47 +0000 (06:31 +0000)]
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
Linas Vepstas [Wed, 8 Sep 1999 06:31:40 +0000 (06:31 +0000)]
* mh-openedition: New file.
From-SVN: r29186
Linas Vepstas [Wed, 8 Sep 1999 06:23:46 +0000 (23:23 -0700)]
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
Mark Mitchell [Wed, 8 Sep 1999 05:37:20 +0000 (05:37 +0000)]
rs6000.c: Include ggc.h.
* rs6000.c: Include ggc.h.
(rs6000_add_gc_roots): New function.
(override_options): Call it.
From-SVN: r29184
Richard Henderson [Wed, 8 Sep 1999 05:13:35 +0000 (22:13 -0700)]
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
Richard Henderson [Wed, 8 Sep 1999 05:00:54 +0000 (22:00 -0700)]
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
Ian Piumarta [Wed, 8 Sep 1999 04:59:10 +0000 (06:59 +0200)]
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
Richard Henderson [Wed, 8 Sep 1999 04:51:16 +0000 (21:51 -0700)]
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
Tom Tromey [Wed, 8 Sep 1999 02:31:33 +0000 (02:31 +0000)]
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
Jason Merrill [Wed, 8 Sep 1999 01:00:57 +0000 (21:00 -0400)]
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
Tom Tromey [Wed, 8 Sep 1999 00:43:06 +0000 (00:43 +0000)]
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
Mark Mitchell [Wed, 8 Sep 1999 00:21:45 +0000 (00:21 +0000)]
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
Dave Brolley [Tue, 7 Sep 1999 21:02:43 +0000 (21:02 +0000)]
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
Mark Mitchell [Tue, 7 Sep 1999 18:01:53 +0000 (18:01 +0000)]
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
Mark Mitchell [Tue, 7 Sep 1999 16:07:42 +0000 (16:07 +0000)]
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
Kaveh R. Ghazi [Tue, 7 Sep 1999 15:41:26 +0000 (15:41 +0000)]
cpperror.c (cpp_file_line_for_message): Constify a char*.
* cpperror.c (cpp_file_line_for_message): Constify a char*.
* cppexp.c (parse_number, parse_charconst, cpp_lex,
cpp_parse_expr): Add static prototypes.
(parse_charconst): Don't cast away const-ness.
(token): Constify a char*.
* cppfiles.c (file_name_list, include_hash, find_include_file,
finclude, initialize_input_buffer): Constify a char*.
(file_cleanup, find_position): Add static prototypes.
* cpphash.c (macro_cleanup, macarg, timestamp, special_symbol,
collect_expansion): Add static prototypes.
(cpp_install, create_definition, monthnames): Constify a char*.
* cpphash.h (cpp_install): Likewise.
* cppinit.c (known_suffixes, default_include,
dump_special_to_buffer, NAME, cpp_start_read, cpp_finish): Likewise.
(base_name, dump_special_to_buffer, initialize_dependency_output):
Add static prototypes.
* cpplib.c (my_strerror): Constify a char*.
(null_underflow, null_cleanup, skip_comment, copy_comment,
copy_rest_of_line, handle_directive, pass_thru_directive,
get_directive_token, read_line_number, cpp_print_file_and_line,
v_cpp_error, v_cpp_warning, v_cpp_error_with_line,
v_cpp_warning_with_line, detect_if_not_defined,
consider_directive_while_skipping): Add static prototypes.
(pass_thru_directive, check_macro_name, cpp_expand_to_buffer,
cpp_pedwarn_with_file_and_line): Constify a char*.
* cpplib.h (cpp_options, include_hash, progname, definition,
cpp_pedwarn_with_file_and_line, cpp_expand_to_buffer,
check_macro_name, cpp_pfatal_with_name, cpp_file_line_for_message,
find_include_file, deps_output, include_hash): Constify a char*.
* cppmain.c (progname): Constify.
(main): Add prototype. Use return, not exit.
* fix-header.c (fatal, add_symbols, lookup_std_proto, write_lbrac,
recognized_macro, check_macro_names, read_scan_file, write_rbrac,
inf_skip_spaces, inf_read_upto, inf_scan_ident, inf_scan_ident,
check_protection): Add static prototype.
(xfree): Remove.
(progname, recognized_macrom, recognized_extern): Constify a char*.
(main): Add prototype.
* gen-protos.c (progname): Constify a char*.
From-SVN: r29171
Mark Mitchell [Tue, 7 Sep 1999 15:20:58 +0000 (15:20 +0000)]
emit-rtl.c (free_emit_status): Take decl as a parameter.
* emit-rtl.c (free_emit_status): Take decl as a parameter.
(init_emit_once): Add more GC roots.
* except.c (mark_func_eh_entry): New function.
(mark_eh_node): Mark false_label and rethrow_label.
(init_eh): Add more GC roots.
* function.c (free_after_compilation): Take decl as a paramter.
Call free_stmt_status.
(mark_function_state): Don't assume x_parm_reg_stack_loc is
non-NULL.
* function.h (free_after_compilation): Change prototype.
(free_varasm_status): Likewise.
(free_emit_status): Likewise.
(free_stmt_status): New function.
* ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
Remove, replacing with ...
(ggc_status): New structure.
(ggc_chain): New variable.
(init_gcc): Define.
(ggc_push_context): New function.
(ggc_pop_context): Likewise.
(ggc_alloc_rtx): Adjust for use of ggc_chain.
(ggc_alloc_rtvec): Likewise.
(ggc_alloc_tree): Likewise.
(ggc_alloc_string): Likewise.
(ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
(ggc_mark_tree): Give language-dependent code a chance to mark
`x' nodes.
(ggc_mark_tree_varray): Handle empty arrays.
(ggc_collect): Adjust for use of ggc_chain. Clear
bytes_alloced_since_last_gc.
* ggc.h (ggc_pop_context): New function.
(ggc_push_context): Likewise.
* print-tree.c (print_node): Don't print obstacks when GC'ing.
* stmt.c (free_stmt_status): New function.
(init_stmt_for_function): Clear last_expr_value.
* toplev.c (rest_of_compilation): Always call free_after_compilation.
Conditionalize call to ggc_collect.
(main): Call init_ggc.
* tree.c (push_obstacks): Do the push, even when GC'ing.
(push_obstacks_nochange): Likewise.
(pop_obstacks): Liekwise.
* varasm.c (free_varasm_status): Take decl as a parameter.
From-SVN: r29170
Gavin Romig-Koch [Tue, 7 Sep 1999 12:21:44 +0000 (12:21 +0000)]
mips.h (MULTILIB_ENDIAN_DEFAULT): New macro.
* config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
(MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
* config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
* config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
From-SVN: r29168
Gavin Romig-Koch [Tue, 7 Sep 1999 11:34:32 +0000 (11:34 +0000)]
mips.h (MULTILIB_ENDIAN_DEFAULT): New macro.
* config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
(MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
* config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
* config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
From-SVN: r29167
Mark Klein [Tue, 7 Sep 1999 10:26:35 +0000 (10:26 +0000)]
* pa/x-pa-mpeix: New file for the MPE port.
From-SVN: r29166
Mark Klein [Tue, 7 Sep 1999 10:23:53 +0000 (10:23 +0000)]
* pa/quadlib.asm: New file for long double support.
From-SVN: r29165