]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
i386.h (CPP_486_SPEC, [...]): New specs.
[gcc.git] / gcc / ChangeLog
1 Mon Jul 13 23:36:08 1998 Jim Wilson <wilson@cygnus.com>
2
3 * i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
4 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
5 (EXTRA_SPECS): Support them.
6 * gcc.c: Delete %[spec] support.
7 (do_spec_1, case '('): Likewise.
8 (do_spec_1, case '['): Call error.
9 * i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
10 linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
11 sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
12 %[cpp_cpu].
13
14 Mon Jul 13 23:31:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
15
16 * m68k.c (output_scc_di): Use cmpw #0 only for address registers.
17
18 Mon Jul 13 23:26:43 1998 Jeffrey A Law (law@cygnus.com)
19
20 * tree.h (tree_common): Note front-end dependencies on layout of
21 this structure.
22
23 Mon Jul 13 23:18:39 1998 Craig Burley <burley@gnu.org>
24
25 * stmt.c (expand_expr_stmt): If not assigning fresh
26 value to last_expr_value, zero it, so old garbage
27 doesn't get dereferenced.
28
29 Mon Jul 13 23:06:55 1998 Henning.Petersen@t-online.de (Henning Petersen)
30
31 * gcse.c (hash_scan_insn): Add missing argument declaration.
32
33 Mon Jul 13 18:59:13 1998 Jim Wilson <wilson@cygnus.com>
34
35 * configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove
36 HAVE_INTTYPES_H from xm_defines. Define xm_file to mips/xm-iris5.h.
37 * mips/xm-iris5.h (USG): Delete.
38
39 Mon Jul 13 17:18:47 1998 Nick Clifton <nickc@cygnus.com>
40
41 * cccp.c (main): Add support for parsing --help.
42 (display_help): New function: display command line switches.
43
44 * cpplib.c (cpp_handle_option): Add support for parsing --help.
45 (display_help): New function: display command line switches.
46
47 * gcc.c (main): Add support for parsing --help, and passing it on
48 to the sub-processes invoked by gcc.
49 (display_help): New function: display comman line switches.
50
51 * tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
52 'description' field added to structure.
53
54 * toplev.c: Add support for parsing --help.
55 Add documentation strings to command line option tables.
56 (display_help): New function: display comman line switches.
57
58 Mon Jul 13 16:15:10 1998 John Carr <jfc@mit.edu>
59
60 * sparc.c, sparc.h, sparc.md: New trampoline code.
61 Allow integer operand 1 to V8+ DImode shift instructions.
62 Fix bugs in V8+ wide multiply patterns.
63 In 32 bit mode, split DImode register moves and logical instructions.
64 Write V9 branch prediction flag.
65 Use V9 conditional move more often for scc.
66
67 Mon Jul 13 15:10:09 1998 Philippe De Muyter <phdm@macqel.be>
68
69 * invoke.texi(-fno-builtin): Explain that the names of built-in
70 functions begin with `__builtin_', not `__'.
71
72 Mon Jul 13 19:01:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
73
74 * reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
75
76 Mon Jul 13 10:50:17 1998 Mark Mitchell <mark@markmitchell.com>
77
78 * cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
79 (cplus_demangle_opname): Initialize work.
80 (demangle_template): Remove is_java_array.
81 (do_type): Remove DMGL_JAVA stuff.
82 (long_options): Remove "java".
83 (main): Remove 'j' option.
84
85 Mon Jul 13 10:19:00 1998 Jeffrey A Law (law@cygnus.com)
86
87 * mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
88 Handle 'x' as NO_REGS for this cpu.
89 (REGNO_OK_FOR_BIT_BASE_P): Define.
90 (REG_OK_FOR_BIT_BASE_P): Define.
91 (GO_IF_LEGITIMATE_ADDRESS): Use them.
92 (REG_OK_FOR_INDEX_P): Tweak.
93 * mn13000.c (REG_SAVE_BYTES): Define.
94 (expand_epilogue, initial_offset): Use it.
95 (secondary_reload_class): Slightly reformat.
96 (output_tst): Tweak comments.
97 * mn10300.md: Change 'x' to 'y' for SP_REGS. Then add 'x' to many
98 patterns.
99 (addsi3): Turn into a define_expand/define_insn pair. Rework code for
100 three operand addition case to be more efficient.
101 (subsi3): Turn into a define_expand/define_insn pair.
102
103 * expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
104 is not varying for REFERENCE_TYPE or when we think we might have found
105 an optimized access to the first element in an array.
106
107 Mon Jul 13 02:24:08 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
108
109 * regclass.c (reg_scan_mark_refs): New arg min_regno. Only update
110 regscan information for REGs with numbers greater than or equal to
111 this. All callers changed.
112 (reg_scan_update): New function to efficiently update regscan
113 information on the fly.
114 * rtl.h: Add prototype.
115 * jump.c (jump_optimize): Call it when we make a transformation
116 which generates new pseudo-REGs.
117
118 Sun Jul 12 13:08:14 1998 Jeffrey A Law (law@cygnus.com)
119
120 * collect2.c (main): Use "-x c" instead of "-lang-c" for force the
121 compiler into C mode.
122
123 Sun Jul 12 01:27:05 1998 Jason Merrill <jason@yorick.cygnus.com>
124
125 * cplus-dem.c (demangle_nested_args): Return a value.
126
127 * tree.h (TYPE_P): New macro.
128
129 Sat Jul 11 16:19:48 1998 Mark Mitchell <mark@markmitchell.com>
130
131 * cplus-dem.c (string): Move definition before work_stuff.
132 (work_stuff): Add volatile_type, forgetting_types,
133 previous_argument, and nrepeats fields.
134 (SCOPE_STRING): New macro.
135 (demangle_template): Add `remember' parameter. Add comment.
136 Register the `B' code type here, if remembering. Tidy. Fix crash
137 on NULL tmpl_argvec. Be consistent with use of tname/trawname.
138 (demangle_nested_args): New function.
139 (internal_cplus_demangle): Handle volatile-qualified member
140 functions.
141 (mop_up): Delete the previous_argument string if present.
142 (demangle_signature): Tidy. Handle volatile-qualified member
143 functions. Handle back-references using the `B' code. Use extra
144 parameter to demangle_template and SCOPE_STRING where appropriate.
145 (demangle_template_value_parm): Fix thinko; 'B' is not an integral
146 code.
147 (demangle_class): Use SCOPE_STRING.
148 (gnu_special): Pass additional argument to demangle_template.
149 Use SCOPE_STRING.
150 (demangle_qualified): Save qualified types for later
151 back-references. Handle constructors and destructors for template
152 types correctly.
153 (do_type): Tidy. Use SCOPE_STRING. Pass extra argument to
154 demangle_template. Use demangled_nested_args. Don't remember
155 qualified types here; that's now done in demangle_qualified.
156 Similarly for templates.
157 (do_arg): Improve commment. Handle 'n' repeat code.
158 (remember_type): Check forgetting_types.
159 (demangle_args): Deal with 'n' repeat codes. Tidy.
160
161 Sat Jul 11 02:59:08 1998 Richard Earnshaw <rearnsha@arm.com>
162
163 * arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
164 and structure attribute flags to MEMs generated.
165 (splits for sign-extended HI & QI mode from memory): Also propagate
166 the volatile flag.
167
168 * configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
169
170 Fri Jul 10 19:06:59 1998 Michael Meissner <meissner@cygnus.com>
171
172 * varray.h: Include system.h if it hasn't already been included
173 before to get size_t declared.
174
175 Fri Jul 10 12:53:58 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
176
177 * jump.c (jump_optimize): If after_regscan and our transformations
178 generate new REGs, rerun reg_scan.
179
180 Fri Jul 10 11:50:43 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
181
182 * config/i960/i960.c (i960_address_cost): MEMA operands with
183 positive offsets < 4096 are free.
184
185 Fri Jul 10 12:34:37 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
186
187 * config/m68k/m68k.c (const_uint32_operand): Recognize
188 CONSTANT_P_RTX.
189 (const_sint32_operand): Likewise.
190
191 Thu Jul 9 22:58:59 1998 Jeffrey A Law (law@cygnus.com)
192
193 * Makefile.in (alias.o): Depend on $(EXPR_H).
194
195 Thu Jul 9 18:24:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
196
197 * reload1.c (choose_reload_regs): If using an equivalence from
198 find_equiv_reg and reg_reloaded_valid is not set for this register,
199 clear the associated spill_reg_store.
200
201 Thu Jul 9 18:12:49 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
202
203 * reload1.c (emit_reload_insns): If an output reload copies only
204 to a secondary reload register, indicate that the secondary reload
205 does the actual store.
206
207 Thu Jul 9 18:01:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
208
209 * reload.c (find_equiv_reg): If need_stable_sp is set,
210 check if stack pointer is changed directly in a PARALLEL.
211
212 Thu Jul 9 10:38:14 1998 Jeffrey A Law (law@cygnus.com)
213
214 * jump.c (duplicate_loop_exit_test): Fix thinko.
215
216 Thu Jul 9 01:30:37 1998 Joel Sherrill <joel@OARcorp.com>
217 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
218
219 * config/i386/rtemself.h: Updated to keep in sync with
220 config/i386/linux.h.
221
222 * configure.in: Added sh-rtemself.
223 * configure: Rebuilt.
224 * config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
225 * config/sh/rtemself.h: New file.
226
227 * config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
228
229 Wed Jul 8 21:43:14 1998 Jeffrey A Law (law@cygnus.com)
230
231 * configure.in: Check if the assembler supports ".balign" and
232 ".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
233 * acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
234 * i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
235 ".balign" then use it.
236
237 * print-rtl.c (print_rtx): Revert previous patch.
238
239 * jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
240 test if the exit code has an insn with ASM_OPERANDS.
241
242 * i386/cygwin32.h (STDIO_PROTO): Fix typo.
243 * m32r.h (STDIO_PROTO): Fix typo.
244
245 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by
246 LEGITIMIZE_RELOAD_ADDRESS.
247 * tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be
248 able to handle addresses created by previous invocations of the macro.
249
250 * flow.c (find_auto_inc): Remove most recent change. Real bug was
251 elsewhere.
252
253 * cse.c (count_reg_usage): Count registers used in addresses of
254 CLOBBERs.
255
256 Wed Jul 8 15:08:29 1998 Jim Wilson <wilson@cygnus.com>
257
258 * Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
259
260 * configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
261
262 1998-07-08 Vladimir N. Makarov <vmakarov@cygnus.com>
263
264 * config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
265 stubs.
266
267 * toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
268 options.
269 * c-decl.c (warn_long_long): Define.
270 (c_decode_option): Parse -Wlong-long, -Wno-long-long options.
271 (grokdeclarator): Add flag `warn_long_long' as guard for
272 warning "ANSI C does not support `long long'".
273 * invoke.texi: Add description of options -Wlong-long,
274 -Wno-long-long.
275 * gcc.1: The same as above.
276
277 Wed Jul 8 02:43:34 1998 Jeffrey A Law (law@cygnus.com)
278
279 * rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART. If
280 either argument is CONSTANT_P, then return zero.
281 * reload.c (reg_overlap_mentioned_for_reload_p): Similarly.
282
283 * configure.in: Also look at $srcdir/gas/configure to find a
284 gas version #.
285
286 Wed Jul 8 00:28:22 1998 Carlo Wood <carlo@runaway.xs4all.nl>
287
288 * dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
289
290 Tue Jul 7 21:18:14 1998 Mumit Khan <khan@xraylith.wisc.edu>
291
292 * i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
293 definitions from last two patches.
294
295 Tue Jul 7 23:03:34 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
296
297 * reload1.c (choose_reload_regs): Don't set reload_override_in
298 if EQUIV is clobbered in INSN and the reload is done after INSN.
299
300 Tue Jul 7 21:23:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
301
302 * expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
303 to the first insn of the sequence.
304
305 Tue Jul 7 21:05:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
306
307 * cse.c (cse_insn): Don't make change without validation.
308
309 Tue Jul 7 11:40:05 1998 Jeffrey A Law (law@cygnus.com)
310
311 * mn10200.md (various zero/sign extension patterns): zero and sign
312 extensions which use "sub" clobber cc0.
313
314 Tue Jul 7 09:12:08 PDT 1998 Jeff Law (law@cygnus.com)
315
316 * version.c: Bump for snapshot.
317
318 Tue Jul 7 10:07:20 1998 Jeffrey A Law (law@cygnus.com)
319
320 * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
321
322 Tue Jul 7 08:41:27 1998 Richard Henderson (rth@cygnus.com)
323
324 * print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
325 is a double.
326
327 Tue Jul 7 00:31:58 PDT 1998 Jeff Law (law@cygnus.com)
328
329 * version.c: Bump for snapshot.
330
331 Tue Jul 7 01:03:03 1998 Mumit Khan <khan@xraylith.wisc.edu>
332
333 Support for dllimport and dllexport attributes for i386-pe.
334
335 * tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
336 (struct tree_decl): Add non_addr_const_p field.
337 * tree.c (staticp): Use.
338
339 * i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
340 attributes.
341 (SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
342 attributes. Also accept -mwindows option.
343 (VALID_MACHINE_DECL_ATTRIBUTE): New macro.
344 (MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
345 (REDO_SECTION_INFO_P): New macro.
346 (DRECTVE_SECTION_FUNCTION): New macro.
347 (drectve_section): Cover function to implement above.
348 (SWITCH_TO_SECTION_FUNCTION): New macro.
349 (switch_to_section): Covert function to implement above.
350 (EXTRA_SECTIONS): Add in_drectve.
351 (EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
352 (ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
353 (STRIP_NAME_ENCODING): Handle new attributes.
354 (ASM_OUTPUT_LABELREF): New macro.
355 (ASM_OUTPUT_FUNCTION_NAME): New macro.
356 (ASM_OUTPUT_COMMON): New macro.
357 (ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
358
359 * i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
360 attributes.
361
362 * i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
363 (i386_pe_merge_decl_attributes): New function.
364 (i386_pe_check_vtable_importexport): New function.
365 (i386_pe_dllexport_p): New function.
366 (i386_pe_dllimport_p): New function.
367 (i386_pe_dllexport_name_p): New function.
368 (i386_pe_dllimport_name_p): New function.
369 (i386_pe_mark_dllexport): New function.
370 (i386_pe_mark_dllimport): New function.
371 (i386_pe_encode_section_info): New function.
372 (i386_pe_unique_section): Strip encoding from name first.
373
374 Tue Jul 7 00:50:17 1998 Manfred Hollstein (manfred@s-direktnet.de)
375
376 * libgcc2.c (L_exit): Provide a fake for atexit on systems which
377 define ON_EXIT but not HAVE_ATEXIT.
378
379 Tue Jul 7 00:44:35 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
380
381 * m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
382
383 Tue Jul 7 00:36:41 1998 Ulrich Drepper <drepper@cygnus.com>
384
385 * i386.c: Remove random whitespace at end of lines.
386
387 * i386.c (ix86_epilogue): For pentium processors, try to deallocate
388 4 or 8 byte stacks with pop instructions instead of an add instruction.
389
390 Tue Jul 7 00:30:08 1998 Klaus Kaempf <kkaempf@rmi.de>
391
392 * alpha.c: Include tree.h before expr.h.
393
394 Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com>
395
396 * c-parse.in (struct_head, union_head, enum_head): New nonterminals.
397 (structsp): Use them. Update files generated from c-parse.in.
398 * extend.texi (Type Attributes): Document it.
399
400 * c-decl.c: Add warn_multichar.
401 (c_decode_option): Handle -Wno-multichar.
402 * c-lex.c (yylex): Check it.
403 * c-tree.h: Declare it.
404 * toplev.c (lang_options): Add it.
405 * invoke.texi: Document it.
406
407 Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
408
409 * reload.c (find_equiv_reg): When looking for stack pointer + const,
410 make sure we don't use a stack adjust.
411
412 * reload.c (find_equiv_reg): If need_stable_sp is set,
413 check if stack pointer is changed directly.
414
415 * reload1.c (delete_dead_insn): Don't delete feeding insn
416 if that insn has side effects.
417
418 * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
419 changed.
420
421 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
422 precedes RELOAD_FOR_OUTADDR_ADDRESS.
423
424 * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK. Changed
425 caller.
426
427 Mon Jul 6 22:21:56 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
428
429 * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
430 testing address registers on the 68000.
431
432 Mon Jul 6 22:17:19 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
433
434 * i386.c (is_fp_test): Fix thinko.
435
436 * jump.c (jump_optimize) Check for CONST_INT before using INTVAL.
437
438 Mon Jul 6 22:14:31 1998 Richard Henderson (rth@cygnus.com)
439
440 * print-rtl.c (print_rtx): Display the real-value equivalent of
441 a const_double when easy.
442
443 * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
444 Zero memory first for predictability.
445 (REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
446 * varasm.c (immed_real_const_1): Notice width of H_W_I == double.
447
448 * regclass.c (allocate_reg_info): Initialize the entire reg_data
449 virtual array.
450
451 Mon Jul 6 22:09:32 1998 Ian Lance Taylor <ian@cygnus.com>
452 Jeff Law <law@cygnus.com>
453
454
455 * i386/cygwin32.h: Add some declaration of external functions.
456 (ASM_DECLARE_FUNCTION_NAME): Define.
457 (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
458 (ASM_FILE_END): Define.
459 * i386/winnt.c (i386_pe_declare_function_type): New function.
460 (struct extern_list, extern_head): Define.
461 (i386_pe_record_external_function): New function.
462 (i386_pe_asm_file_end): New function.
463
464 * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
465 matching July 18, 1995 change to cccp.c. If -traditional then
466 disable cplusplus_comments.
467
468 Mon Jul 6 21:28:14 1998 Jeffrey A Law (law@cygnus.com)
469
470 * combine.c (expand_compound_operation): Fix thinko in code to optimize
471 (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
472
473 * Disable the following change from gcc2. Not appropriate for egcs:
474
475 Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
476 * reload.c (find_reloads): Give preference to pseudo that was the
477 reloaded output of previous insn.
478
479 Mon Jul 6 21:07:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
480
481 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
482 Instead, define a new macro HAVE_PRINTF_PTR which only signifies
483 whether we have the %p format specifier or not.
484
485 * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
486
487 * machmode.h (HOST_PTR_PRINTF): When determining the definition,
488 check HAVE_PRINTF_PTR to see whether "%p" is okay.
489
490 * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
491
492 * Makefile.in (mips-tfile.o): Depend on machmode.h.
493
494 Mon Jul 6 10:42:05 1998 Mark Mitchell <mark@markmitchell.com>
495
496 * jump.c (duplicate_loop_exit_test): Don't refuse to copy a
497 section of code just because it contains
498 NOTE_INSN_BLOCK_{BEG,END}.
499 * stmt.c (expand_end_loop): Likewise. Also, don't refuse to
500 move CALL_INSNs or CODE_LABELs. When moving code, don't move
501 NOTE_INSN_BLOCK_{BEG,END}.
502
503 Mon Jul 6 09:38:15 1998 Mark Mitchell <mark@markmitchell.com>
504
505 * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
506 dealing with ADDRESSOF.
507 (find_best_addr): Use it.
508
509 Mon Jul 6 09:27:08 1998 Richard Henderson <rth@cygnus.com>
510
511 * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
512
513 Mon Jul 6 09:25:06 1998 Dave Love <d.love@dl.ac.uk>
514
515 * libgcc2.c (__eprintf): Make args consistent with prototype in
516 assert.h.
517
518 Mon Jul 6 00:28:43 1998 Mark Mitchell <mark@markmitchell.com>
519
520 * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
521 don't claim that the former is equivalent to the latter.
522
523 Sun Jul 5 23:58:19 1998 Jeffrey A Law (law@cygnus.com)
524
525 * cse.c (cse_insn): Second arg is an RTX now. Update all callers.
526 (cse_basic_block): Keep track of the current RETVAL insn for a
527 libcall instead of just noting that we're in a libcall.
528
529 * combine.c (simplify_comparison): Do not commute a AND into
530 a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
531
532 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
533 HAVE_GAS_MAX_SKIP_P2ALIGN.
534 * i386/linux.h: Likewise.
535
536 Fri Jul 3 02:33:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
537
538 * sparc.c (sparc_operand, move_operand, arith_operand,
539 arith11_operand, arith10_operand, arith_double_operand,
540 arith11_double_operand, arith10_double_operand, small_int,
541 uns_small_int): Recognize CONSTANT_P_RTX.
542 (output_sized_memop, output_move_with_extension,
543 output_load_address, output_size_for_block_move,
544 output_block_move, delay_operand): Remove, has not been
545 enabled or referenced for years.
546 * sparc.md (movstrsi, block_move_insn): Likewise.
547 * sparc.h (PREDICATE_CODES): Define.
548 * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
549 version which uses getcc/setcc traps to save/restore condition
550 codes.
551 * linux64.h: Likewise.
552 * sunos4.h: Likewise.
553 * linux.h: Likewise.
554 * sol2.h: Likewise.
555 * sun4o3.h: Likewise.
556
557 Fri Jul 3 02:28:05 1998 Richard Henderson <rth@cygnus.com>
558
559 * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
560 lossage on VMS. Reported by kkaempf@rmi.de.
561 * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
562
563 Thu Jul 2 17:41:14 1998 Nick Clifton <nickc@cygnus.com>
564
565 * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
566 version.
567
568 Thu Jul 2 14:34:48 1998 David Edelsohn <edelsohn@mhpcc.edu>
569
570 * expr.h (STACK_SIZE_MODE): New macro.
571 * explow.c (allocate_dynamic_stack_space): Use it for
572 mode of allocate_stack pattern increment operand.
573 * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
574 * md.texi (stack_save_block, ...): Reflect use of macro.
575
576 * rs6000.h (PROMOTE_MODE): Always promote to word_mode.
577 (PROMOTE_FUNCTION_ARGS): Define.
578 (PROMOTE_FUNCTION_RETURN): Define.
579 (FUNCTION_VALUE): Promote to word_mode if smaller.
580 Convert to gen_rtx_FOO.
581 * rs6000.md (call_indirect): Store doubleword in 64-bit mode.
582 Convert to gen_rtx_FOO.
583 * rs6000.c: Convert to gen_rtx_FOO.
584
585 Thu Jul 2 14:16:11 1998 Michael Meissner <meissner@cygnus.com>
586
587 * varray.{c,h}: New files to provide virtual array support.
588
589 * Makefile.in (OBJS): Add varray.o.
590 (varray.o): Add new file.
591 (REGS_H): New variable for dependencies for files including
592 regs.h. Add varray.h and files it includes. Change all regs.h
593 dependencies to $(REGS_H).
594
595 * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
596 (xcalloc): Provide frontend for calloc.
597 * {tree,rtl}.h (xcalloc): Add declaration.
598
599 * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
600 varray.
601
602 * regs.h (toplevel): Include varray.h.
603 (reg_n_info): Switch to use a varray.
604 (REG_*): Ditto.
605 (allocate_reg_info): Change num_regs argument to be size_t.
606
607 * regclass.c (reg_info_data): New structure to remember groups of
608 reg_info structures allocated that are to be zeroed.
609 ({pref,alt}class_buffer): New statics to hold buffers
610 allocate_reg_info allocates for {pref,alt}class_buffer.
611 (regclass): Use {pref,alt}class_buffer to initialize
612 {pref,alt}class.
613 (allocate_reg_info): Switch to make reg_n_info use varrays.
614 Allocate buffers for the preferred and alter register class
615 information. Change num_regs argument to be size_t, not int.
616
617 * flow.c (reg_n_info): Switch to use varrays.
618
619 Thu Jul 2 10:11:47 1998 Robert Lipe <robertl@dgii.com>
620
621 * install.texi (sco3.2v5): Document new --with-gnu-as flag.
622 * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
623 in other targets.
624 (USE_GAS): Conditionalize away native assembler usage.
625 * config/i386/sco5gas.h: New file.
626 * config/i386/t-sco5gas: New file.
627 * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
628
629 Thu Jul 2 08:20:00 1998 Catherine Moore <clm@cygnus.com>
630
631 * haifa-sched.c (alloc_EXPR_LIST): Change to use
632 unused_expr_list.
633
634 Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
635
636 * Makefile.in (install-info): Don't use $realfile. Ignore
637 possible errors from the install-info program.
638
639 Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
640
641 * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
642
643 Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com>
644
645 * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
646 (MODES_TIEABLE_P): Tie SImode and HImode.
647
648 1998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
649
650 * invoke.texi (Optimize Options): Fix typo.
651
652 Wed Jul 1 22:25:43 1998 Jim Wilson <wilson@cygnus.com>
653
654 * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
655 the zero'th block.
656
657 Wed Jul 1 23:12:58 1998 Ken Raeburn <raeburn@cygnus.com>
658
659 * h8300.c (print_operand): Delete %L support.
660 * h8300.md (branch_true, branch_false): Use %= with a prefix
661 instead of %L for local branch labels.
662
663 Wed Jul 1 21:27:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
664
665 * reload1.c (emit_reload_insns): Use proper register classes for
666 SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
667
668 Wed Jul 1 21:17:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
669
670 * reload.c (find_reloads): If there are multiple
671 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
672 one operand, change RELOAD_FOR_INPADDR_ADDRESS /
673 RELOAD_FOR_OUTADDR_ADDRESS for all but the first
674 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
675
676 Wed Jul 1 17:23:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
677
678 * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
679 using its PATTERN.
680
681 Wed Jul 1 05:04:41 1998 Richard Henderson <rth@cygnus.com>
682
683 * expr.c (emit_group_load, emit_group_store): Rewrite considering
684 the size and alignment of the structure being manipulated.
685 * expr.c, calls.c, function.c: Update all callers.
686 * expr.h: Update prototypes.
687 * cse.c (invalidate): Cope with parallels.
688
689 Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com>
690
691 * sparc.c (function_arg_record_value): Take a MODE arg with which to
692 create the PARALLEL. Update all callers.
693
694 Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com>
695
696 * expr.c (expand_assignment, store_constructor, expand_expr): Use
697 convert_memory_address instead of convert_to_mode when possible.
698
699 Wed Jul 1 03:48:00 1998 Richard Henderson <rth@cygnus.com>
700
701 * alpha.c (alpha_initialize_trampoline): Take arguments describing
702 the layout. Use ptr_mode. Disable hint generation. Use gen_imb.
703 * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
704 (TRANSFER_FROM_TRAMPOLINE): Move ...
705 * alpha/osf.h: ... here.
706 * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
707 (TRANSFER_FROM_TRAMPOLINE): Remove undef.
708 * alpha/win-nt.h: Likewise.
709 * alpha/vxworks.h: Likewise.
710
711 * alpha/linux.h: Revert gcc2 merge lossage.
712
713 Wed Jul 1 10:56:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
714
715 * c-decl.c (grokdeclarator): Don't warn about implicit int in
716 `typedef foo = bar'.
717
718 Wed Jul 1 02:12:33 1998 Robert Lipe <robertl@dgii.com>
719
720 * i386.c (asm_output_function_prefix): Make 686 function
721 prologues not issue .types for non-global lables.
722
723 Tue Jun 30 23:46:53 1998 Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
724
725 * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
726 (WCHAR_TYPE_SIZE): Update appropriately.
727
728 Tue Jun 30 23:16:39 1998 Jeffrey A Law (law@cygnus.com)
729
730 * flow.c (recompute_reg_usage): Does not return a value.
731 * rtl.h (recompute_reg_usage): Update prototype.
732
733 * jump.c (jump_optimize): Show that the jump chain is not
734 valid when not optimizing.
735
736 Tue Jun 30 16:01:01 1998 Richard Henderson <rth@cygnus.com>
737
738 * rtl.def (CONSTANT_P_RTX): New.
739 * rtl.h (CONSTANT_P): Recognize it.
740 * cse.c (fold_rtx): Eliminate it.
741 * expr.c (can_handle_constant_p): New variable.
742 (init_expr_once): Initialize it.
743 (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
744 immediately recognizable as a constant.
745
746 * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
747 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
748 (sext_add_operand, and_operand, or_operand): Likewise.
749 (reg_or_cint_operand, some_operand, input_operand): Likewise.
750 * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
751
752 1998-06-30 Benjamin Kosnik <bkoz@bliss.nabi.net>
753
754 * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
755
756 Tue Jun 30 14:03:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
757
758 * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
759 argument, which is typically preprocessor code used to draw in
760 additional header files when looking for a function declaration.
761 (GCC_NEED_DECLARATIONS): Likewise.
762
763 * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
764 and setrlimit, search for them in sys/resource.h.
765
766 * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
767 NEED_DECLARATION_SETRLIMIT.
768
769 * system.h: Prototype getrlimit/setrlimit if necessary.
770
771 Tue Jun 30 10:54:48 1998 Mark Mitchell <mark@markmitchell.com>
772
773 * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
774 upon.
775
776 Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
777
778 * rs6000/sysv4.h (asm output): add tabs for asm directives.
779
780 Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
781
782 * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
783
784 Tue Jun 30 08:59:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
785
786 * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
787 Don't define NULL here. Also, remove all vestiges of autoconf
788 based checks for bcmp/bcopy/bzero/index/rindex.
789
790 * system.h: Immediately after including stdio.h, check for and if
791 necessary provide a default definition of NULL.
792
793 Tue Jun 30 08:22:05 1998 Michael Meissner <meissner@cygnus.com>
794
795 * reload1.c (reload_cse_simplify_operands): Call
796 fatal_insn_not_found, not abort.
797
798 Tue Jun 30 02:34:02 1998 Jeffrey A Law (law@cygnus.com)
799
800 * choose-temp.c (make_temp_file): Accept new argument for the
801 file suffix to use. Allocate space for it and add it to the
802 template.
803 * mkstemp.c (mkstemps): Renamed from mkstemp. Accept new argument
804 for the length of the suffix. Update template struture checks
805 to handle optinal suffix.
806 * collect2.c (make_temp_file): Update prototype.
807 (main): Put proper suffixes on temporary files.
808 * gcc.c (make_temp_file): Update prototype.
809 (do_spec_1): Put proper suffixes on temporary files.
810
811 Tue Jun 30 00:56:19 1998 Bruno Haible <haible@ilog.fr>
812
813 * invoke.texi: Document new implicit structure initialization
814 warning.
815
816 Mon Jun 29 22:12:06 1998 Jeffrey A Law (law@cygnus.com)
817
818 * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
819 details.
820
821 * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
822
823 Mon Jun 29 20:12:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
824
825 * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
826
827 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
828 void since it is evaluated in a comma list.
829
830 * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
831 argument as a long and cast `NUM' to long to ensure it is of the
832 proper width. Wrap macro arguments in parens when they appear in
833 the expansion.
834
835 * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
836
837 * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
838 (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
839 function argument return type.
840 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
841 REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
842
843 * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
844 cpp_message.
845
846 * dbxout.c: Fix the comments after an #endif to reflect the actual
847 condition tested in the preceding #if.
848
849 * except.c (find_all_handler_type_matches): Switch to old-style
850 function definition.
851
852 * expr.c (expand_builtin): Remove unused variable `type' twice.
853
854 * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
855 to an unsigned long.
856
857 * haifa-sched.c (print_insn_chain): Remove unused function.
858
859 * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
860 definition.
861
862 * toplev.c: When testing whether to include dbxout.h, also include
863 it when XCOFF_DEBUGGING_INFO is defined.
864
865 * unroll.c (unroll_loop): Add parentheses around assignment used
866 as truth value.
867
868 Mon Jun 29 12:18:00 1998 Catherine Moore <clm@cygnus.com>
869
870 * config/lb1spc.asm (.div, .udiv): Replace routines.
871
872 Mon Jun 29 09:44:24 1998 Mark Mitchell <mark@markmitchell.com>
873
874 * rtl.h: Update comment about special gen_rtx variants.
875 * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
876
877 Sun Jun 28 20:58:51 1998 Jeffrey A Law (law@cygnus.com)
878
879 * choose-temp.c (choose_temp_base): Restore original variant of
880 this function for compatibility.
881 (make_temp_file): This is the new, preferred interface to create
882 temporary files.
883 * collect2.c (choose_temp_base): Delete declaration.
884 (make_temp_file): Declare.
885 (temp_filename_length, temp_filename): Delete.
886 (main): Use make_temp_file to get temporary files. Use --lang-c
887 to force the resulting ctort/dtor file to be compiled with the C
888 compiler. Make sure to remove temporary files on all exit paths.
889 * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
890 defined.
891 (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
892 not defined.
893 (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
894
895 Sun Jun 28 08:57:09 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
896
897 * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
898 getwd.
899
900 * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
901 NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
902
903 * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
904 (my_strerror): Add prototype and make it static.
905
906 * collect2.c: Likewise.
907
908 * cpplib.c: Likewise.
909
910 * gcc.c: Likewise, but keep `my_strerror' extern.
911
912 * protoize.c: Likewise.
913
914 * pexecute.c (my_strerror): Add argument to prototype.
915
916 * system.h: Add prototypes for getcwd, getwd and strerror. Add
917 extern decls for sys_nerr and sys_errlist. Make abort decl
918 explicitly extern.
919
920 * getpwd.c: Remove decls for getwd and getcwd.
921
922 Sun Jun 28 02:11:16 PDT 1998 Jeff Law (law@cygnus.com)
923
924 * version.c: Bump for snapshot.
925
926 Sat Jun 27 23:32:25 1998 Richard Henderson <rth@cygnus.com>
927
928 * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
929 of rtx_unsafe_p. Use modified_between_p instead of reg_set_between_p.
930 Allow FP moves to be optimized.
931 (rtx_unsafe_p): Delete.
932
933 Sat Jun 27 23:02:04 1998 Richard Henderson <rth@cygnus.com>
934
935 * objc/archive.c: Remove <string.h> prototypes.
936
937 Sat Jun 27 22:37:05 1998 Jeffrey A Law (law@cygnus.com)
938
939 * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
940
941 * Makefile.in (gencheck): Remove $(TREE_H) dependency.
942
943 Sat Jun 27 20:20:00 1998 John Carr <jfc@mit.edu>
944
945 * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
946 * dsp16xx.c (next_cc_user_unsigned): New function.
947 Remove save_next_cc_user_code.
948 (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
949 * dsp16xx.md: Call next_cc_user_unsigned instead of using
950 save_next_cc_user_code.
951 Use gen_rtx_* functions instead of gen_rtx.
952
953 Sat Jun 27 20:18:34 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
954
955 * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
956
957 Sat Jun 27 16:45:42 1998 Jeffrey A Law (law@cygnus.com)
958
959 * flow.c (count_reg_sets): New function.
960 (count_reg_sets_1, count_ref_references): Likewise.
961 (recompute_reg_usage): Likewise.
962 * rtl.h (recompute_reg_usage): Add prototype.
963 * toplev.c (rest_of_compilation): Call recompute_reg_usage just
964 before local register allocation.
965
966 Sat Jun 27 13:15:30 1998 Richard Henderson <rth@cygnus.com>
967
968 * alpha.md (negsf, negdf): Revert Jan 22 change.
969
970 Sat Jun 27 07:35:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
971
972 * mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t.
973 (mkstemp): Remove size specifier for variable `letters'. Call
974 gettimeofday, not __gettimeofday.
975
976 * Makefile.in (EXPR_H): New dependency variable.
977 (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
978 (c-iterate.o): Likewise.
979 (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
980 (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
981 (toplev.o): Likewise. Also depend on $(RECOG_H) instead of recog.h.
982 (varasm.o): Depend on $(EXPR_H) instead of expr.h.
983 (function.o): Likewise.
984 (stmt.o): Likewise.
985 (except.o): Likewise.
986 (expr.o): Likewise.
987 (calls.o): Likewise.
988 (expmed.o): Likewise.
989 (explow.o): Likewise.
990 (optabs.o): Likewise.
991 (sdbout.o): Likewise.
992 (dwarf2out.o): Likewise.
993 (emit-rtl.o): Likewise.
994 (integrate.o): Likewise.
995 (jump.o): Likewise.
996 (cse.o): Likewise.
997 (gcse.o): Likewise. Also depend on $(BASIC_BLOCK_H) instead of
998 basic-block.h.
999 (loop.o): Depend on $(EXPR_H) instead of expr.h.
1000 (unroll.o): Likewise.
1001 (combine.o): Likewise.
1002 (reload.o): Likewise.
1003 (reload1.o): Likewise.
1004 (caller-save.o): Likewise.
1005 (reorg.o): Likewise.
1006 (alias.o): Don't depend on insn-codes.h.
1007 (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
1008 (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
1009 (insn-opinit.o): Likewise.
1010
1011 Sat Jun 27 01:35:14 1998 Jeffrey A Law (law@cygnus.com)
1012
1013 * choose-temp.c (choose_temp_base): Remove MPW bits. Use mkstemp
1014 instead of mktemp.
1015 * gcc.c (MKTEMP_EACH_FILE): Define.
1016 (main): No need to call choose_temp_base if we are going to
1017 use choose_temp_base to create each file later.
1018 * mkstemp.c: New file. Adapted from glibc.
1019 * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
1020 (mkstemp.o): Add dependencies.
1021
1022 * configure.in (gettimeofday): Check for its existance.
1023 * config.in (HAVE_GETTIMEOFDAY): Define.
1024 * configure: Rebuilt.
1025
1026 1998-06-26 Michael Meissner <meissner@cygnus.com>
1027
1028 * rs6000.md (ne 0, non power case): Add missing & constraint.
1029 Name pattern ne0.
1030 (negative abs insns): Add pattern names.
1031
1032 Fri Jun 26 17:36:42 1998 Dave Love <d.love@dl.ac.uk>
1033
1034 * Makefile.in (install-info): Run install-info program in separate
1035 loop.
1036
1037 Fri Jun 26 16:03:15 1998 Michael Meissner <meissner@cygnus.com>
1038
1039 * haifa-sched.c (schedule_block): Add hooks for the machine
1040 description to reorder the ready list, and update how many more
1041 instructions can be issued this cycle.
1042 * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
1043
1044 Fri Jun 26 11:54:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1045
1046 * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
1047 Explicitly mark the constant being compared against as unsigned.
1048 * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
1049 Fully initialize final members.
1050 (mem_aligned_8): Explicit init of offset to zero.
1051 (output_function_prologue): Explicit init of n_regs to zero.
1052 (output_function_epilogue): Likewise, and mark arg size as
1053 unused.
1054 (init_cumulative_args): Mark libname and indirect as unused.
1055 (function_arg_pass_by_reference): Likewise for cum and named.
1056 (sparc_builtin_saveregs): Likewise for arglist.
1057 (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
1058
1059 Fri Jun 26 06:58:54 1998 Richard Earnshaw (rearnsha@arm.com)
1060
1061 * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
1062 if reloading a MEM.
1063
1064 * arm.h (arm_adjust_cost): Renamed bogus prototype from
1065 arm_adjust_code.
1066 (bad_signed_byte_operand): Add prototype.
1067 * arm.c (arm_override_options): Make I unsigned.
1068 (const_ok_for_arm): Add casts to the constants.
1069 (load_multiple_operation): Don't redeclare elt in sub-block.
1070 (arm_gen_movstrqi): Delete external declaration of optimize.
1071 (gen_compare_reg): Declare parameter fp.
1072
1073 * arm.c (final_prescan_insn): Only initialize scanbody if the insn
1074 has a pattern.
1075
1076 Fri Jun 26 09:31:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1077
1078 * alpha.c: Include system.h and toplev.h.
1079 (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1080 (const48_operand): Likewise.
1081 (mode_width_operand): Likewise.
1082 (mode_mask_operand): Likewise.
1083 (mul8_operand): Likewise.
1084 (current_file_function_operand): Likewise.
1085 (signed_comparison_operator): Likewise.
1086 (divmod_operator): Likewise.
1087 (any_memory_operand): Likewise.
1088 (alpha_return_addr): Likewise for parameter `frame'.
1089 (alpha_builtin_saveregs): Likewise for parameter `arglist'.
1090 (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
1091 `attributes'.
1092 (alpha_start_function): Likewise for parameter `decl'. Use
1093 HOST_WIDE_INT_PRINT_DEC in call to fprintf. Fix various format
1094 specifiers. Remove unused variables `lab' and `name'.
1095 (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
1096 (check_float_value): Likewise for parameter `overflow'.
1097 (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
1098
1099 * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
1100 taking an argument.
1101 (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
1102 (ASM_OUTPUT_CHAR): Likewise.
1103 (ASM_OUTPUT_BYTE): Likewise.
1104 (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
1105 fprintf.
1106 (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
1107 Add prototypes for functions in alpha.c.
1108
1109 * alpha.md (ashldi3): Add default case in switch.
1110
1111 1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
1112
1113 * Makefile.in (gcc_version, gcc_version_trigger): New macros.
1114 (version): Initialize from $(gcc_version).
1115
1116 * configure.in (version): Rename to gcc_version.
1117 (gcc_version_trigger): New variable; call AC_SUBST for it and
1118 emit it into the generated config.status.
1119 * configure: Regenerate.
1120
1121 Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com>
1122
1123 * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
1124 nodes that are not expressions.
1125
1126 Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com>
1127
1128 * invoke.texi (-fstrict-aliasing): Document.
1129 * rtl.texi (MEM_ALIAS_SET): Document.
1130
1131 * flags.h (flag_strict_aliasing): Declare.
1132 * toplev.c (flag_strict_aliasing): Define.
1133 (f_options): Add -strict-aliasing.
1134 (main): Set flag_strict_aliasing if -O2 or higher.
1135
1136 * tree.h (tree_type): Add alias_set field.
1137 (TYPE_ALIAS_SET): New macro.
1138 (TYPE_ALIAS_SET_KNOWN_P): Likewise.
1139 (get_alias_set): Declare.
1140 * tree.c (lang_get_alias_set): Define.
1141 (make_node): Initialize TYPE_ALIAS_SET.
1142 (get_alias_set): New function.
1143 * print-tree.c (print_node): Dump the alias set for a type.
1144
1145 * c-tree.h (c_get_alias_set): Declare.
1146 * c-common.c (c_get_alias_set): New function.
1147 * c-decl.c (init_decl_processing): Set lang_get_alias_set.
1148
1149 * expr.c (protect_from_queue): Propogage alias sets.
1150 (expand_assignment): Calculate alias set for new MEMs.
1151 (expand_expr): Likewise.
1152 * function.c (put_var_into_stack): Likewise.
1153 (put_reg_into_stack): Likewise.
1154 (gen_mem_addressof): Likewise.
1155 (assign_parms): Likewise.
1156 * stmt.c (expand_decl): Likewise.
1157 * varasm.c (make_decl_rtl): Eliminate redundant clearing of
1158 DECL_RTL. Calculate alias set for new MEMs.
1159
1160 * rtl.def (REG): Add dummy operand.
1161 (MEM): Add extra operand to store the MEM_ALIAS_SET.
1162 * rtl.h (MEM_ALIAS_SET): New macro.
1163 (gen_rtx_MEM): Declare.
1164 * emit-rtl.c (gen_rtx_MEM): New function.
1165 * gengenrtl.c (sepcial_rtx): Make MEMs special.
1166
1167 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
1168 (DIFFERENT_ALIAS_SETS_P): Likewise.
1169 (canon_rtx): Propogate the alias set to the new MEM.
1170 (true_dependence): Check the alias sets.
1171 (anti_dependence): Likewise.
1172 (output_dependence): Likewise.
1173 * explow.c (stabilize): Progoate alias sets.
1174 * integrate.c (copy_rtx_and_substitute): Likewise.
1175 * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
1176 in an unpredictable state. Propogate alias sets.
1177 * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
1178 we have no alias information.
1179
1180 Thu Jun 25 16:59:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1181
1182 * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
1183 (find_all_handler_type_matches): Add function prototype.
1184 * eh-common.h (CATCH_ALL_TYPE): Definition added.
1185 * except.c (find_all_handler_type_matches): Add function to find all
1186 runtime type info in the exception table.
1187 (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
1188
1189 Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1190
1191 * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
1192
1193 * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
1194 `yhigh' and `bit' into the scope in which they are used.
1195 (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
1196 `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
1197
1198 * rs6000.c: Move include of output.h below tree.h. Include toplev.h.
1199 (any_operand): Mark unused parameters `op' and `mode' with
1200 ATTRIBUTE_UNUSED.
1201 (count_register_operand): Likewise for parameter `mode'.
1202 (fpmem_operand): Likewise.
1203 (short_cint_operand): Likewise.
1204 (u_short_cint_operand): Likewise.
1205 (non_short_cint_operand): Likewise.
1206 (got_operand): Likewise.
1207 (got_no_const_operand): Likewise.
1208 (non_add_cint_operand): Likewise.
1209 (non_logical_cint_operand): Likewise.
1210 (mask_operand): Likewise.
1211 (current_file_function_operand): Likewise.
1212 (small_data_operand): Likewise for parameters `op' and `mode' but
1213 only when !TARGET_ELF.
1214 (init_cumulative_args): Mark parameters `libname' with
1215 ATTRIBUTE_UNUSED.
1216 (function_arg_pass_by_reference): Likewise for parameters `cum',
1217 `mode' and `named'.
1218 (expand_builtin_saveregs): Likewise for parameter `args'.
1219 (load_multiple_operation): Likewise for parameter `mode'.
1220 (store_multiple_operation): Likewise.
1221 (branch_comparison_operator): Likewise.
1222 (secondary_reload_class): Likewise.
1223 (print_operand): Add parentheses around & operation.
1224 (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
1225 (output_epilog): Likewise. Cast argument to fprintf to int.
1226 (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
1227 (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
1228 `attributes', `identifier' and `args'.
1229 (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
1230 (rs6000_comp_type_attributes): Likewise for parameters `type1' and
1231 `type2'.
1232 (rs6000_set_default_type_attributes): Likewise for parameter `type'.
1233
1234 * rs6000.h (RTX_COSTS): Add parentheses around & operation.
1235 (toc_section, private_data_section, trap_comparison_operator): Add
1236 prototypes.
1237
1238 * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
1239 prototypes.
1240
1241 * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
1242
1243 * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
1244 xcoffout_begin_block, xcoffout_end_epilogue,
1245 xcoffout_end_function, xcoffout_end_block,
1246 xcoff_output_standard_types, xcoffout_declare_function,
1247 xcoffout_source_line): Add prototypes.
1248
1249 Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
1250
1251 * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
1252 noticed by grahams@rcp.co.uk.
1253
1254 Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
1255
1256 * gcc.c (default_compilers): Use new | syntax to eliminate
1257 string concatenation.
1258
1259 Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com>
1260
1261 * alpha.c (alpha_function_name): Delete.
1262 (alpha_ra_ever_killed): Notice current_function_is_thunk.
1263 (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
1264 (alpha_start_function): Reorg from output_prologue.
1265 (alpha_end_function): Reorg from output_epilogue.
1266 * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
1267 (ASM_DECLARE_FUNCTION_SIZE): New.
1268 (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
1269 (PROFILE_BEFORE_PROLOGUE): Set.
1270 (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
1271 * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
1272
1273 Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com)
1274
1275 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
1276
1277 1998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1278
1279 * expr.c (expand_assignment): Rework address calculation for structure
1280 field members to expose more invariant computations to the loop
1281 optimizer.
1282 (expand_expr): Likewise.
1283
1284 Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com)
1285
1286 * local-alloc.c (block_alloc): Do not try to avoid false dependencies
1287 when SMALL_REGISTER_CLASSES is nonzero.
1288
1289 Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de>
1290
1291 * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
1292
1293 Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu>
1294
1295 * expr.c (get_memory_rtx): New function.
1296 (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
1297 string functions.
1298
1299 * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
1300
1301 * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
1302 * expr.c: Likewise.
1303 * explow.c: Likewise.
1304 * combine.c: Likewise.
1305 * reload1.c: Likewise.
1306 * gcse.c: Likewise.
1307
1308 Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com>
1309
1310 * README.gnat: Add patch for new lang_decode_options interface.
1311
1312 Wed Jun 24 09:14:04 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1313
1314 * except.c (start_catch_handler): Do nothing if EH is not on.
1315
1316 1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
1317
1318 * configure.in (gxx_include_dir): Initialize default value depending on
1319 new flag --enable-version-specific-runtime-libs; remove superfluous
1320 default initialization afterwards.
1321 * configure: Regenerate.
1322
1323 Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1324
1325 * toplev.c (rest_of_compilation): Revert May 15 change.
1326
1327 Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
1328
1329 * reload.c (find_reloads): Fix check for failure to match any
1330 alternative, to account for Mar 26 change in initial "best" cost.
1331
1332 Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com>
1333
1334 * cpplib.c (do_line): Typo broke #line directive.
1335 (cpp_message_from_errno): New function.
1336 (cpp_error_from_errno): Call cpp_message_from_errno.
1337 * cpplib.h (cpp_message_from_errno): New function.
1338
1339 Tue Jun 23 13:38:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1340
1341 * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
1342 functions to return exception descriptor information.
1343 (find_exception_handler): Pass match_info field to runtime matcher,
1344 not a descriptor table entry.
1345
1346 Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk>
1347
1348 * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
1349 accompany previous Makefile.in (install-info) change.
1350
1351 Tue Jun 23 10:06:07 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1352
1353 * eh-common.h (struct __eh_info): Remove coerced value field.
1354 * libgcc2.c (find_exception_handler): Don't set coerced_value field.
1355 * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
1356 POINTER_SIZE instead of Pmode.
1357 (expand_start_all_catch): Call start_catch_handler() if we are not
1358 using new style exceptions.
1359
1360 Tue Jun 23 06:45:00 1998 Catherine Moore <clm@cygnus.com>
1361
1362 * varasm.c (assemble_variable): Remove reference to warn_bss_align.
1363
1364 Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1365
1366 * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
1367 extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
1368 subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
1369 splits and peepholes): Change remaining generic gen_rtx calls to
1370 specific genrtl ones.
1371 * config/sparc/sparc.c: Likewise.
1372
1373 Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
1374
1375 * gcc.c (handle_braces): Recognize | between options as an or.
1376
1377 Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com)
1378
1379 * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
1380 * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
1381
1382 * i386.md (exception_receiver): Define.
1383
1384 Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
1385
1386 * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
1387 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
1388 (install-common): Use them.
1389
1390 * gcse.c (add_label_notes): New function.
1391 (pre_insert_insn): Call it.
1392 * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
1393 pass the label to set_label_in_map.
1394
1395 Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
1396
1397 * Makefile.in (install-info): Fix typpo in previous change.
1398
1399 Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
1400
1401 * varasm.c (assemble_variable): Emit alignment warning.
1402
1403 Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1404
1405 * Makefile.in (varasm.o): Depend on sdbout.h.
1406 (sdbout.o): Depend on toplev.h.
1407
1408 * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
1409 use %ld specifier.
1410
1411 * final.c (shorten_branches): Cast first arg of `bzero' to char *.
1412
1413 * genextract.c (main): When creating insn-extract.c, mark variable
1414 `i' with ATTRIBUTE_UNUSED.
1415
1416 * genpeep.c (main): When creating insn-peep.c, mark variables
1417 `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
1418
1419 * objc/init.c (__objc_tree_print): Wrap function definition in
1420 macro `DEBUG'.
1421
1422 * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
1423 and use %ld specifier.
1424 (adorn_decl): Likewise, twice.
1425
1426 * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
1427
1428 * sdbout.c: Include output.h and toplev.h.
1429 (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
1430 `a'. Cast `a' to HOST_WIDE_INT to force it to always be so.
1431 (PUT_SDB_SIZE): Likewise.
1432
1433 * sdbout.h (sdbout_mark_begin_function): Add prototype.
1434
1435 * stmt.c (check_for_full_enumeration_handling): Cast argument of
1436 `warning' to long and use %ld specifier.
1437
1438 * toplev.c (main): Likewise for `fprintf'.
1439
1440 * toplev.h (output_file_directive): Add prototype.
1441
1442 * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
1443 call to `fprintf'.
1444 (precondition_loop_p): Likewise.
1445
1446 * varasm.c Include sdbout.h.
1447 (assemble_static_space): Move sometimes-unused variable `rounded'
1448 into the scope in which it is used.
1449
1450 * mips.c (gpr_mode): Don't say `static' twice.
1451
1452 * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
1453
1454 * objc/objc-act.c (init_selector): Hide prototype and definition.
1455
1456 * optabs.c (gen_cond_trap): Remove unused variable `icode'.
1457
1458 * regmove.c (copy_src_to_dest): Likewise for `i'.
1459
1460 * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
1461 (add_ext_symbol): Likewise.
1462 (add_file): Likewise.
1463 (parse_def): Likewise.
1464 (write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix
1465 remaining format specifiers and arguments.
1466 (write_object): Likewise, several times.
1467 (read_seek): Likewise.
1468 (out_of_bounds): Likewise.
1469 (allocate_cluster): Likewise.
1470 (xmalloc): Likewise.
1471 (xcalloc): Likewise.
1472 (xrealloc): Likewise.
1473 (xfree): Likewise.
1474
1475 * mips-tdump.c (print_symbol): Likewise.
1476
1477 Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
1478
1479 * Makefile.in (install-info): Use install-info program if
1480 available, per GNU standard.
1481
1482 Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
1483
1484 * invoke.texi: Document -mrelax for the mn10300 and mn10200.
1485
1486 * basic-block.h (init_regset_vector): Delete declaration.
1487 * flow.c (init_regset_vector): Make it static and add a prototype.
1488
1489 * bitmap.h (debug_bitmap): Declare.
1490
1491 * haifa-sched.c (debug_ready_list): Make static.
1492
1493 * toplev.h (fancy_abort): Declare.
1494
1495 Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
1496
1497 * basic-block.h (init_regset_vector): New declaration.
1498
1499 * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
1500
1501 * global.c: Include machmode.h amd move hard-reg-set.h before
1502 rtl.h.
1503
1504 * haifa-sched.c (insn_issue_delay, birthing_insn_p,
1505 adjust_priority, print_insn_chaino): New declaration.
1506 (schedule_insns): Remove declaration.
1507 (init_target_units, get_visual_tbl_length,
1508 init_block_visualization): Add prototype.
1509
1510 * integrate.c (pushdecl, poplevel): Remove declaration.
1511
1512 * rtl.h (expand_expr): Remove declaration.
1513
1514 * loop.c (oballoc): Remove declaration.
1515 (replace_call_address): Add prototype.
1516
1517 Sun Jun 21 01:08:17 PDT 1998 Jeff Law (law@cygnus.com)
1518
1519 * version.c: Bump for snapshot.
1520
1521 Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
1522
1523 * i386.c (output_fp_conditional_move): Don't bother handling
1524 (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
1525 prevent this from happening.
1526
1527 * i386.md (nonlocal_goto_receiver): Delete.
1528
1529 Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
1530
1531 * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
1532 -DCRTSTUFFS_O.
1533 (INSTALL): cd $(srcdir) before make.
1534
1535 * flow.c (allocate_for_life_analysis, init_regset_vector):
1536 Remove declaration.
1537
1538 * function.h (get_first_block_beg): New declaration.
1539
1540 * gbl-ctors.h (__do_global_dtors): Add prototype.
1541
1542 * gcov-io.h (__fetch_long): New declaration.
1543 (__store_long): Likewise.
1544 (__read_long): Likewise.
1545 (__write_long): Likewise.
1546
1547 * gcov.c (print_usage): New declaration.
1548
1549 * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
1550
1551 Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
1552
1553 * calls.c (expand_call): Initialize "src" and "dest".
1554 * stmt.c (expand_return): Likewise.
1555 * expmed.c (extract_split_bit_field): Similarly for "result"
1556 * gcse.c (compute_hash_table): Mark first arg as unused.
1557 * jump.c (jump_optimize): Initialize reversep.
1558 * tree.c (make_node): Initialize length.
1559
1560 * c-common.c (check_format_info): Initialize length_char and
1561 fci to keep -Wall quiet.
1562
1563 * except.c (jumpif_rtx): Put declaration and definition
1564 inside a suitable #ifdef.
1565 (jumpifnot_rtx): Delete dead function.
1566
1567 * i386.h (output_int_conditional_move): Declare.
1568 (output_fp_conditional_move): Likewise.
1569 (ix86_can_use_return_insn_p): Likewise.
1570
1571 * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
1572
1573 Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
1574
1575 * alias.c: Include toplev.h
1576 * caller-save.c: Include toplev.h
1577 * combine.c: Include toplev.h
1578 * flow.c Include toplev.h
1579 * global.c: Include toplev.h
1580 * jump.c: Include toplev.h
1581 * local-alloc.c: Include toplev.h
1582 * loop.c: Include toplev.h
1583 * regmove.c: Include toplev.h
1584 * stupid.c: Include toplev.h
1585 * unroll.c: Include toplev.h
1586 * Makefile.in: Add toplev.h dependencies.
1587
1588 Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
1589
1590 * regmove.c (copy_src_to_dest): Add decl for loop_depth.
1591
1592 * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
1593 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
1594 Add parens to various macros.
1595
1596 Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
1597
1598 * c-typeck.c (pop_init_level): Warn about implicit zero initialization
1599 of struct members.
1600
1601 Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
1602
1603 * varasm.c (assemble_start_function): Add weak_global_object_name.
1604 * tree.c (get_file_function_name): Use it.
1605
1606 Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
1607
1608 * except.c (jumpif_rtx): Make static and add prototype.
1609 (jumpifnot_rtx): Likewise.
1610
1611 * README.gnat: Add a build patch from Fred Fish.
1612
1613 * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
1614
1615 * Makefile.in (c-iterate.o): Depend on expr.h.
1616
1617 Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
1618
1619 * except.h (emit_unwinder, end_eh_unwinder): Removed.
1620
1621 * dwarfout.c (getpwd): Add prototype.
1622 (is_pseudo_reg, type_main_variant, is_tagged_type,
1623 is_redundant_typedef): New declaration.
1624 (output_decl): Add prototype for FUNC.
1625 (type_main_variant): Make it static.
1626 (is_tagged_type): Likewise.
1627 (is_redundant_typedef): Likewise.
1628
1629 * expr.c (do_jump_by_parts_greater_rtx): Removed.
1630 (truthvalue_conversion): Likewise.
1631
1632 * c-iterate.c: Include "expr.h".
1633 (expand_expr): Use proper values when calling the function.
1634
1635 * explow.c (emit_stack_save): Add prototype for FCN.
1636 (emit_stack_restore): Likewise.
1637
1638 * dwarf2out.c (getpwd): Add prototype.
1639
1640 * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
1641
1642 * c-typeck.c (c_expand_asm_operands): Use proper values when calling
1643 expand_expr.
1644
1645 * c-lex.c (yyprint): Add prototype.
1646 (check_newline, build_objc_string): Remove declaration.
1647
1648 * c-tree.h (comptypes_record_hook): Removed.
1649 (finish_incomplete_decl): New prototype.
1650
1651 * alias.c (find_base_value): Add prototype.
1652 (true_dependence): Add prototype for function argument.
1653
1654 * c-aux-info.c (xmalloc): Remove declaration.
1655
1656 Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
1657
1658 * i386.c: Include system.h. Remove redundant includes.
1659 (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
1660 (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
1661 'identifier', 'args'.
1662 (i386_valid_type_attribute_p): Likewise for 'attributes'.
1663 (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
1664 (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
1665 and 'named'.
1666 (symbolic_operand): Likewise for 'mode'.
1667 (call_insn_operand): Likewise.
1668 (expander_call_insn_operand): Likewise.
1669 (ix86_logical_operator): Likewise.
1670 (ix86_binary_operator_ok): Likewise.
1671 (emit_pic_move): Likewise.
1672 (VOIDmode_compare_op): Likewise.
1673 (is_mul): Likewise.
1674 (str_immediate_operand): Likewise.
1675 (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
1676 (asm_output_function_prefix): Likewise for 'name'.
1677 (function_prologue): Likewise for 'file', and 'size'.
1678 (function_epilogue): Likewise.
1679
1680 1998-06-19 Jim Wilson <wilson@cygnus.com>
1681
1682 * loop.h (struct induction): Clarify comment for unrolled field.
1683 * unroll.c (find_splittable_givs): Move set of unrolled field
1684 after address validity check.
1685
1686 Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
1687
1688 * config/fp-bit.c (INLINE): Only define if not already defined.
1689
1690 1998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
1691
1692 * Makefile.in (installdirs): Loop over directories in $(libsubdir)
1693 creating probably missing ones, instead of single if statements.
1694
1695 Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1696
1697 * c-common.c (truthvalue_conversion): Protect side effects in the
1698 expression when splitting a complex value.
1699 * fold-const.c (fold): Likewise.
1700
1701 Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
1702
1703 * cccp.c (hack_vms_include_specification): rewrite to handle
1704 '#include <dir/file.h>' correctly.
1705
1706 Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
1707
1708 * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
1709
1710 Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
1711
1712 * i386.c (notice_update_cc): Integer conditional moves don't
1713 affect cc0.
1714
1715 * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
1716 to support LT, LE, GE, and GT signed integer comparisons.
1717 (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
1718 movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
1719 is LT, LE, GE, or GT.
1720 (movdicc): Remove code resulting from an earlier patch which
1721 didn't apply correctly.
1722
1723 Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1724
1725 * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
1726 consider a MEM in FP mode as equal.
1727
1728 Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
1729
1730 * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
1731 duplicate declarations of a function.
1732
1733 Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
1734
1735 * config/float-i386.h: New.
1736
1737 * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
1738
1739 Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
1740
1741 * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
1742 indexed arrays. Call free at the end of the function for them.
1743 * haifa-sched.c (schedule_insns): Likewise.
1744
1745 Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
1746
1747 * dwarf2out.c (size_of_string): Do count backslashes.
1748
1749 Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
1750
1751 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
1752 addressing when one register is the frame pointer or stack
1753 pointer. Disallow REG+CONST addressing in HI mode.
1754
1755 Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1756
1757 * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
1758 RELOAD_FOR_INSN.
1759
1760 Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1761
1762 * Makefile.in (c-lang.o): Depend on output.h.
1763
1764 * c-lang.c: Include output.h.
1765
1766 * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
1767
1768 * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
1769
1770 * genrecog.c (write_subroutine): When writing insn-recog.c, mark
1771 variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
1772 with ATTRIBUTE_UNUSED.
1773
1774 * regmove.c (copy_src_to_dest): Make function static to match its
1775 prototype.
1776
1777 * reload1.c Include hard-reg-set.h before rtl.h to get macro
1778 HARD_CONST. Include machmode.h before hard-reg-set.h.
1779
1780 * rtl.h: Prototype `retry_global_alloc' and wrap with macro
1781 HARD_CONST to protect usage of typedef HARD_REG_SET.
1782
1783 * tree.c: Prototype `_obstack_allocated_p'.
1784
1785 * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
1786 BSS_SECTION_ASM_OP.
1787
1788 Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1789
1790 * pa.c: Include system.h and toplev.h. Remove redundant code.
1791 (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1792 (symbolic_operand): Likewise.
1793 (symbolic_memory_operand): Likewise.
1794 (pic_label_operand): Likewise.
1795 (fp_reg_operand): Likewise.
1796 (pre_cint_operand): Likewise.
1797 (post_cint_operand): Likewise.
1798 (ireg_or_int5_operand): Likewise.
1799 (int5_operand): Likewise.
1800 (uint5_operand): Likewise.
1801 (int11_operand): Likewise.
1802 (uint32_operand): Likewise.
1803 (ior_operand): Likewise.
1804 (lhs_lshift_cint_operand): Likewise.
1805 (pc_or_label_operand): Likewise.
1806 (legitimize_pic_address): Likewise.
1807 (hppa_legitimize_address): Likewise for parameter `old'.
1808 (output_block_move): Likewise for parameter `size_is_constant'.
1809 (output_function_prologue): Likewise for parameter `size'.
1810 (output_function_epilogue): Likewise.
1811 (return_addr_rtx): Likewise for parameter `count'.
1812 (output_mul_insn): Likewise for parameter `unsignedp'.
1813 (hppa_builtin_saveregs): Likewise for parameter `arglist'.
1814 (output_bb): Likewise for parameter `operands'.
1815 (output_bvb): Likewise.
1816 (function_label_operand): Likewise for parameter `mode'.
1817 (plus_xor_ior_operator): Likewise.
1818 (shadd_operand): Likewise.
1819 (non_hard_reg_operand): Likewise.
1820 (eq_neq_comparison_operator): Likewise.
1821 (movb_comparison_operator): Likewise.
1822 (pa_combine_instructions): Likewise for parameter `insns'.
1823
1824 * pa.h: Add prototypes for functions `output_deferred_plabels',
1825 `override_options', `output_ascii', `output_function_prologue',
1826 `output_function_epilogue', `print_operand',
1827 `symbolic_expression_p', `reloc_needed', `compute_frame_size',
1828 `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
1829 `pa_adjust_cost', `pa_adjust_insn_length' and
1830 `secondary_reload_class'.
1831
1832 Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
1833
1834 * configure.in: Don't turn on collect2 unconditionally.
1835
1836 Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
1837
1838 * cse.c (cse_basic_block): Don't include NOTE insns in the count
1839 that is used to decide whether or not it is time to erase the
1840 equivalence table.
1841
1842 Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1843
1844 * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
1845
1846 Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
1847
1848 * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
1849 (sched_analyze_2): Allow scheduling TRAP_IF.
1850
1851 * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
1852
1853 * rtl.h (TRAP_CODE): New macro.
1854
1855 * rtl.def (TRAP_IF): Change second operand type to rtx.
1856
1857 * optabs.c (gen_cond_trap): New function.
1858 (init_traps): New function.
1859 (init_optabs): Call init_traps.
1860 * expr.h: Declare gen_cond_trap.
1861
1862 * jump.c (jump_optimize): Optimize jumps to and around traps.
1863
1864 * sparc.md: Define trap instructions.
1865
1866 * rs6000.md: Define trap instructions.
1867 * rs6000.c (print_operand): New code 'V' for trap condition.
1868 (trap_comparison_operator): New function.
1869
1870 * m88k.md: Update use of TRAP_IF.
1871
1872 * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
1873 * c-decl.c (init_decl_processing): New builtin __builtin_trap.
1874 * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
1875
1876 * expr.c (expand_builtin): Error if __builtin_longjmp second argument
1877 is not 1.
1878
1879 Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com>
1880
1881 * reload1.c (spill_hard_reg): Check mode of register when
1882 spilling from scratch_list.
1883
1884 Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1885
1886 * except.c (add_new_handler): fix bug in finding last region handler.
1887 * libgcc2.c (find_exception_handler): Pass exception table pointer
1888 to runtime type matcher, not the match info field.
1889
1890 Wed Jun 17 15:57:48 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1891
1892 * eh-common.h (struct eh_context): Add comment for hidden use of
1893 field dynamic_handler_chain.
1894 * except.c (get_dynamic_handler_chain): Comment on, and use the
1895 correct offset of the dynamic_handler_chain field.
1896
1897 1998-06-17 12:46:56 1998 Jim Wilson <wilson@cygnus.com>
1898
1899 * mips/iris6.h (LINK_SPEC): Add -woff 131.
1900
1901 1998-06-17 Jason Merrill <jason@yorick.cygnus.com>
1902
1903 * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
1904
1905 * configure.in: Don't disable collect2 when we have GNU ld.
1906
1907 Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
1908
1909 * fold-const.c (make_range): Do not widen the type of the expression.
1910
1911 * expr.c (check_max_integer_computation_mode): New function.
1912 (expand_expr): Avoid integer computations in modes wider than
1913 MAX_INTEGER_COMPUTATION_MODE.
1914 * fold-const.c (fold): Likewise.
1915 * tree.h (check_max_integer_computation_mode): Declare.
1916 * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
1917
1918 * configure.in (nm): Make a link to "nm" in the build tree too.
1919
1920 * mn10300.md (andsi3): Fix typo.
1921
1922 Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
1923
1924 * reload1.c (reload_cse_regs): Call bzero instead of looping.
1925
1926 Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
1927
1928 * dwarf2out.c (stripattributes): Prepend '*' to the section name.
1929
1930 Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
1931
1932 * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
1933 (output_prologue, output_epilogue): Merge VMS and OSF versions;
1934 Remove anything related to the actual code generation.
1935 (output_end_prologue): New function.
1936 (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
1937 (alpha_does_function_need_gp): Return false for VMS.
1938 (alpha_function_needs_gp): Make static.
1939 (add_long_const): Delete.
1940 (summarize_insn): Don't assume a SUBREG is of a REG.
1941 Prototype all static functions. Rename VMS-specific global
1942 variables vms_*.
1943 * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
1944 (FUNCTION_BOUNDARY): Align to cache line.
1945 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
1946 (FUNCTION_END_PROLOGUE): New macro.
1947 * alpha.md (attribute length): New. Mark all insns.
1948 (return_internal, prologue_stack_probe_loop) New patterns.
1949 (prologue, init_fp, epilogue): New patterns.
1950 Disable peepholes.
1951 * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
1952
1953 Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
1954
1955 * toplev.c (lang_options): Add -trigraphs option for cpplib.
1956
1957 Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1958
1959 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
1960 is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
1961 is earlier than RELOAD_FOR_INPUT_ADDRESS.
1962
1963 Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
1964
1965 * libgcc1-test.c (memcpy): Define.
1966
1967 Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
1968
1969 * genattrtab.c (struct attr_desc): Change int flags to bit
1970 fields. Add bit fields for this being function_units_used
1971 or *_blockage_range attributes.
1972 (write_unit_name): New function to print a function unit name
1973 given unit #.
1974 (expand_units): Indicate whether this is function_units_used or
1975 *_blockage_range attributes.
1976 (write_toplevel_expr): Print function_units_used and
1977 *_blockage_range attributes in a more friendly fashion.
1978 (make_internal_attr): Indicate whether this attribute is either
1979 function_units_used or *_blockage_range.
1980
1981 Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
1982 Jim Wilson <wilson@cygnus.com>
1983
1984 * regmove.c (copy_src_to_dest): Do not copy src to dest if either
1985 the source or destination is special.
1986
1987 Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
1988
1989 * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
1990
1991 Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
1992
1993 * version.c: Bump for snapshot.
1994
1995 Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
1996
1997 * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
1998 redefining it.
1999
2000 Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
2001
2002 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
2003 (ENDFILE_SPEC): Add -lgloss.
2004
2005 Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2006
2007 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2008 (large_int): Likewise.
2009 (pc_or_label_operand): Likewise.
2010 (call_insn_operand): Likewise.
2011 (consttable_operand): Likewise.
2012 (m16_uimm3_b): Likewise.
2013 (m16_simm4_1): Likewise.
2014 (m16_nsimm4_1): Likewise.
2015 (m16_simm5_1): Likewise.
2016 (m16_nsimm5_1): Likewise.
2017 (m16_uimm5_4): Likewise.
2018 (m16_nuimm5_4): Likewise.
2019 (m16_simm8_1): Likewise.
2020 (m16_nsimm8_1): Likewise.
2021 (m16_uimm8_1): Likewise.
2022 (m16_nuimm8_1): Likewise.
2023 (m16_uimm8_m1_1): Likewise.
2024 (m16_uimm8_4): Likewise.
2025 (m16_nuimm8_4): Likewise.
2026 (m16_simm8_8): Likewise.
2027 (m16_nsimm8_8): Likewise.
2028 (m16_usym8_4): Likewise.
2029 (m16_usym5_4): Likewise.
2030 (mips_move_1word): Change type of variable `i' from int to size_t.
2031 (mips_move_2words): Likewise.
2032 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
2033 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
2034 (function_arg): Likewise.
2035 (function_arg_partial_nregs): Mark parameter `named' with
2036 ATTRIBUTE_UNUSED.
2037 (override_options): Use ISDIGIT instead of isdigit.
2038 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
2039 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
2040 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
2041 function `fatal' to long before printing. Use
2042 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
2043 times in this function.
2044 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
2045 (function_epilogue): Likewise for parameters `file' and `size'.
2046 Print an int with "%d" not "%ld".
2047 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
2048 (mips_function_value): Likewise for parameter `func'.
2049 (function_arg_pass_by_reference): Likewise for parameters `cum'
2050 and `named'.
2051 (extend_operator): Likewise for parameter `mode'
2052 (highpart_shift_operator): Likewise.
2053
2054 * mips.md (mul_acc_si): Remove unused variable `macc'.
2055
2056 Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
2057
2058 * fold-const.c (fold): Revert last change. It breaks constant
2059 expressions somehow.
2060
2061 Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2062
2063 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
2064 prevent operands from being evaluated twice.
2065
2066 Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
2067
2068 * toplev.c (lang_options): Add -remap as a preprocessor option.
2069
2070 Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
2071
2072 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
2073 which set CC_REVERSED since reload should ensure that
2074 the operands are already the correct type.
2075
2076 Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
2077
2078 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
2079 calling gen_rtx_SET.
2080
2081 Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
2082
2083 * config/rs6000/x-aix43 (AR): Delete.
2084 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
2085
2086 Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
2087
2088 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
2089
2090 Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
2091
2092 * mips.c (override_options): Replace word_mode with explicit
2093 TARGET_64BIT check.
2094
2095 Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
2096
2097 * regmove.c (regmove_optimize): If we can't replace the
2098 destination in an insn that sets the source, generate an explicit
2099 move of the source to the destination.
2100 (copy_src_to_dest): New function.
2101 (toplevel): Include basic-block.h
2102
2103 * Makefile.in (regmove.o): Add basic-block.h dependencies.
2104
2105 Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
2106
2107 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
2108
2109 Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
2110
2111 * rtl.h (rtx_def): Improve documentation.
2112 (MEM_IN_STRUCT_P): Likewise.
2113
2114 Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
2115
2116 * c-decl.c (start_decl): Correct test for -Wmain.
2117
2118 * c-decl.c (grokdeclarator): Remove unused variable "last".
2119
2120 Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
2121
2122 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
2123 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
2124 Delete code storing value in static_chain_rtx.
2125 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
2126 to second expand_expr call.
2127
2128 Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
2129
2130 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
2131
2132 Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
2133
2134 * cppmain.c (fatal): New function.
2135 * configure.in (cpp_main): New configuration variable.
2136 * configure: Regenerated.
2137 * Makefile.in (CCCP): Use a configuration variable to select basex
2138 for cccp.
2139 (cppmain$(exeext)): Add @extra_cpp_objs@.
2140
2141 Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
2142
2143 * objc/objc-act.c: Add cpplib declarations.
2144 (lang_decode_option): Initialize cpplib if necessary.
2145 (lang_decode_option): New argc/argv interface.
2146 * tree.h (lang_decode_option): New argc/argv interface.
2147 * toplev.c (lang_options): Add cpp options.
2148 (main): New interface for lang_decode_option.
2149 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
2150 unless -E, -M or -MM is specified.
2151 * cpplib.h (cpp_handle_option): New function.
2152 * cpplib.c (cpp_handle_option): New function.
2153 (cpp_handle_options): Now calls cpp_handle_option.
2154 * c-tree.h (c_decode_option): New argc/argv interface.
2155 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
2156 * c-lang.c (lang_decode_option): New argc/argv interface.
2157 * c-decl.c: Add cpplib declarations.
2158 (c_decode_option): New argc/argv interface.
2159 (c_decode_option): Call cpp_handle_option.
2160 (c_decode_option): Now returns number of strings processed.
2161
2162 Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
2163
2164 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
2165 changes. Abort if the undo fails.
2166
2167 1998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
2168
2169 * config/rs6000/rs6000.c (output_prolog): Change locations and
2170 directions of saving and restoring arguments of main on the stack.
2171
2172 Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
2173
2174 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
2175 for each alternative. Do not replace a CONST_INT with a REG unless
2176 the reg is cheaper.
2177
2178 Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
2179
2180 * decl.c (init_decl_processing): Fix typo.
2181
2182 * mips.c (gpr_mode): New variable.
2183 (override_options): Initialize gpr_mode.
2184 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
2185 determine size and offset of general purpose registers save slots.
2186 (save_restore_insns, mips_expand_prologue): Similarly.
2187
2188 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
2189 between constant representations when we have (SUBREG (REG)) with
2190 REG equivalent to a constant.
2191
2192 Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
2193
2194 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
2195
2196 Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
2197
2198 * fold-const.c (fold): Even with otherwise constant trees, look for
2199 opportunities to combine integer constants.
2200
2201 Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
2202
2203 * i386.c (notice_update_cc): Clear cc_status.value2 in the
2204 case of UNSPEC 5 (bsf).
2205
2206 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
2207 conditional move instructions don't support signed integer
2208 comparisons.
2209
2210 Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
2211
2212 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
2213 overlfows.
2214
2215 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
2216 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
2217 <glctr@abc.it>.
2218
2219 Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2220
2221 * except.c (expand_start_catch): Rename to start_catch_handler.
2222 (expand_end_catch): Delete function.
2223 (expand_end_all_catch): Remove catch status that expand_end_catch
2224 use to do.
2225 * except.h (expand_start_catch): Rename prototype.
2226 (expand_end_catch): Delete prototype.
2227
2228 Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
2229
2230 * invoke.texi: Add documentation for -mips4 and -mabi=*.
2231
2232 Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
2233
2234 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
2235 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
2236 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
2237
2238 Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
2239
2240 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
2241 as the threshold to permit splitting memory operations.
2242
2243 Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
2244
2245 * mips.c (gpr_mode): New variable.
2246 (override_options): Initialize gpr_mode.
2247 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
2248 determine size and offset of general purpose registers save slots.
2249 (save_restore_insns, mips_expand_prologue): Similarly.
2250
2251 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
2252 (LIBGCC2_CFLAGS): Remove -fexceptions.
2253 (LIB2FUNCS): Remove "_eh".
2254 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
2255 it with -fexceptions.
2256
2257 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
2258 * local-alloc.c (block_alloc): Avoid creating false
2259 dependencies for targets which use instruction scheduling.
2260
2261 Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
2262
2263 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
2264 (ASM_FINISH_DECLARE_OBJECT): Define;
2265 * mips/elf64.h: Likewise.
2266
2267 Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
2268
2269 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
2270
2271 Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
2272
2273 * version.c: Bump for snapshot.
2274
2275 Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
2276
2277 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
2278 (mulsidi3_ppc64): Delete.
2279
2280 Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2281
2282 * Makefile.in (varasm.o): Depend on dbxout.h.
2283 (cse.o): Depend on toplev.h and output.h.
2284 (gcse.o): Depend on output.h.
2285
2286 * mips.c: Include system.h and toplev.h and remove redundant code.
2287 Include output.h after tree.h so all its prototypes get activated.
2288 * mips.md (table_jump): Remove unused variable `dest'.
2289
2290 * sparc.h: Add prototype for `v8plus_regcmp_op'.
2291
2292 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
2293 with __attribute__ ((__unused__)).
2294 (__frame_dummy): Provide prototype before use, wrap it with
2295 EH_FRAME_SECTION_ASM_OP.
2296
2297 * cse.c: Move inclusion of <setjmp.h> above local headers.
2298 Include toplev.h and output.h.
2299
2300 * dbxout.h: Add prototype for `dbxout_begin_function'.
2301
2302 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
2303 ASM_OUTPUT_MAX_SKIP_ALIGN.
2304
2305 * gcse.c: Include system.h and output.h.
2306 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
2307 Make extern instead of static.
2308 (compute_can_copy): Only declare variables `reg' and `insn' when
2309 AVOID_CCMODE_COPIES is not defined.
2310 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
2311 (hash_scan_clobber): Likewise for `x' and `insn'.
2312 (hash_scan_call): Likewise.
2313 (record_last_set_info): Likewise for `setter'.
2314 (mark_call): Likewise for `pat'.
2315 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
2316
2317 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
2318 length parameter so that it multiplies the number of elements by
2319 the sizeof(element).
2320
2321 * output.h: Add prototype for `weak_finish'.
2322
2323 * recog.h: Likewise for `validate_replace_src'.
2324
2325 * rtl.h: Likewise for `optimize_save_area_alloca',
2326 `fix_sched_param', `purge_addressof', `gcse_main',
2327 `regmove_optimize', `dbr_schedule', `branch_prob' and
2328 `end_branch_prob'.
2329
2330 * toplev.h: Likewise for `set_float_handler' and
2331 `output_quoted_string'.
2332
2333 * varasm.c: Include dbxout.h.
2334
2335 Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
2336
2337 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
2338 GP_REG_P. Use gr_regs instead of GR_REGS.
2339
2340 Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
2341 Jeff Law <law@cygnus.com>
2342
2343 * Revamped multiply support for MIPS chips.
2344 * mips.c (extend_operator): New function.
2345 (highpart_shift_operator): Likewise.
2346 * mips.h: Declare new functions.
2347 (PREDICATE_CODES): Add support for new predicates.
2348 * mips.md (mulsi3 expander): Simplify.
2349 (mulsi_mult3): Add another constraint alternative. Support
2350 3 operand multiply instructions as found on various mips
2351 parts.
2352 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
2353 (mul_acc_si): New pattern and associated splitters.
2354 (mulsidi3 expander): Rework to use mulsidi3_64bit and
2355 mulsidi3_internal.
2356 (umulsidi3): New expander.
2357 (mulsidi3_internal): Accept either sign or zero extended
2358 operands and generate code as appropriate appropriately.
2359 (mulsidi3_64bit): Similarly.
2360 (smulsi3_highpart): Turn into an expander and generate code
2361 to match new patterns.
2362 (umulsi3_highpart): Likewise.
2363 (xmulsi3_highpart_internal): New pattern.
2364 (maddi patterns): Delete. Replace with:
2365 (mul_acc_di, mul-acc_64bit_di): New patterns.
2366
2367 Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2368
2369 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
2370 flag_new_exceptions runtime flag.
2371 (struct old_exception_table): New struct which represents what
2372 the exception table looks like without the new model.
2373 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
2374 flag that this is a new style table.
2375 * except.h: Remove compile time flag NEW_EH_MODEL.
2376 (expand_builtin_eh_stub_old): New prototype.
2377 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
2378 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
2379 * c-decl.c (init_decl_processing): Add new builtin function
2380 __builtin_eh_stub_old.
2381 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
2382 * flags.h (flag_new_exceptions): New runtime flag.
2383 * toplev.c (flag_new_exceptions): Initialize default to 0,
2384 -fnew-exceptions sets to 1.
2385 * except.c (output_exception_table_entry): Output New style exception
2386 identifier into table, and replace compile time flag NEW_EH_MODEL
2387 with runtime flag flag_new_exceptions.
2388 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
2389 (expand_builtin_eh_stub_old): Duplicates original functionality of
2390 expand_builtin_eh_stub.
2391 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
2392 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
2393 (old_find_exception_handler): New func, same as find_exception_handler
2394 except it works on the old style exception table.
2395 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
2396 of identifier in the exception table, and call appropriate routines.
2397
2398 Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
2399
2400 * function.c: Define current_function_cannot_inline.
2401 (push_function_context_to): Save it.
2402 (pop_function_context_from): Restore it.
2403 * function.h (struct function): Provide it a home.
2404 * output.h: Declare it.
2405 * integrate.c (function_cannot_inline_p): Check it.
2406
2407 Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
2408
2409 * expr.c (force_operand): Detect PIC address loads before
2410 splitting arithmetic.
2411
2412 Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
2413
2414 * version.c: Bump for snapshot.
2415
2416 Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
2417
2418 * tree.c (tree_class_check): Add braces to eliminate ambigious
2419 else warning.
2420 (tree_check): Likewise.
2421
2422 Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
2423
2424 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
2425 stack is the destination for conditional move insn.
2426
2427 Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
2428
2429 * tree.h (TREE_VEC_END): Cast unused value to void.
2430
2431 * i386.c (print_operand): Use %lx for long operand.
2432
2433 Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
2434
2435 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
2436
2437 Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
2438
2439 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
2440 conversion functions.
2441
2442 Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
2443
2444 * toplev.c (flag_exceptions): Default to 0.
2445 (compile_file): Remove flag_exceptions == 2 hack.
2446 (main): Call lang_init_options.
2447 * tree.h: Declare it.
2448 * c-lang.c: Implement it.
2449 * objc/objc-act.c: Likewise.
2450
2451 Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
2452
2453 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
2454 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
2455 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
2456 (output_function_profiler): Use asm_fprintf and fputs.
2457
2458 Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2459
2460 * gencheck.c: Remove redundant stdio.h include. Add a definition
2461 of xmalloc for when we are forced to link with alloca.o.
2462
2463 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
2464 instead of `1U'.
2465
2466 * fold-const.c (constant_boolean_node): Make definition static to
2467 match the prototype.
2468
2469 Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
2470
2471 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
2472 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
2473 (do_spec, input_filename, input_filename_length): Make public.
2474 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
2475 Call lang_specific_pre_link befor elinking.
2476
2477 Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
2478
2479 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
2480 the insn which has the most insns dependent on it.
2481
2482 Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
2483
2484 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
2485
2486 Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
2487
2488 * alpha.md (insxh-1): New insxl pattern for combine.
2489
2490 Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
2491
2492 * i386/i386.c (output_fp_conditional_move): New function
2493 to output floating point conditional move.
2494 (output_int_conditional_move): New function to output integer
2495 conditional move.
2496
2497 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
2498 output_int_conditional_move () to output int conditional move.
2499 (movsfcc+5, movdfcc+5, movxfcc+5): Call
2500 output_fp_conditional_move () to output floating point
2501 conditional move.
2502
2503 * i386/i386.c (put_condition_code): In INT mode, check
2504 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
2505
2506 Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
2507
2508 * dbxout.c (dbxout_type): Output arrays of bits as if
2509 they were bitstrings for Chill
2510
2511 Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
2512
2513 * tree.c (get_inner_array_type): New function.
2514 * tree.h (get_inner_array_type): Prototype.
2515 * expr.h (STACK_SAVEAREA_MODE): New macro.
2516 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
2517 STACK_SAVEAREA_MODE.
2518 (expand_builtin_longjmp): Likewise.
2519 * explow.c (emit_stack_save): Likewise.
2520 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
2521
2522 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
2523 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
2524 * rs6000/aix43.h: New file.
2525 * rs6000/t-aix43: New file.
2526 * rs6000/x-aix41: New file.
2527 * rs6000/x-aix43: New file.
2528 * configure.in (rs6000-ibm-aix*): Use them.
2529 * rs6000/powerpc.h: Delete.
2530 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
2531 * rs6000/netware.h: and here.
2532 * rs6000/win-nt.h: and here.
2533
2534 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
2535 MASK_POWERPC64.
2536 (rs6000_override_options): Ignore flag_pic for AIX.
2537 (rs6000_immed_double_const): Delete.
2538 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
2539 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
2540 (num_insns_constant): mask64_operand() is 2 insns.
2541 (logical_operand): Don't assume 32-bit CONST_INT.
2542 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
2543 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
2544 (mask_constant): HOST_WIDE_INT parameter.
2545 (non_and_cint_operand): Delete.
2546 (mask64_operand): New function.
2547 (and64_operand): New function.
2548 (function_arg_advance): DImode arguments do not need special
2549 alignment when 64-bit.
2550 (function_arg): Likewise.
2551 (setup_incoming_varargs): Reverse reg_size assignment.
2552 (print_operand): HOST_WIDE_INT second parameter.
2553 (print_operand, 'B'): New case.
2554 (print_operand, 'M'): Fix typo in lossage string.
2555 (print_operandm 'S'): New case.
2556 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
2557 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
2558 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
2559 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
2560 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
2561 (rs6000_allocate_stack_space): Use {cal|la}.
2562 (output_epilog): Use {cal|la}
2563 (output_function_profiler): Add call glue to mcount call.
2564 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
2565
2566 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
2567 (STACK_BOUNDARY): Depend on TARGET_32BIT.
2568 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
2569 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
2570 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
2571 64-bit mask operand.
2572 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
2573 (STACK_SAVEAREA_MODE): New macro.
2574 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
2575 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
2576 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
2577 (ASM_FILE_START): Emit 64-bit ABI directive.
2578 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
2579 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
2580 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
2581 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
2582
2583 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
2584 Restore define_splits.
2585 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
2586 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
2587 Do not specify base register operand mode.
2588 (floatsidf2_loadaddr): Do not specify base register operand mode.
2589 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
2590 register; do not specify mode. Remove !TARGET_POWERPC64 final
2591 constraint.
2592 (floatsidf2_load): Do not specify base register operand mode. Remove
2593 !TARGET_POWERPC64 final constraint.
2594 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
2595 base register operand mode.
2596 (adddi3): Split large constants early.
2597 (absdi3): Shift by 63, not 31.
2598 (*mulsidi3_ppc64): New pattern.
2599 (rotldi3): Add masking combiner patterns.
2600 (anddi3): Add rldic{r,l} masking. Remove split of large constants
2601 because PPC insns zero-extend.
2602 (iordi3, xordi3): Split large constants early.
2603 (movsi matcher): Remove S and T constraints.
2604 (movsf const_double): create SImode constant from TARGET_DOUBLE.
2605 (movdf_hardfloat32): Add default abort() case.
2606 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
2607 (movdi): Remove 64-bit constant generator. Try to convert
2608 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
2609 (movdi_32): Add default abort() case.
2610 (movdi_64): Add numerous ways to split 64-bit constants.
2611 Make catch-all define_split more optimal and never FAIL.
2612 (movti_ppc64): Add default abort() case.
2613 (allocate_stack): Remove operand modes. Use Pmode.
2614 (restore_stack_block): Remove operand modes. Generate Pmode
2615 temporary.
2616 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
2617 temporary. Save area is double Pmode.
2618 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
2619 (call, call_value): Do not specify address operand mode. Choose
2620 appropriate AIX ABI.
2621 (*call_local64, *ret_call_local64): New patterns.
2622 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
2623 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
2624 (compare): Materialize DImode truthvalues.
2625
2626 Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
2627
2628 * expr.c (safe_from_p): Avoid combinatorial explosion
2629 over duplicate SAVE_EXPRs by ensuring we never recurse
2630 on one that has already been visited.
2631
2632 Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
2633
2634 * loop.c (check_dbra_loop): Initialise final_value before
2635 normalizing the loop.
2636
2637 Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2638
2639 * reload1.c (reload_reg_free_for_value_p): New arguments out and
2640 reloadnum. Changed all callers.
2641
2642 1998-06-03 Ulrich Drepper <drepper@cygnus.com>
2643
2644 * system.h: Add _() and N_() macros in preparation for gettext.
2645
2646 Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2647
2648 * c-common.c (check_format_info): Put back check for C9x `hh'
2649 length modifier. Warn about %n format writing into const. Remove
2650 obsolete comment.
2651 (format_char_info): Fix comments.
2652
2653 * configure.in: Set float_format to m68k for all m68k targets that
2654 do not override LONG_DOUBLE_TYPE_SIZE.
2655 * config/float-m68k.h: New file.
2656
2657 Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
2658
2659 * jump.c (jump_optimize): Remove debug messages accidentally left in
2660 with the previous change.
2661
2662 Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
2663
2664 * expr.c (store_expr): Revert stray patch associated with
2665 1998-05-23 commit.
2666
2667 Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
2668
2669 * jump.c (rtx_unsafe_p): New function.
2670 (jump_optimize): Use it on if/then/else transformations and
2671 conditional move transformations.
2672
2673 Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2674
2675 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
2676 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
2677 Cope with CONST being out of range for the bitfield.
2678
2679 Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
2680
2681 * expr.c (emit_move_insn_1): When moving complex values in several
2682 steps, emit a CLOBBER to show the destination dies.
2683
2684 Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
2685
2686 * Makefile.in (site.exp): Use the object testsuite directory as
2687 the temporary directory.
2688
2689 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
2690 address of an ADDRESSOF rtx.
2691
2692 1998-06-02 Mike Stump <mrs@wrs.com>
2693
2694 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
2695 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
2696 * i960.md (ret, flush_register_windows): Define.
2697 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
2698 work yet.
2699 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
2700
2701 Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
2702
2703 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
2704 around an OSF/1 library bug wrt sign-extension of inputs.
2705
2706 Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
2707
2708 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
2709
2710 Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
2711
2712 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
2713
2714 * varasm.c (assemble_variable): Augment alignment warning.
2715
2716 Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
2717
2718 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
2719 in the presence of IEEE negative 0's.
2720
2721 Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
2722
2723 * reload.c (find_reloads): Record the existing mode if
2724 operand_mode == VOIDmode before replacing a register with
2725 a constant.
2726 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
2727 i386_compare_op1 to const0_rtx for the benefit of the
2728 conditional move patterns.
2729 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
2730 based on suggestions from Jim Wilson.
2731
2732 Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
2733
2734 * version.c: Bump for snapshot.
2735
2736 Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
2737
2738 * Makefile.in (fixinc.sh): Update rules again.
2739
2740 Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
2741
2742 * extend.texi: Bring back reference to trampoline paper.
2743
2744 Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
2745
2746 * Makefile.in (USER_H): Add stdbool.h.
2747 * ginclude/stdbool.h: New file.
2748
2749 Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
2750
2751 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
2752 of a non-note insn.
2753
2754 * gcse.c (pre_delete): Fix code to determine the mode of
2755 the reaching pseudo register.
2756
2757 Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
2758
2759 * Makefile.in (GEN): Add gencheck
2760 (STAGESTUFF): Add tree-check.h and gencheck.
2761
2762 Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
2763
2764 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
2765 (fixinc.sh): Set some additional environment variables before
2766 calling mkfixinc.sh.
2767
2768 Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
2769
2770 * reload.c (find_reloads): Do not force a reloads of match_operators.
2771
2772 Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2773
2774 * except.h (remove_handler): Add new prototype.
2775 * except.c (remove_handler): New function to remove handlers
2776 from an exception region.
2777 * flow.c (find_basic_blocks_1): Remove handlers from regions when
2778 handler label is deleted; remove exception regions with no handlers.
2779
2780 Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
2781
2782 * except.h (rtx): Define rtx type correctly if needed.
2783 * function.h (rtx): Ditto.
2784 (tree): Define tree type correctly if needed.
2785
2786 * c-pragma.c (toplevel): Include rtl.h.
2787
2788 * stor-layout.c (toplevel): Move include of rtl.h before
2789 except.h.
2790
2791 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
2792 (tree.o): Add except.h dependency.
2793
2794 Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
2795
2796 * reload1.c: Revert accidental checkin.
2797
2798 * configure.lang: Fix thinko when adding a definition for
2799 target_alias to the Makefile.
2800
2801 Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
2802
2803 * config/sparc/lb1spc.asm (.rem and .urem): Replace
2804 routines.
2805
2806 Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
2807
2808 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
2809 variable warnings. Don't generate scratch registers if only
2810 counting insns.
2811 (find_barrier): Eliminate unused variable SRC.
2812
2813 1998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
2814
2815 * toplev.h (rtx_def): Provide global declaration to avoid
2816 `limited scope' warnings.
2817
2818 Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
2819
2820 * Makefile.in (gencheck.o): Use HOST_CC.
2821 * i386/t-mingw32: New file.
2822 * configure.in (i386-*-mingw32*): Use.
2823
2824 Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
2825
2826 * arm.c (bad_signed_byte_operand): New predicate function.
2827 * arm.h (PREDICATE_CODES): Add it to the list.
2828 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
2829 can't handle.
2830 (define_split): Two new splits for above insns.
2831
2832 * arm.c: Include toplev.h.
2833 (arm_override_options): Add parentheses around use of tune_flags.
2834 (arm_split_constant): Remove unused variable.
2835 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
2836 (output_func_prologue, arm_expand_prologue): Likewise.
2837 (arm_canonicalize_comparison): Make I unsigned; rework constants
2838 accordignly. Add missing paratheses around << operation.
2839 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
2840 clause.
2841 ({load,store}_multiple_sequence): Initialize BASE_REG.
2842 (select_dominance_cc_mode): Add DEFAULT clauses.
2843 (broken_move): Return zero if the destination is not a register.
2844 (arm_reorg): Move unused REGNO declaration into the dead code.
2845 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
2846
2847 Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
2848
2849 * version.c: Bump for snapshot.
2850
2851 Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
2852
2853 * version.c: Bump for snapshot.
2854
2855 Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
2856
2857 * cpperror.c (v_cpp_message): Remove static prototype.
2858 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
2859 * cpplib.h (v_cpp_message): Add protoptype.
2860 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
2861
2862 Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
2863
2864 * version.c: Bump for snapshot.
2865
2866 Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
2867
2868 * version.c: Bump for snapshot.
2869
2870 1998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2871
2872 * m68k.h: Declare more functions used in macros.
2873 (REG_CLASS_CONTENTS): Completely embrace initializer.
2874 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
2875 about returning no value.
2876 * cse.c (find_best_addr): Declare p and found_better only if
2877 needed.
2878 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
2879 * dwarfout.c (string_length_attribute): #if 0 away.
2880 * function.c (expand_function_end): Define varible blktramp only
2881 if needed.
2882 * jump.c (find_insert_position): Define only if !HAVE_cc0.
2883 * loop.c (combine_givs_p): Define variable tem only if needed.
2884 * real.c: Comment out unused functions eabs, eround,
2885 e{24,53,64,113}toasc and eiinfin.
2886
2887
2888 Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
2889
2890 * Makefile.in (boostrap2-lean, bootstrap3-lean,
2891 bootstrap4-lean): New targets.
2892
2893 Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
2894
2895 * warn_summary, test_summary: Moved into the contrib directory.
2896
2897 1998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
2898
2899 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
2900 of the Makefile.
2901 (FLOAT_H_TEST): Likewise.
2902 (ENQUIRE): Likewise.
2903 (float.h-nat): Likewise.
2904 (float.h-cross): Likewise.
2905 (enquire): Likewise.
2906 (enquire.o): Likewise.
2907 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
2908 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
2909 no-op.
2910 (FLOAT_H): Remove old float.h-nat version; move current definition
2911 to CROSS_FLOAT_H location.
2912 (all.cross): Remove comments about enquire stuff.
2913
2914 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
2915 (rest.encap): Likewise.
2916 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
2917
2918 * toplev.h (tree_node): Provide global declaration to avoid
2919 `limited scope' warnings.
2920
2921 Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
2922
2923 * test_summary: Display section breaks for each entry
2924 in a multilibbed target's output.
2925
2926 1998-05-23 Richard Henderson <rth@cygnus.com>
2927
2928 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
2929 offset's mode is not ptr_mode, convert it.
2930
2931 1998-05-22 Jason Merrill <jason@yorick.cygnus.com>
2932
2933 * fold-const.c (ssize_binop): New fn.
2934 * tree.h: Declare it.
2935
2936 Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
2937
2938 * genextract.c (print_path): Handle zero-length path as a special
2939 case.
2940
2941 Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
2942
2943 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
2944
2945 Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2946
2947 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
2948 (shorten_branches, final_scan_insn): Test value of
2949 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
2950 is defined.
2951 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
2952 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
2953 * arm/tcoff.h: Likewise.
2954 * i386/386bsd.h: Likewise.
2955 * i386/freebsd-elf.h: Likewise.
2956 * i386/freebsd.h: Likewise.
2957 * i386/netbsd.h: Likewise.
2958 * i386/ptx4-i.h: Likewise.
2959 * i386/sysv4.h: Likewise.
2960 * pa/pa.h: Likewise.
2961 * rs6000/linux.h: Likewise.
2962 * rs6000/rs6000.h: Likewise.
2963 * sh/sh.h: Likewise.
2964 * sparc/sp64-elf.h: Likewise.
2965 * v850/v850.h: Likewise.
2966 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
2967 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
2968
2969 Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2970
2971 * regmove.c (gen_add3_insn): New function.
2972 (fixup_match_2): Use it instead of calling gen_addsi3.
2973
2974 Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
2975
2976 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
2977
2978 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
2979 address.
2980
2981 Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
2982
2983 * Makefile.in (TREE_H): Add tree-check.h.
2984 (tree-check.h, gencheck): New targets.
2985 * gencheck.c: New file.
2986 * tree.c (tree_check, tree_class_check): New functions.
2987 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
2988 (TYPE_CHECK, DECL_CHECK): Define.
2989 Modify all access macros to use generated checking macros.
2990
2991 Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
2992
2993 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
2994 * configure.in: Check for it.
2995 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
2996 * final.c (uid_align, uid_shuid, label_align): Make static.
2997 (label_align): Change type to struct label_alignment pointer.
2998 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
2999 (LABEL_TO_MAX_SKIP): Define.
3000 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
3001 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
3002 (shorten_branches): Record the maximum bytes to skip when
3003 aligning a label.
3004 (final_scan_insn): Use the maximum bytes to skip when aligning a label
3005 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
3006 * i386.h (LOOP_ALIGN_MAX_SKIP,
3007 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
3008 * i386.c (override_options): i386_align_jumps and i386_align_loops
3009 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
3010 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
3011
3012 1998-05-21 Mark Mitchell <mmitchell@usa.net>
3013
3014 * cplus-dem.c (do_type): Handle volatile qualification.
3015
3016 Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
3017
3018 * function.c (init_function_start): Don't call emit_line_note if
3019 lineno is 0. (Can happen when compiling Java .class files.)
3020
3021 Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3022
3023 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
3024 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
3025
3026 Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3027
3028 * combine.c (nonzero_bits): For paradoxical subregs, take
3029 LOAD_EXTENDED_OP into account.
3030
3031 Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
3032
3033 * configure.in (extra_c_objs): add prefix.o.
3034 (extra_cxx_objs): extra objects for C++ with cpplib.
3035 * configure: Regenerate.
3036
3037 * c-tree.h: (get_directive_line): Different prototype for cpplib.
3038 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
3039
3040 * c-lex.h: (get_directive_line): Not needed here for cpplib.
3041
3042 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
3043 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
3044
3045 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
3046 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
3047
3048 Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3049
3050 * gengenrtl.c (type_from_format, accessor_from_format): Change
3051 type of parameter `c' from `char' to `int'.
3052
3053 Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
3054
3055 * warn_summary, test_summary: New scripts from
3056 Kaveh Ghazi and Alexandre Oliva respectively.
3057
3058 * gcse.c (current_function_calls_longjmp): Declare.
3059
3060 1998-05-20 Jason Merrill <jason@yorick.cygnus.com>
3061
3062 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
3063
3064 Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
3065 Jeff Law (law@cygnus.com)
3066
3067 * Global CSE and constant/copy propagation.
3068 * Makefile.in (OBJS): Add gcse.o
3069 (STAGESTUFF): Add *.gcse.
3070 (gcse.o): Add dependencies.
3071 (mostlyclean): Remove *.gcse and */*.gcse.
3072 * gcse.c: New file.
3073 * loop.c (loop_optimize): Move call to init_alias_analysis.
3074 * recog.c (validate_replace_src): New function.
3075 * toplev.c (gcse_dump): New global variable.
3076 (flag_gcse, gcse_time): Likewise.
3077 (compile_file): Initialize gcse_time and clean out the gcse dump
3078 file if necessary.
3079 (rest_of_compilation): Call gcse_main as requested. Dump RTL
3080 after gcse if requested.
3081 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
3082 dumps for -da.
3083 * gcc.texi: Add gcse related internal documentation.
3084 * invoke.texi: Note new command line options for gcse.
3085 * tm.texi: Document AVOID_CCMODE_COPIES.
3086 * mips.h (AVOID_CCMODE_COPIES): Define.
3087
3088 Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
3089
3090 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
3091 exists.
3092 (stmp-fixproto): Simlarly for running fixproto.
3093 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
3094
3095 Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
3096
3097 * config/mips/mips.c (double_memory_operand): Accept any MEM during
3098 reload when TARGET_64BIT.
3099
3100 Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
3101
3102 Finish incomplete change started by Kenner.
3103 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
3104 (powerpcle-*-cygwin32): Delete xm_defines.
3105 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
3106 HAVE_STAB_H instead of NO_STAB_H.
3107 * config/xm-linux.h (NO_STAB_H): Delete.
3108 (HAVE_STAB_H): Undefine.
3109 * config/i386/xm-go32.h (NO_STAB_H): Delete.
3110
3111 1998-05-19 Jim Wilson <wilson@cygnus.com>
3112
3113 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
3114 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
3115
3116 Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
3117
3118 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
3119
3120 Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3121
3122 * reload1.c (reload_reg_free_for_value_p): New function.
3123 (allocate_reload_reg, choose_reload_regs): Use it.
3124
3125 Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
3126
3127 * except.c (expand_start_catch): Correct logic for when to
3128 generate a new handler label, and when to use the old one.
3129
3130 Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3131
3132 * Makefile.in (print-rtl.o): Depend on bitmap.h.
3133 (dbxout.o): Depend on toplev.h.
3134 ($(SCHED_PREFIX)sched.o): Likewise.
3135 ($(out_object_file)): Likewise for system.h and toplev.h.
3136 (cppmain.o): Depend on gansidecl.h.
3137 (cpplib.o): Likewise.
3138 (cpperror.o): Likewise.
3139 (cppexp.o): Likewise.
3140 (cpphash.o): Likewise.
3141 (cppalloc.o): Likewise.
3142 (fix-header.o): Depend on cpplib.h and cpphash.h.
3143 (scan-decls.o): Depend on gansidecl.h.
3144
3145 * basic-block.h (free_regset_vector): Add prototype.
3146
3147 * cccp.c (check_precompiled): Mark parameter `fname' with
3148 ATTRIBUTE_UNUSED.
3149 (do_assert): Likewise for `op' and `keyword'.
3150 (do_unassert): Likewise.
3151 (do_line): Likewise for `keyword'.
3152 (do_error): Likewise for `op' and `keyword'.
3153 (do_warning): Likewise.
3154 (do_ident): Likewise for `keyword'.
3155 (do_pragma): Likewise for `limit', `op' and `keyword'.
3156 (do_sccs): Likewise.
3157 (do_if): Likewise for `keyword'.
3158 (do_elif): Likewise.
3159 (do_else): Likewise.
3160 (do_endif): Likewise.
3161
3162 * collect2.c (getenv): Remove redundant prototype.
3163 (collect_exit, collect_execute, dump_file): Likewise.
3164 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
3165 (dump_prefix_list): Hide prototype and definition.
3166
3167 * sparc.c: Include toplev.h.
3168 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
3169 (symbolic_memory_operand): Likewise.
3170 (sp64_medium_pic_operand): Likewise.
3171 (data_segment_operand): Likewise.
3172 (text_segment_operand): Likewise.
3173 (splittable_symbolic_memory_operand): Likewise.
3174 (splittable_immediate_memory_operand): Likewise.
3175 (eq_or_neq): Likewise.
3176 (normal_comp_operator): Likewise.
3177 (noov_compare_op): Likewise.
3178 (v9_regcmp_op): Likewise.
3179 (v8plus_regcmp_op): Likewise.
3180 (extend_op): Likewise.
3181 (cc_arithop): Likewise.
3182 (cc_arithopn): Likewise.
3183 (small_int): Likewise.
3184 (uns_small_int): Likewise.
3185 (clobbered_register): Likewise.
3186 (legitimize_pic_address): Likewise.
3187 (delay_operand): Likewise.
3188 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
3189
3190 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
3191 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
3192
3193 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
3194
3195 * cppalloc.c: Include gansidecl.h.
3196
3197 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
3198 (cpp_file_line_for_message): Mark parameter `pfile' with
3199 ATTRIBUTE_UNUSED.
3200 (v_cpp_message): New function.
3201 (cpp_message): Use it. Also convert to variable arguments.
3202 (cpp_fatal): Likewise.
3203 (cpp_pfatal_with_name): Constify parameter `name'.
3204
3205 * cppexp.c: Move gansidecl.h before cpplib.h.
3206 * cpphash.c: Likewise.
3207 * cpphash.h (hashf, delete_macro): Add prototypes.
3208
3209 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
3210 cpplib.h. Don't include errno.h.
3211 (update_path): Add arguments to prototype.
3212 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
3213 cpp_print_containing_files): Remove redundant prototypes.
3214 (cpp_hash_cleanup, add_import, append_include_chain,
3215 make_assertion, path_include, initialize_builtins,
3216 initialize_char_syntax, finclude, validate_else, comp_def_part,
3217 lookup_import, redundant_include_p, is_system_include,
3218 read_name_map, read_filename_string, open_include_file,
3219 check_macro_name, compare_defs, compare_token_lists,
3220 eval_if_expression, change_newlines): Add prototype arguments.
3221 (hashf): Remove redundant prototype.
3222 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
3223 conditional_skip, skip_if_group): Add prototype arguments.
3224 (fdopen): Remove redundant prototype.
3225 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
3226 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
3227 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
3228 (struct directive): Add prototype arguments to function pointer
3229 member `func'.
3230 (handle_directive): Add missing arguments to call to `do_line'.
3231 (do_include): Mark parameters `unused1' and `unused2' with
3232 ATTRIBUTE_UNUSED.
3233 (do_line): Likewise for `keyword' and new parameters `unused1' and
3234 `unused2'.
3235 (do_error): Likewise for `keyword'.
3236 (do_warning): Likewise. Also add missing argument `pfile' in call
3237 to cpp_pedwarn.
3238 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
3239 ATTRIBUTE_UNUSED.
3240 (do_ident): Likewise for `keyword', `buf' and `limit'.
3241 (do_pragma): Likewise. Also add missing arguments in call to do_once.
3242 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
3243 ATTRIBUTE_UNUSED.
3244 (do_if): Likewise for `keyword'.
3245 (do_elif): Likewise.
3246 (eval_if_expression): Likewise for `buf' and `length'.
3247 (do_xifdef): Likewise for `unused1' and `unused2'.
3248 (do_else): Likewise for `keyword', `buf' and `limit'.
3249 (do_endif): Likewise.
3250 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
3251 (cpp_handle_options): Remove superfluous NULL argument in call to
3252 cpp_fatal.
3253 (cpp_handle_options): Likewise.
3254 (do_assert): Mark parameter `keyword', `buf' and `limit' with
3255 ATTRIBUTE_UNUSED.
3256 (do_unassert): Likewise.
3257 (cpp_print_file_and_line): Add missing argument `pfile' in call to
3258 cpp_file_line_for_message.
3259 (v_cpp_error): New function.
3260 (cpp_error): Use it. Also accept variable arguments.
3261 (v_cpp_warning): New function.
3262 (cpp_warning): Use it. Also accept variable arguments.
3263 (cpp_pedwarn): Accept variable arguments.
3264 (v_cpp_error_with_line): New function
3265 (cpp_error_with_line): Use it. Accept variable arguments.
3266 (v_cpp_warning_with_line): New function.
3267 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
3268 definition.
3269 (cpp_pedwarn_with_line): Accept variable arguments.
3270 (cpp_pedwarn_with_file_and_line): Likewise.
3271 (cpp_error_from_errno): Constify parameter `name'. Add missing
3272 argument `pfile' in call to cpp_file_line_for_message.
3273 (cpp_perror_with_name): Constify parameter `name'.
3274
3275 * cpplib.h: Define PARAMS() in terms of PROTO().
3276 (fatal): Remove redundant prototype.
3277 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
3278 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
3279 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
3280 cpp_fatal, cpp_message, cpp_pfatal_with_name,
3281 cpp_file_line_for_message, cpp_print_containing_files): Add
3282 arguments to prototypes.
3283 (scan_decls, cpp_finish): Add prototypes.
3284
3285 * cppmain.c: Include gansidecl.h.
3286 (main): Remove unused variable `i'.
3287
3288 * dbxout.c: Include toplev.h.
3289
3290 * demangle.h (do_tlink, collect_execute, collect_exit,
3291 collect_wait, dump_file, file_exists): Add prototype.
3292
3293 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
3294 prototype and definition.
3295 (gen_unspecified_parameters_die): Don't assign results of call to
3296 function new_die() to unused variable `parm_die'.
3297 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
3298 (dwarf2out_define): Likewise for `lineno' and `buffer'.
3299
3300 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
3301 prototype and definition.
3302 (output_die): Add prototype arguments to function pointer arg.
3303 (output_unspecified_parameters_die): Mark parameter `arg' with
3304 ATTRIBUTE_UNUSED.
3305
3306 * except.c (output_exception_table_entry): Remove unused variable
3307 `eh_entry'.
3308
3309 * except.h (expand_fixup_region_start, expand_fixup_region_end):
3310 Add prototypes.
3311
3312 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
3313
3314 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
3315
3316 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
3317 before cpplib.h, include cpphash.h, remove redundant prototype of
3318 cpp_fatal, don't define `const', add a prototype for `fatal'.
3319 (cpp_file_line_for_message): Add missing arguments `pfile'.
3320 (v_cpp_message): New function.
3321 (cpp_message): Use it.
3322 (v_fatal): New function.
3323 (fatal, cpp_fatal): Use it.
3324 (cpp_pfatal_with_name): Constify parameter `name'.
3325
3326 * flow.c (free_regset_vector): Remove redundant prototype.
3327
3328 * function.c (round_down): Wrap prototype and definition with
3329 macro ARGS_GROW_DOWNWARD.
3330 (record_insns): Wrap prototype and definition with
3331 defined (HAVE_prologue) || defined (HAVE_epilogue).
3332
3333 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
3334
3335 * gen-protos.c: Include gansidecl.h.
3336 (hashf): Don't make it static, constify parameter `name'.
3337
3338 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
3339 specifier %s in calls to function `fatal'.
3340
3341 * haifa-sched.c: Include toplev.h.
3342 (find_rgns): Remove unused variable `j'.
3343
3344 * integrate.c (note_modified_parmregs): Mark parameter `x' with
3345 ATTRIBUTE_UNUSED.
3346 (mark_stores): Likewise.
3347
3348 * jump.c (mark_modified_reg): Likewise.
3349
3350 * output.h (insn_current_reference_address): Add prototype.
3351 (eh_frame_section): Likewise.
3352
3353 * print-rtl.c: Include bitmap.h.
3354
3355 * reload1.c (reload): Wrap variables `note' and `next' in macro
3356 PRESERVE_DEATH_INFO_REGNO_P.
3357 (forget_old_reloads_1): Mark parameter `ignored' with
3358 ATTRIBUTE_UNUSED.
3359 (choose_reload_regs): Remove unused variable `in'.
3360 (reload_cse_invalidate_mem): Mark parameter `ignore' with
3361 ATTRIBUTE_UNUSED.
3362 (reload_cse_check_clobber): Likewise.
3363
3364 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
3365 (mark_elimination): Fix typo in prototype.
3366
3367 * scan-decls.c: Include gansidecl.h.
3368
3369 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
3370
3371 Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
3372
3373 * function.c (identify_blocks): Fix thinko when setting the
3374 block number for NOTE_INSN_BLOCK_END.
3375
3376 Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
3377
3378 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
3379 ___udivsi3.
3380
3381 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
3382 underscores for the prefixes to the names of the maths functions.
3383
3384 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
3385 comment explaining why.
3386
3387 Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
3388
3389 * tree.h (TYPE_SIZE_UNIT): New.
3390 (struct tree_type): Add size_unit member.
3391 * stor-layout.c (layout_type): Initialize it.
3392 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
3393 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
3394
3395 Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
3396
3397 * stor-layout.c (layout_record): Fix off-by-one error when checking
3398 length of the TYPE_BINFO vector.
3399
3400 Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
3401
3402 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
3403 function parameter passed in memory.
3404
3405 Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
3406
3407 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
3408 Prototypes for externally used functions in respective C files.
3409 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
3410 final.c: Include above files.
3411 * Makefile.in (toplev.o): Add dependency for above four headers.
3412 (final.o): Likewise.
3413 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
3414 respective header files.
3415
3416 Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
3417
3418 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
3419 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
3420 the build tree if they exist.
3421 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
3422 appropriately.
3423 (objdir): Let configure substitute value.
3424 (FLOAT_H): Let configure select a pre-built version from the
3425 config subdir.
3426 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
3427 * configure.in: Substitute for objdir.
3428
3429 * Makefile.in (build_canonical, host_canonical): Let configure
3430 substitute values for these variables.
3431 * configure.in: Substitute for build_canonical, host_canonical
3432 and target_subdir in generated Makefile.
3433
3434 * output.h (find_basic_blocks): Declare.
3435 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
3436
3437 * Makefile.in (BISON): Use bison from the build tree if it exists.
3438 (FLEX): Similarly.
3439
3440 Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
3441
3442 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
3443 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
3444 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
3445 command line arguments to see if an executable is not being
3446 created, and if so - do not append the suffix.
3447
3448 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
3449 driver macro.
3450
3451 Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
3452
3453 * i386.h (ALIGN_DFmode): Delete.
3454 (CONSTANT_ALIGNMENT): Define.
3455 * varasm.c (force_const_mem): Use it.
3456
3457 Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
3458
3459 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
3460 using it with swap_condition, not before.
3461
3462 Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
3463
3464 * alias.c (mode_alias_check): Delete.
3465 (true_dependence, anti_dependence, output_dependence): Revert April 21
3466 change.
3467
3468 Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
3469
3470 * toplev.c (output_lang_identify): Enable prototype and definition.
3471
3472 Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
3473
3474 * version.c: Bump for snapshot.
3475
3476 Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
3477
3478 * alpha/osf.h (HAVE_STAMP_H): Define.
3479 * alpha.c: Use it.
3480 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
3481 * configure.in (alpha*-*-netbsd*): New.
3482 Based on patches from Paul H. Anderson <pha@pdq.com>.
3483
3484 * configure.in (alpha*-*-linux-*): Kill xm_defines.
3485 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
3486 * alpha/xm-linux.h: Remove file.
3487
3488 Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
3489
3490 * dbxout.c (dbxout_parms): If mode of type of parameter living
3491 in memory doesn't match mode of DECL_RTL, make big endian correction.
3492
3493 Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
3494
3495 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
3496
3497 Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
3498
3499 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
3500 * stor-layout.c (layout_record): Set it.
3501
3502 Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
3503
3504 * toplev.c (rest_of_compilation): Don't defer nested functions.
3505
3506 Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
3507
3508 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
3509 to an 8-byte boundary if info_ptr->fpmem_p.
3510
3511 Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
3512
3513 * loop.c (basic_induction_var): Added test preventing
3514 CCmode parameter passed to convert_modes().
3515
3516 Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
3517
3518 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
3519 input_filename and lineno around expand_expr call. Set them to values
3520 in WFL before expand_expr call.
3521
3522 Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
3523
3524 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
3525
3526 Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
3527
3528 * fold-const.c (constant_boolean_node): New function.
3529 (fold): Use it.
3530
3531 Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3532
3533 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
3534 Abort if trying to split kind 3 or 4 outside of combine.
3535
3536 Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
3537
3538 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
3539
3540 Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
3541
3542 * objc/Make-lang.in (OBJC_O): Add missing exeext.
3543 (libobjc.a, runtime-info.h): Likewise.
3544
3545 Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
3546
3547 * i386.h (DATA_ALIGNMENT): Define.
3548
3549 Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3550
3551 * reload1.c (delete_output_reload): Ignore single USE that
3552 was emitted for the pseudo use of this INSN.
3553 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
3554 remains, we can always delete OUTPUT_RELOAD_INSN.
3555
3556 Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
3557
3558 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
3559
3560 Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
3561
3562 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
3563
3564 Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
3565
3566 * eh-common.h: New file for basic EH data structures.
3567 * except.h: Various prototypes and structures for NEW_EH_MODEL
3568 * function.h (struct function): Add a struct eh_stack for the catch
3569 clause stack.
3570 * except.c (gen_exception_label): New function to generate an
3571 exception label.
3572 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
3573 (push_entry): New function to push an existing entry onto a stack.
3574 (receive_exception_label): New function to emit the code required
3575 at the start of all catch blocks.
3576 (struct func_eh_entry): New structure for maintaining handlers
3577 associated with EH regions.
3578 (new_eh_region_entry): New function to register an EH region.
3579 (add_new_handler): New function to register a handler with a region.
3580 (get_new_handler): Creates anew handler entry for registering.
3581 (find_func_region): New function to convert a NOTE eh region number
3582 to an Eh region index.
3583 (get_first_handler): New function to get the first handler in a region.
3584 (clear_function_eh_region): New function to release memory.
3585 (duplicate_handlers): New function to duplicate a list of handlers.
3586 (expand_eh_region_end): Create a new region entry node as well.
3587 (expand_leftover_cleanups): Call receive_exception_label() and
3588 register the cleanup as a handler to the current region.
3589 (expand_start_catch): New function to start a catch clause.
3590 (expand_end_catch): New function to end a catch clause.
3591 (expand_start_all_catch): restructure to not do the equivilent of
3592 what expand_start_catch() does now. Push the exception region being
3593 handled onto the catch stack.
3594 (output_exception_table_entry): Issue an entry for each handler
3595 associated with a region.
3596 (set_exception_lang_code): New function for setting the language code.
3597 (set_exception_version_code): New function to set the version number.
3598 (output_exception_table): Output version and language codes.
3599 (find_exception_handler_labels): Find handler labels using new scheme.
3600 (is_exception_handler_label): New function, returns 1 if label is
3601 present as a handler in some exception region.
3602 (check_exception_handler_labels): Use the new scheme.
3603 (init_eh_for_function): Initialize the catch stack.
3604 (save_eh_status): Save the catch stack.
3605 (restore_eh_status): Restore the catch stack.
3606 (scan_region): Don't remove unreferenced handler label. Flow does it.
3607 (get_reg_for_handler): New function to get the eh_context pointer
3608 passed by __throw.
3609 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
3610 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
3611 entry when processing END region rather that START region.
3612 * flow.c (find_basic_blocks_1): Find all potential handler regions
3613 now that we don't automatically know what the labels might be.
3614 Let scan_region() remove unreferenced EH BEGIN/END labels.
3615 * integrate.c (get_label_from_map): Put inlined labels onto the
3616 permanent obstack since we dont know which ones might be exception
3617 labels.
3618 (save_for_inline_copying): Make new copies of all the handlers.
3619 (expand_inline_function): Make new copies of all the handlers.
3620 * libgcc2.c: Remove local struct decls, and include eh-common.h.
3621 (find_exception_handler): With NEW_EH_MODEL the first matching
3622 region we find is the right one. Add eh_info as a new parameter.
3623 (__throw): Pass eh_info to find_exception_handler. Set handler
3624 and pass use different regs under NEW_EH_MODEL.
3625
3626 Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
3627
3628 * i960.h (hard_regno_mode_ok): Changed to function from array of
3629 unsigned.
3630 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
3631 * i960.c (hard_regno_mode_ok): Changed to function from array of
3632 unsigned.
3633
3634 Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3635
3636 * reload.c (remove_replacements): New function.
3637 * reload.h (remove_replacements): Declare.
3638 * reload1.c (choose_reload_regs): Disable some reloads that
3639 belong to inherited reloads.
3640
3641 Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3642
3643 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
3644
3645 * reload1.c (merge_assigned_reloads): When merging, reset
3646 reload_spill_index for the eliminated reload.
3647
3648 Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
3649
3650 * haifa-sched.c (schedule_insns): Fix merge goof.
3651
3652 1998-05-13 Jim Wilson <wilson@cygnus.com>
3653
3654 * varasm.c (make_decl_rtl): Revert April 1 change.
3655 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
3656 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
3657 Get function name from the SYMBOL_REF in the DECL_RTL, not from
3658 DECL_ASSEMBLER_NAME.
3659 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
3660 DECL_ASSEMBLER_NAME.
3661
3662 Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
3663
3664 * i386.c (notice_update_cc, output_float_compare): Disable
3665 TARGET_CMOVE support.
3666
3667 Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
3668 Jeff Law <law@cygnus.com>
3669
3670 * rtlanal.c (find_reg_note): Ignore notes that are not on on
3671 insns of class 'i'.
3672 (find_regno_note): Likewise.
3673
3674 * Makefile.in (stor-layout.o): Depend on except.h
3675 (varasm.o, function.o): Likewise.
3676 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
3677
3678 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
3679 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
3680 ($(HOST_PREFIX_1)rtl.o): Likewise.
3681 ($(HOST_PREFIX_1)bitmap.o): New host object.
3682 * emit-rtl.c (toplevel): Include bitmap.h.
3683 (gen_rtx): Handle 't' and 'b' nodes.
3684 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
3685 Print block number for block begin/end notes. Print 't' type
3686 nodes as a pointer. Know that the 3rd argument of live range
3687 start/stop notes is really a range_info rtx. If type is 'b', print
3688 out argument as a bitmap.
3689 * rtl.c: Include bitmap.c.
3690 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
3691 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
3692 * rtl.def (RANGE_LIVE): New node to hold live information while we
3693 recalculate the basic blocks.
3694 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
3695 (RANGE_VAR): New node, to hold information saved in symbol node for New
3696 communicating live range information to the debug output functions.
3697 * rtl.h (rtunion_def): Add rttree and rtbit fields.
3698 (XBITMAP, XTREE): New accessor macros.
3699 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
3700 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
3701 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
3702 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
3703 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
3704 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
3705 (RANGE_INFO_*): Likewise.
3706 * sched.c (sched_analyze): Keep live range start/stop notes.
3707 (unlink_other_notes): Likewise.
3708 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
3709 (unlink_other_notes): Likewise.
3710 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
3711 (BLOCK_LIVE_RANGE_FLAG): Likewise.
3712 (DECL_LIVE_RANGE_RTL): Likewise.
3713 (struct tree_block): Add live_range_flag, live_range_var_flag,
3714 live_range_start and live_range_end.
3715 (struct tree_decl): Add live_range_rtl field.
3716 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
3717 (accessor_from_format): Likewise.
3718
3719 * haifa-sched.c (schedule_block): Make verbose output line up.
3720 Also add a blank line in printing the individual ready lists.
3721
3722 Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3723
3724 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
3725 (c-lex.o): Depend on output.h.
3726 (c-common.o): Likewise.
3727 (stmt.o): Likewise.
3728 (calls.o): Likewise.
3729 (integrate.o): Depend on toplev.h.
3730 (regclass.o): Depend on output.h.
3731 (final.o): Depend on reload.h.
3732
3733 * c-common.c: Include output.h.
3734 (check_format_info): Remove unused variable `integral_format'.
3735
3736 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
3737 `indent' with ATTRIBUTE_UNUSED.
3738 (print_lang_type): Likewise.
3739 (maybe_build_cleanup): Likewise for parameter `decl'.
3740 (copy_lang_decl): Likewise for parameter `node'.
3741
3742 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
3743 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3744 with ATTRIBUTE_UNUSED.
3745 (lookup_interface): Likewise for parameter `arg'.
3746 (is_class_name): Likewise.
3747 (maybe_objc_check_decl): Likewise for parameter `decl'.
3748 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
3749 `reflexive'.
3750 (maybe_objc_method_name): Likewise for parameter `decl'.
3751 (build_objc_string): Likewise for parameters `len' and `str'.
3752
3753 * c-lex.c: Include output.h.
3754
3755 * c-lex.h (position_after_white_space): Correct typo in prototype.
3756
3757 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
3758 c_expand_end_cond, init_iterators): Add prototypes.
3759
3760 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
3761 with ATTRIBUTE_UNUSED.
3762
3763 * calls.c: Include output.h.
3764
3765 * cccp.c (pipe_closed): Mark parameter `signo' with
3766 ATTRIBUTE_UNUSED.
3767
3768 * combine.c: Move inclusion of expr.h to after insn-config.h.
3769
3770 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
3771 as empty, rather define as ((void)0).
3772
3773 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
3774 Add parentheses around assignment used as truth value.
3775
3776 * cplus-dem.c (squangle_mop_up): Change return type to void.
3777 (internal_cplus_demangle): Remove unused parameter `options'.
3778 All callers changed.
3779 (cplus_demangle_opname): Remove function wide variable `int i' and
3780 replace with `size_t i' at each location where it is used.
3781 (cplus_demangle_opname): change type of `i' from int to size_t.
3782
3783 * cppexp.c (right_shift): Mark parameter `pfile' with
3784 ATTRIBUTE_UNUSED.
3785
3786 * cpphash.c (cpp_lookup): Likewise.
3787 (cpp_hash_cleanup): Likewise.
3788
3789 * cpplib.c (parse_name): Add a prototype and make it static.
3790 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
3791 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
3792 (macro_cleanup): Likewise for parameter `pfile'.
3793 (file_cleanup): Likewise.
3794
3795 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
3796 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
3797
3798 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
3799 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
3800
3801 * cse.c (cse_check_loop_start): Mark parameter `set' with
3802 ATTRIBUTE_UNUSED.
3803
3804 * dbxout.c (flag_minimal_debug, have_used_extensions,
3805 source_label_number): Move inside macro wrapper check against
3806 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
3807
3808 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
3809
3810 * except.h (doing_eh): Provide prototype.
3811
3812 * expr.c: Move inclusion of expr.h to after insn-config.h.
3813
3814 * final.c: Include reload.h.
3815 (shorten_branches): Cast the first argument of bzero to char *.
3816
3817 * fix-header.c (cpp_print_containing_files): Mark parameter
3818 `pfile' with ATTRIBUTE_UNUSED.
3819 (cpp_fatal): Likewise.
3820
3821 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
3822 to char *.
3823
3824 * genattrtab.c (make_length_attrs): Change the type of variable
3825 `i' from int to size_t.
3826 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
3827 (one_fn): Likewise.
3828
3829 * genextract.c (main): When generating insn-extract.c, mark
3830 variable `junk' with ATTRIBUTE_UNUSED.
3831
3832 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
3833 argument of bzero to char*.
3834
3835 * integrate.c: Include toplev.h.
3836
3837 * libgcc2.c: Wrap `struct exception_table' and
3838 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
3839
3840 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
3841
3842 * objc/objc-act.c: Include toplev.h.
3843 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3844 with ATTRIBUTE_UNUSED.
3845 (finish_protocol): Likewise for parameter `protocol'.
3846
3847 * output.h (declare_weak): Add prototype.
3848 (decode_reg_name): Don't wrap with TREE_CODE macro.
3849 (assemble_alias): Add prototype.
3850
3851 * regclass.c: Include output.h.
3852
3853 * reload.h (reloads_conflict): Add prototype.
3854
3855 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
3856 output_func_start_profiler): Add prototypes.
3857
3858 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
3859 ATTRIBUTE_UNUSED.
3860
3861 * scan-decls.c: Include scan.h.
3862
3863 * scan.h (recognized_function, recognized_extern): Add prototypes.
3864
3865 * stmt.c: Include output.h.
3866
3867 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
3868 (output_lang_identify): Hide prototype and definition.
3869 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
3870 (pipe_closed): Likewise.
3871
3872 * toplev.h (count_error, strip_off_ending, error_for_asm,
3873 warning_for_asm): Add prototypes.
3874
3875 Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
3876
3877 * toplev.c (rest_of_compilation): "Charge" final for any time
3878 doing various cleanup operations after finishing compilation
3879 of a function.
3880
3881 * flow.c (dump_flow_info): Also print number of sets and
3882 whether or not the pseudo is a user variable.
3883
3884 * flow.c (reg_n_max): New global variable.
3885 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
3886 Delete regno_max variable.
3887 * regs.h (REG_N_CHECK): Define.
3888 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
3889 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
3890 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
3891
3892 Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
3893
3894 * acconfig.h (ENABLE_CHECKING): Undefine.
3895 * configure.in (--enable-checking): New option.
3896
3897 Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3898
3899 * reload1.c (merge_assigned_reloads): Can merge
3900 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
3901 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
3902
3903 Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
3904
3905 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
3906
3907 Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3908
3909 * reload1.c (gen_reload): Create REG_EQUIV notes.
3910
3911 Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3912
3913 * reload1.c (reload): Fix check for USEs to use code of pattern.
3914 (choose_reload_regs): Remove dead variable use_insn.
3915
3916 Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
3917
3918 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
3919
3920 Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
3921
3922 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
3923 already defined.
3924 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
3925 (insn_{unit,issue_delay}): Ditto.
3926 (blockage_range): Ditto.
3927 (actual_hazard{,_this_instance}): Ditto.
3928 (schedule_unit): Ditto.
3929 (potential_hazard): Ditto.
3930 (insn_cost): Ditto.
3931 (swap_sort): Ditto.
3932 (queue_insn): Ditto.
3933 (birthing_insn_p): Ditto.
3934 (adjust_priority): Ditto.
3935 (get_block_head_tail): Ditto.
3936 (init_rgn_data_dependences): Ditto.
3937
3938 Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
3939
3940 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
3941
3942 Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
3943
3944 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
3945
3946 Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
3947
3948 * config/mips/mips.md (dslot): Move after definition of "cpu"
3949 attribute. Handle r3900 case.
3950
3951 Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3952
3953 * system.h: Define the STRINGIFY macro here.
3954 * protoize.c: Not here.
3955 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
3956
3957 Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
3958
3959 * varasm.c (assemble_variable): Compute the alignment of the data
3960 earlier so that both initialized and uninitialized variables are
3961 effected by DATA_ALIGNMENT.
3962 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
3963
3964 Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
3965
3966 * mips.c: Prototype static functions.
3967
3968 Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
3969
3970 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
3971 Add explanatory comments.
3972
3973 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
3974
3975 Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
3976
3977 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
3978
3979 Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
3980
3981 * varasm.c (make_decl_rtl): Disable April 1 change.
3982
3983 Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
3984
3985 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
3986
3987 Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
3988
3989 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
3990 * alpha.c (print_operand): Handle it.
3991 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
3992 related define_splits. Also add peepholes for SImode reload
3993 plus sign_extend lossage.
3994
3995 Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3996
3997 * genattr.c: Include stdarg.h/varargs.h. Change function
3998 `fatal' to use variable arguments instead of faking it with
3999 integer parameters. Provide a prototype which also
4000 checks the format specifiers using ATTRIBUTE_PRINTF_1.
4001
4002 * genattrtab.c: Likewise.
4003 * gencodes.c: Likewise.
4004 * genconfig.c: Likewise.
4005 * genemit.c: Likewise.
4006 * genextract.c: Likewise.
4007 * genflags.c: Likewise.
4008 * genopinit.c: Likewise.
4009 * genpeep.c: Likewise.
4010 * genrecog.c: Likewise.
4011 * genoutput.c: Likewise. Similarly for function `error'.
4012
4013 Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4014
4015 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
4016 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
4017 * configure.in: Use GCC_C_VOLATILE.
4018 * system.h (volatile): Define as empty if no volatile support is
4019 available.
4020
4021 Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
4022
4023 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
4024 generated fucntion.
4025
4026 Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
4027
4028 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
4029 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
4030 the body of beq; additionally set the mode of the branch to CCmode for
4031 FP compares and not fast_math.
4032 (alpha_emit_conditional_move): Always use a compare insn for FP
4033 when not fast_math, as well as setting CCmode on the cmov.
4034 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
4035
4036 * machmode.h (COMPLEX_MODE_P): New macro.
4037
4038 Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
4039
4040 * haifa-sched.c (print_exp): Fix typo.
4041
4042 Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
4043
4044 * version.c: Bump for snapshot.
4045
4046 Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
4047
4048 * final.c (final_scan_insn): Call fatal_insn instead of abort if
4049 we could not split an insn when required to.
4050
4051 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
4052 level insns.
4053 (peepholes): Disable peepholes that call dead_or_set_p.
4054 (movsi): Rewrite to handle addresses better after last change.
4055 Add define_split to split load of addresses in large/medium modes.
4056 (prologue): Call m32r_expand_prologue.
4057 (movsi_{push,pop}): Generators for push/pop.
4058 (movsi): Support PRE_{INC,DEC}, POST_INC.
4059 (mov{di,df}): Rewrite. Always split the insns.
4060 (movsf): Add define_split to get register load in correct mode.
4061 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
4062 (attributes): Rewrite attributes so that type indicates both the
4063 type and the length of the insn directly.
4064 (all insns): Change to use new type attributes.
4065 (debug): New attribute to convey whether -mdebug was used.
4066 (opt_space): New attribute to convey whether -Os was used.
4067 (function units): Loads are 3 cycles, not 2. Better classify all
4068 insns into short/long.
4069 (load/store/extend insns): Add separate case for load/store
4070 indirect operations without an offset.
4071 (divsi3): Division is a long operation, not short.
4072
4073 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
4074 modes > 1 word.
4075 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
4076 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
4077 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
4078 operands with PRE_{INC,DEC}, POST_INC.
4079 (FUNCTION_PROFILER): Call abort instead of doing nothing.
4080 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
4081 SImode variables.
4082 (gen_split_move_double): Declare.
4083 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
4084
4085 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
4086 emit_move_insn, build up SET's directly.
4087 (toplevel): Include system.h, not stdio.h.
4088 (move_double_src_operand): Allow any DF or DI mode constant.
4089 (gen_split_move_double): Split moves of DI or DF values into the
4090 appropriate moves, loads, or stores. Don't handle use of auto
4091 inc/dec if using dead index. Do handle overlapping moves, etc.
4092 (m32r_frame_info): Remove prologue_size field.
4093 (m32r_compute_frame_size): Don't calculate prologue size.
4094 (m32r_output_function_prologue): Change to pretty much a NOP.
4095 (m32r_expand_prologue): Expand prologue as a series of INSNs.
4096 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
4097 (m32r_print_operand_address): Ditto.
4098
4099 Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
4100
4101 * reload1.c (emit_reload_insns): When performing expensive
4102 optimizations, do not output the last reload insn if OLD is
4103 not the dest of NSN and is in the src and is clobbered by INSN.
4104
4105 Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4106
4107 * Makefile.in (genrtl.o): Depend on system.h.
4108 * gengenrtl.c (gencode): When creating genrtl.c, have it
4109 include system.h.
4110
4111 Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4112
4113 * config/m68k/t-linux: Remove extra stuff already included in
4114 config/t-linux.
4115
4116 Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
4117
4118 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
4119 curses.h if it contains `typedef char bool;', as suggested by
4120 Manfred Hollstein <manfred@s-direktnet.de>.
4121
4122 * configure.in: Rename fixinc.math to fixinc.wrap.
4123
4124 Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
4125
4126 * gcc.c (read_specs): Handle missing blank line at end of specs file.
4127
4128 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
4129 movdfcc_1): Disable.
4130
4131 Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
4132
4133 * configure.in (enable_threads): Rename to enable_threads_flag before
4134 main loop. Set enable_threads to enable_threads_flag inside main
4135 loop.
4136
4137 Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
4138
4139 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
4140 multiple times.
4141
4142 Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4143
4144 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
4145
4146 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
4147 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
4148 (AC_CHECK_FUNCS): Remove unused check for vprintf.
4149
4150 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
4151 (cccp.o): Depend on gansidecl.h.
4152 (cexp.o): Likewise.
4153
4154 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
4155 per the rest of gcc source.
4156 * cexp.y: Likewise. Include gansidecl.h and remove all code made
4157 redundant.
4158
4159 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
4160 used when vfprintf is missing.
4161 * cexp.y: Likewise.
4162 * gcc.c: Likewise.
4163 * genattrtab.c: Likewise.
4164 * mips-tfile.c: Likewise.
4165 * toplev.c: Likewise.
4166
4167 * vfprintf.c: New file.
4168 * doprint.c: New file.
4169
4170 Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
4171
4172 * config/linux.h (ASM_COMMENT_START): Remove from here,
4173 * config/linux-aout.h (ASM_COMMENT_START): and here,
4174 * config/i386/linux.h (ASM_COMMENT_START): to here,
4175 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
4176 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
4177 here as '#' too.
4178
4179 Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4180
4181 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
4182 constant.
4183
4184 Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
4185
4186 * Makefile.in (dwarfout.o) Add toplev.h dependency.
4187 * dwarfout.c, i386.c: Include toplev.h
4188 * toplev.h: (pfatal_with_name) Add prototype.
4189
4190 Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
4191
4192 * Makefile.in: Fix .SUFFIXES.
4193
4194 Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
4195
4196 * config/linux.h (ASM_COMMENT_START): Define as "#".
4197 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
4198
4199 Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
4200
4201 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
4202 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
4203
4204 * toplev.c: Include toplev.h.
4205 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
4206 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
4207 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
4208 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
4209 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
4210 toplev.h dependency.
4211
4212 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
4213 HARD_FRAME_POINTER_REGNUM.
4214
4215 * expr.c (target_temp_slot_level): Delete duplicate definition.
4216
4217 Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
4218
4219 * stmt.c (mark_seen_cases): Make it have external linkage again.
4220 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
4221 has been included.
4222
4223 * haifa-sched.c (print_value, case SUBREG): Fix typo.
4224
4225 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
4226 * i386.h (REG_CLASS_CONTENTS): Similarly.
4227
4228 * toplev.c (-fsched-max): Delete flag.
4229 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
4230 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
4231 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
4232 conditionals.
4233
4234 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
4235 inner loops which are not reducible.
4236
4237 * loop.c (regs_match_p): Fix typo in prototype.
4238
4239 * regmove.c (try_auto_increment): Wrap declaration inside an
4240 #ifdef AUTO_INC_DEC.
4241
4242 Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
4243
4244 * final.c (output_operand_lossage): Call fatal with the operand
4245 lossage message instead of calling abort.
4246
4247 Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4248
4249 * c-common.c: Convert to using ctype macros defined in system.h.
4250 * c-lex.c: Likewise.
4251 * cccp.c: Likewise.
4252 * collect2.c: Likewise.
4253 * rs6000.c: Likewise.
4254 * cpplib.c: Likewise.
4255 * fix-header.c: Likewise.
4256 * gcc.c: Likewise.
4257 * gen-protos.c: Likewise.
4258 * pexecute.c: Likewise.
4259 * protoize.c: Likewise.
4260 * rtl.c: Likewise.
4261 * scan.c: Likewise.
4262 * stmt.c: Likewise.
4263 * tlink.c: Likewise.
4264 * toplev.c: Likewise.
4265
4266 Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
4267
4268 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
4269 Replace -gdwarf-2 with -g0.
4270
4271 Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4272
4273 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
4274 * mips-tdump.c: Include system.h, remove redundant headers.
4275 * mips-tfile.c: Likewise. Also, convert all ctype function calls
4276 to calls of the macro versions defined in system.h.
4277
4278 * objc/Make-lang.in (objc-act.o): Depend on system.h.
4279 * objc/objc-act.c: Include system.h, remove redundant headers.
4280
4281 Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4282
4283 * configure.in (AC_CHECK_FUNCS): Add isascii.
4284 (GCC_NEED_DECLARATIONS): Add atof.
4285
4286 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
4287 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
4288
4289 Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4290
4291 * system.h: Wrap time.h and sys/file.h in autoconf checks.
4292 Provide default definitions for O_RDONLY and O_WRONLY here.
4293
4294 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
4295
4296 1998-05-06 Mark Mitchell <mmitchell@usa.net>
4297
4298 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
4299
4300 Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
4301
4302 * toplev.h: New file. Protypes for functions in toplev.c.
4303 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
4304 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
4305 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
4306 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
4307 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
4308 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
4309 varasm.c: include it.
4310
4311 Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
4312 Jim Wilson (wilson@cygnus.com)
4313
4314 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
4315 blocks. Check for 1 successor which is the EXIT_BLOCK.
4316
4317 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
4318 unreachable loops with more than one block.
4319
4320 Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
4321
4322 * fix-header.c (write_rbrac): Add "abort" to functions which need to
4323 be protected.
4324
4325 Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
4326
4327 * Check in merge from gcc2. See ChangeLog.12 for details.
4328
4329 Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
4330
4331 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
4332 accept 'a' flag. 'S' does accept 'a' flag.
4333 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
4334 and `a' flag.
4335
4336 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
4337
4338 Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4339
4340 * config/m68k/m68k.h: Declare functions from m68k.c used in
4341 macros and machine description.
4342 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
4343 long values.
4344 (ASM_OUTPUT_FLOAT): Likewise.
4345 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4346
4347 Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
4348
4349 * tree.def: Add NAMESPACE_DECL.
4350 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
4351 * dwarf2out.c (push_decl_scope): Likewise.
4352 (scope_die_for): Likewise.
4353 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
4354 how to get next context level.
4355
4356 Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
4357
4358 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
4359 case.
4360
4361 Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
4362
4363 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
4364
4365 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
4366 for any insns skipped at the start of a block because they were
4367 redundant.
4368
4369 Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
4370
4371 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
4372
4373 1998-05-04 Ulrich Drepper <drepper@cygnus.com>
4374
4375 * c-common.c (format_char_info): Add new field hhlen.
4376 (print_char_table, scan_char_table, time_char_table): Initialize
4377 hhlen field appropriately.
4378 (char_format_info): Recognize hh modifier and lookup correct char
4379 table entry.
4380
4381 Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
4382
4383 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
4384 reference if this is a store.
4385
4386 Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
4387
4388 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
4389
4390 Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
4391
4392 Make UnixWare 7 bootstrap support work with final shipping product.
4393 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
4394 Pick up xm-siglist and xm-alloca.
4395 (xm_defines): Add USG so dbxout will build.
4396 * configure: Regenerate.
4397
4398 Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
4399
4400 Support for official Sparc V9 ABI:
4401 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
4402 Care for flag_pcc_struct_return default.
4403 (output_move_quad): Rewrite to move by halves on v9 and in the
4404 proper direction.
4405 (move_quad_direction): New function.
4406 (output_fp_move_quad): Use it to determine the direction of copy.
4407 (function_arg_slotno): Return -1 for FP reg overflow as well.
4408 (function_arg_record_value*): New functions.
4409 (function_arg): Use them. Streamline unprototyped parameter passing.
4410 (function_arg_pass_by_reference): Pass TCmode by reference.
4411 (function_value): New function.
4412 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
4413 long long in 64-bit mode.
4414 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
4415 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
4416 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
4417 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
4418 (BASE_INCOMING_ARG_REG): Likewise.
4419 (FUNCTION_VALUE): Call function_value.
4420 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
4421 * sparc.md (movdi_sp32_v9): Disable for arch64.
4422 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
4423 (call_value_address_sp64): Remove register class constraints.
4424 (call_value_symbolic_sp64): Likewise.
4425 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
4426 v9 case to 32-bit constants.
4427 (goto_handler_and_restore_v9): Provide a version for arch64.
4428 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
4429 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
4430 (CPP_PREDEFINES): New.
4431 * sparc/sp64-elf.h: Likewise.
4432 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
4433 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
4434 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
4435
4436 Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
4437
4438 * version.c: Bump for snapshot.
4439
4440 Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4441
4442 * reload.c (find_reloads): Emit USEs to mark where a pseudo
4443 is reloaded with the MEM of its stack slot.
4444 * reload1.c (cannot_omit_stores): Delete.
4445 (reload): Don't initialize it.
4446 Don't apply avoid_return_reg logic to USEs.
4447 When done, remove USEs that have a REG_EQUAL note on them.
4448 (emit_reload_insns): Handle case where we have inherited a MEM.
4449 (choose_reload_regs): Likewise.
4450 (delete_output_reload): Don't use cannot_omit_stores.
4451
4452 Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
4453
4454 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
4455
4456 Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
4457
4458 * haifa-sched.c (print_{exp,value}): Various changes to make the
4459 debug output easier to read. Also, use only one buffer, and make
4460 sure the buffer we are passed in doesn't overflow.
4461 (safe_concat): Concatenate to a buffer without overflow.
4462
4463 Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4464
4465 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
4466 with the prototype.
4467
4468 Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4469
4470 * sched.c (new_insn_dead_notes): Check if the register was
4471 used in the original instruction.
4472 * haifa-sched.c (new_insn_dead_notes): Likewise.
4473
4474 Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
4475
4476 * dwarf2out.c (scope_die_for): If could not find proper scope,
4477 check for and handle tagged type with incorrect TYPE_CONTEXT.
4478
4479 Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
4480
4481 * calls.c (expand_call): Fix recognition of C++ operator new.
4482
4483 * alias.c (mode_alias_check): Disable type based alias detection.
4484
4485 Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
4486
4487 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
4488 ASM_OUTPUT_WEAK_ALIAS): Define.
4489 * config/mips/elf64.h: Same.
4490 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
4491 ASM_WEAKEN_LABEL): Removed.
4492
4493 Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4494
4495 * calls.c (expand_call): Bump the length limit on the specially
4496 recognized function names to 17.
4497
4498 Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
4499
4500 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
4501 when undefining macros at the end.
4502
4503 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
4504 val or len has TREE_SIDE_EFFECTS set.
4505
4506 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
4507 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
4508 (smuldi3_highpart): Call const v8plus routine.
4509 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
4510 (const_smulsi3_highpart_v8plus): New pattern.
4511 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
4512 (umulsidi3): Call const v8plus routine.
4513 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
4514 routine.
4515 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
4516 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
4517
4518 Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
4519
4520 * m32r.c (*_oper{and|ator}): Change enum arguments and return
4521 values to int, so they can be prototyped even in files that don't
4522 include rtl.h.
4523 ({small,large}_insn_p): Ditto.
4524 (m32r_select_cc_mode): Ditto.
4525 (gen_compare): Ditto.
4526 (function_arg_partial_nregs): Ditto.
4527 (m32r_setup_incoming_varargs): Ditto.
4528 (init_reg_tables): Add prototype.
4529 (m32r_frame_info): Add prolog_size field.
4530 (m32r_compute_frame_size): Calculate the size of the prologue.
4531 (m32r_first_insn_address): Return prologue size.
4532 (m32r_output_function_prologue): Calculate frame size before
4533 printing out information. Print out the prologue size.
4534
4535 * m32r.h: Prototype all functions in m32r.c.
4536 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
4537
4538 * m32r.md (bcc functions): Cast enum's to int.
4539
4540 * m32r.c (conditional_move_operand): Silence a debug message.
4541 ({small,long}_insn): New predicates.
4542
4543 * m32r.h (TARGET_M32R): New macro.
4544 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
4545 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
4546 was selected.
4547 (ISSUE_RATE): Define as 2.
4548
4549 * m32r.md (insn_size): New attribute.
4550 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
4551 short.
4552 (m32r): New attribute.
4553
4554 * configure.in (enable_haifa): Switch m32r to Haifa by default.
4555 * configure: Regenerate.
4556
4557 (Changes from Nick Clifton <nickc@cygnus.com>)
4558 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
4559 the equivalent of a negated 'I' constraint.
4560 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
4561 optimisation to work.
4562
4563 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
4564 than 'I' since the value is negated.
4565 (peephole): Add peephole optimisation to cope with optimization of
4566 divide and subtracts of the same operands.
4567
4568 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
4569 * m32r.h: Ditto.
4570 * m32r.md: Ditto.
4571
4572 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
4573 predicates.
4574
4575 Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
4576
4577 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
4578
4579 Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
4580
4581 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
4582 frame_pointer_rtx not FRAME_POINTER_REGNUM.
4583
4584 Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
4585
4586 * reg-stack.c: Revert last patch (Apr 20).
4587 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
4588
4589 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
4590
4591 * loop.c (check_dbra_loop): New locals jump, first_compare, and
4592 compare_and_branch. Call get_condition to set first_compare.
4593 Set compare_and_branch to number of compare/branch instructions.
4594 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
4595 Replace '2' with compare_and_branch.
4596
4597 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4598
4599 * cplus-dem.c (demangle_qualified): Replace missing else.
4600
4601 Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4602
4603 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
4604
4605 Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4606
4607 * sh.c (sh_expand_prologue, sh_expand_epilogue):
4608 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
4609 * sh.h (STACK_BOUNDARY): Likewise.
4610
4611 Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4612
4613 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4614
4615 Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
4616
4617 * system.h (abort): If abort is not defined, and neither is
4618 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
4619 reporting the line and filename of the error.
4620
4621 * .gdbinit: Add breakpoints on exit and fancy_abort.
4622
4623 * final.c (split_double): Avoid a compiler warning if
4624 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
4625
4626 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
4627 for calling jump_optimize.
4628
4629 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
4630 macros, rather than 0/1's.
4631
4632 Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
4633
4634 * alpha.h (CONST_COSTS): Zero is always free.
4635 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
4636
4637 Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4638
4639 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
4640 length in the name of a virtual table.
4641
4642 Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
4643
4644 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
4645
4646 Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
4647
4648 * version.c: Bump for snapshot.
4649
4650 Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
4651
4652 * fold-const.c (fold_convert): Fix typo.
4653
4654 Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
4655
4656 * alias.c (alias_invariant): New variable.
4657 (record_base_value): New argument INVARIANT.
4658 (memrefs_conflict_p): If a register has an entry in the alias_invariant
4659 array, try substituting that value for the register.
4660
4661 * rtl.h: Declare record_base_value.
4662
4663 * loop.c, unroll.c: Update callers of record_base_value.
4664
4665 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
4666 ZERO_EXTEND do not affect base values.
4667
4668 Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
4669
4670 * dbxout.c (dbxout_type): Fix typo.
4671 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
4672
4673 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
4674
4675 Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
4676
4677 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
4678 if the argument is the address of a structure or array.
4679
4680 * configure.in: Enable Haifa scheduler by default for SPARC.
4681
4682 Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4683
4684 * cse.c (cse_set_around_loop): Don't do optimization when
4685 new pseudos are created.
4686
4687 Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
4688
4689 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
4690 appropriately.
4691 (dbxout_type_method_1, dbxout_type): Likewise.
4692 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
4693 (dbxout_type): Fix check for when to print a type range in
4694 octal vs decimal.
4695
4696 Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4697
4698 * (gen_shl_and, in case 1): Fix comparison with mask.
4699
4700 Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
4701
4702 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
4703 pointer as second register in REG+REG pair.
4704
4705 Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4706
4707 * c-common.c (check_format_info): Don't check for the 'x' format
4708 character twice, instead check for 'x' and 'X'
4709
4710 Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
4711
4712 * Makefile.in (libgcc2.ready): Add explicit dependancy from
4713 $(STMP_FIXPROTO) to ensure all necessary include files have
4714 been created and to guarantee proper parallel builds.
4715
4716 Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4717
4718 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
4719 register for stdarg functions.
4720 * sh.h (current_function_varargs): Declare.
4721 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
4722
4723 1998-04-23 Jim Wilson <wilson@cygnus.com>
4724
4725 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
4726 inhibit_libc is defined.
4727
4728 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
4729
4730 Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
4731
4732 * profile.c (tablejump_entry_p): New function.
4733 (branch_prob): Add code to recognize MIPS tablejump entry branch.
4734 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
4735
4736 Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
4737
4738 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
4739 found, rather than at end of the loop, after the insn has been
4740 changed.
4741
4742 Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4743
4744 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
4745 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
4746
4747 Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
4748
4749 * loop.c (note_addr_stored): Correct function to take 2 arguments,
4750 instead of 1.
4751
4752 * rtl.def (MATCH_INSN2): Add new matching pattern.
4753 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
4754
4755 Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
4756
4757 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
4758 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
4759
4760 * final.c (split_double): Sign extend both halves of a split CONST_INT.
4761
4762 Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
4763
4764 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
4765
4766 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4767
4768 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
4769 (cplus_demangle_opname): Call mop_up_squangle.
4770 (cplus_demangle): Initialize squangle info, then call
4771 internal_cplus_demangle. (Most code moved there as well)
4772 (internal_cplus_demangle): New function, performs most of what use
4773 to be done in cplus_demangle, but is only called with this file.
4774 (squangle_mop_up): New function to clean up B and K code data.
4775 (mop_up): set pointers to NULL after freeing.
4776 (demangle_signature, demangle_template, demangle_class): Add
4777 switch elements to handle K and B codes.
4778 (demangle_prefix, gnu_special, demangle_qualified): Add
4779 code to handle K and B codes.
4780 (do_type, demangle_fund_type): Handle B and K codes.
4781 (remember_Ktype): New function to store K info.
4782 (register_Btype, remember_Btype): New functions for B codes.
4783 (forget_B_and_K_types): New function to destroy B and K info.
4784
4785 1998-04-21 Jim Wilson <wilson@cygnus.com>
4786
4787 * stmt.c (check_seenlabel): When search for line number note for
4788 warning, handle case where there is no such note.
4789
4790 Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
4791
4792 * genemit.c (gen_exp): Allow machine description to set mode of
4793 MATCH_OP_DUP.
4794
4795 Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
4796
4797 * alias.c (mode_alias_check): New function.
4798 (true_dependence, anti_dependence, output_dependence): Call
4799 mode_alias_check.
4800
4801 Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
4802
4803 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
4804 (MIPS_STACK_ALIGN): Similarly.
4805
4806 * c-common.c (type_for_mode): Handle TI types.
4807 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
4808 (init_decl_processing): Handle TI types.
4809 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
4810
4811 * mips.c (block_move_loop): Test Pmode == DImode instead of
4812 TARGET_MIPS64.
4813 (expand_block_move, save_restore_insns): Likewise.
4814 (function_prologue, mips_expand_prologue): Likewise.
4815 (mips_expand_epilogue): Likewise.
4816 * mips.h (POINTER_SIZE): Allow specific targets to override.
4817 (Pmode): Allow specific targets to override.
4818 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
4819 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
4820 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
4821 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
4822 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
4823 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
4824 * mips.md (indirect, tablejump & casesi support): Test for
4825 Pmode == DImode instead of TARGET_MIPS64.
4826 (call patterns): Likewise.
4827
4828 Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4829
4830 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
4831 for gen_rtx(MEM, ...).
4832
4833 Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
4834
4835 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
4836 to not be so gross, and to properly function with PIC.
4837
4838 Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
4839
4840 * frame.c (heapsort): Rename to frame_heapsort.
4841
4842 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
4843
4844 Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
4845
4846 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
4847
4848 Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
4849
4850 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
4851 operands during and after reload.
4852
4853 Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4854
4855 * final.c (shorten_branches, init_insn_lengths): Move code
4856 to free label_align, uid_shuid, insn_lengths, insn_addresses
4857 and uid_align from the former function into the latter one;
4858 Add code to clear these variables.
4859 * sh.h (label_align): Remove declaration.
4860
4861 Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
4862
4863 * gcc.c (lang_specific_driver): Declare prototype properly so
4864 fatal can be passed to it without error.
4865
4866 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
4867 * configure: Regenerate.
4868 * config.in: Add #undef's for strchr and strrchr.
4869
4870 * protoize.c (toplevel): If we have rindex, but not strrchr, map
4871 rindex to strrchr.
4872 (file_could_be_converted): Use strrchr, not rindex since rindex is
4873 not defined on Linux systems when _POSIX_SOURCE is defined.
4874 (file_normally_convertible): Ditto.
4875 (process_aux_info_file): Ditto.
4876 (main): Ditto.
4877
4878 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
4879 a constant to an integer register, don't split the insns that do
4880 the simple AND and OR operations, rather just split each word, and
4881 let the normal movsi define split handle it further.
4882
4883 Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4884
4885 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
4886 (split_branches): Call init_insn_lengths.
4887
4888 Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
4889
4890 * i386.c: Include expr.h to get the change_address prototype
4891 declared.
4892
4893 Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
4894
4895 * reg-stack.c (subst_asm_stack_regs): Change to return the last
4896 new insn generated by this function.
4897 (subst_stack_regs): Likewise.
4898 (convert_regs): Record the last newly generated insn and use
4899 it for change_stack () instead of INSN.
4900
4901 Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
4902
4903 * fix-header.c (enum special_file): Undefine enumerators if they
4904 are already defined by include files.
4905 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
4906 macro with '__' to not pollute user namespace.
4907
4908 Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
4909
4910 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
4911
4912 Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
4913
4914 * version.c: Bump for snapshot.
4915
4916 Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
4917
4918 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
4919
4920 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
4921 Add missing -Dpentium* options.
4922 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
4923 instead of CPP_CPU_DEFAULT.
4924 (EXTRA_SPECS): Add entry for cpp_cpu_default.
4925
4926 Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
4927
4928 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
4929 negative in a stackless frame.
4930 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
4931 in stackless frame size. Support 64-bit stackless frame size.
4932 Combine fpmem offset calculations and don't add total_size to
4933 offset if not pushing a stack frame.
4934
4935 Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
4936
4937 * regmove.c (fixup_match_1): In three places, in flag_exceptions
4938 check, change p to q.
4939
4940 Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
4941
4942 * gcc.c (lang_specific_driver): Add new parm type to prototype.
4943 (added_libraries): New file scope static variable.
4944 (process_command): Initialize added_libraries. Pass it to
4945 lang_specific_driver.
4946 (main): Use added_libraries in check for no input files.
4947
4948 Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
4949
4950 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
4951 code generation. Use 64 bit instructions in 32 bit mode when
4952 possible. Use V9 return instruction. UltraSPARC optimizations.
4953
4954 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
4955
4956 Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
4957
4958 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
4959 just pass zero. That will work regardless of the size of HARD_REG_SET.
4960
4961 * libgcc2.c (__floatdisf): Fix a couple typos.
4962
4963 Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
4964
4965 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
4966
4967 Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
4968
4969 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
4970
4971 Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
4972
4973 * emit-rtl.c (operand_subword_force): If a register can not be
4974 accessed by words, copy it to a pseudo register.
4975
4976 Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
4977
4978 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
4979
4980 Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
4981
4982 * tree.h (mark_seen_cases): Delete declaration.
4983
4984 Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
4985
4986 * stmt.c (mark_seen_cases): Make static and add prototype.
4987
4988 Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4989
4990 * frame.c: Include stdlib.h and unistd.h to possibly get various
4991 function prototypes. The fixproto script guarantees these header
4992 files exist on the target system.
4993 * libgcc2.c: Likewise.
4994
4995 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
4996 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
4997 function parameters.
4998 * libgcc2.c (__udiv_w_sdiv): Likewise.
4999
5000 Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
5001
5002 * varasm.c (asm_output_bss): Add prototype.
5003 (asm_output_aligned_bss): Likewise.
5004
5005 * unroll.c (verify_addresses): Add prototype.
5006
5007 * toplev.c: Add many prototypes. Too many to mention here.
5008
5009 * stmt.c (check_seenlabel): Add prototype.
5010
5011 * rtlanal.c (reg_set_p_1): Add prototype.
5012 (reg_set_last_1): Likewise.
5013
5014 * reorg.c (find_dead_or_set_registers): Add prototype.
5015
5016 * regmove (try_auto_increment): Add prototype.
5017
5018 * reg-stack.c (pop_stack): Add prototype.
5019
5020 * recog.c (validate_replace_rtx_1): Add prototype.
5021 (find_cosntant_term_loc): Likewise.
5022
5023 * loop.c (regs_patch_p): Add prototype.
5024 (add_label_notes, count_nonfixed_reads): Likewise.
5025 (find_single_use_in_loop): Likewise.
5026 (express_from): Surround prototype with #ifdef.
5027 (giv_sort): Similarly.
5028
5029 * jump.c (mark_modified_reg): Add prototype.
5030
5031 * haifa-sched.c (is_prisky): Add prototype.
5032 (queue_to_ready): Likewise.
5033
5034 * genextract.c (gen_insn): Add prototype.
5035
5036 * genemit.c (max_operand_1): Add prototype.
5037 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
5038 (gen_expand, gen_explit, output_add_clobbers): Likewise.
5039 (output_init_mov_optab): Likewise.
5040
5041 * genattrtab.c (attr_hash_add_rtx): Add prototype.
5042 (attr_hash_add_string, write_length_unit_log): Likewise.
5043
5044 * genattr.c (init_range): Add prototype.
5045
5046 * combine.c (sets_function_arg_p): Add prototype.
5047
5048 * expr.c (store_constructor_field): Add prototype.
5049 (get_memory_usage_from_modifier): Likewise
5050
5051 * expmed.c (synth_mult): Add prototype.
5052 (choose_multiplier, invert_mod2n): Likewise.
5053
5054 * except.c (push_eh_entry): Add prototype.
5055 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
5056 (call_get_eh_context, start_dynamic_cleanup): Likewise.
5057 (start_dynamic_handler, can_throw): Likewise.
5058 (output_exception_table_entry, scan_region): Likewise.
5059 (eh_regs, set_insn_eh_region): Likewise.
5060
5061 * dwarfout.c (decl_class_context): Add prototype.
5062 (output_inheritance_die, type_ok_for_scope): Likewise.
5063
5064 * c-lex.c (skip_white_space_on_line): Add prototype.
5065
5066 * alias.c (record_set): Add prototype.
5067 (find_base_term, base_alias_check): Likewise.
5068
5069 * function.c (assign_outer_stack_local): Make static and add prototype.
5070
5071 * haifa-sched.c (build_control_flow): Accept raw data as inputs
5072 instead of computing it locally. Callers changed.
5073 (find_rgns): Several new arguments. Callers changed.
5074 Generally clean up and comment better. Use dominators to
5075 identify reducible loops. Convert some flag arrays to bitmaps.
5076 Convert most of the code to work on pred/succ lists instead of
5077 an edge table. Add comments for future improvements.
5078 (schedule_insns): Allocate temporary tables for flow data, call
5079 routines to compute flow data and pass it along to children as
5080 arguments.
5081 (debug_control_flow): Delete. Use dump_bb_data instead.
5082
5083 * basic-block.h (compute_dominators): Declare.
5084
5085 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
5086 functions.
5087 * basic-block.h: Declare them.
5088
5089 Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
5090
5091 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
5092 no operands.
5093
5094 Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
5095
5096 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
5097 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
5098 node is non NULL. Cache last file name and file name identifier node.
5099
5100 1998-04-15 Mark Mitchell <mmitchell@usa.net>
5101
5102 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
5103 the length of an array, not TREE_TYPE.
5104
5105 Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
5106
5107 * flow.c (sbitmap_union_of_successors): New function.
5108 * basic-block.h (sbitmap_union_of_successors): Declare it.
5109
5110 Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
5111
5112 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
5113 Set gnu_ld to gnu_ld_flag inside main loop.
5114 (gas): Likewise.
5115
5116 Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
5117
5118 * toplev.c (compile_file): Call init_parse using new interface.
5119 (init_lex): Remove declaration.
5120
5121 * c-lex.c (init_parse): Now returns char* containing filename.
5122
5123 Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
5124
5125 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
5126
5127 Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
5128
5129 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
5130 (gen{extract,peep,opinit,output}): Ditto.
5131
5132 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
5133 global definition so print-rtl.o can be linked in.
5134 * gen{peep,recog}.c (insn_attr_name): Ditto.
5135
5136 Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
5137
5138 * fixincludes: discard empty C++ comments, as found in sys/time.h
5139 on hpux-11.0.
5140
5141 Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5142
5143 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
5144 operand.
5145
5146 Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
5147
5148 * emit-rtl.c (operand_subword): Rework slightly to avoid
5149 bogus warning from previous change.
5150
5151 Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
5152
5153 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
5154 Nov 8 find_replacement change. Move decls of get_unaligned_address
5155 * alpha.h: ... here.
5156
5157 Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
5158
5159 * function.c (assign_parms): Initialize unsignedp before passing
5160 its pointer to promote_mode.
5161
5162 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
5163 (write_test_expr): Allow MATCH_INSN.
5164
5165 Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
5166
5167 * install.texi: Update section on warnings that can be safely ignored.
5168
5169 Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
5170
5171 * mips.md (reload_outdi): Change the scratch mode from DImode to
5172 TImode. New variable scratch, used instead of operand[2] in template.
5173 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
5174
5175 Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
5176
5177 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
5178
5179 Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
5180
5181 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
5182
5183 Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
5184
5185 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
5186 (ASM_FINISH_DECLARE_OBJECT): Likewise.
5187
5188 * Idea and part of the patch from HJ.
5189 * Makefile.in: auto-host.h renamed from auto-config.h. All references
5190 changed.
5191 (distclean): Remove auto-build.h too.
5192 * configure.in: Rename host autoconf generated file to auto-host.h.
5193 If host != build, then run autoconf to generate auto-build.h for
5194 the build machine and include it in build_xm_files.
5195 Check for wait.h and sys/wait.h.
5196
5197 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
5198 TRULY_NOOP_TRUNCATION.
5199
5200 Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
5201
5202 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
5203
5204 Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
5205
5206 * invoke.texi (ld options) Include memset requirements
5207 for options -nodstdlib and -nodefaultlibs.
5208
5209 1998-04-12 Paul Eggert <eggert@twinsun.com>
5210
5211 This change is from an idea suggested by Arthur David Olson.
5212
5213 * c-common.c (decl_attributes, record_function_format,
5214 check_format_info, init_function_format_info):
5215 Add support for strftime format checking.
5216 (enum format_type): New type.
5217 (record_function_format): Now static, and takes value of type
5218 enum format_type instead of int.
5219 (time_char_table): New constant.
5220 (struct function_format_info): format_type member renamed from is_scan.
5221 (check_format_info): Use `warning' rather than sprintf followed by
5222 `warning', to avoid mishandling `%' in warnings.
5223 Change `pedwarn' to `warning', since these warnings do not necessarily
5224 mean the program does not conform to the C Standard, as the code
5225 need not be executed.
5226
5227 * c-tree.h (record_function_format): Remove decl; no longer extern.
5228
5229 * extend.texi: Add documentation for strftime format checking.
5230
5231 Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
5232
5233 * mips/ecoffl.h: Do not include mips.h.
5234 * mips/elf.h: Likewise.
5235
5236 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
5237 * mips/ecoff.h: Include "mips/mips.h".
5238
5239 Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
5240
5241 * version.c: Bump for snapshot.
5242
5243 Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
5244
5245 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
5246 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
5247 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
5248 between loop optimization passes.
5249 * rtl.h: Updated appropriately.
5250
5251 Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
5252
5253 Reinstall this patch from Jason.
5254 * function.c (push_function_context_to): Don't call init_emit.
5255
5256 Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
5257
5258 * rtl.c (read_skip_spaces): Prevent infinite loops upon
5259 encountering unterminated comments.
5260
5261 Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
5262
5263 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
5264 64x32 cross builds.
5265
5266 * configure.in: Handle --with-fast-fixincludes.
5267 (fixincludes): If --with-fast-fixincludes, then use a different
5268 fixincludes program by default.
5269 * Makefile.in (fixinc.sh): New rule.
5270
5271 Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
5272
5273 * i386.md (movqi+1): Handle invalid QI register.
5274 (movsf_push-1): Likewise.
5275
5276 Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
5277
5278 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
5279 addresses.
5280 symbolic_memort_operand(), call32_operand(), int8_operand(),
5281 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
5282 Not used.
5283 uint16_operand(): Made static.
5284
5285 Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
5286
5287 * calls.c (expand_call): Fix typo.
5288
5289 Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
5290
5291 * c-lex.c (finput): New global.
5292 (init_parse): Always included. Handle !USE_CPPLIB using
5293 code originally in compile_file.
5294 (finish_parse): Update for CPPLIB.
5295 * toplev.c (init_parse, finish_parse): Declare.
5296 (finput): Delete variable. Now in front-ends.
5297 (compile_file): Remove code which is now handled by init_parse
5298 which is unconditionally called. Similarly for finish_parse.
5299
5300 Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
5301
5302 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
5303 ASM_WEAKEN_LABEL): Add.
5304
5305 Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
5306
5307 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
5308 * configure.in (alpha-*-linux*): Use them.
5309
5310 Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
5311
5312 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
5313 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
5314 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
5315 (build_expr_wfl): New prototype declaration.
5316 * tree.c (build_expr_wfl): New function, to build
5317 EXPR_WITH_FILE_LOCATION nodes.
5318 (copy_node): Don't zero TREE_CHAIN if copying a
5319 EXPR_WITH_FILE_LOCATION node.
5320 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
5321 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
5322
5323 Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
5324
5325 * configure.in (v850): Use t-v850.
5326 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
5327
5328 * protoize.c (creat, read, write): Do not declare.
5329
5330 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
5331 refer to the CODE_LABEL before a dispatch table.
5332
5333 * invoke.texi: Add ARC options.
5334
5335 * gcc.c (proces_command): Improve error message for -o with
5336 either -c or -S.
5337
5338 * i386/x-cygwin32 (CLIB): Link in advapi32.
5339
5340 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
5341 (ASM_IDENTIFY_LANGUAGE): Likewise.
5342
5343 * i386.md (movqi recognizer): Don't perfom byte increment into
5344 a NON_QI_REG_P.
5345
5346 * configure.in (x86-dg-dgux): Run fixinc.dgux.
5347
5348 * i370.h: Fix typo in GEN_INT changes.
5349
5350 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
5351 of an empty arglist in prototype.
5352
5353 * Makefile.in: Remove bytecode crud that crept back in after the
5354 gcc2 merge.
5355
5356 1998-04-08 Brendan Kehoe <brendan@cygnus.com>
5357
5358 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
5359 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
5360
5361 Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
5362
5363 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5364
5365 Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
5366
5367 * c-lex.c (is_class_name): Delete declaration.
5368 (whitespace_cr): Make static and add prototype.
5369 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
5370 yylex, get_directive_line): Turn declarations into prototypes.
5371 (position_after_whitespace, check_newline, yyerror,, is_class_name,
5372 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
5373 prototypes.
5374 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
5375 prototypes.
5376 * gencodes.c (gen_insn): Add prototype.
5377 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
5378 gen_peephole): Add prototypes.
5379 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
5380 prototypes.
5381 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
5382 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
5383 genheader, gencode): Add prototypes.
5384 * genopinit.c (gen_insn): Add prototype.
5385 * genoutput.c (output_prologue, output_epilogue, scan_operands,
5386 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
5387 gen_expand, gen_split, n_occurrences): Add prototypes.
5388 * genpeep.c (gen_peephole): Add prototype.
5389 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
5390 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
5391 labels_in_range_p, count_loop_regs_set, note_addr_stored,
5392 loop_reg_used_before_p, scan_loop, replace_call_address,
5393 skip_consec_insns, libcall_benefit, ignore_some_movables,
5394 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
5395 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
5396 check_final_value, record_giv, update_giv_derive, basic_induction_var,
5397 simplify_giv_expr, general_induction_var, consec_sets_giv,
5398 check_dbra_loop, express_from, combine_givs_p, combine_givs,
5399 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
5400 last_use_this_basic_block, record_initial, update_reg_last_use,
5401 iteration_info, analyze_loop_iterations, insert_bct,
5402 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
5403 into prototypes.
5404
5405 Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
5406
5407 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5408
5409 1998-04-07 Ken Raeburn <raeburn@cygnus.com>
5410
5411 * config/mips/mips.c (siginfo): Deleted.
5412 (override_options): Don't install SIGINFO signal handler.
5413
5414 Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
5415
5416 * loop.c (check_dbra_loop): When normalize comparison_val, add check
5417 to verify it is non-negative.
5418
5419 Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
5420
5421 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
5422 (alpha_expand_block_clear): Likewise.
5423
5424 Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
5425
5426 * tree.h (sizetype_tab): Fix previous change for K&R.
5427
5428 Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
5429
5430 * version.c: Bump for snapshot.
5431
5432 Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
5433
5434 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
5435 Add USG and POSIX to xm_defines.
5436
5437 Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
5438
5439 * gcc.c: Add linker spec.
5440 (link_command_spec): Use %(linker) instead of ld.
5441 (main): If collect2 is requested as the linker, see if it exists;
5442 if not, use ld instead.
5443
5444 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
5445 (ld:) Deleted.
5446 (install-collect2): Install as collect2, not ld.
5447
5448 * configure.in(will_use_collect2): It's named collect2 now.
5449
5450 * collect2: Remove checks to see if we were invoked recursively.
5451 (collect_execute): Use _spawnvp under cygwin32.
5452
5453 Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
5454
5455 * haifa-sched.c (build_control_flow): Set unreachable for block whose
5456 only predecessor is itself.
5457
5458 Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5459
5460 * c-parse.in: Include system.h, and remove stuff now made redundant.
5461 * cccp.c: Likewise.
5462 * cexp.y: Likewise.
5463 * protoize.c: Likewise. Properly check for cpp stringification.
5464
5465 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
5466 Depend on system.h.
5467
5468 * objc/Make-lang.in (objc-parse.o): Likewise.
5469
5470 Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5471
5472 * gansidecl.h: Check if compiler supports __attribute__. Provide
5473 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
5474 __attribute__ when its available. Also provide definitions for
5475 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
5476 terms of ATTRIBUTE_PRINTF.
5477
5478 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
5479 of __attribute__.
5480
5481 Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
5482
5483 * combine.c (can_combine_p): Include successor in volatile test.
5484
5485 Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5486
5487 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
5488 offset_unsigned.
5489
5490 Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
5491
5492 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
5493 in prototype and definition.
5494
5495 Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
5496
5497 * version.c: Bump for snapshot.
5498
5499 Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
5500
5501 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
5502 alpha_expand_unaligned_store_words.
5503
5504 Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
5505
5506 * i386.md (movsf_push, movsf_mem): Remove.
5507 (movsf_push): Rename from movsf_push_nomove and move in front of
5508 movsf. Use nonmemory_operand predicate and don't bother checking
5509 TARGET_MOVE.
5510 (movsf_push_memory): New pattern.
5511 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
5512 both operands refer to memory then force operand[1] into a register.
5513 (movsf_normal): Change to unnamed pattern.
5514 Likewise for movdf, movxf, and friends.
5515
5516 Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
5517
5518 * version.c: Bump for snapshot.
5519
5520 Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
5521
5522 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
5523
5524 Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
5525
5526 * configure.in (mips-wrs-vxworks): New target.
5527
5528 Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
5529
5530 * expmed.c (synth_mult): The value -1, has no zeros, so it can
5531 never have the form ...011.
5532
5533 * version.c: Bump for snapshot.
5534
5535 Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
5536
5537 * i386.c (asm_output_function_prefix, load_pic_register):
5538 Use ASM_GENERATE_INTERNAL_LABEL properly.
5539 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
5540 (print_operand): Ignore it.
5541 (load_pic_register): Use it for the got load call.
5542 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
5543 (prologue_get_pc_and_set_got): Likewise.
5544 * i386.h: Update print_operand docs.
5545
5546 Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
5547
5548 * i386.md (ffssi, ffshi): Rewrite as define_expands.
5549 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
5550 * i386.c (notice_update_cc): Recognize unspec 5.
5551
5552 Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
5553
5554 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
5555 * alpha.c (print_operand): Handle it.
5556 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
5557 for ALPHA_TP_INSN.
5558 (fix_truncdfdi2): Likewise.
5559
5560 Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
5561
5562 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
5563 of these into a single struct, with additional [us]sizetype entries.
5564 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
5565 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
5566 an array.
5567
5568 Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
5569
5570 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
5571
5572 Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
5573
5574 * haifa-sched.c (split_block_insns): Don't supress insn splitting
5575 on subsequent passes.
5576
5577 * alpha.c (hard_fp_register_operand): New function.
5578 * alpha.h (PREDICATE_CODES): Add it.
5579 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
5580 f<-m case and accompanying define_split.
5581 (trapb): Use a unique unspec_volatile number.
5582
5583 Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
5584
5585 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
5586 from gcc2 merge.
5587
5588 Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
5589
5590 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
5591 for details.
5592
5593 * haifa-sched.c: Mirror recent changes from gcc2.
5594
5595 Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
5596
5597 * Makefile.in (insn*.o): Depend on system.h.
5598
5599 * pa.c (output_global_address): Initialize base.
5600 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
5601
5602 1998-04-03 Mike Stump <mrs@wrs.com>
5603
5604 * gthr.h: Support systems that don't have weak, but have threads.
5605 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
5606 * gthr-vxworks.h: New file.
5607 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
5608
5609 Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
5610
5611 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
5612
5613 1998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
5614
5615 * ginclude/va-i960.h (va_end): Change void * to void.
5616
5617 Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5618
5619 * Makefile.in (choose-temp.o): Depend on system.h.
5620
5621 * choose-temp.c: Include system.h when IN_GCC.
5622
5623 Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
5624 Richard Henderson <rth@cygnus.com>
5625
5626 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
5627 (move_replacements): New function.
5628 * reload.h: Prototype it.
5629
5630 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
5631
5632 Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
5633
5634 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
5635 Run fixincludes.
5636
5637 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
5638 (gen_highpart): Likewise.
5639 * final.c (alter_subreg): Allow the target to hook by-mode subreg
5640 hard register number changes.
5641
5642 Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
5643
5644 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
5645 rnbitsize, rnmode and rinner.
5646 (make_range): Initialize type.
5647 (fold): Initialize arg0, arg1 and varop.
5648
5649 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
5650 and regnor.
5651 (expand_function_start): Initialize last_ptr.
5652
5653 * stor-layout.c (layout_record): Initialize desired_align.
5654 (get_best_mode): Initialize unit.
5655
5656 * tree.c (copy_node): Initialize length.
5657
5658 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
5659
5660 * caller-save.c (insert_save_restore): Initialize pat, code and
5661 numregs.
5662
5663 * emit-rtl.c (push_to_sequence): Initialize top.
5664 (push_topmost_sequence): Likewise.
5665
5666 * genattrtab.c (simplify_by_exploding): Initialize defval.
5667
5668 * profile.c (branch_prob): Initialize dest.
5669
5670 * rtl.h (note_stores): Remove duplicate prototype.
5671 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
5672
5673 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
5674 strings that are not actually lengths.
5675
5676 * genattrtab.c: Make generated file use system.h, instead of
5677 including stdio.h, etc directly.
5678 * genextract.c, genopinit.c, genoutput.c: Likewise.
5679 * genpeep.c, genrecog.c: Likewise
5680
5681 * genoutput.c (process_template): Mark operands in the generated
5682 function as potentially unused if compiling with GNU CC.
5683
5684 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
5685
5686 * pa.md (reload peepholes): Remove unused variable "mode".
5687
5688 Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
5689
5690 * config/arm/thumb.h: Add super interworking support.
5691 * config/arm/thumb.c: Add super interworking support.
5692 * config/arm/thumb.md: Add super interworking support.
5693 * config/arm/lib1funcs.asm: Add interworking support.
5694 * config/arm/lib1thumb.asm: Add super interworking support.
5695 * config/arm/t-semi: Add interworking support.
5696 * config/arm/t-thumb: Add interworking support.
5697 * config/arm/README-interworking: New file.
5698
5699 Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
5700
5701 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
5702 (MD_STARTFILE_PREFIX): Unset.
5703
5704 1998-04-01 Mark Mitchell <mmitchell@usa.net>
5705
5706 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
5707 entity in a local scope.
5708
5709 * fold-const.c (fold): Call truthvalue_conversion for values which
5710 are folded to boolean type.
5711
5712 Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
5713
5714 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
5715 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
5716 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
5717 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
5718 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
5719 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
5720 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
5721 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
5722 * md.texi: Likewise.
5723
5724 Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
5725
5726 * fixincludes (limits.h): Fix nested comments in Motorola's
5727 limits.h and sys/limits.h.
5728
5729 Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
5730
5731 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
5732 as dest of expand_binop call.
5733
5734 * alpha.md (extzv): Correct check for valid operand[2] values.
5735
5736 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
5737 branch.
5738
5739 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
5740
5741 Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
5742
5743 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
5744 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
5745
5746 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
5747 cygwin32 can override this to allow both unix and win32 style PATHs.
5748
5749 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
5750 style environment paths.
5751
5752 Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5753
5754 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
5755 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
5756 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
5757 system.h.
5758
5759 * cpphash.c: Include config.h.
5760 * cppalloc.c: Include system.h. Add parameters to various
5761 function prototypes.
5762 * cpperror.c: Likewise.
5763 * cppexp.c: Likewise.
5764 * cpphash.c: Likewise.
5765 * cpplib.c: Likewise.
5766 * cppmain.c: Likewise.
5767 * fix-header.c: Likewise.
5768 * gcov.c: Likewise.
5769 * gen-protos.c: Likewise.
5770 * gengenrtl.c: Likewise.
5771 * halfpic.c: Likewise.
5772 * hash.c: Likewise.
5773 * scan-decls.c: Likewise.
5774 * scan.c: Likewise.
5775
5776 Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
5777
5778 * README.gnat: Add lang_print_xnode definition.
5779
5780 Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5781
5782 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
5783 fmovecr on the 68060.
5784
5785 Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
5786
5787 * genemit.c (DONE): Rework so that it works in the true arm if
5788 an if-else conditional.
5789 (FAIL): Likewise.
5790
5791 Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
5792
5793 * rs6000.c: Do not include stdioh or ctype.h anymore.
5794
5795 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
5796 $(RTL_H).
5797 (stor-layout.o): Likewise.
5798 * c-typeck.c: Include rtl.h and expr.h.
5799 * stor-layout.c: Likewise.
5800
5801 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
5802 All callers changed.
5803 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
5804 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
5805 All callers changed.
5806
5807 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
5808
5809 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
5810
5811 * tree.h (lang_print_xnode): Provide prototype.
5812
5813 Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
5814
5815 * version.c: Bump for snapshot.
5816
5817 Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
5818
5819 * objc/sendmsg.c (__objc_block_forward): Add braces for return
5820 value if INVISIBLE_STRUCT_RETURN.
5821
5822 * pa.c (arith_double_operand): Fix parens.
5823
5824 * haifa-sched.c (print_pattern): Correct arg to sprintf.
5825
5826 * Makefile.in (libgcc1.null): Make return type for __foo void.
5827
5828 Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
5829
5830 * pa.h: Add declarations for many functions defined in pa.c.
5831
5832 * genpeep.c (main): Remove unused variable 'i' from the generated
5833 file.
5834
5835 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
5836 (gen_split): Likewise.
5837 (main): Rework generated definitions of DONE and FAIL so that they
5838 no longer use gotos. Avoids warnings about unused labels.
5839
5840 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
5841 unused "junk" variable.
5842
5843 * genattrtab.c (write_complex_function): Add a default case in
5844 generated switch statement to keep -W -Wall quiet.
5845
5846 Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
5847
5848 * invoke.texi: Document more ARM and Thumb command line options.
5849
5850 * config/arm/xm-thumb.h: New file.
5851
5852 Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
5853
5854 * stmt.c (expand_expr_stmt): Must generate code for
5855 statements within an expression (gcc's `({ ... )}')
5856 even if -fsyntax-only.
5857
5858 Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5859 Jeffrey A Law (law@cygnus.com)
5860
5861 * basic-block.h (basic_block_computed_jump_target): Declare.
5862 * flags.h: (current_function_has_computed_jump): Declare.
5863 * flow.c: (basic_block_computed_jump_target): Define.
5864 (flow_analysis): Allocate it. Set current_function_has_computed_jump
5865 to 0.
5866 (find_basic_blocks): Set current_function_has_computed_jump and
5867 elements of basic_block_computed_jump_target to 1 as appropriate.
5868 * function.c: (current_function_has_computed_jump): Define.
5869 * global.c (global_conflicts): Don't allocate pseudos into stack regs
5870 at the start of a block that is reachable by a computed jump.
5871 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
5872 immediately.
5873 (subst_stack_regs): Undo change from Sep 4 1997.
5874 (uses_reg_or_mem): Now unused, deleted.
5875 * stupid.c (stupid_life_analysis): Compute
5876 current_function_has_computed_jump.
5877 (stupid_find_reg): Don't allocate stack regs if the function has a
5878 computed goto.
5879 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
5880 the current function has a computed jump. Use the global value
5881 instead.
5882
5883 Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
5884
5885 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
5886 (DWARF2_UNWIND_INFO): Define to zero.
5887
5888 Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
5889
5890 * gcc.c (set_std_prefix): Add declaration.
5891 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
5892 suffix, and update the standard prefix prefix.c uses.
5893
5894 * prefix.c (std_prefix): New global to hold default prefix value.
5895 (get_key_value): Change to use std_prefix instead of PREFIX.
5896 (translate_name): Ditto.
5897 (update_path): Ditto.
5898 (get_key_value): Release allocated scratch storage.
5899 (set_std_prefix): New function to reset the standard prefix.
5900
5901 Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5902
5903 * sh.c (find_barrier): Fix calculations for alignment increase.
5904
5905 Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
5906
5907 * Makefile.in (stmp-fixinc): If we're actually fixing include
5908 files, copy gcc's assert.h into the fixed include dir.
5909 * fixincludes (assert.h): Avoid any attempts to fix a probably
5910 broken system specific assert.h file.
5911 * fixproto (stdlib.h): Make sure, it'll contain a definition of
5912 size_t.
5913
5914 Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
5915
5916 * regclass.c (reg_scan_mark_refs): Be more selective about
5917 when we mark a register with REGNO_POINTER_FLAG.
5918
5919 Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5920
5921 reload inheritance improvement:
5922 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
5923 Change meaning: index is now hard reg number.
5924 (reg_reloaded_valid, reg_reloaded_dead): New variables.
5925 (reload_spill_index): Content is now a hard reg number.
5926 (reload_as_needed): Change to fit new variable meaning.
5927 (forget_old_reloads_1, allocate_reload_reg): Likewise.
5928 (choose_reload_regs, emit_reload_insns): Likewise.
5929
5930 Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5931
5932 * regclass.c (record_reg_classes): '?' increases cost by two.
5933
5934 * reload.c (find_reloads): Double previous costs. Output
5935 reloads cost one unit extra.
5936
5937 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
5938 boiled down to && ! 0.
5939
5940 * reload.c (find_equiv_reg): Also consider a goal offset from the
5941 frame pointer to be constant.
5942
5943 Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5944
5945 * sh.h (OPTIMIZATION_OPTIONS): Define.
5946
5947 Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
5948
5949 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
5950
5951 Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
5952
5953 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
5954
5955 Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
5956
5957 * c-common.c (check_format_info): Initialize type, is_type. New local
5958 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
5959 when pedantic if used with integral format specifier.
5960
5961 Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
5962
5963 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
5964 direction.
5965 (function_arg_padding): Declare.
5966
5967 * rs6000.c: Include system.h.
5968 (function_arg_padding): Change return type to int, cast enum's to
5969 int.
5970
5971 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
5972 * collect2.c (scan_prog_file): Add explicit braces to avoid
5973 ambiguous `else'.
5974
5975 * dbxout.c (dbxout_type_fields): Add braces around empty body in
5976 an if-statement.
5977 (dbxout_type): Likewise.
5978
5979 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
5980 `ptt_size' from int to size_t.
5981 (rs6000_file_start): Likewise for `i'.
5982 (rs6000_replace_regno): Add default case in enumeration switch.
5983 (output_epilog): Remove unused variable `i'.
5984 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
5985 and `reg2'.
5986
5987 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
5988 initializer.
5989 (get_issue_rate, non_logical_cint_operand): Add prototype.
5990 (rs6000_output_load_toc_table): Ditto.
5991
5992 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
5993 `else'.
5994
5995 Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
5996
5997 * config/arm/thumb.c: New File. Support for ARM's Thumb
5998 instruction set.
5999 * config/arm/thumb.h: New File. Thumb definitions.
6000 * config/arm/thumb.md: New File. Thumb machine description.
6001 * config/arm/tcoff.h: New File. Thumb COFF support.
6002 * config/arm/t-thumb: New File. Thumb makefile fragment.
6003 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
6004
6005 * configure.in: Add Thumb-coff target.
6006 * configure: Add Thumb-coff target.
6007 * config.sub: Add Thumb-coff target.
6008
6009 Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
6010
6011 * loop.c (scan_loop): Initialize move_insn_first to zero.
6012
6013 Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
6014
6015 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
6016 * config/i386/rtems.h: Likewise.
6017 * config/i960/rtems.h: Likewise.
6018 * config/m68k/rtems.h: Likewise.
6019 * config/mips/rtems64.h: Likewise.
6020 * config/pa/rtems.h: Likewise.
6021 * config/rs6000/rtems.h: Likewise.
6022 * config/sh/rtems.h: Likewise.
6023 * config/sparc/rtems.h: Likewise.
6024
6025 Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6026
6027 * pa.c (emit_move_sequence): If in reload, call find_replacement.
6028
6029 Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
6030
6031 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
6032
6033 * collect2.c (find_a_file): Add debugging.
6034 (find_a_file): Test for win32 style absolute paths if
6035 DIR_SERPARATOR is defined.
6036 (prefix_from_string): Add debugging.
6037 (main): Test for debug command line switch at start of program
6038 execution.
6039 (main): Use GET_ENVIRONMENT rather than getenv().
6040 (prefix_from_env): Use GET_ENVIRONMENT.
6041
6042 1998-03-24 Mark Mitchell <mmitchell@usa.net>
6043
6044 * cplus-dem.c (optable): Add sizeof.
6045 (demangle_template_value_parm): New function containing code
6046 previously found in demangle_template.
6047 (demangle_integral_value): New function which handles complicated
6048 integral expressions.
6049 (demangle_template): Use them.
6050
6051 Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6052
6053 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
6054 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
6055 genattrtab.o, genoutput.o): Depend on system.h.
6056
6057 * genattr.c: Include system.h. Add arguments to various function
6058 prototypes. Remove redundant prototype of read_rtx().
6059 * genattrtab.c: Likewise.
6060 * gencodes.c: Likewise.
6061 * genconfig.c: Likewise.
6062 * genemit.c: Likewise.
6063 * genextract.c: Likewise.
6064 * genflags.c: Likewise.
6065 * genopinit.c: Likewise.
6066 * genoutput.c: Likewise.
6067 * genpeep.c: Likewise.
6068 * genrecog.c: Likewise.
6069
6070 1998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
6071
6072 * c-lang.c (lang_print_xnode): New function.
6073 * objc/objc-act.c (lang_print_xnode): Likewise.
6074 * print-tree.c (print_node): Call it
6075
6076 Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
6077
6078 * c-parse.in: Recognize protocol qualifiers in class
6079 definitions for objc.
6080 Include "output.h".
6081 (yyerror): Remove redundant decl.
6082 (yyprint): Fix prototype.
6083
6084 Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
6085
6086 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
6087
6088 * stmt.c (unroll_block_trees): Free block_vector if needed.
6089
6090 Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
6091
6092 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
6093 (zero_extendsidi2): Avoid useless copy.
6094 (iordi_zext): New pattern.
6095 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
6096 operand 2.
6097 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
6098
6099 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
6100 (ashldi3): Allow constant shift count in range ]32,63].
6101 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
6102
6103 1998-03-22 Mark Mitchell <mmitchell@usa.net>
6104
6105 * tree.h (IS_EXPR_CODE_CLASS): New macro.
6106
6107 Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
6108
6109 * h8300.h (CONST_COSTS): Remove definition.
6110 (DEFAULT_RTX_COSTS): Define.
6111
6112 Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
6113
6114 * config/sh/rtems.h: Switched from ELF to COFF.
6115
6116 Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6117
6118 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
6119
6120 Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
6121
6122 * version.c: Bump for snapshot.
6123
6124 Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
6125 Geoff Noer <noer@cygnus.com>
6126
6127 * Makefile.in: Various fixes for building cygwin32 native toolchains.
6128
6129 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
6130 * objc/Make-lang.in: Likewise.
6131
6132 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
6133
6134 Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
6135
6136 * configure.in: Handle with-PACKAGE=no correctly
6137
6138 Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6139
6140 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
6141 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
6142 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
6143 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
6144 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
6145 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
6146 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
6147 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
6148 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
6149 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
6150 on system.h.
6151
6152 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
6153 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
6154 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
6155 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
6156 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
6157 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
6158 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
6159 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
6160 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
6161 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
6162 xcoffout.c: Include system.h. Organize include ordering so
6163 that stdarg/varargs comes before other system headers. Remove
6164 spurious casts of functions assured of a prototype in system.h.
6165
6166 Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
6167
6168 * reg-stack.c (pop_stack): Define. Pops any register on the
6169 regstack and adjusts regstack.
6170 (compare_for_stack_reg): Use pop_stack.
6171
6172 Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
6173
6174 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
6175 config too.
6176
6177 Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
6178
6179 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
6180
6181 * fold-const.c (fold): Replace sign-extension of a zero extended
6182 value by a single zero extension.
6183
6184 Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
6185
6186 * except.c (init_eh): Do nothing.
6187 (save_eh_status): Call init_eh_for_function, not init_eh.
6188 * function.c (push_function_context_to): Don't call init_emit.
6189
6190 Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
6191
6192 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
6193 and EABI.
6194
6195 Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6196
6197 * final.c (shorten_branches): Add parentheses around +/- in
6198 operand of &.
6199
6200 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
6201
6202 Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
6203
6204 * regclass.c (memory_move_secondary_cost): Wrap uses of
6205 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
6206 with #ifdef tests.
6207
6208 Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
6209
6210 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
6211
6212 * flow.c (life_analysis): #include <sys/types.h> to make sure
6213 size_t is defined.
6214 * cplus-dem.c (demangle_function_name): Likewise.
6215
6216 Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
6217
6218 * final.c (insn_noperands): Change type to unsigned int.
6219 (final_scan_insn): Likewise for noperands;
6220 properly check operand number boundaries.
6221
6222 Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
6223
6224 * alpha.md (extzv): Don't reject register operands. Fix
6225 mode of operand 1.
6226
6227 Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
6228
6229 * dbxout.c (dbxout_function_end): Fix last change. The correct
6230 predicate is ASM_OUTPUT_SECTION_NAME.
6231
6232 Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
6233
6234 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
6235 (ashlsi): Use match_dup 1 instead of match_operand 2.
6236
6237 Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6238
6239 * fold-const.c (operand_equal_for_comparison_p): See if equal
6240 when nop conversions are removed.
6241
6242 Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6243
6244 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
6245 don't use ORIGINAL_TARGET unless REG.
6246
6247 Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6248
6249 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
6250
6251 Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
6252
6253 * loop.c (struct movable): New field move_insn_first.
6254 (scan_loop): In consec sets code, set it. Clear it otherwise.
6255 (move_movables): In consec sets code, use it. Copy REG_NOTES from
6256 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
6257 out code.
6258
6259 Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
6260
6261 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
6262 is large, and the system doesn't provide atoll or atoq.
6263 (atoll): New.
6264
6265 * alpha/xm-vms.h (HAVE_ATOLL): Define.
6266 Reported by Klaus Kaempf <kkaempf@progis.de>.
6267
6268 Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6269
6270 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
6271 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
6272
6273 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
6274 test !ACCUMULATE_OUTGOING_ARGS.
6275
6276 * collect2.c (write_c_file_glob): Wrap function definition in
6277 macro test !LD_INIT_SWITCH.
6278
6279 * combine.c (try_combine): Wrap variables `cc_use' and
6280 `compare_mode' in macro test EXTRA_CC_MODES.
6281
6282 * cpplib.c (do_ident): Remove unused variable `len'.
6283 (skip_if_group): Remove unused variables `at_beg_of_line' and
6284 `after_ident'.
6285 (cpp_get_token): Remove unused variable `dummy'.
6286
6287 * dbxout.c (scope_labelno): Move static variable definition inside
6288 the one function scope where it is used.
6289 (dbxout_function_end): Wrap prototype and definition in
6290 macro test !NO_DBX_FUNCTION_END.
6291
6292 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
6293 in macro test !MIPS_DEBUGGING_INFO.
6294
6295 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
6296 into the scope where it is used. Wrap empty else-statement body
6297 in braces.
6298
6299 * fix-header.c: Fix typo in comment.
6300 (inf_skip_spaces): Cast results of INF_UNGET to (void).
6301 (check_protection, main): Likewise.
6302
6303 * flow.c (find_basic_blocks_1): Remove dangling comment text.
6304
6305 * function.c (contains): Wrap prototype and definition in macro
6306 test HAVE_prologue || HAVE_epilogue.
6307 (fixup_var_refs_1): Remove unused variable `width'.
6308
6309 * gen-protos.c (main): Remove unused variable `optr'.
6310
6311 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
6312
6313 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
6314 (__sjpopnthrow): Remove unused variable `jmpbuf'.
6315 (__throw): Remove unused variable `val'.
6316
6317 * protoize.c: Check for a previously existing definition before
6318 defining *_OK macros.
6319
6320 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
6321
6322 Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6323
6324 * vax.h (ADDR_VEC_ALIGN): Define.
6325
6326 Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
6327
6328 * gcc.c (default_arg): Don't wander off the end of allocated
6329 memory.
6330
6331 (From Geoffrey Keating <geoffk@ozemail.com.au>)
6332 * rs6000.c (small_data_operand): Ensure that any address
6333 referenced relative to the small data area is inside the SDA.
6334
6335 Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
6336
6337 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
6338
6339 Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
6340
6341 * except.h (in_same_eh_region): New prototype.
6342 (free_insn_eh_region, init_insn_eh_region): New prototypes.
6343 * except.c (insn_eh_region, maximum_uid): New static variables.
6344 (set_insn_eh_region): New static function to set region numbers.
6345 (free_insn_eh_region): New function to free EH region table.
6346 (init_insn_eh_region): New function to initialize EH region table.
6347 (in_same_eh_region): New function used to determine if two rtl
6348 instructions are in the same exception region or not.
6349 * final.c (final): Initialize the table indicating which instructions
6350 belong in which exception region.
6351 * genpeep.c (main): Add "except.h" to include file list in generated
6352 file insn-peep.c.
6353 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
6354 peepholes involving calls and unconditional branches.
6355
6356 Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
6357
6358 * README.gnat: New file.
6359
6360 Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6361
6362 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
6363 "recog.h" for offsettable_memref_p.
6364 (legitimize_pic_address): Remove unused variable `offset'.
6365 (notice_update_cc): Change return type to void. Add default label
6366 to switch.
6367 (standard_68881_constant_p): Remove unused variable mode.
6368 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
6369 (const_int_cost): Explicitly declare as returning int.
6370 (output_dbcc_and_branch): Change return type to void.
6371
6372 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
6373 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
6374 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
6375
6376 Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
6377
6378 * version.c: Bump for snapshot.
6379
6380 Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6381
6382 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
6383 check for 'M' constraint.
6384
6385 Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
6386
6387 * cccp.c (create_definition): If pedantic, call pedwarn for macro
6388 varargs feature.
6389
6390 Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
6391
6392 * i386.c (ix86_logical_operator): New function.
6393 (split_di): Ensure that when a MEM is split, the resulting MEMs have
6394 SImode.
6395 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
6396 to implement them.
6397
6398 Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6399 Richard Earnshaw <rearnsha@arm.com>
6400 Nick Clifton <nickc@cygnus.com>
6401
6402 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
6403
6404 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
6405
6406 * cse.c (rtx_cost): Provide a default case in an enumeration
6407 switch, and call DEFAULT_RTX_COSTS if it's defined.
6408
6409 Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
6410
6411 * basic-block.h (compute_preds_succs): Change return type in
6412 prototype to void.
6413 * flow.c (compute_preds_succs): Likewise in function definition.
6414
6415 * regmove.c (find_matches): Cast char used as array index to unsigned char
6416 to supress warning.
6417
6418 Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
6419
6420 * i386.h (RTX_COSTS): Insert braces around nested if.
6421 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
6422 elements.
6423
6424 * gcc.c (default_compilers): Properly put brackets around array elements in
6425 initializer.
6426
6427 * getopt.c (_getopt_internal): Add explicit braces around nested if;
6428 reformatted.
6429
6430 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
6431 (record_reg_life_pat): Add explicit parens around && and || in expression.
6432 (stack_reg_life_analysis): Add parens around assignment used as expression.
6433 (convert_regs): Likewise.
6434
6435 Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
6436
6437 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
6438 change callers accordingly.
6439
6440 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
6441 and definition; change all callers accordingly.
6442
6443 * except.c (init_eh): Avoid assignment of unused return value of
6444 build_pointer_type; cast it to void, instead, and remove unused
6445 variable type.
6446
6447 * gcc.c (lang_specific_driver): Define prototype only #ifdef
6448 LANG_SPECIFIC_DRIVER.
6449 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
6450
6451 * genoutput.c (output_epilogue): Initialize next_name to 0.
6452
6453 * real.c (efrexp): #if 0 prototype and function definition.
6454 (eremain): Likewise.
6455 (uditoe): Likewise.
6456 (ditoe): Likewise.
6457 (etoudi): Likewise.
6458 (etodi): Likewise.
6459 (esqrt): Likewise.
6460
6461 * reload.c (push_secondary_reload): Define prototype only
6462 #ifdef HAVE_SECONDARY_RELOADS.
6463
6464 * varasm.c (assemble_static_space): Define rounded only
6465 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
6466
6467 Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
6468
6469 * i386.md (andsi): Add default case in enumeration switch.
6470 (iorsi3): Likewise.
6471 (iorhi3): Likewise.
6472 (xorsi3): Likewise.
6473
6474 Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
6475
6476 * c-decl (finish_struct): Change type of min_align to unsigned.
6477
6478 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
6479 remove unused variable len.
6480
6481 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
6482 comment indicating this is proper behaviour.
6483 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
6484 reg >= 0.
6485 (based_loc_descr): Likewise.
6486
6487 * enquire.c (bitpattern): Change type of variable i to unsigned.
6488
6489 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
6490
6491 * flow.c (life_analysis): Change type of variable i to size_t;
6492 remove unused variable insn.
6493
6494 * gcc.c (translate_options): Change type of variables optlen, arglen and
6495 complen to size_t.
6496 (input_filename_length): Change type to size_t.
6497 (do_spec_1): Change type of variable bufsize to size_t.
6498 (main): Change type of variables i and j to size_t;
6499 remove subblock local definition of variable i.
6500 (lookup_compiler): Change type of second argument to size_t;
6501 change type of variable i to size_t.
6502
6503 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
6504
6505 * genopinit.c (get_insn): Change type of variable pindex to size_t.
6506
6507 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
6508
6509 * global.c (global_alloc): Change type of variable i to size_t.
6510
6511 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
6512
6513 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
6514 (expand_end_case): Change type of variable count to size_t.
6515
6516 * toplev.c (main): Change type of variable j to size_t.
6517 (set_target_switch): Change type of variable j to size_t.
6518 (print_switch_values): Change type of variable j to size_t;
6519 remove unused variable flags.
6520
6521 * varasm.c (assemble_variable): Change type of variable align to size_t.
6522 (const_hash_rtx): Change type of variable i to size_t.
6523
6524 1998-03-11 Mark Mitchell <mmitchell@usa.net>
6525
6526 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
6527 TREE_VEC if that's what it really is.
6528
6529 Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
6530
6531 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
6532 as per ISO C spec.
6533
6534 Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
6535
6536 * gthr.h: Changed the comment about return values.
6537 * gthr-solaris.h (__gthread_once): Do not use errno; return the
6538 error number instead of -1.
6539 (__gthread_key_create): Any non-zero return value is an error.
6540 * libgcc2.c (eh_context_initialize): Check for non-zero return
6541 value from __gthread_once.
6542 Check that the value of get_eh_context was really changed.
6543
6544 Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6545
6546 * sh.h (LOOP_ALIGN): Only align when optimizing.
6547 * sh.c (find_barrier): Clear inc for CODE_LABELs.
6548 When not optimizing, calculate alignment for BARRIERs directly.
6549
6550 Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6551
6552 * final.c (shorten_branches): Remove conditionalizing on
6553 SHORTEN_WITH_ADJUST_INSN_LENGTH
6554 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
6555
6556 Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
6557
6558 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
6559 an unconditional jump around deleted blocks.
6560
6561 Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
6562
6563 * profile.c (branch_prob): If see computed goto, call fatal instead of
6564 abort.
6565
6566 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
6567
6568 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
6569 Patch from Bruno Haible.
6570
6571 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
6572 (assign_parms): Set aggregate if hide_last_arg and last_named.
6573
6574 Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6575
6576 * final.c (shorten_branches): Initialize insn_addresses.
6577
6578 Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6579
6580 * sh.h (MUST_PASS_IN_STACK): Define.
6581
6582 Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
6583
6584 * final.c (shorten_branches): Fix minor logic error in
6585 ADDR_DIFF_VEC shortening support.
6586
6587 Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
6588
6589 * version.c: Bump for snapshot.
6590
6591 Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
6592
6593 * haifa-sched.c (is_cfg_nonregular): Change return type to
6594 an int. No longer compute "estimated" number of edges. Use
6595 computed_jump_p instead of duplicating the code. Fixup/add
6596 some comments.
6597 (build_control_flow): Returns a value indicating an irregularity
6598 in the cfg was detected. Count the number of edges in the cfg.
6599 allocate various edge tables.
6600 (find_rgns): No longer look for unreachable blocks.
6601 (schedule_insns): Do not allocate memory for edge tables here.
6602 Free memory for edge tables before returning. Do not perform
6603 cross block scheduling if build_control_flow returns nonzero.
6604 * flow.c (compute_preds_succs): More accurately determine when
6605 a block drops in.
6606
6607 * basic-block.h (free_basic_block_vargs): Provide prototype.
6608
6609 * cccp.c (main): Fix dumb mistakes in last change.
6610
6611 Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6612
6613 * rtl.h (addr_diff_vec_flags): New typedef.
6614 (union rtunion_def): New member rt_addr_diff_vec_flags.
6615 (ADDR_DIFF_VEC_FLAGS): New macro.
6616
6617 * sh.c (output_branch): Fix offset overflow problems.
6618
6619 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
6620 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
6621 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
6622 * stmt.c (expand_end_case): Supply new arguments to
6623 gen_rtx_ADDR_DIFF_VEC.
6624 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
6625 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
6626 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
6627 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
6628 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
6629 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
6630 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
6631 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
6632 * i386/freebsd.h, i386/linux.h : Likewise.
6633 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
6634 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
6635 * m68k/mot3300.h, m68k/sgs.h : Likewise.
6636 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
6637 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
6638 (CASE_VECTOR_SHORTEN_MODE): Define.
6639 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
6640 (med_branch_p, braf_branch_p): Don't declare.
6641 (mdep_reorg_phase, barrier_align): Declare.
6642 (ADJUST_INSN_LENGTH): Remove alignment handling.
6643 * sh.c (uid_align, uid_align_max): Deleted.
6644 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
6645 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
6646 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
6647 (output_far_jump): Don't use braf_branch_p.
6648 (output_branchy_insn): Don't use branch_offset.
6649 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
6650 Remove paired barrier stuff.
6651 Don't use cache_align_p.
6652 Take alignment insns into account.
6653 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
6654 the addr_diff_vec.
6655 (barrier_align, branch_dest): New function.
6656 (machine_dependent_reorg, split_branches): Remove infrastructure
6657 for branch shortening that is now provided in the backend.
6658 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
6659 (braf_branch_p, braf_cbranch_p): Likewise.
6660 (attribute length): Use new attributes.
6661 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
6662 (addr_diff_vec_adjust): Delete.
6663 (align_2): Now a define_expand.
6664 (align_log): Now length 0.
6665
6666 Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
6667
6668 * m32r.md (right): Correctly check for length == 2, not 1.
6669
6670 Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6671
6672 * mips/mips.h: Prototype `machine_dependent_reorg'.
6673 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
6674
6675 Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
6676
6677 * final.c (shorten_branches): Restore accidentally removed code.
6678
6679 Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6680
6681 * configure.in: Remove duplicate uses of AC_PROG_CC and
6682 AC_PROG_MAKE_SET.
6683
6684 Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
6685
6686 * configure.in (target_cpu_default2): Correct typo for alphapca56.
6687
6688 Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
6689 Doug Evans (devans@cygnus.com)
6690
6691 * haifa-sched.c (build_jmp_edges): Delete dead function.
6692 (build_control_flow): Use cfg routines from flow.c
6693 (schedule_insns): Remove debugging code accidentally checked
6694 in earlier today.
6695
6696 * basic-block.h: Add external integer list structures, typdefs,
6697 accessor macros and function declarations. Simlarly for
6698 basic block pred/succ support and simple bitmap stuff.
6699 * flow.c: Add functions for integer list, basic block pred/succ
6700 support and simple bitmap support.
6701 (compute_dominators): New function to compute dominators and
6702 post dominators.
6703 (find_basic_blocks): Split into two functions.
6704 (life_analysis): Likewise.
6705 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
6706 the life_analysis from toplev.c
6707 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
6708 life_analysis instead of flow_analysis.
6709
6710 Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6711
6712 * jump.c (jump_optimize): Call mark_jump_label also for deleted
6713 insns.
6714 (mark_jump_label): Don't increment ref counts for deleted insns.
6715
6716 Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6717
6718 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
6719
6720 * mips/mips.c: Include stdlib.h and unistd.h.
6721 (mips_asm_file_end): Add braces around empty body in an if-statement.
6722 (function_prologue): Wrap variable `fnname' in
6723 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
6724 (mips_select_rtx_section, mips_select_section): Declare as void.
6725
6726 * mips/mips.h: Add prototypes for extern functions in mips.c.
6727 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
6728 (ENCODE_SECTION_INFO): Add braces around empty body in an
6729 if-statement.
6730
6731 * mips/mips.md (movdi): Add parentheses around && within ||.
6732 (movsf, movdf): Likewise.
6733 (branch_zero, branch_zero_di): Add default case in
6734 enumeration switch.
6735
6736
6737 Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
6738
6739 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
6740 real constants, since they can't be changed.
6741 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6742 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
6743 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6744 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6745 * alpha/vms.h (TARGET_OPEN_VMS): New.
6746 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
6747
6748 Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
6749
6750 * reload.c (find_reloads): Always force (subreg (mem)) to be
6751 reloaded if WORD_REGISTER_OPERATIONS.
6752
6753 Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
6754
6755 * haifa-sched.c (free_list): Rename from free_pnd_lst.
6756 (free_pending_lists): Rename free_pnd_lst uses.
6757 (remove_dependence): Place expunged element on unused_insn_list.
6758 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
6759 gen_rtx_*_LIST and alloc_rtx to use them.
6760 (compute_block_backward_dependences): Free the reg_last_* lists.
6761
6762 Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
6763
6764 * cccp.c (main): Avoid undefined behavior when setting pend_includes
6765 and pend_files.
6766
6767 Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6768
6769 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
6770 USE_GNULIBC_1 is defined
6771 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
6772 includes the t-linux-gnulibc1 fragment
6773
6774 Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
6775
6776 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
6777
6778 Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6779
6780 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
6781
6782 Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6783
6784 * final.c (shorten_branches): Tag the loop alignment onto the
6785 first label after NOTE_INSN_LOOP_BEG even if there is an
6786 intervening insn.
6787
6788 Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6789
6790 * final.c (insn_current_reference_address):
6791 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
6792 proper alignment chain.
6793
6794 * final.c (max_labelno): New static variable.
6795 (final_scan_insn): Check max_labelno before outputting an
6796 alignment for a label.
6797 (shorten_branches): Remove unused variable length_align.
6798
6799 Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6800
6801 * sparc.c (ultrasparc_adjust_cost): Add default case in
6802 enumeration switch.
6803
6804 * sparc.h: Add prototypes for extern functions defined in
6805 sparc.c.
6806
6807 Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
6808
6809 * toplev.c: Only generate <name>.dbr file when dumping RTL if
6810 DEALY_SLOTS is defined.
6811
6812 Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
6813
6814 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
6815 in call to fill_slots_from_thread.
6816
6817 Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
6818
6819 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
6820 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
6821
6822 Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6823
6824 * final.c (insn_last_address, insn_current_align, uid_align):
6825 New variables.
6826 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
6827 (insn_current_reference_address): Likewise.
6828 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
6829 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
6830 (label_to_alignment): New function.
6831 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
6832 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
6833 insn_current_reference_address instead of insn_current_address.
6834 (or_attr_value, write_length_unit_log): New functions.
6835 (main): Call write_length_unit_log.
6836 (write_const_num_delay_slots): Output extra '\n'.
6837 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
6838 replace with:
6839 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
6840 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
6841 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
6842 (LOOP_ALIGN).
6843 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
6844 (LABEL_ALIGN_AFTER_BARRIER).
6845 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
6846 * ns32k/tek6000.h: Likewise.
6847 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
6848 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
6849 ASM_OUTPUT_ALIGN_CODE.
6850
6851 Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
6852
6853 * version.c: Bump for snapshot.
6854
6855 Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
6856
6857 * version.c: Bump for snapshot.
6858
6859 Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
6860
6861 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
6862 if condition code of jump conflicts with opposite_needed.
6863
6864 * reorg.c (fill_slots_from_thread): Mark resources referenced in
6865 opposite_needed thread. Return delay_list even when cannot get
6866 any more delay insns from end of subroutine.
6867
6868 Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
6869
6870 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
6871 All callers changed.
6872
6873 Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6874
6875 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
6876 end_fde_sort): New functions for fast sorting of an FDE array.
6877 (fde_insert): Simplified.
6878 (add_fdes): Change argument list.
6879 (frame_init): Use the new functions.
6880
6881 Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
6882
6883 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
6884
6885 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
6886
6887 * fold-const.c (fold_range_test): Always return a value.
6888
6889 Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
6890
6891 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
6892 data in the text section unless READONLY_DATA_SECTION is defined.
6893
6894 Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
6895
6896 * c-parse.in (undeclared variable error): Tweak error message to
6897 be clearer.
6898
6899 Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
6900
6901 * version.c: Bump for snapshot.
6902
6903 1998-02-28 Mark Mitchell <mmitchell@usa.net>
6904
6905 * final.c (final_scan_insn): Undo overzealous removal of `set'.
6906
6907 Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6908
6909 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
6910 case, add parentheses to specify the proper order of precedence in
6911 the if-statement.
6912
6913
6914 * c-aux-info.c: Include string.h/strings.h.
6915
6916 * pa.c: Include stdlib.h.
6917 (pa_combine_instructions): Prototype the function.
6918 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
6919 (reloc_needed): Add default case for enumeration switch.
6920 (remove_useless_addtr_insns): Remove unused variable `all'.
6921 (hppa_expand_prologue): Add explicit braces to avoid
6922 ambiguous `else'.
6923 (output_function_epilogue): Remove unused variable `i'.
6924 (output_millicode_call): Remove unused variable `link'.
6925 (shadd_constant_p, forward_branch_p): Make the function static.
6926 (following_call): Explicitly declare to return int.
6927 (pa_reorg): Declare as void.
6928 (pa_combine_instructions): Declare as static void. Add
6929 parentheses around && within ||.
6930
6931 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
6932 following_call, function_label_operand, lhs_lshift_cint_operand
6933 and zdepi_cint_p.
6934
6935 * pa.md: Add parentheses around && within ||.
6936
6937 * cppalloc.c: Include stdlib.h.
6938
6939 * cpperror.c (cpp_print_containing_files): Remove unused variable
6940 `i'. Fix format specifier in fprintf.
6941
6942 * cse.c (cse_around_loop): Add explicit braces to avoid
6943 ambiguous `else'.
6944 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
6945
6946 * expr.c (expand_expr): Add parentheses around && within ||.
6947
6948 * final.c (app_enable): Replace fprintf with fputs where there are
6949 no format specifiers and no trailing argument after the string.
6950 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
6951 (app_disable): Likewise.
6952 (final_end_function): Likewise.
6953 (final_scan_insn): Likewise. Remove unused variable `set'.
6954 (profile_function): Wrap empty if-statement body in {} brackets.
6955
6956 * function.c: Include stdlib.h.
6957 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
6958 (reposition_prologue_and_epilogue_notes): Add parentheses
6959 around assignment used as truth value.
6960
6961 * integrate.c (expand_inline_function): Wrap variable
6962 `cc0_insn' in macro HAVE_cc0.
6963
6964 * jump.c (jump_optimize): Wrap variable `q' in macro
6965 HAVE_cc0. Remove unused variable `prev1'.
6966
6967 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
6968 within ||. Fix format specifier in fprintf.
6969 (__bb_init_prg): Add parentheses around assignment used as
6970 truth value.
6971
6972 * local-alloc.c: Include stdlib.h.
6973 (requires_inout): Add parentheses around assignment used
6974 as truth value.
6975
6976 * loop.c (analyze_loop_iterations): Wrap prototype and definition
6977 in macro HAVE_decrement_and_branch_on_count.
6978 (insert_bct, instrument_loop_bct): Likewise.
6979 (move_movables): Add parentheses around assignment used as
6980 truth value.
6981 (consec_sets_invariant_p): Likewise.
6982 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
6983
6984 * objc/objc-act.c: Include stdlib.h.
6985 (lookup_method_in_protocol_list): Wrap empty else-statement body
6986 in braces.
6987 (lookup_protocol_in_reflist): Likewise.
6988 (objc_add_static_instance): Remove unused variables `decl_expr'
6989 and `decl_spec'.
6990 (get_objc_string_decl): Remove unused variable `decl'.
6991 (generate_static_references): Remove unused variables `idecl' and
6992 `instance'.
6993 (check_protocols): Wrap empty else-statement body in braces.
6994
6995 * protoize.c: Include stdlib.h.
6996 (substr): Add parentheses around assignment used as truth value.
6997 (abspath): Likewise.
6998 (shortpath): Likewise.
6999
7000 * regmove.c (fixup_match_1): Add parentheses around assignment
7001 used as truth value.
7002
7003 * reload.c (push_secondary_reload): Remove unused variable `i'.
7004 (find_reloads): Add parentheses around assignment used as truth
7005 value.
7006
7007 * reload1.c: Include stdlib.h.
7008
7009 * rtl.h: Correct typo in prototype of offsettable_memref_p.
7010
7011 * stmt.c (add_case_node): Add parentheses around assignment used
7012 as truth value.
7013 (case_tree2list): Likewise.
7014
7015 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
7016 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
7017 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
7018 (merge_attributes): Add explicit braces to avoid ambiguous
7019 `else'.
7020
7021 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
7022 macro HAVE_cc0.
7023
7024 * varasm.c: Include stdlib.h.
7025
7026
7027 * system.h: Remove sys/stat.h.
7028 * gcc.c: Add sys/stat.h.
7029
7030 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
7031 * genattrtab.c: Likewise.
7032 * genconfig.c: Likewise.
7033 * genemit.c: Likewise.
7034 * genextract.c: Likewise.
7035 * genflags.c: Likewise.
7036 * genopinit.c: Likewise.
7037 * genoutput.c: Likewise.
7038 * genpeep.c: Likewise.
7039 * genrecog.c: Likewise.
7040 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
7041
7042 Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7043
7044 * invoke.texi: Use @itemx for a secondary item in a @table.
7045
7046 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
7047 zero.
7048
7049 Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
7050
7051 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
7052
7053 Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
7054
7055 * i386.c (struct machine_function): Add new fields for PIC stuff.
7056 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
7057 and pic_label_name.
7058 (restore_386_machine_status): Corresponding changes.
7059 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
7060
7061 Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
7062
7063 * c-parse.y (undeclared variable error): Tweak error message
7064 to be clearer.
7065
7066 Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
7067
7068 * flags.h (g_switch_value, g_switch_set): Declare.
7069 * alpha.c (override_options): Set g_switch_value=8 if not set.
7070 * alpha/elf.h (CC1_SPEC): New.
7071 (ASM_SPEC): New.
7072 (LINK_SPEC): Pass along the -G value we were given.
7073 (LOCAL_ASM_OP): Remove.
7074 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
7075 (MAX_OFILE_ALIGNMENT): New.
7076 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
7077 (EXTRA_SECTIONS): Add sbss and sdata.
7078 (SECTION_FUNCTION_TEMPLATE): New.
7079 (EXTRA_SECTION_FUNCTIONS): Use it.
7080 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
7081 (SELECT_SECTION): Use sdata when small enough.
7082 * alpha/linux.h (ASM_SPEC): Remove.
7083
7084
7085 Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
7086 * config.sub (sco5): Fix typo.
7087
7088 Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
7089
7090 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
7091 set to empty.
7092 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
7093 * config/alpha/t-linux: Remove file.
7094 * config/sparc/t-linux: Remove file.
7095 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
7096 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
7097 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
7098 for tmake_file.
7099 (alpha*-*-linux-gnu*): Likewise.
7100 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
7101 (sparc-*-linux-gnu*): Likewise.
7102
7103 Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
7104 * collect2.c (ldd_file_name): Bracket declaration with same
7105 manifests as use.
7106 (full_real_ld_suffix): Deleted. Variable was calloced and
7107 written into, but never read.
7108
7109 1998-02-23 Mike Stump <mrs@wrs.com>
7110
7111 * configure.in: Add support for i386-wrs-vxworks configuration.
7112 * i386/vxi386.h: New file.
7113
7114 Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
7115
7116 * tree.c (contains_placeholder_p): Ensure function always returns
7117 a value.
7118 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
7119 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
7120
7121 Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
7122
7123 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
7124
7125 1998-02-22 Paul Eggert <eggert@twinsun.com>
7126
7127 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
7128 Define this new symbol.
7129 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
7130 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
7131 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
7132
7133 Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
7134
7135 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
7136 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
7137
7138 Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
7139
7140 * objc/Object.m (-error): Call objc_verror with our va_list.
7141
7142 Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7143
7144 * collect2.c (scan_prog_file): Completely cover uses of variable
7145 `exports' with macro COLLECT_EXPORT_LIST.
7146
7147 Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
7148
7149 * version.c: Bump for snapshot.
7150
7151 Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
7152
7153 * sched.c (schedule_block): Remove code to get arguments from hard
7154 regs into pseudos early. Same as Aug 25, 1997 change to
7155 haifa-sched.c.
7156
7157 1998-02-20 Jason Merrill <jason@yorick.cygnus.com>
7158
7159 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
7160
7161 1998-02-16 Mark Mitchell <mmitchell@usa.net>
7162
7163 * toplev.c (rest_of_compilation): Do not defer the output of a
7164 nested function.
7165
7166 Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
7167
7168 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
7169 continuation character (line 243).
7170
7171 Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7172
7173 * genrecog.c (main): Remove duplicated sentence in emitted comment.
7174
7175 Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
7176 David Edelsohn <edelsohn@mhpcc.edu>
7177
7178 * collect2.c (XCOFF_SCAN_LIBS): Remove.
7179 (export_flag): New variable.
7180 (export_file): #ifdef COLLECT_EXPORT_LIST.
7181 (import_file, exports, imports, undefined): New variables.
7182 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
7183 (dump_list, dump_prefix_list, is_in_list): New functions.
7184 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
7185 (write_import_file, resolve_lib_name): New functions.
7186 (use_import_list, ignore_library): Same.
7187 (collect_exit): maybe_unlink import_file and #ifdef.
7188 (handler): Same.
7189 (main): New variable importf, #ifdef exportf. Move parsing of
7190 -shared before general argument parsing. Resolve AIX library
7191 paths and import libgcc.a symbols. Treat .so shared libraries the
7192 same as objects and .a libraries. Create alias for object_lst and
7193 increment it instead of original pointer. Scan AIX libraries as
7194 objects earlier instead of using scan_libraries. Perform AIX
7195 tlink later to resolve templates instead of forking ld.
7196 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
7197 (GCC_UNDEF_SYMBOL): New macro.
7198 (scan_prog_file): Loop for members of AIX libraries. Handle
7199 export/import of ctors/dtors.
7200 (aix_std_libs): New variable.
7201 (scan_libraries, XCOFF): Delete.
7202
7203 Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
7204
7205 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
7206
7207 1998-02-19 Mike Stump <mrs@wrs.com>
7208
7209 * Makefile.in: Use $tooldir for sys-include to match toplevel
7210 configure.
7211
7212 Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
7213 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7214
7215 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
7216
7217 * emit-rtl.c (hard-reg-set.h): Include.
7218 (get_lowpart_common): Don't make new REG for hard reg in a
7219 class that cannot change size.
7220 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
7221
7222 * combine.c: Revert previous patch.
7223
7224 1998-02-19 Paul Eggert <eggert@twinsun.com>
7225
7226 * config/sparc/sol2-sld.h: New file.
7227 * configure.in (sparc-*-solaris2*): Use it when using the
7228 system linker.
7229
7230 Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
7231
7232 * loop.c (force_movables): Fix typo.
7233
7234 Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
7235
7236 * m88k.h: Change file pattern to match reality.
7237
7238 Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
7239
7240 * varasm.c (output_constant_pool): Fix dumb thinko in last
7241 change.
7242
7243 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
7244 a function name to a section name.
7245
7246 1998-02-18 Doug Evans <devans@cygnus.com>
7247
7248 * tree.h (merge_machine_{type,decl}_attributes): Declare.
7249 (split_specs_attrs, strip_attrs): Add prototypes.
7250 * tree.c (merge_machine_{type,decl}_attributes): New functions.
7251 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
7252 Update olddecl's attributes too.
7253 * c-common.c (strip_attrs): New function.
7254 * c-typeck.c (common_type): Call merge_machine_type_attributes.
7255 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
7256 (make_decl_rtl): Likewise.
7257
7258 1998-02-18 Jim Wilson <wilson@cygnus.com>
7259
7260 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
7261
7262 Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
7263
7264 Remove this change until we can fix it correctly.
7265 * collect2.c: Bracket declaration of 'exportf' and
7266 'full_real_ld_suffix'.
7267
7268 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
7269
7270 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
7271
7272 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
7273
7274 * c-common.c (c_expand_start_cond, c_expand_end_cond,
7275 c_expand_start_else): Don't warn about non-ambiguous else even if
7276 braces are missing.
7277
7278 Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
7279
7280 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
7281 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
7282 instead.
7283
7284 Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
7285
7286 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
7287 simplifying a subreg of a hard reg.
7288 (expand_compound_operation): Likewise.
7289 (force_to_mode): Likewise.
7290
7291 Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7292
7293 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
7294 (lshift_double): Add parentheses around + or - inside shift.
7295 (rshift_double): Likewise.
7296 (size_int_wide): Explicitly set type of `bit_p' to `int'.
7297
7298 * Makefile.in (fold-const.o): Depend on system.h.
7299
7300 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
7301 change to gcc.c.
7302
7303 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
7304 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
7305 (sched_note_set): Remove unused parameter `b', all callers changed.
7306 (schedule_block): Likewise for `rgn'.
7307 (split_hard_reg_notes): Likewise for `orig_insn'.
7308 (check_live): Likewise for `trg'.
7309 (update_live): Likewise.
7310 (check_live_1): Explcitly declare variable `i' as int.
7311 (update_live_1): Likewise.
7312 (insn_issue_delay): Remove unused variable `link'.
7313 (sched_analyze_2): Add default case in enumeration switch.
7314 (schedule_insns): Remove unused variable `i'.
7315
7316 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
7317
7318 Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
7319
7320 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
7321 a dangling else clause.
7322
7323 Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
7324
7325 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
7326 pointer for the stack pointer in MIPS16 and 64BIT.
7327
7328 Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7329
7330 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
7331 * emit-rtl.c (force_line_numbers, restore_line_number_status):
7332 New functions.
7333 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
7334 (expand_start_case): Adjust to this change.
7335 (check_seenlabel): New function.
7336 (pushcase, pushcase_range, expand_endcase): Use it.
7337
7338 Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7339
7340 * i386.md (adddi3): Add =!r,0,0,X alternative.
7341
7342 Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
7343
7344 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
7345 * x-aix31 (INSTALL): Delete.
7346
7347 Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
7348
7349 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
7350 tsize changes to something other than zero.
7351
7352 Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
7353
7354 * ginclude/va-mips.h: Replace casts of pointers to int with
7355 casts of pointers to __PTRDIFF_TYPE__.
7356
7357 Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
7358
7359 * loop.c (strength_reduce, record_biv, record_giv): Use
7360 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
7361
7362 1998-02-16 Jason Merrill <jason@yorick.cygnus.com>
7363
7364 * tree.c (first_rtl_op): New fn.
7365 (unsave_expr_now): Use it.
7366 * print-tree.c (print_node): Likewise.
7367 * tree.c (has_cleanups): New fn.
7368 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
7369 conservative about pushing the cleanup point down.
7370 * tree.h: Declare them.
7371
7372 Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
7373
7374 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
7375 (flag_schedule_reverse_after_reload): Likewise.
7376 (f_options): Remove reverse scheduling support.
7377 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
7378 (flag_schedule_reverse_after_reload): Likewise.
7379 * haifa-sched.c (rank_for_schedule): Remove support for reverse
7380 scheduling.
7381
7382 Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7383
7384 * gcc.c: Get system includes, prototypes and macros via "system.h"
7385 instead of doing it manually. Change all calls of the ctype
7386 macros to custom versions defined in "system.h".
7387
7388 * system.h: Fix return type of bcmp prototype from `void' to `int'.
7389 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
7390 Add a prototype for getenv.
7391
7392 Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
7393
7394 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
7395
7396 Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
7397
7398 * alias.c: Include <stdlib.h> and <string.h>.
7399 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
7400
7401 Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
7402
7403 * version.c: Bump for snapshot.
7404
7405 Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
7406
7407 * arm.md (movsfcc): Also validate operands[3] when compiling hard
7408 float.
7409 (movdfcc): Only accept fpu_add_operand for operands[3].
7410
7411 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
7412 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
7413
7414 Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
7415
7416 * varasm.c (output_constant_pool): Bring back 'done' label inside
7417 an appropriate #ifdef.
7418
7419 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
7420 appropriate #ifdef.
7421 (bitmap_copy, bitmap_operation): Likewise.
7422 * combine.c (combinable_i3pat): Similarly for 'src'.
7423 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
7424 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
7425 * regclass.c (copy_cost): Similarly for 'secondary_class'.
7426 * reload.c (make_memloc): Simliarly for 'i'.
7427 (find_reloads_address_1): Similarly for 'link'.
7428 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
7429 (emit_reload_insns): Similarly for 'second_reloadreg'.
7430 * unroll.c (iteration_info): Similarly for 'v'.
7431
7432 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
7433 * calls.c (expand_call): Similarly for 'i'.
7434 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
7435 * fold-const.c (strip_compund_expr): Similarly for 'type'.
7436 * function.c (fixup_var_refs_1): Similarly for 'width'.
7437 (fixup_memory_subreg): Similarly for 'saved'.
7438 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
7439 (setjmp_protect): Similarly for 'sub'.
7440 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
7441 * loop.c (record_giv): Similarly for 'p'.
7442 (combine_givs): Similarly for 'temp_iv'.
7443 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
7444 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
7445 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
7446 * unroll.c (unroll_loop): Similarly for 'copy'.
7447 (iteration_info): Similarly for 'b'.
7448 * varasm.c (assemble_string): Similarly for 'i'.
7449 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
7450
7451 1998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
7452
7453 * c-lang.c (lang_print_xnode): New function.
7454 * objc/objc-act.c (lang_print_xnode): Likewise.
7455 * print-tree.c (print_node): Call it
7456
7457 Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
7458
7459 * dwarf2out.c (decl_scope_node): New type.
7460 (decl_scope_table): Change type to use it.
7461 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
7462 (push_decl_scope): Use new type. New locals containing_scope, i.
7463 Add code to handle setting previous field.
7464 (scope_die_for): Change type of local i to int. Add code to use
7465 previous field.
7466 (dwarf2out_init): Use new type.
7467
7468 1998-02-13 Jason Merrill <jason@yorick.cygnus.com>
7469
7470 * except.c (emit_throw): Lose throw_used.
7471
7472 Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7473
7474 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
7475 was deleted.
7476 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
7477
7478 Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
7479
7480 * genextract.c (main): Fix typo.
7481
7482 Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
7483
7484 * c-lang.c (finish_file): Bracket declaration of static_ctors,
7485 static_dtors.
7486
7487 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
7488 'old_stack_arg_under_construction'
7489 (emit_library_call): Bracket declaration of 'upper_bound',
7490 'lower_bound', 'i', 'reg_parm_stack_space'
7491 (emit_library_call_value): Likewise.
7492 (store_one_arg):
7493
7494 * collect2.c: include <unistd.h> when appropriate.
7495 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
7496
7497 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
7498
7499 * explow.c (plus_constant_for_output_wide): Remove unused variable
7500 'code'.
7501 (memory_address): Remove unused variable 'orig_x'.
7502
7503 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
7504 (write_const_num_delay_slots): Remove unused variable 'i'.
7505
7506 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
7507 (gen_insn): Remove unused variable 'obstack_ptr'.
7508
7509 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
7510 'j', 'tmp', 'i'.
7511 (__bb_exit_trace_func): Remove unused variable 'e'.
7512
7513 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
7514 'funexp'.
7515 (expand_unop): Remove unused variable 'funexp'.
7516 (expand_complex_abs): Remove unused variable 'funexp'.
7517 (init_optabs): Bracket declaration of 'j'.
7518 (init_complex_libfuncs): Deleted. Dead static function.
7519
7520 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
7521
7522 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
7523 (reg_to_stack): 'initialized', 'before_function_beg'
7524 explictly type as ints instead of defaulting.
7525 (emit_swap_insn): Remove unused variable 'i2'.
7526 (compare_for_stack_reg): Remove unused variable 'src_note'.
7527
7528 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
7529
7530 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
7531
7532 * stmt.c (add_case_node): Add parens for assignment used as truth.
7533 (all_cases_count): Remove unused variable 'count_high'.
7534 (mark_seen_cases): Remove unused variable 'i'.
7535 (check_for_full_enumeration_handling): Remove unused variable 't'.
7536 Bracket declaration of 'all_values', 'l'.
7537
7538 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
7539
7540 * varasm.c (assemble_string): Remove unused variable 'i'.
7541 (immed_double_const): Remove unused variable 'in_current_obstack'.
7542 (immed_real_const_1): Likewise.
7543 (output_constant_pool): Remove unreferenced label 'done'.
7544 (output_constant): Remove unused variable 'x'.
7545
7546 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
7547 a string.
7548
7549 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
7550 as truth.
7551
7552 Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7553
7554 * combine.c (can_combine_p): Handle USEs in PARALLELs.
7555
7556 Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
7557
7558 * config/linux.h (LIB_SPEC): Add -lc for -shared if
7559 USE_GNULIBC_1 is not defined.
7560 * config/sparc/linux.h; Ditto.
7561
7562 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
7563
7564 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
7565 USE_GNULIBC_1 is not defined.
7566
7567 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7568
7569 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
7570 for -mcall-linux
7571
7572 Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7573
7574 * system.h: New file to get common systems includes and various
7575 definitions and declarations based on autoconf macros.
7576
7577 Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
7578
7579 * cccp.c (new_include_prefix): Correctly handle -I./.
7580
7581 Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
7582
7583 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
7584
7585 Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
7586
7587 * expr.c (expand_assignment): Correct typo exposed by -Wall.
7588 offset should have been a truth value, not an assignment.
7589
7590 Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
7591
7592 * cse.c (delete_dead_from_cse): If a libcall produces a constant
7593 result and that result can be substituted into SET_SRC of the
7594 insn with the REG_RETVAL note, then perform the substitution
7595 and delete the libcall.
7596
7597 Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
7598
7599 * mips.md (trucndihi2,truncdiqi2): Change these to support
7600 mips16.
7601
7602 Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
7603
7604 * mips/mips.c (movdi_operand): Direct referances to symbols
7605 that arn't mips16 consts in mips16 mode arn't valid operands.
7606
7607 * mips/mips.c (mips_move_2words): Add gprel handling.
7608
7609 Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
7610
7611 * mips.md (extendsidi2): Allow extension to/from a non-mips16
7612 register.
7613
7614 Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
7615
7616 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
7617 <strings.h>.
7618
7619 Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7620
7621 * Makefile.in (WARN_CFLAGS): New variable.
7622 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
7623
7624 1998-02-11 Mark Mitchell <mmitchell@usa.net>
7625
7626 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
7627 falling through default case in switch.
7628 (i386_aligned_p): Likewise.
7629
7630 Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
7631
7632 * mips/mips.h (mips_abi_string): Correct typo in comment.
7633
7634 Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
7635
7636 * mips/mips.md (movdi): These PLUS's need to be Pmode.
7637
7638 Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7639
7640 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
7641 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
7642 indirectly via expr.h.
7643
7644 Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
7645
7646 * stor-layout.c (layout_type): Do upper - lower in the native type,
7647 so as to properly handle negative indices.
7648
7649 Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
7650
7651 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
7652 (expand_eh_region_start_tree): Remove unused variable 'note'.
7653 (exception_optimize): Remove unused variable 'regions'.
7654 (expand_builtin_eh_stub): Remove unused variable 'temp'.
7655 (copy_eh_entry): Deleted. Dead function.
7656
7657 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
7658 'last' with same #if HAVE_load_multiple as use of it.
7659 (move_block_from_reg): Likewise.
7660 (emit_move_insn_1): Remove unused variable 'insns'.
7661 (store_constructor): Bracket declaration of startb, endb with
7662 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
7663 'target', and 'xtarget'.
7664 (expand_builtin_setjmp): Remove unused variables 'op0',
7665 'next_arg_reg', 'old_inhibit_defer_pop'.
7666 (expand_builtin): Remove unused variable 'offset'.
7667 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
7668 (emit_queue): Add parens for assignment used as conditional.
7669 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
7670
7671 Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
7672
7673 * i386.c: Added include for recog.h.
7674 (override_options): Removed unused variable p. Initialized regno to
7675 avoid warning.
7676 (order_regs_for_local_alloc): Initialized regno to avoid warning.
7677 (legitimize_address): Likewise for 'other'.
7678 (i386_aligned_reg_p): Added default case with abort ().
7679 (print_operand): Likewise.
7680 (reg_mentioned_in_mem): Likewise.
7681 (ix86_expand_binary_operator): Removed unused variables i & insn.
7682 (ix86_expand_unary_operator): Removed unused variable insn.
7683 (output_fp_cc0_set): Removed unused variable unordered_label.
7684
7685 Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
7686
7687 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
7688 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
7689 and format string match.
7690
7691 Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
7692
7693 * flow.c (life_analysis): Do not conside the stack pointer live at
7694 the end of a function if the fucntio ncalls alloca.
7695 (mark_used_regs): Similarly.
7696
7697 1998-02-10 John F Carr <jfc@mit.edu>
7698
7699 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
7700 1, fzero on alternative 8.
7701
7702 Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7703
7704 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
7705
7706 Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7707
7708 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
7709 SUBREGs of CONST_INTs.
7710
7711 Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
7712
7713 * mips.c (print_operand, function_prologue): Make printf format
7714 match argument type.
7715
7716 Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7717
7718 * alpha.c (alpha_return_addr): Remove unused variable `first'.
7719 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
7720 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
7721
7722 Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7723
7724 * loop.c (strength_reduce): When placing increment for auto-inc
7725 case, do comparison in loop order.
7726
7727 Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
7728
7729 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
7730 not a HOST_WIDE_INT.
7731
7732 * calls.c (expand_call): Change test of expand_inline_function
7733 return value to stop compiler warning.
7734
7735 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
7736
7737 Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
7738 Jeff Law (law@cygnus.com)
7739
7740 * regmove.c: Fix various minor formatting problems.
7741 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
7742 is true. Make end of basic block tests consistent through regmove.c.
7743 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
7744 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
7745
7746 Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7747
7748 * gansidecl.h: Check for a conflicting macro definition before
7749 attempting to prototype bcopy, bcmp or bzero.
7750
7751 Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
7752
7753 * expr.c (clear_pending_stack_adjust): Handle case where a function
7754 calls alloca, but the user has specified -fomit-fframe-pointer.
7755
7756 * function.c (assign_parms): Fix typo in last change.
7757
7758 Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
7759
7760 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
7761 <fcntl.h>.
7762 (free_path_suffix): Remove unreferenced static function.
7763 (process_command): Remove unused variable temp.
7764 (default_arg): Remove unused variable i.
7765 (do_spec_1): Add parens for assignment used as truth value.
7766 (main): Likewise.
7767 (validate_all_switches): Likewise.
7768 (main): Remove unused variables i, first_time>
7769
7770 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
7771
7772 * calls.c (expand_call): Remove unused variables funtree,
7773 n_regs, and tmpmode.
7774
7775 * dbxout.c, except.c: Include <string.h>/<strings.h>.
7776
7777 * explow.c: (plus_constant_for_output_wide) Removed unused
7778 variable all_constant.
7779
7780 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
7781 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
7782 genrecog.c, global.c, integrate.c , stupid.c : Include
7783 <stdlib.h>.
7784
7785 * genextract.c: (walk_rtx) Remove unused variable link.
7786
7787 * genrecog.c: (concat) Remove unreferenced static function.
7788
7789 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
7790
7791 * stmt.c: Include <stdlib.h>.
7792 (expand_asm_operands): Remove unused variable val1.
7793 (expand_return): Remove unused variable block.
7794 (pushcase): Remove unused variables l and n.
7795 (pushcaserange): Likewise.
7796
7797 * unroll.c (unroll_loop): Remove unused variable temp.
7798
7799 Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
7800
7801 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
7802
7803 Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7804
7805 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
7806 functions for whether they support the %p format specifier.
7807 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
7808 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
7809 * configure, config.in: Rebuild.
7810
7811 Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
7812
7813 * function.c (assign_parms): New variable named_arg, with value
7814 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
7815
7816 Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
7817
7818 * mips/t-r3900: New - same as t-ecoff but eliminate
7819 multilibs: mips1 and mips3.
7820 * configure.in (tx39*): Use new mips/t-r3900.
7821 * configure: Rebuild.
7822 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
7823
7824 1998-02-06 Jason Merrill <jason@yorick.cygnus.com>
7825
7826 * dwarf2out.c: Add old_args_size.
7827 (dwarf2out_args_size): Use it.
7828 (dwarf2out_begin_prologue): Initialize it.
7829 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
7830 pushed args until we see a call.
7831 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
7832 before outputting them.
7833
7834 1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
7835
7836 * cplus-dem.c (demangle_template_template_parm): New function.
7837 (demangle_template): Handle template template parameters.
7838
7839 1998-02-02 Mark Mitchell <mmitchell@usa.net>
7840
7841 * calls.c (expand_call): Don't confuse member functions named
7842 realloc, setjmp, and so forth with the standard library
7843 functions of the same names.
7844
7845 Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
7846
7847 * stmt.c (expand_asm_operands): Correctly identify asm statements
7848 no output operands.
7849
7850 Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
7851
7852 * c-common.c (decl_attributes): Flag unrecognized attribute
7853 functions as warnings instead of as errors.
7854
7855 1998-02-05 Marc Lehmann <pcg@goof.com>
7856
7857 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
7858 when -Os is specified.
7859 * toplev.c (main): Don't disable flag_inline_functions anymore when
7860 -Os is in effect.
7861
7862 Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7863
7864 * regmove.c: Update.
7865 * flags.h (flag_regmove): Declare.
7866 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
7867 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
7868 Moved into regmove; changed caller.
7869 * toplev.c (rest_of_compilation): Call regmove_optimize also for
7870 expensive_optimizations.
7871
7872 Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
7873
7874 * version.c: Bump for snapshot.
7875
7876 Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7877 Undo this change (the problem was actually in reload):
7878 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7879
7880 * sh.md (movqi_i+1): New peephole.
7881
7882 Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
7883
7884 * jump.c (jump_optimize): Lose calls to modified_in_p they are
7885 not needed anymore due to changes elsewhere in jump.c.
7886
7887 * jump.c (jump_optimize): Fix first arg to modified_in_p in
7888 previous change.
7889
7890 Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
7891
7892 * expr.c (expand_builtin_setjmp): Accept two new arguments for
7893 the labels to branch to on first and subsequent executions. Don't
7894 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
7895 and provide it with the jmp_buf. Use only one of
7896 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
7897 and provide the former with the target label.
7898 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
7899 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
7900 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
7901 insn to replace all of the normal nonlocal_goto code. Don't play
7902 with __dummy. Correct arguments to nonlocal_goto.
7903 * expr.h (expand_builtin_setjmp): Update prototype.
7904 * except.c (start_dynamic_handler): When using builtin_setjmp,
7905 generate more accurate flow information.
7906
7907 * alpha.md (nonlocal_goto_receiver_osf): Delete.
7908 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
7909 (builtin_longjmp, builtin_setjmp_receiver): New.
7910 * sparc.md (update_return): Disambiguate unspec number.
7911 (nonlocal_goto): Rearrange arguments to match caller in except.c.
7912 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
7913 jmp_buf operand.
7914 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
7915 (builtin_setjmp_setup*, builtin_longjmp): New.
7916
7917 Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
7918
7919 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
7920
7921 Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
7922
7923 * vmsconfig.com: Remove bytecode references.
7924
7925 1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7926
7927 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
7928 -fno-sjlj-exceptions works for a target that defines
7929 DWARF2_UNWIND_INFO as zero.
7930
7931 * regmove.c (fixup_match_1): Undo last change which removed some
7932 "useless" code, and add a comment explaining this.
7933
7934 Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
7935
7936 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
7937 to TARGET_LONG64.
7938
7939 Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
7940
7941 * makefile.vms: Remove bytecode references.
7942 Create genrtl files.
7943
7944 Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
7945
7946 * jump.c (jump_optimize): Allow conditional loading of floating point
7947 constants and constants from memory. Reinstalled modified_in_p tests.
7948
7949 Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7950
7951 * loop.c (get_condition): Handle sign-extended constants.
7952
7953 Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
7954
7955 * expr.c (emit_push_insn): Add code to use movstrti if present.
7956
7957 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
7958 and movstrqi as in emit_block_move ().
7959
7960 Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
7961
7962 * config/m68k/x-next: Remove /NextDeveloper/Headers from
7963 the directories to fixinclude - /usr/include is a link
7964 to it and hence its contents are fixed by default.
7965
7966 Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7967
7968 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
7969
7970 Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
7971
7972 * cccp.c (main): Predefine __VMS_VER on VMS.
7973
7974 Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7975
7976 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
7977 * fold-const.c (size_int): Replace with
7978 (size_int_wide).
7979 (make_bit_field_ref): Use bitsize_int for bit position.
7980 * stor-layout.c (sizetype): Delete.
7981 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
7982 (layout_record, layout_union, layout_type):
7983 Use bitsize_int for bit size.
7984 (set_sizetype): New function.
7985 (make_signed_type, make_unsigned_type): Use it.
7986 * c-decl.c (init_decl_processing): Likewise.
7987 * tree.h (size_int): Don't delcare, #define.
7988 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
7989 (set_sizetype): Declare.
7990 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
7991 Define.
7992 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
7993 Convert result to sizetype.
7994 (really_start_incremental_init, push_init_level):
7995 Set type of constructor_bit_index to sbitsizetype.
7996 (push_init_level): Use unsigned arithmetic to determine padding.
7997 (output_init_element): Likewise.
7998
7999 Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
8000
8001 * combine.c (simplify_shift_const): Fix typo in last change.
8002
8003 Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
8004
8005 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
8006 is (truncate (lshiftrt)).
8007
8008 Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
8009
8010 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
8011 Make sure result winds up in TGT.
8012 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
8013 src to be other than DImode.
8014 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
8015 (alpha_expand_unaligned_store_words): Likewise.
8016 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
8017 that source and destination are separately optimized for alignment.
8018 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
8019
8020 Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
8021
8022 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
8023 with handling of -32768.
8024
8025 Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8026
8027 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
8028 shell variable argument instead of only hard coded functions.
8029 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
8030
8031 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
8032 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
8033 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
8034 declarations for bcopy, bcmp and bzero.
8035
8036 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
8037
8038 * gansidecl.h: If we have bcopy but don't declare it, then do so.
8039 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
8040 bzero, index and rindex if they aren't already present.
8041
8042 Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
8043
8044 * toplev.c (close_dump_file): Wrap function prototype for
8045 argument "func" in PROTO.
8046 (dump_rtl): Likewise.
8047
8048 Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
8049
8050 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
8051 MASK_V8PLUS.
8052 (output_function_epilogue): Omit epilogue if nothing drops through.
8053 (output_move_double): Supress int ldd usage on ultrasparc and v9.
8054 (registers_ok_for_ldd_peep): Likewise.
8055 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
8056 (ultrasparc_adjust_cost): New function.
8057 (sparc_issue_rate): New function.
8058 * sparc.h (MASK_VIS, TARGET_VIS): New
8059 (MASK_V8PLUS, TARGET_V8PLUS): New.
8060 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
8061 (TARGET_SWITCHES): Add vis and v8plus.
8062 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
8063 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
8064 (RTX_COSTS): Use TARGET_HARD_MUL
8065 (ADJUST_COST): Call ultrasparc_adjust_cost.
8066 (ISSUE_RATE): New.
8067 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
8068 of load & fp appropritely.
8069 (supersparc function units): Adjust for Haifa.
8070 (ultrasparc function units): Likewise.
8071 (get_pc_via_rdpc): All v9, not just arch64.
8072 (movdi_v8plus, movdi_v8plus+1): New.
8073 (adddi3_sp32+1): New.
8074 (subdi3_sp32+1): New.
8075 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
8076 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
8077 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
8078 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
8079 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
8080 (ldd peepholes): Suppress for v9.
8081 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
8082 (return_subsi): Revmove.
8083
8084 Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
8085
8086 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
8087 save/restore MEM rtl.
8088
8089 Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
8090
8091 * configure.in: Check for declaration of abort.
8092 * acconfig.h: Corresponding changes.
8093 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
8094 be declared.
8095
8096 Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
8097
8098 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
8099 uses it.
8100
8101 Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
8102
8103 * version.c: Bump for snapshot.
8104
8105 Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
8106
8107 * configure.in: Check for atoq and atoll.
8108 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
8109 proper routine for converting ascii into long long values.
8110
8111 Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
8112
8113 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
8114
8115 * vmsconfig.com: Remove bytecode references.
8116
8117 * alpha/vms.h (PREFIX): Define.
8118
8119 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
8120
8121 * am-alpha.h: Don't include alloca for OPEN_VMS.
8122
8123 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
8124
8125 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
8126 (GCC_INCLUDE_DIR): Define
8127
8128 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
8129 * makefile.vms: New file.
8130
8131 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
8132
8133 * alpha.c (output_prolog): Output '.name' directive
8134 for minimal traceback information.
8135
8136 * alpha.c (output_prolog): Don't prepend entry point symbols
8137 with '$' on OPEN_VMS.
8138
8139 Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
8140 Jeffrey A Law (law@cygnus.com)
8141
8142 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
8143 HOST_WIDE_INT.
8144
8145 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
8146 as needed.
8147 * genemit.c (gen_exp): Likewise.
8148 * genpeep.c (match_rtx): Likewise.
8149 * genrecog.c (write_tree_1): Likewise.
8150
8151 * c-lex.c (yyprint): Use proper format string based upon
8152 disposition of HOST_BITS_PER_WIDE_INT.
8153 (yylex): Put casts in right place for args to build_int_2.
8154
8155 Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
8156
8157 * combine.c: Fix typos in Jan27 changes.
8158
8159 Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
8160
8161 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
8162 (LINK_SPEC): Likewise.
8163 (STARTFILE_SPEC): Likewise.
8164
8165 1998-01-28 Mike Stump <mrs@wrs.com>
8166
8167 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
8168 reload completes.
8169 * genattrtab.c (reload_completed): Define.
8170
8171 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
8172 comments.
8173
8174 Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8175
8176 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
8177 SUBREG_REG if the word count is unchanged, also in the input reload
8178 case. Disable non-applicable sanity checks.
8179
8180 Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
8181
8182 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
8183
8184 Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
8185
8186 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
8187
8188 Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
8189
8190 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
8191 is a TREE_VEC before trying to use it for baseclasses.
8192 (Chill uses the same field for a different purpose.)
8193
8194 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
8195
8196 Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
8197
8198 * config.sub: More accurate determination of HP processor types.
8199
8200 Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8201
8202 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
8203 prototype for `handle_sysv_pragma', and make it static. Add
8204 parentheses around assignment used as truth value.
8205
8206 * combine.c (combine_instructions): Protect variable `prev' with
8207 macro HAVE_cc0.
8208 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
8209 (extract_left_shift): Add parentheses around operand of &.
8210 (merge_outer_ops): Avoid an empty body in an else-statement.
8211 (gen_rtx_combine): Remove unused variable `i'.
8212
8213 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
8214 function monstartup `void'. Likewise for internal_mcount. Add
8215 `static void' prototype for moncontrol. Reconcile sprintf format
8216 vs. args.
8217
8218 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
8219 Make return type of function_arg_slotno explicitly `int'.
8220 (reg_unused_after): Add parentheses around assignment used as
8221 truth value.
8222 (save_regs): Add explicit braces to avoid ambiguous `else'.
8223 (function_arg_slotno): Add parentheses around && within ||.
8224 (function_arg_pass_by_reference): Likewise.
8225 (sparc_flat_output_function_prologue): Reconcile fprintf format
8226 vs. args.
8227
8228 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
8229 assignment used as truth value.
8230
8231 * cplus-dem.c: Include <stdlib.h>.
8232 (demangle_signature): Avoid an empty body in an else-statement.
8233 (do_type): Remove unused variable `lvl'.
8234
8235 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
8236 Include <string.h>/<strings.h>.
8237 (cpp_lex): Remove unused variable `namelen'.
8238 (cpp_lex): Explicitly declare `num_chars' as an int.
8239
8240 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
8241 <unistd.h> instead. Explicitly declare is_system_include
8242 returning int.
8243 (make_assertion): Remove unused variable `kt'.
8244 (cpp_expand_to_buffer): Hide variable `obuf'.
8245 (output_line_command): Remove unused variables, `line_end',
8246 `line_cmd_buf' and `len'.
8247 (macarg): Remove unused variable `arg_start'.
8248 (special_symbol): Remove unused variable `i'. Add parentheses
8249 around assignment used as truth value.
8250 (do_include): Remove unused variables `pcfname' and `retried',
8251 hide `pcf' and `pcfbuflimit'.
8252 (do_line): Remove unused variable `i'.
8253 (finclude): Hide variable `missing_newline'.
8254 (cpp_handle_options): Remove unused variable `j'.
8255 (read_token_list): Remove unused variable `eofp'.
8256 (cpp_error_with_line): Remove unused variable `i'.
8257 (cpp_warning_with_line): Likewise.
8258 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
8259 (cpp_error_from_errno): Remove unused variable `i'.
8260
8261 * cse.c (invalidate): Add parentheses around assignment used as
8262 truth value.
8263 (find_best_addr): Move declaration of variable `our_cost' inside
8264 the conditional macro where its used.
8265 (fold_rtx): Avoid an empty body in an if-statement.
8266 (cse_insn): Wrap variables `this_insn_cc0_mode' and
8267 `this_insn_cc0' in macro HAVE_cc0.
8268
8269 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
8270 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
8271 (output_uleb128): Likewise.
8272 (output_sleb128): Likewise.
8273 (output_cfi): Likewise.
8274 (output_call_frame_info): Remove unused variables `j', `fde_size'
8275 and `fde_pad'.
8276 (comp_unit_has_inlines): Hide declaration as per rest of file.
8277 (size_of_line_prolog): Correct typo in prototype.
8278 (add_arange): Likewise.
8279 (output_aranges): Likewise.
8280 (add_name_and_src_coords_attributes): Likewise.
8281 (gen_array_type_die): Likewise.
8282 (gen_inlined_subroutine_die): Likewise.
8283 (equate_decl_number_to_die): Remove unused variable `i'.
8284 (print_die): Reconcile format vs. args in fprintf's.
8285 (print_dwarf_line_table): Likewise.
8286 (output_die): Likewise.
8287 (output_line_info): Likewise.
8288 (add_subscript_info): Avoid an empty body in an else-statement.
8289 (gen_subprogram_die): Remove unused variable `fp_loc'.
8290
8291 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
8292 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
8293 macro. Protect `src_coords_attribute' prototype with
8294 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
8295 prototype as in the rest of the file. Likewise for
8296 `output_pointer_type_die' and `output_reference_type_die'. Remove
8297 prototype for `type_of_for_scope'.
8298 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
8299 (type_attribute): Add explicit braces to avoid ambiguous `else'.
8300
8301 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
8302 (shorten_branches): Protect declaration of tmp_length with
8303 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
8304 (profile_function): Protect declaration of `sval' and `cxt'
8305 variables with appropriate macros.
8306 (final_scan_insn): Likewise for `note' variable. Add explicit
8307 braces to avoid empty body in an if-statement.
8308 (output_asm_insn): Move variable `i' inside macro conditional
8309 where it is used. Add parentheses around assignment used as truth
8310 value.
8311 (asm_fprintf) Likewise, likewise.
8312
8313 * fix-header.c (main): Remove unused variable `done'. Protect
8314 declaration of `i' with FIXPROTO_IGNORE_LIST.
8315
8316 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
8317
8318 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
8319 `ind'.
8320
8321 * profile.c: Include <string.h>/<strings.h>.
8322 (instrument_arcs): Remove unused variables `note', `inverted',
8323 `zero' and `neg_one'.
8324 (branch_prob): Avoid empty body in an if-statement.
8325
8326 * regclass.c: Include <stdlib.h>.
8327 (reg_alternate_class): Explicitly declare parameter `regno'.
8328
8329 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
8330 parentheses around assignment used as truth value.
8331 (find_matches): Remove unused variables `output_operand' and
8332 `matching_operand'.
8333 (fixup_match_1): Remove statement with no effect: "if (0) ;".
8334
8335 * scan.c (sstring_append): Explicitly declare `count' as int.
8336 (scan_string): Explicitly declare parameter `init' as int.
8337
8338 * sched.c: Include <stdlib.h>.
8339 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
8340 (rank_for_schedule): Add parentheses around assignment used as
8341 truth value.
8342 (schedule_block): Likewise.
8343 (regno_use_in): Likewise.
8344 (schedule_insns): Remove unused variable `i'.
8345
8346 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
8347 (v_message_with_decl): Remove unused variable `n'.
8348 (botch): Explicitly declare parameter `s' as char *.
8349 (main): Add parentheses around assignment used as truth value.
8350
8351 * tree.c (make_node): Protect the variable `kind' with the
8352 GATHER_STATISTICS macro.
8353 (real_value_from_int_cst): Move variable `e' inside conditional
8354 macro area where it is used.
8355 (tree_last): Add parentheses around assignment used as truth value.
8356 (build1): Protect the variable `kind' with the GATHER_STATISTICS
8357 macro.
8358 (print_obstack_statistics): Reconcile format vs. args in fprintf.
8359 Protect variables `i', `total_nodes', and `total_bytes' with the
8360 GATHER_STATISTICS macro.
8361
8362 Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
8363
8364 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
8365 some comments regarding use of dead_or_set_p.
8366
8367 Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
8368
8369 * fixincludes: Tweak fix for struct exception in math.h
8370
8371 Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
8372
8373 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
8374 Change mode of registers used to add/sub from
8375 hard_frame_pointer_rtx from word_mode to Pmode.
8376
8377 Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
8378
8379 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
8380 asm_output_aligned_bss() instead of asm_output_bss().
8381
8382 * toplev.c (rest_of_compilation): Replace references to
8383 stack_reg_dump_file and dbr_sched_dump_file with references to
8384 rtl_dump_file.
8385
8386 Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
8387
8388 * tlink.c (scan_linker_output): Call fclose() for opened files.
8389
8390 Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
8391
8392 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
8393 compiling with -fpic -- we want to be able to override symbols
8394 properly.
8395 (alpha_expand_block_move): Fix thinko in last change.
8396
8397 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
8398 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
8399 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
8400
8401 Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
8402
8403 * alpha.md (abssf, absdf): Revert last change.
8404
8405 Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
8406
8407 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
8408 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
8409
8410 Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
8411
8412 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
8413 a CONST_INT into SFmode.
8414
8415 Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
8416
8417 * flags.h: New flag (optimize_size).
8418 * toplev.c (main): Parse -Os option and set optimize_space
8419 accordingly.
8420 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
8421 __OPTIMIZE_SIZE__ when compiling with -Os.
8422 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
8423 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
8424 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
8425 to macro.
8426 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
8427
8428 Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
8429
8430 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
8431 stuff only if MCT_TEXT is #define'd.
8432
8433 Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
8434
8435 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
8436 configurations.
8437
8438 Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
8439
8440 * toplev.c: Add -dM command line option to dump RTL after the
8441 machine dependent reorganisation pass, if there is one.
8442 Reorganise RTL dump code, so that only one file handle is
8443 needed.
8444
8445 Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
8446
8447 * except.c (check_exception_handler_labels): Disable warning when
8448 flag_syntax_only.
8449
8450 Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
8451
8452 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
8453
8454 Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8455
8456 * c-decl.c (grokdeclarator): Get parameter tags from
8457 last_function_parm_tags.
8458 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
8459 traversing the parameter types.
8460 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
8461
8462 Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
8463
8464 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
8465 the default case.
8466 (get_shift_alg): Fix typo.
8467
8468 Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
8469
8470 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
8471
8472 Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
8473
8474 * toplev.c (get_run_time): Make sure each case gets its variables.
8475
8476 Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
8477
8478 * configure.in (build_xm_file): Add auto-config.h if host=build.
8479 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
8480 (build_xm_file_list): Likewise.
8481 * configure: Rebuild.
8482
8483 Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
8484
8485 * recog.c (validate_replace_rtx_1): Only perform substitutions
8486 of arguments to commutative and comparison operators once.
8487
8488 Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8489
8490 * sparc.c (output_cbranch): Add default case in
8491 enumeration switch.
8492
8493 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
8494 (emit_delay_sequence): Eliminate unused parameter, all callers
8495 changed.
8496 (fill_simple_delay_slots): Likewise.
8497 (fill_slots_from_thread): Likewise.
8498 (fill_eager_delay_slots): Likewise.
8499 (mark_referenced_resources): Add default case in enumeration switch.
8500 (mark_set_resources): Likewise.
8501 (rare_destination): Likewise.
8502 (mostly_true_jump): Likewise.
8503 (find_dead_or_set_registers): Likewise.
8504 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
8505 (update_reg_unused_notes): Remove unused variable `p'.
8506 (mark_target_live_regs): Remove unused variables `next' and
8507 `jump_count'.
8508 (fill_simple_delay_slots): Remove unused variable `j'.
8509 (fill_slots_from_thread): Add parentheses around assignment used
8510 as truth value.
8511 (dbr_schedule): Likewise.
8512
8513 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
8514 (objc.stage2, objc.stage3, objc.stage4): Likewise.
8515
8516 Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
8517
8518 * cse.c (simplify_ternary_operation): Don't try to simplify
8519 IF_THEN_ELSE expressions (created by combine) that don't use
8520 relational operators.
8521
8522 Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
8523
8524 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
8525 simplifications.
8526
8527 * crtstuff.c (init_dummy): Keep the epilogue in the init
8528 section for non-ELF systems.
8529
8530 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8531
8532 * sh.md (movqi_i+1): New peephole.
8533
8534 Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
8535
8536 * Makefile.in: Remove remaining bytecode stuff.
8537 * emit-rtl.c, expr.c: Likewise.
8538
8539 Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
8540
8541 * toplev.c (lang_options): Add unknown-pragma options.
8542
8543 Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
8544
8545 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
8546 special (and incomplete) handling for Chill arrays.
8547
8548 Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
8549
8550 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
8551 to get clock rate.
8552
8553 Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
8554
8555 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
8556
8557 1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
8558
8559 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
8560 .frame directive instead of FRAME_POINTER_REGNUM.
8561
8562 Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
8563
8564 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
8565 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
8566 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
8567 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
8568 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
8569 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
8570 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
8571 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
8572 mcpu32 or m5200.
8573 * longlong.h: Replace __mc68332__ with __mcpu32__.
8574
8575 Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
8576
8577 * version.c: Bump for snapshot.
8578
8579 Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
8580
8581 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
8582 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
8583 * reload1.c (eliminate_regs): Likewise.
8584
8585 Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
8586
8587 * regmove.c (find_matches): Initialize matches->earlyclobber too.
8588
8589 Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
8590
8591 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
8592 (negsf2, negdf2): Use proper subtract in IEEE mode.
8593
8594 Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
8595
8596 * Makefile.in: Remove more bytecode stuff.
8597 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
8598 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
8599 * f/install.texi, objc/Make-lang.in: Likewise.
8600
8601 * Makefile.in: Remove all bytecode support.
8602 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
8603 * emit-rtl.c: Remove all bytecode support.
8604 * expr.c, expr.h function.c, integrate.c: Likewise.
8605 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
8606 * tree.h, varasm.c: Likewise.
8607 * config/m68k/m68k.h: Likewise.
8608 * bi-*, bc-*, bytecode*: Delete bytecode related files.
8609 * modemap.def: Likewise.
8610
8611 Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
8612
8613 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
8614 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
8615
8616 Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
8617
8618 * i386.md (push): Prohibit symbolic constants if flag_pic.
8619 (movsi+1): Likewise for move to non-register.
8620
8621 Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
8622
8623 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
8624 (print_operand): Handle 0xffffffff on 32 bit host.
8625
8626 * configure.in (thread_file): Rename uses before main loop to
8627 target_thread_file. Initialize to empty in main loop. Set thread_file
8628 to target_thread_file after main loop if not set.
8629 * configure: Rebuild.
8630
8631 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
8632 (add_values_to_cover): Revert last change (which had no ChangeLog
8633 entry).
8634 (simplify_with_current_value_aux): Handle CONST_INT.
8635
8636 Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8637
8638 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
8639
8640 Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
8641
8642 * configure.in: Add cpp stringify test.
8643 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
8644 * gengenrtl.c: Use it.
8645 * configure, config.in: Rebuild.
8646
8647 Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8648
8649 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
8650
8651 Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
8652
8653 * configure.in: Find declaration for sbrk.
8654 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
8655 * config.in, configure: Rebuild.
8656 * mips-tfile.c: Properly protect declaration of sbrk and free.
8657 * toplev.c: Properly protect declaration of sbrk.
8658
8659 Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
8660
8661 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
8662
8663 Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
8664
8665 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
8666
8667 Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
8668
8669 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
8670
8671 Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
8672
8673 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
8674 constant offset computations from objects with known alignment in
8675 the presence of STACK_BIAS.
8676
8677 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
8678 necessary.
8679 (const_hash): Hash val is unsigned long.
8680 (SYMHASH): Likewise.
8681
8682 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
8683
8684 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
8685 char pointer, not HOST_WIDE_INT.
8686 (print_node): Likewise. Also hash is unsigned long not
8687 HOST_WIDE_INT.
8688
8689 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
8690
8691 * explow.c (optimize_save_area_alloca): New function for targets
8692 where SETJMP_VIA_SAVE_AREA is true.
8693 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
8694 compute the amount of stack space needed should we find later that
8695 setjmp is never called by this function, stuff rtl for this inside
8696 a REG_NOTE of the final SET of stack_pointer_rtx.
8697 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
8698 current_function_calls_alloca, call optimize_save_area_alloca.
8699
8700 Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
8701
8702 * i386.md: Remove redundant integer push patterns.
8703 Don't bother checking for TARGET_PUSH_MEMORY when
8704 pushing constants or registers.
8705
8706 Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8707 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
8708
8709 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
8710 (pwait): New function for mingw32.
8711
8712 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
8713 pipe support is broken for now.
8714
8715 1998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
8716
8717 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
8718 between frame_pointer_rtx, hard_frame_pointer_rtx, and
8719 arg_pointer_rtx is respected in initialization.
8720 (init_emit_once): Use gen_rtx_raw_REG() to create
8721 return_address_pointer_rtx.
8722
8723 * reorg.c: #include "expr.h" for rtx prototypes.
8724 * Makefile.in (reorg.o): Depend on expr.h
8725
8726 Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
8727
8728 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
8729 local_prefix to sub-make invocations.
8730
8731 Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
8732
8733 * objc-parse.c: Recognize protocol qualifiers in class definitions.
8734
8735 Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
8736
8737 * rtl.h: Fix typos.
8738
8739 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
8740 * configure.in: Check for atol.
8741 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
8742
8743 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
8744
8745 * loop.c (find_and_verify_loops): When attempting to move insns from
8746 inside the loop outside the loop, create a BARRIER if no suitable
8747 one was found.
8748
8749 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
8750 favor of an equivalent change from gcc-2.8.
8751
8752 * i386/x-sco5 (CC): Remove trailing whitespace.
8753
8754 Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8755
8756 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
8757 (accessor_from_format): Likewise.
8758 (xmalloc): New function for use when linking with alloca.o.
8759
8760 Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8761
8762 * frame.c (find_fde): Correct FDE's upper bound.
8763
8764 Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
8765
8766 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
8767
8768 Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
8769
8770 * calls.c (expand_call): Move #ifdef code out of macro argument
8771 lists.
8772 (emit_library_call, emit_library_call_value): Likewise.
8773
8774 Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
8775
8776 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
8777
8778 Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
8779
8780 * version.c: Bump for snapshot.
8781
8782 Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
8783
8784 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
8785 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
8786 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
8787 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
8788 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
8789 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
8790 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
8791 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
8792 * unroll.c, varasm.c: Likewise.
8793 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
8794
8795 Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
8796
8797 * mips.h: Fix some type-o's from a previous change.
8798
8799 Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
8800
8801 * loop.c (check_dbra_loop): Make sure initial value is a
8802 CONST_INT before trying to normalize it.
8803
8804 Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
8805
8806 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
8807
8808 Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
8809
8810 * cppexp.c: Include gansidecl.h
8811
8812 Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
8813
8814 * svr4.h (LINK_SPEC): Never specify -h.
8815 * ptx4.h (LINK_SPEC): Likewise.
8816 * rs6000/sysv4.h (LINK_SPEC): Likewise.
8817 * sparc/sol2.h (LINK_SPEC): Likewise.
8818
8819 Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
8820
8821 * c-typeck.c (comptypes): Exit early on NULL input.
8822
8823 * haifa-sched.c (schedule_insns): Correctly remove inter-block
8824 dependencies after reload.
8825
8826 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
8827
8828 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
8829
8830 Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
8831
8832 * alpha/vms.h (DIR_SEPARATOR): define
8833
8834 Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8835
8836 * Makefile.in (stamp-proto): Remove.
8837 (protoize.o, unprotoize.o): Straightforward compile.
8838 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
8839
8840 Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8841
8842 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
8843 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
8844
8845 Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
8846
8847 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
8848 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
8849 * sparc/netbsd.h, vax/netbsd.h: Likewise.
8850
8851 Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
8852
8853 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
8854
8855 Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
8856
8857 * configure.in (target_cpu_default, target_cpu_default2): Use double
8858 quotes around them when testing their value.
8859 * configure: Rebuilt.
8860
8861 Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
8862
8863 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
8864 to allocate rtx.
8865 (gendef): Call obstack_alloc_rtx.
8866
8867 Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
8868
8869 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
8870 for now.
8871
8872 Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
8873
8874 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
8875 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
8876 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
8877
8878 Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
8879
8880 * mips.md (return_internal): Change mode from SImode to VOIDmode.
8881
8882 Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
8883
8884 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
8885 "-static".
8886
8887 Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
8888
8889 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
8890 suffix from operand 3.
8891
8892 Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8893 Jeffrey A Law (law@cygnus.com)
8894
8895 * regmove.c: New implementation of regmove pass.
8896 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
8897 decls, make them have external linkage. Return a value from
8898 optimize_reg_copy_1.
8899 * reload.h (count_occurrences): Add decl.
8900 * reload1.c (count_occurrences): Delete decl, make it have external
8901 linkage.
8902 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
8903
8904 Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
8905
8906 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
8907 if it is not defined.
8908
8909 Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
8910
8911 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
8912 * emit-rtl.c (gen_rtx): Move special code to ...
8913 (gen_rtx_CONST_INT): New function.
8914 (gen_rtx_REG): New function.
8915 (*): Update all calls to gen_rtx.
8916 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
8917 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
8918 (GEN_INT): Call gen_rtx_CONST_INT.
8919 * gengenrtl.c: New file.
8920
8921 Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
8922
8923 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
8924 (base_alias_check): If no base found for address call canon_rtx and
8925 try again.
8926
8927 Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
8928
8929 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
8930 arguments for mips16.
8931 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
8932 Don't lose if tsize is zero after handling large stack for mips16.
8933 * mips.md (return): For trivial return, return address is in $31.
8934
8935 Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
8936
8937 * mips/mips16.S: Various changes to make it work with -msingle-float
8938 and -EL.
8939
8940 Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
8941 Ian Lance Taylor <ian@cygnus.com>
8942 Jeff Law <law@cygnus.com>
8943
8944 * mips.c, mips.h, mips.md: First cut at merging in mips16
8945 support. Major modifications throughout all three files.
8946
8947 Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
8948
8949 * configure.in: Make gthr-default.h a forwarding header instead of
8950 a symlink.
8951
8952 Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8953
8954 * gcov-io.h: Include sys/types.h to ensure we get size_t.
8955
8956 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
8957
8958 Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
8959 Jeffrey A Law (law@cygnus.com)
8960
8961 * crtstuff.c (__frame_dummy): New function for irix6.
8962 (__do_global_ctors): Call __frame_dummy for irix6.
8963 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
8964
8965 Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
8966
8967 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
8968
8969 Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
8970
8971 * c-decl.c (init_decl_processing): Provide proper fallback symbol
8972 for __builtin_memset.
8973 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
8974 not INTEGER_CST. Assert arg 3 is a constant.
8975
8976 * alpha.c (mode_width_operand): Accept 64-bit modes.
8977 (mode_mask_operand): Likewise.
8978 (print_operand): Likewise for 'M' and 'U' codes.
8979 (alpha_expand_unaligned_load): New function.
8980 (alpha_expand_unaligned_store): Likewise.
8981 (alpha_expand_unaligned_load_words): Likewise.
8982 (alpha_expand_unaligned_store_words): Likewise.
8983 (alpha_expand_block_move): Likewise.
8984 (alpha_expand_block_clear): Likewise.
8985 * alpha.h (MOVE_RATIO): New define.
8986 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
8987 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
8988
8989 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
8990 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
8991
8992 Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
8993
8994 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
8995 * configure: Update.
8996
8997 Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
8998
8999 * emit-rtl.c (operand_subword): Correctly handle extracting a word
9000 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
9001
9002 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
9003 for first argument.
9004
9005 Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
9006
9007 * configure.in: Set and subsitute host_exeext. Use it when creating
9008 the assembler and linker symlinks.
9009 * configure: Rebuild.
9010 * Makefile.in (exeext): Set to @host_exeext@.
9011 (build_exeext): New variable, set to @build_exeext@.
9012 (FLAGS_TO_PASS): Pass down build_exeext.
9013 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
9014 programs.
9015
9016 Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
9017
9018 * mn10200.md (addsi3, subsi3): Fix thinkos.
9019
9020 Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
9021
9022 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
9023 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
9024 unix always, since we want to be able to thunk to functions in a
9025 shared library from an application.
9026
9027 Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
9028
9029 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
9030 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
9031
9032 Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
9033
9034 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
9035 offset's mode is not ptr_mode, convert it.
9036
9037 Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
9038
9039 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
9040 compiling if it was already defined.
9041
9042 Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
9043
9044 * flow.c (find_basic_blocks): Don't create a new basic block
9045 for calls in a LIBCALL block.
9046
9047 Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
9048
9049 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
9050
9051 Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
9052
9053 * cse.c (rtx_cost): Remove conflicting default case.
9054
9055 Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
9056
9057 * configure.in: Move default enabling of Haifa out of for loop.
9058 * configure: Rebuild.
9059
9060 Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
9061
9062 * version.c: Bump for snapshot.
9063
9064 1997-12-25 Teemu Torma <tot@trema.com>
9065
9066 * Makefile.in (GTHREAD_FLAGS): New var.
9067 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
9068 (distclean): Remove gthr-default.h.
9069
9070 * configure.in: Accept dce as a thread package.
9071 Check for thread.h and pthread.h.
9072 Link gthr-default.h to appropriate thread file and set
9073 gthread_flags.
9074 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
9075 include multilib definitions from pa/t-dce-thr.
9076 (sparc-*-solaris2*): Enable threads by default, if thread.h or
9077 pthread.h is found, preferring posix threads over solaris ones.
9078
9079 * config/pa/t-dce-thr: New file.
9080 * config/pa/t-pa: Removed multilibs.
9081 * config/sparc/t-sol2: Ditto.
9082
9083 * gthr.h: New file.
9084 * gthr-single.h: New file.
9085 * gthr-posix.h: New file.
9086 * gthr-solaris.h: New file.
9087 * gthr-dce.h: New file.
9088 * libgcc-thr.h: Removed.
9089 * objc/thr-dce.c: New file copied from thr-decosf1.c.
9090
9091 * frame.c: Include gthr.h instead of libgcc-thr.h.
9092 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
9093 (eh_context_initialize): If __gthread_once fails, use static eh
9094 context.
9095 (eh_context_free): Call __gthread_key_dtor.
9096
9097 Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
9098
9099 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
9100
9101 Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
9102
9103 * cse.c (max_insn_uid): New variable.
9104 (cse_around_loop): Use max_insn_uid.
9105 (cse_main): Set max_insn_uid.
9106
9107 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
9108 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
9109 -mlong64, and -mgp{32,64} options.
9110 * mips.c (mips_abi): Change type to int.
9111 * mips.h (enum mips_abi_type): Delete.
9112 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
9113 (mips_abi): Change type to int.
9114
9115 Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
9116
9117 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
9118 optimization is now always enabled.
9119
9120 * calls.c (expand_call): Recognize C++ operator new as malloc-like
9121 function.
9122
9123 * alias.c (memrefs_conflict_p): Eliminate tests now done by
9124 base_alias_check.
9125 (*_dependence): Call canon_rtx before base_alias_check.
9126 (init_alias_once): New function to precompute set of registers which
9127 can hold Pmode function arguments.
9128
9129 * rtl.h: Declare init_alias_once.
9130
9131 * toplev.c (compile_file): Call init_alias_once.
9132
9133 Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
9134
9135 * tree.c (restore_tree_status): Do not dereference a null pointer.
9136
9137 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
9138
9139 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
9140 RLIMIT_STACK. This maintains consistency with the recent, similar
9141 patch to cccp.c and toplev.c.
9142
9143 Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
9144
9145 * genattrtab.c (expand_units): For large nr opclasses, expand
9146 function_units_used with ORX to prevent blowups. Tag with FFS.
9147 (num_unit_opclasses): New variable.
9148 (gen_unit): Update it.
9149 (enum operator): Add ORX_OP.
9150 (operate_exp): Treat ORX as or, except don't expand across an if.
9151 Reuse number rtx's after operating on them.
9152 (check_attr_value): Accept IOR, AND, & FFS.
9153 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
9154 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
9155 (write_expr_attr_cache, write_toplevel_expr): New functions.
9156 (write_attr_get): Handle FFS-tagged expressions.
9157 (make_canonical): Don't expand const attributes.
9158 (convert_const_symbol_ref): Dike out.
9159 (evaluate_eq_attr): Handle SYMBOL_REF.
9160 (main): Don't emit get_attr_foo for const attributes.
9161
9162 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
9163 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
9164 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
9165 * alpha.md: Redo all of the scheduling, adding EV6 support, and
9166 combining function units where possible.
9167 (attr "type"): Split loads, stores, cmov into int/fp. Combine
9168 multiplies and divides. Add EV6 sqrt, ftoi, itof.
9169 (attr "opsize"): New attribute.
9170 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
9171 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
9172 to control register allocation.
9173 (movsi2-1, movdi2-1): Likewise.
9174
9175 Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
9176
9177 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
9178 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
9179 Move OSF/1 specific defines out.
9180 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
9181 Move Linux specific defines out.
9182 (LINK_SPEC): Genericize.
9183 (ASM_FILE_START): Emit .arch if using more than the base insn set.
9184 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
9185 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
9186 (HANDLE_SYSV_PRAGMA): Define.
9187 * alpha/osf.h: New file.
9188 * alpha/linux.h: Split. Retain file-format independant defines.
9189 Import Linux bits from elf.h.
9190 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
9191 (FUNCTION_PROFILER): _mcount takes its address in $28.
9192 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
9193 * alpha/linux-ecoff.h: New file.
9194 * alpha/linux-elf.h: New file.
9195 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
9196 * alpha/win-nt.h (TARGET_DEFAULT): Define.
9197 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
9198 Add new headers as appropriate.
9199
9200 * configure.in (alpha*): Enable Haifa by default.
9201 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
9202 * configure: Rebuild.
9203
9204 Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
9205
9206 * Makefile.in (clean): Remove the stages with their objects here ...
9207 (distclean): ... instead of here.
9208
9209 Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9210
9211 * cse.c (rtx_cost): Add default case in enumeration switch.
9212 * fix-header.c (recognized_macro): Likewise.
9213 (recognized_extern): Likewise.
9214 (write_rbrac): Likewise.
9215 * objc/objc-act.c (encode_aggregate): Likewise.
9216 (gen_declarator): Likewise.
9217 (gen_declspecs): Likewise.
9218
9219 Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
9220
9221 * haifa-sched.c (create_reg_dead_note): Detect and handle another
9222 case where we kill more regs after sched than were killed before
9223 sched.
9224 * sched.c (create_reg_dead_note): Similarly.
9225
9226 Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
9227
9228 * c-pragma.c: Include flags.h.
9229
9230 Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
9231
9232 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
9233 about system headers.
9234 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
9235 and also to resolve symbols in prefix.c.
9236
9237 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
9238 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
9239 when the definitions in auto-config.h is not visible.
9240 (HAVE_BZERO): Likewise.
9241 (HAVE_BCMP): Likewise.
9242 (HAVE_RINDEX): Likewise.
9243 (HAVE_INDEX): Likewise.
9244
9245 Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
9246
9247 * pa.c (emit_move_sequence): Handle a function label source
9248 operand.
9249
9250 Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
9251
9252 * c-pragma.c (handle_pragma_token): Generate warning messages
9253 about unknown pragmas if warn_unknown_pragmas is set.
9254
9255 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
9256 line option to set variable: warn_unknown_pragmas.
9257
9258 Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
9259
9260 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
9261 definition.
9262 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
9263
9264 Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
9265
9266 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
9267 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
9268 generate more fine grained floating point emulation libraries.
9269 * config/fp-bit.c: Add protecting #ifdef to all functions so
9270 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
9271 then compile all suitable functions.
9272 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
9273 underscores to avoid namespace pollution.
9274 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
9275 (FPBIT): Define.
9276 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
9277 (FPBIT): Define.
9278 (DPBIT): Define.
9279
9280 Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9281 Jeff Law <law@cygnus.com>
9282
9283 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
9284 of the declaration.
9285 * c-decl.c (finish_decl): Use parentheses around && within ||.
9286 * rtl.c: Include stdlib.h.
9287 (read_skip_spaces): Add parentheses around assignments used as
9288 truth values.
9289 (read_rtx): Initialize list_rtx.
9290 * cppexp.c (parse_number): Use || when operands are truth values.
9291 * alias.c (find_base_value): Add default case.
9292 (memrefs_conflict): Likewise.
9293 * combine.c (sets_function_arg_p): Likewise.
9294 * genemit.c (gen_exp): Likewise.
9295 * local-alloc.c (contains_replace_regs): Likewise.
9296 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
9297 * fold-const.c (fold_convert): Use "&&" for truth values.
9298 (fold): Add default case.
9299 * sdbout.c (sdbout_field_types): Fix typo in declaration.
9300 (sdbout_one_type): Add default case.
9301 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
9302 (some_operand): Add default case.
9303 (input_operand): Likewise.
9304 (signed_comparison_operator): Likewise.
9305 (divmod_operator): Likewise.
9306 (alpha_set_memflags_1): Likewise.
9307 * reload1.c (reload_cse_simplify_operands): Ensure function
9308 always returns a value.
9309 * scan-decls.c (scan_decls): Likewise.
9310 * c-lex.c (skip_white_space): Fix typo in declaraion.
9311 * c-typeck.c (comp_target_types): Add parentheses around assignment
9312 used as truth value.
9313 (print_spelling): Likewise.
9314 (constructor_implicit, constructor_result): Remove unused variables.
9315 * collect2.c (scan_library): Protect prototype with
9316 #ifdef SCAN_LIBRARIES.
9317 * emit-rtl.c (find_line_note): Fix typo in declaration.
9318 * final.c (asm_insn_count): Protect prototype with
9319 #ifdef HAVE_ATTR_length.
9320 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
9321 (try_pre_increment_1, try_pre_increment): Likewise.
9322 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
9323 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
9324 * gcov-io.h (__store_long, __write_long, __read_long): Fix
9325 unsigned/signed comparisons.
9326 * gcov.c (read_files): Remove unused "first_type" variable.
9327 (scan _for_source_files): Initialize s_ptr.
9328 (function_summary): Eliminate "%lf" formatting, use %ld for
9329 longs.
9330 (output_data): Initialize branch_probs and last_line_num.
9331 Eliminate "%lf" formatting, use "%ld" for longs.
9332
9333 Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
9334
9335 * mips16.S: New file.
9336
9337 * libgcc2.c (varargs): Handle mips16.
9338
9339 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
9340 expression.
9341 * stmt.c (expand_end_case): Likewise.
9342 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
9343 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
9344 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
9345
9346 Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9347
9348 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
9349 the build directory.
9350 (libobjc.a): Update dependency list.
9351 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
9352 directory.
9353 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
9354 (objc.mostlyclean): Remove runtime-info.h.
9355
9356 Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
9357
9358 * tree.c (build_range_type): Allow creation of ranges with no maximum.
9359 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
9360 * dwarf2out.c (add_subscript_info): Likewise.
9361 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
9362 * sdbout.c (plain_type_1): Likewise.
9363 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
9364 Likewise.
9365 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
9366 Likewise.
9367
9368 Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9369
9370 * mips.c (fatal): Remove declaration.
9371
9372 1997-12-18 Mark Mitchell <mmitchell@usa.net>
9373
9374 * integrate.c (get_label_from_map): New function.
9375 (expand_inline_function): Use it. Initialize the label_map to
9376 NULL_RTX instead of gen_label_rtx.
9377 (copy_rtx_and_substitute): Use get_label_from_map.
9378 * integrate.h (get_label_from_map): New function.
9379 (set_label_from_map): New macro.
9380 * unroll.c (unroll_loop): Use them.
9381 (copy_loop_body): Ditto.
9382
9383 Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
9384
9385 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
9386 (INIT_TARGET_OPTABS): Define.
9387 * mips/ecoff.h: Include gofast.h before mips.h.
9388 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
9389 * mips/elf64.h: Likewise.
9390 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
9391
9392 Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
9393
9394 * except.c: Remove register_exception_table{,_p}.
9395
9396 Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
9397
9398 * unroll.c (calculate_giv_inc): Handle constant increment found in
9399 a MEM with an appropriate REG_EQUAL note.
9400
9401 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
9402
9403 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
9404 frame pointer in the prologue.
9405
9406 Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
9407
9408 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
9409 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
9410
9411 Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
9412
9413 * config/m68k/m68k.c (output_function_prologue): Typecast
9414 dwarf2out_cfi_label to (char *).
9415 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
9416
9417 Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
9418
9419 * sparc.md (jump): Don't use the annul bit around an empty loop.
9420 Patch from Kevin.Kelly@East.Sun.COM.
9421
9422 Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
9423
9424 * jump.c: (jump_optimize): Don't use the return register as a
9425 source1 of a conditional move.
9426
9427 Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
9428
9429 * sparc.c (DF_MODES): Or the mask not the bit number.
9430 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
9431
9432 Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9433
9434 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
9435
9436 Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
9437
9438 * fixincludes (size_t): Add support for Motorola's stdlib.h
9439 which fails to provide a definition for size_t.
9440 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
9441 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
9442 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
9443
9444 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
9445 prevent unresolved externals in libio.
9446 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
9447
9448 Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
9449
9450 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
9451 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
9452 (LIB_SPEC): Updated for glibc 2.
9453
9454 Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
9455
9456 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
9457 * ginclude/varargs.h: Likewise.
9458
9459 Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
9460
9461 * version.c: Bump for snapshot.
9462
9463 Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
9464
9465 * frame.h (__register_frame, __register_frame_table,
9466 __deregister_frame): New.
9467 * frame.c (__register_frame, __register_frame_table,
9468 __deregister_frame): New.
9469 * frame.c (__deregister_frame_info): Return void *.
9470 * frame.h (__deregister_frame_info): Ditto.
9471 * collect2.c (__deregister_frame_info): Ditto.
9472
9473 Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
9474
9475 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
9476
9477 Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
9478
9479 * alpha.c (alpha_cpu_name): New variable.
9480 (alpha_mlat_string): Likewise.
9481 (alpha_memory_latency): Likewise.
9482 (override_options): Handle -mmemory-latency.
9483 (alpha_adjust_cost): Adjust load cost for latency.
9484 * alpha.h (TARGET_OPTIONS): Add meory-latency.
9485 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
9486 TARGET_CIX into account.
9487 (MEMORY_MOVE_COST): Define in terms of memory_latency.
9488 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
9489
9490 * alpha.h (ASM_COMMENT_START): New macro.
9491
9492 Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
9493
9494 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
9495 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
9496
9497 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
9498 SUBREG_REG if the word count is unchanged.
9499 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
9500 subregs of identical word size for push_reload.
9501
9502 Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
9503
9504 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
9505 if all we're doing is dealing with -Wreturn-type.
9506
9507 Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
9508
9509 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
9510 Use and 255 instead of zapnot 1, since it schedules better.
9511
9512 Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
9513
9514 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
9515 it as volatile.
9516
9517 Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
9518
9519 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
9520 dependency we delete. Properly update prev for multiple consecutive
9521 deletions.
9522 (priority): Skip deleted dependence.
9523
9524 Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
9525
9526 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
9527
9528 Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9529
9530 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
9531 determining when a new basic block starts.
9532
9533 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
9534
9535 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
9536 * pa.md (iorsi3): Add missing args to *_operand calls.
9537
9538 * except.c (call_get_eh_context): Don't mess with sequences.
9539 (emit_eh_context): Include the call in the sequence here.
9540
9541 1997-12-11 Paul Eggert <eggert@twinsun.com>
9542
9543 * collect2.c (write_c_file_glob): Allocate initial frame object
9544 in static storage and pass its address.
9545
9546 Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9547
9548 * except.c (call_get_eh_context): Don't take a parm.
9549 Put the call at the top of the function.
9550 (emit_eh_context): Adjust.
9551 (get_eh_context): Replace with former use_eh_context.
9552 (get_eh_context_once, get_saved_pc_ref): Remove.
9553 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
9554 * except.h: Adjust.
9555 * integrate.c (expand_inline_function): Adjust.
9556 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
9557
9558 Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
9559
9560 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
9561 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
9562
9563 Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
9564
9565 * fixincludes (strlen,strspn,strcspn return value): Handle different
9566 layout on sysV88.
9567 (hypot): Provide a fake for hypot which is broken on
9568 m88k-motorola-sysv3.
9569
9570 Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
9571
9572 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
9573 tree_code_name from pointers to arrays.
9574 * tree.c: Remove standard_tree_code_* variables, no longer used.
9575 * print-tree.c: Remove declaration of tree_code_name.
9576
9577 * cp/lex.c (init_lex): Update for tree_code_* changes.
9578 * objc/objc-act.c (init_objc): Likewise.
9579
9580 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
9581 changes.
9582
9583 Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
9584
9585 * config.sub: Add support for BeOS target.
9586 * configure.in: Likewise.
9587 * ginclude/stdarg.h: Likewise.
9588 * ginclude/stddef.h: Likewise.
9589 * ginclude/varargs.h: Likewise.
9590 * rs6000/beos.h: New file for BeOS.
9591 * rs6000/t-beos: Likewise.
9592 * rs6000/x-beos: Likewise.
9593 * rs6000/xm-beos.h: Likewise.
9594 * toplev.c (get_run_time): Just return 0 on BeOS.
9595
9596 Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
9597 Toon Moene (toon@moene.indiv.nluug.nl)
9598
9599 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
9600 old and broken Sun3 assemblers. Newer versions handle large
9601 offsets correctly as does the GNU assembler.
9602
9603 Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9604
9605 * objc/objc-act.c (lang_report_error_function): Disable.
9606 * objc/objc-parse.y: Include "output.h".
9607 (yyerror): Remove redundant decl.
9608 (yyprint): Fix prototype.
9609 (apply_args_register_offset): Remove redundant decl.
9610 (get_file_function_name): Likewise.
9611
9612 Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
9613
9614 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
9615 a new basic block.
9616 (find_basic_blocks_1): Likewise.
9617
9618 Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9619
9620 * except.c (use_eh_context): Don't copy_rtx a REG.
9621 (emit_throw): Lose old unwinder support.
9622 (expand_internal_throw): Likewise.
9623 * libgcc2.c (struct eh_context): Likewise.
9624 (new_eh_context): Likewise.
9625 (__get_eh_info): Lose redundant cast.
9626 (__get_dynamic_handler_chain): Likewise.
9627 (__get_saved_pc): Lose.
9628 Lose all old unwinder support code.
9629
9630 Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
9631
9632 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
9633
9634 * integrate.c (expand_inline_function): If the inline fn uses eh
9635 context, make sure that the current fn has one.
9636 * toplev.c (rest_of_compilation): Call emit_eh_context.
9637 * except.c (use_eh_context): New fn.
9638 (get_eh_context_once): New fn.
9639 (call_get_eh_context): New fn.
9640 (emit_eh_context): New fn.
9641 (get_eh_context): Call either get_eh_context_once or
9642 call_get_eh_context, depending on what we have.
9643 (get_dynamic_handler_chain): Call get_eh_context_once.
9644 * except.h: Prototypes for fns above.
9645 * optabs.c (get_eh_context_libfunc): Removed.
9646 (init_optabs): Don't initialize it.
9647 * expr.h (get_eh_context_libfunc): Removed.
9648 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
9649 * config/pa/pa.h (CPP_SPEC): Support for -threads.
9650 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
9651 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9652 New multilib for -threads.
9653 * config/sparc/t-sol2: Added multilibs for -threads and
9654 made -pthreads alias to it.
9655 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
9656 Added -threads and -pthreads options.
9657 * libgcc-thr.h: New file.
9658 * libgcc2.c: (__get_cpp_eh_context): Removed.
9659 (struct cpp_eh_context): Removed.
9660 (struct eh_context): Replaced cpp_eh_context with generic language
9661 specific pointer.
9662 (__get_eh_info): New function.
9663 (__throw): Check eh_context::info.
9664 (__sjthrow): Ditto.
9665 * libgcc2.c: Include libgcc-thr.h.
9666 (new_eh_context, __get_eh_context,
9667 eh_pthread_initialize, eh_context_initialize, eh_context_static,
9668 eh_context_specific, eh_context_free): New functions.
9669 (get_eh_context, eh_context_key): New variables.
9670 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
9671 get_eh_context to get the context.
9672 (longjmp): Move the declaration inside
9673 #ifdef DONT_USE_BUILTIN_SETJMP.
9674 * frame.c: Include libgcc-thr.h.
9675 (object_mutex): Mutex to protect the object list.
9676 (find_fde, __register_frame, __register_frame_table,
9677 __deregister_frame): Hold the lock while accessing objects.
9678 * except.h (get_eh_context): Declare.
9679 * except.c (current_function_ehc): Define.
9680 (current_function_dhc, current_function_dcc): Removed.
9681 (get_eh_context): New function.
9682 (get_dynamic_handler_chain): Use get_eh_context.
9683 (get_saved_pc_ref): Ditto.
9684 (get_dynamic_cleanup_chain): Removed references to
9685 current_function_dcc.
9686 (save_eh_status, restore_eh_status): Save and restore
9687 current_function_ehc instead.
9688 * optabs.c (get_eh_context_libfunc): New variable.
9689 (init_optabs): Initialize it.
9690 * expr.h: Declare get_eh_context_libfunc.
9691 * function.h (struct function): Replaced dhc and dcc with ehc.
9692 * except.c (get_saved_pc_ref): New functions.
9693 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
9694 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
9695 of eh_saved_pc.
9696 (end_eh_unwinder): Likewise.
9697 (init_eh): Remove initialization of eh_saved_pc.
9698 * optabs.c (get_saved_pc_libfunc): New variable.
9699 (init_optabs): Initialize it.
9700 * expr.h: Declare get_saved_pc_libfunc.
9701 * except.h (eh_saved_pc_rtx): Deleted.
9702 (get_saved_pc_ref): Declared.
9703
9704 From Scott Snyder <snyder@d0sgif.fnal.gov>:
9705 * libgcc2.c (__get_saved_pc): New.
9706 (__eh_type, __eh_pc): Deleted.
9707 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
9708 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
9709 this fcn.
9710
9711 Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
9712
9713 * sparc/sol2.h: Use 64 bit multiply and divide functions in
9714 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
9715 as 0.
9716
9717 * rtl.h (global_rtl): New variable, replacing separate variables for
9718 commonly used rtl.
9719 (const_int_rtx): Now array of rtx_def, not rtx.
9720 * emit-rtl.c: Update for new rtl data structures.
9721 * genattrtab.c: Define global_rtl.
9722
9723 Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
9724
9725 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
9726 default.
9727
9728 Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
9729
9730 * crtstuff.c (__do_global_ctors): Fix typo.
9731
9732 Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
9733
9734 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9735 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9736
9737 Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
9738
9739 * rs6000.h (FUNCTION_ARG_PADDING): Define.
9740 * rs6000.c (function_arg_padding): New function.
9741
9742 Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
9743
9744 * m68k.c: Include tree.h only once.
9745
9746 Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9747
9748 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
9749
9750 Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
9751
9752 * Partially cleaned up prototyping code from HJ.
9753 * tree.h: Add many prototypes.
9754 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
9755 All references changed.
9756 * rtl.h: Protect from multiple inclusions. Add many prototypes.
9757
9758 Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
9759
9760 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
9761 string functions like strlen.
9762
9763 Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
9764
9765 * configure.in: Check for functions getrlimit and setrlimit.
9766 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9767 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9768
9769 Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
9770
9771 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
9772
9773 Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
9774
9775 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
9776 Fix merge problems.
9777
9778 * alpha.c (override_options): Don't know about scheduling for EV6.
9779 * alpha.md (ev5 function units): Don't overload as ev6.
9780
9781 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
9782 * alpha.md (define_attr type): Add mvi.
9783 (ev5_e0): Define sceduling parameters for it.
9784 (TARGET_MAX insns): Type is mvi not shift.
9785
9786 Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
9787
9788 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
9789
9790 Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9791
9792 * cstamp-h, auto-config.h: Delete.
9793
9794 Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
9795
9796 * version.c: Bump for snapshot.
9797
9798 Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
9799
9800 * cccp.c: Fix typo brought over in merge.
9801
9802 * Merge in changes from gcc-2.8.
9803
9804 Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
9805
9806 * m68k.c: Include tree.h for dwarf2out_cfi_label.
9807
9808 * gcc.c (process_command): Do not take address of function fatal when
9809 calling lang_specific_driver.
9810
9811 Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
9812
9813 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
9814 doesn't work with it yet, so set it to 0.
9815 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
9816
9817 Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9818
9819 * cse.c (cse_insn): Check for invalid entries when taking references.
9820
9821 Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9822
9823 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
9824 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
9825 * toplev.c (rest_of_compilation): Pass it. Remove code to
9826 save / clear / restore flag_unroll_{,all_}loops.
9827
9828 Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
9829
9830 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
9831
9832 Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
9833
9834 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
9835
9836 Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
9837
9838 * except.c (get_dynamic_handler_chain): Only make the call once per
9839 function.
9840
9841 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
9842
9843 Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9844
9845 * sh.c (final_prescan_insn): Use local label prefix
9846 when emitting .uses pseudo-ops.
9847
9848 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9849
9850 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
9851 * except.c: Lose outer_context_label_stack.
9852 (expand_eh_region_end): Rethrow from outer_context here.
9853 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
9854 (expand_internal_throw): Take no args.
9855 (expand_internal_throw_indirect): Lose.
9856 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
9857 (expand_start_all_catch): Start a rethrow region.
9858 (expand_end_all_catch): End it.
9859 (expand_rethrow): New fn.
9860 * except.h: Reflect above changes.
9861 * flow.c: Revert change of Nov 27.
9862
9863 Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
9864
9865 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
9866
9867 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9868
9869 * except.c (expand_fixup_region_end): New fn.
9870 (expand_fixup_region_start): Likewise.
9871 (expand_eh_region_start_tree): Store cleanup into finalization here.
9872 * stmt.c (expand_cleanups): Use them to protect fixups.
9873
9874 Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
9875
9876 * mips/mips.md (muldi3_r4000): Broaden the output template
9877 and attribute assignments to handle three operand dmult;
9878 rename to muldi3_internal2.
9879 (muldi3): Call the new muldi3_internal2 for R4000, and
9880 any GENERATE_MULT3 chip.
9881
9882 Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
9883
9884 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
9885
9886 Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
9887
9888 * unroll.c (find_splittable_givs): Remove last change. Handle givs
9889 with a dest_reg that was created by loop.
9890
9891 Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
9892
9893 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
9894
9895 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
9896
9897 Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
9898
9899 * configure.in: Fix NCR entries.
9900
9901 Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
9902
9903 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
9904 nested exceptions correctly.
9905
9906 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
9907 that was created by loop.
9908
9909 Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9910
9911 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
9912
9913 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
9914
9915 Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
9916
9917 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
9918 (print_operand): Use SMALL_DATA_REG for the register involved in
9919 small data relocations.
9920 (print_operand_address): Ditto.
9921
9922 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
9923 -dynamic linker is not used.
9924
9925 * rs6000.md (call insns): For local calls, use @local suffix under
9926 System V. Don't use @plt under Solaris.
9927
9928 * rs6000.c (output_function_profiler): Put label address in r0, and
9929 store LR in 4(sp) for System V/eabi.
9930
9931 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
9932 byte boundary, and maintain stack backchain.
9933
9934 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9935
9936 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9937 fix_truncsfdi2): Change *.
9938
9939 Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
9940
9941 * toplev.c (main): Complain about -gdwarfn.
9942
9943 Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
9944
9945 * dwarfout.c (output_type): If finalizing, write out nested types
9946 of types we've already written.
9947
9948 Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
9949
9950 (patches originally from Geoffrey Keating)
9951 * rs6000.c (function_arg): Excess floating point arguments don't
9952 go into GPR registers after exhausting FP registers under the
9953 System V.4 ABI.
9954 (function_arg_partial_nregs): Ditto.
9955
9956 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
9957 suffix to calls.
9958
9959 Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
9960
9961 * integrate.c (output_inline_function): Just unset DECL_INLINE.
9962
9963 Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
9964
9965 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
9966 proper alignment.
9967
9968 * libgcc2.c (__throw): Initialize HANDLER.
9969
9970 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9971
9972 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9973 fix_truncsfdi2): Change *X to ?*X.
9974
9975 Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
9976
9977 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
9978
9979 Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
9980
9981 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
9982
9983 Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
9984
9985 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
9986
9987 Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
9988
9989 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
9990 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
9991 * expr.h: Likewise.
9992
9993 Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
9994
9995 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
9996 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
9997 gas and not using the new HP assembler.
9998
9999 Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
10000
10001 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
10002 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
10003
10004 Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
10005
10006 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
10007 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
10008 definition.
10009
10010 Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
10011
10012 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
10013
10014 Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
10015
10016 * except.h: Add outer_context_label_stack.
10017 * except.c: Likewise.
10018 (expand_start_all_catch): Push the outer_context for the try block
10019 onto outer_context_label_stack.
10020 (expand_end_all_catch): Use it and pop it.
10021
10022 Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
10023
10024 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
10025
10026 Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
10027
10028 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
10029
10030 Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
10031
10032 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
10033 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
10034
10035 Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
10036
10037 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
10038 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
10039 __builtin_delete, and __builtin_vec_delete.
10040
10041 * except.c (output_exception_table): Don't bother with
10042 __EXCEPTION_END__.
10043
10044 Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
10045
10046 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
10047 is an in/out operand.
10048 (zero extended variants of stwm/stwm patterns): Similarly.
10049
10050 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
10051
10052 Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
10053
10054 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
10055 Use assemble_name.
10056 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
10057 (output_call_frame_info): Emit a \n after using it.
10058
10059 Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
10060
10061 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
10062
10063 Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
10064
10065 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
10066 (ASM_OUTPUT_DWARF_VALUE4): New macro.
10067 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
10068 defined.
10069 (output_call_frame_info): Do not output forward label differences
10070 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
10071 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
10072
10073 Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10074
10075 * sh.md (attribute "type"): Add nil.
10076 (movsi_ie): y/y alternative is type nil.
10077 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
10078 alternatives.
10079 (movsf_ie+1): Delete.
10080
10081 Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
10082
10083 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
10084 large_int, emit two insns instead of one splitable insn.
10085 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
10086 from cfa_temp_value, use cfa_offset. Add assert checking that
10087 cfa_reg is SP.
10088
10089 Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
10090
10091 * cccp.c (deps_output): Properly quote file names for make.
10092
10093 Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
10094
10095 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
10096
10097 Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
10098
10099 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
10100
10101 Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
10102
10103 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
10104 return.
10105 (cse_end_of_basic_block): Similarly.
10106
10107 Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
10108
10109 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
10110 (SELECT_RTX_SECTION): Define.
10111 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
10112
10113 Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
10114
10115 * Makefile.in (compare, compare-lean): Define $stage for each
10116 shell command.
10117 (gnucompare, gnucompare-lean): Likewise.
10118
10119 Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
10120
10121 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
10122
10123 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
10124 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
10125
10126 Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
10127
10128 * dwarfout.c (byte_size_attribute): Add local var upper_bound
10129 and add case to handle STRING_TYPE.
10130 * dwarfout.c (output_string_type_die): Fix code to generate
10131 correct string length attribute for fixed length strings.
10132 Still needs support for varying length strings.
10133
10134 Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
10135
10136 * toplev.c (get_run_time): Do something sensible for cygwin32.
10137
10138 Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
10139
10140 * expr.c (expand_builtin_setjmp): Set
10141 current_function_has_nonlocal_label.
10142 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
10143 call-saved registers across calls.
10144
10145 * alpha.md (exception_receiver): Remove.
10146 (nonlocal_goto_receiver_osf): New
10147 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
10148 (nonlocal_goto_receiver): New, select _osf or _vms.
10149
10150 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
10151 keep them from being propogated to the object file.
10152 (alpha_write_linkage): Likewise.
10153 * alpha.md (call_vms): Likewise.
10154 (call_value_vms): Likewise.
10155 (unnamed osf call insns): Likewise.
10156
10157 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
10158 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
10159
10160 * alpha.c (call_operand): Any reg is valid for WinNT.
10161 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
10162 (anon nt calls): Add 'R' alternative.
10163 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
10164 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
10165
10166 Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
10167
10168 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
10169
10170 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
10171 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
10172 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
10173
10174 Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
10175
10176 * reload1.c (new_spill_reg): Improve fixed or forbidden register
10177 spill error message.
10178
10179 Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10180
10181 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
10182 use varargs.h. Wrap header with <>, not "".
10183
10184 Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
10185
10186 * integrate.c (save_for_inline_copying): Add return value from
10187 savealloc.
10188
10189 Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
10190
10191 * fixincludes: Be a little more restrictive on what we will
10192 substitute to replace definitions of MAXINT for HPUX.
10193
10194 Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
10195
10196 * dbxout.c (dbxout_symbol_location): Don't assume that variables
10197 whose address is the stack or argument pointers are indirect
10198 pointers.
10199
10200 1997-11-13 Paul Eggert <eggert@twinsun.com>
10201
10202 * cccp.c, cpplib.c (compare_defs):
10203 Don't complain about arg name respellings unless pedantic.
10204 * cpplib.c (compare_defs): Accept pfile as new arg.
10205 All callers changed.
10206
10207 Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10208
10209 * fold-const.c (fold_truthop): Fix bug in last change.
10210
10211 1997-11-13 Paul Eggert <eggert@twinsun.com>
10212
10213 Fix some confusion with IEEE minus zero.
10214
10215 * real.h (REAL_VALUES_IDENTICAL): New macro.
10216
10217 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
10218 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
10219 identical to 0.0.
10220 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
10221 same tree structure as 0.0.
10222
10223 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
10224 macro instead of doing it by hand.
10225
10226 Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
10227
10228 * v850/lib1funcs.asm: Minor whitespace changes.
10229 * v850.c: Fix minor formatting problems in many places.
10230 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
10231
10232 Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
10233
10234 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
10235 xplus1 when xplus0 is not a register.
10236
10237 Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
10238
10239 * flow.c (find_basic_blocks): During marking phase, if we encounter
10240 an insn with a REG_LABEL note, make the target block live and
10241 create an edge from the insn to the target block. Do not make
10242 edges from all blocks to the target block.
10243
10244 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
10245
10246 * confiugre.in: Tweak NCR entries.
10247 * configure: Rebuilt.
10248
10249 Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
10250
10251 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
10252 pick apart floating point values, instead of using CONST_DOUBLE_LOW
10253 and CONST_DOUBLE_HIGH.
10254
10255 * rs6000.md (define_splits for DF constants): Use the appropriate
10256 REAL_VALUE_* interface to pick apart DF floating point constants in
10257 a machine independent fashion.
10258
10259 Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10260
10261 * fold-const.c (fold_truthop): When changing a one-bit comparison
10262 against zero into a comparison against mask, do a proper sign
10263 extension.
10264
10265 Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
10266
10267 * except.c: Do not include "assert.h".
10268 (save_eh_status): Turn asserts into conditional aborts.
10269 (restore_eh_status, scan_region): Likewise.
10270 * dwarfout.c: Do not include "assert.h".
10271 (bit_offset_attribute): Turn asserts into conditional aborts.
10272 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
10273 (output_inlined_structure_type_die): Likewise.
10274 (output_inlined_union_type_die): Likewise
10275 (output_tagged_type_instantiation): Likewise.
10276 (dwarfout_file_scope_decl): Likewise.
10277 * dwarf2out.c: Do not include "assert.h"
10278 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
10279 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
10280 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
10281 (add_bit_size_attribute, scope_die_for): Likewise.
10282 (output_pending_types_for_scope): Likewise.
10283 (get_inlined_enumeration_type_die): Likewise.
10284 (get_inlined_structure_type_die): Likewise.
10285 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
10286 (gen_tagged_type_instantiation_die): Likewise.
10287
10288 * flow.c (find_basic_blocks): Refine further to get a more correct
10289 cfg, especially in the presense of exception handling, computed
10290 gotos, and other non-trivial cases. Call abort if an inaccuracy
10291 is detected in the cfg.
10292
10293 Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10294
10295 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
10296
10297 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
10298 (skip_white_space): Use whitespace_cr.
10299 (check_newline): Handle whitespace more consistently.
10300
10301 Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
10302
10303 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
10304 * i386/xm-cygwin32.h (POSIX): Define.
10305
10306 Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
10307
10308 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
10309 is available elsewhere.
10310
10311 Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
10312
10313 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
10314 what the instruction can handle.
10315
10316 Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
10317
10318 * stmt.c (expand_decl_cleanup_no_eh): New fn.
10319
10320 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
10321
10322 Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
10323
10324 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
10325 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
10326
10327 Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
10328
10329 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
10330 swap instruction order.
10331
10332 Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
10333
10334 * fixinc.svr4 (__STDC__): Add another case.
10335
10336 Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10337
10338 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
10339 addresses in the epilogue delay slot.
10340
10341 Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
10342
10343 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
10344 in generated `specs' file.
10345
10346 Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
10347
10348 * flags.h (flag_rerun_loop_opt): Declare.
10349 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
10350 * toplev.c (flag_rerum_loop_opt): Delete static.
10351
10352 Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10353
10354 Bring over from FSF:
10355
10356 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10357
10358 * va-sh.h (__va_arg_sh1): Define.
10359 (va_arg): Use it.
10360 SH3E doesn't use any integer registers for subsequent arguments
10361 once a non-float value was passed in the stack.
10362 * sh.c (machine_dependent_reorg): If optimizing, put explicit
10363 alignment in front label for ADDR_DIFF_VEC.
10364 * sh.h (PASS_IN_REG_P): Fix SH3E case.
10365 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
10366
10367 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10368
10369 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
10370 svr4.h.
10371
10372 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10373
10374 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
10375 put an use_sfunc_addr before each sfunc.
10376 * sh.md (use_sfunc_addr, dummy_jump): New insns.
10377 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
10378
10379 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10380
10381 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
10382
10383 Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
10384
10385 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
10386 linked once FDEs.
10387
10388 Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
10389
10390 * alias.c (find_base_value): Only return the known base value for
10391 pseudo registers.
10392
10393 Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
10394
10395 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
10396 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
10397 to pattern.
10398 (prologue_get_pc_and_set_got): New pattern.
10399
10400 Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
10401
10402 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
10403 for SUBREG, just fall through.
10404
10405 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
10406
10407 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
10408
10409 Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
10410
10411 * fixincludes: Fix "hypot" prototype in NeXT math.h.
10412
10413 * Makefile.in (USE_ALLOCA): Always include alloca.o.
10414 (USE_HOST_ALLOCA): Likewise.
10415
10416 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
10417 and LABEL_REFS fields.
10418 * rtl.h (LABEL_REFS): Update.
10419
10420 Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
10421
10422 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
10423 sets i2dest. When calling distribute_notes for i3dest_killed, pass
10424 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
10425 sets i1dest.
10426
10427 * mips.md (insv, extzv, extv): Add change_address call.
10428 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
10429
10430 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
10431
10432 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
10433
10434 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
10435 save_restore_insns if no FP and GP will be restored.
10436
10437 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
10438 Convert CCmode to word_mode before calling GET_MODE_SIZE.
10439
10440 * acconfig.h (HAVE_INTTYPES_H): Undef.
10441 * configure.in (inttypes.h): Check for conflicts between sys/types.h
10442 and inttypes.h, and verify that intmax_t is defined.
10443 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
10444 * config/mips/x-iris3: Likewise.
10445
10446 Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
10447
10448 * alias.c (find_base_value): When copying arguments, return the
10449 tenative value for a hard register.
10450
10451 Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
10452
10453 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
10454 (yylex): Record wide strings using target endianness, not host.
10455
10456 Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
10457
10458 * mn10200.h (ASM_OUTPUT_BSS): Delete.
10459 (ASM_OUTPUT_ALIGNED_BSS): New macro
10460 * mn10300.h (ASM_OUTPUT_BSS): Delete.
10461 (ASM_OUTPUT_ALIGNED_BSS): New macro.
10462 * v850.h (ASM_OUTPUT_BSS): Delete.
10463 (ASM_OUTPUT_ALIGNED_BSS): New macro.
10464
10465 Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10466
10467 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
10468
10469 Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
10470
10471 * configure.in (sco5): Use cpio to install header files.
10472
10473 Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
10474
10475 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
10476 14 char length.
10477 * configure: Rebuild.
10478
10479 Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
10480
10481 * i386/sco5.h: enable -gstabs once again.
10482
10483 Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
10484
10485 * arm.c (output_move_double): Allocate 3 entries in otherops array.
10486
10487 Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
10488
10489 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
10490 notes for sjlj exceptions too.
10491 (expand_eh_region_end): Similarly for EH_REGION_END notes.
10492 (exception_optimize): Optimize EH regions for sjlj exceptions too.
10493 * final.c (final_scan_insn): Don't output labels for EH REGION
10494 notes if doing sjlj exceptions.
10495
10496 Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
10497
10498 * alias.c (init_alias_analysis): Handle -fno-alias-check when
10499 optimizing correctly.
10500
10501 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
10502 or set current_function_calls_setjmp anymore.
10503
10504 * flow.c (find_basic_blocks): If we delete the label for an
10505 exception handler, remove it from the EH label list and remove
10506 the EH_BEGIN/EH_END notes for that EH region.
10507
10508 Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
10509
10510 * flow.c (find_basic_blocks): Generate correct flow control
10511 information when exception handling notes are present.
10512
10513 Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
10514
10515 * dwarf2out.c (output_call_frame_info): Fix length argument
10516 to ASM_OUTPUT_ASCII.
10517 (output_die, output_pubnames, output_line_info): Likewise.
10518
10519 Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
10520
10521 * version.c: Bump for snapshot.
10522
10523 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
10524 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
10525 flag_debug_asm is on.
10526 (output_die, output_pubnames, output_line_info): Likewise.
10527
10528 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
10529 and static_chain_rtx into the potential base values array if
10530 they are registers.
10531
10532 * alias.c (new_reg_base_value): New array of potential base values.
10533 (unique_id): Now file scoped static.
10534 (find_base_value, case REG): Return the value in reg_base_value
10535 array for the REG if it exists. Else, return the value from
10536 new_reg_base_value if copying args and REG is a hard register.
10537 (find_base_value, case PLUS): If either operand of the PLUS is
10538 a REG, try to get its base value. Handle base + index and
10539 index + base.
10540 (record_set): Use new_reg_base_value instead of reg_base_value.
10541 (init_alias_analysis): Allocate space for new_reg_base_value too.
10542 Rework code to iterate over the insns propagating base value
10543 information until nothing changes.
10544
10545 * global.c (global_alloc): Free the conflict matrix after
10546 reload has finished.
10547
10548 Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
10549
10550 * libgcc2.c (L_eh): Define __eh_pc.
10551 Replace __eh_type with generic pointer __eh_info.
10552
10553 Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
10554
10555 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
10556 use copy_to_reg if address is not a general_operand.
10557
10558 Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10559
10560 * profile.c (output_func_start_profiler): Clear flag_inline_functions
10561 for the duration of the call to rest_of_compilation.
10562
10563 Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
10564
10565 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
10566 Set extra_parts.
10567 (sparc*-*-*): Recognize --with-cpu=v9.
10568 * sparc/elf.h: New file.
10569 * sparc/t-elf: New file.
10570
10571 Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
10572
10573 * mn10300.c (const_8bit_operand): New function.
10574 (mask_ok_for_mem_btst): New funtion.
10575 * mn10300.md (btst patterns with mem operands): Use new functions
10576 to avoid creating btst instructions with invalid operands.
10577
10578 Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
10579
10580 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
10581 are running on PowerPC Linux.
10582
10583 Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
10584
10585 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
10586 if not previously defined.
10587
10588 Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
10589
10590 * function.c (assign_parms): Correct mode of stack_parm if
10591 entry_parm underwent a mode conversion.
10592
10593 1997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
10594
10595 * global.c (global_alloc): Use xmalloc instead of alloca for
10596 CONFLICTS, since max_allocno * allocno_row_words alone can be more
10597 than 2.5Mb sometimes.
10598
10599 Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
10600
10601 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
10602 DEST for the spill, adjust mode of SRC to compensate.
10603
10604 Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
10605
10606 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
10607 since any_memory_operand() allows pseudos during reload.
10608 (reload_inhi, reload_outqi, reload_outhi): Likewise.
10609
10610 Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
10611
10612 * m68k.md (btst patterns): Add 5200 support.
10613
10614 Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
10615
10616 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
10617 optimizations, look inside dividend to determine if the expression
10618 can be simplified by using EXACT_DIV_EXPR.
10619
10620 Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
10621
10622 From Brendan:
10623 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
10624
10625 Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
10626
10627 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
10628
10629 Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
10630
10631 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
10632 on a CLOBBER.
10633
10634 Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
10635
10636 * alpha.md (movqi, movhi): Make sure new insns created during reload
10637 won't need reloading themselves.
10638 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
10639
10640 Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
10641
10642 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
10643
10644 Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
10645
10646 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
10647 Patch from Klaus Kaempf <kkaempf@progis.de>.
10648
10649 Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
10650
10651 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
10652 to an element in a constant string.
10653
10654 Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
10655
10656 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
10657 bit PC-relative offset. The exception range table pointer is now in
10658 the CIE.
10659 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
10660 (count_fdes, add_fdes, get_cie): Adjust.
10661 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
10662
10663 From H.J. Lu:
10664 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
10665
10666 Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
10667
10668 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
10669 like stack_pointer_rtx.
10670
10671 Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
10672
10673 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
10674 targets using "$@" to provide support for similar but not identical
10675 targets without having to duplicate code.
10676 (bootstrap4): New goal.
10677
10678 * Makefile.in (compare, compare-lean, compare3): Combined to one
10679 ruleset determining actions to be performed via $@.
10680 (compare4, compare4-lean): New targets.
10681 (gnucompare, gnucompare3): Combined to one ruleset determining
10682 actions to be performed via $@. Also, note which files failed
10683 the comparison test in .bad_compare.
10684 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
10685
10686 Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
10687
10688 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
10689 if the dividend is a multiple of the divisor.
10690
10691 Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
10692
10693 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
10694
10695 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
10696 and POS_DEC.
10697
10698 * alias.c (true_dependence): Fix typo.
10699
10700 * toplev.c (flag_rerun_loop_opt): New variable.
10701 (f_options): Handle -frerun-loop-opt.
10702 (rest_of_compilation): If -frerun-loop-opt, then run the loop
10703 optimizer twice.
10704 (main): Enable -frerun-loop-opt by default for -O2 or greater.
10705
10706 * loop.c (simplify_giv_expr): Adding two invariants results
10707 in an invariant.
10708
10709 Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
10710
10711 * expr.c (get_inner_reference): Remove the array bias after
10712 converting the index to Pmode.
10713
10714 Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
10715
10716 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
10717 (TARGET_MULT_BUG): Define.
10718 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
10719 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
10720
10721 Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
10722
10723 * mn10200.c (indirect_memory_operand): Delete unused function.
10724 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
10725 * mn10200.md (bset, bclr insns): Handle output in a reg too.
10726
10727 Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
10728
10729 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
10730 the callee's ldgp, we must do it ourselves, and we use the jsr tag
10731 for more than scheduling.
10732
10733 Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
10734
10735 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
10736
10737 Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
10738
10739 * mn10300.c (symbolic_operand, legitimize_address): New functions.
10740 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
10741 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
10742
10743 Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
10744
10745 * version.c: Bump for snapshot.
10746
10747 Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10748
10749 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
10750 for FILENAME.
10751
10752 Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
10753
10754 * toplev.c (flag_exceptions): Default value is 2.
10755 (compile_file): If flag_exceptions still has the value 2, then
10756 set it to 0.
10757
10758 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
10759 (rs6000_save_machine_status): Save pic_offset_table_rtx.
10760 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
10761
10762 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
10763 are shared.
10764
10765 * rs6000.md (*movsi_got_internal_mem): New pattern.
10766 (*movsi_got_internal_mem splitter): New define_split.
10767
10768 Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
10769
10770 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
10771
10772 Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10773
10774 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
10775 only need to save LR.
10776
10777 Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
10778
10779 * mn10300.md (movqi, movhi): Avoid using address registers as
10780 destinations unless absolutely necessary.
10781
10782 * mn10200.c (expand_prologue): Fix typo.
10783
10784 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
10785 addresses.
10786 * mn10200.md (neghi2): Provide an alternative which works if
10787 the input and output register are the same.
10788
10789 * mn10300.c (print_operand): Handle 'S'.
10790 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
10791 shift amount in last alternative
10792
10793 * mn10300.c (expand_epilogue): Rework to handle register restores
10794 in "ret" and "retf" instructions correctly.
10795
10796 Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
10797
10798 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
10799 extzv for memory operands.
10800
10801 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
10802 redundant conditional moves to single operand.
10803
10804 Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
10805
10806 * v850.h: Move define of __v850__ from CPP_PREDEFINES
10807 to CPP_SPEC.
10808
10809 * xm-v850.h: Use __v850 rather than __v850__ to
10810 identify v850 port.
10811
10812 Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
10813
10814 * mips/mips.c (compute_frame_size): Not a leaf function if
10815 profile_flag set.
10816
10817 Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10818
10819 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
10820
10821 Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
10822
10823 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
10824 (DEFAULT_ARCH32_P): New macro.
10825 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
10826 (enum cmodel): Declare.
10827 (sparc_cmodel_string,sparc_cmodel): Declare.
10828 (SPARC_DEFAULT_CMODEL): Provide default.
10829 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
10830 (TARGET_FULLANY): Deleted.
10831 (TARGET_CM_MEDMID): New macro.
10832 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
10833 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10834 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
10835 (CPP_SPEC): Rewrite.
10836 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10837 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
10838 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10839 (ASM_SPEC): Add %(asm_arch).
10840 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
10841 Rename asm_default to asm_cpu_default.
10842 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
10843 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
10844 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
10845 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
10846 (MASK_INT64,MASK_LONG64): Delete.
10847 (MASK_ARCH64): Renamed to MASK_64BIT.
10848 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
10849 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
10850 (TARGET_SWITCHES): Always provide 64 bit options.
10851 (ARCH64_SWITCHES): Delete.
10852 (TARGET_OPTIONS): New option -mcmodel=.
10853 (INT_TYPE_SIZE): Always 32.
10854 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
10855 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
10856 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
10857 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
10858 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
10859 CPP_SPEC.
10860 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10861 * sparc/linux.h: Likewise.
10862 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
10863 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10864 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
10865 (SPARC_DEFAULT_CMODEL): Define.
10866 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10867 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10868 (LONG_DOUBLE_TYPE_SIZE): Define.
10869 (ASM_SPEC): Add %(asm_arch).
10870 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10871 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10872 (TARGET_CPU_DEFAULT): Add ultrasparc case.
10873 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
10874 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
10875 (SPARC_DEFAULT_CMODEL): Define.
10876 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
10877 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
10878 MASK_LONG64, MASK_MEDANY.
10879 (SPARC_DEFAULT_CMODEL): Define.
10880 (CPP_PREDEFINES): Delete.
10881 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10882 (ASM_SPEC): Add %(asm_arch).
10883 (LONG_DOUBLE_TYPE_SIZE): Define.
10884 (DWARF2_DEBUGGING_INFO): Define.
10885 * sparc/splet.h (CPP_SPEC): Delete.
10886 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10887 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
10888 (BLOCK_PROFILER): Likewise.
10889 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
10890 (sparc_override_options): Handle code model selection.
10891 (sparc_init_expanders): Renamed from sparc64_init_expanders.
10892 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
10893 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
10894 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
10895 (sethi_di_fullany): Delete.
10896
10897 Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
10898 Jeff Law <law@cygnus.com>
10899 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10900
10901 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
10902 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
10903 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
10904 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
10905 * alpha/alpha.md (arg_home): Likewise.
10906
10907 * alpha/alpha.c (vmskrunch): Delete
10908 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
10909 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
10910 truncate to 64 characters.
10911
10912 * make-l2.com: Support openVMS/Alpha.
10913
10914 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
10915
10916 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10917
10918 * longlong.h (count_leading_zeros): Add missing casts to USItype.
10919
10920 Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
10921
10922 * i386/bsd386.h (ASM_COMMENT_START): Define.
10923
10924 Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
10925
10926 * tree.c (restore_tree_status): Also free up temporary storage
10927 when we finish a toplevel function.
10928 (dump_tree_statistics): Print stats for backend obstacks.
10929
10930 Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
10931
10932 * expr.c (use_group_regs): Don't call use_reg for MEMs.
10933
10934 Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
10935
10936 * libgcc2.c (__throw): Don't copy the return address.
10937 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
10938
10939 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
10940 * toplev.c (main): Initialize exceptions_via_longjmp.
10941
10942 * tree.c: Add extra_inline_obstacks.
10943 (save_tree_status): Use it.
10944 (restore_tree_status): If this is a toplevel inline obstack and we
10945 didn't want to save anything on it, recycle it.
10946 (print_inline_obstack_statistics): New fn.
10947 * function.c (pop_function_context_from): Pass context to
10948 restore_tree_status.
10949 * obstack.h (obstack_empty_p): New macro.
10950
10951 Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
10952
10953 * i386/freebsd.h (ASM_COMMENT_START): Fix.
10954
10955 Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
10956
10957 * v850.c (ep_memory_offset): New function.
10958 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
10959
10960 * v850.h (CONST_OK_FOR_*): Add and correct comments.
10961 (CONSTANT_ADDRESS_P): Add comment.
10962 (EXTRA_CONSTRAINT): Define 'U'.
10963 * v850.md: Add comments on bit field instructions.
10964 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
10965 (lshrsi3): Use N not J constraint.
10966
10967 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
10968
10969 * v850.c (reg_or_0_operand): Call register_operand.
10970 (reg_or_int5_operand): Likewise.
10971 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
10972 (TARGET_SWITCHES): Add "big-switch".
10973 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
10974 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
10975 (CASE_DROPS_THROUGH): Comment out.
10976 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
10977 * v850.md (cmpsi): Delete compare mode.
10978 (casesi): New pattern.
10979
10980 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
10981 * v850.md (ashlsi3): Use SImode not QImode for shift count.
10982 (lshrsi3): Likewise.
10983
10984 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
10985 unreachable switch statement after 'b' support. Remove "b" from
10986 strings for 'b' support.
10987 * v850.md (branch_normal, branch_invert): Change %b to b%b.
10988
10989 Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
10990
10991 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
10992 empty line if @inhibit_libc@ is empty.
10993
10994 Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
10995
10996 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
10997 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
10998 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10999 (DWARF2_UNWIND_INFO): Let this track object file format.
11000 (EXTRA_SECTIONS): Add in_eh.
11001 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
11002 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
11003
11004 Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
11005
11006 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
11007 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
11008 TARGET_MEDANY.
11009 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
11010 (output_double_int): Output DI mode values correctly when
11011 HOST_BITS_PER_WIDE_INT is 64.
11012 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
11013 fmovd so it works if a quad float ends up in one of the upper 32
11014 float regs.
11015 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
11016 necessary for PIC support on sparc64.
11017
11018 Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
11019
11020 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
11021 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
11022 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
11023 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
11024 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
11025 (SPARC_FP_ARG_FIRST): New macro.
11026 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
11027 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
11028 (NPARM_REGS): There are 32 fp argument registers now.
11029 (FUNCTION_ARG_REGNO_P): Likewise.
11030 (FIRST_PARM_OFFSET): Update to new v9 abi.
11031 (REG_PARM_STACK_SPACE): Define for arch64.
11032 (enum sparc_arg_class): Delete.
11033 (sparc_arg_count,sparc_n_named_args): Delete.
11034 (struct sparc_args): Redefine and use for arch32 as well as arch64.
11035 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
11036 (FUNCTION_ARG_ADVANCE): Rewrite.
11037 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
11038 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
11039 (FUNCTION_ARG_CALLEE_COPIES): Delete.
11040 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
11041 (STRICT_ARGUMENT_NAMING): Define.
11042 (doublemove_string): Declare.
11043 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
11044 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
11045 (doublemove_string): New function.
11046 (output_move_quad): Clean up some of the arch64 support.
11047 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
11048 Don't add 8 bytes of reserved space if arch64.
11049 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
11050 (init_cumulative_args): New function.
11051 (function_arg_slotno): New static function.
11052 (function_arg,function_arg_partial_nregs): New functions.
11053 (function_arg_{pass_by_reference,advance}): New functions.
11054 (function_arg_padding): New function.
11055 * ginclude/va-sparc.h: Rewrite v9 support.
11056
11057 Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
11058
11059 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
11060 for hard regs to determine base and index registers.
11061
11062 * reload.c (debug_reload_to_stream): New function. Specify stream
11063 into which to write debug info.
11064 (debug_reload): Modify to call debug_reload_to_stream with stderr.
11065
11066 Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
11067
11068 * combine.c (can_combine_p): Don't combine with an asm whose
11069 output is a hard register.
11070
11071 Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
11072
11073 * c-decl.c (start_struct): Ensure that structs with forward
11074 declarations are in fact packed when -fpack-struct is given.
11075
11076 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
11077 we are packing a structure. This allows a structure with only
11078 bytes to be aligned on a byte boundary and have no padding on a
11079 m68k.
11080
11081 Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11082
11083 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
11084
11085 Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
11086
11087 * alpha.c (alpha_return_addr_rtx): New variable.
11088 (alpha_save_machine_status): New; save it.
11089 (alpha_restore_machine_status): New; restore it.
11090 (alpha_init_expanders): New; clear it.
11091 (alpha_return_addr): New; set it.
11092 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
11093 is overly conservative, so search the insns explicitly.
11094 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
11095 (alpha_sa_size [VMS && !VMS]): Likewise.
11096 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
11097 (INIT_EXPANDERS): New definition.
11098
11099 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
11100 (output_prolog [!VMS]): Use them.
11101
11102 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
11103 (alpha_does_function_need_gp): ... a new function. Refine the
11104 CALL_INSN test to just TYPE_JSR.
11105 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
11106
11107 Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
11108
11109 * version.c: Bump for snapshot.
11110
11111 Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11112
11113 * pa.c (move_operand): Respect -mdisable-indexing.
11114 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
11115
11116 Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
11117
11118 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
11119 PPC601.
11120 (umulsidi3,umulsi3_highpart): Ditto.
11121 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
11122
11123 Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
11124
11125 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
11126 (alpha_handle_trap_shadows): ... a new function. Handle the entire
11127 function in one go. Emit RTL for trapb, instead of printf directly.
11128 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
11129 (trap_pending): Kill global variable.
11130 (output_epilog): Don't call final_prescan_insn.
11131 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
11132 * alpha.h (FINAL_PRESCAN_INSN): Remove.
11133 (MACHINE_DEPENENT_REORG): Define.
11134 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
11135 (trapb): New insn.
11136
11137 Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
11138
11139 Tune Haifa scheduler for Alpha:
11140 * alpha.h (ISSUE_RATE): Define.
11141 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
11142 EV4 adjustments to EV5.
11143 * alpha.md: Remove all scaling from function unit delays. Rework
11144 EV5 function units to match the CPU.
11145 (umuldi3_highpart): EV5 added the IMULH insn class.
11146
11147 Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
11148
11149 * pa.c (following_call): Fail if the CALL_INSN is an indirect
11150 call.
11151
11152 Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
11153
11154 * cplus-dem.c (demangle_signature): Don't look for return types on
11155 constructors. Handle member template constructors.
11156
11157 Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
11158
11159 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
11160 * tree.h: Declare them.
11161
11162 Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
11163
11164 * configure.in: Handle --with-newlib.
11165 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
11166
11167 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
11168
11169 Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
11170
11171 * config/ptx4.h: Fix typo.
11172
11173 Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
11174
11175 * version.c: Bump for snapshot.
11176
11177 Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
11178
11179 * aclocal.m4: Substitute INSTALL.
11180 * configure: Re-built.
11181
11182 Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
11183
11184 * integrate.c (save_for_inline_copying): Avoid undefined pointer
11185 operations.
11186 (expand_inline_function): Likewise.
11187
11188 * dwarf2out.c (output_call_frame_info): Reinstate last change
11189 using flag_debug_asm check instead of flag_verbose_asm.
11190
11191 Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
11192
11193 * dwarf2out.c (output_call_frame_info): Remove last change.
11194
11195 1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11196
11197 * frame.c (__frame_state_for): Execute the FDE insns until the
11198 current pc value is strictly bigger than the target pc value.
11199
11200 Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
11201
11202 * regclass.c (init_reg_modes): If we can't find a mode for the
11203 register, use the previous one.
11204
11205 Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
11206
11207 * haifa-sched.c (print_block_visualization): Call fprintf directly,
11208 don't sprintf through an alloca'ed buffer.
11209
11210 Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
11211
11212 * reload.c (decompose): Always initialize val.base.
11213
11214 Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
11215
11216 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
11217 instead of aborting.
11218 * dwarf2out.c (output_call_frame_info): Call app_enable and
11219 app_disable to let GNU as accept the generated comments.
11220
11221 Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
11222
11223 * tree.h (get_file_function_name): Add declaration.
11224 * dwarf2out.c (output_call_frame_info): No need to cast
11225 get_file_function_name call anymore.
11226 * profile.c (toplevel): Remove get_file_function_name
11227 declaration.
11228 * c-lang.c (finish_file): Ditto.
11229
11230 Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
11231
11232 * Makefile.in (program_transform_name): Let autoconf substitute
11233 the correct value.
11234
11235 Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
11236
11237 * haifa-sched.c (schedule_block): If the first real insn in a
11238 block has any special notes attached to it, remove them.
11239
11240 Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
11241
11242 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
11243
11244 Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
11245
11246 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
11247
11248 Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
11249
11250 * Makefile.in (check-g77): New test target.
11251 (CHECK-TARGETS): Add check-g77.
11252
11253 Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
11254
11255 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
11256
11257 Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
11258
11259 * flow.c (print_rtl_with_bb): Cast alloca return value for
11260 in_bb_p.
11261
11262 Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
11263
11264 * i386.h (RETURN_ADDR_RTX): New definition that works for
11265 __builtin_return_address(0) and -fomit-frame-pointer.
11266
11267 Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
11268
11269 Bring over from FSF.
11270 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
11271
11272 * mips.c (function_arg): Handle passing a struct
11273 containing a double in a DFmode register without the PARALLEL.
11274
11275 Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
11276
11277 * pexecute.c: Use spawn if __CYGWIN32__.
11278
11279 * pexecute.c: Include "config.h" first, as per autoconf manual
11280 (from Paul Eggert <eggert@twinsun.com>).
11281
11282 Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
11283
11284 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
11285 optimisation for f/expr.o and f/stb.o.
11286
11287 Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
11288
11289 * cse.c (this_insn_cc0_mode): Initialize.
11290
11291 Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
11292
11293 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
11294
11295 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
11296
11297 Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
11298
11299 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
11300 that pair will dual-issue on the 21164 and plus+beq won't.
11301 (bne): Likewise for cmpeq+beq.
11302
11303 Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
11304
11305 * except.c (find_exception_handler_labels): Correct argument to free.
11306
11307 Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
11308
11309 * except.c (find_exception_handler_labels): Free LABELS when we're
11310 done.
11311
11312 Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
11313
11314 * version.c: Bump for snapshot.
11315
11316 Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
11317
11318 * flow.c (find_basic_blocks): Mark calls as potentially jumping
11319 to the EH labels.
11320
11321 Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
11322
11323 * configure.in: Substitute for "install" too.
11324 * configure: Rebuilt.
11325
11326 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
11327
11328 * Makefile.in (bootstrap-lean, compare-lean): New targets.
11329
11330 Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
11331
11332 * alias.c (base_alias_check): Two symbols can conflict if they
11333 are accessed via AND.
11334 (memrefs_conflict_p): Likewise.
11335
11336 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
11337 after flushing argument registers to the stack.
11338
11339 * Makefile.in (mostlyclean): Remove .regmove files.
11340
11341 Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
11342
11343 * libgcc2.c (__throw): Fix thinko.
11344
11345 Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
11346
11347 * cplus-dem.c (demangle_template): Add new parameter. Handle new
11348 template-function mangling.
11349 (consume_count_with_underscores): New function.
11350 (demangle_signature): Handle new name-mangling scheme.
11351
11352 Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
11353
11354 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
11355 start and end.
11356
11357 Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
11358
11359 * frame.c: Remove last change.
11360 * dwarf2.h: Remove last change.
11361 * tree.h: Add declarations of DWARF2 unwind info support
11362 functions.
11363
11364 Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
11365
11366 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
11367 * tree.h (built_in_function): Likewise.
11368 * expr.c (expand_builtin): Likewise.
11369 * except.h: Likewise.
11370 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
11371 * libgcc2.c (copy_reg): New fn.
11372 (__throw): Use it.
11373
11374 Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
11375
11376 * c-typeck.c (build_binary_op): Warn about comparing signed vs
11377 unsigned if -W is specified and -Wno-sign-compare is not.
11378 * c-decl.c (warn_sign_compare): Initialize to -1.
11379 (c_decode_option): -Wall no longer implies -Wsign-compare.
11380
11381 Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11382
11383 * frame.c: Include gansidecl.h for PROTO.
11384 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
11385 defined. Don't declare dwarf2out_cfi_label here.
11386 * dwarf2.h: Add declarations of DWARF2 unwind info support
11387 functions.
11388 * m68k.c: Include dwarf2.h.
11389 (output_function_prologue): Add dwarf2 support.
11390 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
11391 (INCOMING_FRAME_SP_OFFSET): Likewise.
11392
11393 * integrate.c (expand_inline_function): Make sure there is at
11394 least one insn that can be used as an insertion point.
11395
11396 Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
11397
11398 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
11399
11400 Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
11401
11402 * version.c: Bump for snapshot.
11403
11404 Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
11405
11406 Bring over from FSF.
11407
11408 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
11409
11410 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
11411 (get_pc_via_rdpc): Renamed from get_pc_sp64.
11412 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
11413
11414 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
11415
11416 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
11417 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
11418 -malign-functions=.
11419 (sparc_align_{loops,jumps,funcs}_string): Declare.
11420 (sparc_align_{loops,jumps,funcs}): Declare.
11421 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
11422 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
11423 (STACK_BIAS): Define.
11424 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
11425 test.
11426 (SPARC_SETHI_P): New macro.
11427 (CONST_OK_FOR_LETTER_P): Use it.
11428 (ASM_OUTPUT_ALIGN_CODE): Define.
11429 (ASM_OUTPUT_LOOP_ALIGN): Define.
11430 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
11431 (sparc_align_{loops,jumps,funcs}): New globals.
11432 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
11433 -malign-functions=.
11434 (move_operand): Use SPARC_SETHI_P.
11435 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
11436 perform test.
11437 (arith11_double_operand): Likewise.
11438 (arith10_double_operand): Likewise.
11439 (finalize_pic): Finish sparc64 support.
11440 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
11441 64 bit constants if able.
11442 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
11443 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
11444 ! TARGET_FPU.
11445 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
11446 (get_pc_sp32): Use for sparc64 as well.
11447 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
11448 (sethi_di_sp64_const): Likewise.
11449 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
11450 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
11451 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
11452
11453 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
11454
11455 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
11456 * sparc/linux.h (COMMENT_BEGIN): Likewise.
11457 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
11458
11459 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
11460
11461 Add sparc64 linux support.
11462 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
11463 to xm_file list on 32-bit sparc-linux.
11464 * sparc/xm-sp64.h: New file.
11465 * sparc/linux64.h: New file.
11466 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
11467 Don't include xm-sparc.h.
11468 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
11469 * glimits.h (LONG_MAX): Handle sparc64.
11470
11471 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
11472
11473 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
11474 * sparc.h (ASM_COMMENT_START): Define.
11475 * sparc.c (output_function_prologue): Use it.
11476 (sparc_flat_output_function_{epi,pro}logue): Likewise.
11477
11478 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
11479
11480 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
11481 use sparc.h's copies.
11482 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
11483 ascii form as well.
11484
11485 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11486
11487 * sparc.c (dwarf2out_cfi_label): Add declaration.
11488 (save_regs, output_function_prologue): Remove cast for it.
11489 (sparc_flat_{save_restore,output_function_prologue): Likewise.
11490 ({save,restore}_regs): No longer inline.
11491
11492 Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11493
11494 * fold-const.c (make_range): Correctly handle cases of converting
11495 from unsigned to signed type.
11496
11497 Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
11498
11499 * fold-const.c (merge_ranges): Make sure that if one range is subset
11500 of another, it will always be the second range. Correct (+,-) case to
11501 account for this.
11502
11503 Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
11504
11505 * final.c (final_end_function): Also do dwarf2 thing if
11506 DWARF2_DEBUGGING_INFO.
11507 (final_start_function): Likewise.
11508
11509 Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
11510
11511 * expmed.c (expand_divmod): If compute_mode is not the same as
11512 mode, handle the case where convert_modes() causes op1 to no
11513 longer be a CONST_INT.
11514
11515 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
11516 note holding get_jump_flags() calculation to all JUMP_INSNs.
11517 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
11518 * rtl.c (reg_note_name): Add new note types.
11519
11520 Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
11521
11522 * rtlanal.c (computed_jump_p): Fix typo in last change.
11523
11524 Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11525
11526 * loop.c (indirect_jump_in_function_p): Return 0
11527 by default.
11528
11529 Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
11530
11531 * rs6000/xm-rs6000.h: Fix thinko in last change.
11532 * rs6000/xm-sysv4.h: Likewise.
11533
11534 Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
11535
11536 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
11537
11538 Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
11539
11540 * reg-stack.c (find_blocks): Fix thinko in last change.
11541
11542 1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11543
11544 * m68k.c (output_function_prologue): Add dwarf2 support.
11545
11546 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
11547 INCOMING_FRAME_SP_OFFSET): New definitions.
11548
11549 Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
11550
11551 * combine.c (try_combine): Use NULL_RTX instead of '0' where
11552 appropriate in calls to gen_rtx().
11553 * cse.c (cse_main): Likewise.
11554 * emit-rtl.c (gen_label_rtx): Likewise.
11555 * expr.c (init_expr_once): Likewise.
11556 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
11557 sched_analyze, init_rgn_data_dependences,
11558 compute_block_backward_dependences): Likewise.
11559 * sched.c (schedule_insns): Likewise.
11560 * varasm.c (immed_double_const): Likewise.
11561
11562 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
11563 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
11564
11565 Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
11566
11567 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
11568 (MULTILIB_DEFAULTS): Define.
11569 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
11570 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
11571 (LIBGCC_SPEC): Likewise.
11572 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
11573 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
11574 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
11575 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
11576 (EXTRA_PARTS, TAROUTOPTS): Delete.
11577 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
11578 (MULTILIB_OPTIONS): Define.
11579 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
11580 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
11581
11582 Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
11583
11584 * version.c: Bump for snapshot.
11585
11586 Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
11587
11588 * loop.c (loop_number): Delete function. Change all references
11589 to use uid_loop_num array.
11590 * loop.h (loop_number): Delete declaration.
11591 * unroll.c (unroll_loop): Change "loop_number" references to
11592 use uid_loop_num instead.
11593
11594 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
11595 conditional.
11596 (loop_unroll_iter): Remove unused variable and all references.
11597 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
11598 (insert_bct): Fix minor formatting problems.
11599 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
11600 (loop_unroll_iter): Removed unused decl.
11601 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
11602 Always record the unrolling factor.
11603
11604 * cse.c (simplify_relational_operation): Set h0u just like h0s.
11605 Similarly for h1u and h1s.
11606
11607 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
11608 (find_basic_blocks): Use computed_jump_p to determine if a
11609 particular JUMP_INSN is a computed jump.
11610 * reg-stack.c (find_blocks): Use computed_jump_p to determine
11611 if a particular JUMP_INSN is a computed jump.
11612 * rtlanal.c (jmp_uses_reg_or_mem): New function.
11613 (computed_jump_p): Likewise.
11614 * rtl.h (computed_jump_p): Declare.
11615 * genattrtab.c (pc_rtx): Define and initialize.
11616 * loop.c (loop_optimize): Always determine if the current
11617 function has a computed jump.
11618 (indirect_jump_in_function_p): Use computed_jump_p to determine
11619 if a particular JUMP_INSN is a computed jump.
11620
11621 * loop.c (fix_bct_param): Delete unused function.
11622 (check_bct_param): Likewise.
11623
11624 Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
11625
11626 * frame.c (__deregister_frame): Check properly for initialized object.
11627
11628 Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11629
11630 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
11631
11632 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11633
11634 * jump.c (thread_jumps): check can_reverse_comparison_p before
11635 threading a reversed-condition jump.
11636
11637 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
11638 * haifa-sched.c (update_flow_info): Likewise.
11639
11640 Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
11641
11642 * Makefile.in (BOOT_CFLAGS): Use -O2.
11643
11644 * configure.in (strtoul, bsearch): Have autoconf check for these
11645 functions.
11646 * configure, config.in: Rebuilt.
11647
11648 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
11649 * mips/mips.h (alloca): Likewise.
11650 * rs6000/xm-rs6000.h (alloca): Likewise.
11651 * rs6000/xm-sysv4.h: Likewise.
11652
11653 Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
11654
11655 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
11656 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
11657 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
11658
11659 * except.c (end_eh_unwinder): Subtract 1 from return address.
11660 * libgcc2.c (__throw): Likewise.
11661 (find_exception_handler): Don't change PC here. Compare end with >.
11662
11663 Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
11664
11665 * v850.c (compute_register_save_size): Correct register
11666 number.
11667 * v850.md (save_interrupt, return_interrupt): Correct
11668 register number.
11669 * v850/lib1funcs.asm (save_interrupt): Correct register number.
11670 (return_interrupt): Use stack pointer, not element pointer.
11671
11672 1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
11673
11674 * configure.in, configure: Make sure to create the stage* and include
11675 symbolic links in each subdirectory.
11676
11677 Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
11678
11679 * pa.md (reload_peepholes): Don't allow addresses with side
11680 effects for the memory operand.
11681
11682 Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
11683
11684 * libgcc2.c (find_exception_handler): Subtract one from our PC when
11685 looking for a handler, to avoid hitting the beginning of the next
11686 region.
11687
11688 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
11689
11690 Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
11691
11692 * mips/abi64.h (LONG_MAX_SPEC): Define.
11693 * mips.h (LONG_MAX_SPEC): Define.
11694 (CPP_SPEC): Include long_max_spec.
11695 (EXTRA_SPECS): Include long_max_spec.
11696
11697 Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
11698
11699 * v850.c (construct_save_jarl): Fix thinko in last change.
11700
11701 Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
11702
11703 * version.c: Bump for snapshot.
11704
11705 Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
11706
11707 * libgcc2.c (find_exception_handler): Not found is -1.
11708
11709 * integrate.c (expand_inline_function): Move expand_start_bindings
11710 after expanding the arguments.
11711
11712 Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
11713
11714 * expr.c (expand_expr): Remove previous incorrect change.
11715 If target and slot has no DECL_RTL, then call mark_addressable
11716 again for the slot after we give it RTL.
11717
11718 Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
11719
11720 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
11721 again for the slot after we give it RTL.
11722
11723 Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
11724
11725 * v850.c (register_is_ok_for_epilogue,
11726 pattern_is_ok_for_epilogue, construct_restore_jr,
11727 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
11728
11729 * v850.h (pattern_is_ok_for_prologue,
11730 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
11731 predicates.
11732
11733 * v850.md: Replace prologue and epilogue patterns with a
11734 match_parallel pattern.
11735
11736 Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
11737
11738 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
11739 * configure.in: Use EGCS_PROG_INSTALL.
11740
11741 Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
11742
11743 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
11744 extern inline function.
11745
11746 Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
11747
11748 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
11749 (concat_loc_descriptor): New function.
11750 (loc_descriptor): Call it.
11751 (add_AT_location_description): Also elide the descriptor if both
11752 halves of a CONCAT are pseudos.
11753 (add_location_or_const_value_attribute): Recognize CONCAT too.
11754
11755 Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
11756
11757 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
11758
11759 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
11760 out-or-range reg_offset.
11761 (output_epilog): Likewise.
11762
11763 Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
11764
11765 * cse.c (simplify_relational_operation): If MODE specifies a
11766 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
11767 is derived from the sign bit of the low word.
11768
11769 Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
11770
11771 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
11772
11773 * dwarf2.h: Add DW_CFA_GNU_args_size.
11774 * frame.c (execute_cfa_insn): Likewise.
11775 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
11776 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
11777 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
11778 insn, hand it off to dwarf2out_stack_adjust.
11779 (dwarf2out_begin_prologue): Initialize args_size.
11780 * frame.h (struct frame_state): Add args_size.
11781 * libgcc2.c (__throw): Use args_size.
11782 * final.c (final_scan_insn): If we push args, hand off all insns
11783 to dwarf2out_frame_debug.
11784 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
11785
11786 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
11787 Handle epilogue restore of SP from FP.
11788 * emit-rtl.c (gen_sequence): Still generate a sequence if the
11789 lone insn has RTX_FRAME_RELATED_P set.
11790
11791 * frame.c (extract_cie_info): Handle "e" augmentation.
11792 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
11793 absence of UNALIGNED_*_ASM_OP.
11794 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
11795 (output_call_frame_info): Use "e" instead of "z" for augmentation.
11796 Don't emit augmentation fields length.
11797 (dwarf2out_do_frame): Move outside of #ifdefs.
11798 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
11799 opcodes.
11800
11801 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
11802 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
11803 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
11804 * sparc/sun4gas.h: New file.
11805 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
11806
11807 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
11808 __register_frame_table and __deregister_frame.
11809
11810 1997-09-15 Brendan Kehoe <brendan@cygnus.com>
11811
11812 * except.c (find_exception_handler_labels): Use xmalloc instead of
11813 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
11814 in some cases.
11815
11816 Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
11817
11818 * Makefile.in: Various changes to build info files
11819 in the object tree rather than the source tree.
11820
11821 Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
11822
11823 * fixinc.math: New file to fix math.h on some systems.
11824 * configure.in (freebsd, netbsd): Use fixinc.math on these
11825 systems.
11826 * configure: Rebuilt.
11827
11828 Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
11829
11830 * regmove.c (regmove_optimize): If we end up moving the
11831 original insn due to lifetime overlaps, make sure to move
11832 REG_NOTES too.
11833
11834 Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
11835
11836 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
11837
11838 Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
11839
11840 * haifa-sched.c (add_branch_dependences): Make each insn in
11841 a SCHED_GROUP_P block explicitly depend on the previous insn.
11842
11843 Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
11844
11845 * except.h: Prototype dwarf2 hooks.
11846 * expr.c: Adjust.
11847
11848 Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
11849
11850 * configure.in (native_prefix): Delete.
11851 (mips-dec-netbsd): Don't set prefix.
11852 (*linux*): Don't set prefix.
11853
11854 Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
11855
11856 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
11857 defined. If not defined, include <sys/varargs.h> if
11858 HAVE_SYS_VARARGS_H is defined.
11859 * configure.in: Test for varargs.h and sys/varargs.h.
11860 * configure: Regenerate with autoconf.
11861 * config.in: Regenerate with autoheader.
11862
11863 * cpplib.c (quote_string): Cast first arg of sprintf call
11864 from "unsigned char *" to "char *".
11865 (output_line_command): Ditto.
11866 (macroexpand): Ditto.
11867 (do_line): Cast atoi arg from "unsigned char *" to "char *".
11868
11869 Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
11870
11871 * version.c: Bump for snapshot.
11872
11873 * Makefile.in (compare): Exit with nonzero status if there
11874 are comparison failures. Note which files failed the
11875 comparison test in .bad_compare.
11876
11877 Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11878
11879 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
11880
11881 Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
11882
11883 * Makefile.in (LN, LN_S): New macros, use where appropriate.
11884 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
11885 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
11886 * configure: Regenerated.
11887
11888 Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
11889
11890 * loop.c (strength_reduce): Fix typo.
11891
11892 Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
11893
11894 * m88k/m88k.c (struct option): Rename to struct options.
11895 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
11896 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
11897 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
11898 __DOLPHIN__ or sysV88.
11899
11900 Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
11901
11902 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
11903 create new subreg.
11904
11905 Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
11906
11907 * config.sub: Accept 'amigados' for backward compatability.
11908
11909 Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11910
11911 * Makefile.in (testsuite/site.exp): New target.
11912 (check-gcc, check-g++): Depend on testsuite/site.exp.
11913 Don't stop for failure.
11914
11915 Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
11916
11917 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
11918 if DWARF2_UNWIND_INFO.
11919
11920 Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
11921
11922 Add support for exception handling using DWARF 2 frame unwind info.
11923 Currently works on SPARC and MIPS, and almost on x86.
11924
11925 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
11926 next_stack_level, in_reg_window): Helper fns.
11927 (__throw): Implement for DWARF2_UNWIND_INFO.
11928
11929 * expr.c (expand_builtin): Handle builtins used by __throw.
11930 * tree.h (enum built_in_function): Add builtins used by __throw.
11931 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
11932 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
11933 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
11934 (expand_builtin_extract_return_addr): Likewise.
11935 (expand_builtin_frob_return_addr): Likewise.
11936 (expand_builtin_set_return_addr_reg): Likewise.
11937 (expand_builtin_eh_stub): Likewise.
11938 (expand_builtin_set_eh_regs): Likewise.
11939 (eh_regs): Choose two call-clobbered registers for passing back values.
11940
11941 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
11942 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
11943 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
11944 (stmp-multilib): Likewise.
11945 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
11946
11947 * except.c: #include "defaults.h".
11948 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
11949 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
11950 (register_exception_table_p): New fn.
11951 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
11952 (end_eh_unwinder): Likewise.
11953
11954 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
11955 call __register_frame and __deregister_frame as needed.
11956 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
11957 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
11958 EH_FRAME_SECTION_ASM_OP.
11959 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
11960 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
11961 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
11962
11963 * dwarf2out.c (output_call_frame_info): If no support for
11964 EXCEPTION_SECTION, mark the start of the frame info with a
11965 collectable tag.
11966 * collect2.c (frame_tables): New list.
11967 (is_ctor_dtor): Recognise frame entries.
11968 (scan_prog_file): Likewise.
11969 (main): Pass -fno-exceptions to sub-compile. Also do collection
11970 if there are any frame entries.
11971 (write_c_file_stat): Call __register_frame_table and
11972 __deregister_frame as needed.
11973 (write_c_file_glob): Likewise.
11974
11975 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
11976 Also require unaligned reloc support.
11977 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11978 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
11979 * sparc/sysv4.h: Not here.
11980
11981 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
11982 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
11983 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
11984
11985 * libgcc2.c (L_eh): Reorganize, moving code shared by different
11986 EH implementations to the top.
11987 (find_exception_handler): Split out. Start from 0. Compare against
11988 end with >=.
11989 (__find_first_exception_table_match): Use it.
11990 * except.c (output_exception_table): Don't do anything if there's
11991 no table. Don't output a first entry of zeroes.
11992 (eh_outer_context): Adjust properly.
11993 (add_eh_table_entry): Use xrealloc.
11994 * toplev.c (compile_file): Just call output_exception_table.
11995
11996 Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
11997
11998 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
11999
12000 Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
12001
12002 * except.c (eh_outer_context): Do masking using expand_and.
12003
12004 Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
12005
12006 Add port done awhile ago for the ARC cpu.
12007 * arc/arc.h: New file.
12008 * arc/arc.c: New file.
12009 * arc/arc.md: New file.
12010 * arc/initfini.c: New file.
12011 * arc/lib1funcs.asm: New file.
12012 * arc/t-arc: New file.
12013 * arc/xm-arc.h: New file.
12014 * ginclude/va-arc.h: New file.
12015 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
12016 * ginclude/varargs.h: Likewise.
12017 * Makefile.in (USER_H): Add va-arc.h.
12018 * configure.in (arc-*-elf*): Recognize.
12019 * longlong.h: Add ARC support.
12020
12021 Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
12022
12023 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
12024 when clearing non-BLKmode data.
12025
12026 Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
12027
12028 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
12029 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
12030
12031 * xm-m88k.h (USG): Only define if it hasn't already been defined.
12032
12033 * Makefile.in (risky-stage1): Delete gratutious whitespace.
12034
12035 * Makefile.in (clean): Delete libgcc1-test.
12036
12037 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
12038
12039 Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
12040
12041 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
12042 template.
12043
12044 Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12045
12046 * dwarf2out.c (output_call_frame_info): Call named_section.
12047
12048 Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
12049
12050 * haifa-sched.c (print_value): Fix last change.
12051
12052 Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
12053
12054 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
12055 write_symbols.
12056
12057 Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
12058
12059 * mips.c (function_prologue): Set up the CFA when ABI_32.
12060
12061 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
12062 for dwarf2 unwind info.
12063 (output_function_prologue, sparc_flat_output_function_prologue): Same.
12064
12065 * final.c (final_end_function): Check dwarf2out_do_frame instead
12066 of DWARF2_DEBUG for dwarf2 unwind info.
12067 (final_scan_insn): Likewise.
12068 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
12069 (final): Not here.
12070
12071 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
12072 count > 0.
12073
12074 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
12075
12076 Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
12077
12078 * v850.h (ASM_SPEC): Pass on target processor.
12079 (CPP_PREDEFINES): Only define if not already specified.
12080 (TARGET_VERSION): Only define if not already specified.
12081 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
12082 processor.
12083 (EXTRA_SWITCHES): Extra entries in the switches array.
12084 (TARGET_DEFAULT): Set default target processor.
12085
12086 Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
12087
12088 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
12089 cases, add %# and %/, and add : to make them into extended asms.
12090
12091 Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
12092
12093 * alias.c (init_alias_analysis): Clean up incompatible pointer
12094 type warning in bzero.
12095 * regmove.c (regmove_optimize): Ditto.
12096 * haifa-sched.c (find_rgns): Ditto.
12097
12098 * haifa-sched.c (print_value): Clean up ptr->int cast
12099 warnings.
12100
12101 Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
12102
12103 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
12104 * install.texi (Configurations): Ditto.
12105 * config.sub: Ditto.
12106
12107 Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
12108
12109 * Makefile.in (sdbout.o): Depend on insn-config.h.
12110
12111 Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
12112
12113 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
12114 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
12115
12116 Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
12117
12118 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
12119 prologue insn, only the first elt is significant.
12120 (output_call_frame_info): For exception handling, always use 4-byte
12121 fields as specified by the dwarf2 spec.
12122 Don't skip trivial FDEs.
12123
12124 Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
12125
12126 * version.c: Bump for snapshot.
12127
12128 Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
12129
12130 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
12131 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
12132 when op1_is_pow2.
12133
12134 Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
12135
12136 * final.c (shorten_branches): During first pass, assume worst
12137 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
12138
12139 * Makefile.in (distclean): Remove various things left around
12140 by running the testsuite.
12141
12142 Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
12143
12144 * configure.in (out_file): Emit definition to config.status in order
12145 to have a defined value for configure.lang.
12146 * configure: Re-built.
12147
12148 Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
12149
12150 * configure.in: Make symlink to as-new rather than as.new. Similarly
12151 for ld-new.
12152 * configure: Rebuilt.
12153
12154 Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
12155
12156 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
12157
12158 Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
12159
12160 * sparc/sparc.md: Add ultrasparc scheduling support.
12161 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
12162
12163 Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
12164
12165 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
12166 as initial value for real_label_map.
12167 (copy_for_inline): Likewise.
12168
12169 Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
12170
12171 * sched.c (update_flow_info) When looking if to set found_split_dest
12172 or found_orig_dest, look at all parts of a PARALLEL.
12173 * haifa-sched.c (update_flow_info): Likewise.
12174
12175 Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
12176
12177 * v850: New directory for v850 port.
12178 * v850/lib1funcs.asm: New file.
12179 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
12180 * ginclude/va-v850.h: New file.
12181 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
12182 * configure.in (mn10200-*-*): New target.
12183 * configure: Rebuilt.
12184 * config.sub: Handle v850-elf.
12185 * Makefile.in (USER_H): Add va-mn10200.h.
12186 * invoke.texi: Document v850 stuff.
12187
12188 Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
12189
12190 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
12191 has integer TYPE_{MAX,MIN}_VALUE before using them.
12192
12193 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
12194 __HPUX_ASM__ versions.
12195
12196 Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
12197
12198 * install.sh: Delete duplicate install script.
12199
12200 Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
12201
12202 * reg-stack.c (subst_stack_regs): Pop the stack register for a
12203 computed goto which sets the same stack register.
12204
12205 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
12206 destination are both on the regstack.
12207 (subst_stack_regs_pat): Put the destination at the top of the regstack.
12208
12209 Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
12210
12211 * mips.md (nonlocal_goto_receiver): Define.
12212
12213 * profile.c (output_arc_profiler): Check next_insert_after for non
12214 NULL before deferencing it.
12215
12216 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
12217
12218 Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
12219
12220 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
12221
12222 Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
12223
12224 * toplev.c (rest_of_compilation): For passes starting with
12225 flow_analysis, use print_rtl_with_bb instead of print_rtl.
12226
12227 * print-rtl.c (print_rtl_single): Print a single rtl value to a
12228 file.
12229
12230 * flow.c (print_rtl_with_bb): Print which insns start and end
12231 basic blocks. For the start of a basic block, also print the live
12232 information.
12233
12234 Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
12235
12236 * toplev.c (main): Change #elif to #else/#ifdef
12237
12238 * tlink.c: Include ctype.h.
12239 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
12240
12241 Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
12242
12243 * bitmap.c: Conditionally include stdlib.h.
12244 (free): Provide a declaration if NEED_DECLARATION_FREE.
12245
12246 Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
12247
12248 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
12249
12250 Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
12251
12252 * profile.c (output_arc_profiler): Verify next_insert_after is an
12253 INSN before and after skipping a stack pop.
12254
12255 Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
12256
12257 * final.c (shorten_branches): Don't count the lengths of deleted
12258 instructions.
12259
12260 Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
12261
12262 * version.c: Bump for snapshot.
12263
12264 Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
12265
12266 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
12267 two bitmaps ANDed together.
12268 (bitmap_print): Declare.
12269
12270 * bitmap.c (function_obstack): Don't declare any more.
12271 (bitmap_obstack): Obstack for allocating links from.
12272 (bitmap_obstack_init): New static to say whether to initialize
12273 bitmap_obstack.
12274 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
12275 (bitmap_release_memory): Free all memory allocated from
12276 bitmap_obstack.
12277
12278 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
12279 EXECUTE_IF_AND_IN_BITMAP.
12280
12281 Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
12282
12283 * alias.c (true_dependence): Address with AND can alias scalars.
12284 (anti_dependence, output_dependence): Likewise.
12285
12286 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
12287
12288 Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
12289
12290 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
12291 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
12292 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
12293 definitions. Use -qrtems instead of -mrtems.
12294
12295 Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
12296
12297 * xm-sco5.h (sys_siglist): Define.
12298 (SYS_SIGLIST_DECLARED): Likewise.
12299
12300 Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
12301
12302 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
12303
12304 Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
12305
12306 * except.c (eh_outer_context): Expand masking operation using
12307 expand_binop.
12308
12309 Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
12310
12311 * alpha.md (floatdisf2-1): New pattern.
12312
12313 Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
12314
12315 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
12316 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
12317 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
12318 * gcc.texi: Note that if you define sys_siglist that you should
12319 also define SYS_SIGLIST_DECLARED.
12320
12321 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
12322 are relative to the next instruction, not the current instruction.
12323
12324 Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
12325
12326 * local-alloc.c (contains_replace_regs): New function.
12327 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
12328 verify that there is no existing REG_EQUIV note, and add a call to
12329 contains_place_regs.
12330
12331 Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12332
12333 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
12334 (STARTFILE_SPEC): Always use crtbegin.o%s
12335 (ENDFILE_SPEC): Always use crtend.o%s.
12336
12337 Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
12338
12339 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
12340 is passed in.
12341 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
12342 SFmode for 64 bit hosts.
12343
12344 Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
12345
12346 * fixincludes: Permits spaces between # and define. Discard C++
12347 comments in sys/pci.h on HP/UX 10.20.
12348
12349 Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
12350
12351 * version.c: Bump for snapshot.
12352
12353 * pa.c (restore_unscaled_index_insn_codes): New function.
12354 (record_unscaled_index_insn_codes): Likewise.
12355 (output_function_prologue): Call restore_unscaled_index_insn_codes.
12356 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
12357 (pa_reorg): Call record_unscaled_index_insn_codes.
12358
12359 * haifa-sched.c (move_insn): Handle notes correctly for insns
12360 with SCHED_GROUP_P set.
12361
12362 Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12363
12364 * alpha/xm-linux.h (USE_BFD): Undef before define.
12365
12366 Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
12367
12368 * cse.c (cse_insn): Don't record BLKmode values.
12369
12370 Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
12371
12372 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
12373
12374 Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
12375
12376 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
12377 * collect2.c (sys_errlist): Likewise.
12378 * cpplib.c (sys_errlist): Likewise.
12379 * gcc.c (sys_errlist): Likewise.
12380 * protoize (sys_errlist): Likewise.
12381 * configure.in: Check for strerror.
12382 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
12383 * xm-gnu.h (HAVE_STRERROR): Likewise.
12384 * xm-linux.h (HAVE_STRERROR): Likewise.
12385 * xm-netbsd.h (HAVE_STRERROR): Likewise.
12386 * xm-bsd386.h (HAVE_STRERROR): Likewise.
12387 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
12388 * xm-dos.h (HAVE_STRERROR): Likewise.
12389 * xm-mingw32.h (HAVE_STRERROR): Likewise.
12390 * xm-pa.h (HAVE_STRERROR): Likewise.
12391 * xm-papro.h (HAVE_STRERROR): Likewise.
12392 * xm-sysv4.h (HAVE_STRERROR): Likewise.
12393 * configure, config.in: Rebuilt.
12394
12395 * Makefile.in: Add several missing "else true" clauses.
12396
12397 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
12398 * mips-tfile.c: Likewise.
12399 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
12400 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
12401 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
12402 * configure.in: Check for sys_siglist declaration.
12403 * configure, config.in: Rebuilt.
12404
12405 Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
12406
12407 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
12408 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
12409 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
12410 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
12411 * rs6000/sysv4.h (extra_subtarget_switches): Added new
12412 macro EXTRA_SUBTARGET_SWITCHES.
12413 * configure.in (sh*-*-rtems*): New target.
12414 * sh/rtems.h: New file.
12415 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
12416 * configure: Rebuilt.
12417
12418 Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
12419
12420 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
12421
12422 Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
12423
12424 * rs6000.md: Make DF fused-add operations pay attention to
12425 -mno-fused-add.
12426
12427 Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
12428
12429 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
12430
12431 Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
12432
12433 * pa.md (reload_peepholes): Make sure operand is a REG before
12434 examining REGNO. Allow general registers too.
12435
12436 Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
12437
12438 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
12439
12440 Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
12441
12442 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
12443 to reallocate abbrev_die_table.
12444
12445 Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
12446
12447 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
12448
12449 1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
12450
12451 * Makefile.in (config.status): Depend on version.c
12452
12453 * expr.h (insn_gen_function): Reenable prototype.
12454
12455 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
12456 first parameter.
12457
12458 Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
12459
12460 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
12461
12462 Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
12463
12464 * version.c: Bump for latest snapshot.
12465
12466 * bc-optab.c: Conditionally include stdlib.h.
12467 (free): Provide a declaration if NEED_DECLARATION_FREE.
12468 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
12469 * rtl.h (free): Remove declaration.
12470 * tree.h (free): Remvoe declaration.
12471
12472 * configure: Rebuilt.
12473
12474 Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
12475
12476 * flags.h (flag_move_all_movables): Declare.
12477 (flag_reduce_all_givs): Likewise.
12478 * loop.c (move_movables): Handle flag_move_all_movables.
12479 (strength_reduce): Handle flag_reduce_all_givs.
12480 * toplev.c (flag_move_all_movables): Define.
12481 (flag_reduce_all_givs): Likewise.
12482 (f_options): Add -fmove-all-movables and -freduce-all-givs.
12483 * invoke.texi: Document new options, including alias stuff that
12484 wasn't included last time.
12485
12486 Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
12487
12488 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
12489 * t-mn10200: Ditto.
12490 * t-vxsparc: Ditto.
12491 * t-vxworks68: Ditto.
12492 * t-vxworks960: Ditto.
12493 * t-vx29k: Ditto.
12494
12495 Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
12496
12497 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
12498 if not already defined, and USE_C_ALLOCA not defined.
12499
12500 Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
12501
12502 * config.guess: Replace with script that uses ../config.guess.
12503
12504 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
12505 if USE_GNULIBC_1 is not defined.
12506
12507 Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
12508
12509 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
12510 * config.guess: Recognize alpha-linux-gnulibc1.
12511 * configure.in (alpha-*-linux-gnulibc1): New target.
12512 (alpha-*-linux-gnu*): Don't build crtbegin/end.
12513
12514 Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
12515
12516 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
12517 last change.
12518
12519 Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
12520
12521 * loop.c (combine_movables): Earlier insns don't match later ones.
12522
12523 Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12524
12525 * config/linux.h (CC1_SPEC): Define it only if not defined.
12526
12527 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
12528 <linux.h>
12529
12530 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
12531 USE_GNULIBC_1 is not defined.
12532
12533 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
12534
12535 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
12536 as 1 if USE_GNULIBC_1 is not defined.
12537
12538 Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
12539
12540 * reorg.c (dbr_schedule): Allow current_function_return_rtx
12541 to be something other than a REG.
12542 * function.c (expand_function_end): Fix current_function_return_rtx
12543 if it was a pseudo.
12544
12545 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
12546 * x-netbsd: Likewise
12547 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
12548 (INSTALL_HEADERS): Delete.
12549 * x-dguxbcs: Likewise.
12550 * x-hp3bsd44: Likewise
12551 * x-pa: Likewise.
12552
12553 Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
12554
12555 * i386.md (pop): pop increments the stack pointer.
12556 (prologue_set_stack_ptr): New pattern.
12557 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
12558 instead of subsi3.
12559
12560 Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
12561
12562 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
12563 address where an offsettable address is required.
12564
12565 Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
12566
12567 * loop.c (check_final_value): Don't miss a biv increment in a
12568 parallel.
12569
12570 Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
12571
12572 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
12573 TYPE_DECL_IS_STUB instead of DECL_NAME.
12574
12575 Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12576
12577 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
12578
12579 Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
12580
12581 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
12582
12583 Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
12584
12585 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
12586 (find_post_sched_live): Likewise.
12587
12588 * haifa-sched.c (schedule_block): Remove old code to get arguments
12589 from hard regs into pseudos early.
12590
12591 Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
12592
12593 * version.c: Bump for new snapshot.
12594
12595 * local-alloc.c (update_equiv_regs): All the target to reject
12596 promotion of some REG_EQUAL to REG_EQUIV notes.
12597 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
12598
12599 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
12600 secondary reloads.
12601
12602 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
12603 store of the argument registers.
12604
12605 Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
12606
12607 * fold-const.c (multiple_of_p): New function.
12608 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
12609
12610 Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
12611
12612 * expr.h (insn_gen_function): Temporarily remove prototype.
12613
12614 Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
12615
12616 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
12617 filenames. Use sed to extract base filename for install.
12618
12619 Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
12620
12621 * unroll.c (find_splittable_givs): Only share if two givs have the
12622 same add and multiply values.
12623
12624 Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
12625
12626 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
12627 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
12628
12629 Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
12630
12631 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
12632 around branch tables.
12633 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
12634 and .end_brtab directives if TARGET_GAS.
12635
12636 Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
12637
12638 * alias.c (true_dependence): Pass x_addr not x to varies.
12639
12640 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
12641 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
12642 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
12643 declarations.
12644 * config.in, configure: Regenerate.
12645
12646 Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
12647
12648 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
12649 LO_SUM.
12650 (record_set): Handle LO_SUM like PLUS.
12651 (init_alias_analysis): When following chains of base addresses,
12652 do not stop on reaching a hard register.
12653
12654 Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
12655
12656 * version.c: Bump for new snapshot.
12657
12658 Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
12659
12660 * alpha.h (ARCH_ASM_FILE_START): Define.
12661 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
12662 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
12663
12664 Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
12665
12666 * Makefile.in (install-common): Put gcov comment at start of line.
12667
12668 Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
12669
12670 * alias.c (init_alias_analysis): When simplifying the reg_base_value
12671 array, simplify entries for hard registers too.
12672
12673 Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
12674
12675 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
12676 list.
12677
12678 Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
12679
12680 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
12681 block_stack before dereferencing it.
12682
12683 Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
12684
12685 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
12686
12687 Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
12688
12689 * cplus-dem.c: Add 'extern' to prepends_underscore.
12690
12691 Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
12692
12693 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
12694 (get_issue_rate): Delete.
12695 * pa.h (ISSUE_RATE): Define.
12696
12697 * configure.in: Turn on haifa by default for the PA.
12698 * configure: Rebuilt.
12699 * pa.c (override_options): Accept -mschedule=7200 option.
12700 (pa_adjust_cost): No longer need to scale costs for newer
12701 processors.
12702 * pa.h (enum processor_type): Add PROCESSOR_7200.
12703 * pa.md: Revamp scheduling parameters to work better with
12704 haifa. Add scheduling parameters for the 7200.
12705
12706 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
12707 insns too.
12708 (schedule_block): When adjusting basic_block_{head,end}, account
12709 for movement of SCHED_GROUP_P insns too.
12710
12711 * haifa-sched.c (debug_dependencies): Fix thinko.
12712
12713 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
12714 (site.exp, check, check-g++, check-gcc): New targets.
12715
12716 * haifa-sched.c: Make lots of variables static.
12717
12718 Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12719
12720 * expr.h, real.h: Finish prototyping.
12721
12722 Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
12723
12724 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
12725 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
12726 * reload1.c: Undo bugfix from Aug 11.
12727
12728 Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
12729
12730 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
12731 quotes around the name.
12732 * configure: Regenerate.
12733
12734 Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
12735
12736 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
12737
12738 Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
12739
12740 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
12741 to sub-makes to avoid building more passes than the user might have
12742 requested on the command line.
12743
12744 Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
12745
12746 * configure.in: Expurgate `broken_install' (install is
12747 autoconfed).
12748
12749 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
12750 relevant).
12751
12752 Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
12753
12754 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
12755 functions and declarations.
12756 (analyze_loop_iterations): Use condjump_p.
12757 (insert_bct): Likewise. Use exact_log2.
12758
12759 Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
12760
12761 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
12762 (schedule_region): Likewise.
12763 (schedule_insns): Likewise.
12764
12765 * PROJECTS: Update with Haifa stuff.
12766
12767 Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
12768
12769 * version.c: Change the version string to look like:
12770 egcs-2.90.00 970814 (gcc2-970802 experimental).
12771
12772 * loop.c (is_conditional_branch): Make definition match declaration.
12773
12774 * gcc.c: Take out experimental snapshot warning message.
12775
12776 Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
12777
12778 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
12779 print out the names of the notes. Print out the name of the insn
12780 that is not a note, and not an {,CALL_,JUMP_}INSN.
12781
12782 Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
12783
12784 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
12785 again for the slot after we give it RTL.
12786
12787 Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
12788
12789 * configure.in (haifa configury): Fix typo.
12790 * configure: Regenerate.
12791
12792 Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
12793
12794 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
12795
12796 * gcc.info*: Rebuilt.
12797
12798 * COPYING.g77, README.g77: New files.
12799 * real.c (ereal_unto_float, ereal_unto_double): New functions.
12800 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
12801 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
12802
12803 Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
12804
12805 * Integrate Haifa instruction scheduler.
12806 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
12807 to sched with $(SCHED_CFLAGS.
12808 * configure.in: Handle --enable-haifa.
12809 * configure: Rebuilt.
12810 * flags.h: Add new flags for haifa instruction scheduler.
12811 * genattrtab.c (expand_units): For haifa, don't subtract one
12812 when computing blockage.
12813 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
12814 (flag_schedule_speculative): Ditto.
12815 (flag_schedule_speculative_load): Ditto.
12816 (flag_schedule_speculative_load_dangerous): Ditto.
12817 (flag_schedule_reverse_before_reload): Ditto.
12818 (flag_schedule_reverse_after_reload): Ditto.
12819 (flag_branch_on_count_reg): Ditto.
12820 (f_options): Add Haifa switches.
12821 (main): Turn off some Haifa options if appropriate macro is
12822 defined. Process Haifa switches.
12823 * unroll.c (iteration_info): No longer static, since Haifa
12824 scheduler uses it.
12825 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
12826 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
12827 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
12828 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
12829 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
12830 storage for the Haifa scheduler.
12831 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
12832 LABEL_NEXTREF.
12833 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
12834 are defined, call analyze_loop_iterations and insert_bct to use
12835 countdown loops.
12836 (record_giv): Refine test for jumps out of loops if HAIFA is
12837 defined.
12838 (analyze_loop_iterations): New function to identify if we can use
12839 a countdown loop.
12840 (insert_bct): Insert countdown loop.
12841 (instrument_loop_bct): Low level code to insert countdown loop.
12842 (loop_number): Calculate UID of loop.
12843 (indirect_jump_in_function_p): Return true if an indirect jump is
12844 in the function.
12845 (is_power_of_2): Return true if value is a power of 2.
12846 (is_conditional_branch): Return true if insn is a conditional
12847 jump.
12848 (fix_bct_param): Process -fbct-{min,max}-N switches.
12849 (check_bct_param): Return true if loop should be instrumented.
12850 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
12851 (loop_optimize): Initialize.
12852 (get_condition_for_loop): Ditto.
12853 * loop.c (strength_reduce): Inside of code that uses #ifdef
12854 HAVE_decrement_and_branch_on_count code, test it to make sure the
12855 condition is true.
12856 (instrument_loop_bct): Ditto.
12857 * haifa-sched.c: New file.
12858
12859
12860 * Integrate regmove pass.
12861 * Makefile.in (OBJS): Add regmove.o
12862 (regmove.o): Add dependencies.
12863 * flow.c (find_use_as_address): No longer static.
12864 * rtl.h (find_use_as_address): Declare.
12865 * toplev.c (regmove_dump, flag_regmove): Define.
12866 (f_options): Add -fregmove.
12867 (regmove_dump_file, regmove_time): Define.
12868 (fatal_insn): Close the regmove dump file.
12869 (compile_file): Initialize regmove_time; open/close the regmove dump
12870 file as needed. Print regmove time as needed.
12871 (rest_of_compilation): Run regmove pass if requested, dump
12872 RTL after regmove if requested.
12873 (main): If -O2 or more, turn on regmove. Handle dump switches.
12874 * regmove.c: New file.
12875
12876 Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
12877
12878 * Integrate tlink patch from jason@cygnus.com
12879 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
12880 (process_command): Increment n_switches for them. Don't discard
12881 their args. Validate them.
12882 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
12883 From Rohan Lenard.
12884 (process_command): Set include_prefixes from COMPILER_PATH.
12885 (main): Set COLLECT_GCC_OPTIONS sooner.
12886 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
12887 * tlink.c, hash.c, hash.h: New files.
12888 * Makefile.in (USE_COLLECT2): Always use collect2.
12889 (collect2): Depend on and link in hash.o and tlink.o.
12890 (tlink.o, hash.o): Add dependencies.
12891
12892 Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
12893
12894 * Integrate alias analysis changes from jfc@mit.edu
12895 * Makefile.in (OBJS): Add alias.o
12896 (alias.o): Add dependencies.
12897 * alias.c: New file.
12898 * sched.c: Remove alias analysis code. It lives in alias.c now.
12899 (sched_analyze_2): Add new arguments to true_dependence.
12900 (schedule_insns): Always call init_alias_analysis.
12901 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
12902 mark return value from such functions as a pointer and keep track of
12903 them for alias analysis. If a return value from a function is a
12904 pointer, mark it as such.
12905 * combine.c (distribute_notes): Handle REG_NOALIAS.
12906 * cse.c (struct write_data): Delete. No longer needed.
12907 (invalidate): Don't call set_nonvarying_address_components anymore.
12908 Use true_dependence to decide if an entry should be removed from
12909 the hash table.
12910 (invalidate_memory): Remove WRITES argument, simplify appropriately.
12911 Fix all callers.
12912 (note_mem_written): Similarly for WRITE_PTR argument.
12913 (invalidate_from_clobbers): Similarly for W argument.
12914 (invalidate_for_call): Remove memory elements from the hash table.
12915 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
12916 (cse_rtx_varies_p): New function. Derived from old
12917 cse_rtx_addr_varies_p.
12918 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
12919 Don't call note_mem_written anymore. Stack pushes invalidate the stack
12920 pointer if PUSH_ROUNDING is defined. No longer need to call
12921 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
12922 (skipped_writes_memory): Remove variable.
12923 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
12924 (invalidate_skipped_block): Simplify for new alias analysis code.
12925 (cse_set_around_loop): Likewise.
12926 (cse_main): Call init_alias_analysis.
12927 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
12928 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
12929 (f_options): Add new alias checking arguments.
12930 (main): Set flag_alias_check when optimizing.
12931 * local_alloc (validate_equiv_mem_from_store): Add new arguments
12932 to true_dependence.
12933 (memref_referenced_p): Likewise.
12934 * loop.c (NUM_STORES): Increase to 30.
12935 (prescan_loop): Only non-constant calls set unknown_address_altered.
12936 (invariant_p): Add new arguments to true_dependence.
12937 (record_giv): Initialize unrolled and shared fields.
12938 (emit_iv_add_mult): Call record_base_value as needed.
12939 * loop.h (struct induction): Add unrolled and shared fields.
12940 * unroll.c (unroll_loop): Call record_base_value as needed.
12941 (copy_loop_body): Likewise.
12942 (final_biv_value): Likewise.
12943 (final_giv_value): Likewise.
12944 (find_splittable_regs): Likewise. Only create one new pseudo
12945 if we have multiple address GIVs that were combined with the same
12946 dst_reg GIV. Note when a new register is created due to unrolling.
12947 * rtl.c (reg_note_name): Add REG_NOALIAS.
12948 * rtl.h (enum reg_note): Similarly.
12949 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
12950 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
12951 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
12952 (true_dependence, read_dependence, anti_dependence): Likewise.
12953 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
12954 (mark_user_reg, mark_reg_pointer): Likewise.
12955
12956
12957 * Integrate reload bugfix from Wilon which enables the PA port
12958 to bootstrap again.
12959 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
12960 OPERAND_ADDRESS when computing how many registers an insn needs.
12961 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
12962 conflict.
12963 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
12964 OPADDR_ADDR reload.
12965 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
12966 in reload_reg_use_in_op_addr do not reach the end.
12967 do not reach the end.
12968 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
12969 RELOAD_FOR_OPERAND_ADDRESS.
12970
12971 Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
12972
12973 * egcs project officially starts.
12974
12975 Local Variables:
12976 add-log-time-format: current-time-string
12977 End:
This page took 0.589442 seconds and 5 git commands to generate.