OSDN Git Service

* rs6000.h (SIZE_TYPE): Define.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 142e387..9e45777 100644 (file)
@@ -1,5 +1,289 @@
+2000-07-21  David Edelsohn  <edelsohn@gnu.org>
+
+       * 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>
+
+       * config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
+       GR_REGS.
+
+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.
 
@@ -43,7 +327,7 @@ Mon Jul 17 23:43:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
 2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
 
-       * loop.c (check_dbra_loop) : Return if more than one condition is 
+       * 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>
@@ -171,7 +455,7 @@ Mon Jul 17 02:37:06 2000  Marc Espie <espie@openbsd.org>
 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.
@@ -179,14 +463,14 @@ Mon Jul 17 02:37:06 2000  Marc Espie <espie@openbsd.org>
        (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.
@@ -224,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.
 
@@ -245,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.
@@ -308,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.
@@ -333,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>
@@ -4974,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