Richard Henderson [Sun, 5 Sep 1999 02:41:35 +0000 (19:41 -0700)]
Makefile.in (tree.o): Depend on ggc.h.
* Makefile.in (tree.o): Depend on ggc.h.
(varasm.o): Likewise.
(function.o): Likewise.
(stmt.o): Likewise.
(except.o): Likewise.
(optabs.o): Likewise.
(emit-rtl.o): Likewise.
* emit-rtl.c: Include ggc.h.
(sequence_element_free_list): Remove, and all references.
(mark_sequence): New functions.
(mark_emit_state): New function.
* except.c: Include ggc.h.
(mark_eh_node, mark_eh_stack, mark_eh_queue): New functions.
(mark_tree_label_node): New functions.
(mark_eh_state): New function.
* function.c: Include ggc.h.
(mark_temp_slot, mark_function_chain): New functions.
(mark_function_state): New function.
(init_function_once): New function.
* function.h (init_function_once): New function.
* ggc-callbacks.c (lang_mark_false_label_stack): New function.
* ggc.h (label_node): Declare.
(eh_status, emit_status, stmt_status, varasm_status): Likewise.
(lang_mark_false_label_stack): New function.
(mark_temp_slot): Remove declaration.
(mark_function_chain): Likewise.
(mark_eh_state): Adjust prototype.
(mark_stmt_state, mark_emit_state, mark_varasm_state, mark_optab):
Likewise.
* optabs.c: Include ggc.h.
(mark_optab): New function.
(init_optabs): Add gc roots.
* stmt.c: Include ggc.h.
(mark_cond_nesting, mark_loop_nesting): New functions.
(mark_block_nesting, mark_case_nesting, mark_goto_fixup): Likewise.
(mark_stmt_state): New function.
* toplev.c (compile_file): Call init_function_once.
* tree.c: Include ggc.h.
(type_hash): Move declaration earlier in file.
(TYPE_HASH_SIZE, type_hash_table): Likewise.
(init_obstacks): Add gc roots.
(mark_type_hash): New function.
* varasm.c: Include ggc.h.
(mark_pool_constant): New function.
(mark_varasm_state): New function.
Co-Authored-By: Bernd Schmidt <bernds@cygnus.co.uk>
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r29119
Kaveh R. Ghazi [Sun, 5 Sep 1999 02:31:20 +0000 (02:31 +0000)]
* ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
From-SVN: r29118
Bernd Schmidt [Sun, 5 Sep 1999 01:06:48 +0000 (01:06 +0000)]
c-decl.c (struct language_function): Renamed from struct c_function.
* c-decl.c (struct language_function): Renamed from struct c_function.
Delete elt NEXT.
(c_function_chain): Delete.
(push_c_function_context): New arg F. Don't warn about nested
functions here. Fill LANGUAGE elt of F. Delete code to update
c_function_chain. Don't call push_function_context.
(pop_c_function_context): New arg F. Restore from there instead of
from c_function_chain. Don't call pop_function_context. Clear out
LANGUAGE field of F when done.
* c-lang.c: Include "function.h"
(lang_init): Initialize save_lang_status and restore_lang_status.
* c-parse.in (nested_function, nested_function_notype): Warn about
nested functions. Call push_function_context/pop_function_context
instead of the _c_ variants.
* c-tree.h (push_c_function_context, pop_c_function_context): Update
prototype.
* Makefile.in (c-lang.o): Update dependencies.
* emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
regno_pointer_flag, regno_pointer_align.
(gen_reg_rtx): Use xrealloc to enlarge them.
(free_emit_status): New function.
* function.c (mark_machine_status, mark_lang_status): New variables.
(assign_stack_local_1): Renamed from assign_outer_stack_local. Merge
in some bits from assign_stack_local. All callers changed to use new
name.
(assign_stack_local): Just call assign_stack_local_1.
(free_after_compilation): New function.
(put_reg_into_stack): Simplify to always call assign_stack_local_1.
(trampoline_address): Likewise.
(assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
(prepare_function_start): Explicitly clear some more variables.
* function.h (struct function): New elt can_garbage_collect.
(mark_machine_status, mark_lang_status): Declare variables.
(free_after_compilation, free_emit_status, free_varasm_status,
init_varasm_status): Declare functions.
* toplev.c (rest_of_compilation): Call free_after_compilation when
done with the current function.
* varasm.c (free_varasm_status): New function.
From-SVN: r29117
Mark Mitchell [Sun, 5 Sep 1999 00:59:59 +0000 (00:59 +0000)]
Make-lang.in (f771): Depend on ggc-callbacks.o.
* Make-lang.in (f771): Depend on ggc-callbacks.o.
* Makefile.in (OBJS): Add ggc-callbacks.o.
(OBJDEPS): Likewise.
From-SVN: r29116
Richard Henderson [Sun, 5 Sep 1999 00:16:18 +0000 (17:16 -0700)]
sparc.h (EXPAND_BUILTIN_VA_START): Define.
* sparc.h (EXPAND_BUILTIN_VA_START): Define.
(EXPAND_BUILTIN_VA_ARG): Define.
* sparc.c (sparc_va_start): New.
(sparc_va_arg): New.
From-SVN: r29115
Michael Hayes [Sat, 4 Sep 1999 23:25:54 +0000 (23:25 +0000)]
* config/c4x/c4x.h (DBR_OUTPUT_SEQEND): Use XVECEXP not XEXPs.
From-SVN: r29114
Mark Mitchell [Sat, 4 Sep 1999 22:34:20 +0000 (22:34 +0000)]
Makefile.in (C_AND_C_OBJS): Add ggc-callbacks.o.
* Makefile.in (C_AND_C_OBJS): Add ggc-callbacks.o.
(OBJS): Add $(GGC).
(ggc-callbacks.o): New target.
* ggc-callbacks.c: New file.
From-SVN: r29113
Michael Hayes [Sat, 4 Sep 1999 22:31:09 +0000 (22:31 +0000)]
c4x.h (CALLER_SAVE_PROFITABLE): Disable.
* config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Disable.
This has been disabled since caller-save has marginal benefit on the c3x/c4x
and it avoids a long standing caller-save bug.
From-SVN: r29112
Mark Mitchell [Sat, 4 Sep 1999 22:24:18 +0000 (22:24 +0000)]
Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
GCC:
Sat Sep 4 13:44:01 1999 Mark Mitchell <mark@codesourcery.com>
* Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
(OBJS): Add $(GCC).
(ggc-callbacks.o): New target.
* ggc-callbacks.c: New file.
Chill:
1999-09-04 Mark Mitchell <mark@codesourcery.com>
* Make-lang.in (cc1chill): Depend on ggc-callbacks.o.
* Makefile.in (CHILL_OBJS): Add ggc-callbacks.o.
C++:
1999-09-04 Mark Mitchell <mark@codesourcery.com>
* Make-lang.in (cc1plus): Remove dependency on GGC.
* Makefile.in (OBJS): Don't mention ggc-simple.o.
(OBJDEPS): Don't mention ggc-simple.o.
F77:
Sat Sep 4 13:46:27 1999 Mark Mitchell <mark@codesourcery.com>
* Make-lang.in (f771): Depend on ggc-callbacks.o.
* Makefile.in (OBJS): Add ggc-callbacks.o.
(OBJDEPS): Likewise.
Objc:
1999-09-04 Mark Mitchell <mark@codesourcery.com>
* Make-lang.in (jc1): Depend on ggc-callbacks.o.
* Makefile.in (OBJS): Add ggc-callbacks.o.
(OBJDEPS): Likewise.
From-SVN: r29111
Bernd Schmidt [Sat, 4 Sep 1999 22:08:44 +0000 (22:08 +0000)]
Convert many single variables to arrays
From-SVN: r29110
Mark Mitchell [Sat, 4 Sep 1999 20:44:51 +0000 (20:44 +0000)]
Make-lang.in (cc1plus): Depend on $(GGC).
* Make-lang.in (cc1plus): Depend on $(GGC).
* Makefile.in (OBJS): Add ggc-simple.o.
(OBJDEPS): Likewise.
* cp-tree.h (language_function): Rename members to `x_' versions;
we now have x_named_labels, x_ctor_label, x_dtor_label,
x_base_init_list, x_member_init_list, x_base_init_expr,
x_current_class_ptr, x_current_class_ref, x_last_tree,
x_last_expr_type, x_last_dtor_insn, x_last_parm_cleanup_insn, and
x_result_rtx.
(dtor_label, ctor_label, current_base_init_list,
current_member_init_list, base_init_expr, current_class_ptr,
current_class_ref, last_tree, last_expr_type): Adjust accordingly.
* decl.c: Include ggc.h.
(last_dtor_insn): Adjust to use x_ names.
(last_parm_cleanup_insn): Likewise.
(original_result_rtx): Likewise.
(named_labels): Likewise.
(mark_binding_level): New function.
(mark_cp_function_context): Likewise.
(mark_false_label_stack): Likewise.
(lang_mark_tree): Likewise.
(lang_cleanup_tree): Likewise.
From-SVN: r29109
Richard Henderson [Sat, 4 Sep 1999 20:00:00 +0000 (13:00 -0700)]
* i386/sco5.h (RETURN_POPS_ARGS): Name change ix86_return_pops_args.
From-SVN: r29108
Mark Mitchell [Sat, 4 Sep 1999 19:03:28 +0000 (19:03 +0000)]
Make-lang.in (cc1plus): Depend on $(GGC).
* Make-lang.in (cc1plus): Depend on $(GGC).
* Makefile.in (OBJS): Add ggc-simple.o.
(OBJDEPS): Likewise.
* cp-tree.h (language_function): Rename members to `x_' versions;
we now have x_named_labels, x_ctor_label, x_dtor_label,
x_base_init_list, x_member_init_list, x_base_init_expr,
x_current_class_ptr, x_current_class_ref, x_last_tree,
x_last_expr_type, x_last_dtor_insn, x_last_parm_cleanup_insn, and
x_result_rtx.
(dtor_label, ctor_label, current_base_init_list,
current_member_init_list, base_init_expr, current_class_ptr,
current_class_ref, last_tree, last_expr_type): Adjust accordingly.
* decl.c: Include ggc.h.
(last_dtor_insn): Adjust to use x_ names.
(last_parm_cleanup_insn): Likewise.
(original_result_rtx): Likewise.
(named_labels): Likewise.
(mark_binding_level): New function.
(mark_cp_function_context): Likewise.
(mark_false_label_stack): Likewise.
(lang_mark_tree): Likewise.
(lang_cleanup_tree): Likewise.
From-SVN: r29107
Richard Henderson [Sat, 4 Sep 1999 18:25:41 +0000 (11:25 -0700)]
Makefile.in (GGC, GGC_LIB): New.
* Makefile.in (GGC, GGC_LIB): New.
(HOST_RTL): Include ggc-none.o.
(ggc-simple.o): New target.
(ggc-none.o): Likewise.
* tree.h (tree_common): Add gc_mark.
* rtl.h (struct rtx_def): Steal a bit from code to make gc_mark.
(struct rtvec_def): Add gc_mark.
* emit-rtl.c (global_rtl): Update static initializers to contain
enough initializers.
* ggc.h, ggc-none.c, ggc-simple.c: New files.
* toplev.c (gc_time): New variable.
(all_time): New variable.
(compile_file): Print gc time.
(print_time): Calculate percentage of the whole.
From-SVN: r29106
Alexandre Oliva [Sat, 4 Sep 1999 18:20:30 +0000 (18:20 +0000)]
Clean up conflict marks introduced in revision 1.4254.
From-SVN: r29105
Jeff Law [Sat, 4 Sep 1999 15:09:22 +0000 (09:09 -0600)]
dummy checkin to prevent merge lossage
From-SVN: r29102
Bernd Schmidt [Sat, 4 Sep 1999 13:09:56 +0000 (13:09 +0000)]
Change memory mangement and constant pool handling for nested functions to match that of normal functions; add init_machine_status mechanism.
From-SVN: r29101
Manfred Hollstein [Sat, 4 Sep 1999 12:20:28 +0000 (12:20 +0000)]
* POTFILES.in: Track files recently added/deleted/moved.
From-SVN: r29100
Jeff Law [Sat, 4 Sep 1999 07:45:08 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29099
Michael Hayes [Sat, 4 Sep 1999 05:13:53 +0000 (05:13 +0000)]
c4x.md (rptb_init): Renamed from *rptb_init.
Sat Sep 4 16:56:28 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.md (rptb_init): Renamed from *rptb_init.
(doloop_begin): Simplify pattern and use emit_jump_insn.
(doloop_end): Simplify pattern, switch operand order,
and use emit_jump_insn.
From-SVN: r29098
Zack Weinberg [Sat, 4 Sep 1999 02:34:10 +0000 (02:34 +0000)]
cast-qual-1.c: Add missing dg-bogus tag.
1999-09-03 19:31 -0700 Zack Weinberg <zack@bitmover.com>
* gcc.dg/cast-qual-1.c: Add missing dg-bogus tag.
* gcc.dg/compare1.c: Fix typo.
* gcc-dg/cpp-unc.c, cpp-unc1.c, cpp-unc2.c, cpp-unc3.c: New
files which test the preprocessor's unterminated conditional
diagnostics.
From-SVN: r29097
Mark Mitchell [Sat, 4 Sep 1999 02:19:29 +0000 (02:19 +0000)]
Makefile.in (CXX_TREE_H): Include function.h.
* Makefile.in (CXX_TREE_H): Include function.h.
(decl.o): Don't depend on function.h.
(decl2.o): Likewise.
(typeck.o): Likewise.
(init.o): Likewise.
(method.o): Likewise.
* cp-tree.h: Include function.h.
(cp_function): Rename to language_function. Remove next.
(cp_function_chain): Make it a macro, not a variable.
(push_cp_function_context): Don't declare.
(pop_cp_function_context): Likewise.
* decl.c: Don't include function.h.
(push_cp_function_context): Make it static. Make it suitable for
a save_lang_status callback.
(pop_cp_function_context): Likewise.
(maybe_push_to_top_level): Call push_function_context_to, not
push_cp_function_context.
(pop_from_top_level): Call pop_function_context_from, not
pop_cp_function_context.
(init_decl_processing): Set save_lang_status and
restore_lang_status. Call push_function_context_to, not
push_cp_function_context.
(cp_function_chain): Remove.
* decl2.c: Don't include function.h.
* except.c: Don't include function.h.
(start_anon_func): Call push_function_context_to, not
push_cp_function_context.
(end_anon_func): Call pop_function_context_from, not
pop_cp_function_context.
* init.c: Don't include function.h.
* lex.c (begin_definition_of_inclass_inline): Call
push_function_context_to, not push_cp_function_context.
(process_next_inline): Call pop_function_context_from, not
pop_cp_function_context.
* method.c: Don't include function.h.
(synthesize_method): Call push_function_context_to, not
push_cp_function_context. Call pop_function_context_from, not
pop_cp_function_context.
* typeck.c: Don't include function.h.
From-SVN: r29096
Bernd Schmidt [Sat, 4 Sep 1999 02:16:58 +0000 (02:16 +0000)]
function.h (struct function): Add new element LANGUAGE.
* function.h (struct function): Add new element LANGUAGE.
(save_lang_status): Declare new variable.
(restore_lang_status): Likewise.
* function.c (save_lang_status): Define.
(restore_lang_status): Likewise.
(push_function_context_to): Call language-specific save function.
(pop_function_context_from): Call language-specific restore function.
From-SVN: r29095
Alasdair Baird [Sat, 4 Sep 1999 00:24:08 +0000 (00:24 +0000)]
i386.md (movsf_1): Check REG_P before use of REGNO.
* i386.md (movsf_1): Check REG_P before use of REGNO.
(movdf_1): Likewise.
(movxf_1): Likewise.
(extendsfdf2): Likewise.
(extendsfxf2): Likewise.
(extenddfxf2): Likewise.
From-SVN: r29094
Mark Mitchell [Sat, 4 Sep 1999 00:15:15 +0000 (00:15 +0000)]
decl.c (expand_static_init): Tweak handling of static initializations for objects without constructors.
* decl.c (expand_static_init): Tweak handling of static
initializations for objects without constructors.
From-SVN: r29093
Michael Hayes [Fri, 3 Sep 1999 23:58:44 +0000 (23:58 +0000)]
c4x.c (c4x_emit_move_sequence): Do not force large constants into memory.
Sat Sep 4 11:37:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
constants into memory.
(c4x_shiftable_constant): New function.
* config/c4x/c4x.c (LEGITIMATE_CONSTANT_P): Allow any CONST_INT.
(c4x_shiftable_constant): Declare.
* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
ashlqi3_noclobber): Add new patterns and associated splitters.
From-SVN: r29092
Richard Henderson [Fri, 3 Sep 1999 23:22:50 +0000 (16:22 -0700)]
dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
* dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
* dwarf2out.c (dwarf2out_frame_init): Likewise.
* final.c (shorten_branches): Likewise.
* global.c (global_alloc): Likewise.
* haifa-sched.c (build_control_flow): Likewise.
* stmt.c (check_for_full_enumeration_handling): Likewise.
(estimate_case_costs): Likewise.
From-SVN: r29091
Mark Mitchell [Fri, 3 Sep 1999 22:54:56 +0000 (22:54 +0000)]
* rtl.h (RTL_CHECKC2): Fix typo in last change.
From-SVN: r29090
Richard Henderson [Fri, 3 Sep 1999 22:23:11 +0000 (15:23 -0700)]
flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
* flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
(recompute_reg_usage): Likewise.
* rtlanal.c (find_regno_fusage): Likewise.
* rtl.c (rtl_check_failed_code1): New function.
(rtl_check_failed_code2): New.
* rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
(RTL_CHECKC1, RTL_CHECKC2): New.
(XC*): New accessor macros.
(NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
(ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
(CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
(ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
(TRAP_*, RANGE_INFO_*): Likewise.
From-SVN: r29089
Richard Kenner [Fri, 3 Sep 1999 21:27:46 +0000 (17:27 -0400)]
Fix typo in my email address
From-SVN: r29088
Kaveh R. Ghazi [Fri, 3 Sep 1999 19:13:34 +0000 (19:13 +0000)]
Makefile.in (tlink.o): Don't depend on toplev.h.
* Makefile.in (tlink.o): Don't depend on toplev.h.
* collect2.c (c_file, o_file, export_file, import_file, ldout,
output_file, nm_file_name, ldd_file_name, strip_file_name,
c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
add_prefix, prefix_from_env, prefix_from_string, do_wait,
fork_execute, maybe_unlink, add_to_list,
extract_init_priority, write_list, dump_list,
dump_prefix_list, write_list_with_asm, write_c_file,
write_c_file_stat, write_c_file_glob, scan_prog_file,
scan_libraries, is_in_list, resolve_lib_name, use_import_list,
ignore_library, extract_string, notice, dump_file, target_machine,
collect_wait, collect_execute, libname, locatelib, aix_std_libs,
read_file, print_load_command): Constify a char*.
(fdopen, error, fatal, fatal_perror): Don't prototype.
(my_strerror): Remove. All callers use xstrerror instead.
(xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
(main): Add prototype. Constify lots of char* ptrs. Change calls
to xcalloc/strcpy/strcat/... to one call to concat.
(main, scan_prog_file, scan_libraries): Use an intermediate
`const char **' to build an argv array.
(mapfile, libselect, libcompare, locatelib): Add prototypes.
* collect2.h (collect_execute, collect_wait, dump_file,
file_exists): Constify a char*.
(ldout, c_file_name, temporary_obstack, permanent_obstack,
temporary_firstobj, vflag, debug): Add extern declarations.
(fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.
* tlink.c: Don't include toplev.h.
(vflag, debug, ldout, c_file_name, temporary_obstack,
permanent_obstack, temporary_firstobj): Don't declare.
(tlink_execute, frob_extension, symbol_hash_lookup,
file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
recompile_files, read_repo_files, demangle_new_symbols,
scan_linker_output): Constify a char*.
(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
From-SVN: r29087
Tom Tromey [Fri, 3 Sep 1999 17:18:11 +0000 (17:18 +0000)]
parse.y (strip_out_static_field_access_decl): Return operand if it satisfies JDECL_P.
* parse.y (strip_out_static_field_access_decl): Return operand if
it satisfies JDECL_P.
From-SVN: r29086
Andrew Haley [Fri, 3 Sep 1999 17:10:48 +0000 (17:10 +0000)]
m68kelf.h: Set USE_GAS...
Fri Sep 3 18:09:24 1999 Andrew Haley <aph@cygnus.com>
* config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
(relative) rather than jsr (absolute) subroutine call insns.
* config/m68k/m68k-coff.h: Ditto.
From-SVN: r29085
Richard Earnshaw [Fri, 3 Sep 1999 16:27:57 +0000 (16:27 +0000)]
arm.c (note_invalid_constants): No need to ignore ASMs, we can now rework these too.
* arm.c (note_invalid_constants): No need to ignore ASMs, we can
now rework these too.
(arm_reorg): If an insn can't reach the end of the current pool,
ensure that we emit that pool before the insn.
From-SVN: r29084
Jason Merrill [Fri, 3 Sep 1999 16:14:54 +0000 (12:14 -0400)]
tlink.c (scan_linker_output): Skip the initial underscore in a mangled name if appropriate.
* tlink.c (scan_linker_output): Skip the initial underscore in
a mangled name if appropriate.
From-SVN: r29083
Richard Earnshaw [Fri, 3 Sep 1999 09:42:25 +0000 (09:42 +0000)]
* gcc.c-torture/execute/990827-1.c: Fix typo.
From-SVN: r29082
Nathan Sidwell [Fri, 3 Sep 1999 09:01:14 +0000 (09:01 +0000)]
typeck.c (build_indirect_ref): Reject dereference of pointer to void.
* typeck.c (build_indirect_ref): Reject dereference of pointer to
void.
From-SVN: r29081
Nathan Sidwell [Fri, 3 Sep 1999 08:59:06 +0000 (08:59 +0000)]
* g++.old-deja/g++.other/deref1.C: New test.
From-SVN: r29080
Jeff Law [Fri, 3 Sep 1999 07:45:07 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29079
Tom Tromey [Fri, 3 Sep 1999 07:42:40 +0000 (07:42 +0000)]
re GNATS libgcj/3 (FileInputStream.available always returns 0)
* configure: Rebuilt.
* configure.in: Check for fstat function.
* java/io/natFileDescriptorPosix.cc (available): Use fstat() if
FIONREAD fails.
This fixes PR 3
From-SVN: r29078
Kaveh R. Ghazi [Fri, 3 Sep 1999 05:32:20 +0000 (05:32 +0000)]
objc-act.c (objc_tree_code_type, [...]): Constify.
* objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
objc_tree_code_name, synth_id_with_class_suffix, warn_with_method,
error_with_ivar, gen_declarator, create_builtin_decl,
my_build_string, generate_descriptor_table, generate_ivars_list,
generate_dispatch_table, check_protocols, TAG_GETCLASS,
TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS,
dump_base_name, lang_decode_option, build_encode_expr,
start_class, finish_class, encode_pointer, really_start_method,
gen_declaration, dump_interface, handle_class_ref, handle_impent):
Constify.
(objc_demangle, objc_printable_name, generate_struct_by_value_array):
Add static prototypes.
(build_objc_string_decl, build_selector_reference_decl,
encode_bitfield, build_class_reference_decl): Remove unused
parameter, all callers changed.
(maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED.
(objc_printable_name): Likewise. Change second parameter to type int.
(init_objc): Use memcpy, not bcopy, to avoid casts.
From-SVN: r29077
Richard Henderson [Fri, 3 Sep 1999 04:51:35 +0000 (21:51 -0700)]
reload1.c (eliminate_regs_in_insn): Avoid eliminating the reg notes on a deleted insn.
* reload1.c (eliminate_regs_in_insn): Avoid eliminating the
reg notes on a deleted insn.
* gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
From-SVN: r29076
Richard Kenner [Fri, 3 Sep 1999 03:14:24 +0000 (23:14 -0400)]
Add myself to Blanket Write Privs and as arc port maintainer.
From-SVN: r29075
Jeffrey A Law [Fri, 3 Sep 1999 02:20:09 +0000 (02:20 +0000)]
* i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
From-SVN: r29074
Mark Mitchell [Fri, 3 Sep 1999 00:24:24 +0000 (00:24 +0000)]
Readd file
From-SVN: r29072
Mark Mitchell [Fri, 3 Sep 1999 00:23:55 +0000 (00:23 +0000)]
Readd file
From-SVN: r29071
Mark Mitchell [Fri, 3 Sep 1999 00:13:58 +0000 (00:13 +0000)]
Remove test
From-SVN: r29070
Jeffrey A Law [Thu, 2 Sep 1999 23:55:52 +0000 (23:55 +0000)]
powerset.h (SET_WORD, [...]): Do not redefine based on USE_CHAR.
* powerset.h (SET_WORD, SET_SHORT, SET_CHAR): Do not redefine based
on USE_CHAR.
(USE_CHAR): No longer define.
* eqps.c ffsetclrps.c flsetclrps.c: Remove !USE_CHARS support.
From-SVN: r29069
Tom Tromey [Thu, 2 Sep 1999 23:47:38 +0000 (23:47 +0000)]
java-array.h (jobjectArrayjchar): Removed unused declaration.
* include/java-array.h (jobjectArrayjchar): Removed unused
declaration.
From-SVN: r29068
Tom Tromey [Thu, 2 Sep 1999 23:44:04 +0000 (23:44 +0000)]
gjavah.c (decode_signature_piece): Emit "::" in JArray<>.
* gjavah.c (decode_signature_piece): Emit "::" in JArray<>.
Handle nested arrays, like `[[I'.
From-SVN: r29067
J"orn Rennecke [Thu, 2 Sep 1999 22:10:15 +0000 (22:10 +0000)]
stmt.c (expand_asm_operands): Fix index into inout_mode when reading it.
* stmt.c (expand_asm_operands): Fix index into inout_mode when
reading it.
From-SVN: r29066
Kaveh R. Ghazi [Thu, 2 Sep 1999 21:57:09 +0000 (21:57 +0000)]
class.c (finish_class): Remove unused parameter, all callers changed.
* class.c (finish_class): Remove unused parameter, all callers
changed.
* expr.c (build_java_athrow): Change return type to void.
(java_lang_expand_expr): Make sure each case in switch returns a
value.
* java-tree.h (finish_class): Fix prototype to take void args.
* jcf-dump.c (usage): Mark with ATTRIBUTE_NORETURN.
(main): Issue return from main, not exit.
* jcf-parse.c (parse_class_file): Fix call to `finish_class'.
* jcf.h (jcf_unexpected_eof): Mark with ATTRIBUTE_NORETURN.
* jv-scan.c (main): Issue return from main, not exit.
* parse.y (check_abstract_method_definitions,
java_check_abstract_method_definitions): Add static prototypes.
(java_complete_expand_methods): Fix call to `finish_class'.
* verify.c (verify_jvm_instructions): Initialize variables `oldpc'
and `prevpc'.
From-SVN: r29065
Richard Henderson [Thu, 2 Sep 1999 20:01:46 +0000 (13:01 -0700)]
stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
* stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
* tm.texi (MD_ASM_CLOBBERS): Document it.
From-SVN: r29064
Tom Tromey [Thu, 2 Sep 1999 19:33:50 +0000 (19:33 +0000)]
natClassLoader.cc (_Jv_WaitForState): Call _Jv_PrepareCompiledClass while holding class mutex.
* java/lang/natClassLoader.cc (_Jv_WaitForState): Call
_Jv_PrepareCompiledClass while holding class mutex.
From-SVN: r29063
Mark Mitchell [Thu, 2 Sep 1999 19:14:06 +0000 (19:14 +0000)]
cp-tree.h (cp_function): Move here, from decl.c.
* cp-tree.h (cp_function): Move here, from decl.c.
(cp_function_chain): Declare.
(dtor_label): New macro, instead of variable.
(ctor_label): Likewise.
(current_base_init_list): Likewise.
(current_member_init_list): Likewise.
(base_init_expr): Likewise.
(current_class_ptr): Likewise.
(current_class_ref): Likewise.
(last_tree): Likewise.
(last_expr_type): Likewise.
(current_function_returns_value): Likewise.
(current_function_returns_null): Likewise.
(current_function_just_assigned_this): Likewise.
(current_function_parms_stored): Likewise.
(temp_name_counter): Likewise.
(static_labelno): Likewise.
(expanding_p): Likewise.
(stmts_are_full_exprs_p): Likewise.
(in_function_try_handler): Likewise.
(lang_type): Remove nested type_flags. All uses changed.
* call.c (ctor_label): Remove.
(dtor_label): Likewise.
* class.c (current_class_ptr): Remove.
(current_class_ref): Likewise.
* decl.c (static_labelno): Remove.
(dtor_label): Likewise.
(last_dtor_insn): New macro, instead of variable.
(last_parm_cleanup_insn): Likewise.
(original_result_rtx): Likewise.
(in_function_try_handler): Remove.
(named_label_uses): New macro, instead of variable.
(named_labels): Likewise.
(current_function_returns_value): Remove.
(current_function_returns_null): Likewise.
(current_function_assigns_this): New macro, instead of variable.
(current_function_just_assigned_this): Likewise.
(current_binding_level): Likewise.
(init_decl_processing): Call push_cp_function_context.
(cp_function): Move to cp-tree.h
(cp_function_chain): Make it global.
(temp_name_counter): Remove.
(push_cp_function_context): Simplify.
(pop_cp_function_context): Likewise.
* decl2.c (temp_name_counter): Remove.
* init_c (current_base_init_list): Likewise.
(current_member_init_list): Likewise.
(base_init_expr): Likewise.
* method.c (static_labelno): Likewise.
* pt.c (last_tree): Likewise.
* semantics.c (expanding_p): Likewise.
(stmts_are_full_exprs_p): Likewise.
(last_expr_type): Likewise.
* typeck.c (dtor_label): Likewise.
(ctor_label): Likewise.
From-SVN: r29062
Richard Henderson [Thu, 2 Sep 1999 17:29:25 +0000 (10:29 -0700)]
dwarf2out.c (dwarf2out_line): Constify `lastfile'.
* dwarf2out.c (dwarf2out_line): Constify `lastfile'.
* except.c (expand_rethrow): Remove unused variable.
* expr.c (do_jump_by_parts_greater_rtx): Likewise.
* flow.c (replace_insns): Likewise.
(create_edge_list, verify_edge_list): Likewise.
* gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
* genemit.c (gen_expand): Only emit `operands[N]' decl if there
is special code to run.
(main): Don't define operands to emit_operand.
* genrecog.c (main): Don't emit an empty peephole2_insn function.
* rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
* alpha/alpha.h (normal_memory_operand): Declare.
(reg_no_subreg_operand): Declare.
* alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
From-SVN: r29061
Alex Samuel [Thu, 2 Sep 1999 17:29:11 +0000 (17:29 +0000)]
decl2.c (arg_assoc_template_arg): New prototype.
* decl2.c (arg_assoc_template_arg): New prototype. New function.
(arg_assoc_class): Use arg_assoc_template_arg for template
arguments.
(arg_assoc): Likewise.
* pt.c (mangle_class_name_for_template): Allow member template
template arguments.
From-SVN: r29060
Richard Henderson [Thu, 2 Sep 1999 17:20:19 +0000 (10:20 -0700)]
c-parse.in (compstmt_primary_start): New, broken out of first part of compstmt handling in primary.
* c-parse.in (compstmt_primary_start): New, broken out of first
part of compstmt handling in primary.
(primary): Use it. Add an error clause.
(compstmt_nostart): Renamed from compstmt; remove all
initial invocations of compstmt_start.
(compstmt): New.
From-SVN: r29059
Jeffrey A Law [Thu, 2 Sep 1999 09:37:20 +0000 (09:37 +0000)]
fold-const.c (fold_range_test): Do not try to fold the range test if the rhs or lhs has side effects.
* fold-const.c (fold_range_test): Do not try to fold the range
test if the rhs or lhs has side effects.
From-SVN: r29058
Nathan Sidwell [Thu, 2 Sep 1999 09:23:14 +0000 (09:23 +0000)]
ambig2.C: New test.
* g++.old-deja/g++.other/ambig2.C: New test.
* g++.old-deja/g++.other/cond5.C: New test.
* g++.old-deja/g++.other/lookup16.C: New test.
From-SVN: r29057
Nathan Sidwell [Thu, 2 Sep 1999 09:21:42 +0000 (09:21 +0000)]
call.c (build_conditional_expr): Warn on enum mismatches.
* call.c (build_conditional_expr): Warn on enum mismatches.
(convert_arg_to_ellipsis): Move non-pod check to after
conversion.
From-SVN: r29056
Jeffrey A Law [Thu, 2 Sep 1999 09:02:33 +0000 (09:02 +0000)]
combine.c (simplify_rtx): Recognize another case of a synthesized sign extension.
* combine.c (simplify_rtx): Recognize another case of a synthesized
sign extension.
From-SVN: r29055
Jeff Law [Thu, 2 Sep 1999 07:45:45 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29054
Marc Espie [Thu, 2 Sep 1999 07:37:50 +0000 (07:37 +0000)]
* pexecute.c (pexecute): Fill in temp_base when needed.
From-SVN: r29053
Marc Espie [Thu, 2 Sep 1999 07:37:40 +0000 (07:37 +0000)]
protoize.c (gen_aux_info_file): Let pexecute call choose_temp_base if needed.
* protoize.c (gen_aux_info_file): Let pexecute call choose_temp_base if
needed.
From-SVN: r29052
Marc Espie [Thu, 2 Sep 1999 07:19:47 +0000 (07:19 +0000)]
980414-1.c: Fix assembler syntax to work with old assemblers too.
* gcc.dg/980414-1.c: Fix assembler syntax to work with old
assemblers too.
From-SVN: r29051
Finn Hakansson [Thu, 2 Sep 1999 06:47:15 +0000 (06:47 +0000)]
combine.c (simplify_shift_const): Remove extra semicolon.
* combine.c (simplify_shift_const): Remove extra semicolon.
* dwarf2out.c (remove_AT): Likewise.
* expmed.c (expand_mult): Likewise.
* gcov.c (create_program_flow_graph): Likewise.
* reorg.c (mostly_true_jump): Likewise.
From-SVN: r29050
Jeffrey A Law [Thu, 2 Sep 1999 06:39:43 +0000 (06:39 +0000)]
varasm.c (mark_constant_pool): When marking indirect references, only look at SYMBOL_REFs.
* varasm.c (mark_constant_pool): When marking indirect references,
only look at SYMBOL_REFs.
From-SVN: r29049
Tom Tromey [Thu, 2 Sep 1999 06:27:00 +0000 (06:27 +0000)]
posix-threads.h (PTHREAD_MUTEX_IS_STRUCT): New define.
* include/posix-threads.h (PTHREAD_MUTEX_IS_STRUCT): New define.
(_Jv_PthreadGetMutex): Use it.
(_Jv_PthreadCheckMonitor): Use new M_COUNT macros.
(_Jv_MutexInit): Use PTHREAD_MUTEX_IS_STRUCT.
(_Jv_MutexLock): Likewise.
(_Jv_MutexUnlock): Likewise.
* include/config.h.in: Rebuilt.
* acconfig.h (PTHREAD_MUTEX_HAVE_M_COUNT,
PTHREAD_MUTEX_HAVE___M_COUNT): New undefs.
* configure: Rebuilt.
* libgcj.spec.in: Don't mention INTERPSPEC.
* configure.in (INTERPSPEC): Removed.
Only run pthreads-related checks when using POSIX threads. Check
for m_count and __m_count in mutex structure.
From-SVN: r29048
Jeffrey A Law [Thu, 2 Sep 1999 06:08:25 +0000 (06:08 +0000)]
except.c (expand_fixup_region_end): Do not peek at INSN_UID (node->entry->outer_context) for flag_new_exceptions.
* except.c (expand_fixup_region_end): Do not peek at
INSN_UID (node->entry->outer_context) for flag_new_exceptions.
From-SVN: r29047
Richard Henderson [Thu, 2 Sep 1999 05:47:47 +0000 (22:47 -0700)]
Fix data corruption. (Eeep!)
From-SVN: r29046
Geoffrey Keating [Thu, 2 Sep 1999 05:42:06 +0000 (05:42 +0000)]
flags.h: New variables align_loops...
* flags.h: New variables align_loops, align_loops_log,
align_jumps, align_jumps_log, align_labels, align_labels_log,
align_functions, align_functions_log.
* toplev.c: Define them.
(f_options): Handle -falign-* when they have no argument.
(main): Add logic to set variables for -falign-functions,
-falign-jumps, -falign-labels, -falign-loops.
Make it -fsched-verbose=<n> and -finline-limit=<n>.
(display_help): Change help to match options.
* final.c (LABEL_ALIGN): Default to align_labels_log.
(LABEL_ALIGN_MAX_SKIP): Default to align_labels-1.
(LOOP_ALIGN): Default to align_loops_log.
(LOOP_ALIGN_MAX_SKIP): Default to align_loops-1.
(LABEL_ALIGN_AFTER_BARRIER): Default to align_jumps_log.
(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to align_jumps-1.
* varasm.c (assemble_start_function): Handle align_functions.
* config/sparc/sparc.h: Don't declare sparc_align_*.
Don't provide LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN.
(DEFAULT_SPARC_ALIGN_FUNCS): Delete; take functionality into
sparc.c.
(FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
it's a promise.
* config/sparc/sparc.c: Delete sparc_align_loops,
sparc_align_jumps, sparc_align_funcs and the corresponding string
variables.
(sparc_override_options): Default align_functions on ultrasparc.
Delete -malign-* handling.
* config/mips/mips.c (override_options): On 64-bit targets,
try to align code to 64-bit boundaries.
(print_operand): New substitution, %~,
which aligns labels to align_labels_log.
* config/mips/mips.md (div_trap_normal): Use %~.
(div_trap_mips16): Likewise.
(abssi): Likewise.
(absdi2): Likewise.
(ffssi2): Likewise.
(ffsdi2): Likewise.
(ashldi3_internal): Likewise.
(ashrdi3_internal): Likewise.
(lshrdi3_internal): Likewise.
(casesi_internal): Likewise.
Plus corresponding documentation changes.
From-SVN: r29045
Richard Henderson [Thu, 2 Sep 1999 04:20:21 +0000 (21:20 -0700)]
Merge new ia32 backend from the branch!
From-SVN: r29044
Matt Welsh [Thu, 2 Sep 1999 03:46:35 +0000 (03:46 +0000)]
natClass.cc: Fixed notification of threads when class initialization is complete.
* java/lang/natClass.cc: Fixed notification of threads
when class initialization is complete.
From-SVN: r29043
Kaveh R. Ghazi [Thu, 2 Sep 1999 03:13:16 +0000 (03:13 +0000)]
gxx.gperf (hash, [...]): Add prototypes.
* gxx.gperf (hash, is_reserved_word): Add prototypes.
* init.c (build_vec_init): Initialize variable `try_block'.
* lex.c (init_parse): Call memcpy, not bcopy, to avoid casts.
Likewise for bzero/memset.
(token_getch, token_put_back): Add static prototypes. Remove
`inline' from the definitions.
(retrofit_lang_decl): Call memset, not bzero, to avoid casts.
From-SVN: r29042
Richard Henderson [Thu, 2 Sep 1999 01:22:31 +0000 (18:22 -0700)]
emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE to step through CC modes.
* emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
to step through CC modes.
From-SVN: r29041
Tom Tromey [Wed, 1 Sep 1999 23:16:34 +0000 (23:16 +0000)]
ffi.h.in: Removed PACKAGE and VERSION defines and undefs.
* include/ffi.h.in: Removed PACKAGE and VERSION defines and
undefs.
* fficonfig.h.in: Rebuilt.
* configure: Rebuilt.
* configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
* acconfig.h: Don't #undef PACKAGE or VERSION.
From-SVN: r29038
Tom Tromey [Wed, 1 Sep 1999 22:02:20 +0000 (22:02 +0000)]
Modifier.java (ALL_FLAGS): New constant.
* java/lang/reflect/Modifier.java (ALL_FLAGS): New constant.
* resolve.cc: Removed constants defined by
java.lang.reflect.Modifier.
Include <java/lang/reflect/Modifier.h>.
(_Jv_ResolvePoolEntry): Use values from Modifier.
(_Jv_DetermineVTableIndex): Likewise.
(_Jv_PrepareClass): Likewise.
(ncode): Likewise.
* defineclass.cc (_Jv_ClassReader): Removed constants defined by
java.lang.reflect.Modifier.
Include <java/lang/reflect/Modifier.h>.
(checkExtends): Use values from Modifier.
(checkImplements): Likewise.
(handleField): Likewise.
(handleConstantValueAttribute): Likewise.
(handleFieldsEnd): Likewise.
(handleMethod ): Likewise.
(handleMethodsEnd): Likewise.
(handleClassBegin): Likewise.
* interpret.cc: Removed constants defined by
java.lang.reflect.Modifier.
(continue1): Use values from Modifier.
* java/lang/natClassLoader.cc: Removed constants defined by
java.lang.reflect.Modifier.
From-SVN: r29037
Mark Mitchell [Wed, 1 Sep 1999 21:56:38 +0000 (21:56 +0000)]
cp-tree.h (lang_type): Move align into type_flags.
* cp-tree.h (lang_type): Move align into type_flags.
(CLASSTYPE_ALIGN): Adjust accordingly.
* call.c (direct_reference_binding): Remove misleading comment.
From-SVN: r29035
J"orn Rennecke [Wed, 1 Sep 1999 21:22:05 +0000 (14:22 -0700)]
regmove.c (fixup_match_1): Don't move INSN in front of P if it would end up in the shadow of a live flags...
* regmove.c (fixup_match_1): Don't move INSN in front of P if
it would end up in the shadow of a live flags regsiter.
From-SVN: r29034
Tom Tromey [Wed, 1 Sep 1999 21:05:17 +0000 (21:05 +0000)]
natClassLoader.cc (_Jv_NewClass): Use JV_STATE_NOTHING, not `0'.
* java/lang/natClassLoader.cc (_Jv_NewClass): Use
JV_STATE_NOTHING, not `0'.
* java/lang/Class.h: Replaced JV_STATE_ defines with enum.
From-SVN: r29033
Tom Tromey [Wed, 1 Sep 1999 21:03:18 +0000 (21:03 +0000)]
posix-threads.cc (_Jv_CondWait): Use _Jv_PthreadGetMutex.
* posix-threads.cc (_Jv_CondWait): Use _Jv_PthreadGetMutex.
* include/posix-threads.h (_Jv_Mutex_t): Define as structure,
except on Linux.
(_Jv_PthreadGetMutex): New function.
(_Jv_PthreadCheckMonitor): Use it.
(_Jv_MutexInit): Likewise. ALso, initialize `count'.
(_Jv_MutexLock): Update `count'.
(_Jv_MutexUnlock): Likewise.
(_Jv_PthreadCheckMonitor): Use Linux-specific knowledge when
appropriate.
From-SVN: r29032
Kresten Krab Thorup [Wed, 1 Sep 1999 18:49:55 +0000 (18:49 +0000)]
* ChangeLog: update.
From-SVN: r29031
Tom Tromey [Wed, 1 Sep 1999 18:29:39 +0000 (18:29 +0000)]
posix-threads.cc (_Jv_CondWait): Call _Jv_PthreadCheckMonitor.
* posix-threads.cc (_Jv_CondWait): Call _Jv_PthreadCheckMonitor.
* include/posix-threads.h (_Jv_PthreadCheckMonitor): New
function.
(_Jv_CondNotify): Use it.
(_Jv_CondNotifyAll): Likewise.
* java/lang/Class.h (JV_STATE_NOTHING): Correct misspelling.
From-SVN: r29030
Kresten Krab Thorup [Wed, 1 Sep 1999 18:22:05 +0000 (18:22 +0000)]
Makefile.am (.java.lo): Add rule.
* Makefile.am (.java.lo): Add rule.
* Makefile.in: Rebuilt.
From-SVN: r29029
Kaveh R. Ghazi [Wed, 1 Sep 1999 14:44:56 +0000 (14:44 +0000)]
Avoids false positives with -Wcast-qual:
* obstack.h (obstack_grow, obstack_grow0): Move (char*) casts
in calls to `_obstack_memcpy' from here ...
(_obstack_memcpy): ... to here, except in the __STDC__ case which
doesn't need it.
From-SVN: r29028
Bernd Schmidt [Wed, 1 Sep 1999 14:30:35 +0000 (14:30 +0000)]
Fix indentation problems
From-SVN: r29027
Andreas Schwab [Wed, 1 Sep 1999 08:14:33 +0000 (08:14 +0000)]
Move *-*-gnu* pattern below *-*-linux*.
From-SVN: r29026
Jeff Law [Wed, 1 Sep 1999 07:45:44 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29025
Marc Espie [Wed, 1 Sep 1999 05:08:57 +0000 (05:08 +0000)]
* alias.c (non_local_reference_p): Constify fmt.
From-SVN: r29023
Michael Meissner [Wed, 1 Sep 1999 03:24:07 +0000 (03:24 +0000)]
define HAVE_DOS_BASED_FILED_SYSTEM on cygwin
From-SVN: r29022
Tom Tromey [Wed, 1 Sep 1999 02:36:40 +0000 (02:36 +0000)]
jvm.h (_Jv_makeUtf8TypeConst): Removed unused declaration.
* include/jvm.h (_Jv_makeUtf8TypeConst): Removed unused
declaration.
From-SVN: r29021
Jeff Law [Wed, 1 Sep 1999 00:12:33 +0000 (18:12 -0600)]
Fix typo in comment.
From-SVN: r29019
Jeffrey A Law [Tue, 31 Aug 1999 23:59:40 +0000 (23:59 +0000)]
c-torture.exp: Avoid the "compare executables" optimization when testing native.
* lib/c-torture.exp: Avoid the "compare executables" optimization
when testing native.
From-SVN: r29018
Jeffrey A Law [Tue, 31 Aug 1999 22:48:58 +0000 (22:48 +0000)]
cse.c (delete_trivially_dead_insns): Do not delete stores to the internal_arg_pointer.
* cse.c (delete_trivially_dead_insns): Do not delete stores to
the internal_arg_pointer.
From-SVN: r29017
Richard Henderson [Tue, 31 Aug 1999 20:37:09 +0000 (13:37 -0700)]
backport: Makefile.in (STAGESTUFF): Add *.peephole2.
Merge peephole2 from new_ia32_branch:
* Makefile.in (STAGESTUFF): Add *.peephole2.
(mostlyclean): Likewise.
(recog.o): Depend on resource.h.
* final.c (peephole): Conditionalize decl on HAVE_peephole.
(final_scan_insn): Likewise for the invocation of peephole.
* genconfig.c (main): Look for peephole and peephole2 patterns.
Emit HAVE_peephole* accordingly.
* genpeep.c (main): Conditionalize entire output on HAVE_peephole.
* flags.h (flag_peephole2): Declare.
* toplev.c: New pass peephole2. New flag -fpeephole2.
* genattrtab.c (main): Count DEFINE_PEEPHOLE2.
* gencodes.c (main): Likewise.
* genextract.c (main): Likewise.
* genoutput.c (main): Likewise.
* genemit.c (max_operand_1): Look for the max scratch operand.
(gen_rtx_scratch): New.
(gen_exp): Use it, and pass on new arg subroutine_type.
(gen_expand): Take max scratch into account.
(gen_split): Emit peephole2 functions.
(output_peephole2_scratch): New.
(main): Include hard-reg-set.h and resource.h. Handle peephole2.
* genrecog.c (routine_type): Add PEEPHOLE2.
(IS_SPLIT): New.
(make_insn_sequence): Match outer parallel for peep2. Discard
top level scratches and dups.
(add_to_sequence): New args insn_type and top. Update all callers.
Handle toplevel peep2 matching insns.
(write_subroutine): Handle peep2.
(write_tree_1): Likewise.
(write_tree): Likewise.
(main): Likewise.
(change_state): New arg afterward. Update all callers.
Handle matching separate insns.
* recog.c (recog_next_insn): New.
(peephole2_optimize): New.
* rtl.def (DEFINE_PEEPHOLE2): New.
* resource.c (find_free_register): New argument last_insn. Use it
to find a register available through the entire span.
* resource.h (find_free_register): Update prototype.
From-SVN: r29015
Richard Henderson [Tue, 31 Aug 1999 20:33:13 +0000 (13:33 -0700)]
* getpwd.c: Check HAVE_GETCWD before defining it away.
From-SVN: r29013
Jim Kingdon [Tue, 31 Aug 1999 20:05:20 +0000 (13:05 -0700)]
i386.c (output_strlen_unroll): Don't write xops[7] label if it wasn't set.
* config/i386/i386.c (output_strlen_unroll): Don't write xops[7]
label if it wasn't set.
From-SVN: r29010
Zack Weinberg [Tue, 31 Aug 1999 19:46:18 +0000 (19:46 +0000)]
cpplib.c (struct directive): Const-ify name pointer and function pointer prototype.
1999-08-31 12:44 -0700 Zack Weinberg <zack@bitmover.com>
* cpplib.c (struct directive): Const-ify name pointer and
function pointer prototype.
(validate_else, do_define, do_line, do_include, do_undef,
do_error, do_pragma, do_ident, do_if, do_xifdef, do_else,
do_elif, do_endif, do_sccs, do_assert, do_unassert,
do_warning): Const-ify second arg.
(directive_table): Mark const. Reorder entries by frequency
of usage, record statistics.
From-SVN: r29009
Zack Weinberg [Tue, 31 Aug 1999 19:39:10 +0000 (19:39 +0000)]
rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and bounds- check RTL accesses if --enable-checking.
1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
* rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
bounds- check RTL accesses if --enable-checking.
(RTVEC_ELT): Bounds check if --enable-checking.
(XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
(XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
GET_NUM_ELEM.
(X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
X0BBDEF, X0ADVFLAGS): New macros for accessing '0' slots of RTXes.
(ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
(NOTE_SOURCE_FILE): Use X0STR.
(NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
MEM_ALIAS_SET): Use X0INT.
(NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
Use X0EXP.
* real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
* rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
(rtl_check_failed_bounds, rtl_check_failed_type1,
rtl_check_failed_type2, rtvec_check_failed_bounds): New
functions.
(fancy_abort): Fix comment.
* cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
(cse_insn): Decrement LABEL_NUSES for jump target before
deleting jump insn.
* emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
* final.c (alter_subreg): Compute regno before changing x to
REG; set REGNO(x) after changing it.
* flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
notes containing CONST_INTs.
(delete_eh_regions): Use NOTE_EH_HANDLER.
* function.c (put_reg_into_stack): Make reg a MEM before
initializing it.
(fixup_var_refs_insns): Save REG_NOTES (insn) in case we
delete insn.
(gen_mem_addressof): Make reg a MEM before initializing it.
* integrate.c (copy_rtx_and_substitute): Copy '0' slots with
X0WINT.
* local-alloc.c (update_equiv_regs): Zap REG_NOTES before
deleting an insn, not after.
(block_alloc): Only look at PATTERN(insn) if we have to, and
only if it's format class 'i'.
* loop.c (check_dbra_loop): Check bl->biv->add_val is a
CONST_INT before using its INTVAL.
* print-rtl.c (print_rtx): Use X0STR.
* regmove.c (fixup_match_1): Don't look at PATTERN of
non-class-'i' insn chain elements.
* reload.c (loc_mentioned_in_p): Take address of
in->fld[1].rtx directly.
* reload1.c (reload): Change reg to a MEM before initializing
it.
* varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
have no names.
* config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
From-SVN: r29008