123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818 |
- Changelog of the TIGCC-local changes to GCC (3.3 branch):
- 2004-09-25 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Backport from mainline:
- 2004-06-02 Andreas Schwab <schwab@suse.de>
- * config/m68k/m68k.c (output_andsi3): Fix detection of narrowable
- operation for 64 bit hosts.
- * Apply proposed patch from http://gcc.gnu.org/ml/gcc-patches/2003-12/msg00717.html:
- 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR optimization/12085
- * tree-inline.c (expand_call_inline): Do not inline functions at
- calling points where they are viewed with too different a prototype
- than the actual one.
- * ifcvt.c (noce_operand_ok): Don't if-convert global register variables.
- (dead_or_predicable): Likewise.
- 2004-08-08 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * varasm.c (output_addressed_constants): Address differences are not reloc-free for TIGCC.
- (default_select_section): Don't put compound literals in mergeable sections if they
- contain relocations.
- * config/m68k/m68k.c (print_operand): Add -__relation(%an) after a MEM(CONST) if
- reg-relative.
- * final.c (output_asm_insn): Likewise.
- * config/m68k/m68k.h (EXTRA_CONSTRAINT): Disable 'T' if reg-relative.
- (LEGITIMATE_CONSTANT_P): Disallow pcrel_address (#label or #label+const) if reg-relative.
- * config/m68k/m68k.md (unnamed pattern for expanded movesi): Also enable the TARGET_PCREL
- lea/pea pattern if TARGET_REG_RELATIVE.
- * config/m68k/m68k.md (cmphi, cmpqi, 2 unnamed patterns related to them): Accept only
- nonimmediate_operand, not nonimmediate_src_operand. (Fixes invalid ASM with -mpcrel.)
- 2004-08-05 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * 3.3.3-tigcc-6 released as part of TIGCC 0.95 Beta 15.
- 2004-07-28 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * c-format.c (check_format_types): Warn if someone passes an integer where a
- floating-point constant is expected.
- 2004-07-27 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * varasm.c (default_select_section): Put compound literals (if
- flag_global_compound_literals) and complex literals in mergeable sections.
- * flags.h (flag_merge_constant_pools): New flag.
- * toplev.c (flag_merge_constant_pools): Likewise. Default to 1.
- (f_options): Add -fmerge-constant-pools.
- * varasm.c (output_constant_pool): Create new mergeable section for constant pool if
- (flag_merge_constants && flag_merge_constant_pools).
- 2004-07-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * 3.3.3-tigcc-5 released as part of TIGCC 0.95 Beta 14.
- 2004-07-25 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * config/m68k/m68k.c (m68k_coff_asm_named_section): Handle mergeable and unaligned flag.
- * varasm.c (enum section_category): Move declaration up.
- (categorize_decl_for_section): Move prototype up.
- (mergeable_string_section): Implement string merging for TIGCC-extended COFF.
- (mergeable_constant_section): Implement constant merging for TIGCC-extended COFF.
- (default_select_section): Add support for mergeable sections.
- (default_section_type_flags_1): Likewise.
- 2004-07-20 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * 3.3.3-tigcc-4 released as part of TIGCC 0.95 Beta 13.
- 2004-07-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * stmt.c (emit_case_nodes): Don't omit the conditional branch to default where needed to
- handle case ranges correctly.
- 2004-06-20 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * 3.3.3-tigcc-3 released as part of TIGCC 0.95 Beta 11.
- 2004-06-20 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * config/m68k/m68k.c (m68k_coff_asm_named_section): Handle rodata sections properly
- with -fdata-sections.
- * varasm.c (asm_emit_uninitialised): Don't manually create sections for common symbols
- under -fdata-sections, the linker does it anyway.
- (assemble_variable): Likewise.
- (categorize_decl_for_section): Handle -fzero-initialized-in-bss correctly.
- 2004-06-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * config/m68k/m68k_ti.h (TRAMPOLINE_ADJUST_ADDRESS): Don't hardcode 0x40000, let TIGCCLIB
- compute the offset. Remove the ghost space warning, this is now handled automatically
- by TIGCCLIB.
- * toplev.c (process_options): Remove pointless warning about -ffunction-sections and
- debugging on some targets (not ours!).
- * config/m68k/m68k.c (m68k_coff_asm_named_section): Handle BSS sections properly with
- -fdata-sections.
- 2004-04-15 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * 3.3.3-tigcc-2 released as part of TIGCC 0.95 Beta 7.
- 2004-04-05 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * calls.c (expand_call): Revert broken PR 8081 patch (2003-09-02/2004-02-11).
- 2004-03-13 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * 3.3.3-tigcc-1 released as part of TIGCC 0.95 Beta 6.
- 2004-02-22 Kevin Kofler <Kevin@tigcc.ticalc.org>
- Fix -mpcrel support:
- * config/m68k/m68k.md (2 anonymous PIC call sequence patterns): Don't use bsr.l under
- -mpcrel. Use jbsr instead and let the assembler sort it out.
- * config/m68k/m68k.c (m68k_output_mi_thunk): Use jra instead of bra.l under -mpcrel.
- * config/m68k/m68k.md (3 anonymous patterns for cmp): Don't force addressing to be
- absolute.
- (ashrdi_const): Fix %d0 typo/thinko.
- * config/m68k/m68k.md (indirect_jump): Use jra instead of jmp. Don't add (%pc) under
- -mpcrel (using "%A0").
- * config/m68k/m68k.c (print_operands): Add %A letter to support this.
- * config/m68k/m68k.c (extended_address_operand): New function.
- * config/m68k/m68k-protos.h (extended_address_operand): Add prototype.
- * config/m68k/m68k.h (PREDICATE_CODES): Add extended_address_operand.
- * config/m68k/m68k.md (indirect_jump): Use it.
- 2004-02-22 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * config/m68k/m68k-ti.h (ASM_FILE_START): Don't global-import __reg_relative, current
- tigcc.a only exports __reg_relative_an.
- 2004-02-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * config/m68k/m68k-ti.h (ASM_FILE_START): Use __ld_entry_point_plus_0x8000 as __relation.
- 2004-02-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Merge with GCC 3.3.3 release.
- 2004-02-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * config/m68k/m68k.c (output_move_double): Fix 10-byte fp stack pushes.
- 2004-02-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * c-format.c (printf_length_specs): Remove modifiers not supported by AMS.
- (printf_flag_specs, print_char_table, format_types): Likewise. Add AMS extensions.
- (scanf_length_specs): Remove modifiers not supported by my *scanf implementation.
- (scanf_flag_specs, scan_char_table, format_types): Likewise.
- (print_char_table): Mark %y and %Y as extensions, add %r and %R.
- * builtin-attrs.def: Add list of 5. Add list pairs of 4,0 and 4,5. Add nonnull at 4.
- Move vscanf, vfscanf, vsscanf to C89. Add vcbprintf, cbprintf,
- vcbscanf, cbscanf.
- 2004-02-19 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Backport from mainline:
- 2003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
- Re-apply this patch:
- 2002-05-16 Dale Johannesen <dalej@apple.com>
- * combine.c (cant_combine_insn_p): Reenable combinations
- involving hard regs unless CLASS_LIKELY_SPILLED_P.
- 2004-02-11 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * c-format.c (print_char_table): Remove %o.
- 2004-02-11 Kevin Kofler <Kevin@tigcc.ticalc.org>
- Apply proposed patch for PR 8081:
- 2003-09-02 Sitikant Sahu <sitikants@noida.hcltech.com>
- * calls.c (expand_call): Allocate dynamically on stack for
- variable size structure return (PR 8081).
- 2004-02-11 Kevin Kofler <Kevin@tigcc.ticalc.org>
- Backport from mainline:
- 2004-01-11 Andreas Schwab <schwab@suse.de>
- * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
- status for NOTB/NOTW/NEGW methods.
- 2004-02-10 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Merge with GCC 3.3.3 20030209 snapshot.
- * Don't configure with --with-gnu-ld, there is no point in lying about the linker we use.
- 2004-01-06 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * 3.3.1-pre26 released as part of TIGCC 0.95 Beta 5.
- 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).
- 2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Merge TIGCC patchset (1999-2002; changes by Jean Canazzi, François
- Révol, Sebastian Reichelt, Zeljko Juric and me; some changes by
- Fred Fish dated 1998-01-21 imported from AmigaOS-GCC):
- * attribs.c (decl_attributes): Use modified build_type_attribute_variant instead
- of build_type_copy.
- * builtin-attrs.def (expand_builtin_fputs): Disable. Also disable prototype.
- (fold_builtin_inf, fold_builtin_nan): Likewise.
- (expand_builtin): Don't use expand_builtin_fputs.
- (fold_builtin): Don't use fold_builtin_inf, fold_builtin_nan.
- (apply_args_size): Don't use register passing for __builtin_apply.
- * builtins.def: Disable stdio builtins.
- * c-common.c (builtin_define_with_hex_fp_value): Disable. Also disable prototype.
- (is_valid_printf_arglist): Likewise.
- (c_expand_builtin_printf, c_expand_builtin_fprintf): Likewise.
- (c_expand_builtin): Don't use c_expand_builtin_printf, c_expand_builtin_fprintf.
- (builtin_define_float_constants): Disable contents. Do nothing.
- * c-decl.c (pushdecl): If compiled using "nostub" mode, set a flag.
- (push_parm_decl): Add asmspec to support explicit register specification of
- parameters, and use when set.
- (build_compound_literal): Handle -fglobal-compound-literals.
- * c-format.c (print_char_table, scan_char_table): Add TI-specific formats.
- Remove unsupported formats.
- (check_format_types): Don't warn about differences in floating point format;
- they're all the same.
- * c-lex.c (interpret_float): Don't use real_from_string, real_convert. Use
- REAL_VALUE_ATOF instead.
- * c-opts.c (COMMAND_LINE_OPTIONS): Add -fno-auto-octals.
- (c_common_decode_option): Handle -fno-auto-octals.
- * c-parse.in (parms, parm, firstparm, myparms, my parm): Add support for explicit
- register specification for parameters.
- (absdcl_maybe_attribute): Likewise, rename to absdcl_maybeasm_maybe_attribute.
- Fix %expect directive.
- * c-pretty-print.c (pp_c_real_literal): Use REAL_VALUE_TO_STRING instead of
- real_to_decimal.
- * c-tree.h: (push_parm_decl): Add type of asmspec to prototype.
- * c-typeck.c (undeclared_variable_notice): Remove.
- (build_external_ref): Remove redundant undeclared variable notice.
- (default_function_array_conversion): Handle -fglobal-compound-literals.
- (build_unary_op): Likewise.
- (error_init): Use one-line instead of two-line diagnostic.
- (pedwarn_init): Likewise.
- (warning_init): Likewise.
- * collect2.c: Applied patch to allow collect2 to build on MinGW by Lev Serebryakov
- (2002-10-25).
- * config/dbxcoff.h (ASM_OUTPUT_SOURCE_LINE): Use absolute rather than
- function-relative COFF line numbers if TARGET_COFFABSLINES.
- * config/m68k/m68k-coff.h: (TARGET_CPU_DEFAULT, TARGET_DEFAULT): Define.
- Include m68k-ti.h instead of m68kemb.h.
- * config/m68k/m68k-ti.h: New file. Defines AMS-specific target settings.
- * config/m68k/m68k.c:
- Add support for '-mregparm' and explicit register specification for parameters:
- (comp_m68k_type_attributes): New function. Add prototype.
- (comp_amigaos_type_attributes): Likewise.
- (m68k_regparm_string, m68k_regparm): New variables.
- (override_options): Validate -mregparm and -mregparm= value.
- (m68k_init_cumulative_args, amigaos_init_cumulative_args): New functions.
- (m68k_function_arg_advance, amigaos_function_arg_advance): Likewise.
- (m68k_function_arg, amigaos_function_arg): Likewise.
- Add support for __attribute__((regparm)) and __attribute__((stkparm)):
- (TARGET_ATTRIBUTE_TABLE): Define.
- (TARGET_COMP_TYPE_ATTRIBUTES): Define.
- (m68k_attribute_table): New array.
- (m68k_handle_stkparm_attribute): New function. Add prototype.
- (m68k_handle_regparm_attribute): Likewise.
- Add AMS floating point support:
- (override_options): Don't select any flavor of XFmode.
- (output_move_himode_const): New function.
- (halfsinglemove_string): Likewise.
- (output_move_double): Handle BFmode.
- (floating_exact_log2): Disable contents. Abort if called.
- (print_operand): Disable handling of SFmode, DFmode, XFmode.
- (const_uint32_operand): Don't handle CONST_DOUBLE.
- Check for "INTVAL (op) >= 0" (possibly wrong?).
- Add support for -freg-relative:
- (TARGET_RELATION_REG): Declare, initialize.
- (print_operand): Handle TARGET_REG_RELATIVE.
- * config/m68k/m68k.h:
- Add support for '-mregparm' and explicit register specification for parameters:
- Update comment about TARGET_REGPARM.
- (TARGET_SWITCHES): Add "regparm", "noregparm", "no-regparm".
- (TARGET_OPTIONS): Add "regparm=".
- (EXPLICIT_REGPARM): Define.
- (FUNCTION_ARG_REGNO_P): Handle register parameters.
- (struct m68k_args): New structure.
- (CUMULATIVE_ARGS): Use it.
- (M68K_MAX_REGPARM): Define to 6.
- (M68K_DEFAULT_REGPARM): Define to 4.
- (INIT_CUMULATIVE_ARGS): Use amigaos_init_cumulative_args.
- (FUNCTION_ARG_ADVANCE): Use amigaos_function_arg_advance.
- (FUNCTION_ARG): Use amigaos_function_arg.
- (FUNCTION_ARG_PARTIAL_NREGS): Change to always 0.
- (m68k_regparm_string, m68k_regparm): Declare as extern.
- Add support for -freg-relative:
- (TARGET_RELATION_REG): Declare as extern.
- (MASK_TIOS, TARGET_TIOS): Define.
- (MASK_DIRECTFLOAT, TARGET_DIRECTFLOAT): Define.
- (MASK_REG_RELATIVE, TARGET_REG_RELATIVE): Define.
- (MASK_BADLINK, TARGET_BADLINK): Define.
- (MASK_COFFABSLINES, COFFABSLINES): Define.
- (MASK_NOSTUB, TARGET_NOSTUB): Define.
- (MASK_MERGE_SECTIONS, TARGET_MERGE_SECTIONS): Define.
- (TARGET_SWITCHES): Add "long", "badlink", "mlink", "tios", "merge-sections" and
- negations, "no-pcrel", "coff-abslines".
- (PARM_BOUNDARY): Set to 16 independently of TARGET_SHORT.
- (ASM_OUTPUT_COMMON): Guard with #ifndef.
- (ASM_OUTPUT_LOCAL): Likewise.
- (VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES): Add, but disabled.
- * config/m68k/m68k.md (movbf): New define_expand for AMS floating point support.
- (unnamed BF move): New define_insn for AMS floating point support.
- * config/m68k/smapbcd.h: New file. Defines macros for AMS floating point support.
- * cppexp.c (cpp_classify_number): Handle binary numbers and -fno-auto-octals.
- (cpp_interpret_integer): Handle binary numbers.
- * cpphash.h (mls_line, mls_col): Revert removal.
- * cpplex.c (unterminated): Likewise.
- (parse_string): Revert removal of multi-line strings. Use "unterminated".
- * cpplib.h (struct cpp_options): Add no_auto_octals.
- (CPP_N_BINARY): Define.
- * cppmacro.c (replace_args): If 'SYMSTR' is used with a string literal, convert
- automatically to 'SYMSTR_CONST'.
- * cppmain.c (scan_translation_unit): Revert removal of multi-line strings.
- * diagnostic.c (internal_error): Change bug report instructions.
- * dwarf2out.c (add_const_value_attribute): Handle BFmode (AMS floating point).
- * emit-rtl.c (const_double_htab_eq): Use REAL_VALUES_IDENTICAL instead of
- real_identical.
- (gen_lowpart_common): Disable handling of floating point. Handle BFmode instead.
- (constant_subword): Disable handling of floating point.
- (operand_subword): Handle BFmode (AMS floating point).
- * explow.c (copy_to_mode_reg): Handle BFmode by calling convert_move.
- * expr.c (convert_move): Add BFmode (AMS floating point) libcalls.
- (convert_modes): Handle BFmode (AMS floating point).
- (emit_block_move_via_libcall): Pass short integers to bcopy even if -mlong.
- (emit_block_move_libcall_fn): Likewise.
- (expand_assignment): Likewise.
- (clear_storage_via_libcall): Pass short integers to bzero even if -mlong.
- (clear_storage_libcall_fn): Likewise.
- (compress_float_constant): Don't call exact_real_truncate. Disable code using it.
- (emit_push_insn): Don't take a modulus by 0. Set offset to constant 0 instead.
- (is_zeros_p): Use REAL_VALUE_ISZERO instead of REAL_VALUES_IDENTICAL.
- * final.c (output_asm_insn): Add support for -freg-relative.
- (split_double): Disable code which doesn't work for AMS floats. Abort if reached.
- * flags.h (flag_auto_octals, flag_global_compound_literals): Declare extern.
- * flow.c (regno_uninitialized): Support explicit register specification of
- parameters.
- * fold-const.c (const_binop): Don't use REAL_ARITHMETIC.
- Use REAL_VALUE_TRUNCATE instead of
- real_value_truncate.
- (fold_convert): Don't fold real to integer conversion, as the required functions
- are not implemented.
- Use REAL_VALUE_TRUNCATE instead of real_value_truncate.
- (fold): Use temporaries for REAL_VALUE_NEGATE and REAL_VALUE_NEGATIVE because of
- side effects.
- * function.c (function_arg_regno_p): New function for explicit register
- specification of parameters.
- * gcc.c (process_command): Don't try to create gcc_exec_prefix from argv[0].
- (main): Don't load specs from exec prefix. Always use builtin specs.
- * libfuncs.h (enum libfunc_index): Add BFmode (AMS floating point) libcalls.
- Define extendsfbf2_libfunc etc.
- * local-alloc.c (update_equiv_regs): Disable abort.
- * machmode.def: Add BFmode (AMS floating point) to the machine modes.
- * optabs.c (expand_binop): Don't look for a wider mode for floating point numbers.
- (expand_twoval_binop): Likewise.
- (expand_unop): Likewise.
- (prepare_float_lib_cmp): Handle BFmode (AMS floating point).
- (expand_float): Don't special-case unsigned integers, as the required functions
- are not implemented.
- Handle BFmode (AMS floating point).
- (ftruncify): Likewise.
- (init_optabs): Initialize extendsfbf2_libfunc etc.
- * print-rtl.c (print_rtx): Don't use real_to_decimal, real_to_hexadecimal. Use
- REAL_VALUE_TO_STRING.
- * print-tree.c (print_node_brief): Use REAL_VALUE_TO_STRING instead of
- real_to_decimal.
- (print_node): Likewise.
- * real.c: Include setjmp.h.
- (NULL_PTR): Define.
- (REAL_DEBUG_INFO, REAL_DEBUG_SPRINTF): Define.
- Disable all static function prototypes.
- (real_arithmetic): Replace with own implementation.
- (exact_real_inverse): Likewise.
- (real_hash): Likewise.
- Disable all other functions.
- (ereal_to_int, ereal_from_int, ereal_from_uint): New functions.
- * real.h: Include smapbcd.h.
- (SMAP_BCD_FLOAT_FORMAT): Define.
- (REAL_WIDTH): Change definition to correspond to AMS floating point.
- (ereal_to_int, ereal_from_int, ereal_from_uint): Add prototypes.
- Disable everything else except the prototypes of real_arithmetic,
- exact_real_inverse, real_hash, real_value_from_int_cst,
- const_double_from_real_value, build_real, the REAL_VALUE_FROM_CONST_DOUBLE and
- CONST_DOUBLE_FROM_REAL_VALUE macros and the dconst0, dconst1, dconst2, dconstm1
- externs.
- * rtl.h (smap_bcd_float): Declare.
- (CONST_DOUBLE_REAL_VALUE): Use smap_bcd_float instead of struct real_value.
- * sdbout.c (sdbout_source_line): Use absolute, not function-relative, lines by
- default.
- * simplify-rtx.c (simplify_unary_operation): Use REAL_VALUE_TRUNCATE instead of
- real_value_truncate.
- (simplify_binary_operation): Likewise.
- * toplev.c: Include setjmp.h.
- (float_signal): Revert removal.
- (float_handler_set, float_handled, float_handler): Likewise.
- (set_float_handler): Likewise.
- (flag_auto_octals, flag_global_compound_literals): Initialize
- (struct f_options): Add auto-octals, global-compound-literals,
- global-cast-constructors.
- (decode_f_option): Add support for -freg-relative.
- (general_init): Set SIGFPE to float_handler, not crash_handler.
- (parse_options_and_default_flags): Set %d2 to call-used if TARGET_TIOS.
- * toplev.h (set_float_handler): Add prototype.
- * tree.c (real_zerop): Use REAL_VALUE_ISZERO instead of REAL_VALUES_EQUAL.
- * 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.
- * varasm.c (assemble_real): Handle BFmode (AMS floating point).
- (const_hash_1): Add sanity check (code must not be zero).
- (decode_rtx_const): Use members of smap_bcd_float, not struct real_value, for
- member-by-member copying.
- * version.c (version_string): Add "TIGCC".
- (bug_report_url): Change from gnu.org URL to tigcc.ticalc.org URL.
- 2002-12-26 Kevin Kofler <Kevin@tigcc.ticalc.org>
- * Import GCC 3.3 20021223 snapshot.
|