Changelog of the TIGCC-local changes to GCC (4.1 branch):

2006-09-16  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * version.c (VERSUFFIX): Bump to "4.1.2-pre9".
        * config/m68k/m68k.md (m68k_init_cumulative_args): Mark STATIC_CHAIN_REGNUM as used for
            nested functions needing a static chain so register parameters don't conflict.

2006-08-01  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * version.c (VERSUFFIX): Bump to "4.1.2-pre8".
        * config/m68k/m68k.md (pushqi1): Don't use the optimized pushqi1_reg on SUBREGs with even
                                         offsets. Pass the full SUBREG expression to pushqi1_reg.
          (pushqi1_reg): Handle SUBREGs here. Compute new SUBREG_BYTE when handling SUBREGs instead
                         of hard-coding it as 0.

2006-07-29  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * Import GCC 4.1 20060728 snapshot.
        * version.c (VERSUFFIX): Bump to "4.1.2-pre7".

2006-04-30  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * Import GCC 4.1 20060428 snapshot.
        * version.c (VERSUFFIX): Bump to "4.1.1-pre6".
        * gcc/c.opt (-Wpointer-sign): Don't change the initializer (now set to -1 upstream).
        * c-opts.c (c_common_handle_option): Don't enable -Wpointer-sign for -Wall.

2006-01-05  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * version.c (VERSUFFIX): Bump to "4.1.0-pre5".
        * config/m68k/m68k.md (movsi): Don't allow writes of a label directly to memory under -mpcrel.
          (anonymous pattern for pcrel movsi): Split into case for address register and case for push.
                                               Only accept stack pushes, not arbitrary predecrements.

2005-12-24  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * version.c (VERSUFFIX): Bump to "4.1.0-pre4".
        * toplev.c (process_options): Don't warn about -fomit-frame-pointer with unwind tables and
                                      don't force -fno-omit-frame-pointer.

2005-12-22  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * version.c (VERSUFFIX): Bump to "4.1.0-pre3".
        * c-parser.c (c_parser_cast_expression): Allow all postfix operators, not just ++ and --.

2005-12-22  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * version.c (VERSUFFIX): Bump to "4.1.0-pre2".
        * c-parser.c (c_parser_cast_expression): Rename to c_parser_cast_expression_1, don't handle
                                                 Objective C here.
          (c_parser_cast_expression): New function. Handle Objective C and postfix operators.
          (c_parser_unary_expression): Add in_cast argument. Pass it to c_parser_postfix_expression.
          (c_parser_cast_expression_1, c_parser_sizeof_expression, c_parser_alignof_expression): Update
            calls to c_parser_unary_expression.
          (c_parser_postfix_expression): Add in_cast argument. Pass it to
            c_parser_postfix_expression_after_primary.
          (c_parser_postfix_expression_after_primary): Add in_cast argument. Only accept postincrement/
            postdecrement if it is false.
          (c_parser_cast_expression, c_parser_postfix_expression_after_paren_type): Update calls to
            postfix_expression_after_primary.

2005-12-22  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * version.c (VERSUFFIX): Add "4.1.0-pre1" tag.

