"SfR Fresh" - the SfR Freeware/Shareware Archive

Member "gcc-4.1-20080630/gcc/ChangeLog-1998" of archive gcc-4.1-20080630.tar.gz:


As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
    1 Wed Dec 30 23:38:55 1998  Jeffrey A Law  (law@cygnus.com)
    2 
    3 	* m68k.md (adddi_dilshr32): Allow all operands to be registers too.
    4 	(adddi_dishl32): Similarly.
    5 
    6 	* cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
    7 	for each insn in the skipped block.
    8 
    9 	* reload1.c (reload_as_needed): Verify that the insn satisfies its
   10 	constraints after replacing a register address with an autoincrement
   11 	address for reload inheritance purposes.
   12 
   13 	* i386.md (doubleword shifts): Avoid namespace pollution.
   14 
   15 Wed Dec 30 23:00:28 1998  David O'Brien  <obrien@NUXI.com>
   16 
   17 	* configure.in (FreeBSD ELF): Needs special crt files.
   18 
   19 Wed Dec 30 22:50:13 1998  Geoffrey Noer  <noer@cygnus.com>
   20 
   21 	* i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash.
   22 
   23 1998-12-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
   24 
   25 	* loop.c (check_dbra_loop): While reversing the loop, if the
   26 	comparison value has a VOID mode use the mode of the other operand
   27 	to compute the mask.
   28 
   29 Wed Dec 30 22:24:00 1998  Michael Meissner  <meissner@cygnus.com>
   30 
   31 	* rs6000.md ({save,restore}_stack_function): Take 2 operands to
   32 	avoid warnings in compiling explow.c.
   33 
   34 	(patch from Ken Raeburn, raeburn@cygnus.com)
   35 	* rs6000.c (rs6000_stack_info): Force 8-byte alignment of
   36 	fpmem_offset.  Compute total size after that, and then
   37 	rs6000_fpmem_offset using both values.
   38 
   39 Mon Dec 28 19:26:32 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
   40 
   41 	* gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
   42 	the future; indeed that already happens in some cases.
   43 
   44 Tue Dec 29 11:58:53 1998  Richard Henderson  <rth@cygnus.com>
   45 
   46 	* sparc.c (input_operand): Recognize (const (constant_p_rtx)).
   47 	(arith_operand): Remove constant_p_rtx handling.
   48 	(const64_operand, const64_high_operand): Likewise.
   49 	(arith11_operand, arith10_operand, arith_double_operand): Likewise.
   50 	(arith11_double_operand, arith10_double_operand, small_int): Likewise.
   51 	(small_int_or_double, uns_small_int, zero_operand): Likewise.
   52 	* sparc.h (PREDICATE_CODES): Likewise.
   53 
   54 	* rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
   55 
   56 Tue Dec 29 11:32:54 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
   57 
   58 	* rtl.def (CONSTANT_P_RTX): Clarify commentary.
   59 	* expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
   60 	consider constant CONSTRUCTOR constant and to defer some cases
   61 	to cse.
   62 	* cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
   63 	* regclass.c (reg_scan_mark_refs, case CONST): Likewise.
   64 
   65 Tue Dec 29 11:30:10 1998  Richard Henderson  <rth@cygnus.com>
   66 
   67 	* expr.c (init_expr_once): Kill can_handle_constant_p recognition.
   68 	* cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
   69 
   70 	* alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
   71 	(reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
   72 	(sext_add_operand, and_operand, or_operand): Likewise.
   73 	(reg_or_cint_operand, some_operand, input_operand): Likewise.
   74 	* alpha.h (PREDICATE_CODES): Likewise.
   75 
   76 Sat Dec 26 23:26:26 1998  Jeff Law  (law@cygnus.com)
   77 
   78 	* version.c: Bump for snapshot.
   79 
   80 Sat Dec 26 09:17:04 1998  Jeffrey A Law  (law@cygnus.com)
   81 
   82 	* gengenrtl.c (gencode): Always use bzero to clear memory instead
   83 	of dangerous casts and stores.
   84 
   85 	* Makefile.in (compare, gnucompare): Add missing else true clauses.
   86 
   87 Fri Dec 25 23:00:56 1998  Jeffrey A Law  (law@cygnus.com)
   88 
   89 	* alpha.md (builtin_longjmp): Add missing "DONE".
   90 
   91 Thu Dec 24 10:39:57 1998  Stan Cox  <scox@cygnus.com>
   92 
   93 	* gcc.c (execute): Enable -pipe with win32.
   94 
   95 Wed Dec 23 10:27:44 1998  Nick Clifton  <nickc@cygnus.com>
   96 
   97 	* config/arm/t-arm-elf: Add multiplib option for leading
   98 	underscores.
   99 
  100 	* config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
  101 	'user_label_prefix' rather than macro USER_LABEL_PREFIX.
  102 
  103 	(thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
  104 	than variable 'reload_address_base_reg_class'.  [Note this
  105 	change is unrelated to the others in this patch].
  106 
  107 	* config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
  108 	leading underscore.
  109 
  110 Wed Dec 23 09:51:32 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  111 
  112 	* alias.c (record_alias_subset): Remove ignored `&'.
  113 	(init_alias_once): Likewise.
  114 
  115 	* c-lex.c (UNGETC): Cast first argument of comma expression to void.
  116 
  117 	* config/mips/mips.c (mips_asm_file_end): Cast the result of
  118 	fwrite to `int' when comparing against one.
  119 
  120 	* config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
  121 	(INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
  122 
  123 	* cse.c (rehash_using_reg): Change type of variable `i' to
  124 	unsigned int.
  125 
  126 	* dwarf2out.c (initial_return_save): Cast -1 to unsigned before
  127 	assigning it to one.
  128 
  129 	* except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
  130 
  131 	* final.c (final_scan_insn): Likewise for variable `i'.
  132 	(output_asm_insn): Cast a char to unsigned char when used as an
  133 	array index.
  134 
  135 	* gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
  136 	assigning it to one.
  137 
  138 	* loop.c (strength_reduce): Remove unused variables `count' and `temp'.
  139 
  140 	* recog.c (preprocess_constraints): Cast a char to unsigned char
  141 	when used as an array index.
  142 
  143 	* regmove.c (find_matches): Likewise.
  144 
  145 	* reload1.c (calculate_needs): Add default case in switch.
  146 	(eliminate_regs_in_insn): Initialize variable `offset'.
  147 	(set_offsets_for_label): Change type of variable `i' to unsigned.
  148 	(reload_as_needed): Wrap variable `i' in macro check on
  149 	AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
  150 
  151 	* scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
  152 	with ATTRIBUTE_UNUSED.  Cast variable `start_written' to size_t
  153 	when comparing against one.
  154 
  155 	* stor-layout.c (layout_decl): Cast maximum_field_alignment to
  156 	unsigned when comparing against one.  Likewise for
  157 	GET_MODE_ALIGNMENT().
  158 	(layout_record): Cast record_align to int when comparing against a
  159 	signed value.
  160 	(layout_type): Cast TYPE_ALIGN() to int when comparing against a
  161 	signed value.
  162 
  163 	* tree.c (get_identifier): Cast variable `len' to unsigned when
  164 	comparing against one.
  165 	(maybe_get_identifier): Likewise
  166 
  167 Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)
  168 
  169 	* toplev.c (rest_of_compilation): Do not set reload_completed.
  170 	* reload1.c (reload): Set reload_completed before calling
  171 	cleanup_subreg_operands.
  172 
  173 Tue Dec 22 23:58:31 1998  Richard Henderson  <rth@cygnus.com>
  174 
  175 	* reload1.c (emit_reload_insns): Check `set' not null before use.
  176 
  177 Tue Dec 22 15:15:45 1998  Nick Clifton  <nickc@cygnus.com>
  178 
  179 	* rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
  180 	'int'.
  181 
  182 Tue Dec 22 13:55:44 1998  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
  183 
  184 	* halfpic.c (half_pic_encode): Delete redundant code.
  185 
  186 Tue Dec 22 13:02:22 1998  Michael Meissner  <meissner@cygnus.com>
  187 
  188 	* toplev.c (main): Delete handling of -dM as a preprocessor
  189 	option.
  190 
  191 Mon Dec 21 17:39:38 1998  Michael Meissner  <meissner@cygnus.com>
  192 
  193 	* toplev.c (main): Don't emit any warnings when using -dD, -dM, or
  194 	-dI, which are handled by the preprocessor.
  195 
  196 Sun Dec 20 16:13:44 1998  John F. Carr  <jfc@mit.edu>
  197 
  198 	* configure.in: Handle Digital UNIX 5.x the same as 4.x.
  199 	* i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
  200 
  201 Sun Dec 20 07:39:52 1998  Jeff Law  (law@cygnus.com)
  202 
  203 	* version.c: Bump for snapshot.
  204 
  205 Sat Dec 19 22:24:22 1998  Jeff Law  (law@cygnus.com)
  206 
  207 	* version.c: Bump for snapshot.
  208 
  209 Sat Dec 19 21:41:32 1998  Jeff Law  (law@cygnus.com)
  210 
  211 	* version.c: Bump for snapshot.
  212 
  213 Sat Dec 19 09:52:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  214 
  215 	* genattr.c (fatal): Qualify a char* with the `const' keyword.
  216 
  217 	* genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
  218 	write_unit_name, write_eligible_delay, expand_units,
  219 	make_length_attrs, write_attr_case, find_attr,
  220 	make_internal_attr): Likewise.
  221 	* gencheck.c (tree_codes): Likewise.
  222 	* gencodes.c (fatal): Likewise.
  223 	* genconfig.c (fatal): Likewise.
  224 	* genemit.c (fatal): Likewise.
  225 	* genextract.c (fatal, walk_rtx, copystr): Likewise.
  226 	* genflags.c (fatal): Likewise.
  227 	* genopinit.c (fatal, optabs, gen_insn): Likewise.
  228 	* genoutput.c (fatal, error, predicates): Likewise.
  229 	* genpeep.c (fatal): Likewise.
  230 	* genrecog.c (fatal, decision, pred_table, add_to_sequence,
  231 	write_tree_1, write_tree, change_state, copystr, indents): Likewise.
  232 
  233 Thu Dec 17 18:21:49 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
  234 
  235 	* configure.in (with-fast-fixincludes): Fix whitespace.
  236 	* configure: Rebuilt.
  237 
  238 	* fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
  239 	asm() etc. function declarations in __DECC.
  240 
  241 Thu Dec 17 13:57:23 1998  Nick Clifton  <nickc@cygnus.com>
  242 
  243 	* expr.c (emit_move_insn_1): Only emit a clobber if the target
  244 	is a pseudo register.
  245 
  246 Thu Dec 17 13:50:29 1998  Nick Clifton  <nickc@cygnus.com>
  247 
  248 	* gcse.c: Include expr.h in order to get the prototype for
  249 	get_condition() which is used in delete_null_pointer_checks().
  250 
  251 Thu Dec 17 15:58:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  252 
  253 	* hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
  254 
  255 Thu Dec 17 12:31:12 1998  Jim Wilson  <wilson@cygnus.com>
  256 
  257 	* Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
  258 	(ALL_CFLAGS): Delete SCHED_CFLAGS.
  259 
  260 1998-12-17  Vladimir N. Makarov  <vmakarov@cygnus.com>
  261 
  262 	* config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
  263 	';').
  264 
  265 1998-12-17  Michael Tiemann  <tiemann@axon.cygnus.com>
  266 
  267 	* i960.md (extend*, zero_extend*): Don't generate rtl that looks
  268 	like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
  269 	optimizations from the combiner.
  270 
  271 Thu Dec 17 08:27:03 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
  272 
  273 	* loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
  274 
  275 Wed Dec 16 17:30:35 1998  Nick Clifton  <nickc@cygnus.com>
  276 
  277 	* toplev.c (main): Disable optimize_size if a specific
  278 	optimization level is requested.  Always set optimization
  279 	level to 2 if -Os is specified.
  280 
  281 Wed Dec 16 16:33:04 1998  Dave Brolley  <brolley@cygnus.com>
  282 
  283 	* objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
  284 	cpplib.
  285 	* cpplib.c (cpp_start_read): If in_fname is not initialized, try to
  286 	initialize it using fname.
  287 
  288 1998-12-16  Zack Weinberg  <zack@rabi.phys.columbia.edu>
  289 
  290 	* cpplib.c (do_include): Treat #include_next in the
  291 	primary source file as #include plus warning.  Treat
  292 	#include_next in a file included by absolute path as an
  293 	error.  fp == CPP_NULL_BUFFER is a fatal inconsistency.
  294 
  295 Wed Dec 16 12:28:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  296 
  297 	* cccp.c: Don't define MIN/MAX anymore.
  298 	* cpplib.c: Likewise.
  299 	* machmode.h: Likewise.
  300 	* system.h: Provide definitions for MIN/MAX.
  301 
  302 Tue Dec 15 23:47:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
  303 
  304 	* fix-header.c: Don't define xstrdup here.
  305 
  306 Wed Dec 16 05:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
  307 
  308 	* loop.c (consec_sets_giv): New argument last_consec_insn.
  309 	(strength_reduce): Provide / use it.
  310 
  311 Wed Dec 16 17:24:07 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
  312 
  313 	* loop.h (loop_info): New field 'vtop'.
  314 	* loop.c (check_dbra_loop): Use loop_info->vtop rather than
  315 	scanning loop for vtop.
  316 	* unroll.c (subtract_reg_term, find_common_reg_term): New functions.
  317 	(loop_iterations): Use them to determine if loop has a constant
  318 	number of iterations.  Set loop_info->vtop.  Don't subtract
  319 	common reg term from initial_value and final_value if have a
  320 	do-while loop.
  321 
  322 Tue Dec 15 13:49:55 1998  Jeffrey A Law  (law@cygnus.com)
  323 
  324 	* mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
  325 
  326 	* mn10300.md (bset, bclr): Operand 0 is a read/write operand.
  327 
  328 	* mn10200.md (abssf2, negsf2): New expanders.
  329 
  330 	* mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
  331 
  332 Tue Dec 15 11:55:30 1998  Nick Clifton  <nickc@cygnus.com>
  333 
  334 	* integrate.c (copy_rtx_and_substitute): If a SUBREG is
  335 	replaced by a CONCAT whose components do not have the same
  336 	mode as the original SUBREG, use a new SUBREG to restore the
  337 	mode.
  338 
  339 	* emit-rtl.c (subreg_realpart_p): Cope with subregs containing
  340 	multiword complex values.
  341 
  342 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
  343 
  344 	* cppalloc.c: Add xstrdup here.
  345 	* cpplib.h: Remove savestring prototype.
  346 	* cpplib.c: Remove savestring function. s/savestring/xstrdup/
  347 	  throughout.
  348 	* cppfiles.c: s/savestring/xstrdup/ throughout.
  349 
  350 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
  351 
  352 	* cpplib.c: Make all directive handlers read their own
  353 	  arguments.
  354 	  (struct directive): Remove last two arguments from FUNC
  355 	  member prototype. Remove `command_reads_line' member
  356 	  entirely.
  357 	  (directive_table): Remove initializations of
  358 	  command_reads_line flag.  Pretty-print.
  359 	  (eval_if_expression, do_define, do_line, do_include,
  360 	  do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
  361 	  do_else, do_elif, do_sccs, do_assert, do_unassert,
  362 	  do_warning): Take only two args.
  363 
  364 	  (cpp_define): Call do_define with two args and the text to
  365 	  define stuffed into a buffer.
  366 	  (make_assertion): Call do_assert with two args.
  367 	  (handle_directive): Call do_line with two args. Call
  368 	  kt->func with two args.  Remove command_reads_line
  369 	  processing.
  370 	  (do_define, do_undef, do_error, do_warning, do_pragma,
  371 	  do_sccs): Read the rest of the line here.
  372 	  (do_ident): Gobble rest of line, as cccp does.
  373 	  (cpp_undef): New function.
  374 	  (cpp_start_read): Call cpp_undef instead of do_undef.
  375 
  376 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
  377 
  378 	* cpphash.h (union hash_value): Remove `keydef' member, add a
  379 	  `struct hashnode *aschain' member for #assert.
  380 
  381 	* cpplib.c (struct tokenlist_list, struct
  382 	  assertion_hashnode): Delete structure definitions.
  383 	  (assertion_install, assertion_lookup, delete_assertion,
  384 	  check_assertion, compare_token_lists, reverse_token_list,
  385 	  read_token_list, free_token_list): Delete functions.
  386 	  (parse_assertion): New function.
  387 	  (cpp_cleanup): Don't destroy the assertion_hashtable.
  388 
  389 	  (do_assert): Gut and rewrite.  #assert foo (bar) places
  390 	  entries for `#foo' and `#foo(bar)' in the macro hash table,
  391 	  type T_ASSERT.  The value union's `aschain' member is used
  392 	  to chain all answers for a given predicate together.
  393 	  (do_unassert): Also rewritten.  Take an un-asserted
  394 	  answer off the chain from its predicate and call
  395 	  delete_macro on the hashnode, or walk a predicate chain
  396 	  calling delete_macro on all the entries.
  397 	  (cpp_read_check_assertion): Simply call parse_assertion to
  398 	  get the canonical assertion name, and look that up in the
  399 	  hash table.
  400 
  401 	* cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
  402 	Removed.
  403 
  404 	* cpphash.c (install): Use bcopy instead of an explicit loop
  405 	  to copy the macro name.
  406 
  407 	* cppexp.c (cpp_lex): Convert the result of
  408 	  cpp_read_check_assertion to a `struct operation' directly;
  409 	  don't go through parse_number.
  410 
  411 Tue Dec 15 18:27:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
  412 
  413 	* loop.h (struct induction): Delete times_used member.
  414 	* loop.c (n_times_set): Rename to set_in_loop.  Changed all users.
  415 	(n_times_used): Rename to n_times_set.  Changed all users.
  416 	(scan_loop): Free reg_single_usage before strength reduction.
  417 	(record_giv, combine_givs): Remove handling of times_used member.
  418 	(combine_givs_used_once): Rename to:
  419 	(combine_givs_used_by_other) .  Changed all callers.
  420 
  421 Tue Dec 15 01:45:26 1998  Jason Merrill  <jason@yorick.cygnus.com>
  422 
  423 	* dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
  424 	instead of TREE_CODE_CLASS == 't'.
  425 	(gen_type_die): Likewise.
  426 	(scope_die_for): Ignore FUNCTION_TYPE "scopes".
  427 
  428 Mon Dec 14 16:23:27 1998  Jim Wilson  <wilson@cygnus.com>
  429 
  430 	* real.c (endian): Disable last change unless
  431 	HOST_BITS_PER_WIDE_INT is greater than 32.
  432 
  433 Mon Dec 14 17:13:36 1998  Andrew MacLeod  <amacleod@cygnus.com>
  434 
  435 	* output.h (force_data_section): New prototype.
  436 	* varasm.c (force_data_section): New function to force the
  437 	data section, regardless of what in_section thinks.
  438 	* dwarf2out.c (output_call_frame_info): Call force_data_section
  439 	since varasm may not realize we've changes sections.
  440 
  441 Mon Dec 14 14:09:34 1998  Nick Clifton  <nickc@cygnus.com>
  442 
  443 	* reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
  444 	  after completing reload.
  445 
  446 	* rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
  447 	  deleted after reload.
  448 
  449 Mon Dec 14 01:39:28 1998  Jeffrey A Law  (law@cygnus.com)
  450 
  451 	* rtl.h (multiple_sets): Fix prototype.
  452 	* rtlanal.c (multiple_sets): Fix return type.
  453 
  454 Sun Dec 13 12:43:58 1998  Jeff Law  (law@cygnus.com)
  455 
  456 	* version.c: Bump for snapshot.
  457 
  458 Sun Dec 13 01:05:22 1998  Jeff Law  (law@cygnus.com)
  459 
  460 	* version.c: Bump for snapshot.
  461 
  462 1998-12-13  Manfred Hollstein  <manfred@s-direktnet.de>
  463 
  464 	* protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
  465 
  466 Sun Dec 13 00:24:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
  467 
  468 	* rtl.h (recompute_reg_usage): Add second argument.
  469 	* flow.c (recompute_reg_usage): Likewise.
  470 	* toplev.c (rest_of_compilation): Supply second argument to
  471 	recompute_reg_usage.
  472 
  473 	* reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
  474 	after reload.
  475 
  476 Sat Dec 12 23:39:10 1998  Jeffrey A Law  (law@cygnus.com)
  477 
  478 	* m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
  479 	(MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
  480 	(MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
  481 	mcpu32 or m5200.
  482 
  483 	* i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
  484 
  485 	* rtlanal.c (multiple_sets): New function.
  486 	* rtl.h (multiple_sets): Declare it.
  487 	* local-alloc.c (wipe_dead_reg): Use it.
  488 	* global.c (global_conflicts): Likewise.
  489 
  490 Sat Dec 12 22:13:02 1998  Mark Mitchell  <mark@markmitchell.com>
  491 
  492 	* global.c (record_conflicts): Don't use an array of shorts to
  493 	store an array of ints.
  494 	(global_conflicts): Likewise.
  495 
  496 Sat Dec 12 16:49:24 1998  Richard Henderson  <rth@cygnus.com>
  497 
  498 	* alpha.c (alpha_expand_block_move): mode_for_size expects
  499 	bits, not bytes.  Infer extra alignment from addressof.
  500 
  501 1998-12-11  Michael Meissner  <meissner@cygnus.com>
  502 
  503 	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
  504 	.sbss section, not .sdata.
  505 
  506 1998-12-11  Manfred Hollstein  <manfred@s-direktnet.de>
  507 
  508 	* cccp.c: Do not #include <sys/stat.h> here; this is already done
  509 	by "system.h".
  510 	* collect2.c: Likewise.
  511 	* cpplib.h: Likewise.
  512 	* gcc.c: Likewise.
  513 	* gcov.c: Likewise.
  514 	* getpwd.c: Likewise.
  515 	* protoize.c: Likewise.
  516 	* toplev.c: Likewise.
  517 
  518 	* cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
  519 	and don't try to define it here.
  520 	* Makefile.in (cppmain.o): Depend on machmode.h.
  521 	(cpplib.o): Likewise.
  522 	(cpperror.o): Likewise.
  523 	(cppexp.o): Likewise.
  524 	(cppfiles.o): Likewise.
  525 	(cpphash.o): Likewise.
  526 	(cppalloc.o): Likewise.
  527 	(fix-header.o): Likewise.
  528 	(scan-decls.o): Likewise.
  529 
  530 Fri Dec 11 11:02:49 1998  Stan Cox  <scox@cygnus.com>
  531 
  532 	* sh.c (print_operand): Lookup interrupt_handler attribute instead
  533 	of relying on static variable.
  534 	* (calc_live_regs): Likewise.
  535 	* (sh_pragma_insert_attributes): Create interrupt_handler
  536 	attribute if a pragma was specified.
  537 	* (sh_valid_machine_decl_attribute): Don't set static flag.
  538 	* sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
  539 
  540 Fri Dec 11 12:56:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
  541 
  542 	* reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
  543 	to determine if a register is live at a jump destination.
  544 	Everything is dead at a BARRIER.
  545 
  546 Thu Dec 10 16:02:06 1998  Jim Wilson  <wilson@cygnus.com>
  547 
  548 	* cse.c (simplify_unary_operation): Sign-extend constants when
  549 	they have the most significant bit set for the target.
  550 	* real.c (endian): Sign-extend 32 bit output values on a 64 bit
  551 	host.
  552 	* m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
  553 	HOST_WIDE_INT temporary before negating it.
  554 	* m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
  555 
  556 Thu Dec 10 15:05:59 1998  Dave Brolley  <brolley@cygnus.com>
  557 
  558 	* objc/objc-act.c (lang_init_options): Enclose cpplib related code in
  559 	#if USE_CPPLIB.
  560 
  561 Thu Dec 10 13:39:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  562 
  563 	* collect2.h: New header file for prototypes.
  564 
  565 	* Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
  566 
  567 	* collect2.c: Include collect2.h.
  568 	* tlink.c: Likewise.
  569 
  570 Wed Dec  9 23:55:11 1998  Jeffrey A Law  (law@cygnus.com)
  571 
  572 	* flow.c: Update some comments.
  573 
  574 Wed Dec  9 15:29:26 1998  Dave Brolley  <brolley@cygnus.com>
  575 
  576 	* objc/objc-act.c (cpp_initialized): Removed.
  577 	(lang_init_options): Initialize cpplib.
  578 	(lang_decode_option): Move initialization of cpplib to
  579 	lang_init_options.
  580 	* c-lang.c (parse_options,parse_in): Added.
  581 	(lang_init_options): Initialized cpplib here.
  582 	* c-decl.c (parse_options,cpp_initialized): Removed.
  583 	(c_decode_option): Move initialization of cpplib to
  584 	lang_init_options.
  585 
  586 Wed Dec  9 19:36:57 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
  587 
  588 	* reload1.c (reload_combine, reload_combine_note_store):
  589 	Make STORE_RUID always valid.
  590 	(reload_combine): Check if BASE is clobbered too early.
  591 
  592 Wed Dec  9 09:53:58 1998  Nick Clifton  <nickc@cygnus.com>
  593 
  594 	* reload.c (find_reloads): Display the insn that cannot be
  595 	reloaded.
  596 
  597 Wed Dec  9 12:15:26 1998  Dave Brolley  <brolley@cygnus.com>
  598 
  599 	* cccp.c (create_definition): Fix end of buffer logic.
  600 
  601 Wed Dec  9 10:15:45 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  602 
  603 	* except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
  604 	pointer parameters changed to use the PARAMS() macro.
  605 
  606 Wed Dec  9 09:12:40 1998  Andrew MacLeod  <amacleod@cygnus.com>
  607 
  608 	* except.h (struct handler_info): Add handler_number field.
  609 	* except.c (gen_exception_label): EH labels no longer need to be
  610 	on the permanent obstack.
  611 	(get_new_handler): Set the label number field.
  612 	(output_exception_table_entry): Regenerate handler label reference
  613 	from the label number field.
  614 	(init_eh): Remove a blank line.
  615 	* integrate.c (get_label_from_map): Labels no longer need to be
  616 	on the permanent obstack.
  617 
  618 Tue Dec  8 22:04:33 1998  Jim Wilson  <wilson@cygnus.com>
  619 
  620 	* i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
  621 	only when OUTER_CODE is SET.
  622 
  623 Tue Dec  8 22:47:15 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
  624 
  625 	* loop.c (strength_reduce): If scan_start points to the loop exit
  626 	test, be wary of subversive use of gotos inside expression statements.
  627 	Don't set maybe_multiple for a backward jump that does not
  628 	include the label under consideration into its range.
  629 	* unroll.c (biv_total_increment): Make use of maybe_multiple field.
  630 
  631 Tue Dec  8 22:33:18 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
  632 
  633 	* explow.c (plus_constant_wide): Don't immediately return with
  634 	result of recursive call.
  635 
  636 Tue Dec  8 15:32:56 1998  Andrew MacLeod  <amacleod@cygnus.com>
  637 
  638 	* eh-common.h (struct eh_context): Add table_index for rethrows.
  639 
  640 	* rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
  641 	(SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
  642 	processed when inlined or unrolled (ie duplicated in some way).
  643 
  644 	* rtl.c (reg_note_name): Add strings for new reg_note enums.
  645 
  646 	* expr.h (rethrow_libfunc): New library decl.
  647 
  648 	* optabs.c (rethrow_libfunc): Initialize.
  649 
  650 	* except.h (struct eh_entry): Add new field 'rethrow_label'.
  651 	(new_eh_region_entry): No longer exported from except.c.
  652 	(duplicate_handlers): Renamed to duplicate_eh_handlers and
  653 	different prototype.
  654 	(rethrow_symbol_map, rethrow_used): New exported functions.
  655 	(eh_region_from_symbol): New exported function.
  656 
  657 	* except.c (create_rethrow_ref): New function to create a single
  658 	SYMBOL_REF for a rethrow region.
  659 	(push_eh_entry): Initialize a rethrow ref.
  660 	(func_eh_entry): Add a rethrow_label field.
  661 	(new_eh_region_entry): Make static, and initialize the rethrow entry.
  662 	(duplicate_eh_handlers): Create a new region, and remap labels/symbols.
  663 	(eh_region_from_symbol): Find an EH region based on its rethrow symbol.
  664 	(rethrow_symbol_map): Given a label map, maps a rethrow symbol for
  665 	a region into an appropriate new symbol.
  666 	(rethrow_used): Indicate whether a rethrow symbol has been referenced.
  667 	(expand_eh_region_end): Don't issue jump around code for new-exceptions.
  668 	(end_catch_handler): Emit a barrier for new-exceptions since
  669 	control can never drop through the end of a catch block.
  670 	(expand_end_all_catch): new-exceptions never fall through a catch
  671 	block.
  672 	(expand_rethrow): Use __rethrow routine for new exceptions.
  673 	(output_exception_table_entry): Generate rethrow labels, if needed.
  674 	(output_exception_table): Generate start and end rethrow labels.
  675 	(init_eh): Create rethrow symbols for beginning and end of table.
  676 	(scan_region): Don't eliminate EH regions which are the targets of
  677 	rethrows.
  678 
  679 	* flow.c (make_edges): Add different edges for rethrow calls,
  680 	identified by having the REG_EH_RETHROW reg label.
  681 	(delete_unreachable_blocks): Don't delete regions markers which are
  682 	the target of a rethrow.
  683 
  684 	* integrate.c (save_for_inline_eh_labelmap): New callback routine to
  685 	allow save_for_inline_copying to call duplicate_eh_handlers.
  686 	(save_for_inline_copying): Call duplicate_eh_handlers instead of
  687 	exposing internal details of exception regions.
  688 	(copy_for_inline): Check if SYMBOL_REFs need adjustment.
  689 	(expand_inline_function_eh_labelmap): New callback routine to
  690 	allow expand_inline_function to call duplicate_eh_handlers.
  691 	(expand_inline_function): Call duplicate_eh_handlers instead of
  692 	exposing internal details of exception regions.
  693 	(copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
  694 	flag is set.
  695 
  696 	* libgcc2.c (find_exception_handler): Generalize to enable it to
  697 	pick up processing where it left off last time for a rethrow.
  698 	(__unwinding_cleanup): New function. debug hook which is called before
  699 	unwinding when __throw finds there is nothing but cleanups left.
  700 	(throw_helper): Common parts of __throw extracted out for reuse.
  701 	(__throw): Common parts moved to throw_helper.
  702 	(__rethrow): New function for performing rethrows.
  703 
  704 Tue Dec  8 13:11:04 1998  Jeffrey A Law  (law@cygnus.com)
  705 
  706 	* reload1.c (current_function_decl): Tweak declaration.
  707 
  708 Tue Dec  8 10:23:52 1998  Richard Henderson  <rth@cygnus.com>
  709 
  710 	* c-decl.c (flag_isoc9x): Default off.
  711 	(c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
  712 	* cccp.c (print_help, main): Likewise.
  713 	* gcc.c (default_compilers): Update for -std=gnu*.
  714 
  715 Tue Dec  8 01:14:46 1998  Jeffrey A Law  (law@cygnus.com)
  716 
  717 	* Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
  718 	* demangle.h: Deleted.
  719 
  720 	* reload1.c (current_function_decl): Declare.
  721 
  722 Tue Dec  8 11:58:51 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  723 
  724 	* cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
  725 
  726 Tue Dec  8 09:28:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  727 
  728 	* dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
  729 
  730 1998-12-08  Ulrich Drepper  <drepper@cygnus.com>
  731 
  732 	* configure.in: Test for availability of putc_unlocked, fputc_unlocked,
  733 	and fputs_unlocked.
  734 	* configure: Rebuilt.
  735 	* system.h: If the *_unlocked functions are available use them
  736 	instead of the locked counterparts by defining macros.
  737 	* config.in: Regenerated.
  738 
  739 Tue Dec  8 00:34:05 1998  Mike Stump  <mrs@wrs.com>
  740 
  741 	* i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
  742 	wrong and should only be used for dump related things, not
  743 	debugging information, instead main_input_filename should be used.
  744 	Also, reuse output_file_directive if possible.
  745 	* i386/aix386ng.h (ASM_FILE_START): Likewise.
  746 	* i386/isc.h (ASM_FILE_START): Likewise.
  747 	* i386/win-nt.h (ASM_FILE_START): Likewise.
  748 	* i386/sun386.h (ASM_FILE_START): Likewise.
  749 
  750 Mon Dec  7 23:56:28 1998  Robert Lipe  <robertl@dgii.com>
  751 
  752 	* configure.in (mips*-*-linux*): Handle big and little endian
  753 	systems.
  754 	* configure: Rebuilt.
  755 
  756 Mon Dec  7 23:14:51 1998  Mike Stump  <mrs@wrs.com>
  757 
  758 	* emit-rtl.c: Fix typo.
  759 
  760 Mon Dec  7 23:07:38 1998  Nathan Sidwell  <nathan@acm.org>
  761 
  762 	* reload1.c (eliminate_regs): Don't do anything, if we're not
  763 	generating code.
  764 
  765 Mon Dec  7 15:27:09 1998  DJ Delorie  <dj@cygnus.com>
  766 
  767 	* mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
  768 	Add comment.
  769 	* mips/mips.c (mips_select_section): Add comment.
  770 
  771 Mon Dec  7 17:55:06 1998  Mike Stump  <mrs@wrs.com>
  772 
  773 	* cccp.c (ignore_escape_flag): Add support for \ as `natural'
  774 	characters in file names in #line to be consistent with #include
  775 	handling.  We support escape processing in the # 1 "..." version of
  776 	the command.  See also support in cp/lex.c.
  777 	(handle_directive): Likewise.
  778 	(do_line): Likewise.
  779 
  780 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
  781 
  782 	* cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
  783 	  so it'll work on non-ASCII platforms.  Always consider $ an
  784 	  identifier character.  Take no arguments.
  785 	  (cpp_reader_init): Call initialize_char_syntax with no
  786 	  arguments.
  787 	  (cpp_start_read): Don't call initialize_char_syntax again.
  788 	  Clear is_idchar['$'] and is_idstart['$'] if not
  789 	  opts->dollars_in_ident.
  790 
  791 	* cpplib.h (struct cpp_reader): Replace void *data element by
  792 	  cpp_options *opts.  Rearrange elements to make gdb printout
  793 	  less annoying (put buffer stack at end).
  794 	  (CPP_OPTIONS): Get rid of now-unnecessary cast.
  795 
  796 	* cppmain.c: s/data/opts/ when initializing cpp_reader
  797 	  structure.
  798 	* c-decl.c: Likewise.
  799 	* objc/objc-act.c: Likewise.
  800 	* fix-header.c: Likewise.
  801 
  802 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
  803 
  804 	* cpplib.h (struct cpp_buffer): Replace dir and dlen members
  805 	with a struct file_name_list pointer.
  806 	(struct cpp_reader): Add pointer to chain of `actual
  807 	directory' include searchpath entries.
  808 	(struct file_name_list): Add *alloc pointer for the sake of
  809 	the actual-directory chain.
  810 
  811 	Move definition of HOST_WIDE_INT here.
  812 	(cpp_parse_escape): Change prototype to match changes in
  813 	cppexp.c.
  814 
  815 	* cppfiles.c (actual_directory): New function.
  816 	(finclude): Use it to initialize the buffer's actual_dir
  817 	entry.
  818 	(find_include_file): We don't need to fix up max_include_len
  819 	here.
  820 
  821 	* cpplib.c (do_include): Don't allocate a file_name_list on
  822 	the fly for current directory "" includes, use the one that's
  823 	been preallocated in pfile->buffer->actual_dir.  Hoist out
  824 	duplicate code from the search_start selection logic.
  825 	(cpp_reader_init): Initialize pfile->actual_dirs.
  826 
  827 	Remove definition of HOST_WIDE_INT.  Change calls
  828 	to cpp_parse_escape to match changes in cppexp.c (note
  829 	hardcoded MASK, which is safe since this is the source
  830 	character set).
  831 
  832 	* cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
  833 	to handle wide character constants in #if directives.  The
  834 	function now returns a HOST_WIDE_INT, and takes a third
  835 	argument which is a binary mask for all legal values (0x00ff
  836 	for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.)  Define
  837 	MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK.  Change callers of
  838 	cpp_parse_escape to match.  [Fixes c-torture/execute/widechar-1.c]
  839 
  840 Mon Dec  7 15:38:25 1998  Dave Brolley  <brolley@cygnus.com>
  841 
  842 	* gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
  843 
  844 Mon Dec  7 15:38:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  845 
  846 	* c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
  847 	* cppalloc.c: Move function `xcalloc' from cpplib.c to here.
  848 	* cpplib.c: Move function `xcalloc' from here to cppalloc.c.
  849 
  850 Mon Dec  7 11:30:49 1998  Nick Clifton  <nickc@cygnus.com>
  851 
  852 	* final.c (output_asm_name): Use tabs to separate comments from
  853 	assembly text.
  854 
  855 	Include instruction lengths (if defined) in output.
  856 
  857 Mon Dec  7 10:53:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
  858 
  859 	* loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
  860 	in the loop_info structure.
  861 
  862 Mon Dec  7 11:04:40 1998  Catherine Moore  <clm@cygnus.com>
  863 
  864 	* configure.in (arm*-*-ecos-elf): New target.
  865 	* configure: Regenerated.
  866 	* config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
  867 	* config/arm/ecos-elf.h: New file.
  868 	* config/arm/unknown-elf.h (TARGET_VERSION): Check
  869 	for redefinition.
  870 
  871 Mon Dec  7 16:15:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
  872 
  873 	* sh.c (output_far_jump): Emit braf only for TARGET_SH2.
  874 
  875 Sun Dec  6 04:19:45 1998  Jeff Law  (law@cygnus.com)
  876 
  877 	* version.c: Bump for snapshot.
  878 
  879 Sun Dec  6 05:16:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
  880 
  881 	* loop.c (check_dbra_loop): New argument loop_info.  Update fields
  882 	as needed.
  883 
  884 Sun Dec  6 03:40:13 1998  Jeff Law  (law@cygnus.com)
  885 
  886 	* version.c: Bump for snapshot.
  887 
  888 Sun Dec  6 07:49:29 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
  889 
  890 	* gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
  891 	compressed reports are ok and preferred over URLs.
  892 
  893 Sun Dec  6 07:45:33 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
  894 
  895 	* invoke.texi (Warning Options): Soften the tone of -pedantic.
  896 
  897 Sun Dec  6 00:20:44 1998  H.J. Lu  (hjl@gnu.org)
  898 
  899 	* print-rtl.c (print_rtx): Add prototype.
  900 
  901 	* unroll.c (iteration_info): Make it static.
  902 
  903 Sun Dec  6 01:19:46 1998  Richard Henderson  <rth@cygnus.com>
  904 
  905 	* alias.c (memrefs_conflict_p): A second ANDed address
  906 	disables the aligned address optimization.
  907 
  908 Sat Dec  5 18:48:25 1998  Richard Henderson  <rth@cygnus.com>
  909 
  910 	* alpha.c (alpha_emit_set_const_1): Fix parenthesis error
  911 	in -c << n case.
  912 
  913 Sat Dec  5 15:14:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
  914 
  915 	* i960.h (BOOL_TYPE_SIZE): Define.
  916 
  917 Sun Dec  6 00:28:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
  918 
  919 	* config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
  920 	from old valid_parallel_operands_4.
  921 	(valid_parallel_operands_4): Check that operands for 4 operand
  922 	parallel insns are valid, excluding load/store insns.
  923 	* config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
  924 	* config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
  925 	valid_parallel_load_store instead of valid_parallel_operands_4.
  926 	(*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
  927 	*negqf2_movqf_clobber, *absqi2_movqi_clobber,
  928 	*fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
  929 	*notqi_movqi_clobber): Use valid_parallel_operands_4.
  930 	(*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
  931 	*ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
  932 	*subqi3_movqi_clobber): Use valid_parallel_operands_5.
  933 
  934 Sat Dec  5 23:52:01 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
  935 
  936 	* config/c4x/c4x.c (iteration_info): Delete extern.
  937 
  938 Fri Dec  4 20:15:57 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
  939 
  940 	* tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
  941 
  942 	* final.c (cleanup_subreg_operands): Delete some unused code.
  943 
  944 	* recog.h (MAX_RECOG_ALTERNATIVES): New macro.
  945 	(struct insn_alternative): New structure definition.
  946 	(recog_op_alt): Declare variable.
  947 	(preprocess_constraints): Declare function.
  948 	* recog.c (recog_op_alt): New variable.
  949 	(extract_insn): Verify number of alternatives is in range.
  950 	(preprocess_constraints): New function.
  951 	* reg-stack.c: Include recog.h.
  952 	(constrain_asm_operands): Delete.
  953 	(get_asm_operand_lengths): Delete.
  954 	(get_asm_operand_n_inputs): New function.
  955 	(record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
  956 	N_OUTPUTS args.  All callers changed.
  957 	Compute number of inputs and outputs here by calling
  958 	get_asm_operand_n_inputs.
  959 	Instead of constrain_asm_operands, call extract_insn,
  960 	constrain_operands and preprocess_constraints.  Use information
  961 	computed by these functions throughout.
  962 	(record_reg_life): Delete code that is unused due to changes in
  963 	record_asm_reg_life.
  964 	(subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
  965 	N_INPUTS and N_OUTPUTS args.  All callers changed.
  966 	Similar changes as in record_asm_reg_life.
  967 	(subst_stack_regs): Move n_operands declaration into the if statement
  968 	where it's used.
  969 	Delete code that is unused due to changes in subst_asm_stack_regs.
  970 	* stmt.c (expand_asm_operands): Verify number of alternatives is in
  971 	range.
  972 	* Makefile.in (reg-stack.o): Depend on recog.h.
  973 
  974 Fri Dec  4 02:23:24 1998  Jeffrey A Law  (law@cygnus.com)
  975 
  976 	* except.c (set_exception_version_code): Argument is an "int".
  977 
  978 Fri Dec  4 01:29:28 1998  Jeffrey A Law  (law@cygnus.com)
  979 
  980 	* configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
  981 	* configure: Rebuilt.
  982 
  983 Fri Dec  4 01:29:28 1998  Robert Lipe  <robertl@dgii.com>
  984 
  985 	* configure.in (mipsel-*-linux*): New target.
  986 	* mips/linux.h: New file, based on other Linux targets.
  987 
  988 Thu Dec  3 11:19:50 1998  Mike Stump  <mrs@wrs.com>
  989 
  990 	* gthr-vxworks.h (__ehdtor): Fix memory leak.  The delete hook
  991 	runs in the context of the deleter, not the deletee, so we must
  992 	use taskVarGet to find the correct memory to free.
  993 	(__gthread_key_create): Initialize the task
  994 	variable subsystem so that the task variable is still active when
  995 	the delete hook is run.
  996 
  997 1998-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
  998 
  999 	* pdp11.h: Use optimize_size for space optimizations.
 1000 	* pdp11.c: Likewise.
 1001 	* pdp11.md: Likewise.
 1002 
 1003 	* pdp11.h (TARGET_40_PLUS): Fix typo.
 1004 
 1005 Thu Dec  3 11:48:32 1998  Jeffrey A Law  (law@cygnus.com)
 1006 
 1007 	* local-alloc.c (block_alloc): Slightly retune heuristic to widen
 1008 	qty lifetimes.
 1009 
 1010 Thu Dec  3 22:30:18 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1011 
 1012 	* alias.c (addr_side_effect_eval): New function.
 1013 	(memrefs_conflict_p): Use it.
 1014 	* rtl.h (addr_side_effect_eval): Prototype it.
 1015 
 1016 1998-12-02  Joseph S. Myers  <jsm28@cam.ac.uk>
 1017 
 1018 	* pdp11.md (extendsfdf2): Fix mode mismatch in SET.
 1019 
 1020 Wed Dec  2 11:23:07 1998  Jim Wilson  <wilson@cygnus.com>
 1021 
 1022 	* reload.c (find_reloads): When force const to memory, put result
 1023 	in substed_operand not *recog_operand_loc.
 1024 
 1025 1998-12-02  Ulrich Drepper  <drepper@cygnus.com>
 1026 
 1027 	* c-lex.c: Fix indentation from last patch.
 1028 	Remove trailing whitespace.
 1029 	* real.c: Likewise.
 1030 
 1031 Wed Dec  2 10:11:12 1998  Jeffrey A Law  (law@cygnus.com)
 1032 
 1033 	* flow.c (delete_block): Call set_last_insn after we have reset
 1034 	NEXT_INSN (kept_tail).
 1035 
 1036 Wed Dec  2 00:47:31 1998  Jeffrey A Law  (law@cygnus.com)
 1037 
 1038 	* mips.md (trap_if): Use "$0" for the value zero.
 1039 
 1040 Tue Dec  1 20:49:49 1998  Ulrich Drepper  <drepper@cygnus.com>
 1041 			  Stephen L Moshier  <moshier@world.std.com>
 1042 			  Richard Henderson  <rth@cygnus.com>
 1043 
 1044 	* c-common.c (declare_function_name): Declare predefined variable
 1045 	`__func__'.
 1046 
 1047 	* c-decl.c (flag_isoc9x): Set to 1 by default.
 1048 	(c_decode_option): Handle -std= option.  Remove -flang-isoc9x.
 1049 	(grokdeclarator): Always emit warning about implicit int for ISO C 9x.
 1050 
 1051 	* c-parse.in: Allow constructors in ISO C 9x.
 1052 	Rewrite designator list handling.
 1053 	Allow [*] parameters.
 1054 	Don't warn about comma at end of enum definition for ISO C 9x.
 1055 
 1056 	* cccp.c (c9x): New variable.
 1057 	(rest_extension): New variable.
 1058 	(print_help): Document new -std= option.
 1059 	(main): Recognize -std= option.  Set c9x appropriately.
 1060 	(create_definition): Recognize ISO C 9x vararg macros.
 1061 
 1062 	* gcc.c (default_compilers): Adjust specs for -std options.
 1063 	(option_map): Add --std.
 1064 	(display_help): Document -std.
 1065 
 1066 	* toplev.c (documented_lang_options): Add -std and remove
 1067 	-flang-isoc9x.
 1068 
 1069 	* c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
 1070 	or REAL_VALUE_HTOF based on base of the constants.
 1071 	* fold-const.c (real_hex_to_f): New function.  Replacement function
 1072 	for hex FP conversion if REAL_ARITHMETIC is not defined.
 1073 	* real.c (asctoeg): Add handling of hex FP constants.
 1074 	* real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
 1075 	real_hex_to_f.
 1076 
 1077 Tue Dec  1 16:45:49 1998  Stan Cox  <scox@cygnus.com>
 1078 
 1079 	* mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
 1080 	-mcheck-range-division/-mcheck-zero-division checking.  Avoid as macro
 1081 	expansion.  Use hi/lo as destination register.
 1082 	(div_trap): New.
 1083 	(divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
 1084 	umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
 1085 	Avoid as macro expansion.  Use hi/lo as destination register.
 1086 
 1087 	* mips.h (MASK_CHECK_RANGE_DIV): New.
 1088 	(MASK_NO_CHECK_ZERO_DIV): New.
 1089 	(ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
 1090 	(CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
 1091 	return address for leaf functions out of r31 to support
 1092 	builtin_return_address.
 1093 
 1094 Tue Dec  1 15:03:30 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
 1095 
 1096 	* jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
 1097 	NEXT_INSN(x) to check insn x.
 1098 
 1099 Tue Dec  1 15:20:44 1998  Jeffrey A Law  (law@cygnus.com)
 1100 
 1101 	* flow.c (delete_block): Call set_last_insn if we end up deleting the
 1102 	last insn in the rtl chain.
 1103 
 1104 	* reload1.c (reload): Do not set reload_completed or split insns
 1105 	here.  Instead...
 1106 	* toplev.c (rest_of_compilation): Set reload_completed after
 1107 	reload returns.  Split insns after reload_cse has run.
 1108 
 1109 Tue Dec  1 11:55:04 1998  Richard Henderson  <rth@cygnus.com>
 1110 
 1111 	* final.c (final_scan_insn): Abort if block_depth falls below 0.
 1112 
 1113 Tue Dec  1 10:23:16 1998  Nick Clifton  <nickc@cygnus.com>
 1114 
 1115 	* config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
 1116 
 1117 Tue Dec  1 10:22:18 1998  Nick Clifton  <nickc@cygnus.com>
 1118 
 1119 	* config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
 1120 	use of user-label_prefix.
 1121 
 1122 Tue Dec  1 17:58:26 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 1123 
 1124 	* reload1.c (emit_reload_insns): Clear spill_reg_store
 1125 	when doing a new non-inherited reload from the same pseudo.
 1126 
 1127 	* local-alloc.c (function_invariant_p): New function.
 1128 	(update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
 1129 	to decide if an equivalence should be recorded.
 1130 	* reload1.c (num_eliminable_invariants): New static variable.
 1131 	(reload): Set it.  Use function_invariant_p instead of CONSTANT_P
 1132 	to decide if an equivalence should be recorded.
 1133 	Unshare PLUS.
 1134 	(calculate_needs_all_insns): Skip insns that only set an equivalence.
 1135 	Take num_eliminable_invariants into account when deciding
 1136 	if register elimination should be done.
 1137 	(reload_as_needed): Take num_eliminable_invariants into account
 1138 	when deciding if register elimination should be done.
 1139 	(eliminate_regs): Handle non-constant reg_equiv_constant.
 1140 	* rtl.h (function_invariant_p): Declare.
 1141 
 1142 Mon Nov 30 02:00:08 1998  Jeff Law  (law@cygnus.com)
 1143 
 1144 	* version.c: Bump for snapshot.
 1145 
 1146 Mon Nov 30 00:42:59 1998  Jeff Law  (law@cygnus.com)
 1147 
 1148 	* version.c: Bump for snapshot.
 1149 
 1150 Sun Nov 29 22:59:40 1998  Jason Merrill  <jason@yorick.cygnus.com>
 1151 
 1152 	* except.c (add_new_handler): Complain about additional handlers
 1153 	after one that catches everything.
 1154 
 1155 Sat Nov 28 10:56:32 1998  Jeffrey A Law  (law@cygnus.com)
 1156 
 1157 	* configure.in (alpha*-*-netbsd): Fix typo.
 1158 	* configure: Rebuilt.
 1159 
 1160 Fri Nov 27 12:28:56 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 1161 
 1162 	* system.h: Include libiberty.h.
 1163 
 1164 	* c-aux-info.c: Remove prototypes for concat/concat3.  Change
 1165 	function `concat' from fixed parameters to variable parameters,
 1166 	as is done in libiberty.  All callers of concat/concat3
 1167 	changed to use the new `concat' with variable args.
 1168 
 1169 	* cccp.c: Remove things made redundant by libiberty.h and/or
 1170 	conform to libiberty standards.
 1171 	* cexp.y: Likewise.
 1172 	* collect2.c: Likewise.
 1173 	* config/1750a/1750a.h: Likewise.
 1174 	* cppalloc.c: Likewise.
 1175 	* cppexp.c: Likewise.
 1176 	* cppfiles.c: Likewise.
 1177 	* cpphash.c: Likewise.
 1178 	* cpplib.c: Likewise.
 1179 	* dyn-string.c: Likewise.
 1180 	* fix-header.c: Likewise.
 1181 	* gcc.c: Likewise.
 1182 	* gcov.c: Likewise.
 1183 	* genattr.c: Likewise.
 1184 	* genattrtab.c: Likewise.
 1185 	* gencheck.c: Likewise.
 1186 	* gencodes.c: Likewise.
 1187 	* genconfig.c: Likewise.
 1188 	* genemit.c: Likewise.
 1189 	* genextract.c: Likewise.
 1190 	* genflags.c: Likewise.
 1191 	* gengenrtl.c: Likewise.
 1192 	* genopinit.c: Likewise.
 1193 	* genoutput.c: Likewise.
 1194 	* genpeep.c: Likewise.
 1195 	* genrecog.c: Likewise.
 1196 	* getpwd.c: Likewise.
 1197 	* halfpic.c: Likewise.
 1198 	* hash.c: Likewise.
 1199 	* mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
 1200 	in NEED_DECLARATION_* macros.
 1201 
 1202 	* mips-tfile.c: Remove things made redundant by libiberty.h and/or
 1203 	conform to libiberty standards.
 1204 	(fatal): Fix const-ification of variable `format' in
 1205 	!ANSI_PROTOTYPES case.
 1206 
 1207 	* prefix.c: Remove things made redundant by libiberty.h and/or
 1208 	conform to libiberty standards.
 1209 
 1210 	* print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
 1211 	conflicting with function `spaces' from libiberty.
 1212 
 1213 	* profile.c: Remove things made redundant by libiberty.h and/or
 1214 	conform to libiberty standards.
 1215 	* protoize.c: Likewise.
 1216 	* rtl.h: Likewise.
 1217 	* scan.h: Likewise.
 1218 	* tlink.c: Likewise.
 1219 	* toplev.c: Likewise.
 1220 	* toplev.h: Likewise.
 1221 	* tree.h: Likewise.
 1222 
 1223 Thu Nov 26 08:38:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 1224 
 1225 	* cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
 1226 
 1227 Thu Nov 26 23:45:37 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1228 
 1229 	* README.C4X: Updated URLs.
 1230 	* config/c4x/c4x.c (c4x_address_conflict): Fix typo.
 1231 	(valid_parallel_operands_5): Remove unused variable.
 1232 
 1233 Thu Nov 26 23:40:03 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1234 
 1235 	* config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
 1236 
 1237 1998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
 1238 
 1239 	* Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
 1240 	which can be configured.
 1241 	(LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
 1242 	(Makefile): Pass actual LANGUAGES through the environment when
 1243 	re-configuring.
 1244 	(cstamp-h): Likewise.
 1245 	(config.status): Likewise.
 1246 
 1247 	* configure.in (enable_languages): Add new configuration parameter
 1248 	"--enable-languages=lang1,lang2,...".
 1249 	(${srcdir}/*/config-lang.in): Change handling to configure only
 1250 	those directories, that the user might have enabled; default to
 1251 	"all" existing languages.
 1252 	* configure: Regenerate.
 1253 
 1254 Thu Nov 26 00:19:19 1998  Richard Henderson  <rth@cygnus.com>
 1255 
 1256 	* rtlanal.c (regs_set_between_p): New function.
 1257 	* rtl.h (regs_set_between_p): Prototype it.
 1258 	* jump.c (jump_optimize): Use it instead of modified_between_p
 1259 	in the Sep 2 change.
 1260 
 1261 Wed Nov 25 23:32:02 1998  Ian Dall  <Ian.Dall@dsto.defence.gov.au>
 1262 			  Matthias Pfaller  <leo@dachau.marco.de>
 1263 
 1264 	* invoke.texi (Option Summary, NS32K Options): Add description
 1265 	of NS32K specific options.
 1266 
 1267 	* ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
 1268 	fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
 1269 	fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
 1270 	negdf2, absdf2): Use l instead of f since the double class and
 1271 	float class are no longer the same.
 1272 	(cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
 1273 	divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
 1274 	ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
 1275 	Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
 1276 	fixed.
 1277 	(cmpsi, cmphi, cmpqi): Use general_operand instead of
 1278 	non_immediate_operand. Removes erroneous assumption that can't
 1279 	compare constants.
 1280 	(movsf, movsi, movhi, movqi,...): New register numbering scheme.
 1281 	(movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
 1282 	constants.
 1283 	(movstrsi, movstrsi1, movstrsi2): Completely new block move
 1284 	scheme.
 1285 	(...): Patterns to exploit multiply-add instructions.
 1286 	(udivmodsi4, udivmodsi_internal4, udivmodhi4,
 1287 	udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New
 1288 	patterns to exploit extended divide insns.
 1289 	(udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi
 1290 	etc patterns.
 1291 
 1292 	* ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
 1293 	float return values as well as simple scalar floats.
 1294 	(TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
 1295 	Support new flag to denote 32381 fpu.
 1296 	(OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
 1297 	(CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not
 1298 	compiling for 32381.
 1299 	(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
 1300 	REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
 1301 	REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
 1302 	L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
 1303 	LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
 1304 	REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
 1305 	REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
 1306 	REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
 1307 	REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381
 1308 	fpu registers and special register classes for new 32381
 1309 	instructions dotf and polyf.
 1310 	(MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
 1311 	be tieable.
 1312 	(INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
 1313 	INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
 1314 	required.
 1315 	(SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option.
 1316 	(MOVE_RATIO): Set to zero because of smart movstrsi implementation.
 1317 	(REGISTER_MOVE_COST): Move code to register_move_cost function for
 1318 	ease of coding and debugging.
 1319 	(CLASS_LIKELY_SPILLED_P): Under new register scheme class
 1320 	LONG_FLOAT_REGO is likely spilled but not caught by default
 1321 	definition.
 1322 	(CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro
 1323 	instead of hard coded numbers in range check.
 1324 	(ASM_OUTPUT_LABELREF_AS_INT): Delete since unused.
 1325 	(...): Add prototypes for functions in ns32k.c but disable because
 1326 	of problems when ns32k.h is included in machine independent files.
 1327 
 1328 	* ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h".
 1329 	(ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
 1330 	hard_regno_mode_ok, secondary_reload_class,
 1331 	print_operand, print_operand_address): New register scheme to
 1332 	include 32381 fpu registers and special register classes for new
 1333 	32381 instructions dotf and polyf.
 1334 	(gen_indexed_expr): Make static to keep namespace clean.
 1335 	(check_reg): Remove since never called.
 1336 	(move_tail, expand_block_move): Helper functions for "movstrsi"
 1337 	block move insn.
 1338 	(register_move_cost): Helper function for REGISTER_MOVE_COST macro.
 1339 	Increase cost of moves which go via memory.
 1340 	* netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
 1341 	(CPP_PREDEFINES): No longer predefine "unix".
 1342 
 1343 	* ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
 1344 	Remove erroneous %$. print_operand() can work out from the rtx is
 1345 	an immediate prefix is required.
 1346 
 1347 	* ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
 1348 	VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
 1349 	SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
 1350 	convention.
 1351 	(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
 1352 	pic operands.
 1353 
 1354 	* ns32k.c (symbolic_reference_mentioned_p, print_operand):
 1355 	Correct handling of pic operands.
 1356 	(ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
 1357 	ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
 1358 	-mrtd calling convention.
 1359 
 1360 Wed Nov 25 23:42:20 1998  Tom Tromey  <tromey@cygnus.com>
 1361 
 1362 	* gcc.c (option_map): Recognize --output-class-directory.
 1363 
 1364 Thu Nov 26 18:26:21 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1365 
 1366 	* loop.h (precondition_loop_p): Added new mode argument.
 1367 	* unroll.c (precondition_loop_p): Likewise.
 1368 	(approx_final_value): Function deleted and subsumed
 1369 	into loop_iterations.
 1370 	(loop_find_equiv_value): New function.
 1371 	(loop_iterations): Use loop_find_equiv_value to find increments
 1372 	too large to be immediate constants.  Also use it to find terms
 1373 	common to initial and final iteration values that can be removed.
 1374 
 1375 Thu Nov 26 18:05:04 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1376 
 1377 	* loop.h (struct loop_info): Define new structure.
 1378 	(precondition_loop_p): Added prototype.
 1379 	(unroll_loop): Added new argument loop_info to prototype.
 1380 	(final_biv_value, final_giv_value): Added new argument n_iterations
 1381 	to prototype.
 1382 	* loop.c (strength_reduce): Declare new structure loop_iteration_info
 1383 	and new pointer loop_info.
 1384 	(loop_n_iterations): Replace global variable by element in
 1385 	loop_info structure.
 1386 	(check_final_value): New argument n_iterations.
 1387 	(insert_bct): New argument loop_info.
 1388 	(loop_unroll_factor): Replace global array by element in
 1389 	loop_info structure.
 1390 	(loop_optimize): Remove code to allocate and initialize
 1391 	loop_unroll_factor_array.
 1392 	* unroll.c (precondition_loop_p): No longer static since
 1393 	used by branch on count optimization.
 1394 	(precondition_loop_p, unroll_loop): New argument loop_info.
 1395 	(final_biv_value, final_giv_value, find_splittable_regs): New
 1396 	argument n_iterations.
 1397 	(loop_iteration_var, loop_initial_value, loop_increment,
 1398 	loop_final_value, loop_comparison_code, loop_unroll_factor):
 1399 	Replaced global variables by loop_info structure.
 1400 	(loop_unroll_factor): Replace global array by element in
 1401 	loop_info structure.
 1402 
 1403 Thu Nov 26 17:49:29 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1404 
 1405 	* loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
 1406 	when loop reversed.
 1407 
 1408 	* unroll.c (precondition_loop_p): Return loop_initial_value
 1409 	for initial_value instead of loop_iteration_var.
 1410 
 1411 Thu Nov 26 17:15:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1412 
 1413 	* config/c4x/c4x.md: Fix minor formatting problems.  Update docs.
 1414 	(*b, *b_rev, *b_noov, *b_noov_rev, *db,
 1415 	decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
 1416 	to output the instruction sequences.
 1417 	(rpts): Delete.
 1418 	(rptb_top): Provide alternatives to use any register or memory
 1419 	for loop counter.
 1420 	(rptb_end): Emit use of operands rather than assigning them
 1421 	explicitly to the RS and RE registers.
 1422 
 1423 Thu Nov 26 16:37:59 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1424 
 1425 	* config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
 1426 	c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
 1427 	c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
 1428 	c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
 1429 	c4x_merge_notes, c4x_parallel_process,
 1430 	c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
 1431 	c4x_combine_parallel): Delete.
 1432 
 1433 Thu Nov 26 15:16:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1434 
 1435 	* config/c4x/c4x.c (c4x_override_options): For compatibility
 1436 	with old target options clear flag_branch_on_count_reg if
 1437 	-mno-rptb specified and set flag_argument_alias is -mno-aliases
 1438 	specified.
 1439 	(c4x_output_cbranch): Handle a sequence of insns rather than a
 1440 	single insn.
 1441 	(c4x_rptb_insert): Do not emit a RPTB insn if the RC register
 1442 	has not been allocated as the loop counter.
 1443 	(c4x_address_conflict): Do not allow two volatile memory references.
 1444 	(valid_parallel_operands_4, valid_parallel_operands_5,
 1445 	valid_parallel_operands_6): Reject pattern if the register destination
 1446 	of the first set is used as part of an address in the second set.
 1447 
 1448 Thu Nov 26 14:56:32 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1449 
 1450 	* config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
 1451 	(TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
 1452 	is no longer enabled if PARALLEL_MPY_FLAG set.
 1453 	(HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
 1454 	(REG_CLASS_CONTENTS): Add braces around initializers.
 1455 	(HAVE_MULTIPLE_PACK): Define.
 1456 	(ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
 1457 	REAL_VALUE_TO_DECIMAL.
 1458 	(ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
 1459 	REAL_VALUE_TO_DECIMAL.
 1460 	(ar0_reg_operand): Add prototype.
 1461 	(ar0_mem_operand): Likewise.
 1462 	(ar1_reg_operand): Likewise.
 1463 	(ar1_mem_operand): Likewise.
 1464 	(ar2_reg_operand): Likewise.
 1465 	(ar2_mem_operand): Likewise.
 1466 	(ar3_reg_operand): Likewise.
 1467 	(ar3_mem_operand): Likewise.
 1468 	(ar4_reg_operand): Likewise.
 1469 	(ar4_mem_operand): Likewise.
 1470 	(ar5_reg_operand): Likewise.
 1471 	(ar5_mem_operand): Likewise.
 1472 	(ar6_reg_operand): Likewise.
 1473 	(ar6_mem_operand): Likewise.
 1474 	(ar7_reg_operand): Likewise.
 1475 	(ar7_mem_operand): Likewise.
 1476 	(ir0_reg_operand): Likewise.
 1477 	(ir0_mem_operand): Likewise.
 1478 	(ir1_reg_operand): Likewise.
 1479 	(ir1_mem_operand): Likewise.
 1480 	(group1_reg_operand): Likewise.
 1481 	(group1_mem_operand): Likewise.
 1482 	(ir1_reg_operand): Likewise.
 1483 	(arx_reg_operand): Likewise.
 1484 	(not_rc_reg): Likewise.
 1485 	(not_modify_reg): Likewise.
 1486 	(c4x_group1_reg_operand): Remove prototype.
 1487 	(c4x_group1_mem_operand): Likewise.
 1488 	(c4x_arx_reg_operand): Likewise.
 1489 
 1490 Wed Nov 25 19:02:55 1998  (Stephen L Moshier)  <moshier@world.std.com>
 1491 
 1492 	* emit-rtl.c (gen_lowpart_common): Remove earlier change.
 1493 	* real.c (make_nan): Make SIGN arg actually specify the sign bit.
 1494 
 1495 Thu Nov 26 14:12:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 1496 
 1497 	* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
 1498 	during reload.
 1499 
 1500 Wed Nov 25 22:05:28 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 1501 
 1502 	* config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
 1503 	unless FMOVD_WORKS is defined.
 1504 
 1505 Wed Nov 25 20:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 1506 
 1507 	* regclass.c (init_reg_sets): Move code that calculates tables
 1508 	dependent on reg_class_contents from here...
 1509 	(init_reg_sets_1): To here.
 1510 
 1511 Wed Nov 25 14:54:46 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 1512 
 1513 	* cpplib.h: Delete struct import_file.  Add ihash element to
 1514 	struct cpp_buffer.  Delete dont_repeat_files and
 1515 	import_hash_table elements from cpp_reader; change
 1516 	all_include_files to a hash table.  Delete all foobar_include
 1517 	/ last_foobar_include elements from struct cpp_options; put
 1518 	back four such: quote_include, bracket_include,
 1519 	system_include, after_include.  Redo struct file_name_list
 1520 	completely.  Add new structure type include_hash.  Add
 1521 	prototypes for merge_include_chains and include_hash.  Change
 1522 	prototypes for finclude, find_include_file, and
 1523 	append_include_chain to match changes below.
 1524 
 1525 	* cppfiles.c (simplify_pathname, include_hash,
 1526 	remap_filename, merge_include_chains): New functions.
 1527 	(add_import, lookup_import, open_include_file): Removed.
 1528 	(INO_T_EQ): Define this (copied from cccp.c).
 1529 	(hack_vms_include_specification): Remove all calls and #if 0
 1530 	out the definition.  It was being called incorrectly and at
 1531 	the wrong times.  Until a VMSie can look at this, it's better
 1532 	to not pretend to support it.
 1533 	(append_include_chain): Change calling convention; now takes
 1534 	only one directory at a time, and sets up the data structure
 1535 	itself.
 1536 	(redundant_include_p): Rewritten - this is now used for all
 1537 	include redundancy, whether by #ifndef, #import, or #pragma
 1538 	once.  Looks up things in the include hash table.
 1539 	(file_cleanup): Decrement pfile->system_include_depth here if
 1540 	it's >0.
 1541 	(find_include_file): Calling convention changed; now passes
 1542 	around a struct include_hash instead of 3 separate parameters.
 1543 	Guts ripped out and replaced with new include_hash mechanism.
 1544 	(finclude): Calling convention changed as for
 1545 	find_include_file.  Error exits pulled out-of-line.  Reformat.
 1546 	(safe_read): Return a long, not an int.
 1547 	(deps_output): Don't recurse.
 1548 
 1549 	* cpplib.c (is_system_include): Deleted.
 1550 	(path_include): Fix up call to append_include_chain.
 1551 	(do_include): Fix up calls to find_include_file and finclude.
 1552 	Clean up dependency output a bit.  Shorten obnoxiously lengthy
 1553 	#import warning message.  Don't decrement
 1554 	pfile->system_include_depth here.
 1555 	(do_pragma): Understand the include_hash structure.  Reformat.
 1556 	(do_endif): Correct handling of control macros.  Understand
 1557 	the include_hash.
 1558 	(cpp_start_read): Fix up calls to finclude.  Call
 1559 	merge_include_chains.
 1560 	(cpp_handle_option): Fix up calls to append_include_chain.
 1561 	Understand the four partial include chains.
 1562 	(cpp_finish): Add debugging code (#if 0-ed out) for the
 1563 	include_hash.
 1564 	(cpp_cleanup): Free the include_hash, not the import hash and
 1565 	the all_include and dont_repeat lists which no longer exist.
 1566 
 1567 Wed Nov 25 11:26:19 1998  Jeffrey A Law  (law@cygnus.com)
 1568 
 1569 	* toplev.c (no_new_pseudos): Define.
 1570 	(rest_of_compilation): Set no_new_pseudos as needed.
 1571 	* emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
 1572 	if no_new_pseudos is set.
 1573 	* rtl.h (no_new_pseudos): Declare it.
 1574 	* reload1.c (reload): Update comments.
 1575 	* md.texi: Corresponding changes.
 1576 
 1577 Wed Nov 25 11:26:17 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 1578 
 1579 	* reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
 1580 	(choose_reload_regs): Rename it here as well.  When computing it,
 1581 	also merge in used hardregs.
 1582 
 1583 1998-11-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 1584 
 1585 	* gcc.c: Split out Objective-C specs to...
 1586 	* objc/lang-specs.h: here. (New file.) Make the specs cpplib
 1587 	aware.
 1588 
 1589 	* c-lex.c (init_parse): Always initialize the filename global.
 1590 	* objc/objc-act.c (lang_init): Always call check_newline at
 1591 	beginning of file.
 1592 
 1593 Wed Nov 25 00:48:29 1998  Graham  <grahams@rcp.co.uk>
 1594 
 1595 	* reload1.c (reload): Remove unused variable.
 1596 	(reload_reg_free_for_value_p): Add missing parameter definition.
 1597 
 1598 	* jump.c (jump_optimize): Remove unused variable.
 1599 
 1600 Wed Nov 25 00:07:11 1998  Jeffrey A Law  (law@cygnus.com)
 1601 
 1602 	* Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
 1603 
 1604 	* cse.c (fold_rtx): Make autoincrement addressing mode tests be
 1605 	runtime selectable.
 1606 	* expr.c (move_by_pieces): Similarly.
 1607 	(move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
 1608 	* flow.c (find_auto_inc): Similarly.
 1609 	(try_pre_increment): Similarly.
 1610 	* loop.c (strength_reduce): Similarly.
 1611 	* regclass.c (auto_inc_dec_reg_p): Similarly.
 1612 	* regmove.c (try_auto_increment): Similarly.
 1613 	(fixup_match_1): Similarly.
 1614 	* rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
 1615 	(HAVE_PRE_DECREMENT): Similarly.
 1616 	(HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
 1617 	* Corresponding changes to all target header files.
 1618 	* tm.texi: Update docs for autoinc addressing modes.
 1619 
 1620 Tue Nov 24 20:24:59 1998  Jim Wilson  <wilson@cygnus.com>
 1621 
 1622 	* configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
 1623 	* configure: Rebuild.
 1624 	* config/elfos.h: New file.
 1625 	* config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
 1626 	config/m68k/t-m68kelf: New file.
 1627 
 1628 Tue Nov 24 13:40:06 1998  Jeffrey A Law  (law@cygnus.com)
 1629 
 1630 	* Makefile.in (HOST_AR): Define.
 1631 	(HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
 1632 	(libcpp.a): Use the host tools explicitly.
 1633 	(STAGESTUFF): Add libcpp.a.
 1634 
 1635 Tue Nov 24 09:33:49 1998  Nick Clifton  <nickc@cygnus.com>
 1636 
 1637 	* config/m32r/m32r.md (movstrsi_internal): Describe changes made
 1638 	to source and destination registers.
 1639 
 1640 Mon Nov 23 20:28:02 1998  Mike Stump  <mrs@wrs.com>
 1641 
 1642 	* libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
 1643 	The strategy we now use is to pre allocate the top_elt along
 1644 	with the EH context so that each thread has its own top_elt.
 1645 	This is necessary as the dynamic cleanup chain is used on the
 1646 	top element of the stack and each thread MUST have its own.
 1647 	(eh_context_static): Likewise.
 1648 	(new_eh_context): Likewise.
 1649 	(__sjthrow): Likewise.
 1650 
 1651 Mon Nov 23 20:25:03 1998  Jason Merrill  <jason@yorick.cygnus.com>
 1652 
 1653 	* i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
 1654 	* i386.md (prologue_get_pc): Remove unused variable.
 1655 
 1656 Mon Nov 23 17:05:40 1998  Geoffrey Noer  <noer@cygnus.com>
 1657 
 1658 	* i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
 1659 
 1660 Mon Nov 23 16:40:00 1998  Ulrich Drepper  <drepper@cygnus.com>
 1661 
 1662 	* Makefile.in (OBJS): Add graph.o.
 1663 	(graph.o): New dependency list.
 1664 	* flags.h: Declare dump_for_graph and define graph_dump_types type.
 1665 	* print-rtl.c (dump_for_graph): Define new variable.
 1666 	(print_rtx): Rewrite to allow use in graph dumping functions.
 1667 	* toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
 1668 	finish_graph_dump_file.
 1669 	Define graph_dump_format.
 1670 	(compile_file): If graph dumping is enabled also clear these files.
 1671 	Finish graph dump files.
 1672 	(rest_of_compilation): Also dump graph information if enabled.
 1673 	(main): Recognize -dv to enabled VCG based graph dumping.
 1674 	* graph.c: New file.  Graph dumping functions.
 1675 
 1676 Mon Nov 23 16:39:04 1998  Richard Henderson  <rth@cygnus.com>
 1677 
 1678 	* configure.in: Look for <sys/stat.h>.
 1679 	* system.h: Include it before substitute S_ISREG definitions.
 1680 
 1681 Mon Nov 23 17:40:37 1998  Gavin Romig-Koch  <gavin@cygnus.com>
 1682 
 1683 	* config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
 1684 	* config/mips/iris6.h: Same.
 1685 	* config/mips/mips.md: Same.
 1686 	* config/mips/mips.c: Same; also add "-mabi=o64" option.
 1687 	* config/mips/mips.h: Same; also define ABI_O64.
 1688 
 1689 Mon Nov 23 17:02:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 1690 
 1691 	*  configure.in: Use AC_PREREQ(2.12.1).
 1692 
 1693 Mon Nov 23 10:16:38 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
 1694 
 1695 	* cccp.c (S_ISREG, S_ISDIR): Delete defines.
 1696 	* cpplib.c, gcc.c: Likewise.
 1697 	* system.h (S_ISREG, S_ISDIR): Define if not already defined.
 1698 
 1699 Mon Nov 23 09:53:44 1998  Richard Henderson  <rth@cygnus.com>
 1700 
 1701 	* local-alloc.c (local_alloc): Use malloc not alloca for
 1702 	reg_qty, reg_offset, ref_next_in_qty.
 1703 
 1704 Mon Nov 23 16:46:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 1705 
 1706 	* caller-save.c (insert_one_insn): Initialize the live_before and
 1707 	live_after register sets.
 1708 
 1709 	Add SH4 support:
 1710 
 1711 	* config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
 1712 	(___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
 1713 	* sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
 1714 	(fp_reg_names, assembler_dialect): New variables.
 1715 	(print_operand_address): Handle SUBREGs.
 1716 	(print_operand): Added 'o' case.
 1717 	Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
 1718 	Name of FP registers depends on mode.
 1719 	(expand_block_move): Emit different code for SH4 hardware.
 1720 	(prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
 1721 	(from_compare): Likewise.
 1722 	(add_constant): New argument last_value.  Changed all callers.
 1723 	(find_barrier): Don't try HImode load for FPUL_REG.
 1724 	(machine_dependent_reorg): Likewise.
 1725 	(sfunc_uses_reg): A CLOBBER cannot be the address register use.
 1726 	(gen_far_branch): Emit a barrier after the new jump.
 1727 	(barrier_align): Don't trust instruction lengths before
 1728 	fixing up pcloads.
 1729 	(machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
 1730 	Use auto-inc addressing for fp registers if doubles need to
 1731 	be loaded in two steps.
 1732 	Set sh_flag_remove_dead_before_cse.
 1733 	(push): Support for TARGET_FMOVD.  Use gen_push_fpul for fpul.
 1734 	(pop): Support for TARGET_FMOVD.  Use gen_pop_fpul for fpul.
 1735 	(calc_live_regs): Support for TARGET_FMOVD.  Don't save FPSCR.
 1736 	Support for FIRST_XD_REG .. LAST_XD_REG.
 1737 	(sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
 1738 	(sh_expand_epilogue): Likewise.
 1739 	(sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
 1740 	(initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
 1741 	(arith_reg_operand): FPUL_REG is OK for SH4.
 1742 	(fp_arith_reg_operand, fp_extended_operand): New functions.
 1743 	(tertiary_reload_operand, fpscr_operand): Likewise.
 1744 	(commutative_float_operator, noncommutative_float_operator): Likewise.
 1745 	(binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
 1746 	(emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
 1747 	(expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
 1748 	(emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
 1749 	* sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
 1750 	(CONDITIONAL_REGISTER_USAGE): Likewise.
 1751 	(HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
 1752 	(TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
 1753 	(TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
 1754 	(target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
 1755 	(OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
 1756