OSDN Git Service

* rs6000.h (SIZE_TYPE): Define.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 534895e..9e45777 100644 (file)
-2000-07-16  Laurynas Biveinis  <lauras@softhome.net>
+2000-07-21  David Edelsohn  <edelsohn@gnu.org>
 
-       * cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
+       * rs6000.h (SIZE_TYPE): Define.
+
+2000-07-21  Mark Mitchell  <mark@codesourcery.com>
+
+       * ssa.c (rename_insn_1): Don't rename registers that are
+       CLOBBERed.
+
+2000-07-21  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * diagnostic.c (trim_filename, fancy_abort): Moved here from
+       rtl.c.
+       (fatal_function, set_fatal_function): Removed.
+       (fatal): Don't prepare for or call the fatal_function.
+       (diagnostic_lock, error_recursion): New.
+       (diagnostic_for_decl, report_diagnostic): Guard against
+       re-entering the error reporting routines.
+       (fancy_abort): Assume function is not NULL.
+
+       * errors.c (fancy_abort): New.  Assume function is not NULL.
+       * tradcpp.c (fancy_abort): Assume function is not NULL.
+
+       * system.h: Provide default definition of __FUNCTION__.
+       * rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout.
+       Always use __FUNCTION__ in definition of abort.
+       * tree.h: Likewise.
+       * varray.h: Likewise.
+       * toplev.h: Likewise.  Don't prototype set_fatal_function.
+
+2000-07-20  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly
+       in 64-bit mode.
+       * glimits.h: Don't do #if defined for ARCH_PPC.
+
+       * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All
+       constants of size no larger than a pointer should go in the TOC.
+       Add 'MODE' parameter.
+       (LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to
+       ASM_OUTPUT_SPECIAL_POOL_ENTRY_P.
+       (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
+       * config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise.
+       * config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise.
+       * config/rs6000/rs6000.c (constant_pool_expr_1): Likewise.
+       (rs6000_legitimize_address): Likewise.
+       (rs6000_emit_move): Likewise.
+       (rs6000_select_rtx_section): Likewise.
+       (output_toc): Deal properly with outputting small constants like
+       HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode.
+       * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add
+       MODE parameter.  Put small constants in the TOC.
+
+       * config/rs6000/rs6000.c (easy_fp_constant_p): All constants are
+       easy in SImode.
+       (rs6000_emit_move): When reload calls us with an illegitimate
+       address, exit early.  Move the change_address calls to one place
+       at the end of the routine.  Merge the SImode and DImode expanders.
+       When called by reload to put an integer into a FP register, force
+       it to memory.
+
+       * config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode'
+       field.
+       (rs6000_hash_constant): Hash mode too.
+       (toc_hash_function): Allow for key_mode.
+       (toc_hash_eq): Structures are different if key_mode differs.
+       (output_toc): Add 'mode' parameter.  Save key_mode.
+       * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY):
+       Pass 'mode' parameter.
+       * config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param.
+
+       * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
+       for vtable references.
+
+       * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a
+       choice, don't put integer values in FP regs.
+
+Thu Jul 20 18:13:52 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (verify_flow_info): Revamp code to verify that the
+       head and end of each basic block are in the insn chain.
+
+Thu Jul 20 18:02:35 2000  Michael Matz <matzmich@cs.tu-berlin.de>
+
+       * gcse.c (record_one_set): Prepend instead of append onto
+       reg_set_table, making it O(n) instead O(n^2).
+       * lcm.c (compute_antinout_edge,compute_laterin,compute_available):
+       Use a queue instead of a stack as worklist.
+
+2000-07-20  Kazu Hirata  <kazu@hxi.com>
+
+       * h8300.c (two_insn_adds_subs_operand): Fix a typo.
+       * h8300.h (OK_FOR_T): New.
+       (EXTRA_CONSTRAINT): Support OK_FOR_T.
+       * h8300.md: Use inc/dec.[wl] for increment/decrement
+       by 1 and 2 in HI and SI modes.
+
+2000-07-20  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values
+       larger than 14 bits.
+
+2000-07-20  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppmacro.c (CAN_PASTE_AFTER): New macro.
+       (count_params): Don't set GNU_REST_ARGS on anything.
+       (save_expansion): Set PASTE_LEFT only on tokens for which
+       CAN_PASTE_AFTER is true, or which are named operators.
+
+       * cpplex.c (parse_args): Distinguish between a rest argument
+       given one empty argument, and a rest argument given zero arguments.
+       (maybe_paste_with_next): Look for VOID_REST tag, and trigger
+       deletion of previous token based on that.
+       (get_raw_token): Flatten some control structure.
+
+       * cpplib.h (CPP_LAST_EQ): Correct.
+       (VOID_REST): New token flag.
+       (GNU_REST_ARGS): Delete.
+
+       * tradcpp.c (main): Don't munge -D options.
+       (make_definition): Bring -D handling in line with cpplib.
+       (do_define): Strip all leading whitespace from macro definitions.
+
+2000-07-20  David Billinghurst <David.Billinghurst@riotinto.com.au>
+
+       * Makefile.in (tradcpp): Depend on intl.o and version.o.
+
+2000-07-20  Bruce Korb  <bkorb@gnu.org>
+
+       * fixincl/check.tpl: strip the platform specific types before testing
+       * fixincl/fixfixes.c(gnu_type_fix): use platform specific types
+       * fixincl/fixincl.tpl: use platform specific types
+       * fixincl/fixlib.h: include the platform specific types
+       * fixincl/inclhack.def(gnu_types): don't supply the types
+       * fixincl/fixincl.x: regen
+
+2000-07-19  Jim Wilson  <wilson@cygnus.com>
 
-2000-07-16  Mark Mitchell  <mark@codesourcery.com>
+       * config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
+       GR_REGS.
 
-       * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Fix typo.
+2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * tradcpp.c (rescan): Do not recognize directives when the #
+       is indented.
+
+2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
+
+       Implement C++ named operators.
+
+       * cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block
+       of operators allowed in #if and having an _EQ variant.  Add
+       CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED.
+       (cpp_token flags): Add NAMED_OP.
+       (enum node_type): Add T_OPERATOR.
+       (struct cpp_hashnode): Add code slot to value union.
+       * cpphash.h (spec_nodes): Remove n_defined.
+
+       * cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types.
+       (spell_token, can_paste, maybe_paste_with_next): Handle named operators.
+       (is_macro_disabled): Tweak error messages.
+
+       * cpplib.c (get_define_node): Disallow all named operators as
+       macro names.  Tweak error messages.
+       (_cpp_init_stacks): Don't set up spec_nodes->n_defined.
+
+       * cppinit.c (builtin_array): Add entries for the named operators.
+       * cppexp.c (lex): Check for CPP_DEFINED token.
+       (priority table): Add entries for CPP_MIN and CPP_MAX.
+       (_cpp_parse_expr): Handle CPP_MIN and CPP_MAX.
+
+2000-07-19  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is
+       larger than the array of cuids.
+       (alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing
+       cuids.
+
+2000-07-19  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/fixincl.c:  Convert to using a table of environment variables
+       and activate the auto-edit marker on the fixed output files.
+       * fixinc/fixlib.h:  Define the environment table
+       * fixinc/fixincl.sh: export the ${INPUT} dir
+       * fixinc/check.tpl: likewise
+
+2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * gcc.c (.h spec): Fix typo.
+
+Wed Jul 19 01:22:15 CEST 2000  Marc Espie  <espie@cvs.openbsd.org>
+
+       * Makefile.in: Fix tradcif.c path.
+
+2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry
+         macros, not five.
+
+       * cpphash.h (TOKEN_NAME): New macro.
+       (_cpp_spell_operator): Deleted.
+       (token_spellings): Now _cpp_token_spellings.
+
+       * cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator.
+       * cpplex.c: Use OP and TK macros when expanding the
+       TTYPE_TABLE.  Eliminate token_names.  For non-OPERATOR tokens,
+       store the stringification of the enumeration name (CPP_CHAR,
+       etc.) in the name slot of token_spellings.
+       Use TOKEN_NAME and/or TOKEN_SPELL, do not reference
+       token_spellings directly.
+       * cpplib.c: Use TOKEN_SPELL.
+
+       * cpplex.c (_cpp_push_token): If the token being pushed back
+       is the previous token in this context, just subtract one from
+       context->posn.
+       * cppmacro.c (save_expansion): Clear aux field when storing a
+       placemarker.
+
+2000-07-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * cpplex.c (cpp_scan_buffer): Output line command even at the stop
+       buffer, provided it is not NULL.
+
+2000-07-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * c-decl.c (duplicate_decls): Do not call make_var_volatile() in
+       case of invalid volatile re-declaration.
+
+2000-07-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * calls.c (store_arg): Return non-zero if sibcall_failure is desired.
+       (expand_call): Adjust caller.
+
+2000-07-17  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.h (report_diagnostic): Change prototype.
+
+       * diagnostic.c (output_do_verbatim, diagnostic_for_asm,
+       diagnostic_for_decl):  Change prototype.
+       (error_with_decl, warning_with_decl, pedwarn_with_decl, warning,
+       error, warning, error_with_file_and_line,
+       warning_with_file_and_line, pedwarn_with_file_and_line, fatal):
+       Adjust call to report_diagnostic, diagnostic_for_decl.
+       (error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm.
+       (output_verbatim, verbatim): Adjust call to output_do_verbatim.
+
+       * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End
+       varaible argument list.
+
+2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpphash.c: Don't include hashtab.h.  Most macro-handling code
+       moved to cppmacro.c.
+       (hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash,
+       dump_hash_helper): Delete.
+       (expand_hash, higher_prime_number, _cpp_lookup_with_hash,
+       cpp_forall_identifiers): New. Implement specialized version of
+       Vlad's expandable hash table.
+       (cpp_lookup): Use new functions.
+       (_cpp_init_macros, _cpp_cleanup_macros): Adjust for new
+       implementation.
+       * cppmacro.c: New file.
+       * cppinit.c (dump_macros_helper): New.
+       (cpp_finish): Iterate over the identifier table directly.
+       * cpplex.c (parse_name): Calculate the hash of the identifier
+       while we scan it.  Use _cpp_lookup_with_hash when we can.
+
+       * cpphash.h: Update prototypes.
+       (xcnewvec, HASHSTEP): New helper macros.
+       * cpplib.h: Update prototypes.
+       * Makefile.in (LIBCPP_OBJS): Add cppmacro.o.
+       (cppmacro.o): New rule.
+       (cpphash.o): Update deps.
+
+       * cppmain.c: Do not set pfile->printer if no_output is on.
+
+2000-07-15  Neil Booth  <neilb@earthling.net>
+
+       * cpplib.c: Change all directive-handler functions to return
+       void, not int.
+       * cpphash.h: Update typedefs.
+
+2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * configure: Regenerate.
+
+       * extend.texi (Extended Asm): Mention that a memory clobber
+       does not count as a side-effect.
+
+       * unroll.c (copy_loop_body): Fix one instance of using host
+       arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
+       cross-compile.
+
+       * tlink.c (scan_linker_output): Tweak for output of AIX ld.
+
+2000-07-17  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.md (movdi): Split out load address code.
+       New post-reload splitter for symbolic operands.
+       (movdi_internal): Abort if we didn't split symbolic operands
+       when we should have.
+       * config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits.
+       (ia64_reorg): Split insns when not optimizing.
+       * config/ia64/ia64-protos.h (ia64_expand_load_address): Declare.
+
+Mon Jul 17 23:43:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE
+       instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format.
+
+2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
+
+       * loop.c (check_dbra_loop) : Changed loop_continue to loop->cont.
+
+2000-07-17  Jason Merrill  <jason@redhat.com>
+
+       * Makefile.in (clean): Remove libgcc directory.
+
+       * configure.in (-Wno-long-long check): Use higher-level macros.
+
+2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * simplify-rtx.c (simplify_binary_operation): Recognize
+          (compare (gt[u] (cc) 0) (lt[u] (cc) 0)).
+       (simplify_ternary_operation):  Do not examine MODE_BITSIZE of
+          a CONST_INT, it will always be zero.
+
+2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
+
+       * loop.c (check_dbra_loop) : Return if more than one condition is
+       present to control the loop.
+
+Mon Jul 17 08:26:35 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * mips.c (mips_expand_prologue): Don't calculate the last argument
+       register unless we need it.  When we are calculating this, make
+       sure FUNCTION_ARG is giving us a REG.
+
+2000-07-17  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * flow.c (libcall_dead_p): Use single_set to verify the insn
+       has only one set and get for analysis.
+       (propagate_one_insn): Don't pass the PATTERN of the insn.
+
+2000-07-17  Mark Klein <mklein@dis.com>
+
+        * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3.
+
+2000-07-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * Makefile.in (TARGET_GETGROUPS_T): New configuration variable.
+       * configure.in (TARGET_GETGROUPS_T): Evaluate.
+       * sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type
+       of second argument of getgroups.
+       * configure, config.in: Rebuilt.
+
+2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * simplify-rtx.c (simplify_relational_operation): Two signed
+       values with equal high words are less/greater than each other if
+       their low words are less/greater when considered as unsigned.
+
+Mon Jul 17 02:37:06 2000  Marc Espie <espie@openbsd.org>
+
+       * configure.in (vax-*-openbsd):  Change to new style configuration,
+       add collect2/float_format information.
+       * configure:  Rebuilt.
+       * config/vax/openbsd1.h:  New.
+       * config/vax/openbsd.h:  New.
+       * config/vax/t-openbsd:  New.
+
+2000-07-17  Chip Salzenberg  <chip@valinux.com>
+
+       * c-common.c (shorten_compare): Quiet warnings about unsigned
+       comparisons with zero when they occur in a system header.
+
+2000-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and
+       update to describe current practice.
+
+       * glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99.
+
+       * contrib.texi, cpp.texi, extend.texi, invoke.texi: Update
+       references to C9X.  Change references to -fstd and -flang-isoc9x
+       to refer to -std.
+
+       * c-common.c (scan_char_table): Allow "z" length modifiers on
+       diouxXn formats.
+       (check_format_info): Use TYPE_DOMAIN on the type matched against
+       for "z" formats, to retrieve the language size_t rather than the
+       internal one.
+
+       * c-common.c (check_format_info): Do not make a pedantic objection
+       to the 'L' length modifier if used with a floating point type
+       character.
+
+       * c-lex.c (yylex): Don't pedwarn for hexadecimal floating point
+       constants in C99 mode.
+
+2000-07-17  Kazu Hirata  <kazu@hxi.com>
+
+       * h8300.md: Fix the format of mac.
+       (movsi_h8300hs): Output a tab after stmac instead of a space.
+
+       * h8300.c (two_insn_adds_subs_operand): Improve code for detecting
+       profitable adds/subs sequences.
+
+       * fold-const.c: Fix comment typos.
+
+2000-07-16  Laurynas Biveinis  <lauras@softhome.net>
+
+       * cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
 
 2000-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 2000-07-15  Gabriel Dos Reis  <gdr@codesourcery.com>
 
        * diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
-       v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove. 
+       v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove.
        (v_message_with_decl): Rename to ...
        (format_with_decl): ... this. Tweak
        (diagnostic_for_decl): New function.
        (announce_function): Use verbatim.
        (default_print_error_function): Likewise.
        (error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
-       infratructure. 
+       infratructure.
 
 2000-07-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * mips.c (function_arg_pass_by_reference): Don't do automatic
        aggregate initialization.
        (machine_dependent_reorg): Initialize variable `mode'.
-       
+
        * mips.md (absdi2): Change variable `regno1' to unsigned int.
        (reload_indi): Rename loword/hiword to lo_word/hi_word to avoid
        conflicts with sys/param.h macro of the same name.
@@ -102,7 +508,7 @@ Fri Jul 14 18:13:53 2000  Mark P Mitchell  <mark@codesourcery.com>
 
 2000-07-14  Jason Merrill  <jason@redhat.com>
 
-       * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA 
+       * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
        register in the stack and later in another register, use the new
        register.
 
@@ -123,7 +529,7 @@ Fri Jul 14 10:25:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
 
        * .cvsignore: Add generated YACC files.
        * objc/.cvsignore: New file.
-       
+
 2000-07-14  Neil Booth  <NeilB@earthling.net>
 
        * cpplex.c (adjust_column): New funcion.
@@ -186,14 +592,14 @@ Fri Jul 14 10:25:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
        error_with_file_and_line, warning_with_file_and_line, sorry,
        error_for_asm, warning_for_asm, fatal): Reimplement.
        (finish_diagnostic): Clear diagnostic info as well.
-       
+
 2000-07-13  Neil Booth  <NeilB@earthling.net>
 
        * c-common.h (flag_digraphs): New.
        * c-decl.c (c_decode_option): Set flag_digraphs as appropriate.
        * c-lex.c (yylex): Use flag_digraphs to decide whether to
        honour digraphs.
-       
+
 2000-07-13  Zack Weinberg  <zack@wolery.cumb.org>
 
        * gcc.c (do_spec_1): Add new %B operator.
@@ -211,7 +617,7 @@ Fri Jul 14 10:25:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
        named specs.
        (C and assembly specs): Use the new named specs, as appropriate.
 
-       * objc/lang-specs.h: Use the new named specs.  
+       * objc/lang-specs.h: Use the new named specs.
        Remove unnecessary braces.
 
 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
@@ -4852,6 +5258,15 @@ Sat May 13 11:05:47 2000  Philippe De Muyter  <phdm@macqel.be>
 
        * ifcvt.c (if_convert): Do not free NULL.
 
+2000-05-12  H.J. Lu  (hjl@gnu.org)
+
+       * gthr-dce.h: Add support for libobjc.
+       * gthr-posix.h: Likewise.
+       * gthr-solaris.h: Likewise.
+       * gthr-vxworks.h: Likewise.
+       * gthr-single.h: Likewise.
+       * gthr-win32.h: Likewise.
+
 2000-05-12  Nick Clifton  <nickc@cygnus.com>
 
        * config/fr30/fr30.c (fr30_move_double): New function:  Emit code