OSDN Git Service

* reload1.c (choose_reload_regs): Don't set reload_override_in
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Tue Jul  7 23:03:34 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2
3         * reload1.c (choose_reload_regs): Don't set reload_override_in
4         if EQUIV is clobbered in INSN and the reload is done after INSN.
5
6 Tue Jul  7 21:23:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7
8         * expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
9         to the first insn of the sequence.
10
11 Tue Jul  7 21:05:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
12
13         * cse (cse_insn): Don't make change without validation.
14
15 Tue Jul  7 11:40:05 1998  Jeffrey A Law  (law@cygnus.com)
16
17         * mn10200.md (various zero/sign extension patterns): zero and sign
18         extensions which use "sub" clobber cc0.
19
20 Tue Jul 7 09:12:08 PDT 1998 Jeff Law  (law@cygnus.com)
21
22         * version.c: Bump for snapshot.
23
24 Tue Jul  7 10:07:20 1998  Jeffrey A Law  (law@cygnus.com)
25
26         * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
27
28 Tue Jul  7 08:41:27 1998  Richard Henderson  (rth@cygnus.com)
29
30         * print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
31         is a double.
32
33 Tue Jul 7 00:31:58 PDT 1998 Jeff Law  (law@cygnus.com)
34
35         * version.c: Bump for snapshot.
36
37 Tue Jul  7 01:03:03 1998  Mumit Khan <khan@xraylith.wisc.edu>
38
39         Support for dllimport and dllexport attributes for i386-pe.
40
41         * tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
42         (struct tree_decl): Add non_addr_const_p field.
43         * tree.c (staticp): Use.
44
45         * i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
46         attributes.
47         (SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
48         attributes. Also accept -mwindows option.
49         (VALID_MACHINE_DECL_ATTRIBUTE): New macro.
50         (MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
51         (REDO_SECTION_INFO_P): New macro.
52         (DRECTVE_SECTION_FUNCTION): New macro.
53         (drectve_section): Cover function to implement above.
54         (SWITCH_TO_SECTION_FUNCTION): New macro.
55         (switch_to_section): Covert function to implement above.
56         (EXTRA_SECTIONS): Add in_drectve.
57         (EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
58         (ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
59         (STRIP_NAME_ENCODING): Handle new attributes.
60         (ASM_OUTPUT_LABELREF): New macro.
61         (ASM_OUTPUT_FUNCTION_NAME): New macro.
62         (ASM_OUTPUT_COMMON): New macro.
63         (ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
64
65         * i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
66         attributes.
67
68         * i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
69         (i386_pe_merge_decl_attributes): New function.
70         (i386_pe_check_vtable_importexport): New function.
71         (i386_pe_dllexport_p): New function.
72         (i386_pe_dllimport_p): New function.
73         (i386_pe_dllexport_name_p): New function.
74         (i386_pe_dllimport_name_p): New function.
75         (i386_pe_mark_dllexport): New function.
76         (i386_pe_mark_dllimport): New function.
77         (i386_pe_encode_section_info): New function.
78         (i386_pe_unique_section): Strip encoding from name first.
79
80 Tue Jul  7 00:50:17 1998  Manfred Hollstein   (manfred@s-direktnet.de)
81
82         * libgcc2.c (L_exit): Provide a fake for atexit on systems which
83         define ON_EXIT but not HAVE_ATEXIT.
84
85 Tue Jul  7 00:44:35 1998  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
86
87         * m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
88
89 Tue Jul  7 00:36:41 1998  Ulrich Drepper <drepper@cygnus.com>
90
91         * i386.c: Remove random whitespace at end of lines.
92
93         * i386.c (ix86_epilogue): For pentium processors, try to deallocate
94         4 or 8 byte stacks with pop instructions instead of an add instruction.
95
96 Tue Jul  7 00:30:08 1998  Klaus Kaempf <kkaempf@rmi.de>
97
98         * alpha.c: Include tree.h before expr.h.
99
100 Mon Jul  6 22:50:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
101
102         * c-parse.in (struct_head, union_head, enum_head): New nonterminals.
103         (structsp): Use them.  Update files generated from c-parse.in.
104         * extend.texi (Type Attributes): Document it.
105
106         * c-decl.c: Add warn_multichar.
107         (c_decode_option): Handle -Wno-multichar.
108         * c-lex.c (yylex): Check it.
109         * c-tree.h: Declare it.
110         * toplev.c (lang_options): Add it.
111         * invoke.texi: Document it.
112
113 Mon Jul  6 22:47:55 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
114
115         * reload.c (find_equiv_reg): When looking for stack pointer + const,
116         make sure we don't use a stack adjust.
117
118         * reload.c (find_equiv_reg): If need_stable_sp is set,
119         check if stack pointer is changed directly.
120
121         * reload1.c (delete_dead_insn): Don't delete feeding insn
122         if that insn has side effects.
123
124         * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
125         changed.
126
127         * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
128         precedes RELOAD_FOR_OUTADDR_ADDRESS.
129
130         * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK.  Changed
131         caller.
132
133 Mon Jul  6 22:21:56 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
134
135         * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
136         testing address registers on the 68000.
137
138 Mon Jul  6 22:17:19 1998  Alasdair Baird        <alasdair@wildcat.demon.co.uk>
139
140         * i386.c (is_fp_test): Fix thinko.
141
142         * jump.c (jump_optimize) Check for CONST_INT before using INTVAL.
143
144 Mon Jul  6 22:14:31 1998  Richard Henderson  (rth@cygnus.com)
145
146         * print-rtl.c (print_rtx): Display the real-value equivalent of
147         a const_double when easy.
148
149         * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
150         Zero memory first for predictability.
151         (REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
152         * varasm.c (immed_real_const_1): Notice width of H_W_I == double.
153
154         * regclass.c (allocate_reg_info): Initialize the entire reg_data
155         virtual array.
156
157 Mon Jul  6 22:09:32 1998  Ian Lance Taylor  <ian@cygnus.com>
158                           Jeff Law          <law@cygnus.com>
159
160
161         * i386/cygwin32.h: Add some declaration of external functions.
162         (ASM_DECLARE_FUNCTION_NAME): Define.
163         (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
164         (ASM_FILE_END): Define.
165         * i386/winnt.c (i386_pe_declare_function_type): New function.
166         (struct extern_list, extern_head): Define.
167         (i386_pe_record_external_function): New function.
168         (i386_pe_asm_file_end): New function.
169
170         * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
171         matching July 18, 1995 change to cccp.c.  If -traditional then
172         disable cplusplus_comments.
173
174 Mon Jul  6 21:28:14 1998  Jeffrey A Law  (law@cygnus.com)
175
176         * combine.c (expand_compound_operation): Fix thinko in code to optimize
177         (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
178
179         * Disable the following change from gcc2.  Not appropriate for egcs:
180
181         Sun Jun  7 09:30:31 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
182         * reload.c (find_reloads): Give preference to pseudo that was the
183         reloaded output of previous insn.
184
185 Mon Jul  6 21:07:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
186
187         * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
188         Instead, define a new macro HAVE_PRINTF_PTR which only signifies
189         whether we have the %p format specifier or not.
190
191         * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
192         
193         * machmode.h (HOST_PTR_PRINTF): When determining the definition,
194         check HAVE_PRINTF_PTR to see whether "%p" is okay.
195
196         * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
197
198         * Makefile.in (mips-tfile.o): Depend on machmode.h.
199
200 Mon Jul  6 10:42:05 1998  Mark Mitchell  <mark@markmitchell.com>
201
202         * jump.c (duplicate_loop_exit_test): Don't refuse to copy a
203         section of code just because it contains
204         NOTE_INSN_BLOCK_{BEG,END}.
205         * stmt.c (expand_end_loop): Likewise.  Also, don't refuse to 
206         move CALL_INSNs or CODE_LABELs.  When moving code, don't move
207         NOTE_INSN_BLOCK_{BEG,END}.
208
209 Mon Jul  6 09:38:15 1998  Mark Mitchell  <mark@markmitchell.com>
210
211         * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but 
212         dealing with ADDRESSOF.
213         (find_best_addr): Use it. 
214
215 Mon Jul  6 09:27:08 1998  Richard Henderson  <rth@cygnus.com>
216
217         * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
218
219 Mon Jul  6 09:25:06 1998  Dave Love  <d.love@dl.ac.uk>
220
221         * libgcc2.c (__eprintf): Make args consistent with prototype in
222         assert.h.
223
224 Mon Jul  6 00:28:43 1998  Mark Mitchell  <mark@markmitchell.com>
225
226         * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
227         don't claim that the former is equivalent to the latter.
228
229 Sun Jul  5 23:58:19 1998  Jeffrey A Law  (law@cygnus.com)
230
231         * cse.c (cse_insn): Second arg is an RTX now.  Update all callers.
232         (cse_basic_block): Keep track of the current RETVAL insn for a
233         libcall instead of just noting that we're in a libcall.
234
235         * combine.c (simplify_comparison): Do not commute a AND into
236         a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
237
238         * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
239         HAVE_GAS_MAX_SKIP_P2ALIGN.
240         * i386/linux.h: Likewise.
241         
242 Fri Jul  3 02:33:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
243
244         * sparc.c (sparc_operand, move_operand, arith_operand,
245         arith11_operand, arith10_operand, arith_double_operand,
246         arith11_double_operand, arith10_double_operand, small_int,
247         uns_small_int): Recognize CONSTANT_P_RTX.
248         (output_sized_memop, output_move_with_extension,
249         output_load_address, output_size_for_block_move,
250         output_block_move, delay_operand): Remove, has not been
251         enabled or referenced for years.
252         * sparc.md (movstrsi, block_move_insn): Likewise.
253         * sparc.h (PREDICATE_CODES): Define.
254         * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
255         version which uses getcc/setcc traps to save/restore condition
256         codes.
257         * linux64.h: Likewise.
258         * sunos4.h: Likewise.
259         * linux.h: Likewise.
260         * sol2.h: Likewise.
261         * sun4o3.h: Likewise.
262
263 Fri Jul  3 02:28:05 1998  Richard Henderson  <rth@cygnus.com>
264
265         * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
266         lossage on VMS.  Reported by kkaempf@rmi.de.
267         * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
268
269 Thu Jul  2 17:41:14 1998  Nick Clifton  <nickc@cygnus.com>
270
271         * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
272         version. 
273
274 Thu Jul  2 14:34:48 1998  David Edelsohn  <edelsohn@mhpcc.edu>
275
276         * expr.h (STACK_SIZE_MODE): New macro.
277         * explow.c (allocate_dynamic_stack_space): Use it for
278         mode of allocate_stack pattern increment operand.
279         * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
280         * md.texi (stack_save_block, ...): Reflect use of macro.
281
282         * rs6000.h (PROMOTE_MODE): Always promote to word_mode.
283         (PROMOTE_FUNCTION_ARGS): Define.
284         (PROMOTE_FUNCTION_RETURN): Define.
285         (FUNCTION_VALUE): Promote to word_mode if smaller.
286         Convert to gen_rtx_FOO.
287         * rs6000.md (call_indirect): Store doubleword in 64-bit mode.
288         Convert to gen_rtx_FOO.
289         * rs6000.c: Convert to gen_rtx_FOO.
290         
291 Thu Jul  2 14:16:11 1998  Michael Meissner  <meissner@cygnus.com>
292
293         * varray.{c,h}: New files to provide virtual array support.
294
295         * Makefile.in (OBJS): Add varray.o.
296         (varray.o): Add new file.
297         (REGS_H): New variable for dependencies for files including
298         regs.h.  Add varray.h and files it includes.  Change all regs.h
299         dependencies to $(REGS_H).
300
301         * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
302         (xcalloc): Provide frontend for calloc.
303         * {tree,rtl}.h (xcalloc): Add declaration.
304
305         * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
306         varray.
307
308         * regs.h (toplevel): Include varray.h.
309         (reg_n_info): Switch to use a varray.
310         (REG_*): Ditto.
311         (allocate_reg_info): Change num_regs argument to be size_t.
312
313         * regclass.c (reg_info_data): New structure to remember groups of
314         reg_info structures allocated that are to be zeroed.
315         ({pref,alt}class_buffer): New statics to hold buffers
316         allocate_reg_info allocates for {pref,alt}class_buffer.
317         (regclass): Use {pref,alt}class_buffer to initialize
318         {pref,alt}class.
319         (allocate_reg_info): Switch to make reg_n_info use varrays.
320         Allocate buffers for the preferred and alter register class
321         information.  Change num_regs argument to be size_t, not int.
322
323         * flow.c (reg_n_info): Switch to use varrays.
324
325 Thu Jul  2 10:11:47 1998  Robert Lipe  <robertl@dgii.com>
326
327         * install.texi (sco3.2v5): Document new --with-gnu-as flag.
328         * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
329         in other targets.
330         (USE_GAS): Conditionalize away native assembler usage.
331         * config/i386/sco5gas.h: New file.
332         * config/i386/t-sco5gas: New file.
333         * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
334
335 Thu Jul 2 08:20:00 1998  Catherine Moore  <clm@cygnus.com>
336
337         * haifa-sched.c (alloc_EXPR_LIST):  Change to use
338         unused_expr_list.
339
340 Thu Jul  2 14:13:28 1998  Dave Love  <d.love@dl.ac.uk>
341
342         * Makefile.in (install-info): Don't use $realfile.  Ignore
343         possible errors from the install-info program.
344
345 Thu Jul  2 01:53:32 1998  Alasdair Baird        <alasdair@wildcat.demon.co.uk>
346
347         * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
348
349 Wed Jul  1 23:06:03 1998  Richard Henderson  <rth@cygnus.com>
350
351         * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
352         (MODES_TIEABLE_P): Tie SImode and HImode.
353
354 1998-07-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
355
356         * invoke.texi (Optimize Options): Fix typo.
357
358 Wed Jul  1 22:25:43 1998  Jim Wilson  <wilson@cygnus.com>
359
360         * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
361         the zero'th block.
362
363 Wed Jul  1 23:12:58 1998  Ken Raeburn  <raeburn@cygnus.com>
364
365         * h8300.c (print_operand): Delete %L support.
366         * h8300.md (branch_true, branch_false): Use %= with a prefix
367         instead of %L for local branch labels.
368
369 Wed Jul  1 21:27:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
370
371         * reload1.c (emit_reload_insns): Use proper register classes for
372         SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
373
374 Wed Jul  1 21:17:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
375
376         * reload.c (find_reloads): If there are multiple
377         RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
378         one operand, change RELOAD_FOR_INPADDR_ADDRESS /
379         RELOAD_FOR_OUTADDR_ADDRESS for all but the first
380         RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
381
382 Wed Jul  1 17:23:23 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
383
384         * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
385         using its PATTERN.
386
387 Wed Jul  1 05:04:41 1998  Richard Henderson  <rth@cygnus.com>
388
389         * expr.c (emit_group_load, emit_group_store): Rewrite considering
390         the size and alignment of the structure being manipulated. 
391         * expr.c, calls.c, function.c: Update all callers.
392         * expr.h: Update prototypes.
393         * cse.c (invalidate): Cope with parallels.
394
395 Wed Jul  1 04:22:23 1998  Richard Henderson  <rth@cygnus.com>
396
397         * sparc.c (function_arg_record_value): Take a MODE arg with which to
398         create the PARALLEL.  Update all callers.
399
400 Wed Jul  1 04:10:35 1998  Richard Henderson  <rth@cygnus.com>
401
402         * expr.c (expand_assignment, store_constructor, expand_expr): Use
403         convert_memory_address instead of convert_to_mode when possible.
404
405 Wed Jul  1 03:48:00 1998  Richard Henderson  <rth@cygnus.com>
406
407         * alpha.c (alpha_initialize_trampoline): Take arguments describing
408         the layout.  Use ptr_mode.  Disable hint generation.  Use gen_imb.
409         * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
410         (TRANSFER_FROM_TRAMPOLINE): Move ...
411         * alpha/osf.h: ... here.
412         * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
413         (TRANSFER_FROM_TRAMPOLINE): Remove undef.
414         * alpha/win-nt.h: Likewise.
415         * alpha/vxworks.h: Likewise.
416
417         * alpha/linux.h: Revert gcc2 merge lossage.
418
419 Wed Jul  1 10:56:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
420
421         * c-decl.c (grokdeclarator): Don't warn about implicit int in
422         `typedef foo = bar'.
423
424 Wed Jul  1 02:12:33 1998  Robert Lipe  <robertl@dgii.com>
425
426         * i386.c (asm_output_function_prefix): Make 686 function
427         prologues not issue .types for non-global lables.
428
429 Tue Jun 30 23:46:53 1998  Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
430
431         * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
432         (WCHAR_TYPE_SIZE): Update appropriately.
433
434 Tue Jun 30 23:16:39 1998  Jeffrey A Law  (law@cygnus.com)
435
436         * flow.c (recompute_reg_usage): Does not return a value.
437         * rtl.h (recompute_reg_usage): Update prototype.
438
439         * jump.c (jump_optimize): Show that the jump chain is not
440         valid when not optimizing.
441
442 Tue Jun 30 16:01:01 1998  Richard Henderson  <rth@cygnus.com>
443
444         * rtl.def (CONSTANT_P_RTX): New.
445         * rtl.h (CONSTANT_P): Recognize it.
446         * cse.c (fold_rtx): Eliminate it.
447         * expr.c (can_handle_constant_p): New variable.
448         (init_expr_once): Initialize it.
449         (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
450         immediately recognizable as a constant.
451
452         * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
453         (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
454         (sext_add_operand, and_operand, or_operand): Likewise.
455         (reg_or_cint_operand, some_operand, input_operand): Likewise.
456         * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
457
458 1998-06-30  Benjamin Kosnik  <bkoz@bliss.nabi.net>
459
460         * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
461
462 Tue Jun 30 14:03:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
463
464         * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
465         argument, which is typically preprocessor code used to draw in
466         additional header files when looking for a function declaration.
467         (GCC_NEED_DECLARATIONS): Likewise.
468
469         * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
470         and setrlimit, search for them in sys/resource.h.
471
472         * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
473         NEED_DECLARATION_SETRLIMIT.
474
475         * system.h: Prototype getrlimit/setrlimit if necessary.
476
477 Tue Jun 30 10:54:48 1998  Mark Mitchell  <mark@markmitchell.com>
478
479         * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
480         upon.
481
482 Tue Jun 30 13:11:42 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
483
484         * rs6000/sysv4.h (asm output): add tabs for asm directives.
485
486 Tue Jun 30 13:11:42 1998  David Edelsohn <edelsohn@mhpcc.edu>
487
488         * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
489
490 Tue Jun 30 08:59:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
491
492         * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
493         Don't define NULL here.  Also, remove all vestiges of autoconf
494         based checks for bcmp/bcopy/bzero/index/rindex.
495
496         * system.h: Immediately after including stdio.h, check for and if
497         necessary provide a default definition of NULL.
498
499 Tue Jun 30 08:22:05 1998  Michael Meissner  <meissner@cygnus.com>
500
501         * reload1.c (reload_cse_simplify_operands): Call
502         fatal_insn_not_found, not abort.
503
504 Tue Jun 30 02:34:02 1998  Jeffrey A Law  (law@cygnus.com)
505
506         * choose-temp.c (make_temp_file): Accept new argument for the
507         file suffix to use.  Allocate space for it and add it to the
508         template.
509         * mkstemp.c (mkstemps): Renamed from mkstemp.  Accept new argument
510         for the length of the suffix.  Update template struture checks
511         to handle optinal suffix.
512         * collect2.c (make_temp_file): Update prototype.
513         (main): Put proper suffixes on temporary files.
514         * gcc.c (make_temp_file): Update prototype.
515         (do_spec_1): Put proper suffixes on temporary files.
516
517 Tue Jun 30 00:56:19 1998  Bruno Haible <haible@ilog.fr>
518
519         * invoke.texi: Document new implicit structure initialization
520         warning.
521
522 Mon Jun 29 22:12:06 1998  Jeffrey A Law  (law@cygnus.com)
523
524         * Merge from gcc2 June 9, 1998 snapshot.  See ChangeLog.13 for
525         details.
526
527         * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
528
529 Mon Jun 29 20:12:41 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
530
531         * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
532
533         * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
534         void since it is evaluated in a comma list.
535
536         * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
537         argument as a long and cast `NUM' to long to ensure it is of the
538         proper width.  Wrap macro arguments in parens when they appear in
539         the expansion.
540
541         * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
542
543         * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
544         (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
545         function argument return type.
546         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
547         REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
548
549         * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
550         cpp_message.
551
552         * dbxout.c: Fix the comments after an #endif to reflect the actual
553         condition tested in the preceding #if.
554
555         * except.c (find_all_handler_type_matches): Switch to old-style
556         function definition.
557
558         * expr.c (expand_builtin): Remove unused variable `type' twice.
559
560         * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
561         to an unsigned long.
562
563         * haifa-sched.c (print_insn_chain): Remove unused function.
564
565         * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
566         definition.
567
568         * toplev.c: When testing whether to include dbxout.h, also include
569         it when XCOFF_DEBUGGING_INFO is defined.
570
571         * unroll.c (unroll_loop): Add parentheses around assignment used
572         as truth value.
573
574 Mon Jun 29 12:18:00 1998  Catherine Moore  <clm@cygnus.com>
575
576         * config/lb1spc.asm (.div, .udiv): Replace routines.
577
578 Mon Jun 29 09:44:24 1998  Mark Mitchell  <mark@markmitchell.com>
579
580         * rtl.h: Update comment about special gen_rtx variants.
581         * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
582
583 Sun Jun 28 20:58:51 1998  Jeffrey A Law  (law@cygnus.com)
584
585         * choose-temp.c (choose_temp_base): Restore original variant of
586         this function for compatibility.
587         (make_temp_file): This is the new, preferred interface to create
588         temporary files.
589         * collect2.c (choose_temp_base): Delete declaration.
590         (make_temp_file): Declare.
591         (temp_filename_length, temp_filename): Delete.
592         (main): Use make_temp_file to get temporary files.  Use --lang-c
593         to force the resulting ctort/dtor file to be compiled with the C
594         compiler.  Make sure to remove temporary files on all exit paths.
595         * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
596         defined.
597         (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
598         not defined.
599         (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
600
601 Sun Jun 28 08:57:09 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
602
603         * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
604         getwd.
605
606         * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
607         NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD. 
608
609         * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
610         (my_strerror): Add prototype and make it static.
611
612         * collect2.c: Likewise.
613
614         * cpplib.c: Likewise.
615
616         * gcc.c: Likewise, but keep `my_strerror' extern.
617
618         * protoize.c: Likewise.
619
620         * pexecute.c (my_strerror): Add argument to prototype.
621
622         * system.h: Add prototypes for getcwd, getwd and strerror.  Add
623         extern decls for sys_nerr and sys_errlist.  Make abort decl
624         explicitly extern.
625
626         * getpwd.c: Remove decls for getwd and getcwd.
627
628 Sun Jun 28 02:11:16 PDT 1998 Jeff Law  (law@cygnus.com)
629
630         * version.c: Bump for snapshot.
631
632 Sat Jun 27 23:32:25 1998  Richard Henderson  <rth@cygnus.com>
633
634         * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
635         of rtx_unsafe_p.  Use modified_between_p instead of reg_set_between_p.
636         Allow FP moves to be optimized.
637         (rtx_unsafe_p): Delete.
638
639 Sat Jun 27 23:02:04 1998  Richard Henderson  <rth@cygnus.com>
640
641         * objc/archive.c: Remove <string.h> prototypes.
642
643 Sat Jun 27 22:37:05 1998  Jeffrey A Law  (law@cygnus.com)
644
645         * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
646
647         * Makefile.in (gencheck): Remove $(TREE_H) dependency.
648
649 Sat Jun 27 20:20:00 1998  John Carr  <jfc@mit.edu>
650
651         * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
652         * dsp16xx.c (next_cc_user_unsigned): New function.
653         Remove save_next_cc_user_code.
654         (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
655         * dsp16xx.md: Call next_cc_user_unsigned instead of using
656         save_next_cc_user_code.
657         Use gen_rtx_* functions instead of gen_rtx.
658
659 Sat Jun 27 20:18:34 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
660
661         * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
662
663 Sat Jun 27 16:45:42 1998  Jeffrey A Law  (law@cygnus.com)
664
665         * flow.c (count_reg_sets): New function.
666         (count_reg_sets_1, count_ref_references): Likewise.
667         (recompute_reg_usage): Likewise.
668         * rtl.h (recompute_reg_usage): Add prototype.
669         * toplev.c (rest_of_compilation): Call recompute_reg_usage just
670         before local register allocation.
671
672 Sat Jun 27 13:15:30 1998  Richard Henderson  <rth@cygnus.com>
673
674         * alpha.md (negsf, negdf): Revert Jan 22 change.
675
676 Sat Jun 27 07:35:21 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
677
678         * mkstemp.c: Include gansidecl.h.  Rename uint64_t to gcc_uint64_t.
679         (mkstemp): Remove size specifier for variable `letters'.  Call
680         gettimeofday, not __gettimeofday.
681
682         * Makefile.in (EXPR_H): New dependency variable.
683         (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
684         (c-iterate.o): Likewise.
685         (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
686         (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
687         (toplev.o): Likewise.  Also depend on $(RECOG_H) instead of recog.h.
688         (varasm.o): Depend on $(EXPR_H) instead of expr.h.
689         (function.o): Likewise.
690         (stmt.o): Likewise.
691         (except.o): Likewise.
692         (expr.o): Likewise.
693         (calls.o): Likewise.
694         (expmed.o): Likewise.
695         (explow.o): Likewise.
696         (optabs.o): Likewise.
697         (sdbout.o): Likewise.
698         (dwarf2out.o): Likewise.
699         (emit-rtl.o): Likewise.
700         (integrate.o): Likewise.
701         (jump.o): Likewise.
702         (cse.o): Likewise.
703         (gcse.o): Likewise.  Also depend on $(BASIC_BLOCK_H) instead of
704         basic-block.h.
705         (loop.o): Depend on $(EXPR_H) instead of expr.h.
706         (unroll.o): Likewise.
707         (combine.o): Likewise.
708         (reload.o): Likewise.
709         (reload1.o): Likewise.
710         (caller-save.o): Likewise.
711         (reorg.o): Likewise.
712         (alias.o): Don't depend on insn-codes.h.
713         (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
714         (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
715         (insn-opinit.o): Likewise.
716
717 Sat Jun 27 01:35:14 1998  Jeffrey A Law  (law@cygnus.com)
718
719         * choose-temp.c (choose_temp_base): Remove MPW bits.  Use mkstemp
720         instead of mktemp.
721         * gcc.c (MKTEMP_EACH_FILE): Define.
722         (main): No need to call choose_temp_base if we are going to
723         use choose_temp_base to create each file later.
724         * mkstemp.c: New file.  Adapted from glibc.
725         * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
726         (mkstemp.o): Add dependencies.
727
728         * configure.in (gettimeofday): Check for its existance.
729         * config.in (HAVE_GETTIMEOFDAY): Define.
730         * configure: Rebuilt.
731
732 1998-06-26  Michael Meissner  <meissner@cygnus.com>
733
734         * rs6000.md (ne 0, non power case): Add missing & constraint.
735         Name pattern ne0.
736         (negative abs insns): Add pattern names.
737
738 Fri Jun 26 17:36:42 1998  Dave Love  <d.love@dl.ac.uk>
739
740         * Makefile.in (install-info): Run install-info program in separate
741         loop.
742
743 Fri Jun 26 16:03:15 1998  Michael Meissner  <meissner@cygnus.com>
744
745         * haifa-sched.c (schedule_block): Add hooks for the machine
746         description to reorder the ready list, and update how many more
747         instructions can be issued this cycle.
748         * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
749         
750 Fri Jun 26 11:54:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
751
752         * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
753         Explicitly mark the constant being compared against as unsigned.
754         * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
755         Fully initialize final members.
756         (mem_aligned_8): Explicit init of offset to zero.
757         (output_function_prologue): Explicit init of n_regs to zero.
758         (output_function_epilogue): Likewise, and mark arg size as
759         unused.
760         (init_cumulative_args): Mark libname and indirect as unused.
761         (function_arg_pass_by_reference): Likewise for cum and named.
762         (sparc_builtin_saveregs): Likewise for arglist.
763         (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
764
765 Fri Jun 26 06:58:54 1998  Richard Earnshaw (rearnsha@arm.com)
766
767         * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
768         if reloading a MEM.
769
770         * arm.h (arm_adjust_cost): Renamed bogus prototype from 
771         arm_adjust_code.
772         (bad_signed_byte_operand): Add prototype.
773         * arm.c (arm_override_options): Make I unsigned.
774         (const_ok_for_arm): Add casts to the constants. 
775         (load_multiple_operation): Don't redeclare elt in sub-block.
776         (arm_gen_movstrqi): Delete external declaration of optimize.
777         (gen_compare_reg): Declare parameter fp.
778
779         * arm.c (final_prescan_insn): Only initialize scanbody if the insn
780         has a pattern.
781
782 Fri Jun 26 09:31:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
783
784         * alpha.c: Include system.h and toplev.h.
785         (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
786         (const48_operand): Likewise.
787         (mode_width_operand): Likewise.
788         (mode_mask_operand): Likewise.
789         (mul8_operand): Likewise.
790         (current_file_function_operand): Likewise.
791         (signed_comparison_operator): Likewise.
792         (divmod_operator): Likewise.
793         (any_memory_operand): Likewise.
794         (alpha_return_addr): Likewise for parameter `frame'.
795         (alpha_builtin_saveregs): Likewise for parameter `arglist'.
796         (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
797         `attributes'.
798         (alpha_start_function): Likewise for parameter `decl'.  Use
799         HOST_WIDE_INT_PRINT_DEC in call to fprintf.  Fix various format
800         specifiers.  Remove unused variables `lab' and `name'.
801         (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
802         (check_float_value): Likewise for parameter `overflow'.
803         (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
804         
805         * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
806         taking an argument.
807         (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
808         (ASM_OUTPUT_CHAR): Likewise.
809         (ASM_OUTPUT_BYTE): Likewise.
810         (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
811         fprintf.
812         (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
813         Add prototypes for functions in alpha.c.
814
815         * alpha.md (ashldi3): Add default case in switch.
816
817 1998-06-26  Manfred Hollstein  <manfred@s-direktnet.de>
818
819         * Makefile.in (gcc_version, gcc_version_trigger): New macros.
820         (version): Initialize from $(gcc_version).
821
822         * configure.in (version): Rename to gcc_version.
823         (gcc_version_trigger): New variable; call AC_SUBST for it and
824         emit it into the generated config.status.
825         * configure: Regenerate.
826
827 Thu Jun 25 12:47:41 1998  Mark Mitchell  <mark@markmitchell.com>
828
829         * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
830         nodes that are not expressions.
831
832 Thu Jun 25 15:08:16 1998  Mark Mitchell  <mark@markmitchell.com>
833
834         * invoke.texi (-fstrict-aliasing): Document.
835         * rtl.texi (MEM_ALIAS_SET): Document.
836
837         * flags.h (flag_strict_aliasing): Declare.
838         * toplev.c (flag_strict_aliasing): Define.
839         (f_options): Add -strict-aliasing.
840         (main): Set flag_strict_aliasing if -O2 or higher.
841
842         * tree.h (tree_type): Add alias_set field.
843         (TYPE_ALIAS_SET): New macro.
844         (TYPE_ALIAS_SET_KNOWN_P): Likewise.
845         (get_alias_set): Declare.
846         * tree.c (lang_get_alias_set): Define.
847         (make_node): Initialize TYPE_ALIAS_SET.
848         (get_alias_set): New function.
849         * print-tree.c (print_node): Dump the alias set for a type.
850
851         * c-tree.h (c_get_alias_set): Declare.
852         * c-common.c (c_get_alias_set): New function.
853         * c-decl.c (init_decl_processing): Set lang_get_alias_set.
854
855         * expr.c (protect_from_queue): Propogage alias sets.
856         (expand_assignment): Calculate alias set for new MEMs.
857         (expand_expr): Likewise.
858         * function.c (put_var_into_stack): Likewise.
859         (put_reg_into_stack): Likewise.
860         (gen_mem_addressof): Likewise.
861         (assign_parms): Likewise.
862         * stmt.c (expand_decl): Likewise.
863         * varasm.c (make_decl_rtl): Eliminate redundant clearing of
864         DECL_RTL.  Calculate alias set for new MEMs. 
865
866         * rtl.def (REG): Add dummy operand.
867         (MEM): Add extra operand to store the MEM_ALIAS_SET.
868         * rtl.h (MEM_ALIAS_SET): New macro.
869         (gen_rtx_MEM): Declare.
870         * emit-rtl.c (gen_rtx_MEM): New function.
871         * gengenrtl.c (sepcial_rtx): Make MEMs special.
872
873         * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
874         (DIFFERENT_ALIAS_SETS_P): Likewise.
875         (canon_rtx): Propogate the alias set to the new MEM.
876         (true_dependence): Check the alias sets.
877         (anti_dependence): Likewise.
878         (output_dependence): Likewise.
879         * explow.c (stabilize): Progoate alias sets.
880         * integrate.c (copy_rtx_and_substitute): Likewise.
881         * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
882         in an unpredictable state.  Propogate alias sets.
883         * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
884         we have no alias information.
885         
886 Thu Jun 25 16:59:18 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
887
888         * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
889         (find_all_handler_type_matches): Add function prototype.
890         * eh-common.h (CATCH_ALL_TYPE): Definition added.
891         * except.c (find_all_handler_type_matches): Add function to find all
892         runtime type info in the exception table.
893         (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
894
895 Thu Jun 25 15:47:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
896
897         * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
898
899         * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
900         `yhigh' and `bit' into the scope in which they are used.
901         (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
902         `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
903
904         * rs6000.c: Move include of output.h below tree.h.  Include toplev.h.
905         (any_operand): Mark unused parameters `op' and `mode' with
906         ATTRIBUTE_UNUSED. 
907         (count_register_operand): Likewise for parameter `mode'.
908         (fpmem_operand): Likewise.
909         (short_cint_operand): Likewise.
910         (u_short_cint_operand): Likewise.
911         (non_short_cint_operand): Likewise.
912         (got_operand): Likewise.
913         (got_no_const_operand): Likewise.
914         (non_add_cint_operand): Likewise.
915         (non_logical_cint_operand): Likewise.
916         (mask_operand): Likewise.
917         (current_file_function_operand): Likewise.
918         (small_data_operand): Likewise for parameters `op' and `mode' but
919         only when !TARGET_ELF.
920         (init_cumulative_args): Mark parameters `libname' with
921         ATTRIBUTE_UNUSED.
922         (function_arg_pass_by_reference): Likewise for parameters `cum',
923         `mode' and `named'.
924         (expand_builtin_saveregs): Likewise for parameter `args'.
925         (load_multiple_operation): Likewise for parameter `mode'.
926         (store_multiple_operation): Likewise.
927         (branch_comparison_operator): Likewise.
928         (secondary_reload_class): Likewise.
929         (print_operand): Add parentheses around & operation.
930         (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
931         (output_epilog): Likewise.  Cast argument to fprintf to int.
932         (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
933         (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
934         `attributes', `identifier' and `args'.
935         (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
936         (rs6000_comp_type_attributes): Likewise for parameters `type1' and
937         `type2'.
938         (rs6000_set_default_type_attributes): Likewise for parameter `type'.
939
940         * rs6000.h (RTX_COSTS): Add parentheses around & operation.
941         (toc_section, private_data_section, trap_comparison_operator): Add
942         prototypes.
943
944         * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
945         prototypes.
946
947         * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
948
949         * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
950         xcoffout_begin_block, xcoffout_end_epilogue,
951         xcoffout_end_function, xcoffout_end_block,
952         xcoff_output_standard_types, xcoffout_declare_function,
953         xcoffout_source_line): Add prototypes.
954
955 Thu Jun 25 09:54:55 1998  Nick Clifton  <nickc@cygnus.com>
956
957         * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
958         noticed by grahams@rcp.co.uk.
959
960 Thu Jun 25 11:12:29 1998  Dave Brolley  <brolley@cygnus.com>
961
962         * gcc.c (default_compilers): Use new | syntax to eliminate
963         string concatenation.
964
965 Thu Jun 25 01:00:48 1998  Richard Henderson  <rth@cygnus.com>
966
967         * alpha.c (alpha_function_name): Delete.
968         (alpha_ra_ever_killed): Notice current_function_is_thunk.
969         (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
970         (alpha_start_function): Reorg from output_prologue.
971         (alpha_end_function): Reorg from output_epilogue.
972         * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
973         (ASM_DECLARE_FUNCTION_SIZE): New.
974         (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
975         (PROFILE_BEFORE_PROLOGUE): Set.
976         (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
977         * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
978
979 Thu Jun 25 01:18:47 1998  John Wehle  (john@feith.com)
980
981         * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
982
983 1998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
984
985         * expr.c (expand_assignment): Rework address calculation for structure
986         field members to expose more invariant computations to the loop
987         optimizer.
988         (expand_expr): Likewise.
989
990 Wed Jun 24 22:44:22 1998  Jeffrey A Law  (law@cygnus.com)
991
992         * local-alloc.c (block_alloc): Do not try to avoid false dependencies
993         when SMALL_REGISTER_CLASSES is nonzero.
994
995 Wed Jun 24 17:55:15 1998  Klaus Kaempf  <kkaempf@progis.de>
996
997         * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
998
999 Wed Jun 24 16:27:23 1998  John Carr  <jfc@mit.edu>
1000
1001         * expr.c (get_memory_rtx): New function.
1002         (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
1003         string functions.
1004
1005         * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
1006
1007         * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
1008         * expr.c: Likewise.
1009         * explow.c: Likewise.
1010         * combine.c: Likewise.
1011         * reload1.c: Likewise.
1012         * gcse.c: Likewise.
1013
1014 Wed Jun 24 15:13:01 1998  Dave Brolley  <brolley@cygnus.com>
1015
1016         * README.gnat: Add patch for new lang_decode_options interface.
1017
1018 Wed Jun 24 09:14:04 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
1019
1020         * except.c (start_catch_handler): Do nothing if EH is not on.
1021
1022 1998-06-24  Manfred Hollstein  <manfred@s-direktnet.de>
1023
1024         * configure.in (gxx_include_dir): Initialize default value depending on
1025         new flag --enable-version-specific-runtime-libs; remove superfluous
1026         default initialization afterwards.
1027         * configure: Regenerate.
1028
1029 Wed Jun 24 01:32:12 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1030
1031         * toplev.c (rest_of_compilation): Revert May 15 change.
1032
1033 Tue Jun 23 21:27:27 1998  Ken Raeburn  <raeburn@cygnus.com>
1034
1035         * reload.c (find_reloads): Fix check for failure to match any
1036         alternative, to account for Mar 26 change in initial "best" cost.
1037
1038 Tue Jun 23 16:44:21 1998  Dave Brolley  <brolley@cygnus.com>
1039
1040         * cpplib.c (do_line): Typo broke #line directive.
1041         (cpp_message_from_errno): New function.
1042         (cpp_error_from_errno): Call cpp_message_from_errno.
1043         * cpplib.h (cpp_message_from_errno): New function.
1044
1045 Tue Jun 23 13:38:18 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
1046
1047         * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
1048         functions to return exception descriptor information.
1049         (find_exception_handler): Pass match_info field to runtime matcher,
1050         not a descriptor table entry.
1051
1052 Tue Jun 23 09:30:58 1998  Dave Love  <d.love@dl.ac.uk>
1053
1054         * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
1055         accompany previous Makefile.in (install-info) change.
1056
1057 Tue Jun 23 10:06:07 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
1058
1059         * eh-common.h (struct __eh_info): Remove coerced value field.
1060         * libgcc2.c (find_exception_handler): Don't set coerced_value field.
1061         * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use 
1062         POINTER_SIZE instead of Pmode.
1063         (expand_start_all_catch): Call start_catch_handler() if we are not
1064         using new style exceptions.
1065
1066 Tue Jun 23 06:45:00 1998  Catherine Moore  <clm@cygnus.com>
1067
1068         * varasm.c (assemble_variable): Remove reference to warn_bss_align.
1069
1070 Mon Jun 22 23:57:31 1998  David S. Miller <davem@pierdol.cobaltmicro.com>
1071
1072         * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
1073         extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
1074         subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
1075         splits and peepholes): Change remaining generic gen_rtx calls to
1076         specific genrtl ones.
1077         * config/sparc/sparc.c: Likewise.
1078         
1079 Mon Jun 22 22:21:46 1998  Richard Henderson  <rth@cygnus.com>
1080
1081         * gcc.c (handle_braces): Recognize | between options as an or.
1082
1083 Mon Jun 22 23:13:47 1998  John Wehle  (john@feith.com)
1084
1085         * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
1086         * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
1087
1088         * i386.md (exception_receiver): Define.
1089
1090 Mon Jun 22 12:01:48 1998  Jim Wilson  <wilson@cygnus.com>
1091
1092         * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
1093         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
1094         (install-common): Use them.
1095
1096         * gcse.c (add_label_notes): New function.
1097         (pre_insert_insn): Call it.
1098         * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
1099         pass the label to set_label_in_map.
1100
1101 Mon Jun 22 19:01:14 1998  Dave Love  <d.love@dl.ac.uk>
1102
1103         * Makefile.in (install-info): Fix typpo in previous change.
1104
1105 Mon Jun 22 11:10:00 1998  Catherine Moore  <clm@cygnus.com>
1106
1107         * varasm.c (assemble_variable):  Emit alignment warning.
1108
1109 Mon Jun 22 08:18:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1110
1111         * Makefile.in (varasm.o): Depend on sdbout.h.
1112         (sdbout.o): Depend on toplev.h.
1113
1114         * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
1115         use %ld specifier.
1116
1117         * final.c (shorten_branches): Cast first arg of `bzero' to char *.
1118
1119         * genextract.c (main): When creating insn-extract.c, mark variable
1120         `i' with ATTRIBUTE_UNUSED.
1121
1122         * genpeep.c (main): When creating insn-peep.c, mark variables
1123         `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
1124
1125         * objc/init.c (__objc_tree_print): Wrap function definition in
1126         macro `DEBUG'.
1127
1128         * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
1129         and use %ld specifier.
1130         (adorn_decl): Likewise, twice.
1131
1132         * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
1133
1134         * sdbout.c: Include output.h and toplev.h.
1135         (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
1136         `a'.  Cast `a' to HOST_WIDE_INT to force it to always be so.
1137         (PUT_SDB_SIZE): Likewise.
1138
1139         * sdbout.h (sdbout_mark_begin_function): Add prototype.
1140
1141         * stmt.c (check_for_full_enumeration_handling): Cast argument of
1142         `warning' to long and use %ld specifier.
1143
1144         * toplev.c (main): Likewise for `fprintf'.
1145
1146         * toplev.h (output_file_directive): Add prototype.
1147
1148         * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
1149         call to `fprintf'.
1150         (precondition_loop_p): Likewise.
1151
1152         * varasm.c Include sdbout.h.
1153         (assemble_static_space): Move sometimes-unused variable `rounded'
1154         into the scope in which it is used. 
1155         
1156         * mips.c (gpr_mode): Don't say `static' twice.
1157
1158         * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
1159
1160         * objc/objc-act.c (init_selector): Hide prototype and definition.
1161
1162         * optabs.c (gen_cond_trap): Remove unused variable `icode'.
1163         
1164         * regmove.c (copy_src_to_dest): Likewise for `i'.
1165
1166         * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
1167         (add_ext_symbol): Likewise.
1168         (add_file): Likewise.
1169         (parse_def): Likewise.
1170         (write_varray): Use HOST_PTR_PRINTF to print a pointer.  Fix
1171         remaining format specifiers and arguments.
1172         (write_object): Likewise, several times.
1173         (read_seek): Likewise.
1174         (out_of_bounds): Likewise.
1175         (allocate_cluster): Likewise.
1176         (xmalloc): Likewise.
1177         (xcalloc): Likewise.
1178         (xrealloc): Likewise.
1179         (xfree): Likewise.
1180
1181         * mips-tdump.c (print_symbol): Likewise.
1182         
1183 Sun Jun 21 17:05:34 1998  Dave Love  <d.love@dl.ac.uk>
1184
1185         * Makefile.in (install-info): Use install-info program if
1186         available, per GNU standard.
1187
1188 Sun Jun 21 18:56:44 1998  Jeffrey A Law  (law@cygnus.com)
1189
1190         * invoke.texi: Document -mrelax for the mn10300 and mn10200.
1191
1192         * basic-block.h (init_regset_vector): Delete declaration.
1193         * flow.c (init_regset_vector): Make it static and add a prototype.
1194
1195         * bitmap.h (debug_bitmap): Declare.
1196
1197         * haifa-sched.c (debug_ready_list): Make static.
1198
1199         * toplev.h (fancy_abort): Declare.
1200
1201 Sun Jun 21 18:30:13 1998  H.J. Lu  (hjl@gnu.org)
1202
1203         * basic-block.h (init_regset_vector): New declaration.
1204
1205         * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
1206
1207         * global.c: Include machmode.h amd move hard-reg-set.h before
1208         rtl.h.
1209
1210         * haifa-sched.c (insn_issue_delay, birthing_insn_p,
1211         adjust_priority, print_insn_chaino): New declaration.
1212         (schedule_insns): Remove declaration.
1213         (init_target_units, get_visual_tbl_length,
1214         init_block_visualization): Add prototype.
1215
1216         * integrate.c (pushdecl, poplevel): Remove declaration.
1217
1218         * rtl.h (expand_expr): Remove declaration.
1219
1220         * loop.c (oballoc): Remove declaration.
1221         (replace_call_address): Add prototype.
1222
1223 Sun Jun 21 01:08:17 PDT 1998 Jeff Law  (law@cygnus.com)
1224
1225         * version.c: Bump for snapshot.
1226
1227 Sun Jun 21 01:16:38 1998  John Wehle  (john@feith.com)
1228
1229         * i386.c (output_fp_conditional_move): Don't bother handling
1230         (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
1231         prevent this from happening.
1232
1233         * i386.md (nonlocal_goto_receiver): Delete.
1234
1235 Sun Jun 21 00:42:20 1998  H.J. Lu  (hjl@gnu.org)
1236
1237         * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
1238         -DCRTSTUFFS_O.
1239         (INSTALL): cd $(srcdir) before make.
1240
1241         * flow.c (allocate_for_life_analysis, init_regset_vector):
1242         Remove declaration.
1243
1244         * function.h (get_first_block_beg): New declaration.
1245
1246         * gbl-ctors.h (__do_global_dtors): Add prototype.
1247
1248         * gcov-io.h (__fetch_long): New declaration.
1249         (__store_long): Likewise.
1250         (__read_long): Likewise.
1251         (__write_long): Likewise.
1252
1253         * gcov.c (print_usage): New declaration.
1254
1255         * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
1256
1257 Sat Jun 20 00:36:16 1998  Jeffrey A Law  (law@cygnus.com)
1258
1259         * calls.c (expand_call): Initialize "src" and "dest".
1260         * stmt.c (expand_return): Likewise.
1261         * expmed.c (extract_split_bit_field): Similarly for "result"
1262         * gcse.c (compute_hash_table): Mark first arg as unused.
1263         * jump.c (jump_optimize): Initialize reversep.
1264         * tree.c (make_node): Initialize length.
1265
1266         * c-common.c (check_format_info): Initialize length_char and
1267         fci to keep -Wall quiet.
1268
1269         * except.c (jumpif_rtx): Put declaration and definition
1270         inside a suitable #ifdef.
1271         (jumpifnot_rtx): Delete dead function.
1272
1273         * i386.h (output_int_conditional_move): Declare.
1274         (output_fp_conditional_move): Likewise.
1275         (ix86_can_use_return_insn_p): Likewise.
1276
1277         * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
1278
1279 Sat Jun 20 00:27:40 1998  Graham  <grahams@rcp.co.uk>
1280
1281         * alias.c: Include toplev.h
1282         * caller-save.c: Include toplev.h
1283         * combine.c: Include toplev.h
1284         * flow.c Include toplev.h
1285         * global.c: Include toplev.h
1286         * jump.c: Include toplev.h
1287         * local-alloc.c: Include toplev.h
1288         * loop.c: Include toplev.h
1289         * regmove.c: Include toplev.h
1290         * stupid.c: Include toplev.h
1291         * unroll.c: Include toplev.h
1292         * Makefile.in: Add toplev.h dependencies.
1293
1294 Fri Jun 19 22:40:25 1998  Jason Merrill  <jason@yorick.cygnus.com>
1295
1296         * regmove.c (copy_src_to_dest): Add decl for loop_depth.
1297
1298         * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
1299         * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
1300         Add parens to various macros.
1301
1302 Fri Jun 19 23:22:42 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
1303
1304         * c-typeck.c (pop_init_level): Warn about implicit zero initialization
1305         of struct members.
1306
1307 Fri Jun 19 23:06:33 1998  Jason Merrill  <jason@yorick.cygnus.com>
1308
1309         * varasm.c (assemble_start_function): Add weak_global_object_name.
1310         * tree.c (get_file_function_name): Use it.
1311
1312 Fri Jun 19 22:55:14 1998  Jeffrey A Law  (law@cygnus.com)
1313
1314         * except.c (jumpif_rtx): Make static and add prototype.
1315         (jumpifnot_rtx): Likewise.
1316
1317         * README.gnat: Add a build patch from Fred Fish.
1318
1319         * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
1320
1321         * Makefile.in (c-iterate.o): Depend on expr.h.
1322
1323 Fri Jun 19 20:38:34 1998  H.J. Lu  (hjl@gnu.org)
1324
1325         * except.h (emit_unwinder, end_eh_unwinder): Removed.
1326
1327         * dwarfout.c (getpwd): Add prototype.
1328         (is_pseudo_reg, type_main_variant, is_tagged_type,
1329         is_redundant_typedef): New declaration.
1330         (output_decl): Add prototype for FUNC.
1331         (type_main_variant): Make it static.
1332         (is_tagged_type): Likewise.
1333         (is_redundant_typedef): Likewise.
1334
1335         * expr.c (do_jump_by_parts_greater_rtx): Removed.
1336         (truthvalue_conversion): Likewise.
1337
1338         * c-iterate.c: Include "expr.h".
1339         (expand_expr): Use proper values when calling the function.
1340
1341         * explow.c (emit_stack_save): Add prototype for FCN.
1342         (emit_stack_restore): Likewise.
1343
1344         * dwarf2out.c (getpwd): Add prototype.
1345
1346         * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
1347
1348         * c-typeck.c (c_expand_asm_operands): Use proper values when calling
1349         expand_expr.
1350
1351         * c-lex.c (yyprint): Add prototype.
1352         (check_newline, build_objc_string): Remove declaration.
1353
1354         * c-tree.h (comptypes_record_hook): Removed.
1355         (finish_incomplete_decl): New prototype.
1356
1357         * alias.c (find_base_value): Add prototype.
1358         (true_dependence): Add prototype for function argument.
1359
1360         * c-aux-info.c (xmalloc): Remove declaration.
1361
1362 Fri Jun 19 20:23:05 1998   Robert Lipe  <robertl@dgii.com>
1363
1364         * i386.c: Include system.h.   Remove redundant includes.
1365         (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
1366         (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
1367         'identifier', 'args'.
1368         (i386_valid_type_attribute_p): Likewise for 'attributes'.
1369         (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
1370         (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
1371         and 'named'.
1372         (symbolic_operand): Likewise for 'mode'.
1373         (call_insn_operand): Likewise.
1374         (expander_call_insn_operand): Likewise.
1375         (ix86_logical_operator): Likewise.
1376         (ix86_binary_operator_ok): Likewise.
1377         (emit_pic_move): Likewise.
1378         (VOIDmode_compare_op): Likewise.
1379         (is_mul): Likewise.
1380         (str_immediate_operand): Likewise.
1381         (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
1382         (asm_output_function_prefix): Likewise for 'name'.
1383         (function_prologue): Likewise for 'file', and 'size'.
1384         (function_epilogue): Likewise.
1385
1386 1998-06-19  Jim Wilson  <wilson@cygnus.com>
1387
1388         * loop.h (struct induction): Clarify comment for unrolled field.
1389         * unroll.c (find_splittable_givs): Move set of unrolled field
1390         after address validity check.
1391
1392 Fri Jun 19 18:38:04 1998  Michael Meissner  <meissner@cygnus.com>
1393
1394         * config/fp-bit.c (INLINE): Only define if not already defined.
1395
1396 1998-06-19  Manfred Hollstein  <manfred@s-direktnet.de>
1397
1398         * Makefile.in (installdirs): Loop over directories in $(libsubdir)
1399         creating probably missing ones, instead of single if statements.
1400
1401 Fri Jun 19 10:43:52 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1402
1403         * c-common.c (truthvalue_conversion): Protect side effects in the
1404         expression when splitting a complex value.
1405         * fold-const.c (fold): Likewise. 
1406
1407 Fri Jun 19 02:31:16 1998  Klaus Kaempf (kkaempf@progis.de)
1408
1409         * cccp.c (hack_vms_include_specification): rewrite to handle
1410         '#include <dir/file.h>' correctly.
1411
1412 Fri Jun 19 02:24:11 1998  H.J. Lu  (hjl@gnu.org)
1413
1414         * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
1415
1416 Fri Jun 19 02:10:10 1998  John Wehle  (john@feith.com)
1417
1418         * i386.c (notice_update_cc): Integer conditional moves don't
1419         affect cc0.
1420
1421         * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
1422         to support LT, LE, GE, and GT signed integer comparisons.
1423         (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
1424         movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
1425         is LT, LE, GE, or GT.
1426         (movdicc): Remove code resulting from an earlier patch which
1427         didn't apply correctly.
1428
1429 Fri Jun 19 02:00:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1430
1431         * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
1432         consider a MEM in FP mode as equal.
1433
1434 Fri Jun 19 01:02:17 1998  Jeffrey A Law  (law@cygnus.com)
1435
1436         * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
1437         duplicate declarations of a function.
1438
1439 Fri Jun 19 00:33:33 1998  H.J. Lu  (hjl@gnu.org)
1440
1441         * config/float-i386.h: New.
1442
1443         * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
1444
1445 Thu Jun 18 20:11:00 1998  Jim Wilson  <wilson@cygnus.com>
1446
1447         * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
1448         indexed arrays.  Call free at the end of the function for them.
1449         * haifa-sched.c (schedule_insns): Likewise.
1450
1451 Thu Jun 18 18:16:01 1998  Jim Wilson  <wilson@cygnus.com>
1452
1453         * dwarf2out.c (size_of_string): Do count backslashes.
1454
1455 Thu Jun 18 11:43:54 1998  Nick Clifton  <nickc@cygnus.com>
1456
1457         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG 
1458         addressing when one register is the frame pointer or stack
1459         pointer.  Disallow REG+CONST addressing in HI mode.
1460
1461 Thu Jun 18 17:30:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1462
1463         * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
1464         RELOAD_FOR_INSN.
1465
1466 Thu Jun 18 09:36:50 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1467
1468         * Makefile.in (c-lang.o): Depend on output.h.
1469
1470         * c-lang.c: Include output.h.
1471
1472         * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
1473
1474         * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
1475
1476         * genrecog.c (write_subroutine): When writing insn-recog.c, mark
1477         variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
1478         with ATTRIBUTE_UNUSED.
1479
1480         * regmove.c (copy_src_to_dest): Make function static to match its
1481         prototype.
1482
1483         * reload1.c Include hard-reg-set.h before rtl.h to get macro
1484         HARD_CONST.  Include machmode.h before hard-reg-set.h.
1485
1486         * rtl.h: Prototype `retry_global_alloc' and wrap with macro
1487         HARD_CONST to protect usage of typedef HARD_REG_SET.
1488
1489         * tree.c: Prototype `_obstack_allocated_p'.
1490
1491         * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
1492         BSS_SECTION_ASM_OP.
1493
1494 Thu Jun 18 09:20:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1495
1496         * pa.c: Include system.h and toplev.h.  Remove redundant code.
1497         (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1498         (symbolic_operand): Likewise.
1499         (symbolic_memory_operand): Likewise.
1500         (pic_label_operand): Likewise.
1501         (fp_reg_operand): Likewise.
1502         (pre_cint_operand): Likewise.
1503         (post_cint_operand): Likewise.
1504         (ireg_or_int5_operand): Likewise.
1505         (int5_operand): Likewise.
1506         (uint5_operand): Likewise.
1507         (int11_operand): Likewise.
1508         (uint32_operand): Likewise.
1509         (ior_operand): Likewise.
1510         (lhs_lshift_cint_operand): Likewise.
1511         (pc_or_label_operand): Likewise.
1512         (legitimize_pic_address): Likewise.
1513         (hppa_legitimize_address): Likewise for parameter `old'.
1514         (output_block_move): Likewise for parameter `size_is_constant'.
1515         (output_function_prologue): Likewise for parameter `size'.
1516         (output_function_epilogue): Likewise.
1517         (return_addr_rtx): Likewise for parameter `count'.
1518         (output_mul_insn): Likewise for parameter `unsignedp'.
1519         (hppa_builtin_saveregs): Likewise for parameter `arglist'.
1520         (output_bb): Likewise for parameter `operands'.
1521         (output_bvb): Likewise.
1522         (function_label_operand): Likewise for parameter `mode'.
1523         (plus_xor_ior_operator): Likewise.
1524         (shadd_operand): Likewise.
1525         (non_hard_reg_operand): Likewise.
1526         (eq_neq_comparison_operator): Likewise.
1527         (movb_comparison_operator): Likewise.
1528         (pa_combine_instructions): Likewise for parameter `insns'.
1529
1530         * pa.h: Add prototypes for functions `output_deferred_plabels',
1531         `override_options', `output_ascii', `output_function_prologue',
1532         `output_function_epilogue', `print_operand',
1533         `symbolic_expression_p', `reloc_needed', `compute_frame_size',
1534         `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
1535         `pa_adjust_cost', `pa_adjust_insn_length' and
1536         `secondary_reload_class'.
1537
1538 Wed Jun 17 22:28:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
1539
1540         * configure.in: Don't turn on collect2 unconditionally.
1541
1542 Wed Jun 17 20:20:48 1998  Mark Mitchell  <mark@markmitchell.com>
1543
1544         * cse.c (cse_basic_block): Don't include NOTE insns in the count
1545         that is used to decide whether or not it is time to erase the
1546         equivalence table.
1547
1548 Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 
1549
1550         * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
1551
1552 Wed Jun 17 19:05:03 1998  John Carr  <jfc@mit.edu>
1553
1554         * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
1555         (sched_analyze_2): Allow scheduling TRAP_IF.
1556
1557         * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
1558
1559         * rtl.h (TRAP_CODE): New macro.
1560
1561         * rtl.def (TRAP_IF): Change second operand type to rtx.
1562
1563         * optabs.c (gen_cond_trap): New function.
1564         (init_traps): New function.
1565         (init_optabs): Call init_traps.
1566         * expr.h: Declare gen_cond_trap.
1567
1568         * jump.c (jump_optimize): Optimize jumps to and around traps.
1569
1570         * sparc.md: Define trap instructions.
1571
1572         * rs6000.md: Define trap instructions.
1573         * rs6000.c (print_operand): New code 'V' for trap condition.
1574         (trap_comparison_operator): New function.
1575
1576         * m88k.md: Update use of TRAP_IF.
1577
1578         * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
1579         * c-decl.c (init_decl_processing): New builtin __builtin_trap.
1580         * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
1581
1582         * expr.c (expand_builtin): Error if __builtin_longjmp second argument
1583         is not 1.
1584
1585 Wed Jun 17 15:20:00 PDT 1998  Catherine Moore  <clm@cygnus.com>
1586
1587          * reload1.c (spill_hard_reg):  Check mode of register when
1588          spilling from scratch_list.
1589  
1590 Wed Jun 17 16:25:38 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
1591
1592         * except.c (add_new_handler): fix bug in finding last region handler.
1593         * libgcc2.c (find_exception_handler): Pass exception table pointer
1594         to runtime type matcher, not the match info field.
1595
1596 Wed Jun 17 15:57:48 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
1597
1598         * eh-common.h (struct eh_context): Add comment for hidden use of
1599         field dynamic_handler_chain.
1600         * except.c (get_dynamic_handler_chain): Comment on, and use the
1601         correct offset of the dynamic_handler_chain field.
1602
1603 1998-06-17 12:46:56 1998  Jim Wilson  <wilson@cygnus.com>
1604
1605         * mips/iris6.h (LINK_SPEC): Add -woff 131.
1606
1607 1998-06-17  Jason Merrill  <jason@yorick.cygnus.com>
1608
1609         * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
1610
1611         * configure.in: Don't disable collect2 when we have GNU ld.
1612
1613 Wed Jun 17 08:38:13 1998  Jeffrey A Law  (law@cygnus.com)
1614
1615         * fold-const.c (make_range): Do not widen the type of the expression.
1616
1617         * expr.c (check_max_integer_computation_mode): New function.
1618         (expand_expr): Avoid integer computations in modes wider than
1619         MAX_INTEGER_COMPUTATION_MODE.
1620         * fold-const.c (fold): Likewise.
1621         * tree.h (check_max_integer_computation_mode): Declare.
1622         * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
1623
1624         * configure.in (nm): Make a link to "nm" in the build tree too.
1625
1626         * mn10300.md (andsi3): Fix typo.
1627
1628 Tue Jun 16 22:58:40 1998  Richard Henderson  <rth@cygnus.com>
1629
1630         * reload1.c (reload_cse_regs): Call bzero instead of looping.
1631
1632 Tue Jun 16 18:30:35 1998  Jim Wilson  <wilson@cygnus.com>
1633
1634         * dwarf2out.c (stripattributes): Prepend '*' to the section name.
1635
1636 Tue Jun 16 16:49:26 1998  Richard Henderson  <rth@cygnus.com>
1637
1638         * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
1639         (output_prologue, output_epilogue): Merge VMS and OSF versions;
1640         Remove anything related to the actual code generation.
1641         (output_end_prologue): New function.
1642         (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
1643         (alpha_does_function_need_gp): Return false for VMS.
1644         (alpha_function_needs_gp): Make static.
1645         (add_long_const): Delete.
1646         (summarize_insn): Don't assume a SUBREG is of a REG.
1647         Prototype all static functions.  Rename VMS-specific global
1648         variables vms_*.
1649         * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
1650         (FUNCTION_BOUNDARY): Align to cache line.
1651         (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
1652         (FUNCTION_END_PROLOGUE): New macro.
1653         * alpha.md (attribute length): New.  Mark all insns.
1654         (return_internal, prologue_stack_probe_loop) New patterns.
1655         (prologue, init_fp, epilogue): New patterns.
1656         Disable peepholes.
1657         * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
1658
1659 Tue Jun 16 17:36:35 1998  Dave Brolley  <brolley@cygnus.com>
1660
1661         * toplev.c (lang_options): Add -trigraphs option for cpplib.
1662
1663 Tue Jun 16 23:33:24 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1664
1665         * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
1666         is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
1667         is earlier than RELOAD_FOR_INPUT_ADDRESS.
1668
1669 Tue Jun 16 13:15:16 1998  Jim Wilson  <wilson@cygnus.com>
1670
1671         * libgcc1-test.c (memcpy): Define.
1672
1673 Tue Jun 16 13:44:02 1998  Michael Meissner  <meissner@cygnus.com>
1674
1675         * genattrtab.c (struct attr_desc): Change int flags to bit
1676         fields.  Add bit fields for this being function_units_used
1677         or *_blockage_range attributes.
1678         (write_unit_name): New function to print a function unit name
1679         given unit #.
1680         (expand_units): Indicate whether this is function_units_used or
1681         *_blockage_range attributes.
1682         (write_toplevel_expr): Print function_units_used and
1683         *_blockage_range attributes in a more friendly fashion.
1684         (make_internal_attr): Indicate whether this attribute is either
1685         function_units_used or *_blockage_range.
1686
1687 Mon Jun 15 17:06:43 1998  Michael Meissner  <meissner@cygnus.com>
1688                           Jim Wilson  <wilson@cygnus.com>
1689
1690         * regmove.c (copy_src_to_dest): Do not copy src to dest if either
1691         the source or destination is special.
1692
1693 Mon Jun 15 13:20:33 1998  Jim Wilson  <wilson@cygnus.com>
1694
1695         * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
1696
1697 Mon Jun 15 07:16:29 PDT 1998 Jeff Law  (law@cygnus.com)
1698
1699         * version.c: Bump for snapshot.
1700
1701 Sat Jun 13 13:10:40 1998  Krister Walfridsson <cato@df.lth.se>
1702
1703         * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
1704         redefining it.
1705
1706 Fri Jun 12 18:06:45 1998  Doug Evans  <devans@egcs.cygnus.com>
1707
1708         * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
1709         (ENDFILE_SPEC): Add -lgloss.
1710
1711 Fri Jun 12 14:57:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1712
1713         * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1714         (large_int): Likewise.
1715         (pc_or_label_operand): Likewise.
1716         (call_insn_operand): Likewise.
1717         (consttable_operand): Likewise.
1718         (m16_uimm3_b): Likewise.
1719         (m16_simm4_1): Likewise.
1720         (m16_nsimm4_1): Likewise.
1721         (m16_simm5_1): Likewise.
1722         (m16_nsimm5_1): Likewise.
1723         (m16_uimm5_4): Likewise.
1724         (m16_nuimm5_4): Likewise.
1725         (m16_simm8_1): Likewise.
1726         (m16_nsimm8_1): Likewise.
1727         (m16_uimm8_1): Likewise.
1728         (m16_nuimm8_1): Likewise.
1729         (m16_uimm8_m1_1): Likewise.
1730         (m16_uimm8_4): Likewise.
1731         (m16_nuimm8_4): Likewise.
1732         (m16_simm8_8): Likewise.
1733         (m16_nsimm8_8): Likewise.
1734         (m16_usym8_4): Likewise.
1735         (m16_usym5_4): Likewise.
1736         (mips_move_1word): Change type of variable `i' from int to size_t.
1737         (mips_move_2words): Likewise.
1738         (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
1739         (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
1740         (function_arg): Likewise.
1741         (function_arg_partial_nregs): Mark parameter `named' with
1742         ATTRIBUTE_UNUSED.
1743         (override_options): Use ISDIGIT instead of isdigit.
1744         (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
1745         (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
1746         (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
1747         function `fatal' to long before printing.  Use
1748         HOST_WIDE_INT_PRINT_DEC in fprintf.  Both changes done several
1749         times in this function.
1750         (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
1751         (function_epilogue): Likewise for parameters `file' and `size'.
1752         Print an int with "%d" not "%ld".
1753         (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
1754         (mips_function_value): Likewise for parameter `func'.
1755         (function_arg_pass_by_reference): Likewise for parameters `cum'
1756         and `named'.
1757         (extend_operator): Likewise for parameter `mode'
1758         (highpart_shift_operator): Likewise.
1759
1760         * mips.md (mul_acc_si): Remove unused variable `macc'.
1761
1762 Fri Jun 12 09:33:44 1998  Richard Henderson <rth@cygnus.com>
1763
1764         * fold-const.c (fold): Revert last change.  It breaks constant
1765         expressions somehow.
1766
1767 Fri Jun 12 10:23:36 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1768
1769         * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
1770         prevent operands from being evaluated twice.
1771
1772 Fri Jun 12 00:50:27 1998  Sergey Okhapkin <sos@prospect.com.ru>
1773
1774         * toplev.c (lang_options): Add -remap as a preprocessor option.
1775
1776 Fri Jun 12 00:30:32 1998  John Wehle  (john@feith.com)
1777
1778         * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
1779         which set CC_REVERSED since reload should ensure that
1780         the operands are already the correct type.
1781
1782 Thu Jun 11 17:14:15 1998  Jim Wilson  <wilson@cygnus.com>
1783
1784         * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
1785         calling gen_rtx_SET.
1786
1787 Thu Jun 11 18:45:49 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1788
1789         * config/rs6000/x-aix43 (AR): Delete.
1790         (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
1791
1792 Thu Jun 11 16:19:17 1998  David W. Schuler  <schuld@btv.ibm.com>
1793
1794         * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
1795
1796 Thu Jun 11 12:40:27 1998  Jim Wilson  <wilson@cygnus.com>
1797
1798         * mips.c (override_options): Replace word_mode with explicit
1799         TARGET_64BIT check.
1800
1801 Thu Jun 11 14:50:02 1998  Michael Meissner  <meissner@cygnus.com>
1802
1803         * regmove.c (regmove_optimize): If we can't replace the
1804         destination in an insn that sets the source, generate an explicit
1805         move of the source to the destination.
1806         (copy_src_to_dest): New function.
1807         (toplevel): Include basic-block.h
1808
1809         * Makefile.in (regmove.o): Add basic-block.h dependencies.
1810
1811 Thu Jun 11 10:30:09 1998  Dave Brolley  <brolley@cygnus.com>
1812
1813         * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
1814
1815 Wed Jun 10 23:39:32 1998  Mark Mitchell  <mark@markmitchell.com>
1816
1817         * rtl.h (rtx_def): Improve documentation.
1818         (MEM_IN_STRUCT_P): Likewise.
1819
1820 Wed Jun 10 23:23:17 1998  Graham  <grahams@rcp.co.uk>
1821
1822         * c-decl.c (start_decl): Correct test for -Wmain.
1823
1824         * c-decl.c (grokdeclarator): Remove unused variable "last".
1825
1826 Wed Jun 10 14:52:27 1998  Jim Wilson  <wilson@cygnus.com>
1827
1828         * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
1829         (expand_builtin_longjmp): Abort if value isn't const1_rtx.
1830         Delete code storing value in static_chain_rtx.
1831         (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
1832         to second expand_expr call.
1833
1834 Wed Jun 10 13:08:41 1998  Mark Mitchell  <mark@markmitchell.com>
1835
1836         * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
1837
1838 Wed Jun 10 13:41:23 1998  Dave Brolley  <brolley@cygnus.com>
1839
1840         * cppmain.c (fatal): New function.
1841         * configure.in (cpp_main): New configuration variable.
1842         * configure: Regenerated.
1843         * Makefile.in (CCCP): Use a configuration variable to select basex
1844         for cccp.
1845         (cppmain$(exeext)): Add @extra_cpp_objs@.
1846
1847 Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
1848
1849         * objc/objc-act.c: Add cpplib declarations.
1850         (lang_decode_option): Initialize cpplib if necessary.
1851         (lang_decode_option): New argc/argv interface. 
1852         * tree.h (lang_decode_option): New argc/argv interface. 
1853         * toplev.c (lang_options): Add cpp options.
1854         (main): New interface for lang_decode_option.
1855         * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
1856         unless -E, -M or -MM is specified.
1857         * cpplib.h (cpp_handle_option): New function. 
1858         * cpplib.c (cpp_handle_option): New function.
1859         (cpp_handle_options): Now calls cpp_handle_option.
1860         * c-tree.h (c_decode_option): New argc/argv interface. 
1861         * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
1862         * c-lang.c (lang_decode_option): New argc/argv interface.
1863         * c-decl.c: Add cpplib declarations.
1864         (c_decode_option): New argc/argv interface.
1865         (c_decode_option): Call cpp_handle_option.
1866         (c_decode_option): Now returns number of strings processed.
1867
1868 Wed Jun 10 09:47:13 1998  Richard Earnshaw (rearnsha@arm.com)
1869
1870         * unroll.c (verify_addresses): Use validate_replace_rtx to undo the 
1871         changes.  Abort if the undo fails.
1872
1873 1998-06-10  Vladimir N. Makarov  <vmakarov@cygnus.com>
1874
1875         * config/rs6000/rs6000.c (output_prolog): Change locations and
1876         directions of saving and restoring arguments of main on the stack.
1877
1878 Wed Jun 10 08:56:27 1998  John Carr  <jfc@mit.edu>
1879
1880         * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
1881         for each alternative.  Do not replace a CONST_INT with a REG unless
1882         the reg is cheaper.
1883
1884 Wed Jun 10 02:11:55 1998  Jeffrey A Law  (law@cygnus.com)
1885
1886         * decl.c (init_decl_processing): Fix typo.
1887
1888         * mips.c (gpr_mode): New variable.
1889         (override_options): Initialize gpr_mode.
1890         (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1891         determine size and offset of general purpose registers save slots.
1892         (save_restore_insns, mips_expand_prologue): Similarly.
1893
1894         * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
1895         between constant representations when we have (SUBREG (REG)) with
1896         REG equivalent to a constant.
1897
1898 Wed Jun 10 01:39:00 1998  Juha Sarlin <juha@c3l.tyreso.se> 
1899
1900         * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
1901
1902 Tue Jun  9 22:05:34 1998  Richard Henderson  <rth@cygnus.com>
1903
1904         * fold-const.c (fold): Even with otherwise constant trees, look for
1905         opportunities to combine integer constants.
1906
1907 Wed Jun  3 23:41:24 EDT 1998  John Wehle  (john@feith.com)
1908
1909         * i386.c (notice_update_cc): Clear cc_status.value2 in the
1910         case of UNSPEC 5 (bsf).
1911
1912         * i386.md (movsfcc, movdfcc, movxfcc): The floating point
1913         conditional move instructions don't support signed integer
1914         comparisons.
1915
1916 Tue Jun  9 14:31:19 1998  Nick Clifton  <nickc@cygnus.com>
1917
1918         * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
1919         overlfows. 
1920
1921         * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
1922         16,sp,sp' ratehr than 'add 16,sp'.  Patch courtesy of Biomedin
1923         <glctr@abc.it>.
1924
1925 Tue Jun  9 16:23:13 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
1926
1927         * except.c (expand_start_catch): Rename to start_catch_handler.
1928         (expand_end_catch): Delete function.
1929         (expand_end_all_catch): Remove catch status that expand_end_catch
1930         use to do.
1931         * except.h (expand_start_catch): Rename prototype.
1932         (expand_end_catch): Delete prototype.
1933
1934 Tue Jun  9 12:57:32 1998  Mark Mitchell  <mark@markmitchell.com>
1935
1936         * invoke.texi: Add documentation for -mips4 and -mabi=*.
1937
1938 Tue Jun  9 12:12:34 1998  Klaus Kaempf (kkaempf@progis.de)
1939
1940         * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
1941         (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.       
1942         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.                
1943
1944 Tue Jun  9 12:10:27 1998  John Carr  <jfc@mit.edu>
1945
1946         * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
1947         as the threshold to permit splitting memory operations.
1948
1949 Tue Jun  9 12:36:16 1998  Jeffrey A Law  (law@cygnus.com)
1950
1951         * mips.c (gpr_mode): New variable.
1952         (override_options): Initialize gpr_mode.
1953         (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1954         determine size and offset of general purpose registers save slots.
1955         (save_restore_insns, mips_expand_prologue): Similarly.
1956
1957         * Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
1958         (LIBGCC2_CFLAGS): Remove -fexceptions.
1959         (LIB2FUNCS): Remove "_eh".
1960         (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
1961         it with -fexceptions.
1962
1963         * Makefile.in (local-alloc.o): Depend on insn-attr.h.
1964         * local-alloc.c (block_alloc): Avoid creating false 
1965         dependencies for targets which use instruction scheduling.
1966
1967 Tue Jun  9 02:40:49 1998  Richard Henderson  <rth@cygnus.com>
1968
1969         * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
1970         (ASM_FINISH_DECLARE_OBJECT): Define;
1971         * mips/elf64.h: Likewise.
1972
1973 Tue Jun  9 01:08:47 1998  Richard Henderson  <rth@cygnus.com>
1974
1975         * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
1976
1977 Mon Jun 8 23:24:48 PDT 1998 Jeff Law  (law@cygnus.com)
1978
1979         * version.c: Bump for snapshot.
1980
1981 Mon Jun  8 23:24:58 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1982
1983         * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
1984         (mulsidi3_ppc64): Delete.
1985
1986 Mon Jun  8 20:57:40 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1987
1988         * Makefile.in (varasm.o): Depend on dbxout.h.
1989         (cse.o): Depend on toplev.h and output.h.
1990         (gcse.o): Depend on output.h.
1991
1992         * mips.c: Include system.h and toplev.h and remove redundant code.
1993         Include output.h after tree.h so all its prototypes get activated.
1994         * mips.md (table_jump): Remove unused variable `dest'.
1995
1996         * sparc.h: Add prototype for `v8plus_regcmp_op'.
1997
1998         * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
1999         with __attribute__ ((__unused__)).
2000         (__frame_dummy): Provide prototype before use, wrap it with
2001         EH_FRAME_SECTION_ASM_OP.
2002
2003         * cse.c: Move inclusion of <setjmp.h> above local headers.
2004         Include toplev.h and output.h.
2005
2006         * dbxout.h: Add prototype for `dbxout_begin_function'.
2007
2008         * final.c (final_scan_insn): Wrap variable `max_skip' in macro
2009         ASM_OUTPUT_MAX_SKIP_ALIGN.
2010
2011         * gcse.c: Include system.h and output.h.
2012         (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
2013         Make extern instead of static.
2014         (compute_can_copy): Only declare variables `reg' and `insn' when
2015         AVOID_CCMODE_COPIES is not defined.
2016         (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
2017         (hash_scan_clobber): Likewise for `x' and `insn'.
2018         (hash_scan_call): Likewise.
2019         (record_last_set_info): Likewise for `setter'.
2020         (mark_call): Likewise for `pat'.
2021         (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
2022
2023         * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
2024         length parameter so that it multiplies the number of elements by
2025         the sizeof(element).
2026
2027         * output.h: Add prototype for `weak_finish'.
2028
2029         * recog.h: Likewise for `validate_replace_src'.
2030
2031         * rtl.h: Likewise for `optimize_save_area_alloca',
2032         `fix_sched_param', `purge_addressof', `gcse_main',
2033         `regmove_optimize', `dbr_schedule', `branch_prob' and
2034         `end_branch_prob'.
2035
2036         * toplev.h: Likewise for `set_float_handler' and
2037         `output_quoted_string'.
2038
2039         * varasm.c: Include dbxout.h.
2040
2041 Mon Jun  8 18:12:06 1998  Jim Wilson  <wilson@cygnus.com>
2042
2043         * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
2044         GP_REG_P.  Use gr_regs instead of GR_REGS.
2045
2046 Mon Jun  8 16:54:12 1998  Ken Raeburn   <raeburn@cygnus.com>
2047                           Jeff Law      <law@cygnus.com>
2048
2049         * Revamped multiply support for MIPS chips.
2050         * mips.c (extend_operator): New function.
2051         (highpart_shift_operator): Likewise.
2052         * mips.h: Declare new functions.
2053         (PREDICATE_CODES): Add support for new predicates.
2054         * mips.md (mulsi3 expander): Simplify.
2055         (mulsi_mult3): Add another constraint alternative.  Support
2056         3 operand multiply instructions as found on various mips
2057         parts.
2058         (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
2059         (mul_acc_si): New pattern and associated splitters.
2060         (mulsidi3 expander): Rework to use mulsidi3_64bit and
2061         mulsidi3_internal.
2062         (umulsidi3): New expander.
2063         (mulsidi3_internal): Accept either sign or zero extended
2064         operands and generate code as appropriate appropriately.
2065         (mulsidi3_64bit): Similarly.
2066         (smulsi3_highpart): Turn into an expander and generate code
2067         to match new patterns.
2068         (umulsi3_highpart): Likewise.
2069         (xmulsi3_highpart_internal): New pattern.
2070         (maddi patterns): Delete.  Replace with:
2071         (mul_acc_di, mul-acc_64bit_di): New patterns.
2072
2073 Mon Jun  8 14:16:15 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2074
2075         * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
2076         flag_new_exceptions runtime flag.
2077         (struct old_exception_table): New struct which represents what
2078         the exception table looks like without the new model.
2079         (NEW_EH_RUNTIME): New value used as a tag in the exception table to
2080         flag that this is a new style table.
2081         * except.h: Remove compile time flag NEW_EH_MODEL.
2082         (expand_builtin_eh_stub_old): New prototype.
2083         * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
2084         * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
2085         * c-decl.c (init_decl_processing): Add new builtin function
2086         __builtin_eh_stub_old.
2087         * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
2088         * flags.h (flag_new_exceptions): New runtime flag.
2089         * toplev.c (flag_new_exceptions): Initialize default to 0, 
2090         -fnew-exceptions sets to 1.
2091         * except.c (output_exception_table_entry): Output New style exception 
2092         identifier into table, and replace compile time flag NEW_EH_MODEL
2093         with runtime flag flag_new_exceptions.
2094         (output_exception_table): Replace compile time flag NEW_EH_MODEL.
2095         (expand_builtin_eh_stub_old): Duplicates original functionality of
2096         expand_builtin_eh_stub.
2097         (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
2098         * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
2099         (old_find_exception_handler): New func, same as find_exception_handler
2100         except it works on the old style exception table.
2101         (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
2102         of identifier in the exception table, and call appropriate routines.
2103
2104 Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
2105
2106         * function.c: Define current_function_cannot_inline.
2107         (push_function_context_to): Save it.
2108         (pop_function_context_from): Restore it.
2109         * function.h (struct function): Provide it a home.
2110         * output.h: Declare it.
2111         * integrate.c (function_cannot_inline_p): Check it.
2112
2113 Mon Jun  8 10:43:15 1998  Richard Henderson  <rth@cygnus.com>
2114
2115         * expr.c (force_operand): Detect PIC address loads before 
2116         splitting arithmetic.
2117
2118 Mon Jun 8 09:22:38 PDT 1998 Jeff Law  (law@cygnus.com)
2119
2120         * version.c: Bump for snapshot.
2121
2122 Mon Jun  8 02:55:56 1998  Graham  <grahams@rcp.co.uk>
2123
2124         * tree.c (tree_class_check): Add braces to eliminate ambigious
2125         else warning.
2126         (tree_check): Likewise.
2127
2128 Mon Jun  8 02:49:23 1998  H.J. Lu  (hjl@gnu.org)
2129
2130         * reg-stack.c (subst_stack_regs_pat): Make sure the top of
2131         stack is the destination for conditional move insn.
2132
2133 Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
2134
2135         * tree.h (TREE_VEC_END): Cast unused value to void.
2136
2137         * i386.c (print_operand): Use %lx for long operand.
2138
2139 Mon Jun  8 00:04:07 1998  Richard Henderson  <rth@cygnus.com>
2140
2141         * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
2142
2143 Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
2144
2145         * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
2146         conversion functions.
2147
2148 Sun Jun  7 14:02:58 1998  Richard Henderson  <rth@cygnus.com>
2149
2150         * toplev.c (flag_exceptions): Default to 0.
2151         (compile_file): Remove flag_exceptions == 2 hack.
2152         (main): Call lang_init_options.
2153         * tree.h: Declare it.
2154         * c-lang.c: Implement it.
2155         * objc/objc-act.c: Likewise.
2156         
2157 Sun Jun  7 12:27:30 1998  David Edelsohn  <edelsohn@mhpcc.edu>
2158
2159         * rs6000.md (restore_stack_block): Generate MEM and specify mode.
2160         * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
2161         * rs6000.c (rs6000_output_load_toc_table): Use fputs.
2162         (output_function_profiler): Use asm_fprintf and fputs.
2163
2164 Sat Jun  6 12:17:12 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2165
2166         * gencheck.c: Remove redundant stdio.h include.  Add a definition
2167         of xmalloc for when we are forced to link with alloca.o.
2168
2169         * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
2170         instead of `1U'.
2171
2172         * fold-const.c (constant_boolean_node): Make definition static to
2173         match the prototype.
2174
2175 Fri Jun  5 15:53:17 1998  Per Bothner  <bothner@cygnus.com>
2176
2177         * gcc.c (lang_specific_pre_link):  New LANG_SPECIFIC_DRIVER function.
2178         (lang_specific_extra_outfiles):  New LANG_SPECIFIC_DRIVER variable.
2179         (do_spec, input_filename, input_filename_length):  Make public.
2180         (main):  Adjust outfiles allocation by lang_specific_extra_outfiles.
2181         Call lang_specific_pre_link befor elinking.
2182
2183 Fri Jun  5 12:29:28 1998  Jeffrey A Law  (law@cygnus.com)
2184
2185         * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
2186         the insn which has the most insns dependent on it.
2187
2188 Fri Jun  5 09:03:22 1998  John Carr  <jfc@mit.edu>
2189
2190         * alias.c (find_base_value): Avoid reading past end of reg_base_value.
2191
2192 Fri Jun  5 03:05:34 1998  Richard Henderson  <rth@cygnus.com>
2193
2194         * alpha.md (insxh-1): New insxl pattern for combine.
2195
2196 Fri Jun  5 01:12:15 1998  H.J. Lu  (hjl@gnu.org)
2197
2198         * i386/i386.c (output_fp_conditional_move): New function
2199         to output floating point conditional move.
2200         (output_int_conditional_move): New function to output integer
2201         conditional move.
2202
2203         * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
2204         output_int_conditional_move () to output int conditional move.
2205         (movsfcc+5, movdfcc+5, movxfcc+5): Call
2206         output_fp_conditional_move () to output floating point
2207         conditional move.
2208
2209         * i386/i386.c (put_condition_code): In INT mode, check
2210         cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
2211
2212 Thu Jun  4 16:09:51 1998  Dave Brolley  <brolley@cygnus.com>
2213
2214         * dbxout.c (dbxout_type): Output arrays of bits as if
2215         they were bitstrings for Chill
2216
2217 Thu Jun  4 14:35:27 1998  David Edelsohn  <edelsohn@mhpcc.edu>
2218
2219         * tree.c (get_inner_array_type): New function.
2220         * tree.h (get_inner_array_type): Prototype.
2221         * expr.h (STACK_SAVEAREA_MODE): New macro.
2222         * expr.c (expand_builtin_setjmp): Initialize sa_mode using
2223         STACK_SAVEAREA_MODE.
2224         (expand_builtin_longjmp): Likewise.
2225         * explow.c (emit_stack_save): Likewise.
2226         (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
2227
2228         * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
2229         (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
2230         * rs6000/aix43.h: New file.
2231         * rs6000/t-aix43: New file.
2232         * rs6000/x-aix41: New file.
2233         * rs6000/x-aix43: New file.
2234         * configure.in (rs6000-ibm-aix*): Use them.
2235         * rs6000/powerpc.h: Delete.
2236         * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
2237         * rs6000/netware.h: and here.
2238         * rs6000/win-nt.h: and here.
2239
2240         * rs6000/rs6000.c (processor_target_table, 620): Do not affect
2241         MASK_POWERPC64.
2242         (rs6000_override_options): Ignore flag_pic for AIX.
2243         (rs6000_immed_double_const): Delete.
2244         (u_short_cint_operand): Don't assume 32-bit CONST_INT.
2245         (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
2246         (num_insns_constant): mask64_operand() is 2 insns.
2247         (logical_operand): Don't assume 32-bit CONST_INT.
2248         (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
2249         (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
2250         (mask_constant): HOST_WIDE_INT parameter.
2251         (non_and_cint_operand): Delete.
2252         (mask64_operand): New function.
2253         (and64_operand): New function.
2254         (function_arg_advance): DImode arguments do not need special
2255         alignment when 64-bit.
2256         (function_arg): Likewise.
2257         (setup_incoming_varargs): Reverse reg_size assignment.
2258         (print_operand): HOST_WIDE_INT second parameter.
2259         (print_operand, 'B'): New case.
2260         (print_operand, 'M'): Fix typo in lossage string.
2261         (print_operandm 'S'): New case.
2262         (rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
2263         to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
2264         (rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
2265         TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
2266         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
2267         (rs6000_allocate_stack_space): Use {cal|la}.
2268         (output_epilog): Use {cal|la}
2269         (output_function_profiler): Add call glue to mcount call.
2270         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
2271
2272         * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
2273         (STACK_BOUNDARY): Depend on TARGET_32BIT.
2274         (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
2275         (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
2276         (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
2277         64-bit mask operand.
2278         (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
2279         (STACK_SAVEAREA_MODE): New macro.
2280         (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
2281         (LEGITIMIZE_RELOAD_ADDRESS): New macro.
2282         (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
2283         (ASM_FILE_START): Emit 64-bit ABI directive.
2284         (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
2285         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
2286         (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
2287         Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
2288
2289         * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
2290         Restore define_splits.
2291         (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
2292         (floatsidf2_internal, floatunssidf2_internal2): Likewise.
2293         Do not specify base register operand mode.
2294         (floatsidf2_loadaddr): Do not specify base register operand mode.
2295         (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
2296         register; do not specify mode.  Remove !TARGET_POWERPC64 final
2297         constraint.
2298         (floatsidf2_load): Do not specify base register operand mode.  Remove
2299         !TARGET_POWERPC64 final constraint.
2300         (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
2301         base register operand mode.
2302         (adddi3): Split large constants early.
2303         (absdi3): Shift by 63, not 31.
2304         (*mulsidi3_ppc64): New pattern.
2305         (rotldi3): Add masking combiner patterns.
2306         (anddi3): Add rldic{r,l} masking.  Remove split of large constants
2307         because PPC insns zero-extend.
2308         (iordi3, xordi3): Split large constants early.
2309         (movsi matcher): Remove S and T constraints.
2310         (movsf const_double): create SImode constant from TARGET_DOUBLE.
2311         (movdf_hardfloat32): Add default abort() case.
2312         (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
2313         (movdi): Remove 64-bit constant generator.  Try to convert
2314         CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
2315         (movdi_32): Add default abort() case.
2316         (movdi_64): Add numerous ways to split 64-bit constants.
2317         Make catch-all define_split more optimal and never FAIL.
2318         (movti_ppc64): Add default abort() case.
2319         (allocate_stack): Remove operand modes.  Use Pmode.
2320         (restore_stack_block): Remove operand modes.  Generate Pmode
2321         temporary.
2322         (save_stack_nonlocal, restore_stack_nonlocal):  Generate Pmode
2323         temporary.  Save area is double Pmode.
2324         (call_indirect_aix64, call_value_indirect_aix64): New patterns.
2325         (call, call_value): Do not specify address operand mode.  Choose
2326         appropriate AIX ABI.
2327         (*call_local64, *ret_call_local64): New patterns.
2328         (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
2329         (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
2330         (compare): Materialize DImode truthvalues.
2331
2332 Thu Jun  4 01:26:57 1998  Craig Burley  <burley@gnu.org>
2333
2334         * expr.c (safe_from_p): Avoid combinatorial explosion
2335         over duplicate SAVE_EXPRs by ensuring we never recurse
2336         on one that has already been visited.
2337
2338 Thu Jun  4 00:54:21 1998  Graham  <grahams@rcp.co.uk>
2339
2340         * loop.c (check_dbra_loop): Initialise final_value before
2341         normalizing the loop.
2342
2343 Wed Jun  3 20:00:04 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2344
2345         * reload1.c (reload_reg_free_for_value_p): New arguments out and
2346         reloadnum.  Changed all callers.
2347
2348 1998-06-03  Ulrich Drepper  <drepper@cygnus.com>
2349
2350         * system.h: Add _() and N_() macros in preparation for gettext.
2351
2352 Wed Jun  3 11:02:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2353
2354         * c-common.c (check_format_info): Put back check for C9x `hh'
2355         length modifier.  Warn about %n format writing into const.  Remove
2356         obsolete comment.
2357         (format_char_info): Fix comments.
2358
2359         * configure.in: Set float_format to m68k for all m68k targets that
2360         do not override LONG_DOUBLE_TYPE_SIZE.
2361         * config/float-m68k.h: New file.
2362
2363 Tue Jun  2 23:14:01 1998  Richard Henderson  <rth@cygnus.com>
2364
2365         * jump.c (jump_optimize): Remove debug messages accidentally left in
2366         with the previous change.
2367
2368 Tue Jun  2 22:46:08 1998  Richard Henderson  <rth@cygnus.com>
2369
2370         * expr.c (store_expr): Revert stray patch associated with
2371         1998-05-23 commit.
2372
2373 Tue Jun  2 21:59:01 1998  Richard Henderson  <rth@cygnus.com>
2374
2375         * jump.c (rtx_unsafe_p): New function.
2376         (jump_optimize): Use it on if/then/else transformations and
2377         conditional move transformations.
2378
2379 Tue Jun  2 22:50:10 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2380
2381         * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
2382         or VAR-- == CONST construct a proper mask if VAR is a bitfield.
2383         Cope with CONST being out of range for the bitfield.
2384
2385 Tue Jun  2 22:28:31 1998  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
2386
2387         * expr.c (emit_move_insn_1): When moving complex values in several
2388         steps, emit a CLOBBER to show the destination dies.
2389
2390 Tue Jun  2 22:17:26 1998  Jeffrey A Law  (law@cygnus.com)
2391
2392         * Makefile.in (site.exp): Use the object testsuite directory as
2393         the temporary directory.
2394
2395         * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
2396         address of an ADDRESSOF rtx.
2397
2398 1998-06-02  Mike Stump  <mrs@wrs.com>
2399
2400         * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
2401         * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
2402         * i960.md (ret, flush_register_windows): Define.
2403         (nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
2404         work yet.
2405         * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
2406
2407 Tue Jun  2 14:02:38 1998  Richard Henderson  <rth@cygnus.com>
2408
2409         * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
2410         around an OSF/1 library bug wrt sign-extension of inputs.
2411
2412 Tue Jun  2 13:02:44 1998  Richard Henderson  <rth@cygnus.com>
2413
2414         * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
2415
2416 Mon Jun  1 03:44:03 1998  Catherine Moore <clm@cygnus.com>
2417
2418         * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
2419
2420         * varasm.c (assemble_variable): Augment alignment warning.
2421
2422 Mon Jun  1 12:14:28 1998  Michael Meissner  <meissner@cygnus.com>
2423
2424         * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
2425         in the presence of IEEE negative 0's.
2426
2427 Sun May 31 16:11:41 1998  John Wehle  (john@feith.com)
2428
2429         * reload.c (find_reloads): Record the existing mode if
2430         operand_mode == VOIDmode before replacing a register with
2431         a constant.
2432         * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
2433         i386_compare_op1 to const0_rtx for the benefit of the
2434         conditional move patterns.
2435         (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
2436         based on suggestions from Jim Wilson.
2437
2438 Sun May 31 00:44:02 PDT 1998 Jeff Law  (law@cygnus.com)
2439
2440         * version.c: Bump for snapshot.
2441
2442 Sun May 31 00:34:17 1998  Bruce Korb <korbb@datadesign.com>
2443
2444         * Makefile.in (fixinc.sh): Update rules again.
2445
2446 Sun May 31 00:27:47 1998  Jeffrey A Law  (law@cygnus.com)
2447
2448         * extend.texi: Bring back reference to trampoline paper.
2449
2450 Sun May 31 00:22:34 1998  Ulrich Drepper  <drepper@cygnus.com>
2451
2452         * Makefile.in (USER_H): Add stdbool.h.
2453         * ginclude/stdbool.h: New file.
2454
2455 Fri May 29 01:48:25 1998  Jeffrey A Law  (law@cygnus.com)
2456
2457         * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
2458         of a non-note insn.
2459
2460         * gcse.c (pre_delete): Fix code to determine the mode of
2461         the reaching pseudo register.
2462
2463 Fri May 29 01:07:28 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
2464
2465         * Makefile.in (GEN): Add gencheck
2466         (STAGESTUFF): Add tree-check.h and gencheck.
2467
2468 Fri May 29 00:57:37 1998  Bruce Korb <korbb@datadesign.com>
2469
2470         * Makefile.in (cstamp-h.in): Remove before trying to recreate.
2471         (fixinc.sh): Set some additional environment variables before
2472         calling mkfixinc.sh.
2473
2474 Thu May 28 12:57:05 1998  Jeffrey A Law  (law@cygnus.com)
2475
2476         * reload.c (find_reloads): Do not force a reloads of match_operators.
2477
2478 Thu May 28 10:22:22 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2479
2480         * except.h (remove_handler): Add new prototype.
2481         * except.c (remove_handler): New function to remove handlers
2482         from an exception region.
2483         * flow.c (find_basic_blocks_1): Remove handlers from regions when
2484         handler label is deleted; remove exception regions with no handlers.
2485
2486 Thu May 28 09:36:39 1998  Michael Meissner  <meissner@cygnus.com>
2487
2488         * except.h (rtx): Define rtx type correctly if needed.
2489         * function.h (rtx): Ditto.
2490         (tree): Define tree type correctly if needed.
2491
2492         * c-pragma.c (toplevel): Include rtl.h.
2493
2494         * stor-layout.c (toplevel): Move include of rtl.h before
2495         except.h.
2496
2497         * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
2498         (tree.o): Add except.h dependency.
2499
2500 Wed May 27 22:02:40 1998  Jeffrey A Law  (law@cygnus.com)
2501
2502         * reload1.c: Revert accidental checkin.
2503
2504         * configure.lang: Fix thinko when adding a definition for
2505         target_alias to the Makefile.
2506
2507 Wed May 27 02:50:00 1998  Catherine Moore (clm@cygnus.com)
2508
2509         * config/sparc/lb1spc.asm (.rem and .urem):  Replace
2510         routines.
2511
2512 Wed May 27 02:48:31 1998  Richard Earnshaw (rearnsha@arm.com)
2513
2514         * arm.c (arm_gen_constant): Rework to eliminate uninitialized
2515         variable warnings.  Don't generate scratch registers if only
2516         counting insns.
2517         (find_barrier): Eliminate unused variable SRC.
2518
2519 1998-05-27  Manfred Hollstein  <manfred@s-direktnet.de>
2520
2521         * toplev.h (rtx_def): Provide global declaration to avoid
2522         `limited scope' warnings.
2523
2524 Tue May 26 23:47:52 1998  Mumit Khan <khan@xraylith.wisc.edu>
2525
2526         * Makefile.in (gencheck.o): Use HOST_CC.
2527         * i386/t-mingw32: New file.
2528         * configure.in (i386-*-mingw32*): Use.
2529
2530 Tue May 26 07:31:04 1998  Richard Earnshaw (rearnsha@arm.com)
2531
2532         * arm.c (bad_signed_byte_operand): New predicate function.
2533         * arm.h (PREDICATE_CODES): Add it to the list.
2534         * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
2535         can't handle.
2536         (define_split): Two new splits for above insns.
2537
2538         * arm.c: Include toplev.h.
2539         (arm_override_options): Add parentheses around use of tune_flags.
2540         (arm_split_constant): Remove unused variable.
2541         (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
2542         (output_func_prologue, arm_expand_prologue): Likewise.
2543         (arm_canonicalize_comparison): Make I unsigned; rework constants
2544         accordignly.  Add missing paratheses around << operation.
2545         (arm_rtx_costs): Correctly parenthesise MULT costs.  Add a DEFAULT
2546         clause.
2547         ({load,store}_multiple_sequence): Initialize BASE_REG.
2548         (select_dominance_cc_mode): Add DEFAULT clauses.
2549         (broken_move): Return zero if the destination is not a register.
2550         (arm_reorg): Move unused REGNO declaration into the dead code.
2551         * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
2552
2553 Mon May 25 22:49:56 PDT 1998 Jeff Law  (law@cygnus.com)
2554
2555         * version.c: Bump for snapshot.
2556
2557 Mon May 25 11:56:24 PDT 1998 Jeff Law  (law@cygnus.com)
2558
2559         * version.c: Bump for snapshot.
2560
2561 Mon May 25 14:00:13 1998  Dave Brolley  <brolley@cygnus.com>
2562
2563         * cpperror.c (v_cpp_message): Remove static prototype.
2564         * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
2565         * cpplib.h (v_cpp_message): Add protoptype.
2566         (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
2567
2568 Sun May 24 20:36:15 PDT 1998 Jeff Law  (law@cygnus.com)
2569
2570         * version.c: Bump for snapshot.
2571
2572 Sun May 24 02:08:57 PDT 1998 Jeff Law  (law@cygnus.com)
2573
2574         * version.c: Bump for snapshot.
2575
2576 1998-05-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2577
2578         * m68k.h: Declare more functions used in macros.
2579         (REG_CLASS_CONTENTS): Completely embrace initializer.
2580         * m68k.md (adddi3, subdi3): Add abort call to avoid warning
2581         about returning no value.
2582         * cse.c (find_best_addr): Declare p and found_better only if
2583         needed.
2584         * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
2585         * dwarfout.c (string_length_attribute): #if 0 away.
2586         * function.c (expand_function_end): Define varible blktramp only
2587         if needed.
2588         * jump.c (find_insert_position): Define only if !HAVE_cc0.
2589         * loop.c (combine_givs_p): Define variable tem only if needed.
2590         * real.c: Comment out unused functions eabs, eround,
2591         e{24,53,64,113}toasc and eiinfin.
2592
2593
2594 Sat May 23 23:44:53 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
2595
2596         * Makefile.in (boostrap2-lean, bootstrap3-lean,
2597         bootstrap4-lean): New targets.
2598
2599 Sat May 23 23:35:14 1998  Jeffrey A Law  (law@cygnus.com)
2600
2601         * warn_summary, test_summary: Moved into the contrib directory.
2602
2603 1998-05-23  Manfred Hollstein  <manfred@s-direktnet.de>
2604
2605         * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
2606         of the Makefile.
2607         (FLOAT_H_TEST): Likewise.
2608         (ENQUIRE): Likewise.
2609         (float.h-nat): Likewise.
2610         (float.h-cross): Likewise.
2611         (enquire): Likewise.
2612         (enquire.o): Likewise.
2613         (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
2614         (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
2615         no-op.
2616         (FLOAT_H): Remove old float.h-nat version; move current definition
2617         to CROSS_FLOAT_H location.
2618         (all.cross): Remove comments about enquire stuff.
2619
2620         * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
2621         (rest.encap): Likewise.
2622         (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
2623
2624         * toplev.h (tree_node): Provide global declaration to avoid
2625         `limited scope' warnings.
2626
2627 Sat May 23 23:23:35 1998   Robert Lipe  <robertl@dgii.com>
2628
2629         * test_summary: Display section breaks for each entry
2630         in a multilibbed target's output.
2631
2632 1998-05-23  Richard Henderson  <rth@cygnus.com>
2633
2634         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
2635         offset's mode is not ptr_mode, convert it.
2636
2637 1998-05-22  Jason Merrill  <jason@yorick.cygnus.com>
2638
2639         * fold-const.c (ssize_binop): New fn.
2640         * tree.h: Declare it.
2641
2642 Fri May 22 03:42:05 1998  Richard Earnshaw (rearnsha@arm.com)
2643
2644         * genextract.c (print_path): Handle zero-length path as a special
2645         case.
2646
2647 Fri May 22 01:38:07 1998  Hans-Peter Nilsson  <hp@axis.se>
2648
2649         * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
2650
2651 Fri May 22 00:57:00 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2652
2653         * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
2654         (shorten_branches, final_scan_insn): Test value of
2655         JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
2656         is defined.
2657         * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
2658         * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
2659         * arm/tcoff.h: Likewise.
2660         * i386/386bsd.h: Likewise.
2661         * i386/freebsd-elf.h: Likewise.
2662         * i386/freebsd.h: Likewise.
2663         * i386/netbsd.h: Likewise.
2664         * i386/ptx4-i.h: Likewise.
2665         * i386/sysv4.h: Likewise.
2666         * pa/pa.h: Likewise.
2667         * rs6000/linux.h: Likewise.
2668         * rs6000/rs6000.h: Likewise.
2669         * sh/sh.h: Likewise.
2670         * sparc/sp64-elf.h: Likewise.
2671         * v850/v850.h: Likewise.
2672         * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
2673         * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
2674
2675 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2676
2677         * regmove.c (gen_add3_insn): New function.
2678         (fixup_match_2): Use it instead of calling gen_addsi3.
2679
2680 Thu May 21 23:09:50 1998  Jeffrey A Law  (law@cygnus.com)
2681
2682         * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
2683
2684         * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
2685         address.
2686
2687 Thu May 21 20:18:13 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
2688
2689         * Makefile.in (TREE_H): Add tree-check.h.
2690         (tree-check.h, gencheck): New targets.
2691         * gencheck.c: New file.
2692         * tree.c (tree_check, tree_class_check): New functions.
2693         * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
2694         (TYPE_CHECK, DECL_CHECK): Define.
2695         Modify all access macros to use generated checking macros.
2696
2697 Wed May 20 23:44:28 EDT 1998  John Wehle  (john@feith.com)
2698
2699         * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
2700         * configure.in: Check for it.
2701         * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
2702         * final.c (uid_align, uid_shuid, label_align): Make static.
2703         (label_align): Change type to struct label_alignment pointer.
2704         (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
2705         (LABEL_TO_MAX_SKIP): Define.
2706         (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
2707         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
2708         (shorten_branches): Record the maximum bytes to skip when
2709         aligning a label.
2710         (final_scan_insn): Use the maximum bytes to skip when aligning a label
2711         if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
2712         * i386.h (LOOP_ALIGN_MAX_SKIP,
2713         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
2714         * i386.c (override_options): i386_align_jumps and i386_align_loops
2715         default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
2716         * invoke.texi: Document new i386 align-loops and align-jumps behavior.
2717
2718 1998-05-21  Mark Mitchell  <mmitchell@usa.net>
2719
2720         * cplus-dem.c (do_type): Handle volatile qualification.
2721
2722 Thu May 21 12:23:17 1998  Per Bothner  <bothner@cygnus.com>
2723
2724         * function.c (init_function_start):  Don't call emit_line_note if
2725         lineno is 0.  (Can happen when compiling Java .class files.)
2726
2727 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2728
2729         * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
2730         end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
2731
2732 Thu May 21 19:32:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2733
2734         * combine.c (nonzero_bits): For paradoxical subregs, take
2735         LOAD_EXTENDED_OP into account.
2736
2737 Thu May 21 11:51:15 1998  Dave Brolley  <brolley@cygnus.com>
2738
2739         * configure.in (extra_c_objs): add prefix.o.
2740         (extra_cxx_objs): extra objects for C++ with cpplib.
2741         * configure: Regenerate.
2742
2743         * c-tree.h: (get_directive_line): Different prototype for cpplib.
2744         (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
2745
2746         * c-lex.h: (get_directive_line): Not needed here for cpplib.
2747
2748         * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
2749         (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
2750
2751         * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
2752         (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
2753
2754 Thu May 21 09:04:42 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2755
2756         * gengenrtl.c (type_from_format, accessor_from_format): Change
2757         type of parameter `c' from `char' to `int'.
2758
2759 Wed May 20 22:28:34 1998  Jeffrey A Law  (law@cygnus.com)
2760
2761         * warn_summary, test_summary: New scripts from
2762         Kaveh Ghazi and Alexandre Oliva respectively.
2763
2764         * gcse.c (current_function_calls_longjmp): Declare.
2765
2766 1998-05-20  Jason Merrill  <jason@yorick.cygnus.com>
2767
2768         * dwarf2out.c (base_type_die): Use int_size_in_bytes.
2769
2770 Wed May 20 01:11:02 1998  Doug Evans (devans@cygnus.com)
2771                           Jeff Law (law@cygnus.com)
2772
2773         * Global CSE and constant/copy propagation.
2774         * Makefile.in (OBJS): Add gcse.o
2775         (STAGESTUFF): Add *.gcse.
2776         (gcse.o): Add dependencies.
2777         (mostlyclean): Remove *.gcse and */*.gcse.
2778         * gcse.c: New file.
2779         * loop.c (loop_optimize): Move call to init_alias_analysis.
2780         * recog.c (validate_replace_src): New function.
2781         * toplev.c (gcse_dump): New global variable.
2782         (flag_gcse, gcse_time): Likewise.
2783         (compile_file): Initialize gcse_time and clean out the gcse dump
2784         file if necessary.
2785         (rest_of_compilation): Call gcse_main as requested.  Dump RTL
2786         after gcse if requested.
2787         (main): Enable gcse for -O2 and above.  Handle -dG.  Enable gcse
2788         dumps for -da.
2789         * gcc.texi: Add gcse related internal documentation.
2790         * invoke.texi: Note new command line options for gcse.
2791         * tm.texi: Document AVOID_CCMODE_COPIES.
2792         * mips.h (AVOID_CCMODE_COPIES): Define.
2793
2794 Tue May 19 22:31:20 1998  Jeffrey A Law  (law@cygnus.com)
2795
2796         * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
2797         exists.
2798         (stmp-fixproto): Simlarly for running fixproto.
2799         * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
2800
2801 Tue May 19 19:08:52 1998  Jim Wilson  <wilson@cygnus.com>
2802
2803         * config/mips/mips.c (double_memory_operand): Accept any MEM during
2804         reload when TARGET_64BIT.
2805
2806 Tue May 19 18:21:25 1998  Jim Wilson  <wilson@cygnus.com>
2807
2808         Finish incomplete change started by Kenner.
2809         * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
2810         (powerpcle-*-cygwin32): Delete xm_defines.
2811         * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
2812         HAVE_STAB_H instead of NO_STAB_H.
2813         * config/xm-linux.h (NO_STAB_H): Delete.
2814         (HAVE_STAB_H): Undefine.
2815         * config/i386/xm-go32.h (NO_STAB_H): Delete.
2816
2817 1998-05-19  Jim Wilson  <wilson@cygnus.com>
2818
2819         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
2820         LANG_TYPE trees with DECL_SOURCE_LINE of 0.
2821
2822 Tue May 19 15:07:54 1998  Todd Vierling  <tv@netbsd.org>
2823
2824         * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
2825
2826 Tue May 19 17:19:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2827
2828         * reload1.c (reload_reg_free_for_value_p): New function.
2829         (allocate_reload_reg, choose_reload_regs): Use it.
2830
2831 Tue May 19 11:51:00 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
2832
2833         * except.c (expand_start_catch): Correct logic for when to
2834         generate a new handler label, and when to use the old one.
2835
2836 Tue May 19 11:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2837
2838         * Makefile.in (print-rtl.o): Depend on bitmap.h.
2839         (dbxout.o): Depend on toplev.h.
2840         ($(SCHED_PREFIX)sched.o): Likewise.
2841         ($(out_object_file)): Likewise for system.h and toplev.h.
2842         (cppmain.o): Depend on gansidecl.h.
2843         (cpplib.o): Likewise.
2844         (cpperror.o): Likewise.
2845         (cppexp.o): Likewise.
2846         (cpphash.o): Likewise.
2847         (cppalloc.o): Likewise.
2848         (fix-header.o): Depend on cpplib.h and cpphash.h.
2849         (scan-decls.o): Depend on gansidecl.h.
2850
2851         * basic-block.h (free_regset_vector): Add prototype.
2852
2853         * cccp.c (check_precompiled): Mark parameter `fname' with
2854         ATTRIBUTE_UNUSED.
2855         (do_assert): Likewise for `op' and `keyword'.
2856         (do_unassert): Likewise.
2857         (do_line): Likewise for `keyword'.
2858         (do_error): Likewise for `op' and `keyword'.
2859         (do_warning): Likewise.
2860         (do_ident): Likewise for `keyword'.
2861         (do_pragma): Likewise for `limit', `op' and `keyword'.
2862         (do_sccs): Likewise.
2863         (do_if): Likewise for `keyword'.
2864         (do_elif): Likewise.
2865         (do_else): Likewise.
2866         (do_endif): Likewise.
2867
2868         * collect2.c (getenv): Remove redundant prototype.
2869         (collect_exit, collect_execute, dump_file): Likewise.
2870         (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
2871         (dump_prefix_list): Hide prototype and definition.
2872
2873         * sparc.c: Include toplev.h.
2874         (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2875         (symbolic_memory_operand): Likewise.
2876         (sp64_medium_pic_operand): Likewise.
2877         (data_segment_operand): Likewise.
2878         (text_segment_operand): Likewise.
2879         (splittable_symbolic_memory_operand): Likewise.
2880         (splittable_immediate_memory_operand): Likewise.
2881         (eq_or_neq): Likewise.
2882         (normal_comp_operator): Likewise.
2883         (noov_compare_op): Likewise.
2884         (v9_regcmp_op): Likewise.
2885         (v8plus_regcmp_op): Likewise.
2886         (extend_op): Likewise.
2887         (cc_arithop): Likewise.
2888         (cc_arithopn): Likewise.
2889         (small_int): Likewise.
2890         (uns_small_int): Likewise.
2891         (clobbered_register): Likewise.
2892         (legitimize_pic_address): Likewise.
2893         (delay_operand): Likewise.
2894         (sparc_builtin_saveregs): Remove unused variable `stdarg'.
2895
2896         * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
2897         sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
2898
2899         * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
2900
2901         * cppalloc.c: Include gansidecl.h.
2902
2903         * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
2904         (cpp_file_line_for_message): Mark parameter `pfile' with
2905         ATTRIBUTE_UNUSED.
2906         (v_cpp_message): New function.
2907         (cpp_message): Use it.  Also convert to variable arguments.
2908         (cpp_fatal): Likewise.
2909         (cpp_pfatal_with_name): Constify parameter `name'.
2910
2911         * cppexp.c: Move gansidecl.h before cpplib.h.
2912         * cpphash.c: Likewise.
2913         * cpphash.h (hashf, delete_macro): Add prototypes.
2914
2915         * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
2916         cpplib.h.  Don't include errno.h.
2917         (update_path): Add arguments to prototype.
2918         (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
2919         cpp_print_containing_files): Remove redundant prototypes.
2920         (cpp_hash_cleanup, add_import, append_include_chain,
2921         make_assertion, path_include, initialize_builtins,
2922         initialize_char_syntax, finclude, validate_else, comp_def_part,
2923         lookup_import, redundant_include_p, is_system_include,
2924         read_name_map, read_filename_string, open_include_file,
2925         check_macro_name, compare_defs, compare_token_lists,
2926         eval_if_expression, change_newlines): Add prototype arguments.
2927         (hashf): Remove redundant prototype.
2928         (read_token_list, free_token_list, safe_read, xcalloc, savestring,
2929         conditional_skip, skip_if_group): Add prototype arguments.
2930         (fdopen): Remove redundant prototype.
2931         (do_define, do_line, do_include, do_undef, do_error, do_pragma,
2932         do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
2933         do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
2934         (struct directive): Add prototype arguments to function pointer
2935         member `func'.
2936         (handle_directive): Add missing arguments to call to `do_line'.
2937         (do_include): Mark parameters `unused1' and `unused2' with
2938         ATTRIBUTE_UNUSED.
2939         (do_line): Likewise for `keyword' and new parameters `unused1' and
2940         `unused2'.
2941         (do_error): Likewise for `keyword'.
2942         (do_warning): Likewise.  Also add missing argument `pfile' in call
2943         to cpp_pedwarn.
2944         (do_once): Mark parameter `keyword', `unused1' and `unused2' with
2945         ATTRIBUTE_UNUSED.
2946         (do_ident): Likewise for `keyword', `buf' and `limit'.
2947         (do_pragma): Likewise.  Also add missing arguments in call to do_once.
2948         (do_sccs): Mark parameter `keyword', `buf' and `limit' with
2949         ATTRIBUTE_UNUSED.
2950         (do_if): Likewise for `keyword'.
2951         (do_elif): Likewise.
2952         (eval_if_expression): Likewise for `buf' and `length'.
2953         (do_xifdef): Likewise for `unused1' and `unused2'.
2954         (do_else): Likewise for `keyword', `buf' and `limit'.
2955         (do_endif): Likewise.
2956         (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
2957         (cpp_handle_options): Remove superfluous NULL argument in call to
2958         cpp_fatal.
2959         (cpp_handle_options): Likewise.
2960         (do_assert): Mark parameter `keyword', `buf' and `limit' with
2961         ATTRIBUTE_UNUSED.
2962         (do_unassert): Likewise.
2963         (cpp_print_file_and_line): Add missing argument `pfile' in call to
2964         cpp_file_line_for_message.
2965         (v_cpp_error): New function.
2966         (cpp_error): Use it. Also accept variable arguments.
2967         (v_cpp_warning): New function.
2968         (cpp_warning): Use it. Also accept variable arguments.
2969         (cpp_pedwarn): Accept variable arguments.
2970         (v_cpp_error_with_line): New function
2971         (cpp_error_with_line): Use it.  Accept variable arguments.
2972         (v_cpp_warning_with_line): New function.
2973         (cpp_warning_with_line): Use it.  Accept variable arguments.  Hide
2974         definition.
2975         (cpp_pedwarn_with_line): Accept variable arguments.
2976         (cpp_pedwarn_with_file_and_line): Likewise.
2977         (cpp_error_from_errno): Constify parameter `name'.  Add missing
2978         argument `pfile' in call to cpp_file_line_for_message.
2979         (cpp_perror_with_name): Constify parameter `name'.
2980
2981         * cpplib.h: Define PARAMS() in terms of PROTO().
2982         (fatal): Remove redundant prototype.
2983         (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
2984         cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
2985         cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
2986         cpp_fatal, cpp_message, cpp_pfatal_with_name,
2987         cpp_file_line_for_message, cpp_print_containing_files): Add
2988         arguments to prototypes.
2989         (scan_decls, cpp_finish): Add prototypes.
2990
2991         * cppmain.c: Include gansidecl.h.
2992         (main): Remove unused variable `i'.
2993
2994         * dbxout.c: Include toplev.h.
2995
2996         * demangle.h (do_tlink, collect_execute, collect_exit,
2997         collect_wait, dump_file, file_exists): Add prototype.
2998
2999         * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
3000         prototype and definition.
3001         (gen_unspecified_parameters_die): Don't assign results of call to
3002         function new_die() to unused variable `parm_die'.
3003         (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
3004         (dwarf2out_define): Likewise for `lineno' and `buffer'.
3005
3006         * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
3007         prototype and definition.
3008         (output_die): Add prototype arguments to function pointer arg.
3009         (output_unspecified_parameters_die): Mark parameter `arg' with
3010         ATTRIBUTE_UNUSED.
3011
3012         * except.c (output_exception_table_entry): Remove unused variable
3013         `eh_entry'.
3014
3015         * except.h (expand_fixup_region_start, expand_fixup_region_end):
3016         Add prototypes.
3017
3018         * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
3019
3020         * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
3021
3022         * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
3023         before cpplib.h, include cpphash.h, remove redundant prototype of
3024         cpp_fatal, don't define `const', add a prototype for `fatal'.
3025         (cpp_file_line_for_message): Add missing arguments `pfile'.
3026         (v_cpp_message): New function.
3027         (cpp_message): Use it.
3028         (v_fatal): New function.
3029         (fatal, cpp_fatal): Use it.
3030         (cpp_pfatal_with_name): Constify parameter `name'.
3031
3032         * flow.c (free_regset_vector): Remove redundant prototype.
3033
3034         * function.c (round_down): Wrap prototype and definition with
3035         macro ARGS_GROW_DOWNWARD.
3036         (record_insns): Wrap prototype and definition with
3037         defined (HAVE_prologue) || defined (HAVE_epilogue).
3038
3039         * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
3040
3041         * gen-protos.c: Include gansidecl.h.
3042         (hashf): Don't make it static, constify parameter `name'.
3043
3044         * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
3045         specifier %s in calls to function `fatal'.
3046
3047         * haifa-sched.c: Include toplev.h.
3048         (find_rgns): Remove unused variable `j'.
3049
3050         * integrate.c (note_modified_parmregs): Mark parameter `x' with
3051         ATTRIBUTE_UNUSED.
3052         (mark_stores): Likewise.
3053
3054         * jump.c (mark_modified_reg): Likewise.
3055
3056         * output.h (insn_current_reference_address): Add prototype.
3057         (eh_frame_section): Likewise.
3058
3059         * print-rtl.c: Include bitmap.h.
3060
3061         * reload1.c (reload): Wrap variables `note' and `next' in macro
3062         PRESERVE_DEATH_INFO_REGNO_P.
3063         (forget_old_reloads_1): Mark parameter `ignored' with
3064         ATTRIBUTE_UNUSED.
3065         (choose_reload_regs): Remove unused variable `in'.
3066         (reload_cse_invalidate_mem): Mark parameter `ignore' with
3067         ATTRIBUTE_UNUSED.
3068         (reload_cse_check_clobber): Likewise.
3069
3070         * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
3071         (mark_elimination): Fix typo in prototype.
3072
3073         * scan-decls.c: Include gansidecl.h.
3074
3075         * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
3076
3077 Mon May 18 22:37:33 1998  Jeffrey A Law  (law@cygnus.com)
3078
3079         * function.c (identify_blocks): Fix thinko when setting the
3080         block number for NOTE_INSN_BLOCK_END.
3081
3082 Mon May 18 15:30:42 1998  Nick Clifton  <nickc@cygnus.com>
3083
3084         * config/v850/lib1funcs.asm: Add .text pseudo op to start of
3085         ___udivsi3.
3086
3087         * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
3088         underscores for the prefixes to the names of the maths functions.
3089
3090         * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE.  Add
3091         comment explaining why.
3092
3093 Mon May 18 13:20:23 1998  Richard Henderson  <rth@cygnus.com>
3094
3095         * tree.h (TYPE_SIZE_UNIT): New.
3096         (struct tree_type): Add size_unit member.
3097         * stor-layout.c (layout_type): Initialize it.
3098         * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
3099         * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
3100
3101 Mon May 18 12:07:37 1998  Richard Earnshaw (rearnsha@arm.com)
3102
3103         * stor-layout.c (layout_record): Fix off-by-one error when checking
3104         length of the TYPE_BINFO vector.
3105
3106 Mon May 18 10:59:23 1998  Nick Clifton  <nickc@cygnus.com>
3107
3108         * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
3109         function parameter passed in memory.
3110
3111 Mon May 18 09:02:09 1998  Robert Lipe  <robertl@dgii.com>
3112
3113         * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h:  New files.
3114         Prototypes for externally used functions in respective C files.
3115         * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
3116         final.c: Include above files.
3117         * Makefile.in (toplev.o): Add dependency for above four headers.
3118         (final.o): Likewise.
3119         (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
3120         respective header files.
3121
3122 Mon May 18 01:23:33 1998  Jeffrey A Law  (law@cygnus.com)
3123
3124         * Makefile.in (TARGET_TOOLPREFIX): No longer define.
3125         (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
3126         the build tree if they exist.
3127         (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
3128         appropriately.
3129         (objdir): Let configure substitute value.
3130         (FLOAT_H): Let configure select a pre-built version from the
3131         config subdir.
3132         * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
3133         * configure.in: Substitute for objdir.
3134
3135         * Makefile.in (build_canonical, host_canonical): Let configure
3136         substitute values for these variables.
3137         * configure.in: Substitute for build_canonical, host_canonical
3138         and target_subdir in generated Makefile.
3139
3140         * output.h (find_basic_blocks): Declare.
3141         (free_basic_block_vars, set_block_num, life_analysis): Likewise.
3142
3143         * Makefile.in (BISON): Use bison from the build tree if it exists.
3144         (FLEX): Similarly.
3145
3146 Mon May 18 00:08:19 1998  Nick Clifton  <nickc@cygnus.com>
3147
3148         * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
3149         (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
3150         (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
3151         command line arguments to see if an executable is not being
3152         created, and if so - do not append the suffix.
3153
3154         * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
3155         driver macro.
3156
3157 Sun May 17 23:59:45 1998  John Wehle  (john@feith.com)
3158
3159         * i386.h (ALIGN_DFmode): Delete.
3160         (CONSTANT_ALIGNMENT): Define.
3161         * varasm.c (force_const_mem): Use it.
3162
3163 Sun May 17 19:31:05 1998  Richard Henderson  <rth@cygnus.com>
3164
3165         * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
3166         using it with swap_condition, not before.
3167
3168 Sun May 17 13:44:32 1998  Jim Wilson  <wilson@cygnus.com>
3169
3170         * alias.c (mode_alias_check): Delete.
3171         (true_dependence, anti_dependence, output_dependence): Revert April 21
3172         change.
3173
3174 Sun May 17 08:45:21 1998  Krister Walfridsson <cato@df.lth.se>
3175
3176         * toplev.c (output_lang_identify): Enable prototype and definition.
3177
3178 Sun May 17 01:12:27 PDT 1998 Jeff Law  (law@cygnus.com)
3179
3180         * version.c: Bump for snapshot.
3181
3182 Sat May 16 23:20:32 1998  Richard Henderson  <rth@cygnus.com>
3183
3184         * alpha/osf.h (HAVE_STAMP_H): Define.
3185         * alpha.c: Use it.
3186         * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
3187         * configure.in (alpha*-*-netbsd*): New.
3188         Based on patches from Paul H. Anderson <pha@pdq.com>.
3189
3190         * configure.in (alpha*-*-linux-*): Kill xm_defines.
3191         (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
3192         * alpha/xm-linux.h: Remove file.
3193
3194 Sat May 16 18:32:45 1998  Doug Evans  <devans@canuck.cygnus.com>
3195
3196         * dbxout.c (dbxout_parms): If mode of type of parameter living
3197         in memory doesn't match mode of DECL_RTL, make big endian correction.
3198
3199 Fri May 15 21:40:06 1998  John Wehle  (john@feith.com)
3200
3201         * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
3202
3203 Fri May 15 18:55:22 1998  Jason Merrill  <jason@yorick.cygnus.com>
3204
3205         * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
3206         * stor-layout.c (layout_record): Set it.
3207
3208 Fri May 15 18:49:30 1998  Mark Mitchell  <mmitchell@usa.net>
3209
3210         * toplev.c (rest_of_compilation): Don't defer nested functions.
3211
3212 Fri May 15 17:42:52 1998  Bob Manson  <manson@charmed.cygnus.com>
3213
3214         * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
3215         to an 8-byte boundary if info_ptr->fpmem_p.
3216
3217 Fri May 15 17:36:11 1998  Bill Moyer <ttk@cygnus.com>
3218
3219         * loop.c (basic_induction_var): Added test preventing
3220         CCmode parameter passed to convert_modes().
3221
3222 Fri May 15 17:26:18 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
3223
3224         * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
3225         input_filename and lineno around expand_expr call.  Set them to values
3226         in WFL before expand_expr call.
3227
3228 Fri May 15 12:44:57 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
3229
3230         * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
3231
3232 Fri May 15 07:20:03 1998  Mark Mitchell  <mmitchell@usa.net>
3233
3234         * fold-const.c (constant_boolean_node): New function.
3235         (fold): Use it.
3236
3237 Fri May 15 11:21:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3238
3239         * sh.c (gen_shl_and): Don't sign extend constant for kind two.
3240         Abort if trying to split kind 3 or 4 outside of combine.
3241
3242 Fri May 15 01:47:37 1998  Jeffrey A Law  (law@cygnus.com)
3243
3244         * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
3245
3246 Fri May 15 01:42:45 1998  Mumit Khan <khan@xraylith.wisc.edu>
3247
3248         * objc/Make-lang.in (OBJC_O): Add missing exeext.
3249         (libobjc.a, runtime-info.h): Likewise.
3250
3251 Fri May 15 01:29:39 1998  John Wehle  (john@feith.com)
3252
3253         * i386.h (DATA_ALIGNMENT): Define.
3254
3255 Fri May 15 05:35:37 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3256
3257         * reload1.c (delete_output_reload): Ignore single USE that
3258         was emitted for the pseudo use of this INSN.
3259         If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
3260         remains, we can always delete OUTPUT_RELOAD_INSN.
3261
3262 Thu May 14 18:38:50 1998  Jim Wilson  <wilson@cygnus.com>
3263
3264         * reload.c (find_reloads): Don't penalize SCRATCH output reload.
3265
3266 Thu May 14 15:10:30 1998  Jeffrey A Law  (law@cygnus.com)
3267
3268         * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
3269
3270 Thu May 14 16:30:47 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
3271
3272         * eh-common.h: New file for basic EH data structures.
3273         * except.h: Various prototypes and structures for NEW_EH_MODEL
3274         * function.h (struct function): Add a struct eh_stack for the catch
3275         clause stack.
3276         * except.c (gen_exception_label): New function to generate an
3277         exception label.
3278         (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
3279         (push_entry): New function to push an existing entry onto a stack.
3280         (receive_exception_label): New function to emit the code required
3281         at the start of all catch blocks.
3282         (struct func_eh_entry): New structure for maintaining handlers
3283         associated with EH regions.
3284         (new_eh_region_entry): New function to register an EH region.
3285         (add_new_handler): New function to register a handler with a region.
3286         (get_new_handler): Creates  anew handler entry for registering.
3287         (find_func_region): New function to convert a NOTE eh region number
3288         to an Eh region index.
3289         (get_first_handler): New function to get the first handler in a region.
3290         (clear_function_eh_region): New function to release memory.
3291         (duplicate_handlers): New function to duplicate a list of handlers.
3292         (expand_eh_region_end): Create a new region entry node as well.
3293         (expand_leftover_cleanups): Call receive_exception_label() and
3294         register the cleanup as a handler to the current region.
3295         (expand_start_catch): New function to start a catch clause.
3296         (expand_end_catch): New function to end a catch clause.
3297         (expand_start_all_catch): restructure to not do the equivilent of
3298         what expand_start_catch() does now. Push the exception region being
3299         handled onto the catch stack.
3300         (output_exception_table_entry): Issue an entry for each handler
3301         associated with a region.
3302         (set_exception_lang_code): New function for setting the language code.
3303         (set_exception_version_code): New function to set the version number.
3304         (output_exception_table): Output version and language codes.
3305         (find_exception_handler_labels): Find handler labels using new scheme.
3306         (is_exception_handler_label): New function, returns 1 if label is
3307         present as a handler in some exception region.
3308         (check_exception_handler_labels): Use the new scheme.
3309         (init_eh_for_function): Initialize the catch stack.
3310         (save_eh_status): Save the catch stack.
3311         (restore_eh_status): Restore the catch stack.
3312         (scan_region): Don't remove unreferenced handler label. Flow does it.
3313         (get_reg_for_handler): New function to get the eh_context pointer
3314         passed by __throw.
3315         (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
3316         * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
3317         entry when processing END region rather that START region.
3318         * flow.c (find_basic_blocks_1): Find all potential handler regions
3319         now that we don't automatically know what the labels might be.
3320         Let scan_region() remove unreferenced EH BEGIN/END labels.
3321         * integrate.c (get_label_from_map): Put inlined labels onto the
3322         permanent obstack since we dont know which ones might be exception
3323         labels.
3324         (save_for_inline_copying): Make new copies of all the handlers.
3325         (expand_inline_function): Make new copies of all the handlers.
3326         * libgcc2.c: Remove local struct decls, and include eh-common.h.
3327         (find_exception_handler): With NEW_EH_MODEL the first matching
3328         region we find is the right one. Add eh_info as a new parameter.
3329         (__throw): Pass eh_info to find_exception_handler. Set handler
3330         and pass use different regs  under NEW_EH_MODEL.
3331
3332 Thu May 14 12:58:21 1998  Jim Wilson  <wilson@cygnus.com>
3333
3334         * i960.h (hard_regno_mode_ok): Changed to function from array of
3335         unsigned.
3336         (HARD_REGNO_MODE_OK): Call function instead of testing bit.
3337         * i960.c (hard_regno_mode_ok): Changed to function from array of
3338         unsigned.
3339
3340 Thu May 14 08:41:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3341
3342         * reload.c (remove_replacements): New function.
3343         * reload.h (remove_replacements): Declare.
3344         * reload1.c (choose_reload_regs): Disable some reloads that
3345         belong to inherited reloads.
3346
3347 Thu May 14 02:17:17 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3348
3349         * loop.c (scan_loop): Don't call move_moveables for optimize_size.
3350
3351         * reload1.c (merge_assigned_reloads):  When merging, reset
3352         reload_spill_index for the eliminated reload.
3353
3354 Wed May 13 17:51:13 1998  Jeffrey A Law  (law@cygnus.com)
3355
3356         * haifa-sched.c (schedule_insns): Fix merge goof.
3357
3358 1998-05-13  Jim Wilson  <wilson@cygnus.com>
3359
3360         * varasm.c (make_decl_rtl): Revert April 1 change.
3361         * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
3362         m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
3363         Get function name from the SYMBOL_REF in the DECL_RTL, not from
3364         DECL_ASSEMBLER_NAME.
3365         * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
3366         DECL_ASSEMBLER_NAME.
3367
3368 Wed May 13 13:09:19 1998  Jim Wilson  <wilson@cygnus.com>
3369
3370         * i386.c (notice_update_cc, output_float_compare): Disable
3371         TARGET_CMOVE support.
3372
3373 Wed May 13 15:28:59 1998  Michael Meissner  <meissner@cygnus.com>
3374                           Jeff Law <law@cygnus.com>
3375
3376         * rtlanal.c (find_reg_note): Ignore notes that are not on on
3377         insns of class 'i'.
3378         (find_regno_note): Likewise.
3379
3380         * Makefile.in (stor-layout.o): Depend on except.h
3381         (varasm.o, function.o): Likewise.
3382         (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
3383
3384         * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
3385         (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
3386         ($(HOST_PREFIX_1)rtl.o): Likewise.
3387         ($(HOST_PREFIX_1)bitmap.o): New host object.
3388         * emit-rtl.c (toplevel): Include bitmap.h.
3389         (gen_rtx): Handle 't' and 'b' nodes.
3390         * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
3391         Print block number for block begin/end notes.  Print 't' type
3392         nodes as a pointer.  Know that the 3rd argument of live range
3393         start/stop notes is really a range_info rtx.  If type is 'b', print
3394         out argument as a bitmap.
3395         * rtl.c: Include bitmap.c.
3396         (copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
3397         (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
3398         * rtl.def (RANGE_LIVE): New node to hold live information while we
3399         recalculate the basic blocks.
3400         (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
3401         (RANGE_VAR): New node, to hold information saved in symbol node for New
3402         communicating live range information to the debug output functions.
3403         * rtl.h (rtunion_def): Add rttree and rtbit fields.
3404         (XBITMAP, XTREE): New accessor macros.
3405         (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
3406         (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
3407         (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
3408         (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
3409         (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
3410         (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
3411         (RANGE_INFO_*): Likewise.
3412         * sched.c (sched_analyze): Keep live range start/stop notes.
3413         (unlink_other_notes): Likewise.
3414         * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
3415         (unlink_other_notes): Likewise.
3416         * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
3417         (BLOCK_LIVE_RANGE_FLAG): Likewise.
3418         (DECL_LIVE_RANGE_RTL): Likewise.
3419         (struct tree_block): Add live_range_flag, live_range_var_flag,
3420         live_range_start and live_range_end.
3421         (struct tree_decl): Add live_range_rtl field.
3422         * gengenrtl.c (type_from_format): Handle 'b' and 't'.
3423         (accessor_from_format): Likewise.
3424
3425         * haifa-sched.c (schedule_block): Make verbose output line up.
3426         Also add a blank line in printing the individual ready lists.
3427
3428 Wed May 13 15:43:44 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3429
3430         * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
3431         (c-lex.o): Depend on output.h.
3432         (c-common.o): Likewise.
3433         (stmt.o): Likewise.
3434         (calls.o): Likewise.
3435         (integrate.o): Depend on toplev.h.
3436         (regclass.o): Depend on output.h.
3437         (final.o): Depend on reload.h.
3438
3439         * c-common.c: Include output.h.
3440         (check_format_info): Remove unused variable `integral_format'.
3441
3442         * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
3443         `indent' with ATTRIBUTE_UNUSED.
3444         (print_lang_type): Likewise.
3445         (maybe_build_cleanup): Likewise for parameter `decl'.
3446         (copy_lang_decl): Likewise for parameter `node'.
3447
3448         * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
3449         (lang_print_xnode): Mark parameters `file', `node' and `indent'
3450         with ATTRIBUTE_UNUSED.
3451         (lookup_interface): Likewise for parameter `arg'.
3452         (is_class_name): Likewise.
3453         (maybe_objc_check_decl): Likewise for parameter `decl'.
3454         (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
3455         `reflexive'.
3456         (maybe_objc_method_name): Likewise for parameter `decl'.
3457         (build_objc_string): Likewise for parameters `len' and `str'.
3458
3459         * c-lex.c: Include output.h.
3460
3461         * c-lex.h (position_after_white_space): Correct typo in prototype.
3462
3463         * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
3464         c_expand_end_cond, init_iterators): Add prototypes.
3465
3466         * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
3467         with ATTRIBUTE_UNUSED.
3468
3469         * calls.c: Include output.h.
3470
3471         * cccp.c (pipe_closed): Mark parameter `signo' with
3472         ATTRIBUTE_UNUSED.
3473
3474         * combine.c: Move inclusion of expr.h to after insn-config.h.
3475
3476         * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
3477         as empty, rather define as ((void)0).
3478
3479         * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
3480         Add parentheses around assignment used as truth value.
3481
3482         * cplus-dem.c (squangle_mop_up): Change return type to void.
3483         (internal_cplus_demangle): Remove unused parameter `options'.
3484         All callers changed.
3485         (cplus_demangle_opname): Remove function wide variable `int i' and
3486         replace with `size_t i' at each location where it is used.
3487         (cplus_demangle_opname): change type of `i' from int to size_t.
3488
3489         * cppexp.c (right_shift): Mark parameter `pfile' with
3490         ATTRIBUTE_UNUSED.
3491
3492         * cpphash.c (cpp_lookup): Likewise.
3493         (cpp_hash_cleanup): Likewise.
3494
3495         * cpplib.c (parse_name): Add a prototype and make it static.
3496         (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
3497         (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
3498         (macro_cleanup): Likewise for parameter `pfile'.
3499         (file_cleanup): Likewise.
3500
3501         * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
3502         cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
3503
3504         * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
3505         __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
3506
3507         * cse.c (cse_check_loop_start): Mark parameter `set' with
3508         ATTRIBUTE_UNUSED.
3509
3510         * dbxout.c (flag_minimal_debug, have_used_extensions,
3511         source_label_number): Move inside macro wrapper check against
3512         defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
3513
3514         * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
3515
3516         * except.h (doing_eh): Provide prototype.
3517
3518         * expr.c: Move inclusion of expr.h to after insn-config.h.
3519
3520         * final.c: Include reload.h.
3521         (shorten_branches): Cast the first argument of bzero to char *.
3522
3523         * fix-header.c (cpp_print_containing_files): Mark parameter
3524         `pfile' with ATTRIBUTE_UNUSED.
3525         (cpp_fatal): Likewise.
3526
3527         * flow.c (find_basic_blocks_1): Cast the first argument of bzero
3528         to char *.
3529
3530         * genattrtab.c (make_length_attrs): Change the type of variable
3531         `i' from int to size_t.
3532         (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
3533         (one_fn): Likewise.
3534
3535         * genextract.c (main): When generating insn-extract.c, mark
3536         variable `junk' with ATTRIBUTE_UNUSED.
3537
3538         * gengenrtl.c (gencode): When generating genrtl.c, cast the first
3539         argument of bzero to char*.
3540
3541         * integrate.c: Include toplev.h.
3542
3543         * libgcc2.c: Wrap `struct exception_table' and
3544         `find_exception_handler' in macro DWARF2_UNWIND_INFO.
3545
3546         * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
3547
3548         * objc/objc-act.c: Include toplev.h.
3549         (lang_print_xnode): Mark parameters `file', `node' and `indent'
3550         with ATTRIBUTE_UNUSED.
3551         (finish_protocol): Likewise for parameter `protocol'.
3552
3553         * output.h (declare_weak): Add prototype.
3554         (decode_reg_name): Don't wrap with TREE_CODE macro.
3555         (assemble_alias): Add prototype.
3556
3557         * regclass.c: Include output.h.
3558
3559         * reload.h (reloads_conflict): Add prototype.
3560
3561         * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
3562         output_func_start_profiler): Add prototypes.
3563
3564         * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
3565         ATTRIBUTE_UNUSED.
3566
3567         * scan-decls.c: Include scan.h.
3568
3569         * scan.h (recognized_function, recognized_extern): Add prototypes.
3570
3571         * stmt.c: Include output.h.
3572
3573         * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
3574         (output_lang_identify): Hide prototype and definition.
3575         (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
3576         (pipe_closed): Likewise.
3577
3578         * toplev.h (count_error, strip_off_ending, error_for_asm,
3579         warning_for_asm): Add prototypes.
3580
3581 Wed May 13 12:54:19 1998  Michael Meissner  <meissner@cygnus.com>
3582
3583         * toplev.c (rest_of_compilation): "Charge" final for any time
3584         doing various cleanup operations after finishing compilation
3585         of a function.
3586
3587         * flow.c (dump_flow_info): Also print number of sets and
3588         whether or not the pseudo is a user variable.
3589
3590         * flow.c (reg_n_max): New global variable.
3591         * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
3592         Delete regno_max variable.
3593         * regs.h (REG_N_CHECK): Define.
3594         (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
3595         (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
3596         (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
3597
3598 Wed May 13 12:54:19 1998  Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
3599
3600         * acconfig.h (ENABLE_CHECKING): Undefine.
3601         * configure.in (--enable-checking): New option.
3602
3603 Wed May 13 08:52:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3604
3605         * reload1.c (merge_assigned_reloads):  Can merge
3606         RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
3607         if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
3608
3609 Tue May 12 20:05:57 1998  Jim Wilson  <wilson@cygnus.com>
3610
3611         * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
3612
3613 Wed May 13 03:23:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3614
3615         * reload1.c (gen_reload): Create REG_EQUIV notes.
3616
3617 Tue May 12 22:21:07 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3618
3619         * reload1.c (reload): Fix check for USEs to use code of pattern.
3620         (choose_reload_regs): Remove dead variable use_insn.
3621
3622 Tue May 12 14:04:49 1998  Jeffrey A Law  (law@cygnus.com)
3623
3624         * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
3625
3626 Tue May 12 15:16:02 1998  Michael Meissner  <meissner@cygnus.com>
3627
3628         * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
3629         already defined.
3630         (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
3631         (insn_{unit,issue_delay}): Ditto.
3632         (blockage_range): Ditto.
3633         (actual_hazard{,_this_instance}): Ditto.
3634         (schedule_unit): Ditto.
3635         (potential_hazard): Ditto.
3636         (insn_cost): Ditto.
3637         (swap_sort): Ditto.
3638         (queue_insn): Ditto.
3639         (birthing_insn_p): Ditto.
3640         (adjust_priority): Ditto.
3641         (get_block_head_tail): Ditto.
3642         (init_rgn_data_dependences): Ditto.
3643
3644 Tue May 12 10:27:54 1998  Klaus Kaempf  <kkaempf@progis.de>
3645
3646         * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
3647
3648 Tue May 12 11:44:14 1998  Gavin Koch  <gavin@cygnus.com>
3649
3650         * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
3651
3652 Tue May 12 11:38:31 1998  Gavin Koch  <gavin@cygnus.com>
3653
3654         * config/mips/mips.md (dslot): Move after definition of "cpu"
3655         attribute.  Handle r3900 case.
3656
3657 Tue May 12 10:21:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3658
3659         * system.h: Define the STRINGIFY macro here.
3660         * protoize.c: Not here.
3661         * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
3662
3663 Tue May 12 00:47:33 1998  John Wehle  (john@feith.com)
3664
3665         * varasm.c (assemble_variable): Compute the alignment of the data
3666         earlier so that both initialized and uninitialized variables are
3667         effected by DATA_ALIGNMENT.
3668         * tm.texi (DATA_ALIGNMENT): Updated appropriately.
3669
3670 Mon May 11 19:57:58 1998  Jeffrey A Law  (law@cygnus.com)
3671
3672         * mips.c: Prototype static functions.
3673
3674 Mon May 11 17:43:03 1998  Jim Wilson  <wilson@cygnus.com>
3675
3676         * regmove.c (fixup_match_2, find_matches, regmove_profitable):
3677         Add explanatory comments.
3678
3679         * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
3680
3681 Mon May 11 17:24:27 1998  Richard Henderson  <rth@cygnus.com>
3682
3683         * sparc.md (ffsdi2): Disable.  Simplify the expression as well.
3684
3685 Mon May 11 13:30:44 1998  Jim Wilson  <wilson@cygnus.com>
3686
3687         * varasm.c (make_decl_rtl): Disable April 1 change.
3688
3689 Mon May 11 09:14:41 1998  Richard Henderson  <rth@cygnus.com>
3690
3691         * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
3692
3693 Mon May 11 08:24:18 1998  Richard Henderson <rth@cygnus.com>
3694
3695         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
3696         * alpha.c (print_operand): Handle it.
3697         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
3698         related define_splits.  Also add peepholes for SImode reload
3699         plus sign_extend lossage.
3700
3701 Mon May 11 09:33:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3702
3703         * genattr.c: Include stdarg.h/varargs.h.  Change function
3704         `fatal' to use variable arguments instead of faking it with
3705         integer parameters.  Provide a prototype which also
3706         checks the format specifiers using ATTRIBUTE_PRINTF_1.
3707
3708         * genattrtab.c: Likewise.
3709         * gencodes.c: Likewise.
3710         * genconfig.c: Likewise.
3711         * genemit.c: Likewise.
3712         * genextract.c: Likewise.
3713         * genflags.c: Likewise.
3714         * genopinit.c: Likewise.
3715         * genpeep.c: Likewise.
3716         * genrecog.c: Likewise.
3717         * genoutput.c: Likewise.  Similarly for function `error'.
3718
3719 Sun May 10 02:27:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3720
3721         * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
3722         * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
3723         * configure.in: Use GCC_C_VOLATILE.
3724         * system.h (volatile): Define as empty if no volatile support is
3725         available.
3726
3727 Sun May 10 01:21:43 1998  Jeffrey A Law  (law@cygnus.com)
3728
3729         * genemit.c (output_add_clobbers): Removed unused variable 'i' from
3730         generated fucntion.
3731
3732 Sat May  9 02:02:15 1998  Richard Henderson  <rth@cygnus.com>
3733
3734         * loop.c (get_condition): Don't combine when either compare is MODE_CC.
3735         * alpha.c (alpha_emit_conditional_branch): New function.  Taken from
3736         the body of beq; additionally set the mode of the branch to CCmode for
3737         FP compares and not fast_math.
3738         (alpha_emit_conditional_move): Always use a compare insn for FP
3739         when not fast_math, as well as setting CCmode on the cmov.
3740         * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
3741
3742         * machmode.h (COMPLEX_MODE_P): New macro.
3743
3744 Sat May  9 01:53:23 1998  Richard Henderson  <rth@cygnus.com>
3745
3746         * haifa-sched.c (print_exp): Fix typo.
3747
3748 Fri May 8 21:48:50 PDT 1998 Jeff Law  (law@cygnus.com)
3749
3750         * version.c: Bump for snapshot.
3751
3752 Fri May  8 18:23:08 1998  Michael Meissner  <meissner@cygnus.com>
3753
3754         * final.c (final_scan_insn): Call fatal_insn instead of abort if
3755         we could not split an insn when required to.
3756
3757         * m32r.md ({add,sub}di3): Add define_splits and appropriate low
3758         level insns.
3759         (peepholes): Disable peepholes that call dead_or_set_p.
3760         (movsi): Rewrite to handle addresses better after last change.
3761         Add define_split to split load of addresses in large/medium modes.
3762         (prologue): Call m32r_expand_prologue.
3763         (movsi_{push,pop}): Generators for push/pop.
3764         (movsi): Support PRE_{INC,DEC}, POST_INC.
3765         (mov{di,df}): Rewrite.  Always split the insns.
3766         (movsf): Add define_split to get register load in correct mode.
3767         (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
3768         (attributes): Rewrite attributes so that type indicates both the
3769         type and the length of the insn directly.
3770         (all insns): Change to use new type attributes.
3771         (debug): New attribute to convey whether -mdebug was used.
3772         (opt_space): New attribute to convey whether -Os was used.
3773         (function units): Loads are 3 cycles, not 2.  Better classify all
3774         insns into short/long.
3775         (load/store/extend insns): Add separate case for load/store
3776         indirect operations without an offset.
3777         (divsi3): Division is a long operation, not short.
3778
3779         * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
3780         modes > 1 word.
3781         (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
3782         (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
3783         (EXTRA_CONSTRAINT): Remove 'S' special support.  Add 'U' for
3784         operands with PRE_{INC,DEC}, POST_INC.
3785         (FUNCTION_PROFILER): Call abort instead of doing nothing.
3786         (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
3787         SImode variables.
3788         (gen_split_move_double): Declare.
3789         (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
3790
3791         * m32r.c (gen_split_move_double): Fix typo.  Also, don't call
3792         emit_move_insn, build up SET's directly.
3793         (toplevel): Include system.h, not stdio.h.
3794         (move_double_src_operand): Allow any DF or DI mode constant.
3795         (gen_split_move_double): Split moves of DI or DF values into the
3796         appropriate moves, loads, or stores.  Don't handle use of auto
3797         inc/dec if using dead index.  Do handle overlapping moves, etc.
3798         (m32r_frame_info): Remove prologue_size field.
3799         (m32r_compute_frame_size): Don't calculate prologue size.
3800         (m32r_output_function_prologue): Change to pretty much a NOP.
3801         (m32r_expand_prologue): Expand prologue as a series of INSNs.
3802         (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
3803         (m32r_print_operand_address): Ditto.
3804
3805 Fri May  8 14:13:21 1998  H.J. Lu  (hjl@gnu.org)
3806
3807         * reload1.c (emit_reload_insns): When performing expensive
3808         optimizations, do not output the last reload insn if OLD is
3809         not the dest of NSN and is in the src and is clobbered by INSN.
3810
3811 Fri May  8 09:47:29 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3812
3813         * Makefile.in (genrtl.o): Depend on system.h.
3814         * gengenrtl.c (gencode): When creating genrtl.c, have it
3815         include system.h.
3816
3817 Fri May  8 10:57:33 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3818
3819         * config/m68k/t-linux: Remove extra stuff already included in
3820         config/t-linux.
3821
3822 Fri May  8 09:53:24  Paul Eggert  <eggert@twinsun.com>
3823
3824         * fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
3825         curses.h if it contains `typedef char bool;', as suggested by
3826         Manfred Hollstein <manfred@s-direktnet.de>.
3827
3828         * configure.in: Rename fixinc.math to fixinc.wrap.
3829
3830 Thu May  7 19:26:34 1998  Jim Wilson  <wilson@cygnus.com>
3831
3832         * gcc.c (read_specs): Handle missing blank line at end of specs file.
3833
3834         * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
3835         movdfcc_1): Disable.
3836
3837 Thu May  7 15:39:14 1998  Jim Wilson  <wilson@cygnus.com>
3838
3839         * configure.in (enable_threads): Rename to enable_threads_flag before
3840         main loop.  Set enable_threads to enable_threads_flag inside main
3841         loop.
3842
3843 Thu May  7 17:38:03 1998  Michael Meissner  <meissner@cygnus.com>
3844
3845         * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
3846         multiple times.
3847
3848 Thu May  7 14:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3849
3850         * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
3851
3852         * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
3853         (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
3854         (AC_CHECK_FUNCS): Remove unused check for vprintf.
3855
3856         * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
3857         (cccp.o): Depend on gansidecl.h.
3858         (cexp.o): Likewise.
3859
3860         * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
3861         per the rest of gcc source.
3862         * cexp.y: Likewise.  Include gansidecl.h and remove all code made
3863         redundant.
3864
3865         * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
3866         used when vfprintf is missing.
3867         * cexp.y: Likewise.
3868         * gcc.c: Likewise.
3869         * genattrtab.c: Likewise.
3870         * mips-tfile.c: Likewise.
3871         * toplev.c: Likewise.
3872
3873         * vfprintf.c: New file.
3874         * doprint.c: New file.
3875
3876 Thu May  7 10:18:41 1998  Jeffrey A Law  (law@cygnus.com)
3877
3878         * config/linux.h (ASM_COMMENT_START): Remove from here,
3879         * config/linux-aout.h (ASM_COMMENT_START): and here,
3880         * config/i386/linux.h (ASM_COMMENT_START): to here,
3881         * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
3882         * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
3883         here as '#' too.
3884
3885 Thu May  7 10:55:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3886
3887         * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
3888         constant.
3889
3890 Wed May  6 22:32:37 CDT 1998 Robert Lipe  <robertl@dgii.com>
3891
3892         * Makefile.in (dwarfout.o) Add toplev.h dependency.
3893         * dwarfout.c, i386.c: Include toplev.h
3894         * toplev.h: (pfatal_with_name) Add prototype.
3895
3896 Wed May  6 19:02:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
3897
3898         * Makefile.in: Fix .SUFFIXES.
3899
3900 Wed May  6 19:31:32 1998  Alan Modra <alan@spri.levels.unisa.edu.au>
3901
3902         * config/linux.h (ASM_COMMENT_START): Define as "#".
3903         * config/linux-aout.h (ASM_COMMENT_START): Likewise.
3904
3905 Wed May  6 15:51:39 1998  Jim Wilson  <wilson@cygnus.com>
3906
3907         * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
3908         * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
3909
3910         * toplev.c: Include toplev.h.
3911         * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
3912         c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
3913         dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
3914         hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
3915         reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
3916         toplev.h dependency.
3917
3918         * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
3919         HARD_FRAME_POINTER_REGNUM.
3920
3921         * expr.c (target_temp_slot_level): Delete duplicate definition.
3922
3923 Wed May  6 16:46:01 1998  Jeffrey A Law  (law@cygnus.com)
3924
3925         * stmt.c (mark_seen_cases): Make it have external linkage again.
3926         * expr.h (mark_seen_cases): Add declaration, but only when tree.h
3927         has been included.
3928
3929         * haifa-sched.c (print_value, case SUBREG): Fix typo.
3930
3931         * i386.c (output_387_binary_op): Add some braces to avoid warnings.
3932         * i386.h (REG_CLASS_CONTENTS): Similarly.
3933
3934         * toplev.c (-fsched-max): Delete flag.
3935         (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
3936         * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
3937         and -fsched-interblock-max-insns-N support.  Remove INTERBLOCK_DEBUG
3938         conditionals.
3939
3940         * haifa-sched.c (find_rgns): Correctly handle reducible loops with
3941         inner loops which are not reducible.
3942
3943         * loop.c (regs_match_p): Fix typo in prototype.
3944
3945         * regmove.c (try_auto_increment): Wrap declaration inside an
3946         #ifdef AUTO_INC_DEC.
3947
3948 Wed May  6 17:07:47 1998  Michael Meissner  <meissner@cygnus.com>
3949
3950         * final.c (output_operand_lossage): Call fatal with the operand
3951         lossage message instead of calling abort.
3952
3953 Wed May  6 15:37:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3954
3955         * c-common.c: Convert to using ctype macros defined in system.h.
3956         * c-lex.c: Likewise.
3957         * cccp.c: Likewise.
3958         * collect2.c: Likewise.
3959         * rs6000.c: Likewise.
3960         * cpplib.c: Likewise.
3961         * fix-header.c: Likewise.
3962         * gcc.c: Likewise.
3963         * gen-protos.c: Likewise.
3964         * pexecute.c: Likewise.
3965         * protoize.c: Likewise.
3966         * rtl.c: Likewise.
3967         * scan.c: Likewise.
3968         * stmt.c: Likewise.
3969         * tlink.c: Likewise.
3970         * toplev.c: Likewise.
3971
3972 Wed May  6 14:44:14 1998  Gavin Koch  <gavin@cygnus.com>
3973
3974         * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
3975         Replace -gdwarf-2 with -g0.
3976
3977 Wed May  6 11:43:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3978
3979         * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
3980         * mips-tdump.c: Include system.h, remove redundant headers.
3981         * mips-tfile.c: Likewise.  Also, convert all ctype function calls
3982         to calls of the macro versions defined in system.h.
3983
3984         * objc/Make-lang.in (objc-act.o): Depend on system.h.
3985         * objc/objc-act.c: Include system.h, remove redundant headers.
3986
3987 Wed May  6 11:21:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3988
3989         * configure.in (AC_CHECK_FUNCS): Add isascii.
3990         (GCC_NEED_DECLARATIONS): Add atof.
3991
3992         * system.h: Provide prototypes for abort, atof, atol and sbrk here.
3993         * rtl.c, rtl.h, toplev.c, tree.h: Not here.
3994
3995 Wed May  6 10:52:49 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3996
3997         * system.h: Wrap time.h and sys/file.h in autoconf checks.
3998         Provide default definitions for O_RDONLY and O_WRONLY here.
3999
4000         * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
4001
4002 1998-05-06 Mark Mitchell  <mmitchell@usa.net>
4003
4004         * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
4005
4006 Wed May  6 06:35:38 1998  Robert Lipe  <robertl@dgii.com>
4007
4008         * toplev.h: New file.   Protypes for functions in toplev.c.
4009         * tree.h, rtl.h: Deleted protos for functions in toplev.c.
4010         * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
4011         c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
4012         convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
4013         function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
4014         reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
4015         varasm.c: include it.
4016
4017 Wed May  6 01:09:01 1998  Jeffrey A Law  (law@cygnus.com)
4018                           Jim Wilson (wilson@cygnus.com)
4019
4020         * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
4021         blocks.  Check for 1 successor which is the EXIT_BLOCK.
4022
4023         * haifa-sched.c (find_rgns): Detect unreachable blocks, including
4024         unreachable loops with more than one block.
4025
4026 Wed May  6 08:22:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4027
4028         * fix-header.c (write_rbrac): Add "abort" to functions which need to
4029         be protected.
4030
4031 Wed May  6 00:09:36 1998  Jeffrey A Law  (law@cygnus.com)
4032
4033         * Check in merge from gcc2.  See ChangeLog.12 for details.
4034
4035 Tue May  5 14:33:49 1998  Jim Wilson  <wilson@cygnus.com>
4036
4037         * c-common.c (scan_char_table): Separate 's' and 'c'.  'c' does not
4038         accept 'a' flag.  'S' does accept 'a' flag.
4039         (check_format_info): When pedantic, warn for m/C/S/a/A formats,
4040         and `a' flag.
4041
4042         * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
4043
4044 Tue May  5 10:50:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4045
4046         * config/m68k/m68k.h: Declare functions from m68k.c used in
4047         macros and machine description.
4048         (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
4049         long values.
4050         (ASM_OUTPUT_FLOAT): Likewise.
4051         (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4052
4053 Tue May  5 01:28:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
4054
4055         * tree.def: Add NAMESPACE_DECL.
4056         * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
4057         * dwarf2out.c (push_decl_scope): Likewise.
4058         (scope_die_for): Likewise.
4059         * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
4060         how to get next context level.
4061
4062 Tue May  5 01:43:16 1998  Jim Wilson  <wilson@cygnus.com>
4063
4064         * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
4065         case.
4066
4067 Tue May  5 01:15:06 1998  Jeffrey A Law  (law@cygnus.com)
4068
4069         * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
4070
4071         * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
4072         for any insns skipped at the start of a block because they were
4073         redundant.
4074
4075 Mon May  4 20:23:51 1998  Jim Wilson  <wilson@cygnus.com>
4076
4077         * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
4078
4079 1998-05-04  Ulrich Drepper  <drepper@cygnus.com>
4080
4081         * c-common.c (format_char_info): Add new field hhlen.
4082         (print_char_table, scan_char_table, time_char_table): Initialize
4083         hhlen field appropriately.
4084         (char_format_info): Recognize hh modifier and lookup correct char
4085         table entry.
4086
4087 Mon May  4 19:15:29 1998  Jim Wilson  <wilson@cygnus.com>
4088
4089         * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
4090         reference if this is a store.
4091
4092 Mon May  4 17:25:17 1998  Richard Henderson  <rth@cygnus.com>
4093
4094         * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
4095
4096 Sun May  3 23:57:25 1998  Robert Lipe   <robertl@dgii.com>
4097
4098         Make UnixWare 7 bootstrap support work with final shipping product.
4099         * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
4100         Pick up xm-siglist and xm-alloca.
4101         (xm_defines): Add USG so dbxout will build.
4102         * configure: Regenerate.
4103
4104 Sun May  3 13:51:34 PDT 1998  Richard Henderson  <rth@cygnus.com>
4105
4106         Support for official Sparc V9 ABI:
4107         * sparc.c (sparc_override_options): Force stack bias off for !arch64.
4108         Care for flag_pcc_struct_return default.
4109         (output_move_quad): Rewrite to move by halves on v9 and in the
4110         proper direction.
4111         (move_quad_direction): New function.
4112         (output_fp_move_quad): Use it to determine the direction of copy.
4113         (function_arg_slotno): Return -1 for FP reg overflow as well.
4114         (function_arg_record_value*): New functions.
4115         (function_arg): Use them.  Streamline unprototyped parameter passing.
4116         (function_arg_pass_by_reference): Pass TCmode by reference.
4117         (function_value): New function.
4118         * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
4119         long long in 64-bit mode.
4120         (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
4121         (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
4122         (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
4123         (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
4124         (BASE_INCOMING_ARG_REG): Likewise.
4125         (FUNCTION_VALUE): Call function_value.
4126         (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
4127         * sparc.md (movdi_sp32_v9): Disable for arch64.
4128         (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
4129         (call_value_address_sp64): Remove register class constraints.
4130         (call_value_symbolic_sp64): Likewise.
4131         (nonlocal_goto): Pass label reg directly to goto_handlers.  Constrain
4132         v9 case to 32-bit constants.
4133         (goto_handler_and_restore_v9): Provide a version for arch64.
4134         * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
4135         * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
4136         (CPP_PREDEFINES): New.
4137         * sparc/sp64-elf.h: Likewise.
4138         (PREFERRED_DEBUGGING_TYPE): Dwarf2.
4139         (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
4140         * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
4141
4142 Sat May 2 17:47:17 PDT 1998 Jeff Law  (law@cygnus.com)
4143
4144         * version.c: Bump for snapshot.
4145
4146 Sat May  2 01:37:29 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4147
4148         * reload.c (find_reloads): Emit USEs to mark where a pseudo
4149         is reloaded with the MEM of its stack slot.
4150         * reload1.c (cannot_omit_stores): Delete.
4151         (reload): Don't initialize it.
4152         Don't apply avoid_return_reg logic to USEs.
4153         When done, remove USEs that have a REG_EQUAL note on them.
4154         (emit_reload_insns): Handle case where we have inherited a MEM.
4155         (choose_reload_regs): Likewise.
4156         (delete_output_reload): Don't use cannot_omit_stores.
4157
4158 Thu Apr 30 18:59:03 1998  Jim Wilson  <wilson@cygnus.com>
4159
4160         * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
4161
4162 Thu Apr 30 16:57:34 1998  Michael Meissner  <meissner@cygnus.com>
4163
4164         * haifa-sched.c (print_{exp,value}): Various changes to make the
4165         debug output easier to read.  Also, use only one buffer, and make
4166         sure the buffer we are passed in doesn't overflow.
4167         (safe_concat): Concatenate to a buffer without overflow.
4168
4169 Thu Apr 30 16:57:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4170
4171         * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
4172         with the prototype.
4173
4174 Wed Apr 29 21:45:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4175
4176         * sched.c (new_insn_dead_notes): Check if the register was
4177         used in the original instruction.
4178         * haifa-sched.c (new_insn_dead_notes): Likewise.
4179
4180 Wed Apr 29 13:46:03 1998  Jim Wilson  <wilson@cygnus.com>
4181
4182         * dwarf2out.c (scope_die_for): If could not find proper scope,
4183         check for and handle tagged type with incorrect TYPE_CONTEXT.
4184
4185 Wed Apr 29 15:34:40 1998  John Carr  <jfc@mit.edu>
4186
4187         * calls.c (expand_call): Fix recognition of C++ operator new.
4188
4189         * alias.c (mode_alias_check): Disable type based alias detection.
4190
4191 Wed Apr 29 15:06:42 1998  Gavin Koch  <gavin@cygnus.com>
4192
4193         * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
4194         ASM_OUTPUT_WEAK_ALIAS): Define.
4195         * config/mips/elf64.h: Same.
4196         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
4197         ASM_WEAKEN_LABEL): Removed.
4198
4199 Wed Apr 29 10:53:29 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4200
4201         * calls.c (expand_call): Bump the length limit on the specially
4202         recognized function names to 17.
4203
4204 Tue Apr 28 17:53:33 1998  Jim Wilson  <wilson@cygnus.com>
4205
4206         * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
4207         when undefining macros at the end.
4208
4209         * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
4210         val or len has TREE_SIDE_EFFECTS set.
4211
4212         * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
4213         (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
4214         (smuldi3_highpart): Call const v8plus routine.
4215         (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
4216         (const_smulsi3_highpart_v8plus): New pattern.
4217         (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
4218         (umulsidi3): Call const v8plus routine.
4219         (umulsi3_highpart): Handle const before v8plus.  Call const v8plus
4220         routine.
4221         (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
4222         (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
4223
4224 Tue Apr 28 08:55:26 1998  Michael Meissner  <meissner@cygnus.com>
4225
4226         * m32r.c (*_oper{and|ator}): Change enum arguments and return
4227         values to int, so they can be prototyped even in files that don't
4228         include rtl.h.
4229         ({small,large}_insn_p): Ditto.
4230         (m32r_select_cc_mode): Ditto.
4231         (gen_compare): Ditto.
4232         (function_arg_partial_nregs): Ditto.
4233         (m32r_setup_incoming_varargs): Ditto.
4234         (init_reg_tables): Add prototype.
4235         (m32r_frame_info): Add prolog_size field.
4236         (m32r_compute_frame_size): Calculate the size of the prologue.
4237         (m32r_first_insn_address): Return prologue size.
4238         (m32r_output_function_prologue): Calculate frame size before
4239         printing out information.  Print out the prologue size.
4240
4241         * m32r.h: Prototype all functions in m32r.c.
4242         (FIRST_INSN_ADDRESS): Declare, returning prologue size.
4243
4244         * m32r.md (bcc functions): Cast enum's to int.
4245
4246         * m32r.c (conditional_move_operand): Silence a debug message.
4247         ({small,long}_insn): New predicates.
4248
4249         * m32r.h (TARGET_M32R): New macro.
4250         (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
4251         (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
4252         was selected.
4253         (ISSUE_RATE): Define as 2.
4254
4255         * m32r.md (insn_size): New attribute.
4256         ({,rev_}branch_insn): Add .s qualifier to branches believed to be
4257         short.
4258         (m32r): New attribute.
4259
4260         * configure.in (enable_haifa): Switch m32r to Haifa by default.
4261         * configure: Regenerate.
4262
4263         (Changes from Nick Clifton <nickc@cygnus.com>)
4264         * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
4265         the equivalent of a negated 'I' constraint.
4266         (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
4267         optimisation to work.
4268
4269         * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
4270         than 'I' since the value is negated.
4271         (peephole): Add peephole optimisation to cope with optimization of
4272         divide and subtracts of the same operands.
4273
4274         * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
4275         * m32r.h: Ditto.
4276         * m32r.md: Ditto.
4277
4278         * m32r.h (PREDICATE_CODES): Add declaration of machine specific
4279         predicates.
4280
4281 Tue Apr 28 07:25:53 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4282
4283         * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
4284
4285 Mon Apr 27 18:39:47 1998  Nick Clifton  <nickc@cygnus.com>
4286
4287         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
4288         frame_pointer_rtx not FRAME_POINTER_REGNUM.
4289
4290 Mon Apr 27 18:36:28 1998  Jim Wilson  <wilson@cygnus.com>
4291
4292         * reg-stack.c: Revert last patch (Apr 20).
4293         (convert_regs): Set insn to PREV_INSN (next) after do while loop.
4294
4295         * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
4296
4297         * loop.c (check_dbra_loop): New locals jump, first_compare, and
4298         compare_and_branch.  Call get_condition to set first_compare.
4299         Set compare_and_branch to number of compare/branch instructions.
4300         Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
4301         Replace '2' with compare_and_branch.
4302
4303 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4304
4305         * cplus-dem.c (demangle_qualified): Replace missing else.
4306
4307 Mon Apr 27 20:22:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4308
4309         * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
4310
4311 Mon Apr 27 18:23:51 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4312
4313         * sh.c (sh_expand_prologue, sh_expand_epilogue):
4314         If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
4315         * sh.h (STACK_BOUNDARY): Likewise.
4316
4317 Mon Apr 27 17:22:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4318
4319         * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4320
4321 Mon Apr 27 08:55:23 1998  Michael Meissner  <meissner@cygnus.com>
4322
4323         * system.h (abort): If abort is not defined, and neither is
4324         USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
4325         reporting the line and filename of the error.
4326
4327         * .gdbinit: Add breakpoints on exit and fancy_abort.
4328
4329         * final.c (split_double): Avoid a compiler warning if
4330         BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
4331
4332         * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}):  New macros
4333         for calling jump_optimize.
4334
4335         * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
4336         macros, rather than 0/1's.
4337
4338 Sun Apr 26 23:19:10 1998  Richard Henderson  <rth@cygnus.com>
4339
4340         * alpha.h (CONST_COSTS): Zero is always free.
4341         (RTX_COSTS): Add EV6 costs.  Abort if alpha_cpu is unknown.
4342
4343 Sun Apr 26 15:38:50 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4344
4345         * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
4346         length in the name of a virtual table.
4347
4348 Sun Apr 26 01:21:06 1998  Richard Henderson  <rth@cygnus.com>
4349
4350         * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
4351
4352 Sat Apr 25 22:11:38 PDT 1998 Jeff Law  (law@cygnus.com)
4353
4354         * version.c: Bump for snapshot.
4355
4356 Sat Apr 25 17:17:15 1998  Jeffrey A Law  (law@cygnus.com)
4357
4358         * fold-const.c (fold_convert): Fix typo.
4359
4360 Sat Apr 25 17:55:54 1998  John Carr  <jfc@mit.edu>
4361
4362         * alias.c (alias_invariant): New variable.
4363         (record_base_value): New argument INVARIANT.
4364         (memrefs_conflict_p): If a register has an entry in the alias_invariant
4365         array, try substituting that value for the register.
4366
4367         * rtl.h: Declare record_base_value.
4368
4369         * loop.c, unroll.c: Update callers of record_base_value.
4370
4371         * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
4372         ZERO_EXTEND do not affect base values.
4373
4374 Fri Apr 24 15:57:02 1998  Jeffrey A Law  (law@cygnus.com)
4375
4376         * dbxout.c (dbxout_type): Fix typo.
4377         (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
4378
4379         * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
4380
4381 Fri Apr 24 16:11:47 1998  John Carr  <jfc@mit.edu>
4382
4383         * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
4384         if the argument is the address of a structure or array.
4385
4386         * configure.in: Enable Haifa scheduler by default for SPARC.
4387
4388 Fri Apr 24 20:55:47 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4389
4390         * cse.c (cse_set_around_loop): Don't do optimization when
4391         new pseudos are created.
4392
4393 Fri Apr 24 11:00:18 1998  Jeffrey A Law  (law@cygnus.com)
4394
4395         * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
4396         appropriately.
4397         (dbxout_type_method_1, dbxout_type): Likewise.
4398         (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
4399         (dbxout_type): Fix check for when to print a type range in
4400         octal vs decimal.
4401
4402 Fri Apr 24 16:45:03 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4403
4404         * (gen_shl_and, in case 1): Fix comparison with mask.
4405
4406 Fri Apr 24 06:46:40 1998  Nick Clifton  <nickc@cygnus.com>
4407
4408         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
4409         pointer as second register in REG+REG pair.
4410
4411 Fri Apr 24 09:22:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4412
4413         * c-common.c (check_format_info): Don't check for the 'x' format
4414         character twice, instead check for 'x' and 'X'
4415
4416 Fri Apr 24 08:02:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4417
4418         * Makefile.in (libgcc2.ready): Add explicit dependancy from
4419         $(STMP_FIXPROTO) to ensure all necessary include files have
4420         been created and to guarantee proper parallel builds.
4421
4422 Fri Apr 24 04:42:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4423
4424         * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
4425         register for stdarg functions.
4426         * sh.h (current_function_varargs): Declare.
4427         (FUNCTION_ARG): Ignore NAMED for stdarg functions.
4428
4429 1998-04-23  Jim Wilson  <wilson@cygnus.com>
4430
4431         * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
4432         inhibit_libc is defined.
4433
4434         * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
4435
4436 Thu Apr 23 19:09:33 1998  Jim Wilson  <wilson@cygnus.com>
4437
4438         * profile.c (tablejump_entry_p): New function.
4439         (branch_prob): Add code to recognize MIPS tablejump entry branch.
4440         Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
4441
4442 Thu Apr 23 15:01:13 1998  Nick Clifton  <nickc@cygnus.com>
4443
4444         * config/arm/arm.c (find_barrier): Return as soon as a barrier is
4445         found, rather than at end of the loop, after the insn has been
4446         changed.
4447
4448 Thu Apr 23 20:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4449
4450         * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
4451         * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
4452
4453 Wed Apr 22 17:07:35 1998  Michael Meissner  <meissner@cygnus.com>
4454
4455         * loop.c (note_addr_stored): Correct function to take 2 arguments,
4456         instead of 1.
4457
4458         * rtl.def (MATCH_INSN2): Add new matching pattern.
4459         * genrecog.c (add_to_sequence): Support MATCH_INSN2.
4460
4461 Wed Apr 22 15:52:22 1998  John Carr  <jfc@mit.edu>
4462
4463         * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
4464         if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
4465
4466         * final.c (split_double): Sign extend both halves of a split CONST_INT.
4467
4468 Wed Apr 22 10:42:45 1998  Jeffrey A Law  (law@cygnus.com)
4469
4470         * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
4471
4472 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod  <amacleod@cygnus.com>
4473
4474         * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
4475         (cplus_demangle_opname): Call mop_up_squangle.
4476         (cplus_demangle): Initialize squangle info, then call
4477         internal_cplus_demangle. (Most code moved there as well)
4478         (internal_cplus_demangle): New function, performs most of what use
4479         to be done in cplus_demangle, but is only called with this file.
4480         (squangle_mop_up): New function to clean up B and K code data.
4481         (mop_up): set pointers to NULL after freeing.
4482         (demangle_signature, demangle_template, demangle_class): Add
4483         switch elements to handle K and B codes.
4484         (demangle_prefix, gnu_special, demangle_qualified): Add
4485         code to handle K and B codes.
4486         (do_type, demangle_fund_type): Handle B and K codes.
4487         (remember_Ktype): New function to store K info.
4488         (register_Btype, remember_Btype): New functions for B codes.
4489         (forget_B_and_K_types): New function to destroy B and K info.
4490
4491 1998-04-21  Jim Wilson  <wilson@cygnus.com>
4492
4493         * stmt.c (check_seenlabel): When search for line number note for
4494         warning, handle case where there is no such note.
4495
4496 Tue Apr 21 20:48:37 1998  John Carr  <jfc@mit.edu>
4497
4498         * genemit.c (gen_exp): Allow machine description to set mode of
4499         MATCH_OP_DUP.
4500
4501 Tue Apr 21 16:36:01 1998  John Carr  <jfc@mit.edu>
4502
4503         * alias.c (mode_alias_check): New function.
4504         (true_dependence, anti_dependence, output_dependence): Call
4505         mode_alias_check.
4506
4507 Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
4508
4509         * mips.h (STACK_BOUNDARY): Allow specific targets to override.
4510         (MIPS_STACK_ALIGN): Similarly.
4511
4512         * c-common.c (type_for_mode): Handle TI types.
4513         * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
4514         (init_decl_processing): Handle TI types.
4515         * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
4516
4517         * mips.c (block_move_loop): Test Pmode == DImode instead of
4518         TARGET_MIPS64.
4519         (expand_block_move, save_restore_insns): Likewise.
4520         (function_prologue, mips_expand_prologue): Likewise.
4521         (mips_expand_epilogue): Likewise.
4522         * mips.h (POINTER_SIZE): Allow specific targets to override.
4523         (Pmode): Allow specific targets to override.
4524         (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
4525         (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
4526         (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
4527         (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
4528         (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
4529         (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
4530         * mips.md (indirect, tablejump & casesi support): Test for
4531         Pmode == DImode instead of TARGET_MIPS64.
4532         (call patterns): Likewise.
4533
4534 Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4535
4536         * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
4537         for gen_rtx(MEM, ...).
4538
4539 Tue Apr 21 02:15:36 1998  Richard Henderson  <rth@cygnus.com>
4540
4541         * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
4542         to not be so gross, and to properly function with PIC.
4543
4544 Mon Apr 20 20:44:25 1998  Jim Wilson  <wilson@cygnus.com>
4545
4546         * frame.c (heapsort): Rename to frame_heapsort.
4547
4548         * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
4549
4550 Mon Apr 20 12:43:09 1998  Doug Evans  <devans@canuck.cygnus.com>
4551
4552         * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
4553
4554 Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
4555
4556         * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
4557         operands during and after reload.
4558
4559 Mon Apr 20 22:37:50 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4560
4561         * final.c (shorten_branches, init_insn_lengths): Move code
4562         to free label_align, uid_shuid, insn_lengths, insn_addresses
4563         and uid_align from the former function into the latter one;
4564         Add code to clear these variables.
4565         * sh.h (label_align): Remove declaration.
4566
4567 Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
4568
4569         * gcc.c (lang_specific_driver): Declare prototype properly so
4570         fatal can be passed to it without error.
4571
4572         * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
4573         * configure: Regenerate.
4574         * config.in: Add #undef's for strchr and strrchr.
4575
4576         * protoize.c (toplevel): If we have rindex, but not strrchr, map
4577         rindex to strrchr.
4578         (file_could_be_converted): Use strrchr, not rindex since rindex is
4579         not defined on Linux systems when _POSIX_SOURCE is defined.
4580         (file_normally_convertible): Ditto.
4581         (process_aux_info_file): Ditto.
4582         (main): Ditto.
4583
4584         * rs6000.md (mov{sf,df} define_splits): When splitting a move of
4585         a constant to an integer register, don't split the insns that do
4586         the simple AND and OR operations, rather just split each word, and
4587         let the normal movsi define split handle it further.
4588
4589 Mon Apr 20 18:19:40 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4590
4591         * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
4592         (split_branches): Call init_insn_lengths.
4593
4594 Mon Apr 20 07:37:49 1998  Michael Meissner  <meissner@cygnus.com>
4595
4596         * i386.c: Include expr.h to get the change_address prototype
4597         declared.
4598
4599 Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
4600
4601         * reg-stack.c (subst_asm_stack_regs): Change to return the last
4602         new insn generated by this function.
4603         (subst_stack_regs): Likewise.
4604         (convert_regs): Record the last newly generated insn and use
4605         it for change_stack () instead of INSN.
4606
4607 Sun Apr 19 15:41:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4608
4609         * fix-header.c (enum special_file): Undefine enumerators if they
4610         are already defined by include files.
4611         * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
4612         macro with '__' to not pollute user namespace.
4613
4614 Sun Apr 19 02:42:06 1998  Richard Henderson  <rth@cygnus.com>
4615
4616         * haifa-sched.c (queue_to_ready): Fix typo in prototype.
4617
4618 Sat Apr 18 23:52:35 PDT 1998 Jeff Law  (law@cygnus.com)
4619
4620         * version.c: Bump for snapshot.
4621
4622 Sat Apr 18 18:30:22 1998  Jim Wilson  <wilson@cygnus.com>
4623
4624         * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
4625
4626         * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
4627         Add missing -Dpentium* options.
4628         (CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
4629         instead of CPP_CPU_DEFAULT.
4630         (EXTRA_SPECS): Add entry for cpp_cpu_default.
4631
4632 Sat Apr 18 19:06:59 1998  David Edelsohn  <edelsohn@mhpcc.edu>
4633
4634         * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
4635         negative in a stackless frame.
4636         * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
4637         in stackless frame size.  Support 64-bit stackless frame size.
4638         Combine fpmem offset calculations and don't add total_size to
4639         offset if not pushing a stack frame.
4640
4641 Sat Apr 18 15:41:16 1998  Jim Wilson  <wilson@cygnus.com>
4642
4643         * regmove.c (fixup_match_1): In three places, in flag_exceptions
4644         check, change p to q.
4645
4646 Sat Apr 18 15:30:49 1998  Jim Wilson  <wilson@cygnus.com>
4647
4648         * gcc.c (lang_specific_driver): Add new parm type to prototype.
4649         (added_libraries): New file scope static variable.
4650         (process_command): Initialize added_libraries.  Pass it to
4651         lang_specific_driver.
4652         (main): Use added_libraries in check for no input files.
4653
4654 Sat Apr 18 01:23:11 1998  John Carr  <jfc@mit.edu>
4655
4656         * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
4657         code generation.  Use 64 bit instructions in 32 bit mode when
4658         possible.  Use V9 return instruction.  UltraSPARC optimizations.
4659
4660         * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
4661
4662 Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
4663
4664         * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
4665         just pass zero.  That will work regardless of the size of HARD_REG_SET.
4666
4667         * libgcc2.c (__floatdisf): Fix a couple typos.
4668
4669 Fri Apr 17 17:28:26 1998  Jim Wilson  <wilson@cygnus.com>
4670
4671         * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
4672
4673 Fri Apr 17 16:35:35 1998  Greg McGary  <gkm@gnu.org>
4674
4675         * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
4676
4677 Fri Apr 17 14:30:37 1998  John Carr <jfc@mit.edu>
4678
4679         * emit-rtl.c (operand_subword_force): If a register can not be
4680         accessed by words, copy it to a pseudo register.
4681
4682 Fri Apr 17 14:30:37 1998  Jim Wilson  <wilson@cygnus.com>
4683
4684         * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
4685
4686 Fri Apr 17 17:01:25 1998  Michael Meissner  <meissner@cygnus.com>
4687
4688         * tree.h (mark_seen_cases): Delete declaration.
4689
4690 Fri Apr 17 13:32:20 1998  Jeffrey A Law  (law@cygnus.com)
4691
4692         * stmt.c (mark_seen_cases): Make static and add prototype.
4693
4694 Fri Apr 17 11:21:43 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4695
4696         * frame.c: Include stdlib.h and unistd.h to possibly get various
4697         function prototypes.  The fixproto script guarantees these header
4698         files exist on the target system.
4699         * libgcc2.c: Likewise.
4700
4701         * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
4702         __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
4703         function parameters.
4704         * libgcc2.c (__udiv_w_sdiv): Likewise.
4705
4706 Thu Apr 16 22:41:02 1998  Jeffrey A Law  (law@cygnus.com)
4707
4708         * varasm.c (asm_output_bss): Add prototype.
4709         (asm_output_aligned_bss): Likewise.
4710
4711         * unroll.c (verify_addresses): Add prototype.
4712
4713         * toplev.c: Add many prototypes.  Too many to mention here.
4714
4715         * stmt.c (check_seenlabel): Add prototype.
4716
4717         * rtlanal.c (reg_set_p_1): Add prototype.
4718         (reg_set_last_1): Likewise.
4719
4720         * reorg.c (find_dead_or_set_registers): Add prototype.
4721
4722         * regmove (try_auto_increment): Add prototype.
4723
4724         * reg-stack.c (pop_stack): Add prototype.
4725
4726         * recog.c (validate_replace_rtx_1): Add prototype.
4727         (find_cosntant_term_loc): Likewise.
4728
4729         * loop.c (regs_patch_p): Add prototype.
4730         (add_label_notes, count_nonfixed_reads): Likewise.
4731         (find_single_use_in_loop): Likewise.
4732         (express_from): Surround prototype with #ifdef.
4733         (giv_sort): Similarly.
4734
4735         * jump.c (mark_modified_reg): Add prototype.
4736
4737         * haifa-sched.c (is_prisky): Add prototype.
4738         (queue_to_ready): Likewise.
4739
4740         * genextract.c (gen_insn): Add prototype.
4741
4742         * genemit.c (max_operand_1): Add prototype.
4743         (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
4744         (gen_expand, gen_explit, output_add_clobbers): Likewise.
4745         (output_init_mov_optab): Likewise.
4746
4747         * genattrtab.c (attr_hash_add_rtx): Add prototype.
4748         (attr_hash_add_string, write_length_unit_log): Likewise.
4749
4750         * genattr.c (init_range): Add prototype.
4751
4752         * combine.c (sets_function_arg_p): Add prototype.
4753
4754         * expr.c (store_constructor_field): Add prototype.
4755         (get_memory_usage_from_modifier): Likewise
4756
4757         * expmed.c (synth_mult): Add prototype.
4758         (choose_multiplier, invert_mod2n): Likewise.
4759
4760         * except.c (push_eh_entry): Add prototype.
4761         (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
4762         (call_get_eh_context, start_dynamic_cleanup): Likewise.
4763         (start_dynamic_handler, can_throw): Likewise.
4764         (output_exception_table_entry, scan_region): Likewise.
4765         (eh_regs, set_insn_eh_region): Likewise.
4766
4767         * dwarfout.c (decl_class_context): Add prototype.
4768         (output_inheritance_die, type_ok_for_scope): Likewise.
4769
4770         * c-lex.c (skip_white_space_on_line): Add prototype.
4771
4772         * alias.c (record_set): Add prototype.
4773         (find_base_term, base_alias_check): Likewise.
4774
4775         * function.c (assign_outer_stack_local): Make static and add prototype.
4776
4777         * haifa-sched.c (build_control_flow): Accept raw data as inputs
4778         instead of computing it locally.  Callers changed.
4779         (find_rgns): Several new arguments.  Callers changed.
4780         Generally clean up and comment better.  Use dominators to
4781         identify reducible loops.  Convert some flag arrays to bitmaps.
4782         Convert most of the code to work on pred/succ lists instead of
4783         an edge table.  Add comments for future improvements.
4784         (schedule_insns): Allocate temporary tables for flow data, call
4785         routines to compute flow data and pass it along to children as
4786         arguments.
4787         (debug_control_flow): Delete.  Use dump_bb_data instead.
4788
4789         * basic-block.h (compute_dominators): Declare.
4790
4791         * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
4792         functions.
4793         * basic-block.h: Declare them.
4794
4795 Thu Apr 16 13:45:51 1998  Jim Wilson  <wilson@cygnus.com>
4796
4797         * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
4798         no operands.
4799
4800 Wed Apr 15 11:33:09 1998  Alexandre Petit-Bianco  <apbianco@sendai.cygnus.com>
4801
4802         * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
4803         Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
4804         node is non NULL. Cache last file name and file name identifier node.
4805
4806 1998-04-15  Mark Mitchell  <mmitchell@usa.net>
4807
4808         * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
4809         the length of an array, not TREE_TYPE.
4810
4811 Wed Apr 15 15:31:34 1998  Jeffrey A Law  (law@cygnus.com)
4812
4813         * flow.c (sbitmap_union_of_successors):  New function.
4814         * basic-block.h (sbitmap_union_of_successors): Declare it.
4815
4816 Wed Apr 15 12:38:03 1998  Jim Wilson  <wilson@cygnus.com>
4817
4818         * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
4819         Set gnu_ld to gnu_ld_flag inside main loop.
4820         (gas): Likewise.
4821
4822 Wed Apr 15 14:50:05 1998  Dave Brolley  <brolley@cygnus.com>
4823
4824         * toplev.c (compile_file): Call init_parse using new interface.
4825         (init_lex): Remove declaration.
4826
4827         * c-lex.c (init_parse): Now returns char* containing filename.
4828
4829 Wed Apr 15 12:37:10 1998  Jeffrey A Law  (law@cygnus.com)
4830
4831         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
4832
4833 Wed Apr 15 12:10:18 1998  Michael Meissner  <meissner@cygnus.com>
4834
4835         * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
4836         (gen{extract,peep,opinit,output}): Ditto.
4837
4838         * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
4839         global definition so print-rtl.o can be linked in.
4840         * gen{peep,recog}.c (insn_attr_name): Ditto.
4841
4842 Tue Apr 14 07:30:57 1998  K. Richard Pixley  <rich@kyoto.noir.com>
4843
4844         * fixincludes: discard empty C++ comments, as found in sys/time.h
4845         on hpux-11.0.
4846
4847 Wed Apr 15 10:47:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4848
4849         * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
4850         operand.
4851
4852 Wed Apr 15 01:21:21 1998  Jeffrey A Law  (law@cygnus.com)
4853
4854         * emit-rtl.c (operand_subword): Rework slightly to avoid
4855         bogus warning from previous change.
4856
4857 Tue Apr 14 23:39:13 1998  Richard Henderson  <rth@cygnus.com>
4858
4859         * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
4860         Nov 8 find_replacement change.  Move decls of get_unaligned_address
4861         * alpha.h: ... here.
4862
4863 Tue Apr 14 22:00:39 1998  John Carr <jfc@mit.edu>
4864
4865         * function.c (assign_parms): Initialize unsignedp before passing
4866         its pointer to promote_mode.
4867
4868         * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
4869         (write_test_expr): Allow MATCH_INSN.
4870
4871 Tue Apr 14 21:57:57 1998  Paul Eggert <eggert@twinsun.com>
4872
4873         * install.texi: Update section on warnings that can be safely ignored.
4874
4875 Tue Apr 14 14:55:16 1998  Jim Wilson  <wilson@cygnus.com>
4876
4877         * mips.md (reload_outdi): Change the scratch mode from DImode to
4878         TImode.  New variable scratch, used instead of operand[2] in template.
4879         Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
4880
4881 Tue Apr 14 16:19:03 1998  Michael Meissner  <meissner@cygnus.com>
4882
4883         * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
4884
4885 Tue Apr 14 11:31:28 1998  Krister Walfridsson <cato@df.lth.se>
4886
4887         * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
4888
4889 Tue Apr 14 09:02:32 1998  Jeffrey A Law  (law@cygnus.com)
4890
4891         * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
4892         (ASM_FINISH_DECLARE_OBJECT): Likewise.
4893
4894         * Idea and part of the patch from HJ.
4895         * Makefile.in: auto-host.h renamed from auto-config.h.  All references
4896         changed.
4897         (distclean): Remove auto-build.h too.
4898         * configure.in: Rename host autoconf generated file to auto-host.h.
4899         If host != build, then run autoconf to generate auto-build.h for
4900         the build machine and include it in build_xm_files.
4901         Check for wait.h and sys/wait.h.
4902
4903         * combine.c (simplify_rtx, case TRUNCATE): Respect value of
4904         TRULY_NOOP_TRUNCATION.
4905
4906 Mon Apr 13 11:31:49 1998  Jason Merrill  <jason@yorick.cygnus.com>
4907
4908         * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
4909
4910 Sun Apr 12 20:55:32 1998  Catherine Moore <clm@cygnus.com>
4911
4912         * invoke.texi (ld options)  Include memset requirements
4913         for options -nodstdlib and -nodefaultlibs.
4914
4915 1998-04-12  Paul Eggert  <eggert@twinsun.com>
4916
4917         This change is from an idea suggested by Arthur David Olson.
4918
4919         * c-common.c (decl_attributes, record_function_format,
4920         check_format_info, init_function_format_info):
4921         Add support for strftime format checking.
4922         (enum format_type): New type.
4923         (record_function_format): Now static, and takes value of type
4924         enum format_type instead of int.
4925         (time_char_table): New constant.
4926         (struct function_format_info): format_type member renamed from is_scan.
4927         (check_format_info): Use `warning' rather than sprintf followed by
4928         `warning', to avoid mishandling `%' in warnings.
4929         Change `pedwarn' to `warning', since these warnings do not necessarily
4930         mean the program does not conform to the C Standard, as the code
4931         need not be executed.
4932
4933         * c-tree.h (record_function_format): Remove decl; no longer extern.
4934
4935         * extend.texi: Add documentation for strftime format checking.
4936
4937 Sun Apr 12 20:23:03 1998  Jeffrey A Law  (law@cygnus.com)
4938
4939         * mips/ecoffl.h: Do not include mips.h.
4940         * mips/elf.h: Likewise.
4941
4942         * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
4943         * mips/ecoff.h: Include "mips/mips.h".
4944
4945 Sat Apr 11 22:42:54 PDT 1998 Jeff Law  (law@cygnus.com)
4946
4947         * version.c: Bump for snapshot.
4948
4949 Sat Apr 11 01:24:28 1998  Jeffrey A Law  (law@cygnus.com)
4950
4951         * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
4952         (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
4953         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns              instead of delete_dead_from_cse.  Also call delete_trivially_dead_insns
4954         between loop optimization passes.
4955         * rtl.h: Updated appropriately.
4956
4957 Fri Apr 10 22:28:32 1998  Jeffrey A Law  (law@cygnus.com)
4958
4959         Reinstall this patch from Jason.
4960         * function.c (push_function_context_to): Don't call init_emit.
4961
4962 Fri Apr 10 13:40:20 1998  Nick Clifton  <nickc@cygnus.com>
4963
4964         * rtl.c (read_skip_spaces): Prevent infinite loops upon
4965         encountering unterminated comments.
4966
4967 Fri Apr 10 10:43:41 1998  Jeffrey A Law  (law@cygnus.com)
4968
4969         * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
4970         64x32 cross builds.
4971
4972         * configure.in: Handle --with-fast-fixincludes.
4973         (fixincludes): If --with-fast-fixincludes, then use a different
4974         fixincludes program by default.
4975         * Makefile.in (fixinc.sh): New rule.
4976
4977 Fri Apr 10 00:36:31 1998  H.J. Lu  (hjl@gnu.org)
4978
4979         * i386.md (movqi+1): Handle invalid QI register.
4980         (movsf_push-1): Likewise.
4981
4982 Thu Apr  9 16:53:59 1998  Nick Clifton  <nickc@cygnus.com>
4983
4984         * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
4985         addresses.
4986         symbolic_memort_operand(), call32_operand(), int8_operand(),
4987         int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
4988         Not used.
4989         uint16_operand(): Made static.
4990
4991 Thu Apr  9 01:43:04 1998  Jeffrey A Law  (law@cygnus.com)
4992
4993         * calls.c (expand_call): Fix typo.
4994
4995 Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
4996
4997         * c-lex.c (finput): New global.
4998         (init_parse): Always included.  Handle !USE_CPPLIB using
4999         code originally in compile_file.
5000         (finish_parse): Update for CPPLIB.
5001         * toplev.c (init_parse, finish_parse): Declare.
5002         (finput): Delete variable.  Now in front-ends.
5003         (compile_file): Remove code which is now handled by init_parse
5004         which is unconditionally called.  Similarly for finish_parse.
5005
5006 Wed Apr  8 23:13:50 1998  Gavin Koch  <gavin@cygnus.com>
5007
5008         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
5009         ASM_WEAKEN_LABEL): Add.
5010
5011 Wed Apr  8 18:21:30 1998  Richard Henderson  <rth@cygnus.com>
5012
5013         * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
5014         * configure.in (alpha-*-linux*): Use them.
5015
5016 Fri Apr  3 17:02:13 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
5017
5018         * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
5019         * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
5020         COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
5021         (build_expr_wfl): New prototype declaration.
5022         * tree.c (build_expr_wfl): New function, to build
5023         EXPR_WITH_FILE_LOCATION nodes.
5024         (copy_node): Don't zero TREE_CHAIN if copying a
5025         EXPR_WITH_FILE_LOCATION node.
5026         * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
5027         * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
5028
5029 Wed Apr  8 12:51:19 1998  Jeffrey A Law  (law@cygnus.com)
5030
5031         * configure.in (v850): Use t-v850.
5032         (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
5033
5034         * protoize.c (creat, read, write): Do not declare.
5035
5036         * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
5037         refer to the CODE_LABEL before a dispatch table.
5038
5039         * invoke.texi: Add ARC options.
5040
5041         * gcc.c (proces_command): Improve error message for -o with
5042         either -c or -S.
5043
5044         * i386/x-cygwin32 (CLIB): Link in advapi32.
5045
5046         * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
5047         (ASM_IDENTIFY_LANGUAGE): Likewise.
5048
5049         * i386.md (movqi recognizer): Don't perfom byte increment into
5050         a NON_QI_REG_P.
5051
5052         * configure.in (x86-dg-dgux): Run fixinc.dgux.
5053
5054         * i370.h: Fix typo in GEN_INT changes.
5055
5056         * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
5057         of an empty arglist in prototype.
5058
5059         * Makefile.in: Remove bytecode crud that crept back in after the
5060         gcc2 merge.
5061
5062 1998-04-08  Brendan Kehoe  <brendan@cygnus.com>
5063
5064         * c-lex.h (is_class_name): Fix arg type to be tree, not void.
5065         (make_pointer_declarator, reinit_parse_for_function): Fix typo.
5066
5067 Wed Apr  8 06:16:45 1998  Richard Earnshaw (rearnsha@arm.com)
5068
5069         * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5070
5071 Wed Apr  8 00:44:18 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
5072
5073         * c-lex.c (is_class_name): Delete declaration.
5074         (whitespace_cr): Make static and add prototype.
5075         * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
5076         yylex, get_directive_line): Turn declarations into prototypes.
5077         (position_after_whitespace, check_newline, yyerror,, is_class_name,
5078         forget_protocol_qualifiers, remember_protocol_qualifiers): Add
5079         prototypes.
5080         * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
5081         prototypes.
5082         * gencodes.c (gen_insn): Add prototype.
5083         * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
5084         gen_peephole): Add prototypes.
5085         * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
5086         prototypes.
5087         * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
5088         special_format, find_formats, gendecl, genmacro, gendef, genlegend,
5089         genheader, gencode): Add prototypes.
5090         * genopinit.c (gen_insn): Add prototype.
5091         * genoutput.c (output_prologue, output_epilogue, scan_operands,
5092         process_template, validate_insn_alternatives, gen_insn, gen_peephole,
5093         gen_expand, gen_split, n_occurrences): Add prototypes.
5094         * genpeep.c (gen_peephole): Add prototype.
5095         * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
5096         reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
5097         labels_in_range_p, count_loop_regs_set, note_addr_stored,
5098         loop_reg_used_before_p, scan_loop, replace_call_address,
5099         skip_consec_insns, libcall_benefit, ignore_some_movables,
5100         force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
5101         strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
5102         check_final_value, record_giv, update_giv_derive, basic_induction_var,
5103         simplify_giv_expr, general_induction_var, consec_sets_giv,
5104         check_dbra_loop, express_from, combine_givs_p, combine_givs,
5105         product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
5106         last_use_this_basic_block, record_initial, update_reg_last_use,
5107         iteration_info, analyze_loop_iterations, insert_bct,
5108         instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
5109         into prototypes.
5110
5111 Tue Apr  7 21:48:52 1998  Jeffrey A Law  (law@cygnus.com)
5112
5113         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5114
5115 1998-04-07  Ken Raeburn  <raeburn@cygnus.com>
5116
5117         * config/mips/mips.c (siginfo): Deleted.
5118         (override_options): Don't install SIGINFO signal handler.
5119
5120 Tue Apr  7 11:58:04 1998  Jim Wilson  <wilson@cygnus.com>
5121
5122         * loop.c (check_dbra_loop): When normalize comparison_val, add check
5123         to verify it is non-negative.
5124
5125 Tue Apr  7 02:01:47 1998  Richard Henderson  <rth@cygnus.com>
5126
5127         * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
5128         (alpha_expand_block_clear): Likewise.
5129
5130 Mon Apr  6 23:36:01 1998  Richard Henderson  <rth@cygnus.com>
5131
5132         * tree.h (sizetype_tab): Fix previous change for K&R.
5133
5134 Mon Apr 6 22:23:29 PDT 1998 Jeff Law  (law@cygnus.com)
5135
5136         * version.c: Bump for snapshot.
5137
5138 Mon Apr  6 23:16:10 1998  Richard Earnshaw (rearnsha@arm.com)
5139
5140         * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
5141         Add USG and POSIX to xm_defines.
5142
5143 Mon Apr  6 21:49:57 1998  Bob Manson  <manson@charmed.cygnus.com>
5144
5145         * gcc.c: Add linker spec.
5146         (link_command_spec): Use %(linker) instead of ld.
5147         (main): If collect2 is requested as the linker, see if it exists;
5148         if not, use ld instead.
5149
5150         * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
5151         (ld:) Deleted.
5152         (install-collect2): Install as collect2, not ld.
5153
5154         * configure.in(will_use_collect2): It's named collect2 now.
5155
5156         * collect2: Remove checks to see if we were invoked recursively.
5157         (collect_execute): Use _spawnvp under cygwin32.
5158
5159 Mon Apr  6 17:23:41 1998  Jim Wilson  <wilson@cygnus.com>
5160
5161         * haifa-sched.c (build_control_flow): Set unreachable for block whose
5162         only predecessor is itself.
5163
5164 Mon Apr  6 16:08:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5165
5166         * c-parse.in: Include system.h, and remove stuff now made redundant.
5167         * cccp.c: Likewise.
5168         * cexp.y: Likewise.
5169         * protoize.c: Likewise.  Properly check for cpp stringification.
5170
5171         * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
5172         Depend on system.h.
5173
5174         * objc/Make-lang.in (objc-parse.o): Likewise.
5175
5176 Mon Apr  6 14:59:58 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5177
5178         * gansidecl.h: Check if compiler supports __attribute__.  Provide
5179         definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
5180         __attribute__ when its available.  Also provide definitions for
5181         ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
5182         terms of ATTRIBUTE_PRINTF.
5183
5184         * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
5185         of __attribute__.
5186
5187 Mon Apr  6 07:17:52 1998  Catherine Moore  <clm@cygnus.com>
5188
5189         * combine.c (can_combine_p):  Include successor in volatile test.
5190
5191 Mon Apr  6 14:16:33 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5192
5193         * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
5194         offset_unsigned.
5195
5196 Mon Apr  6 02:03:29 1998  Jeffrey A Law  (law@cygnus.com)
5197
5198         * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
5199         in prototype and definition.
5200
5201 Mon Apr 6 00:48:56 PDT 1998 Jeff Law  (law@cygnus.com)
5202
5203         * version.c: Bump for snapshot.
5204
5205 Mon Apr  6 00:08:50 1998  Richard Henderson  <rth@cygnus.com>
5206
5207         * alpha.c (alpha_expand_block_clear): Add missing offset arg to
5208         alpha_expand_unaligned_store_words.
5209
5210 Sun Apr  5 21:31:24 1998  John Wehle  (john@feith.com)
5211
5212         * i386.md (movsf_push, movsf_mem): Remove.
5213         (movsf_push): Rename from movsf_push_nomove and move in front of
5214         movsf.  Use nonmemory_operand predicate and don't bother checking
5215         TARGET_MOVE.
5216         (movsf_push_memory): New pattern.
5217         (movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
5218         both operands refer to memory then force operand[1] into a register.
5219         (movsf_normal): Change to unnamed pattern.
5220         Likewise for movdf, movxf, and friends.
5221
5222 Sun Apr 5 18:45:51 PDT 1998 Jeff Law  (law@cygnus.com)
5223
5224         * version.c: Bump for snapshot.
5225
5226 Sun Apr  5 16:31:10 1998  Richard Henderson  <rth@cygnus.com>
5227
5228         * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
5229
5230 Sun Apr  5 16:53:37 1998  Don Bowman <don@pixsci.com>
5231
5232         * configure.in (mips-wrs-vxworks): New target.
5233
5234 Sat Apr 4 23:34:32 PST 1998 Jeff Law  (law@cygnus.com)
5235
5236         * expmed.c (synth_mult): The value -1, has no zeros, so it can
5237         never have the form ...011.
5238
5239         * version.c: Bump for snapshot.
5240
5241 Sat Apr  4 20:16:46 1998  Richard Henderson  <rth@cygnus.com>
5242
5243         * i386.c (asm_output_function_prefix, load_pic_register):
5244         Use ASM_GENERATE_INTERNAL_LABEL properly.
5245         (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
5246         (print_operand): Ignore it.
5247         (load_pic_register): Use it for the got load call.
5248         * i386.md (prologue_set_got, prologue_get_pc): Likewise.
5249         (prologue_get_pc_and_set_got): Likewise.
5250         * i386.h: Update print_operand docs.
5251
5252 Sat Apr  4 19:08:37 1998  Richard Henderson  <rth@cygnus.com>
5253
5254         * i386.md (ffssi, ffshi): Rewrite as define_expands.
5255         (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
5256         * i386.c (notice_update_cc): Recognize unspec 5.
5257
5258 Sat Apr  4 18:07:16 1998  David Mosberger-Tang  (davidm@mostang.com)
5259
5260         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
5261         * alpha.c (print_operand): Handle it.
5262         * alpha.md (fix_truncsfdi2): Use it.  Add earlyclobber pattern
5263         for ALPHA_TP_INSN.
5264         (fix_truncdfdi2): Likewise.
5265
5266 Sat Apr  4 17:42:05 1998  Richard Henderson  <rth@cygnus.com>
5267
5268         * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
5269         of these into a single struct, with additional [us]sizetype entries.
5270         * stor-layout.c (set_sizetype): Initialize [us]sizetype.
5271         * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
5272         an array.
5273
5274 Sat Apr  4 17:04:41 1998  Richard Henderson  <rth@cygnus.com>
5275
5276         * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
5277
5278 Sat Apr  4 13:50:01 1998  Richard Henderson  <rth@cygnus.com>
5279
5280         * haifa-sched.c (split_block_insns): Don't supress insn splitting
5281         on subsequent passes.
5282
5283         * alpha.c (hard_fp_register_operand): New function.
5284         * alpha.h (PREDICATE_CODES): Add it.
5285         * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case.  Add an
5286         f<-m case and accompanying define_split.
5287         (trapb): Use a unique unspec_volatile number.
5288
5289 Sat Apr  4 13:32:08 1998  Richard Henderson  <rth@cygnus.com>
5290
5291         * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
5292         from gcc2 merge.
5293
5294 Sat Apr  4 10:23:41 1998  Jeffrey A Law  (law@cygnus.com)
5295
5296         * Check in merge from gcc2.  See ChangeLog.11 and ChangeLog.12
5297         for details.
5298
5299         * haifa-sched.c: Mirror recent changes from gcc2.
5300
5301 Fri Apr  3 00:17:01 1998  Jeffrey A Law  (law@cygnus.com)
5302
5303         * Makefile.in (insn*.o): Depend on system.h.
5304
5305         * pa.c (output_global_address): Initialize base.
5306         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
5307
5308 1998-04-03  Mike Stump  <mrs@wrs.com>
5309
5310         * gthr.h: Support systems that don't have weak, but have threads.
5311         * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
5312         * gthr-vxworks.h: New file.
5313         * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
5314
5315 Thu Apr  2 18:00:52 1998  Jim Wilson  <wilson@cygnus.com>
5316
5317         * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
5318
5319 1998-04-02  Vladimir N. Makarov  <vmakarov@cygnus.com>
5320
5321         * ginclude/va-i960.h (va_end): Change void * to void.
5322
5323 Thu Apr  2 13:51:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5324
5325         * Makefile.in (choose-temp.o): Depend on system.h.
5326
5327         * choose-temp.c: Include system.h when IN_GCC.
5328
5329 Thu Apr  2 02:37:07 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
5330                           Richard Henderson  <rth@cygnus.com>
5331
5332         * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
5333         (move_replacements): New function.
5334         * reload.h: Prototype it.
5335
5336         * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
5337
5338 Thu Apr  2 01:01:34 1998  Richard Henderson  <rth@cygnus.com>
5339
5340         * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
5341         Run fixincludes.
5342
5343         * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
5344         (gen_highpart): Likewise.
5345         * final.c (alter_subreg): Allow the target to hook by-mode subreg
5346         hard register number changes.
5347
5348 Wed Apr  1 22:26:22 1998  Jeffrey A Law  (law@cygnus.com)
5349
5350         * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
5351         rnbitsize, rnmode and rinner.
5352         (make_range): Initialize type.
5353         (fold): Initialize arg0, arg1 and varop.
5354
5355         * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
5356         and regnor.
5357         (expand_function_start): Initialize last_ptr.
5358
5359         * stor-layout.c (layout_record): Initialize desired_align.
5360         (get_best_mode): Initialize unit.
5361
5362         * tree.c (copy_node): Initialize length.
5363
5364         * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
5365
5366         * caller-save.c (insert_save_restore): Initialize pat, code and
5367         numregs.
5368
5369         * emit-rtl.c (push_to_sequence): Initialize top.
5370         (push_topmost_sequence): Likewise.
5371
5372         * genattrtab.c (simplify_by_exploding): Initialize defval.
5373
5374         * profile.c (branch_prob): Initialize dest.
5375
5376         * rtl.h (note_stores): Remove duplicate prototype.
5377         (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
5378
5379         * cplus-dem.c (gnu_special): Don't get confused by .<digits>
5380         strings that are not actually lengths.
5381
5382         * genattrtab.c: Make generated file use system.h, instead of
5383         including stdio.h, etc directly.
5384         * genextract.c, genopinit.c, genoutput.c: Likewise.
5385         * genpeep.c, genrecog.c: Likewise
5386
5387         * genoutput.c (process_template): Mark operands in the generated
5388         function as potentially unused if compiling with GNU CC.
5389
5390         * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
5391
5392         * pa.md (reload peepholes): Remove unused variable "mode".
5393
5394 Wed Apr  1 17:06:19 1998  Nick Clifton  <nickc@cygnus.com>
5395
5396         * config/arm/thumb.h: Add super interworking support.
5397         * config/arm/thumb.c: Add super interworking support.
5398         * config/arm/thumb.md: Add super interworking support.
5399         * config/arm/lib1funcs.asm: Add interworking support.
5400         * config/arm/lib1thumb.asm: Add super interworking support.
5401         * config/arm/t-semi: Add interworking support.
5402         * config/arm/t-thumb: Add interworking support.
5403         * config/arm/README-interworking: New file.
5404
5405 Wed Apr  1 14:38:10 1998  Jim Wilson  <wilson@cygnus.com>
5406
5407         * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
5408         (MD_STARTFILE_PREFIX): Unset.
5409
5410 1998-04-01  Mark Mitchell  <mmitchell@usa.net>
5411
5412         * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
5413         entity in a local scope.
5414
5415         * fold-const.c (fold): Call truthvalue_conversion for values which
5416         are folded to boolean type.
5417
5418 Wed Apr  1 06:09:53 1998  Jeffrey A Law  (law@cygnus.com)
5419
5420         * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
5421         * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
5422         * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
5423         * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
5424         * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
5425         * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
5426         * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
5427         * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
5428         * md.texi: Likewise.
5429
5430 Wed Apr  1 08:33:44 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5431
5432         * fixincludes (limits.h): Fix nested comments in Motorola's
5433         limits.h and sys/limits.h.
5434
5435 Tue Mar 31 16:57:33 1998  Jim Wilson  <wilson@cygnus.com>
5436
5437         * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
5438         as dest of expand_binop call.
5439
5440         * alpha.md (extzv): Correct check for valid operand[2] values.
5441
5442         * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
5443         branch.
5444
5445         * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
5446
5447 Mon Mar 30 13:11:05 1998  Stan Cox  <scox@cygnus.com>
5448
5449         * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
5450         For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
5451
5452         * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
5453         cygwin32 can override this to allow both unix and win32 style PATHs.
5454
5455         * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
5456         style environment paths.
5457
5458 Mon Mar 30 14:43:20 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5459
5460         * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
5461         cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
5462         gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
5463         system.h.
5464
5465         * cpphash.c: Include config.h.
5466         * cppalloc.c: Include system.h.  Add parameters to various
5467         function prototypes.
5468         * cpperror.c: Likewise.
5469         * cppexp.c: Likewise.
5470         * cpphash.c: Likewise.
5471         * cpplib.c: Likewise.
5472         * cppmain.c: Likewise.
5473         * fix-header.c: Likewise.
5474         * gcov.c: Likewise.
5475         * gen-protos.c: Likewise.
5476         * gengenrtl.c: Likewise.
5477         * halfpic.c: Likewise.
5478         * hash.c: Likewise.
5479         * scan-decls.c: Likewise.
5480         * scan.c: Likewise.
5481
5482 Mon Mar 30 11:06:45 1998  Jim Wilson  <wilson@cygnus.com>
5483
5484         * README.gnat: Add lang_print_xnode definition.
5485
5486 Mon Mar 30 11:12:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5487
5488         * config/m68k/m68k.c (standard_68881_constant_p): Don't use
5489         fmovecr on the 68060.
5490
5491 Mon Mar 30 00:21:03 1998  Jeffrey A Law  (law@cygnus.com)
5492
5493         * genemit.c (DONE): Rework so that it works in the true arm if
5494         an if-else conditional.
5495         (FAIL): Likewise.
5496
5497 Sun Mar 29 12:45:23 1998  Jeffrey A Law  (law@cygnus.com)
5498
5499         * rs6000.c: Do not include stdioh or ctype.h anymore.
5500
5501         * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
5502         $(RTL_H).
5503         (stor-layout.o): Likewise.
5504         * c-typeck.c: Include rtl.h and expr.h.
5505         * stor-layout.c: Likewise.
5506
5507         * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
5508         All callers changed.
5509         (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
5510         * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
5511         All callers changed.
5512
5513         * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
5514
5515         * local-alloc.c (reg_classes_overlap_p): Delete dead function.
5516
5517         * tree.h (lang_print_xnode): Provide prototype.
5518
5519 Sat Mar 28 23:50:44 PST 1998 Jeff Law  (law@cygnus.com)
5520
5521         * version.c: Bump for snapshot.
5522
5523 Sun Mar 29 00:42:21 1998  Jeffrey A Law  (law@cygnus.com)
5524
5525         * objc/sendmsg.c (__objc_block_forward): Add braces for return
5526         value if INVISIBLE_STRUCT_RETURN.
5527
5528         * pa.c (arith_double_operand): Fix parens.
5529
5530         * haifa-sched.c (print_pattern): Correct arg to sprintf.
5531
5532         * Makefile.in (libgcc1.null): Make return type for __foo void.
5533
5534 Sat Mar 28 14:37:20 1998  Jeffrey A Law  (law@cygnus.com)
5535
5536         * pa.h: Add declarations for many functions defined in pa.c.
5537
5538         * genpeep.c (main): Remove unused variable 'i' from the generated
5539         file.
5540
5541         * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
5542         (gen_split): Likewise.
5543         (main): Rework generated definitions of DONE and FAIL so that they
5544         no longer use gotos.  Avoids warnings about unused labels.
5545
5546         * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
5547         unused "junk" variable.
5548
5549         * genattrtab.c (write_complex_function): Add a default case in
5550         generated switch statement to keep -W -Wall quiet.
5551
5552 Sat Mar 28 10:47:21 1998  Nick Clifton  <nickc@cygnus.com>
5553
5554         * invoke.texi: Document more ARM and Thumb command line options.
5555
5556         * config/arm/xm-thumb.h: New file.
5557
5558 Sat Mar 28 01:37:33 1998  Craig Burley  <burley@gnu.ai.mit.edu>
5559
5560         * stmt.c (expand_expr_stmt): Must generate code for
5561         statements within an expression (gcc's `({ ... )}')
5562         even if -fsyntax-only.
5563
5564 Sat Mar 28 01:06:12 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5565                           Jeffrey A Law  (law@cygnus.com)
5566
5567         * basic-block.h (basic_block_computed_jump_target): Declare.
5568         * flags.h: (current_function_has_computed_jump): Declare.
5569         * flow.c: (basic_block_computed_jump_target): Define.
5570         (flow_analysis): Allocate it. Set current_function_has_computed_jump
5571         to 0.
5572         (find_basic_blocks): Set current_function_has_computed_jump and
5573         elements of basic_block_computed_jump_target to 1 as appropriate.
5574         * function.c: (current_function_has_computed_jump): Define.
5575         * global.c (global_conflicts): Don't allocate pseudos into stack regs
5576         at the start of a block that is reachable by a computed jump.
5577         * reg-stack.c (stack_reg_life_analysis): If must restart, do so
5578         immediately.
5579         (subst_stack_regs): Undo change from Sep 4 1997.
5580         (uses_reg_or_mem): Now unused, deleted.
5581         * stupid.c (stupid_life_analysis): Compute
5582         current_function_has_computed_jump.
5583         (stupid_find_reg): Don't allocate stack regs if the function has a
5584         computed goto.
5585         * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
5586         the current function has a computed jump.  Use the global value
5587         instead.
5588
5589 Sat Mar 28 00:21:37 1998  Jeffrey A Law  (law@cygnus.com)
5590
5591         * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
5592         (DWARF2_UNWIND_INFO): Define to zero.
5593
5594 Fri Mar 27 16:04:49 1998  Michael Meissner  <meissner@cygnus.com>
5595
5596         * gcc.c (set_std_prefix): Add declaration.
5597         (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
5598         suffix, and update the standard prefix prefix.c uses.
5599
5600         * prefix.c (std_prefix): New global to hold default prefix value.
5601         (get_key_value): Change to use std_prefix instead of PREFIX.
5602         (translate_name): Ditto.
5603         (update_path): Ditto.
5604         (get_key_value): Release allocated scratch storage.
5605         (set_std_prefix): New function to reset the standard prefix.
5606
5607 Fri Mar 27 18:08:21 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5608
5609         * sh.c (find_barrier): Fix calculations for alignment increase.
5610
5611 Fri Mar 27 08:56:52 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5612
5613         * Makefile.in (stmp-fixinc): If we're actually fixing include
5614         files, copy gcc's assert.h into the fixed include dir.
5615         * fixincludes (assert.h): Avoid any attempts to fix a probably
5616         broken system specific assert.h file.
5617         * fixproto (stdlib.h): Make sure, it'll contain a definition of
5618         size_t.
5619
5620 Fri Mar 27 00:49:46 1998  Jeffrey A Law  (law@cygnus.com)
5621
5622         * regclass.c (reg_scan_mark_refs): Be more selective about
5623         when we mark a register with REGNO_POINTER_FLAG.
5624
5625 Thu Mar 26 23:00:11 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5626
5627         reload inheritance improvement:
5628         * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
5629         Change meaning: index is now hard reg number.
5630         (reg_reloaded_valid, reg_reloaded_dead): New variables.
5631         (reload_spill_index): Content is now a hard reg number.
5632         (reload_as_needed): Change to fit new variable meaning.
5633         (forget_old_reloads_1, allocate_reload_reg): Likewise.
5634         (choose_reload_regs, emit_reload_insns): Likewise.
5635
5636 Thu Mar 26 18:34:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5637
5638         * regclass.c (record_reg_classes): '?' increases cost by two.
5639
5640         * reload.c (find_reloads): Double previous costs.  Output
5641         reloads cost one unit extra.
5642
5643         * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
5644         boiled down to && ! 0.
5645
5646         * reload.c (find_equiv_reg): Also consider a goal offset from the
5647         frame pointer to be constant.
5648
5649 Thu Mar 26 17:34:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5650
5651         * sh.h (OPTIMIZATION_OPTIONS): Define.
5652
5653 Thu Mar 26 00:19:47 1998  Richard Henderson  <rth@cygnus.com>
5654
5655         * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
5656
5657 Wed Mar 25 23:53:11 1998  Jeffrey A Law  (law@cygnus.com)
5658
5659         * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
5660
5661 Wed Mar 25 13:40:48 1998  Jim Wilson  <wilson@cygnus.com>
5662
5663         * c-common.c (check_format_info): Initialize type, is_type.  New local
5664         integral_format.  Don't warn for 'L' when pedantic.  Do warn for 'L'
5665         when pedantic if used with integral format specifier.
5666
5667 Wed Mar 25 16:09:01 1998  Michael Meissner  <meissner@cygnus.com>
5668
5669         * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
5670         direction.
5671         (function_arg_padding): Declare.
5672
5673         * rs6000.c: Include system.h.
5674         (function_arg_padding): Change return type to int, cast enum's to
5675         int.
5676
5677         (From Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>)
5678         * collect2.c (scan_prog_file): Add explicit braces to avoid
5679         ambiguous `else'.
5680
5681         * dbxout.c (dbxout_type_fields): Add braces around empty body in
5682         an if-statement.
5683         (dbxout_type): Likewise.
5684
5685         * rs6000.c (rs6000_override_options): Change type of `i', `j' and
5686         `ptt_size' from int to size_t.
5687         (rs6000_file_start): Likewise for `i'.
5688         (rs6000_replace_regno): Add default case in enumeration switch.
5689         (output_epilog): Remove unused variable `i'.
5690         (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
5691         and `reg2'.
5692
5693         * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
5694         initializer.
5695         (get_issue_rate, non_logical_cint_operand): Add prototype.
5696         (rs6000_output_load_toc_table): Ditto.
5697
5698         * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
5699         `else'.
5700
5701 Wed Mar 25 10:05:19 1998  Nick Clifton  <nickc@cygnus.com>
5702
5703         * config/arm/thumb.c: New File.  Support for ARM's Thumb
5704         instruction set.
5705         * config/arm/thumb.h: New File.  Thumb definitions.
5706         * config/arm/thumb.md: New File.  Thumb machine description.
5707         * config/arm/tcoff.h: New File.  Thumb COFF support.
5708         * config/arm/t-thumb: New File.  Thumb makefile fragment.
5709         * config/arm/lib1thumb.asm: New File.  Thumb libgcc support functions.
5710
5711         * configure.in: Add Thumb-coff target.
5712         * configure: Add Thumb-coff target.
5713         * config.sub: Add Thumb-coff target.
5714
5715 Wed Mar 25 10:30:32 1998  Jim Wilson  <wilson@cygnus.com>
5716
5717         * loop.c (scan_loop): Initialize move_insn_first to zero.
5718
5719 Wed Mar 25 01:06:49 1998  Joel Sherrill (joel@OARcorp.com)
5720
5721         * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
5722         * config/i386/rtems.h: Likewise.
5723         * config/i960/rtems.h: Likewise.
5724         * config/m68k/rtems.h: Likewise.
5725         * config/mips/rtems64.h: Likewise.
5726         * config/pa/rtems.h: Likewise.
5727         * config/rs6000/rtems.h: Likewise.
5728         * config/sh/rtems.h: Likewise.
5729         * config/sparc/rtems.h: Likewise.
5730
5731 Wed Mar 25 00:57:26 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5732
5733         * pa.c (emit_move_sequence): If in reload, call find_replacement.
5734
5735 Tue Mar 24 10:44:11 1998  Nick Clifton  <nickc@cygnus.com>
5736
5737         * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
5738
5739         * collect2.c (find_a_file): Add debugging.
5740         (find_a_file): Test for win32 style absolute paths if
5741         DIR_SERPARATOR is defined.
5742         (prefix_from_string): Add debugging.
5743         (main): Test for debug command line switch at start of program
5744         execution.
5745         (main): Use GET_ENVIRONMENT rather than getenv().
5746         (prefix_from_env): Use GET_ENVIRONMENT.
5747
5748 1998-03-24  Mark Mitchell  <mmitchell@usa.net>
5749
5750         * cplus-dem.c (optable): Add sizeof.
5751         (demangle_template_value_parm): New function containing code
5752         previously found in demangle_template.
5753         (demangle_integral_value): New function which handles complicated
5754         integral expressions.
5755         (demangle_template): Use them.
5756
5757 Tue Mar 24 12:13:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5758
5759         * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
5760         genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
5761         genattrtab.o, genoutput.o): Depend on system.h.
5762
5763         * genattr.c: Include system.h.  Add arguments to various function
5764         prototypes.  Remove redundant prototype of read_rtx().
5765         * genattrtab.c: Likewise.
5766         * gencodes.c: Likewise.
5767         * genconfig.c: Likewise.
5768         * genemit.c: Likewise.
5769         * genextract.c: Likewise.
5770         * genflags.c: Likewise.
5771         * genopinit.c: Likewise.
5772         * genoutput.c: Likewise.
5773         * genpeep.c: Likewise.
5774         * genrecog.c: Likewise.
5775
5776 1998-03-24  Martin von Loewis  <loewis@informatik.hu-berlin.de>
5777
5778         * c-lang.c (lang_print_xnode): New function.
5779         * objc/objc-act.c (lang_print_xnode): Likewise.
5780         * print-tree.c (print_node): Call it
5781
5782 Mon Mar 23 23:59:11 1998  H.J. Lu  (hjl@gnu.org)
5783
5784         * c-parse.in: Recognize protocol qualifiers in class
5785         definitions for objc.
5786         Include "output.h".
5787         (yyerror): Remove redundant decl.
5788         (yyprint): Fix prototype.
5789
5790 Mon Mar 23 23:49:47 1998  Jeffrey A Law  (law@cygnus.com)
5791
5792         * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
5793
5794         * stmt.c (unroll_block_trees): Free block_vector if needed.
5795
5796 Mon Mar 23 23:26:42 1998  Philippe De Muyter  <phdm@macqel.be>
5797
5798         * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
5799         (zero_extendsidi2): Avoid useless copy.
5800         (iordi_zext): New pattern.
5801         (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
5802         operand 2.
5803         (iorsi_zext): New name for old unnamed pattern; indentation fixes.
5804
5805         * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
5806         (ashldi3): Allow constant shift count in range ]32,63].
5807         (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
5808
5809 1998-03-22  Mark Mitchell  <mmitchell@usa.net>
5810
5811         * tree.h (IS_EXPR_CODE_CLASS): New macro.
5812
5813 Mon Mar 23 23:18:48 1998  Jeffrey A Law  (law@cygnus.com)
5814
5815         * h8300.h (CONST_COSTS): Remove definition.
5816         (DEFAULT_RTX_COSTS): Define.
5817
5818 Mon Mar 23 22:58:22 1998  Joel Sherrill (joel@OARcorp.com)
5819
5820         * config/sh/rtems.h: Switched from ELF to COFF.
5821
5822 Mon Mar 23 14:14:20 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5823
5824         * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
5825
5826 Sat Mar 21 23:52:56 PST 1998 Jeff Law  (law@cygnus.com)
5827
5828         * version.c: Bump for snapshot.
5829
5830 Sun Mar 22 00:50:42 1998  Nick Clifton  <nickc@cygnus.com>
5831                           Geoff Noer    <noer@cygnus.com>
5832
5833         * Makefile.in: Various fixes for building cygwin32 native toolchains.
5834
5835         * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
5836         * objc/Make-lang.in: Likewise.
5837
5838         * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
5839
5840 Sun Mar 22 00:21:46 1998  R. Ganesan  <rganesan@novell.com>
5841
5842         * configure.in: Handle with-PACKAGE=no correctly
5843
5844 Fri Mar 20 17:36:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5845
5846         * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
5847         c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
5848         caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
5849         dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
5850         expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
5851         integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
5852         prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
5853         reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
5854         rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
5855         tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
5856         on system.h.
5857
5858         * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
5859         c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
5860         caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
5861         dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
5862         expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
5863         integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
5864         prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
5865         reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
5866         rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
5867         stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
5868         xcoffout.c: Include system.h.  Organize include ordering so
5869         that stdarg/varargs comes before other system headers.  Remove
5870         spurious casts of functions assured of a prototype in system.h.
5871
5872 Fri Mar 20 11:19:40 1998  Stan Cox  <scox@equinox.cygnus.com>
5873
5874         * reg-stack.c (pop_stack): Define. Pops any register on the
5875         regstack and adjusts regstack.
5876         (compare_for_stack_reg): Use pop_stack.
5877
5878 Thu Mar 19 23:51:01 1998  Jeffrey A Law  (law@cygnus.com)
5879
5880         * configure.in (hppa1.0-hp-hpux10): Handle threads for this
5881         config too.
5882
5883 Thu Mar 19 20:30:31 1998  Philippe De Muyter  <phdm@macqel.be>
5884
5885         * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
5886
5887         * fold-const.c (fold): Replace sign-extension of a zero extended
5888         value by a single zero extension.
5889
5890 Thu Mar 19 00:58:07 1998  Jason Merrill  <jason@yorick.cygnus.com>
5891
5892         * except.c (init_eh): Do nothing.
5893         (save_eh_status): Call init_eh_for_function, not init_eh.
5894         * function.c (push_function_context_to): Don't call init_emit.
5895
5896 Thu Mar 19 13:39:52 1998  Michael Meissner  <meissner@cygnus.com>
5897
5898         * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
5899         and EABI.
5900
5901 Thu Mar 19 10:10:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5902
5903         * final.c (shorten_branches): Add parentheses around +/- in
5904         operand of &.
5905
5906         * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
5907
5908 Thu Mar 19 09:15:17 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5909
5910         * regclass.c (memory_move_secondary_cost): Wrap uses of
5911         SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
5912         with #ifdef tests.
5913
5914 Thu Mar 19 09:06:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5915
5916         * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
5917
5918         * flow.c (life_analysis): #include <sys/types.h> to make sure
5919         size_t is defined.
5920         * cplus-dem.c (demangle_function_name): Likewise.
5921
5922 Thu Mar 19 09:00:01 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5923
5924         * final.c (insn_noperands): Change type to unsigned int.
5925         (final_scan_insn): Likewise for noperands;
5926         properly check operand number boundaries.
5927
5928 Wed Mar 18 16:20:30 1998  Richard Henderson  <rth@cygnus.com>
5929
5930         * alpha.md (extzv): Don't reject register operands.  Fix
5931         mode of operand 1.
5932
5933 Wed Mar 18 16:14:23 1998  Richard Henderson  <rth@cygnus.com>
5934
5935         * dbxout.c (dbxout_function_end): Fix last change.  The correct
5936         predicate is ASM_OUTPUT_SECTION_NAME.
5937
5938 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
5939
5940         * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
5941         (ashlsi): Use match_dup 1 instead of match_operand 2.
5942
5943 Wed Mar 18 13:46:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5944
5945         * fold-const.c (operand_equal_for_comparison_p): See if equal
5946         when nop conversions are removed.
5947
5948 Wed Mar 18 13:42:01 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5949
5950         * expr.c (expand_expr, case COND_EXPR): If have conditional move,
5951         don't use ORIGINAL_TARGET unless REG.
5952
5953 Wed Mar 18 16:53:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5954
5955         * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
5956
5957 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
5958
5959         * loop.c (struct movable): New field move_insn_first.
5960         (scan_loop): In consec sets code, set it.  Clear it otherwise.
5961         (move_movables): In consec sets code, use it.  Copy REG_NOTES from
5962         p to i1 only if i1 does not have REG_NOTES.  Delete obsolete ifdefed
5963         out code.
5964
5965 Wed Mar 18 09:52:56 1998  Richard Henderson  <rth@cygnus.com>
5966
5967         * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
5968         is large, and the system doesn't provide atoll or atoq.
5969         (atoll): New.
5970
5971         * alpha/xm-vms.h (HAVE_ATOLL): Define.
5972         Reported by Klaus Kaempf <kkaempf@progis.de>.
5973
5974 Wed Mar 18 09:56:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5975
5976         * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
5977         test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
5978
5979         * calls.c (emit_call_1): Wrap variable `already_popped' with macro
5980         test !ACCUMULATE_OUTGOING_ARGS.
5981
5982         * collect2.c (write_c_file_glob): Wrap function definition in
5983         macro test !LD_INIT_SWITCH.
5984
5985         * combine.c (try_combine): Wrap variables `cc_use' and
5986         `compare_mode' in macro test EXTRA_CC_MODES.
5987
5988         * cpplib.c (do_ident): Remove unused variable `len'.
5989         (skip_if_group): Remove unused variables `at_beg_of_line' and
5990         `after_ident'.
5991         (cpp_get_token): Remove unused variable `dummy'.
5992
5993         * dbxout.c (scope_labelno): Move static variable definition inside
5994         the one function scope where it is used.
5995         (dbxout_function_end): Wrap prototype and definition in
5996         macro test !NO_DBX_FUNCTION_END.
5997
5998         * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
5999         in macro test !MIPS_DEBUGGING_INFO.
6000
6001         * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
6002         into the scope where it is used.  Wrap empty else-statement body
6003         in braces.
6004
6005         * fix-header.c: Fix typo in comment.
6006         (inf_skip_spaces): Cast results of INF_UNGET to (void).
6007         (check_protection, main): Likewise.
6008
6009         * flow.c (find_basic_blocks_1): Remove dangling comment text.
6010
6011         * function.c (contains): Wrap prototype and definition in macro
6012         test HAVE_prologue || HAVE_epilogue.
6013         (fixup_var_refs_1): Remove unused variable `width'.
6014
6015         * gen-protos.c (main): Remove unused variable `optr'.
6016
6017         * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
6018
6019         * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
6020         (__sjpopnthrow): Remove unused variable `jmpbuf'.
6021         (__throw): Remove unused variable `val'.
6022
6023         * protoize.c: Check for a previously existing definition before
6024         defining *_OK macros.
6025
6026         * scan-decls.c (scan_decls): Remove unused variable `old_written'.
6027
6028 Tue Mar 17 00:45:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6029
6030         * vax.h (ADDR_VEC_ALIGN): Define.
6031
6032 Mon Mar 16 15:57:17 1998  Michael Meissner  <meissner@cygnus.com>
6033
6034         * gcc.c (default_arg): Don't wander off the end of allocated
6035         memory.
6036
6037         (From Geoffrey Keating  <geoffk@ozemail.com.au>)
6038         * rs6000.c (small_data_operand): Ensure that any address
6039         referenced relative to the small data area is inside the SDA.
6040
6041 Mon Mar 16 12:55:15 1998  Jim Wilson  <wilson@cygnus.com>
6042
6043         * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
6044
6045 Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
6046
6047         * except.h (in_same_eh_region): New prototype.
6048         (free_insn_eh_region, init_insn_eh_region): New prototypes.
6049         * except.c (insn_eh_region, maximum_uid): New static variables.
6050         (set_insn_eh_region): New static function to set region numbers.
6051         (free_insn_eh_region): New function to free EH region table.
6052         (init_insn_eh_region): New function to initialize EH region table.
6053         (in_same_eh_region): New function used to determine if two rtl
6054         instructions are in the same exception region or not.
6055         * final.c (final): Initialize the table indicating which instructions
6056         belong in which exception region.
6057         * genpeep.c (main): Add "except.h" to include file list in generated
6058         file insn-peep.c.
6059         * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
6060         peepholes involving calls and unconditional branches.
6061
6062 Mon Mar 16 11:16:50 1998  Jim Wilson  <wilson@cygnus.com>
6063
6064         * README.gnat: New file.
6065
6066 Mon Mar 16 11:14:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6067
6068         * config/m68k/m68k.c: Include <stdlib.h> for atoi.  Include
6069         "recog.h" for offsettable_memref_p.
6070         (legitimize_pic_address): Remove unused variable `offset'.
6071         (notice_update_cc): Change return type to void.  Add default label
6072         to switch.
6073         (standard_68881_constant_p): Remove unused variable mode.
6074         (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
6075         (const_int_cost): Explicitly declare as returning int.
6076         (output_dbcc_and_branch): Change return type to void.
6077
6078         * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
6079         config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
6080         (...).  Use GEN_INT instead of gen_rtx_CONST_INT.
6081
6082 Sun Mar 15 22:30:44 PST 1998 Jeff Law  (law@cygnus.com)
6083
6084         * version.c: Bump for snapshot.
6085
6086 Fri Mar 13 11:30:12 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6087
6088         * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
6089         check for 'M' constraint.
6090
6091 Thu Mar 12 14:47:14 1998  Jim Wilson  <wilson@cygnus.com>
6092
6093         * cccp.c (create_definition): If pedantic, call pedwarn for macro
6094         varargs feature.
6095
6096 Thu Mar 12 13:43:25 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
6097
6098         * i386.c (ix86_logical_operator): New function.
6099         (split_di): Ensure that when a MEM is split, the resulting MEMs have
6100         SImode.
6101         * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
6102         to implement them.
6103
6104 Thu Mar 12 15:13:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6105                           Richard Earnshaw <rearnsha@arm.com>
6106                           Nick Clifton  <nickc@cygnus.com>
6107
6108         * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
6109
6110         * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
6111
6112         * cse.c (rtx_cost): Provide a default case in an enumeration
6113         switch, and call DEFAULT_RTX_COSTS if it's defined.
6114
6115 Thu Mar 12 10:02:38 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6116
6117         * basic-block.h (compute_preds_succs): Change return type in
6118         prototype to void.
6119         * flow.c (compute_preds_succs): Likewise in function definition.
6120
6121         * regmove.c (find_matches): Cast char used as array index to unsigned char
6122         to supress warning.
6123
6124 Thu Mar 12 09:39:40 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6125
6126         * i386.h (RTX_COSTS): Insert braces around nested if.
6127         (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
6128         elements.
6129
6130         * gcc.c (default_compilers): Properly put brackets around array elements in
6131         initializer.
6132
6133         * getopt.c (_getopt_internal): Add explicit braces around nested if;
6134         reformatted.
6135
6136         * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
6137         (record_reg_life_pat): Add explicit parens around && and || in expression.
6138         (stack_reg_life_analysis): Add parens around assignment used as expression.
6139         (convert_regs): Likewise.
6140
6141 Thu Mar 12 09:25:29 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6142
6143         * bitmap.c (bitmap_element_allocate): Remove unused parameter;
6144         change callers accordingly.
6145
6146         * cplus-dem.c (arm_special): Remove unused parameter work in prototype
6147         and definition; change all callers accordingly.
6148
6149         * except.c (init_eh): Avoid assignment of unused return value of
6150         build_pointer_type; cast it to void, instead, and remove unused
6151         variable type.
6152
6153         * gcc.c (lang_specific_driver): Define prototype only #ifdef
6154         LANG_SPECIFIC_DRIVER.
6155         (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
6156
6157         * genoutput.c (output_epilogue): Initialize next_name to 0.
6158
6159         * real.c (efrexp): #if 0 prototype and function definition.
6160         (eremain): Likewise.
6161         (uditoe): Likewise.
6162         (ditoe): Likewise.
6163         (etoudi): Likewise.
6164         (etodi): Likewise.
6165         (esqrt): Likewise.
6166
6167         * reload.c (push_secondary_reload): Define prototype only
6168         #ifdef HAVE_SECONDARY_RELOADS.
6169
6170         * varasm.c (assemble_static_space): Define rounded only
6171         #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
6172
6173 Thu Mar 12 09:11:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6174
6175         * i386.md (andsi): Add default case in enumeration switch.
6176         (iorsi3): Likewise.
6177         (iorhi3): Likewise.
6178         (xorsi3): Likewise.
6179
6180 Thu Mar 12 08:37:02 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6181
6182         * c-decl (finish_struct): Change type of min_align to unsigned.
6183
6184         * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
6185         remove unused variable len.
6186
6187         * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
6188         comment indicating this is proper behaviour.
6189         (reg_loc_descriptor): Remove redundant comparison of unsigned variable
6190         reg >= 0.
6191         (based_loc_descr): Likewise.
6192
6193         * enquire.c (bitpattern): Change type of variable i to unsigned.
6194
6195         * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
6196
6197         * flow.c (life_analysis): Change type of variable i to size_t;
6198         remove unused variable insn.
6199
6200         * gcc.c (translate_options): Change type of variables optlen, arglen and
6201         complen to size_t.
6202         (input_filename_length): Change type to size_t.
6203         (do_spec_1): Change type of variable bufsize to size_t.
6204         (main): Change type of variables i and j to size_t;
6205         remove subblock local definition of variable i.
6206         (lookup_compiler): Change type of second argument to size_t;
6207         change type of variable i to size_t.
6208
6209         * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
6210
6211         * genopinit.c (get_insn): Change type of variable pindex to size_t.
6212
6213         * genrecog.c (add_to_sequence): Change type of variable i to size_t.
6214
6215         * global.c (global_alloc): Change type of variable i to size_t.
6216
6217         * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
6218
6219         * stmt.c (expand_end_bindings): Change type of variable i to size_t.
6220         (expand_end_case): Change type of variable count to size_t.
6221
6222         * toplev.c (main): Change type of variable j to size_t.
6223         (set_target_switch): Change type of variable j to size_t.
6224         (print_switch_values): Change type of variable j to size_t;
6225         remove unused variable flags.
6226
6227         * varasm.c (assemble_variable): Change type of variable align to size_t.
6228         (const_hash_rtx): Change type of variable i to size_t.
6229
6230 1998-03-11  Mark Mitchell  <mmitchell@usa.net>
6231
6232         * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
6233         TREE_VEC if that's what it really is.
6234
6235 Wed Mar 11 15:16:01 1998  Michael Meissner  <meissner@cygnus.com>
6236
6237         * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
6238         as per ISO C spec.
6239
6240 Wed Mar 11 12:05:20 1998  Teemu Torma  <tot@trema.com>
6241
6242         * gthr.h: Changed the comment about return values.
6243         * gthr-solaris.h (__gthread_once): Do not use errno; return the
6244         error number instead of -1.
6245         (__gthread_key_create): Any non-zero return value is an error.
6246         * libgcc2.c (eh_context_initialize): Check for non-zero return
6247         value from __gthread_once.
6248         Check that the value of get_eh_context was really changed.
6249
6250 Wed Mar 11 18:26:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6251
6252         * sh.h (LOOP_ALIGN): Only align when optimizing.
6253         * sh.c (find_barrier): Clear inc for CODE_LABELs.
6254         When not optimizing, calculate alignment for BARRIERs directly.
6255
6256 Wed Mar 11 15:07:18 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6257
6258         * final.c (shorten_branches): Remove conditionalizing on
6259         SHORTEN_WITH_ADJUST_INSN_LENGTH
6260         * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
6261
6262 Wed Mar 11 02:37:41 1998  Jeffrey A Law  (law@cygnus.com)
6263
6264         * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
6265         an unconditional jump around deleted blocks.
6266
6267 Mon Mar  9 12:02:23 1998  Jim Wilson  <wilson@cygnus.com>
6268
6269         * profile.c (branch_prob): If see computed goto, call fatal instead of
6270         abort.
6271
6272         * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
6273
6274         * configure.in (alpha-dec-osf): Add default case for osf* to switch.
6275         Patch from Bruno Haible.
6276
6277         * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
6278         (assign_parms): Set aggregate if hide_last_arg and last_named.
6279
6280 Mon Mar  9 19:57:56 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6281
6282         * final.c (shorten_branches): Initialize insn_addresses.
6283
6284 Mon Mar  9 14:10:23 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6285
6286         * sh.h (MUST_PASS_IN_STACK): Define.
6287
6288 Sun Mar  8 13:01:56 1998  Jeffrey A Law  (law@cygnus.com)
6289
6290         * final.c (shorten_branches): Fix minor logic error in
6291         ADDR_DIFF_VEC shortening support.
6292
6293 Sun Mar 8 02:17:42 PST 1998 Jeff Law  (law@cygnus.com)
6294
6295         * version.c: Bump for snapshot.
6296
6297 Sat Mar  7 00:54:15 1998  Jeffrey A Law  (law@cygnus.com)
6298
6299         * haifa-sched.c (is_cfg_nonregular): Change return type to
6300         an int.  No longer compute "estimated" number of edges.  Use
6301         computed_jump_p instead of duplicating the code.  Fixup/add
6302         some comments.
6303         (build_control_flow): Returns a value indicating an irregularity
6304         in the cfg was detected.  Count the number of edges in the cfg.
6305         allocate various edge tables.
6306         (find_rgns): No longer look for unreachable blocks.
6307         (schedule_insns): Do not allocate memory for edge tables here.
6308         Free memory for edge tables before returning.  Do not perform
6309         cross block scheduling if build_control_flow returns nonzero.
6310         * flow.c (compute_preds_succs): More accurately determine when
6311         a block drops in.
6312
6313         * basic-block.h (free_basic_block_vargs): Provide prototype.
6314
6315         * cccp.c (main): Fix dumb mistakes in last change.
6316
6317 Fri Mar  6 21:28:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6318
6319         * rtl.h (addr_diff_vec_flags): New typedef.
6320         (union rtunion_def): New member rt_addr_diff_vec_flags.
6321         (ADDR_DIFF_VEC_FLAGS): New macro.
6322
6323         * sh.c (output_branch): Fix offset overflow problems.
6324
6325         * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
6326         (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
6327         * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
6328         * stmt.c (expand_end_case): Supply new arguments to
6329         gen_rtx_ADDR_DIFF_VEC.
6330         * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
6331         * alpha.h, arc.h, clipper.h, convex.h : Likewise.
6332         * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
6333         * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
6334         * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
6335         * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
6336         * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
6337         * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
6338         * i386/freebsd.h, i386/linux.h : Likewise.
6339         * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
6340         * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
6341         * m68k/mot3300.h, m68k/sgs.h : Likewise.
6342         * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
6343         * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
6344         (CASE_VECTOR_SHORTEN_MODE): Define.
6345         (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
6346         (med_branch_p, braf_branch_p): Don't declare.
6347         (mdep_reorg_phase, barrier_align): Declare.
6348         (ADJUST_INSN_LENGTH): Remove alignment handling.
6349         * sh.c (uid_align, uid_align_max): Deleted.
6350         (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
6351         (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
6352         (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
6353         (output_far_jump): Don't use braf_branch_p.
6354         (output_branchy_insn): Don't use branch_offset.
6355         (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
6356         Remove paired barrier stuff.
6357         Don't use cache_align_p.
6358         Take alignment insns into account.
6359         (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
6360         the addr_diff_vec.
6361         (barrier_align, branch_dest): New function.
6362         (machine_dependent_reorg, split_branches): Remove infrastructure
6363         for branch shortening that is now provided in the backend.
6364         * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
6365         (braf_branch_p, braf_cbranch_p): Likewise.
6366         (attribute length): Use new attributes.
6367         (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
6368         (addr_diff_vec_adjust): Delete.
6369         (align_2): Now a define_expand.
6370         (align_log): Now length 0.
6371
6372 Fri Mar  6 14:41:33 1998  Michael Meissner  <meissner@cygnus.com>
6373
6374         * m32r.md (right): Correctly check for length == 2, not 1.
6375
6376 Fri Mar  6 14:00:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6377
6378         * mips/mips.h: Prototype `machine_dependent_reorg'.
6379         (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
6380
6381 Fri Mar  6 11:43:35 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
6382
6383         * final.c (shorten_branches): Restore accidentally removed code.
6384
6385 Fri Mar  6 11:00:49 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6386
6387         * configure.in: Remove duplicate uses of AC_PROG_CC and
6388         AC_PROG_MAKE_SET.
6389
6390 Fri Mar  6 00:59:30 1998  Richard Henderson  <rth@cygnus.com>
6391
6392         * configure.in (target_cpu_default2): Correct typo for alphapca56.
6393
6394 Thu Mar  5 23:24:50 1998  Jeffrey A Law  (law@cygnus.com)
6395                           Doug Evans     (devans@cygnus.com)
6396
6397         * haifa-sched.c (build_jmp_edges): Delete dead function.
6398         (build_control_flow): Use cfg routines from flow.c
6399         (schedule_insns): Remove debugging code accidentally checked
6400         in earlier today.
6401
6402         * basic-block.h: Add external integer list structures, typdefs,
6403         accessor macros and function declarations.  Simlarly for
6404         basic block pred/succ support and simple bitmap stuff.
6405         * flow.c: Add functions for integer list, basic block pred/succ
6406         support and simple bitmap support.
6407         (compute_dominators): New function to compute dominators and
6408         post dominators.
6409         (find_basic_blocks): Split into two functions.
6410         (life_analysis): Likewise.
6411         (flow_analysis): Removed.  Now handled by calling find_basic_blocks,
6412         the life_analysis from toplev.c
6413         * toplev.c (rest_of_compilation): Call find_basic_blocks, then
6414         life_analysis instead of flow_analysis.
6415
6416 Thu Mar  5 23:06:26 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6417
6418         * jump.c (jump_optimize): Call mark_jump_label also for deleted
6419         insns.
6420         (mark_jump_label): Don't increment ref counts for deleted insns.
6421
6422 Thu Mar  5 09:55:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6423
6424         * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
6425
6426         * mips/mips.c: Include stdlib.h and unistd.h.
6427         (mips_asm_file_end): Add braces around empty body in an if-statement.
6428         (function_prologue): Wrap variable `fnname' in
6429         !FUNCTION_NAME_ALREADY_DECLARED.  Correct format specifier in fprintf.
6430         (mips_select_rtx_section, mips_select_section): Declare as void.
6431
6432         * mips/mips.h: Add prototypes for extern functions in mips.c.
6433         (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
6434         (ENCODE_SECTION_INFO): Add braces around empty body in an
6435         if-statement.
6436
6437         * mips/mips.md (movdi): Add parentheses around && within ||.
6438         (movsf, movdf): Likewise.
6439         (branch_zero, branch_zero_di): Add default case in
6440         enumeration switch.
6441
6442
6443 Thu Mar  5 02:45:48 1998  Richard Henderson  <rth@cygnus.com>
6444
6445         * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
6446         real constants, since they can't be changed.
6447         (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6448         * alpha/alpha.md (builtin_setjmp_receiver): Use it.
6449         * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6450         * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6451         * alpha/vms.h (TARGET_OPEN_VMS): New.
6452         * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
6453
6454 Thu Mar  5 02:41:27 1998  Richard Henderson  <rth@cygnus.com>
6455
6456         * reload.c (find_reloads): Always force (subreg (mem)) to be
6457         reloaded if WORD_REGISTER_OPERATIONS.
6458
6459 Thu Mar  5 02:14:44 1998  Richard Henderson  <rth@cygnus.com>
6460
6461         * haifa-sched.c (free_list): Rename from free_pnd_lst.
6462         (free_pending_lists): Rename free_pnd_lst uses.
6463         (remove_dependence): Place expunged element on unused_insn_list.
6464         (alloc_INSN_LIST, alloc_EXPR_LIST): New.  Change all callers of
6465         gen_rtx_*_LIST and alloc_rtx to use them.
6466         (compute_block_backward_dependences): Free the reg_last_* lists.
6467
6468 Thu Mar  5 00:05:40 1998  Jeffrey A Law  (law@cygnus.com)
6469
6470         * cccp.c (main): Avoid undefined behavior when setting pend_includes
6471         and pend_files.
6472
6473 Wed Mar  4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6474
6475         * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
6476         USE_GNULIBC_1 is defined
6477         * configure.in: add a new case powerpc-*-linux-gnulibc1 which
6478         includes the t-linux-gnulibc1 fragment
6479
6480 Wed Mar  4 12:11:36 1998  Jim Wilson  <wilson@cygnus.com>
6481
6482         * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
6483
6484 Wed Mar  4 18:47:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6485
6486         * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
6487
6488 Wed Mar  4 15:51:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6489
6490         * final.c (shorten_branches): Tag the loop alignment onto the
6491         first label after NOTE_INSN_LOOP_BEG even if there is an
6492         intervening insn.
6493
6494 Tue Mar  3 21:48:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6495
6496         * final.c (insn_current_reference_address):
6497         Use SEQ instead of BRANCH as argument to align_fuzz, to get a
6498         proper alignment chain.
6499
6500         * final.c (max_labelno): New static variable.
6501         (final_scan_insn): Check max_labelno before outputting an
6502         alignment for a label.
6503         (shorten_branches): Remove unused variable length_align.
6504
6505 Tue Mar  3 14:27:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6506
6507         * sparc.c (ultrasparc_adjust_cost): Add default case in
6508         enumeration switch.
6509
6510          * sparc.h: Add prototypes for extern functions defined in
6511         sparc.c.
6512
6513 Tue Mar  3 10:00:11 1998  Nick Clifton  <nickc@cygnus.com>
6514
6515         * toplev.c: Only generate <name>.dbr file when dumping RTL if
6516         DEALY_SLOTS is defined.
6517
6518 Tue Mar  3 07:36:37 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6519
6520         * reorg.c (fill_eager_delay_slots): Add new argument delay_list
6521         in call to fill_slots_from_thread.
6522
6523 Mon Mar  2 13:45:03 1998  Richard Henderson  <rth@cygnus.com>
6524
6525         * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
6526         to SUB_CPP_PREDEFINES.  Reported by asun@saul4.u.washington.edu.
6527
6528 Mon Mar  2 22:59:28 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6529
6530         * final.c (insn_last_address, insn_current_align, uid_align):
6531         New variables.
6532         (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
6533         (insn_current_reference_address): Likewise.
6534         (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
6535         LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
6536         (label_to_alignment): New function.
6537         * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
6538         LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
6539         insn_current_reference_address instead of insn_current_address.
6540         (or_attr_value, write_length_unit_log): New functions.
6541         (main): Call write_length_unit_log.
6542         (write_const_num_delay_slots): Output extra '\n'.
6543         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
6544         replace with:
6545         (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
6546         * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
6547         * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
6548         (LOOP_ALIGN).
6549         * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
6550         (LABEL_ALIGN_AFTER_BARRIER).
6551         * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
6552         * ns32k/tek6000.h: Likewise.
6553         * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
6554         * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
6555         ASM_OUTPUT_ALIGN_CODE.
6556
6557 Mon Mar 2 01:05:50 PST 1998 Jeff Law  (law@cygnus.com)
6558
6559         * version.c: Bump for snapshot.
6560
6561 Mon Mar 2 00:52:18 PST 1998 Jeff Law  (law@cygnus.com)
6562
6563         * version.c: Bump for snapshot.
6564
6565 Sun Mar  1 18:25:49 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
6566
6567         * reorg.c (fill_slots_from_thread): Don't steal delay list from target
6568         if condition code of jump conflicts with opposite_needed.
6569
6570         * reorg.c (fill_slots_from_thread): Mark resources referenced in
6571         opposite_needed thread.  Return delay_list even when cannot get
6572         any more delay insns from end of subroutine.
6573
6574 Sun Mar  1 18:26:21 1998  Ken Rose (rose@acm.org)
6575
6576         * reorg.c (fill_slots_from_thread): New parameter, delay_list.
6577         All callers changed.
6578
6579 Sun Mar  1 18:25:37 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
6580
6581         * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
6582         end_fde_sort): New functions for fast sorting of an FDE array.
6583         (fde_insert): Simplified.
6584         (add_fdes): Change argument list.
6585         (frame_init): Use the new functions.
6586
6587 Sun Mar  1 18:06:21 1998  Jeffrey A Law  (law@cygnus.com)
6588
6589         * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
6590
6591         * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
6592
6593         * fold-const.c (fold_range_test): Always return a value.
6594
6595 Sun Mar  1 17:57:34 1998  Mumit Khan <khan@xraylith.wisc.edu>
6596
6597         * config/i386/winnt.c (i386_pe_unique_section): Put read-only
6598         data in the text section unless READONLY_DATA_SECTION is defined.
6599
6600 Sun Mar  1 17:48:46 1998  Jeffrey A Law  (law@cygnus.com)
6601
6602         * c-parse.in (undeclared variable error): Tweak error message to
6603         be clearer.
6604
6605 Sun Mar 1 10:22:36 PST 1998 Jeff Law  (law@cygnus.com)
6606
6607         * version.c: Bump for snapshot.
6608
6609 1998-02-28  Mark Mitchell  <mmitchell@usa.net>
6610
6611         * final.c (final_scan_insn): Undo overzealous removal of `set'.
6612
6613 Sat Feb 28 07:54:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6614
6615         * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
6616         case, add parentheses to specify the proper order of precedence in
6617         the if-statement.
6618
6619
6620         * c-aux-info.c: Include string.h/strings.h.
6621
6622         * pa.c: Include stdlib.h.
6623         (pa_combine_instructions): Prototype the function.
6624         (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
6625         (reloc_needed): Add default case for enumeration switch.
6626         (remove_useless_addtr_insns): Remove unused variable `all'.
6627         (hppa_expand_prologue): Add explicit braces to avoid
6628         ambiguous `else'.
6629         (output_function_epilogue): Remove unused variable `i'.
6630         (output_millicode_call): Remove unused variable `link'.
6631         (shadd_constant_p, forward_branch_p): Make the function static.
6632         (following_call): Explicitly declare to return int.
6633         (pa_reorg): Declare as void.
6634         (pa_combine_instructions): Declare as static void.  Add
6635         parentheses around && within ||.
6636
6637         * pa.h: Add prototypes for pa_reorg, symbolic_operand,
6638         following_call, function_label_operand, lhs_lshift_cint_operand
6639         and zdepi_cint_p.
6640
6641         * pa.md: Add parentheses around && within ||.
6642
6643         * cppalloc.c: Include stdlib.h.
6644
6645         * cpperror.c (cpp_print_containing_files): Remove unused variable
6646         `i'.  Fix format specifier in fprintf.
6647
6648         * cse.c (cse_around_loop): Add explicit braces to avoid
6649         ambiguous `else'.
6650         (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
6651
6652         * expr.c (expand_expr): Add parentheses around && within ||.
6653
6654         * final.c (app_enable): Replace fprintf with fputs where there are
6655         no format specifiers and no trailing argument after the string.
6656         Eg, when printing ASM_APP_ON/ASM_APP_OFF.
6657         (app_disable): Likewise.
6658         (final_end_function): Likewise.
6659         (final_scan_insn): Likewise.  Remove unused variable `set'.
6660         (profile_function): Wrap empty if-statement body in {} brackets.
6661
6662         * function.c: Include stdlib.h.
6663         (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
6664         (reposition_prologue_and_epilogue_notes): Add parentheses
6665         around assignment used as truth value.
6666
6667         * integrate.c (expand_inline_function): Wrap variable
6668         `cc0_insn' in macro HAVE_cc0.
6669
6670         * jump.c (jump_optimize): Wrap variable `q' in macro
6671         HAVE_cc0.  Remove unused variable `prev1'.
6672
6673         * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
6674         within ||.  Fix format specifier in fprintf.
6675         (__bb_init_prg): Add parentheses around assignment used as
6676         truth value.
6677
6678         * local-alloc.c: Include stdlib.h.
6679         (requires_inout): Add parentheses around assignment used
6680         as truth value.
6681
6682         * loop.c (analyze_loop_iterations): Wrap prototype and definition
6683         in macro HAVE_decrement_and_branch_on_count.
6684         (insert_bct, instrument_loop_bct): Likewise.
6685         (move_movables): Add parentheses around assignment used as
6686         truth value.
6687         (consec_sets_invariant_p): Likewise.
6688         (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
6689
6690         * objc/objc-act.c: Include stdlib.h.
6691         (lookup_method_in_protocol_list): Wrap empty else-statement body
6692         in braces.
6693         (lookup_protocol_in_reflist): Likewise.
6694         (objc_add_static_instance): Remove unused variables `decl_expr'
6695         and `decl_spec'.
6696         (get_objc_string_decl): Remove unused variable `decl'.
6697         (generate_static_references): Remove unused variables `idecl' and
6698         `instance'.
6699         (check_protocols): Wrap empty else-statement body in braces.
6700
6701         * protoize.c: Include stdlib.h.
6702         (substr): Add parentheses around assignment used as truth value.
6703         (abspath): Likewise.
6704         (shortpath): Likewise.
6705
6706         * regmove.c (fixup_match_1): Add parentheses around assignment
6707         used as truth value.
6708
6709         * reload.c (push_secondary_reload): Remove unused variable `i'.
6710         (find_reloads): Add parentheses around assignment used as truth
6711         value.
6712
6713         * reload1.c: Include stdlib.h.
6714
6715         * rtl.h: Correct typo in prototype of offsettable_memref_p.
6716
6717         * stmt.c (add_case_node): Add parentheses around assignment used
6718         as truth value.
6719         (case_tree2list): Likewise.
6720
6721         * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
6722         in macro VALID_MACHINE_DECL_ATTRIBUTE.  Wrap variable
6723         `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
6724         (merge_attributes): Add explicit braces to avoid ambiguous
6725         `else'.
6726
6727         * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
6728         macro HAVE_cc0.
6729
6730         * varasm.c: Include stdlib.h.
6731
6732
6733         * system.h: Remove sys/stat.h.
6734         * gcc.c: Add sys/stat.h.
6735
6736         * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
6737         * genattrtab.c: Likewise.
6738         * genconfig.c: Likewise.
6739         * genemit.c: Likewise.
6740         * genextract.c: Likewise.
6741         * genflags.c: Likewise.
6742         * genopinit.c: Likewise.
6743         * genoutput.c: Likewise.
6744         * genpeep.c: Likewise.
6745         * genrecog.c: Likewise.
6746         * tlink.c: Likewise.  Also wrap `getenv' in NEED_DECLARATION_GETENV.
6747
6748 Fri Feb 27 11:02:47 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6749
6750         * invoke.texi: Use @itemx for a secondary item in a @table.
6751
6752         * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
6753         zero.
6754
6755 Thu Feb 26 00:13:21 1998  Ian Lance Taylor  <ian@cygnus.com>
6756
6757         * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
6758
6759 Wed Feb 25 23:40:54 1998  Jeffrey A Law  (law@cygnus.com)
6760
6761         * i386.c (struct machine_function): Add new fields for PIC stuff.
6762         (save_386_machine_status): Fix argument to xmalloc.  Save pic_label_rtx
6763         and pic_label_name.
6764         (restore_386_machine_status): Corresponding changes.
6765         (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
6766
6767 Wed Feb 25 01:31:40 1998  Jeffrey A Law  (law@cygnus.com)
6768
6769         * c-parse.y (undeclared variable error): Tweak error message
6770         to be clearer.
6771
6772 Tue Feb 24 23:54:07 1998  Richard Henderson  <rth@cygnus.com>
6773
6774         * flags.h (g_switch_value, g_switch_set): Declare.
6775         * alpha.c (override_options): Set g_switch_value=8 if not set.
6776         * alpha/elf.h (CC1_SPEC): New.
6777         (ASM_SPEC): New.
6778         (LINK_SPEC): Pass along the -G value we were given.
6779         (LOCAL_ASM_OP): Remove.
6780         (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
6781         (MAX_OFILE_ALIGNMENT): New.
6782         (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
6783         (EXTRA_SECTIONS): Add sbss and sdata.
6784         (SECTION_FUNCTION_TEMPLATE): New.
6785         (EXTRA_SECTION_FUNCTIONS): Use it.
6786         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
6787         (SELECT_SECTION): Use sdata when small enough.
6788         * alpha/linux.h (ASM_SPEC): Remove.
6789
6790
6791 Mon Feb 23 15:09:18 1998  Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6792         * config.sub (sco5): Fix typo.
6793
6794 Mon Feb 23 18:19:31 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6795
6796         * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
6797         set to empty.
6798         * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
6799         * config/alpha/t-linux: Remove file.
6800         * config/sparc/t-linux: Remove file.
6801         * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
6802         * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
6803         * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
6804         for tmake_file.
6805         (alpha*-*-linux-gnu*): Likewise.
6806         (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
6807         (sparc-*-linux-gnu*): Likewise.
6808
6809 Mon Feb 23 10:47:39 1998  Robert Lipe  <robertl@dgii.com>
6810         * collect2.c (ldd_file_name): Bracket declaration with same
6811         manifests as use.
6812         (full_real_ld_suffix): Deleted.  Variable was calloced and
6813         written into, but never read.
6814
6815 1998-02-23  Mike Stump  <mrs@wrs.com>
6816
6817         * configure.in: Add support for i386-wrs-vxworks configuration.
6818         * i386/vxi386.h: New file.
6819
6820 Sun Feb 22 21:16:51 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
6821
6822         * tree.c (contains_placeholder_p): Ensure function always returns
6823         a value.
6824         * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
6825         (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
6826
6827 Sun Feb 22 20:58:19 1998  Jeffrey A Law  (law@cygnus.com)
6828
6829         * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
6830
6831 1998-02-22  Paul Eggert  <eggert@twinsun.com>
6832
6833         * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
6834         Define this new symbol.
6835         (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
6836         * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
6837         LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
6838
6839 Sun Feb 22 20:07:32 1998  Jim Wilson  <wilson@cygnus.com>
6840
6841         * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
6842         * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
6843
6844 Sun Feb 22 15:29:48 1998  Richard Henderson  <rth@cygnus.com>
6845
6846         * objc/Object.m (-error): Call objc_verror with our va_list.
6847
6848 Sun Feb 22 09:45:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6849
6850         * collect2.c (scan_prog_file): Completely cover uses of variable
6851         `exports' with macro COLLECT_EXPORT_LIST.
6852
6853 Sat Feb 21 20:36:23 1998  Jeff Law  (law@cygnus.com)
6854
6855         * version.c: Bump for snapshot.
6856
6857 Fri Feb 20 16:22:13 1998  Michael Meissner  <meissner@cygnus.com>
6858
6859         * sched.c (schedule_block): Remove code to get arguments from hard
6860         regs into pseudos early.  Same as Aug 25, 1997 change to
6861         haifa-sched.c.
6862
6863 1998-02-20  Jason Merrill  <jason@yorick.cygnus.com>
6864
6865         * collect2.c (main): Still handle !do_collecting for non-AIX targets.
6866
6867 1998-02-16  Mark Mitchell  <mmitchell@usa.net>
6868
6869         * toplev.c (rest_of_compilation): Do not defer the output of a
6870         nested function.
6871
6872 Fri Feb 20 10:39:47 1998  Michael Tiemann  <michael@impact.tiemann.org>
6873
6874         * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
6875         continuation character (line 243).
6876
6877 Fri Feb 20 12:10:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6878
6879         * genrecog.c (main): Remove duplicated sentence in emitted comment.
6880
6881 Thu Feb 19 22:36:53 1998  Andrey Slepuhin  <pooh@msu.net>
6882                           David Edelsohn  <edelsohn@mhpcc.edu>
6883
6884         * collect2.c (XCOFF_SCAN_LIBS): Remove.
6885         (export_flag): New variable.
6886         (export_file): #ifdef COLLECT_EXPORT_LIST.
6887         (import_file, exports, imports, undefined): New variables.
6888         (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
6889         (dump_list, dump_prefix_list, is_in_list): New functions.
6890         (write_export_file): $ifdef COLLECT_EXPORT_LIST.
6891         (write_import_file, resolve_lib_name): New functions.
6892         (use_import_list, ignore_library): Same.
6893         (collect_exit): maybe_unlink import_file and #ifdef.
6894         (handler): Same.
6895         (main): New variable importf, #ifdef exportf.  Move parsing of
6896         -shared before general argument parsing.  Resolve AIX library
6897         paths and import libgcc.a symbols.  Treat .so shared libraries the
6898         same as objects and .a libraries.  Create alias for object_lst and
6899         increment it instead of original pointer.  Scan AIX libraries as
6900         objects earlier instead of using scan_libraries.  Perform AIX
6901         tlink later to resolve templates instead of forking ld.
6902         (GCC_OK_SYMBOL): Ensure symbol not in undef section.
6903         (GCC_UNDEF_SYMBOL): New macro.
6904         (scan_prog_file): Loop for members of AIX libraries.  Handle
6905         export/import of ctors/dtors.
6906         (aix_std_libs): New variable.
6907         (scan_libraries, XCOFF): Delete.
6908
6909 Thu Feb 19 22:36:52 1998  Robert Lipe   <robertl@dgii.com>
6910
6911         * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
6912
6913 1998-02-19  Mike Stump  <mrs@wrs.com>
6914
6915         * Makefile.in: Use $tooldir for sys-include to match toplevel
6916         configure.
6917
6918 Thu Feb 19 01:32:37 1998  Jeffrey A Law  (law@cygnus.com)
6919                           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6920
6921         * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
6922
6923         * emit-rtl.c (hard-reg-set.h): Include.
6924         (get_lowpart_common): Don't make new REG for hard reg in a
6925         class that cannot change size.
6926         * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
6927
6928         * combine.c: Revert previous patch.
6929
6930 1998-02-19  Paul Eggert  <eggert@twinsun.com>
6931
6932         * config/sparc/sol2-sld.h: New file.
6933         * configure.in (sparc-*-solaris2*): Use it when using the
6934         system linker.
6935
6936 Thu Feb 19 00:46:59 1998  Jeffrey A Law  (law@cygnus.com)
6937
6938         * loop.c (force_movables): Fix typo.
6939
6940 Thu Feb 19 08:26:30 1998  Manfred Hollstein <manfred@s-direktnet.de>
6941
6942         * m88k.h: Change file pattern to match reality.
6943
6944 Wed Feb 18 23:19:52 1998  Jeffrey A Law  (law@cygnus.com)
6945
6946         * varasm.c (output_constant_pool): Fix dumb thinko in last
6947         change.
6948
6949         * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
6950         a function name to a section name.
6951
6952 1998-02-18  Doug Evans  <devans@cygnus.com>
6953
6954         * tree.h (merge_machine_{type,decl}_attributes): Declare.
6955         (split_specs_attrs, strip_attrs): Add prototypes.
6956         * tree.c (merge_machine_{type,decl}_attributes): New functions.
6957         * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
6958         Update olddecl's attributes too.
6959         * c-common.c (strip_attrs): New function.
6960         * c-typeck.c (common_type): Call merge_machine_type_attributes.
6961         * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
6962         (make_decl_rtl): Likewise.
6963
6964 1998-02-18  Jim Wilson  <wilson@cygnus.com>
6965
6966         * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
6967
6968 Wed Feb 18 09:09:50 1998  Jeffrey A Law  (law@cygnus.com)
6969
6970         Remove this change until we can fix it correctly.
6971         * collect2.c: Bracket declaration of 'exportf' and
6972         'full_real_ld_suffix'.
6973
6974 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6975
6976         * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
6977
6978 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6979
6980         * c-common.c (c_expand_start_cond, c_expand_end_cond,
6981         c_expand_start_else): Don't warn about non-ambiguous else even if
6982         braces are missing.
6983
6984 Tue Feb 17 23:56:50 1998   Robert Lipe  <robertl@dgii.com>
6985
6986         * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
6987         ASM_OUTPUT_LONG_DOUBLE): Delete.   Use the ones from i386.h
6988         instead.
6989
6990 Tue Feb 17 22:56:14 1998  Richard Henderson  <rth@cygnus.com>
6991
6992         * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
6993         simplifying a subreg of a hard reg.
6994         (expand_compound_operation): Likewise.
6995         (force_to_mode): Likewise.
6996
6997 Tue Feb 17 22:37:22 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6998
6999         * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
7000         (lshift_double): Add parentheses around + or - inside shift.
7001         (rshift_double): Likewise.
7002         (size_int_wide): Explicitly set type of `bit_p' to `int'.
7003
7004         * Makefile.in (fold-const.o): Depend on system.h.
7005
7006         * Makefile.in (gcc.o): Depend on system.h, in accordance with last
7007         change to gcc.c.
7008
7009         * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
7010         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
7011         (sched_note_set): Remove unused parameter `b', all callers changed.
7012         (schedule_block): Likewise for `rgn'.
7013         (split_hard_reg_notes): Likewise for `orig_insn'.
7014         (check_live): Likewise for `trg'.
7015         (update_live): Likewise.
7016         (check_live_1): Explcitly declare variable `i' as int.
7017         (update_live_1): Likewise.
7018         (insn_issue_delay): Remove unused variable `link'.
7019         (sched_analyze_2): Add default case in enumeration switch.
7020         (schedule_insns): Remove unused variable `i'.
7021
7022         * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
7023
7024 Tue Feb 17 22:31:04 1998  Jeffrey A Law  (law@cygnus.com)
7025
7026         * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
7027         a dangling else clause.
7028
7029 Tue Feb 17 21:28:12 1998  Gavin Koch  <gavin@cygnus.com>
7030
7031         * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
7032         pointer for the stack pointer in MIPS16 and 64BIT.
7033
7034 Tue Feb 17 21:17:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7035
7036         * rtl.h (force_line_numbers, restore_line_number_status): Declare.
7037         * emit-rtl.c (force_line_numbers, restore_line_number_status):
7038         New functions.
7039         * stmt.c (struct nesting): Replace seenlabel with line_number_status.
7040         (expand_start_case): Adjust to this change.
7041         (check_seenlabel): New function.
7042         (pushcase, pushcase_range, expand_endcase): Use it.
7043
7044 Tue Feb 17 10:14:32 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7045
7046         * i386.md (adddi3): Add =!r,0,0,X alternative.
7047
7048 Mon Feb 16 16:13:43 1998  David Edelsohn  <edelsohn@mhpcc.edu>
7049
7050         * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
7051         * x-aix31 (INSTALL): Delete.
7052
7053 Mon Feb 16 09:24:32 1998  Gavin Koch  <gavin@cygnus.com>
7054
7055         * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
7056         tsize changes to something other than zero.
7057
7058 Mon Feb 16 09:11:48 1998  Gavin Koch  <gavin@cygnus.com>
7059
7060         * ginclude/va-mips.h: Replace casts of pointers to int with
7061         casts of pointers to __PTRDIFF_TYPE__.
7062
7063 Mon Feb 16 08:17:14 1998  John Carr  <jfc@mit.edu>
7064
7065         * loop.c (strength_reduce, record_biv, record_giv): Use
7066         HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
7067
7068 1998-02-16  Jason Merrill  <jason@yorick.cygnus.com>
7069
7070         * tree.c (first_rtl_op): New fn.
7071         (unsave_expr_now): Use it.
7072         * print-tree.c (print_node): Likewise.
7073         * tree.c (has_cleanups): New fn.
7074         * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it.  Be more
7075         conservative about pushing the cleanup point down.
7076         * tree.h: Declare them.
7077
7078 Sun Feb 15 23:28:44 1998  Jeffrey A Law  (law@cygnus.com)
7079
7080         * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
7081         (flag_schedule_reverse_after_reload): Likewise.
7082         (f_options): Remove reverse scheduling support.
7083         * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
7084         (flag_schedule_reverse_after_reload): Likewise.
7085         * haifa-sched.c (rank_for_schedule): Remove support for reverse
7086         scheduling.
7087
7088 Sun Feb 15 21:33:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7089
7090         * gcc.c: Get system includes, prototypes and macros via "system.h"
7091         instead of doing it manually.  Change all calls of the ctype
7092         macros to custom versions defined in "system.h".
7093
7094         * system.h: Fix return type of bcmp prototype from `void' to `int'.
7095         Make bcopy, bcmp and bzero prototypes explicitly `extern'.
7096         Add a prototype for getenv.
7097
7098 Sun Feb 15 17:05:41 1998  Jim Wilson  <wilson@cygnus.com>
7099
7100         * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
7101
7102 Sun Feb 15 15:23:15 1998  John Carr  <jfc@mit.edu>
7103
7104         * alias.c: Include <stdlib.h> and <string.h>.
7105         (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
7106
7107 Sat Feb 14 11:23:09 PST 1998 Jeff Law  (law@cygnus.com)
7108
7109         * version.c: Bump for snapshot.
7110
7111 Sat Feb 14 05:08:21 1998  Richard Earnshaw (rearnsha@arm.com)
7112
7113         * arm.md (movsfcc): Also validate operands[3] when compiling hard
7114         float.
7115         (movdfcc): Only accept fpu_add_operand for operands[3].
7116
7117         * arm/t-semi (STMP_FIXPROTO): Define to nothing.
7118         * arm/t-semiaof (STMP_FIXPROTO): Likewise.
7119
7120 Sat Feb 14 02:02:41 1998  Jeffrey A Law  (law@cygnus.com)
7121
7122         * varasm.c (output_constant_pool): Bring back 'done' label inside
7123         an appropriate #ifdef.
7124
7125         * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
7126         appropriate #ifdef.
7127         (bitmap_copy, bitmap_operation): Likewise.
7128         * combine.c (combinable_i3pat): Similarly for 'src'.
7129         * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
7130         (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
7131         * regclass.c (copy_cost): Similarly for 'secondary_class'.
7132         * reload.c (make_memloc): Simliarly for 'i'.
7133         (find_reloads_address_1): Similarly for 'link'.
7134         * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
7135         (emit_reload_insns): Similarly for 'second_reloadreg'.
7136         * unroll.c (iteration_info): Similarly for 'v'.
7137
7138         * caller-save.c (insert_save_restore): Remove unused variable 'i'.
7139         * calls.c (expand_call): Similarly for 'i'.
7140         (emit_library_call, emit_library_call_value): Similarly for 'mode'.
7141         * fold-const.c (strip_compund_expr): Similarly for 'type'.
7142         * function.c (fixup_var_refs_1): Similarly  for 'width'.
7143         (fixup_memory_subreg): Similarly for 'saved'.
7144         (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
7145         (setjmp_protect): Similarly for 'sub'.
7146         (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
7147         * loop.c (record_giv): Similarly for 'p'.
7148         (combine_givs): Similarly for 'temp_iv'.
7149         (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
7150         * recog.c (validate_replace_rtx_1): Similarly for 'width'.
7151         * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
7152         * unroll.c (unroll_loop): Similarly for 'copy'.
7153         (iteration_info): Similarly for 'b'.
7154         * varasm.c (assemble_string): Similarly for 'i'.
7155         * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
7156
7157 1998-02-13  Martin von Loewis  <loewis@informatik.hu-berlin.de>
7158
7159         * c-lang.c (lang_print_xnode): New function.
7160         * objc/objc-act.c (lang_print_xnode): Likewise.
7161         * print-tree.c (print_node): Call it
7162
7163 Fri Feb 13 14:38:34 1998  Jim Wilson  <wilson@cygnus.com>
7164
7165         * dwarf2out.c (decl_scope_node): New type.
7166         (decl_scope_table): Change type to use it.
7167         (decl_scope_table_allocated, decl_scope_depth): Change type to int.
7168         (push_decl_scope): Use new type.  New locals containing_scope, i.
7169         Add code to handle setting previous field.
7170         (scope_die_for): Change type of local i to int.  Add code to use
7171         previous field.
7172         (dwarf2out_init): Use new type.
7173
7174 1998-02-13  Jason Merrill  <jason@yorick.cygnus.com>
7175
7176         * except.c (emit_throw): Lose throw_used.
7177
7178 Fri Feb 13 20:36:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7179
7180         * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
7181         was deleted.
7182         * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
7183
7184 Fri Feb 13 12:18:40 1998  Jeffrey A Law  (law@cygnus.com)
7185
7186         * genextract.c (main): Fix typo.
7187
7188 Fri Feb 13 08:41:49 1998  Robert Lipe   <robertl@dgii.com>
7189
7190         * c-lang.c (finish_file): Bracket declaration of static_ctors,
7191         static_dtors.
7192
7193         * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
7194         'old_stack_arg_under_construction'
7195         (emit_library_call): Bracket declaration of 'upper_bound',
7196         'lower_bound', 'i', 'reg_parm_stack_space'
7197         (emit_library_call_value): Likewise.
7198         (store_one_arg):
7199
7200         * collect2.c: include <unistd.h> when appropriate.
7201         Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
7202
7203         * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
7204
7205         * explow.c (plus_constant_for_output_wide): Remove unused variable
7206         'code'.
7207         (memory_address): Remove unused variable 'orig_x'.
7208
7209         * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
7210         (write_const_num_delay_slots): Remove unused variable 'i'.
7211
7212         * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
7213         (gen_insn): Remove unused variable 'obstack_ptr'.
7214
7215         * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
7216         'j', 'tmp', 'i'.
7217         (__bb_exit_trace_func): Remove unused variable 'e'.
7218
7219         * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
7220         'funexp'.
7221         (expand_unop): Remove unused variable 'funexp'.
7222         (expand_complex_abs): Remove unused variable 'funexp'.
7223         (init_optabs): Bracket declaration of 'j'.
7224         (init_complex_libfuncs): Deleted.  Dead static function.
7225
7226         * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
7227
7228         * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
7229         (reg_to_stack): 'initialized', 'before_function_beg'
7230         explictly type as ints instead of defaulting.
7231         (emit_swap_insn): Remove unused variable 'i2'.
7232         (compare_for_stack_reg): Remove unused variable 'src_note'.
7233
7234         * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
7235
7236         * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
7237
7238         * stmt.c (add_case_node): Add parens for assignment used as truth.
7239         (all_cases_count):  Remove unused variable 'count_high'.
7240         (mark_seen_cases): Remove unused variable 'i'.
7241         (check_for_full_enumeration_handling): Remove unused variable 't'.
7242         Bracket declaration of  'all_values', 'l'.
7243
7244         * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
7245
7246         * varasm.c (assemble_string): Remove unused variable 'i'.
7247         (immed_double_const): Remove unused variable 'in_current_obstack'.
7248         (immed_real_const_1): Likewise.
7249         (output_constant_pool): Remove unreferenced label 'done'.
7250         (output_constant): Remove unused variable 'x'.
7251
7252         * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
7253         a string.
7254
7255         * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
7256         as truth.
7257
7258 Fri Feb 13 10:21:41 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7259
7260         * combine.c (can_combine_p): Handle USEs in PARALLELs.
7261
7262 Fri Feb 13 01:34:14 1998  H.J. Lu  (hjl@gnu.org)
7263
7264         * config/linux.h (LIB_SPEC): Add -lc for -shared if
7265         USE_GNULIBC_1 is not defined.
7266         * config/sparc/linux.h; Ditto.
7267
7268         * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
7269
7270         * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
7271         USE_GNULIBC_1 is not defined.
7272
7273 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7274
7275         * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
7276         for -mcall-linux
7277
7278 Fri Feb 13 01:23:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7279
7280         * system.h: New file to get common systems includes and various
7281         definitions and declarations based on autoconf macros.
7282
7283 Fri Feb 13 00:46:19 1998  Jeffrey A Law  (law@cygnus.com)
7284
7285         * cccp.c (new_include_prefix): Correctly handle -I./.
7286
7287 Thu Feb 12 20:16:35 1998  Michael Meissner  <meissner@cygnus.com>
7288
7289         * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
7290
7291 Thu Feb 12 16:45:17 1998  Robert Lipe  <robertl@dgii.com>
7292
7293         * expr.c (expand_assignment):  Correct typo exposed by -Wall.
7294         offset should have been a truth value, not an assignment.
7295
7296 Thu Feb 12 15:26:50 1998  Jeffrey A Law  (law@cygnus.com)
7297
7298         * cse.c (delete_dead_from_cse): If a libcall produces a constant
7299         result and that result can be substituted into SET_SRC of the
7300         insn with the REG_RETVAL note, then perform the substitution
7301         and delete the libcall.
7302
7303 Thu Feb 12 14:04:09 1998  Gavin Koch  <gavin@cygnus.com>
7304
7305         * mips.md (trucndihi2,truncdiqi2): Change these to support
7306         mips16.
7307
7308 Thu Feb 12 11:34:55 1998  Gavin Koch  <gavin@cygnus.com>
7309
7310         * mips/mips.c (movdi_operand): Direct referances to symbols
7311         that arn't mips16 consts in mips16 mode arn't valid operands.
7312
7313         * mips/mips.c (mips_move_2words): Add gprel handling.
7314
7315 Thu Feb 12 11:18:37 1998  Gavin Koch  <gavin@cygnus.com>
7316
7317         * mips.md (extendsidi2): Allow extension to/from a non-mips16
7318         register.
7319
7320 Thu Feb 12 00:04:16 1998  Marc Lehmann <pcg@goof.com>
7321
7322         * i386.c: Conditionally include <stdlib.h>, <string.h>, and
7323         <strings.h>.
7324
7325 Wed Feb 11 11:43:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7326
7327         * Makefile.in (WARN_CFLAGS): New variable.
7328         (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
7329
7330 1998-02-11  Mark Mitchell  <mmitchell@usa.net>
7331
7332         * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
7333         falling through default case in switch.
7334         (i386_aligned_p): Likewise.
7335
7336 Wed Feb 11 12:59:56 1998  Lee Iverson  <leei@Canada.AI.SRI.COM>
7337
7338         * mips/mips.h (mips_abi_string): Correct typo in comment.
7339
7340 Wed Feb 11 08:29:56 1998  Gavin Koch  <gavin@cygnus.com>
7341
7342         * mips/mips.md (movdi): These PLUS's need to be Pmode.
7343
7344 Wed Feb 11 01:47:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7345
7346         * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
7347         reorg.o, regmove.o): Depend on insn-codes.h, it gets included
7348         indirectly via expr.h.
7349
7350 Wed Feb 11 01:44:13 1998  Richard Henderson  <rth@cygnus.com>
7351
7352         * stor-layout.c (layout_type): Do upper - lower in the native type,
7353         so as to properly handle negative indices.
7354
7355 Wed Feb 11 01:35:55 1998  Robert Lipe   <robertl@dgii.com>
7356
7357         * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
7358         (expand_eh_region_start_tree): Remove unused variable 'note'.
7359         (exception_optimize): Remove unused variable 'regions'.
7360         (expand_builtin_eh_stub):  Remove unused variable 'temp'.
7361         (copy_eh_entry): Deleted.   Dead function.
7362
7363         * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
7364         'last' with same #if HAVE_load_multiple as use of it.
7365         (move_block_from_reg): Likewise.
7366         (emit_move_insn_1): Remove unused variable 'insns'.
7367         (store_constructor): Bracket declaration of startb, endb with
7368         #if TARGET_MEMFUNCTIONS.  Remove unused variables 'set_word_size'
7369         'target', and 'xtarget'.
7370         (expand_builtin_setjmp): Remove unused variables 'op0',
7371         'next_arg_reg', 'old_inhibit_defer_pop'.
7372         (expand_builtin): Remove unused variable 'offset'.
7373         (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
7374         (emit_queue): Add parens for assignment used as conditional.
7375         (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
7376
7377 Wed Feb 11 01:30:49 1998  Marc Lehmann <pcg@goof.com>
7378
7379         * i386.c: Added include for recog.h.
7380         (override_options): Removed unused variable p. Initialized regno to
7381         avoid warning.
7382         (order_regs_for_local_alloc): Initialized regno to avoid warning.
7383         (legitimize_address): Likewise for 'other'.
7384         (i386_aligned_reg_p): Added default case with abort ().
7385         (print_operand): Likewise.
7386         (reg_mentioned_in_mem): Likewise.
7387         (ix86_expand_binary_operator): Removed unused variables i & insn.
7388         (ix86_expand_unary_operator): Removed unused variable insn.
7389         (output_fp_cc0_set): Removed unused variable unordered_label.
7390
7391 Wed Feb 11 01:23:03 1998  John F. Carr  <jfc@mit.edu>
7392
7393         * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
7394         Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
7395         and format string match.
7396
7397 Wed Feb 11 01:17:39 1998  Jeffrey A Law  (law@cygnus.com)
7398
7399         * flow.c (life_analysis): Do not conside the stack pointer live at
7400         the end of a function if the fucntio ncalls alloca.
7401         (mark_used_regs): Similarly.
7402
7403 1998-02-10  John F Carr  <jfc@mit.edu>
7404
7405         * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
7406         1, fzero on alternative 8.
7407
7408 Tue Feb 10 09:02:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7409
7410         * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
7411
7412 Tue Feb 10 03:35:43 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7413
7414         * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
7415         SUBREGs of CONST_INTs.
7416
7417 Mon Feb  9 17:52:36 1998  John Carr  <jfc@mit.edu>
7418
7419         * mips.c (print_operand, function_prologue): Make printf format
7420         match argument type.
7421
7422 Mon Feb  9 02:37:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7423
7424         * alpha.c (alpha_return_addr): Remove unused variable `first'.
7425         (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
7426         (output_epilog): Remove unused variable `frame_size_from_reg_save'.
7427
7428 Sun Feb  8 14:56:03 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7429
7430         * loop.c (strength_reduce): When placing increment for auto-inc
7431         case, do comparison in loop order.
7432
7433 Sun Feb  8 13:21:38 1998  John Carr  <jfc@mit.edu>
7434
7435         * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
7436         not a HOST_WIDE_INT.
7437
7438         * calls.c (expand_call): Change test of expand_inline_function
7439         return value to stop compiler warning.
7440
7441         * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
7442
7443 Sun Feb  8 12:04:24 1998  Jim Wilson  (wilson@cygnus.com)
7444                           Jeff Law (law@cygnus.com)
7445
7446         * regmove.c: Fix various minor formatting problems.
7447         (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
7448         is true.  Make end of basic block tests consistent through regmove.c.
7449         (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
7450         (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
7451
7452 Sun Feb  8 01:49:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7453
7454         * gansidecl.h: Check for a conflicting macro definition before
7455         attempting to prototype bcopy, bcmp or bzero.
7456
7457 Sun Feb  8 00:09:59 1998  Jeffrey A Law  (law@cygnus.com)
7458
7459         * expr.c (clear_pending_stack_adjust): Handle case where a function
7460         calls alloca, but the user has specified -fomit-fframe-pointer.
7461
7462         * function.c (assign_parms): Fix typo in last change.
7463
7464 Sat Feb  7 23:54:29 1998   Robert Lipe  <robertl@dgii.com>
7465
7466         * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
7467         <fcntl.h>.
7468         (free_path_suffix): Remove unreferenced static function.
7469         (process_command): Remove unused variable temp.
7470         (default_arg): Remove unused variable i.
7471         (do_spec_1):  Add parens for assignment used as truth value.
7472         (main): Likewise.
7473         (validate_all_switches): Likewise.
7474         (main): Remove unused variables i, first_time>
7475
7476         * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
7477
7478         * calls.c (expand_call): Remove unused variables funtree,
7479         n_regs, and tmpmode.
7480
7481         * dbxout.c, except.c: Include <string.h>/<strings.h>.
7482
7483         * explow.c: (plus_constant_for_output_wide) Removed unused
7484         variable all_constant.
7485
7486         * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
7487         genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
7488         genrecog.c, global.c, integrate.c , stupid.c : Include
7489         <stdlib.h>.
7490
7491         * genextract.c: (walk_rtx) Remove unused variable link.
7492
7493         * genrecog.c: (concat) Remove unreferenced static function.
7494
7495         * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
7496
7497         * stmt.c: Include <stdlib.h>.
7498         (expand_asm_operands): Remove unused variable val1.
7499         (expand_return): Remove unused variable block.
7500         (pushcase): Remove unused variables l and n.
7501         (pushcaserange): Likewise.
7502
7503         * unroll.c (unroll_loop): Remove unused variable temp.
7504
7505 Sat Feb  7 23:46:09 1998  Greg McGary  <gkm@gnu.org>
7506
7507         * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
7508
7509 Sat Feb  7 15:11:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7510
7511         * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
7512         functions for whether they support the %p format specifier.
7513         * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
7514         * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
7515         * configure, config.in: Rebuild.
7516
7517 Fri Feb  6 14:20:16 1998  Jim Wilson  <wilson@cygnus.com>
7518
7519         * function.c (assign_parms): New variable named_arg, with value
7520         depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
7521
7522 Fri Feb  6 14:34:28 1998  Gavin Koch  <gavin@cygnus.com>
7523
7524         * mips/t-r3900: New - same as t-ecoff but eliminate
7525         multilibs: mips1 and mips3.
7526         * configure.in (tx39*): Use new mips/t-r3900.
7527         * configure: Rebuild.
7528         * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
7529
7530 1998-02-06  Jason Merrill  <jason@yorick.cygnus.com>
7531
7532         * dwarf2out.c: Add old_args_size.
7533         (dwarf2out_args_size): Use it.
7534         (dwarf2out_begin_prologue): Initialize it.
7535         (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
7536         pushed args until we see a call.
7537         * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
7538         before outputting them.
7539
7540 1998-02-06  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
7541
7542         * cplus-dem.c (demangle_template_template_parm): New function.
7543         (demangle_template): Handle template template parameters.
7544
7545 1998-02-02  Mark Mitchell  <mmitchell@usa.net>
7546
7547         * calls.c (expand_call): Don't confuse member functions named
7548         realloc, setjmp, and so forth with the standard library
7549         functions of the same names.
7550
7551 Thu Feb  5 21:59:49 1998  Jeffrey A Law  (law@cygnus.com)
7552
7553         * stmt.c (expand_asm_operands): Correctly identify asm statements
7554         no output operands.
7555
7556 Thu Feb  5 21:56:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
7557
7558         * c-common.c (decl_attributes): Flag unrecognized attribute
7559         functions as warnings instead of as errors.
7560
7561 1998-02-05  Marc Lehmann  <pcg@goof.com>
7562
7563         * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
7564         when -Os is specified.
7565         * toplev.c (main): Don't disable flag_inline_functions anymore when
7566         -Os is in effect.
7567
7568 Fri Feb  6 00:27:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7569
7570         * regmove.c: Update.
7571         * flags.h (flag_regmove): Declare.
7572         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
7573         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
7574         Moved into regmove; changed caller.
7575         * toplev.c (rest_of_compilation): Call regmove_optimize also for
7576         expensive_optimizations.
7577
7578 Thu Feb 5 13:38:42 PST 1998 Jeff Law  (law@cygnus.com)
7579
7580         * version.c: Bump for snapshot.
7581
7582 Thu Feb  5 01:45:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7583         Undo this change (the problem was actually in reload):
7584         Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7585
7586           * sh.md (movqi_i+1): New peephole.
7587
7588 Tue Feb  3 01:11:12 1998  Jeffrey A Law  (law@cygnus.com)
7589
7590         * jump.c (jump_optimize): Lose calls to modified_in_p they are
7591         not needed anymore due to changes elsewhere in jump.c.
7592
7593         * jump.c (jump_optimize): Fix first arg to modified_in_p in
7594         previous change.
7595
7596 Mon Feb  2 19:18:14 1998  Richard Henderson  <rth@cygnus.com>
7597
7598         * expr.c (expand_builtin_setjmp): Accept two new arguments for
7599         the labels to branch to on first and subsequent executions.  Don't
7600         play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
7601         and provide it with the jmp_buf.  Use only one of
7602         `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
7603         and provide the former with the target label.
7604         (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
7605         (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
7606         (expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
7607         insn to replace all of the normal nonlocal_goto code.  Don't play
7608         with __dummy.  Correct arguments to nonlocal_goto.
7609         * expr.h (expand_builtin_setjmp): Update prototype.
7610         * except.c (start_dynamic_handler): When using builtin_setjmp,
7611         generate more accurate flow information.
7612
7613         * alpha.md (nonlocal_goto_receiver_osf): Delete.
7614         (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
7615         (builtin_longjmp, builtin_setjmp_receiver): New.
7616         * sparc.md (update_return): Disambiguate unspec number.
7617         (nonlocal_goto): Rearrange arguments to match caller in except.c.
7618         (builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
7619         jmp_buf operand.
7620         * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
7621         (builtin_setjmp_setup*, builtin_longjmp): New.
7622
7623 Mon Feb  2 16:43:10 1998  John Carr  <jfc@mit.edu>
7624
7625         * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
7626
7627 Mon Feb  2 13:06:47 1998  Jim Wilson  <wilson@cygnus.com>
7628
7629         * vmsconfig.com: Remove bytecode references.
7630
7631 1998-01-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7632
7633         * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
7634         -fno-sjlj-exceptions works for a target that defines
7635         DWARF2_UNWIND_INFO as zero.
7636
7637         * regmove.c (fixup_match_1): Undo last change which removed some
7638         "useless" code, and add a comment explaining this.
7639
7640 Mon Feb  2 10:47:14 1998  Gavin Koch  (gavin@cygnus.com)
7641
7642         * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
7643         to TARGET_LONG64.
7644
7645 Mon Feb  2 10:38:41 1998  Klaus Kaempf  <kkaempf@progis.de>
7646
7647         * makefile.vms: Remove bytecode references.
7648         Create genrtl files.
7649
7650 Mon Feb  2 02:08:04 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
7651
7652         * jump.c (jump_optimize): Allow conditional loading of floating point
7653         constants and constants from memory.  Reinstalled modified_in_p tests.
7654
7655 Mon Feb  2 01:38:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7656
7657         * loop.c (get_condition): Handle sign-extended constants.
7658
7659 Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  <hp@axis.se>
7660
7661         * expr.c (emit_push_insn): Add code to use movstrti if present.
7662
7663         * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
7664         and movstrqi as in emit_block_move ().
7665
7666 Mon Feb  2 00:09:52 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
7667
7668         * config/m68k/x-next: Remove /NextDeveloper/Headers from
7669         the directories to fixinclude - /usr/include is a link
7670         to it and hence its contents are fixed by default.
7671
7672 Sun Feb  1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7673
7674         * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
7675
7676 Sun Feb  1 13:01:15 1998  Klaus Kaempf  <kkaempf@progis.de>
7677
7678         * cccp.c (main): Predefine __VMS_VER on VMS.
7679
7680 Sun Feb  1 12:39:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7681
7682         * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
7683         * fold-const.c (size_int): Replace with
7684         (size_int_wide).
7685         (make_bit_field_ref): Use bitsize_int for bit position.
7686         * stor-layout.c (sizetype): Delete.
7687         (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
7688         (layout_record, layout_union, layout_type):
7689         Use bitsize_int for bit size.
7690         (set_sizetype): New function.
7691         (make_signed_type, make_unsigned_type): Use it.
7692         * c-decl.c (init_decl_processing): Likewise.
7693         * tree.h (size_int): Don't delcare, #define.
7694         (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
7695         (set_sizetype): Declare.
7696         (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
7697         Define.
7698         * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
7699         Convert result to sizetype.
7700         (really_start_incremental_init, push_init_level):
7701         Set type of constructor_bit_index to sbitsizetype.
7702         (push_init_level): Use unsigned arithmetic to determine padding.
7703         (output_init_element): Likewise.
7704
7705 Sun Feb  1 03:32:07 1998  Jeffrey A Law  (law@cygnus.com)
7706
7707         * combine.c (simplify_shift_const): Fix typo in last change.
7708
7709 Sun Feb  1 02:50:46 1998  John Carr  <jfc@mit.edu>
7710
7711         * combine.c (simplify_shift_const):  (lshiftrt (truncate (lshiftrt)))
7712         is (truncate (lshiftrt)).
7713
7714 Sun Feb  1 01:06:53 1998  Richard Henderson  <rth@cygnus.com>
7715
7716         * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
7717         Make sure result winds up in TGT.
7718         (alpha_expand_unaligned_store): Use expand_binop properly.  Allow
7719         src to be other than DImode.
7720         (alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
7721         (alpha_expand_unaligned_store_words): Likewise.
7722         (alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
7723         that source and destination are separately optimized for alignment.
7724         (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
7725
7726 Sun Feb  1 01:55:09 1998  Jeffrey A Law  (law@cygnus.com)
7727
7728         * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
7729         with handling of -32768.
7730
7731 Sun Feb  1 01:48:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7732
7733         * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
7734         shell variable argument instead of only hard coded functions.
7735         (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
7736
7737         * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
7738         call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
7739         call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
7740         declarations for bcopy, bcmp and bzero.
7741
7742         * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
7743
7744         * gansidecl.h: If we have bcopy but don't declare it, then do so.
7745         Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
7746         bzero, index and rindex if they aren't already present.
7747
7748 Sat Jan 31 11:26:58 1998  Jeffrey A Law  (law@cygnus.com)
7749
7750         * toplev.c (close_dump_file): Wrap function prototype for
7751         argument "func" in PROTO.
7752         (dump_rtl): Likewise.
7753
7754 Fri Jan 30 22:30:39 1998  John Carr  <jfc@mit.edu>
7755
7756         * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
7757         MASK_V8PLUS.
7758         (output_function_epilogue): Omit epilogue if nothing drops through.
7759         (output_move_double): Supress int ldd usage on ultrasparc and v9.
7760         (registers_ok_for_ldd_peep): Likewise.
7761         (print_operand): Supress b,a on ultrasparc.  Let Y accept a constant.
7762         (ultrasparc_adjust_cost): New function.
7763         (sparc_issue_rate): New function.
7764         * sparc.h (MASK_VIS, TARGET_VIS): New
7765         (MASK_V8PLUS, TARGET_V8PLUS): New.
7766         (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
7767         (TARGET_SWITCHES): Add vis and v8plus.
7768         (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
7769         (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
7770         (RTX_COSTS): Use TARGET_HARD_MUL
7771         (ADJUST_COST): Call ultrasparc_adjust_cost.
7772         (ISSUE_RATE): New.
7773         * sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
7774         of load & fp appropritely.
7775         (supersparc function units): Adjust for Haifa.
7776         (ultrasparc function units): Likewise.
7777         (get_pc_via_rdpc): All v9, not just arch64.
7778         (movdi_v8plus, movdi_v8plus+1): New.
7779         (adddi3_sp32+1): New.
7780         (subdi3_sp32+1): New.
7781         (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
7782         (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
7783         (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
7784         (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
7785         (one_cmpldi2_sp32, one_cmplsi2): Likewise.
7786         (ldd peepholes): Suppress for v9.
7787         (return_adddi): Kill redundant test.  Arg1 may be arith_operand.
7788         (return_subsi): Revmove.
7789
7790 Fri Jan 30 18:30:03 1998  John F Carr  <jfc@mit.edu>
7791
7792         * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
7793         save/restore MEM rtl.
7794
7795 Fri Jan 30 09:08:16 1998  Jeffrey A Law  (law@cygnus.com)
7796
7797         * configure.in: Check for declaration of abort.
7798         * acconfig.h: Corresponding changes.
7799         * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
7800         be declared.
7801
7802 Thu Jan 29 20:26:12 1998  Jeffrey A Law  (law@cygnus.com)
7803
7804         * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
7805         uses it.
7806
7807 Thu Jan 29 09:27:56 PST 1998 Jeff Law  (law@cygnus.com)
7808
7809         * version.c: Bump for snapshot.
7810
7811 Thu Jan 29 10:12:27 1998  Jeffrey A Law  (law@cygnus.com)
7812
7813         * configure.in: Check for atoq and atoll.
7814         * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
7815         proper routine for converting ascii into long long values.
7816
7817 Thu Jan 29 01:28:14 1998  Klaus Kaempf  <kkaempf@progis.de>
7818
7819         * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
7820
7821         * vmsconfig.com: Remove bytecode references.
7822
7823         * alpha/vms.h (PREFIX): Define.
7824
7825         * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
7826
7827         * am-alpha.h: Don't include alloca for OPEN_VMS.
7828
7829         * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
7830
7831         * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
7832         (GCC_INCLUDE_DIR): Define
7833
7834         * make-cc.com, make-cccp.com, make-cc1.com: Removed.
7835         * makefile.vms: New file.
7836
7837         * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
7838
7839         * alpha.c (output_prolog): Output '.name' directive
7840         for minimal traceback information.
7841
7842         * alpha.c (output_prolog): Don't prepend entry point symbols
7843         with '$' on OPEN_VMS.
7844
7845 Thu Jan 29 00:25:35 1998  David S. Miller  <davem@tanya.rutgers.edu>
7846                           Jeffrey A Law  (law@cygnus.com)
7847
7848         * rtl.c (read_rtx): Use atol/atoq based upon disposition of
7849         HOST_WIDE_INT.
7850
7851         * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
7852         as needed.
7853         * genemit.c (gen_exp): Likewise.
7854         * genpeep.c (match_rtx): Likewise.
7855         * genrecog.c (write_tree_1): Likewise.
7856
7857         * c-lex.c (yyprint): Use proper format string based upon
7858         disposition of HOST_BITS_PER_WIDE_INT.
7859         (yylex): Put casts in right place for args to build_int_2.
7860
7861 Thu Jan 29 00:24:29 1998  Jeffrey A Law  (law@cygnus.com)
7862
7863         * combine.c: Fix typos in Jan27 changes.
7864
7865 Thu Jan 29 00:07:49 1998  Ollivier Robert <roberto@keltia.freenix.fr>
7866
7867         * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
7868         (LINK_SPEC): Likewise.
7869         (STARTFILE_SPEC): Likewise.
7870
7871 1998-01-28  Mike Stump  <mrs@wrs.com>
7872
7873         * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
7874         reload completes.
7875         * genattrtab.c (reload_completed): Define.
7876
7877         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
7878         comments.
7879
7880 Wed Jan 28 20:11:06 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7881
7882         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
7883         SUBREG_REG if the word count is unchanged, also in the input reload
7884         case.  Disable non-applicable sanity checks.
7885
7886 Wed Jan 28 20:08:26 1998  Jeffrey A Law  (law@cygnus.com)
7887
7888         * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
7889
7890 Wed Jan 28 20:04:43 1998  Ian Lance Taylor  <ian@cygnus.com>
7891
7892         * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
7893
7894 Wed Jan 28 11:45:27 1998  Per Bothner  <bothner@cygnus.com>
7895
7896         * dbxout.c (dbxout_type):  For a RECORD_TYPE, check that TYPE_BINFO
7897         is a TREE_VEC before trying to use it for baseclasses.
7898         (Chill uses the same field for a different purpose.)
7899
7900         * toplev.c (strip_off_ending):  Generalize to endings up to 5 chars.
7901
7902 Tue Jan 27 23:15:55 1998  Lassi A. Tuura  <lat@iki.fi>
7903
7904         * config.sub: More accurate determination of HP processor types.
7905
7906 Tue Jan 27 23:11:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7907
7908         * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>.  Add
7909         prototype for `handle_sysv_pragma', and make it static.  Add
7910         parentheses around assignment used as truth value.
7911
7912         * combine.c (combine_instructions): Protect variable `prev' with
7913         macro HAVE_cc0.
7914         (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
7915         (extract_left_shift): Add parentheses around operand of &.
7916         (merge_outer_ops): Avoid an empty body in an else-statement.
7917         (gen_rtx_combine): Remove unused variable `i'.
7918
7919         * sparc/gmon-sol2.c: Include <fcntl.h>.  Make return type of
7920         function monstartup `void'.  Likewise for internal_mcount.  Add
7921         `static void' prototype for moncontrol.  Reconcile sprintf format
7922         vs. args.
7923
7924         * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
7925         Make return type of function_arg_slotno explicitly `int'.
7926         (reg_unused_after): Add parentheses around assignment used as
7927         truth value.
7928         (save_regs): Add explicit braces to avoid ambiguous `else'.
7929         (function_arg_slotno): Add parentheses around && within ||.
7930         (function_arg_pass_by_reference): Likewise.
7931         (sparc_flat_output_function_prologue): Reconcile fprintf format
7932         vs. args.
7933
7934         * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
7935         assignment used as truth value.
7936
7937         * cplus-dem.c: Include <stdlib.h>.
7938         (demangle_signature): Avoid an empty body in an else-statement.
7939         (do_type): Remove unused variable `lvl'.
7940
7941         * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
7942         Include <string.h>/<strings.h>.
7943         (cpp_lex): Remove unused variable `namelen'.
7944         (cpp_lex): Explicitly declare `num_chars' as an int.
7945
7946         * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
7947         <unistd.h> instead.  Explicitly declare is_system_include
7948         returning int.
7949         (make_assertion): Remove unused variable `kt'.
7950         (cpp_expand_to_buffer): Hide variable `obuf'.
7951         (output_line_command): Remove unused variables, `line_end',
7952         `line_cmd_buf' and `len'.
7953         (macarg): Remove unused variable `arg_start'.
7954         (special_symbol): Remove unused variable `i'.  Add parentheses
7955         around assignment used as truth value.
7956         (do_include):  Remove unused variables `pcfname' and `retried',
7957         hide `pcf' and `pcfbuflimit'.
7958         (do_line): Remove unused variable `i'.
7959         (finclude): Hide variable `missing_newline'.
7960         (cpp_handle_options): Remove unused variable `j'.
7961         (read_token_list): Remove unused variable `eofp'.
7962         (cpp_error_with_line): Remove unused variable `i'.
7963         (cpp_warning_with_line): Likewise.
7964         (cpp_pedwarn_with_line): Explicitly declare `column' as int.
7965         (cpp_error_from_errno): Remove unused variable `i'.
7966
7967         * cse.c (invalidate): Add parentheses around assignment used as
7968         truth value.
7969         (find_best_addr): Move declaration of variable `our_cost' inside
7970         the conditional macro where its used.
7971         (fold_rtx): Avoid an empty body in an if-statement.
7972         (cse_insn): Wrap variables  `this_insn_cc0_mode' and
7973         `this_insn_cc0' in macro HAVE_cc0.
7974
7975         * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
7976         (ASM_OUTPUT_DWARF_DATA8):  Reconcile format vs. args in fprintf's.
7977         (output_uleb128): Likewise.
7978         (output_sleb128): Likewise.
7979         (output_cfi): Likewise.
7980         (output_call_frame_info): Remove unused variables `j', `fde_size'
7981         and `fde_pad'.
7982         (comp_unit_has_inlines): Hide declaration as per rest of file.
7983         (size_of_line_prolog): Correct typo in prototype.
7984         (add_arange): Likewise.
7985         (output_aranges): Likewise.
7986         (add_name_and_src_coords_attributes): Likewise.
7987         (gen_array_type_die): Likewise.
7988         (gen_inlined_subroutine_die): Likewise.
7989         (equate_decl_number_to_die): Remove unused variable `i'.
7990         (print_die): Reconcile format vs. args in fprintf's.
7991         (print_dwarf_line_table): Likewise.
7992         (output_die): Likewise.
7993         (output_line_info): Likewise.
7994         (add_subscript_info): Avoid an empty body in an else-statement.
7995         (gen_subprogram_die): Remove unused variable `fp_loc'.
7996
7997         * dwarfout.c: Explicitly declare `next_pubname_number' as int.
7998         Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
7999         macro.  Protect `src_coords_attribute' prototype with
8000         DWARF_DECL_COORDINATES macro.  Hide `output_entry_point_die'
8001         prototype as in the rest of the file.  Likewise for
8002         `output_pointer_type_die' and `output_reference_type_die'.  Remove
8003         prototype for `type_of_for_scope'.
8004         (output_unsigned_leb128): Reconcile format vs. args in fprintf.
8005         (type_attribute): Add explicit braces to avoid ambiguous `else'.
8006
8007         * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
8008         (shorten_branches): Protect declaration of tmp_length with
8009         SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
8010         (profile_function): Protect declaration of `sval' and `cxt'
8011         variables with appropriate macros.
8012         (final_scan_insn): Likewise for `note' variable.  Add explicit
8013         braces to avoid empty body in an if-statement.
8014         (output_asm_insn): Move variable `i' inside macro conditional
8015         where it is used.  Add parentheses around assignment used as truth
8016         value.
8017         (asm_fprintf) Likewise, likewise.
8018
8019         * fix-header.c (main): Remove unused variable `done'.  Protect
8020         declaration of `i' with FIXPROTO_IGNORE_LIST.
8021
8022         * pexecute.c: Include <unistd.h>.  Prototype `my_strerror'.
8023
8024         * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
8025         `ind'.
8026
8027         * profile.c: Include <string.h>/<strings.h>.
8028         (instrument_arcs): Remove unused variables `note', `inverted',
8029         `zero' and `neg_one'.
8030         (branch_prob): Avoid empty body in an if-statement.
8031
8032         * regclass.c: Include <stdlib.h>.
8033         (reg_alternate_class): Explicitly declare parameter `regno'.
8034
8035         * regmove.c (regmove_optimize): Remove unused variable `p'.  Add
8036         parentheses around assignment used as truth value.
8037         (find_matches):  Remove unused variables `output_operand' and
8038         `matching_operand'.
8039         (fixup_match_1): Remove statement with no effect: "if (0) ;".
8040
8041         * scan.c (sstring_append): Explicitly declare `count' as int.
8042         (scan_string): Explicitly declare parameter `init' as int.
8043
8044         * sched.c: Include <stdlib.h>.
8045         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
8046         (rank_for_schedule): Add parentheses around assignment used as
8047         truth value.
8048         (schedule_block): Likewise.
8049         (regno_use_in): Likewise.
8050         (schedule_insns): Remove unused variable `i'.
8051
8052         * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
8053         (v_message_with_decl): Remove unused variable `n'.
8054         (botch): Explicitly declare parameter `s' as char *.
8055         (main): Add parentheses around assignment used as truth value.
8056
8057         * tree.c (make_node): Protect the variable `kind' with the
8058         GATHER_STATISTICS macro.
8059         (real_value_from_int_cst): Move variable `e' inside conditional
8060         macro area where it is used.
8061         (tree_last): Add parentheses around assignment used as truth value.
8062         (build1): Protect the variable `kind' with the GATHER_STATISTICS
8063         macro.
8064         (print_obstack_statistics): Reconcile format vs. args in fprintf.
8065         Protect variables `i', `total_nodes', and `total_bytes' with the
8066         GATHER_STATISTICS macro.
8067
8068 Tue Jan 27 23:01:55 1998  Mike Stump  (mrs@wrs.com)
8069
8070         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
8071         some comments regarding use of dead_or_set_p.
8072
8073 Tue Jan 27 22:14:48 1998  Todd Vierling <tv@pobox.com>
8074
8075         * fixincludes: Tweak fix for struct exception in math.h
8076
8077 Tue Jan 27 17:21:09 1998  Gavin Koch  (gavin@cygnus.com)
8078
8079         * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
8080         Change mode of registers used to add/sub from
8081         hard_frame_pointer_rtx from word_mode to Pmode.
8082
8083 Tue Jan 27 11:02:04 1998  Nick Clifton  <nickc@cygnus.com>
8084
8085         * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
8086         asm_output_aligned_bss() instead of asm_output_bss().
8087
8088         * toplev.c (rest_of_compilation): Replace references to
8089         stack_reg_dump_file and dbr_sched_dump_file with references to
8090         rtl_dump_file.
8091
8092 Tue Jan 27 10:22:13 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
8093
8094         * tlink.c (scan_linker_output): Call fclose() for opened files.
8095
8096 Tue Jan 27 05:05:26 1998  Richard Henderson  <rth@cygnus.com>
8097
8098         * alpha.c (output_epilog [!VMS]): Don't tag global functions if
8099         compiling with -fpic -- we want to be able to override symbols
8100         properly.
8101         (alpha_expand_block_move): Fix thinko in last change.
8102
8103         * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
8104         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
8105         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
8106
8107 Tue Jan 27 03:21:23 1998  Richard Henderson  <rth@cygnus.com>
8108
8109         * alpha.md (abssf, absdf): Revert last change.
8110
8111 Tue Jan 27 00:26:50 1998  John Carr  <jfc@mit.edu>
8112
8113         * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
8114         * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
8115
8116 Tue Jan 27 00:07:02 1998  Jeffrey A Law  (law@cygnus.com)
8117
8118         * emit-rtl.c (gen_lowpart_common): Handle more case where converting
8119         a CONST_INT into SFmode.
8120
8121 Tue Jan 20 16:01:03 1998  Anthony Green  <green@cygnus.com>
8122
8123         * flags.h: New flag (optimize_size).
8124         * toplev.c (main): Parse -Os option and set optimize_space
8125         accordingly.
8126         * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
8127         __OPTIMIZE_SIZE__ when compiling with -Os.
8128         * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
8129         config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
8130         config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
8131         to macro.
8132         * config/i386/i386.c (optimization_options): Accept new SIZE argument.
8133
8134 Mon Jan 26 23:57:39 1998  Manfred Hollstein  <manfred@s-direktnet.de>
8135
8136         * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
8137         stuff only if MCT_TEXT is #define'd.
8138
8139 Mon Jan 26 23:52:51 1998  Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
8140
8141         * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
8142         configurations.
8143
8144 Fri Jan 23 09:39:36 1998  Nick Clifton  <nickc@cygnus.com>
8145
8146         * toplev.c: Add -dM command line option to dump RTL after the
8147         machine dependent reorganisation pass, if there is one.
8148         Reorganise RTL dump code, so that only one file handle is
8149         needed.
8150
8151 Mon Jan 26 12:09:42 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
8152
8153         * except.c (check_exception_handler_labels): Disable warning when
8154         flag_syntax_only.
8155
8156 Mon Jan 26 18:17:32 1998  Jim Wilson  <wilson@cygnus.com>
8157
8158         * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
8159
8160 Mon Jan 26 18:11:30 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8161
8162         * c-decl.c (grokdeclarator): Get parameter tags from
8163         last_function_parm_tags.
8164         * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
8165         traversing the parameter types.
8166         (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
8167
8168 Mon Jan 26 01:44:12 1998  Jeffrey A Law  (law@cygnus.com)
8169
8170         * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
8171         the default case.
8172         (get_shift_alg): Fix typo.
8173
8174 Sun Jan 25 22:22:04 1998  Richard Henderson  <rth@cygnus.com>
8175
8176         * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
8177
8178 Sun Jan 25 22:14:28 1998  Richard Henderson  <rth@cygnus.com>
8179
8180         * toplev.c (get_run_time): Make sure each case gets its variables.
8181
8182 Sun Jan 25 22:10:21 1998  Richard Henderson  <rth@cygnus.com>
8183
8184         * configure.in (build_xm_file): Add auto-config.h if host=build.
8185         (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
8186         (build_xm_file_list): Likewise.
8187         * configure: Rebuild.
8188
8189 Sun Jan 25 22:00:25 1998  Alasdair Baird <alasdair@wildcat.demon.co.uk>
8190
8191         * recog.c (validate_replace_rtx_1): Only perform substitutions
8192         of arguments to commutative and comparison operators once.
8193
8194 Sun Jan 25 12:30:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8195
8196         * sparc.c (output_cbranch): Add default case in
8197         enumeration switch.
8198
8199         * reorg.c (insn_sets_resource_p): Correct typo in prototype.
8200         (emit_delay_sequence): Eliminate unused parameter, all callers
8201         changed.
8202         (fill_simple_delay_slots): Likewise.
8203         (fill_slots_from_thread): Likewise.
8204         (fill_eager_delay_slots):  Likewise.
8205         (mark_referenced_resources): Add default case in enumeration switch.
8206         (mark_set_resources): Likewise.
8207         (rare_destination): Likewise.
8208         (mostly_true_jump): Likewise.
8209         (find_dead_or_set_registers): Likewise.
8210         (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
8211         (update_reg_unused_notes): Remove unused variable `p'.
8212         (mark_target_live_regs): Remove unused variables `next' and
8213         `jump_count'.
8214         (fill_simple_delay_slots): Remove unused variable `j'.
8215         (fill_slots_from_thread): Add parentheses around assignment used
8216         as truth value.
8217         (dbr_schedule): Likewise.
8218
8219         * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
8220         (objc.stage2, objc.stage3, objc.stage4): Likewise.
8221
8222 Sun Jan 25 12:13:47 1998  Michael Tiemann  <michael@tiemann.org>
8223
8224         * cse.c (simplify_ternary_operation): Don't try to simplify
8225         IF_THEN_ELSE expressions (created by combine) that don't use
8226         relational operators.
8227
8228 Fri Jan 23 22:48:24 1998  Jeffrey A Law  (law@cygnus.com)
8229
8230         * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
8231         simplifications.
8232
8233         * crtstuff.c (init_dummy): Keep the epilogue in the init
8234         section for non-ELF systems.
8235
8236 Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8237
8238         * sh.md (movqi_i+1): New peephole.
8239
8240 Fri Jan 23 15:39:42 1998  Jim Wilson  <wilson@cygnus.com>
8241
8242         * Makefile.in: Remove remaining bytecode stuff.
8243         * emit-rtl.c, expr.c: Likewise.
8244
8245 Fri Jan 23 12:41:10 1998  Nick Clifton  (nickc@cygnus.com)
8246
8247         * toplev.c (lang_options): Add unknown-pragma options.
8248
8249 Thu Jan 22 23:43:38 1998  Per Bothner  <bothner@cygnus.com>
8250
8251         * dwarfout.c (byte_size_attribute):  Simplify and fix - don't need
8252         special (and incomplete) handling for Chill arrays.
8253
8254 Fri Jan 23 00:27:23 1998  John Carr  <jfc@mit.edu>
8255
8256         * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
8257         to get clock rate.
8258
8259 Fri Jan 23 00:19:36 1998  Gavin Koch  (gavin@cygnus.com)
8260
8261         * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
8262
8263 1998-01-22  scott snyder  <snyder@d0sgif.fnal.gov>
8264
8265         * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
8266         .frame directive instead of FRAME_POINTER_REGNUM.
8267
8268 Fri Jan 23 00:08:55 1998  Robin Kirkham <rjk@mlb.dmt.csiro.au>
8269
8270         * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
8271         (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
8272         * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
8273         (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
8274         (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
8275         * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
8276         (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
8277         (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
8278         mcpu32 or m5200.
8279         * longlong.h: Replace __mc68332__ with __mcpu32__.
8280
8281 Thu Jan 22 19:55:40 PST 1998 Jeff Law  (law@cygnus.com)
8282
8283         * version.c: Bump for snapshot.
8284
8285 Thu Jan 22 14:47:31 1998  Jim Wilson  <wilson@cygnus.com>
8286
8287         * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
8288         to require the SUBREG mode to be smaller than the SUBREG_REG mode.
8289         * reload1.c (eliminate_regs): Likewise.
8290
8291 Thu Jan 22 14:49:14 1998  Jeffrey A Law  (law@cygnus.com)
8292
8293         * regmove.c (find_matches): Initialize matches->earlyclobber too.
8294
8295 Thu Jan 22 01:40:52 1998  Richard Henderson  <rth@cygnus.com>
8296
8297         * alpha.md (abssf2, absdf2): Disable in IEEE mode.
8298         (negsf2, negdf2): Use proper subtract in IEEE mode.
8299
8300 Tue Jan 20 09:29:09 1998  Jeffrey A Law  (law@cygnus.com)
8301
8302         * Makefile.in: Remove more bytecode stuff.
8303         * expr.c, stmt.c, config/msdos/top.sed: Likewise.
8304         * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
8305         * f/install.texi, objc/Make-lang.in: Likewise.
8306
8307         * Makefile.in: Remove all bytecode support.
8308         (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
8309         * emit-rtl.c: Remove all bytecode support.
8310         * expr.c, expr.h function.c, integrate.c: Likewise.
8311         * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
8312         * tree.h, varasm.c: Likewise.
8313         * config/m68k/m68k.h: Likewise.
8314         * bi-*, bc-*, bytecode*: Delete bytecode related files.
8315         * modemap.def: Likewise.
8316
8317 Tue Jan 20 09:02:31 1998  Gavin Koch  (gavin@cygnus.com)
8318
8319         * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
8320         umodsi3,umoddi3): Handle mips16 div/mod by a constant.
8321
8322 Mon Jan 19 21:57:00 1998  Richard Henderson  <rth@cygnus.com>
8323
8324         * i386.md (push): Prohibit symbolic constants if flag_pic.
8325         (movsi+1): Likewise for move to non-register.
8326
8327 Mon Jan 19 11:15:38 1998  Jim Wilson  <wilson@cygnus.com>
8328
8329         * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
8330         (print_operand): Handle 0xffffffff on 32 bit host.
8331
8332         * configure.in (thread_file): Rename uses before main loop to
8333         target_thread_file.  Initialize to empty in main loop.  Set thread_file
8334         to target_thread_file after main loop if not set.
8335         * configure: Rebuild.
8336
8337         * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
8338         (add_values_to_cover): Revert last change (which had no ChangeLog
8339         entry).
8340         (simplify_with_current_value_aux): Handle CONST_INT.
8341
8342 Mon Jan 19 10:14:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8343
8344         * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
8345
8346 Mon Jan 19 10:11:52 1998  Richard Henderson  <rth@cygnus.com>
8347
8348         * configure.in: Add cpp stringify test.
8349         * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
8350         * gengenrtl.c: Use it.
8351         * configure, config.in: Rebuild.
8352
8353 Mon Jan 19 09:43:15 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8354
8355         * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
8356
8357 Mon Jan 19 09:38:18 1998  Richard Henderson  <rth@cygnus.com>
8358
8359         * configure.in: Find declaration for sbrk.
8360         * acconfig.h (NEED_DECLARATION_SBRK): New tag.
8361         * config.in, configure: Rebuild.
8362         * mips-tfile.c: Properly protect declaration of sbrk and free.
8363         * toplev.c: Properly protect declaration of sbrk.
8364
8365 Sun Jan 18 20:18:01 1998  Richard Henderson  <rth@cygnus.com>
8366
8367         * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
8368
8369 Sun Jan 18 01:54:27 1998  Jeffrey A Law  (law@cygnus.com)
8370
8371         * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
8372
8373 Sun Jan 18 00:57:35 1998  Mike Stump  (mrs@wrs.com)
8374
8375         * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
8376
8377 Sat Jan 17 23:41:36 1998  David S. Miller  <davem@tanya.rutgers.edu>
8378
8379         * combine.c (force_to_mode, nonzero_bits): Correctly optimize
8380         constant offset computations from objects with known alignment in
8381         the presence of STACK_BIAS.
8382
8383         * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
8384         necessary.
8385         (const_hash): Hash val is unsigned long.
8386         (SYMHASH): Likewise.
8387
8388         * tree.c (TYPE_HASH): Type of hash val is unsigned long.
8389
8390         * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
8391         char pointer, not HOST_WIDE_INT.
8392         (print_node): Likewise.  Also hash is unsigned long not
8393         HOST_WIDE_INT.
8394
8395         * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
8396
8397         * explow.c (optimize_save_area_alloca): New function for targets
8398         where SETJMP_VIA_SAVE_AREA is true.
8399         (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
8400         compute the amount of stack space needed should we find later that
8401         setjmp is never called by this function, stuff rtl for this inside
8402         a REG_NOTE of the final SET of stack_pointer_rtx.
8403         * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
8404         current_function_calls_alloca, call optimize_save_area_alloca.
8405
8406 Sat Jan 17 23:22:59 1998  John Wehle  (john@feith.com)
8407
8408         * i386.md: Remove redundant integer push patterns.
8409         Don't bother checking for TARGET_PUSH_MEMORY when
8410         pushing constants or registers.
8411
8412 Sat Jan 17 22:35:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
8413                           J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
8414
8415         * pexecute.c (pexecute): New function for mingw32. Supports pipes.
8416         (pwait): New function for mingw32.
8417
8418         * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
8419         pipe support is broken for now.
8420
8421 1998-01-17  Lee Iverson  <leei@Canada.AI.SRI.COM>
8422
8423         * emit_rtl.c (init_emit_once): Ensure that potential aliasing
8424         between frame_pointer_rtx, hard_frame_pointer_rtx, and
8425         arg_pointer_rtx is respected in initialization.
8426         (init_emit_once): Use gen_rtx_raw_REG() to create
8427         return_address_pointer_rtx.
8428
8429         * reorg.c: #include "expr.h" for rtx prototypes.
8430         * Makefile.in (reorg.o): Depend on expr.h
8431
8432 Sat Jan 17 21:28:08 1998  Pieter Nagel <pnagel@epiuse.co.za>
8433
8434         * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
8435         local_prefix to sub-make invocations.
8436
8437 Sat Jan 17 21:24:16 1998  David T. McWherter <dtm@waterw.com>
8438
8439         * objc-parse.c: Recognize protocol qualifiers in class definitions.
8440
8441 Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
8442
8443         * rtl.h: Fix typos.
8444
8445         * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
8446         * configure.in: Check for atol.
8447         * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
8448
8449         * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
8450
8451         * loop.c (find_and_verify_loops): When attempting to move insns from
8452         inside the loop outside the loop, create a BARRIER if no suitable
8453         one was found.
8454
8455         * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
8456         favor of an equivalent change from gcc-2.8.
8457
8458         * i386/x-sco5 (CC): Remove trailing whitespace.
8459
8460 Sat Jan 17 21:09:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8461
8462         * gengenrtl.c (type_from_format): De-ANSIfy function signature.
8463         (accessor_from_format): Likewise.
8464         (xmalloc): New function for use when linking with alloca.o.
8465
8466 Mon Jan  5 02:53:01 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
8467
8468         * frame.c (find_fde): Correct FDE's upper bound.
8469
8470 Fri Jan 16 16:23:52 1998  Richard Henderson  <rth@cygnus.com>
8471
8472         * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
8473
8474 Fri Jan 16 10:16:10 1998  Jeffrey A Law  (law@cygnus.com)
8475
8476         * calls.c (expand_call): Move #ifdef code out of macro argument
8477         lists.
8478         (emit_library_call, emit_library_call_value): Likewise.
8479
8480 Fri Jan 16 00:46:40 1998  Jeffrey A Law  (law@cygnus.com)
8481
8482         * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
8483
8484 Thu Jan 15 01:02:30 1998  Jeffrey A Law  (law@cygnus.com)
8485
8486         * version.c: Bump for snapshot.
8487
8488 Wed Jan 14 22:49:17 1998  Richard Henderson  <rth@cygnus.com>
8489
8490         * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
8491         change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
8492         * caller-save.c, calls.c, combine.c, cse.c: Likewise.
8493         * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
8494         * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
8495         * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
8496         * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
8497         * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
8498         * unroll.c, varasm.c: Likewise.
8499         * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
8500
8501 Wed Jan 14 19:36:08 1998  Gavin Koch  (gavin@cygnus.com)
8502
8503         * mips.h: Fix some type-o's from a previous change.
8504
8505 Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
8506
8507         * loop.c (check_dbra_loop): Make sure initial value is a
8508         CONST_INT before trying to normalize it.
8509
8510 Tue Jan 13 23:27:54 1998  Robert Lipe   (robertl@dgii.com)
8511
8512         * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
8513
8514 Tue Jan 13 22:47:02 1998  Herman ten Brugge <herman@htbrug.net.HCC.nl>
8515
8516         * cppexp.c: Include gansidecl.h
8517
8518 Tue Jan 13 22:43:35 1998  Ian Lance Taylor  <ian@cygnus.com>
8519
8520         * svr4.h (LINK_SPEC): Never specify -h.
8521         * ptx4.h (LINK_SPEC): Likewise.
8522         * rs6000/sysv4.h (LINK_SPEC): Likewise.
8523         * sparc/sol2.h (LINK_SPEC): Likewise.
8524
8525 Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
8526
8527         * c-typeck.c (comptypes): Exit early on NULL input.
8528
8529         * haifa-sched.c (schedule_insns): Correctly remove inter-block
8530         dependencies after reload.
8531
8532 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
8533
8534         * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
8535
8536 Tue Jan 13 22:14:57 1998  Klaus Kaempf <kkaempf@progis.de>
8537
8538         * alpha/vms.h (DIR_SEPARATOR): define
8539
8540 Tue Jan 13 22:13:04 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
8541
8542         * Makefile.in (stamp-proto): Remove.
8543         (protoize.o, unprotoize.o): Straightforward compile.
8544         * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
8545
8546 Tue Jan 13 21:59:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
8547
8548         * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
8549         off the trailing @[NUM] added by ENCODE_SECTION_INFO.
8550
8551 Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
8552
8553         * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
8554         * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
8555         * sparc/netbsd.h, vax/netbsd.h: Likewise.
8556
8557 Tue Jan 13 21:37:07 1998  Shigeya Suzuki <shigeya@foretune.co.jp>
8558
8559         * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
8560
8561 Tue Jan 13 17:50:55 1998  Jim Wilson  <wilson@cygnus.com>
8562
8563         * configure.in (target_cpu_default, target_cpu_default2): Use double
8564         quotes around them when testing their value.
8565         * configure: Rebuilt.
8566
8567 Tue Jan 13 09:07:44 1998  John Carr  <jfc@mit.edu>
8568
8569         * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
8570         to allocate rtx.
8571         (gendef): Call obstack_alloc_rtx.
8572
8573 Tue Jan 13 01:16:36 1998   Robert Lipe (robertl@dgii.com)
8574
8575         * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
8576         for now.
8577
8578 Thu Dec 18 18:40:17 1997  Mumit Khan <khan@xraylith.wisc.edu>
8579
8580         * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
8581         of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
8582         (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
8583
8584 Tue Jan 13 00:44:02 1998  Jim Wilson  <wilson@cygnus.com>
8585
8586         * mips.md (return_internal): Change mode from SImode to VOIDmode.
8587
8588 Sat Jan 10 22:11:39 1998  J. Kean Johnston  <jkj@sco.com>
8589
8590         * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
8591         "-static".
8592
8593 Sat Jan 10 22:04:15 1998  Stan Cox  <scox@equinox.cygnus.com>
8594
8595         * i386.md: (movsicc_1, movhicc_1):  For alternate 3 set the opcode
8596         suffix from operand 3.
8597
8598 Sat Jan 10 21:50:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8599                           Jeffrey A Law  (law@cygnus.com)
8600
8601         * regmove.c: New implementation of regmove pass.
8602         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
8603         decls, make them have external linkage.  Return a value from
8604         optimize_reg_copy_1.
8605         * reload.h (count_occurrences): Add decl.
8606         * reload1.c (count_occurrences): Delete decl, make it have external
8607         linkage.
8608         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
8609
8610 Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
8611
8612         * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
8613         if it is not defined.
8614
8615 Thu Jan  8 21:06:54 1998  Richard Henderson  <rth@cygnus.com>
8616
8617         * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
8618         * emit-rtl.c (gen_rtx): Move special code to ...
8619         (gen_rtx_CONST_INT): New function.
8620         (gen_rtx_REG): New function.
8621         (*): Update all calls to gen_rtx.
8622         * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
8623         * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
8624         (GEN_INT): Call gen_rtx_CONST_INT.
8625         * gengenrtl.c: New file.
8626
8627 Mon Jan  5 13:00:18 1998  John F. Carr  <jfc@mit.edu>
8628
8629         * alias.c (*_dependence): Call base_alias_check before canon_rtx.
8630         (base_alias_check): If no base found for address call canon_rtx and
8631         try again.
8632
8633 Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
8634
8635         * mips.c (mips_expand_prologue): Handle large frame with no outgoing
8636         arguments for mips16.
8637         (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
8638         Don't lose if tsize is zero after handling large stack for mips16.
8639         * mips.md (return): For trivial return, return address is in $31.
8640
8641 Sun Jan  4 20:24:00 1998  Nigel Stephens  <nigel@algor.co.uk>
8642
8643         *  mips/mips16.S: Various changes to make it work with -msingle-float
8644         and -EL.
8645
8646 Sun Jan  4 14:25:18 1998  Gavin Koch  <gavin@cygnus.com>
8647                           Ian Lance Taylor  <ian@cygnus.com>
8648                           Jeff Law  <law@cygnus.com>
8649
8650         * mips.c, mips.h, mips.md: First cut at merging in mips16
8651         support.  Major modifications throughout all three files.
8652
8653 Sun Jan  4 01:01:50 1998  scott snyder  <snyder@d0sgif.fnal.gov>
8654
8655         * configure.in: Make gthr-default.h a forwarding header instead of
8656         a symlink.
8657
8658 Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8659
8660         * gcov-io.h: Include sys/types.h to ensure we get size_t.
8661
8662         * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
8663
8664 Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
8665                           Jeffrey A Law  (law@cygnus.com)
8666
8667         * crtstuff.c (__frame_dummy): New function for irix6.
8668         (__do_global_ctors): Call __frame_dummy for irix6.
8669         * iris6.h (LINK_SPEC): Hide __frame_dummy too.
8670
8671 Fri Jan  2 04:57:57 1998  Weiwen Liu  <liu@hepmail.physics.yale.edu>
8672
8673         * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
8674
8675 Fri Jan  2 04:34:14 1998  Richard Henderson  <rth@cygnus.com>
8676
8677         * c-decl.c (init_decl_processing): Provide proper fallback symbol
8678         for __builtin_memset.
8679         * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
8680         not INTEGER_CST.  Assert arg 3 is a constant.
8681
8682         * alpha.c (mode_width_operand): Accept 64-bit modes.
8683         (mode_mask_operand): Likewise.
8684         (print_operand): Likewise for 'M' and 'U' codes.
8685         (alpha_expand_unaligned_load): New function.
8686         (alpha_expand_unaligned_store): Likewise.
8687         (alpha_expand_unaligned_load_words): Likewise.
8688         (alpha_expand_unaligned_store_words): Likewise.
8689         (alpha_expand_block_move): Likewise.
8690         (alpha_expand_block_clear): Likewise.
8691         * alpha.h (MOVE_RATIO): New define.
8692         * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
8693         (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
8694
8695         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
8696         (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
8697
8698 Thu Jan  1 15:40:15 1998  Richard Henderson  <rth@cygnus.com>
8699
8700         * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
8701         * configure: Update.
8702
8703 Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
8704
8705         * emit-rtl.c (operand_subword): Correctly handle extracting a word
8706         from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
8707
8708         * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
8709         for first argument.
8710
8711 Wed Dec 31 14:42:18 1997  Ian Lance Taylor  <ian@cygnus.com>
8712
8713         * configure.in: Set and subsitute host_exeext.  Use it when creating
8714         the assembler and linker symlinks.
8715         * configure: Rebuild.
8716         * Makefile.in (exeext): Set to @host_exeext@.
8717         (build_exeext): New variable, set to @build_exeext@.
8718         (FLAGS_TO_PASS): Pass down build_exeext.
8719         (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
8720         programs.
8721
8722 Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
8723
8724         * mn10200.md (addsi3, subsi3): Fix thinkos.
8725
8726 Tue Dec 30 00:04:49 1997  Richard Henderson  <rth@cygnus.com>
8727
8728         * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
8729         save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
8730         unix always, since we want to be able to thunk to functions in a
8731         shared library from an application.
8732
8733 Mon Dec 29 14:37:31 1997  Ian Lance Taylor  <ian@cygnus.com>
8734
8735         * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
8736         (LIB1ASMSRC, LIB1ASMFUNCS): Define.
8737
8738 Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
8739
8740         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
8741         offset's mode is not ptr_mode, convert it.
8742
8743 Mon Dec 29 15:58:18 1997  Michael Meissner  <meissner@cygnus.com>
8744
8745         * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
8746         compiling if it was already defined.
8747
8748 Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
8749
8750         * flow.c (find_basic_blocks): Don't create a new basic block
8751         for calls in a LIBCALL block.
8752
8753 Sun Dec 28 00:30:24 1997  David Edelsohn  <edelsohn@mhpcc.edu>
8754
8755         * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
8756
8757 Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
8758
8759         * cse.c (rtx_cost): Remove conflicting default case.
8760
8761 Sat Dec 27 21:20:02 1997  Richard Henderson  <rth@cygnus.com>
8762
8763         * configure.in: Move default enabling of Haifa out of for loop.
8764         * configure: Rebuild.
8765
8766 Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
8767
8768         * version.c: Bump for snapshot.
8769
8770 1997-12-25  Teemu Torma  <tot@trema.com>
8771
8772         * Makefile.in (GTHREAD_FLAGS): New var.
8773         (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
8774         (distclean): Remove gthr-default.h.
8775
8776         * configure.in: Accept dce as a thread package.
8777         Check for thread.h and pthread.h.
8778         Link gthr-default.h to appropriate thread file and set
8779         gthread_flags.
8780         (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
8781         include multilib definitions from pa/t-dce-thr.
8782         (sparc-*-solaris2*): Enable threads by default, if thread.h or
8783         pthread.h is found, preferring posix threads over solaris ones.
8784
8785         * config/pa/t-dce-thr: New file.
8786         * config/pa/t-pa: Removed multilibs.
8787         * config/sparc/t-sol2: Ditto.
8788
8789         * gthr.h: New file.
8790         * gthr-single.h: New file.
8791         * gthr-posix.h: New file.
8792         * gthr-solaris.h: New file.
8793         * gthr-dce.h: New file.
8794         * libgcc-thr.h: Removed.
8795         * objc/thr-dce.c: New file copied from thr-decosf1.c.
8796
8797         * frame.c: Include gthr.h instead of libgcc-thr.h.
8798         * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
8799         (eh_context_initialize): If __gthread_once fails, use static eh
8800         context.
8801         (eh_context_free): Call __gthread_key_dtor.
8802
8803 Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
8804
8805         * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
8806
8807 Wed Dec 24 23:12:14 1997  Jim Wilson  <wilson@cygnus.com>
8808
8809         * cse.c (max_insn_uid): New variable.
8810         (cse_around_loop): Use max_insn_uid.
8811         (cse_main): Set max_insn_uid.
8812
8813         * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
8814         and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
8815         -mlong64, and -mgp{32,64} options.
8816         * mips.c (mips_abi): Change type to int.
8817         * mips.h (enum mips_abi_type): Delete.
8818         (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
8819         (mips_abi): Change type to int.
8820
8821 Wed Dec 24 22:38:34 1997  John Carr  <jfc@mit.edu>
8822
8823         * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
8824         optimization is now always enabled.
8825
8826         * calls.c (expand_call): Recognize C++ operator new as malloc-like
8827         function.
8828
8829         * alias.c (memrefs_conflict_p): Eliminate tests now done by
8830         base_alias_check.
8831         (*_dependence): Call canon_rtx before base_alias_check.
8832         (init_alias_once): New function to precompute set of registers which
8833         can hold Pmode function arguments.
8834
8835         * rtl.h: Declare init_alias_once.
8836
8837         * toplev.c (compile_file): Call init_alias_once.
8838
8839 Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
8840
8841         * tree.c (restore_tree_status): Do not dereference a null pointer.
8842
8843 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
8844
8845         * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
8846         RLIMIT_STACK.  This maintains consistency with the recent, similar
8847         patch to cccp.c and toplev.c.
8848
8849 Tue Dec 23 05:17:28 1997  Richard Henderson  <rth@cygnus.com>
8850
8851         * genattrtab.c (expand_units): For large nr opclasses, expand
8852         function_units_used with ORX to prevent blowups.  Tag with FFS.
8853         (num_unit_opclasses): New variable.
8854         (gen_unit): Update it.
8855         (enum operator): Add ORX_OP.
8856         (operate_exp): Treat ORX as or, except don't expand across an if.
8857         Reuse number rtx's after operating on them.
8858         (check_attr_value): Accept IOR, AND, & FFS.
8859         (write_test_expr): Transmute `in_comparison' to `flags'.  Allow
8860         for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
8861         (write_expr_attr_cache, write_toplevel_expr): New functions.
8862         (write_attr_get): Handle FFS-tagged expressions.
8863         (make_canonical): Don't expand const attributes.
8864         (convert_const_symbol_ref): Dike out.
8865         (evaluate_eq_attr): Handle SYMBOL_REF.
8866         (main): Don't emit get_attr_foo for const attributes.
8867
8868         * alpha.c (override_options): Reinstate PROCESSOR_EV6.
8869         (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
8870         * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
8871         * alpha.md: Redo all of the scheduling, adding EV6 support, and
8872         combining function units where possible.
8873         (attr "type"): Split loads, stores, cmov into int/fp.  Combine
8874         multiplies and divides.  Add EV6 sqrt, ftoi, itof.
8875         (attr "opsize"): New attribute.
8876         (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
8877         (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
8878         to control register allocation.
8879         (movsi2-1, movdi2-1): Likewise.
8880
8881 Tue Dec 23 03:53:21 1997  Richard Henderson  <rth@cygnus.com>
8882
8883         * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
8884         MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
8885         Move OSF/1 specific defines out.
8886         * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
8887         Move Linux specific defines out.
8888         (LINK_SPEC): Genericize.
8889         (ASM_FILE_START): Emit .arch if using more than the base insn set.
8890         (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
8891         (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
8892         (HANDLE_SYSV_PRAGMA): Define.
8893         * alpha/osf.h: New file.
8894         * alpha/linux.h: Split.  Retain file-format independant defines.
8895         Import Linux bits from elf.h.
8896         (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
8897         (FUNCTION_PROFILER): _mcount takes its address in $28.
8898         (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
8899         * alpha/linux-ecoff.h: New file.
8900         * alpha/linux-elf.h: New file.
8901         * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
8902         * alpha/win-nt.h (TARGET_DEFAULT): Define.
8903         * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
8904         Add new headers as appropriate.
8905
8906         * configure.in (alpha*): Enable Haifa by default.
8907         (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
8908         * configure: Rebuild.
8909
8910 Tue Dec 23 03:14:54 1997  Richard Henderson  <rth@cygnus.com>
8911
8912         * Makefile.in (clean): Remove the stages with their objects here ...
8913         (distclean): ... instead of here.
8914
8915 Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8916
8917         * cse.c (rtx_cost): Add default case in enumeration switch.
8918         * fix-header.c (recognized_macro): Likewise.
8919         (recognized_extern): Likewise.
8920         (write_rbrac): Likewise.
8921         * objc/objc-act.c (encode_aggregate): Likewise.
8922         (gen_declarator): Likewise.
8923         (gen_declspecs): Likewise.
8924
8925 Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
8926
8927         * haifa-sched.c (create_reg_dead_note): Detect and handle another
8928         case where we kill more regs after sched than were killed before
8929         sched.
8930         * sched.c (create_reg_dead_note): Similarly.
8931
8932 Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
8933
8934         * c-pragma.c: Include flags.h.
8935
8936 Sun Dec 21 22:10:59 1997  Mumit Khan <khan@xraylith.wisc.edu>
8937
8938         * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
8939         about system headers.
8940         (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
8941         and also to resolve symbols in prefix.c.
8942
8943         * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
8944         between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
8945         when the definitions in auto-config.h is not visible.
8946         (HAVE_BZERO): Likewise.
8947         (HAVE_BCMP): Likewise.
8948         (HAVE_RINDEX): Likewise.
8949         (HAVE_INDEX): Likewise.
8950
8951 Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
8952
8953         * pa.c (emit_move_sequence): Handle a function label source
8954         operand.
8955
8956 Sun Dec 21 16:13:55 1997  Nick Clifton  <nickc@cygnus.com
8957
8958         * c-pragma.c (handle_pragma_token): Generate warning messages
8959         about unknown pragmas if warn_unknown_pragmas is set.
8960
8961         * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
8962         line option to set variable: warn_unknown_pragmas.
8963
8964 Sun Dec 21 15:51:10 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
8965
8966         * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
8967         definition.
8968         (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
8969
8970 Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
8971
8972         * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
8973         (libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
8974         generate more fine grained floating point emulation libraries.
8975         * config/fp-bit.c: Add protecting #ifdef to all functions so
8976         that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
8977         then compile all suitable functions.
8978         (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
8979         underscores to avoid namespace pollution.
8980         * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
8981         (FPBIT): Define.
8982         * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
8983         (FPBIT): Define.
8984         (DPBIT): Define.
8985
8986 Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8987                           Jeff Law  <law@cygnus.com>
8988
8989         * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
8990         of the declaration.
8991         * c-decl.c (finish_decl): Use parentheses around && within ||.
8992         * rtl.c: Include stdlib.h.
8993         (read_skip_spaces): Add parentheses around assignments used as
8994         truth values.
8995         (read_rtx): Initialize list_rtx.
8996         * cppexp.c (parse_number): Use || when operands are truth values.
8997         * alias.c (find_base_value): Add default case.
8998         (memrefs_conflict): Likewise.
8999         * combine.c (sets_function_arg_p): Likewise.
9000         * genemit.c (gen_exp): Likewise.
9001         * local-alloc.c (contains_replace_regs): Likewise.
9002         * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
9003         * fold-const.c (fold_convert): Use "&&" for truth values.
9004         (fold): Add default case.
9005         * sdbout.c (sdbout_field_types): Fix typo in declaration.
9006         (sdbout_one_type): Add default case.
9007         * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
9008         (some_operand): Add default case.
9009         (input_operand): Likewise.
9010         (signed_comparison_operator): Likewise.
9011         (divmod_operator): Likewise.
9012         (alpha_set_memflags_1): Likewise.
9013         * reload1.c (reload_cse_simplify_operands): Ensure function
9014         always returns a value.
9015         * scan-decls.c (scan_decls): Likewise.
9016         * c-lex.c (skip_white_space): Fix typo in declaraion.
9017         * c-typeck.c (comp_target_types): Add parentheses around assignment
9018         used as truth value.
9019         (print_spelling): Likewise.
9020         (constructor_implicit, constructor_result): Remove unused variables.
9021         * collect2.c (scan_library): Protect prototype with
9022         #ifdef SCAN_LIBRARIES.
9023         * emit-rtl.c (find_line_note): Fix typo in declaration.
9024         * final.c (asm_insn_count): Protect prototype with
9025         #ifdef HAVE_ATTR_length.
9026         * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
9027         (try_pre_increment_1, try_pre_increment): Likewise.
9028         * regclass.c (auto_inc_dec_reg_p): Protect prototype with
9029         #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
9030         * gcov-io.h (__store_long, __write_long, __read_long): Fix
9031         unsigned/signed comparisons.
9032         * gcov.c (read_files): Remove unused "first_type" variable.
9033         (scan _for_source_files): Initialize s_ptr.
9034         (function_summary): Eliminate "%lf" formatting, use %ld for
9035         longs.
9036         (output_data): Initialize branch_probs and last_line_num.
9037         Eliminate "%lf" formatting, use "%ld" for longs.
9038
9039 Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
9040
9041         * mips16.S: New file.
9042
9043         * libgcc2.c (varargs): Handle mips16.
9044
9045         * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
9046         expression.
9047         * stmt.c (expand_end_case): Likewise.
9048         * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
9049         * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
9050         * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
9051
9052 Tue Dec 16 15:14:09 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
9053
9054         * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
9055         the build directory.
9056         (libobjc.a): Update dependency list.
9057         (libobjc.dll): Likewise.  Use libobjc_entry.o from the build
9058         directory.
9059         (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
9060         (objc.mostlyclean): Remove runtime-info.h.
9061
9062 Fri Dec 19 00:19:42 1997  Richard Henderson  <rth@cygnus.com>
9063
9064         * tree.c (build_range_type): Allow creation of ranges with no maximum.
9065         * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
9066         * dwarf2out.c (add_subscript_info): Likewise.
9067         * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
9068         * sdbout.c (plain_type_1): Likewise.
9069         * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
9070         Likewise.
9071         * fold-const.c (int_const_binop, fold_convert, make_range, fold):
9072         Likewise.
9073
9074 Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9075
9076         * mips.c (fatal): Remove declaration.
9077
9078 1997-12-18  Mark Mitchell  <mmitchell@usa.net>
9079
9080         * integrate.c (get_label_from_map): New function.
9081         (expand_inline_function): Use it.  Initialize the label_map to
9082         NULL_RTX instead of gen_label_rtx.
9083         (copy_rtx_and_substitute): Use get_label_from_map.
9084         * integrate.h (get_label_from_map): New function.
9085         (set_label_from_map): New macro.
9086         * unroll.c (unroll_loop): Use them.
9087         (copy_loop_body): Ditto.
9088
9089 Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
9090
9091         * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
9092         (INIT_TARGET_OPTABS): Define.
9093         * mips/ecoff.h: Include gofast.h before mips.h.
9094         (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
9095         * mips/elf64.h: Likewise.
9096         * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
9097
9098 Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
9099
9100         * except.c: Remove register_exception_table{,_p}.
9101
9102 Thu Dec 18 14:57:29 1997  Gavin Koch  <gavin@cygnus.com>
9103
9104         * unroll.c (calculate_giv_inc): Handle constant increment found in
9105         a MEM with an appropriate REG_EQUAL note.
9106
9107         * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
9108
9109         * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
9110         frame pointer in the prologue.
9111
9112 Thu Dec 18 00:19:38 1997  Robert Lipe <robertl@dgii.com>
9113
9114         * i386/x-sco5 (CLIB) Deleted.  (ALLOCA) Added.
9115         * i386/xm-sco5.h  (USE_C_ALLOCA) Added.
9116
9117 Tue Dec 16 18:51:00 1997  Bill Moyer <billm@cygnus.com>
9118
9119         * config/m68k/m68k.c (output_function_prologue): Typecast
9120         dwarf2out_cfi_label to (char *).
9121         * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
9122
9123 Wed Dec 17 15:06:04 1997  Richard Henderson  <rth@cygnus.com>
9124
9125         * sparc.md (jump): Don't use the annul bit around an empty loop.
9126         Patch from Kevin.Kelly@East.Sun.COM.
9127
9128 Wed Dec 17 00:51:36 1997  Stan Cox (scox@cygnus.com)
9129
9130         * jump.c: (jump_optimize): Don't use the return register as a
9131         source1 of a conditional move.
9132
9133 Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
9134
9135         * sparc.c (DF_MODES): Or the mask not the bit number.
9136         (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
9137
9138 Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
9139
9140         * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
9141
9142 Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
9143
9144         * fixincludes (size_t): Add support for Motorola's stdlib.h
9145         which fails to provide a definition for size_t.
9146         (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
9147         (strlen,strspn,strcspn return value): Handle different layout on sysV88.
9148         (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
9149
9150         * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
9151         prevent unresolved externals in libio.
9152         * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
9153
9154 Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
9155
9156         * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
9157         (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
9158         (LIB_SPEC): Updated for glibc 2.
9159
9160 Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
9161
9162         * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
9163         * ginclude/varargs.h: Likewise.
9164
9165 Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
9166
9167         * version.c: Bump for snapshot.
9168
9169 Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
9170
9171         * frame.h (__register_frame, __register_frame_table,
9172         __deregister_frame): New.
9173         * frame.c (__register_frame, __register_frame_table,
9174         __deregister_frame): New.
9175         * frame.c (__deregister_frame_info): Return void *.
9176         * frame.h (__deregister_frame_info): Ditto.
9177         * collect2.c (__deregister_frame_info): Ditto.
9178
9179 Mon Dec 15 18:40:08 1997  Richard Henderson  <rth@cygnus.com>
9180
9181         * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
9182
9183 Mon Dec 15 18:31:43 1997  Richard Henderson  <rth@cygnus.com>
9184
9185         * alpha.c (alpha_cpu_name): New variable.
9186         (alpha_mlat_string): Likewise.
9187         (alpha_memory_latency): Likewise.
9188         (override_options): Handle -mmemory-latency.
9189         (alpha_adjust_cost): Adjust load cost for latency.
9190         * alpha.h (TARGET_OPTIONS): Add meory-latency.
9191         (REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
9192         TARGET_CIX into account.
9193         (MEMORY_MOVE_COST): Define in terms of memory_latency.
9194         * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
9195
9196         * alpha.h (ASM_COMMENT_START): New macro.
9197
9198 Mon Dec 15 17:48:05 1997  Richard Henderson  <rth@cygnus.com>
9199
9200         * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
9201         dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
9202
9203         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
9204         SUBREG_REG if the word count is unchanged.
9205         * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
9206         subregs of identical word size for push_reload.
9207
9208 Mon Dec 15  Mark Mitchell  <mmitchell@usa.net> 11:41:32 1997
9209
9210         * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
9211         if all we're doing is dealing with -Wreturn-type.
9212
9213 Mon Dec 15 09:44:39 1997  Richard Henderson  <rth@cygnus.com>
9214
9215         * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
9216         Use and 255 instead of zapnot 1, since it schedules better.
9217
9218 Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
9219
9220         * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
9221         it as volatile.
9222
9223 Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
9224
9225         * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
9226         dependency we delete.  Properly update prev for multiple consecutive
9227         deletions.
9228         (priority): Skip deleted dependence.
9229
9230 Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>
9231
9232         * expr.c (expand_builtin):  Support BUILT_IN_FMOD - just call fmod.
9233
9234 Fri Dec 12 01:19:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
9235
9236         * flow.c (flow_analysis): Be consistent with find_basic_blocks in
9237         determining when a new basic block starts.
9238
9239         * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
9240
9241         * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
9242         * pa.md (iorsi3): Add missing args to *_operand calls.
9243
9244         * except.c (call_get_eh_context): Don't mess with sequences.
9245         (emit_eh_context): Include the call in the sequence here.
9246
9247 1997-12-11  Paul Eggert  <eggert@twinsun.com>
9248
9249         * collect2.c (write_c_file_glob): Allocate initial frame object
9250         in static storage and pass its address.
9251
9252 Thu Dec 11 23:33:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
9253
9254         * except.c (call_get_eh_context): Don't take a parm.
9255         Put the call at the top of the function.
9256         (emit_eh_context): Adjust.
9257         (get_eh_context): Replace with former use_eh_context.
9258         (get_eh_context_once, get_saved_pc_ref): Remove.
9259         (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
9260         * except.h: Adjust.
9261         * integrate.c (expand_inline_function): Adjust.
9262         * toplev.c (rest_of_compilation): Don't call emit_unwinder.
9263
9264 Fri Oct 10 17:58:31 CEST 1997  Marc Lehmann <pcg@goof.com>
9265
9266         * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
9267         (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
9268
9269 Thu Dec 11 23:55:17 1997  Manfred Hollstein  <manfred@s-direktnet.de>
9270
9271         * fixincludes (strlen,strspn,strcspn return value): Handle different
9272         layout on sysV88.
9273         (hypot): Provide a fake for hypot which is broken on
9274         m88k-motorola-sysv3.
9275
9276 Thu Dec 11 23:50:17 1997  John F. Carr  <jfc@mit.edu>
9277
9278         * tree.c, tree.h: Change tree_code_type, tree_code_length, and
9279         tree_code_name from pointers to arrays.
9280         * tree.c: Remove standard_tree_code_* variables, no longer used.
9281         * print-tree.c: Remove declaration of tree_code_name.
9282
9283         * cp/lex.c (init_lex): Update for tree_code_* changes.
9284         * objc/objc-act.c (init_objc): Likewise.
9285
9286         * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
9287         changes.
9288
9289 Thu Dec 11 23:34:54 1997  Fred Fish  <fnf@ninemoons.com>
9290
9291         * config.sub: Add support for BeOS target.
9292         * configure.in: Likewise.
9293         * ginclude/stdarg.h: Likewise.
9294         * ginclude/stddef.h: Likewise.
9295         * ginclude/varargs.h: Likewise.
9296         * rs6000/beos.h: New file for BeOS.
9297         * rs6000/t-beos: Likewise.
9298         * rs6000/x-beos: Likewise.
9299         * rs6000/xm-beos.h: Likewise.
9300         * toplev.c (get_run_time): Just return 0 on BeOS.
9301
9302 Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
9303                           Toon Moene  (toon@moene.indiv.nluug.nl)
9304
9305         * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
9306         old and broken Sun3 assemblers.  Newer versions handle large
9307         offsets correctly as does the GNU assembler.
9308
9309 Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
9310
9311         * objc/objc-act.c (lang_report_error_function): Disable.
9312         * objc/objc-parse.y: Include "output.h".
9313         (yyerror): Remove redundant decl.
9314         (yyprint): Fix prototype.
9315         (apply_args_register_offset): Remove redundant decl.
9316         (get_file_function_name): Likewise.
9317
9318 Thu Dec 11 22:02:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
9319
9320         * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
9321         a new basic block.
9322         (find_basic_blocks_1): Likewise.
9323
9324 Thu Dec 11 21:08:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
9325
9326         * except.c (use_eh_context): Don't copy_rtx a REG.
9327         (emit_throw): Lose old unwinder support.
9328         (expand_internal_throw): Likewise.
9329         * libgcc2.c (struct eh_context): Likewise.
9330         (new_eh_context): Likewise.
9331         (__get_eh_info): Lose redundant cast.
9332         (__get_dynamic_handler_chain): Likewise.
9333         (__get_saved_pc): Lose.
9334         Lose all old unwinder support code.
9335
9336 Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>
9337
9338         Thread-safe EH support for pthreads, DCE threads and Solaris threads.
9339
9340         * integrate.c (expand_inline_function): If the inline fn uses eh
9341         context, make sure that the current fn has one.
9342         * toplev.c (rest_of_compilation): Call emit_eh_context.
9343         * except.c (use_eh_context): New fn.
9344         (get_eh_context_once): New fn.
9345         (call_get_eh_context): New fn.
9346         (emit_eh_context): New fn.
9347         (get_eh_context): Call either get_eh_context_once or
9348         call_get_eh_context, depending on what we have.
9349         (get_dynamic_handler_chain): Call get_eh_context_once.
9350         * except.h: Prototypes for fns above.
9351         * optabs.c (get_eh_context_libfunc): Removed.
9352         (init_optabs): Don't initialize it.
9353         * expr.h (get_eh_context_libfunc): Removed.
9354         * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
9355         * config/pa/pa.h (CPP_SPEC): Support for -threads.
9356         * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
9357         * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9358         New multilib for -threads.
9359         * config/sparc/t-sol2: Added multilibs for -threads and
9360         made -pthreads alias to it.
9361         * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
9362         Added -threads and -pthreads options.
9363         * libgcc-thr.h: New file.
9364         * libgcc2.c: (__get_cpp_eh_context): Removed.
9365         (struct cpp_eh_context): Removed.
9366         (struct eh_context): Replaced cpp_eh_context with generic language
9367         specific pointer.
9368         (__get_eh_info): New function.
9369         (__throw): Check eh_context::info.
9370         (__sjthrow): Ditto.
9371         * libgcc2.c: Include libgcc-thr.h.
9372         (new_eh_context, __get_eh_context,
9373         eh_pthread_initialize, eh_context_initialize, eh_context_static,
9374         eh_context_specific, eh_context_free): New functions.
9375         (get_eh_context, eh_context_key): New variables.
9376         (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
9377         get_eh_context to get the context.
9378         (longjmp): Move the declaration inside
9379         #ifdef DONT_USE_BUILTIN_SETJMP.
9380         * frame.c: Include libgcc-thr.h.
9381         (object_mutex): Mutex to protect the object list.
9382         (find_fde, __register_frame, __register_frame_table,
9383         __deregister_frame): Hold the lock while accessing objects.
9384         * except.h (get_eh_context): Declare.
9385         * except.c (current_function_ehc): Define.
9386         (current_function_dhc, current_function_dcc): Removed.
9387         (get_eh_context): New function.
9388         (get_dynamic_handler_chain): Use get_eh_context.
9389         (get_saved_pc_ref): Ditto.
9390         (get_dynamic_cleanup_chain): Removed references to
9391         current_function_dcc.
9392         (save_eh_status, restore_eh_status): Save and restore
9393         current_function_ehc instead.
9394         * optabs.c (get_eh_context_libfunc): New variable.
9395         (init_optabs): Initialize it.
9396         * expr.h: Declare get_eh_context_libfunc.
9397         * function.h (struct function): Replaced dhc and dcc with ehc.
9398         * except.c (get_saved_pc_ref): New functions.
9399         (eh_saved_pc_rtx, eh_saved_pc): Deleted.
9400         (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
9401         of eh_saved_pc.
9402         (end_eh_unwinder): Likewise.
9403         (init_eh): Remove initialization of eh_saved_pc.
9404         * optabs.c (get_saved_pc_libfunc): New variable.
9405         (init_optabs): Initialize it.
9406         * expr.h: Declare get_saved_pc_libfunc.
9407         * except.h (eh_saved_pc_rtx): Deleted.
9408         (get_saved_pc_ref): Declared.
9409
9410         From Scott Snyder <snyder@d0sgif.fnal.gov>:
9411         * libgcc2.c (__get_saved_pc): New.
9412         (__eh_type, __eh_pc): Deleted.
9413         (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
9414         (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
9415         this fcn.
9416
9417 Thu Dec 11 17:23:48 1997  John F. Carr  <jfc@mit.edu>
9418
9419         * sparc/sol2.h: Use 64 bit multiply and divide functions in
9420         Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
9421         as 0.
9422
9423         * rtl.h (global_rtl): New variable, replacing separate variables for
9424         commonly used rtl.
9425         (const_int_rtx): Now array of rtx_def, not rtx.
9426         * emit-rtl.c: Update for new rtl data structures.
9427         * genattrtab.c: Define global_rtl.
9428
9429 Thu Dec 11 15:50:29 1997 David Edelsohn  <edelsohn@mhpcc.edu>
9430
9431         * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
9432         default.
9433
9434 Wed Dec 10 12:30:18 1997  Anthony Green  <green@cygnus.com>
9435
9436         * crtstuff.c (__do_global_ctors): Fix typo.
9437
9438 Tue Dec  9 09:43:59 1997  Manfred Hollstein  <manfred@s-direktnet.de>
9439
9440         * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9441         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9442
9443 Tue Dec  9 09:38:58 1997  David Edelsohn  <edelsohn@mhpcc.edu>
9444
9445         * rs6000.h (FUNCTION_ARG_PADDING): Define.
9446         * rs6000.c (function_arg_padding): New function.
9447
9448 Tue Dec  9 10:34:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
9449
9450         * m68k.c: Include tree.h only once.
9451
9452 Tue Dec  9 09:32:33 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9453
9454         * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
9455
9456 Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
9457
9458         * Partially cleaned up prototyping code from HJ.
9459         * tree.h: Add many prototypes.
9460         * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
9461         All references changed.
9462         * rtl.h: Protect from multiple inclusions.  Add many prototypes.
9463
9464 Tue Dec  9 01:15:15 1997  Fred Fish  <fnf@ninemoons.com>
9465
9466         * libgcc2.c (string.h): Hoist inclusion to occur before first use of
9467         string functions like strlen.
9468
9469 Tue Dec  9 00:57:38 1997  Manfred Hollstein  <manfred@s-direktnet.de>
9470
9471         * configure.in: Check for functions getrlimit and setrlimit.
9472         * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9473         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9474
9475 Mon Dec  8 23:53:26 1997  Jay Sachs <sachs@bull.cs.williams.edu>
9476
9477         * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
9478
9479 Mon Dec  8 21:03:28 1997  Richard Henderson  <rth@cygnus.com>
9480
9481         * alpha.c (REG_RA, alpha_return_addr, output_epilog):
9482         Fix merge problems.
9483
9484         * alpha.c (override_options): Don't know about scheduling for EV6.
9485         * alpha.md (ev5 function units): Don't overload as ev6.
9486
9487         * alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
9488         * alpha.md (define_attr type): Add mvi.
9489         (ev5_e0): Define sceduling parameters for it.
9490         (TARGET_MAX insns): Type is mvi not shift.
9491
9492 Mon Dec  8 18:15:00 1997  Richard Henderson  <rth@cygnus.com>
9493
9494         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
9495
9496 Mon Dec  8 21:17:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
9497
9498         * cstamp-h, auto-config.h: Delete.
9499
9500 Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
9501
9502         * version.c: Bump for snapshot.
9503
9504 Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
9505
9506         * cccp.c: Fix typo brought over in merge.
9507
9508         * Merge in changes from gcc-2.8.
9509
9510 Mon Nov  3 05:45:32 1997  Philippe De Muyter  <phdm@macqel.be>
9511
9512         * m68k.c: Include tree.h for dwarf2out_cfi_label.
9513
9514         * gcc.c (process_command): Do not take address of function fatal when
9515         calling lang_specific_driver.
9516
9517 Sat Dec  6 01:02:38 1997  Mumit Khan  <khan@xraylith.wisc.edu>
9518
9519         * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
9520         doesn't work with it yet, so set it to 0.
9521         * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
9522
9523 Sat Dec  6 01:01:02 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
9524
9525         * cse.c (cse_insn): Check for invalid entries when taking references.
9526
9527 Fri Dec  5 18:26:25 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
9528
9529         * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
9530         (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
9531         * toplev.c (rest_of_compilation): Pass it.  Remove code to
9532         save / clear / restore flag_unroll_{,all_}loops.
9533
9534 Fri Dec  5 16:26:03 1997  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
9535
9536         * i386.c (notice_update_cc): Remove bogus pentium GCC code.
9537
9538 Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
9539
9540         * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
9541
9542 Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
9543
9544         * except.c (get_dynamic_handler_chain): Only make the call once per
9545         function.
9546
9547         * except.c (expand_end_all_catch): Fix for sjlj exceptions.
9548
9549 Thu Dec  4 12:30:40 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
9550
9551         * sh.c (final_prescan_insn): Use local label prefix
9552         when emitting .uses pseudo-ops.
9553
9554 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
9555
9556         * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
9557         * except.c: Lose outer_context_label_stack.
9558         (expand_eh_region_end): Rethrow from outer_context here.
9559         (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
9560         (expand_internal_throw): Take no args.
9561         (expand_internal_throw_indirect): Lose.
9562         (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
9563         (expand_start_all_catch): Start a rethrow region.
9564         (expand_end_all_catch): End it.
9565         (expand_rethrow): New fn.
9566         * except.h: Reflect above changes.
9567         * flow.c: Revert change of Nov 27.
9568
9569 Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
9570
9571         * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
9572
9573 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
9574
9575         * except.c (expand_fixup_region_end): New fn.
9576         (expand_fixup_region_start): Likewise.
9577         (expand_eh_region_start_tree): Store cleanup into finalization here.
9578         * stmt.c (expand_cleanups): Use them to protect fixups.
9579
9580 Wed Dec  3 11:41:13 1997  Gavin Koch  <gavin@cygnus.com>
9581
9582         * mips/mips.md (muldi3_r4000): Broaden the output template
9583         and attribute assignments to handle three operand dmult;
9584         rename to muldi3_internal2.
9585         (muldi3): Call the new muldi3_internal2 for R4000, and
9586         any GENERATE_MULT3 chip.
9587
9588 Tue Dec  2 19:40:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
9589
9590         * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
9591
9592 Tue Dec  2 12:54:33 1997  Jim Wilson  <wilson@cygnus.com>
9593
9594         * unroll.c (find_splittable_givs):  Remove last change.  Handle givs
9595         with a dest_reg that was created by loop.
9596
9597 Sat Nov 29 12:44:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
9598
9599         * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
9600
9601         * rs6000/aix41.h (ASM_CPU_SPEC): Define.
9602
9603 Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
9604
9605         * configure.in: Fix NCR entries.
9606
9607 Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
9608
9609         * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
9610         nested exceptions correctly.
9611
9612         * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
9613         that was created by loop.
9614
9615 Thu Nov 27 09:34:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
9616
9617         * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
9618
9619         * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
9620
9621 Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>
9622
9623         * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
9624         (print_operand): Use SMALL_DATA_REG for the register involved in
9625         small data relocations.
9626         (print_operand_address): Ditto.
9627
9628         * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
9629         -dynamic linker is not used.
9630
9631         * rs6000.md (call insns): For local calls, use @local suffix under
9632         System V.  Don't use @plt under Solaris.
9633
9634         * rs6000.c (output_function_profiler): Put label address in r0, and
9635         store LR in 4(sp) for System V/eabi.
9636
9637         * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
9638         byte boundary, and maintain stack backchain.
9639
9640 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
9641
9642         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9643         fix_truncsfdi2): Change *.
9644
9645 Wed Nov 26 11:12:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
9646
9647         * toplev.c (main): Complain about -gdwarfn.
9648
9649 Tue Nov 25 22:43:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
9650
9651         * dwarfout.c (output_type): If finalizing, write out nested types
9652         of types we've already written.
9653
9654 Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>
9655
9656         (patches originally from Geoffrey Keating)
9657         * rs6000.c (function_arg): Excess floating point arguments don't
9658         go into GPR registers after exhausting FP registers under the
9659         System V.4 ABI.
9660         (function_arg_partial_nregs): Ditto.
9661
9662         * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
9663         suffix to calls.
9664
9665 Tue Nov 25 23:37:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
9666
9667         * integrate.c (output_inline_function): Just unset DECL_INLINE.
9668
9669 Tue Nov 25 23:33:29 1997  scott snyder  <snyder@d0sgif.fnal.gov>
9670
9671         * dwarf2out.c (outout_call_frame_info): Ensure that the info has
9672         proper alignment.
9673
9674         * libgcc2.c (__throw): Initialize HANDLER.
9675
9676 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
9677
9678         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9679         fix_truncsfdi2): Change *X to ?*X.
9680
9681 Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
9682
9683         * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
9684
9685 Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
9686
9687         * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
9688
9689 Tue Nov 25 01:26:55 1997  Bruno Haible <haible@ilog.fr>:
9690
9691         * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
9692
9693 Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
9694
9695         * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
9696         * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
9697         * expr.h: Likewise.
9698
9699 Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
9700
9701         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
9702         * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
9703         gas and not using the new HP assembler.
9704
9705 Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
9706
9707         * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
9708         (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
9709
9710 Fri Nov 21 19:37:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
9711
9712         * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
9713         TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
9714         definition.
9715
9716 Fri Nov 21 12:49:56 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
9717
9718         * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
9719
9720 Fri Nov 21 12:18:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
9721
9722         * except.h: Add outer_context_label_stack.
9723         * except.c: Likewise.
9724         (expand_start_all_catch): Push the outer_context for the try block
9725         onto outer_context_label_stack.
9726         (expand_end_all_catch): Use it and pop it.
9727
9728 Fri Nov 21 10:13:11 1997  Robert Lipe (robertl@dgii.com)
9729
9730         * i386/sco5.h (HAVE_ATEXIT): Revert last change.
9731
9732 Thu Nov 20 16:11:50 1997  Richard Henderson  <rth@cygnus.com>
9733
9734         * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
9735
9736 Thu Nov 20 16:11:50 1997  Klaus Kaempf  <kkaempf@progis.de>
9737
9738         * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
9739         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
9740
9741 Thu Nov 20 14:42:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
9742
9743         * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
9744         * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
9745         __builtin_delete, and __builtin_vec_delete.
9746
9747         * except.c (output_exception_table): Don't bother with
9748         __EXCEPTION_END__.
9749
9750 Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
9751
9752         * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
9753         is an in/out operand.
9754         (zero extended variants of stwm/stwm patterns): Similarly.
9755
9756         * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
9757
9758 Thu Nov 20 13:19:32 1997  Jason Merrill  <jason@yorick.cygnus.com>
9759
9760         * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
9761         Use assemble_name.
9762         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
9763         (output_call_frame_info): Emit a \n after using it.
9764
9765 Thu Nov 20 00:38:46 1997  Dave Love  <d.love@dl.ac.uk>
9766
9767         * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
9768
9769 Wed Nov 19 12:03:04 1997  Philippe De Muyter  <phdm@macqel.be>
9770
9771         * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
9772         (ASM_OUTPUT_DWARF_VALUE4): New macro.
9773         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
9774         defined.
9775         (output_call_frame_info): Do not output forward label differences
9776         if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
9777         * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
9778
9779 Tue Nov 18 23:03:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
9780
9781         * sh.md (attribute "type"): Add nil.
9782         (movsi_ie): y/y alternative is type nil.
9783         (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
9784         alternatives.
9785         (movsf_ie+1): Delete.
9786
9787 Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
9788
9789         * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
9790         large_int, emit two insns instead of one splitable insn.
9791         * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
9792         from cfa_temp_value, use cfa_offset.  Add assert checking that
9793         cfa_reg is SP.
9794
9795 Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
9796
9797         * cccp.c (deps_output): Properly quote file names for make.
9798
9799 Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
9800
9801         * t-h8300 (MULTILIB_EXCEPTIONS): Define.
9802
9803 Fri Nov  7 15:33:11 1997  Robert Lipe (robertl@dgii.com)
9804
9805         * i386/sco5.h (HAVE_ATEXIT): Delete definition.
9806
9807 Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
9808
9809         * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
9810         return.
9811         (cse_end_of_basic_block): Similarly.
9812
9813 Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
9814
9815         * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
9816         (SELECT_RTX_SECTION): Define.
9817         (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
9818
9819 Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
9820
9821         * Makefile.in (compare, compare-lean): Define $stage for each
9822         shell command.
9823         (gnucompare, gnucompare-lean): Likewise.
9824
9825 Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
9826
9827         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
9828
9829         * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
9830         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
9831
9832 Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
9833
9834         * dwarfout.c (byte_size_attribute):  Add local var upper_bound
9835         and add case to handle STRING_TYPE.
9836         * dwarfout.c (output_string_type_die):  Fix code to generate
9837         correct string length attribute for fixed length strings.
9838         Still needs support for varying length strings.
9839
9840 Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
9841
9842         * toplev.c (get_run_time): Do something sensible for cygwin32.
9843
9844 Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
9845
9846         * expr.c (expand_builtin_setjmp): Set
9847         current_function_has_nonlocal_label.
9848         * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
9849         call-saved registers across calls.
9850
9851         * alpha.md (exception_receiver): Remove.
9852         (nonlocal_goto_receiver_osf): New
9853         (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
9854         (nonlocal_goto_receiver): New, select _osf or _vms.
9855
9856         * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
9857         keep them from being propogated to the object file.
9858         (alpha_write_linkage): Likewise.
9859         * alpha.md (call_vms): Likewise.
9860         (call_value_vms): Likewise.
9861         (unnamed osf call insns): Likewise.
9862
9863         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
9864         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
9865
9866         * alpha.c (call_operand): Any reg is valid for WinNT.
9867         * alpha.md (call_nt, call_value_nt): Don't force address into $27.
9868         (anon nt calls): Add 'R' alternative.
9869         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
9870         INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
9871
9872 Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
9873
9874         * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
9875
9876         * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
9877         * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9878         * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9879
9880 Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
9881
9882         * reload1.c (new_spill_reg): Improve fixed or forbidden register
9883         spill error message.
9884
9885 Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9886
9887         * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
9888         use varargs.h.  Wrap header with <>, not "".
9889
9890 Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
9891
9892         * integrate.c (save_for_inline_copying): Add return value from
9893         savealloc.
9894
9895 Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
9896
9897         * fixincludes: Be a little more restrictive on what we will
9898         substitute to replace definitions of MAXINT for HPUX.
9899
9900 Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
9901
9902         * dbxout.c (dbxout_symbol_location): Don't assume that variables
9903         whose address is the stack or argument pointers are indirect
9904         pointers.
9905
9906 1997-11-13  Paul Eggert  <eggert@twinsun.com>
9907
9908         * cccp.c, cpplib.c (compare_defs):
9909         Don't complain about arg name respellings unless pedantic.
9910         * cpplib.c (compare_defs): Accept pfile as new arg.
9911         All callers changed.
9912
9913 Thu Nov 13 23:33:50 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
9914
9915         * fold-const.c (fold_truthop): Fix bug in last change.
9916
9917 1997-11-13  Paul Eggert  <eggert@twinsun.com>
9918
9919         Fix some confusion with IEEE minus zero.
9920
9921         * real.h (REAL_VALUES_IDENTICAL): New macro.
9922
9923         * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
9924         * fold-const.c (operand_equal_p): Don't consider -0.0 to be
9925         identical to 0.0.
9926         * tree.c (simple_cst_equal): Don't consider -0.0 to have the
9927         same tree structure as 0.0.
9928
9929         * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
9930         macro instead of doing it by hand.
9931
9932 Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
9933
9934         * v850/lib1funcs.asm: Minor whitespace changes.
9935         * v850.c: Fix minor formatting problems in many places.
9936         (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
9937
9938 Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
9939
9940         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
9941         xplus1 when xplus0 is not a register.
9942
9943 Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
9944
9945         * flow.c (find_basic_blocks): During marking phase, if we encounter
9946         an insn with a REG_LABEL note, make the target block live and
9947         create an edge from the insn to the target block.  Do not make
9948         edges from all blocks to the target block.
9949
9950         * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
9951
9952         * confiugre.in: Tweak NCR entries.
9953         * configure: Rebuilt.
9954
9955 Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
9956
9957         * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
9958         pick apart floating point values, instead of using CONST_DOUBLE_LOW
9959         and CONST_DOUBLE_HIGH.
9960
9961         * rs6000.md (define_splits for DF constants): Use the appropriate
9962         REAL_VALUE_* interface to pick apart DF floating point constants in
9963         a machine independent fashion.
9964
9965 Thu Nov 13 00:06:58 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
9966
9967         * fold-const.c (fold_truthop): When changing a one-bit comparison
9968         against zero into a comparison against mask, do a proper sign
9969         extension.
9970
9971 Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
9972
9973         * except.c: Do not include "assert.h".
9974         (save_eh_status): Turn asserts into conditional aborts.
9975         (restore_eh_status, scan_region): Likewise.
9976         * dwarfout.c: Do not include "assert.h".
9977         (bit_offset_attribute): Turn asserts into conditional aborts.
9978         (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
9979         (output_inlined_structure_type_die): Likewise.
9980         (output_inlined_union_type_die): Likewise
9981         (output_tagged_type_instantiation): Likewise.
9982         (dwarfout_file_scope_decl): Likewise.
9983         * dwarf2out.c: Do not include "assert.h"
9984         (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
9985         (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
9986         (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
9987         (add_bit_size_attribute, scope_die_for): Likewise.
9988         (output_pending_types_for_scope): Likewise.
9989         (get_inlined_enumeration_type_die): Likewise.
9990         (get_inlined_structure_type_die): Likewise.
9991         (get_inlined_union_type_die, gen_subprogram_die): Likewise.
9992         (gen_tagged_type_instantiation_die): Likewise.
9993
9994         * flow.c (find_basic_blocks): Refine further to get a more correct
9995         cfg, especially in the presense of exception handling, computed
9996         gotos, and other non-trivial cases.  Call abort if an inaccuracy
9997         is detected in the cfg.
9998
9999 Tue Nov 11 21:47:27 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10000
10001         * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
10002
10003         * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
10004         (skip_white_space): Use whitespace_cr.
10005         (check_newline): Handle whitespace more consistently.
10006
10007 Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
10008
10009         * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
10010         * i386/xm-cygwin32.h (POSIX): Define.
10011
10012 Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
10013
10014         * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
10015         is available elsewhere.
10016
10017 Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
10018
10019         * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
10020         what the instruction can handle.
10021
10022 Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
10023
10024         * stmt.c (expand_decl_cleanup_no_eh): New fn.
10025
10026         * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
10027
10028 Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
10029
10030         * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
10031         (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
10032
10033 Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
10034
10035         * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
10036         swap instruction order.
10037
10038 Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
10039
10040         * fixinc.svr4 (__STDC__): Add another case.
10041
10042 Sun Nov  9 02:00:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10043
10044         * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
10045         addresses in the epilogue delay slot.
10046
10047 Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
10048
10049         * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
10050         in generated `specs' file.
10051
10052 Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
10053
10054         * flags.h (flag_rerun_loop_opt): Declare.
10055         * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
10056         * toplev.c (flag_rerum_loop_opt): Delete static.
10057
10058 Sat Nov  8 18:20:21 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10059
10060         Bring over from FSF:
10061
10062         Thu Oct 30 12:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10063
10064         * va-sh.h (__va_arg_sh1): Define.
10065         (va_arg): Use it.
10066         SH3E doesn't use any integer registers for subsequent arguments
10067         once a non-float value was passed in the stack.
10068         * sh.c (machine_dependent_reorg): If optimizing, put explicit
10069         alignment in front label for ADDR_DIFF_VEC.
10070         * sh.h (PASS_IN_REG_P): Fix SH3E case.
10071         (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
10072
10073         Tue Oct 28 15:06:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10074
10075         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
10076         svr4.h.
10077
10078         Mon Oct 27 16:11:52 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10079
10080         * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
10081         put an use_sfunc_addr before each sfunc.
10082         * sh.md (use_sfunc_addr, dummy_jump): New insns.
10083         (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
10084
10085         Tue Oct 21 07:12:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10086
10087         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
10088
10089 Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
10090
10091         * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
10092         linked once FDEs.
10093
10094 Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
10095
10096         * alias.c (find_base_value): Only return the known base value for
10097         pseudo registers.
10098
10099 Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
10100
10101         * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
10102         * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
10103         to pattern.
10104         (prologue_get_pc_and_set_got): New pattern.
10105
10106 Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
10107
10108         * alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
10109         for SUBREG, just fall through.
10110
10111         * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
10112
10113         * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
10114
10115 Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
10116
10117         * fixincludes: Fix "hypot" prototype in NeXT math.h.
10118
10119         * Makefile.in (USE_ALLOCA): Always include alloca.o.
10120         (USE_HOST_ALLOCA): Likewise.
10121
10122         * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
10123         and LABEL_REFS fields.
10124         * rtl.h (LABEL_REFS): Update.
10125
10126 Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
10127
10128         * combine.c (try_combine): When setting elim_i2, check whether newi2pat
10129         sets i2dest.  When calling distribute_notes for i3dest_killed, pass
10130         elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
10131         sets i1dest.
10132
10133         * mips.md (insv, extzv, extv): Add change_address call.
10134         (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
10135
10136         * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
10137
10138         * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
10139
10140         * mips.c (mips_expand_epilogue): Emit blockage insn before call to
10141         save_restore_insns if no FP and GP will be restored.
10142
10143         * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
10144         Convert CCmode to word_mode before calling GET_MODE_SIZE.
10145
10146         * acconfig.h (HAVE_INTTYPES_H): Undef.
10147         * configure.in (inttypes.h): Check for conflicts between sys/types.h
10148         and inttypes.h, and verify that intmax_t is defined.
10149         * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
10150         * config/mips/x-iris3: Likewise.
10151
10152 Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
10153
10154         * alias.c (find_base_value): When copying arguments, return the
10155         tenative value for a hard register.
10156
10157 Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
10158
10159         * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
10160         (yylex): Record wide strings using target endianness, not host.
10161
10162 Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
10163
10164         * mn10200.h (ASM_OUTPUT_BSS): Delete.
10165         (ASM_OUTPUT_ALIGNED_BSS): New macro
10166         * mn10300.h (ASM_OUTPUT_BSS): Delete.
10167         (ASM_OUTPUT_ALIGNED_BSS): New macro.
10168         * v850.h (ASM_OUTPUT_BSS): Delete.
10169         (ASM_OUTPUT_ALIGNED_BSS): New macro.
10170
10171 Tue Nov  4 00:55:48 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10172
10173         * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
10174
10175 Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
10176
10177         * configure.in (sco5): Use cpio to install header files.
10178
10179 Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10180
10181         * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
10182         14 char length.
10183         * configure: Rebuild.
10184
10185 Sun Nov  2 19:44:00 1997  Robert Lipe (robertl@dgii.com)
10186
10187         * i386/sco5.h: enable -gstabs once again.
10188
10189 Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
10190
10191         * arm.c (output_move_double): Allocate 3 entries in otherops array.
10192
10193 Sat Nov  1 21:43:00 1997  Mike Stump  (mrs@wrs.com)
10194
10195         * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
10196         notes for sjlj exceptions too.
10197         (expand_eh_region_end): Similarly for EH_REGION_END notes.
10198         (exception_optimize): Optimize EH regions for sjlj exceptions too.
10199         * final.c (final_scan_insn): Don't output labels for EH REGION
10200         notes if doing sjlj exceptions.
10201
10202 Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
10203
10204         * alias.c (init_alias_analysis): Handle -fno-alias-check when
10205         optimizing correctly.
10206
10207         * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
10208         or set current_function_calls_setjmp anymore.
10209
10210         * flow.c (find_basic_blocks): If we delete the label for an
10211         exception handler, remove it from the EH label list and remove
10212         the EH_BEGIN/EH_END notes for that EH region.
10213
10214 Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
10215
10216         * flow.c (find_basic_blocks): Generate correct flow control
10217         information when exception handling notes are present.
10218
10219 Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
10220
10221         * dwarf2out.c (output_call_frame_info): Fix length argument
10222         to ASM_OUTPUT_ASCII.
10223         (output_die, output_pubnames, output_line_info): Likewise.
10224
10225 Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
10226
10227         * version.c: Bump for snapshot.
10228
10229         * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
10230         output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
10231         flag_debug_asm is on.
10232         (output_die, output_pubnames, output_line_info): Likewise.
10233
10234         * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
10235         and static_chain_rtx into the potential base values array if
10236         they are registers.
10237
10238         * alias.c (new_reg_base_value): New array of potential base values.
10239         (unique_id): Now file scoped static.
10240         (find_base_value, case REG): Return the value in reg_base_value
10241         array for the REG if it exists.  Else, return the value from
10242         new_reg_base_value if copying args and REG is a hard register.
10243         (find_base_value, case PLUS): If either operand of the PLUS is
10244         a REG, try to get its base value.  Handle base + index and
10245         index + base.
10246         (record_set): Use new_reg_base_value instead of reg_base_value.
10247         (init_alias_analysis): Allocate space for new_reg_base_value too.
10248         Rework code to iterate over the insns propagating base value
10249         information until nothing changes.
10250
10251         * global.c (global_alloc): Free the conflict matrix after
10252         reload has finished.
10253
10254 Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
10255
10256         * libgcc2.c (L_eh): Define __eh_pc.
10257         Replace __eh_type with generic pointer __eh_info.
10258
10259 Fri Oct 31 00:34:55 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
10260
10261         * expr.c (expand_increment): When enqueing a postincrement for a MEM,
10262         use copy_to_reg if address is not a general_operand.
10263
10264 Fri Oct 31 00:16:55 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10265
10266         * profile.c (output_func_start_profiler): Clear flag_inline_functions
10267         for the duration of the call to rest_of_compilation.
10268
10269 Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
10270
10271         * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
10272         Set extra_parts.
10273         (sparc*-*-*): Recognize --with-cpu=v9.
10274         * sparc/elf.h: New file.
10275         * sparc/t-elf: New file.
10276
10277 Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
10278
10279         * mn10300.c (const_8bit_operand): New function.
10280         (mask_ok_for_mem_btst): New funtion.
10281         * mn10300.md (btst patterns with mem operands): Use new functions
10282         to avoid creating btst instructions with invalid operands.
10283
10284 Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
10285
10286         * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
10287         are running on PowerPC Linux.
10288
10289 Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
10290
10291         * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
10292         if not previously defined.
10293
10294 Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
10295
10296         * function.c (assign_parms): Correct mode of stack_parm if
10297         entry_parm underwent a mode conversion.
10298
10299 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
10300
10301         * global.c (global_alloc): Use xmalloc instead of alloca for
10302         CONFLICTS, since max_allocno * allocno_row_words alone can be more
10303         than 2.5Mb sometimes.
10304
10305 Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
10306
10307         * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
10308         DEST for the spill, adjust mode of SRC to compensate.
10309
10310 Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
10311
10312         * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
10313         since any_memory_operand() allows pseudos during reload.
10314         (reload_inhi, reload_outqi, reload_outhi): Likewise.
10315
10316 Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
10317
10318         * m68k.md (btst patterns): Add 5200 support.
10319
10320 Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
10321
10322         * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
10323         optimizations, look inside dividend to determine if the expression
10324         can be simplified by using EXACT_DIV_EXPR.
10325
10326 Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
10327
10328         From Brendan:
10329         * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
10330
10331 Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
10332
10333         * alpha.c (summarize_insn [SUBREG]): Propogate SET.
10334
10335 Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
10336
10337         * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
10338         on a CLOBBER.
10339
10340 Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
10341
10342         * alpha.md (movqi, movhi): Make sure new insns created during reload
10343         won't need reloading themselves.
10344         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
10345
10346 Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
10347
10348         * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
10349
10350 Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
10351
10352         * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
10353         Patch from Klaus Kaempf <kkaempf@progis.de>.
10354
10355 Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
10356
10357         * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
10358         to an element in a constant string.
10359
10360 Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
10361
10362         * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
10363         bit PC-relative offset.  The exception range table pointer is now in
10364         the CIE.
10365         * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
10366         (count_fdes, add_fdes, get_cie): Adjust.
10367         (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
10368
10369         From H.J. Lu:
10370         * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
10371
10372 Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
10373
10374         * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
10375         like stack_pointer_rtx.
10376
10377 Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10378
10379         * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
10380         targets using "$@" to provide support for similar but not identical
10381         targets without having to duplicate code.
10382         (bootstrap4): New goal.
10383
10384         * Makefile.in (compare, compare-lean, compare3): Combined to one
10385         ruleset determining actions to be performed via $@.
10386         (compare4, compare4-lean): New targets.
10387         (gnucompare, gnucompare3): Combined to one ruleset determining
10388         actions to be performed via $@. Also, note which files failed
10389         the comparison test in .bad_compare.
10390         (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
10391
10392 Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
10393
10394         * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
10395         if the dividend is a multiple of the divisor.
10396
10397 Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
10398
10399         * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
10400
10401         * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
10402         and POS_DEC.
10403
10404         * alias.c (true_dependence): Fix typo.
10405
10406         * toplev.c (flag_rerun_loop_opt): New variable.
10407         (f_options): Handle -frerun-loop-opt.
10408         (rest_of_compilation): If -frerun-loop-opt, then run the loop
10409         optimizer twice.
10410         (main): Enable -frerun-loop-opt by default for -O2 or greater.
10411
10412         * loop.c (simplify_giv_expr): Adding two invariants results
10413         in an invariant.
10414
10415 Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
10416
10417         * expr.c (get_inner_reference): Remove the array bias after
10418         converting the index to Pmode.
10419
10420 Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
10421
10422         * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
10423         (TARGET_MULT_BUG): Define.
10424         (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
10425         * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
10426
10427 Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
10428
10429         * mn10200.c (indirect_memory_operand): Delete unused function.
10430         * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
10431         * mn10200.md (bset, bclr insns): Handle output in a reg too.
10432
10433 Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
10434
10435         * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
10436         the callee's ldgp, we must do it ourselves, and we use the jsr tag
10437         for more than scheduling.
10438
10439 Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
10440
10441         * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
10442
10443 Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
10444
10445         * mn10300.c (symbolic_operand, legitimize_address): New functions.
10446         * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
10447         (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
10448
10449 Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
10450
10451         * version.c: Bump for snapshot.
10452
10453 Thu Oct 23 08:03:59 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10454
10455         * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
10456         for FILENAME.
10457
10458 Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
10459
10460         * toplev.c (flag_exceptions): Default value is 2.
10461         (compile_file): If flag_exceptions still has the value 2, then
10462         set it to 0.
10463
10464         * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
10465         (rs6000_save_machine_status): Save pic_offset_table_rtx.
10466         (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
10467
10468         * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
10469         are shared.
10470
10471         * rs6000.md (*movsi_got_internal_mem): New pattern.
10472         (*movsi_got_internal_mem splitter): New define_split.
10473
10474 Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
10475
10476         * obstack.h (obstack_empty_p): Fix spurious space after backslash.
10477
10478 Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
10479
10480         * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
10481         only need to save LR.
10482
10483 Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
10484
10485         * mn10300.md (movqi, movhi): Avoid using address registers as
10486         destinations unless absolutely necessary.
10487
10488         * mn10200.c (expand_prologue): Fix typo.
10489
10490         * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
10491         addresses.
10492         * mn10200.md (neghi2): Provide an alternative which works if
10493         the input and output register are the same.
10494
10495         * mn10300.c (print_operand): Handle 'S'.
10496         * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
10497         shift amount in last alternative
10498
10499         * mn10300.c (expand_epilogue): Rework to handle register restores
10500         in "ret" and "retf" instructions correctly.
10501
10502 Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
10503
10504         * expmed.c (extract_bit_field): Don't make flag_force_mem disable
10505         extzv for memory operands.
10506
10507         * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
10508         redundant conditional moves to single operand.
10509
10510 Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
10511
10512         * v850.h: Move define of __v850__ from CPP_PREDEFINES
10513         to CPP_SPEC.
10514
10515         * xm-v850.h: Use __v850 rather than __v850__ to
10516         identify v850 port.
10517
10518 Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
10519
10520         * mips/mips.c (compute_frame_size): Not a leaf function if
10521         profile_flag set.
10522
10523 Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
10524
10525         * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
10526
10527 Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
10528
10529         * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
10530         (DEFAULT_ARCH32_P): New macro.
10531         (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
10532         (enum cmodel): Declare.
10533         (sparc_cmodel_string,sparc_cmodel): Declare.
10534         (SPARC_DEFAULT_CMODEL): Provide default.
10535         (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
10536         (TARGET_FULLANY): Deleted.
10537         (TARGET_CM_MEDMID): New macro.
10538         (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
10539         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10540         (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
10541         (CPP_SPEC): Rewrite.
10542         (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10543         (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
10544         (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10545         (ASM_SPEC): Add %(asm_arch).
10546         (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
10547         Rename asm_default to asm_cpu_default.
10548         Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
10549         cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
10550         (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
10551         ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
10552         (MASK_INT64,MASK_LONG64): Delete.
10553         (MASK_ARCH64): Renamed to MASK_64BIT.
10554         (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
10555         (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
10556         (TARGET_SWITCHES): Always provide 64 bit options.
10557         (ARCH64_SWITCHES): Delete.
10558         (TARGET_OPTIONS): New option -mcmodel=.
10559         (INT_TYPE_SIZE): Always 32.
10560         (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
10561         (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
10562         (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
10563         (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
10564         * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
10565         CPP_SPEC.
10566         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10567         * sparc/linux.h: Likewise.
10568         * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
10569         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10570         (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
10571         (SPARC_DEFAULT_CMODEL): Define.
10572         (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10573         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10574         (LONG_DOUBLE_TYPE_SIZE): Define.
10575         (ASM_SPEC): Add %(asm_arch).
10576         * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10577         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10578         (TARGET_CPU_DEFAULT): Add ultrasparc case.
10579         * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
10580         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
10581         (SPARC_DEFAULT_CMODEL): Define.
10582         * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
10583         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
10584         MASK_LONG64, MASK_MEDANY.
10585         (SPARC_DEFAULT_CMODEL): Define.
10586         (CPP_PREDEFINES): Delete.
10587         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10588         (ASM_SPEC): Add %(asm_arch).
10589         (LONG_DOUBLE_TYPE_SIZE): Define.
10590         (DWARF2_DEBUGGING_INFO): Define.
10591         * sparc/splet.h (CPP_SPEC): Delete.
10592         * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10593         (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
10594         (BLOCK_PROFILER): Likewise.
10595         * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
10596         (sparc_override_options): Handle code model selection.
10597         (sparc_init_expanders): Renamed from sparc64_init_expanders.
10598         * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
10599         TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
10600         (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
10601         (sethi_di_fullany): Delete.
10602
10603 Mon Oct 20 02:00:18 1997  Klaus Kaempf <kkaempf@progis.de>
10604                           Jeff Law <law@cygnus.com>
10605                           Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10606
10607         * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
10608         (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
10609         (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
10610         (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
10611         * alpha/alpha.md (arg_home): Likewise.
10612
10613         * alpha/alpha.c (vmskrunch): Delete
10614         * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
10615         * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
10616         truncate to 64 characters.
10617
10618         * make-l2.com: Support openVMS/Alpha.
10619
10620         * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
10621
10622 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10623
10624         * longlong.h (count_leading_zeros): Add missing casts to USItype.
10625
10626 Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
10627
10628         * i386/bsd386.h (ASM_COMMENT_START): Define.
10629
10630 Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
10631
10632         * tree.c (restore_tree_status): Also free up temporary storage
10633         when we finish a toplevel function.
10634         (dump_tree_statistics): Print stats for backend obstacks.
10635
10636 Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
10637
10638         * expr.c (use_group_regs): Don't call use_reg for MEMs.
10639
10640 Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
10641
10642         * libgcc2.c (__throw): Don't copy the return address.
10643         * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
10644
10645         * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
10646         * toplev.c (main): Initialize exceptions_via_longjmp.
10647
10648         * tree.c: Add extra_inline_obstacks.
10649         (save_tree_status): Use it.
10650         (restore_tree_status): If this is a toplevel inline obstack and we
10651         didn't want to save anything on it, recycle it.
10652         (print_inline_obstack_statistics): New fn.
10653         * function.c (pop_function_context_from): Pass context to
10654         restore_tree_status.
10655         * obstack.h (obstack_empty_p): New macro.
10656
10657 Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
10658
10659         * i386/freebsd.h (ASM_COMMENT_START): Fix.
10660
10661 Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
10662
10663         * v850.c (ep_memory_offset): New function.
10664         (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
10665
10666         * v850.h (CONST_OK_FOR_*): Add and correct comments.
10667         (CONSTANT_ADDRESS_P): Add comment.
10668         (EXTRA_CONSTRAINT): Define 'U'.
10669         * v850.md: Add comments on bit field instructions.
10670         (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
10671         (lshrsi3): Use N not J constraint.
10672
10673         * v850.md (v850_tst1+1): New define_split for tst1 instruction.
10674
10675         * v850.c (reg_or_0_operand): Call register_operand.
10676         (reg_or_int5_operand): Likewise.
10677         * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
10678         (TARGET_SWITCHES): Add "big-switch".
10679         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
10680         ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
10681         (CASE_DROPS_THROUGH): Comment out.
10682         (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
10683         * v850.md (cmpsi): Delete compare mode.
10684         (casesi): New pattern.
10685
10686         * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
10687         * v850.md (ashlsi3): Use SImode not QImode for shift count.
10688         (lshrsi3): Likewise.
10689
10690         * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
10691         unreachable switch statement after 'b' support.  Remove "b" from
10692         strings for 'b' support.
10693         * v850.md (branch_normal, branch_invert): Change %b to b%b.
10694
10695 Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
10696
10697         * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
10698         empty line if @inhibit_libc@ is empty.
10699
10700 Fri Oct 17 23:24:40 1997  Robert Lipe (robertl@dgii.com)
10701
10702         * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
10703         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
10704         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10705         (DWARF2_UNWIND_INFO): Let this track object file format.
10706         (EXTRA_SECTIONS): Add in_eh.
10707         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
10708         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10709
10710 Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
10711
10712         * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
10713         * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
10714         TARGET_MEDANY.
10715         * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
10716         (output_double_int): Output DI mode values correctly when
10717         HOST_BITS_PER_WIDE_INT is 64.
10718         (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
10719         fmovd so it works if a quad float ends up in one of the upper 32
10720         float regs.
10721         * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
10722         necessary for PIC support on sparc64.
10723
10724 Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
10725
10726         * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
10727         * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
10728         (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
10729         (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
10730         (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
10731         (SPARC_FP_ARG_FIRST): New macro.
10732         (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
10733         (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
10734         (NPARM_REGS): There are 32 fp argument registers now.
10735         (FUNCTION_ARG_REGNO_P): Likewise.
10736         (FIRST_PARM_OFFSET): Update to new v9 abi.
10737         (REG_PARM_STACK_SPACE): Define for arch64.
10738         (enum sparc_arg_class): Delete.
10739         (sparc_arg_count,sparc_n_named_args): Delete.
10740         (struct sparc_args): Redefine and use for arch32 as well as arch64.
10741         (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
10742         (FUNCTION_ARG_ADVANCE): Rewrite.
10743         (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
10744         (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
10745         (FUNCTION_ARG_CALLEE_COPIES): Delete.
10746         (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
10747         (STRICT_ARGUMENT_NAMING): Define.
10748         (doublemove_string): Declare.
10749         * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
10750         (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
10751         (doublemove_string): New function.
10752         (output_move_quad): Clean up some of the arch64 support.
10753         (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
10754         Don't add 8 bytes of reserved space if arch64.
10755         (sparc_builtin_saveregs): Combine arch32/arch64 versions.
10756         (init_cumulative_args): New function.
10757         (function_arg_slotno): New static function.
10758         (function_arg,function_arg_partial_nregs): New functions.
10759         (function_arg_{pass_by_reference,advance}): New functions.
10760         (function_arg_padding): New function.
10761         * ginclude/va-sparc.h: Rewrite v9 support.
10762
10763 Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
10764
10765         * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
10766         for hard regs to determine base and index registers.
10767
10768         * reload.c (debug_reload_to_stream): New function.  Specify stream
10769         into which to write debug info.
10770         (debug_reload): Modify to call debug_reload_to_stream with stderr.
10771
10772 Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
10773
10774         * combine.c (can_combine_p): Don't combine with an asm whose
10775         output is a hard register.
10776
10777 Thu Oct 16 15:43:26 1997  Mike Stump  (mrs@wrs.com)
10778
10779         * c-decl.c (start_struct): Ensure that structs with forward
10780         declarations are in fact packed when -fpack-struct is given.
10781
10782         * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
10783         we are packing a structure.  This allows a structure with only
10784         bytes to be aligned on a byte boundary and have no padding on a
10785         m68k.
10786
10787 Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10788
10789         * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
10790
10791 Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
10792
10793         * alpha.c (alpha_return_addr_rtx): New variable.
10794         (alpha_save_machine_status): New; save it.
10795         (alpha_restore_machine_status): New; restore it.
10796         (alpha_init_expanders): New; clear it.
10797         (alpha_return_addr): New; set it.
10798         (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
10799         is overly conservative, so search the insns explicitly.
10800         (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
10801         (alpha_sa_size [VMS && !VMS]): Likewise.
10802         * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
10803         (INIT_EXPANDERS): New definition.
10804
10805         * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
10806         (output_prolog [!VMS]): Use them.
10807
10808         * alpha.c (output_prolog [!VMS]): Move gp detection to ...
10809         (alpha_does_function_need_gp): ... a new function.  Refine the
10810         CALL_INSN test to just TYPE_JSR.
10811         * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
10812
10813 Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
10814
10815         * version.c: Bump for snapshot.
10816
10817 Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10818
10819         * pa.c (move_operand): Respect -mdisable-indexing.
10820         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
10821
10822 Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
10823
10824         * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
10825         PPC601.
10826         (umulsidi3,umulsi3_highpart): Ditto.
10827         (smulsi3_highpart_no_mq): Add !TARGET_POWER.
10828
10829 Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
10830
10831         * alpha.c (final_prescan_insn): Gut, remove and transform to ...
10832         (alpha_handle_trap_shadows): ... a new function.  Handle the entire
10833         function in one go.  Emit RTL for trapb, instead of printf directly.
10834         (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
10835         (trap_pending): Kill global variable.
10836         (output_epilog): Don't call final_prescan_insn.
10837         (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
10838         * alpha.h (FINAL_PRESCAN_INSN): Remove.
10839         (MACHINE_DEPENENT_REORG): Define.
10840         * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
10841         (trapb): New insn.
10842
10843 Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
10844
10845         Tune Haifa scheduler for Alpha:
10846         * alpha.h (ISSUE_RATE): Define.
10847         * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
10848         EV4 adjustments to EV5.
10849         * alpha.md: Remove all scaling from function unit delays.  Rework
10850         EV5 function units to match the CPU.
10851         (umuldi3_highpart): EV5 added the IMULH insn class.
10852
10853 Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
10854
10855         * pa.c (following_call): Fail if the CALL_INSN is an indirect
10856         call.
10857
10858 Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
10859
10860         * cplus-dem.c (demangle_signature): Don't look for return types on
10861         constructors.  Handle member template constructors.
10862
10863 Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
10864
10865         * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
10866         * tree.h: Declare them.
10867
10868 Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
10869
10870         * configure.in: Handle --with-newlib.
10871         * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
10872
10873         * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
10874
10875 Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
10876
10877         * config/ptx4.h: Fix typo.
10878
10879 Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
10880
10881         * version.c: Bump for snapshot.
10882
10883 Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10884
10885         * aclocal.m4: Substitute INSTALL.
10886         * configure: Re-built.
10887
10888 Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
10889
10890         * integrate.c (save_for_inline_copying): Avoid undefined pointer
10891         operations.
10892         (expand_inline_function): Likewise.
10893
10894         * dwarf2out.c (output_call_frame_info): Reinstate last change
10895         using flag_debug_asm check instead of flag_verbose_asm.
10896
10897 Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
10898
10899         * dwarf2out.c (output_call_frame_info): Remove last change.
10900
10901 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
10902
10903         * frame.c (__frame_state_for): Execute the FDE insns until the
10904         current pc value is strictly bigger than the target pc value.
10905
10906 Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
10907
10908         * regclass.c (init_reg_modes): If we can't find a mode for the
10909         register, use the previous one.
10910
10911 Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
10912
10913         * haifa-sched.c (print_block_visualization): Call fprintf directly,
10914         don't sprintf through an alloca'ed buffer.
10915
10916 Tue Oct  7 10:52:29 1997  Thomas Koenig (ig25@rz.uni-karlsruhe.de)
10917
10918         * reload.c (decompose): Always initialize val.base.
10919
10920 Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
10921
10922         * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
10923         instead of aborting.
10924         * dwarf2out.c (output_call_frame_info): Call app_enable and
10925         app_disable to let GNU as accept the generated comments.
10926
10927 Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
10928
10929         * tree.h (get_file_function_name): Add declaration.
10930         * dwarf2out.c (output_call_frame_info): No need to cast
10931         get_file_function_name call anymore.
10932         * profile.c (toplevel): Remove get_file_function_name
10933         declaration.
10934         * c-lang.c (finish_file): Ditto.
10935
10936 Tue Oct  7 10:01:45 1997  Chip Salzenberg <chip@rio.atlantic.net>
10937
10938         * Makefile.in (program_transform_name): Let autoconf substitute
10939         the correct value.
10940
10941 Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
10942
10943         * haifa-sched.c (schedule_block): If the first real insn in a
10944         block has any special notes attached to it, remove them.
10945
10946 Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
10947
10948         * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
10949
10950 Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
10951
10952         * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
10953
10954 Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
10955
10956         * Makefile.in (check-g77): New test target.
10957         (CHECK-TARGETS): Add check-g77.
10958
10959 Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
10960
10961         * toplev.c (rest_of_compilation): Defer all non-nested inlines.
10962
10963 Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
10964
10965         * flow.c (print_rtl_with_bb): Cast alloca return value for
10966         in_bb_p.
10967
10968 Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
10969
10970         * i386.h (RETURN_ADDR_RTX): New definition that works for
10971         __builtin_return_address(0) and -fomit-frame-pointer.
10972
10973 Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
10974
10975         Bring over from FSF.
10976         Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
10977
10978         * mips.c (function_arg): Handle passing a struct
10979         containing a double in a DFmode register without the PARALLEL.
10980
10981 Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
10982
10983         * pexecute.c: Use spawn if __CYGWIN32__.
10984
10985         * pexecute.c: Include "config.h" first, as per autoconf manual
10986         (from Paul Eggert  <eggert@twinsun.com>).
10987
10988 Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
10989
10990         * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
10991         optimisation for f/expr.o and f/stb.o.
10992
10993 Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
10994
10995         * cse.c (this_insn_cc0_mode): Initialize.
10996
10997 Tue Sep 30 23:09:40 1997  Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
10998
10999         * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
11000
11001         * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
11002
11003 Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
11004
11005         * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
11006         that pair will dual-issue on the 21164 and plus+beq won't.
11007         (bne): Likewise for cmpeq+beq.
11008
11009 Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
11010
11011         * except.c (find_exception_handler_labels): Correct argument to free.
11012
11013 Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
11014
11015         * except.c (find_exception_handler_labels): Free LABELS when we're
11016         done.
11017
11018 Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
11019
11020         * version.c: Bump for snapshot.
11021
11022 Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
11023
11024         * flow.c (find_basic_blocks): Mark calls as potentially jumping
11025         to the EH labels.
11026
11027 Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
11028
11029         * configure.in: Substitute for "install" too.
11030         * configure: Rebuilt.
11031
11032 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
11033
11034         * Makefile.in (bootstrap-lean, compare-lean): New targets.
11035
11036 Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
11037
11038         * alias.c (base_alias_check): Two symbols can conflict if they
11039         are accessed via AND.
11040         (memrefs_conflict_p): Likewise.
11041
11042         * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
11043         after flushing argument registers to the stack.
11044
11045         * Makefile.in (mostlyclean): Remove .regmove files.
11046
11047 Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
11048
11049         * libgcc2.c (__throw): Fix thinko.
11050
11051 Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
11052
11053         * cplus-dem.c (demangle_template): Add new parameter.  Handle new
11054         template-function mangling.
11055         (consume_count_with_underscores): New function.
11056         (demangle_signature): Handle new name-mangling scheme.
11057
11058 Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
11059
11060         * flow.c (print_rtl_with_bb): Cast alloca return values for variables
11061         start and end.
11062
11063 Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
11064
11065         * frame.c: Remove last change.
11066         * dwarf2.h: Remove last change.
11067         * tree.h: Add declarations of DWARF2 unwind info support
11068         functions.
11069
11070 Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
11071
11072         * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
11073         * tree.h (built_in_function): Likewise.
11074         * expr.c (expand_builtin): Likewise.
11075         * except.h: Likewise.
11076         * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
11077         * libgcc2.c (copy_reg): New fn.
11078         (__throw): Use it.
11079
11080 Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
11081
11082         * c-typeck.c (build_binary_op): Warn about comparing signed vs
11083         unsigned if -W is specified and -Wno-sign-compare is not.
11084         * c-decl.c (warn_sign_compare): Initialize to -1.
11085         (c_decode_option): -Wall no longer implies -Wsign-compare.
11086
11087 Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
11088
11089         * frame.c: Include gansidecl.h for PROTO.
11090         * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
11091         defined.  Don't declare dwarf2out_cfi_label here.
11092         * dwarf2.h: Add declarations of DWARF2 unwind info support
11093         functions.
11094         * m68k.c: Include dwarf2.h.
11095         (output_function_prologue): Add dwarf2 support.
11096         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
11097         (INCOMING_FRAME_SP_OFFSET): Likewise.
11098
11099         * integrate.c (expand_inline_function): Make sure there is at
11100         least one insn that can be used as an insertion point.
11101
11102 Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
11103
11104         * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
11105
11106 Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
11107
11108         * version.c: Bump for snapshot.
11109
11110 Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
11111
11112         Bring over from FSF.
11113
11114         Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
11115
11116         * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
11117         (get_pc_via_rdpc): Renamed from get_pc_sp64.
11118         * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
11119
11120         Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
11121
11122         * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
11123         (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
11124         -malign-functions=.
11125         (sparc_align_{loops,jumps,funcs}_string): Declare.
11126         (sparc_align_{loops,jumps,funcs}): Declare.
11127         (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
11128         (FUNCTION_BOUNDARY): Use sparc_align_funcs.
11129         (STACK_BIAS): Define.
11130         (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
11131         test.
11132         (SPARC_SETHI_P): New macro.
11133         (CONST_OK_FOR_LETTER_P): Use it.
11134         (ASM_OUTPUT_ALIGN_CODE): Define.
11135         (ASM_OUTPUT_LOOP_ALIGN): Define.
11136         * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
11137         (sparc_align_{loops,jumps,funcs}): New globals.
11138         (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
11139         -malign-functions=.
11140         (move_operand): Use SPARC_SETHI_P.
11141         (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
11142         perform test.
11143         (arith11_double_operand): Likewise.
11144         (arith10_double_operand): Likewise.
11145         (finalize_pic): Finish sparc64 support.
11146         (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
11147         64 bit constants if able.
11148         (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
11149         (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
11150         ! TARGET_FPU.
11151         * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
11152         (get_pc_sp32): Use for sparc64 as well.
11153         (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
11154         (sethi_di_sp64_const): Likewise.
11155         (movtf_cc_sp64): Check TARGET_HARD_QUAD.
11156         (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
11157         (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
11158
11159         Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
11160
11161         * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
11162         * sparc/linux.h (COMMENT_BEGIN): Likewise.
11163         * sparc/linux64.h (COMMENT_BEGIN): Likewise.
11164
11165         Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
11166
11167         Add sparc64 linux support.
11168         * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
11169         to xm_file list on 32-bit sparc-linux.
11170         * sparc/xm-sp64.h: New file.
11171         * sparc/linux64.h: New file.
11172         * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
11173         Don't include xm-sparc.h.
11174         * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
11175         * glimits.h (LONG_MAX): Handle sparc64.
11176
11177         Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
11178
11179         * sparc/sysv4.h (ASM_COMMENT_START): Delete.
11180         * sparc.h (ASM_COMMENT_START): Define.
11181         * sparc.c (output_function_prologue): Use it.
11182         (sparc_flat_output_function_{epi,pro}logue): Likewise.
11183
11184         Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
11185
11186         * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
11187         use sparc.h's copies.
11188         * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
11189         ascii form as well.
11190
11191         Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11192
11193         * sparc.c (dwarf2out_cfi_label): Add declaration.
11194         (save_regs, output_function_prologue): Remove cast for it.
11195         (sparc_flat_{save_restore,output_function_prologue): Likewise.
11196         ({save,restore}_regs): No longer inline.
11197
11198 Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11199
11200         * fold-const.c (make_range): Correctly handle cases of converting
11201         from unsigned to signed type.
11202
11203 Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
11204
11205         * fold-const.c (merge_ranges): Make sure that if one range is subset
11206         of another, it will always be the second range.  Correct (+,-) case to
11207         account for this.
11208
11209 Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
11210
11211         * final.c (final_end_function): Also do dwarf2 thing if
11212         DWARF2_DEBUGGING_INFO.
11213         (final_start_function): Likewise.
11214
11215 Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
11216
11217         * expmed.c (expand_divmod): If compute_mode is not the same as
11218         mode, handle the case where convert_modes() causes op1 to no
11219         longer be a CONST_INT.
11220
11221         * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
11222         note holding get_jump_flags() calculation to all JUMP_INSNs.
11223         * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
11224         * rtl.c (reg_note_name): Add new note types.
11225
11226 Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
11227
11228         * rtlanal.c (computed_jump_p): Fix typo in last change.
11229
11230 Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
11231
11232         * loop.c (indirect_jump_in_function_p): Return 0
11233         by default.
11234
11235 Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
11236
11237         * rs6000/xm-rs6000.h: Fix thinko in last change.
11238         * rs6000/xm-sysv4.h: Likewise.
11239
11240 Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
11241
11242         * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
11243
11244 Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
11245
11246         * reg-stack.c (find_blocks): Fix thinko in last change.
11247
11248 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
11249
11250         * m68k.c (output_function_prologue): Add dwarf2 support.
11251
11252         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
11253         INCOMING_FRAME_SP_OFFSET): New definitions.
11254
11255 Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
11256
11257         * combine.c (try_combine): Use NULL_RTX instead of '0' where
11258         appropriate in calls to gen_rtx().
11259         * cse.c (cse_main): Likewise.
11260         * emit-rtl.c (gen_label_rtx): Likewise.
11261         * expr.c (init_expr_once): Likewise.
11262         * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
11263         sched_analyze, init_rgn_data_dependences,
11264         compute_block_backward_dependences): Likewise.
11265         * sched.c (schedule_insns): Likewise.
11266         * varasm.c (immed_double_const): Likewise.
11267
11268         * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
11269         SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
11270
11271 Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
11272
11273         * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
11274         (MULTILIB_DEFAULTS): Define.
11275         (ASM_SPEC, CPP_SPEC): Handle -mcoff.
11276         (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
11277         (LIBGCC_SPEC): Likewise.
11278         (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
11279         (SUBTARGET_SWITCHES): Add -mcoff and -melf.
11280         * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
11281         (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
11282         (EXTRA_PARTS, TAROUTOPTS): Delete.
11283         (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
11284         (MULTILIB_OPTIONS): Define.
11285         (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
11286         (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
11287
11288 Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
11289
11290         * version.c: Bump for snapshot.
11291
11292 Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
11293
11294         * loop.c (loop_number): Delete function.  Change all references
11295         to use uid_loop_num array.
11296         * loop.h (loop_number): Delete declaration.
11297         * unroll.c (unroll_loop): Change "loop_number" references to
11298         use uid_loop_num instead.
11299
11300         * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
11301         conditional.
11302         (loop_unroll_iter): Remove unused variable and all references.
11303         (loop_optimize): Always allocate and clear space for loop_unroll_factor.
11304         (insert_bct): Fix minor formatting problems.
11305         * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
11306         (loop_unroll_iter): Removed unused decl.
11307         * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
11308         Always record the unrolling factor.
11309
11310         * cse.c (simplify_relational_operation): Set h0u just like h0s.
11311         Similarly for h1u and h1s.
11312
11313         * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
11314         (find_basic_blocks): Use computed_jump_p to determine if a
11315         particular JUMP_INSN is a computed jump.
11316         * reg-stack.c (find_blocks): Use computed_jump_p to determine
11317         if a particular JUMP_INSN is a computed jump.
11318         * rtlanal.c (jmp_uses_reg_or_mem): New function.
11319         (computed_jump_p): Likewise.
11320         * rtl.h (computed_jump_p): Declare.
11321         * genattrtab.c (pc_rtx): Define and initialize.
11322         * loop.c (loop_optimize): Always determine if the current
11323         function has a computed jump.
11324         (indirect_jump_in_function_p): Use computed_jump_p to determine
11325         if a particular JUMP_INSN is a computed jump.
11326
11327         * loop.c (fix_bct_param): Delete unused function.
11328         (check_bct_param): Likewise.
11329
11330 Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
11331
11332         * frame.c (__deregister_frame): Check properly for initialized object.
11333
11334 Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
11335
11336         * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
11337
11338 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11339
11340         * jump.c (thread_jumps): check can_reverse_comparison_p before
11341         threading a reversed-condition jump.
11342
11343         * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
11344         * haifa-sched.c (update_flow_info): Likewise.
11345
11346 Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
11347
11348         * Makefile.in (BOOT_CFLAGS): Use -O2.
11349
11350         * configure.in (strtoul, bsearch): Have autoconf check for these
11351         functions.
11352         * configure, config.in: Rebuilt.
11353
11354         * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
11355         * mips/mips.h (alloca): Likewise.
11356         * rs6000/xm-rs6000.h (alloca): Likewise.
11357         * rs6000/xm-sysv4.h: Likewise.
11358
11359 Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
11360
11361         * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
11362         * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
11363         (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
11364
11365         * except.c (end_eh_unwinder): Subtract 1 from return address.
11366         * libgcc2.c (__throw): Likewise.
11367         (find_exception_handler): Don't change PC here.  Compare end with >.
11368
11369 Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
11370
11371         * v850.c (compute_register_save_size): Correct register
11372         number.
11373         * v850.md (save_interrupt, return_interrupt): Correct
11374         register number.
11375         * v850/lib1funcs.asm (save_interrupt): Correct register number.
11376         (return_interrupt): Use stack pointer, not element pointer.
11377
11378 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
11379
11380         * configure.in, configure: Make sure to create the stage* and include
11381         symbolic links in each subdirectory.
11382
11383 Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
11384
11385         * pa.md (reload_peepholes): Don't allow addresses with side
11386         effects for the memory operand.
11387
11388 Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
11389
11390         * libgcc2.c (find_exception_handler): Subtract one from our PC when
11391         looking for a handler, to avoid hitting the beginning of the next
11392         region.
11393
11394         * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
11395
11396 Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
11397
11398         * mips/abi64.h (LONG_MAX_SPEC): Define.
11399         * mips.h (LONG_MAX_SPEC): Define.
11400         (CPP_SPEC): Include long_max_spec.
11401         (EXTRA_SPECS): Include long_max_spec.
11402
11403 Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
11404
11405         * v850.c (construct_save_jarl): Fix thinko in last change.
11406
11407 Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
11408
11409         * version.c: Bump for snapshot.
11410
11411 Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
11412
11413         * libgcc2.c (find_exception_handler): Not found is -1.
11414
11415         * integrate.c (expand_inline_function): Move expand_start_bindings
11416         after expanding the arguments.
11417
11418 Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
11419
11420         * expr.c (expand_expr): Remove previous incorrect change.
11421         If target and slot has no DECL_RTL, then call mark_addressable
11422         again for the slot after we give it RTL.
11423
11424 Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
11425
11426         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
11427         again for the slot after we give it RTL.
11428
11429 Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
11430
11431         * v850.c (register_is_ok_for_epilogue,
11432         pattern_is_ok_for_epilogue, construct_restore_jr,
11433         pattern_is_ok_for_prologue, construct_save_jarl): New functions.
11434
11435         * v850.h (pattern_is_ok_for_prologue,
11436         pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
11437         predicates.
11438
11439         * v850.md: Replace prologue and epilogue patterns with a
11440         match_parallel pattern.
11441
11442 Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
11443
11444         * aclocal.m4: Add replacement for AC_PROG_INSTALL.
11445         * configure.in: Use EGCS_PROG_INSTALL.
11446
11447 Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
11448
11449         * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
11450         extern inline function.
11451
11452 Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
11453
11454         * dwarf2out.c (reg_loc_descriptor): Fix prototype.
11455         (concat_loc_descriptor): New function.
11456         (loc_descriptor): Call it.
11457         (add_AT_location_description): Also elide the descriptor if both
11458         halves of a CONCAT are pseudos.
11459         (add_location_or_const_value_attribute): Recognize CONCAT too.
11460
11461 Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
11462
11463         * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
11464
11465         * alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
11466         out-or-range reg_offset.
11467         (output_epilog): Likewise.
11468
11469 Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
11470
11471         * cse.c (simplify_relational_operation): If MODE specifies a
11472         mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
11473         is derived from the sign bit of the low word.
11474
11475 Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
11476
11477         Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
11478
11479         * dwarf2.h: Add DW_CFA_GNU_args_size.
11480         * frame.c (execute_cfa_insn): Likewise.
11481         * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
11482         (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
11483         (dwarf2out_frame_debug): If this isn't a prologue or epilogue
11484         insn, hand it off to dwarf2out_stack_adjust.
11485         (dwarf2out_begin_prologue): Initialize args_size.
11486         * frame.h (struct frame_state): Add args_size.
11487         * libgcc2.c (__throw): Use args_size.
11488         * final.c (final_scan_insn): If we push args, hand off all insns
11489         to dwarf2out_frame_debug.
11490         * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
11491
11492         * dwarf2out.c dwarf2out_frame_debug): Fix typo.
11493         Handle epilogue restore of SP from FP.
11494         * emit-rtl.c (gen_sequence): Still generate a sequence if the
11495         lone insn has RTX_FRAME_RELATED_P set.
11496
11497         * frame.c (extract_cie_info): Handle "e" augmentation.
11498         * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
11499         absence of UNALIGNED_*_ASM_OP.
11500         (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
11501         (output_call_frame_info): Use "e" instead of "z" for augmentation.
11502         Don't emit augmentation fields length.
11503         (dwarf2out_do_frame): Move outside of #ifdefs.
11504         * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
11505         opcodes.
11506
11507         * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
11508         * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
11509         * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
11510         * sparc/sun4gas.h: New file.
11511         * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
11512
11513         * collect2.c (write_c_file_stat, write_c_file_glob): Declare
11514         __register_frame_table and __deregister_frame.
11515
11516 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
11517
11518         * except.c (find_exception_handler_labels): Use xmalloc instead of
11519         alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
11520         in some cases.
11521
11522 Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
11523
11524         * Makefile.in: Various changes to build info files
11525         in the object tree rather than the source tree.
11526
11527 Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
11528
11529         * fixinc.math: New file to fix math.h on some systems.
11530         * configure.in (freebsd, netbsd): Use fixinc.math on these
11531         systems.
11532         * configure: Rebuilt.
11533
11534 Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
11535
11536         * regmove.c (regmove_optimize): If we end up moving the
11537         original insn due to lifetime overlaps, make sure to move
11538         REG_NOTES too.
11539
11540 Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
11541
11542         * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
11543
11544 Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
11545
11546         * haifa-sched.c (add_branch_dependences): Make each insn in
11547         a SCHED_GROUP_P block explicitly depend on the previous insn.
11548
11549 Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
11550
11551         * except.h: Prototype dwarf2 hooks.
11552         * expr.c: Adjust.
11553
11554 Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
11555
11556         * configure.in (native_prefix): Delete.
11557         (mips-dec-netbsd): Don't set prefix.
11558         (*linux*): Don't set prefix.
11559
11560 Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
11561
11562         * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
11563         defined.  If not defined, include <sys/varargs.h> if
11564         HAVE_SYS_VARARGS_H is defined.
11565         * configure.in: Test for varargs.h and sys/varargs.h.
11566         * configure: Regenerate with autoconf.
11567         * config.in: Regenerate with autoheader.
11568
11569         * cpplib.c (quote_string): Cast first arg of sprintf call
11570         from "unsigned char *" to "char *".
11571         (output_line_command): Ditto.
11572         (macroexpand): Ditto.
11573         (do_line): Cast atoi arg from "unsigned char *" to "char *".
11574
11575 Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
11576
11577         * version.c: Bump for snapshot.
11578
11579         * Makefile.in (compare): Exit with nonzero status if there
11580         are comparison failures.  Note which files failed the
11581         comparison test in .bad_compare.
11582
11583 Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
11584
11585         * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
11586
11587 Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
11588
11589         * Makefile.in (LN, LN_S): New macros, use where appropriate.
11590         * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
11591         * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
11592         * configure: Regenerated.
11593
11594 Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
11595
11596         * loop.c (strength_reduce): Fix typo.
11597
11598 Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
11599
11600         * m88k/m88k.c (struct option): Rename to struct options.
11601         * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
11602         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
11603         * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
11604         __DOLPHIN__ or sysV88.
11605
11606 Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
11607
11608         * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
11609         create new subreg.
11610
11611 Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
11612
11613         * config.sub: Accept 'amigados' for backward compatability.
11614
11615 Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
11616
11617         * Makefile.in (testsuite/site.exp): New target.
11618         (check-gcc, check-g++): Depend on testsuite/site.exp.
11619         Don't stop for failure.
11620
11621 Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
11622
11623         * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
11624         if DWARF2_UNWIND_INFO.
11625
11626 Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
11627
11628         Add support for exception handling using DWARF 2 frame unwind info.
11629         Currently works on SPARC and MIPS, and almost on x86.
11630
11631         * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
11632         next_stack_level, in_reg_window): Helper fns.
11633         (__throw): Implement for DWARF2_UNWIND_INFO.
11634
11635         * expr.c (expand_builtin): Handle builtins used by __throw.
11636         * tree.h (enum built_in_function): Add builtins used by __throw.
11637         * c-decl.c (init_decl_processing): Declare builtins used by __throw.
11638         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
11639         * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
11640         (expand_builtin_extract_return_addr): Likewise.
11641         (expand_builtin_frob_return_addr): Likewise.
11642         (expand_builtin_set_return_addr_reg): Likewise.
11643         (expand_builtin_eh_stub): Likewise.
11644         (expand_builtin_set_eh_regs): Likewise.
11645         (eh_regs): Choose two call-clobbered registers for passing back values.
11646
11647         * frame.c, frame.h: New files for parsing dwarf 2 frame info.
11648         * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
11649         (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
11650         (stmp-multilib): Likewise.
11651         ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
11652
11653         * except.c: #include "defaults.h".
11654         (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
11655         (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
11656         (register_exception_table_p): New fn.
11657         (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
11658         (end_eh_unwinder): Likewise.
11659
11660         * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
11661         call __register_frame and __deregister_frame as needed.
11662         * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
11663         * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
11664         EH_FRAME_SECTION_ASM_OP.
11665         * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
11666         * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
11667         (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
11668
11669         * dwarf2out.c (output_call_frame_info): If no support for
11670         EXCEPTION_SECTION, mark the start of the frame info with a
11671         collectable tag.
11672         * collect2.c (frame_tables): New list.
11673         (is_ctor_dtor): Recognise frame entries.
11674         (scan_prog_file): Likewise.
11675         (main): Pass -fno-exceptions to sub-compile.  Also do collection
11676         if there are any frame entries.
11677         (write_c_file_stat): Call __register_frame_table and
11678         __deregister_frame as needed.
11679         (write_c_file_glob): Likewise.
11680
11681         * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
11682         Also require unaligned reloc support.
11683         * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11684         UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
11685         * sparc/sysv4.h: Not here.
11686
11687         * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
11688         * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
11689         (dwarf2out_finish): Don't call dwarf2out_frame_finish.
11690
11691         * libgcc2.c (L_eh): Reorganize, moving code shared by different
11692         EH implementations to the top.
11693         (find_exception_handler): Split out.  Start from 0.  Compare against
11694         end with >=.
11695         (__find_first_exception_table_match): Use it.
11696         * except.c (output_exception_table): Don't do anything if there's
11697         no table.  Don't output a first entry of zeroes.
11698         (eh_outer_context): Adjust properly.
11699         (add_eh_table_entry): Use xrealloc.
11700         * toplev.c (compile_file): Just call output_exception_table.
11701
11702 Wed Sep 10  11:30:36 1997  Jason Merrill  <jason@cygnus.com>
11703
11704         * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
11705
11706 Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
11707
11708         * except.c (eh_outer_context): Do masking using expand_and.
11709
11710 Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
11711
11712         Add port done awhile ago for the ARC cpu.
11713         * arc/arc.h: New file.
11714         * arc/arc.c: New file.
11715         * arc/arc.md: New file.
11716         * arc/initfini.c: New file.
11717         * arc/lib1funcs.asm: New file.
11718         * arc/t-arc: New file.
11719         * arc/xm-arc.h: New file.
11720         * ginclude/va-arc.h: New file.
11721         * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
11722         * ginclude/varargs.h: Likewise.
11723         * Makefile.in (USER_H): Add va-arc.h.
11724         * configure.in (arc-*-elf*): Recognize.
11725         * longlong.h: Add ARC support.
11726
11727 Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
11728
11729         * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
11730         when clearing non-BLKmode data.
11731
11732 Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
11733
11734         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
11735         * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
11736
11737         * xm-m88k.h (USG): Only define if it hasn't already been defined.
11738
11739         * Makefile.in (risky-stage1): Delete gratutious whitespace.
11740
11741         * Makefile.in (clean): Delete libgcc1-test.
11742
11743         * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
11744
11745 Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
11746
11747         * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
11748         template.
11749
11750 Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11751
11752         * dwarf2out.c (output_call_frame_info): Call named_section.
11753
11754 Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
11755
11756         * haifa-sched.c (print_value): Fix last change.
11757
11758 Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
11759
11760         * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
11761         write_symbols.
11762
11763 Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
11764
11765         * mips.c (function_prologue): Set up the CFA when ABI_32.
11766
11767         * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
11768         for dwarf2 unwind info.
11769         (output_function_prologue, sparc_flat_output_function_prologue): Same.
11770
11771         * final.c (final_end_function): Check dwarf2out_do_frame instead
11772         of DWARF2_DEBUG for dwarf2 unwind info.
11773         (final_scan_insn): Likewise.
11774         (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
11775         (final): Not here.
11776
11777         * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
11778         count > 0.
11779
11780         * varasm.c (exception_section): Check EXCEPTION_SECTION first.
11781
11782 Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
11783
11784         * v850.h (ASM_SPEC): Pass on target processor.
11785         (CPP_PREDEFINES): Only define if not already specified.
11786         (TARGET_VERSION): Only define if not already specified.
11787         (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
11788         processor.
11789         (EXTRA_SWITCHES): Extra entries in the switches array.
11790         (TARGET_DEFAULT): Set default target processor.
11791
11792 Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
11793
11794         * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
11795         cases, add %# and %/, and add : to make them into extended asms.
11796
11797 Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
11798
11799         * alias.c (init_alias_analysis): Clean up incompatible pointer
11800         type warning in bzero.
11801         * regmove.c (regmove_optimize): Ditto.
11802         * haifa-sched.c (find_rgns): Ditto.
11803
11804         * haifa-sched.c (print_value): Clean up ptr->int cast
11805         warnings.
11806
11807 Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
11808
11809         * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
11810         * install.texi (Configurations): Ditto.
11811         * config.sub: Ditto.
11812
11813 Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
11814
11815         * Makefile.in (sdbout.o): Depend on insn-config.h.
11816
11817 Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
11818
11819         * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
11820         For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
11821
11822 Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
11823
11824         * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
11825         prologue insn, only the first elt is significant.
11826         (output_call_frame_info): For exception handling, always use 4-byte
11827         fields as specified by the dwarf2 spec.
11828         Don't skip trivial FDEs.
11829
11830 Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
11831
11832         * version.c: Bump for snapshot.
11833
11834 Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
11835
11836         * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
11837         for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
11838         when op1_is_pow2.
11839
11840 Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
11841
11842         * final.c (shorten_branches): During first pass, assume worst
11843         possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
11844
11845         * Makefile.in (distclean): Remove various things left around
11846         by running the testsuite.
11847
11848 Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
11849
11850         * configure.in (out_file): Emit definition to config.status in order
11851         to have a defined value for configure.lang.
11852         * configure: Re-built.
11853
11854 Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
11855
11856         * configure.in: Make symlink to as-new rather than as.new.  Similarly
11857         for ld-new.
11858         * configure: Rebuilt.
11859
11860 Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
11861
11862         * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
11863
11864 Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
11865
11866         * sparc/sparc.md: Add ultrasparc scheduling support.
11867         * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
11868
11869 Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
11870
11871         * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
11872         as initial value for real_label_map.
11873         (copy_for_inline): Likewise.
11874
11875 Fri Sep  5 13:36:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11876
11877         * sched.c (update_flow_info) When looking if to set found_split_dest
11878         or found_orig_dest, look at all parts of a PARALLEL.
11879         * haifa-sched.c (update_flow_info): Likewise.
11880
11881 Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
11882
11883         * v850: New directory for v850 port.
11884         * v850/lib1funcs.asm: New file.
11885         * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
11886         * ginclude/va-v850.h: New file.
11887         * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
11888         * configure.in (mn10200-*-*): New target.
11889         * configure: Rebuilt.
11890         * config.sub: Handle v850-elf.
11891         * Makefile.in (USER_H): Add va-mn10200.h.
11892         * invoke.texi: Document v850 stuff.
11893
11894 Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
11895
11896         * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
11897         has integer TYPE_{MAX,MIN}_VALUE before using them.
11898
11899         * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
11900         __HPUX_ASM__ versions.
11901
11902 Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
11903
11904         * install.sh: Delete duplicate install script.
11905
11906 Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
11907
11908         * reg-stack.c (subst_stack_regs): Pop the stack register for a
11909         computed goto which sets the same stack register.
11910
11911         * reg-stack.c (compare_for_stack_reg): Swap only if the source and
11912         destination are both on the regstack.
11913         (subst_stack_regs_pat): Put the destination at the top of the regstack.
11914
11915 Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
11916
11917         * mips.md (nonlocal_goto_receiver): Define.
11918
11919         * profile.c (output_arc_profiler): Check next_insert_after for non
11920         NULL before deferencing it.
11921
11922         * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
11923
11924 Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
11925
11926         * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
11927
11928 Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
11929
11930         * toplev.c (rest_of_compilation): For passes starting with
11931         flow_analysis, use print_rtl_with_bb instead of print_rtl.
11932
11933         * print-rtl.c (print_rtl_single): Print a single rtl value to a
11934         file.
11935
11936         * flow.c (print_rtl_with_bb): Print which insns start and end
11937         basic blocks.  For the start of a basic block, also print the live
11938         information.
11939
11940 Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
11941
11942         * toplev.c (main): Change #elif to #else/#ifdef
11943
11944         * tlink.c: Include ctype.h.
11945         * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
11946
11947 Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
11948
11949         * bitmap.c: Conditionally include stdlib.h.
11950         (free): Provide a declaration if NEED_DECLARATION_FREE.
11951
11952 Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
11953
11954         * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
11955
11956 Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
11957
11958         * profile.c (output_arc_profiler): Verify next_insert_after is an
11959         INSN before and after skipping a stack pop.
11960
11961 Thu Sep  4 07:39:19 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11962
11963         * final.c (shorten_branches): Don't count the lengths of deleted
11964         instructions.
11965
11966 Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
11967
11968         * version.c: Bump for snapshot.
11969
11970 Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
11971
11972         * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
11973         two bitmaps ANDed together.
11974         (bitmap_print): Declare.
11975
11976         * bitmap.c (function_obstack): Don't declare any more.
11977         (bitmap_obstack): Obstack for allocating links from.
11978         (bitmap_obstack_init): New static to say whether to initialize
11979         bitmap_obstack.
11980         (bitmap_element_allocate): Use bitmap_obstack to allocate from.
11981         (bitmap_release_memory): Free all memory allocated from
11982         bitmap_obstack.
11983
11984         * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
11985         EXECUTE_IF_AND_IN_BITMAP.
11986
11987 Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
11988
11989         * alias.c (true_dependence): Address with AND can alias scalars.
11990         (anti_dependence, output_dependence): Likewise.
11991
11992         * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
11993
11994 Wed Sep  3 09:28:50 CDT 1997  Joel Sherrill (joel@OARcorp.com)
11995
11996         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
11997           mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
11998           sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
11999           definitions.  Use -qrtems instead of -mrtems.
12000
12001 Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
12002
12003         * xm-sco5.h (sys_siglist): Define.
12004         (SYS_SIGLIST_DECLARED): Likewise.
12005
12006 Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
12007
12008         * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
12009
12010 Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
12011
12012         * except.c (eh_outer_context): Expand masking operation using
12013         expand_binop.
12014
12015 Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
12016
12017         * alpha.md (floatdisf2-1): New pattern.
12018
12019 Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
12020
12021         * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
12022         * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
12023         * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
12024         * gcc.texi: Note that if you define sys_siglist that you should
12025         also define SYS_SIGLIST_DECLARED.
12026
12027         * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
12028         are relative to the next instruction, not the current instruction.
12029
12030 Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
12031
12032         * local-alloc.c (contains_replace_regs): New function.
12033         (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
12034         verify that there is no existing REG_EQUIV note, and add a call to
12035         contains_place_regs.
12036
12037 Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12038
12039         * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
12040         (STARTFILE_SPEC): Always use crtbegin.o%s
12041         (ENDFILE_SPEC): Always use crtend.o%s.
12042
12043 Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
12044
12045         * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
12046         is passed in.
12047         * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
12048         SFmode for 64 bit hosts.
12049
12050 Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
12051
12052         * fixincludes: Permits spaces between # and define.  Discard C++
12053         comments in sys/pci.h on HP/UX 10.20.
12054
12055 Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
12056
12057         * version.c: Bump for snapshot.
12058
12059         * pa.c (restore_unscaled_index_insn_codes): New function.
12060         (record_unscaled_index_insn_codes): Likewise.
12061         (output_function_prologue): Call restore_unscaled_index_insn_codes.
12062         (output_function_epilogue): Free memory for unscaled_index_insn_codes.
12063         (pa_reorg): Call record_unscaled_index_insn_codes.
12064
12065         * haifa-sched.c (move_insn): Handle notes correctly for insns
12066         with SCHED_GROUP_P set.
12067
12068 Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12069
12070         * alpha/xm-linux.h (USE_BFD): Undef before define.
12071
12072 Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
12073
12074         * cse.c (cse_insn): Don't record BLKmode values.
12075
12076 Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
12077
12078         * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
12079
12080 Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
12081
12082         * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
12083         * collect2.c (sys_errlist): Likewise.
12084         * cpplib.c (sys_errlist): Likewise.
12085         * gcc.c (sys_errlist): Likewise.
12086         * protoize (sys_errlist): Likewise.
12087         * configure.in: Check for strerror.
12088         * xm-freebsd.h (HAVE_STRERROR): Remove definition.
12089         * xm-gnu.h (HAVE_STRERROR): Likewise.
12090         * xm-linux.h (HAVE_STRERROR): Likewise.
12091         * xm-netbsd.h (HAVE_STRERROR): Likewise.
12092         * xm-bsd386.h (HAVE_STRERROR): Likewise.
12093         * xm-cygwin32.h (HAVE_STRERROR): Likewise.
12094         * xm-dos.h (HAVE_STRERROR): Likewise.
12095         * xm-mingw32.h (HAVE_STRERROR): Likewise.
12096         * xm-pa.h (HAVE_STRERROR): Likewise.
12097         * xm-papro.h (HAVE_STRERROR): Likewise.
12098         * xm-sysv4.h (HAVE_STRERROR): Likewise.
12099         * configure, config.in: Rebuilt.
12100
12101         * Makefile.in: Add several missing "else true" clauses.
12102
12103         * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
12104         * mips-tfile.c: Likewise.
12105         * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
12106         * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
12107         * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
12108         * configure.in: Check for sys_siglist declaration.
12109         * configure, config.in: Rebuilt.
12110
12111 Mon Sep  1 08:04:07 1997  Joel Sherrill (joel@OARcorp.com)
12112
12113         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
12114         m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
12115         sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
12116         * i960/i960.h: Added SUBTARGET_SWITCHES macro.
12117         * rs6000/sysv4.h (extra_subtarget_switches): Added new
12118         macro EXTRA_SUBTARGET_SWITCHES.
12119         * configure.in (sh*-*-rtems*): New target.
12120         * sh/rtems.h: New file.
12121         * sh/sh.h: Added SUBTARGET_SWITCHES macro.
12122         * configure: Rebuilt.
12123
12124 Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
12125
12126         * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
12127
12128 Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
12129
12130         * rs6000.md: Make DF fused-add operations pay attention to
12131         -mno-fused-add.
12132
12133 Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
12134
12135         * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
12136
12137 Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
12138
12139         * pa.md (reload_peepholes): Make sure operand is a REG before
12140         examining REGNO.  Allow general registers too.
12141
12142 Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
12143
12144         * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
12145
12146 Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
12147
12148         * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
12149         to reallocate abbrev_die_table.
12150
12151 Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
12152
12153         * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
12154
12155 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
12156
12157         * Makefile.in (config.status): Depend on version.c
12158
12159         * expr.h (insn_gen_function): Reenable prototype.
12160
12161         * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
12162         first parameter.
12163
12164 Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
12165
12166         * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
12167
12168 Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
12169
12170         * version.c: Bump for latest snapshot.
12171
12172         * bc-optab.c: Conditionally include stdlib.h.
12173         (free): Provide a declaration if NEED_DECLARATION_FREE.
12174         * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
12175         * rtl.h (free): Remove declaration.
12176         * tree.h (free): Remvoe declaration.
12177
12178         * configure: Rebuilt.
12179
12180 Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
12181
12182         * flags.h (flag_move_all_movables): Declare.
12183         (flag_reduce_all_givs): Likewise.
12184         * loop.c (move_movables): Handle flag_move_all_movables.
12185         (strength_reduce): Handle flag_reduce_all_givs.
12186         * toplev.c (flag_move_all_movables): Define.
12187         (flag_reduce_all_givs): Likewise.
12188         (f_options): Add -fmove-all-movables and -freduce-all-givs.
12189         * invoke.texi: Document new options, including alias stuff that
12190         wasn't included last time.
12191
12192 Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
12193
12194         * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
12195         * t-mn10200: Ditto.
12196         * t-vxsparc: Ditto.
12197         * t-vxworks68: Ditto.
12198         * t-vxworks960: Ditto.
12199         * t-vx29k: Ditto.
12200
12201 Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
12202
12203         * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
12204         if not already defined, and USE_C_ALLOCA not defined.
12205
12206 Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
12207
12208         * config.guess: Replace with script that uses ../config.guess.
12209
12210         * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
12211         if USE_GNULIBC_1 is not defined.
12212
12213 Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
12214
12215         * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
12216         * config.guess: Recognize alpha-linux-gnulibc1.
12217         * configure.in (alpha-*-linux-gnulibc1): New target.
12218         (alpha-*-linux-gnu*): Don't build crtbegin/end.
12219
12220 Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
12221
12222         * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
12223         last change.
12224
12225 Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
12226
12227         * loop.c (combine_movables): Earlier insns don't match later ones.
12228
12229 Wed Aug 27 01:24:25 1997  H.J. Lu   (hjl@gnu.ai.mit.edu)
12230
12231         * config/linux.h (CC1_SPEC): Define it only if not defined.
12232
12233         * config/m68k/linux.h (CC1_SPEC): Undefine it before include
12234         <linux.h>
12235
12236         * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
12237         USE_GNULIBC_1 is not defined.
12238
12239         * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
12240
12241         * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
12242         as 1 if USE_GNULIBC_1 is not defined.
12243
12244 Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
12245
12246         * reorg.c (dbr_schedule): Allow current_function_return_rtx
12247         to be something other than a REG.
12248         * function.c (expand_function_end): Fix current_function_return_rtx
12249         if it was a pseudo.
12250
12251         * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
12252         * x-netbsd: Likewise
12253         * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
12254         (INSTALL_HEADERS): Delete.
12255         * x-dguxbcs: Likewise.
12256         * x-hp3bsd44: Likewise
12257         * x-pa: Likewise.
12258
12259 Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12260
12261         * i386.md (pop): pop increments the stack pointer.
12262         (prologue_set_stack_ptr): New pattern.
12263         * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
12264         instead of subsi3.
12265
12266 Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
12267
12268         * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
12269         address where an offsettable address is required.
12270
12271 Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
12272
12273         * loop.c (check_final_value): Don't miss a biv increment in a
12274         parallel.
12275
12276 Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
12277
12278         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
12279         TYPE_DECL_IS_STUB instead of DECL_NAME.
12280
12281 Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12282
12283         * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
12284
12285 Mon Aug 25 23:27:10 1997  Jim Meyering <meyering@eng.ascend.com>
12286
12287         * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
12288
12289 Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
12290
12291         * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
12292         (find_post_sched_live): Likewise.
12293
12294         * haifa-sched.c (schedule_block): Remove old code to get arguments
12295         from hard regs into pseudos early.
12296
12297 Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
12298
12299         * version.c: Bump for new snapshot.
12300
12301         * local-alloc.c (update_equiv_regs): All the target to reject
12302         promotion of some REG_EQUAL to REG_EQUIV notes.
12303         * pa.h (DONT_RECORD_EQUIVALENCE): Define.
12304
12305         * pa.c (secondary_reload_class): (mem (mem ... )) does not need
12306         secondary reloads.
12307
12308         * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
12309         store of the argument registers.
12310
12311 Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
12312
12313         * fold-const.c (multiple_of_p): New function.
12314         (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
12315
12316 Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
12317
12318         * expr.h (insn_gen_function): Temporarily remove prototype.
12319
12320 Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
12321
12322         * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
12323         filenames.  Use sed to extract base filename for install.
12324
12325 Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
12326
12327         * unroll.c (find_splittable_givs): Only share if two givs have the
12328         same add and multiply values.
12329
12330 Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
12331
12332         * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
12333         * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
12334
12335 Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
12336
12337         * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
12338         around branch tables.
12339         * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
12340         and .end_brtab directives if TARGET_GAS.
12341
12342 Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
12343
12344         * alias.c (true_dependence): Pass x_addr not x to varies.
12345
12346         * acconfig.h (NEED_DECLARATION_CALLOC): Add.
12347         * configure.in: Add GCC_NEED_DECLARATION call for calloc.
12348         * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
12349         declarations.
12350         * config.in, configure: Regenerate.
12351
12352 Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
12353
12354         * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
12355         LO_SUM.
12356         (record_set): Handle LO_SUM like PLUS.
12357         (init_alias_analysis): When following chains of base addresses,
12358         do not stop on reaching a hard register.
12359
12360 Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
12361
12362         * version.c: Bump for new snapshot.
12363
12364 Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
12365
12366         * alpha.h (ARCH_ASM_FILE_START): Define.
12367         (ASM_FILE_START): Use ARCH_ASM_FILE_START.
12368         * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
12369
12370 Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
12371
12372         * Makefile.in (install-common): Put gcov comment at start of line.
12373
12374 Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
12375
12376         * alias.c (init_alias_analysis): When simplifying the reg_base_value
12377         array, simplify entries for hard registers too.
12378
12379 Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
12380
12381         * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
12382         list.
12383
12384 Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
12385
12386         * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
12387         block_stack before dereferencing it.
12388
12389 Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
12390
12391         * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
12392
12393 Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
12394
12395         * cplus-dem.c: Add 'extern' to prepends_underscore.
12396
12397 Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
12398
12399         * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
12400         (get_issue_rate): Delete.
12401         * pa.h (ISSUE_RATE): Define.
12402
12403         * configure.in: Turn on haifa by default for the PA.
12404         * configure: Rebuilt.
12405         * pa.c (override_options): Accept -mschedule=7200 option.
12406         (pa_adjust_cost): No longer need to scale costs for newer
12407         processors.
12408         * pa.h (enum processor_type): Add PROCESSOR_7200.
12409         * pa.md: Revamp scheduling parameters to work better with
12410         haifa.  Add scheduling parameters for the 7200.
12411
12412         * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
12413         insns too.
12414         (schedule_block): When adjusting basic_block_{head,end}, account
12415         for movement of SCHED_GROUP_P insns too.
12416
12417         * haifa-sched.c (debug_dependencies): Fix thinko.
12418
12419         * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
12420         (site.exp, check, check-g++, check-gcc): New targets.
12421
12422         * haifa-sched.c: Make lots of variables static.
12423
12424 Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12425
12426         * expr.h, real.h: Finish prototyping.
12427
12428 Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
12429
12430         * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
12431         reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
12432         * reload1.c: Undo bugfix from Aug 11.
12433
12434 Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
12435
12436         * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
12437         quotes around the name.
12438         * configure: Regenerate.
12439
12440 Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
12441
12442         * Makefile.in (stmp-multilib-sub): Fix typo in last change.
12443
12444 Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
12445
12446         * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
12447         to sub-makes to avoid building more passes than the user might have
12448         requested on the command line.
12449
12450 Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
12451
12452         * configure.in: Expurgate `broken_install' (install is
12453         autoconfed).
12454
12455         * configure.lang: Substitute autoconfed ${INSTALL} (not currently
12456         relevant).
12457
12458 Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
12459
12460         * loop.c (is_power_of_2, is_conditional_branch): Delete unused
12461         functions and declarations.
12462         (analyze_loop_iterations): Use condjump_p.
12463         (insert_bct): Likewise.  Use exact_log2.
12464
12465 Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
12466
12467         * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
12468         (schedule_region): Likewise.
12469         (schedule_insns): Likewise.
12470
12471         * PROJECTS: Update with Haifa stuff.
12472
12473 Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
12474
12475         * version.c: Change the version string to look like:
12476         egcs-2.90.00 970814 (gcc2-970802 experimental).
12477
12478         * loop.c (is_conditional_branch): Make definition match declaration.
12479
12480         * gcc.c: Take out experimental snapshot warning message.
12481
12482 Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
12483
12484         * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
12485         print out the names of the notes.  Print out the name of the insn
12486         that is not a note, and not an {,CALL_,JUMP_}INSN.
12487
12488 Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
12489
12490         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
12491         again for the slot after we give it RTL.
12492
12493 Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
12494
12495         * configure.in (haifa configury): Fix typo.
12496         * configure: Regenerate.
12497
12498 Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
12499
12500         * version.c: Bump version to "gcc-3.0.0 970802 experimental".
12501
12502         * gcc.info*: Rebuilt.
12503
12504         * COPYING.g77, README.g77: New files.
12505         * real.c (ereal_unto_float, ereal_unto_double): New functions.
12506         * real.h (ereal_unto_float, ereal_unto_double): Declare them.
12507         (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
12508
12509 Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
12510
12511         * Integrate Haifa instruction scheduler.
12512         * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
12513         to sched with $(SCHED_CFLAGS.
12514         * configure.in: Handle --enable-haifa.
12515         * configure: Rebuilt.
12516         * flags.h: Add new flags for haifa instruction scheduler.
12517         * genattrtab.c (expand_units): For haifa, don't subtract one
12518         when computing blockage.
12519         * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
12520         (flag_schedule_speculative): Ditto.
12521         (flag_schedule_speculative_load): Ditto.
12522         (flag_schedule_speculative_load_dangerous): Ditto.
12523         (flag_schedule_reverse_before_reload): Ditto.
12524         (flag_schedule_reverse_after_reload): Ditto.
12525         (flag_branch_on_count_reg): Ditto.
12526         (f_options): Add Haifa switches.
12527         (main): Turn off some Haifa options if appropriate macro is
12528         defined.  Process Haifa switches.
12529         * unroll.c (iteration_info): No longer static, since Haifa
12530         scheduler uses it.
12531         (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
12532         * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
12533         * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
12534         * loop.h (loop_initial_value,loop_unroll_iter): New globals.
12535         * loop.c (loop_optimize): If HAIFA is defined, allocate additional
12536         storage for the Haifa scheduler.
12537         (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
12538         LABEL_NEXTREF.
12539         (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
12540         are defined, call analyze_loop_iterations and insert_bct to use
12541         countdown loops.
12542         (record_giv): Refine test for jumps out of loops if HAIFA is
12543         defined.
12544         (analyze_loop_iterations): New function to identify if we can use
12545         a countdown loop.
12546         (insert_bct): Insert countdown loop.
12547         (instrument_loop_bct): Low level code to insert countdown loop.
12548         (loop_number): Calculate UID of loop.
12549         (indirect_jump_in_function_p): Return true if an indirect jump is
12550         in the function.
12551         (is_power_of_2): Return true if value is a power of 2.
12552         (is_conditional_branch): Return true if insn is a conditional
12553         jump.
12554         (fix_bct_param): Process -fbct-{min,max}-N switches.
12555         (check_bct_param): Return true if loop should be instrumented.
12556         * loop.c (loop_initial_value,loop_unroll_iter): New globals.
12557         (loop_optimize): Initialize.
12558         (get_condition_for_loop): Ditto.
12559         * loop.c (strength_reduce): Inside of code that uses #ifdef
12560         HAVE_decrement_and_branch_on_count code, test it to make sure the
12561         condition is true.
12562         (instrument_loop_bct): Ditto.
12563         * haifa-sched.c: New file.
12564
12565
12566         * Integrate regmove pass.
12567         * Makefile.in (OBJS): Add regmove.o
12568         (regmove.o): Add dependencies.
12569         * flow.c (find_use_as_address): No longer static.
12570         * rtl.h (find_use_as_address): Declare.
12571         * toplev.c (regmove_dump, flag_regmove): Define.
12572         (f_options): Add -fregmove.
12573         (regmove_dump_file, regmove_time): Define.
12574         (fatal_insn): Close the regmove dump file.
12575         (compile_file): Initialize regmove_time; open/close the regmove dump
12576         file as needed.  Print regmove time as needed.
12577         (rest_of_compilation): Run regmove pass if requested, dump
12578         RTL after regmove if requested.
12579         (main): If -O2 or more, turn on regmove.  Handle dump switches.
12580         * regmove.c: New file.
12581
12582 Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
12583
12584         * Integrate tlink patch from jason@cygnus.com
12585         * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
12586         (process_command): Increment n_switches for them.  Don't discard
12587         their args.  Validate them.
12588         (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
12589         From Rohan Lenard.
12590         (process_command): Set include_prefixes from COMPILER_PATH.
12591         (main): Set COLLECT_GCC_OPTIONS sooner.
12592         * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
12593         * tlink.c, hash.c, hash.h: New files.
12594         * Makefile.in (USE_COLLECT2): Always use collect2.
12595         (collect2): Depend on and link in hash.o and tlink.o.
12596         (tlink.o, hash.o): Add dependencies.
12597
12598 Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
12599
12600         * Integrate alias analysis changes from jfc@mit.edu
12601         * Makefile.in (OBJS): Add alias.o
12602         (alias.o): Add dependencies.
12603         * alias.c: New file.
12604         * sched.c: Remove alias analysis code.  It lives in alias.c now.
12605         (sched_analyze_2): Add new arguments to true_dependence.
12606         (schedule_insns): Always call init_alias_analysis.
12607         * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
12608         mark return value from such functions as a pointer and keep track of
12609         them for alias analysis.  If a return value from a function is a
12610         pointer, mark it as such.
12611         * combine.c (distribute_notes): Handle REG_NOALIAS.
12612         * cse.c (struct write_data): Delete.  No longer needed.
12613         (invalidate): Don't call set_nonvarying_address_components anymore.
12614         Use true_dependence to decide if an entry should be removed from
12615         the hash table.
12616         (invalidate_memory): Remove WRITES argument, simplify appropriately.
12617         Fix all callers.
12618         (note_mem_written): Similarly for WRITE_PTR argument.
12619         (invalidate_from_clobbers): Similarly for W argument.
12620         (invalidate_for_call): Remove memory elements from the hash table.
12621         (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
12622         (cse_rtx_varies_p): New function.  Derived from old
12623         cse_rtx_addr_varies_p.
12624         (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
12625         Don't call note_mem_written anymore.  Stack pushes invalidate the stack
12626         pointer if PUSH_ROUNDING is defined.  No longer need to call
12627         cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
12628         (skipped_writes_memory): Remove variable.
12629         (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
12630         (invalidate_skipped_block): Simplify for new alias analysis code.
12631         (cse_set_around_loop): Likewise.
12632         (cse_main): Call init_alias_analysis.
12633         * flags.h (flag_alias_check, flag_argument_noalias): Declare.
12634         * toplev.c (flag_alias_check, flag_argument_noalias): Define.
12635         (f_options): Add new alias checking arguments.
12636         (main): Set flag_alias_check when optimizing.
12637         * local_alloc (validate_equiv_mem_from_store): Add new arguments
12638         to true_dependence.
12639         (memref_referenced_p): Likewise.
12640         * loop.c (NUM_STORES): Increase to 30.
12641         (prescan_loop): Only non-constant calls set unknown_address_altered.
12642         (invariant_p): Add new arguments to true_dependence.
12643         (record_giv): Initialize unrolled and shared fields.
12644         (emit_iv_add_mult): Call record_base_value as needed.
12645         * loop.h (struct induction): Add unrolled and shared fields.
12646         * unroll.c  (unroll_loop): Call record_base_value as needed.
12647         (copy_loop_body): Likewise.
12648         (final_biv_value): Likewise.
12649         (final_giv_value): Likewise.
12650         (find_splittable_regs): Likewise.  Only create one new pseudo
12651         if we have multiple address GIVs that were combined with the same
12652         dst_reg GIV.  Note when a new register is created due to unrolling.
12653         * rtl.c (reg_note_name): Add REG_NOALIAS.
12654         * rtl.h (enum reg_note): Similarly.
12655         (rtx_varies_p, may_trap_p, side_effects_p): Declare.
12656         (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
12657         (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
12658         (true_dependence, read_dependence, anti_dependence): Likewise.
12659         (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
12660         (mark_user_reg, mark_reg_pointer): Likewise.
12661
12662
12663         * Integrate reload bugfix from Wilon which enables the PA port
12664         to bootstrap again.
12665         * reload1.c (reload): Sum needs for both OPADDR_ADDR and
12666         OPERAND_ADDRESS when computing how many registers an insn needs.
12667         (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
12668         conflict.
12669         (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
12670         OPADDR_ADDR reload.
12671         (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
12672         in reload_reg_use_in_op_addr do not reach the end.
12673         do not reach the end.
12674         (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
12675         RELOAD_FOR_OPERAND_ADDRESS.
12676
12677 Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
12678
12679         * egcs project officially starts.
12680
12681 Local Variables:
12682 add-log-time-format: current-time-string
12683 End: