toplev.c (set_float_handler): Make static.
[gcc.git] / gcc / ChangeLog
index 9d9bbe1d4956a0b41183979f5a97640bf46dd202..880b27b0df78dccdb75866e56a200f605524cac7 100644 (file)
@@ -1,3 +1,192 @@
+2001-08-11  Zack Weinberg  <zackw@panix.com>
+
+       * toplev.c (set_float_handler): Make static.
+       * toplev.h: Don't prototype set_float_handler.
+
+       * simplify-rtx.c: Don't include setjmp.h.
+       (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
+       New functions.
+       (simplify_unary_operation, simplify_binary_operation): Use them,
+       via do_float_handler.
+
+       * fold-const.c: Don't include setjmp.h.
+       (exact_real_inverse_1): New function.
+       (exact_real_inverse): Use it, via do_float_handler.
+
+       * varasm.c: Don't include setjmp.h.
+       (assemble_real_1): New function.
+       (assemble_real): Use it, via do_float_handler.
+       Call internal_error if we get a trap here.
+
+       * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
+       config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
+
+2001-08-11  Zack Weinberg  <zackw@panix.com>
+
+       * defaults.h: Define PREFERRED_STACK_BOUNDARY to
+       STACK_BOUNDARY if not already defined.
+
+       * calls.c, function.c, reload1.c, explow.c: Don't default
+       PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
+       PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
+
+       * explow.c (allocate_dynamic_stack_space): Change unsafe #if
+       to run-time test.
+
+       * doc/tm.texi: Document that STACK_BOUNDARY is required;
+       clarify difference between it and PREFERRED_STACK_BOUNDARY.
+
+2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppmacro.c (enter_macro_context): Push macro expansions even
+       if empty.
+
+2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * config/rs6000/rs6000.c: Include integrate.h to silence warning.
+       (rs6000_elf_section_type_flags): Actually return a value.
+
+2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
+       * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux: 
+       Clean up code: add missing comments and prototypes, fix warnings,
+        remove obsolete code, fix spacing to conform to coding style.
+
+2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
+       * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
+       and TARGET_ASM_CLOSE_PAREN.
+       (regclass_map): CC register belongs to class NO_REGS.
+       (legitimize_pic_address): Don't generate unnecessary moves 
+       (to avoid confusing loop optimization).
+       (check_and_change_labels): Replace jump_long by indirect_jump.
+       (s390_final_chunkify): Don't start a new literal pool on section 
+       switch in 64-bit code.
+       (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
+       
+       * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
+       (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
+       (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer 
+       modes correctly.
+       (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
+       (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
+       (CONST_COSTS): Fixed incorrect costs.
+
+       * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
+       Use emit_jump instead of emit_jump_insn (gen_jump).
+       (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting 
+       (to avoid confusing flow analysis).
+       (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
+       (casesi, casesi_jump): New.
+       (jump_long): Removed.  Functionality merged into indirect_jump.
+       (indirect_jump): Accept address_operand, not just register_operand.
+       (cjump_long, icjump_long): Use same logic as indirect_jump.
+       (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
+       Fixed broken setjmp/longjmp handling.
+       (do_builtin_setjmp_setup): Removed.
+
+       * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
+       broken GNU as versions that don't accept .quad with large
+       negative values.  Use hexadecimal output instead.
+       (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
+       (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
+       FUNCTION_EPILOGUE): Removed.  Now in targetm.
+
+       * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
+
+       * config/s390/fixdfdi.h: Add missing copyright statement.
+       Fix type conflicts on 64-bit.  Add missing SFmode routines.
+
+       * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
+       email address.
+
+2001-08-11  Richard Henderson  <rth@redhat.com>
+
+       * rtl.h (REG_EH_RETHROW): Remove.
+       * rtl.c (reg_note_name): Update.
+       * combine.c (distribute_notes): Don't check for it.
+
+2001-08-11  Richard Henderson  <rth@redhat.com>
+
+       * combine.c (distribute_notes): Place REG_SETJMP.
+
+2001-08-11  Richard Henderson  <rth@redhat.com>
+
+       * doc/extend.texi (Arrays and pointers implementation): Discourage
+       relying on sign-extension of pointers.
+
+2001-08-11  H.J. Lu <hjl@gnu.org>
+
+       * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
+       in_dtors.
+       (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
+       RDATA_SECTION_ASM_OP.
+
+2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Specific, c4x): Fix cross-reference to the
+       main manual to work both for info and HTML versions.
+       
+2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+           Matt Kraai <kraai@alumni.carnegiemellon.edu>
+       
+       * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
+       * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
+       (struct cpp_pool): New member first.
+       * cppinit.c (append_include_chain): Plug memory leaks.
+       * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
+       Allocate pragma structures from the (aligned) macro pool to
+       avoid leaking memory.
+       * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
+       so we don't leak memory.
+       * hashtable.c (ht_destroy): New.
+       * hashtable.h (ht_destroy): New.
+
+2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+           Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * c-lex.c (map): Make const.
+       (cb_file_change): Update for callback passing a line map.
+       Don't assume we have a previous map.  Remove sanity check
+       about popping too many files.
+       * cpperror.c (print_location): Make map const.
+       * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
+       (cpp_make_system_header): Similarly.
+       (search_from): Similarly.
+       (_cpp_execute_include): Don't remember where we came from.
+       * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
+       (struct cpp_reader): Make map const.
+       (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
+       * cpplib.c (do_line): Update; line maps now hold sysp.
+       (cpp_push_buffer): Similarly.
+       (_cpp_do_file_change): Similarly; callback with map instead.
+       (cpp_get_line_maps): Constify return value.
+       (_cpp_pop_buffer): Update.
+       * cpplib.h (struct cpp_file_change): Remove.
+       (struct cpp_callbacks): Update.
+       (cpp_get_line_maps): Constify return value.
+       * cppmacro.c (_cpp_create_definition): Update.
+       * cppmain.c (struct printer): Constify map.
+       (maybe_print_line): Similarly.
+       (print_line): Similarly.  Deduce flags 1 and 2 here.
+       (cb_file_change): Update.
+       * line-map.c (free_line_maps): Warn regardless.
+       (add_line_map): Return pointer to const.  When passed NULL to_file
+       with LC_LEAVE, use the obvious values for the return point so the
+       caller doesn't have to figure them out.
+       (lookup_line): Return pointer to const.
+       (print_containing_files): Take pointer to const.
+       * line-map.h (struct line_map): New members reason, sysp.
+       (add_line_map): Return pointer to const.
+       (lookup_line): Similarly.
+       (print_containing_files): Take pointer to const.
+
+2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
+           Richard Henderson  <rth@redhat.com>
+
+       * regmove.c (regmove_optimize): Avoid setting a register twice in
+       a parallel set.
+
 2001-08-10  Richard Henderson  <rth@redhat.com>
 
        * doc/extend.texi (Arrays and pointers implementation): Document