Jakub Jelinek [Mon, 6 Dec 1999 17:38:07 +0000 (18:38 +0100)]
sparc.md (return_losum_di): Fix typo in asm output string.
* config/sparc/sparc.md (return_losum_di): Fix typo in asm
output string.
From-SVN: r30801
Richard Kenner [Mon, 6 Dec 1999 17:28:18 +0000 (17:28 +0000)]
fold-const.c (optimize_bit_field_compare): Only use one mode for both RHS and LHS in non-constant case.
* fold-const.c (optimize_bit_field_compare): Only use one mode
for both RHS and LHS in non-constant case.
From-SVN: r30800
Nathan Sidwell [Mon, 6 Dec 1999 14:02:16 +0000 (14:02 +0000)]
frame.c (start_fde_sort): Only allocate erratic array, if linear one was allocated.
* frame.c (start_fde_sort): Only allocate erratic array, if
linear one was allocated. Return allocated flag.
(fde_insert): Only insert, if there's a valid array.
(fde_end_sort): Split, sort and merge if linear and erratic
arrays exist, else just sort linear one.
(search_fdes): New function. Linear search through original fde
structure.
(frame_init): Permit multiple initializations. Cope with
memory shortages.
(find_fde): Fallback on linear search, if failed to sort array.
(__deregister_frame_info): Only free sorted array, if we
allocated it.
From-SVN: r30799
Alexandre Oliva [Mon, 6 Dec 1999 10:50:26 +0000 (10:50 +0000)]
* gcc.dg/ultrasp2.c: New test.
From-SVN: r30798
Mark Mitchell [Mon, 6 Dec 1999 10:36:16 +0000 (10:36 +0000)]
decl.c (init_decl_processing): #if 0 last patch.
* decl.c (init_decl_processing): #if 0 last patch.
(finish_function): Likewise.
From-SVN: r30797
Jakub Jelinek [Mon, 6 Dec 1999 10:09:20 +0000 (11:09 +0100)]
* config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
From-SVN: r30796
Jeff Law [Mon, 6 Dec 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30795
Anthony Green [Mon, 6 Dec 1999 06:33:56 +0000 (06:33 +0000)]
jvm.h: Declare many functions with __attribute__((__malloc__)).
* include/jvm.h: Declare many functions with
__attribute__((__malloc__)).
* gcj/javaprims.h: Ditto.
From-SVN: r30794
Jakub Jelinek [Mon, 6 Dec 1999 01:54:50 +0000 (02:54 +0100)]
* config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
From-SVN: r30793
Mark Mitchell [Sun, 5 Dec 1999 20:04:37 +0000 (20:04 +0000)]
decl.c (init_decl_processing): Set flag_inline_trees if !flag_no_inline.
* decl.c (init_decl_processing): Set flag_inline_trees if
!flag_no_inline.
From-SVN: r30792
Alex Samuel [Sun, 5 Dec 1999 18:29:15 +0000 (18:29 +0000)]
* g++.old-deja/g++.abi/align.C (main): Fix typo.
From-SVN: r30791
Mark Mitchell [Sun, 5 Dec 1999 18:13:48 +0000 (18:13 +0000)]
splay-tree.h (struct splay_tree_node): Rename to ...
* splay-tree.h (struct splay_tree_node): Rename to ...
(struct splay_tree_node_s): ... this.
(struct splay_tree): Rename to ...
(struct splay_tree_s): ... this.
* splay-tree.c (splay_tree_new): Use struct splay_tree_node_s
rather than struct splay_tree_node.
(splay_tree_insert): Use struct splay_tree_s rather than struct
splay_tree.
From-SVN: r30790
Mark Mitchell [Sun, 5 Dec 1999 17:58:46 +0000 (17:58 +0000)]
cp-tree.h (calls_setjmp_p): Declare.
* cp-tree.h (calls_setjmp_p): Declare.
* decl.c (finish_function): Mark functions that call setjmp as
uninlinable.
* optimize.c (calls_setjmp_r): New function.
(calls_setjmp_p): Likewise.
From-SVN: r30789
Mark Mitchell [Sun, 5 Dec 1999 17:53:14 +0000 (17:53 +0000)]
tree.h (special_function_p): Declare.
* tree.h (special_function_p): Declare.
* calls.c (special_function_p): Make it global. Don't take `name'
as a parameter. Fix typo in 1999-11-28 change.
(expand_cal): Adjust.
From-SVN: r30788
Mark Mitchell [Sun, 5 Dec 1999 17:51:50 +0000 (17:51 +0000)]
dwarf2out.c (add_abstract_origin_attribute): Don't abort when the original die cannot be found.
* dwarf2out.c (add_abstract_origin_attribute): Don't abort when
the original die cannot be found.
From-SVN: r30787
Jeff Law [Sun, 5 Dec 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30786
Mark Mitchell [Sun, 5 Dec 1999 02:51:32 +0000 (02:51 +0000)]
Fix another typo
From-SVN: r30785
Mark Mitchell [Sun, 5 Dec 1999 02:46:48 +0000 (02:46 +0000)]
optimize.c (expand_call_inline): Wrap the expanded call in an EXPR_WITH_FILE_LOCATION node to get correct line...
* optimize.c (expand_call_inline): Wrap the expanded call in an
EXPR_WITH_FILE_LOCATION node to get correct line numbers for
inlined functions.
From-SVN: r30784
Mark Mitchell [Sun, 5 Dec 1999 02:42:10 +0000 (02:42 +0000)]
tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
* tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
* tree.h (EXPR_WFL_FILENAME): Define in terms of
EXPR_WFL_FILENAME_NODE.
(EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
the TREE_CHAIN.
* print-tree.c (print_note): Print TREE_PRIVATE and
TREE_PROTECTED.
From-SVN: r30783
Mark Mitchell [Sun, 5 Dec 1999 02:11:11 +0000 (02:11 +0000)]
Fix typo
From-SVN: r30782
Mark Mitchell [Sun, 5 Dec 1999 01:00:28 +0000 (01:00 +0000)]
optimize.c (inline_data): Remove fns_top.
* optimize.c (inline_data): Remove fns_top. Add scope_stmt. Add
in_target_cleanup_p.
(remap_decl): New function.
(remap_block): Likewise.
(copy_scope_stmt): Likewise.
(copy_body_r): Use remap_decl and copy_scope_stmt.
(copy_body): Use VARRAY_TOP_TREE.
(initialize_inlined_parameters): Likewise.
(declare_return_variable): Likewise.
(inlinable_function_p): Check flag_inline_trees.
(expand_call_inline): Handle SCOPE_STMTs and TARGET_EXPRs
specially. Use VARRAY_PUSH_TREE. Create a BLOCK for the
parameters of the inlined function.
(optimize_function): Prevent recursion into partially complete
functions.
From-SVN: r30781
Mark Mitchell [Sun, 5 Dec 1999 00:51:38 +0000 (00:51 +0000)]
cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.h (SCOPE_STMT_BLOCK): New macro.
(SCOPE_NULLIFIED_P): Redefine.
(SCOPE_NO_CLEANUPS_P): New macro.
(add_scope_stmt): Change prototype.
* decl.c (poplevel): Tidy. Warn about unused variables here.
Record SCOPE_STMT_BLOCKs.
(finish_function): Keep DECL_INITIAL for functions that might be
inlined.
* ir.texi: Document SCOPE_NO_CLEANUPS_P.
* semantics.c: Include rtl.h.
(add_scope_stmt): Return the new scope statement and, for an
end-of-scope statement, its matching begin statement. Don't set
SCOPE_NULLIFIED_P.
(do_pushlevel): Simplify, now that we are always
function-at-a-time.
(do_poplevel): Likewise. Record SCOPE_STMT_BLOCKs.
(expand_stmt): Don't call expand_start_bindings or
expand_end_bindings for a scope with SCOPE_NO_CLEANUPS_P set.
* tree.c (copy_tree_r): Clear SCOPE_STMT_BLOCK rather than setting
SCOPE_NULLIFIED_P.
* Makefile.in (semantics.o): Depend on RTL_H.
From-SVN: r30780
Mark Mitchell [Sun, 5 Dec 1999 00:49:26 +0000 (00:49 +0000)]
cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.h (SCOPE_STMT_BLOCK): New macro.
(SCOPE_NULLIFIED_P): Redefine.
(SCOPE_NO_CLEANUPS_P): New macro.
(add_scope_stmt): Change prototype.
* decl.c (poplevel): Tidy. Warn about unused variables here.
Record SCOPE_STMT_BLOCKs.
(finish_function): Keep DECL_INITIAL for functions that might be
inlined.
* ir.texi: Document SCOPE_NO_CLEANUPS_P.
* semantics.c: Include rtl.h.
(add_scope_stmt): Return the new scope statement and, for an
end-of-scope statement, its matching begin statement. Don't set
SCOPE_NULLIFIED_P.
(do_pushlevel): Simplify, now that we are always
function-at-a-time.
(do_poplevel): Likewise. Record SCOPE_STMT_BLOCKs.
(expand_stmt): Don't call expand_start_bindings or
expand_end_bindings for a scope with SCOPE_NO_CLEANUPS_P set.
* tree.c (copy_tree_r): Clear SCOPE_STMT_BLOCK rather than setting
SCOPE_NULLIFIED_P.
From-SVN: r30779
Mark Mitchell [Sun, 5 Dec 1999 00:37:56 +0000 (00:37 +0000)]
decl2.c (pending_statics_used): Make it a macro.
* decl2.c (pending_statics_used): Make it a macro.
(saved_inlines_used): Likewise.
(finish_static_data_member_decl): Use VARRAY_PUSH_TREE.
(mark_inline_for_output): Likewise.
(ssdf_decls_used): Remove.
(start_static_storage_duration_function): Use VARRAY_PUSH_TREE.
(generate_ctor_or_dtor_function): Adjust accordingly.
From-SVN: r30778
Mark Mitchell [Sun, 5 Dec 1999 00:20:43 +0000 (00:20 +0000)]
varray.h (varray_head_tag): Add elements_used.
* varray.h (varray_head_tag): Add elements_used.
(VARRAY_PUSH): New macro.
(VARRAY_POP): Likewise.
(VARRAY_TOP): Likewise.
Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
types.
* varray.c (varray_init): Initialize elements_used.
* Makefile.in (BASIC_BLOCK_H): Add varray.h.
(INTEGRATE_H): New variable.
(integrate.o): Depend on INTEGRATE_H.
(unroll.o): Likewise.
From-SVN: r30777
Mark Mitchell [Sun, 5 Dec 1999 00:13:53 +0000 (00:13 +0000)]
function.h (insert_block_after_note): Declare.
* function.h (insert_block_after_note): Declare.
* function.c (insert_block_after_note): Split out from ...
(retrofit_block): ... here.
From-SVN: r30776
Mark Mitchell [Sun, 5 Dec 1999 00:10:31 +0000 (00:10 +0000)]
* stmt.c (expand_fixup): Fix typo in comment.
From-SVN: r30775
Jan Hubicka [Sat, 4 Dec 1999 13:21:53 +0000 (14:21 +0100)]
regmove.c (copy_src_to_dest): Remove loop_depth parameter.
* regmove.c (copy_src_to_dest): Remove loop_depth parameter.
(optimize_reg_copy_1): Remove REG_N_REFS updating code.
(optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise.
(regmove_optimize, fixup_match_1): Likewise.
From-SVN: r30774
Michael Hayes [Sat, 4 Dec 1999 11:07:07 +0000 (11:07 +0000)]
flow.c (flow_loops_dump): Add missing argument when calling flow_loop_nested_p.
* flow.c (flow_loops_dump): Add missing argument when calling
flow_loop_nested_p.
From-SVN: r30773
Jeff Law [Sat, 4 Dec 1999 08:45:08 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30772
Geoff Keating [Sat, 4 Dec 1999 03:00:04 +0000 (03:00 +0000)]
c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
* c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
(init_attributes): Add A_NO_LIMIT_STACK.
(decl_attributes): Handle A_NO_LIMIT_STACK.
* c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
* explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
Handle stack bounds checking.
* flags.h (flag_stack_check): Use the word 'probe' rather than
'check', because the flag doesn't actually cause any checking to
be done.
* function.c (expand_function_start): Set
current_function_limit_stack.
* function.h (struct function): Add limit_stack.
(current_function_limit_stack): Define.
* invoke.texi (Code Gen Options): Document new options.
* rtl.h: Declare stack_limit_rtx.
* toplev.c (stack_limit_rtx): New variable.
(decode_f_option): Handle new options -fstack-limit-register=REG,
-fstack-limit-symbol=IDENT, -fno-stack-limit.
(main): Add stack_limit_rtx as GC root.
* tree.h (DECL_NO_LIMIT_STACK): New macro.
(struct tree_decl): New member no_limit_stack.
* config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
stack_limit_rtx.
* config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
(conditional_trap+1): Get new mnemonic correct.
(conditional_trap+2): New pattern for DImode traps.
* config/m68k/m68k.c (output_function_prologue): Handle
stack_limit_rtx.
* config/m68k/m68k.md (trap): New insn.
(conditional_trap): New insn.
* md.texi (Standard Names): Document `trap' and
`conditional_trap'.
* optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
so a cc0 setter doesn't get emitted at some random place in the
function.
* config/i960/i960.md (trap): New insn.
(conditional_trap): New expander.
(conditional_trap+1, conditional_trap+2): New insns for signed
and unsigned cases.
* config/i960/i960.c (i960_function_prologue): Use
STARTING_FRAME_OFFSET. Handle stack_limit_rtx.
Co-Authored-By: Greg McGary <gkm@gnu.org>
From-SVN: r30771
Greg McGary [Fri, 3 Dec 1999 19:02:20 +0000 (19:02 +0000)]
flags.h (warn_padded, [...]): Add global var decls.
* flags.h (warn_padded, warn_packed): Add global var decls.
* toplev.c (warn_padded, warn_packed): Add global var defns.
(W_options): Add warnings `-Wpacked' and `-Wpadded'.
* stor-layout.c (layout_record): Add local variable `type'
to hold often-used TREE_TYPE (field). Add local variable
`unpacked_align' to hold alignment that would be in force
if no `packed' attribute were present. Warn if `packed' attribute
is unnecessary, or even harmful. Warn when gcc inserts padding
to satisfy alignment requirements of members. Use NULL_TREE
when checking whether var_size is set.
* invoke.texi: Document new flags.
Co-Authored-By: Geoff Keating <geoffk@cygnus.com>
From-SVN: r30770
Alex Samuel [Fri, 3 Dec 1999 16:45:53 +0000 (16:45 +0000)]
align.C: New test.
* g++.old-deja/g++.abi/align.C: New test.
* g++.old-deja/g++.abi/aggregates.C: Likewise.
* g++.old-deja/g++.abi/bitfields.C: Likewise.
From-SVN: r30769
Nathan Sidwell [Fri, 3 Dec 1999 11:58:27 +0000 (11:58 +0000)]
* frame.c (fde_split): Reimplement to avoid variable sized array.
From-SVN: r30768
Jeff Law [Fri, 3 Dec 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30767
Alexandre Oliva [Fri, 3 Dec 1999 04:17:09 +0000 (04:17 +0000)]
* config.guess, config.sub: Update from autoconf.
From-SVN: r30766
Mike Stump [Fri, 3 Dec 1999 03:31:44 +0000 (03:31 +0000)]
Fix p24939.
From-SVN: r30765
Anthony Green [Fri, 3 Dec 1999 03:00:39 +0000 (03:00 +0000)]
Updated the thanks list.
From-SVN: r30764
Bryce McKinlay [Thu, 2 Dec 1999 19:59:30 +0000 (19:59 +0000)]
natString.cc (equalsIgnoreCase): return false if anotherString is null.
* java/lang/natString.cc (equalsIgnoreCase): return false if
anotherString is null.
* java/lang/Boolean.java (valueOf): return FALSE if argument is
null.
From-SVN: r30763
J"orn Rennecke [Thu, 2 Dec 1999 19:09:23 +0000 (19:09 +0000)]
combine.c (try_combine): Before fixing up LOG_LINKS for the i3_subst_into_i2 case...
* combine.c (try_combine): Before fixing up LOG_LINKS for the
i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.
From-SVN: r30762
Gavin Romig-Koch [Thu, 2 Dec 1999 18:52:01 +0000 (18:52 +0000)]
* invoke.texi: Document the mips option -mno-crt0
From-SVN: r30761
Mike Karr [Thu, 2 Dec 1999 16:31:58 +0000 (16:31 +0000)]
cccp.c (argdata): Added free_ptr member.
1999-12-02 Mike Karr <mkarr@mathworks.com>
* cccp.c (argdata): Added free_ptr member.
(macroexpand): Initialize free_ptr of each argument. When an
argument's buffers are freed, if the argument's free_ptr corresponds
to a buffer on the input stack, then return the free_ptr to that stack
frame, otherwise, free it.
(macarg): If an argument begins and ends on the same input stack level,
then transfer the free_ptr of that buffer to the argument in case
the stack is popped during the processing of a subsequent argument.
From-SVN: r30760
Bernd Schmidt [Thu, 2 Dec 1999 12:37:50 +0000 (12:37 +0000)]
Four new tests
From-SVN: r30759
Bernd Schmidt [Thu, 2 Dec 1999 11:27:31 +0000 (11:27 +0000)]
Prevent invalid transformations
From-SVN: r30758
Nick Clifton [Thu, 2 Dec 1999 10:53:39 +0000 (10:53 +0000)]
remove compile time warnings about uninitilaised fileds
From-SVN: r30757
Nick Clifton [Thu, 2 Dec 1999 10:18:36 +0000 (10:18 +0000)]
Pass pragma_getc and pragma_ungetc to HANDLE_PRAGMA.
From-SVN: r30756
Bryce McKinlay [Thu, 2 Dec 1999 10:09:24 +0000 (10:09 +0000)]
ServerSocket.java (ServerSocket): Bind to any interface if bindAddr is null.
1999-12-02 Bryce McKinlay <bryce@albatross.co.nz>
* libjava/java/net/ServerSocket.java (ServerSocket): Bind to any
interface if bindAddr is null.
From-SVN: r30755
Jan Hubicka [Thu, 2 Dec 1999 09:17:30 +0000 (10:17 +0100)]
i386.md (extend?f?f2): Force the input into a register, not the output.
* i386.md (extend?f?f2): Force the input into a register, not
the output.
From-SVN: r30754
Jeff Law [Thu, 2 Dec 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30753
Richard Henderson [Thu, 2 Dec 1999 06:30:09 +0000 (22:30 -0800)]
* gcc.c-torture/execute/991201-1.c: New.
From-SVN: r30752
Jeff Law [Thu, 2 Dec 1999 01:44:52 +0000 (18:44 -0700)]
Fix cut-n-paste error in last change.
From-SVN: r30751
Jakub Jelinek [Thu, 2 Dec 1999 00:38:56 +0000 (01:38 +0100)]
sparc.md (movsf_const_intreg): Add constraints for regclass' sake.
* config/sparc/sparc.md (movsf_const_intreg): Add constraints for
regclass' sake.
(movdf_const_intreg_sp32): Likewise. Prefer the memory load
alternative because setting up 64bit constant is usually costly,
especially when reload is in progress or completed.
(movdf_const_intreg_sp64): Likewise.
(movdf_const_intreg split): Fix building up constants when
HOST_BITS_PER_WIDE_INT is 64 yet long is 32bit.
From-SVN: r30750
Jeffrey A Law [Thu, 2 Dec 1999 00:36:31 +0000 (00:36 +0000)]
combine.c (if_then_else_cond): Use const_true_rtx instead of const1_rtx for return values in EQ/NE comparison...
* combine.c (if_then_else_cond): Use const_true_rtx instead of
const1_rtx for return values in EQ/NE comparison against (const_int 0)
case.
From-SVN: r30749
Jeffrey A Law [Thu, 2 Dec 1999 00:21:59 +0000 (00:21 +0000)]
mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers.
* mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers.
(asm_file_start): Emit .am33 into assembly file when compiling for
the AM33.
(print_operand_address): Handle POST_INC addresses.
(can_use_return_insn, initial_offset): Check AM33 registers too.
(expand_prologue): Check & save AM33 registers too.
(expand_epilogue): Similarly.
wise.
(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
(INDEX_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
(REGNO_OK_FOR_INDEX_P, PREFERRED_RELOAD_CLASS): Likewise.
(PREFERRED_OUTPUT_RELOAD_CLASS, LIMIT_RELOAD_CLASS): Likewise.
(REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
(HAVE_POST_INCREMENT): Define.
(GO_IF_LEGITIMATE_ADDRESS): Allow POST_INC addresses for the AM33.
(GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is a mode dependent address.
* mn10300.md (movqi, movhi, addsi, subsi): Add AM33 variants.
(mulsi, andsi, iorsi, xorsi, notsi): Likewise.
(ashiftsi, lshiftrtsi, ashiftrtsi): Likewise.
(zero_extend to SI from QI/HI): Likewise.
(sign_extend to SI from QI/HI): Likewise.
(mulsidi3, umulsidi3): New patterns for the AM33.
(tstsi with zero extension from QI/HI): Add AM33 variants.
(movsi, movsf, movdi, movdf): Generate efficient code for the AM33 too.
(return_internal_regs, store_movm): Handle new AM33 registers.
* t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Define.
(LIBGCC, INSTALL_LIBGCC): Likewise.
* invoke.texi: Document new flags.
From-SVN: r30748
Jan Hubicka [Wed, 1 Dec 1999 23:48:05 +0000 (00:48 +0100)]
i386.md (addsi3_cc): Add "binary_operator_ok" to the condition.
* i386.md (addsi3_cc): Add "binary_operator_ok" to the condition.
(addsi3_carry): Likewise.
(sbbsi3_cc): Add "binary_operator_ok" to the condition.
(sbbsi3_carry): Likewise.
(mulsi3): Rewrite to expander, ensure that only one operand is memory.
(mulhi3): Likewise.
(test?i_1): Ensure that only one operand is memory.
(conditional move patterns): likewise.
(shift and rotate patterns): Rewrite to expander, add
"binary_operator_ok" to the condition.
From-SVN: r30747
Jan Hubicka [Wed, 1 Dec 1999 22:49:12 +0000 (23:49 +0100)]
i386.md (QImode patterns): Remove '*' before the 'r' constraints.
* i386.md (QImode patterns): Remove '*' before the 'r' constraints.
* i386.h (procesor_costs): Add movzbl_load field.
(HARD_REGNO_MODE_OK): Accept QImode on non PARTIAL_REGISTER_STALL in
non-Q registers, accept DImode registers anywhere.
(Q_CLASS_P): New.
(MEMORY_MOVE_COST): Calculate QImode moves correctly.
* i386.c (*_cost): Set value for movxbl_load field.
From-SVN: r30746
Jan Hubicka [Wed, 1 Dec 1999 22:35:15 +0000 (23:35 +0100)]
(addsi): New add to lea splitter.
* (addsi): New add to lea splitter.
(ashlsi): Likewise.
(lea to add/shift peep2): New.
From-SVN: r30745
Mark Salter [Wed, 1 Dec 1999 19:50:46 +0000 (19:50 +0000)]
elf.h (STARTFILE_SPEC): Add no-crt0.
* config/mips/elf.h (STARTFILE_SPEC): Add no-crt0.
* config/mips/elf64.h (STARTFILE_SPEC): Add no-crt0.
* config/mips/mips.h (TARGET_SWITCHES): Add no-crt0.
From-SVN: r30744
Mark Mitchell [Wed, 1 Dec 1999 18:09:09 +0000 (18:09 +0000)]
cp-tree.h (min_tree_cons): Remove.
* cp-tree.h (min_tree_cons): Remove.
(scratch_ovl_cons): Likewise.
* decl.c (saveable_obstack): Don't declare.
(duplicate_decls): Tweak error-message.
(initialize_local_var): Explicitly mark the definition as static.
(finish_function): Call permanent_allocation, just so
that the middle-end sees the obstacks it expects.
(mark_cp_function_context): Likewise.
* init.c (build_new): Don't use min_tree_cons.
* lex.c (permanent_obstack): Don't declare.
(current_obstack, saveable_obstack): Likewise.
* spew.c (current_obstack, saveable_obstack): Likewise.
* tree.c (current_obstack, saveable_obstack): Likewise.
(scratch_ovl_cons): Remove.
(build_min_nt): Don't mess with obstacks.
(build_min): Likewise.
(min_tree_cons): Remove
* typeck.c (build_component_ref): Don't use scratch_ovl_cons.
(build_x_function_call): Likewise.
(build_c_cast): Don't use min_tree_cons.
From-SVN: r30743
Jan Hubicka [Wed, 1 Dec 1999 17:27:17 +0000 (17:27 +0000)]
Undo the last change I've checked in by accident.
From-SVN: r30742
Jan Hubicka [Wed, 1 Dec 1999 16:50:46 +0000 (17:50 +0100)]
i386.c (ix86_expand_move): Never add clobbers to move patterns.
* i386.c (ix86_expand_move): Never add clobbers to move patterns.
* i386.md (movsi_xor): New.
(movsi_or): New.
(movsi_1, movhi_1, movqi_1): Remove.
(movsi_2): Rename to movsi_1.
(movhi_2): Rename to movhi_1.
(movqi_2): Rename to movqi_1.
(movdi_1): Remove; remove splitter.
(movdi_2): Rename to movdi_1.
(divmodsi4 splitter): Do not emit clobbers for move patterns.
(long move peep2): Do not create QI or HI mode mov0s
(mov -1,reg -> or peep2s): Enable again, rewrite to single peephole.
From-SVN: r30741
Jan Hubicka [Wed, 1 Dec 1999 13:38:50 +0000 (14:38 +0100)]
i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns rewrite splitters.
* i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns
rewrite splitters.
From-SVN: r30740
Alexandre Petit-Bianco [Wed, 1 Dec 1999 13:06:10 +0000 (13:06 +0000)]
re GNATS gcj/97 (Internal compiler error)
Thu Nov 11 01:57:14 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (lookup_method_invoke): Use lang_printable_name to
reliably build the type name during error report. Fixes PR gcj/97.
From-SVN: r30739
Jan Hubicka [Wed, 1 Dec 1999 12:04:11 +0000 (13:04 +0100)]
i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
* i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
(abs?f2_if): Likewise.
From-SVN: r30738
Jason Molenda [Wed, 1 Dec 1999 11:54:08 +0000 (03:54 -0800)]
re PR other/4 (Test PR)
1999-12-01 Jason Molenda (jsm@bugshack.cygnus.com)
* ChangeLog: Dummy commit to make sure the logging is working
right.
Oh, and test the PR system. PR other/4.
From-SVN: r30737
Jeff Law [Wed, 1 Dec 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30735
Alex Samuel [Wed, 1 Dec 1999 08:13:54 +0000 (08:13 +0000)]
ggc.h (ggc_test_and_set_mark): New macro.
* ggc.h (ggc_test_and_set_mark): New macro.
(ggc_mark_rtx): Use ggc_test_and_set_mark.
(ggc_mark_tree): Likewise.
(ggc_mark_rtvec): Likewise.
* ggc-common.c (ggc_mark_rtx_children): Reduce recursion.
From-SVN: r30734
Jason Merrill [Wed, 1 Dec 1999 01:48:02 +0000 (01:48 +0000)]
dwarf2out.c (scope_die_for): Only handle types.
* dwarf2out.c (scope_die_for): Only handle types. Only search for
containing types.
(decl_scope_table): Just an array of trees now.
(push_decl_scope): Simplify.
(dwarf2out_init): Adjust.
(local_scope_p): New fn.
(gen_inlined_enumeration_type_die): Don't call scope_die_for.
(gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise.
(gen_typedef_die): Likewise.
(gen_lexical_block_die): Don't call push/pop_decl_scope.
(gen_inlined_subroutine_die): Likewise.
(gen_abstract_function): Set current_function_decl temporarily.
(gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration.
Handle block extern declarations. Don't call push/pop_decl_scope.
(gen_decl_die): Fix logic for block externs.
From-SVN: r30733
Kaveh R. Ghazi [Tue, 30 Nov 1999 23:56:52 +0000 (23:56 +0000)]
ansidecl.h (ATTRIBUTE_MALLOC): New macro.
* ansidecl.h (ATTRIBUTE_MALLOC): New macro.
* libiberty.h (buildargv, dupargv, concat, choose_temp_base,
make_temp_file, xmalloc, xcalloc, xstrdup, xmemdup): Add
ATTRIBUTE_MALLOC.
(xatexit): Remove __GNUC__ check, add ATTRIBUTE_NORETURN.
From-SVN: r30732
Kaveh R. Ghazi [Tue, 30 Nov 1999 23:55:26 +0000 (23:55 +0000)]
calls.c (special_function_p): Remove `realloc' and add `strdup' to the list of functions which have attribute...
* calls.c (special_function_p): Remove `realloc' and add `strdup'
to the list of functions which have attribute malloc by default.
From-SVN: r30731
Kaveh R. Ghazi [Tue, 30 Nov 1999 23:26:37 +0000 (23:26 +0000)]
c-lex.c (yylex): With -Wtraditional...
* c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
integer constant does not match the traditional type, limit the
warnings to cases where the base of the type is ten.
* invoke.texi (-Wtraditional): Document it.
From-SVN: r30730
Franz Sirl [Tue, 30 Nov 1999 23:19:06 +0000 (23:19 +0000)]
combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
* combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
* rs6000.md: Only access a CONST_INT with INTVAL
From-SVN: r30729
Richard Henderson [Tue, 30 Nov 1999 22:28:43 +0000 (14:28 -0800)]
lcm.c (compute_laterin): Cast bb->aux to size_t not int.
* lcm.c (compute_laterin): Cast bb->aux to size_t not int.
(compute_nearerout): Likewise.
* ggc-page.c (ggc_page_print_statistics): Explicitly cast
size_t to unsigned long for formatting.
From-SVN: r30728
Jakub Jelinek [Tue, 30 Nov 1999 22:18:21 +0000 (23:18 +0100)]
Jakub Jelinek <jakub@redhat.com>
* config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
Allow the user to override call-used/fixed state of %g2-5
registers from the command line (with the exception of %g4 for
embedded model).
(REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
there is a higher chance of having a leaf function.
(MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
for ARCH64 which has %ccr register.
* config/sparc/sparc.md (return_losum_si, return_losum_di): New
patterns.
* config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
insn accept into delay slot any insn which does not use %[ol]
registers. Accept some LO_SUM and shift left by 1 for the normal
restore case.
(output_function_epilogue): Likewise.
(epilogue_renumber): Added argument which inhibits any renumbering
and just tests if the rtx does not use any %[ol] registers.
(output_return): Reflect above change.
From-SVN: r30727
Jakub Jelinek [Tue, 30 Nov 1999 22:06:50 +0000 (14:06 -0800)]
sparc.c (sparc_va_arg): Fix sparc64 va_arg aggregate passing for sizes <= 16 bytes.
* config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg
aggregate passing for sizes <= 16 bytes.
From-SVN: r30726
Tom Tromey [Tue, 30 Nov 1999 18:53:15 +0000 (18:53 +0000)]
re GNATS libgcj/98 (pthread_mutex_init in libjava/posix-threads.cc)
* posix-threads.cc (_Jv_MutexInit): Use _Jv_PthreadGetMutex to get
mutex to initialize. Initialize `count' if required.
Fixes PR libgcj/98.
From-SVN: r30725
Brendan Kehoe [Tue, 30 Nov 1999 12:47:12 +0000 (07:47 -0500)]
fix typo
From-SVN: r30724
Bernd Schmidt [Tue, 30 Nov 1999 12:16:56 +0000 (12:16 +0000)]
Delete obsolete macros
From-SVN: r30723
Brendan Kehoe [Tue, 30 Nov 1999 12:02:09 +0000 (12:02 +0000)]
sparc.h (MASK_FASTER_STRUCTS, [...]): Define.
* sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define.
(TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags.
(ROUND_TYPE_ALIGN): Use better value of -mfaster-structs.
* sparc.md (sparclite86x_branch, sparclite86x_shift): New function
units for the sparclite86x chip.
(flush): Revert October 14th change; add SImode specifically.
(flushdi): Copy of flush, but DImode, to avoid genrecog warnings.
* invoke.texi: Document it.
From-SVN: r30722
Nick Clifton [Tue, 30 Nov 1999 11:05:05 +0000 (11:05 +0000)]
Fix psimode truncation patterns to not accept MEMs that are not valid for
PSImode.
From-SVN: r30721
Michael Hayes [Tue, 30 Nov 1999 10:42:29 +0000 (10:42 +0000)]
flow.c (flow_nodes_print, [...]): New functions.
* flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
(flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise.
(flow_loop_exits_find, flow_loop_nodes_find): Likewise.
(flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise.
(flow_loop_tree_node_add, flow_loops_tree_build): Likewise.
(flow_loop_level_compute, low_loops_level_compute): Likewise.
(flow_loops_find, flow_loop_outside_edge_p): Likewise.
* basic-block.h: Protect from multiple inclusion.
(flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes.
(struct loops, struct loop): Define structures.
* sbitmap.c (sbitmap_a_subset_b_p): New function.
* sbitmap.h: Protect from multiple inclusion.
(sbitmap_a_subset_b_p): Add prototype.
* Makefile.in (LOOP_H): New macro.
(stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H.
From-SVN: r30720
Jeff Law [Tue, 30 Nov 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30719
Philippe De Muyter [Tue, 30 Nov 1999 08:36:13 +0000 (09:36 +0100)]
cppinit.c (CAT): The argument list of this macro may not contain spaces !
* cppinit.c (CAT): The argument list of this macro may not contain
spaces !
From-SVN: r30718
David S. Miller [Tue, 30 Nov 1999 06:03:30 +0000 (22:03 -0800)]
Move quantity tables and register equivalence chains into
per-qty and per-register structure arrays respectively.
From-SVN: r30717
Mark Mitchell [Mon, 29 Nov 1999 23:39:29 +0000 (23:39 +0000)]
* pt.c (tsubst_decl): Robustify.
From-SVN: r30716
Richard Kenner [Mon, 29 Nov 1999 23:02:14 +0000 (18:02 -0500)]
Install proper change
From-SVN: r30715
Richard Kenner [Mon, 29 Nov 1999 22:56:39 +0000 (22:56 +0000)]
fold-const.c (extract_muldiv, [...]): Reverse operation if C is negative.
* fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse
operation if C is negative.
(extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects.
(extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive
law for some divisions if constant is negative and change other
divisions to the opposite rounding.
From-SVN: r30714
Richard Kenner [Mon, 29 Nov 1999 22:44:52 +0000 (22:44 +0000)]
expr.c (store_constructor_field): If bit position is not multiple of alignment of TARGET's mode, use BLKmode.
* expr.c (store_constructor_field): If bit position is not multiple
of alignment of TARGET's mode, use BLKmode.
From-SVN: r30713
Richard Kenner [Mon, 29 Nov 1999 22:35:51 +0000 (22:35 +0000)]
expr.c (expand_expr_unaligned): Add more code from full case that is needed when OP0 is in a register.
* expr.c (expand_expr_unaligned): Add more code from full case
that is needed when OP0 is in a register.
From-SVN: r30712
Bruce Korb [Mon, 29 Nov 1999 22:31:15 +0000 (22:31 +0000)]
Update e-address
From-SVN: r30711
Alexandre Petit-Bianco [Mon, 29 Nov 1999 20:43:24 +0000 (20:43 +0000)]
parse.y (catch_clause_parameter:): Still set `$$' to NULL_TREE in case of error.
Tue Nov 23 10:55:18 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (catch_clause_parameter:): Still set `$$' to NULL_TREE
in case of error. Error message tuned.
This fixes a catch clause error handling reported on the java-discuss
mailing list:
http://sourceware.cygnus.com/ml/java-discuss/1999-q4/msg00358.html
From-SVN: r30710
Per Bothner [Mon, 29 Nov 1999 19:43:55 +0000 (11:43 -0800)]
exception.cc: Remove prototype declarations for malloc and free.
1999-11-27 Per Bothner <per@bothner.com>
* exception.cc: Remove prototype declarations for malloc and free.
These clash with recent versions of glibc, which specifies `throws ()'
when __cplusplus is defined. Instead, #include <stdlib.h>.
From-SVN: r30709
J"orn Rennecke [Mon, 29 Nov 1999 18:11:35 +0000 (18:11 +0000)]
Fix for gcc.c-torture/noncompile/920824-1.c on SH (and mips?)
Fix for gcc.c-torture/noncompile/920824-1.c on SH (and mips?)
* dwarfout.c (field_byte_offset): Size can be zero if there was
an error.
From-SVN: r30708
Alexandre Petit-Bianco [Mon, 29 Nov 1999 17:40:31 +0000 (17:40 +0000)]
hu Nov 4 16:27:01 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (resolve_qualified_expression_name): Handle PLUS_EXPR.
(qualify_ambiguous_name): Likewise.
(This patch fixes the gcj PR #55.)
From-SVN: r30707
Bernd Schmidt [Mon, 29 Nov 1999 17:35:07 +0000 (17:35 +0000)]
Delete unused vars.
From-SVN: r30706
Bernd Schmidt [Mon, 29 Nov 1999 14:48:30 +0000 (14:48 +0000)]
Add missing return types
From-SVN: r30705
Bruce Korb [Mon, 29 Nov 1999 14:35:50 +0000 (14:35 +0000)]
don't skip GLIBC files any more, more C++ header testing, corrected spelling of mach
From-SVN: r30704
Bernd Schmidt [Mon, 29 Nov 1999 12:18:56 +0000 (12:18 +0000)]
New test: gcc.dg/991129-1.c
From-SVN: r30703
Bernd Schmidt [Mon, 29 Nov 1999 12:09:54 +0000 (12:09 +0000)]
Verify class is ok when allocating reload reg in push_reload
From-SVN: r30702
Bernd Schmidt [Mon, 29 Nov 1999 11:51:16 +0000 (11:51 +0000)]
Fix bug in reloads_conflict
From-SVN: r30701