2005-12-18 - 2005-12-21  Kevin Kofler  <Kevin@tigcc.ticalc.org>

        * Import GCC 4.1 20051216 snapshot.
        * Merge changes from GCC 4.0.2 (see ChangeLog-gcc-4.0.txt).
        * Drop obsolete backports:
          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.
          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.
          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.
        * Drop no longer needed reversion of (part of larger patch):
          2004-01-17  Joseph S. Myers  <jsm@polyomino.org.uk>
            c-typeck.c (build_conditional_expr): Call non_lvalue instead of pedantic_non_lvalue.
          (The check has moved to fold-const.c and does call pedantic_non_lvalue now.)
        * Drop no longer needed patches:
          * collect2.c: Applied patch to allow collect2 to build on MinGW by Lev Serebryakov
                        (2002-10-25).
          * expr.c (emit_push_insn): Don't take a modulus by 0. Set offset to constant 0 instead.
          2004-07-25 Kevin Kofler  <Kevin@tigcc.ticalc.org>
             * varasm.c (enum section_category): Move declaration up.
               (categorize_decl_for_section): Move prototype up.
          2005-05-05  Kevin Kofler  <Kevin@tigcc.ticalc.org>
             * dwarf2out.c (dwarf2out_start_source_file): Use the correct file number.
        * version.c: Don't hand-maintain version numbers, use (TIGCC) suffix instead.
        * Moved AMS-floating-point-related patch from config/m68k/m68k.c to config/m68k/predicates.md:
          (const_uint32_operand): Don't handle CONST_DOUBLE.
                                  Check for "INTVAL (op) >= 0" (possibly wrong?).
        * config/m68k/m68k.c (extended_address_operand): Move to config/m68k/predicates.md.
        * config/m68k/m68k.h: Don't add extended_address_operand to PREDICATE_CODES anymore.
                              Don't define MASK_* and TARGET_* (except MASK_REG_RELATIVE,
                              TARGET_REG_RELATIVE) anymore.
          (TARGET_DIRECTFLOAT): Define to always 0 (not supported yet).
          (TARGET_SWITCHES, TARGET_OPTIONS): Move options to...
        * config/m68k/m68k.opt: ... here. Remove "-mnoalign-int", "-mnopcrel", "-mnotios", "-mnoregparm",
                                "-mnomerge-sections", "-mnomerge-to-data", "-mnorodata-to-text" (use
                                "-mno-*" with the dash instead). Enable negative for "-mcoff-abslines".
        * Revert broken part of PR debug/24070 fix:
          2005-10-06  Richard Henderson  <rth@redhat.com>
            PR debug/24070
            * dwarf2out.c (lookup_filename): Return the result of maybe_emit_file.
        * builtins.c: Also disable expand_builtin_int_roundingfn, fold_builtin_int_roundingfn and
                      stack-smashing protection builtins.
          (fold_builtins_1): Disable stack-smashing protection builtins.
        * builtins.def: Likewise.
        * Drop changes to c-parse.in (replaced by c-parser.c).
        * c-parser.c (c_parser_parameter_declaration): Handle an optional asmspec before the attributes
                                                       to support register parameters. Pass it to
                                                       build_c_parm (or NULL if there is none).
          (c_parser_compound_statement_nostart): Don't error about labels at end of compound statements,
                                                 only pedwarn if pedantic.
        * config/m68k/m68k.c (output_move_double, floating_exact_log2): Use gcc_unreachable instead of
                                                                        abort.
        * config/smapbcd.h (REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
          (UNSIGNED_INF, POSITIVE_INF, NEGATIVE_INF, NAN, REAL_VALUE_LDEXP, REAL_VALUE_UNSIGNED_FIX,
          REAL_VALUE_RNDZINT, REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_TARGET_SMAP_BCD):
            Add ull suffix to big numbers to get rid of warnings.
        * c-decl.c (c_insert_default_attributes): Use ISO C90 prototype.
        * c-typeck.c (build_modify_expr): Update parameters for default_function_array_conversion call.
        * expr.c (emit_block_move_via_libcall, clear_storage_via_libcall): Fix use of uninitialized
                                                                           variable.
        * real.c (real_value_dtof): Add ull suffix to big number to get rid of warning.
          (real_value_htof): Delete unused variable "exp2".
          (real_from_integer): Delete unused variable "i".
        * simplify-rtx.c (simplify_const_binary_operation): Declare tmp1 pointer const.
          (simplify_immed_subreg): Declare tmp pointer const.
        * tree-object-size.c (alloc_object_size): Don't handle BUILT_IN_CALLOC.
          (pass_through_call): Don't handle BUILT_IN_*_CHK.
        * optabs.c (lowpart_subreg_maybe_copy, expand_copysign_absneg): Disable.
        * config/m68k/m68k.c (m68k_handle_stkparm_attribute, m68k_handle_regparm_attribute): Update
            calls to warning().
          (m68k_save_reg, m68k_output_function_prologue): Fix pointer signedness mismatch.
