Alexandre Oliva [Sat, 18 Sep 1999 11:23:55 +0000 (11:23 +0000)]
* inline1.C: New test.
From-SVN: r29495
Martin v. Löwis [Sat, 18 Sep 1999 10:46:07 +0000 (10:46 +0000)]
typeck.c (get_member_function_from_ptrfunc): Always consider virtuality inside member pointer.
* typeck.c (get_member_function_from_ptrfunc): Always consider
virtuality inside member pointer.
From-SVN: r29494
Martin v. Löwis [Sat, 18 Sep 1999 10:45:56 +0000 (10:45 +0000)]
New test case.
From-SVN: r29493
Jeff Law [Sat, 18 Sep 1999 07:46:13 +0000 (01:46 -0600)]
Daily bump.
From-SVN: r29492
Jeffrey A Law [Sat, 18 Sep 1999 07:13:31 +0000 (07:13 +0000)]
pa.h (INSN_SETS_ARE_DELAYED): Delete.
* pa.h (INSN_SETS_ARE_DELAYED): Delete.
* pa.c (insn_refs_are_delayed): Renamed from
insn_sets_and_refs_are_delayed.
From-SVN: r29491
Mark Mitchell [Sat, 18 Sep 1999 01:23:20 +0000 (01:23 +0000)]
Turn on function-at-a-time processing.
* cp-tree.h (doing_semantic_analysis_p): New macro.
(SF_DEFAULT): Define to zero, not SF_EXPAND.
(start_handler_parms): Change prototype.
(expand_start_catch_block): Likewise.
(expand_end_catch_block): Likewise.
(expand_start_eh_spec): Likewise.
(expand_end_eh_spec): Declare.
(finish_handler_parms): Change prototype.
(begin_catch_block): Declare.
(finish_handler): Change prototype.
(do_pushlevel): Declare.
(do_poplevel): Likewise.
* decl.c (pushlevel): Don't create
binding levels when not doing semantic analysis.
(poplevel): Don't pop them.
(pushdecl): Assert that we are never called when not doing
semantic analysis.
(pushdecl_top_level): Use push_to_top_level.
(make_label_decl): Don't fiddle with obstacks. Make RTL For the
label when expanding.
(cp_finish_decl): Only inject for-scope variables when doing
semantic analysis. Add comments.
(start_handler_parms): Return the handler parm.
(start_function): Reorganize. Don't clear DECL_INITIAL if it is
already set. Reinitialize from saved function data if available.
Don't pushlevel when not doing semantic analysis.
(store_parm_decls): Only generate RTL when expanding. Only
pushdecl when doing semantic analysis. Set
current_eh_spec_try_block if appropriate.
(finish_function): Simplify. Use do_pushlevel and do_poplevel.
Combine common code. Don't poplevel when not doing semantic
analysis.
(push_cp_function_context): Don't expand functions without an
explicit call to expand_body.
(mark_lang_function): Make eh_spec_try_block and
x_scope_stmt_stack.
* except.c (expand_end_eh_spec): Don't
declare.
(process_start_catch_block): Likewise.
(push_eh_cleanup): Use finish_decl_cleanup.
(initialize_handler_parm): New function.
(expand_start_catch_block): Use it.
(expand_end_catch_block): Use tree-generation functions, not
RTL-generation functions.
(expand_start_eh_spec): Likewise.
(expand_end_eh_spec): Likewise.
(expand_exception_blocks): Simplify.
(start_anon_func): Use do_pushlevel.
(end_anon_func): Use do_poplvel. Call expand_body for the
function.
* expr.c (do_case): Don't call define_case_label.
* init.c (create_temporary_var): Set DECL_CONTEXT for local
variables.
* method.c (emit_thunk): Call expand_body for the
thunk.
(sythesize_method): Likewise.
* parse.y (handler_args): Give it ttype.
(eat_saved_input): Call expand_body.
(base_init): Use do_pushlevel.
(pending_inline): Call expand_body.
(handler): Adjust calls to finish_handler_parms and
finish_handler.
(handler_args): Don't call expand_start_catch_block. Return the
catch parameter. * pt.c (tsubst_expr): Adjust HANDLER handling.
* parse.c: Regenerated.
* rtti.c (synthesize_tinfo_fn): Call finish_function.
* semantics.c (do_pushlevel): Give it external linkage. Build
SCOPE_STMTs.
(do_poplevel): Likewise.
(finish_case_label): Call define_case_label when doing semantic
analysis.
(finish_goto_stmt): Create RTL for labels.
(finish_function_try_block): Set in_function_try_handler
unconditionally.
(finish_function_handler_sequence): Unset it.
(finish_handler_parms): Use expand_start_catch_block even when
building a statement-tree.
(begin_catch_block): New function.
(finish_handler): Move a little RTL-generation logic here.
(finish_decl_cleanup): Allow cleanups for empty declarations.
(finish_named_return_value): Don't pushdecl when not doing
semantic analysis.
(expand_stmt): Don't do semantic analysis for variable
declarations. Handle START_CATCH_STMT. Call expand_label
directly for a LABEL_STMT. Tweak handling of GOTO_STMT. Adjust
HANDLERs. Handle SCOPE_STMT, CTOR_INITIALIZER, and RETURN_INIT.
(expand_body): Let expand_stmt handle CTOR_INITIALIZER,
RETURN_INIT and function try blocks.
From-SVN: r29490
Mark Mitchell [Fri, 17 Sep 1999 23:45:52 +0000 (23:45 +0000)]
cp-tree.h (language_function): Add x_eh_spec_try_block.
* cp-tree.h (language_function): Add x_eh_spec_try_block. Add
x_scope_stmt_stack. Add x_in_charge_parm.
(current_eh_spec_try_block): New macro.
(current_scope_stmt_stack): Likewise.
(current_in_charge_parm): Likewise.
* decl.c (start_function): Initialize current_in_charge_parm.
(finish_function): Use current_in_charge_parm rather than looking
up __in_chrg.
* search.c (expand_indirect_vtbls_init): Likewise.
From-SVN: r29489
Mark Mitchell [Fri, 17 Sep 1999 23:14:49 +0000 (23:14 +0000)]
cp-tree.def (CLEANUP_STMT): Fix spelling in dumps.
* cp-tree.def (CLEANUP_STMT): Fix spelling in dumps.
(TRY_BLOCK): Likewise.
(HANDLER): Likewise.
(START_CATCH_STMT): New tree node.
(SCOPE_STMT): Likewise.
* cp-tree.h (SCOPE_BEGIN_P): New macro.
(SCOPE_NULLIFIED_P): Likewise.
(struct lang_decl_flags): Add pending_inline_p. Adjust dummy.
(struct lang_decl): Add saved_language_function.
(DECL_PENDING_INLINE_INFO): Adjust documentation.
(DECL_PENDING_INLINE_P): New macro.
(TYPE_TI_ARGS): Fix typo in comment.
(DECL_SAVED_TREE): Add to documentation.
(DECL_SAVED_FUNCTION_DATA): New macro.
(START_CATCH_TYPE): Likewise.
(SCOPE_END_P): New macro.
(declare_parm_level): Don't declare.
* decl.c (mark_lang_function): New function, split out from
mark_cp_function_context.
(save_function_data): New function.
(declare_parm_level): Remove.
(finish_function): Use save_function_data to squirrel away
important stuff for later use.
(mark_cp_function_context): Use mark_function_data.
(lang_mark_tree): Likewise.
* lex.c (begin_definition_of_inclass_inline): Set
DECL_PENDING_INLINE_P.
(store_pending_inline): Clear it.
* pt.c (tsubst_decl): Likewise.
From-SVN: r29488
Mark Mitchell [Fri, 17 Sep 1999 22:18:59 +0000 (22:18 +0000)]
functiion.h (struct function): Add x_whole_function_mode_p.
* functiion.h (struct function): Add x_whole_function_mode_p.
(retrofit_block): Declare.
* function.c (retrofit_block): New function.
(identify_blocks): Add assertions. Allow an incomplete set of
block notes if we're still generating code for the function.
* integrate.c: Include loop.h.
(expand_inline_function): Call find_loop_tree_blocks to map block
notes to blocks when in whole-function mode. Use retrofit_block
to insert new BLOCKs for the inlined function, rather than
insert_block.
* stmt.c (expand_fixup): Likewise. Don't use pushlevel/polevel.
* Makefile.in (integrate.o): Depend on loop.h.
From-SVN: r29487
Mark Mitchell [Fri, 17 Sep 1999 22:13:07 +0000 (22:13 +0000)]
tree.h (warn_about_unused_variables): Declare.
* tree.h (warn_about_unused_variables): Declare.
* stmt.c (warn_about_unused_variables): New function, split out
from ...
(expand_end_bindings): Here.
From-SVN: r29486
Mark Mitchell [Fri, 17 Sep 1999 22:04:28 +0000 (22:04 +0000)]
stmt.c (preserve_subexpressions_p): Don't crash when current_function->stmt is unset.
* stmt.c (preserve_subexpressions_p): Don't crash when
current_function->stmt is unset.
From-SVN: r29485
Mark Mitchell [Fri, 17 Sep 1999 22:01:23 +0000 (22:01 +0000)]
stmt.c (expand_start_bindings): Allow callers to pass a flag indicating that no NOTE_INSN_BLOCK_BEG note is...
* stmt.c (expand_start_bindings): Allow callers to pass a flag
indicating that no NOTE_INSN_BLOCK_BEG note is required.
(expand_start_target_temps): Use it.
* except.c (expand_eh_region_start_for_decl): Likewise.
* expr.c (expand_expr): Likewise.
From-SVN: r29484
Gavin Romig-Koch [Fri, 17 Sep 1999 19:06:50 +0000 (19:06 +0000)]
* fold-const.c (operand_equal_p): Pay attention to side effects.
From-SVN: r29483
Jason Merrill [Fri, 17 Sep 1999 18:54:29 +0000 (14:54 -0400)]
typo
From-SVN: r29482
Jason Merrill [Fri, 17 Sep 1999 18:37:48 +0000 (18:37 +0000)]
libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
* libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
* sparc/sunos4.h (HAVE_ON_EXIT): Remove.
From-SVN: r29481
Jason Merrill [Fri, 17 Sep 1999 18:35:51 +0000 (14:35 -0400)]
new
From-SVN: r29480
Jason Merrill [Fri, 17 Sep 1999 18:35:31 +0000 (18:35 +0000)]
tlink.c (scan_linker_output): Look for keywords before accepting a mangled name in quotes.
* tlink.c (scan_linker_output): Look for keywords before accepting
a mangled name in quotes.
From-SVN: r29479
Nathan Sidwell [Fri, 17 Sep 1999 18:25:54 +0000 (18:25 +0000)]
Revert call.c 1.173 change, do same effect, but more obviously.
* call.c (perform_implicit_conversion): Deal with error_mark_node.
From-SVN: r29478
Mark Mitchell [Fri, 17 Sep 1999 18:15:21 +0000 (18:15 +0000)]
decl.c (warn_extern_redeclared_static): Don't get confused by static member functions.
* decl.c (warn_extern_redeclared_static): Don't get confused by
static member functions.
(duplicate_decls): Merge DECL_THIS_STATIC.
* decl.c (expand_static_init): Make sure assignments to local
statics actually occur.
From-SVN: r29477
Gabriel Dos Reis [Fri, 17 Sep 1999 15:19:20 +0000 (15:19 +0000)]
1999-09017 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
* std/valarray_array.h (__valarray_copy): Fix typo.
From-SVN: r29476
Nathan Sidwell [Fri, 17 Sep 1999 10:59:07 +0000 (10:59 +0000)]
* call.c (perform_implicit_conversion): Deal with error_mark_node.
From-SVN: r29475
Gabriel Dos Reis [Fri, 17 Sep 1999 09:08:26 +0000 (11:08 +0200)]
complext.cc (pow): Don't expect floating point promotion in presence of template argument deduction.
1999-09-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
* std/complext.cc (pow): Don't expect floating point promotion
in presence of template argument deduction. There is no such
thing.
From-SVN: r29474
Jeff Law [Fri, 17 Sep 1999 07:45:09 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29473
Mark Mitchell [Fri, 17 Sep 1999 07:35:07 +0000 (07:35 +0000)]
cp-tree.h (poplevel_class): Declare.
* cp-tree.h (poplevel_class): Declare.
* class.c (popclass): Use poplevel_class, not poplevel.
* decl.c (poplevel_class): Don't make it static. Don't return a
value.
(poplevel): Don't call poplevel_class; abort in a class
binding level is seen.
* semantics.c (finish_translation_unit): Use pop_everything.
* parse.y (member_init): Allow errors.
(pending_inline): Call finish_function.
* parse.c: Regenerated.
* Makefile.in (CONFLICTS): Adjust.
From-SVN: r29472
Jason Merrill [Fri, 17 Sep 1999 06:30:59 +0000 (02:30 -0400)]
revert
From-SVN: r29471
Gabriel Dos Reis [Fri, 17 Sep 1999 03:07:00 +0000 (03:07 +0000)]
Add missing Changelog entry.
From-SVN: r29470
Gabriel Dos Reis [Fri, 17 Sep 1999 01:49:29 +0000 (01:49 +0000)]
error.c: Reduce code duplication.
1999-09-17 Gabriel Dos Reis <gdr@codesourcery.com>
* error.c: Reduce code duplication.
(dump_template_value): New function.
(dump_type_real): Use it.
(dump_decl): Likewise.
(dump_function_name): Likewise.
(dump_function_decl): Don't be too talkative about function return
type variety.
From-SVN: r29469
Jason Merrill [Fri, 17 Sep 1999 01:44:05 +0000 (01:44 +0000)]
decl.c (saved_scope_p): New fn.
* decl.c (saved_scope_p): New fn.
* class.c (pushclass): Don't clear class_cache_obstack if we have
saved scopes.
From-SVN: r29468
Richard Henderson [Thu, 16 Sep 1999 23:48:09 +0000 (16:48 -0700)]
alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
* alpha/alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
* alpha/osf2or3.h (DWARF2_UNWIND_INFO): Likewise.
From-SVN: r29467
Richard Henderson [Thu, 16 Sep 1999 23:38:51 +0000 (16:38 -0700)]
alpha.md: Revert Thu Nov 26 change that came in through the last gcc2 merge...
* alpha.md: Revert Thu Nov 26 change that came in through the
last gcc2 merge: reinstate (plus (plus ...)) reload patterns.
Avoid earlyclobber when possible.
From-SVN: r29466
Kaveh R. Ghazi [Thu, 16 Sep 1999 22:51:47 +0000 (22:51 +0000)]
libgcc2.c (__do_global_ctors): Call atexit with one arg.
* libgcc2.c (__do_global_ctors): Call atexit with one arg.
* sparc/sunos4.h (on_exit): Wrap prototype parameters in PARAMS().
Define HAVE_ON_EXIT.
From-SVN: r29465
Kaveh R. Ghazi [Thu, 16 Sep 1999 22:33:10 +0000 (22:33 +0000)]
lex.c (init_cpp_parse): Call xcalloc, not malloc/bzero.
* lex.c (init_cpp_parse): Call xcalloc, not malloc/bzero.
* xref.c (SALLOC): Call xstrdup, not xmalloc/strcpy.
From-SVN: r29464
Kaveh R. Ghazi [Thu, 16 Sep 1999 22:20:44 +0000 (22:20 +0000)]
system.h (CTYPE_CONV, [...]): New macros.
* system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros. Use
CTYPE_CONV in all ctype macros.
* cccp.c (initialize_char_syntax): Use uppercase ctype macro
from system.h.
* cexp.y (initialize_random_junk): Likewise.
* c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.
* i370.c (handle_pragma): Likewise.
* i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.
* v850.c (override_options): Likewise.
* doprint.c (_doprnt): Likewise.
* fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
Likewise.
* fixinc/server.c (load_data): Likewise.
* fold-const.c (real_hex_to_f): Likewise.
* genattr.c (write_upcase, gen_attr): Likewise.
* genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
write_upcase): Likewise.
* genemit.c (print_code): Likewise.
* genopinit.c (gen_insn): Likewise.
* genpeep.c (print_code): Likewise.
* genrecog.c (print_code): Likewise.
* optabs.c (init_libfuncs): Likewise.
ch:
* lex.c (maybe_downcase, getlc, handle_generic_pragma,
check_newline): Likewise.
f:
* bad.c (ffebad_finish): Likewise.
* fini.c (main): Likewise.
* intrin.c (ffeintrin_init_0): Likewise.
* lex.c (ffelex_hash_): Likewise.
* src.c (ffesrc_init_1): Likewise.
From-SVN: r29463
Mark Mitchell [Thu, 16 Sep 1999 21:00:21 +0000 (21:00 +0000)]
haifa-sched.c (sched_analyze): Keep the list of notes organized in pairs.
* haifa-sched.c (sched_analyze): Keep the list of notes organized
in pairs.
(reemit_notes): Likewise.
From-SVN: r29462
Alex Samuel [Thu, 16 Sep 1999 19:27:01 +0000 (12:27 -0700)]
ggc.h (ggc_root): Move to ggc-common.c.
Thu Sep 16 11:50:52 1999 Alex Samuel <samuel@codesourcery.com>
* ggc.h (ggc_root): Move to ggc-common.c.
(roots): Remove.
(ggc_mark_rtx, ggc_mark_tree): Change to macro.
(ggc_mark_rtvec, ggc_mark_tree_varray): Declare extern.
(ggc_mark_tree_hash_table, ggc_mark_string, ggc_mark): Likewise.
(ggc_mark_roots, ggc_mark_rtx_children, ggc_mark_tree_children): New.
* ggc-common.c (ggc_root): Move from ggc.h.
(roots): Declare, static.
(ggc_mark_rtx, ggc_mark_tree): Renamed to...
(ggc_mark_rtx_children, ggc_mark_tree_children): Don't check for
null or check/set mark bit.
(ggc_mark_roots): New.
* ggc-simple.c (ggc_collect): Call ggc_mark_roots.
From-SVN: r29461
Mark Mitchell [Thu, 16 Sep 1999 18:54:23 +0000 (18:54 +0000)]
Add missing ChangeLog entry
From-SVN: r29460
Richard Henderson [Thu, 16 Sep 1999 18:38:52 +0000 (11:38 -0700)]
m32r.c: Include toplev.h.
* m32r.c: Include toplev.h.
(*): Add ATTRIBUTE_UNUSED as needed to arguments.
(gen_compare): Rename swap_p to must_swap to match uses.
Add default abort case.
(m32r_output_function_epilogue): Remove unused variables.
(m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
* m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
define to empty parameter list. Update all uses.
(predicate decls): Use enum machine_mode not int.
* m32r.md (movsi): Call abort, not fatal_insn.
(zero_branch_insn, rev_zero_branch_insn): Add default abort case.
From-SVN: r29459
Jason Merrill [Thu, 16 Sep 1999 17:48:20 +0000 (17:48 +0000)]
decl2.c (finish_file): Also call check_global_declarations for the pending_statics list.
* decl2.c (finish_file): Also call check_global_declarations for
the pending_statics list.
From-SVN: r29458
Kaveh R. Ghazi [Thu, 16 Sep 1999 15:45:15 +0000 (15:45 +0000)]
gjavah.c (get_field_name, [...]): Use xmalloc, not malloc.
* gjavah.c (get_field_name, print_method_info, print_include,
add_namelet): Use xmalloc, not malloc.
* jcf-depend.c (add_entry): Likewise. Use xstrdup, not strdup.
(munge): Use xrealloc, not realloc, trust xrealloc to handle a
NULL pointer.
* jcf-io.c (open_in_zip, find_class): Use xstrdup, not strdup.
* jcf-parse.c (jcf_out_of_synch, yyparse): Likewise.
* jcf-path.c (add_entry): Likewise.
* jcf.h (ALLOC, REALLOC): Use xmalloc/xrealloc, not malloc/realloc.
* jv-scan.c (xmalloc): Remove definition.
* jvgenmain.c (xmalloc): Likewise.
* jvspec.c (lang_specific_driver): Use xcalloc, not xmalloc/bzero.
* lex.c (java_store_unicode): Use xrealloc, not realloc.
* parse-scan.y: Use concat, not of xmalloc/assign/strcpy. Use
concat, not xmalloc/sprintf.
(java_push_parser_context): Use xcalloc, not xmalloc/bzero.
(xstrdup): Remove definition.
* parse.y (duplicate_declaration_error_p,
constructor_circularity_msg, verify_constructor_circularity,
check_abstract_method_definitions, java_check_regular_methods,
java_check_abstract_methods, patch_method_invocation,
check_for_static_method_reference, patch_assignment, patch_binop,
patch_cast, array_constructor_check_entry, patch_return,
patch_conditional_expr): Use xstrdup, not strdup.
* zextract.c (ALLOC): Use xmalloc, not malloc.
From-SVN: r29457
Andrew Haley [Thu, 16 Sep 1999 12:06:56 +0000 (12:06 +0000)]
mips.md (movsi_usw): if operand 1 is const_int 0, use $0 instead of 0.
1999-09-14 Andrew Haley <aph@cygnus.com>
* config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
use $0 instead of 0.
From-SVN: r29456
Bernd Schmidt [Thu, 16 Sep 1999 09:55:48 +0000 (09:55 +0000)]
Bugfix in order_regs_for_reload
From-SVN: r29455
Jeff Law [Thu, 16 Sep 1999 07:45:10 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29454
Mark Mitchell [Thu, 16 Sep 1999 04:39:52 +0000 (04:39 +0000)]
function.c (identify_blocks): Don't shadow a variable in an outer scope.
* function.c (identify_blocks): Don't shadow a variable in an
outer scope.
* integrate.c (integrate_decl_tree): Don't use pushlevel,
pushdecl, or poplevel to build up the new BLOCK tree.
(expand_inline_function): Likewise.
(integrate_parm_decls): Likewise.
From-SVN: r29453
Mark Mitchell [Thu, 16 Sep 1999 04:16:32 +0000 (04:16 +0000)]
* c-typeck.c (qualify_type): Merge qualifiers from both types.
From-SVN: r29451
Mark Mitchell [Thu, 16 Sep 1999 01:20:45 +0000 (01:20 +0000)]
decl.c (warn_extern_redeclared_static): Simplify.
* decl.c (warn_extern_redeclared_static): Simplify. Catch
problems with extern "C" functions redeclared as static.
(duplicate_decls): When a builtin is redeclared static, make the
new function have internal linkage.
From-SVN: r29450
Brad Lucier [Thu, 16 Sep 1999 01:17:50 +0000 (01:17 +0000)]
toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
* toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
* invoke.texi: Document this change.
From-SVN: r29449
Richard Henderson [Thu, 16 Sep 1999 01:12:25 +0000 (18:12 -0700)]
emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
* emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
Free the struct.
(mark_emit_status): Renamed from mark_emit_state.
* except.c (mark_eh_status): Renamed from mark_eh_state.
Check not null before marking.
(free_eh_status): New.
* expr.c (mark_expr_status, free_expr_status): New.
* function.c (free_machine_status): New.
(free_after_parsing): New.
(free_after_compilation): Move bits to free_after_parsing; call
free_eh_status, free_expr_status; zero the marked members of the
function state.
(prepare_function_start): No can_garbage_collect.
Call init_eh_for_function.
(expand_dummy_function_end): Free up current_function state.
(mark_function_status): Renamed from mark_function_state.
(mark_function_chain): No can_garbage_collect. Call mark_expr_status.
* function.h (struct function): No can_garbage_collect.
(free_machine_status, free_after_parsing): Declare.
(free_eh_status, free_expr_status): Declare.
* ggc.h (mark_expr_status): Declare.
* stmt.c (free_stmt_status): Free the struct.
(mark_stmt_status): Renamed from mark_stmt_state.
(init_stmt): Don't call init_eh.
(init_stmt_for_function): Don't call init_eh_for_function.
* toplev.c (compile_file): Call init_eh.
(rest_of_compilation): Free basic block info before ggc_collect.
Call free_after_parsing; conditionally call free_after_compilation.
* varasm.c (mark_varasm_status): Renamed from mark_varasm_state.
Check not null before marking.
From-SVN: r29448
Richard Henderson [Thu, 16 Sep 1999 00:54:31 +0000 (17:54 -0700)]
* c-lex.c (yylex): Initialize warn.
From-SVN: r29447
Jeffrey A Law [Thu, 16 Sep 1999 00:38:00 +0000 (00:38 +0000)]
pa.c (emit_move_sequence): Properly set the mode of the scratch register when...
* pa.c (emit_move_sequence): Properly set the mode of the scratch
register when performing secondary reloads for the SAR register.
From-SVN: r29446
Mark Mitchell [Thu, 16 Sep 1999 00:23:25 +0000 (00:23 +0000)]
* tree.h (reorder_block): Change prototype.
From-SVN: r29445
Jason Merrill [Thu, 16 Sep 1999 00:02:09 +0000 (00:02 +0000)]
lex.c (cp_pragma_implementation): Allow #pragma implementation in header files.
* lex.c (cp_pragma_implementation): Allow #pragma implementation
in header files.
From-SVN: r29444
Jason Merrill [Thu, 16 Sep 1999 00:01:54 +0000 (20:01 -0400)]
fix comment
From-SVN: r29443
Richard Henderson [Wed, 15 Sep 1999 23:08:16 +0000 (16:08 -0700)]
* lex.c (mark_impl_file_chain): Follow the next chain.
From-SVN: r29442
Mark Mitchell [Wed, 15 Sep 1999 23:05:05 +0000 (23:05 +0000)]
rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
* rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
(NOTE_BLOCK): New macro.
(NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
* function.h (identify_blocks): CHange prototype.
* function.c (identify_blocks): Simplify.
(reorder_blocks): Likewise.
* ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a
NOTE_INSN_BLOCK_{BEG,END}.
* haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
the list of saved notes if the note isn't a
NOTE_INSN_BLOCK_{BEG,END}.
(move_insn1): Use NOTE_EH_HANDLER in comment, rather than
NOTE_BLOCK_NUMBER.
(reemit_notes): Adjust recreation of notes to reflect new saved
note structure.
* print-rtl.c (print_rtx): Print the address of the BLOCK when
printing a block note.
* stmt.c (block_vector): Remove.
(find_loop_tree_blocks): Simplify.
(unroll_block_trees): Likewise.
From-SVN: r29441
Mark Mitchell [Wed, 15 Sep 1999 22:49:33 +0000 (22:49 +0000)]
decl2.c (build_expr_from_tree): Handle VA_ARG_EXPR.
* decl2.c (build_expr_from_tree): Handle VA_ARG_EXPR.
* pt.c (tsubst_copy): Likewise.
* tree.c (search_tree): Likewise.
(mapcar): Likewise.
From-SVN: r29440
Jason Merrill [Wed, 15 Sep 1999 21:41:16 +0000 (21:41 +0000)]
gbl-ctors.h: Lose HAVE_ATEXIT.
* gbl-ctors.h: Lose HAVE_ATEXIT. Don't define ON_EXIT.
* libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
(__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
(__do_global_dtors): Likewise. Don't mess with _exit_dummy_decl.
(atexit, exit): Simplify.
* tm.texi: Document NEED_ATEXIT and ON_EXIT. Remove HAVE_ATEXIT.
* config/lots: Remove defns of HAVE_ATEXIT.
From-SVN: r29439
Mark Mitchell [Wed, 15 Sep 1999 17:21:35 +0000 (17:21 +0000)]
calls.c (precompute_arguments): Fix typo in comment.
* calls.c (precompute_arguments): Fix typo in comment.
* expr.c (preexpand_calls): Don't preexpand the cleanup in a
TARGET_EXPR.
From-SVN: r29438
Mark Mitchell [Wed, 15 Sep 1999 16:55:37 +0000 (16:55 +0000)]
* dsp16xx.c (override_options): Fix typos in GC root registration.
From-SVN: r29437
Philip Blundell [Wed, 15 Sep 1999 14:27:19 +0000 (14:27 +0000)]
Fix profiling support and unique section support.
From-SVN: r29436
Kaveh R. Ghazi [Wed, 15 Sep 1999 14:18:33 +0000 (14:18 +0000)]
* actions.c (warn_unhandled): Use xstrdup, not xmalloc/strcpy.
From-SVN: r29435
Kaveh R. Ghazi [Wed, 15 Sep 1999 14:13:50 +0000 (14:13 +0000)]
genattr.c (main): Add extern prototype.
* genattr.c (main): Add extern prototype. Call return, not exit.
* genattrtab.c (main): Likewise.
* gencheck.c (main): Likewise.
* gencodes.c (main): Likewise.
* genconfig.c (main): Likewise.
* genemit.c (main): Likewise.
* genextract.c (main): Likewise.
* genflags.c (main): Likewise.
* gengenrtl.c (main): Likewise.
* genopinit.c (main): Likewise.
* genoutput.c (main): Likewise.
* genpeep.c (main): Likewise.
* genrecog.c (main): Likewise.
* genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
* genattrtab.c (get_insn_name): Likewise.
* gencodes.c (get_insn_name): Likewise.
* genconfig.c (get_insn_name): Likewise.
* genemit.c (get_insn_name): Likewise.
* genextract.c (get_insn_name): Likewise.
* genflags.c (get_insn_name): Likewise.
* genopinit.c (get_insn_name): Likewise.
* genpeep.c (get_insn_name): Likewise.
* gencheck.c (usage): Add static prototype.
* genextract.c (print_path): Constify a char*.
* genopinit.c (optabs): Likewise.
* genoutput.c (operand_data, data, output_predicate_decls,
compare_operands): Likewise.
* genrecog.c (write_tree): Add default case in switch.
From-SVN: r29434
Kaveh R. Ghazi [Wed, 15 Sep 1999 14:04:10 +0000 (14:04 +0000)]
rtl.h (get_insn_name, [...]): Add prototypes.
* rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.
* print-rtl.c (get_insn_name): Remove prototype.
* toplev.h (progname): Declare const.
* toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
dump_sched_info, dump_local_alloc, regset_release_memory,
print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
error_with_file_and_line, error_with_decl, error_for_asm, error,
fatal, warning_with_file_and_line, warning_with_decl, warning,
pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
Remove redundant prototypes.
(notice, check_lang_option, report_file_and_line, vnotice,
mark_file_stack): Add static prototype.
(set_fatal_function): Add prototype.
(vnotice, report_file_and_line, set_fatal_function,
check_lang_option): Constify a char*.
(main): Prototype. Call return, not exit.
cp:
* typeck2.c (ack): Don't declare progname.
From-SVN: r29433
Kaveh R. Ghazi [Wed, 15 Sep 1999 13:53:46 +0000 (13:53 +0000)]
aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
* aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
* configure.in (AC_GCC_C_LONG_DOUBLE): Call it.
* gansidecl.h (HAVE_LONG_DOUBLE): Define if gcc for stage2.
* ggc-simple.c (HAVE_LONG_DOUBLE): Test before using long double.
From-SVN: r29432
Bernd Schmidt [Wed, 15 Sep 1999 10:07:22 +0000 (10:07 +0000)]
Remove second arg from assign_parms
From-SVN: r29431
Nathan Sidwell [Wed, 15 Sep 1999 08:58:51 +0000 (08:58 +0000)]
typeck.c (expr_sizeof): Reinstall and augment OFFSET_REF comment.
* typeck.c (expr_sizeof): Reinstall and augment OFFSET_REF
comment.
From-SVN: r29429
Jeff Law [Wed, 15 Sep 1999 07:45:08 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29428
Alexandre Oliva [Wed, 15 Sep 1999 06:11:48 +0000 (06:11 +0000)]
lex.c (cp_pragma_interface, [...]): Copy filenames with ggc_alloc_string.
* lex.c (cp_pragma_interface, cp_pragma_implementation): Copy
filenames with ggc_alloc_string.
From-SVN: r29427
Mark Mitchell [Wed, 15 Sep 1999 06:09:53 +0000 (06:09 +0000)]
decl.c (build_target_expr): Set TREE_SIDE_EFFECTS on the TARGET_EXPR.
* decl.c (build_target_expr): Set TREE_SIDE_EFFECTS on the
TARGET_EXPR.
* call.c (build_over_call): Don't set TREE_SIDE_EFFECTS on
the TARGET_EXPR.
* cvt.c (build_up_reference): Likewise.
* tree.c (build_cplus_new): Likewise.
(get_target_expr): Likewise.
From-SVN: r29426
Jeffrey A Law [Wed, 15 Sep 1999 04:05:38 +0000 (04:05 +0000)]
cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to arg_pointer_rtx fixed if...
* cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
arg_pointer_rtx fixed if the argument pointer register is
not fixed.
(NONZERO_BASE_PLUS_P): Likewise.
From-SVN: r29425
Richard Henderson [Wed, 15 Sep 1999 03:42:26 +0000 (20:42 -0700)]
Makefile.in (USER_H): Remove va-foo.h.
* Makefile.in (USER_H): Remove va-foo.h.
* ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h,
va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h,
va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h,
va-spur.h,va-v850.h}: Remove.
From-SVN: r29424
Richard Henderson [Wed, 15 Sep 1999 03:32:55 +0000 (20:32 -0700)]
* genrecog.c (add_to_sequence): Rename MATCH_INSN2.
From-SVN: r29423
Richard Henderson [Wed, 15 Sep 1999 03:28:12 +0000 (20:28 -0700)]
rtl.def (match_insn, [...]): Remove match_insn; rename match_insn2 to match_insn.
* rtl.def (match_insn, match_insn2): Remove match_insn; rename
match_insn2 to match_insn.
From-SVN: r29422
Richard Henderson [Wed, 15 Sep 1999 02:48:32 +0000 (19:48 -0700)]
sparc.md (eligible_for_return_delay): New attribute.
* sparc/sparc.md (eligible_for_return_delay): New attribute.
(in_return_delay): Use it instead of match_insn.
From-SVN: r29421
Alexandre Oliva [Wed, 15 Sep 1999 02:09:41 +0000 (02:09 +0000)]
va_list.h (va-alpha.h): Do not include.
* config/alpha/va_list.h (va-alpha.h): Do not include.
(__gnuc_va_list): Typedef as in varargs.h.
From-SVN: r29420
Richard Henderson [Wed, 15 Sep 1999 01:14:59 +0000 (18:14 -0700)]
ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and DECL_LIVE_RANGE_RTL.
* ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and
DECL_LIVE_RANGE_RTL.
From-SVN: r29419
Mark Mitchell [Tue, 14 Sep 1999 23:51:34 +0000 (23:51 +0000)]
except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER, not NOTE_BLOCK_NUMBER.
* except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
not NOTE_BLOCK_NUMBER.
(expand_eh_region_end): Likewise.
(find_exception_handler_labels): Likewise.
(scan_region): Likewise.
(exception_optimize): Likewise.
(update_rethrow_references): Likewise.
(set_insn_eh_region): Likewise.
* final.c (final_scan_insn): Likewise.
* flow.c (make_edges): Likewise.
* integrate.c (expand_inline_function): Likewise.
* print-rtl.c (print_rtx): Likewise.
From-SVN: r29418
Richard Henderson [Tue, 14 Sep 1999 23:30:44 +0000 (16:30 -0700)]
stdarg.h, varargs.h: Implement in terms of builtin functions and types.
* ginclude/stdarg.h, ginclude/varargs.h: Implement in
terms of builtin functions and types.
From-SVN: r29416
Richard Henderson [Tue, 14 Sep 1999 23:29:48 +0000 (16:29 -0700)]
sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
* sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
(sh_build_va_list, sh_va_start, sh_va_arg): New.
* sh.h (BUILD_VA_LIST_TYPE): New.
(EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
From-SVN: r29415
Richard Henderson [Tue, 14 Sep 1999 23:29:31 +0000 (16:29 -0700)]
mips.c (mips_build_va_list): New.
* mips.c (mips_build_va_list): New.
(mips_va_start, mips_va_arg): New.
* mips.h (BUILD_VA_LIST_TYPE): New.
(EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
From-SVN: r29414
Richard Henderson [Tue, 14 Sep 1999 23:23:17 +0000 (16:23 -0700)]
recog.h (struct recog_data): Make dup_num...
* recog.h (struct recog_data): Make dup_num, operand_address_p,
n_operands, n_dups, n_alternatives `char' instead of `unsigned char'.
(struct insn_data): Likewise with n_operands, n_dups,
n_alternatives, output_format.
* regclass.c (scan_one_insn): Cast n_operands to int before
arithmetic inside comparison.
From-SVN: r29413
Richard Henderson [Tue, 14 Sep 1999 22:14:31 +0000 (15:14 -0700)]
* toplev.c (compile_function): Unconditionally emit nop.
From-SVN: r29412
Kaveh R. Ghazi [Tue, 14 Sep 1999 18:44:10 +0000 (18:44 +0000)]
haifa-sched.c (actual_hazard): Move declaration of variable `this_cost' into the scope where it is used.
* haifa-sched.c (actual_hazard): Move declaration of variable
`this_cost' into the scope where it is used.
From-SVN: r29411
Kaveh R. Ghazi [Tue, 14 Sep 1999 18:19:09 +0000 (18:19 +0000)]
c-pragma.c (handle_pragma_token): Wrap variables `name' and `value' in HANDLE_PRAGMA_WEAK.
* c-pragma.c (handle_pragma_token): Wrap variables `name' and
`value' in HANDLE_PRAGMA_WEAK. Wrap variable `align' in
HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
* genrecog.c (make_insn_sequence): Call memset, not bzero.
* jump.c (find_insert_position): Don't declare or define unless
!HAVE_conditional_arithmetic.
(returnjump_p_1, delete_prior_computation): Add static prototypes.
* mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
* recog.c (offsettable_address_p): Prototype function pointer.
(preprocess_constraints): Call memset, not bzero.
* tree.c (tree_node_kind_names): Constify a char*. Make static.
(gcc_obstack_init): Don't declare.
(fix_sizetype): Add static prototype.
(gcc_obstack_init): Use prototype casts in call to _obstack_begin.
(tree_cons): Call memset, not bzero.
* varasm.c (remove_from_pending_weak_list): Wrap declaration and
definition in macro ASM_WEAKEN_LABEL.
(mark_const_hash_entry): Add static prototype.
From-SVN: r29410
Kaveh R. Ghazi [Tue, 14 Sep 1999 16:27:32 +0000 (16:27 +0000)]
c-lex.c (handle_generic_pragma): Remove unused variable `c'.
* c-lex.c (handle_generic_pragma): Remove unused variable `c'.
* unroll.c (find_common_reg_term, subtract_reg_term,
loop_find_equiv_value): Add static prototypes.
(unroll_loop): Wrap variable `prev' in macro HAVE_cc0.
(copy_loop_body): Remove unreachable break statement.
* sparc.c (sparc_va_arg): Remove unused variable `tmp'.
* sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes.
From-SVN: r29409
Kaveh R. Ghazi [Tue, 14 Sep 1999 16:16:31 +0000 (16:16 +0000)]
g77spec.c (lang_specific_driver): Remove unnecessary argument in call to function `fatal'.
* g77spec.c (lang_specific_driver): Remove unnecessary argument in
call to function `fatal'.
From-SVN: r29408
Bernd Schmidt [Tue, 14 Sep 1999 14:37:12 +0000 (14:37 +0000)]
Undo bogus changes from gcc2 merge
From-SVN: r29407
Tom Tromey [Tue, 14 Sep 1999 14:19:59 +0000 (14:19 +0000)]
java-insns.h: Turned constants into an enum.
* include/java-insns.h: Turned constants into an enum. Added
multiple-inclusion protection.
From-SVN: r29406
Mumit Khan [Tue, 14 Sep 1999 10:13:49 +0000 (10:13 +0000)]
* gthr-win32.h: New file.
From-SVN: r29405
Mumit Khan [Tue, 14 Sep 1999 10:06:06 +0000 (10:06 +0000)]
winnt.c (i386_pe_valid_decl_attribute_p): Recognize shared as a valid attribute.
* i386/winnt.c (i386_pe_valid_decl_attribute_p): Recognize
shared as a valid attribute.
* i386/cygwin.h (ASM_OUTPUT_SECTION): Handle shared attribute.
* extend.texi: Document `shared' variable attribute.
From-SVN: r29404
Loren J. Rittle [Tue, 14 Sep 1999 10:04:04 +0000 (04:04 -0600)]
configure.in: Handle --enable-threads on FreeBSD.
* configure.in: Handle --enable-threads on FreeBSD.
* configure: Rebuit.
From-SVN: r29403
Andreas Jaeger [Tue, 14 Sep 1999 10:01:01 +0000 (10:01 +0000)]
configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add thread support.
* configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add
thread support.
* configure: Rebuilt.
From-SVN: r29402
Joel Sherrill [Tue, 14 Sep 1999 09:52:09 +0000 (09:52 +0000)]
configure.in (m68k-*-rtemscoff*): Added.
* configure.in (m68k-*-rtemscoff*): Added.
* configure.in (mips64orion-*-rtems*): Converted to ELF.
* configure.in (sparc-*-rtemsaout*): Added as alias for old
sparc-rtems configuration.
* configure.in (sparc-*-rtemself*): Added.
* configure.in (sparc-*-rtems*): Now ELF not a.out.
* config/i386/rtems.h: Added comment.
* config/sparc/rtemself.h: New file.
* configure.in (m68k-rtemself): Added.
* config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
and DWARF_DEBUGGING_INFO.
* config/m68k/crti.s: New file.
* config/m68k/crtn.s: New file.
* config/m68k/t-crtstuff: New file.
* config/m68k/rtemself.h: New file.
* configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
global ctor/dtor and C++ exception handling.
* config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
ENDFILE_SPEC.
* config/i386/t-rtems-i386: New File.
Co-Authored-By: Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
Co-Authored-By: Rosimildo DaSilva <rdasilva@connecttel.com>
From-SVN: r29401
Andreas Schwab [Tue, 14 Sep 1999 07:52:02 +0000 (07:52 +0000)]
stmt.c (expand_end_case): Return right away if the case stack is empty.
* stmt.c (expand_end_case): Return right away if the case stack is
empty.
From-SVN: r29400
Jeffrey A Law [Tue, 14 Sep 1999 07:48:44 +0000 (07:48 +0000)]
Makefile.in (version.c): Remove rule incorrectly brought in from the gcc2 merge.
* Makefile.in (version.c): Remove rule incorrectly brought in from
the gcc2 merge.
From-SVN: r29399
Marc Espie [Tue, 14 Sep 1999 07:46:09 +0000 (07:46 +0000)]
* objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.
From-SVN: r29398
Marc Espie [Tue, 14 Sep 1999 07:45:42 +0000 (07:45 +0000)]
* Makefile.in: Prepend $(SHELL) to move-if-change calls.
From-SVN: r29397
Jeff Law [Tue, 14 Sep 1999 07:45:09 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29396
Marc Espie [Tue, 14 Sep 1999 07:42:59 +0000 (07:42 +0000)]
Makefile.in: Prepend $(SHELL) to move-if-change calls.
* Makefile.in: Prepend $(SHELL) to move-if-change calls.
* msdos/top.sed: Take into account a prepended $(SHELL) to
move-if-change.
* winnt/config-nt.sed: Likewise. Kill bogus substitution.
From-SVN: r29395
J"orn Rennecke [Tue, 14 Sep 1999 07:39:14 +0000 (07:39 +0000)]
regmove.c (fixup_match_1): Don't change an unchanging register.
* regmove.c (fixup_match_1): Don't change an unchanging register.
(stable_but_for_p): Renamed to:
(stable_and_no_regs_but_for_p). Reject unchanging registers too.
Changed all callers.
From-SVN: r29394
Andreas Schwab [Tue, 14 Sep 1999 07:34:59 +0000 (07:34 +0000)]
loop.c (strength_reduce): Don't call reg_used_between_p if the insn from BL2 is after the insn from BL.
* loop.c (strength_reduce): Don't call reg_used_between_p if the
insn from BL2 is after the insn from BL.
From-SVN: r29393