123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688 |
- Changelog of the TIGCC-local changes to GCC (4.0 branch):
- 2005-09-29 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Rebase GCC to 4.0.2 release (identical to the 20050924 snapshot except for the missing
- PR 23043 fix).
- * version.c: Update version number.
- * Reapply PR 23043 fix from 20050924 snapshot:
- 2005-09-21 Andreas Schwab <schwab@suse.de>
- PR rtl-optimization/23043
- * postreload-gcse.c (eliminate_partially_redundant_load): Fix typo
- when allocating a struct unoccr.
- * Merge PR 24109 fix (gcc4-pr24109.patch) from Fedora GCC:
- 2005-09-29 Jakub Jelinek <jakub@redhat.com>
- * c-decl.c (c_write_global_declarations_1): If any
- wrapup_global_declaration_2 call returned true, restart the loop.
- 2005-09-24 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Update GCC to 4.0 20050924 (post-4.0.2 snapshot).
- * version.c: Update version number.
- * Drop patch for PR 21828 (fixed upstream):
- 2005-06-27 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * toplev.c (check_global_declarations): Don't ignore BSS variables for debugging info.
- * Merge DWARF 2 patches/backports from Fedora GCC:
- - gcc4-dwarf2-pr20268.patch
- 2005-03-30 James E. Wilson <wilson@specifixinc.com>
- PR debug/20268
- * dwarf2out.c (add_high_low_attributes): New function, extracted from
- gen_lexical_block_die.
- (gen_lexical_block_die, gen_inlined_subroutine_die): Call it.
- - gcc4-dwarf2-inline-details.patch
- 2005-07-25 James E Wilson <wilson@specifixinc.com>
- * dwarf2out.c (add_call_src_coords_attributes): New.
- (gen_inlined_subroutine_die): Call it.
- (maybe_emit_file, init_file_table): Add comments.
- (prune_unused_types_walk_attribs): Pass DW_AT_call_file through
- maybe_emit_file.
- * tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION.
- (expand_call_inline): Set BLOCK_SOURCE_LOCATION.
- * tree.h (BLOCK_SOURCE_LOCATION): New.
- (struct tree_block): New field locus.
- - gcc4-dwarf2-usefbreg.patch
- 2005-08-10 Jakub Jelinek <jakub@redhat.com>
- * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
- pass it down to loc_descriptor.
- (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
- (containing_function_has_frame_base): Move earlier in the file.
- (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
- instead of always assuming fbreg can't be used.
- - gcc4-dwarf2-prefer-1elt-vartracking.patch
- 2005-08-10 Jakub Jelinek <jakub@redhat.com>
- * dwarf2out.c (add_location_or_const_value_attribute): Prefer locations
- gathered by var-tracking in single entry loc_list over loc_descriptor_from_tree.
- - gcc4-dwarf2-frame_base.patch
- 2005-08-22 Richard Henderson <rth@redhat.com>
- * function.c (ARG_POINTER_CFA_OFFSET): Move ...
- * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
- (INCOMING_FRAME_SP_OFFSET): Moved from ...
- * dwarf2out.c (INCOMING_FRAME_SP_OFFSET): ... here.
- (struct cfa_loc): Change reg to unsigned int,
- rearrange for better packing.
- (lookup_cfa_1): Remove inline marker.
- (cfa_equal_p): Split out of ...
- (def_cfa_1): ... here. Use INVALID_REGNUM.
- (build_cfa_loc): Handle !cfa->indirect.
- (frame_pointer_cfa_offset): New.
- (dbx_reg_number): Assert register elimination performed; do
- leaf register remapping.
- (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
- (eliminate_reg_to_offset): New.
- (based_loc_descr): Remove can_use_fbreg argument. Use fbreg only
- for verifiably local stack frame addresses; re-base to CFA.
- (mem_loc_descriptor): Remove can_use_fbreg argument.
- (concat_loc_descriptor, loc_descriptor): Likewise.
- (containing_function_has_frame_base): Remove.
- (rtl_for_decl_location): Don't do register elimination or
- leaf register remapping here.
- (secname_for_decl): Split out from ..
- (add_location_or_const_value_attribute): ... here.
- (convert_cfa_to_loc_list): New.
- (compute_frame_pointer_to_cfa_displacement): New.
- (gen_subprogram_die): Use them.
- * tree.h (frame_base_decl): Remove.
- * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
- (prologue_stack_adjust): Remove.
- (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
- (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
- (set_frame_base_location): Remove.
- (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
- (dump_attrs_list, dump_dataflow_set): Use string concatenation.
- (vt_add_function_parameters): Don't eliminate_regs.
- (vt_initialize): Don't create frame_base_decl.
- * m68k.c (m68k_regno_mode_ok): Don't reject bytes in address registers if !TARGET_COLDFIRE.
- 2005-07-01 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Update GCC to 4.0 20050630 (4.0.1-pre snapshot).
- * version.c: Update version number.
- 2005-06-27 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * toplev.c (check_global_declarations): Don't ignore BSS variables for debugging info.
- 2005-06-03 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * config/m68k/m68k-ti.h (CPP_SPEC): Define to CPP_SUBTARGET_SPEC.
- 2005-05-17 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * varasm.c (default_section_type_flags_1): Make sure DECL_INITIAL (decl) is non-null before
- using it.
- (asm_emit_uninitialised): Add one more check for flag_data_sections && TARGET_NO_BSS.
- * config/m68k/m68k-ti.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Call data_section before
- emitting variables.
- 2005-05-07 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * dwarf2out.c (output_call_frame_info): Don't output .eh_frame section.
- 2005-05-05 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * dwarf2out.c (dwarf2out_start_source_file): Use the correct file number.
- 2005-04-30 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Update GCC to 4.0.0.
- * version.c: Update version number to 4.0.0-tigcc-1.
- 2005-04-24 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k/m68k.c (m68k_cannot_force_const_mem): New static function.
- (TARGET_CANNOT_FORCE_CONST_MEM): Define to m68k_cannot_force_const_mem.
- 2005-04-24 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/varasm.c (assemble_asm): Emit .loc directive. Switch to the text section before the
- asm and reset the stored section afterwards.
- * gcc/dwarf2out.c (dwarf2out_source_line): Don't crash if no current_function_decl.
- 2005-04-20 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/toplev.c (set_src_pwd): Eliminate duplicate backslashes from Win32 path names.
- 2005-04-09 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/dwarf2.h (enum dwarf_attribute): Add DW_AT_regparm_location.
- * gcc/dwarf2out.c (dwarf_attr_name): Likewise.
- (gen_formal_types_die, gen_subprogram_die): Emit DW_AT_regparm_location entries for
- register parameters.
- 2005-04-07 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k/m68k.c (m68k_output_function_prologue): Fix off-by-4 in the unwinding
- information for the !frame_pointer_needed case.
- 2005-04-03 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k/m68k-ti.h (DWARF2_ASM_LINE_DEBUG_INFO): Define.
- 2005-04-03 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k/m68k-ti.h (DWARF2_DEBUGGING_INFO, DWARF2_UNWIND_INFO): Define.
- * gcc/dwarf2out.c (add_const_value_attribute): Don't assume sizeof(float) is divisible by
- 4.
- 2005-03-24 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/rtlanal.c (subreg_regno_offset, subreg_offset_representable_p): Special-case
- GET_MODE_SIZE (xmode) == 10.
- 2005-03-23 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Update GCC to 4.0-20050319.
- * Revert pessimization:
- 2005-03-11 David Edelsohn <edelsohn@gnu.org>
- PR rtl-optimization/20306
- * expr.c (emit_move_complex): Set try_int false if mode is
- MODE_COMPLEX_FLOAT and mov_optab exists for inner mode. Only try
- emit_block_move if try_int is true.
- 2005-03-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Update GCC to 4.0-20050305.
- * gcc/c-opts.c (c_common_post_options): Don't use libcall method for complex
- multiplication/division, as we currently have no such libcalls.
- 2005-02-17 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/c-opts.c (c_common_init_options): Enable -fms-extensions by default.
- (c_common_handle_option): Disable it for -pedantic and -pedantic-errors.
- 2005-02-17 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/opts.c (decode_options): Change default max-inline-insn-auto for -O3 (but not -O4 or
- higher) from 120 to 60. Enable -finline-functions by default at -O2 and set
- max-inline-insn-auto to 5 (as for -Os).
- 2005-02-16 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Update GCC to 4.0-20050213.
- * gcc/optabs.c (expand_absneg_bit, expand_copysign_bit): Disable.
- * gcc/real.c (REAL_MODE_FORMAT_COMPOSITE_P): Disable.
- * gcc/config/smapbcd.h (REAL_MODE_FORMAT_COMPOSITE_P): Define to 0.
- * gcc/machmode.def (BF, XF): Move...
- * gcc/config/m68k/m68k-modes.def (BF, XF): ... here.
- 2005-02-16 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/tree-ssa-pre.c (eliminate): Honor -fno-function-cse.
- * gcc/tree-ssa-dom.c (optimize_stmt): Fix overconservative -fno-function-cse call sequence
- test.
- 2005-02-16 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k/m68k.md (unnamed argument passing peepholes): AND the least significant
- word with 0xFFFF to make sure the most significant word isn't off by one if it is <0.
- 2005-02-16 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/real.c (real_from_integer): Cast 10 to HOST_WIDE_INT before shifting.
- 2005-02-13 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/opts.c (decode_options): Don't enable flag_delete_null_pointer_checks by default.
- 2005-02-13 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k/m68k.md (unnamed peephole2s): Check REG_P before checking REGNO.
- (5 new unnamed peephole2s): Optimize redundant code generated by the zero_extend
- splitters.
- 2005-02-13 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k/m68k.c (const_method): Don't declare static.
- * gcc/postreload.c (reload_cse_move2add): Prototype and use it. Don't do the
- strict_low_part optimization for QImode, nor for long moves which can be done using
- moveq.
- 2005-02-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/c.opt (-Wpointer-sign): Disable by default.
- 2005-02-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * libcpp/internal.h (struct cpp_reader): Remove boolean lexing_mls member.
- * libcpp/lex.c (parse_string): Don't set it.
- (_cpp_clean_string): Don't check it. Always change "\r\n" into "\n\r", not "\n\n".
- (create_literal): Delete \r characters based on the given string length, not on the C
- string length. Don't use strchr.
- 2005-02-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/c-parse.in (stmts_and_decls): Don't error about labels at end of compound statements,
- only pedwarn if pedantic.
- * libcpp/lex.c (lex_string): Pedwarn about multi-line string literals if pedantic.
- * libcpp/expr.c (cpp_classify_number): Pedwarn about binary (0b...) constants if pedantic.
- 2005-02-11 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k.md (unnamed peephole2s): Fix "constraints not supported in
- define_peephole2" warnings. Don't optimize a push into a move for operands in the range
- for a moveq. Use a pea or moveq instead depending on whether a stack adjust is needed
- anyway or not. New unnamed peephole2 for the moveq case.
- (unnamed peephole for stack adjust + stack push): Don't misoptimize a push into a move
- for operands in the range for a pea if a stack adjustment is needed anyway.
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/real.c: Don't include math.h and setjmp.h.
- (bcdpadd1ulp): Take parameter by reference, don't return it.
- (bcdppadd, real_value_dtof, real_from_integer): Update calls to bcdpadd1ulp.
- (real_value_dtof): Handle overflow and underflow.
- (struct arbprec_decimal): New structure (arbitrary precision decimal float).
- (arbprec_pack, arbprec_mul2, arbprec_div2, arbprec_mul16, arbprec_div16, arbprec_add,
- arbprec_add_n_times, arbprec_to_bcd): New static functions to handle arbprec_decimal
- objects.
- (real_value_htof): Use them. Don't use finite, sprintf, real_value_dtof. Remove
- unnecessary lvalue cast.
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k.md (pushqi1_imm, pushqi1_reg, pushqi1_mem): New expanders for byte
- pushes.
- (pushqi1): Use them. Original code moved to pushqi1_mem.
- * gcc/config/m68k.md (unnamed define_peephole): New peephole to optimize constant argument
- passing after a stack adjustment (bundle 2 immediate word pushes to the stack into 1
- immediate longword push). Recognizes the pattern generated by my define_peephole2.
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k.md (unnamed peephole2): Fix copy&paste error.
- * gcc/fold-const.c (real_uzerop): Fix another copy&paste error.
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/simplify-rtx.c (simplify_immed_subreg): Fix use of undefined behavior (vp incremented
- twice without a sequence point in-between).
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- Implement correct handling of 3-sign zeros (POSITIVE_ZERO, NEGATIVE_ZERO and
- UNSIGNED_ZERO):
- * gcc/combine.c (combine_simplify_rtx): Don't optimize x-0 to x if HONOR_SIGNED_ZEROS, even
- if !HONOR_SIGN_DEPENDENT_ROUNDING.
- * gcc/fold-const.c (fold_real_zero_addition_p): Likewise.
- * gcc/simplify-rtx.c (simplify_binary_operation): Likewise.
- * gcc/fold-const.c (real_uzerop): New static function. Tests tree for UNSIGNED_ZERO.
- (fold): Allow folding UNSIGNED_ZERO*x to UNSIGNED_ZERO if -ffinite-math-only.
- (fold_binary_to_constant): Likewise.
- * gcc/simplify-rtx.c (simplify_binary_operation): Likewise.
- * gcc/simplify-rtx.c (simplify_unary_operation): Always allow simplifying -(X-Y) into Y-X,
- -(A+C) into -C-A and -(A+B) into -A-B, independently of HONOR_SIGNED_ZEROS.
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k.md (4 new unnamed peephole2s): Optimize lea (1,%an),%am;
- move.w foo,-(%am), m!=7 into move.l %an,%am; move.b foo,(%an). Optimize
- lea (x,%an),%am; move.l foo,-(%am), x!=4, x>=-0x7ffc into lea (x-4,%an),%am;
- move.l foo,(%am). Optimize lea (x,%an),%am; move.w foo,-(%am), x!=2, x>=-0x7ffe into
- lea (x-2,%an),%am; move.w foo,(%am). Optimize lea (x,%an),%am; move.b foo,-(%am), m!=7,
- x!=1, x>=-0x7fff into lea (x-1,%an),%am; move.b foo,(%am).
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/tree.c (initializer_zerop): Don't return 1 for UNSIGNED_ZERO.
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k.md (2 new unnamed peephole2s): Optimize lea (4,%an),%am;
- move.l foo,-(%am) into move.l %an,%am; move.l foo,(%an). Optimize lea (2,%an),%am;
- move.w foo,-(%am) into move.l %an,%am; move.w foo,(%an).
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/real.c (bcdadd): Return NAN instead of UNSIGNED_INF if adding 2 infinities with
- different sign, or UNSIGNED_INF+UNSIGNED_INF.
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/c-pretty-print.c (pp_c_expression): Add support for statement expressions (BIND_EXPR,
- STATEMENT_LIST).
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k.md (zero_extendhisi2, zero_extendqisi2): Mark data register earlyclobber
- for memory operands in order to avoid inefficient andi.l code.
- 2005-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k.c (m68k_rtx_costs): Decrease cost of longword shifts for speed
- optimization.
- 2005-02-09 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/smapbcd.h (REAL_VALUE_TO_STRING): Don't output trailing \n. Handle special
- cases properly. Output leading digit before the decimal point.
- 2005-02-09 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/m68k/m68k.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM
- unconditionally.
- * gcc/config/m68k/m68k.c (m68k_output_pic_call): Use jbsr instead of bsr for _ROM_CALL_...
- and _RAM_CALL_...
- 2005-02-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/config/smapbcd.h (REAL_VALUES_EQUAL): Use !REAL_VALUE_ISNANUINF, not
- REAL_VALUE_ISFINITE.
- 2005-02-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/optabs.c (expand_float): Reenable erroneously #if 0'ed libcall code.
- (init_optabs): Add missing ufloat initialization.
- 2005-02-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/real.h (real_value_dtof): Round correctly.
- 2005-02-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/real.h (real_from_string, real_from_string2): Enable prototypes.
- * gcc/config/smapbcd.h (REAL_VALUE_ATOF): Use real_from_string2, not REAL_VALUE_DTOF and
- REAL_VALUE_HTOF.
- (REAL_VALUE_DTOF, REAL_VALUE_HTOF): Delete. Move code to...
- Don't include math.h.
- * gcc/real.c (real_value_dtof, real_value_htof): ... here. New static functions. Remove
- unnecessary lvalue cast from the REAL_VALUE_DTOF code.
- (real_from_string): Enable. Implement using real_value_dtof and real_value_htof.
- (real_from_string2): Enable.
- Include math.h.
- * Revert:
- 2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * c-lex.c (interpret_float): Don't use real_from_string, real_convert. Use
- REAL_VALUE_ATOF instead.
- 2005-02-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/real.c (ereal_from_int, ereal_from_uint, REAL_DEBUG_INFO, REAL_DEBUG_SPRINTF):
- Delete.
- (real_from_integer): Implement from scratch.
- * gcc/real.h (ereal_from_int, ereal_from_uint): Delete prototypes.
- (real_from_integer): Enable prototype.
- * gcc/config/smapbcd.h (REAL_FROM_INT, REAL_FROM_UINT): Use real_from_integer, not
- ereal_from_int and ereal_from_uint.
- (real_from_integer): Don't define as a macro.
- * gcc/fold-const.c (fold_convert_const_int_from_real): Reenable overflow checks.
- 2005-02-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/real.c (ereal_to_int): Delete.
- (real_to_integer2): Implement from scratch.
- * gcc/real.h (ereal_to_int): Delete prototype.
- (real_to_integer2): Enable prototype.
- * gcc/config/smapbcd.h (REAL_TO_INT): Use real_to_integer2, not ereal_to_int.
- 2005-02-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/fold-const.c (fold_convert_const_int_from_real): Enable support for FIX_TRUNC_EXPR,
- don't call real_trunc (let REAL_VALUE_TO_INT handle it), use REAL_VALUE_ISNANUINF, not
- REAL_VALUE_ISNAN. Disable overflow checks for now.
- (fold): Use REAL_VALUE_ISNANUINF, not REAL_VALUE_ISNAN.
- * gcc/simplify-rtx.c (simplify_unary_operation): Likewise.
- (simplify_const_relational_operation): Likewise.
- 2005-02-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/m68k/m68k.c (m68k_init_cumulative_args): Use register calling convention for local
- functions when possible. Partially copied from i386.c. Add fndecl parameter.
- (amigaos_init_cumulative_args): Add fndecl parameter. Pass it to
- m68k_init_cumulative_args.
- * gcc/m68k/m68k.h (INIT_CUMULATIVE_ARGS): Pass FNDECL to amigaos_init_cumulative_args.
- * gcc/m68k/m68k-protos.h (amigaos_init_cumulative_args): Add fndecl parameter to prototype.
- 2005-02-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/m68k/m68k.c (m68k_save_reg, m68k_output_function_prologue): Handle
- OPTIMIZE_ROM_CALLS (save/restore %a5, load jump table).
- 2005-02-07 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/m68k/m68k.md (unnamed define_peephole): New peephole to optimize constant argument
- passing (bundle 2 immediate word pushes to the stack into 1 immediate longword push).
- 2005-02-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/m68k/m68k-ti.c (m68k_output_function_epilogue): Don't output junk nops for barriers.
- * gcc/m68k/m68k-ti.h (CAN_DEBUG_WITHOUT_FP): Define.
- 2005-02-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/c-decl.c (build_compound_literal): New method for -fglobal-compound-literals.
- * gcc/c-typeck.c (default_function_array_conversion, build_unary_op): Revert
- flag_global_compound_literals hacks.
- * gcc/varasm.c (default_selection_section): Disable compound literal handling.
- (assemble_variable): Always emit mergeable compound literals into their own sections.
- (default_section_type_flags1): Add compound literal handling.
- 2005-02-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/gimplify.c (gimplify_call_expr): Switch order of gimplification if -fno-function-cse.
- * gcc/cfgexpand.c (expand_gimple_basic_block): Restore function calls if -fno-function-cse.
- * gcc/tree-ssa-dom.c (optimize_stmt): Honor -fno-function-cse.
- 2005-02-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/builtins.def (BUILT_IN_ER_THROW): New.
- * gcc/builtins.c (expand_builtin_er_throw): New.
- (expand_builtin): Call it.
- 2005-02-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Revert (parts of larger patches, changelog entries pruned accordingly):
- 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
- * fold-const.c (pedantic_non_lvalue): Make it static.
- * tree.h: Remove the corresponding prototype.
- 2004-01-17 Joseph S. Myers <jsm@polyomino.org.uk>
- * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
- true unconditionally.
- * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
- Remove.
- (build_unary_op, build_modify_expr): Don't handle extended
- lvalues.
- (build_conditional_expr): Call non_lvalue instead of pedantic_non_lvalue.
- (build_c_cast): Don't conditional use of non_lvalue on pedantic.
- * fold-const.c (fold): Don't check pedantic directly for
- COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
- passed to pedantic_non_lvalue.
- 2003-11-06 Joseph S. Myers <jsm@polyomino.org.uk>
- * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
- expressions as lvalues.
- 2003-11-04 Joseph S. Myers <jsm@polyomino.org.uk>
- * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
- conditional expressions as lvalues.
- 2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
- * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
- deprecation of casts as lvalues.
- 2005-02-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * libcpp/lex.c (lex_string): Fix infinite loop with multi-line strings (use code from
- _cpp_skip_block_comment).
- (create_literal): Delete \r characters.
- * libcpp/internal.h (struct cpp_reader): Add boolean lexing_mls member.
- * libcpp/lex.c (lex_string): Set it.
- (_cpp_clean_line): Check it. Switch \r and \n instead of converting \r to \n if true.
- 2005-02-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * gcc/builtins.def: Disable builtin_calloc, which conflicts with TIGCCLIB.
- * gcc/c-opts.c (c_common_handle_option): Don't warn about -I-.
- * gcc/config/i386/xm-mingw32.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
- * gcc/c-incpath.c (add_path): Convert / to \ if HAVE_DOS_BASED_FILE_SYSTEM, not the other
- way round. Strip trailing \.
- * gcc/loop.c (scan_loop): Fix hard register variables as asm inputs. Patch by Ian Lance
- Taylor, 2004-05-13, taken from the GCC mailing list:
- http://gcc.gnu.org/ml/gcc/2004-05/msg00678.html
- * Revert:
- 2003-12-17 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR c/12085
- * c-typeck.c (build_function_call): Issue an error if a
- function is called through an incompatible prototype.
- 2005-02-02 - 2005-02-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Import GCC 4.0 20050130 snapshot.
- * Merge changes from GCC 3.3.3 (see ChangeLog-gcc-3.3.txt).
- * Preprocessor patches have moved to files with new names:
- gcc/cppexp.c -> libcpp/expr.c
- gcc/cpphash.h -> libcpp/internal.h
- gcc/cppinit.c -> libcpp/init.c, gcc/c-incpath.c
- gcc/cpplex.c -> libcpp/lex.c, libcpp/include/cpplib.h (prototype), gcc/c-lex.c
- gcc/cpplib.c -> libcpp/directives.c
- gcc/cpplib.h -> libcpp/include/cpplib.h
- gcc/cppmacro.c -> libcpp/macro.c
- gcc/cppmain.c -> gcc/c-ppoutput.c
- * Some more patches have moved to other files:
- gcc/c-common.c -> gcc/c-cppbuiltin.c, gcc/builtins.c
- gcc/c-opts.c -> gcc/c-opts.c, gcc/c.opt
- gcc/c-typeck.c -> gcc/c-typeck.c, gcc/c-decl.c
- gcc/emit-rtl.c (gen_lowpart_common, constant_subword) ->
- gcc/simplify-rtx.c (simplify_immed_subreg) (rewritten)
- gcc/toplev.c -> gcc/toplev.c, gcc/common.opt, gcc/opts.c
- gcc/config/m68k/m68k-coff.h -> gcc/config.gcc, gcc/config/m68k/m68k-none.h
- gcc/config/m68k/m68k.h (mul/div/shift costs) -> gcc/config/m68k/m68k.c
- gcc/config/m68k/m68k.md (PIC call patch) -> gcc/config/m68k/m68k.c (m68k_output_pic_call)
- gcc/config/m68k/m68k-ti.h (PROMOTE_PROTOTYPES, ASM_FILE_START) ->
- gcc/config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES, TARGET_ASM_FILE_START,
- m68k_asm_file_start),
- gcc/config/m68k/m68k-protos.h (m68k_asm_file_start prototype)
- * Patches have been updated to follow the GCC 4.0 conventions where appropriate (ISO C90,
- renamed identifiers, ...).
- * Dropped attrib.c patch, as this looks already fixed (see PR 14587).
- * Dropped reversion of PR 2001 patch (bb-reorder.c, function.c, function.h, stmt.c) which
- was only applied to the 3.3 branch.
- * Dropped combine.c backport which is already in 4.0.
- * Dropped expr.c (is_zeros_p) patch, as this function is no more.
- * Dropped final.c (alter_subreg) paradoxical subreg patch, as this is already fixed.
- * Dropped PR 7871 patch to flow.c, as this bug is already fixed in 4.0.
- * Dropped flow.c (regno_uninitialized) patch, as this function is no more.
- * Dropped the libfuncs.h, optabs.c and expr.c patches which added *bf* libfuncs, as they
- are not needed any more thanks to genopinit.c and the new init_optab.
- * Dropped backport of PR 11823 patch (stmt.c) which is already in 4.0.
- * Dropped toplev.c patch to disable copy_loop_headers for -Os, as this is already done in
- 4.0 for the equivalent tree-ssa pass (and the old one is no more).
- * Dropped varasm.c (decode_rtx_const) patch, as this function is no more.
- * Dropped varasm.c (categorize_decl_for_section) flag_zero_initialized_in_bss patch, as
- this is already fixed in 4.0.
- * Dropped varasm.c (const_hash_1) patch which added an unneeded sanity check.
- * Dropped unroll.c patches, as the old unroller is no longer.
- * Dropped config/m68k/m68k.c patch to disable XFmode flavor setting (not needed anymore).
- * Dropped config/m68k/m68k.c backports (output_move_const_into_data_reg NOTB/NOTW/NEGW
- patch, output_andsi3 64-bit cross patch) which are already in 4.0.
- * Dropped obsolete config/m68k/m68k.h attribute support patch (already #if 0ed and moved to
- target macros a few GCC releases ago).
- * Dropped config/m68k/m68k-protos.h patch because the prototype for
- extended_address_operand is auto-generated anyway.
- * gcc/c-decl.c (struct c_parm, build_c_parm): Add asmspec.
- * gcc/config/m68k/m68k-protos.h (amigaos_init_cumulative_args,
- amigaos_function_arg_advance, amigaos_function_arg): Prototype here.
- * Dropped REAL_VALUE_TRUNCATE->real_value_truncate patches in gcc/fold-const.c and
- gcc/simplify-rtx.c, which use real_convert now.
- * gcc/config/smapbcd.h (real_convert, real_from_integer, real_isneg): Define.
- * gcc/real.c (real_compare): Implement.
- * gcc/real.h (real_compare): Declare.
- * config-guess: Always use i386 for mingw32.
- * gcc/builtins.c (expand_builtin, expand_builtin_*, fold_builtin_*, integer_valued_real_p,
- fold_trunc_transparent_mathfn, mathfn_built_in, expand_errno_check,
- builtin_mathfn_code): Disable math builtins. Disable mem and string builtins except the
- ones needed internally: memcpy, memset. Also disable ctype builtins and
- builtin_fork_or_exec.
- * gcc/builtins.def: Disable ctype builtins.
- * gcc/c-incpath.c (register_include_chains): Don't use environment variables.
- * gcc/convert.c (strip_float_extension): Don't use exact_real_truncate and
- real_value_truncate.
- * gcc/emit-rtl.c (init_emit_once): Use real_arithmetic instead of REAL_EXP and SET_REAL_EXP
- to compute 1/2 (dconsthalf). Don't initialize dconstpi and dconste.
- (dconstpi, dconste): Don't declare.
- * gcc/real.h (dconstpi, dconste): Likewise.
- * gcc/expr.c (emit_block_move_via_libcall, emit_block_move_libcall_fn, expand_assignment,
- clear_storage_via_libcall, clear_storage_libcall_fn): Use mem* instead of b*.
- Drop patches changing the sizes for b* functions to ushort, it's all size_t now.
- * gcc/fold-const.c (const_binop): Use REAL_VALUES_IDENTICAL instead of real_identical.
- * gcc/simplify-rtx.c (simplify_binary_operation): Likewise.
- * gcc/fold-const.c (fold_inf_compare): Don't use real_maxval.
- (fold_relational_const): Use REAL_VALUE_ISNANUINF instead of real_isnan.
- * gcc/function.h (function_arg_regno_p): Prototype here.
- * gcc/genmodes.c (emit_real_format_for_mode): Don't emit struct real_format.
- (emit_mode_adjustments): Don't emit code using REAL_MODE_FORMAT.
- * gcc/optabs.c (expand_unop): Don't try negating floating point values by flipping the sign
- bit.
- (expand_abs_nojump): Don't try computing abs by clearing the sign bit.
- (copysign): Disable.
- * gcc/output.h (assemble_real): Conditionalize prototype on REAL_WIDTH instead of
- REAL_VALUE_TYPE_SIZE.
- * gcc/simplify-rtx.c (simplify_unary_operation): Don't simplify SQRT, we don't have
- real_sqrt nor builtin_sqrt.
- * gcc/simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
- simplify_immed_subreg): Use SMAP BCD representation directly instead of real_to_target
- and real_from_target.
- * gcc/tree-ssa-ccp.c (ccp_fold_builtin): Do nothing.
- * gcc/tree-pretty-print.c (dump_generic_note): Use REAL_VALUE_TO_STRING instead of
- real_to_decimal.
- * gcc/varasm.c (output_constant_pool): Pass fnname to output_constant_pool1.
- (output_constant_pool1): Add fnname parameter.
- * gcc/config/m68k/m68k.c (m68k_output_pic_call): Use plain bsr now. Guaranteed to be
- PC-relative, and now (latest GNU as) optimized to a byte where possible.
- (m68k_output_mi_thunk): Use plain bra for labels under -mpcrel now. See above.
- * gcc/config/m68k/m68k.md (indirect_jump): Likewise.
- * gcc/config/m68k/m68k-ti.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Cast ROUNDED to unsigned
- to avoid format mismatches.
- * Revert (parts of larger patches, changelog entries pruned accordingly):
- 2003-08-04 Roger Sayle <roger@eyesopen.com>
- * c-common.c (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
- (c_attrs_initialized): Delete.
- (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
- always call c_init_attributes.
- (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
- set c_attrs_initialized when done.
- (c_common_insert_default_attributes): Delete.
- * c-common.h (c_common_insert_default_attributes): Delete prototype.
- * c-decl.c (c_insert_default_attributes): Delete.
- * c-tree.h (c_insert_default_attributes): Delete prototype.
- * attribs.c (decl_attributes): Don't call insert_default_attributes
- langhook. Update function description comment.
- * langhooks.h (lang_hooks): Remove insert_default_attributes field.
- * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
- * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
- * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
- 2003-08-02 Roger Sayle <roger@eyesopen.com>
- * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
- few functions that define default attributes using it.
- * c-common.c (c_common_insert_default_attributes): Do nothing.
- * libcpp/files.c (ssize_t): Define for Win32.
|