Voilà le changelog de notre GCC:
Changelog of the TIGCC-local changes to GCC (3.3 branch):
2004-01-04 Kevin Kofler <Kevin@tigcc.ticalc.org>
* cppdefaults.c (struct cpp_include_defaults): Disable hardcoded prefixes.
(GCC_INCLUDE_DIR, GCC_INCLUDE_DIR_LEN): Disable hardcoded prefix.
* gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX, TOOLDIR_BASE_PREFIX,
STANDARD_BINDIR_PREFIX, standard_exec_prefix, standard_exec_prefix_1,
md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
standard_startfile_prefix, standard_startfile_prefix_1,
standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
standard_bindir_prefix): Disable.
(struct static_specs): Disable md_exec_prefix, md_startfile_prefix,
md_startfile_prefix_1 and startfile_prefix_spec.
(int warn_std_ptr): Disable unused variable.
(process_command): Don't use environment variables. Don't hardcode any prefix at
compile time.
(main): Likewise.
2003-12-28 Kevin Kofler <Kevin@tigcc.ticalc.org>
* unroll.c (loop_iterations): Subtract 1 from n_iterations in unrotated (-Os) loop.
Optimize case where n_iterations ends up 0 after subtracting 1 by deleting the loop.
2003-11-24 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre25 released as part of TIGCC 0.95 Beta 4.
2003-11-16 Kevin Kofler <Kevin@tigcc.ticalc.org>
* real.c (bcdppmul): Handle resultl carry greater than 1 (if->while). Add sanity check.
(bcdmul) Unswap operands for the neg*pos case.
(bcddiv) Unswap operands for the neg/pos case.
2003-10-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre24 released as part of TIGCC 0.95 Beta 3.
2003-10-25 Kevin Kofler <Kevin@tigcc.ticalc.org>
* real.c (bcdpdroplast): Remove.
(bcdpadd1ulp): New function.
(bcdppadd): Don't use bcdpdroplast. Do the rounding at the end, using bcdpadd1ulp.
(bcdpnorm): Remove. Inline into bcdppsub.
(bcdppsub): Don't use bcdpdroplast. Do the rounding at the end, during normalization.
Also handle extra digits there. Don't use bcdpnorm.
* real.c (bcdppadd): Avoid shift count overflow.
(bcdppsub): Likewise.
2003-10-21 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre23 prepared for release (but not released).
2003-10-21 Kevin Kofler <Kevin@tigcc.ticalc.org>
* real.c (bcdppmul): Fix exponent off-by-one.
(bcdppdiv): Fix typo in multiplication of divisor by 2^56.
Add missing reinitialization of factor in loop to compute divisorl.
Fix off-by-one when checking if the divisor fits (need <=, not <).
2003-10-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre22b released as part of TIGCC 0.95 Beta 2 r1 for *nix
2003-10-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
* real.c (bcdppadd, bcdppsub, bcdppmul, bcdppdiv): Don't initialize a structure with a
non-constant initializer, GCC 2 doesn't like that.
2003-10-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre22a released as part of TIGCC 0.95 Beta 2
2003-10-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
* toplev.c (flag_zero_initialized_in_bss): Make default off.
2003-10-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre22 prepared for release (but not released).
2003-10-12 Kevin Kofler <Kevin@tigcc.ticalc.org>
* real.c (bcdppmul, bcdmul, bcdppdiv, bcddiv): New static functions.
(real_arithmetic): Use bcdmul for multiplication and bcddiv for division. Drop obsolete
hack using host floating point.
(exact_real_inverse): Use bcddiv for the division. Only do the optimization if the
inverse actually _is_ exact.
* config/smapbcd.h (ZERO, UNSIGNED_ZERO, POSITIVE_ZERO, NEGATIVE_ZERO, UNSIGNED_INF,
POSITIVE_INF, NEGATIVE_INF, NAN, REAL_VALUES_LESS, REAL_VALUE_LDEXP,
REAL_VALUE_UNSIGNED_FIX, REAL_VALUE_RNDZINT, REAL_VALUE_DTOF,
REAL_VALUE_HTOF, REAL_VALUE_NEGATE): Add __extension__ to shut up
some -pedantic warnings.
(MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS): Define.
* Revert local patches merged 2002-12-26:
* toplev.c: Include setjmp.h.
(float_signal): Revert removal.
(float_handler_set, float_handled, float_handler): Likewise.
(set_float_handler): Likewise.
(general_init): Set SIGFPE to float_handler, not crash_handler.
* toplev.h (set_float_handler): Add prototype.
2003-10-11 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Revert local patches merged 2002-12-26:
* fold-const.c (const_binop): Don't use REAL_ARITHMETIC.
* tree.h (struct real_value): Disable.
(struct smap_bcd_float): Declare.
(TREE_REAL_CST): Add cast to (REAL_VALUE_TYPE *) to convert struct smap_bcd_float
to the typedef'ed smap_bcd_float.
(struct tree_real_cst): Use struct smap_bcd_float instead of struct real_value.
* rtl.h (smap_bcd_float): Declare.
(CONST_DOUBLE_REAL_VALUE): Use smap_bcd_float instead of struct real_value.
* real.h (struct real_value): Comment out definition, add own definition instead.
* config/smapbcd.h (smap_bcd_float): Typedef to struct real_value. Remove old typedef.
* real.c (bcdpdroplast, bcdpnorm, bcdppadd, bcdppsub, bcdadd, bcdsub, bcdmin, bcdmax): New
static functions.
(real_arithmetic): Use bcdadd, bcdsub, bcdmin and bcdmax for addition, subtraction, min
and max (respectively).
2003-10-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre21 prepared for release (but not released).
2003-10-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Revert local patches merged 2002-12-26:
* c-decl.c (pushdecl): If compiled using "nostub" mode, set a flag.
* config/m68k/m68k.h:
(MASK_BADLINK, TARGET_BADLINK): Define.
(MASK_NOSTUB, TARGET_NOSTUB): Define.
* config/m68k/m68k.h: (TARGET_SWITCHES): Remove no longer supported "badlink" and "mlink"
switches (and their negatives).
* Revert:
2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
* config/m68k/coff.h (BSS_SECTION_ASM_OP): Disable.
(ASM_OUTPUT_ALIGNED_BSS): Likewise.
* config/m68k/m68k-coff.h: (TARGET_DEFAULT): Remove MASK_BADLINK.
* config/m68k/m68k-ti.h: (ASM_OUTPUT_COMMON): Don't use TARGET_BADLINK and TARGET_NOSTUB.
(ASM_OUTPUT_LOCAL): Likewise.
(BSS_SECTION_ASM_OP): Redefine, handle TARGET_NO_BSS.
2003-10-09 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre20 prepared for release (but not released).
2003-10-09 Kevin Kofler <Kevin@tigcc.ticalc.org>
* config/m68k/m68k-ti.h (ASM_FILE_START): Adapt -freg-relative code for the new linker.
2003-10-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
* config/smapbcd.h (REAL_VALUE_TO_STRING): Use "%08lx", not "%lx".
(REAL_VALUE_ATOF): Call REAL_VALUE_HTOF for hex floats or REAL_VALUE_DTOF for decimal
floats. Rename original to...
(REAL_VALUE_DTOF): ...this new macro.
(REAL_VALUE_HTOF): Detect host floating point overflow.
* fold-const.c (const_binop): Likewise.
* real.c (real_arithmetic): Likewise.
(exact_real_inverse): Likewise.
2003-10-07 Kevin Kofler <Kevin@tigcc.ticalc.org>
* cppinit.c (cpp_read_main_file): Always disable "standard" include directory processing.
2003-09-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre19 released.
2003-09-07 Kevin Kofler <Kevin@tigcc.ticalc.org>
* stmt.c (expand_end_case_type): Don't balance the tree when optimizing for size.
A linear decision tree gives far smaller code.
(emit_case_nodes): Omit the conditional branch to default if we are optimizing for size.
2003-09-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
Backport from mainline (3.4):
2003-08-30 Steven Bosscher <steven@gcc.gnu.org>
Roger Sayle <roger@eyesopen.com>
PR middle-end/11823
* stmt.c (expand_end_case_type): Only use jump tables for dense
switch statements when optimizing for size.
2003-07-05 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre18 released.
2003-07-05 Kevin Kofler <Kevin@tigcc.ticalc.org>
* config/m68k/m68k.h (MULW_COST): Decrease multiplication cost under -Os.
(DIVW_COST): Decrease division cost under -Os.
(UDIVW_COST): Likewise.
(RTX_COSTS): Adjust shift costs under -Os. Distinguish signed vs. unsigned division.
2003-06-27 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre17 released.
2003-06-27 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Merge with GCC 3.3.1 20030623 snapshot.
* config/m68k/m68k.h (MASK_NO_BSS, TARGET_NO_BSS): Define.
(TARGET_SWITCHES): Add -mno-bss, -mnobss, -mbss.
* config/m68k/m68k_ti.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Use them.
2003-06-07 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre16 released.
2003-06-07 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Disabled the following patch:
2003-03-21 Richard Henderson <rth@redhat.com>
PR opt/2001
* bb-reorder.c (maybe_duplicate_computed_goto_succ): New.
(make_reorder_chain_1): Call it.
* function.h (struct function): Add computed_goto_common_label,
computed_goto_common_reg.
* function.c (free_after_compilation): Zap them.
* stmt.c (expand_computed_goto): Use them to produce one
indirect branch per function.
2003-06-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre15 released.
2003-06-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
* config/m68k/m68k.h (MASK_MERGE_TO_DATA, TARGET_MERGE_TO_DATA): Define.
(TARGET_SWITCHES): Add -mmerge-to-data, -mno-merge-to-data, -mnomerge-to-data.
* config/m68k/m68k_ti.h (TEXT_SECTION_ASM_OP): Use them.
(DATA_SECTION_ASM_OP): Use them. Add.
(ASM_FILE_START): Use them.
* config/m68k/m68k.h (MASK_RODATA_TO_TEXT, TARGET_RODATA_TO_TEXT): Define.
(TARGET_SWITCHES): Add -mrodata-to-text, -mno-rodata-to-text, -mnorodata-to-text.
* config/m68k/m68k_ti.h (READONLY_DATA_SECTION_ASM_OP): Define.
(JUMP_TABLES_IN_TEXT_SECTION): Define to 1.
* real.h (significand_size): Fix definition.
2003-06-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3.1-pre14 released.
2003-06-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Merge with GCC 3.3.1 20030602 snapshot.
* unroll.c (unroll_loop): Delete unconditional jump first.
2003-04-23 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre13 released.
2003-04-23 Kevin Kofler <Kevin@tigcc.ticalc.org>
* builtin_attrs.def: Add predefined attributes for *printf and *scanf (removed in FSF
GCC) back.
* builtins.def: Disable new *printf and *scanf builtins (added to FSF GCC).
2003-04-21 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Merge with GCC 3.3 20030421 snapshot.
* Revert the following patch (added to FSF GCC):
Wed Mar 5 15:45:40 CET 2003 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_compilation): Do duplicate loop headers when
optimizing for size.
2003-03-16 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre12 released.
2003-03-16 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Applied the following proposed patch for PR 7871 (and 7595):
2003-03-10 James E Wilson <wilson@tuliptree.org>
* flow.c (mark_set_1): Handle global_regs like the frame pointer.
2003-03-15 Kevin Kofler <Kevin@tigcc.ticalc.org>
* expr.c (emit_block_move_libcall_fn): Use emit_library_call.
(clear_storage_libcall_fn): Likewise.
2003-03-04 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre11 released.
2003-03-04 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Merge with GCC 3.3 20030303 snapshot.
2003-02-20 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre10 released.
2003-02-20 Kevin Kofler <Kevin@tigcc.ticalc.org>
* final.c (alter_subreg): On big-endian machines, adjust offset of paradoxical
subregs of memory to point to the correct place.
2003-02-14 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre9 released.
2003-02-14 Kevin Kofler <Kevin@tigcc.ticalc.org>
* gcse.c (do_local_cprop): Handle global register variables.
2003-02-14 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre8 released.
2003-02-14 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Merge with GCC 3.3 20030210 snapshot.
* gcse.c (do_local_cprop): Revert 20030104 patch. (Fixed differently in FSF tree.)
2003-01-04 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre7 released.
2003-01-04 Kevin Kofler <Kevin@tigcc.ticalc.org>
* Merge with GCC 3.3 20031230 snapshot.
* config/m68k/m68k_ti.h (TRAMPOLINE_ADJUST_ADDRESS): Add.
* builtin-attrs.def: Add definitions for printf, fprintf.
* c-format.c (check_format_types): Account for *printf and *scanf not actually supporting
-mlong. Fix misplaced parentheses.
2003-01-01 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre6 released.
2003-01-04 Kevin Kofler <Kevin@tigcc.ticalc.org>
* gcse.c (do_local_cprop): Don't touch %sp.
2002-12-27 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre5 released.
2002-12-27 Kevin Kofler <Kevin@tigcc.ticalc.org>
* cppmacro.c (replace_args): Add missing "macro = node->value.macro;".
* local-alloc.c (update_equiv_regs): Put abort back.
2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre4 released.
2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
* c-opts.c (COMMAND_LINE_OPTIONS): Change -fno-auto-octals to -fauto-octals.
(c_common_decode_option): Likewise. Use preprocessor option.
* cppinit.c: Add no_auto_octals option.
* flags.h (flag_auto_octals): Remove.
* toplev.c (flag_auto_octals): Remove.
(struct f_options): Remove auto-octals.
2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre3 prepared for release (but not released).
2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
* cpplib.c (_cpp_init_internal_pragmas): Define #pragma poison in the global namespace.
2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre2 prepared for release (but not released).
2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
* config/m68k/coff.h (BSS_SECTION_ASM_OP): Disable.
(ASM_OUTPUT_ALIGNED_BSS): Likewise.
2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
* 3.3-pre1 prepared for release (but not released).
...