]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
Bump for snapshot
[gcc.git] / gcc / ChangeLog
1 Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
2
3 * version.c: Bump for snapshot.
4
5 Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
6
7 * version.c: Bump for snapshot.
8
9 Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
10
11 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
12 if condition code of jump conflicts with opposite_needed.
13
14 * reorg.c (fill_slots_from_thread): Mark resources referenced in
15 opposite_needed thread. Return delay_list even when cannot get
16 any more delay insns from end of subroutine.
17
18 Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
19
20 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
21 All callers changed.
22
23 Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
24
25 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
26 end_fde_sort): New functions for fast sorting of an FDE array.
27 (fde_insert): Simplified.
28 (add_fdes): Change argument list.
29 (frame_init): Use the new functions.
30
31 Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
32
33 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
34
35 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
36
37 * fold-const.c (fold_range_test): Always return a value.
38
39 Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
40
41 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
42 data in the text section unless READONLY_DATA_SECTION is defined.
43
44 Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
45
46 * c-parse.in (undeclared variable error): Tweak error message to
47 be clearer.
48
49 Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
50
51 * version.c: Bump for snapshot.
52
53 1998-02-28 Mark Mitchell <mmitchell@usa.net>
54
55 * final.c (final_scan_insn): Undo overzealous removal of `set'.
56
57 Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
58
59 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
60 case, add parentheses to specify the proper order of precedence in
61 the if-statement.
62
63
64 * c-aux-info.c: Include string.h/strings.h.
65
66 * pa.c: Include stdlib.h.
67 (pa_combine_instructions): Prototype the function.
68 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
69 (reloc_needed): Add default case for enumeration switch.
70 (remove_useless_addtr_insns): Remove unused variable `all'.
71 (hppa_expand_prologue): Add explicit braces to avoid
72 ambiguous `else'.
73 (output_function_epilogue): Remove unused variable `i'.
74 (output_millicode_call): Remove unused variable `link'.
75 (shadd_constant_p, forward_branch_p): Make the function static.
76 (following_call): Explicitly declare to return int.
77 (pa_reorg): Declare as void.
78 (pa_combine_instructions): Declare as static void. Add
79 parentheses around && within ||.
80
81 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
82 following_call, function_label_operand, lhs_lshift_cint_operand
83 and zdepi_cint_p.
84
85 * pa.md: Add parentheses around && within ||.
86
87 * cppalloc.c: Include stdlib.h.
88
89 * cpperror.c (cpp_print_containing_files): Remove unused variable
90 `i'. Fix format specifier in fprintf.
91
92 * cse.c (cse_around_loop): Add explicit braces to avoid
93 ambiguous `else'.
94 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
95
96 * expr.c (expand_expr): Add parentheses around && within ||.
97
98 * final.c (app_enable): Replace fprintf with fputs where there are
99 no format specifiers and no trailing argument after the string.
100 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
101 (app_disable): Likewise.
102 (final_end_function): Likewise.
103 (final_scan_insn): Likewise. Remove unused variable `set'.
104 (profile_function): Wrap empty if-statement body in {} brackets.
105
106 * function.c: Include stdlib.h.
107 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
108 (reposition_prologue_and_epilogue_notes): Add parentheses
109 around assignment used as truth value.
110
111 * integrate.c (expand_inline_function): Wrap variable
112 `cc0_insn' in macro HAVE_cc0.
113
114 * jump.c (jump_optimize): Wrap variable `q' in macro
115 HAVE_cc0. Remove unused variable `prev1'.
116
117 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
118 within ||. Fix format specifier in fprintf.
119 (__bb_init_prg): Add parentheses around assignment used as
120 truth value.
121
122 * local-alloc.c: Include stdlib.h.
123 (requires_inout): Add parentheses around assignment used
124 as truth value.
125
126 * loop.c (analyze_loop_iterations): Wrap prototype and definition
127 in macro HAVE_decrement_and_branch_on_count.
128 (insert_bct, instrument_loop_bct): Likewise.
129 (move_movables): Add parentheses around assignment used as
130 truth value.
131 (consec_sets_invariant_p): Likewise.
132 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
133
134 * objc/objc-act.c: Include stdlib.h.
135 (lookup_method_in_protocol_list): Wrap empty else-statement body
136 in braces.
137 (lookup_protocol_in_reflist): Likewise.
138 (objc_add_static_instance): Remove unused variables `decl_expr'
139 and `decl_spec'.
140 (get_objc_string_decl): Remove unused variable `decl'.
141 (generate_static_references): Remove unused variables `idecl' and
142 `instance'.
143 (check_protocols): Wrap empty else-statement body in braces.
144
145 * protoize.c: Include stdlib.h.
146 (substr): Add parentheses around assignment used as truth value.
147 (abspath): Likewise.
148 (shortpath): Likewise.
149
150 * regmove.c (fixup_match_1): Add parentheses around assignment
151 used as truth value.
152
153 * reload.c (push_secondary_reload): Remove unused variable `i'.
154 (find_reloads): Add parentheses around assignment used as truth
155 value.
156
157 * reload1.c: Include stdlib.h.
158
159 * rtl.h: Correct typo in prototype of offsettable_memref_p.
160
161 * stmt.c (add_case_node): Add parentheses around assignment used
162 as truth value.
163 (case_tree2list): Likewise.
164
165 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
166 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
167 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
168 (merge_attributes): Add explicit braces to avoid ambiguous
169 `else'.
170
171 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
172 macro HAVE_cc0.
173
174 * varasm.c: Include stdlib.h.
175
176
177 * system.h: Remove sys/stat.h.
178 * gcc.c: Add sys/stat.h.
179
180 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
181 * genattrtab.c: Likewise.
182 * genconfig.c: Likewise.
183 * genemit.c: Likewise.
184 * genextract.c: Likewise.
185 * genflags.c: Likewise.
186 * genopinit.c: Likewise.
187 * genoutput.c: Likewise.
188 * genpeep.c: Likewise.
189 * genrecog.c: Likewise.
190 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
191
192 Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
193
194 * invoke.texi: Use @itemx for a secondary item in a @table.
195
196 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
197 zero.
198
199 1998-02-26 Ken Raeburn <raeburn@cygnus.com>
200
201 * regclass.c (init_reg_sets): Move init of move cost tables...
202 (init_reg_sets_1): ...to here.
203
204 Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
205
206 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
207
208 Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
209
210 * i386.c (struct machine_function): Add new fields for PIC stuff.
211 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
212 and pic_label_name.
213 (restore_386_machine_status): Corresponding changes.
214 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
215
216 Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
217
218 * c-parse.y (undeclared variable error): Tweak error message
219 to be clearer.
220
221 Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
222
223 * flags.h (g_switch_value, g_switch_set): Declare.
224 * alpha.c (override_options): Set g_switch_value=8 if not set.
225 * alpha/elf.h (CC1_SPEC): New.
226 (ASM_SPEC): New.
227 (LINK_SPEC): Pass along the -G value we were given.
228 (LOCAL_ASM_OP): Remove.
229 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
230 (MAX_OFILE_ALIGNMENT): New.
231 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
232 (EXTRA_SECTIONS): Add sbss and sdata.
233 (SECTION_FUNCTION_TEMPLATE): New.
234 (EXTRA_SECTION_FUNCTIONS): Use it.
235 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
236 (SELECT_SECTION): Use sdata when small enough.
237 * alpha/linux.h (ASM_SPEC): Remove.
238
239
240 Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
241 * config.sub (sco5): Fix typo.
242
243 Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
244
245 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
246 set to empty.
247 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
248 * config/alpha/t-linux: Remove file.
249 * config/sparc/t-linux: Remove file.
250 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
251 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
252 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
253 for tmake_file.
254 (alpha*-*-linux-gnu*): Likewise.
255 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
256 (sparc-*-linux-gnu*): Likewise.
257
258 Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
259 * collect2.c (ldd_file_name): Bracket declaration with same
260 manifests as use.
261 (full_real_ld_suffix): Deleted. Variable was calloced and
262 written into, but never read.
263
264 1998-02-23 Mike Stump <mrs@wrs.com>
265
266 * configure.in: Add support for i386-wrs-vxworks configuration.
267 * i386/vxi386.h: New file.
268
269 Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
270
271 * tree.c (contains_placeholder_p): Ensure function always returns
272 a value.
273 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
274 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
275
276 Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
277
278 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
279
280 1998-02-22 Paul Eggert <eggert@twinsun.com>
281
282 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
283 Define this new symbol.
284 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
285 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
286 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
287
288 Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
289
290 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
291 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
292
293 Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
294
295 * objc/Object.m (-error): Call objc_verror with our va_list.
296
297 Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
298
299 * collect2.c (scan_prog_file): Completely cover uses of variable
300 `exports' with macro COLLECT_EXPORT_LIST.
301
302 Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
303
304 * version.c: Bump for snapshot.
305
306 Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
307
308 * sched.c (schedule_block): Remove code to get arguments from hard
309 regs into pseudos early. Same as Aug 25, 1997 change to
310 haifa-sched.c.
311
312 1998-02-20 Jason Merrill <jason@yorick.cygnus.com>
313
314 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
315
316 Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
317
318 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
319 continuation character (line 243).
320
321 Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
322
323 * genrecog.c (main): Remove duplicated sentence in emitted comment.
324
325 Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
326 David Edelsohn <edelsohn@mhpcc.edu>
327
328 * collect2.c (XCOFF_SCAN_LIBS): Remove.
329 (export_flag): New variable.
330 (export_file): #ifdef COLLECT_EXPORT_LIST.
331 (import_file, exports, imports, undefined): New variables.
332 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
333 (dump_list, dump_prefix_list, is_in_list): New functions.
334 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
335 (write_import_file, resolve_lib_name): New functions.
336 (use_import_list, ignore_library): Same.
337 (collect_exit): maybe_unlink import_file and #ifdef.
338 (handler): Same.
339 (main): New variable importf, #ifdef exportf. Move parsing of
340 -shared before general argument parsing. Resolve AIX library
341 paths and import libgcc.a symbols. Treat .so shared libraries the
342 same as objects and .a libraries. Create alias for object_lst and
343 increment it instead of original pointer. Scan AIX libraries as
344 objects earlier instead of using scan_libraries. Perform AIX
345 tlink later to resolve templates instead of forking ld.
346 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
347 (GCC_UNDEF_SYMBOL): New macro.
348 (scan_prog_file): Loop for members of AIX libraries. Handle
349 export/import of ctors/dtors.
350 (aix_std_libs): New variable.
351 (scan_libraries, XCOFF): Delete.
352
353 Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
354
355 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
356
357 1998-02-19 Mike Stump <mrs@wrs.com>
358
359 * Makefile.in: Use $tooldir for sys-include to match toplevel
360 configure.
361
362 Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
363 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
364
365 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
366
367 * emit-rtl.c (hard-reg-set.h): Include.
368 (get_lowpart_common): Don't make new REG for hard reg in a
369 class that cannot change size.
370 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
371
372 * combine.c: Revert previous patch.
373
374 1998-02-19 Paul Eggert <eggert@twinsun.com>
375
376 * config/sparc/sol2-sld.h: New file.
377 * configure.in (sparc-*-solaris2*): Use it when using the
378 system linker.
379
380 Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
381
382 * loop.c (force_movables): Fix typo.
383
384 Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
385
386 * m88k.h: Change file pattern to match reality.
387
388 Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
389
390 * varasm.c (output_constant_pool): Fix dumb thinko in last
391 change.
392
393 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
394 a function name to a section name.
395
396 1998-02-18 Doug Evans <devans@cygnus.com>
397
398 * tree.h (merge_machine_{type,decl}_attributes): Declare.
399 (split_specs_attrs, strip_attrs): Add prototypes.
400 * tree.c (merge_machine_{type,decl}_attributes): New functions.
401 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
402 Update olddecl's attributes too.
403 * c-common.c (strip_attrs): New function.
404 * c-typeck.c (common_type): Call merge_machine_type_attributes.
405 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
406 (make_decl_rtl): Likewise.
407
408 1998-02-18 Jim Wilson <wilson@cygnus.com>
409
410 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
411
412 Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
413
414 Remove this change until we can fix it correctly.
415 * collect2.c: Bracket declaration of 'exportf' and
416 'full_real_ld_suffix'.
417
418 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
419
420 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
421
422 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
423
424 * c-common.c (c_expand_start_cond, c_expand_end_cond,
425 c_expand_start_else): Don't warn about non-ambiguous else even if
426 braces are missing.
427
428 Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
429
430 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
431 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
432 instead.
433
434 Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
435
436 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
437 simplifying a subreg of a hard reg.
438 (expand_compound_operation): Likewise.
439 (force_to_mode): Likewise.
440
441 Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
442
443 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
444 (lshift_double): Add parentheses around + or - inside shift.
445 (rshift_double): Likewise.
446 (size_int_wide): Explicitly set type of `bit_p' to `int'.
447
448 * Makefile.in (fold-const.o): Depend on system.h.
449
450 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
451 change to gcc.c.
452
453 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
454 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
455 (sched_note_set): Remove unused parameter `b', all callers changed.
456 (schedule_block): Likewise for `rgn'.
457 (split_hard_reg_notes): Likewise for `orig_insn'.
458 (check_live): Likewise for `trg'.
459 (update_live): Likewise.
460 (check_live_1): Explcitly declare variable `i' as int.
461 (update_live_1): Likewise.
462 (insn_issue_delay): Remove unused variable `link'.
463 (sched_analyze_2): Add default case in enumeration switch.
464 (schedule_insns): Remove unused variable `i'.
465
466 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
467
468 Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
469
470 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
471 a dangling else clause.
472
473 Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
474
475 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
476 pointer for the stack pointer in MIPS16 and 64BIT.
477
478 Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
479
480 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
481 * emit-rtl.c (force_line_numbers, restore_line_number_status):
482 New functions.
483 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
484 (expand_start_case): Adjust to this change.
485 (check_seenlabel): New function.
486 (pushcase, pushcase_range, expand_endcase): Use it.
487
488 Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
489
490 * i386.md (adddi3): Add =!r,0,0,X alternative.
491
492 Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
493
494 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
495 * x-aix31 (INSTALL): Delete.
496
497 Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
498
499 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
500 tsize changes to something other than zero.
501
502 Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
503
504 * ginclude/va-mips.h: Replace casts of pointers to int with
505 casts of pointers to __PTRDIFF_TYPE__.
506
507 Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
508
509 * loop.c (strength_reduce, record_biv, record_giv): Use
510 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
511
512 1998-02-16 Jason Merrill <jason@yorick.cygnus.com>
513
514 * tree.c (first_rtl_op): New fn.
515 (unsave_expr_now): Use it.
516 * print-tree.c (print_node): Likewise.
517 * tree.c (has_cleanups): New fn.
518 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
519 conservative about pushing the cleanup point down.
520 * tree.h: Declare them.
521
522 Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
523
524 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
525 (flag_schedule_reverse_after_reload): Likewise.
526 (f_options): Remove reverse scheduling support.
527 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
528 (flag_schedule_reverse_after_reload): Likewise.
529 * haifa-sched.c (rank_for_schedule): Remove support for reverse
530 scheduling.
531
532 Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
533
534 * gcc.c: Get system includes, prototypes and macros via "system.h"
535 instead of doing it manually. Change all calls of the ctype
536 macros to custom versions defined in "system.h".
537
538 * system.h: Fix return type of bcmp prototype from `void' to `int'.
539 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
540 Add a prototype for getenv.
541
542 Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
543
544 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
545
546 Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
547
548 * alias.c: Include <stdlib.h> and <string.h>.
549 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
550
551 Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
552
553 * version.c: Bump for snapshot.
554
555 Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
556
557 * arm.md (movsfcc): Also validate operands[3] when compiling hard
558 float.
559 (movdfcc): Only accept fpu_add_operand for operands[3].
560
561 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
562 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
563
564 Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
565
566 * varasm.c (output_constant_pool): Bring back 'done' label inside
567 an appropriate #ifdef.
568
569 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
570 appropriate #ifdef.
571 (bitmap_copy, bitmap_operation): Likewise.
572 * combine.c (combinable_i3pat): Similarly for 'src'.
573 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
574 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
575 * regclass.c (copy_cost): Similarly for 'secondary_class'.
576 * reload.c (make_memloc): Simliarly for 'i'.
577 (find_reloads_address_1): Similarly for 'link'.
578 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
579 (emit_reload_insns): Similarly for 'second_reloadreg'.
580 * unroll.c (iteration_info): Similarly for 'v'.
581
582 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
583 * calls.c (expand_call): Similarly for 'i'.
584 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
585 * fold-const.c (strip_compund_expr): Similarly for 'type'.
586 * function.c (fixup_var_refs_1): Similarly for 'width'.
587 (fixup_memory_subreg): Similarly for 'saved'.
588 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
589 (setjmp_protect): Similarly for 'sub'.
590 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
591 * loop.c (record_giv): Similarly for 'p'.
592 (combine_givs): Similarly for 'temp_iv'.
593 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
594 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
595 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
596 * unroll.c (unroll_loop): Similarly for 'copy'.
597 (iteration_info): Similarly for 'b'.
598 * varasm.c (assemble_string): Similarly for 'i'.
599 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
600
601 Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
602
603 * dwarf2out.c (decl_scope_node): New type.
604 (decl_scope_table): Change type to use it.
605 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
606 (push_decl_scope): Use new type. New locals containing_scope, i.
607 Add code to handle setting previous field.
608 (scope_die_for): Change type of local i to int. Add code to use
609 previous field.
610 (dwarf2out_init): Use new type.
611
612 1998-02-13 Jason Merrill <jason@yorick.cygnus.com>
613
614 * except.c (emit_throw): Lose throw_used.
615
616 Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
617
618 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
619 was deleted.
620 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
621
622 Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
623
624 * genextract.c (main): Fix typo.
625
626 Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
627
628 * c-lang.c (finish_file): Bracket declaration of static_ctors,
629 static_dtors.
630
631 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
632 'old_stack_arg_under_construction'
633 (emit_library_call): Bracket declaration of 'upper_bound',
634 'lower_bound', 'i', 'reg_parm_stack_space'
635 (emit_library_call_value): Likewise.
636 (store_one_arg):
637
638 * collect2.c: include <unistd.h> when appropriate.
639 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
640
641 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
642
643 * explow.c (plus_constant_for_output_wide): Remove unused variable
644 'code'.
645 (memory_address): Remove unused variable 'orig_x'.
646
647 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
648 (write_const_num_delay_slots): Remove unused variable 'i'.
649
650 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
651 (gen_insn): Remove unused variable 'obstack_ptr'.
652
653 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
654 'j', 'tmp', 'i'.
655 (__bb_exit_trace_func): Remove unused variable 'e'.
656
657 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
658 'funexp'.
659 (expand_unop): Remove unused variable 'funexp'.
660 (expand_complex_abs): Remove unused variable 'funexp'.
661 (init_optabs): Bracket declaration of 'j'.
662 (init_complex_libfuncs): Deleted. Dead static function.
663
664 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
665
666 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
667 (reg_to_stack): 'initialized', 'before_function_beg'
668 explictly type as ints instead of defaulting.
669 (emit_swap_insn): Remove unused variable 'i2'.
670 (compare_for_stack_reg): Remove unused variable 'src_note'.
671
672 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
673
674 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
675
676 * stmt.c (add_case_node): Add parens for assignment used as truth.
677 (all_cases_count): Remove unused variable 'count_high'.
678 (mark_seen_cases): Remove unused variable 'i'.
679 (check_for_full_enumeration_handling): Remove unused variable 't'.
680 Bracket declaration of 'all_values', 'l'.
681
682 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
683
684 * varasm.c (assemble_string): Remove unused variable 'i'.
685 (immed_double_const): Remove unused variable 'in_current_obstack'.
686 (immed_real_const_1): Likewise.
687 (output_constant_pool): Remove unreferenced label 'done'.
688 (output_constant): Remove unused variable 'x'.
689
690 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
691 a string.
692
693 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
694 as truth.
695
696 Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
697
698 * combine.c (can_combine_p): Handle USEs in PARALLELs.
699
700 Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
701
702 * config/linux.h (LIB_SPEC): Add -lc for -shared if
703 USE_GNULIBC_1 is not defined.
704 * config/sparc/linux.h; Ditto.
705
706 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
707
708 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
709 USE_GNULIBC_1 is not defined.
710
711 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
712
713 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
714 for -mcall-linux
715
716 Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
717
718 * system.h: New file to get common systems includes and various
719 definitions and declarations based on autoconf macros.
720
721 Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
722
723 * cccp.c (new_include_prefix): Correctly handle -I./.
724
725 Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
726
727 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
728
729 Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
730
731 * expr.c (expand_assignment): Correct typo exposed by -Wall.
732 offset should have been a truth value, not an assignment.
733
734 Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
735
736 * cse.c (delete_dead_from_cse): If a libcall produces a constant
737 result and that result can be substituted into SET_SRC of the
738 insn with the REG_RETVAL note, then perform the substitution
739 and delete the libcall.
740
741 Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
742
743 * mips.md (trucndihi2,truncdiqi2): Change these to support
744 mips16.
745
746 Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
747
748 * mips/mips.c (movdi_operand): Direct referances to symbols
749 that arn't mips16 consts in mips16 mode arn't valid operands.
750
751 * mips/mips.c (mips_move_2words): Add gprel handling.
752
753 Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
754
755 * mips.md (extendsidi2): Allow extension to/from a non-mips16
756 register.
757
758 Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
759
760 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
761 <strings.h>.
762
763 Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
764
765 * Makefile.in (WARN_CFLAGS): New variable.
766 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
767
768 1998-02-11 Mark Mitchell <mmitchell@usa.net>
769
770 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
771 falling through default case in switch.
772 (i386_aligned_p): Likewise.
773
774 Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
775
776 * mips/mips.h (mips_abi_string): Correct typo in comment.
777
778 Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
779
780 * mips/mips.md (movdi): These PLUS's need to be Pmode.
781
782 Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
783
784 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
785 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
786 indirectly via expr.h.
787
788 Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
789
790 * stor-layout.c (layout_type): Do upper - lower in the native type,
791 so as to properly handle negative indices.
792
793 Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
794
795 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
796 (expand_eh_region_start_tree): Remove unused variable 'note'.
797 (exception_optimize): Remove unused variable 'regions'.
798 (expand_builtin_eh_stub): Remove unused variable 'temp'.
799 (copy_eh_entry): Deleted. Dead function.
800
801 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
802 'last' with same #if HAVE_load_multiple as use of it.
803 (move_block_from_reg): Likewise.
804 (emit_move_insn_1): Remove unused variable 'insns'.
805 (store_constructor): Bracket declaration of startb, endb with
806 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
807 'target', and 'xtarget'.
808 (expand_builtin_setjmp): Remove unused variables 'op0',
809 'next_arg_reg', 'old_inhibit_defer_pop'.
810 (expand_builtin): Remove unused variable 'offset'.
811 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
812 (emit_queue): Add parens for assignment used as conditional.
813 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
814
815 Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
816
817 * i386.c: Added include for recog.h.
818 (override_options): Removed unused variable p. Initialized regno to
819 avoid warning.
820 (order_regs_for_local_alloc): Initialized regno to avoid warning.
821 (legitimize_address): Likewise for 'other'.
822 (i386_aligned_reg_p): Added default case with abort ().
823 (print_operand): Likewise.
824 (reg_mentioned_in_mem): Likewise.
825 (ix86_expand_binary_operator): Removed unused variables i & insn.
826 (ix86_expand_unary_operator): Removed unused variable insn.
827 (output_fp_cc0_set): Removed unused variable unordered_label.
828
829 Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
830
831 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
832 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
833 and format string match.
834
835 Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
836
837 * flow.c (life_analysis): Do not conside the stack pointer live at
838 the end of a function if the fucntio ncalls alloca.
839 (mark_used_regs): Similarly.
840
841 1998-02-10 John F Carr <jfc@mit.edu>
842
843 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
844 1, fzero on alternative 8.
845
846 Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
847
848 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
849
850 Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
851
852 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
853 SUBREGs of CONST_INTs.
854
855 Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
856
857 * mips.c (print_operand, function_prologue): Make printf format
858 match argument type.
859
860 Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
861
862 * alpha.c (alpha_return_addr): Remove unused variable `first'.
863 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
864 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
865
866 Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
867
868 * loop.c (strength_reduce): When placing increment for auto-inc
869 case, do comparison in loop order.
870
871 Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
872
873 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
874 not a HOST_WIDE_INT.
875
876 * calls.c (expand_call): Change test of expand_inline_function
877 return value to stop compiler warning.
878
879 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
880
881 Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
882 Jeff Law (law@cygnus.com)
883
884 * regmove.c: Fix various minor formatting problems.
885 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
886 is true. Make end of basic block tests consistent through regmove.c.
887 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
888 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
889
890 Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
891
892 * gansidecl.h: Check for a conflicting macro definition before
893 attempting to prototype bcopy, bcmp or bzero.
894
895 Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
896
897 * expr.c (clear_pending_stack_adjust): Handle case where a function
898 calls alloca, but the user has specified -fomit-fframe-pointer.
899
900 * function.c (assign_parms): Fix typo in last change.
901
902 Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
903
904 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
905 <fcntl.h>.
906 (free_path_suffix): Remove unreferenced static function.
907 (process_command): Remove unused variable temp.
908 (default_arg): Remove unused variable i.
909 (do_spec_1): Add parens for assignment used as truth value.
910 (main): Likewise.
911 (validate_all_switches): Likewise.
912 (main): Remove unused variables i, first_time>
913
914 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
915
916 * calls.c (expand_call): Remove unused variables funtree,
917 n_regs, and tmpmode.
918
919 * dbxout.c, except.c: Include <string.h>/<strings.h>.
920
921 * explow.c: (plus_constant_for_output_wide) Removed unused
922 variable all_constant.
923
924 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
925 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
926 genrecog.c, global.c, integrate.c , stupid.c : Include
927 <stdlib.h>.
928
929 * genextract.c: (walk_rtx) Remove unused variable link.
930
931 * genrecog.c: (concat) Remove unreferenced static function.
932
933 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
934
935 * stmt.c: Include <stdlib.h>.
936 (expand_asm_operands): Remove unused variable val1.
937 (expand_return): Remove unused variable block.
938 (pushcase): Remove unused variables l and n.
939 (pushcaserange): Likewise.
940
941 * unroll.c (unroll_loop): Remove unused variable temp.
942
943 Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
944
945 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
946
947 Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
948
949 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
950 functions for whether they support the %p format specifier.
951 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
952 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
953 * configure, config.in: Rebuild.
954
955 Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
956
957 * function.c (assign_parms): New variable named_arg, with value
958 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
959
960 Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
961
962 * mips/t-r3900: New - same as t-ecoff but eliminate
963 multilibs: mips1 and mips3.
964 * configure.in (tx39*): Use new mips/t-r3900.
965 * configure: Rebuild.
966 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
967
968 1998-02-06 Jason Merrill <jason@yorick.cygnus.com>
969
970 * dwarf2out.c: Add old_args_size.
971 (dwarf2out_args_size): Use it.
972 (dwarf2out_begin_prologue): Initialize it.
973 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
974 pushed args until we see a call.
975 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
976 before outputting them.
977
978 1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
979
980 * cplus-dem.c (demangle_template_template_parm): New function.
981 (demangle_template): Handle template template parameters.
982
983 1998-02-02 Mark Mitchell <mmitchell@usa.net>
984
985 * calls.c (expand_call): Don't confuse member functions named
986 realloc, setjmp, and so forth with the standard library
987 functions of the same names.
988
989 Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
990
991 * stmt.c (expand_asm_operands): Correctly identify asm statements
992 no output operands.
993
994 Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
995
996 * c-common.c (decl_attributes): Flag unrecognized attribute
997 functions as warnings instead of as errors.
998
999 1998-02-05 Marc Lehmann <pcg@goof.com>
1000
1001 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
1002 when -Os is specified.
1003 * toplev.c (main): Don't disable flag_inline_functions anymore when
1004 -Os is in effect.
1005
1006 Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1007
1008 * regmove.c: Update.
1009 * flags.h (flag_regmove): Declare.
1010 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
1011 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
1012 Moved into regmove; changed caller.
1013 * toplev.c (rest_of_compilation): Call regmove_optimize also for
1014 expensive_optimizations.
1015
1016 Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
1017
1018 * version.c: Bump for snapshot.
1019
1020 Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1021 Undo this change (the problem was actually in reload):
1022 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1023
1024 * sh.md (movqi_i+1): New peephole.
1025
1026 Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
1027
1028 * jump.c (jump_optimize): Lose calls to modified_in_p they are
1029 not needed anymore due to changes elsewhere in jump.c.
1030
1031 * jump.c (jump_optimize): Fix first arg to modified_in_p in
1032 previous change.
1033
1034 Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
1035
1036 * expr.c (expand_builtin_setjmp): Accept two new arguments for
1037 the labels to branch to on first and subsequent executions. Don't
1038 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
1039 and provide it with the jmp_buf. Use only one of
1040 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
1041 and provide the former with the target label.
1042 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
1043 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
1044 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
1045 insn to replace all of the normal nonlocal_goto code. Don't play
1046 with __dummy. Correct arguments to nonlocal_goto.
1047 * expr.h (expand_builtin_setjmp): Update prototype.
1048 * except.c (start_dynamic_handler): When using builtin_setjmp,
1049 generate more accurate flow information.
1050
1051 * alpha.md (nonlocal_goto_receiver_osf): Delete.
1052 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
1053 (builtin_longjmp, builtin_setjmp_receiver): New.
1054 * sparc.md (update_return): Disambiguate unspec number.
1055 (nonlocal_goto): Rearrange arguments to match caller in except.c.
1056 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
1057 jmp_buf operand.
1058 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
1059 (builtin_setjmp_setup*, builtin_longjmp): New.
1060
1061 Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
1062
1063 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
1064
1065 Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
1066
1067 * vmsconfig.com: Remove bytecode references.
1068
1069 1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1070
1071 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
1072 -fno-sjlj-exceptions works for a target that defines
1073 DWARF2_UNWIND_INFO as zero.
1074
1075 * regmove.c (fixup_match_1): Undo last change which removed some
1076 "useless" code, and add a comment explaining this.
1077
1078 Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
1079
1080 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
1081 to TARGET_LONG64.
1082
1083 Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
1084
1085 * makefile.vms: Remove bytecode references.
1086 Create genrtl files.
1087
1088 Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
1089
1090 * jump.c (jump_optimize): Allow conditional loading of floating point
1091 constants and constants from memory. Reinstalled modified_in_p tests.
1092
1093 Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1094
1095 * loop.c (get_condition): Handle sign-extended constants.
1096
1097 Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
1098
1099 * expr.c (emit_push_insn): Add code to use movstrti if present.
1100
1101 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
1102 and movstrqi as in emit_block_move ().
1103
1104 Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
1105
1106 * config/m68k/x-next: Remove /NextDeveloper/Headers from
1107 the directories to fixinclude - /usr/include is a link
1108 to it and hence its contents are fixed by default.
1109
1110 Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
1111
1112 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
1113
1114 Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
1115
1116 * cccp.c (main): Predefine __VMS_VER on VMS.
1117
1118 Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1119
1120 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
1121 * fold-const.c (size_int): Replace with
1122 (size_int_wide).
1123 (make_bit_field_ref): Use bitsize_int for bit position.
1124 * stor-layout.c (sizetype): Delete.
1125 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
1126 (layout_record, layout_union, layout_type):
1127 Use bitsize_int for bit size.
1128 (set_sizetype): New function.
1129 (make_signed_type, make_unsigned_type): Use it.
1130 * c-decl.c (init_decl_processing): Likewise.
1131 * tree.h (size_int): Don't delcare, #define.
1132 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
1133 (set_sizetype): Declare.
1134 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
1135 Define.
1136 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
1137 Convert result to sizetype.
1138 (really_start_incremental_init, push_init_level):
1139 Set type of constructor_bit_index to sbitsizetype.
1140 (push_init_level): Use unsigned arithmetic to determine padding.
1141 (output_init_element): Likewise.
1142
1143 Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
1144
1145 * combine.c (simplify_shift_const): Fix typo in last change.
1146
1147 Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
1148
1149 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
1150 is (truncate (lshiftrt)).
1151
1152 Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
1153
1154 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
1155 Make sure result winds up in TGT.
1156 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
1157 src to be other than DImode.
1158 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
1159 (alpha_expand_unaligned_store_words): Likewise.
1160 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
1161 that source and destination are separately optimized for alignment.
1162 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
1163
1164 Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
1165
1166 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
1167 with handling of -32768.
1168
1169 Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1170
1171 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
1172 shell variable argument instead of only hard coded functions.
1173 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
1174
1175 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
1176 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
1177 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
1178 declarations for bcopy, bcmp and bzero.
1179
1180 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
1181
1182 * gansidecl.h: If we have bcopy but don't declare it, then do so.
1183 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
1184 bzero, index and rindex if they aren't already present.
1185
1186 Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
1187
1188 * toplev.c (close_dump_file): Wrap function prototype for
1189 argument "func" in PROTO.
1190 (dump_rtl): Likewise.
1191
1192 Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
1193
1194 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
1195 MASK_V8PLUS.
1196 (output_function_epilogue): Omit epilogue if nothing drops through.
1197 (output_move_double): Supress int ldd usage on ultrasparc and v9.
1198 (registers_ok_for_ldd_peep): Likewise.
1199 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
1200 (ultrasparc_adjust_cost): New function.
1201 (sparc_issue_rate): New function.
1202 * sparc.h (MASK_VIS, TARGET_VIS): New
1203 (MASK_V8PLUS, TARGET_V8PLUS): New.
1204 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
1205 (TARGET_SWITCHES): Add vis and v8plus.
1206 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
1207 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
1208 (RTX_COSTS): Use TARGET_HARD_MUL
1209 (ADJUST_COST): Call ultrasparc_adjust_cost.
1210 (ISSUE_RATE): New.
1211 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
1212 of load & fp appropritely.
1213 (supersparc function units): Adjust for Haifa.
1214 (ultrasparc function units): Likewise.
1215 (get_pc_via_rdpc): All v9, not just arch64.
1216 (movdi_v8plus, movdi_v8plus+1): New.
1217 (adddi3_sp32+1): New.
1218 (subdi3_sp32+1): New.
1219 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
1220 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
1221 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
1222 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
1223 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
1224 (ldd peepholes): Suppress for v9.
1225 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
1226 (return_subsi): Revmove.
1227
1228 Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
1229
1230 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
1231 save/restore MEM rtl.
1232
1233 Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
1234
1235 * configure.in: Check for declaration of abort.
1236 * acconfig.h: Corresponding changes.
1237 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
1238 be declared.
1239
1240 Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
1241
1242 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
1243 uses it.
1244
1245 Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
1246
1247 * version.c: Bump for snapshot.
1248
1249 Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
1250
1251 * configure.in: Check for atoq and atoll.
1252 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
1253 proper routine for converting ascii into long long values.
1254
1255 Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
1256
1257 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
1258
1259 * vmsconfig.com: Remove bytecode references.
1260
1261 * alpha/vms.h (PREFIX): Define.
1262
1263 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
1264
1265 * am-alpha.h: Don't include alloca for OPEN_VMS.
1266
1267 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
1268
1269 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
1270 (GCC_INCLUDE_DIR): Define
1271
1272 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
1273 * makefile.vms: New file.
1274
1275 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
1276
1277 * alpha.c (output_prolog): Output '.name' directive
1278 for minimal traceback information.
1279
1280 * alpha.c (output_prolog): Don't prepend entry point symbols
1281 with '$' on OPEN_VMS.
1282
1283 Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
1284 Jeffrey A Law (law@cygnus.com)
1285
1286 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
1287 HOST_WIDE_INT.
1288
1289 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
1290 as needed.
1291 * genemit.c (gen_exp): Likewise.
1292 * genpeep.c (match_rtx): Likewise.
1293 * genrecog.c (write_tree_1): Likewise.
1294
1295 * c-lex.c (yyprint): Use proper format string based upon
1296 disposition of HOST_BITS_PER_WIDE_INT.
1297 (yylex): Put casts in right place for args to build_int_2.
1298
1299 Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
1300
1301 * combine.c: Fix typos in Jan27 changes.
1302
1303 Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
1304
1305 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
1306 (LINK_SPEC): Likewise.
1307 (STARTFILE_SPEC): Likewise.
1308
1309 1998-01-28 Mike Stump <mrs@wrs.com>
1310
1311 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
1312 reload completes.
1313 * genattrtab.c (reload_completed): Define.
1314
1315 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
1316 comments.
1317
1318 Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1319
1320 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
1321 SUBREG_REG if the word count is unchanged, also in the input reload
1322 case. Disable non-applicable sanity checks.
1323
1324 Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
1325
1326 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
1327
1328 Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
1329
1330 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
1331
1332 Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
1333
1334 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
1335 is a TREE_VEC before trying to use it for baseclasses.
1336 (Chill uses the same field for a different purpose.)
1337
1338 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
1339
1340 Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
1341
1342 * config.sub: More accurate determination of HP processor types.
1343
1344 Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1345
1346 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
1347 prototype for `handle_sysv_pragma', and make it static. Add
1348 parentheses around assignment used as truth value.
1349
1350 * combine.c (combine_instructions): Protect variable `prev' with
1351 macro HAVE_cc0.
1352 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
1353 (extract_left_shift): Add parentheses around operand of &.
1354 (merge_outer_ops): Avoid an empty body in an else-statement.
1355 (gen_rtx_combine): Remove unused variable `i'.
1356
1357 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
1358 function monstartup `void'. Likewise for internal_mcount. Add
1359 `static void' prototype for moncontrol. Reconcile sprintf format
1360 vs. args.
1361
1362 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
1363 Make return type of function_arg_slotno explicitly `int'.
1364 (reg_unused_after): Add parentheses around assignment used as
1365 truth value.
1366 (save_regs): Add explicit braces to avoid ambiguous `else'.
1367 (function_arg_slotno): Add parentheses around && within ||.
1368 (function_arg_pass_by_reference): Likewise.
1369 (sparc_flat_output_function_prologue): Reconcile fprintf format
1370 vs. args.
1371
1372 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
1373 assignment used as truth value.
1374
1375 * cplus-dem.c: Include <stdlib.h>.
1376 (demangle_signature): Avoid an empty body in an else-statement.
1377 (do_type): Remove unused variable `lvl'.
1378
1379 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
1380 Include <string.h>/<strings.h>.
1381 (cpp_lex): Remove unused variable `namelen'.
1382 (cpp_lex): Explicitly declare `num_chars' as an int.
1383
1384 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
1385 <unistd.h> instead. Explicitly declare is_system_include
1386 returning int.
1387 (make_assertion): Remove unused variable `kt'.
1388 (cpp_expand_to_buffer): Hide variable `obuf'.
1389 (output_line_command): Remove unused variables, `line_end',
1390 `line_cmd_buf' and `len'.
1391 (macarg): Remove unused variable `arg_start'.
1392 (special_symbol): Remove unused variable `i'. Add parentheses
1393 around assignment used as truth value.
1394 (do_include): Remove unused variables `pcfname' and `retried',
1395 hide `pcf' and `pcfbuflimit'.
1396 (do_line): Remove unused variable `i'.
1397 (finclude): Hide variable `missing_newline'.
1398 (cpp_handle_options): Remove unused variable `j'.
1399 (read_token_list): Remove unused variable `eofp'.
1400 (cpp_error_with_line): Remove unused variable `i'.
1401 (cpp_warning_with_line): Likewise.
1402 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
1403 (cpp_error_from_errno): Remove unused variable `i'.
1404
1405 * cse.c (invalidate): Add parentheses around assignment used as
1406 truth value.
1407 (find_best_addr): Move declaration of variable `our_cost' inside
1408 the conditional macro where its used.
1409 (fold_rtx): Avoid an empty body in an if-statement.
1410 (cse_insn): Wrap variables `this_insn_cc0_mode' and
1411 `this_insn_cc0' in macro HAVE_cc0.
1412
1413 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
1414 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
1415 (output_uleb128): Likewise.
1416 (output_sleb128): Likewise.
1417 (output_cfi): Likewise.
1418 (output_call_frame_info): Remove unused variables `j', `fde_size'
1419 and `fde_pad'.
1420 (comp_unit_has_inlines): Hide declaration as per rest of file.
1421 (size_of_line_prolog): Correct typo in prototype.
1422 (add_arange): Likewise.
1423 (output_aranges): Likewise.
1424 (add_name_and_src_coords_attributes): Likewise.
1425 (gen_array_type_die): Likewise.
1426 (gen_inlined_subroutine_die): Likewise.
1427 (equate_decl_number_to_die): Remove unused variable `i'.
1428 (print_die): Reconcile format vs. args in fprintf's.
1429 (print_dwarf_line_table): Likewise.
1430 (output_die): Likewise.
1431 (output_line_info): Likewise.
1432 (add_subscript_info): Avoid an empty body in an else-statement.
1433 (gen_subprogram_die): Remove unused variable `fp_loc'.
1434
1435 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
1436 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
1437 macro. Protect `src_coords_attribute' prototype with
1438 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
1439 prototype as in the rest of the file. Likewise for
1440 `output_pointer_type_die' and `output_reference_type_die'. Remove
1441 prototype for `type_of_for_scope'.
1442 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
1443 (type_attribute): Add explicit braces to avoid ambiguous `else'.
1444
1445 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
1446 (shorten_branches): Protect declaration of tmp_length with
1447 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
1448 (profile_function): Protect declaration of `sval' and `cxt'
1449 variables with appropriate macros.
1450 (final_scan_insn): Likewise for `note' variable. Add explicit
1451 braces to avoid empty body in an if-statement.
1452 (output_asm_insn): Move variable `i' inside macro conditional
1453 where it is used. Add parentheses around assignment used as truth
1454 value.
1455 (asm_fprintf) Likewise, likewise.
1456
1457 * fix-header.c (main): Remove unused variable `done'. Protect
1458 declaration of `i' with FIXPROTO_IGNORE_LIST.
1459
1460 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
1461
1462 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
1463 `ind'.
1464
1465 * profile.c: Include <string.h>/<strings.h>.
1466 (instrument_arcs): Remove unused variables `note', `inverted',
1467 `zero' and `neg_one'.
1468 (branch_prob): Avoid empty body in an if-statement.
1469
1470 * regclass.c: Include <stdlib.h>.
1471 (reg_alternate_class): Explicitly declare parameter `regno'.
1472
1473 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
1474 parentheses around assignment used as truth value.
1475 (find_matches): Remove unused variables `output_operand' and
1476 `matching_operand'.
1477 (fixup_match_1): Remove statement with no effect: "if (0) ;".
1478
1479 * scan.c (sstring_append): Explicitly declare `count' as int.
1480 (scan_string): Explicitly declare parameter `init' as int.
1481
1482 * sched.c: Include <stdlib.h>.
1483 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
1484 (rank_for_schedule): Add parentheses around assignment used as
1485 truth value.
1486 (schedule_block): Likewise.
1487 (regno_use_in): Likewise.
1488 (schedule_insns): Remove unused variable `i'.
1489
1490 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
1491 (v_message_with_decl): Remove unused variable `n'.
1492 (botch): Explicitly declare parameter `s' as char *.
1493 (main): Add parentheses around assignment used as truth value.
1494
1495 * tree.c (make_node): Protect the variable `kind' with the
1496 GATHER_STATISTICS macro.
1497 (real_value_from_int_cst): Move variable `e' inside conditional
1498 macro area where it is used.
1499 (tree_last): Add parentheses around assignment used as truth value.
1500 (build1): Protect the variable `kind' with the GATHER_STATISTICS
1501 macro.
1502 (print_obstack_statistics): Reconcile format vs. args in fprintf.
1503 Protect variables `i', `total_nodes', and `total_bytes' with the
1504 GATHER_STATISTICS macro.
1505
1506 Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
1507
1508 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
1509 some comments regarding use of dead_or_set_p.
1510
1511 Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
1512
1513 * fixincludes: Tweak fix for struct exception in math.h
1514
1515 Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
1516
1517 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
1518 Change mode of registers used to add/sub from
1519 hard_frame_pointer_rtx from word_mode to Pmode.
1520
1521 Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
1522
1523 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
1524 asm_output_aligned_bss() instead of asm_output_bss().
1525
1526 * toplev.c (rest_of_compilation): Replace references to
1527 stack_reg_dump_file and dbr_sched_dump_file with references to
1528 rtl_dump_file.
1529
1530 Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
1531
1532 * tlink.c (scan_linker_output): Call fclose() for opened files.
1533
1534 Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
1535
1536 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
1537 compiling with -fpic -- we want to be able to override symbols
1538 properly.
1539 (alpha_expand_block_move): Fix thinko in last change.
1540
1541 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
1542 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
1543 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
1544
1545 Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
1546
1547 * alpha.md (abssf, absdf): Revert last change.
1548
1549 Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
1550
1551 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
1552 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
1553
1554 Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
1555
1556 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
1557 a CONST_INT into SFmode.
1558
1559 Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
1560
1561 * flags.h: New flag (optimize_size).
1562 * toplev.c (main): Parse -Os option and set optimize_space
1563 accordingly.
1564 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
1565 __OPTIMIZE_SIZE__ when compiling with -Os.
1566 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
1567 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
1568 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
1569 to macro.
1570 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
1571
1572 Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
1573
1574 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
1575 stuff only if MCT_TEXT is #define'd.
1576
1577 Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
1578
1579 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
1580 configurations.
1581
1582 Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
1583
1584 * toplev.c: Add -dM command line option to dump RTL after the
1585 machine dependent reorganisation pass, if there is one.
1586 Reorganise RTL dump code, so that only one file handle is
1587 needed.
1588
1589 Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
1590
1591 * except.c (check_exception_handler_labels): Disable warning when
1592 flag_syntax_only.
1593
1594 Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
1595
1596 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
1597
1598 Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1599
1600 * c-decl.c (grokdeclarator): Get parameter tags from
1601 last_function_parm_tags.
1602 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
1603 traversing the parameter types.
1604 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
1605
1606 Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
1607
1608 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
1609 the default case.
1610 (get_shift_alg): Fix typo.
1611
1612 Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
1613
1614 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
1615
1616 Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
1617
1618 * toplev.c (get_run_time): Make sure each case gets its variables.
1619
1620 Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
1621
1622 * configure.in (build_xm_file): Add auto-config.h if host=build.
1623 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
1624 (build_xm_file_list): Likewise.
1625 * configure: Rebuild.
1626
1627 Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
1628
1629 * recog.c (validate_replace_rtx_1): Only perform substitutions
1630 of arguments to commutative and comparison operators once.
1631
1632 Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1633
1634 * sparc.c (output_cbranch): Add default case in
1635 enumeration switch.
1636
1637 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
1638 (emit_delay_sequence): Eliminate unused parameter, all callers
1639 changed.
1640 (fill_simple_delay_slots): Likewise.
1641 (fill_slots_from_thread): Likewise.
1642 (fill_eager_delay_slots): Likewise.
1643 (mark_referenced_resources): Add default case in enumeration switch.
1644 (mark_set_resources): Likewise.
1645 (rare_destination): Likewise.
1646 (mostly_true_jump): Likewise.
1647 (find_dead_or_set_registers): Likewise.
1648 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
1649 (update_reg_unused_notes): Remove unused variable `p'.
1650 (mark_target_live_regs): Remove unused variables `next' and
1651 `jump_count'.
1652 (fill_simple_delay_slots): Remove unused variable `j'.
1653 (fill_slots_from_thread): Add parentheses around assignment used
1654 as truth value.
1655 (dbr_schedule): Likewise.
1656
1657 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
1658 (objc.stage2, objc.stage3, objc.stage4): Likewise.
1659
1660 Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
1661
1662 * cse.c (simplify_ternary_operation): Don't try to simplify
1663 IF_THEN_ELSE expressions (created by combine) that don't use
1664 relational operators.
1665
1666 Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
1667
1668 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
1669 simplifications.
1670
1671 * crtstuff.c (init_dummy): Keep the epilogue in the init
1672 section for non-ELF systems.
1673
1674 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1675
1676 * sh.md (movqi_i+1): New peephole.
1677
1678 Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
1679
1680 * Makefile.in: Remove remaining bytecode stuff.
1681 * emit-rtl.c, expr.c: Likewise.
1682
1683 Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
1684
1685 * toplev.c (lang_options): Add unknown-pragma options.
1686
1687 Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
1688
1689 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
1690 special (and incomplete) handling for Chill arrays.
1691
1692 Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
1693
1694 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
1695 to get clock rate.
1696
1697 Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
1698
1699 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
1700
1701 1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
1702
1703 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
1704 .frame directive instead of FRAME_POINTER_REGNUM.
1705
1706 Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
1707
1708 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
1709 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
1710 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
1711 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
1712 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
1713 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
1714 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
1715 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
1716 mcpu32 or m5200.
1717 * longlong.h: Replace __mc68332__ with __mcpu32__.
1718
1719 Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
1720
1721 * version.c: Bump for snapshot.
1722
1723 Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
1724
1725 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
1726 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
1727 * reload1.c (eliminate_regs): Likewise.
1728
1729 Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
1730
1731 * regmove.c (find_matches): Initialize matches->earlyclobber too.
1732
1733 Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
1734
1735 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
1736 (negsf2, negdf2): Use proper subtract in IEEE mode.
1737
1738 Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
1739
1740 * Makefile.in: Remove more bytecode stuff.
1741 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
1742 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
1743 * f/install.texi, objc/Make-lang.in: Likewise.
1744
1745 * Makefile.in: Remove all bytecode support.
1746 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
1747 * emit-rtl.c: Remove all bytecode support.
1748 * expr.c, expr.h function.c, integrate.c: Likewise.
1749 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
1750 * tree.h, varasm.c: Likewise.
1751 * config/m68k/m68k.h: Likewise.
1752 * bi-*, bc-*, bytecode*: Delete bytecode related files.
1753 * modemap.def: Likewise.
1754
1755 Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
1756
1757 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
1758 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
1759
1760 Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
1761
1762 * i386.md (push): Prohibit symbolic constants if flag_pic.
1763 (movsi+1): Likewise for move to non-register.
1764
1765 Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
1766
1767 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
1768 (print_operand): Handle 0xffffffff on 32 bit host.
1769
1770 * configure.in (thread_file): Rename uses before main loop to
1771 target_thread_file. Initialize to empty in main loop. Set thread_file
1772 to target_thread_file after main loop if not set.
1773 * configure: Rebuild.
1774
1775 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
1776 (add_values_to_cover): Revert last change (which had no ChangeLog
1777 entry).
1778 (simplify_with_current_value_aux): Handle CONST_INT.
1779
1780 Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1781
1782 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
1783
1784 Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
1785
1786 * configure.in: Add cpp stringify test.
1787 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
1788 * gengenrtl.c: Use it.
1789 * configure, config.in: Rebuild.
1790
1791 Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1792
1793 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
1794
1795 Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
1796
1797 * configure.in: Find declaration for sbrk.
1798 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
1799 * config.in, configure: Rebuild.
1800 * mips-tfile.c: Properly protect declaration of sbrk and free.
1801 * toplev.c: Properly protect declaration of sbrk.
1802
1803 Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
1804
1805 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
1806
1807 Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
1808
1809 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
1810
1811 Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
1812
1813 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
1814
1815 Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
1816
1817 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
1818 constant offset computations from objects with known alignment in
1819 the presence of STACK_BIAS.
1820
1821 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
1822 necessary.
1823 (const_hash): Hash val is unsigned long.
1824 (SYMHASH): Likewise.
1825
1826 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
1827
1828 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
1829 char pointer, not HOST_WIDE_INT.
1830 (print_node): Likewise. Also hash is unsigned long not
1831 HOST_WIDE_INT.
1832
1833 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
1834
1835 * explow.c (optimize_save_area_alloca): New function for targets
1836 where SETJMP_VIA_SAVE_AREA is true.
1837 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
1838 compute the amount of stack space needed should we find later that
1839 setjmp is never called by this function, stuff rtl for this inside
1840 a REG_NOTE of the final SET of stack_pointer_rtx.
1841 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
1842 current_function_calls_alloca, call optimize_save_area_alloca.
1843
1844 Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
1845
1846 * i386.md: Remove redundant integer push patterns.
1847 Don't bother checking for TARGET_PUSH_MEMORY when
1848 pushing constants or registers.
1849
1850 Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
1851 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
1852
1853 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
1854 (pwait): New function for mingw32.
1855
1856 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
1857 pipe support is broken for now.
1858
1859 1998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
1860
1861 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
1862 between frame_pointer_rtx, hard_frame_pointer_rtx, and
1863 arg_pointer_rtx is respected in initialization.
1864 (init_emit_once): Use gen_rtx_raw_REG() to create
1865 return_address_pointer_rtx.
1866
1867 * reorg.c: #include "expr.h" for rtx prototypes.
1868 * Makefile.in (reorg.o): Depend on expr.h
1869
1870 Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
1871
1872 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
1873 local_prefix to sub-make invocations.
1874
1875 Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
1876
1877 * objc-parse.c: Recognize protocol qualifiers in class definitions.
1878
1879 Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
1880
1881 * rtl.h: Fix typos.
1882
1883 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
1884 * configure.in: Check for atol.
1885 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
1886
1887 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
1888
1889 * loop.c (find_and_verify_loops): When attempting to move insns from
1890 inside the loop outside the loop, create a BARRIER if no suitable
1891 one was found.
1892
1893 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
1894 favor of an equivalent change from gcc-2.8.
1895
1896 * i386/x-sco5 (CC): Remove trailing whitespace.
1897
1898 Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1899
1900 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
1901 (accessor_from_format): Likewise.
1902 (xmalloc): New function for use when linking with alloca.o.
1903
1904 Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
1905
1906 * frame.c (find_fde): Correct FDE's upper bound.
1907
1908 Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
1909
1910 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
1911
1912 Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
1913
1914 * calls.c (expand_call): Move #ifdef code out of macro argument
1915 lists.
1916 (emit_library_call, emit_library_call_value): Likewise.
1917
1918 Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
1919
1920 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
1921
1922 Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
1923
1924 * version.c: Bump for snapshot.
1925
1926 Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
1927
1928 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
1929 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
1930 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
1931 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
1932 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
1933 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
1934 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
1935 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
1936 * unroll.c, varasm.c: Likewise.
1937 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
1938
1939 Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
1940
1941 * mips.h: Fix some type-o's from a previous change.
1942
1943 Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
1944
1945 * loop.c (check_dbra_loop): Make sure initial value is a
1946 CONST_INT before trying to normalize it.
1947
1948 Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
1949
1950 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
1951
1952 Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
1953
1954 * cppexp.c: Include gansidecl.h
1955
1956 Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
1957
1958 * svr4.h (LINK_SPEC): Never specify -h.
1959 * ptx4.h (LINK_SPEC): Likewise.
1960 * rs6000/sysv4.h (LINK_SPEC): Likewise.
1961 * sparc/sol2.h (LINK_SPEC): Likewise.
1962
1963 Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
1964
1965 * c-typeck.c (comptypes): Exit early on NULL input.
1966
1967 * haifa-sched.c (schedule_insns): Correctly remove inter-block
1968 dependencies after reload.
1969
1970 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
1971
1972 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
1973
1974 Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
1975
1976 * alpha/vms.h (DIR_SEPARATOR): define
1977
1978 Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
1979
1980 * Makefile.in (stamp-proto): Remove.
1981 (protoize.o, unprotoize.o): Straightforward compile.
1982 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
1983
1984 Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
1985
1986 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
1987 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
1988
1989 Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
1990
1991 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
1992 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
1993 * sparc/netbsd.h, vax/netbsd.h: Likewise.
1994
1995 Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
1996
1997 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
1998
1999 Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
2000
2001 * configure.in (target_cpu_default, target_cpu_default2): Use double
2002 quotes around them when testing their value.
2003 * configure: Rebuilt.
2004
2005 Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
2006
2007 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
2008 to allocate rtx.
2009 (gendef): Call obstack_alloc_rtx.
2010
2011 Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
2012
2013 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
2014 for now.
2015
2016 Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
2017
2018 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
2019 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
2020 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
2021
2022 Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
2023
2024 * mips.md (return_internal): Change mode from SImode to VOIDmode.
2025
2026 Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
2027
2028 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
2029 "-static".
2030
2031 Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
2032
2033 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
2034 suffix from operand 3.
2035
2036 Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2037 Jeffrey A Law (law@cygnus.com)
2038
2039 * regmove.c: New implementation of regmove pass.
2040 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
2041 decls, make them have external linkage. Return a value from
2042 optimize_reg_copy_1.
2043 * reload.h (count_occurrences): Add decl.
2044 * reload1.c (count_occurrences): Delete decl, make it have external
2045 linkage.
2046 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
2047
2048 Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
2049
2050 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
2051 if it is not defined.
2052
2053 Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
2054
2055 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
2056 * emit-rtl.c (gen_rtx): Move special code to ...
2057 (gen_rtx_CONST_INT): New function.
2058 (gen_rtx_REG): New function.
2059 (*): Update all calls to gen_rtx.
2060 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
2061 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
2062 (GEN_INT): Call gen_rtx_CONST_INT.
2063 * gengenrtl.c: New file.
2064
2065 Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
2066
2067 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
2068 (base_alias_check): If no base found for address call canon_rtx and
2069 try again.
2070
2071 Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
2072
2073 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
2074 arguments for mips16.
2075 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
2076 Don't lose if tsize is zero after handling large stack for mips16.
2077 * mips.md (return): For trivial return, return address is in $31.
2078
2079 Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
2080
2081 * mips/mips16.S: Various changes to make it work with -msingle-float
2082 and -EL.
2083
2084 Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
2085 Ian Lance Taylor <ian@cygnus.com>
2086 Jeff Law <law@cygnus.com>
2087
2088 * mips.c, mips.h, mips.md: First cut at merging in mips16
2089 support. Major modifications throughout all three files.
2090
2091 Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
2092
2093 * configure.in: Make gthr-default.h a forwarding header instead of
2094 a symlink.
2095
2096 Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2097
2098 * gcov-io.h: Include sys/types.h to ensure we get size_t.
2099
2100 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
2101
2102 Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
2103 Jeffrey A Law (law@cygnus.com)
2104
2105 * crtstuff.c (__frame_dummy): New function for irix6.
2106 (__do_global_ctors): Call __frame_dummy for irix6.
2107 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
2108
2109 Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
2110
2111 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
2112
2113 Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
2114
2115 * c-decl.c (init_decl_processing): Provide proper fallback symbol
2116 for __builtin_memset.
2117 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
2118 not INTEGER_CST. Assert arg 3 is a constant.
2119
2120 * alpha.c (mode_width_operand): Accept 64-bit modes.
2121 (mode_mask_operand): Likewise.
2122 (print_operand): Likewise for 'M' and 'U' codes.
2123 (alpha_expand_unaligned_load): New function.
2124 (alpha_expand_unaligned_store): Likewise.
2125 (alpha_expand_unaligned_load_words): Likewise.
2126 (alpha_expand_unaligned_store_words): Likewise.
2127 (alpha_expand_block_move): Likewise.
2128 (alpha_expand_block_clear): Likewise.
2129 * alpha.h (MOVE_RATIO): New define.
2130 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
2131 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
2132
2133 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
2134 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
2135
2136 Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
2137
2138 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
2139 * configure: Update.
2140
2141 Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
2142
2143 * emit-rtl.c (operand_subword): Correctly handle extracting a word
2144 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
2145
2146 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
2147 for first argument.
2148
2149 Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
2150
2151 * configure.in: Set and subsitute host_exeext. Use it when creating
2152 the assembler and linker symlinks.
2153 * configure: Rebuild.
2154 * Makefile.in (exeext): Set to @host_exeext@.
2155 (build_exeext): New variable, set to @build_exeext@.
2156 (FLAGS_TO_PASS): Pass down build_exeext.
2157 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
2158 programs.
2159
2160 Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
2161
2162 * mn10200.md (addsi3, subsi3): Fix thinkos.
2163
2164 Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
2165
2166 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
2167 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
2168 unix always, since we want to be able to thunk to functions in a
2169 shared library from an application.
2170
2171 Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
2172
2173 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
2174 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
2175
2176 Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
2177
2178 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
2179 offset's mode is not ptr_mode, convert it.
2180
2181 Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
2182
2183 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
2184 compiling if it was already defined.
2185
2186 Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
2187
2188 * flow.c (find_basic_blocks): Don't create a new basic block
2189 for calls in a LIBCALL block.
2190
2191 Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
2192
2193 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
2194
2195 Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
2196
2197 * cse.c (rtx_cost): Remove conflicting default case.
2198
2199 Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
2200
2201 * configure.in: Move default enabling of Haifa out of for loop.
2202 * configure: Rebuild.
2203
2204 Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
2205
2206 * version.c: Bump for snapshot.
2207
2208 1997-12-25 Teemu Torma <tot@trema.com>
2209
2210 * Makefile.in (GTHREAD_FLAGS): New var.
2211 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
2212 (distclean): Remove gthr-default.h.
2213
2214 * configure.in: Accept dce as a thread package.
2215 Check for thread.h and pthread.h.
2216 Link gthr-default.h to appropriate thread file and set
2217 gthread_flags.
2218 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
2219 include multilib definitions from pa/t-dce-thr.
2220 (sparc-*-solaris2*): Enable threads by default, if thread.h or
2221 pthread.h is found, preferring posix threads over solaris ones.
2222
2223 * config/pa/t-dce-thr: New file.
2224 * config/pa/t-pa: Removed multilibs.
2225 * config/sparc/t-sol2: Ditto.
2226
2227 * gthr.h: New file.
2228 * gthr-single.h: New file.
2229 * gthr-posix.h: New file.
2230 * gthr-solaris.h: New file.
2231 * gthr-dce.h: New file.
2232 * libgcc-thr.h: Removed.
2233 * objc/thr-dce.c: New file copied from thr-decosf1.c.
2234
2235 * frame.c: Include gthr.h instead of libgcc-thr.h.
2236 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
2237 (eh_context_initialize): If __gthread_once fails, use static eh
2238 context.
2239 (eh_context_free): Call __gthread_key_dtor.
2240
2241 Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
2242
2243 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
2244
2245 Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
2246
2247 * cse.c (max_insn_uid): New variable.
2248 (cse_around_loop): Use max_insn_uid.
2249 (cse_main): Set max_insn_uid.
2250
2251 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
2252 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
2253 -mlong64, and -mgp{32,64} options.
2254 * mips.c (mips_abi): Change type to int.
2255 * mips.h (enum mips_abi_type): Delete.
2256 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
2257 (mips_abi): Change type to int.
2258
2259 Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
2260
2261 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
2262 optimization is now always enabled.
2263
2264 * calls.c (expand_call): Recognize C++ operator new as malloc-like
2265 function.
2266
2267 * alias.c (memrefs_conflict_p): Eliminate tests now done by
2268 base_alias_check.
2269 (*_dependence): Call canon_rtx before base_alias_check.
2270 (init_alias_once): New function to precompute set of registers which
2271 can hold Pmode function arguments.
2272
2273 * rtl.h: Declare init_alias_once.
2274
2275 * toplev.c (compile_file): Call init_alias_once.
2276
2277 Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
2278
2279 * tree.c (restore_tree_status): Do not dereference a null pointer.
2280
2281 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
2282
2283 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
2284 RLIMIT_STACK. This maintains consistency with the recent, similar
2285 patch to cccp.c and toplev.c.
2286
2287 Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
2288
2289 * genattrtab.c (expand_units): For large nr opclasses, expand
2290 function_units_used with ORX to prevent blowups. Tag with FFS.
2291 (num_unit_opclasses): New variable.
2292 (gen_unit): Update it.
2293 (enum operator): Add ORX_OP.
2294 (operate_exp): Treat ORX as or, except don't expand across an if.
2295 Reuse number rtx's after operating on them.
2296 (check_attr_value): Accept IOR, AND, & FFS.
2297 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
2298 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
2299 (write_expr_attr_cache, write_toplevel_expr): New functions.
2300 (write_attr_get): Handle FFS-tagged expressions.
2301 (make_canonical): Don't expand const attributes.
2302 (convert_const_symbol_ref): Dike out.
2303 (evaluate_eq_attr): Handle SYMBOL_REF.
2304 (main): Don't emit get_attr_foo for const attributes.
2305
2306 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
2307 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
2308 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
2309 * alpha.md: Redo all of the scheduling, adding EV6 support, and
2310 combining function units where possible.
2311 (attr "type"): Split loads, stores, cmov into int/fp. Combine
2312 multiplies and divides. Add EV6 sqrt, ftoi, itof.
2313 (attr "opsize"): New attribute.
2314 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
2315 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
2316 to control register allocation.
2317 (movsi2-1, movdi2-1): Likewise.
2318
2319 Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
2320
2321 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
2322 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
2323 Move OSF/1 specific defines out.
2324 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
2325 Move Linux specific defines out.
2326 (LINK_SPEC): Genericize.
2327 (ASM_FILE_START): Emit .arch if using more than the base insn set.
2328 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
2329 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
2330 (HANDLE_SYSV_PRAGMA): Define.
2331 * alpha/osf.h: New file.
2332 * alpha/linux.h: Split. Retain file-format independant defines.
2333 Import Linux bits from elf.h.
2334 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
2335 (FUNCTION_PROFILER): _mcount takes its address in $28.
2336 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
2337 * alpha/linux-ecoff.h: New file.
2338 * alpha/linux-elf.h: New file.
2339 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
2340 * alpha/win-nt.h (TARGET_DEFAULT): Define.
2341 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
2342 Add new headers as appropriate.
2343
2344 * configure.in (alpha*): Enable Haifa by default.
2345 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
2346 * configure: Rebuild.
2347
2348 Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
2349
2350 * Makefile.in (clean): Remove the stages with their objects here ...
2351 (distclean): ... instead of here.
2352
2353 Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2354
2355 * cse.c (rtx_cost): Add default case in enumeration switch.
2356 * fix-header.c (recognized_macro): Likewise.
2357 (recognized_extern): Likewise.
2358 (write_rbrac): Likewise.
2359 * objc/objc-act.c (encode_aggregate): Likewise.
2360 (gen_declarator): Likewise.
2361 (gen_declspecs): Likewise.
2362
2363 Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
2364
2365 * haifa-sched.c (create_reg_dead_note): Detect and handle another
2366 case where we kill more regs after sched than were killed before
2367 sched.
2368 * sched.c (create_reg_dead_note): Similarly.
2369
2370 Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
2371
2372 * c-pragma.c: Include flags.h.
2373
2374 Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
2375
2376 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
2377 about system headers.
2378 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
2379 and also to resolve symbols in prefix.c.
2380
2381 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
2382 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
2383 when the definitions in auto-config.h is not visible.
2384 (HAVE_BZERO): Likewise.
2385 (HAVE_BCMP): Likewise.
2386 (HAVE_RINDEX): Likewise.
2387 (HAVE_INDEX): Likewise.
2388
2389 Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
2390
2391 * pa.c (emit_move_sequence): Handle a function label source
2392 operand.
2393
2394 Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
2395
2396 * c-pragma.c (handle_pragma_token): Generate warning messages
2397 about unknown pragmas if warn_unknown_pragmas is set.
2398
2399 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
2400 line option to set variable: warn_unknown_pragmas.
2401
2402 Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
2403
2404 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
2405 definition.
2406 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
2407
2408 Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
2409
2410 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
2411 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
2412 generate more fine grained floating point emulation libraries.
2413 * config/fp-bit.c: Add protecting #ifdef to all functions so
2414 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
2415 then compile all suitable functions.
2416 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
2417 underscores to avoid namespace pollution.
2418 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
2419 (FPBIT): Define.
2420 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
2421 (FPBIT): Define.
2422 (DPBIT): Define.
2423
2424 Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2425 Jeff Law <law@cygnus.com>
2426
2427 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
2428 of the declaration.
2429 * c-decl.c (finish_decl): Use parentheses around && within ||.
2430 * rtl.c: Include stdlib.h.
2431 (read_skip_spaces): Add parentheses around assignments used as
2432 truth values.
2433 (read_rtx): Initialize list_rtx.
2434 * cppexp.c (parse_number): Use || when operands are truth values.
2435 * alias.c (find_base_value): Add default case.
2436 (memrefs_conflict): Likewise.
2437 * combine.c (sets_function_arg_p): Likewise.
2438 * genemit.c (gen_exp): Likewise.
2439 * local-alloc.c (contains_replace_regs): Likewise.
2440 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
2441 * fold-const.c (fold_convert): Use "&&" for truth values.
2442 (fold): Add default case.
2443 * sdbout.c (sdbout_field_types): Fix typo in declaration.
2444 (sdbout_one_type): Add default case.
2445 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
2446 (some_operand): Add default case.
2447 (input_operand): Likewise.
2448 (signed_comparison_operator): Likewise.
2449 (divmod_operator): Likewise.
2450 (alpha_set_memflags_1): Likewise.
2451 * reload1.c (reload_cse_simplify_operands): Ensure function
2452 always returns a value.
2453 * scan-decls.c (scan_decls): Likewise.
2454 * c-lex.c (skip_white_space): Fix typo in declaraion.
2455 * c-typeck.c (comp_target_types): Add parentheses around assignment
2456 used as truth value.
2457 (print_spelling): Likewise.
2458 (constructor_implicit, constructor_result): Remove unused variables.
2459 * collect2.c (scan_library): Protect prototype with
2460 #ifdef SCAN_LIBRARIES.
2461 * emit-rtl.c (find_line_note): Fix typo in declaration.
2462 * final.c (asm_insn_count): Protect prototype with
2463 #ifdef HAVE_ATTR_length.
2464 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
2465 (try_pre_increment_1, try_pre_increment): Likewise.
2466 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
2467 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
2468 * gcov-io.h (__store_long, __write_long, __read_long): Fix
2469 unsigned/signed comparisons.
2470 * gcov.c (read_files): Remove unused "first_type" variable.
2471 (scan _for_source_files): Initialize s_ptr.
2472 (function_summary): Eliminate "%lf" formatting, use %ld for
2473 longs.
2474 (output_data): Initialize branch_probs and last_line_num.
2475 Eliminate "%lf" formatting, use "%ld" for longs.
2476
2477 Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
2478
2479 * mips16.S: New file.
2480
2481 * libgcc2.c (varargs): Handle mips16.
2482
2483 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
2484 expression.
2485 * stmt.c (expand_end_case): Likewise.
2486 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
2487 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
2488 * rs6000.h, sh.h, tahoe.h, v850.h vax.h z8k.h: Likewise.
2489
2490 Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2491
2492 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
2493 the build directory.
2494 (libobjc.a): Update dependency list.
2495 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
2496 directory.
2497 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
2498 (objc.mostlyclean): Remove runtime-info.h.
2499
2500 Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
2501
2502 * tree.c (build_range_type): Allow creation of ranges with no maximum.
2503 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
2504 * dwarf2out.c (add_subscript_info): Likewise.
2505 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
2506 * sdbout.c (plain_type_1): Likewise.
2507 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
2508 Likewise.
2509 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
2510 Likewise.
2511
2512 Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2513
2514 * mips.c (fatal): Remove declaration.
2515
2516 1997-12-18 Mark Mitchell <mmitchell@usa.net>
2517
2518 * integrate.c (get_label_from_map): New function.
2519 (expand_inline_function): Use it. Initialize the label_map to
2520 NULL_RTX instead of gen_label_rtx.
2521 (copy_rtx_and_substitute): Use get_label_from_map.
2522 * integrate.h (get_label_from_map): New function.
2523 (set_label_from_map): New macro.
2524 * unroll.c (unroll_loop): Use them.
2525 (copy_loop_body): Ditto.
2526
2527 Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
2528
2529 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
2530 (INIT_TARGET_OPTABS): Define.
2531 * mips/ecoff.h: Include gofast.h before mips.h.
2532 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
2533 * mips/elf64.h: Likewise.
2534 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
2535
2536 Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
2537
2538 * except.c: Remove register_exception_table{,_p}.
2539
2540 Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
2541
2542 * unroll.c (calculate_giv_inc): Handle constant increment found in
2543 a MEM with an appropriate REG_EQUAL note.
2544
2545 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
2546
2547 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
2548 frame pointer in the prologue.
2549
2550 Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
2551
2552 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
2553 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
2554
2555 Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
2556
2557 * config/m68k/m68k.c (output_function_prologue): Typecast
2558 dwarf2out_cfi_label to (char *).
2559 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
2560
2561 Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
2562
2563 * sparc.md (jump): Don't use the annul bit around an empty loop.
2564 Patch from Kevin.Kelly@East.Sun.COM.
2565
2566 Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
2567
2568 * jump.c: (jump_optimize): Don't use the return register as a
2569 source1 of a conditional move.
2570
2571 Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
2572
2573 * sparc.c (DF_MODES): Or the mask not the bit number.
2574 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
2575
2576 Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
2577
2578 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
2579
2580 Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
2581
2582 * fixincludes (size_t): Add support for Motorola's stdlib.h
2583 which fails to provide a definition for size_t.
2584 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
2585 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
2586 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
2587
2588 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
2589 prevent unresolved externals in libio.
2590 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
2591
2592 Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
2593
2594 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
2595 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
2596 (LIB_SPEC): Updated for glibc 2.
2597
2598 Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
2599
2600 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
2601 * ginclude/varargs.h: Likewise.
2602
2603 Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
2604
2605 * version.c: Bump for snapshot.
2606
2607 Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
2608
2609 * frame.h (__register_frame, __register_frame_table,
2610 __deregister_frame): New.
2611 * frame.c (__register_frame, __register_frame_table,
2612 __deregister_frame): New.
2613 * frame.c (__deregister_frame_info): Return void *.
2614 * frame.h (__deregister_frame_info): Ditto.
2615 * collect2.c (__deregister_frame_info): Ditto.
2616
2617 Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
2618
2619 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
2620
2621 Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
2622
2623 * alpha.c (alpha_cpu_name): New variable.
2624 (alpha_mlat_string): Likewise.
2625 (alpha_memory_latency): Likewise.
2626 (override_options): Handle -mmemory-latency.
2627 (alpha_adjust_cost): Adjust load cost for latency.
2628 * alpha.h (TARGET_OPTIONS): Add meory-latency.
2629 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
2630 TARGET_CIX into account.
2631 (MEMORY_MOVE_COST): Define in terms of memory_latency.
2632 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
2633
2634 * alpha.h (ASM_COMMENT_START): New macro.
2635
2636 Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
2637
2638 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
2639 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
2640
2641 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
2642 SUBREG_REG if the word count is unchanged.
2643 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
2644 subregs of identical word size for push_reload.
2645
2646 Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
2647
2648 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
2649 if all we're doing is dealing with -Wreturn-type.
2650
2651 Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
2652
2653 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
2654 Use and 255 instead of zapnot 1, since it schedules better.
2655
2656 Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
2657
2658 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
2659 it as volatile.
2660
2661 Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
2662
2663 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
2664 dependency we delete. Properly update prev for multiple consecutive
2665 deletions.
2666 (priority): Skip deleted dependence.
2667
2668 Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
2669
2670 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
2671
2672 Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
2673
2674 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
2675 determining when a new basic block starts.
2676
2677 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
2678
2679 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
2680 * pa.md (iorsi3): Add missing args to *_operand calls.
2681
2682 * except.c (call_get_eh_context): Don't mess with sequences.
2683 (emit_eh_context): Include the call in the sequence here.
2684
2685 1997-12-11 Paul Eggert <eggert@twinsun.com>
2686
2687 * collect2.c (write_c_file_glob): Allocate initial frame object
2688 in static storage and pass its address.
2689
2690 Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
2691
2692 * except.c (call_get_eh_context): Don't take a parm.
2693 Put the call at the top of the function.
2694 (emit_eh_context): Adjust.
2695 (get_eh_context): Replace with former use_eh_context.
2696 (get_eh_context_once, get_saved_pc_ref): Remove.
2697 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
2698 * except.h: Adjust.
2699 * integrate.c (expand_inline_function): Adjust.
2700 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
2701
2702 Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
2703
2704 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
2705 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
2706
2707 Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
2708
2709 * fixincludes (strlen,strspn,strcspn return value): Handle different
2710 layout on sysV88.
2711 (hypot): Provide a fake for hypot which is broken on
2712 m88k-motorola-sysv3.
2713
2714 Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
2715
2716 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
2717 tree_code_name from pointers to arrays.
2718 * tree.c: Remove standard_tree_code_* variables, no longer used.
2719 * print-tree.c: Remove declaration of tree_code_name.
2720
2721 * cp/lex.c (init_lex): Update for tree_code_* changes.
2722 * objc/objc-act.c (init_objc): Likewise.
2723
2724 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
2725 changes.
2726
2727 Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
2728
2729 * config.sub: Add support for BeOS target.
2730 * configure.in: Likewise.
2731 * ginclude/stdarg.h: Likewise.
2732 * ginclude/stddef.h: Likewise.
2733 * ginclude/varargs.h: Likewise.
2734 * rs6000/beos.h: New file for BeOS.
2735 * rs6000/t-beos: Likewise.
2736 * rs6000/x-beos: Likewise.
2737 * rs6000/xm-beos.h: Likewise.
2738 * toplev.c (get_run_time): Just return 0 on BeOS.
2739
2740 Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
2741 Toon Moene (toon@moene.indiv.nluug.nl)
2742
2743 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
2744 old and broken Sun3 assemblers. Newer versions handle large
2745 offsets correctly as does the GNU assembler.
2746
2747 Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
2748
2749 * objc/objc-act.c (lang_report_error_function): Disable.
2750 * objc/objc-parse.y: Include "output.h".
2751 (yyerror): Remove redundant decl.
2752 (yyprint): Fix prototype.
2753 (apply_args_register_offset): Remove redundant decl.
2754 (get_file_function_name): Likewise.
2755
2756 Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
2757
2758 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
2759 a new basic block.
2760 (find_basic_blocks_1): Likewise.
2761
2762 Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
2763
2764 * except.c (use_eh_context): Don't copy_rtx a REG.
2765 (emit_throw): Lose old unwinder support.
2766 (expand_internal_throw): Likewise.
2767 * libgcc2.c (struct eh_context): Likewise.
2768 (new_eh_context): Likewise.
2769 (__get_eh_info): Lose redundant cast.
2770 (__get_dynamic_handler_chain): Likewise.
2771 (__get_saved_pc): Lose.
2772 Lose all old unwinder support code.
2773
2774 Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
2775
2776 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
2777
2778 * integrate.c (expand_inline_function): If the inline fn uses eh
2779 context, make sure that the current fn has one.
2780 * toplev.c (rest_of_compilation): Call emit_eh_context.
2781 * except.c (use_eh_context): New fn.
2782 (get_eh_context_once): New fn.
2783 (call_get_eh_context): New fn.
2784 (emit_eh_context): New fn.
2785 (get_eh_context): Call either get_eh_context_once or
2786 call_get_eh_context, depending on what we have.
2787 (get_dynamic_handler_chain): Call get_eh_context_once.
2788 * except.h: Prototypes for fns above.
2789 * optabs.c (get_eh_context_libfunc): Removed.
2790 (init_optabs): Don't initialize it.
2791 * expr.h (get_eh_context_libfunc): Removed.
2792 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
2793 * config/pa/pa.h (CPP_SPEC): Support for -threads.
2794 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
2795 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
2796 New multilib for -threads.
2797 * config/sparc/t-sol2: Added multilibs for -threads and
2798 made -pthreads alias to it.
2799 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
2800 Added -threads and -pthreads options.
2801 * libgcc-thr.h: New file.
2802 * libgcc2.c: (__get_cpp_eh_context): Removed.
2803 (struct cpp_eh_context): Removed.
2804 (struct eh_context): Replaced cpp_eh_context with generic language
2805 specific pointer.
2806 (__get_eh_info): New function.
2807 (__throw): Check eh_context::info.
2808 (__sjthrow): Ditto.
2809 * libgcc2.c: Include libgcc-thr.h.
2810 (new_eh_context, __get_eh_context,
2811 eh_pthread_initialize, eh_context_initialize, eh_context_static,
2812 eh_context_specific, eh_context_free): New functions.
2813 (get_eh_context, eh_context_key): New variables.
2814 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
2815 get_eh_context to get the context.
2816 (longjmp): Move the declaration inside
2817 #ifdef DONT_USE_BUILTIN_SETJMP.
2818 * frame.c: Include libgcc-thr.h.
2819 (object_mutex): Mutex to protect the object list.
2820 (find_fde, __register_frame, __register_frame_table,
2821 __deregister_frame): Hold the lock while accessing objects.
2822 * except.h (get_eh_context): Declare.
2823 * except.c (current_function_ehc): Define.
2824 (current_function_dhc, current_function_dcc): Removed.
2825 (get_eh_context): New function.
2826 (get_dynamic_handler_chain): Use get_eh_context.
2827 (get_saved_pc_ref): Ditto.
2828 (get_dynamic_cleanup_chain): Removed references to
2829 current_function_dcc.
2830 (save_eh_status, restore_eh_status): Save and restore
2831 current_function_ehc instead.
2832 * optabs.c (get_eh_context_libfunc): New variable.
2833 (init_optabs): Initialize it.
2834 * expr.h: Declare get_eh_context_libfunc.
2835 * function.h (struct function): Replaced dhc and dcc with ehc.
2836 * except.c (get_saved_pc_ref): New functions.
2837 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
2838 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
2839 of eh_saved_pc.
2840 (end_eh_unwinder): Likewise.
2841 (init_eh): Remove initialization of eh_saved_pc.
2842 * optabs.c (get_saved_pc_libfunc): New variable.
2843 (init_optabs): Initialize it.
2844 * expr.h: Declare get_saved_pc_libfunc.
2845 * except.h (eh_saved_pc_rtx): Deleted.
2846 (get_saved_pc_ref): Declared.
2847
2848 From Scott Snyder <snyder@d0sgif.fnal.gov>:
2849 * libgcc2.c (__get_saved_pc): New.
2850 (__eh_type, __eh_pc): Deleted.
2851 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
2852 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
2853 this fcn.
2854
2855 Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
2856
2857 * sparc/sol2.h: Use 64 bit multiply and divide functions in
2858 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
2859 as 0.
2860
2861 * rtl.h (global_rtl): New variable, replacing separate variables for
2862 commonly used rtl.
2863 (const_int_rtx): Now array of rtx_def, not rtx.
2864 * emit-rtl.c: Update for new rtl data structures.
2865 * genattrtab.c: Define global_rtl.
2866
2867 Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
2868
2869 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
2870 default.
2871
2872 Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
2873
2874 * crtstuff.c (__do_global_ctors): Fix typo.
2875
2876 Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
2877
2878 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
2879 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
2880
2881 Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
2882
2883 * rs6000.h (FUNCTION_ARG_PADDING): Define.
2884 * rs6000.c (function_arg_padding): New function.
2885
2886 Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
2887
2888 * m68k.c: Include tree.h only once.
2889
2890 Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2891
2892 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
2893
2894 Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
2895
2896 * Partially cleaned up prototyping code from HJ.
2897 * tree.h: Add many prototypes.
2898 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
2899 All references changed.
2900 * rtl.h: Protect from multiple inclusions. Add many prototypes.
2901
2902 Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
2903
2904 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
2905 string functions like strlen.
2906
2907 Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
2908
2909 * configure.in: Check for functions getrlimit and setrlimit.
2910 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
2911 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
2912
2913 Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
2914
2915 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
2916
2917 Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
2918
2919 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
2920 Fix merge problems.
2921
2922 * alpha.c (override_options): Don't know about scheduling for EV6.
2923 * alpha.md (ev5 function units): Don't overload as ev6.
2924
2925 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
2926 * alpha.md (define_attr type): Add mvi.
2927 (ev5_e0): Define sceduling parameters for it.
2928 (TARGET_MAX insns): Type is mvi not shift.
2929
2930 Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
2931
2932 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
2933
2934 Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2935
2936 * cstamp-h, auto-config.h: Delete.
2937
2938 Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
2939
2940 * version.c: Bump for snapshot.
2941
2942 Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
2943
2944 * cccp.c: Fix typo brought over in merge.
2945
2946 * Merge in changes from gcc-2.8.
2947
2948 Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
2949
2950 * m68k.c: Include tree.h for dwarf2out_cfi_label.
2951
2952 * gcc.c (process_command): Do not take address of function fatal when
2953 calling lang_specific_driver.
2954
2955 Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
2956
2957 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
2958 doesn't work with it yet, so set it to 0.
2959 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
2960
2961 Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
2962
2963 * cse.c (cse_insn): Check for invalid entries when taking references.
2964
2965 Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2966
2967 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
2968 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
2969 * toplev.c (rest_of_compilation): Pass it. Remove code to
2970 save / clear / restore flag_unroll_{,all_}loops.
2971
2972 Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
2973
2974 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
2975
2976 Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
2977
2978 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
2979
2980 Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
2981
2982 * except.c (get_dynamic_handler_chain): Only make the call once per
2983 function.
2984
2985 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
2986
2987 Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2988
2989 * sh.c (final_prescan_insn): Use local label prefix
2990 when emitting .uses pseudo-ops.
2991
2992 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
2993
2994 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
2995 * except.c: Lose outer_context_label_stack.
2996 (expand_eh_region_end): Rethrow from outer_context here.
2997 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
2998 (expand_internal_throw): Take no args.
2999 (expand_internal_throw_indirect): Lose.
3000 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
3001 (expand_start_all_catch): Start a rethrow region.
3002 (expand_end_all_catch): End it.
3003 (expand_rethrow): New fn.
3004 * except.h: Reflect above changes.
3005 * flow.c: Revert change of Nov 27.
3006
3007 Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
3008
3009 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
3010
3011 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
3012
3013 * except.c (expand_fixup_region_end): New fn.
3014 (expand_fixup_region_start): Likewise.
3015 (expand_eh_region_start_tree): Store cleanup into finalization here.
3016 * stmt.c (expand_cleanups): Use them to protect fixups.
3017
3018 Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
3019
3020 * mips/mips.md (muldi3_r4000): Broaden the output template
3021 and attribute assignments to handle three operand dmult;
3022 rename to muldi3_internal2.
3023 (muldi3): Call the new muldi3_internal2 for R4000, and
3024 any GENERATE_MULT3 chip.
3025
3026 Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
3027
3028 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
3029
3030 Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
3031
3032 * unroll.c (find_splittable_givs): Remove last change. Handle givs
3033 with a dest_reg that was created by loop.
3034
3035 Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
3036
3037 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
3038
3039 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
3040
3041 Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
3042
3043 * configure.in: Fix NCR entries.
3044
3045 Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
3046
3047 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
3048 nested exceptions correctly.
3049
3050 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
3051 that was created by loop.
3052
3053 Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
3054
3055 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
3056
3057 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
3058
3059 Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
3060
3061 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
3062 (print_operand): Use SMALL_DATA_REG for the register involved in
3063 small data relocations.
3064 (print_operand_address): Ditto.
3065
3066 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
3067 -dynamic linker is not used.
3068
3069 * rs6000.md (call insns): For local calls, use @local suffix under
3070 System V. Don't use @plt under Solaris.
3071
3072 * rs6000.c (output_function_profiler): Put label address in r0, and
3073 store LR in 4(sp) for System V/eabi.
3074
3075 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
3076 byte boundary, and maintain stack backchain.
3077
3078 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
3079
3080 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
3081 fix_truncsfdi2): Change *.
3082
3083 Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
3084
3085 * toplev.c (main): Complain about -gdwarfn.
3086
3087 Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
3088
3089 * dwarfout.c (output_type): If finalizing, write out nested types
3090 of types we've already written.
3091
3092 Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
3093
3094 (patches originally from Geoffrey Keating)
3095 * rs6000.c (function_arg): Excess floating point arguments don't
3096 go into GPR registers after exhausting FP registers under the
3097 System V.4 ABI.
3098 (function_arg_partial_nregs): Ditto.
3099
3100 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
3101 suffix to calls.
3102
3103 Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
3104
3105 * integrate.c (output_inline_function): Just unset DECL_INLINE.
3106
3107 Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
3108
3109 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
3110 proper alignment.
3111
3112 * libgcc2.c (__throw): Initialize HANDLER.
3113
3114 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
3115
3116 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
3117 fix_truncsfdi2): Change *X to ?*X.
3118
3119 Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
3120
3121 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
3122
3123 Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
3124
3125 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
3126
3127 Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
3128
3129 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
3130
3131 Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
3132
3133 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
3134 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
3135 * expr.h: Likewise.
3136
3137 Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
3138
3139 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
3140 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
3141 gas and not using the new HP assembler.
3142
3143 Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
3144
3145 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
3146 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
3147
3148 Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
3149
3150 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
3151 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
3152 definition.
3153
3154 Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
3155
3156 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
3157
3158 Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
3159
3160 * except.h: Add outer_context_label_stack.
3161 * except.c: Likewise.
3162 (expand_start_all_catch): Push the outer_context for the try block
3163 onto outer_context_label_stack.
3164 (expand_end_all_catch): Use it and pop it.
3165
3166 Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
3167
3168 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
3169
3170 Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
3171
3172 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
3173
3174 Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
3175
3176 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
3177 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
3178
3179 Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
3180
3181 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
3182 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
3183 __builtin_delete, and __builtin_vec_delete.
3184
3185 * except.c (output_exception_table): Don't bother with
3186 __EXCEPTION_END__.
3187
3188 Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
3189
3190 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
3191 is an in/out operand.
3192 (zero extended variants of stwm/stwm patterns): Similarly.
3193
3194 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
3195
3196 Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
3197
3198 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
3199 Use assemble_name.
3200 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
3201 (output_call_frame_info): Emit a \n after using it.
3202
3203 Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
3204
3205 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
3206
3207 Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
3208
3209 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
3210 (ASM_OUTPUT_DWARF_VALUE4): New macro.
3211 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
3212 defined.
3213 (output_call_frame_info): Do not output forward label differences
3214 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
3215 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
3216
3217 Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3218
3219 * sh.md (attribute "type"): Add nil.
3220 (movsi_ie): y/y alternative is type nil.
3221 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
3222 alternatives.
3223 (movsf_ie+1): Delete.
3224
3225 Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
3226
3227 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
3228 large_int, emit two insns instead of one splitable insn.
3229 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
3230 from cfa_temp_value, use cfa_offset. Add assert checking that
3231 cfa_reg is SP.
3232
3233 Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
3234
3235 * cccp.c (deps_output): Properly quote file names for make.
3236
3237 Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
3238
3239 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
3240
3241 Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
3242
3243 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
3244
3245 Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
3246
3247 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
3248 return.
3249 (cse_end_of_basic_block): Similarly.
3250
3251 Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
3252
3253 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
3254 (SELECT_RTX_SECTION): Define.
3255 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
3256
3257 Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
3258
3259 * Makefile.in (compare, compare-lean): Define $stage for each
3260 shell command.
3261 (gnucompare, gnucompare-lean): Likewise.
3262
3263 Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
3264
3265 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
3266
3267 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
3268 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
3269
3270 Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
3271
3272 * dwarfout.c (byte_size_attribute): Add local var upper_bound
3273 and add case to handle STRING_TYPE.
3274 * dwarfout.c (output_string_type_die): Fix code to generate
3275 correct string length attribute for fixed length strings.
3276 Still needs support for varying length strings.
3277
3278 Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
3279
3280 * toplev.c (get_run_time): Do something sensible for cygwin32.
3281
3282 Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
3283
3284 * expr.c (expand_builtin_setjmp): Set
3285 current_function_has_nonlocal_label.
3286 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
3287 call-saved registers across calls.
3288
3289 * alpha.md (exception_receiver): Remove.
3290 (nonlocal_goto_receiver_osf): New
3291 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
3292 (nonlocal_goto_receiver): New, select _osf or _vms.
3293
3294 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
3295 keep them from being propogated to the object file.
3296 (alpha_write_linkage): Likewise.
3297 * alpha.md (call_vms): Likewise.
3298 (call_value_vms): Likewise.
3299 (unnamed osf call insns): Likewise.
3300
3301 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
3302 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3303
3304 * alpha.c (call_operand): Any reg is valid for WinNT.
3305 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
3306 (anon nt calls): Add 'R' alternative.
3307 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
3308 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
3309
3310 Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
3311
3312 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
3313
3314 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
3315 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
3316 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
3317
3318 Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
3319
3320 * reload1.c (new_spill_reg): Improve fixed or forbidden register
3321 spill error message.
3322
3323 Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3324
3325 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
3326 use varargs.h. Wrap header with <>, not "".
3327
3328 Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
3329
3330 * integrate.c (save_for_inline_copying): Add return value from
3331 savealloc.
3332
3333 Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
3334
3335 * fixincludes: Be a little more restrictive on what we will
3336 substitute to replace definitions of MAXINT for HPUX.
3337
3338 Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
3339
3340 * dbxout.c (dbxout_symbol_location): Don't assume that variables
3341 whose address is the stack or argument pointers are indirect
3342 pointers.
3343
3344 1997-11-13 Paul Eggert <eggert@twinsun.com>
3345
3346 * cccp.c, cpplib.c (compare_defs):
3347 Don't complain about arg name respellings unless pedantic.
3348 * cpplib.c (compare_defs): Accept pfile as new arg.
3349 All callers changed.
3350
3351 Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3352
3353 * fold-const.c (fold_truthop): Fix bug in last change.
3354
3355 1997-11-13 Paul Eggert <eggert@twinsun.com>
3356
3357 Fix some confusion with IEEE minus zero.
3358
3359 * real.h (REAL_VALUES_IDENTICAL): New macro.
3360
3361 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
3362 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
3363 identical to 0.0.
3364 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
3365 same tree structure as 0.0.
3366
3367 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
3368 macro instead of doing it by hand.
3369
3370 Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
3371
3372 * v850/lib1funcs.asm: Minor whitespace changes.
3373 * v850.c: Fix minor formatting problems in many places.
3374 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
3375
3376 Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
3377
3378 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
3379 xplus1 when xplus0 is not a register.
3380
3381 Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
3382
3383 * flow.c (find_basic_blocks): During marking phase, if we encounter
3384 an insn with a REG_LABEL note, make the target block live and
3385 create an edge from the insn to the target block. Do not make
3386 edges from all blocks to the target block.
3387
3388 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
3389
3390 * confiugre.in: Tweak NCR entries.
3391 * configure: Rebuilt.
3392
3393 Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
3394
3395 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
3396 pick apart floating point values, instead of using CONST_DOUBLE_LOW
3397 and CONST_DOUBLE_HIGH.
3398
3399 * rs6000.md (define_splits for DF constants): Use the appropriate
3400 REAL_VALUE_* interface to pick apart DF floating point constants in
3401 a machine independent fashion.
3402
3403 Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3404
3405 * fold-const.c (fold_truthop): When changing a one-bit comparison
3406 against zero into a comparison against mask, do a proper sign
3407 extension.
3408
3409 Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
3410
3411 * except.c: Do not include "assert.h".
3412 (save_eh_status): Turn asserts into conditional aborts.
3413 (restore_eh_status, scan_region): Likewise.
3414 * dwarfout.c: Do not include "assert.h".
3415 (bit_offset_attribute): Turn asserts into conditional aborts.
3416 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
3417 (output_inlined_structure_type_die): Likewise.
3418 (output_inlined_union_type_die): Likewise
3419 (output_tagged_type_instantiation): Likewise.
3420 (dwarfout_file_scope_decl): Likewise.
3421 * dwarf2out.c: Do not include "assert.h"
3422 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
3423 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
3424 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
3425 (add_bit_size_attribute, scope_die_for): Likewise.
3426 (output_pending_types_for_scope): Likewise.
3427 (get_inlined_enumeration_type_die): Likewise.
3428 (get_inlined_structure_type_die): Likewise.
3429 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
3430 (gen_tagged_type_instantiation_die): Likewise.
3431
3432 * flow.c (find_basic_blocks): Refine further to get a more correct
3433 cfg, especially in the presense of exception handling, computed
3434 gotos, and other non-trivial cases. Call abort if an inaccuracy
3435 is detected in the cfg.
3436
3437 Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3438
3439 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
3440
3441 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
3442 (skip_white_space): Use whitespace_cr.
3443 (check_newline): Handle whitespace more consistently.
3444
3445 Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
3446
3447 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
3448 * i386/xm-cygwin32.h (POSIX): Define.
3449
3450 Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
3451
3452 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
3453 is available elsewhere.
3454
3455 Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
3456
3457 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
3458 what the instruction can handle.
3459
3460 Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
3461
3462 * stmt.c (expand_decl_cleanup_no_eh): New fn.
3463
3464 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
3465
3466 Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
3467
3468 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
3469 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
3470
3471 Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
3472
3473 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
3474 swap instruction order.
3475
3476 Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
3477
3478 * fixinc.svr4 (__STDC__): Add another case.
3479
3480 Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3481
3482 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
3483 addresses in the epilogue delay slot.
3484
3485 Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
3486
3487 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
3488 in generated `specs' file.
3489
3490 Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
3491
3492 * flags.h (flag_rerun_loop_opt): Declare.
3493 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
3494 * toplev.c (flag_rerum_loop_opt): Delete static.
3495
3496 Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3497
3498 Bring over from FSF:
3499
3500 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3501
3502 * va-sh.h (__va_arg_sh1): Define.
3503 (va_arg): Use it.
3504 SH3E doesn't use any integer registers for subsequent arguments
3505 once a non-float value was passed in the stack.
3506 * sh.c (machine_dependent_reorg): If optimizing, put explicit
3507 alignment in front label for ADDR_DIFF_VEC.
3508 * sh.h (PASS_IN_REG_P): Fix SH3E case.
3509 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
3510
3511 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3512
3513 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
3514 svr4.h.
3515
3516 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3517
3518 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
3519 put an use_sfunc_addr before each sfunc.
3520 * sh.md (use_sfunc_addr, dummy_jump): New insns.
3521 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
3522
3523 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3524
3525 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
3526
3527 Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
3528
3529 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
3530 linked once FDEs.
3531
3532 Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
3533
3534 * alias.c (find_base_value): Only return the known base value for
3535 pseudo registers.
3536
3537 Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
3538
3539 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
3540 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
3541 to pattern.
3542 (prologue_get_pc_and_set_got): New pattern.
3543
3544 Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
3545
3546 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
3547 for SUBREG, just fall through.
3548
3549 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
3550
3551 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
3552
3553 Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
3554
3555 * fixincludes: Fix "hypot" prototype in NeXT math.h.
3556
3557 * Makefile.in (USE_ALLOCA): Always include alloca.o.
3558 (USE_HOST_ALLOCA): Likewise.
3559
3560 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
3561 and LABEL_REFS fields.
3562 * rtl.h (LABEL_REFS): Update.
3563
3564 Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
3565
3566 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
3567 sets i2dest. When calling distribute_notes for i3dest_killed, pass
3568 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
3569 sets i1dest.
3570
3571 * mips.md (insv, extzv, extv): Add change_address call.
3572 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
3573
3574 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
3575
3576 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
3577
3578 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
3579 save_restore_insns if no FP and GP will be restored.
3580
3581 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
3582 Convert CCmode to word_mode before calling GET_MODE_SIZE.
3583
3584 * acconfig.h (HAVE_INTTYPES_H): Undef.
3585 * configure.in (inttypes.h): Check for conflicts between sys/types.h
3586 and inttypes.h, and verify that intmax_t is defined.
3587 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
3588 * config/mips/x-iris3: Likewise.
3589
3590 Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
3591
3592 * alias.c (find_base_value): When copying arguments, return the
3593 tenative value for a hard register.
3594
3595 Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
3596
3597 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
3598 (yylex): Record wide strings using target endianness, not host.
3599
3600 Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
3601
3602 * mn10200.h (ASM_OUTPUT_BSS): Delete.
3603 (ASM_OUTPUT_ALIGNED_BSS): New macro
3604 * mn10300.h (ASM_OUTPUT_BSS): Delete.
3605 (ASM_OUTPUT_ALIGNED_BSS): New macro.
3606 * v850.h (ASM_OUTPUT_BSS): Delete.
3607 (ASM_OUTPUT_ALIGNED_BSS): New macro.
3608
3609 Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3610
3611 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
3612
3613 Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
3614
3615 * configure.in (sco5): Use cpio to install header files.
3616
3617 Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
3618
3619 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
3620 14 char length.
3621 * configure: Rebuild.
3622
3623 Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
3624
3625 * i386/sco5.h: enable -gstabs once again.
3626
3627 Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
3628
3629 * arm.c (output_move_double): Allocate 3 entries in otherops array.
3630
3631 Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
3632
3633 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
3634 notes for sjlj exceptions too.
3635 (expand_eh_region_end): Similarly for EH_REGION_END notes.
3636 (exception_optimize): Optimize EH regions for sjlj exceptions too.
3637 * final.c (final_scan_insn): Don't output labels for EH REGION
3638 notes if doing sjlj exceptions.
3639
3640 Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
3641
3642 * alias.c (init_alias_analysis): Handle -fno-alias-check when
3643 optimizing correctly.
3644
3645 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
3646 or set current_function_calls_setjmp anymore.
3647
3648 * flow.c (find_basic_blocks): If we delete the label for an
3649 exception handler, remove it from the EH label list and remove
3650 the EH_BEGIN/EH_END notes for that EH region.
3651
3652 Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
3653
3654 * flow.c (find_basic_blocks): Generate correct flow control
3655 information when exception handling notes are present.
3656
3657 Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
3658
3659 * dwarf2out.c (output_call_frame_info): Fix length argument
3660 to ASM_OUTPUT_ASCII.
3661 (output_die, output_pubnames, output_line_info): Likewise.
3662
3663 Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
3664
3665 * version.c: Bump for snapshot.
3666
3667 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
3668 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
3669 flag_debug_asm is on.
3670 (output_die, output_pubnames, output_line_info): Likewise.
3671
3672 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
3673 and static_chain_rtx into the potential base values array if
3674 they are registers.
3675
3676 * alias.c (new_reg_base_value): New array of potential base values.
3677 (unique_id): Now file scoped static.
3678 (find_base_value, case REG): Return the value in reg_base_value
3679 array for the REG if it exists. Else, return the value from
3680 new_reg_base_value if copying args and REG is a hard register.
3681 (find_base_value, case PLUS): If either operand of the PLUS is
3682 a REG, try to get its base value. Handle base + index and
3683 index + base.
3684 (record_set): Use new_reg_base_value instead of reg_base_value.
3685 (init_alias_analysis): Allocate space for new_reg_base_value too.
3686 Rework code to iterate over the insns propagating base value
3687 information until nothing changes.
3688
3689 * global.c (global_alloc): Free the conflict matrix after
3690 reload has finished.
3691
3692 Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
3693
3694 * libgcc2.c (L_eh): Define __eh_pc.
3695 Replace __eh_type with generic pointer __eh_info.
3696
3697 Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
3698
3699 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
3700 use copy_to_reg if address is not a general_operand.
3701
3702 Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3703
3704 * profile.c (output_func_start_profiler): Clear flag_inline_functions
3705 for the duration of the call to rest_of_compilation.
3706
3707 Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
3708
3709 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
3710 Set extra_parts.
3711 (sparc*-*-*): Recognize --with-cpu=v9.
3712 * sparc/elf.h: New file.
3713 * sparc/t-elf: New file.
3714
3715 Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
3716
3717 * mn10300.c (const_8bit_operand): New function.
3718 (mask_ok_for_mem_btst): New funtion.
3719 * mn10300.md (btst patterns with mem operands): Use new functions
3720 to avoid creating btst instructions with invalid operands.
3721
3722 Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
3723
3724 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
3725 are running on PowerPC Linux.
3726
3727 Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
3728
3729 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
3730 if not previously defined.
3731
3732 Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
3733
3734 * function.c (assign_parms): Correct mode of stack_parm if
3735 entry_parm underwent a mode conversion.
3736
3737 1997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
3738
3739 * global.c (global_alloc): Use xmalloc instead of alloca for
3740 CONFLICTS, since max_allocno * allocno_row_words alone can be more
3741 than 2.5Mb sometimes.
3742
3743 Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
3744
3745 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
3746 DEST for the spill, adjust mode of SRC to compensate.
3747
3748 Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
3749
3750 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
3751 since any_memory_operand() allows pseudos during reload.
3752 (reload_inhi, reload_outqi, reload_outhi): Likewise.
3753
3754 Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
3755
3756 * m68k.md (btst patterns): Add 5200 support.
3757
3758 Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
3759
3760 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
3761 optimizations, look inside dividend to determine if the expression
3762 can be simplified by using EXACT_DIV_EXPR.
3763
3764 Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
3765
3766 From Brendan:
3767 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
3768
3769 Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
3770
3771 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
3772
3773 Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
3774
3775 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
3776 on a CLOBBER.
3777
3778 Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
3779
3780 * alpha.md (movqi, movhi): Make sure new insns created during reload
3781 won't need reloading themselves.
3782 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
3783
3784 Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
3785
3786 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
3787
3788 Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
3789
3790 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
3791 Patch from Klaus Kaempf <kkaempf@progis.de>.
3792
3793 Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
3794
3795 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
3796 to an element in a constant string.
3797
3798 Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
3799
3800 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
3801 bit PC-relative offset. The exception range table pointer is now in
3802 the CIE.
3803 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
3804 (count_fdes, add_fdes, get_cie): Adjust.
3805 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
3806
3807 From H.J. Lu:
3808 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
3809
3810 Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
3811
3812 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
3813 like stack_pointer_rtx.
3814
3815 Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
3816
3817 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
3818 targets using "$@" to provide support for similar but not identical
3819 targets without having to duplicate code.
3820 (bootstrap4): New goal.
3821
3822 * Makefile.in (compare, compare-lean, compare3): Combined to one
3823 ruleset determining actions to be performed via $@.
3824 (compare4, compare4-lean): New targets.
3825 (gnucompare, gnucompare3): Combined to one ruleset determining
3826 actions to be performed via $@. Also, note which files failed
3827 the comparison test in .bad_compare.
3828 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
3829
3830 Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
3831
3832 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
3833 if the dividend is a multiple of the divisor.
3834
3835 Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
3836
3837 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
3838
3839 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
3840 and POS_DEC.
3841
3842 * alias.c (true_dependence): Fix typo.
3843
3844 * toplev.c (flag_rerun_loop_opt): New variable.
3845 (f_options): Handle -frerun-loop-opt.
3846 (rest_of_compilation): If -frerun-loop-opt, then run the loop
3847 optimizer twice.
3848 (main): Enable -frerun-loop-opt by default for -O2 or greater.
3849
3850 * loop.c (simplify_giv_expr): Adding two invariants results
3851 in an invariant.
3852
3853 Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
3854
3855 * expr.c (get_inner_reference): Remove the array bias after
3856 converting the index to Pmode.
3857
3858 Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
3859
3860 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
3861 (TARGET_MULT_BUG): Define.
3862 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
3863 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
3864
3865 Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
3866
3867 * mn10200.c (indirect_memory_operand): Delete unused function.
3868 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
3869 * mn10200.md (bset, bclr insns): Handle output in a reg too.
3870
3871 Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
3872
3873 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
3874 the callee's ldgp, we must do it ourselves, and we use the jsr tag
3875 for more than scheduling.
3876
3877 Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
3878
3879 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
3880
3881 Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
3882
3883 * mn10300.c (symbolic_operand, legitimize_address): New functions.
3884 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
3885 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
3886
3887 Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
3888
3889 * version.c: Bump for snapshot.
3890
3891 Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3892
3893 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
3894 for FILENAME.
3895
3896 Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
3897
3898 * toplev.c (flag_exceptions): Default value is 2.
3899 (compile_file): If flag_exceptions still has the value 2, then
3900 set it to 0.
3901
3902 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
3903 (rs6000_save_machine_status): Save pic_offset_table_rtx.
3904 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
3905
3906 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
3907 are shared.
3908
3909 * rs6000.md (*movsi_got_internal_mem): New pattern.
3910 (*movsi_got_internal_mem splitter): New define_split.
3911
3912 Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
3913
3914 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
3915
3916 Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
3917
3918 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
3919 only need to save LR.
3920
3921 Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
3922
3923 * mn10300.md (movqi, movhi): Avoid using address registers as
3924 destinations unless absolutely necessary.
3925
3926 * mn10200.c (expand_prologue): Fix typo.
3927
3928 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
3929 addresses.
3930 * mn10200.md (neghi2): Provide an alternative which works if
3931 the input and output register are the same.
3932
3933 * mn10300.c (print_operand): Handle 'S'.
3934 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
3935 shift amount in last alternative
3936
3937 * mn10300.c (expand_epilogue): Rework to handle register restores
3938 in "ret" and "retf" instructions correctly.
3939
3940 Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
3941
3942 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
3943 extzv for memory operands.
3944
3945 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
3946 redundant conditional moves to single operand.
3947
3948 Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
3949
3950 * v850.h: Move define of __v850__ from CPP_PREDEFINES
3951 to CPP_SPEC.
3952
3953 * xm-v850.h: Use __v850 rather than __v850__ to
3954 identify v850 port.
3955
3956 Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
3957
3958 * mips/mips.c (compute_frame_size): Not a leaf function if
3959 profile_flag set.
3960
3961 Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
3962
3963 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
3964
3965 Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
3966
3967 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
3968 (DEFAULT_ARCH32_P): New macro.
3969 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
3970 (enum cmodel): Declare.
3971 (sparc_cmodel_string,sparc_cmodel): Declare.
3972 (SPARC_DEFAULT_CMODEL): Provide default.
3973 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
3974 (TARGET_FULLANY): Deleted.
3975 (TARGET_CM_MEDMID): New macro.
3976 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
3977 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
3978 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
3979 (CPP_SPEC): Rewrite.
3980 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
3981 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
3982 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
3983 (ASM_SPEC): Add %(asm_arch).
3984 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
3985 Rename asm_default to asm_cpu_default.
3986 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
3987 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
3988 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
3989 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
3990 (MASK_INT64,MASK_LONG64): Delete.
3991 (MASK_ARCH64): Renamed to MASK_64BIT.
3992 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
3993 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
3994 (TARGET_SWITCHES): Always provide 64 bit options.
3995 (ARCH64_SWITCHES): Delete.
3996 (TARGET_OPTIONS): New option -mcmodel=.
3997 (INT_TYPE_SIZE): Always 32.
3998 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
3999 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
4000 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
4001 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
4002 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
4003 CPP_SPEC.
4004 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
4005 * sparc/linux.h: Likewise.
4006 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
4007 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
4008 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
4009 (SPARC_DEFAULT_CMODEL): Define.
4010 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
4011 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
4012 (LONG_DOUBLE_TYPE_SIZE): Define.
4013 (ASM_SPEC): Add %(asm_arch).
4014 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
4015 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
4016 (TARGET_CPU_DEFAULT): Add ultrasparc case.
4017 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
4018 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
4019 (SPARC_DEFAULT_CMODEL): Define.
4020 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
4021 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
4022 MASK_LONG64, MASK_MEDANY.
4023 (SPARC_DEFAULT_CMODEL): Define.
4024 (CPP_PREDEFINES): Delete.
4025 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
4026 (ASM_SPEC): Add %(asm_arch).
4027 (LONG_DOUBLE_TYPE_SIZE): Define.
4028 (DWARF2_DEBUGGING_INFO): Define.
4029 * sparc/splet.h (CPP_SPEC): Delete.
4030 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
4031 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
4032 (BLOCK_PROFILER): Likewise.
4033 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
4034 (sparc_override_options): Handle code model selection.
4035 (sparc_init_expanders): Renamed from sparc64_init_expanders.
4036 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
4037 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
4038 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
4039 (sethi_di_fullany): Delete.
4040
4041 Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
4042 Jeff Law <law@cygnus.com>
4043 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4044
4045 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
4046 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
4047 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
4048 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
4049 * alpha/alpha.md (arg_home): Likewise.
4050
4051 * alpha/alpha.c (vmskrunch): Delete
4052 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
4053 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
4054 truncate to 64 characters.
4055
4056 * make-l2.com: Support openVMS/Alpha.
4057
4058 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
4059
4060 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4061
4062 * longlong.h (count_leading_zeros): Add missing casts to USItype.
4063
4064 Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
4065
4066 * i386/bsd386.h (ASM_COMMENT_START): Define.
4067
4068 Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
4069
4070 * tree.c (restore_tree_status): Also free up temporary storage
4071 when we finish a toplevel function.
4072 (dump_tree_statistics): Print stats for backend obstacks.
4073
4074 Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
4075
4076 * expr.c (use_group_regs): Don't call use_reg for MEMs.
4077
4078 Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
4079
4080 * libgcc2.c (__throw): Don't copy the return address.
4081 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
4082
4083 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
4084 * toplev.c (main): Initialize exceptions_via_longjmp.
4085
4086 * tree.c: Add extra_inline_obstacks.
4087 (save_tree_status): Use it.
4088 (restore_tree_status): If this is a toplevel inline obstack and we
4089 didn't want to save anything on it, recycle it.
4090 (print_inline_obstack_statistics): New fn.
4091 * function.c (pop_function_context_from): Pass context to
4092 restore_tree_status.
4093 * obstack.h (obstack_empty_p): New macro.
4094
4095 Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
4096
4097 * i386/freebsd.h (ASM_COMMENT_START): Fix.
4098
4099 Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
4100
4101 * v850.c (ep_memory_offset): New function.
4102 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
4103
4104 * v850.h (CONST_OK_FOR_*): Add and correct comments.
4105 (CONSTANT_ADDRESS_P): Add comment.
4106 (EXTRA_CONSTRAINT): Define 'U'.
4107 * v850.md: Add comments on bit field instructions.
4108 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
4109 (lshrsi3): Use N not J constraint.
4110
4111 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
4112
4113 * v850.c (reg_or_0_operand): Call register_operand.
4114 (reg_or_int5_operand): Likewise.
4115 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
4116 (TARGET_SWITCHES): Add "big-switch".
4117 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
4118 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
4119 (CASE_DROPS_THROUGH): Comment out.
4120 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
4121 * v850.md (cmpsi): Delete compare mode.
4122 (casesi): New pattern.
4123
4124 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
4125 * v850.md (ashlsi3): Use SImode not QImode for shift count.
4126 (lshrsi3): Likewise.
4127
4128 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
4129 unreachable switch statement after 'b' support. Remove "b" from
4130 strings for 'b' support.
4131 * v850.md (branch_normal, branch_invert): Change %b to b%b.
4132
4133 Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
4134
4135 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
4136 empty line if @inhibit_libc@ is empty.
4137
4138 Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
4139
4140 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
4141 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
4142 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
4143 (DWARF2_UNWIND_INFO): Let this track object file format.
4144 (EXTRA_SECTIONS): Add in_eh.
4145 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
4146 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
4147
4148 Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
4149
4150 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
4151 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
4152 TARGET_MEDANY.
4153 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
4154 (output_double_int): Output DI mode values correctly when
4155 HOST_BITS_PER_WIDE_INT is 64.
4156 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
4157 fmovd so it works if a quad float ends up in one of the upper 32
4158 float regs.
4159 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
4160 necessary for PIC support on sparc64.
4161
4162 Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
4163
4164 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
4165 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
4166 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
4167 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
4168 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
4169 (SPARC_FP_ARG_FIRST): New macro.
4170 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
4171 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
4172 (NPARM_REGS): There are 32 fp argument registers now.
4173 (FUNCTION_ARG_REGNO_P): Likewise.
4174 (FIRST_PARM_OFFSET): Update to new v9 abi.
4175 (REG_PARM_STACK_SPACE): Define for arch64.
4176 (enum sparc_arg_class): Delete.
4177 (sparc_arg_count,sparc_n_named_args): Delete.
4178 (struct sparc_args): Redefine and use for arch32 as well as arch64.
4179 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
4180 (FUNCTION_ARG_ADVANCE): Rewrite.
4181 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
4182 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
4183 (FUNCTION_ARG_CALLEE_COPIES): Delete.
4184 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
4185 (STRICT_ARGUMENT_NAMING): Define.
4186 (doublemove_string): Declare.
4187 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
4188 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
4189 (doublemove_string): New function.
4190 (output_move_quad): Clean up some of the arch64 support.
4191 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
4192 Don't add 8 bytes of reserved space if arch64.
4193 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
4194 (init_cumulative_args): New function.
4195 (function_arg_slotno): New static function.
4196 (function_arg,function_arg_partial_nregs): New functions.
4197 (function_arg_{pass_by_reference,advance}): New functions.
4198 (function_arg_padding): New function.
4199 * ginclude/va-sparc.h: Rewrite v9 support.
4200
4201 Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
4202
4203 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
4204 for hard regs to determine base and index registers.
4205
4206 * reload.c (debug_reload_to_stream): New function. Specify stream
4207 into which to write debug info.
4208 (debug_reload): Modify to call debug_reload_to_stream with stderr.
4209
4210 Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
4211
4212 * combine.c (can_combine_p): Don't combine with an asm whose
4213 output is a hard register.
4214
4215 Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
4216
4217 * c-decl.c (start_struct): Ensure that structs with forward
4218 declarations are in fact packed when -fpack-struct is given.
4219
4220 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
4221 we are packing a structure. This allows a structure with only
4222 bytes to be aligned on a byte boundary and have no padding on a
4223 m68k.
4224
4225 Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4226
4227 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
4228
4229 Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
4230
4231 * alpha.c (alpha_return_addr_rtx): New variable.
4232 (alpha_save_machine_status): New; save it.
4233 (alpha_restore_machine_status): New; restore it.
4234 (alpha_init_expanders): New; clear it.
4235 (alpha_return_addr): New; set it.
4236 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
4237 is overly conservative, so search the insns explicitly.
4238 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
4239 (alpha_sa_size [VMS && !VMS]): Likewise.
4240 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
4241 (INIT_EXPANDERS): New definition.
4242
4243 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
4244 (output_prolog [!VMS]): Use them.
4245
4246 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
4247 (alpha_does_function_need_gp): ... a new function. Refine the
4248 CALL_INSN test to just TYPE_JSR.
4249 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
4250
4251 Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
4252
4253 * version.c: Bump for snapshot.
4254
4255 Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4256
4257 * pa.c (move_operand): Respect -mdisable-indexing.
4258 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
4259
4260 Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
4261
4262 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
4263 PPC601.
4264 (umulsidi3,umulsi3_highpart): Ditto.
4265 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
4266
4267 Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
4268
4269 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
4270 (alpha_handle_trap_shadows): ... a new function. Handle the entire
4271 function in one go. Emit RTL for trapb, instead of printf directly.
4272 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
4273 (trap_pending): Kill global variable.
4274 (output_epilog): Don't call final_prescan_insn.
4275 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
4276 * alpha.h (FINAL_PRESCAN_INSN): Remove.
4277 (MACHINE_DEPENENT_REORG): Define.
4278 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
4279 (trapb): New insn.
4280
4281 Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
4282
4283 Tune Haifa scheduler for Alpha:
4284 * alpha.h (ISSUE_RATE): Define.
4285 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
4286 EV4 adjustments to EV5.
4287 * alpha.md: Remove all scaling from function unit delays. Rework
4288 EV5 function units to match the CPU.
4289 (umuldi3_highpart): EV5 added the IMULH insn class.
4290
4291 Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
4292
4293 * pa.c (following_call): Fail if the CALL_INSN is an indirect
4294 call.
4295
4296 Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
4297
4298 * cplus-dem.c (demangle_signature): Don't look for return types on
4299 constructors. Handle member template constructors.
4300
4301 Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
4302
4303 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
4304 * tree.h: Declare them.
4305
4306 Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
4307
4308 * configure.in: Handle --with-newlib.
4309 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
4310
4311 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
4312
4313 Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
4314
4315 * config/ptx4.h: Fix typo.
4316
4317 Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
4318
4319 * version.c: Bump for snapshot.
4320
4321 Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
4322
4323 * aclocal.m4: Substitute INSTALL.
4324 * configure: Re-built.
4325
4326 Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
4327
4328 * integrate.c (save_for_inline_copying): Avoid undefined pointer
4329 operations.
4330 (expand_inline_function): Likewise.
4331
4332 * dwarf2out.c (output_call_frame_info): Reinstate last change
4333 using flag_debug_asm check instead of flag_verbose_asm.
4334
4335 Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
4336
4337 * dwarf2out.c (output_call_frame_info): Remove last change.
4338
4339 1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4340
4341 * frame.c (__frame_state_for): Execute the FDE insns until the
4342 current pc value is strictly bigger than the target pc value.
4343
4344 Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
4345
4346 * regclass.c (init_reg_modes): If we can't find a mode for the
4347 register, use the previous one.
4348
4349 Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
4350
4351 * haifa-sched.c (print_block_visualization): Call fprintf directly,
4352 don't sprintf through an alloca'ed buffer.
4353
4354 Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
4355
4356 * reload.c (decompose): Always initialize val.base.
4357
4358 Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
4359
4360 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
4361 instead of aborting.
4362 * dwarf2out.c (output_call_frame_info): Call app_enable and
4363 app_disable to let GNU as accept the generated comments.
4364
4365 Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
4366
4367 * tree.h (get_file_function_name): Add declaration.
4368 * dwarf2out.c (output_call_frame_info): No need to cast
4369 get_file_function_name call anymore.
4370 * profile.c (toplevel): Remove get_file_function_name
4371 declaration.
4372 * c-lang.c (finish_file): Ditto.
4373
4374 Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
4375
4376 * Makefile.in (program_transform_name): Let autoconf substitute
4377 the correct value.
4378
4379 Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
4380
4381 * haifa-sched.c (schedule_block): If the first real insn in a
4382 block has any special notes attached to it, remove them.
4383
4384 Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
4385
4386 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
4387
4388 Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
4389
4390 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
4391
4392 Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
4393
4394 * Makefile.in (check-g77): New test target.
4395 (CHECK-TARGETS): Add check-g77.
4396
4397 Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
4398
4399 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
4400
4401 Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
4402
4403 * flow.c (print_rtl_with_bb): Cast alloca return value for
4404 in_bb_p.
4405
4406 Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
4407
4408 * i386.h (RETURN_ADDR_RTX): New definition that works for
4409 __builtin_return_address(0) and -fomit-frame-pointer.
4410
4411 Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
4412
4413 Bring over from FSF.
4414 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
4415
4416 * mips.c (function_arg): Handle passing a struct
4417 containing a double in a DFmode register without the PARALLEL.
4418
4419 Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
4420
4421 * pexecute.c: Use spawn if __CYGWIN32__.
4422
4423 * pexecute.c: Include "config.h" first, as per autoconf manual
4424 (from Paul Eggert <eggert@twinsun.com>).
4425
4426 Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
4427
4428 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
4429 optimisation for f/expr.o and f/stb.o.
4430
4431 Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
4432
4433 * cse.c (this_insn_cc0_mode): Initialize.
4434
4435 Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
4436
4437 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
4438
4439 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
4440
4441 Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
4442
4443 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
4444 that pair will dual-issue on the 21164 and plus+beq won't.
4445 (bne): Likewise for cmpeq+beq.
4446
4447 Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
4448
4449 * except.c (find_exception_handler_labels): Correct argument to free.
4450
4451 Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
4452
4453 * except.c (find_exception_handler_labels): Free LABELS when we're
4454 done.
4455
4456 Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
4457
4458 * version.c: Bump for snapshot.
4459
4460 Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
4461
4462 * flow.c (find_basic_blocks): Mark calls as potentially jumping
4463 to the EH labels.
4464
4465 Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
4466
4467 * configure.in: Substitute for "install" too.
4468 * configure: Rebuilt.
4469
4470 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
4471
4472 * Makefile.in (bootstrap-lean, compare-lean): New targets.
4473
4474 Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
4475
4476 * alias.c (base_alias_check): Two symbols can conflict if they
4477 are accessed via AND.
4478 (memrefs_conflict_p): Likewise.
4479
4480 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
4481 after flushing argument registers to the stack.
4482
4483 * Makefile.in (mostlyclean): Remove .regmove files.
4484
4485 Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
4486
4487 * libgcc2.c (__throw): Fix thinko.
4488
4489 Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
4490
4491 * cplus-dem.c (demangle_template): Add new parameter. Handle new
4492 template-function mangling.
4493 (consume_count_with_underscores): New function.
4494 (demangle_signature): Handle new name-mangling scheme.
4495
4496 Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
4497
4498 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
4499 start and end.
4500
4501 Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
4502
4503 * frame.c: Remove last change.
4504 * dwarf2.h: Remove last change.
4505 * tree.h: Add declarations of DWARF2 unwind info support
4506 functions.
4507
4508 Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
4509
4510 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
4511 * tree.h (built_in_function): Likewise.
4512 * expr.c (expand_builtin): Likewise.
4513 * except.h: Likewise.
4514 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
4515 * libgcc2.c (copy_reg): New fn.
4516 (__throw): Use it.
4517
4518 Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
4519
4520 * c-typeck.c (build_binary_op): Warn about comparing signed vs
4521 unsigned if -W is specified and -Wno-sign-compare is not.
4522 * c-decl.c (warn_sign_compare): Initialize to -1.
4523 (c_decode_option): -Wall no longer implies -Wsign-compare.
4524
4525 Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4526
4527 * frame.c: Include gansidecl.h for PROTO.
4528 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
4529 defined. Don't declare dwarf2out_cfi_label here.
4530 * dwarf2.h: Add declarations of DWARF2 unwind info support
4531 functions.
4532 * m68k.c: Include dwarf2.h.
4533 (output_function_prologue): Add dwarf2 support.
4534 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
4535 (INCOMING_FRAME_SP_OFFSET): Likewise.
4536
4537 * integrate.c (expand_inline_function): Make sure there is at
4538 least one insn that can be used as an insertion point.
4539
4540 Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
4541
4542 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
4543
4544 Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
4545
4546 * version.c: Bump for snapshot.
4547
4548 Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
4549
4550 Bring over from FSF.
4551
4552 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
4553
4554 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
4555 (get_pc_via_rdpc): Renamed from get_pc_sp64.
4556 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
4557
4558 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
4559
4560 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
4561 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
4562 -malign-functions=.
4563 (sparc_align_{loops,jumps,funcs}_string): Declare.
4564 (sparc_align_{loops,jumps,funcs}): Declare.
4565 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
4566 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
4567 (STACK_BIAS): Define.
4568 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
4569 test.
4570 (SPARC_SETHI_P): New macro.
4571 (CONST_OK_FOR_LETTER_P): Use it.
4572 (ASM_OUTPUT_ALIGN_CODE): Define.
4573 (ASM_OUTPUT_LOOP_ALIGN): Define.
4574 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
4575 (sparc_align_{loops,jumps,funcs}): New globals.
4576 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
4577 -malign-functions=.
4578 (move_operand): Use SPARC_SETHI_P.
4579 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
4580 perform test.
4581 (arith11_double_operand): Likewise.
4582 (arith10_double_operand): Likewise.
4583 (finalize_pic): Finish sparc64 support.
4584 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
4585 64 bit constants if able.
4586 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
4587 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
4588 ! TARGET_FPU.
4589 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
4590 (get_pc_sp32): Use for sparc64 as well.
4591 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
4592 (sethi_di_sp64_const): Likewise.
4593 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
4594 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
4595 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
4596
4597 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
4598
4599 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
4600 * sparc/linux.h (COMMENT_BEGIN): Likewise.
4601 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
4602
4603 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
4604
4605 Add sparc64 linux support.
4606 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
4607 to xm_file list on 32-bit sparc-linux.
4608 * sparc/xm-sp64.h: New file.
4609 * sparc/linux64.h: New file.
4610 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
4611 Don't include xm-sparc.h.
4612 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
4613 * glimits.h (LONG_MAX): Handle sparc64.
4614
4615 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
4616
4617 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
4618 * sparc.h (ASM_COMMENT_START): Define.
4619 * sparc.c (output_function_prologue): Use it.
4620 (sparc_flat_output_function_{epi,pro}logue): Likewise.
4621
4622 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
4623
4624 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
4625 use sparc.h's copies.
4626 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
4627 ascii form as well.
4628
4629 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4630
4631 * sparc.c (dwarf2out_cfi_label): Add declaration.
4632 (save_regs, output_function_prologue): Remove cast for it.
4633 (sparc_flat_{save_restore,output_function_prologue): Likewise.
4634 ({save,restore}_regs): No longer inline.
4635
4636 Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4637
4638 * fold-const.c (make_range): Correctly handle cases of converting
4639 from unsigned to signed type.
4640
4641 Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4642
4643 * fold-const.c (merge_ranges): Make sure that if one range is subset
4644 of another, it will always be the second range. Correct (+,-) case to
4645 account for this.
4646
4647 Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
4648
4649 * final.c (final_end_function): Also do dwarf2 thing if
4650 DWARF2_DEBUGGING_INFO.
4651 (final_start_function): Likewise.
4652
4653 Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
4654
4655 * expmed.c (expand_divmod): If compute_mode is not the same as
4656 mode, handle the case where convert_modes() causes op1 to no
4657 longer be a CONST_INT.
4658
4659 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
4660 note holding get_jump_flags() calculation to all JUMP_INSNs.
4661 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
4662 * rtl.c (reg_note_name): Add new note types.
4663
4664 Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
4665
4666 * rtlanal.c (computed_jump_p): Fix typo in last change.
4667
4668 Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4669
4670 * loop.c (indirect_jump_in_function_p): Return 0
4671 by default.
4672
4673 Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
4674
4675 * rs6000/xm-rs6000.h: Fix thinko in last change.
4676 * rs6000/xm-sysv4.h: Likewise.
4677
4678 Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
4679
4680 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
4681
4682 Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
4683
4684 * reg-stack.c (find_blocks): Fix thinko in last change.
4685
4686 1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4687
4688 * m68k.c (output_function_prologue): Add dwarf2 support.
4689
4690 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
4691 INCOMING_FRAME_SP_OFFSET): New definitions.
4692
4693 Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
4694
4695 * combine.c (try_combine): Use NULL_RTX instead of '0' where
4696 appropriate in calls to gen_rtx().
4697 * cse.c (cse_main): Likewise.
4698 * emit-rtl.c (gen_label_rtx): Likewise.
4699 * expr.c (init_expr_once): Likewise.
4700 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
4701 sched_analyze, init_rgn_data_dependences,
4702 compute_block_backward_dependences): Likewise.
4703 * sched.c (schedule_insns): Likewise.
4704 * varasm.c (immed_double_const): Likewise.
4705
4706 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
4707 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
4708
4709 Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
4710
4711 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
4712 (MULTILIB_DEFAULTS): Define.
4713 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
4714 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
4715 (LIBGCC_SPEC): Likewise.
4716 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
4717 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
4718 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
4719 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
4720 (EXTRA_PARTS, TAROUTOPTS): Delete.
4721 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
4722 (MULTILIB_OPTIONS): Define.
4723 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
4724 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
4725
4726 Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
4727
4728 * version.c: Bump for snapshot.
4729
4730 Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
4731
4732 * loop.c (loop_number): Delete function. Change all references
4733 to use uid_loop_num array.
4734 * loop.h (loop_number): Delete declaration.
4735 * unroll.c (unroll_loop): Change "loop_number" references to
4736 use uid_loop_num instead.
4737
4738 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
4739 conditional.
4740 (loop_unroll_iter): Remove unused variable and all references.
4741 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
4742 (insert_bct): Fix minor formatting problems.
4743 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
4744 (loop_unroll_iter): Removed unused decl.
4745 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
4746 Always record the unrolling factor.
4747
4748 * cse.c (simplify_relational_operation): Set h0u just like h0s.
4749 Similarly for h1u and h1s.
4750
4751 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
4752 (find_basic_blocks): Use computed_jump_p to determine if a
4753 particular JUMP_INSN is a computed jump.
4754 * reg-stack.c (find_blocks): Use computed_jump_p to determine
4755 if a particular JUMP_INSN is a computed jump.
4756 * rtlanal.c (jmp_uses_reg_or_mem): New function.
4757 (computed_jump_p): Likewise.
4758 * rtl.h (computed_jump_p): Declare.
4759 * genattrtab.c (pc_rtx): Define and initialize.
4760 * loop.c (loop_optimize): Always determine if the current
4761 function has a computed jump.
4762 (indirect_jump_in_function_p): Use computed_jump_p to determine
4763 if a particular JUMP_INSN is a computed jump.
4764
4765 * loop.c (fix_bct_param): Delete unused function.
4766 (check_bct_param): Likewise.
4767
4768 Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
4769
4770 * frame.c (__deregister_frame): Check properly for initialized object.
4771
4772 Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4773
4774 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
4775
4776 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4777
4778 * jump.c (thread_jumps): check can_reverse_comparison_p before
4779 threading a reversed-condition jump.
4780
4781 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
4782 * haifa-sched.c (update_flow_info): Likewise.
4783
4784 Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
4785
4786 * Makefile.in (BOOT_CFLAGS): Use -O2.
4787
4788 * configure.in (strtoul, bsearch): Have autoconf check for these
4789 functions.
4790 * configure, config.in: Rebuilt.
4791
4792 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
4793 * mips/mips.h (alloca): Likewise.
4794 * rs6000/xm-rs6000.h (alloca): Likewise.
4795 * rs6000/xm-sysv4.h: Likewise.
4796
4797 Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
4798
4799 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
4800 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
4801 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
4802
4803 * except.c (end_eh_unwinder): Subtract 1 from return address.
4804 * libgcc2.c (__throw): Likewise.
4805 (find_exception_handler): Don't change PC here. Compare end with >.
4806
4807 Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
4808
4809 * v850.c (compute_register_save_size): Correct register
4810 number.
4811 * v850.md (save_interrupt, return_interrupt): Correct
4812 register number.
4813 * v850/lib1funcs.asm (save_interrupt): Correct register number.
4814 (return_interrupt): Use stack pointer, not element pointer.
4815
4816 1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
4817
4818 * configure.in, configure: Make sure to create the stage* and include
4819 symbolic links in each subdirectory.
4820
4821 Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
4822
4823 * pa.md (reload_peepholes): Don't allow addresses with side
4824 effects for the memory operand.
4825
4826 Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
4827
4828 * libgcc2.c (find_exception_handler): Subtract one from our PC when
4829 looking for a handler, to avoid hitting the beginning of the next
4830 region.
4831
4832 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
4833
4834 Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
4835
4836 * mips/abi64.h (LONG_MAX_SPEC): Define.
4837 * mips.h (LONG_MAX_SPEC): Define.
4838 (CPP_SPEC): Include long_max_spec.
4839 (EXTRA_SPECS): Include long_max_spec.
4840
4841 Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
4842
4843 * v850.c (construct_save_jarl): Fix thinko in last change.
4844
4845 Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
4846
4847 * version.c: Bump for snapshot.
4848
4849 Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
4850
4851 * libgcc2.c (find_exception_handler): Not found is -1.
4852
4853 * integrate.c (expand_inline_function): Move expand_start_bindings
4854 after expanding the arguments.
4855
4856 Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
4857
4858 * expr.c (expand_expr): Remove previous incorrect change.
4859 If target and slot has no DECL_RTL, then call mark_addressable
4860 again for the slot after we give it RTL.
4861
4862 Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
4863
4864 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
4865 again for the slot after we give it RTL.
4866
4867 Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
4868
4869 * v850.c (register_is_ok_for_epilogue,
4870 pattern_is_ok_for_epilogue, construct_restore_jr,
4871 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
4872
4873 * v850.h (pattern_is_ok_for_prologue,
4874 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
4875 predicates.
4876
4877 * v850.md: Replace prologue and epilogue patterns with a
4878 match_parallel pattern.
4879
4880 Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
4881
4882 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
4883 * configure.in: Use EGCS_PROG_INSTALL.
4884
4885 Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
4886
4887 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
4888 extern inline function.
4889
4890 Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
4891
4892 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
4893 (concat_loc_descriptor): New function.
4894 (loc_descriptor): Call it.
4895 (add_AT_location_description): Also elide the descriptor if both
4896 halves of a CONCAT are pseudos.
4897 (add_location_or_const_value_attribute): Recognize CONCAT too.
4898
4899 Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
4900
4901 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
4902
4903 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
4904 out-or-range reg_offset.
4905 (output_epilog): Likewise.
4906
4907 Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
4908
4909 * cse.c (simplify_relational_operation): If MODE specifies a
4910 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
4911 is derived from the sign bit of the low word.
4912
4913 Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
4914
4915 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
4916
4917 * dwarf2.h: Add DW_CFA_GNU_args_size.
4918 * frame.c (execute_cfa_insn): Likewise.
4919 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
4920 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
4921 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
4922 insn, hand it off to dwarf2out_stack_adjust.
4923 (dwarf2out_begin_prologue): Initialize args_size.
4924 * frame.h (struct frame_state): Add args_size.
4925 * libgcc2.c (__throw): Use args_size.
4926 * final.c (final_scan_insn): If we push args, hand off all insns
4927 to dwarf2out_frame_debug.
4928 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
4929
4930 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
4931 Handle epilogue restore of SP from FP.
4932 * emit-rtl.c (gen_sequence): Still generate a sequence if the
4933 lone insn has RTX_FRAME_RELATED_P set.
4934
4935 * frame.c (extract_cie_info): Handle "e" augmentation.
4936 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
4937 absence of UNALIGNED_*_ASM_OP.
4938 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
4939 (output_call_frame_info): Use "e" instead of "z" for augmentation.
4940 Don't emit augmentation fields length.
4941 (dwarf2out_do_frame): Move outside of #ifdefs.
4942 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
4943 opcodes.
4944
4945 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
4946 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
4947 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
4948 * sparc/sun4gas.h: New file.
4949 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
4950
4951 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
4952 __register_frame_table and __deregister_frame.
4953
4954 1997-09-15 Brendan Kehoe <brendan@cygnus.com>
4955
4956 * except.c (find_exception_handler_labels): Use xmalloc instead of
4957 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
4958 in some cases.
4959
4960 Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
4961
4962 * Makefile.in: Various changes to build info files
4963 in the object tree rather than the source tree.
4964
4965 Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
4966
4967 * fixinc.math: New file to fix math.h on some systems.
4968 * configure.in (freebsd, netbsd): Use fixinc.math on these
4969 systems.
4970 * configure: Rebuilt.
4971
4972 Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
4973
4974 * regmove.c (regmove_optimize): If we end up moving the
4975 original insn due to lifetime overlaps, make sure to move
4976 REG_NOTES too.
4977
4978 Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
4979
4980 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
4981
4982 Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
4983
4984 * haifa-sched.c (add_branch_dependences): Make each insn in
4985 a SCHED_GROUP_P block explicitly depend on the previous insn.
4986
4987 Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
4988
4989 * except.h: Prototype dwarf2 hooks.
4990 * expr.c: Adjust.
4991
4992 Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
4993
4994 * configure.in (native_prefix): Delete.
4995 (mips-dec-netbsd): Don't set prefix.
4996 (*linux*): Don't set prefix.
4997
4998 Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
4999
5000 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
5001 defined. If not defined, include <sys/varargs.h> if
5002 HAVE_SYS_VARARGS_H is defined.
5003 * configure.in: Test for varargs.h and sys/varargs.h.
5004 * configure: Regenerate with autoconf.
5005 * config.in: Regenerate with autoheader.
5006
5007 * cpplib.c (quote_string): Cast first arg of sprintf call
5008 from "unsigned char *" to "char *".
5009 (output_line_command): Ditto.
5010 (macroexpand): Ditto.
5011 (do_line): Cast atoi arg from "unsigned char *" to "char *".
5012
5013 Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
5014
5015 * version.c: Bump for snapshot.
5016
5017 * Makefile.in (compare): Exit with nonzero status if there
5018 are comparison failures. Note which files failed the
5019 comparison test in .bad_compare.
5020
5021 Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
5022
5023 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
5024
5025 Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
5026
5027 * Makefile.in (LN, LN_S): New macros, use where appropriate.
5028 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
5029 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
5030 * configure: Regenerated.
5031
5032 Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
5033
5034 * loop.c (strength_reduce): Fix typo.
5035
5036 Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
5037
5038 * m88k/m88k.c (struct option): Rename to struct options.
5039 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
5040 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
5041 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
5042 __DOLPHIN__ or sysV88.
5043
5044 Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
5045
5046 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
5047 create new subreg.
5048
5049 Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
5050
5051 * config.sub: Accept 'amigados' for backward compatability.
5052
5053 Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
5054
5055 * Makefile.in (testsuite/site.exp): New target.
5056 (check-gcc, check-g++): Depend on testsuite/site.exp.
5057 Don't stop for failure.
5058
5059 Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
5060
5061 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
5062 if DWARF2_UNWIND_INFO.
5063
5064 Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
5065
5066 Add support for exception handling using DWARF 2 frame unwind info.
5067 Currently works on SPARC and MIPS, and almost on x86.
5068
5069 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
5070 next_stack_level, in_reg_window): Helper fns.
5071 (__throw): Implement for DWARF2_UNWIND_INFO.
5072
5073 * expr.c (expand_builtin): Handle builtins used by __throw.
5074 * tree.h (enum built_in_function): Add builtins used by __throw.
5075 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
5076 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
5077 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
5078 (expand_builtin_extract_return_addr): Likewise.
5079 (expand_builtin_frob_return_addr): Likewise.
5080 (expand_builtin_set_return_addr_reg): Likewise.
5081 (expand_builtin_eh_stub): Likewise.
5082 (expand_builtin_set_eh_regs): Likewise.
5083 (eh_regs): Choose two call-clobbered registers for passing back values.
5084
5085 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
5086 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
5087 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
5088 (stmp-multilib): Likewise.
5089 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
5090
5091 * except.c: #include "defaults.h".
5092 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
5093 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
5094 (register_exception_table_p): New fn.
5095 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
5096 (end_eh_unwinder): Likewise.
5097
5098 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
5099 call __register_frame and __deregister_frame as needed.
5100 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
5101 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
5102 EH_FRAME_SECTION_ASM_OP.
5103 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
5104 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
5105 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
5106
5107 * dwarf2out.c (output_call_frame_info): If no support for
5108 EXCEPTION_SECTION, mark the start of the frame info with a
5109 collectable tag.
5110 * collect2.c (frame_tables): New list.
5111 (is_ctor_dtor): Recognise frame entries.
5112 (scan_prog_file): Likewise.
5113 (main): Pass -fno-exceptions to sub-compile. Also do collection
5114 if there are any frame entries.
5115 (write_c_file_stat): Call __register_frame_table and
5116 __deregister_frame as needed.
5117 (write_c_file_glob): Likewise.
5118
5119 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
5120 Also require unaligned reloc support.
5121 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
5122 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
5123 * sparc/sysv4.h: Not here.
5124
5125 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
5126 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
5127 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
5128
5129 * libgcc2.c (L_eh): Reorganize, moving code shared by different
5130 EH implementations to the top.
5131 (find_exception_handler): Split out. Start from 0. Compare against
5132 end with >=.
5133 (__find_first_exception_table_match): Use it.
5134 * except.c (output_exception_table): Don't do anything if there's
5135 no table. Don't output a first entry of zeroes.
5136 (eh_outer_context): Adjust properly.
5137 (add_eh_table_entry): Use xrealloc.
5138 * toplev.c (compile_file): Just call output_exception_table.
5139
5140 Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
5141
5142 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
5143
5144 Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
5145
5146 * except.c (eh_outer_context): Do masking using expand_and.
5147
5148 Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
5149
5150 Add port done awhile ago for the ARC cpu.
5151 * arc/arc.h: New file.
5152 * arc/arc.c: New file.
5153 * arc/arc.md: New file.
5154 * arc/initfini.c: New file.
5155 * arc/lib1funcs.asm: New file.
5156 * arc/t-arc: New file.
5157 * arc/xm-arc.h: New file.
5158 * ginclude/va-arc.h: New file.
5159 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
5160 * ginclude/varargs.h: Likewise.
5161 * Makefile.in (USER_H): Add va-arc.h.
5162 * configure.in (arc-*-elf*): Recognize.
5163 * longlong.h: Add ARC support.
5164
5165 Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
5166
5167 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
5168 when clearing non-BLKmode data.
5169
5170 Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
5171
5172 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
5173 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
5174
5175 * xm-m88k.h (USG): Only define if it hasn't already been defined.
5176
5177 * Makefile.in (risky-stage1): Delete gratutious whitespace.
5178
5179 * Makefile.in (clean): Delete libgcc1-test.
5180
5181 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
5182
5183 Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
5184
5185 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
5186 template.
5187
5188 Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5189
5190 * dwarf2out.c (output_call_frame_info): Call named_section.
5191
5192 Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
5193
5194 * haifa-sched.c (print_value): Fix last change.
5195
5196 Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
5197
5198 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
5199 write_symbols.
5200
5201 Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
5202
5203 * mips.c (function_prologue): Set up the CFA when ABI_32.
5204
5205 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
5206 for dwarf2 unwind info.
5207 (output_function_prologue, sparc_flat_output_function_prologue): Same.
5208
5209 * final.c (final_end_function): Check dwarf2out_do_frame instead
5210 of DWARF2_DEBUG for dwarf2 unwind info.
5211 (final_scan_insn): Likewise.
5212 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
5213 (final): Not here.
5214
5215 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
5216 count > 0.
5217
5218 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
5219
5220 Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
5221
5222 * v850.h (ASM_SPEC): Pass on target processor.
5223 (CPP_PREDEFINES): Only define if not already specified.
5224 (TARGET_VERSION): Only define if not already specified.
5225 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
5226 processor.
5227 (EXTRA_SWITCHES): Extra entries in the switches array.
5228 (TARGET_DEFAULT): Set default target processor.
5229
5230 Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
5231
5232 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
5233 cases, add %# and %/, and add : to make them into extended asms.
5234
5235 Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
5236
5237 * alias.c (init_alias_analysis): Clean up incompatible pointer
5238 type warning in bzero.
5239 * regmove.c (regmove_optimize): Ditto.
5240 * haifa-sched.c (find_rgns): Ditto.
5241
5242 * haifa-sched.c (print_value): Clean up ptr->int cast
5243 warnings.
5244
5245 Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
5246
5247 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
5248 * install.texi (Configurations): Ditto.
5249 * config.sub: Ditto.
5250
5251 Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
5252
5253 * Makefile.in (sdbout.o): Depend on insn-config.h.
5254
5255 Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
5256
5257 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
5258 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
5259
5260 Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
5261
5262 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
5263 prologue insn, only the first elt is significant.
5264 (output_call_frame_info): For exception handling, always use 4-byte
5265 fields as specified by the dwarf2 spec.
5266 Don't skip trivial FDEs.
5267
5268 Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
5269
5270 * version.c: Bump for snapshot.
5271
5272 Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
5273
5274 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
5275 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
5276 when op1_is_pow2.
5277
5278 Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
5279
5280 * final.c (shorten_branches): During first pass, assume worst
5281 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
5282
5283 * Makefile.in (distclean): Remove various things left around
5284 by running the testsuite.
5285
5286 Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
5287
5288 * configure.in (out_file): Emit definition to config.status in order
5289 to have a defined value for configure.lang.
5290 * configure: Re-built.
5291
5292 Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
5293
5294 * configure.in: Make symlink to as-new rather than as.new. Similarly
5295 for ld-new.
5296 * configure: Rebuilt.
5297
5298 Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
5299
5300 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
5301
5302 Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
5303
5304 * sparc/sparc.md: Add ultrasparc scheduling support.
5305 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
5306
5307 Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
5308
5309 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
5310 as initial value for real_label_map.
5311 (copy_for_inline): Likewise.
5312
5313 Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5314
5315 * sched.c (update_flow_info) When looking if to set found_split_dest
5316 or found_orig_dest, look at all parts of a PARALLEL.
5317 * haifa-sched.c (update_flow_info): Likewise.
5318
5319 Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
5320
5321 * v850: New directory for v850 port.
5322 * v850/lib1funcs.asm: New file.
5323 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
5324 * ginclude/va-v850.h: New file.
5325 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
5326 * configure.in (mn10200-*-*): New target.
5327 * configure: Rebuilt.
5328 * config.sub: Handle v850-elf.
5329 * Makefile.in (USER_H): Add va-mn10200.h.
5330 * invoke.texi: Document v850 stuff.
5331
5332 Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
5333
5334 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
5335 has integer TYPE_{MAX,MIN}_VALUE before using them.
5336
5337 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
5338 __HPUX_ASM__ versions.
5339
5340 Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
5341
5342 * install.sh: Delete duplicate install script.
5343
5344 Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
5345
5346 * reg-stack.c (subst_stack_regs): Pop the stack register for a
5347 computed goto which sets the same stack register.
5348
5349 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
5350 destination are both on the regstack.
5351 (subst_stack_regs_pat): Put the destination at the top of the regstack.
5352
5353 Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
5354
5355 * mips.md (nonlocal_goto_receiver): Define.
5356
5357 * profile.c (output_arc_profiler): Check next_insert_after for non
5358 NULL before deferencing it.
5359
5360 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
5361
5362 Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
5363
5364 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
5365
5366 Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
5367
5368 * toplev.c (rest_of_compilation): For passes starting with
5369 flow_analysis, use print_rtl_with_bb instead of print_rtl.
5370
5371 * print-rtl.c (print_rtl_single): Print a single rtl value to a
5372 file.
5373
5374 * flow.c (print_rtl_with_bb): Print which insns start and end
5375 basic blocks. For the start of a basic block, also print the live
5376 information.
5377
5378 Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
5379
5380 * toplev.c (main): Change #elif to #else/#ifdef
5381
5382 * tlink.c: Include ctype.h.
5383 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
5384
5385 Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
5386
5387 * bitmap.c: Conditionally include stdlib.h.
5388 (free): Provide a declaration if NEED_DECLARATION_FREE.
5389
5390 Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
5391
5392 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
5393
5394 Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
5395
5396 * profile.c (output_arc_profiler): Verify next_insert_after is an
5397 INSN before and after skipping a stack pop.
5398
5399 Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5400
5401 * final.c (shorten_branches): Don't count the lengths of deleted
5402 instructions.
5403
5404 Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
5405
5406 * version.c: Bump for snapshot.
5407
5408 Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
5409
5410 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
5411 two bitmaps ANDed together.
5412 (bitmap_print): Declare.
5413
5414 * bitmap.c (function_obstack): Don't declare any more.
5415 (bitmap_obstack): Obstack for allocating links from.
5416 (bitmap_obstack_init): New static to say whether to initialize
5417 bitmap_obstack.
5418 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
5419 (bitmap_release_memory): Free all memory allocated from
5420 bitmap_obstack.
5421
5422 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
5423 EXECUTE_IF_AND_IN_BITMAP.
5424
5425 Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
5426
5427 * alias.c (true_dependence): Address with AND can alias scalars.
5428 (anti_dependence, output_dependence): Likewise.
5429
5430 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
5431
5432 Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
5433
5434 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
5435 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
5436 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
5437 definitions. Use -qrtems instead of -mrtems.
5438
5439 Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
5440
5441 * xm-sco5.h (sys_siglist): Define.
5442 (SYS_SIGLIST_DECLARED): Likewise.
5443
5444 Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
5445
5446 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
5447
5448 Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
5449
5450 * except.c (eh_outer_context): Expand masking operation using
5451 expand_binop.
5452
5453 Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
5454
5455 * alpha.md (floatdisf2-1): New pattern.
5456
5457 Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
5458
5459 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
5460 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
5461 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
5462 * gcc.texi: Note that if you define sys_siglist that you should
5463 also define SYS_SIGLIST_DECLARED.
5464
5465 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
5466 are relative to the next instruction, not the current instruction.
5467
5468 Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
5469
5470 * local-alloc.c (contains_replace_regs): New function.
5471 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
5472 verify that there is no existing REG_EQUIV note, and add a call to
5473 contains_place_regs.
5474
5475 Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
5476
5477 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
5478 (STARTFILE_SPEC): Always use crtbegin.o%s
5479 (ENDFILE_SPEC): Always use crtend.o%s.
5480
5481 Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
5482
5483 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
5484 is passed in.
5485 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
5486 SFmode for 64 bit hosts.
5487
5488 Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
5489
5490 * fixincludes: Permits spaces between # and define. Discard C++
5491 comments in sys/pci.h on HP/UX 10.20.
5492
5493 Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
5494
5495 * version.c: Bump for snapshot.
5496
5497 * pa.c (restore_unscaled_index_insn_codes): New function.
5498 (record_unscaled_index_insn_codes): Likewise.
5499 (output_function_prologue): Call restore_unscaled_index_insn_codes.
5500 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
5501 (pa_reorg): Call record_unscaled_index_insn_codes.
5502
5503 * haifa-sched.c (move_insn): Handle notes correctly for insns
5504 with SCHED_GROUP_P set.
5505
5506 Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
5507
5508 * alpha/xm-linux.h (USE_BFD): Undef before define.
5509
5510 Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
5511
5512 * cse.c (cse_insn): Don't record BLKmode values.
5513
5514 Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
5515
5516 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
5517
5518 Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
5519
5520 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
5521 * collect2.c (sys_errlist): Likewise.
5522 * cpplib.c (sys_errlist): Likewise.
5523 * gcc.c (sys_errlist): Likewise.
5524 * protoize (sys_errlist): Likewise.
5525 * configure.in: Check for strerror.
5526 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
5527 * xm-gnu.h (HAVE_STRERROR): Likewise.
5528 * xm-linux.h (HAVE_STRERROR): Likewise.
5529 * xm-netbsd.h (HAVE_STRERROR): Likewise.
5530 * xm-bsd386.h (HAVE_STRERROR): Likewise.
5531 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
5532 * xm-dos.h (HAVE_STRERROR): Likewise.
5533 * xm-mingw32.h (HAVE_STRERROR): Likewise.
5534 * xm-pa.h (HAVE_STRERROR): Likewise.
5535 * xm-papro.h (HAVE_STRERROR): Likewise.
5536 * xm-sysv4.h (HAVE_STRERROR): Likewise.
5537 * configure, config.in: Rebuilt.
5538
5539 * Makefile.in: Add several missing "else true" clauses.
5540
5541 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
5542 * mips-tfile.c: Likewise.
5543 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
5544 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
5545 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
5546 * configure.in: Check for sys_siglist declaration.
5547 * configure, config.in: Rebuilt.
5548
5549 Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
5550
5551 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
5552 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
5553 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
5554 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
5555 * rs6000/sysv4.h (extra_subtarget_switches): Added new
5556 macro EXTRA_SUBTARGET_SWITCHES.
5557 * configure.in (sh*-*-rtems*): New target.
5558 * sh/rtems.h: New file.
5559 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
5560 * configure: Rebuilt.
5561
5562 Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
5563
5564 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
5565
5566 Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
5567
5568 * rs6000.md: Make DF fused-add operations pay attention to
5569 -mno-fused-add.
5570
5571 Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
5572
5573 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
5574
5575 Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
5576
5577 * pa.md (reload_peepholes): Make sure operand is a REG before
5578 examining REGNO. Allow general registers too.
5579
5580 Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
5581
5582 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
5583
5584 Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
5585
5586 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
5587 to reallocate abbrev_die_table.
5588
5589 Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
5590
5591 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
5592
5593 1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5594
5595 * Makefile.in (config.status): Depend on version.c
5596
5597 * expr.h (insn_gen_function): Reenable prototype.
5598
5599 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
5600 first parameter.
5601
5602 Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
5603
5604 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
5605
5606 Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
5607
5608 * version.c: Bump for latest snapshot.
5609
5610 * bc-optab.c: Conditionally include stdlib.h.
5611 (free): Provide a declaration if NEED_DECLARATION_FREE.
5612 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
5613 * rtl.h (free): Remove declaration.
5614 * tree.h (free): Remvoe declaration.
5615
5616 * configure: Rebuilt.
5617
5618 Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
5619
5620 * flags.h (flag_move_all_movables): Declare.
5621 (flag_reduce_all_givs): Likewise.
5622 * loop.c (move_movables): Handle flag_move_all_movables.
5623 (strength_reduce): Handle flag_reduce_all_givs.
5624 * toplev.c (flag_move_all_movables): Define.
5625 (flag_reduce_all_givs): Likewise.
5626 (f_options): Add -fmove-all-movables and -freduce-all-givs.
5627 * invoke.texi: Document new options, including alias stuff that
5628 wasn't included last time.
5629
5630 Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
5631
5632 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
5633 * t-mn10200: Ditto.
5634 * t-vxsparc: Ditto.
5635 * t-vxworks68: Ditto.
5636 * t-vxworks960: Ditto.
5637 * t-vx29k: Ditto.
5638
5639 Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
5640
5641 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
5642 if not already defined, and USE_C_ALLOCA not defined.
5643
5644 Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
5645
5646 * config.guess: Replace with script that uses ../config.guess.
5647
5648 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
5649 if USE_GNULIBC_1 is not defined.
5650
5651 Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
5652
5653 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
5654 * config.guess: Recognize alpha-linux-gnulibc1.
5655 * configure.in (alpha-*-linux-gnulibc1): New target.
5656 (alpha-*-linux-gnu*): Don't build crtbegin/end.
5657
5658 Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
5659
5660 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
5661 last change.
5662
5663 Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
5664
5665 * loop.c (combine_movables): Earlier insns don't match later ones.
5666
5667 Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
5668
5669 * config/linux.h (CC1_SPEC): Define it only if not defined.
5670
5671 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
5672 <linux.h>
5673
5674 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
5675 USE_GNULIBC_1 is not defined.
5676
5677 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
5678
5679 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
5680 as 1 if USE_GNULIBC_1 is not defined.
5681
5682 Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
5683
5684 * reorg.c (dbr_schedule): Allow current_function_return_rtx
5685 to be something other than a REG.
5686 * function.c (expand_function_end): Fix current_function_return_rtx
5687 if it was a pseudo.
5688
5689 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
5690 * x-netbsd: Likewise
5691 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
5692 (INSTALL_HEADERS): Delete.
5693 * x-dguxbcs: Likewise.
5694 * x-hp3bsd44: Likewise
5695 * x-pa: Likewise.
5696
5697 Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5698
5699 * i386.md (pop): pop increments the stack pointer.
5700 (prologue_set_stack_ptr): New pattern.
5701 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
5702 instead of subsi3.
5703
5704 Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
5705
5706 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
5707 address where an offsettable address is required.
5708
5709 Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
5710
5711 * loop.c (check_final_value): Don't miss a biv increment in a
5712 parallel.
5713
5714 Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
5715
5716 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
5717 TYPE_DECL_IS_STUB instead of DECL_NAME.
5718
5719 Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
5720
5721 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
5722
5723 Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
5724
5725 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
5726
5727 Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
5728
5729 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
5730 (find_post_sched_live): Likewise.
5731
5732 * haifa-sched.c (schedule_block): Remove old code to get arguments
5733 from hard regs into pseudos early.
5734
5735 Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
5736
5737 * version.c: Bump for new snapshot.
5738
5739 * local-alloc.c (update_equiv_regs): All the target to reject
5740 promotion of some REG_EQUAL to REG_EQUIV notes.
5741 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
5742
5743 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
5744 secondary reloads.
5745
5746 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
5747 store of the argument registers.
5748
5749 Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
5750
5751 * fold-const.c (multiple_of_p): New function.
5752 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
5753
5754 Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
5755
5756 * expr.h (insn_gen_function): Temporarily remove prototype.
5757
5758 Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
5759
5760 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
5761 filenames. Use sed to extract base filename for install.
5762
5763 Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
5764
5765 * unroll.c (find_splittable_givs): Only share if two givs have the
5766 same add and multiply values.
5767
5768 Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
5769
5770 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
5771 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
5772
5773 Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
5774
5775 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
5776 around branch tables.
5777 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
5778 and .end_brtab directives if TARGET_GAS.
5779
5780 Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
5781
5782 * alias.c (true_dependence): Pass x_addr not x to varies.
5783
5784 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
5785 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
5786 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
5787 declarations.
5788 * config.in, configure: Regenerate.
5789
5790 Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
5791
5792 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
5793 LO_SUM.
5794 (record_set): Handle LO_SUM like PLUS.
5795 (init_alias_analysis): When following chains of base addresses,
5796 do not stop on reaching a hard register.
5797
5798 Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
5799
5800 * version.c: Bump for new snapshot.
5801
5802 Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
5803
5804 * alpha.h (ARCH_ASM_FILE_START): Define.
5805 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
5806 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
5807
5808 Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
5809
5810 * Makefile.in (install-common): Put gcov comment at start of line.
5811
5812 Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
5813
5814 * alias.c (init_alias_analysis): When simplifying the reg_base_value
5815 array, simplify entries for hard registers too.
5816
5817 Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
5818
5819 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
5820 list.
5821
5822 Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
5823
5824 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
5825 block_stack before dereferencing it.
5826
5827 Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
5828
5829 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
5830
5831 Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
5832
5833 * cplus-dem.c: Add 'extern' to prepends_underscore.
5834
5835 Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
5836
5837 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
5838 (get_issue_rate): Delete.
5839 * pa.h (ISSUE_RATE): Define.
5840
5841 * configure.in: Turn on haifa by default for the PA.
5842 * configure: Rebuilt.
5843 * pa.c (override_options): Accept -mschedule=7200 option.
5844 (pa_adjust_cost): No longer need to scale costs for newer
5845 processors.
5846 * pa.h (enum processor_type): Add PROCESSOR_7200.
5847 * pa.md: Revamp scheduling parameters to work better with
5848 haifa. Add scheduling parameters for the 7200.
5849
5850 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
5851 insns too.
5852 (schedule_block): When adjusting basic_block_{head,end}, account
5853 for movement of SCHED_GROUP_P insns too.
5854
5855 * haifa-sched.c (debug_dependencies): Fix thinko.
5856
5857 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
5858 (site.exp, check, check-g++, check-gcc): New targets.
5859
5860 * haifa-sched.c: Make lots of variables static.
5861
5862 Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
5863
5864 * expr.h, real.h: Finish prototyping.
5865
5866 Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
5867
5868 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
5869 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
5870 * reload1.c: Undo bugfix from Aug 11.
5871
5872 Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
5873
5874 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
5875 quotes around the name.
5876 * configure: Regenerate.
5877
5878 Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
5879
5880 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
5881
5882 Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
5883
5884 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
5885 to sub-makes to avoid building more passes than the user might have
5886 requested on the command line.
5887
5888 Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
5889
5890 * configure.in: Expurgate `broken_install' (install is
5891 autoconfed).
5892
5893 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
5894 relevant).
5895
5896 Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
5897
5898 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
5899 functions and declarations.
5900 (analyze_loop_iterations): Use condjump_p.
5901 (insert_bct): Likewise. Use exact_log2.
5902
5903 Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
5904
5905 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
5906 (schedule_region): Likewise.
5907 (schedule_insns): Likewise.
5908
5909 * PROJECTS: Update with Haifa stuff.
5910
5911 Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
5912
5913 * version.c: Change the version string to look like:
5914 egcs-2.90.00 970814 (gcc2-970802 experimental).
5915
5916 * loop.c (is_conditional_branch): Make definition match declaration.
5917
5918 * gcc.c: Take out experimental snapshot warning message.
5919
5920 Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
5921
5922 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
5923 print out the names of the notes. Print out the name of the insn
5924 that is not a note, and not an {,CALL_,JUMP_}INSN.
5925
5926 Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
5927
5928 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
5929 again for the slot after we give it RTL.
5930
5931 Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
5932
5933 * configure.in (haifa configury): Fix typo.
5934 * configure: Regenerate.
5935
5936 Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
5937
5938 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
5939
5940 * gcc.info*: Rebuilt.
5941
5942 * COPYING.g77, README.g77: New files.
5943 * real.c (ereal_unto_float, ereal_unto_double): New functions.
5944 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
5945 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
5946
5947 Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
5948
5949 * Integrate Haifa instruction scheduler.
5950 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
5951 to sched with $(SCHED_CFLAGS.
5952 * configure.in: Handle --enable-haifa.
5953 * configure: Rebuilt.
5954 * flags.h: Add new flags for haifa instruction scheduler.
5955 * genattrtab.c (expand_units): For haifa, don't subtract one
5956 when computing blockage.
5957 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
5958 (flag_schedule_speculative): Ditto.
5959 (flag_schedule_speculative_load): Ditto.
5960 (flag_schedule_speculative_load_dangerous): Ditto.
5961 (flag_schedule_reverse_before_reload): Ditto.
5962 (flag_schedule_reverse_after_reload): Ditto.
5963 (flag_branch_on_count_reg): Ditto.
5964 (f_options): Add Haifa switches.
5965 (main): Turn off some Haifa options if appropriate macro is
5966 defined. Process Haifa switches.
5967 * unroll.c (iteration_info): No longer static, since Haifa
5968 scheduler uses it.
5969 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
5970 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
5971 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
5972 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
5973 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
5974 storage for the Haifa scheduler.
5975 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
5976 LABEL_NEXTREF.
5977 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
5978 are defined, call analyze_loop_iterations and insert_bct to use
5979 countdown loops.
5980 (record_giv): Refine test for jumps out of loops if HAIFA is
5981 defined.
5982 (analyze_loop_iterations): New function to identify if we can use
5983 a countdown loop.
5984 (insert_bct): Insert countdown loop.
5985 (instrument_loop_bct): Low level code to insert countdown loop.
5986 (loop_number): Calculate UID of loop.
5987 (indirect_jump_in_function_p): Return true if an indirect jump is
5988 in the function.
5989 (is_power_of_2): Return true if value is a power of 2.
5990 (is_conditional_branch): Return true if insn is a conditional
5991 jump.
5992 (fix_bct_param): Process -fbct-{min,max}-N switches.
5993 (check_bct_param): Return true if loop should be instrumented.
5994 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
5995 (loop_optimize): Initialize.
5996 (get_condition_for_loop): Ditto.
5997 * loop.c (strength_reduce): Inside of code that uses #ifdef
5998 HAVE_decrement_and_branch_on_count code, test it to make sure the
5999 condition is true.
6000 (instrument_loop_bct): Ditto.
6001 * haifa-sched.c: New file.
6002
6003
6004 * Integrate regmove pass.
6005 * Makefile.in (OBJS): Add regmove.o
6006 (regmove.o): Add dependencies.
6007 * flow.c (find_use_as_address): No longer static.
6008 * rtl.h (find_use_as_address): Declare.
6009 * toplev.c (regmove_dump, flag_regmove): Define.
6010 (f_options): Add -fregmove.
6011 (regmove_dump_file, regmove_time): Define.
6012 (fatal_insn): Close the regmove dump file.
6013 (compile_file): Initialize regmove_time; open/close the regmove dump
6014 file as needed. Print regmove time as needed.
6015 (rest_of_compilation): Run regmove pass if requested, dump
6016 RTL after regmove if requested.
6017 (main): If -O2 or more, turn on regmove. Handle dump switches.
6018 * regmove.c: New file.
6019
6020 Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
6021
6022 * Integrate tlink patch from jason@cygnus.com
6023 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
6024 (process_command): Increment n_switches for them. Don't discard
6025 their args. Validate them.
6026 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
6027 From Rohan Lenard.
6028 (process_command): Set include_prefixes from COMPILER_PATH.
6029 (main): Set COLLECT_GCC_OPTIONS sooner.
6030 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
6031 * tlink.c, hash.c, hash.h: New files.
6032 * Makefile.in (USE_COLLECT2): Always use collect2.
6033 (collect2): Depend on and link in hash.o and tlink.o.
6034 (tlink.o, hash.o): Add dependencies.
6035
6036 Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
6037
6038 * Integrate alias analysis changes from jfc@mit.edu
6039 * Makefile.in (OBJS): Add alias.o
6040 (alias.o): Add dependencies.
6041 * alias.c: New file.
6042 * sched.c: Remove alias analysis code. It lives in alias.c now.
6043 (sched_analyze_2): Add new arguments to true_dependence.
6044 (schedule_insns): Always call init_alias_analysis.
6045 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
6046 mark return value from such functions as a pointer and keep track of
6047 them for alias analysis. If a return value from a function is a
6048 pointer, mark it as such.
6049 * combine.c (distribute_notes): Handle REG_NOALIAS.
6050 * cse.c (struct write_data): Delete. No longer needed.
6051 (invalidate): Don't call set_nonvarying_address_components anymore.
6052 Use true_dependence to decide if an entry should be removed from
6053 the hash table.
6054 (invalidate_memory): Remove WRITES argument, simplify appropriately.
6055 Fix all callers.
6056 (note_mem_written): Similarly for WRITE_PTR argument.
6057 (invalidate_from_clobbers): Similarly for W argument.
6058 (invalidate_for_call): Remove memory elements from the hash table.
6059 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
6060 (cse_rtx_varies_p): New function. Derived from old
6061 cse_rtx_addr_varies_p.
6062 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
6063 Don't call note_mem_written anymore. Stack pushes invalidate the stack
6064 pointer if PUSH_ROUNDING is defined. No longer need to call
6065 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
6066 (skipped_writes_memory): Remove variable.
6067 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
6068 (invalidate_skipped_block): Simplify for new alias analysis code.
6069 (cse_set_around_loop): Likewise.
6070 (cse_main): Call init_alias_analysis.
6071 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
6072 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
6073 (f_options): Add new alias checking arguments.
6074 (main): Set flag_alias_check when optimizing.
6075 * local_alloc (validate_equiv_mem_from_store): Add new arguments
6076 to true_dependence.
6077 (memref_referenced_p): Likewise.
6078 * loop.c (NUM_STORES): Increase to 30.
6079 (prescan_loop): Only non-constant calls set unknown_address_altered.
6080 (invariant_p): Add new arguments to true_dependence.
6081 (record_giv): Initialize unrolled and shared fields.
6082 (emit_iv_add_mult): Call record_base_value as needed.
6083 * loop.h (struct induction): Add unrolled and shared fields.
6084 * unroll.c (unroll_loop): Call record_base_value as needed.
6085 (copy_loop_body): Likewise.
6086 (final_biv_value): Likewise.
6087 (final_giv_value): Likewise.
6088 (find_splittable_regs): Likewise. Only create one new pseudo
6089 if we have multiple address GIVs that were combined with the same
6090 dst_reg GIV. Note when a new register is created due to unrolling.
6091 * rtl.c (reg_note_name): Add REG_NOALIAS.
6092 * rtl.h (enum reg_note): Similarly.
6093 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
6094 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
6095 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
6096 (true_dependence, read_dependence, anti_dependence): Likewise.
6097 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
6098 (mark_user_reg, mark_reg_pointer): Likewise.
6099
6100
6101 * Integrate reload bugfix from Wilon which enables the PA port
6102 to bootstrap again.
6103 * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
6104 OPERAND_ADDRESS when computing how many registers an insn needs.
6105 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
6106 conflict.
6107 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
6108 OPADDR_ADDR reload.
6109 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
6110 in reload_reg_use_in_op_addr do not reach the end.
6111 do not reach the end.
6112 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
6113 RELOAD_FOR_OPERAND_ADDRESS.
6114
6115 Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
6116
6117 * egcs project officially starts.
6118
This page took 0.281351 seconds and 6 git commands to generate.