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
Bernd Schmidt [Mon, 29 Nov 1999 11:44:57 +0000 (11:44 +0000)]
Clean up parts of the scheduler
From-SVN: r30700
Bernd Schmidt [Mon, 29 Nov 1999 11:06:51 +0000 (11:06 +0000)]
Delete useless patterns
From-SVN: r30699
Bernd Schmidt [Mon, 29 Nov 1999 10:51:09 +0000 (10:51 +0000)]
Fix abort in loop_iterations
From-SVN: r30698
Mark Mitchell [Mon, 29 Nov 1999 09:05:34 +0000 (09:05 +0000)]
Make ChangeLog entry clearer
From-SVN: r30697
Jeff Law [Mon, 29 Nov 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30696
David S. Miller [Mon, 29 Nov 1999 08:07:23 +0000 (00:07 -0800)]
sparc.c (init_cumulative_args): Fix type of third arg.
1999-11-29 David S. Miller <davem@redhat.com>
* config/sparc/sparc.c (init_cumulative_args): Fix type of third
arg.
* config/sparc/sparc-protos.h: Update proto, move into RTX_CODE.
From-SVN: r30695
Jeff Law [Mon, 29 Nov 1999 06:18:49 +0000 (23:18 -0700)]
Fix a typo.
From-SVN: r30694
Kaveh R. Ghazi [Mon, 29 Nov 1999 02:50:04 +0000 (02:50 +0000)]
com.c (ffecom_file_, [...]): Constify a char*.
* com.c (ffecom_file_, ffecom_file, file_buf,
ffecom_open_include_): Constify a char*.
(ffecom_possible_partial_overlap_): Mark parameter `expr2' with
ATTRIBUTE_UNUSED.
(ffecom_init_0): Use a fully prototyped cast in call to bsearch.
(lang_print_error_function): ANSI-fy.
* com.h (ffecom_file): Constify a char*.
* fini.c (main): Call return, not exit.
* g77spec.c (lang_specific_driver): Use non-const *in_argv in
assignment.
* intrin.c (ffeintrin_cmp_name_): Don't needlessly cast away
const-ness.
From-SVN: r30693
Kaveh R. Ghazi [Mon, 29 Nov 1999 02:26:49 +0000 (02:26 +0000)]
com.c (ffecom_get_invented_identifier): Rewrite to take an ellipses.
* com.c (ffecom_get_invented_identifier): Rewrite to take an ellipses.
(ffecom_char_enhance_arg_, ffecom_do_entry_,
ffecom_f2c_make_type_, ffecom_gen_sfuncdef_,
ffecom_start_progunit_, ffecom_start_progunit_,
ffecom_start_progunit_, ffecom_sym_transform_assign_,
ffecom_transform_equiv_, ffecom_transform_namelist_,
ffecom_vardesc_, ffecom_vardesc_array_, ffecom_vardesc_dims_,
ffecom_end_transition, ffecom_lookup_label, ffecom_temp_label):
Adjust accordingly.
* com.h (ffecom_get_invented_identifier): Likewise.
* sts.c (ffests_printf): New function taking ellipses.
(ffests_printf_1D, ffests_printf_1U, ffests_printf_1s,
ffests_printf_2Us): Delete.
* sts.h: Likewise.
* std.c (ffestd_R1001dump_, ffestd_R1001dump_1005_1_,
ffestd_R1001dump_1005_2_, ffestd_R1001dump_1005_3_,
ffestd_R1001dump_1005_4_, ffestd_R1001dump_1005_5_,
ffestd_R1001dump_1010_2_, ffestd_R1001dump_1010_3_,
ffestd_R1001dump_1010_4_, ffestd_R1001dump_1010_5_,
ffestd_R1001rtexpr_): Call `ffests_printf', not `ffests_printf_*'.
* ste.c (ffeste_io_ialist_, ffeste_io_cilist_, ffeste_io_cllist_,
ffeste_io_icilist_, ffeste_io_inlist_, ffeste_io_olist_): Likewise.
From-SVN: r30692
Kaveh R. Ghazi [Mon, 29 Nov 1999 02:08:36 +0000 (02:08 +0000)]
libiberty.h: Include stdarg.h when ANSI_PROTOTYPES is defined.
* libiberty.h: Include stdarg.h when ANSI_PROTOTYPES is defined.
(asprintf, vasprintf): Provide declarations.
From-SVN: r30691
Robert Lipe [Sun, 28 Nov 1999 21:44:43 +0000 (21:44 +0000)]
sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn table from .fini into .dtor.
* i386/sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn
table from .fini into .dtor.
From-SVN: r30690
Anthony Green [Sun, 28 Nov 1999 20:45:34 +0000 (20:45 +0000)]
tree.h (struct tree_decl): Add malloc_flag.
* tree.h (struct tree_decl): Add malloc_flag.
(DECL_IS_MALLOC): Define.
* c-common.c (attrs): Add A_MALLOC attribute.
(init_attributes): Add this attribute to the table.
(decl_attributes): Handle malloc attribute.
* calls.c (special_function_p): Check for the malloc attribute.
* extend.texi (Function Attributes): Document malloc attribute.
From-SVN: r30689
Jeffrey A Law [Sun, 28 Nov 1999 20:24:48 +0000 (20:24 +0000)]
* pa.md (reload shift-add patterns): Remove.
From-SVN: r30688
Herman A.J. ten Brugge [Sun, 28 Nov 1999 20:05:50 +0000 (21:05 +0100)]
* reorg.c (dbr_schedule) Print more statistics. Corrected
problem when printing info when 3 delay slots are filled.
From-SVN: r30687
Jeff Law [Sun, 28 Nov 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30686
Jakub Jelinek [Sun, 28 Nov 1999 08:08:02 +0000 (09:08 +0100)]
combine.c (setup_incoming_promotions): Pass an outgoing regno to FUNCTION_ARG_REGNO_P which it expects.
* combine.c (setup_incoming_promotions): Pass an outgoing
regno to FUNCTION_ARG_REGNO_P which it expects.
From-SVN: r30685
Andreas Jaeger [Sun, 28 Nov 1999 08:03:00 +0000 (09:03 +0100)]
* mips/linux.h (CPP_PREDEFINES): Undefine before redefining.
From-SVN: r30684
Philippe De Muyter [Sun, 28 Nov 1999 07:58:37 +0000 (08:58 +0100)]
* hashtab.c (sys/types.h): File included.
From-SVN: r30683
Philippe De Muyter [Sun, 28 Nov 1999 07:56:53 +0000 (08:56 +0100)]
* cccp.c (do_include): Avoid initialization of automatic variable.
From-SVN: r30682
Philippe De Muyter [Sun, 28 Nov 1999 07:47:57 +0000 (08:47 +0100)]
integrate.c (mark_stores): Function definition made void, to match previous declaration.
* integrate.c (mark_stores): Function definition made void, to match
previous declaration.
* regclass.c (dump_regclass): Ditto.
* Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'.
From-SVN: r30681
William Bader [Sun, 28 Nov 1999 07:41:09 +0000 (07:41 +0000)]
* gcc_update: Allow patches compressed by bzip2.
From-SVN: r30680
Mark Mitchell [Sat, 27 Nov 1999 18:04:50 +0000 (18:04 +0000)]
Fix typo
From-SVN: r30679
Mark Mitchell [Sat, 27 Nov 1999 18:01:48 +0000 (18:01 +0000)]
decl2.c (finish_file): Call expand_body for inline functions that will be written out but that do not...
* decl2.c (finish_file): Call expand_body for inline functions
that will be written out but that do not yet have RTL.
* semantics.c (expand_body): Do not generate RTL For inline
functions that do not yet need to be written out.
From-SVN: r30678
Richard Kenner [Sat, 27 Nov 1999 14:55:36 +0000 (14:55 +0000)]
expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is known to be multiple of divisor.
* expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
known to be multiple of divisor.
From-SVN: r30677
Richard Kenner [Sat, 27 Nov 1999 14:47:23 +0000 (14:47 +0000)]
* expr.c (store_constructor): Don't clobber TARGET if CLEARED.
From-SVN: r30676
Bernd Schmidt [Sat, 27 Nov 1999 14:08:36 +0000 (14:08 +0000)]
New test: compile/991127-1.c
From-SVN: r30675
Richard Kenner [Sat, 27 Nov 1999 13:59:20 +0000 (13:59 +0000)]
combine.c (try_combine): Add code to try to merge a set of a two-word pseudo to a constant with a...
* combine.c (try_combine): Add code to try to merge a set of a
two-word pseudo to a constant with a setting of one of those words
to a constant.
From-SVN: r30674
Richard Kenner [Sat, 27 Nov 1999 13:50:13 +0000 (13:50 +0000)]
fold-const.c (negate_expr, [...]): New.
* fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
(split_tree): Completely rework to make more general.
(make_range, fold): Call negate_expr.
(fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
(fold, associate): Call new split_tree and associate_trees.
(fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.
From-SVN: r30673
Jeff Law [Sat, 27 Nov 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30672
Bernd Schmidt [Fri, 26 Nov 1999 11:44:37 +0000 (11:44 +0000)]
Avoid GNU C extension
From-SVN: r30671
Jeff Law [Fri, 26 Nov 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30670
Mark Mitchell [Thu, 25 Nov 1999 20:32:04 +0000 (20:32 +0000)]
Make-lang.in (CXX_SRCS): Add optimize.c.
1999-11-25 Mark Mitchell <mark@codesourcery.com>
* Make-lang.in (CXX_SRCS): Add optimize.c.
* Makefile.in (CXX_OBJS): Add optimize.o.
(CXX_TREE_H): Add splay-tree.h, system.h, and $(CONFIG_H).
(spew.o, lex.o, decl.o, decl2.o, typeck2.o, typeck.o): Adjust.
(class.o, call.o, friend.o, init.o, method.o, cvt.o): Likewise.
(search.o, tree.o, ptree.o, rtti.o, except.o, expr.o): Likewise.
(xref.o, pt.o, error.o, errfn.o, repo.o, semantics.o): Likewise.
(dump.o): Likewise.
(optimize.o): New target.
* class.c: Don't include splay-tree.h.
* cp-tree.def (CTOR_COMPLETE): Rename to CTOR_STMT.
* cp-tree.h: Include splay-tree.h.
(DECL_UNINLINABLE): New macro.
(CTOR_BEGIN_P, CTOR_END_P): New macros.
(flag_inline_trees): New variable.
(local_variable_p): New function.
(nonstatic_local_decl_p): Likewise.
(optimize_function): Likewise.
(cplus_unsave_expr_now): Remove.
(copy_tree_r): Declare.
(remap_save_expr): Likewise.
* decl.c (local_variable_p): Don't
make it static.
(local_variable_p_walkfn): New function.
(make_rtl_for_local_static): Remove code to try to avoid writing
out static constants.
(emit_local_var): Fix indentation.
(nonstatic_local_decl_p): New function.
(check_default_argument): Use local_variable_p_walkfn, not
local_variable_p, when walking the tree.
(start_function): Set the DECL_CONTEXT for automatically generated
labels.
(finish_constructor_body): Use CTOR_STMT to mark the end of a
constructor.
* decl2.c: Don't include splay-tree.h.
(flag_inline_trees): Define.
* dump.c: Don't include
splay-tree.h.
* except.c (expand_end_catch_block): Fix comment formatting.
(expand_end_eh_spec): Set DECL_CONTEXT on temporary variables.
(expand_throw): Tidy comment.
* init.c (build_vec_delete_1): Use create_temporary_var.
* lex.c (cplus_tree_code_type): Make it static.
(cplus_tree_code_length): Likewise.
(cplus_tree_code_name): Likewise.
* optimize.c: New file.
* semantics.c (finish_goto_stmt): Set DECL_UNLINABLE for functions
with computed gotos.
(setup_vtbl_ptr): Mark the beginnings of constructors with
CTOR_STMT.
(expand_stmt): Handle CTOR_STMT, not CTOR_COMPLETE.
(expand_body): Call optimize_function. Save bodies if we're doing
inlining on trees.
* tree.c: Don't include splay-tree.h. Include insn-config.h and
integrate.h.
(copy_tree_r): Make it public.
(statement_code_p): New function.
(mark_local_for_remap_r): Likewise.
(cp_usave_r): Likewise.
(cp_unsave): Likewise.
(build_cplus_new): Set DECL_CONTEXT for temporary variables.
(walk_tree): Walk into `s' class nodes. Walk statement chains.
(copy_tree_r): Handle 's' class nodes. Restore chains for
statements. Nullify scopes. Don't copy types.
(init_tree): Set lang_unsave to cp_unsave.
(remap_save_expr): Define.
* ir.texi: Document CTOR_STMT.
From-SVN: r30669
Mark Mitchell [Thu, 25 Nov 1999 20:06:25 +0000 (20:06 +0000)]
/gcc/../texinfo/makeinfo/Makefile ] ...
/gcc/../texinfo/makeinfo/Makefile ] ; then echo /home/mitchell/dev/egcs/objdir/gcc/../texinfo/makeinfo/makeinfo ; else echo makeinfo ; fi`" "MAKEINFOFLAGS=" "RANLIB_FOR_TARGET=` if [ -f /home/mitchell/dev/egcs/objdir/gcc/../binutils/ranlib ] ; then echo /home/mitchell/dev/egcs/objdir/gcc/../binutils/ranlib ; else if [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] ; then echo ranlib; else t='s,^,i686-pc-linux-gnu-,'; echo ranlib | sed -e $t ; fi; fi`" "RANLIB_TEST_FOR_TARGET=[ -f ` if [ -f /home/mitchell/dev/egcs/objdir/gcc/../binutils/ranlib ] ; then echo /home/mitchell/dev/egcs/objdir/gcc/../binutils/ranlib ; else if [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] ; then echo ranlib; else t='s,^,i686-pc-linux-gnu-,'; echo ranlib | sed -e $t ; fi; fi` ] || ( [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] )" "SHELL=/bin/sh" "STAGE_PREFIX=" "exeext=" "build_exeext=" "objext=.o" "exec_prefix=/usr/local" "prefix=/usr/local" "local_prefix=/usr/local" "gxx_include_dir=/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.96/../../../..`echo /usr/local | sed -e 's|^/usr/local||' -e 's|/[^/]*|/..|g'`/include/g++-3" "tooldir=" "gcc_tooldir=/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.96/../../../../i686-pc-linux-gnu" "bindir=/usr/local/bin" "libsubdir=/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.96" "datadir=/usr/local/share" "distdir=../tmp/\$(subdir)" "localedir=/usr/local/share/locale" "CC=gcc" "CXX_FOR_BUILD=" "CXXFLAGS=" "CXX_FOR_TARGET=" ../cc1plus
make[1]: Entering directory `/home/mitchell/dev/egcs/objdir/gcc/cp'
gcc -DIN_GCC -g -W -Wall -W -Wall -o ../cc1plus `cat ../stamp-objlist` ../c-common.o ../c-pragma.o call.o decl.o errfn.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parse.o ptree.o rtti.o spew.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o xref.o repo.o dump.o optimize.o ../../libiberty/libiberty.a
make[1]: Leaving directory `/home/mitchell/dev/egcs/objdir/gcc/cp'
bash$ cd ~/dev/egcs/gcc
bash$ cvs update ChangeLog
P ChangeLog
bash$ cd cp
* except.c (init_eh_for_function): But still zero
eh_return_context, eh_return_stack_adjust, and eh_return_handler.
From-SVN: r30668
Mark Mitchell [Thu, 25 Nov 1999 19:21:27 +0000 (19:21 +0000)]
except.h (eh_status): Adjust documentation for x_protect_list.
* except.h (eh_status): Adjust documentation for x_protect_list.
(begin_protect_partials): New function.
* except.c (enqueue_eh_entry): Fix formatting.
(get_first_handler): Add consistency check.
(add_partial_entry): Adjust usage of protect_list.
(emit_cleanup_handler): Save and restore ehqueue.
(expand_start_all_catch): Add comment.
(begin_protect_partials): New function.
(end_protect_partials): Adjust usage of protect_list.
(init_eh_for_function): Use xcalloc.
From-SVN: r30667
Kaveh R. Ghazi [Thu, 25 Nov 1999 16:58:32 +0000 (16:58 +0000)]
c-common.c (check_format_info): Don't call a variadic function with a non-literal format string.
* c-common.c (check_format_info): Don't call a variadic function
with a non-literal format string.
* c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.
* c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
Likewise.
* cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
Likewise.
* collect2.c (collect_wait): Likewise.
* dbxout.c (dbxout_type): Likewise.
* gcc.c (do_spec_1): Likewise.
* genemit.c (gen_insn, gen_expand): Likewise.
* genrecog.c (write_switch, write_subroutine): Likewise.
* mips-tfile.c (catch_signal, botch): Likewise.
* print-rtl.c (print_rtx): Likewise.
* toplev.c (default_print_error_function, report_error_function,
_fatal_insn): Likewise.
From-SVN: r30666
Mark Mitchell [Thu, 25 Nov 1999 16:14:00 +0000 (16:14 +0000)]
* tree.c (unsave_expr_now): Handle NULL_TREE as input.
From-SVN: r30665
Jan Hubicka [Thu, 25 Nov 1999 12:53:44 +0000 (13:53 +0100)]
reg-stack.c (subst_stack_regs_pat): Swap operands in commutative operations when needed.
* reg-stack.c (subst_stack_regs_pat): Swap operands in commutative
operations when needed.
* i386.md (fop_?f_comm): New.
(fop_?f_1): Do not accept commutative operands.
From-SVN: r30664
Andreas Jaeger [Thu, 25 Nov 1999 11:11:43 +0000 (12:11 +0100)]
mips.md (casesi_internal): Add missing brace.
1999-11-25 Andreas Jaeger <aj@suse.de>
* config/mips/mips.md (casesi_internal): Add missing brace.
From-SVN: r30663
Jason Merrill [Thu, 25 Nov 1999 09:31:49 +0000 (09:31 +0000)]
dwarf2out.c (pend_type, [...]): Lose.
* dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
(splice_child_die): Handle moving a child DIE from the declaration
DIE of a class to its specification.
(gen_struct_or_union_type_die): Use 'complete' consistently.
(gen_decl_die): Generate the virtual context DIE first.
Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
From-SVN: r30662
Jeff Law [Thu, 25 Nov 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30661
Gavin Romig-Koch [Thu, 25 Nov 1999 04:44:27 +0000 (04:44 +0000)]
* config/mips/mips.md (call_value_multiple_interanal1): New.
From-SVN: r30660
Jason Merrill [Thu, 25 Nov 1999 02:36:40 +0000 (02:36 +0000)]
dwarf2out.c (free_AT, free_die): New fns.
* dwarf2out.c (free_AT, free_die): New fns.
(remove_children): Call them.
(output_line_info): Disable removal of duplicate notes.
Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
* dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
means pretend the type isn't defined.
Don't defer emitting types.
(gen_type_die_for_member): New fn.
(gen_decl_die): Call it.
(splice_child_die): New fn.
(gen_member_die): Call it rather than generate duplicate dies.
Defer emitting information for the abstract instance of an inline
until we either inline it or emit an out-of-line copy.
* dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
from output_inline_function if DECL_ABSTRACT is also set.
(block_ultimate_origin): Likewise.
(gen_abstract_function): New fn.
(gen_decl_die, gen_inlined_subroutine_die): Call it.
(gen_subprogram_die): An abstract instance is not a declaration
just because it doesn't match current_function_decl. Don't abort
because DECL_DEFER_OUTPUT isn't set. Do abort if a declaration
has an abstract origin.
* toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
abstract instance here.
From-SVN: r30659
Jason Merrill [Thu, 25 Nov 1999 02:33:31 +0000 (02:33 +0000)]
search.c (note_debug_info_needed): Do perform this optimization for dwarf2.
* search.c (note_debug_info_needed): Do perform this optimization
for dwarf2.
(maybe_suppress_debug_info): Likewise. Start by clearing
TYPE_DECL_SUPPRESS_DEBUG.
From-SVN: r30658
Mark Mitchell [Thu, 25 Nov 1999 02:17:23 +0000 (02:17 +0000)]
* except.c (emit_handlers): Zero catch_clauses after emitting them.
From-SVN: r30657
Mark Mitchell [Thu, 25 Nov 1999 01:56:13 +0000 (01:56 +0000)]
pt.c (tsubst_decl): Copy TREE_ASM_WRITTEN for VAR_DECLs.
* pt.c (tsubst_decl): Copy TREE_ASM_WRITTEN for VAR_DECLs.
* decl2.c (finish_vtable_vardecl): Don't prune vtables here.
From-SVN: r30656
Tom Tromey [Thu, 25 Nov 1999 00:36:51 +0000 (00:36 +0000)]
prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayElementFromElementType.
* prims.cc (_Jv_NewObjectArray): Use
_Jv_GetArrayElementFromElementType.
(_Jv_NewPrimArray): Likewise.
* java/lang/natObject.cc (clone): Use
_Jv_GetArrayElementFromElementType instead of sizeof.
* java/lang/natSystem.cc (arraycopy): Use
_Jv_GetArrayElementFromElementType.
* include/jvm.h (_Jv_GetArrayElementFromElementType): New
function.
From-SVN: r30655
Andrew Haley [Wed, 24 Nov 1999 18:57:08 +0000 (18:57 +0000)]
sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case where we need to reload fpul from a system register.
Wed Nov 24 18:39:18 1999 Andrew Haley <aph@cygnus.com>
* config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case
where we need to reload fpul from a system register.
From-SVN: r30654
Andreas Jaeger [Wed, 24 Nov 1999 17:07:37 +0000 (18:07 +0100)]
linux.h (CPP_PREDEFINES): Added.
* config/mips/linux.h (CPP_PREDEFINES): Added.
(LINK_SPEC): Remove -Y since this is only needed on sparc.
From-SVN: r30653
Andreas Jaeger [Wed, 24 Nov 1999 15:19:20 +0000 (16:19 +0100)]
linux.h (TARGET_VERSION): Added.
* config/mips/linux.h (TARGET_VERSION): Added.
(HANDLE_SYSV_PRAGMA): Added.
(DEFAULT_VTABLE_THUNKS): Added.
From-SVN: r30652
Jan Hubicka [Wed, 24 Nov 1999 13:14:57 +0000 (14:14 +0100)]
local-alloc.c (qty): New structure and static variable.
* local-alloc.c (qty): New structure and static variable.
(qty_phys_reg): Remove, all references changed to qty.
(qty_n_refs): Likewise.
(qty_min_class): Likewise.
(qty_birth): Likewise.
(qty_death): Likewise.
(qty_size): Likewise.
(qty_mode): Likewise.
(qty_n_calls_crossed): Likewise.
(qty_alternate_class): Likewise.
(qty_changes_size): Likewise.
(qty_first_reg): Likewise.
(alloc_qty): Rename variable QTY to QTYNO.
(finf_free_reg): Likewise.
(local_alloc): Allocate qty, do not allocate the removed variables.
From-SVN: r30651
Jeff Law [Wed, 24 Nov 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30650