Another minor system.h cutover:
[gcc.git] / gcc / ChangeLog
1 Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2
3 * Makefile.in (genrtl.o): Depend on system.h.
4 * gengenrtl.c (gencode): When creating genrtl.c, have it
5 include system.h.
6
7 Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8
9 * config/m68k/t-linux: Remove extra stuff already included in
10 config/t-linux.
11
12 Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
13
14 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
15 curses.h if it contains `typedef char bool;', as suggested by
16 Manfred Hollstein <manfred@s-direktnet.de>.
17
18 * configure.in: Rename fixinc.math to fixinc.wrap.
19
20 Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
21
22 * gcc.c (read_specs): Handle missing blank line at end of specs file.
23
24 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
25 movdfcc_1): Disable.
26
27 Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
28
29 * configure.in (enable_threads): Rename to enable_threads_flag before
30 main loop. Set enable_threads to enable_threads_flag inside main
31 loop.
32
33 Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
34
35 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
36 multiple times.
37
38 Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
39
40 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
41
42 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
43 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
44 (AC_CHECK_FUNCS): Remove unused check for vprintf.
45
46 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
47 (cccp.o): Depend on gansidecl.h.
48 (cexp.o): Likewise.
49
50 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
51 per the rest of gcc source.
52 * cexp.y: Likewise. Include gansidecl.h and remove all code made
53 redundant.
54
55 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
56 used when vfprintf is missing.
57 * cexp.y: Likewise.
58 * gcc.c: Likewise.
59 * genattrtab.c: Likewise.
60 * mips-tfile.c: Likewise.
61 * toplev.c: Likewise.
62
63 * vfprintf.c: New file.
64 * doprint.c: New file.
65
66 Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
67
68 * config/linux.h (ASM_COMMENT_START): Remove from here,
69 * config/linux-aout.h (ASM_COMMENT_START): and here,
70 * config/i386/linux.h (ASM_COMMENT_START): to here,
71 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
72 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
73 here as '#' too.
74
75 Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
76
77 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
78 constant.
79
80 Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
81
82 * Makefile.in (dwarfout.o) Add toplev.h dependency.
83 * dwarfout.c, i386.c: Include toplev.h
84 * toplev.h: (pfatal_with_name) Add prototype.
85
86 Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
87
88 * Makefile.in: Fix .SUFFIXES.
89
90 Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
91
92 * config/linux.h (ASM_COMMENT_START): Define as "#".
93 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
94
95 Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
96
97 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
98 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
99
100 * toplev.c: Include toplev.h.
101 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
102 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
103 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
104 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
105 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
106 toplev.h dependency.
107
108 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
109 HARD_FRAME_POINTER_REGNUM.
110
111 * expr.c (target_temp_slot_level): Delete duplicate definition.
112
113 Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
114
115 * stmt.c (mark_seen_cases): Make it have external linkage again.
116 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
117 has been included.
118
119 * haifa-sched.c (print_value, case SUBREG): Fix typo.
120
121 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
122 * i386.h (REG_CLASS_CONTENTS): Similarly.
123
124 * toplev.c (-fsched-max): Delete flag.
125 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
126 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
127 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
128 conditionals.
129
130 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
131 inner loops which are not reducible.
132
133 * loop.c (regs_match_p): Fix typo in prototype.
134
135 * regmove.c (try_auto_increment): Wrap declaration inside an
136 #ifdef AUTO_INC_DEC.
137
138 Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
139
140 * final.c (output_operand_lossage): Call fatal with the operand
141 lossage message instead of calling abort.
142
143 Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
144
145 * c-common.c: Convert to using ctype macros defined in system.h.
146 * c-lex.c: Likewise.
147 * cccp.c: Likewise.
148 * collect2.c: Likewise.
149 * rs6000.c: Likewise.
150 * cpplib.c: Likewise.
151 * fix-header.c: Likewise.
152 * gcc.c: Likewise.
153 * gen-protos.c: Likewise.
154 * pexecute.c: Likewise.
155 * protoize.c: Likewise.
156 * rtl.c: Likewise.
157 * scan.c: Likewise.
158 * stmt.c: Likewise.
159 * tlink.c: Likewise.
160 * toplev.c: Likewise.
161
162 Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
163
164 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
165 Replace -gdwarf-2 with -g0.
166
167 Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
168
169 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
170 * mips-tdump.c: Include system.h, remove redundant headers.
171 * mips-tfile.c: Likewise. Also, convert all ctype function calls
172 to calls of the macro versions defined in system.h.
173
174 * objc/Make-lang.in (objc-act.o): Depend on system.h.
175 * objc/objc-act.c: Include system.h, remove redundant headers.
176
177 Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
178
179 * configure.in (AC_CHECK_FUNCS): Add isascii.
180 (GCC_NEED_DECLARATIONS): Add atof.
181
182 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
183 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
184
185 Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
186
187 * system.h: Wrap time.h and sys/file.h in autoconf checks.
188 Provide default definitions for O_RDONLY and O_WRONLY here.
189
190 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
191
192 1998-05-06 Mark Mitchell <mmitchell@usa.net>
193
194 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
195
196 Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
197
198 * toplev.h: New file. Protypes for functions in toplev.c.
199 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
200 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
201 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
202 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
203 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
204 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
205 varasm.c: include it.
206
207 Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
208 Jim Wilson (wilson@cygnus.com)
209
210 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
211 blocks. Check for 1 successor which is the EXIT_BLOCK.
212
213 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
214 unreachable loops with more than one block.
215
216 Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
217
218 * fix-header.c (write_rbrac): Add "abort" to functions which need to
219 be protected.
220
221 Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
222
223 * Check in merge from gcc2. See ChangeLog.12 for details.
224
225 Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
226
227 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
228 accept 'a' flag. 'S' does accept 'a' flag.
229 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
230 and `a' flag.
231
232 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
233
234 Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
235
236 * config/m68k/m68k.h: Declare functions from m68k.c used in
237 macros and machine description.
238 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
239 long values.
240 (ASM_OUTPUT_FLOAT): Likewise.
241 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
242
243 Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
244
245 * tree.def: Add NAMESPACE_DECL.
246 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
247 * dwarf2out.c (push_decl_scope): Likewise.
248 (scope_die_for): Likewise.
249 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
250 how to get next context level.
251
252 Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
253
254 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
255 case.
256
257 Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
258
259 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
260
261 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
262 for any insns skipped at the start of a block because they were
263 redundant.
264
265 Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
266
267 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
268
269 1998-05-04 Ulrich Drepper <drepper@cygnus.com>
270
271 * c-common.c (format_char_info): Add new field hhlen.
272 (print_char_table, scan_char_table, time_char_table): Initialize
273 hhlen field appropriately.
274 (char_format_info): Recognize hh modifier and lookup correct char
275 table entry.
276
277 Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
278
279 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
280 reference if this is a store.
281
282 Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
283
284 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
285
286 Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
287
288 Make UnixWare 7 bootstrap support work with final shipping product.
289 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
290 Pick up xm-siglist and xm-alloca.
291 (xm_defines): Add USG so dbxout will build.
292 * configure: Regenerate.
293
294 Sun May 3 13:51:34 PDT 1998 Richard Henerson <rth@cygnus.com>
295
296 Support for official Sparc V9 ABI:
297 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
298 Care for flag_pcc_struct_return default.
299 (output_move_quad): Rewrite to move by halves on v9 and in the
300 proper direction.
301 (move_quad_direction): New function.
302 (output_fp_move_quad): Use it to determine the direction of copy.
303 (function_arg_slotno): Return -1 for FP reg overflow as well.
304 (function_arg_record_value*): New functions.
305 (function_arg): Use them. Streamline unprototyped parameter passing.
306 (function_arg_pass_by_reference): Pass TCmode by reference.
307 (function_value): New function.
308 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
309 long long in 64-bit mode.
310 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
311 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
312 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
313 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
314 (BASE_INCOMING_ARG_REG): Likewise.
315 (FUNCTION_VALUE): Call function_value.
316 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
317 * sparc.md (movdi_sp32_v9): Disable for arch64.
318 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
319 (call_value_address_sp64): Remove register class constraints.
320 (call_value_symbolic_sp64): Likewise.
321 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
322 v9 case to 32-bit constants.
323 (goto_handler_and_restore_v9): Provide a version for arch64.
324 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
325 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
326 (CPP_PREDEFINES): New.
327 * sparc/sp64-elf.h: Likewise.
328 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
329 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
330 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
331
332 Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
333
334 * version.c: Bump for snapshot.
335
336 Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
337
338 * reload.c (find_reloads): Emit USEs to mark where a pseudo
339 is reloaded with the MEM of its stack slot.
340 * reload1.c (cannot_omit_stores): Delete.
341 (reload): Don't initialize it.
342 Don't apply avoid_return_reg logic to USEs.
343 When done, remove USEs that have a REG_EQUAL note on them.
344 (emit_reload_insns): Handle case where we have inherited a MEM.
345 (delete_output_reload): Don't use cannot_omit_stores.
346
347 Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
348
349 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
350
351 Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
352
353 * haifa-sched.c (print_{exp,value}): Various changes to make the
354 debug output easier to read. Also, use only one buffer, and make
355 sure the buffer we are passed in doesn't overflow.
356 (safe_concat): Concatenate to a buffer without overflow.
357
358 Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>
359
360 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
361 with the prototype.
362
363 Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
364
365 * sched.c (new_insn_dead_notes): Check if the register was
366 used in the original instruction.
367 * haifa-sched.c (new_insn_dead_notes): Likewise.
368
369 Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
370
371 * dwarf2out.c (scope_die_for): If could not find proper scope,
372 check for and handle tagged type with incorrect TYPE_CONTEXT.
373
374 Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
375
376 * calls.c (expand_call): Fix recognition of C++ operator new.
377
378 * alias.c (mode_alias_check): Disable type based alias detection.
379
380 Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
381
382 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
383 ASM_OUTPUT_WEAK_ALIAS): Define.
384 * config/mips/elf64.h: Same.
385 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
386 ASM_WEAKEN_LABEL): Removed.
387
388 Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
389
390 * calls.c (expand_call): Bump the length limit on the specially
391 recognized function names to 17.
392
393 Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
394
395 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
396 when undefining macros at the end.
397
398 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
399 val or len has TREE_SIDE_EFFECTS set.
400
401 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
402 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
403 (smuldi3_highpart): Call const v8plus routine.
404 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
405 (const_smulsi3_highpart_v8plus): New pattern.
406 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
407 (umulsidi3): Call const v8plus routine.
408 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
409 routine.
410 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
411 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
412
413 Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
414
415 * m32r.c (*_oper{and|ator}): Change enum arguments and return
416 values to int, so they can be prototyped even in files that don't
417 include rtl.h.
418 ({small,large}_insn_p): Ditto.
419 (m32r_select_cc_mode): Ditto.
420 (gen_compare): Ditto.
421 (function_arg_partial_nregs): Ditto.
422 (m32r_setup_incoming_varargs): Ditto.
423 (init_reg_tables): Add prototype.
424 (m32r_frame_info): Add prolog_size field.
425 (m32r_compute_frame_size): Calculate the size of the prologue.
426 (m32r_first_insn_address): Return prologue size.
427 (m32r_output_function_prologue): Calculate frame size before
428 printing out information. Print out the prologue size.
429
430 * m32r.h: Prototype all functions in m32r.c.
431 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
432
433 * m32r.md (bcc functions): Cast enum's to int.
434
435 * m32r.c (conditional_move_operand): Silence a debug message.
436 ({small,long}_insn): New predicates.
437
438 * m32r.h (TARGET_M32R): New macro.
439 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
440 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
441 was selected.
442 (ISSUE_RATE): Define as 2.
443
444 * m32r.md (insn_size): New attribute.
445 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
446 short.
447 (m32r): New attribute.
448
449 * configure.in (enable_haifa): Switch m32r to Haifa by default.
450 * configure: Regenerate.
451
452 (Changes from Nick Clifton <nickc@cygnus.com>)
453 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
454 the equivalent of a negated 'I' constraint.
455 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
456 optimisation to work.
457
458 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
459 than 'I' since the value is negated.
460 (peephole): Add peephole optimisation to cope with optimization of
461 divide and subtracts of the same operands.
462
463 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
464 * m32r.h: Ditto.
465 * m32r.md: Ditto.
466
467 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
468 predicates.
469
470 Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
471
472 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
473
474 Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
475
476 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
477 frame_pointer_rtx not FRAME_POINTER_REGNUM.
478
479 Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
480
481 * reg-stack.c: Revert last patch (Apr 20).
482 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
483
484 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
485
486 * loop.c (check_dbra_loop): New locals jump, first_compare, and
487 compare_and_branch. Call get_condition to set first_compare.
488 Set compare_and_branch to number of compare/branch instructions.
489 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
490 Replace '2' with compare_and_branch.
491
492 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
493
494 * cplus-dem.c (demangle_qualified): Replace missing else.
495
496 Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
497
498 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
499
500 Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
501
502 * sh.c (sh_expand_prologue, sh_expand_epilogue):
503 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
504 * sh.h (STACK_BOUNDARY): Likewise.
505
506 Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
507
508 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
509
510 Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
511
512 * system.h (abort): If abort is not defined, and neither is
513 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
514 reporting the line and filename of the error.
515
516 * .gdbinit: Add breakpoints on exit and fancy_abort.
517
518 * final.c (split_double): Avoid a compiler warning if
519 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
520
521 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
522 for calling jump_optimize.
523
524 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
525 macros, rather than 0/1's.
526
527 Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
528
529 * alpha.h (CONST_COSTS): Zero is always free.
530 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
531
532 Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
533
534 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
535 length in the name of a virtual table.
536
537 Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
538
539 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
540
541 Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
542
543 * version.c: Bump for snapshot.
544
545 Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
546
547 * fold-const.c (fold_convert): Fix typo.
548
549 Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
550
551 * alias.c (alias_invariant): New variable.
552 (record_base_value): New argument INVARIANT.
553 (memrefs_conflict_p): If a register has an entry in the alias_invariant
554 array, try substituting that value for the register.
555
556 * rtl.h: Declare record_base_value.
557
558 * loop.c, unroll.c: Update callers of record_base_value.
559
560 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
561 ZERO_EXTEND do not affect base values.
562
563 Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
564
565 * dbxout.c (dbxout_type): Fix typo.
566 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
567
568 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
569
570 Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
571
572 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
573 if the argument is the address of a structure or array.
574
575 * configure.in: Enable Haifa scheduler by default for SPARC.
576
577 Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
578
579 * cse.c (cse_set_around_loop): Don't do optimization when
580 new pseudos are created.
581
582 Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
583
584 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
585 appropriately.
586 (dbxout_type_method_1, dbxout_type): Likewise.
587 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
588 (dbxout_type): Fix check for when to print a type range in
589 octal vs decimal.
590
591 Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
592
593 * (gen_shl_and, in case 1): Fix comparison with mask.
594
595 Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
596
597 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
598 pointer as second register in REG+REG pair.
599
600 Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
601
602 * c-common.c (check_format_info): Don't check for the 'x' format
603 character twice, instead check for 'x' and 'X'
604
605 Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
606
607 * Makefile.in (libgcc2.ready): Add explicit dependancy from
608 $(STMP_FIXPROTO) to ensure all necessary include files have
609 been created and to guarantee proper parallel builds.
610
611 Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
612
613 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
614 register for stdarg functions.
615 * sh.h (current_function_varargs): Declare.
616 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
617
618 1998-04-23 Jim Wilson <wilson@cygnus.com>
619
620 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
621 inhibit_libc is defined.
622
623 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
624
625 Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
626
627 * profile.c (tablejump_entry_p): New function.
628 (branch_prob): Add code to recognize MIPS tablejump entry branch.
629 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
630
631 Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
632
633 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
634 found, rather than at end of the loop, after the insn has been
635 changed.
636
637 Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
638
639 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
640 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
641
642 Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
643
644 * loop.c (note_addr_stored): Correct function to take 2 arguments,
645 instead of 1.
646
647 * rtl.def (MATCH_INSN2): Add new matching pattern.
648 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
649
650 Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
651
652 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
653 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
654
655 * final.c (split_double): Sign extend both halves of a split CONST_INT.
656
657 Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
658
659 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
660
661 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
662
663 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
664 (cplus_demangle_opname): Call mop_up_squangle.
665 (cplus_demangle): Initialize squangle info, then call
666 internal_cplus_demangle. (Most code moved there as well)
667 (internal_cplus_demangle): New function, performs most of what use
668 to be done in cplus_demangle, but is only called with this file.
669 (squangle_mop_up): New function to clean up B and K code data.
670 (mop_up): set pointers to NULL after freeing.
671 (demangle_signature, demangle_template, demangle_class): Add
672 switch elements to handle K and B codes.
673 (demangle_prefix, gnu_special, demangle_qualified): Add
674 code to handle K and B codes.
675 (do_type, demangle_fund_type): Handle B and K codes.
676 (remember_Ktype): New function to store K info.
677 (register_Btype, remember_Btype): New functions for B codes.
678 (forget_B_and_K_types): New function to destroy B and K info.
679
680 1998-04-21 Jim Wilson <wilson@cygnus.com>
681
682 * stmt.c (check_seenlabel): When search for line number note for
683 warning, handle case where there is no such note.
684
685 Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
686
687 * genemit.c (gen_exp): Allow machine description to set mode of
688 MATCH_OP_DUP.
689
690 Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
691
692 * alias.c (mode_alias_check): New function.
693 (true_dependence, anti_dependence, output_dependence): Call
694 mode_alias_check.
695
696 Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
697
698 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
699 (MIPS_STACK_ALIGN): Similarly.
700
701 * c-common.c (type_for_mode): Handle TI types.
702 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
703 (init_decl_processing): Handle TI types.
704 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
705
706 * mips.c (block_move_loop): Test Pmode == DImode instead of
707 TARGET_MIPS64.
708 (expand_block_move, save_restore_insns): Likewise.
709 (function_prologue, mips_expand_prologue): Likewise.
710 (mips_expand_epilogue): Likewise.
711 * mips.h (POINTER_SIZE): Allow specific targets to override.
712 (Pmode): Allow specific targets to override.
713 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
714 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
715 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
716 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
717 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
718 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
719 * mips.md (indirect, tablejump & casesi support): Test for
720 Pmode == DImode instead of TARGET_MIPS64.
721 (call patterns): Likewise.
722
723 Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
724
725 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
726 for gen_rtx(MEM, ...).
727
728 Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
729
730 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
731 to not be so gross, and to properly function with PIC.
732
733 Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
734
735 * frame.c (heapsort): Rename to frame_heapsort.
736
737 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
738
739 Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
740
741 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
742
743 Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
744
745 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
746 operands during and after reload.
747
748 Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
749
750 * final.c (shorten_branches, init_insn_lengths): Move code
751 to free label_align, uid_shuid, insn_lengths, insn_addresses
752 and uid_align from the former function into the latter one;
753 Add code to clear these variables.
754 * sh.h (label_align): Remove declaration.
755
756 Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
757
758 * gcc.c (lang_specific_driver): Declare prototype properly so
759 fatal can be passed to it without error.
760
761 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
762 * configure: Regenerate.
763 * config.in: Add #undef's for strchr and strrchr.
764
765 * protoize.c (toplevel): If we have rindex, but not strrchr, map
766 rindex to strrchr.
767 (file_could_be_converted): Use strrchr, not rindex since rindex is
768 not defined on Linux systems when _POSIX_SOURCE is defined.
769 (file_normally_convertible): Ditto.
770 (process_aux_info_file): Ditto.
771 (main): Ditto.
772
773 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
774 a constant to an integer register, don't split the insns that do
775 the simple AND and OR operations, rather just split each word, and
776 let the normal movsi define split handle it further.
777
778 Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
779
780 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
781 (split_branches): Call init_insn_lengths.
782
783 Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
784
785 * i386.c: Include expr.h to get the change_address prototype
786 declared.
787
788 Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
789
790 * reg-stack.c (subst_asm_stack_regs): Change to return the last
791 new insn generated by this function.
792 (subst_stack_regs): Likewise.
793 (convert_regs): Record the last newly generated insn and use
794 it for change_stack () instead of INSN.
795
796 Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
797
798 * fix-header.c (enum special_file): Undefine enumerators if they
799 are already defined by include files.
800 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
801 macro with '__' to not pollute user namespace.
802
803 Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
804
805 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
806
807 Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
808
809 * version.c: Bump for snapshot.
810
811 Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
812
813 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
814
815 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
816 Add missing -Dpentium* options.
817 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
818 instead of CPP_CPU_DEFAULT.
819 (EXTRA_SPECS): Add entry for cpp_cpu_default.
820
821 Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
822
823 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
824 negative in a stackless frame.
825 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
826 in stackless frame size. Support 64-bit stackless frame size.
827 Combine fpmem offset calculations and don't add total_size to
828 offset if not pushing a stack frame.
829
830 Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
831
832 * regmove.c (fixup_match_1): In three places, in flag_exceptions
833 check, change p to q.
834
835 Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
836
837 * gcc.c (lang_specific_driver): Add new parm type to prototype.
838 (added_libraries): New file scope static variable.
839 (process_command): Initialize added_libraries. Pass it to
840 lang_specific_driver.
841 (main): Use added_libraries in check for no input files.
842
843 Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
844
845 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
846 code generation. Use 64 bit instructions in 32 bit mode when
847 possible. Use V9 return instruction. UltraSPARC optimizations.
848
849 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
850
851 Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
852
853 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
854 just pass zero. That will work regardless of the size of HARD_REG_SET.
855
856 * libgcc2.c (__floatdisf): Fix a couple typos.
857
858 Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
859
860 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
861
862 Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
863
864 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
865
866 Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
867
868 * emit-rtl.c (operand_subword_force): If a register can not be
869 accessed by words, copy it to a pseudo register.
870
871 Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
872
873 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
874
875 Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
876
877 * tree.h (mark_seen_cases): Delete declaration.
878
879 Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
880
881 * stmt.c (mark_seen_cases): Make static and add prototype.
882
883 Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
884
885 * frame.c: Include stdlib.h and unistd.h to possibly get various
886 function prototypes. The fixproto script guarantees these header
887 files exist on the target system.
888 * libgcc2.c: Likewise.
889
890 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
891 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
892 function parameters.
893 * libgcc2.c (__udiv_w_sdiv): Likewise.
894
895 Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
896
897 * varasm.c (asm_output_bss): Add prototype.
898 (asm_output_aligned_bss): Likewise.
899
900 * unroll.c (verify_addresses): Add prototype.
901
902 * toplev.c: Add many prototypes. Too many to mention here.
903
904 * stmt.c (check_seenlabel): Add prototype.
905
906 * rtlanal.c (reg_set_p_1): Add prototype.
907 (reg_set_last_1): Likewise.
908
909 * reorg.c (find_dead_or_set_registers): Add prototype.
910
911 * regmove (try_auto_increment): Add prototype.
912
913 * reg-stack.c (pop_stack): Add prototype.
914
915 * recog.c (validate_replace_rtx_1): Add prototype.
916 (find_cosntant_term_loc): Likewise.
917
918 * loop.c (regs_patch_p): Add prototype.
919 (add_label_notes, count_nonfixed_reads): Likewise.
920 (find_single_use_in_loop): Likewise.
921 (express_from): Surround prototype with #ifdef.
922 (giv_sort): Similarly.
923
924 * jump.c (mark_modified_reg): Add prototype.
925
926 * haifa-sched.c (is_prisky): Add prototype.
927 (queue_to_ready): Likewise.
928
929 * genextract.c (gen_insn): Add prototype.
930
931 * genemit.c (max_operand_1): Add prototype.
932 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
933 (gen_expand, gen_explit, output_add_clobbers): Likewise.
934 (output_init_mov_optab): Likewise.
935
936 * genattrtab.c (attr_hash_add_rtx): Add prototype.
937 (attr_hash_add_string, write_length_unit_log): Likewise.
938
939 * genattr.c (init_range): Add prototype.
940
941 * combine.c (sets_function_arg_p): Add prototype.
942
943 * expr.c (store_constructor_field): Add prototype.
944 (get_memory_usage_from_modifier): Likewise
945
946 * expmed.c (synth_mult): Add prototype.
947 (choose_multiplier, invert_mod2n): Likewise.
948
949 * except.c (push_eh_entry): Add prototype.
950 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
951 (call_get_eh_context, start_dynamic_cleanup): Likewise.
952 (start_dynamic_handler, can_throw): Likewise.
953 (output_exception_table_entry, scan_region): Likewise.
954 (eh_regs, set_insn_eh_region): Likewise.
955
956 * dwarfout.c (decl_class_context): Add prototype.
957 (output_inheritance_die, type_ok_for_scope): Likewise.
958
959 * c-lex.c (skip_white_space_on_line): Add prototype.
960
961 * alias.c (record_set): Add prototype.
962 (find_base_term, base_alias_check): Likewise.
963
964 * function.c (assign_outer_stack_local): Make static and add prototype.
965
966 * haifa-sched.c (build_control_flow): Accept raw data as inputs
967 instead of computing it locally. Callers changed.
968 (find_rgns): Several new arguments. Callers changed.
969 Generally clean up and comment better. Use dominators to
970 identify reducible loops. Convert some flag arrays to bitmaps.
971 Convert most of the code to work on pred/succ lists instead of
972 an edge table. Add comments for future improvements.
973 (schedule_insns): Allocate temporary tables for flow data, call
974 routines to compute flow data and pass it along to children as
975 arguments.
976 (debug_control_flow): Delete. Use dump_bb_data instead.
977
978 * basic-block.h (compute_dominators): Declare.
979
980 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
981 functions.
982 * basic-block.h: Declare them.
983
984 Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
985
986 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
987 no operands.
988
989 Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
990
991 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
992 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
993 node is non NULL. Cache last file name and file name identifier node.
994
995 1998-04-15 Mark Mitchell <mmitchell@usa.net>
996
997 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
998 the length of an array, not TREE_TYPE.
999
1000 Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
1001
1002 * flow.c (sbitmap_union_of_successors): New function.
1003 * basic-block.h (sbitmap_union_of_successors): Declare it.
1004
1005 Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
1006
1007 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
1008 Set gnu_ld to gnu_ld_flag inside main loop.
1009 (gas): Likewise.
1010
1011 Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
1012
1013 * toplev.c (compile_file): Call init_parse using new interface.
1014 (init_lex): Remove declaration.
1015
1016 * c-lex.c (init_parse): Now returns char* containing filename.
1017
1018 Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
1019
1020 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
1021
1022 Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
1023
1024 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
1025 (gen{extract,peep,opinit,output}): Ditto.
1026
1027 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
1028 global definition so print-rtl.o can be linked in.
1029 * gen{peep,recog}.c (insn_attr_name): Ditto.
1030
1031 Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
1032
1033 * fixincludes: discard empty C++ comments, as found in sys/time.h
1034 on hpux-11.0.
1035
1036 Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1037
1038 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
1039 operand.
1040
1041 Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
1042
1043 * emit-rtl.c (operand_subword): Rework slightly to avoid
1044 bogus warning from previous change.
1045
1046 Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
1047
1048 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
1049 Nov 8 find_replacement change. Move decls of get_unaligned_address
1050 * alpha.h: ... here.
1051
1052 Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
1053
1054 * function.c (assign_parms): Initialize unsignedp before passing
1055 its pointer to promote_mode.
1056
1057 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
1058 (write_test_expr): Allow MATCH_INSN.
1059
1060 Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
1061
1062 * install.texi: Update section on warnings that can be safely ignored.
1063
1064 Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
1065
1066 * mips.md (reload_outdi): Change the scratch mode from DImode to
1067 TImode. New variable scratch, used instead of operand[2] in template.
1068 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
1069
1070 Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
1071
1072 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
1073
1074 Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
1075
1076 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
1077
1078 Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
1079
1080 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
1081 (ASM_FINISH_DECLARE_OBJECT): Likewise.
1082
1083 * Idea and part of the patch from HJ.
1084 * Makefile.in: auto-host.h renamed from auto-config.h. All references
1085 changed.
1086 (distclean): Remove auto-build.h too.
1087 * configure.in: Rename host autoconf generated file to auto-host.h.
1088 If host != build, then run autoconf to generate auto-build.h for
1089 the build machine and include it in build_xm_files.
1090 Check for wait.h and sys/wait.h.
1091
1092 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
1093 TRULY_NOOP_TRUNCATION.
1094
1095 Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
1096
1097 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
1098
1099 Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
1100
1101 * invoke.texi (ld options) Include memset requirements
1102 for options -nodstdlib and -nodefaultlibs.
1103
1104 1998-04-12 Paul Eggert <eggert@twinsun.com>
1105
1106 This change is from an idea suggested by Arthur David Olson.
1107
1108 * c-common.c (decl_attributes, record_function_format,
1109 check_format_info, init_function_format_info):
1110 Add support for strftime format checking.
1111 (enum format_type): New type.
1112 (record_function_format): Now static, and takes value of type
1113 enum format_type instead of int.
1114 (time_char_table): New constant.
1115 (struct function_format_info): format_type member renamed from is_scan.
1116 (check_format_info): Use `warning' rather than sprintf followed by
1117 `warning', to avoid mishandling `%' in warnings.
1118 Change `pedwarn' to `warning', since these warnings do not necessarily
1119 mean the program does not conform to the C Standard, as the code
1120 need not be executed.
1121
1122 * c-tree.h (record_function_format): Remove decl; no longer extern.
1123
1124 * extend.texi: Add documentation for strftime format checking.
1125
1126 Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
1127
1128 * mips/ecoffl.h: Do not include mips.h.
1129 * mips/elf.h: Likewise.
1130
1131 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
1132 * mips/ecoff.h: Include "mips/mips.h".
1133
1134 Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
1135
1136 * version.c: Bump for snapshot.
1137
1138 Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
1139
1140 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
1141 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
1142 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
1143 between loop optimization passes.
1144 * rtl.h: Updated appropriately.
1145
1146 Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
1147
1148 Reinstall this patch from Jason.
1149 * function.c (push_function_context_to): Don't call init_emit.
1150
1151 Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
1152
1153 * rtl.c (read_skip_spaces): Prevent infinite loops upon
1154 encountering unterminated comments.
1155
1156 Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
1157
1158 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
1159 64x32 cross builds.
1160
1161 * configure.in: Handle --with-fast-fixincludes.
1162 (fixincludes): If --with-fast-fixincludes, then use a different
1163 fixincludes program by default.
1164 * Makefile.in (fixinc.sh): New rule.
1165
1166 Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
1167
1168 * i386.md (movqi+1): Handle invalid QI register.
1169 (movsf_push-1): Likewise.
1170
1171 Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
1172
1173 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
1174 addresses.
1175 symbolic_memort_operand(), call32_operand(), int8_operand(),
1176 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
1177 Not used.
1178 uint16_operand(): Made static.
1179
1180 Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
1181
1182 * calls.c (expand_call): Fix typo.
1183
1184 Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
1185
1186 * c-lex.c (finput): New global.
1187 (init_parse): Always included. Handle !USE_CPPLIB using
1188 code originally in compile_file.
1189 (finish_parse): Update for CPPLIB.
1190 * toplev.c (init_parse, finish_parse): Declare.
1191 (finput): Delete variable. Now in front-ends.
1192 (compile_file): Remove code which is now handled by init_parse
1193 which is unconditionally called. Similarly for finish_parse.
1194
1195 Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
1196
1197 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
1198 ASM_WEAKEN_LABEL): Add.
1199
1200 Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
1201
1202 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
1203 * configure.in (alpha-*-linux*): Use them.
1204
1205 Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
1206
1207 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
1208 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
1209 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
1210 (build_expr_wfl): New prototype declaration.
1211 * tree.c (build_expr_wfl): New function, to build
1212 EXPR_WITH_FILE_LOCATION nodes.
1213 (copy_node): Don't zero TREE_CHAIN if copying a
1214 EXPR_WITH_FILE_LOCATION node.
1215 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
1216 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
1217
1218 Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
1219
1220 * configure.in (v850): Use t-v850.
1221 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
1222
1223 * protoize.c (creat, read, write): Do not declare.
1224
1225 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
1226 refer to the CODE_LABEL before a dispatch table.
1227
1228 * invoke.texi: Add ARC options.
1229
1230 * gcc.c (proces_command): Improve error message for -o with
1231 either -c or -S.
1232
1233 * i386/x-cygwin32 (CLIB): Link in advapi32.
1234
1235 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
1236 (ASM_IDENTIFY_LANGUAGE): Likewise.
1237
1238 * i386.md (movqi recognizer): Don't perfom byte increment into
1239 a NON_QI_REG_P.
1240
1241 * configure.in (x86-dg-dgux): Run fixinc.dgux.
1242
1243 * i370.h: Fix typo in GEN_INT changes.
1244
1245 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
1246 of an empty arglist in prototype.
1247
1248 * Makefile.in: Remove bytecode crud that crept back in after the
1249 gcc2 merge.
1250
1251 1998-04-08 Brendan Kehoe <brendan@cygnus.com>
1252
1253 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
1254 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
1255
1256 Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
1257
1258 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
1259
1260 Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
1261
1262 * c-lex.c (is_class_name): Delete declaration.
1263 (whitespace_cr): Make static and add prototype.
1264 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
1265 yylex, get_directive_line): Turn declarations into prototypes.
1266 (position_after_whitespace, check_newline, yyerror,, is_class_name,
1267 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
1268 prototypes.
1269 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
1270 prototypes.
1271 * gencodes.c (gen_insn): Add prototype.
1272 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
1273 gen_peephole): Add prototypes.
1274 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
1275 prototypes.
1276 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
1277 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
1278 genheader, gencode): Add prototypes.
1279 * genopinit.c (gen_insn): Add prototype.
1280 * genoutput.c (output_prologue, output_epilogue, scan_operands,
1281 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
1282 gen_expand, gen_split, n_occurrences): Add prototypes.
1283 * genpeep.c (gen_peephole): Add prototype.
1284 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
1285 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
1286 labels_in_range_p, count_loop_regs_set, note_addr_stored,
1287 loop_reg_used_before_p, scan_loop, replace_call_address,
1288 skip_consec_insns, libcall_benefit, ignore_some_movables,
1289 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
1290 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
1291 check_final_value, record_giv, update_giv_derive, basic_induction_var,
1292 simplify_giv_expr, general_induction_var, consec_sets_giv,
1293 check_dbra_loop, express_from, combine_givs_p, combine_givs,
1294 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
1295 last_use_this_basic_block, record_initial, update_reg_last_use,
1296 iteration_info, analyze_loop_iterations, insert_bct,
1297 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
1298 into prototypes.
1299
1300 Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
1301
1302 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
1303
1304 1998-04-07 Ken Raeburn <raeburn@cygnus.com>
1305
1306 * config/mips/mips.c (siginfo): Deleted.
1307 (override_options): Don't install SIGINFO signal handler.
1308
1309 Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
1310
1311 * loop.c (check_dbra_loop): When normalize comparison_val, add check
1312 to verify it is non-negative.
1313
1314 Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
1315
1316 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
1317 (alpha_expand_block_clear): Likewise.
1318
1319 Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
1320
1321 * tree.h (sizetype_tab): Fix previous change for K&R.
1322
1323 Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
1324
1325 * version.c: Bump for snapshot.
1326
1327 Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
1328
1329 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
1330 Add USG and POSIX to xm_defines.
1331
1332 Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
1333
1334 * gcc.c: Add linker spec.
1335 (link_command_spec): Use %(linker) instead of ld.
1336 (main): If collect2 is requested as the linker, see if it exists;
1337 if not, use ld instead.
1338
1339 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
1340 (ld:) Deleted.
1341 (install-collect2): Install as collect2, not ld.
1342
1343 * configure.in(will_use_collect2): It's named collect2 now.
1344
1345 * collect2: Remove checks to see if we were invoked recursively.
1346 (collect_execute): Use _spawnvp under cygwin32.
1347
1348 Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
1349
1350 * haifa-sched.c (build_control_flow): Set unreachable for block whose
1351 only predecessor is itself.
1352
1353 Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1354
1355 * c-parse.in: Include system.h, and remove stuff now made redundant.
1356 * cccp.c: Likewise.
1357 * cexp.y: Likewise.
1358 * protoize.c: Likewise. Properly check for cpp stringification.
1359
1360 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
1361 Depend on system.h.
1362
1363 * objc/Make-lang.in (objc-parse.o): Likewise.
1364
1365 Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1366
1367 * gansidecl.h: Check if compiler supports __attribute__. Provide
1368 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
1369 __attribute__ when its available. Also provide definitions for
1370 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
1371 terms of ATTRIBUTE_PRINTF.
1372
1373 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
1374 of __attribute__.
1375
1376 Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
1377
1378 * combine.c (can_combine_p): Include successor in volatile test.
1379
1380 Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1381
1382 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
1383 offset_unsigned.
1384
1385 Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
1386
1387 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
1388 in prototype and definition.
1389
1390 Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
1391
1392 * version.c: Bump for snapshot.
1393
1394 Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
1395
1396 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
1397 alpha_expand_unaligned_store_words.
1398
1399 Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
1400
1401 * i386.md (movsf_push, movsf_mem): Remove.
1402 (movsf_push): Rename from movsf_push_nomove and move in front of
1403 movsf. Use nonmemory_operand predicate and don't bother checking
1404 TARGET_MOVE.
1405 (movsf_push_memory): New pattern.
1406 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
1407 both operands refer to memory then force operand[1] into a register.
1408 (movsf_normal): Change to unnamed pattern.
1409 Likewise for movdf, movxf, and friends.
1410
1411 Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
1412
1413 * version.c: Bump for snapshot.
1414
1415 Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
1416
1417 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
1418
1419 Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
1420
1421 * configure.in (mips-wrs-vxworks): New target.
1422
1423 Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
1424
1425 * expmed.c (synth_mult): The value -1, has no zeros, so it can
1426 never have the form ...011.
1427
1428 * version.c: Bump for snapshot.
1429
1430 Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
1431
1432 * i386.c (asm_output_function_prefix, load_pic_register):
1433 Use ASM_GENERATE_INTERNAL_LABEL properly.
1434 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
1435 (print_operand): Ignore it.
1436 (load_pic_register): Use it for the got load call.
1437 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
1438 (prologue_get_pc_and_set_got): Likewise.
1439 * i386.h: Update print_operand docs.
1440
1441 Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
1442
1443 * i386.md (ffssi, ffshi): Rewrite as define_expands.
1444 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
1445 * i386.c (notice_update_cc): Recognize unspec 5.
1446
1447 Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
1448
1449 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
1450 * alpha.c (print_operand): Handle it.
1451 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
1452 for ALPHA_TP_INSN.
1453 (fix_truncdfdi2): Likewise.
1454
1455 Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
1456
1457 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
1458 of these into a single struct, with additional [us]sizetype entries.
1459 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
1460 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
1461 an array.
1462
1463 Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
1464
1465 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
1466
1467 Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
1468
1469 * haifa-sched.c (split_block_insns): Don't supress insn splitting
1470 on subsequent passes.
1471
1472 * alpha.c (hard_fp_register_operand): New function.
1473 * alpha.h (PREDICATE_CODES): Add it.
1474 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
1475 f<-m case and accompanying define_split.
1476 (trapb): Use a unique unspec_volatile number.
1477
1478 Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
1479
1480 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
1481 from gcc2 merge.
1482
1483 Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
1484
1485 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
1486 for details.
1487
1488 * haifa-sched.c: Mirror recent changes from gcc2.
1489
1490 Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
1491
1492 * Makefile.in (insn*.o): Depend on system.h.
1493
1494 * pa.c (output_global_address): Initialize base.
1495 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
1496
1497 1998-04-03 Mike Stump <mrs@wrs.com>
1498
1499 * gthr.h: Support systems that don't have weak, but have threads.
1500 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
1501 * gthr-vxworks.h: New file.
1502 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
1503
1504 Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
1505
1506 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
1507
1508 1998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
1509
1510 * ginclude/va-i960.h (va_end): Change void * to void.
1511
1512 Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1513
1514 * Makefile.in (choose-temp.o): Depend on system.h.
1515
1516 * choose-temp.c: Include system.h when IN_GCC.
1517
1518 Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
1519 Richard Henderson <rth@cygnus.com>
1520
1521 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
1522 (move_replacements): New function.
1523 * reload.h: Prototype it.
1524
1525 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
1526
1527 Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
1528
1529 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
1530 Run fixincludes.
1531
1532 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
1533 (gen_highpart): Likewise.
1534 * final.c (alter_subreg): Allow the target to hook by-mode subreg
1535 hard register number changes.
1536
1537 Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
1538
1539 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
1540 rnbitsize, rnmode and rinner.
1541 (make_range): Initialize type.
1542 (fold): Initialize arg0, arg1 and varop.
1543
1544 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
1545 and regnor.
1546 (expand_function_start): Initialize last_ptr.
1547
1548 * stor-layout.c (layout_record): Initialize desired_align.
1549 (get_best_mode): Initialize unit.
1550
1551 * tree.c (copy_node): Initialize length.
1552
1553 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
1554
1555 * caller-save.c (insert_save_restore): Initialize pat, code and
1556 numregs.
1557
1558 * emit-rtl.c (push_to_sequence): Initialize top.
1559 (push_topmost_sequence): Likewise.
1560
1561 * genattrtab.c (simplify_by_exploding): Initialize defval.
1562
1563 * profile.c (branch_prob): Initialize dest.
1564
1565 * rtl.h (note_stores): Remove duplicate prototype.
1566 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
1567
1568 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
1569 strings that are not actually lengths.
1570
1571 * genattrtab.c: Make generated file use system.h, instead of
1572 including stdio.h, etc directly.
1573 * genextract.c, genopinit.c, genoutput.c: Likewise.
1574 * genpeep.c, genrecog.c: Likewise
1575
1576 * genoutput.c (process_template): Mark operands in the generated
1577 function as potentially unused if compiling with GNU CC.
1578
1579 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
1580
1581 * pa.md (reload peepholes): Remove unused variable "mode".
1582
1583 Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
1584
1585 * config/arm/thumb.h: Add super interworking support.
1586 * config/arm/thumb.c: Add super interworking support.
1587 * config/arm/thumb.md: Add super interworking support.
1588 * config/arm/lib1funcs.asm: Add interworking support.
1589 * config/arm/lib1thumb.asm: Add super interworking support.
1590 * config/arm/t-semi: Add interworking support.
1591 * config/arm/t-thumb: Add interworking support.
1592 * config/arm/README-interworking: New file.
1593
1594 Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
1595
1596 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
1597 (MD_STARTFILE_PREFIX): Unset.
1598
1599 1998-04-01 Mark Mitchell <mmitchell@usa.net>
1600
1601 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
1602 entity in a local scope.
1603
1604 * fold-const.c (fold): Call truthvalue_conversion for values which
1605 are folded to boolean type.
1606
1607 Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
1608
1609 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
1610 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
1611 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
1612 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
1613 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
1614 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
1615 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
1616 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
1617 * md.texi: Likewise.
1618
1619 Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
1620
1621 * fixincludes (limits.h): Fix nested comments in Motorola's
1622 limits.h and sys/limits.h.
1623
1624 Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
1625
1626 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
1627 as dest of expand_binop call.
1628
1629 * alpha.md (extzv): Correct check for valid operand[2] values.
1630
1631 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
1632 branch.
1633
1634 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
1635
1636 Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
1637
1638 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
1639 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
1640
1641 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
1642 cygwin32 can override this to allow both unix and win32 style PATHs.
1643
1644 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
1645 style environment paths.
1646
1647 Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1648
1649 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
1650 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
1651 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
1652 system.h.
1653
1654 * cpphash.c: Include config.h.
1655 * cppalloc.c: Include system.h. Add parameters to various
1656 function prototypes.
1657 * cpperror.c: Likewise.
1658 * cppexp.c: Likewise.
1659 * cpphash.c: Likewise.
1660 * cpplib.c: Likewise.
1661 * cppmain.c: Likewise.
1662 * fix-header.c: Likewise.
1663 * gcov.c: Likewise.
1664 * gen-protos.c: Likewise.
1665 * gengenrtl.c: Likewise.
1666 * halfpic.c: Likewise.
1667 * hash.c: Likewise.
1668 * scan-decls.c: Likewise.
1669 * scan.c: Likewise.
1670
1671 Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
1672
1673 * README.gnat: Add lang_print_xnode definition.
1674
1675 Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1676
1677 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
1678 fmovecr on the 68060.
1679
1680 Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
1681
1682 * genemit.c (DONE): Rework so that it works in the true arm if
1683 an if-else conditional.
1684 (FAIL): Likewise.
1685
1686 Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
1687
1688 * rs6000.c: Do not include stdioh or ctype.h anymore.
1689
1690 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
1691 $(RTL_H).
1692 (stor-layout.o): Likewise.
1693 * c-typeck.c: Include rtl.h and expr.h.
1694 * stor-layout.c: Likewise.
1695
1696 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
1697 All callers changed.
1698 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
1699 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
1700 All callers changed.
1701
1702 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
1703
1704 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
1705
1706 * tree.h (lang_print_xnode): Provide prototype.
1707
1708 Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
1709
1710 * version.c: Bump for snapshot.
1711
1712 Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
1713
1714 * objc/sendmsg.c (__objc_block_forward): Add braces for return
1715 value if INVISIBLE_STRUCT_RETURN.
1716
1717 * pa.c (arith_double_operand): Fix parens.
1718
1719 * haifa-sched.c (print_pattern): Correct arg to sprintf.
1720
1721 * Makefile.in (libgcc1.null): Make return type for __foo void.
1722
1723 Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
1724
1725 * pa.h: Add declarations for many functions defined in pa.c.
1726
1727 * genpeep.c (main): Remove unused variable 'i' from the generated
1728 file.
1729
1730 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
1731 (gen_split): Likewise.
1732 (main): Rework generated definitions of DONE and FAIL so that they
1733 no longer use gotos. Avoids warnings about unused labels.
1734
1735 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
1736 unused "junk" variable.
1737
1738 * genattrtab.c (write_complex_function): Add a default case in
1739 generated switch statement to keep -W -Wall quiet.
1740
1741 Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
1742
1743 * invoke.texi: Document more ARM and Thumb command line options.
1744
1745 * config/arm/xm-thumb.h: New file.
1746
1747 Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
1748
1749 * stmt.c (expand_expr_stmt): Must generate code for
1750 statements within an expression (gcc's `({ ... )}')
1751 even if -fsyntax-only.
1752
1753 Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1754 Jeffrey A Law (law@cygnus.com)
1755
1756 * basic-block.h (basic_block_computed_jump_target): Declare.
1757 * flags.h: (current_function_has_computed_jump): Declare.
1758 * flow.c: (basic_block_computed_jump_target): Define.
1759 (flow_analysis): Allocate it. Set current_function_has_computed_jump
1760 to 0.
1761 (find_basic_blocks): Set current_function_has_computed_jump and
1762 elements of basic_block_computed_jump_target to 1 as appropriate.
1763 * function.c: (current_function_has_computed_jump): Define.
1764 * global.c (global_conflicts): Don't allocate pseudos into stack regs
1765 at the start of a block that is reachable by a computed jump.
1766 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
1767 immediately.
1768 (subst_stack_regs): Undo change from Sep 4 1997.
1769 (uses_reg_or_mem): Now unused, deleted.
1770 * stupid.c (stupid_life_analysis): Compute
1771 current_function_has_computed_jump.
1772 (stupid_find_reg): Don't allocate stack regs if the function has a
1773 computed goto.
1774 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
1775 the current function has a computed jump. Use the global value
1776 instead.
1777
1778 Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
1779
1780 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
1781 (DWARF2_UNWIND_INFO): Define to zero.
1782
1783 Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
1784
1785 * gcc.c (set_std_prefix): Add declaration.
1786 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
1787 suffix, and update the standard prefix prefix.c uses.
1788
1789 * prefix.c (std_prefix): New global to hold default prefix value.
1790 (get_key_value): Change to use std_prefix instead of PREFIX.
1791 (translate_name): Ditto.
1792 (update_path): Ditto.
1793 (get_key_value): Release allocated scratch storage.
1794 (set_std_prefix): New function to reset the standard prefix.
1795
1796 Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1797
1798 * sh.c (find_barrier): Fix calculations for alignment increase.
1799
1800 Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
1801
1802 * Makefile.in (stmp-fixinc): If we're actually fixing include
1803 files, copy gcc's assert.h into the fixed include dir.
1804 * fixincludes (assert.h): Avoid any attempts to fix a probably
1805 broken system specific assert.h file.
1806 * fixproto (stdlib.h): Make sure, it'll contain a definition of
1807 size_t.
1808
1809 Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
1810
1811 * regclass.c (reg_scan_mark_refs): Be more selective about
1812 when we mark a register with REGNO_POINTER_FLAG.
1813
1814 Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1815
1816 reload inheritance improvement:
1817 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
1818 Change meaning: index is now hard reg number.
1819 (reg_reloaded_valid, reg_reloaded_dead): New variables.
1820 (reload_spill_index): Content is now a hard reg number.
1821 (reload_as_needed): Change to fit new variable meaning.
1822 (forget_old_reloads_1, allocate_reload_reg): Likewise.
1823 (choose_reload_regs, emit_reload_insns): Likewise.
1824
1825 Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1826
1827 * regclass.c (record_reg_classes): '?' increases cost by two.
1828
1829 * reload.c (find_reloads): Double previous costs. Output
1830 reloads cost one unit extra.
1831
1832 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
1833 boiled down to && ! 0.
1834
1835 * reload.c (find_equiv_reg): Also consider a goal offset from the
1836 frame pointer to be constant.
1837
1838 Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1839
1840 * sh.h (OPTIMIZATION_OPTIONS): Define.
1841
1842 Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
1843
1844 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
1845
1846 Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
1847
1848 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
1849
1850 Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
1851
1852 * c-common.c (check_format_info): Initialize type, is_type. New local
1853 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
1854 when pedantic if used with integral format specifier.
1855
1856 Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
1857
1858 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
1859 direction.
1860 (function_arg_padding): Declare.
1861
1862 * rs6000.c: Include system.h.
1863 (function_arg_padding): Change return type to int, cast enum's to
1864 int.
1865
1866 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
1867 * collect2.c (scan_prog_file): Add explicit braces to avoid
1868 ambiguous `else'.
1869
1870 * dbxout.c (dbxout_type_fields): Add braces around empty body in
1871 an if-statement.
1872 (dbxout_type): Likewise.
1873
1874 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
1875 `ptt_size' from int to size_t.
1876 (rs6000_file_start): Likewise for `i'.
1877 (rs6000_replace_regno): Add default case in enumeration switch.
1878 (output_epilog): Remove unused variable `i'.
1879 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
1880 and `reg2'.
1881
1882 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
1883 initializer.
1884 (get_issue_rate, non_logical_cint_operand): Add prototype.
1885 (rs6000_output_load_toc_table): Ditto.
1886
1887 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
1888 `else'.
1889
1890 Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
1891
1892 * config/arm/thumb.c: New File. Support for ARM's Thumb
1893 instruction set.
1894 * config/arm/thumb.h: New File. Thumb definitions.
1895 * config/arm/thumb.md: New File. Thumb machine description.
1896 * config/arm/tcoff.h: New File. Thumb COFF support.
1897 * config/arm/t-thumb: New File. Thumb makefile fragment.
1898 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
1899
1900 * configure.in: Add Thumb-coff target.
1901 * configure: Add Thumb-coff target.
1902 * config.sub: Add Thumb-coff target.
1903
1904 Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
1905
1906 * loop.c (scan_loop): Initialize move_insn_first to zero.
1907
1908 Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
1909
1910 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
1911 * config/i386/rtems.h: Likewise.
1912 * config/i960/rtems.h: Likewise.
1913 * config/m68k/rtems.h: Likewise.
1914 * config/mips/rtems64.h: Likewise.
1915 * config/pa/rtems.h: Likewise.
1916 * config/rs6000/rtems.h: Likewise.
1917 * config/sh/rtems.h: Likewise.
1918 * config/sparc/rtems.h: Likewise.
1919
1920 Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1921
1922 * pa.c (emit_move_sequence): If in reload, call find_replacement.
1923
1924 Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
1925
1926 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
1927
1928 * collect2.c (find_a_file): Add debugging.
1929 (find_a_file): Test for win32 style absolute paths if
1930 DIR_SERPARATOR is defined.
1931 (prefix_from_string): Add debugging.
1932 (main): Test for debug command line switch at start of program
1933 execution.
1934 (main): Use GET_ENVIRONMENT rather than getenv().
1935 (prefix_from_env): Use GET_ENVIRONMENT.
1936
1937 1998-03-24 Mark Mitchell <mmitchell@usa.net>
1938
1939 * cplus-dem.c (optable): Add sizeof.
1940 (demangle_template_value_parm): New function containing code
1941 previously found in demangle_template.
1942 (demangle_integral_value): New function which handles complicated
1943 integral expressions.
1944 (demangle_template): Use them.
1945
1946 Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1947
1948 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
1949 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
1950 genattrtab.o, genoutput.o): Depend on system.h.
1951
1952 * genattr.c: Include system.h. Add arguments to various function
1953 prototypes. Remove redundant prototype of read_rtx().
1954 * genattrtab.c: Likewise.
1955 * gencodes.c: Likewise.
1956 * genconfig.c: Likewise.
1957 * genemit.c: Likewise.
1958 * genextract.c: Likewise.
1959 * genflags.c: Likewise.
1960 * genopinit.c: Likewise.
1961 * genoutput.c: Likewise.
1962 * genpeep.c: Likewise.
1963 * genrecog.c: Likewise.
1964
1965 1998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
1966
1967 * c-lang.c (lang_print_xnode): New function.
1968 * objc/objc-act.c (lang_print_xnode): Likewise.
1969 * print-tree.c (print_node): Call it
1970
1971 Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
1972
1973 * c-parse.in: Recognize protocol qualifiers in class
1974 definitions for objc.
1975 Include "output.h".
1976 (yyerror): Remove redundant decl.
1977 (yyprint): Fix prototype.
1978
1979 Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
1980
1981 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
1982
1983 * stmt.c (unroll_block_trees): Free block_vector if needed.
1984
1985 Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
1986
1987 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
1988 (zero_extendsidi2): Avoid useless copy.
1989 (iordi_zext): New pattern.
1990 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
1991 operand 2.
1992 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
1993
1994 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
1995 (ashldi3): Allow constant shift count in range ]32,63].
1996 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
1997
1998 1998-03-22 Mark Mitchell <mmitchell@usa.net>
1999
2000 * tree.h (IS_EXPR_CODE_CLASS): New macro.
2001
2002 Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
2003
2004 * h8300.h (CONST_COSTS): Remove definition.
2005 (DEFAULT_RTX_COSTS): Define.
2006
2007 Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
2008
2009 * config/sh/rtems.h: Switched from ELF to COFF.
2010
2011 Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2012
2013 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
2014
2015 Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
2016
2017 * version.c: Bump for snapshot.
2018
2019 Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
2020 Geoff Noer <noer@cygnus.com>
2021
2022 * Makefile.in: Various fixes for building cygwin32 native toolchains.
2023
2024 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
2025 * objc/Make-lang.in: Likewise.
2026
2027 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
2028
2029 Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
2030
2031 * configure.in: Handle with-PACKAGE=no correctly
2032
2033 Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2034
2035 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
2036 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
2037 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
2038 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
2039 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
2040 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
2041 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
2042 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
2043 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
2044 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
2045 on system.h.
2046
2047 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
2048 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
2049 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
2050 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
2051 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
2052 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
2053 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
2054 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
2055 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
2056 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
2057 xcoffout.c: Include system.h. Organize include ordering so
2058 that stdarg/varargs comes before other system headers. Remove
2059 spurious casts of functions assured of a prototype in system.h.
2060
2061 Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
2062
2063 * reg-stack.c (pop_stack): Define. Pops any register on the
2064 regstack and adjusts regstack.
2065 (compare_for_stack_reg): Use pop_stack.
2066
2067 Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
2068
2069 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
2070 config too.
2071
2072 Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
2073
2074 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
2075
2076 * fold-const.c (fold): Replace sign-extension of a zero extended
2077 value by a single zero extension.
2078
2079 Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
2080
2081 * except.c (init_eh): Do nothing.
2082 (save_eh_status): Call init_eh_for_function, not init_eh.
2083 * function.c (push_function_context_to): Don't call init_emit.
2084
2085 Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
2086
2087 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
2088 and EABI.
2089
2090 Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2091
2092 * final.c (shorten_branches): Add parentheses around +/- in
2093 operand of &.
2094
2095 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
2096
2097 Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
2098
2099 * regclass.c (memory_move_secondary_cost): Wrap uses of
2100 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
2101 with #ifdef tests.
2102
2103 Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
2104
2105 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
2106
2107 * flow.c (life_analysis): #include <sys/types.h> to make sure
2108 size_t is defined.
2109 * cplus-dem.c (demangle_function_name): Likewise.
2110
2111 Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
2112
2113 * final.c (insn_noperands): Change type to unsigned int.
2114 (final_scan_insn): Likewise for noperands;
2115 properly check operand number boundaries.
2116
2117 Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
2118
2119 * alpha.md (extzv): Don't reject register operands. Fix
2120 mode of operand 1.
2121
2122 Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
2123
2124 * dbxout.c (dbxout_function_end): Fix last change. The correct
2125 predicate is ASM_OUTPUT_SECTION_NAME.
2126
2127 Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
2128
2129 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
2130 (ashlsi): Use match_dup 1 instead of match_operand 2.
2131
2132 Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2133
2134 * fold-const.c (operand_equal_for_comparison_p): See if equal
2135 when nop conversions are removed.
2136
2137 Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2138
2139 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
2140 don't use ORIGINAL_TARGET unless REG.
2141
2142 Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2143
2144 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
2145
2146 Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
2147
2148 * loop.c (struct movable): New field move_insn_first.
2149 (scan_loop): In consec sets code, set it. Clear it otherwise.
2150 (move_movables): In consec sets code, use it. Copy REG_NOTES from
2151 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
2152 out code.
2153
2154 Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
2155
2156 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
2157 is large, and the system doesn't provide atoll or atoq.
2158 (atoll): New.
2159
2160 * alpha/xm-vms.h (HAVE_ATOLL): Define.
2161 Reported by Klaus Kaempf <kkaempf@progis.de>.
2162
2163 Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2164
2165 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
2166 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
2167
2168 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
2169 test !ACCUMULATE_OUTGOING_ARGS.
2170
2171 * collect2.c (write_c_file_glob): Wrap function definition in
2172 macro test !LD_INIT_SWITCH.
2173
2174 * combine.c (try_combine): Wrap variables `cc_use' and
2175 `compare_mode' in macro test EXTRA_CC_MODES.
2176
2177 * cpplib.c (do_ident): Remove unused variable `len'.
2178 (skip_if_group): Remove unused variables `at_beg_of_line' and
2179 `after_ident'.
2180 (cpp_get_token): Remove unused variable `dummy'.
2181
2182 * dbxout.c (scope_labelno): Move static variable definition inside
2183 the one function scope where it is used.
2184 (dbxout_function_end): Wrap prototype and definition in
2185 macro test !NO_DBX_FUNCTION_END.
2186
2187 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
2188 in macro test !MIPS_DEBUGGING_INFO.
2189
2190 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
2191 into the scope where it is used. Wrap empty else-statement body
2192 in braces.
2193
2194 * fix-header.c: Fix typo in comment.
2195 (inf_skip_spaces): Cast results of INF_UNGET to (void).
2196 (check_protection, main): Likewise.
2197
2198 * flow.c (find_basic_blocks_1): Remove dangling comment text.
2199
2200 * function.c (contains): Wrap prototype and definition in macro
2201 test HAVE_prologue || HAVE_epilogue.
2202 (fixup_var_refs_1): Remove unused variable `width'.
2203
2204 * gen-protos.c (main): Remove unused variable `optr'.
2205
2206 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
2207
2208 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
2209 (__sjpopnthrow): Remove unused variable `jmpbuf'.
2210 (__throw): Remove unused variable `val'.
2211
2212 * protoize.c: Check for a previously existing definition before
2213 defining *_OK macros.
2214
2215 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
2216
2217 Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2218
2219 * vax.h (ADDR_VEC_ALIGN): Define.
2220
2221 Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
2222
2223 * gcc.c (default_arg): Don't wander off the end of allocated
2224 memory.
2225
2226 (From Geoffrey Keating <geoffk@ozemail.com.au>)
2227 * rs6000.c (small_data_operand): Ensure that any address
2228 referenced relative to the small data area is inside the SDA.
2229
2230 Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
2231
2232 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
2233
2234 Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
2235
2236 * except.h (in_same_eh_region): New prototype.
2237 (free_insn_eh_region, init_insn_eh_region): New prototypes.
2238 * except.c (insn_eh_region, maximum_uid): New static variables.
2239 (set_insn_eh_region): New static function to set region numbers.
2240 (free_insn_eh_region): New function to free EH region table.
2241 (init_insn_eh_region): New function to initialize EH region table.
2242 (in_same_eh_region): New function used to determine if two rtl
2243 instructions are in the same exception region or not.
2244 * final.c (final): Initialize the table indicating which instructions
2245 belong in which exception region.
2246 * genpeep.c (main): Add "except.h" to include file list in generated
2247 file insn-peep.c.
2248 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
2249 peepholes involving calls and unconditional branches.
2250
2251 Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
2252
2253 * README.gnat: New file.
2254
2255 Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2256
2257 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
2258 "recog.h" for offsettable_memref_p.
2259 (legitimize_pic_address): Remove unused variable `offset'.
2260 (notice_update_cc): Change return type to void. Add default label
2261 to switch.
2262 (standard_68881_constant_p): Remove unused variable mode.
2263 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
2264 (const_int_cost): Explicitly declare as returning int.
2265 (output_dbcc_and_branch): Change return type to void.
2266
2267 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
2268 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
2269 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
2270
2271 Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
2272
2273 * version.c: Bump for snapshot.
2274
2275 Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2276
2277 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
2278 check for 'M' constraint.
2279
2280 Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
2281
2282 * cccp.c (create_definition): If pedantic, call pedwarn for macro
2283 varargs feature.
2284
2285 Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
2286
2287 * i386.c (ix86_logical_operator): New function.
2288 (split_di): Ensure that when a MEM is split, the resulting MEMs have
2289 SImode.
2290 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
2291 to implement them.
2292
2293 Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2294 Richard Earnshaw <rearnsha@arm.com>
2295 Nick Clifton <nickc@cygnus.com>
2296
2297 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
2298
2299 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
2300
2301 * cse.c (rtx_cost): Provide a default case in an enumeration
2302 switch, and call DEFAULT_RTX_COSTS if it's defined.
2303
2304 Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
2305
2306 * basic-block.h (compute_preds_succs): Change return type in
2307 prototype to void.
2308 * flow.c (compute_preds_succs): Likewise in function definition.
2309
2310 * regmove.c (find_matches): Cast char used as array index to unsigned char
2311 to supress warning.
2312
2313 Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
2314
2315 * i386.h (RTX_COSTS): Insert braces around nested if.
2316 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
2317 elements.
2318
2319 * gcc.c (default_compilers): Properly put brackets around array elements in
2320 initializer.
2321
2322 * getopt.c (_getopt_internal): Add explicit braces around nested if;
2323 reformatted.
2324
2325 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
2326 (record_reg_life_pat): Add explicit parens around && and || in expression.
2327 (stack_reg_life_analysis): Add parens around assignment used as expression.
2328 (convert_regs): Likewise.
2329
2330 Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
2331
2332 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
2333 change callers accordingly.
2334
2335 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
2336 and definition; change all callers accordingly.
2337
2338 * except.c (init_eh): Avoid assignment of unused return value of
2339 build_pointer_type; cast it to void, instead, and remove unused
2340 variable type.
2341
2342 * gcc.c (lang_specific_driver): Define prototype only #ifdef
2343 LANG_SPECIFIC_DRIVER.
2344 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
2345
2346 * genoutput.c (output_epilogue): Initialize next_name to 0.
2347
2348 * real.c (efrexp): #if 0 prototype and function definition.
2349 (eremain): Likewise.
2350 (uditoe): Likewise.
2351 (ditoe): Likewise.
2352 (etoudi): Likewise.
2353 (etodi): Likewise.
2354 (esqrt): Likewise.
2355
2356 * reload.c (push_secondary_reload): Define prototype only
2357 #ifdef HAVE_SECONDARY_RELOADS.
2358
2359 * varasm.c (assemble_static_space): Define rounded only
2360 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
2361
2362 Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
2363
2364 * i386.md (andsi): Add default case in enumeration switch.
2365 (iorsi3): Likewise.
2366 (iorhi3): Likewise.
2367 (xorsi3): Likewise.
2368
2369 Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
2370
2371 * c-decl (finish_struct): Change type of min_align to unsigned.
2372
2373 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
2374 remove unused variable len.
2375
2376 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
2377 comment indicating this is proper behaviour.
2378 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
2379 reg >= 0.
2380 (based_loc_descr): Likewise.
2381
2382 * enquire.c (bitpattern): Change type of variable i to unsigned.
2383
2384 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
2385
2386 * flow.c (life_analysis): Change type of variable i to size_t;
2387 remove unused variable insn.
2388
2389 * gcc.c (translate_options): Change type of variables optlen, arglen and
2390 complen to size_t.
2391 (input_filename_length): Change type to size_t.
2392 (do_spec_1): Change type of variable bufsize to size_t.
2393 (main): Change type of variables i and j to size_t;
2394 remove subblock local definition of variable i.
2395 (lookup_compiler): Change type of second argument to size_t;
2396 change type of variable i to size_t.
2397
2398 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
2399
2400 * genopinit.c (get_insn): Change type of variable pindex to size_t.
2401
2402 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
2403
2404 * global.c (global_alloc): Change type of variable i to size_t.
2405
2406 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
2407
2408 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
2409 (expand_end_case): Change type of variable count to size_t.
2410
2411 * toplev.c (main): Change type of variable j to size_t.
2412 (set_target_switch): Change type of variable j to size_t.
2413 (print_switch_values): Change type of variable j to size_t;
2414 remove unused variable flags.
2415
2416 * varasm.c (assemble_variable): Change type of variable align to size_t.
2417 (const_hash_rtx): Change type of variable i to size_t.
2418
2419 1998-03-11 Mark Mitchell <mmitchell@usa.net>
2420
2421 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
2422 TREE_VEC if that's what it really is.
2423
2424 Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
2425
2426 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
2427 as per ISO C spec.
2428
2429 Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
2430
2431 * gthr.h: Changed the comment about return values.
2432 * gthr-solaris.h (__gthread_once): Do not use errno; return the
2433 error number instead of -1.
2434 (__gthread_key_create): Any non-zero return value is an error.
2435 * libgcc2.c (eh_context_initialize): Check for non-zero return
2436 value from __gthread_once.
2437 Check that the value of get_eh_context was really changed.
2438
2439 Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2440
2441 * sh.h (LOOP_ALIGN): Only align when optimizing.
2442 * sh.c (find_barrier): Clear inc for CODE_LABELs.
2443 When not optimizing, calculate alignment for BARRIERs directly.
2444
2445 Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2446
2447 * final.c (shorten_branches): Remove conditionalizing on
2448 SHORTEN_WITH_ADJUST_INSN_LENGTH
2449 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
2450
2451 Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
2452
2453 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
2454 an unconditional jump around deleted blocks.
2455
2456 Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
2457
2458 * profile.c (branch_prob): If see computed goto, call fatal instead of
2459 abort.
2460
2461 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
2462
2463 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
2464 Patch from Bruno Haible.
2465
2466 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
2467 (assign_parms): Set aggregate if hide_last_arg and last_named.
2468
2469 Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2470
2471 * final.c (shorten_branches): Initialize insn_addresses.
2472
2473 Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2474
2475 * sh.h (MUST_PASS_IN_STACK): Define.
2476
2477 Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
2478
2479 * final.c (shorten_branches): Fix minor logic error in
2480 ADDR_DIFF_VEC shortening support.
2481
2482 Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
2483
2484 * version.c: Bump for snapshot.
2485
2486 Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
2487
2488 * haifa-sched.c (is_cfg_nonregular): Change return type to
2489 an int. No longer compute "estimated" number of edges. Use
2490 computed_jump_p instead of duplicating the code. Fixup/add
2491 some comments.
2492 (build_control_flow): Returns a value indicating an irregularity
2493 in the cfg was detected. Count the number of edges in the cfg.
2494 allocate various edge tables.
2495 (find_rgns): No longer look for unreachable blocks.
2496 (schedule_insns): Do not allocate memory for edge tables here.
2497 Free memory for edge tables before returning. Do not perform
2498 cross block scheduling if build_control_flow returns nonzero.
2499 * flow.c (compute_preds_succs): More accurately determine when
2500 a block drops in.
2501
2502 * basic-block.h (free_basic_block_vargs): Provide prototype.
2503
2504 * cccp.c (main): Fix dumb mistakes in last change.
2505
2506 Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2507
2508 * rtl.h (addr_diff_vec_flags): New typedef.
2509 (union rtunion_def): New member rt_addr_diff_vec_flags.
2510 (ADDR_DIFF_VEC_FLAGS): New macro.
2511
2512 * sh.c (output_branch): Fix offset overflow problems.
2513
2514 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
2515 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
2516 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
2517 * stmt.c (expand_end_case): Supply new arguments to
2518 gen_rtx_ADDR_DIFF_VEC.
2519 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
2520 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
2521 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
2522 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
2523 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
2524 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
2525 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
2526 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
2527 * i386/freebsd.h, i386/linux.h : Likewise.
2528 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
2529 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
2530 * m68k/mot3300.h, m68k/sgs.h : Likewise.
2531 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
2532 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
2533 (CASE_VECTOR_SHORTEN_MODE): Define.
2534 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
2535 (med_branch_p, braf_branch_p): Don't declare.
2536 (mdep_reorg_phase, barrier_align): Declare.
2537 (ADJUST_INSN_LENGTH): Remove alignment handling.
2538 * sh.c (uid_align, uid_align_max): Deleted.
2539 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
2540 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
2541 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
2542 (output_far_jump): Don't use braf_branch_p.
2543 (output_branchy_insn): Don't use branch_offset.
2544 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
2545 Remove paired barrier stuff.
2546 Don't use cache_align_p.
2547 Take alignment insns into account.
2548 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
2549 the addr_diff_vec.
2550 (barrier_align, branch_dest): New function.
2551 (machine_dependent_reorg, split_branches): Remove infrastructure
2552 for branch shortening that is now provided in the backend.
2553 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
2554 (braf_branch_p, braf_cbranch_p): Likewise.
2555 (attribute length): Use new attributes.
2556 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
2557 (addr_diff_vec_adjust): Delete.
2558 (align_2): Now a define_expand.
2559 (align_log): Now length 0.
2560
2561 Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
2562
2563 * m32r.md (right): Correctly check for length == 2, not 1.
2564
2565 Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2566
2567 * mips/mips.h: Prototype `machine_dependent_reorg'.
2568 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
2569
2570 Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
2571
2572 * final.c (shorten_branches): Restore accidentally removed code.
2573
2574 Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2575
2576 * configure.in: Remove duplicate uses of AC_PROG_CC and
2577 AC_PROG_MAKE_SET.
2578
2579 Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
2580
2581 * configure.in (target_cpu_default2): Correct typo for alphapca56.
2582
2583 Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
2584 Doug Evans (devans@cygnus.com)
2585
2586 * haifa-sched.c (build_jmp_edges): Delete dead function.
2587 (build_control_flow): Use cfg routines from flow.c
2588 (schedule_insns): Remove debugging code accidentally checked
2589 in earlier today.
2590
2591 * basic-block.h: Add external integer list structures, typdefs,
2592 accessor macros and function declarations. Simlarly for
2593 basic block pred/succ support and simple bitmap stuff.
2594 * flow.c: Add functions for integer list, basic block pred/succ
2595 support and simple bitmap support.
2596 (compute_dominators): New function to compute dominators and
2597 post dominators.
2598 (find_basic_blocks): Split into two functions.
2599 (life_analysis): Likewise.
2600 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
2601 the life_analysis from toplev.c
2602 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
2603 life_analysis instead of flow_analysis.
2604
2605 Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2606
2607 * jump.c (jump_optimize): Call mark_jump_label also for deleted
2608 insns.
2609 (mark_jump_label): Don't increment ref counts for deleted insns.
2610
2611 Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2612
2613 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
2614
2615 * mips/mips.c: Include stdlib.h and unistd.h.
2616 (mips_asm_file_end): Add braces around empty body in an if-statement.
2617 (function_prologue): Wrap variable `fnname' in
2618 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
2619 (mips_select_rtx_section, mips_select_section): Declare as void.
2620
2621 * mips/mips.h: Add prototypes for extern functions in mips.c.
2622 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
2623 (ENCODE_SECTION_INFO): Add braces around empty body in an
2624 if-statement.
2625
2626 * mips/mips.md (movdi): Add parentheses around && within ||.
2627 (movsf, movdf): Likewise.
2628 (branch_zero, branch_zero_di): Add default case in
2629 enumeration switch.
2630
2631
2632 Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
2633
2634 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
2635 real constants, since they can't be changed.
2636 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
2637 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
2638 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
2639 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
2640 * alpha/vms.h (TARGET_OPEN_VMS): New.
2641 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
2642
2643 Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
2644
2645 * reload.c (find_reloads): Always force (subreg (mem)) to be
2646 reloaded if WORD_REGISTER_OPERATIONS.
2647
2648 Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
2649
2650 * haifa-sched.c (free_list): Rename from free_pnd_lst.
2651 (free_pending_lists): Rename free_pnd_lst uses.
2652 (remove_dependence): Place expunged element on unused_insn_list.
2653 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
2654 gen_rtx_*_LIST and alloc_rtx to use them.
2655 (compute_block_backward_dependences): Free the reg_last_* lists.
2656
2657 Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
2658
2659 * cccp.c (main): Avoid undefined behavior when setting pend_includes
2660 and pend_files.
2661
2662 Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
2663
2664 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
2665 USE_GNULIBC_1 is defined
2666 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
2667 includes the t-linux-gnulibc1 fragment
2668
2669 Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
2670
2671 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
2672
2673 Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2674
2675 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
2676
2677 Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2678
2679 * final.c (shorten_branches): Tag the loop alignment onto the
2680 first label after NOTE_INSN_LOOP_BEG even if there is an
2681 intervening insn.
2682
2683 Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2684
2685 * final.c (insn_current_reference_address):
2686 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
2687 proper alignment chain.
2688
2689 * final.c (max_labelno): New static variable.
2690 (final_scan_insn): Check max_labelno before outputting an
2691 alignment for a label.
2692 (shorten_branches): Remove unused variable length_align.
2693
2694 Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2695
2696 * sparc.c (ultrasparc_adjust_cost): Add default case in
2697 enumeration switch.
2698
2699 * sparc.h: Add prototypes for extern functions defined in
2700 sparc.c.
2701
2702 Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
2703
2704 * toplev.c: Only generate <name>.dbr file when dumping RTL if
2705 DEALY_SLOTS is defined.
2706
2707 Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
2708
2709 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
2710 in call to fill_slots_from_thread.
2711
2712 Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
2713
2714 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
2715 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
2716
2717 Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2718
2719 * final.c (insn_last_address, insn_current_align, uid_align):
2720 New variables.
2721 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
2722 (insn_current_reference_address): Likewise.
2723 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
2724 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
2725 (label_to_alignment): New function.
2726 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
2727 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
2728 insn_current_reference_address instead of insn_current_address.
2729 (or_attr_value, write_length_unit_log): New functions.
2730 (main): Call write_length_unit_log.
2731 (write_const_num_delay_slots): Output extra '\n'.
2732 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
2733 replace with:
2734 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
2735 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
2736 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
2737 (LOOP_ALIGN).
2738 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
2739 (LABEL_ALIGN_AFTER_BARRIER).
2740 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
2741 * ns32k/tek6000.h: Likewise.
2742 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
2743 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
2744 ASM_OUTPUT_ALIGN_CODE.
2745
2746 Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
2747
2748 * version.c: Bump for snapshot.
2749
2750 Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
2751
2752 * version.c: Bump for snapshot.
2753
2754 Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
2755
2756 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
2757 if condition code of jump conflicts with opposite_needed.
2758
2759 * reorg.c (fill_slots_from_thread): Mark resources referenced in
2760 opposite_needed thread. Return delay_list even when cannot get
2761 any more delay insns from end of subroutine.
2762
2763 Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
2764
2765 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
2766 All callers changed.
2767
2768 Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
2769
2770 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
2771 end_fde_sort): New functions for fast sorting of an FDE array.
2772 (fde_insert): Simplified.
2773 (add_fdes): Change argument list.
2774 (frame_init): Use the new functions.
2775
2776 Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
2777
2778 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
2779
2780 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
2781
2782 * fold-const.c (fold_range_test): Always return a value.
2783
2784 Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
2785
2786 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
2787 data in the text section unless READONLY_DATA_SECTION is defined.
2788
2789 Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
2790
2791 * c-parse.in (undeclared variable error): Tweak error message to
2792 be clearer.
2793
2794 Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
2795
2796 * version.c: Bump for snapshot.
2797
2798 1998-02-28 Mark Mitchell <mmitchell@usa.net>
2799
2800 * final.c (final_scan_insn): Undo overzealous removal of `set'.
2801
2802 Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2803
2804 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
2805 case, add parentheses to specify the proper order of precedence in
2806 the if-statement.
2807
2808
2809 * c-aux-info.c: Include string.h/strings.h.
2810
2811 * pa.c: Include stdlib.h.
2812 (pa_combine_instructions): Prototype the function.
2813 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
2814 (reloc_needed): Add default case for enumeration switch.
2815 (remove_useless_addtr_insns): Remove unused variable `all'.
2816 (hppa_expand_prologue): Add explicit braces to avoid
2817 ambiguous `else'.
2818 (output_function_epilogue): Remove unused variable `i'.
2819 (output_millicode_call): Remove unused variable `link'.
2820 (shadd_constant_p, forward_branch_p): Make the function static.
2821 (following_call): Explicitly declare to return int.
2822 (pa_reorg): Declare as void.
2823 (pa_combine_instructions): Declare as static void. Add
2824 parentheses around && within ||.
2825
2826 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
2827 following_call, function_label_operand, lhs_lshift_cint_operand
2828 and zdepi_cint_p.
2829
2830 * pa.md: Add parentheses around && within ||.
2831
2832 * cppalloc.c: Include stdlib.h.
2833
2834 * cpperror.c (cpp_print_containing_files): Remove unused variable
2835 `i'. Fix format specifier in fprintf.
2836
2837 * cse.c (cse_around_loop): Add explicit braces to avoid
2838 ambiguous `else'.
2839 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
2840
2841 * expr.c (expand_expr): Add parentheses around && within ||.
2842
2843 * final.c (app_enable): Replace fprintf with fputs where there are
2844 no format specifiers and no trailing argument after the string.
2845 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
2846 (app_disable): Likewise.
2847 (final_end_function): Likewise.
2848 (final_scan_insn): Likewise. Remove unused variable `set'.
2849 (profile_function): Wrap empty if-statement body in {} brackets.
2850
2851 * function.c: Include stdlib.h.
2852 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
2853 (reposition_prologue_and_epilogue_notes): Add parentheses
2854 around assignment used as truth value.
2855
2856 * integrate.c (expand_inline_function): Wrap variable
2857 `cc0_insn' in macro HAVE_cc0.
2858
2859 * jump.c (jump_optimize): Wrap variable `q' in macro
2860 HAVE_cc0. Remove unused variable `prev1'.
2861
2862 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
2863 within ||. Fix format specifier in fprintf.
2864 (__bb_init_prg): Add parentheses around assignment used as
2865 truth value.
2866
2867 * local-alloc.c: Include stdlib.h.
2868 (requires_inout): Add parentheses around assignment used
2869 as truth value.
2870
2871 * loop.c (analyze_loop_iterations): Wrap prototype and definition
2872 in macro HAVE_decrement_and_branch_on_count.
2873 (insert_bct, instrument_loop_bct): Likewise.
2874 (move_movables): Add parentheses around assignment used as
2875 truth value.
2876 (consec_sets_invariant_p): Likewise.
2877 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
2878
2879 * objc/objc-act.c: Include stdlib.h.
2880 (lookup_method_in_protocol_list): Wrap empty else-statement body
2881 in braces.
2882 (lookup_protocol_in_reflist): Likewise.
2883 (objc_add_static_instance): Remove unused variables `decl_expr'
2884 and `decl_spec'.
2885 (get_objc_string_decl): Remove unused variable `decl'.
2886 (generate_static_references): Remove unused variables `idecl' and
2887 `instance'.
2888 (check_protocols): Wrap empty else-statement body in braces.
2889
2890 * protoize.c: Include stdlib.h.
2891 (substr): Add parentheses around assignment used as truth value.
2892 (abspath): Likewise.
2893 (shortpath): Likewise.
2894
2895 * regmove.c (fixup_match_1): Add parentheses around assignment
2896 used as truth value.
2897
2898 * reload.c (push_secondary_reload): Remove unused variable `i'.
2899 (find_reloads): Add parentheses around assignment used as truth
2900 value.
2901
2902 * reload1.c: Include stdlib.h.
2903
2904 * rtl.h: Correct typo in prototype of offsettable_memref_p.
2905
2906 * stmt.c (add_case_node): Add parentheses around assignment used
2907 as truth value.
2908 (case_tree2list): Likewise.
2909
2910 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
2911 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
2912 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
2913 (merge_attributes): Add explicit braces to avoid ambiguous
2914 `else'.
2915
2916 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
2917 macro HAVE_cc0.
2918
2919 * varasm.c: Include stdlib.h.
2920
2921
2922 * system.h: Remove sys/stat.h.
2923 * gcc.c: Add sys/stat.h.
2924
2925 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
2926 * genattrtab.c: Likewise.
2927 * genconfig.c: Likewise.
2928 * genemit.c: Likewise.
2929 * genextract.c: Likewise.
2930 * genflags.c: Likewise.
2931 * genopinit.c: Likewise.
2932 * genoutput.c: Likewise.
2933 * genpeep.c: Likewise.
2934 * genrecog.c: Likewise.
2935 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
2936
2937 Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2938
2939 * invoke.texi: Use @itemx for a secondary item in a @table.
2940
2941 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
2942 zero.
2943
2944 Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
2945
2946 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
2947
2948 Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
2949
2950 * i386.c (struct machine_function): Add new fields for PIC stuff.
2951 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
2952 and pic_label_name.
2953 (restore_386_machine_status): Corresponding changes.
2954 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
2955
2956 Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
2957
2958 * c-parse.y (undeclared variable error): Tweak error message
2959 to be clearer.
2960
2961 Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
2962
2963 * flags.h (g_switch_value, g_switch_set): Declare.
2964 * alpha.c (override_options): Set g_switch_value=8 if not set.
2965 * alpha/elf.h (CC1_SPEC): New.
2966 (ASM_SPEC): New.
2967 (LINK_SPEC): Pass along the -G value we were given.
2968 (LOCAL_ASM_OP): Remove.
2969 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
2970 (MAX_OFILE_ALIGNMENT): New.
2971 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
2972 (EXTRA_SECTIONS): Add sbss and sdata.
2973 (SECTION_FUNCTION_TEMPLATE): New.
2974 (EXTRA_SECTION_FUNCTIONS): Use it.
2975 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
2976 (SELECT_SECTION): Use sdata when small enough.
2977 * alpha/linux.h (ASM_SPEC): Remove.
2978
2979
2980 Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
2981 * config.sub (sco5): Fix typo.
2982
2983 Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
2984
2985 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
2986 set to empty.
2987 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
2988 * config/alpha/t-linux: Remove file.
2989 * config/sparc/t-linux: Remove file.
2990 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
2991 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
2992 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
2993 for tmake_file.
2994 (alpha*-*-linux-gnu*): Likewise.
2995 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
2996 (sparc-*-linux-gnu*): Likewise.
2997
2998 Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
2999 * collect2.c (ldd_file_name): Bracket declaration with same
3000 manifests as use.
3001 (full_real_ld_suffix): Deleted. Variable was calloced and
3002 written into, but never read.
3003
3004 1998-02-23 Mike Stump <mrs@wrs.com>
3005
3006 * configure.in: Add support for i386-wrs-vxworks configuration.
3007 * i386/vxi386.h: New file.
3008
3009 Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
3010
3011 * tree.c (contains_placeholder_p): Ensure function always returns
3012 a value.
3013 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
3014 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
3015
3016 Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
3017
3018 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
3019
3020 1998-02-22 Paul Eggert <eggert@twinsun.com>
3021
3022 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
3023 Define this new symbol.
3024 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
3025 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
3026 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
3027
3028 Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
3029
3030 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
3031 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
3032
3033 Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
3034
3035 * objc/Object.m (-error): Call objc_verror with our va_list.
3036
3037 Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3038
3039 * collect2.c (scan_prog_file): Completely cover uses of variable
3040 `exports' with macro COLLECT_EXPORT_LIST.
3041
3042 Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
3043
3044 * version.c: Bump for snapshot.
3045
3046 Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
3047
3048 * sched.c (schedule_block): Remove code to get arguments from hard
3049 regs into pseudos early. Same as Aug 25, 1997 change to
3050 haifa-sched.c.
3051
3052 1998-02-20 Jason Merrill <jason@yorick.cygnus.com>
3053
3054 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
3055
3056 1998-02-16 Mark Mitchell <mmitchell@usa.net>
3057
3058 * toplev.c (rest_of_compilation): Do not defer the output of a
3059 nested function.
3060
3061 Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
3062
3063 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
3064 continuation character (line 243).
3065
3066 Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3067
3068 * genrecog.c (main): Remove duplicated sentence in emitted comment.
3069
3070 Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
3071 David Edelsohn <edelsohn@mhpcc.edu>
3072
3073 * collect2.c (XCOFF_SCAN_LIBS): Remove.
3074 (export_flag): New variable.
3075 (export_file): #ifdef COLLECT_EXPORT_LIST.
3076 (import_file, exports, imports, undefined): New variables.
3077 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
3078 (dump_list, dump_prefix_list, is_in_list): New functions.
3079 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
3080 (write_import_file, resolve_lib_name): New functions.
3081 (use_import_list, ignore_library): Same.
3082 (collect_exit): maybe_unlink import_file and #ifdef.
3083 (handler): Same.
3084 (main): New variable importf, #ifdef exportf. Move parsing of
3085 -shared before general argument parsing. Resolve AIX library
3086 paths and import libgcc.a symbols. Treat .so shared libraries the
3087 same as objects and .a libraries. Create alias for object_lst and
3088 increment it instead of original pointer. Scan AIX libraries as
3089 objects earlier instead of using scan_libraries. Perform AIX
3090 tlink later to resolve templates instead of forking ld.
3091 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
3092 (GCC_UNDEF_SYMBOL): New macro.
3093 (scan_prog_file): Loop for members of AIX libraries. Handle
3094 export/import of ctors/dtors.
3095 (aix_std_libs): New variable.
3096 (scan_libraries, XCOFF): Delete.
3097
3098 Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
3099
3100 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
3101
3102 1998-02-19 Mike Stump <mrs@wrs.com>
3103
3104 * Makefile.in: Use $tooldir for sys-include to match toplevel
3105 configure.
3106
3107 Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
3108 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3109
3110 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
3111
3112 * emit-rtl.c (hard-reg-set.h): Include.
3113 (get_lowpart_common): Don't make new REG for hard reg in a
3114 class that cannot change size.
3115 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
3116
3117 * combine.c: Revert previous patch.
3118
3119 1998-02-19 Paul Eggert <eggert@twinsun.com>
3120
3121 * config/sparc/sol2-sld.h: New file.
3122 * configure.in (sparc-*-solaris2*): Use it when using the
3123 system linker.
3124
3125 Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
3126
3127 * loop.c (force_movables): Fix typo.
3128
3129 Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
3130
3131 * m88k.h: Change file pattern to match reality.
3132
3133 Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
3134
3135 * varasm.c (output_constant_pool): Fix dumb thinko in last
3136 change.
3137
3138 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
3139 a function name to a section name.
3140
3141 1998-02-18 Doug Evans <devans@cygnus.com>
3142
3143 * tree.h (merge_machine_{type,decl}_attributes): Declare.
3144 (split_specs_attrs, strip_attrs): Add prototypes.
3145 * tree.c (merge_machine_{type,decl}_attributes): New functions.
3146 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
3147 Update olddecl's attributes too.
3148 * c-common.c (strip_attrs): New function.
3149 * c-typeck.c (common_type): Call merge_machine_type_attributes.
3150 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
3151 (make_decl_rtl): Likewise.
3152
3153 1998-02-18 Jim Wilson <wilson@cygnus.com>
3154
3155 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
3156
3157 Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
3158
3159 Remove this change until we can fix it correctly.
3160 * collect2.c: Bracket declaration of 'exportf' and
3161 'full_real_ld_suffix'.
3162
3163 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
3164
3165 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
3166
3167 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
3168
3169 * c-common.c (c_expand_start_cond, c_expand_end_cond,
3170 c_expand_start_else): Don't warn about non-ambiguous else even if
3171 braces are missing.
3172
3173 Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
3174
3175 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
3176 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
3177 instead.
3178
3179 Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
3180
3181 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
3182 simplifying a subreg of a hard reg.
3183 (expand_compound_operation): Likewise.
3184 (force_to_mode): Likewise.
3185
3186 Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3187
3188 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
3189 (lshift_double): Add parentheses around + or - inside shift.
3190 (rshift_double): Likewise.
3191 (size_int_wide): Explicitly set type of `bit_p' to `int'.
3192
3193 * Makefile.in (fold-const.o): Depend on system.h.
3194
3195 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
3196 change to gcc.c.
3197
3198 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
3199 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
3200 (sched_note_set): Remove unused parameter `b', all callers changed.
3201 (schedule_block): Likewise for `rgn'.
3202 (split_hard_reg_notes): Likewise for `orig_insn'.
3203 (check_live): Likewise for `trg'.
3204 (update_live): Likewise.
3205 (check_live_1): Explcitly declare variable `i' as int.
3206 (update_live_1): Likewise.
3207 (insn_issue_delay): Remove unused variable `link'.
3208 (sched_analyze_2): Add default case in enumeration switch.
3209 (schedule_insns): Remove unused variable `i'.
3210
3211 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
3212
3213 Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
3214
3215 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
3216 a dangling else clause.
3217
3218 Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
3219
3220 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
3221 pointer for the stack pointer in MIPS16 and 64BIT.
3222
3223 Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3224
3225 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
3226 * emit-rtl.c (force_line_numbers, restore_line_number_status):
3227 New functions.
3228 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
3229 (expand_start_case): Adjust to this change.
3230 (check_seenlabel): New function.
3231 (pushcase, pushcase_range, expand_endcase): Use it.
3232
3233 Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3234
3235 * i386.md (adddi3): Add =!r,0,0,X alternative.
3236
3237 Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
3238
3239 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
3240 * x-aix31 (INSTALL): Delete.
3241
3242 Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
3243
3244 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
3245 tsize changes to something other than zero.
3246
3247 Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
3248
3249 * ginclude/va-mips.h: Replace casts of pointers to int with
3250 casts of pointers to __PTRDIFF_TYPE__.
3251
3252 Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
3253
3254 * loop.c (strength_reduce, record_biv, record_giv): Use
3255 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
3256
3257 1998-02-16 Jason Merrill <jason@yorick.cygnus.com>
3258
3259 * tree.c (first_rtl_op): New fn.
3260 (unsave_expr_now): Use it.
3261 * print-tree.c (print_node): Likewise.
3262 * tree.c (has_cleanups): New fn.
3263 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
3264 conservative about pushing the cleanup point down.
3265 * tree.h: Declare them.
3266
3267 Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
3268
3269 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
3270 (flag_schedule_reverse_after_reload): Likewise.
3271 (f_options): Remove reverse scheduling support.
3272 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
3273 (flag_schedule_reverse_after_reload): Likewise.
3274 * haifa-sched.c (rank_for_schedule): Remove support for reverse
3275 scheduling.
3276
3277 Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3278
3279 * gcc.c: Get system includes, prototypes and macros via "system.h"
3280 instead of doing it manually. Change all calls of the ctype
3281 macros to custom versions defined in "system.h".
3282
3283 * system.h: Fix return type of bcmp prototype from `void' to `int'.
3284 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
3285 Add a prototype for getenv.
3286
3287 Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
3288
3289 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
3290
3291 Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
3292
3293 * alias.c: Include <stdlib.h> and <string.h>.
3294 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
3295
3296 Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
3297
3298 * version.c: Bump for snapshot.
3299
3300 Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
3301
3302 * arm.md (movsfcc): Also validate operands[3] when compiling hard
3303 float.
3304 (movdfcc): Only accept fpu_add_operand for operands[3].
3305
3306 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
3307 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
3308
3309 Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
3310
3311 * varasm.c (output_constant_pool): Bring back 'done' label inside
3312 an appropriate #ifdef.
3313
3314 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
3315 appropriate #ifdef.
3316 (bitmap_copy, bitmap_operation): Likewise.
3317 * combine.c (combinable_i3pat): Similarly for 'src'.
3318 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
3319 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
3320 * regclass.c (copy_cost): Similarly for 'secondary_class'.
3321 * reload.c (make_memloc): Simliarly for 'i'.
3322 (find_reloads_address_1): Similarly for 'link'.
3323 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
3324 (emit_reload_insns): Similarly for 'second_reloadreg'.
3325 * unroll.c (iteration_info): Similarly for 'v'.
3326
3327 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
3328 * calls.c (expand_call): Similarly for 'i'.
3329 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
3330 * fold-const.c (strip_compund_expr): Similarly for 'type'.
3331 * function.c (fixup_var_refs_1): Similarly for 'width'.
3332 (fixup_memory_subreg): Similarly for 'saved'.
3333 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
3334 (setjmp_protect): Similarly for 'sub'.
3335 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
3336 * loop.c (record_giv): Similarly for 'p'.
3337 (combine_givs): Similarly for 'temp_iv'.
3338 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
3339 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
3340 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
3341 * unroll.c (unroll_loop): Similarly for 'copy'.
3342 (iteration_info): Similarly for 'b'.
3343 * varasm.c (assemble_string): Similarly for 'i'.
3344 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
3345
3346 1998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
3347
3348 * c-lang.c (lang_print_xnode): New function.
3349 * objc/objc-act.c (lang_print_xnode): Likewise.
3350 * print-tree.c (print_node): Call it
3351
3352 Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
3353
3354 * dwarf2out.c (decl_scope_node): New type.
3355 (decl_scope_table): Change type to use it.
3356 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
3357 (push_decl_scope): Use new type. New locals containing_scope, i.
3358 Add code to handle setting previous field.
3359 (scope_die_for): Change type of local i to int. Add code to use
3360 previous field.
3361 (dwarf2out_init): Use new type.
3362
3363 1998-02-13 Jason Merrill <jason@yorick.cygnus.com>
3364
3365 * except.c (emit_throw): Lose throw_used.
3366
3367 Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3368
3369 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
3370 was deleted.
3371 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
3372
3373 Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
3374
3375 * genextract.c (main): Fix typo.
3376
3377 Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
3378
3379 * c-lang.c (finish_file): Bracket declaration of static_ctors,
3380 static_dtors.
3381
3382 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
3383 'old_stack_arg_under_construction'
3384 (emit_library_call): Bracket declaration of 'upper_bound',
3385 'lower_bound', 'i', 'reg_parm_stack_space'
3386 (emit_library_call_value): Likewise.
3387 (store_one_arg):
3388
3389 * collect2.c: include <unistd.h> when appropriate.
3390 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
3391
3392 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
3393
3394 * explow.c (plus_constant_for_output_wide): Remove unused variable
3395 'code'.
3396 (memory_address): Remove unused variable 'orig_x'.
3397
3398 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
3399 (write_const_num_delay_slots): Remove unused variable 'i'.
3400
3401 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
3402 (gen_insn): Remove unused variable 'obstack_ptr'.
3403
3404 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
3405 'j', 'tmp', 'i'.
3406 (__bb_exit_trace_func): Remove unused variable 'e'.
3407
3408 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
3409 'funexp'.
3410 (expand_unop): Remove unused variable 'funexp'.
3411 (expand_complex_abs): Remove unused variable 'funexp'.
3412 (init_optabs): Bracket declaration of 'j'.
3413 (init_complex_libfuncs): Deleted. Dead static function.
3414
3415 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
3416
3417 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
3418 (reg_to_stack): 'initialized', 'before_function_beg'
3419 explictly type as ints instead of defaulting.
3420 (emit_swap_insn): Remove unused variable 'i2'.
3421 (compare_for_stack_reg): Remove unused variable 'src_note'.
3422
3423 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
3424
3425 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
3426
3427 * stmt.c (add_case_node): Add parens for assignment used as truth.
3428 (all_cases_count): Remove unused variable 'count_high'.
3429 (mark_seen_cases): Remove unused variable 'i'.
3430 (check_for_full_enumeration_handling): Remove unused variable 't'.
3431 Bracket declaration of 'all_values', 'l'.
3432
3433 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
3434
3435 * varasm.c (assemble_string): Remove unused variable 'i'.
3436 (immed_double_const): Remove unused variable 'in_current_obstack'.
3437 (immed_real_const_1): Likewise.
3438 (output_constant_pool): Remove unreferenced label 'done'.
3439 (output_constant): Remove unused variable 'x'.
3440
3441 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
3442 a string.
3443
3444 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
3445 as truth.
3446
3447 Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3448
3449 * combine.c (can_combine_p): Handle USEs in PARALLELs.
3450
3451 Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
3452
3453 * config/linux.h (LIB_SPEC): Add -lc for -shared if
3454 USE_GNULIBC_1 is not defined.
3455 * config/sparc/linux.h; Ditto.
3456
3457 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
3458
3459 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
3460 USE_GNULIBC_1 is not defined.
3461
3462 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
3463
3464 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
3465 for -mcall-linux
3466
3467 Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3468
3469 * system.h: New file to get common systems includes and various
3470 definitions and declarations based on autoconf macros.
3471
3472 Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
3473
3474 * cccp.c (new_include_prefix): Correctly handle -I./.
3475
3476 Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
3477
3478 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
3479
3480 Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
3481
3482 * expr.c (expand_assignment): Correct typo exposed by -Wall.
3483 offset should have been a truth value, not an assignment.
3484
3485 Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
3486
3487 * cse.c (delete_dead_from_cse): If a libcall produces a constant
3488 result and that result can be substituted into SET_SRC of the
3489 insn with the REG_RETVAL note, then perform the substitution
3490 and delete the libcall.
3491
3492 Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
3493
3494 * mips.md (trucndihi2,truncdiqi2): Change these to support
3495 mips16.
3496
3497 Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
3498
3499 * mips/mips.c (movdi_operand): Direct referances to symbols
3500 that arn't mips16 consts in mips16 mode arn't valid operands.
3501
3502 * mips/mips.c (mips_move_2words): Add gprel handling.
3503
3504 Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
3505
3506 * mips.md (extendsidi2): Allow extension to/from a non-mips16
3507 register.
3508
3509 Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
3510
3511 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
3512 <strings.h>.
3513
3514 Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3515
3516 * Makefile.in (WARN_CFLAGS): New variable.
3517 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
3518
3519 1998-02-11 Mark Mitchell <mmitchell@usa.net>
3520
3521 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
3522 falling through default case in switch.
3523 (i386_aligned_p): Likewise.
3524
3525 Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
3526
3527 * mips/mips.h (mips_abi_string): Correct typo in comment.
3528
3529 Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
3530
3531 * mips/mips.md (movdi): These PLUS's need to be Pmode.
3532
3533 Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3534
3535 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
3536 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
3537 indirectly via expr.h.
3538
3539 Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
3540
3541 * stor-layout.c (layout_type): Do upper - lower in the native type,
3542 so as to properly handle negative indices.
3543
3544 Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
3545
3546 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
3547 (expand_eh_region_start_tree): Remove unused variable 'note'.
3548 (exception_optimize): Remove unused variable 'regions'.
3549 (expand_builtin_eh_stub): Remove unused variable 'temp'.
3550 (copy_eh_entry): Deleted. Dead function.
3551
3552 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
3553 'last' with same #if HAVE_load_multiple as use of it.
3554 (move_block_from_reg): Likewise.
3555 (emit_move_insn_1): Remove unused variable 'insns'.
3556 (store_constructor): Bracket declaration of startb, endb with
3557 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
3558 'target', and 'xtarget'.
3559 (expand_builtin_setjmp): Remove unused variables 'op0',
3560 'next_arg_reg', 'old_inhibit_defer_pop'.
3561 (expand_builtin): Remove unused variable 'offset'.
3562 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
3563 (emit_queue): Add parens for assignment used as conditional.
3564 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
3565
3566 Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
3567
3568 * i386.c: Added include for recog.h.
3569 (override_options): Removed unused variable p. Initialized regno to
3570 avoid warning.
3571 (order_regs_for_local_alloc): Initialized regno to avoid warning.
3572 (legitimize_address): Likewise for 'other'.
3573 (i386_aligned_reg_p): Added default case with abort ().
3574 (print_operand): Likewise.
3575 (reg_mentioned_in_mem): Likewise.
3576 (ix86_expand_binary_operator): Removed unused variables i & insn.
3577 (ix86_expand_unary_operator): Removed unused variable insn.
3578 (output_fp_cc0_set): Removed unused variable unordered_label.
3579
3580 Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
3581
3582 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
3583 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
3584 and format string match.
3585
3586 Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
3587
3588 * flow.c (life_analysis): Do not conside the stack pointer live at
3589 the end of a function if the fucntio ncalls alloca.
3590 (mark_used_regs): Similarly.
3591
3592 1998-02-10 John F Carr <jfc@mit.edu>
3593
3594 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
3595 1, fzero on alternative 8.
3596
3597 Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3598
3599 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
3600
3601 Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3602
3603 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
3604 SUBREGs of CONST_INTs.
3605
3606 Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
3607
3608 * mips.c (print_operand, function_prologue): Make printf format
3609 match argument type.
3610
3611 Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3612
3613 * alpha.c (alpha_return_addr): Remove unused variable `first'.
3614 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
3615 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
3616
3617 Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3618
3619 * loop.c (strength_reduce): When placing increment for auto-inc
3620 case, do comparison in loop order.
3621
3622 Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
3623
3624 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
3625 not a HOST_WIDE_INT.
3626
3627 * calls.c (expand_call): Change test of expand_inline_function
3628 return value to stop compiler warning.
3629
3630 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
3631
3632 Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
3633 Jeff Law (law@cygnus.com)
3634
3635 * regmove.c: Fix various minor formatting problems.
3636 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
3637 is true. Make end of basic block tests consistent through regmove.c.
3638 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
3639 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
3640
3641 Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3642
3643 * gansidecl.h: Check for a conflicting macro definition before
3644 attempting to prototype bcopy, bcmp or bzero.
3645
3646 Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
3647
3648 * expr.c (clear_pending_stack_adjust): Handle case where a function
3649 calls alloca, but the user has specified -fomit-fframe-pointer.
3650
3651 * function.c (assign_parms): Fix typo in last change.
3652
3653 Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
3654
3655 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
3656 <fcntl.h>.
3657 (free_path_suffix): Remove unreferenced static function.
3658 (process_command): Remove unused variable temp.
3659 (default_arg): Remove unused variable i.
3660 (do_spec_1): Add parens for assignment used as truth value.
3661 (main): Likewise.
3662 (validate_all_switches): Likewise.
3663 (main): Remove unused variables i, first_time>
3664
3665 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
3666
3667 * calls.c (expand_call): Remove unused variables funtree,
3668 n_regs, and tmpmode.
3669
3670 * dbxout.c, except.c: Include <string.h>/<strings.h>.
3671
3672 * explow.c: (plus_constant_for_output_wide) Removed unused
3673 variable all_constant.
3674
3675 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
3676 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
3677 genrecog.c, global.c, integrate.c , stupid.c : Include
3678 <stdlib.h>.
3679
3680 * genextract.c: (walk_rtx) Remove unused variable link.
3681
3682 * genrecog.c: (concat) Remove unreferenced static function.
3683
3684 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
3685
3686 * stmt.c: Include <stdlib.h>.
3687 (expand_asm_operands): Remove unused variable val1.
3688 (expand_return): Remove unused variable block.
3689 (pushcase): Remove unused variables l and n.
3690 (pushcaserange): Likewise.
3691
3692 * unroll.c (unroll_loop): Remove unused variable temp.
3693
3694 Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
3695
3696 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
3697
3698 Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3699
3700 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
3701 functions for whether they support the %p format specifier.
3702 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
3703 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
3704 * configure, config.in: Rebuild.
3705
3706 Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
3707
3708 * function.c (assign_parms): New variable named_arg, with value
3709 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
3710
3711 Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
3712
3713 * mips/t-r3900: New - same as t-ecoff but eliminate
3714 multilibs: mips1 and mips3.
3715 * configure.in (tx39*): Use new mips/t-r3900.
3716 * configure: Rebuild.
3717 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
3718
3719 1998-02-06 Jason Merrill <jason@yorick.cygnus.com>
3720
3721 * dwarf2out.c: Add old_args_size.
3722 (dwarf2out_args_size): Use it.
3723 (dwarf2out_begin_prologue): Initialize it.
3724 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
3725 pushed args until we see a call.
3726 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
3727 before outputting them.
3728
3729 1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
3730
3731 * cplus-dem.c (demangle_template_template_parm): New function.
3732 (demangle_template): Handle template template parameters.
3733
3734 1998-02-02 Mark Mitchell <mmitchell@usa.net>
3735
3736 * calls.c (expand_call): Don't confuse member functions named
3737 realloc, setjmp, and so forth with the standard library
3738 functions of the same names.
3739
3740 Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
3741
3742 * stmt.c (expand_asm_operands): Correctly identify asm statements
3743 no output operands.
3744
3745 Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
3746
3747 * c-common.c (decl_attributes): Flag unrecognized attribute
3748 functions as warnings instead of as errors.
3749
3750 1998-02-05 Marc Lehmann <pcg@goof.com>
3751
3752 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
3753 when -Os is specified.
3754 * toplev.c (main): Don't disable flag_inline_functions anymore when
3755 -Os is in effect.
3756
3757 Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3758
3759 * regmove.c: Update.
3760 * flags.h (flag_regmove): Declare.
3761 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
3762 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
3763 Moved into regmove; changed caller.
3764 * toplev.c (rest_of_compilation): Call regmove_optimize also for
3765 expensive_optimizations.
3766
3767 Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
3768
3769 * version.c: Bump for snapshot.
3770
3771 Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3772 Undo this change (the problem was actually in reload):
3773 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3774
3775 * sh.md (movqi_i+1): New peephole.
3776
3777 Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
3778
3779 * jump.c (jump_optimize): Lose calls to modified_in_p they are
3780 not needed anymore due to changes elsewhere in jump.c.
3781
3782 * jump.c (jump_optimize): Fix first arg to modified_in_p in
3783 previous change.
3784
3785 Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
3786
3787 * expr.c (expand_builtin_setjmp): Accept two new arguments for
3788 the labels to branch to on first and subsequent executions. Don't
3789 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
3790 and provide it with the jmp_buf. Use only one of
3791 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
3792 and provide the former with the target label.
3793 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
3794 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
3795 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
3796 insn to replace all of the normal nonlocal_goto code. Don't play
3797 with __dummy. Correct arguments to nonlocal_goto.
3798 * expr.h (expand_builtin_setjmp): Update prototype.
3799 * except.c (start_dynamic_handler): When using builtin_setjmp,
3800 generate more accurate flow information.
3801
3802 * alpha.md (nonlocal_goto_receiver_osf): Delete.
3803 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
3804 (builtin_longjmp, builtin_setjmp_receiver): New.
3805 * sparc.md (update_return): Disambiguate unspec number.
3806 (nonlocal_goto): Rearrange arguments to match caller in except.c.
3807 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
3808 jmp_buf operand.
3809 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
3810 (builtin_setjmp_setup*, builtin_longjmp): New.
3811
3812 Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
3813
3814 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
3815
3816 Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
3817
3818 * vmsconfig.com: Remove bytecode references.
3819
3820 1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3821
3822 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
3823 -fno-sjlj-exceptions works for a target that defines
3824 DWARF2_UNWIND_INFO as zero.
3825
3826 * regmove.c (fixup_match_1): Undo last change which removed some
3827 "useless" code, and add a comment explaining this.
3828
3829 Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
3830
3831 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
3832 to TARGET_LONG64.
3833
3834 Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
3835
3836 * makefile.vms: Remove bytecode references.
3837 Create genrtl files.
3838
3839 Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
3840
3841 * jump.c (jump_optimize): Allow conditional loading of floating point
3842 constants and constants from memory. Reinstalled modified_in_p tests.
3843
3844 Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3845
3846 * loop.c (get_condition): Handle sign-extended constants.
3847
3848 Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
3849
3850 * expr.c (emit_push_insn): Add code to use movstrti if present.
3851
3852 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
3853 and movstrqi as in emit_block_move ().
3854
3855 Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
3856
3857 * config/m68k/x-next: Remove /NextDeveloper/Headers from
3858 the directories to fixinclude - /usr/include is a link
3859 to it and hence its contents are fixed by default.
3860
3861 Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
3862
3863 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
3864
3865 Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
3866
3867 * cccp.c (main): Predefine __VMS_VER on VMS.
3868
3869 Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3870
3871 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
3872 * fold-const.c (size_int): Replace with
3873 (size_int_wide).
3874 (make_bit_field_ref): Use bitsize_int for bit position.
3875 * stor-layout.c (sizetype): Delete.
3876 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
3877 (layout_record, layout_union, layout_type):
3878 Use bitsize_int for bit size.
3879 (set_sizetype): New function.
3880 (make_signed_type, make_unsigned_type): Use it.
3881 * c-decl.c (init_decl_processing): Likewise.
3882 * tree.h (size_int): Don't delcare, #define.
3883 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
3884 (set_sizetype): Declare.
3885 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
3886 Define.
3887 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
3888 Convert result to sizetype.
3889 (really_start_incremental_init, push_init_level):
3890 Set type of constructor_bit_index to sbitsizetype.
3891 (push_init_level): Use unsigned arithmetic to determine padding.
3892 (output_init_element): Likewise.
3893
3894 Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
3895
3896 * combine.c (simplify_shift_const): Fix typo in last change.
3897
3898 Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
3899
3900 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
3901 is (truncate (lshiftrt)).
3902
3903 Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
3904
3905 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
3906 Make sure result winds up in TGT.
3907 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
3908 src to be other than DImode.
3909 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
3910 (alpha_expand_unaligned_store_words): Likewise.
3911 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
3912 that source and destination are separately optimized for alignment.
3913 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
3914
3915 Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
3916
3917 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
3918 with handling of -32768.
3919
3920 Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3921
3922 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
3923 shell variable argument instead of only hard coded functions.
3924 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
3925
3926 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
3927 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
3928 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
3929 declarations for bcopy, bcmp and bzero.
3930
3931 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
3932
3933 * gansidecl.h: If we have bcopy but don't declare it, then do so.
3934 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
3935 bzero, index and rindex if they aren't already present.
3936
3937 Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
3938
3939 * toplev.c (close_dump_file): Wrap function prototype for
3940 argument "func" in PROTO.
3941 (dump_rtl): Likewise.
3942
3943 Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
3944
3945 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
3946 MASK_V8PLUS.
3947 (output_function_epilogue): Omit epilogue if nothing drops through.
3948 (output_move_double): Supress int ldd usage on ultrasparc and v9.
3949 (registers_ok_for_ldd_peep): Likewise.
3950 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
3951 (ultrasparc_adjust_cost): New function.
3952 (sparc_issue_rate): New function.
3953 * sparc.h (MASK_VIS, TARGET_VIS): New
3954 (MASK_V8PLUS, TARGET_V8PLUS): New.
3955 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
3956 (TARGET_SWITCHES): Add vis and v8plus.
3957 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
3958 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
3959 (RTX_COSTS): Use TARGET_HARD_MUL
3960 (ADJUST_COST): Call ultrasparc_adjust_cost.
3961 (ISSUE_RATE): New.
3962 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
3963 of load & fp appropritely.
3964 (supersparc function units): Adjust for Haifa.
3965 (ultrasparc function units): Likewise.
3966 (get_pc_via_rdpc): All v9, not just arch64.
3967 (movdi_v8plus, movdi_v8plus+1): New.
3968 (adddi3_sp32+1): New.
3969 (subdi3_sp32+1): New.
3970 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
3971 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
3972 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
3973 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
3974 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
3975 (ldd peepholes): Suppress for v9.
3976 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
3977 (return_subsi): Revmove.
3978
3979 Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
3980
3981 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
3982 save/restore MEM rtl.
3983
3984 Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
3985
3986 * configure.in: Check for declaration of abort.
3987 * acconfig.h: Corresponding changes.
3988 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
3989 be declared.
3990
3991 Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
3992
3993 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
3994 uses it.
3995
3996 Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
3997
3998 * version.c: Bump for snapshot.
3999
4000 Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
4001
4002 * configure.in: Check for atoq and atoll.
4003 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
4004 proper routine for converting ascii into long long values.
4005
4006 Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
4007
4008 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
4009
4010 * vmsconfig.com: Remove bytecode references.
4011
4012 * alpha/vms.h (PREFIX): Define.
4013
4014 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
4015
4016 * am-alpha.h: Don't include alloca for OPEN_VMS.
4017
4018 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
4019
4020 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
4021 (GCC_INCLUDE_DIR): Define
4022
4023 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
4024 * makefile.vms: New file.
4025
4026 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
4027
4028 * alpha.c (output_prolog): Output '.name' directive
4029 for minimal traceback information.
4030
4031 * alpha.c (output_prolog): Don't prepend entry point symbols
4032 with '$' on OPEN_VMS.
4033
4034 Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
4035 Jeffrey A Law (law@cygnus.com)
4036
4037 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
4038 HOST_WIDE_INT.
4039
4040 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
4041 as needed.
4042 * genemit.c (gen_exp): Likewise.
4043 * genpeep.c (match_rtx): Likewise.
4044 * genrecog.c (write_tree_1): Likewise.
4045
4046 * c-lex.c (yyprint): Use proper format string based upon
4047 disposition of HOST_BITS_PER_WIDE_INT.
4048 (yylex): Put casts in right place for args to build_int_2.
4049
4050 Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
4051
4052 * combine.c: Fix typos in Jan27 changes.
4053
4054 Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
4055
4056 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
4057 (LINK_SPEC): Likewise.
4058 (STARTFILE_SPEC): Likewise.
4059
4060 1998-01-28 Mike Stump <mrs@wrs.com>
4061
4062 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
4063 reload completes.
4064 * genattrtab.c (reload_completed): Define.
4065
4066 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
4067 comments.
4068
4069 Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4070
4071 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
4072 SUBREG_REG if the word count is unchanged, also in the input reload
4073 case. Disable non-applicable sanity checks.
4074
4075 Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
4076
4077 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
4078
4079 Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
4080
4081 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
4082
4083 Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
4084
4085 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
4086 is a TREE_VEC before trying to use it for baseclasses.
4087 (Chill uses the same field for a different purpose.)
4088
4089 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
4090
4091 Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
4092
4093 * config.sub: More accurate determination of HP processor types.
4094
4095 Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4096
4097 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
4098 prototype for `handle_sysv_pragma', and make it static. Add
4099 parentheses around assignment used as truth value.
4100
4101 * combine.c (combine_instructions): Protect variable `prev' with
4102 macro HAVE_cc0.
4103 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
4104 (extract_left_shift): Add parentheses around operand of &.
4105 (merge_outer_ops): Avoid an empty body in an else-statement.
4106 (gen_rtx_combine): Remove unused variable `i'.
4107
4108 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
4109 function monstartup `void'. Likewise for internal_mcount. Add
4110 `static void' prototype for moncontrol. Reconcile sprintf format
4111 vs. args.
4112
4113 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
4114 Make return type of function_arg_slotno explicitly `int'.
4115 (reg_unused_after): Add parentheses around assignment used as
4116 truth value.
4117 (save_regs): Add explicit braces to avoid ambiguous `else'.
4118 (function_arg_slotno): Add parentheses around && within ||.
4119 (function_arg_pass_by_reference): Likewise.
4120 (sparc_flat_output_function_prologue): Reconcile fprintf format
4121 vs. args.
4122
4123 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
4124 assignment used as truth value.
4125
4126 * cplus-dem.c: Include <stdlib.h>.
4127 (demangle_signature): Avoid an empty body in an else-statement.
4128 (do_type): Remove unused variable `lvl'.
4129
4130 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
4131 Include <string.h>/<strings.h>.
4132 (cpp_lex): Remove unused variable `namelen'.
4133 (cpp_lex): Explicitly declare `num_chars' as an int.
4134
4135 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
4136 <unistd.h> instead. Explicitly declare is_system_include
4137 returning int.
4138 (make_assertion): Remove unused variable `kt'.
4139 (cpp_expand_to_buffer): Hide variable `obuf'.
4140 (output_line_command): Remove unused variables, `line_end',
4141 `line_cmd_buf' and `len'.
4142 (macarg): Remove unused variable `arg_start'.
4143 (special_symbol): Remove unused variable `i'. Add parentheses
4144 around assignment used as truth value.
4145 (do_include): Remove unused variables `pcfname' and `retried',
4146 hide `pcf' and `pcfbuflimit'.
4147 (do_line): Remove unused variable `i'.
4148 (finclude): Hide variable `missing_newline'.
4149 (cpp_handle_options): Remove unused variable `j'.
4150 (read_token_list): Remove unused variable `eofp'.
4151 (cpp_error_with_line): Remove unused variable `i'.
4152 (cpp_warning_with_line): Likewise.
4153 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
4154 (cpp_error_from_errno): Remove unused variable `i'.
4155
4156 * cse.c (invalidate): Add parentheses around assignment used as
4157 truth value.
4158 (find_best_addr): Move declaration of variable `our_cost' inside
4159 the conditional macro where its used.
4160 (fold_rtx): Avoid an empty body in an if-statement.
4161 (cse_insn): Wrap variables `this_insn_cc0_mode' and
4162 `this_insn_cc0' in macro HAVE_cc0.
4163
4164 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
4165 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
4166 (output_uleb128): Likewise.
4167 (output_sleb128): Likewise.
4168 (output_cfi): Likewise.
4169 (output_call_frame_info): Remove unused variables `j', `fde_size'
4170 and `fde_pad'.
4171 (comp_unit_has_inlines): Hide declaration as per rest of file.
4172 (size_of_line_prolog): Correct typo in prototype.
4173 (add_arange): Likewise.
4174 (output_aranges): Likewise.
4175 (add_name_and_src_coords_attributes): Likewise.
4176 (gen_array_type_die): Likewise.
4177 (gen_inlined_subroutine_die): Likewise.
4178 (equate_decl_number_to_die): Remove unused variable `i'.
4179 (print_die): Reconcile format vs. args in fprintf's.
4180 (print_dwarf_line_table): Likewise.
4181 (output_die): Likewise.
4182 (output_line_info): Likewise.
4183 (add_subscript_info): Avoid an empty body in an else-statement.
4184 (gen_subprogram_die): Remove unused variable `fp_loc'.
4185
4186 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
4187 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
4188 macro. Protect `src_coords_attribute' prototype with
4189 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
4190 prototype as in the rest of the file. Likewise for
4191 `output_pointer_type_die' and `output_reference_type_die'. Remove
4192 prototype for `type_of_for_scope'.
4193 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
4194 (type_attribute): Add explicit braces to avoid ambiguous `else'.
4195
4196 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
4197 (shorten_branches): Protect declaration of tmp_length with
4198 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
4199 (profile_function): Protect declaration of `sval' and `cxt'
4200 variables with appropriate macros.
4201 (final_scan_insn): Likewise for `note' variable. Add explicit
4202 braces to avoid empty body in an if-statement.
4203 (output_asm_insn): Move variable `i' inside macro conditional
4204 where it is used. Add parentheses around assignment used as truth
4205 value.
4206 (asm_fprintf) Likewise, likewise.
4207
4208 * fix-header.c (main): Remove unused variable `done'. Protect
4209 declaration of `i' with FIXPROTO_IGNORE_LIST.
4210
4211 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
4212
4213 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
4214 `ind'.
4215
4216 * profile.c: Include <string.h>/<strings.h>.
4217 (instrument_arcs): Remove unused variables `note', `inverted',
4218 `zero' and `neg_one'.
4219 (branch_prob): Avoid empty body in an if-statement.
4220
4221 * regclass.c: Include <stdlib.h>.
4222 (reg_alternate_class): Explicitly declare parameter `regno'.
4223
4224 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
4225 parentheses around assignment used as truth value.
4226 (find_matches): Remove unused variables `output_operand' and
4227 `matching_operand'.
4228 (fixup_match_1): Remove statement with no effect: "if (0) ;".
4229
4230 * scan.c (sstring_append): Explicitly declare `count' as int.
4231 (scan_string): Explicitly declare parameter `init' as int.
4232
4233 * sched.c: Include <stdlib.h>.
4234 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
4235 (rank_for_schedule): Add parentheses around assignment used as
4236 truth value.
4237 (schedule_block): Likewise.
4238 (regno_use_in): Likewise.
4239 (schedule_insns): Remove unused variable `i'.
4240
4241 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
4242 (v_message_with_decl): Remove unused variable `n'.
4243 (botch): Explicitly declare parameter `s' as char *.
4244 (main): Add parentheses around assignment used as truth value.
4245
4246 * tree.c (make_node): Protect the variable `kind' with the
4247 GATHER_STATISTICS macro.
4248 (real_value_from_int_cst): Move variable `e' inside conditional
4249 macro area where it is used.
4250 (tree_last): Add parentheses around assignment used as truth value.
4251 (build1): Protect the variable `kind' with the GATHER_STATISTICS
4252 macro.
4253 (print_obstack_statistics): Reconcile format vs. args in fprintf.
4254 Protect variables `i', `total_nodes', and `total_bytes' with the
4255 GATHER_STATISTICS macro.
4256
4257 Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
4258
4259 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
4260 some comments regarding use of dead_or_set_p.
4261
4262 Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
4263
4264 * fixincludes: Tweak fix for struct exception in math.h
4265
4266 Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
4267
4268 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
4269 Change mode of registers used to add/sub from
4270 hard_frame_pointer_rtx from word_mode to Pmode.
4271
4272 Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
4273
4274 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
4275 asm_output_aligned_bss() instead of asm_output_bss().
4276
4277 * toplev.c (rest_of_compilation): Replace references to
4278 stack_reg_dump_file and dbr_sched_dump_file with references to
4279 rtl_dump_file.
4280
4281 Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
4282
4283 * tlink.c (scan_linker_output): Call fclose() for opened files.
4284
4285 Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
4286
4287 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
4288 compiling with -fpic -- we want to be able to override symbols
4289 properly.
4290 (alpha_expand_block_move): Fix thinko in last change.
4291
4292 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
4293 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
4294 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
4295
4296 Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
4297
4298 * alpha.md (abssf, absdf): Revert last change.
4299
4300 Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
4301
4302 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
4303 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
4304
4305 Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
4306
4307 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
4308 a CONST_INT into SFmode.
4309
4310 Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
4311
4312 * flags.h: New flag (optimize_size).
4313 * toplev.c (main): Parse -Os option and set optimize_space
4314 accordingly.
4315 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
4316 __OPTIMIZE_SIZE__ when compiling with -Os.
4317 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
4318 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
4319 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
4320 to macro.
4321 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
4322
4323 Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
4324
4325 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
4326 stuff only if MCT_TEXT is #define'd.
4327
4328 Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
4329
4330 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
4331 configurations.
4332
4333 Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
4334
4335 * toplev.c: Add -dM command line option to dump RTL after the
4336 machine dependent reorganisation pass, if there is one.
4337 Reorganise RTL dump code, so that only one file handle is
4338 needed.
4339
4340 Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
4341
4342 * except.c (check_exception_handler_labels): Disable warning when
4343 flag_syntax_only.
4344
4345 Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
4346
4347 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
4348
4349 Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4350
4351 * c-decl.c (grokdeclarator): Get parameter tags from
4352 last_function_parm_tags.
4353 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
4354 traversing the parameter types.
4355 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
4356
4357 Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
4358
4359 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
4360 the default case.
4361 (get_shift_alg): Fix typo.
4362
4363 Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
4364
4365 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
4366
4367 Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
4368
4369 * toplev.c (get_run_time): Make sure each case gets its variables.
4370
4371 Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
4372
4373 * configure.in (build_xm_file): Add auto-config.h if host=build.
4374 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
4375 (build_xm_file_list): Likewise.
4376 * configure: Rebuild.
4377
4378 Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
4379
4380 * recog.c (validate_replace_rtx_1): Only perform substitutions
4381 of arguments to commutative and comparison operators once.
4382
4383 Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4384
4385 * sparc.c (output_cbranch): Add default case in
4386 enumeration switch.
4387
4388 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
4389 (emit_delay_sequence): Eliminate unused parameter, all callers
4390 changed.
4391 (fill_simple_delay_slots): Likewise.
4392 (fill_slots_from_thread): Likewise.
4393 (fill_eager_delay_slots): Likewise.
4394 (mark_referenced_resources): Add default case in enumeration switch.
4395 (mark_set_resources): Likewise.
4396 (rare_destination): Likewise.
4397 (mostly_true_jump): Likewise.
4398 (find_dead_or_set_registers): Likewise.
4399 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
4400 (update_reg_unused_notes): Remove unused variable `p'.
4401 (mark_target_live_regs): Remove unused variables `next' and
4402 `jump_count'.
4403 (fill_simple_delay_slots): Remove unused variable `j'.
4404 (fill_slots_from_thread): Add parentheses around assignment used
4405 as truth value.
4406 (dbr_schedule): Likewise.
4407
4408 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
4409 (objc.stage2, objc.stage3, objc.stage4): Likewise.
4410
4411 Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
4412
4413 * cse.c (simplify_ternary_operation): Don't try to simplify
4414 IF_THEN_ELSE expressions (created by combine) that don't use
4415 relational operators.
4416
4417 Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
4418
4419 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
4420 simplifications.
4421
4422 * crtstuff.c (init_dummy): Keep the epilogue in the init
4423 section for non-ELF systems.
4424
4425 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4426
4427 * sh.md (movqi_i+1): New peephole.
4428
4429 Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
4430
4431 * Makefile.in: Remove remaining bytecode stuff.
4432 * emit-rtl.c, expr.c: Likewise.
4433
4434 Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
4435
4436 * toplev.c (lang_options): Add unknown-pragma options.
4437
4438 Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
4439
4440 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
4441 special (and incomplete) handling for Chill arrays.
4442
4443 Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
4444
4445 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
4446 to get clock rate.
4447
4448 Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
4449
4450 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
4451
4452 1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
4453
4454 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
4455 .frame directive instead of FRAME_POINTER_REGNUM.
4456
4457 Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
4458
4459 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
4460 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
4461 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
4462 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
4463 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
4464 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
4465 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
4466 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
4467 mcpu32 or m5200.
4468 * longlong.h: Replace __mc68332__ with __mcpu32__.
4469
4470 Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
4471
4472 * version.c: Bump for snapshot.
4473
4474 Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
4475
4476 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
4477 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
4478 * reload1.c (eliminate_regs): Likewise.
4479
4480 Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
4481
4482 * regmove.c (find_matches): Initialize matches->earlyclobber too.
4483
4484 Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
4485
4486 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
4487 (negsf2, negdf2): Use proper subtract in IEEE mode.
4488
4489 Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
4490
4491 * Makefile.in: Remove more bytecode stuff.
4492 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
4493 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
4494 * f/install.texi, objc/Make-lang.in: Likewise.
4495
4496 * Makefile.in: Remove all bytecode support.
4497 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
4498 * emit-rtl.c: Remove all bytecode support.
4499 * expr.c, expr.h function.c, integrate.c: Likewise.
4500 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
4501 * tree.h, varasm.c: Likewise.
4502 * config/m68k/m68k.h: Likewise.
4503 * bi-*, bc-*, bytecode*: Delete bytecode related files.
4504 * modemap.def: Likewise.
4505
4506 Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
4507
4508 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
4509 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
4510
4511 Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
4512
4513 * i386.md (push): Prohibit symbolic constants if flag_pic.
4514 (movsi+1): Likewise for move to non-register.
4515
4516 Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
4517
4518 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
4519 (print_operand): Handle 0xffffffff on 32 bit host.
4520
4521 * configure.in (thread_file): Rename uses before main loop to
4522 target_thread_file. Initialize to empty in main loop. Set thread_file
4523 to target_thread_file after main loop if not set.
4524 * configure: Rebuild.
4525
4526 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
4527 (add_values_to_cover): Revert last change (which had no ChangeLog
4528 entry).
4529 (simplify_with_current_value_aux): Handle CONST_INT.
4530
4531 Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4532
4533 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
4534
4535 Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
4536
4537 * configure.in: Add cpp stringify test.
4538 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
4539 * gengenrtl.c: Use it.
4540 * configure, config.in: Rebuild.
4541
4542 Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4543
4544 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
4545
4546 Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
4547
4548 * configure.in: Find declaration for sbrk.
4549 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
4550 * config.in, configure: Rebuild.
4551 * mips-tfile.c: Properly protect declaration of sbrk and free.
4552 * toplev.c: Properly protect declaration of sbrk.
4553
4554 Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
4555
4556 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
4557
4558 Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
4559
4560 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
4561
4562 Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
4563
4564 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
4565
4566 Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
4567
4568 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
4569 constant offset computations from objects with known alignment in
4570 the presence of STACK_BIAS.
4571
4572 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
4573 necessary.
4574 (const_hash): Hash val is unsigned long.
4575 (SYMHASH): Likewise.
4576
4577 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
4578
4579 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
4580 char pointer, not HOST_WIDE_INT.
4581 (print_node): Likewise. Also hash is unsigned long not
4582 HOST_WIDE_INT.
4583
4584 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
4585
4586 * explow.c (optimize_save_area_alloca): New function for targets
4587 where SETJMP_VIA_SAVE_AREA is true.
4588 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
4589 compute the amount of stack space needed should we find later that
4590 setjmp is never called by this function, stuff rtl for this inside
4591 a REG_NOTE of the final SET of stack_pointer_rtx.
4592 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
4593 current_function_calls_alloca, call optimize_save_area_alloca.
4594
4595 Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
4596
4597 * i386.md: Remove redundant integer push patterns.
4598 Don't bother checking for TARGET_PUSH_MEMORY when
4599 pushing constants or registers.
4600
4601 Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
4602 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
4603
4604 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
4605 (pwait): New function for mingw32.
4606
4607 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
4608 pipe support is broken for now.
4609
4610 1998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
4611
4612 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
4613 between frame_pointer_rtx, hard_frame_pointer_rtx, and
4614 arg_pointer_rtx is respected in initialization.
4615 (init_emit_once): Use gen_rtx_raw_REG() to create
4616 return_address_pointer_rtx.
4617
4618 * reorg.c: #include "expr.h" for rtx prototypes.
4619 * Makefile.in (reorg.o): Depend on expr.h
4620
4621 Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
4622
4623 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
4624 local_prefix to sub-make invocations.
4625
4626 Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
4627
4628 * objc-parse.c: Recognize protocol qualifiers in class definitions.
4629
4630 Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
4631
4632 * rtl.h: Fix typos.
4633
4634 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
4635 * configure.in: Check for atol.
4636 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
4637
4638 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
4639
4640 * loop.c (find_and_verify_loops): When attempting to move insns from
4641 inside the loop outside the loop, create a BARRIER if no suitable
4642 one was found.
4643
4644 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
4645 favor of an equivalent change from gcc-2.8.
4646
4647 * i386/x-sco5 (CC): Remove trailing whitespace.
4648
4649 Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4650
4651 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
4652 (accessor_from_format): Likewise.
4653 (xmalloc): New function for use when linking with alloca.o.
4654
4655 Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4656
4657 * frame.c (find_fde): Correct FDE's upper bound.
4658
4659 Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
4660
4661 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
4662
4663 Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
4664
4665 * calls.c (expand_call): Move #ifdef code out of macro argument
4666 lists.
4667 (emit_library_call, emit_library_call_value): Likewise.
4668
4669 Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
4670
4671 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
4672
4673 Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
4674
4675 * version.c: Bump for snapshot.
4676
4677 Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
4678
4679 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
4680 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
4681 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
4682 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
4683 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
4684 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
4685 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
4686 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
4687 * unroll.c, varasm.c: Likewise.
4688 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
4689
4690 Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
4691
4692 * mips.h: Fix some type-o's from a previous change.
4693
4694 Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
4695
4696 * loop.c (check_dbra_loop): Make sure initial value is a
4697 CONST_INT before trying to normalize it.
4698
4699 Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
4700
4701 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
4702
4703 Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
4704
4705 * cppexp.c: Include gansidecl.h
4706
4707 Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
4708
4709 * svr4.h (LINK_SPEC): Never specify -h.
4710 * ptx4.h (LINK_SPEC): Likewise.
4711 * rs6000/sysv4.h (LINK_SPEC): Likewise.
4712 * sparc/sol2.h (LINK_SPEC): Likewise.
4713
4714 Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
4715
4716 * c-typeck.c (comptypes): Exit early on NULL input.
4717
4718 * haifa-sched.c (schedule_insns): Correctly remove inter-block
4719 dependencies after reload.
4720
4721 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
4722
4723 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
4724
4725 Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
4726
4727 * alpha/vms.h (DIR_SEPARATOR): define
4728
4729 Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4730
4731 * Makefile.in (stamp-proto): Remove.
4732 (protoize.o, unprotoize.o): Straightforward compile.
4733 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
4734
4735 Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
4736
4737 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
4738 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
4739
4740 Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
4741
4742 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
4743 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
4744 * sparc/netbsd.h, vax/netbsd.h: Likewise.
4745
4746 Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
4747
4748 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
4749
4750 Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
4751
4752 * configure.in (target_cpu_default, target_cpu_default2): Use double
4753 quotes around them when testing their value.
4754 * configure: Rebuilt.
4755
4756 Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
4757
4758 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
4759 to allocate rtx.
4760 (gendef): Call obstack_alloc_rtx.
4761
4762 Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
4763
4764 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
4765 for now.
4766
4767 Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
4768
4769 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
4770 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
4771 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
4772
4773 Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
4774
4775 * mips.md (return_internal): Change mode from SImode to VOIDmode.
4776
4777 Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
4778
4779 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
4780 "-static".
4781
4782 Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
4783
4784 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
4785 suffix from operand 3.
4786
4787 Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4788 Jeffrey A Law (law@cygnus.com)
4789
4790 * regmove.c: New implementation of regmove pass.
4791 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
4792 decls, make them have external linkage. Return a value from
4793 optimize_reg_copy_1.
4794 * reload.h (count_occurrences): Add decl.
4795 * reload1.c (count_occurrences): Delete decl, make it have external
4796 linkage.
4797 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
4798
4799 Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
4800
4801 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
4802 if it is not defined.
4803
4804 Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
4805
4806 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
4807 * emit-rtl.c (gen_rtx): Move special code to ...
4808 (gen_rtx_CONST_INT): New function.
4809 (gen_rtx_REG): New function.
4810 (*): Update all calls to gen_rtx.
4811 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
4812 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
4813 (GEN_INT): Call gen_rtx_CONST_INT.
4814 * gengenrtl.c: New file.
4815
4816 Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
4817
4818 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
4819 (base_alias_check): If no base found for address call canon_rtx and
4820 try again.
4821
4822 Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
4823
4824 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
4825 arguments for mips16.
4826 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
4827 Don't lose if tsize is zero after handling large stack for mips16.
4828 * mips.md (return): For trivial return, return address is in $31.
4829
4830 Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
4831
4832 * mips/mips16.S: Various changes to make it work with -msingle-float
4833 and -EL.
4834
4835 Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
4836 Ian Lance Taylor <ian@cygnus.com>
4837 Jeff Law <law@cygnus.com>
4838
4839 * mips.c, mips.h, mips.md: First cut at merging in mips16
4840 support. Major modifications throughout all three files.
4841
4842 Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
4843
4844 * configure.in: Make gthr-default.h a forwarding header instead of
4845 a symlink.
4846
4847 Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4848
4849 * gcov-io.h: Include sys/types.h to ensure we get size_t.
4850
4851 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
4852
4853 Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
4854 Jeffrey A Law (law@cygnus.com)
4855
4856 * crtstuff.c (__frame_dummy): New function for irix6.
4857 (__do_global_ctors): Call __frame_dummy for irix6.
4858 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
4859
4860 Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
4861
4862 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
4863
4864 Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
4865
4866 * c-decl.c (init_decl_processing): Provide proper fallback symbol
4867 for __builtin_memset.
4868 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
4869 not INTEGER_CST. Assert arg 3 is a constant.
4870
4871 * alpha.c (mode_width_operand): Accept 64-bit modes.
4872 (mode_mask_operand): Likewise.
4873 (print_operand): Likewise for 'M' and 'U' codes.
4874 (alpha_expand_unaligned_load): New function.
4875 (alpha_expand_unaligned_store): Likewise.
4876 (alpha_expand_unaligned_load_words): Likewise.
4877 (alpha_expand_unaligned_store_words): Likewise.
4878 (alpha_expand_block_move): Likewise.
4879 (alpha_expand_block_clear): Likewise.
4880 * alpha.h (MOVE_RATIO): New define.
4881 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
4882 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
4883
4884 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
4885 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
4886
4887 Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
4888
4889 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
4890 * configure: Update.
4891
4892 Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
4893
4894 * emit-rtl.c (operand_subword): Correctly handle extracting a word
4895 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
4896
4897 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
4898 for first argument.
4899
4900 Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
4901
4902 * configure.in: Set and subsitute host_exeext. Use it when creating
4903 the assembler and linker symlinks.
4904 * configure: Rebuild.
4905 * Makefile.in (exeext): Set to @host_exeext@.
4906 (build_exeext): New variable, set to @build_exeext@.
4907 (FLAGS_TO_PASS): Pass down build_exeext.
4908 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
4909 programs.
4910
4911 Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
4912
4913 * mn10200.md (addsi3, subsi3): Fix thinkos.
4914
4915 Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
4916
4917 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
4918 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
4919 unix always, since we want to be able to thunk to functions in a
4920 shared library from an application.
4921
4922 Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
4923
4924 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
4925 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
4926
4927 Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
4928
4929 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
4930 offset's mode is not ptr_mode, convert it.
4931
4932 Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
4933
4934 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
4935 compiling if it was already defined.
4936
4937 Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
4938
4939 * flow.c (find_basic_blocks): Don't create a new basic block
4940 for calls in a LIBCALL block.
4941
4942 Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
4943
4944 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
4945
4946 Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
4947
4948 * cse.c (rtx_cost): Remove conflicting default case.
4949
4950 Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
4951
4952 * configure.in: Move default enabling of Haifa out of for loop.
4953 * configure: Rebuild.
4954
4955 Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
4956
4957 * version.c: Bump for snapshot.
4958
4959 1997-12-25 Teemu Torma <tot@trema.com>
4960
4961 * Makefile.in (GTHREAD_FLAGS): New var.
4962 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
4963 (distclean): Remove gthr-default.h.
4964
4965 * configure.in: Accept dce as a thread package.
4966 Check for thread.h and pthread.h.
4967 Link gthr-default.h to appropriate thread file and set
4968 gthread_flags.
4969 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
4970 include multilib definitions from pa/t-dce-thr.
4971 (sparc-*-solaris2*): Enable threads by default, if thread.h or
4972 pthread.h is found, preferring posix threads over solaris ones.
4973
4974 * config/pa/t-dce-thr: New file.
4975 * config/pa/t-pa: Removed multilibs.
4976 * config/sparc/t-sol2: Ditto.
4977
4978 * gthr.h: New file.
4979 * gthr-single.h: New file.
4980 * gthr-posix.h: New file.
4981 * gthr-solaris.h: New file.
4982 * gthr-dce.h: New file.
4983 * libgcc-thr.h: Removed.
4984 * objc/thr-dce.c: New file copied from thr-decosf1.c.
4985
4986 * frame.c: Include gthr.h instead of libgcc-thr.h.
4987 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
4988 (eh_context_initialize): If __gthread_once fails, use static eh
4989 context.
4990 (eh_context_free): Call __gthread_key_dtor.
4991
4992 Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
4993
4994 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
4995
4996 Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
4997
4998 * cse.c (max_insn_uid): New variable.
4999 (cse_around_loop): Use max_insn_uid.
5000 (cse_main): Set max_insn_uid.
5001
5002 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
5003 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
5004 -mlong64, and -mgp{32,64} options.
5005 * mips.c (mips_abi): Change type to int.
5006 * mips.h (enum mips_abi_type): Delete.
5007 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
5008 (mips_abi): Change type to int.
5009
5010 Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
5011
5012 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
5013 optimization is now always enabled.
5014
5015 * calls.c (expand_call): Recognize C++ operator new as malloc-like
5016 function.
5017
5018 * alias.c (memrefs_conflict_p): Eliminate tests now done by
5019 base_alias_check.
5020 (*_dependence): Call canon_rtx before base_alias_check.
5021 (init_alias_once): New function to precompute set of registers which
5022 can hold Pmode function arguments.
5023
5024 * rtl.h: Declare init_alias_once.
5025
5026 * toplev.c (compile_file): Call init_alias_once.
5027
5028 Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
5029
5030 * tree.c (restore_tree_status): Do not dereference a null pointer.
5031
5032 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
5033
5034 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
5035 RLIMIT_STACK. This maintains consistency with the recent, similar
5036 patch to cccp.c and toplev.c.
5037
5038 Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
5039
5040 * genattrtab.c (expand_units): For large nr opclasses, expand
5041 function_units_used with ORX to prevent blowups. Tag with FFS.
5042 (num_unit_opclasses): New variable.
5043 (gen_unit): Update it.
5044 (enum operator): Add ORX_OP.
5045 (operate_exp): Treat ORX as or, except don't expand across an if.
5046 Reuse number rtx's after operating on them.
5047 (check_attr_value): Accept IOR, AND, & FFS.
5048 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
5049 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
5050 (write_expr_attr_cache, write_toplevel_expr): New functions.
5051 (write_attr_get): Handle FFS-tagged expressions.
5052 (make_canonical): Don't expand const attributes.
5053 (convert_const_symbol_ref): Dike out.
5054 (evaluate_eq_attr): Handle SYMBOL_REF.
5055 (main): Don't emit get_attr_foo for const attributes.
5056
5057 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
5058 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
5059 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
5060 * alpha.md: Redo all of the scheduling, adding EV6 support, and
5061 combining function units where possible.
5062 (attr "type"): Split loads, stores, cmov into int/fp. Combine
5063 multiplies and divides. Add EV6 sqrt, ftoi, itof.
5064 (attr "opsize"): New attribute.
5065 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
5066 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
5067 to control register allocation.
5068 (movsi2-1, movdi2-1): Likewise.
5069
5070 Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
5071
5072 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
5073 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
5074 Move OSF/1 specific defines out.
5075 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
5076 Move Linux specific defines out.
5077 (LINK_SPEC): Genericize.
5078 (ASM_FILE_START): Emit .arch if using more than the base insn set.
5079 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
5080 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
5081 (HANDLE_SYSV_PRAGMA): Define.
5082 * alpha/osf.h: New file.
5083 * alpha/linux.h: Split. Retain file-format independant defines.
5084 Import Linux bits from elf.h.
5085 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
5086 (FUNCTION_PROFILER): _mcount takes its address in $28.
5087 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
5088 * alpha/linux-ecoff.h: New file.
5089 * alpha/linux-elf.h: New file.
5090 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
5091 * alpha/win-nt.h (TARGET_DEFAULT): Define.
5092 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
5093 Add new headers as appropriate.
5094
5095 * configure.in (alpha*): Enable Haifa by default.
5096 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
5097 * configure: Rebuild.
5098
5099 Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
5100
5101 * Makefile.in (clean): Remove the stages with their objects here ...
5102 (distclean): ... instead of here.
5103
5104 Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5105
5106 * cse.c (rtx_cost): Add default case in enumeration switch.
5107 * fix-header.c (recognized_macro): Likewise.
5108 (recognized_extern): Likewise.
5109 (write_rbrac): Likewise.
5110 * objc/objc-act.c (encode_aggregate): Likewise.
5111 (gen_declarator): Likewise.
5112 (gen_declspecs): Likewise.
5113
5114 Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
5115
5116 * haifa-sched.c (create_reg_dead_note): Detect and handle another
5117 case where we kill more regs after sched than were killed before
5118 sched.
5119 * sched.c (create_reg_dead_note): Similarly.
5120
5121 Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
5122
5123 * c-pragma.c: Include flags.h.
5124
5125 Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
5126
5127 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
5128 about system headers.
5129 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
5130 and also to resolve symbols in prefix.c.
5131
5132 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
5133 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
5134 when the definitions in auto-config.h is not visible.
5135 (HAVE_BZERO): Likewise.
5136 (HAVE_BCMP): Likewise.
5137 (HAVE_RINDEX): Likewise.
5138 (HAVE_INDEX): Likewise.
5139
5140 Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
5141
5142 * pa.c (emit_move_sequence): Handle a function label source
5143 operand.
5144
5145 Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
5146
5147 * c-pragma.c (handle_pragma_token): Generate warning messages
5148 about unknown pragmas if warn_unknown_pragmas is set.
5149
5150 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
5151 line option to set variable: warn_unknown_pragmas.
5152
5153 Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
5154
5155 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
5156 definition.
5157 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
5158
5159 Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
5160
5161 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
5162 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
5163 generate more fine grained floating point emulation libraries.
5164 * config/fp-bit.c: Add protecting #ifdef to all functions so
5165 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
5166 then compile all suitable functions.
5167 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
5168 underscores to avoid namespace pollution.
5169 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
5170 (FPBIT): Define.
5171 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
5172 (FPBIT): Define.
5173 (DPBIT): Define.
5174
5175 Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5176 Jeff Law <law@cygnus.com>
5177
5178 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
5179 of the declaration.
5180 * c-decl.c (finish_decl): Use parentheses around && within ||.
5181 * rtl.c: Include stdlib.h.
5182 (read_skip_spaces): Add parentheses around assignments used as
5183 truth values.
5184 (read_rtx): Initialize list_rtx.
5185 * cppexp.c (parse_number): Use || when operands are truth values.
5186 * alias.c (find_base_value): Add default case.
5187 (memrefs_conflict): Likewise.
5188 * combine.c (sets_function_arg_p): Likewise.
5189 * genemit.c (gen_exp): Likewise.
5190 * local-alloc.c (contains_replace_regs): Likewise.
5191 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
5192 * fold-const.c (fold_convert): Use "&&" for truth values.
5193 (fold): Add default case.
5194 * sdbout.c (sdbout_field_types): Fix typo in declaration.
5195 (sdbout_one_type): Add default case.
5196 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
5197 (some_operand): Add default case.
5198 (input_operand): Likewise.
5199 (signed_comparison_operator): Likewise.
5200 (divmod_operator): Likewise.
5201 (alpha_set_memflags_1): Likewise.
5202 * reload1.c (reload_cse_simplify_operands): Ensure function
5203 always returns a value.
5204 * scan-decls.c (scan_decls): Likewise.
5205 * c-lex.c (skip_white_space): Fix typo in declaraion.
5206 * c-typeck.c (comp_target_types): Add parentheses around assignment
5207 used as truth value.
5208 (print_spelling): Likewise.
5209 (constructor_implicit, constructor_result): Remove unused variables.
5210 * collect2.c (scan_library): Protect prototype with
5211 #ifdef SCAN_LIBRARIES.
5212 * emit-rtl.c (find_line_note): Fix typo in declaration.
5213 * final.c (asm_insn_count): Protect prototype with
5214 #ifdef HAVE_ATTR_length.
5215 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
5216 (try_pre_increment_1, try_pre_increment): Likewise.
5217 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
5218 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
5219 * gcov-io.h (__store_long, __write_long, __read_long): Fix
5220 unsigned/signed comparisons.
5221 * gcov.c (read_files): Remove unused "first_type" variable.
5222 (scan _for_source_files): Initialize s_ptr.
5223 (function_summary): Eliminate "%lf" formatting, use %ld for
5224 longs.
5225 (output_data): Initialize branch_probs and last_line_num.
5226 Eliminate "%lf" formatting, use "%ld" for longs.
5227
5228 Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
5229
5230 * mips16.S: New file.
5231
5232 * libgcc2.c (varargs): Handle mips16.
5233
5234 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
5235 expression.
5236 * stmt.c (expand_end_case): Likewise.
5237 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
5238 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
5239 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
5240
5241 Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5242
5243 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
5244 the build directory.
5245 (libobjc.a): Update dependency list.
5246 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
5247 directory.
5248 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
5249 (objc.mostlyclean): Remove runtime-info.h.
5250
5251 Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
5252
5253 * tree.c (build_range_type): Allow creation of ranges with no maximum.
5254 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
5255 * dwarf2out.c (add_subscript_info): Likewise.
5256 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
5257 * sdbout.c (plain_type_1): Likewise.
5258 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
5259 Likewise.
5260 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
5261 Likewise.
5262
5263 Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5264
5265 * mips.c (fatal): Remove declaration.
5266
5267 1997-12-18 Mark Mitchell <mmitchell@usa.net>
5268
5269 * integrate.c (get_label_from_map): New function.
5270 (expand_inline_function): Use it. Initialize the label_map to
5271 NULL_RTX instead of gen_label_rtx.
5272 (copy_rtx_and_substitute): Use get_label_from_map.
5273 * integrate.h (get_label_from_map): New function.
5274 (set_label_from_map): New macro.
5275 * unroll.c (unroll_loop): Use them.
5276 (copy_loop_body): Ditto.
5277
5278 Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
5279
5280 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
5281 (INIT_TARGET_OPTABS): Define.
5282 * mips/ecoff.h: Include gofast.h before mips.h.
5283 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
5284 * mips/elf64.h: Likewise.
5285 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
5286
5287 Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
5288
5289 * except.c: Remove register_exception_table{,_p}.
5290
5291 Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
5292
5293 * unroll.c (calculate_giv_inc): Handle constant increment found in
5294 a MEM with an appropriate REG_EQUAL note.
5295
5296 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
5297
5298 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
5299 frame pointer in the prologue.
5300
5301 Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
5302
5303 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
5304 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
5305
5306 Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
5307
5308 * config/m68k/m68k.c (output_function_prologue): Typecast
5309 dwarf2out_cfi_label to (char *).
5310 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
5311
5312 Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
5313
5314 * sparc.md (jump): Don't use the annul bit around an empty loop.
5315 Patch from Kevin.Kelly@East.Sun.COM.
5316
5317 Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
5318
5319 * jump.c: (jump_optimize): Don't use the return register as a
5320 source1 of a conditional move.
5321
5322 Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
5323
5324 * sparc.c (DF_MODES): Or the mask not the bit number.
5325 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
5326
5327 Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
5328
5329 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
5330
5331 Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
5332
5333 * fixincludes (size_t): Add support for Motorola's stdlib.h
5334 which fails to provide a definition for size_t.
5335 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
5336 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
5337 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
5338
5339 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
5340 prevent unresolved externals in libio.
5341 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
5342
5343 Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
5344
5345 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
5346 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
5347 (LIB_SPEC): Updated for glibc 2.
5348
5349 Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
5350
5351 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
5352 * ginclude/varargs.h: Likewise.
5353
5354 Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
5355
5356 * version.c: Bump for snapshot.
5357
5358 Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
5359
5360 * frame.h (__register_frame, __register_frame_table,
5361 __deregister_frame): New.
5362 * frame.c (__register_frame, __register_frame_table,
5363 __deregister_frame): New.
5364 * frame.c (__deregister_frame_info): Return void *.
5365 * frame.h (__deregister_frame_info): Ditto.
5366 * collect2.c (__deregister_frame_info): Ditto.
5367
5368 Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
5369
5370 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
5371
5372 Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
5373
5374 * alpha.c (alpha_cpu_name): New variable.
5375 (alpha_mlat_string): Likewise.
5376 (alpha_memory_latency): Likewise.
5377 (override_options): Handle -mmemory-latency.
5378 (alpha_adjust_cost): Adjust load cost for latency.
5379 * alpha.h (TARGET_OPTIONS): Add meory-latency.
5380 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
5381 TARGET_CIX into account.
5382 (MEMORY_MOVE_COST): Define in terms of memory_latency.
5383 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
5384
5385 * alpha.h (ASM_COMMENT_START): New macro.
5386
5387 Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
5388
5389 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
5390 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
5391
5392 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
5393 SUBREG_REG if the word count is unchanged.
5394 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
5395 subregs of identical word size for push_reload.
5396
5397 Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
5398
5399 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
5400 if all we're doing is dealing with -Wreturn-type.
5401
5402 Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
5403
5404 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
5405 Use and 255 instead of zapnot 1, since it schedules better.
5406
5407 Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
5408
5409 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
5410 it as volatile.
5411
5412 Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
5413
5414 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
5415 dependency we delete. Properly update prev for multiple consecutive
5416 deletions.
5417 (priority): Skip deleted dependence.
5418
5419 Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
5420
5421 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
5422
5423 Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
5424
5425 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
5426 determining when a new basic block starts.
5427
5428 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
5429
5430 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
5431 * pa.md (iorsi3): Add missing args to *_operand calls.
5432
5433 * except.c (call_get_eh_context): Don't mess with sequences.
5434 (emit_eh_context): Include the call in the sequence here.
5435
5436 1997-12-11 Paul Eggert <eggert@twinsun.com>
5437
5438 * collect2.c (write_c_file_glob): Allocate initial frame object
5439 in static storage and pass its address.
5440
5441 Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
5442
5443 * except.c (call_get_eh_context): Don't take a parm.
5444 Put the call at the top of the function.
5445 (emit_eh_context): Adjust.
5446 (get_eh_context): Replace with former use_eh_context.
5447 (get_eh_context_once, get_saved_pc_ref): Remove.
5448 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
5449 * except.h: Adjust.
5450 * integrate.c (expand_inline_function): Adjust.
5451 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
5452
5453 Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
5454
5455 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
5456 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
5457
5458 Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
5459
5460 * fixincludes (strlen,strspn,strcspn return value): Handle different
5461 layout on sysV88.
5462 (hypot): Provide a fake for hypot which is broken on
5463 m88k-motorola-sysv3.
5464
5465 Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
5466
5467 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
5468 tree_code_name from pointers to arrays.
5469 * tree.c: Remove standard_tree_code_* variables, no longer used.
5470 * print-tree.c: Remove declaration of tree_code_name.
5471
5472 * cp/lex.c (init_lex): Update for tree_code_* changes.
5473 * objc/objc-act.c (init_objc): Likewise.
5474
5475 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
5476 changes.
5477
5478 Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
5479
5480 * config.sub: Add support for BeOS target.
5481 * configure.in: Likewise.
5482 * ginclude/stdarg.h: Likewise.
5483 * ginclude/stddef.h: Likewise.
5484 * ginclude/varargs.h: Likewise.
5485 * rs6000/beos.h: New file for BeOS.
5486 * rs6000/t-beos: Likewise.
5487 * rs6000/x-beos: Likewise.
5488 * rs6000/xm-beos.h: Likewise.
5489 * toplev.c (get_run_time): Just return 0 on BeOS.
5490
5491 Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
5492 Toon Moene (toon@moene.indiv.nluug.nl)
5493
5494 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
5495 old and broken Sun3 assemblers. Newer versions handle large
5496 offsets correctly as does the GNU assembler.
5497
5498 Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
5499
5500 * objc/objc-act.c (lang_report_error_function): Disable.
5501 * objc/objc-parse.y: Include "output.h".
5502 (yyerror): Remove redundant decl.
5503 (yyprint): Fix prototype.
5504 (apply_args_register_offset): Remove redundant decl.
5505 (get_file_function_name): Likewise.
5506
5507 Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
5508
5509 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
5510 a new basic block.
5511 (find_basic_blocks_1): Likewise.
5512
5513 Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
5514
5515 * except.c (use_eh_context): Don't copy_rtx a REG.
5516 (emit_throw): Lose old unwinder support.
5517 (expand_internal_throw): Likewise.
5518 * libgcc2.c (struct eh_context): Likewise.
5519 (new_eh_context): Likewise.
5520 (__get_eh_info): Lose redundant cast.
5521 (__get_dynamic_handler_chain): Likewise.
5522 (__get_saved_pc): Lose.
5523 Lose all old unwinder support code.
5524
5525 Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
5526
5527 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
5528
5529 * integrate.c (expand_inline_function): If the inline fn uses eh
5530 context, make sure that the current fn has one.
5531 * toplev.c (rest_of_compilation): Call emit_eh_context.
5532 * except.c (use_eh_context): New fn.
5533 (get_eh_context_once): New fn.
5534 (call_get_eh_context): New fn.
5535 (emit_eh_context): New fn.
5536 (get_eh_context): Call either get_eh_context_once or
5537 call_get_eh_context, depending on what we have.
5538 (get_dynamic_handler_chain): Call get_eh_context_once.
5539 * except.h: Prototypes for fns above.
5540 * optabs.c (get_eh_context_libfunc): Removed.
5541 (init_optabs): Don't initialize it.
5542 * expr.h (get_eh_context_libfunc): Removed.
5543 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
5544 * config/pa/pa.h (CPP_SPEC): Support for -threads.
5545 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
5546 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
5547 New multilib for -threads.
5548 * config/sparc/t-sol2: Added multilibs for -threads and
5549 made -pthreads alias to it.
5550 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
5551 Added -threads and -pthreads options.
5552 * libgcc-thr.h: New file.
5553 * libgcc2.c: (__get_cpp_eh_context): Removed.
5554 (struct cpp_eh_context): Removed.
5555 (struct eh_context): Replaced cpp_eh_context with generic language
5556 specific pointer.
5557 (__get_eh_info): New function.
5558 (__throw): Check eh_context::info.
5559 (__sjthrow): Ditto.
5560 * libgcc2.c: Include libgcc-thr.h.
5561 (new_eh_context, __get_eh_context,
5562 eh_pthread_initialize, eh_context_initialize, eh_context_static,
5563 eh_context_specific, eh_context_free): New functions.
5564 (get_eh_context, eh_context_key): New variables.
5565 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
5566 get_eh_context to get the context.
5567 (longjmp): Move the declaration inside
5568 #ifdef DONT_USE_BUILTIN_SETJMP.
5569 * frame.c: Include libgcc-thr.h.
5570 (object_mutex): Mutex to protect the object list.
5571 (find_fde, __register_frame, __register_frame_table,
5572 __deregister_frame): Hold the lock while accessing objects.
5573 * except.h (get_eh_context): Declare.
5574 * except.c (current_function_ehc): Define.
5575 (current_function_dhc, current_function_dcc): Removed.
5576 (get_eh_context): New function.
5577 (get_dynamic_handler_chain): Use get_eh_context.
5578 (get_saved_pc_ref): Ditto.
5579 (get_dynamic_cleanup_chain): Removed references to
5580 current_function_dcc.
5581 (save_eh_status, restore_eh_status): Save and restore
5582 current_function_ehc instead.
5583 * optabs.c (get_eh_context_libfunc): New variable.
5584 (init_optabs): Initialize it.
5585 * expr.h: Declare get_eh_context_libfunc.
5586 * function.h (struct function): Replaced dhc and dcc with ehc.
5587 * except.c (get_saved_pc_ref): New functions.
5588 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
5589 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
5590 of eh_saved_pc.
5591 (end_eh_unwinder): Likewise.
5592 (init_eh): Remove initialization of eh_saved_pc.
5593 * optabs.c (get_saved_pc_libfunc): New variable.
5594 (init_optabs): Initialize it.
5595 * expr.h: Declare get_saved_pc_libfunc.
5596 * except.h (eh_saved_pc_rtx): Deleted.
5597 (get_saved_pc_ref): Declared.
5598
5599 From Scott Snyder <snyder@d0sgif.fnal.gov>:
5600 * libgcc2.c (__get_saved_pc): New.
5601 (__eh_type, __eh_pc): Deleted.
5602 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
5603 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
5604 this fcn.
5605
5606 Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
5607
5608 * sparc/sol2.h: Use 64 bit multiply and divide functions in
5609 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
5610 as 0.
5611
5612 * rtl.h (global_rtl): New variable, replacing separate variables for
5613 commonly used rtl.
5614 (const_int_rtx): Now array of rtx_def, not rtx.
5615 * emit-rtl.c: Update for new rtl data structures.
5616 * genattrtab.c: Define global_rtl.
5617
5618 Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
5619
5620 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
5621 default.
5622
5623 Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
5624
5625 * crtstuff.c (__do_global_ctors): Fix typo.
5626
5627 Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
5628
5629 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
5630 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
5631
5632 Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
5633
5634 * rs6000.h (FUNCTION_ARG_PADDING): Define.
5635 * rs6000.c (function_arg_padding): New function.
5636
5637 Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
5638
5639 * m68k.c: Include tree.h only once.
5640
5641 Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5642
5643 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
5644
5645 Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
5646
5647 * Partially cleaned up prototyping code from HJ.
5648 * tree.h: Add many prototypes.
5649 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
5650 All references changed.
5651 * rtl.h: Protect from multiple inclusions. Add many prototypes.
5652
5653 Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
5654
5655 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
5656 string functions like strlen.
5657
5658 Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
5659
5660 * configure.in: Check for functions getrlimit and setrlimit.
5661 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
5662 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
5663
5664 Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
5665
5666 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
5667
5668 Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
5669
5670 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
5671 Fix merge problems.
5672
5673 * alpha.c (override_options): Don't know about scheduling for EV6.
5674 * alpha.md (ev5 function units): Don't overload as ev6.
5675
5676 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
5677 * alpha.md (define_attr type): Add mvi.
5678 (ev5_e0): Define sceduling parameters for it.
5679 (TARGET_MAX insns): Type is mvi not shift.
5680
5681 Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
5682
5683 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
5684
5685 Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5686
5687 * cstamp-h, auto-config.h: Delete.
5688
5689 Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
5690
5691 * version.c: Bump for snapshot.
5692
5693 Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
5694
5695 * cccp.c: Fix typo brought over in merge.
5696
5697 * Merge in changes from gcc-2.8.
5698
5699 Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
5700
5701 * m68k.c: Include tree.h for dwarf2out_cfi_label.
5702
5703 * gcc.c (process_command): Do not take address of function fatal when
5704 calling lang_specific_driver.
5705
5706 Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
5707
5708 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
5709 doesn't work with it yet, so set it to 0.
5710 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
5711
5712 Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
5713
5714 * cse.c (cse_insn): Check for invalid entries when taking references.
5715
5716 Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5717
5718 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
5719 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
5720 * toplev.c (rest_of_compilation): Pass it. Remove code to
5721 save / clear / restore flag_unroll_{,all_}loops.
5722
5723 Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
5724
5725 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
5726
5727 Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
5728
5729 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
5730
5731 Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
5732
5733 * except.c (get_dynamic_handler_chain): Only make the call once per
5734 function.
5735
5736 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
5737
5738 Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5739
5740 * sh.c (final_prescan_insn): Use local label prefix
5741 when emitting .uses pseudo-ops.
5742
5743 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
5744
5745 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
5746 * except.c: Lose outer_context_label_stack.
5747 (expand_eh_region_end): Rethrow from outer_context here.
5748 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
5749 (expand_internal_throw): Take no args.
5750 (expand_internal_throw_indirect): Lose.
5751 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
5752 (expand_start_all_catch): Start a rethrow region.
5753 (expand_end_all_catch): End it.
5754 (expand_rethrow): New fn.
5755 * except.h: Reflect above changes.
5756 * flow.c: Revert change of Nov 27.
5757
5758 Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
5759
5760 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
5761
5762 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
5763
5764 * except.c (expand_fixup_region_end): New fn.
5765 (expand_fixup_region_start): Likewise.
5766 (expand_eh_region_start_tree): Store cleanup into finalization here.
5767 * stmt.c (expand_cleanups): Use them to protect fixups.
5768
5769 Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
5770
5771 * mips/mips.md (muldi3_r4000): Broaden the output template
5772 and attribute assignments to handle three operand dmult;
5773 rename to muldi3_internal2.
5774 (muldi3): Call the new muldi3_internal2 for R4000, and
5775 any GENERATE_MULT3 chip.
5776
5777 Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
5778
5779 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
5780
5781 Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
5782
5783 * unroll.c (find_splittable_givs): Remove last change. Handle givs
5784 with a dest_reg that was created by loop.
5785
5786 Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
5787
5788 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
5789
5790 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
5791
5792 Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
5793
5794 * configure.in: Fix NCR entries.
5795
5796 Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
5797
5798 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
5799 nested exceptions correctly.
5800
5801 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
5802 that was created by loop.
5803
5804 Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
5805
5806 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
5807
5808 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
5809
5810 Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
5811
5812 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
5813 (print_operand): Use SMALL_DATA_REG for the register involved in
5814 small data relocations.
5815 (print_operand_address): Ditto.
5816
5817 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
5818 -dynamic linker is not used.
5819
5820 * rs6000.md (call insns): For local calls, use @local suffix under
5821 System V. Don't use @plt under Solaris.
5822
5823 * rs6000.c (output_function_profiler): Put label address in r0, and
5824 store LR in 4(sp) for System V/eabi.
5825
5826 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
5827 byte boundary, and maintain stack backchain.
5828
5829 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
5830
5831 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
5832 fix_truncsfdi2): Change *.
5833
5834 Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
5835
5836 * toplev.c (main): Complain about -gdwarfn.
5837
5838 Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
5839
5840 * dwarfout.c (output_type): If finalizing, write out nested types
5841 of types we've already written.
5842
5843 Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
5844
5845 (patches originally from Geoffrey Keating)
5846 * rs6000.c (function_arg): Excess floating point arguments don't
5847 go into GPR registers after exhausting FP registers under the
5848 System V.4 ABI.
5849 (function_arg_partial_nregs): Ditto.
5850
5851 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
5852 suffix to calls.
5853
5854 Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
5855
5856 * integrate.c (output_inline_function): Just unset DECL_INLINE.
5857
5858 Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
5859
5860 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
5861 proper alignment.
5862
5863 * libgcc2.c (__throw): Initialize HANDLER.
5864
5865 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
5866
5867 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
5868 fix_truncsfdi2): Change *X to ?*X.
5869
5870 Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
5871
5872 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
5873
5874 Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
5875
5876 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
5877
5878 Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
5879
5880 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
5881
5882 Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
5883
5884 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
5885 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
5886 * expr.h: Likewise.
5887
5888 Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
5889
5890 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
5891 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
5892 gas and not using the new HP assembler.
5893
5894 Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
5895
5896 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
5897 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
5898
5899 Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
5900
5901 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
5902 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
5903 definition.
5904
5905 Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5906
5907 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
5908
5909 Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
5910
5911 * except.h: Add outer_context_label_stack.
5912 * except.c: Likewise.
5913 (expand_start_all_catch): Push the outer_context for the try block
5914 onto outer_context_label_stack.
5915 (expand_end_all_catch): Use it and pop it.
5916
5917 Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
5918
5919 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
5920
5921 Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
5922
5923 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
5924
5925 Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
5926
5927 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
5928 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
5929
5930 Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
5931
5932 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
5933 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
5934 __builtin_delete, and __builtin_vec_delete.
5935
5936 * except.c (output_exception_table): Don't bother with
5937 __EXCEPTION_END__.
5938
5939 Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
5940
5941 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
5942 is an in/out operand.
5943 (zero extended variants of stwm/stwm patterns): Similarly.
5944
5945 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
5946
5947 Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
5948
5949 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
5950 Use assemble_name.
5951 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
5952 (output_call_frame_info): Emit a \n after using it.
5953
5954 Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
5955
5956 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
5957
5958 Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
5959
5960 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
5961 (ASM_OUTPUT_DWARF_VALUE4): New macro.
5962 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
5963 defined.
5964 (output_call_frame_info): Do not output forward label differences
5965 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
5966 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
5967
5968 Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5969
5970 * sh.md (attribute "type"): Add nil.
5971 (movsi_ie): y/y alternative is type nil.
5972 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
5973 alternatives.
5974 (movsf_ie+1): Delete.
5975
5976 Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
5977
5978 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
5979 large_int, emit two insns instead of one splitable insn.
5980 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
5981 from cfa_temp_value, use cfa_offset. Add assert checking that
5982 cfa_reg is SP.
5983
5984 Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
5985
5986 * cccp.c (deps_output): Properly quote file names for make.
5987
5988 Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
5989
5990 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
5991
5992 Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
5993
5994 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
5995
5996 Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
5997
5998 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
5999 return.
6000 (cse_end_of_basic_block): Similarly.
6001
6002 Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
6003
6004 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
6005 (SELECT_RTX_SECTION): Define.
6006 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
6007
6008 Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
6009
6010 * Makefile.in (compare, compare-lean): Define $stage for each
6011 shell command.
6012 (gnucompare, gnucompare-lean): Likewise.
6013
6014 Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
6015
6016 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
6017
6018 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
6019 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
6020
6021 Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
6022
6023 * dwarfout.c (byte_size_attribute): Add local var upper_bound
6024 and add case to handle STRING_TYPE.
6025 * dwarfout.c (output_string_type_die): Fix code to generate
6026 correct string length attribute for fixed length strings.
6027 Still needs support for varying length strings.
6028
6029 Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
6030
6031 * toplev.c (get_run_time): Do something sensible for cygwin32.
6032
6033 Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
6034
6035 * expr.c (expand_builtin_setjmp): Set
6036 current_function_has_nonlocal_label.
6037 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
6038 call-saved registers across calls.
6039
6040 * alpha.md (exception_receiver): Remove.
6041 (nonlocal_goto_receiver_osf): New
6042 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
6043 (nonlocal_goto_receiver): New, select _osf or _vms.
6044
6045 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
6046 keep them from being propogated to the object file.
6047 (alpha_write_linkage): Likewise.
6048 * alpha.md (call_vms): Likewise.
6049 (call_value_vms): Likewise.
6050 (unnamed osf call insns): Likewise.
6051
6052 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
6053 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6054
6055 * alpha.c (call_operand): Any reg is valid for WinNT.
6056 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
6057 (anon nt calls): Add 'R' alternative.
6058 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
6059 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
6060
6061 Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
6062
6063 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
6064
6065 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
6066 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
6067 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
6068
6069 Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
6070
6071 * reload1.c (new_spill_reg): Improve fixed or forbidden register
6072 spill error message.
6073
6074 Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6075
6076 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
6077 use varargs.h. Wrap header with <>, not "".
6078
6079 Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
6080
6081 * integrate.c (save_for_inline_copying): Add return value from
6082 savealloc.
6083
6084 Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
6085
6086 * fixincludes: Be a little more restrictive on what we will
6087 substitute to replace definitions of MAXINT for HPUX.
6088
6089 Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
6090
6091 * dbxout.c (dbxout_symbol_location): Don't assume that variables
6092 whose address is the stack or argument pointers are indirect
6093 pointers.
6094
6095 1997-11-13 Paul Eggert <eggert@twinsun.com>
6096
6097 * cccp.c, cpplib.c (compare_defs):
6098 Don't complain about arg name respellings unless pedantic.
6099 * cpplib.c (compare_defs): Accept pfile as new arg.
6100 All callers changed.
6101
6102 Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6103
6104 * fold-const.c (fold_truthop): Fix bug in last change.
6105
6106 1997-11-13 Paul Eggert <eggert@twinsun.com>
6107
6108 Fix some confusion with IEEE minus zero.
6109
6110 * real.h (REAL_VALUES_IDENTICAL): New macro.
6111
6112 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
6113 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
6114 identical to 0.0.
6115 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
6116 same tree structure as 0.0.
6117
6118 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
6119 macro instead of doing it by hand.
6120
6121 Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
6122
6123 * v850/lib1funcs.asm: Minor whitespace changes.
6124 * v850.c: Fix minor formatting problems in many places.
6125 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
6126
6127 Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
6128
6129 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
6130 xplus1 when xplus0 is not a register.
6131
6132 Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
6133
6134 * flow.c (find_basic_blocks): During marking phase, if we encounter
6135 an insn with a REG_LABEL note, make the target block live and
6136 create an edge from the insn to the target block. Do not make
6137 edges from all blocks to the target block.
6138
6139 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
6140
6141 * confiugre.in: Tweak NCR entries.
6142 * configure: Rebuilt.
6143
6144 Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
6145
6146 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
6147 pick apart floating point values, instead of using CONST_DOUBLE_LOW
6148 and CONST_DOUBLE_HIGH.
6149
6150 * rs6000.md (define_splits for DF constants): Use the appropriate
6151 REAL_VALUE_* interface to pick apart DF floating point constants in
6152 a machine independent fashion.
6153
6154 Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6155
6156 * fold-const.c (fold_truthop): When changing a one-bit comparison
6157 against zero into a comparison against mask, do a proper sign
6158 extension.
6159
6160 Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
6161
6162 * except.c: Do not include "assert.h".
6163 (save_eh_status): Turn asserts into conditional aborts.
6164 (restore_eh_status, scan_region): Likewise.
6165 * dwarfout.c: Do not include "assert.h".
6166 (bit_offset_attribute): Turn asserts into conditional aborts.
6167 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
6168 (output_inlined_structure_type_die): Likewise.
6169 (output_inlined_union_type_die): Likewise
6170 (output_tagged_type_instantiation): Likewise.
6171 (dwarfout_file_scope_decl): Likewise.
6172 * dwarf2out.c: Do not include "assert.h"
6173 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
6174 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
6175 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
6176 (add_bit_size_attribute, scope_die_for): Likewise.
6177 (output_pending_types_for_scope): Likewise.
6178 (get_inlined_enumeration_type_die): Likewise.
6179 (get_inlined_structure_type_die): Likewise.
6180 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
6181 (gen_tagged_type_instantiation_die): Likewise.
6182
6183 * flow.c (find_basic_blocks): Refine further to get a more correct
6184 cfg, especially in the presense of exception handling, computed
6185 gotos, and other non-trivial cases. Call abort if an inaccuracy
6186 is detected in the cfg.
6187
6188 Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6189
6190 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
6191
6192 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
6193 (skip_white_space): Use whitespace_cr.
6194 (check_newline): Handle whitespace more consistently.
6195
6196 Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
6197
6198 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
6199 * i386/xm-cygwin32.h (POSIX): Define.
6200
6201 Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
6202
6203 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
6204 is available elsewhere.
6205
6206 Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
6207
6208 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
6209 what the instruction can handle.
6210
6211 Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
6212
6213 * stmt.c (expand_decl_cleanup_no_eh): New fn.
6214
6215 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
6216
6217 Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
6218
6219 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
6220 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
6221
6222 Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
6223
6224 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
6225 swap instruction order.
6226
6227 Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
6228
6229 * fixinc.svr4 (__STDC__): Add another case.
6230
6231 Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6232
6233 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
6234 addresses in the epilogue delay slot.
6235
6236 Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
6237
6238 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
6239 in generated `specs' file.
6240
6241 Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
6242
6243 * flags.h (flag_rerun_loop_opt): Declare.
6244 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
6245 * toplev.c (flag_rerum_loop_opt): Delete static.
6246
6247 Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6248
6249 Bring over from FSF:
6250
6251 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6252
6253 * va-sh.h (__va_arg_sh1): Define.
6254 (va_arg): Use it.
6255 SH3E doesn't use any integer registers for subsequent arguments
6256 once a non-float value was passed in the stack.
6257 * sh.c (machine_dependent_reorg): If optimizing, put explicit
6258 alignment in front label for ADDR_DIFF_VEC.
6259 * sh.h (PASS_IN_REG_P): Fix SH3E case.
6260 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
6261
6262 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6263
6264 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
6265 svr4.h.
6266
6267 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6268
6269 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
6270 put an use_sfunc_addr before each sfunc.
6271 * sh.md (use_sfunc_addr, dummy_jump): New insns.
6272 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
6273
6274 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6275
6276 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
6277
6278 Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
6279
6280 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
6281 linked once FDEs.
6282
6283 Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
6284
6285 * alias.c (find_base_value): Only return the known base value for
6286 pseudo registers.
6287
6288 Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
6289
6290 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
6291 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
6292 to pattern.
6293 (prologue_get_pc_and_set_got): New pattern.
6294
6295 Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
6296
6297 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
6298 for SUBREG, just fall through.
6299
6300 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
6301
6302 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
6303
6304 Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
6305
6306 * fixincludes: Fix "hypot" prototype in NeXT math.h.
6307
6308 * Makefile.in (USE_ALLOCA): Always include alloca.o.
6309 (USE_HOST_ALLOCA): Likewise.
6310
6311 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
6312 and LABEL_REFS fields.
6313 * rtl.h (LABEL_REFS): Update.
6314
6315 Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
6316
6317 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
6318 sets i2dest. When calling distribute_notes for i3dest_killed, pass
6319 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
6320 sets i1dest.
6321
6322 * mips.md (insv, extzv, extv): Add change_address call.
6323 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
6324
6325 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
6326
6327 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
6328
6329 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
6330 save_restore_insns if no FP and GP will be restored.
6331
6332 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
6333 Convert CCmode to word_mode before calling GET_MODE_SIZE.
6334
6335 * acconfig.h (HAVE_INTTYPES_H): Undef.
6336 * configure.in (inttypes.h): Check for conflicts between sys/types.h
6337 and inttypes.h, and verify that intmax_t is defined.
6338 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
6339 * config/mips/x-iris3: Likewise.
6340
6341 Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
6342
6343 * alias.c (find_base_value): When copying arguments, return the
6344 tenative value for a hard register.
6345
6346 Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
6347
6348 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
6349 (yylex): Record wide strings using target endianness, not host.
6350
6351 Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
6352
6353 * mn10200.h (ASM_OUTPUT_BSS): Delete.
6354 (ASM_OUTPUT_ALIGNED_BSS): New macro
6355 * mn10300.h (ASM_OUTPUT_BSS): Delete.
6356 (ASM_OUTPUT_ALIGNED_BSS): New macro.
6357 * v850.h (ASM_OUTPUT_BSS): Delete.
6358 (ASM_OUTPUT_ALIGNED_BSS): New macro.
6359
6360 Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6361
6362 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
6363
6364 Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
6365
6366 * configure.in (sco5): Use cpio to install header files.
6367
6368 Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
6369
6370 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
6371 14 char length.
6372 * configure: Rebuild.
6373
6374 Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
6375
6376 * i386/sco5.h: enable -gstabs once again.
6377
6378 Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
6379
6380 * arm.c (output_move_double): Allocate 3 entries in otherops array.
6381
6382 Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
6383
6384 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
6385 notes for sjlj exceptions too.
6386 (expand_eh_region_end): Similarly for EH_REGION_END notes.
6387 (exception_optimize): Optimize EH regions for sjlj exceptions too.
6388 * final.c (final_scan_insn): Don't output labels for EH REGION
6389 notes if doing sjlj exceptions.
6390
6391 Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
6392
6393 * alias.c (init_alias_analysis): Handle -fno-alias-check when
6394 optimizing correctly.
6395
6396 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
6397 or set current_function_calls_setjmp anymore.
6398
6399 * flow.c (find_basic_blocks): If we delete the label for an
6400 exception handler, remove it from the EH label list and remove
6401 the EH_BEGIN/EH_END notes for that EH region.
6402
6403 Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
6404
6405 * flow.c (find_basic_blocks): Generate correct flow control
6406 information when exception handling notes are present.
6407
6408 Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
6409
6410 * dwarf2out.c (output_call_frame_info): Fix length argument
6411 to ASM_OUTPUT_ASCII.
6412 (output_die, output_pubnames, output_line_info): Likewise.
6413
6414 Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
6415
6416 * version.c: Bump for snapshot.
6417
6418 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
6419 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
6420 flag_debug_asm is on.
6421 (output_die, output_pubnames, output_line_info): Likewise.
6422
6423 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
6424 and static_chain_rtx into the potential base values array if
6425 they are registers.
6426
6427 * alias.c (new_reg_base_value): New array of potential base values.
6428 (unique_id): Now file scoped static.
6429 (find_base_value, case REG): Return the value in reg_base_value
6430 array for the REG if it exists. Else, return the value from
6431 new_reg_base_value if copying args and REG is a hard register.
6432 (find_base_value, case PLUS): If either operand of the PLUS is
6433 a REG, try to get its base value. Handle base + index and
6434 index + base.
6435 (record_set): Use new_reg_base_value instead of reg_base_value.
6436 (init_alias_analysis): Allocate space for new_reg_base_value too.
6437 Rework code to iterate over the insns propagating base value
6438 information until nothing changes.
6439
6440 * global.c (global_alloc): Free the conflict matrix after
6441 reload has finished.
6442
6443 Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
6444
6445 * libgcc2.c (L_eh): Define __eh_pc.
6446 Replace __eh_type with generic pointer __eh_info.
6447
6448 Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
6449
6450 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
6451 use copy_to_reg if address is not a general_operand.
6452
6453 Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6454
6455 * profile.c (output_func_start_profiler): Clear flag_inline_functions
6456 for the duration of the call to rest_of_compilation.
6457
6458 Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
6459
6460 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
6461 Set extra_parts.
6462 (sparc*-*-*): Recognize --with-cpu=v9.
6463 * sparc/elf.h: New file.
6464 * sparc/t-elf: New file.
6465
6466 Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
6467
6468 * mn10300.c (const_8bit_operand): New function.
6469 (mask_ok_for_mem_btst): New funtion.
6470 * mn10300.md (btst patterns with mem operands): Use new functions
6471 to avoid creating btst instructions with invalid operands.
6472
6473 Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
6474
6475 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
6476 are running on PowerPC Linux.
6477
6478 Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
6479
6480 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
6481 if not previously defined.
6482
6483 Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
6484
6485 * function.c (assign_parms): Correct mode of stack_parm if
6486 entry_parm underwent a mode conversion.
6487
6488 1997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
6489
6490 * global.c (global_alloc): Use xmalloc instead of alloca for
6491 CONFLICTS, since max_allocno * allocno_row_words alone can be more
6492 than 2.5Mb sometimes.
6493
6494 Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
6495
6496 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
6497 DEST for the spill, adjust mode of SRC to compensate.
6498
6499 Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
6500
6501 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
6502 since any_memory_operand() allows pseudos during reload.
6503 (reload_inhi, reload_outqi, reload_outhi): Likewise.
6504
6505 Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
6506
6507 * m68k.md (btst patterns): Add 5200 support.
6508
6509 Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
6510
6511 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
6512 optimizations, look inside dividend to determine if the expression
6513 can be simplified by using EXACT_DIV_EXPR.
6514
6515 Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
6516
6517 From Brendan:
6518 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
6519
6520 Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
6521
6522 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
6523
6524 Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
6525
6526 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
6527 on a CLOBBER.
6528
6529 Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
6530
6531 * alpha.md (movqi, movhi): Make sure new insns created during reload
6532 won't need reloading themselves.
6533 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
6534
6535 Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
6536
6537 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
6538
6539 Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
6540
6541 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
6542 Patch from Klaus Kaempf <kkaempf@progis.de>.
6543
6544 Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
6545
6546 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
6547 to an element in a constant string.
6548
6549 Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
6550
6551 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
6552 bit PC-relative offset. The exception range table pointer is now in
6553 the CIE.
6554 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
6555 (count_fdes, add_fdes, get_cie): Adjust.
6556 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
6557
6558 From H.J. Lu:
6559 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
6560
6561 Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
6562
6563 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
6564 like stack_pointer_rtx.
6565
6566 Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
6567
6568 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
6569 targets using "$@" to provide support for similar but not identical
6570 targets without having to duplicate code.
6571 (bootstrap4): New goal.
6572
6573 * Makefile.in (compare, compare-lean, compare3): Combined to one
6574 ruleset determining actions to be performed via $@.
6575 (compare4, compare4-lean): New targets.
6576 (gnucompare, gnucompare3): Combined to one ruleset determining
6577 actions to be performed via $@. Also, note which files failed
6578 the comparison test in .bad_compare.
6579 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
6580
6581 Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
6582
6583 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
6584 if the dividend is a multiple of the divisor.
6585
6586 Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
6587
6588 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
6589
6590 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6591 and POS_DEC.
6592
6593 * alias.c (true_dependence): Fix typo.
6594
6595 * toplev.c (flag_rerun_loop_opt): New variable.
6596 (f_options): Handle -frerun-loop-opt.
6597 (rest_of_compilation): If -frerun-loop-opt, then run the loop
6598 optimizer twice.
6599 (main): Enable -frerun-loop-opt by default for -O2 or greater.
6600
6601 * loop.c (simplify_giv_expr): Adding two invariants results
6602 in an invariant.
6603
6604 Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
6605
6606 * expr.c (get_inner_reference): Remove the array bias after
6607 converting the index to Pmode.
6608
6609 Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
6610
6611 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
6612 (TARGET_MULT_BUG): Define.
6613 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
6614 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
6615
6616 Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
6617
6618 * mn10200.c (indirect_memory_operand): Delete unused function.
6619 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
6620 * mn10200.md (bset, bclr insns): Handle output in a reg too.
6621
6622 Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
6623
6624 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
6625 the callee's ldgp, we must do it ourselves, and we use the jsr tag
6626 for more than scheduling.
6627
6628 Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
6629
6630 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
6631
6632 Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
6633
6634 * mn10300.c (symbolic_operand, legitimize_address): New functions.
6635 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
6636 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
6637
6638 Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
6639
6640 * version.c: Bump for snapshot.
6641
6642 Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6643
6644 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
6645 for FILENAME.
6646
6647 Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
6648
6649 * toplev.c (flag_exceptions): Default value is 2.
6650 (compile_file): If flag_exceptions still has the value 2, then
6651 set it to 0.
6652
6653 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
6654 (rs6000_save_machine_status): Save pic_offset_table_rtx.
6655 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
6656
6657 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
6658 are shared.
6659
6660 * rs6000.md (*movsi_got_internal_mem): New pattern.
6661 (*movsi_got_internal_mem splitter): New define_split.
6662
6663 Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
6664
6665 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
6666
6667 Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
6668
6669 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
6670 only need to save LR.
6671
6672 Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
6673
6674 * mn10300.md (movqi, movhi): Avoid using address registers as
6675 destinations unless absolutely necessary.
6676
6677 * mn10200.c (expand_prologue): Fix typo.
6678
6679 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
6680 addresses.
6681 * mn10200.md (neghi2): Provide an alternative which works if
6682 the input and output register are the same.
6683
6684 * mn10300.c (print_operand): Handle 'S'.
6685 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
6686 shift amount in last alternative
6687
6688 * mn10300.c (expand_epilogue): Rework to handle register restores
6689 in "ret" and "retf" instructions correctly.
6690
6691 Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
6692
6693 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
6694 extzv for memory operands.
6695
6696 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
6697 redundant conditional moves to single operand.
6698
6699 Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
6700
6701 * v850.h: Move define of __v850__ from CPP_PREDEFINES
6702 to CPP_SPEC.
6703
6704 * xm-v850.h: Use __v850 rather than __v850__ to
6705 identify v850 port.
6706
6707 Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
6708
6709 * mips/mips.c (compute_frame_size): Not a leaf function if
6710 profile_flag set.
6711
6712 Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
6713
6714 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
6715
6716 Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
6717
6718 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
6719 (DEFAULT_ARCH32_P): New macro.
6720 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
6721 (enum cmodel): Declare.
6722 (sparc_cmodel_string,sparc_cmodel): Declare.
6723 (SPARC_DEFAULT_CMODEL): Provide default.
6724 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
6725 (TARGET_FULLANY): Deleted.
6726 (TARGET_CM_MEDMID): New macro.
6727 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
6728 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
6729 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
6730 (CPP_SPEC): Rewrite.
6731 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
6732 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
6733 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
6734 (ASM_SPEC): Add %(asm_arch).
6735 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
6736 Rename asm_default to asm_cpu_default.
6737 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
6738 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
6739 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
6740 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
6741 (MASK_INT64,MASK_LONG64): Delete.
6742 (MASK_ARCH64): Renamed to MASK_64BIT.
6743 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
6744 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
6745 (TARGET_SWITCHES): Always provide 64 bit options.
6746 (ARCH64_SWITCHES): Delete.
6747 (TARGET_OPTIONS): New option -mcmodel=.
6748 (INT_TYPE_SIZE): Always 32.
6749 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
6750 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
6751 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
6752 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
6753 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
6754 CPP_SPEC.
6755 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
6756 * sparc/linux.h: Likewise.
6757 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
6758 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
6759 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
6760 (SPARC_DEFAULT_CMODEL): Define.
6761 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
6762 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
6763 (LONG_DOUBLE_TYPE_SIZE): Define.
6764 (ASM_SPEC): Add %(asm_arch).
6765 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
6766 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
6767 (TARGET_CPU_DEFAULT): Add ultrasparc case.
6768 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
6769 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
6770 (SPARC_DEFAULT_CMODEL): Define.
6771 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
6772 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
6773 MASK_LONG64, MASK_MEDANY.
6774 (SPARC_DEFAULT_CMODEL): Define.
6775 (CPP_PREDEFINES): Delete.
6776 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
6777 (ASM_SPEC): Add %(asm_arch).
6778 (LONG_DOUBLE_TYPE_SIZE): Define.
6779 (DWARF2_DEBUGGING_INFO): Define.
6780 * sparc/splet.h (CPP_SPEC): Delete.
6781 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
6782 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
6783 (BLOCK_PROFILER): Likewise.
6784 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
6785 (sparc_override_options): Handle code model selection.
6786 (sparc_init_expanders): Renamed from sparc64_init_expanders.
6787 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
6788 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
6789 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
6790 (sethi_di_fullany): Delete.
6791
6792 Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
6793 Jeff Law <law@cygnus.com>
6794 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6795
6796 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
6797 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
6798 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
6799 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
6800 * alpha/alpha.md (arg_home): Likewise.
6801
6802 * alpha/alpha.c (vmskrunch): Delete
6803 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
6804 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
6805 truncate to 64 characters.
6806
6807 * make-l2.com: Support openVMS/Alpha.
6808
6809 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
6810
6811 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6812
6813 * longlong.h (count_leading_zeros): Add missing casts to USItype.
6814
6815 Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
6816
6817 * i386/bsd386.h (ASM_COMMENT_START): Define.
6818
6819 Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
6820
6821 * tree.c (restore_tree_status): Also free up temporary storage
6822 when we finish a toplevel function.
6823 (dump_tree_statistics): Print stats for backend obstacks.
6824
6825 Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
6826
6827 * expr.c (use_group_regs): Don't call use_reg for MEMs.
6828
6829 Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
6830
6831 * libgcc2.c (__throw): Don't copy the return address.
6832 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
6833
6834 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
6835 * toplev.c (main): Initialize exceptions_via_longjmp.
6836
6837 * tree.c: Add extra_inline_obstacks.
6838 (save_tree_status): Use it.
6839 (restore_tree_status): If this is a toplevel inline obstack and we
6840 didn't want to save anything on it, recycle it.
6841 (print_inline_obstack_statistics): New fn.
6842 * function.c (pop_function_context_from): Pass context to
6843 restore_tree_status.
6844 * obstack.h (obstack_empty_p): New macro.
6845
6846 Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
6847
6848 * i386/freebsd.h (ASM_COMMENT_START): Fix.
6849
6850 Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
6851
6852 * v850.c (ep_memory_offset): New function.
6853 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
6854
6855 * v850.h (CONST_OK_FOR_*): Add and correct comments.
6856 (CONSTANT_ADDRESS_P): Add comment.
6857 (EXTRA_CONSTRAINT): Define 'U'.
6858 * v850.md: Add comments on bit field instructions.
6859 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
6860 (lshrsi3): Use N not J constraint.
6861
6862 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
6863
6864 * v850.c (reg_or_0_operand): Call register_operand.
6865 (reg_or_int5_operand): Likewise.
6866 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
6867 (TARGET_SWITCHES): Add "big-switch".
6868 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
6869 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
6870 (CASE_DROPS_THROUGH): Comment out.
6871 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
6872 * v850.md (cmpsi): Delete compare mode.
6873 (casesi): New pattern.
6874
6875 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
6876 * v850.md (ashlsi3): Use SImode not QImode for shift count.
6877 (lshrsi3): Likewise.
6878
6879 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
6880 unreachable switch statement after 'b' support. Remove "b" from
6881 strings for 'b' support.
6882 * v850.md (branch_normal, branch_invert): Change %b to b%b.
6883
6884 Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
6885
6886 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
6887 empty line if @inhibit_libc@ is empty.
6888
6889 Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
6890
6891 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
6892 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
6893 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
6894 (DWARF2_UNWIND_INFO): Let this track object file format.
6895 (EXTRA_SECTIONS): Add in_eh.
6896 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
6897 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
6898
6899 Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
6900
6901 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
6902 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
6903 TARGET_MEDANY.
6904 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
6905 (output_double_int): Output DI mode values correctly when
6906 HOST_BITS_PER_WIDE_INT is 64.
6907 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
6908 fmovd so it works if a quad float ends up in one of the upper 32
6909 float regs.
6910 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
6911 necessary for PIC support on sparc64.
6912
6913 Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
6914
6915 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
6916 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
6917 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
6918 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
6919 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
6920 (SPARC_FP_ARG_FIRST): New macro.
6921 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
6922 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
6923 (NPARM_REGS): There are 32 fp argument registers now.
6924 (FUNCTION_ARG_REGNO_P): Likewise.
6925 (FIRST_PARM_OFFSET): Update to new v9 abi.
6926 (REG_PARM_STACK_SPACE): Define for arch64.
6927 (enum sparc_arg_class): Delete.
6928 (sparc_arg_count,sparc_n_named_args): Delete.
6929 (struct sparc_args): Redefine and use for arch32 as well as arch64.
6930 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
6931 (FUNCTION_ARG_ADVANCE): Rewrite.
6932 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
6933 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
6934 (FUNCTION_ARG_CALLEE_COPIES): Delete.
6935 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
6936 (STRICT_ARGUMENT_NAMING): Define.
6937 (doublemove_string): Declare.
6938 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
6939 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
6940 (doublemove_string): New function.
6941 (output_move_quad): Clean up some of the arch64 support.
6942 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
6943 Don't add 8 bytes of reserved space if arch64.
6944 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
6945 (init_cumulative_args): New function.
6946 (function_arg_slotno): New static function.
6947 (function_arg,function_arg_partial_nregs): New functions.
6948 (function_arg_{pass_by_reference,advance}): New functions.
6949 (function_arg_padding): New function.
6950 * ginclude/va-sparc.h: Rewrite v9 support.
6951
6952 Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
6953
6954 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
6955 for hard regs to determine base and index registers.
6956
6957 * reload.c (debug_reload_to_stream): New function. Specify stream
6958 into which to write debug info.
6959 (debug_reload): Modify to call debug_reload_to_stream with stderr.
6960
6961 Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
6962
6963 * combine.c (can_combine_p): Don't combine with an asm whose
6964 output is a hard register.
6965
6966 Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
6967
6968 * c-decl.c (start_struct): Ensure that structs with forward
6969 declarations are in fact packed when -fpack-struct is given.
6970
6971 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
6972 we are packing a structure. This allows a structure with only
6973 bytes to be aligned on a byte boundary and have no padding on a
6974 m68k.
6975
6976 Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6977
6978 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
6979
6980 Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
6981
6982 * alpha.c (alpha_return_addr_rtx): New variable.
6983 (alpha_save_machine_status): New; save it.
6984 (alpha_restore_machine_status): New; restore it.
6985 (alpha_init_expanders): New; clear it.
6986 (alpha_return_addr): New; set it.
6987 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
6988 is overly conservative, so search the insns explicitly.
6989 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
6990 (alpha_sa_size [VMS && !VMS]): Likewise.
6991 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
6992 (INIT_EXPANDERS): New definition.
6993
6994 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
6995 (output_prolog [!VMS]): Use them.
6996
6997 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
6998 (alpha_does_function_need_gp): ... a new function. Refine the
6999 CALL_INSN test to just TYPE_JSR.
7000 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
7001
7002 Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
7003
7004 * version.c: Bump for snapshot.
7005
7006 Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7007
7008 * pa.c (move_operand): Respect -mdisable-indexing.
7009 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
7010
7011 Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
7012
7013 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
7014 PPC601.
7015 (umulsidi3,umulsi3_highpart): Ditto.
7016 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
7017
7018 Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
7019
7020 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
7021 (alpha_handle_trap_shadows): ... a new function. Handle the entire
7022 function in one go. Emit RTL for trapb, instead of printf directly.
7023 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
7024 (trap_pending): Kill global variable.
7025 (output_epilog): Don't call final_prescan_insn.
7026 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
7027 * alpha.h (FINAL_PRESCAN_INSN): Remove.
7028 (MACHINE_DEPENENT_REORG): Define.
7029 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
7030 (trapb): New insn.
7031
7032 Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
7033
7034 Tune Haifa scheduler for Alpha:
7035 * alpha.h (ISSUE_RATE): Define.
7036 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
7037 EV4 adjustments to EV5.
7038 * alpha.md: Remove all scaling from function unit delays. Rework
7039 EV5 function units to match the CPU.
7040 (umuldi3_highpart): EV5 added the IMULH insn class.
7041
7042 Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
7043
7044 * pa.c (following_call): Fail if the CALL_INSN is an indirect
7045 call.
7046
7047 Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
7048
7049 * cplus-dem.c (demangle_signature): Don't look for return types on
7050 constructors. Handle member template constructors.
7051
7052 Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
7053
7054 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
7055 * tree.h: Declare them.
7056
7057 Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
7058
7059 * configure.in: Handle --with-newlib.
7060 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
7061
7062 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
7063
7064 Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
7065
7066 * config/ptx4.h: Fix typo.
7067
7068 Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
7069
7070 * version.c: Bump for snapshot.
7071
7072 Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
7073
7074 * aclocal.m4: Substitute INSTALL.
7075 * configure: Re-built.
7076
7077 Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
7078
7079 * integrate.c (save_for_inline_copying): Avoid undefined pointer
7080 operations.
7081 (expand_inline_function): Likewise.
7082
7083 * dwarf2out.c (output_call_frame_info): Reinstate last change
7084 using flag_debug_asm check instead of flag_verbose_asm.
7085
7086 Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
7087
7088 * dwarf2out.c (output_call_frame_info): Remove last change.
7089
7090 1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7091
7092 * frame.c (__frame_state_for): Execute the FDE insns until the
7093 current pc value is strictly bigger than the target pc value.
7094
7095 Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
7096
7097 * regclass.c (init_reg_modes): If we can't find a mode for the
7098 register, use the previous one.
7099
7100 Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
7101
7102 * haifa-sched.c (print_block_visualization): Call fprintf directly,
7103 don't sprintf through an alloca'ed buffer.
7104
7105 Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
7106
7107 * reload.c (decompose): Always initialize val.base.
7108
7109 Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
7110
7111 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
7112 instead of aborting.
7113 * dwarf2out.c (output_call_frame_info): Call app_enable and
7114 app_disable to let GNU as accept the generated comments.
7115
7116 Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
7117
7118 * tree.h (get_file_function_name): Add declaration.
7119 * dwarf2out.c (output_call_frame_info): No need to cast
7120 get_file_function_name call anymore.
7121 * profile.c (toplevel): Remove get_file_function_name
7122 declaration.
7123 * c-lang.c (finish_file): Ditto.
7124
7125 Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
7126
7127 * Makefile.in (program_transform_name): Let autoconf substitute
7128 the correct value.
7129
7130 Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
7131
7132 * haifa-sched.c (schedule_block): If the first real insn in a
7133 block has any special notes attached to it, remove them.
7134
7135 Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
7136
7137 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
7138
7139 Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
7140
7141 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
7142
7143 Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
7144
7145 * Makefile.in (check-g77): New test target.
7146 (CHECK-TARGETS): Add check-g77.
7147
7148 Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
7149
7150 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
7151
7152 Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
7153
7154 * flow.c (print_rtl_with_bb): Cast alloca return value for
7155 in_bb_p.
7156
7157 Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
7158
7159 * i386.h (RETURN_ADDR_RTX): New definition that works for
7160 __builtin_return_address(0) and -fomit-frame-pointer.
7161
7162 Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
7163
7164 Bring over from FSF.
7165 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
7166
7167 * mips.c (function_arg): Handle passing a struct
7168 containing a double in a DFmode register without the PARALLEL.
7169
7170 Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
7171
7172 * pexecute.c: Use spawn if __CYGWIN32__.
7173
7174 * pexecute.c: Include "config.h" first, as per autoconf manual
7175 (from Paul Eggert <eggert@twinsun.com>).
7176
7177 Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
7178
7179 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
7180 optimisation for f/expr.o and f/stb.o.
7181
7182 Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
7183
7184 * cse.c (this_insn_cc0_mode): Initialize.
7185
7186 Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
7187
7188 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
7189
7190 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
7191
7192 Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
7193
7194 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
7195 that pair will dual-issue on the 21164 and plus+beq won't.
7196 (bne): Likewise for cmpeq+beq.
7197
7198 Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
7199
7200 * except.c (find_exception_handler_labels): Correct argument to free.
7201
7202 Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
7203
7204 * except.c (find_exception_handler_labels): Free LABELS when we're
7205 done.
7206
7207 Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
7208
7209 * version.c: Bump for snapshot.
7210
7211 Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
7212
7213 * flow.c (find_basic_blocks): Mark calls as potentially jumping
7214 to the EH labels.
7215
7216 Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
7217
7218 * configure.in: Substitute for "install" too.
7219 * configure: Rebuilt.
7220
7221 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
7222
7223 * Makefile.in (bootstrap-lean, compare-lean): New targets.
7224
7225 Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
7226
7227 * alias.c (base_alias_check): Two symbols can conflict if they
7228 are accessed via AND.
7229 (memrefs_conflict_p): Likewise.
7230
7231 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
7232 after flushing argument registers to the stack.
7233
7234 * Makefile.in (mostlyclean): Remove .regmove files.
7235
7236 Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
7237
7238 * libgcc2.c (__throw): Fix thinko.
7239
7240 Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
7241
7242 * cplus-dem.c (demangle_template): Add new parameter. Handle new
7243 template-function mangling.
7244 (consume_count_with_underscores): New function.
7245 (demangle_signature): Handle new name-mangling scheme.
7246
7247 Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
7248
7249 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
7250 start and end.
7251
7252 Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
7253
7254 * frame.c: Remove last change.
7255 * dwarf2.h: Remove last change.
7256 * tree.h: Add declarations of DWARF2 unwind info support
7257 functions.
7258
7259 Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
7260
7261 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
7262 * tree.h (built_in_function): Likewise.
7263 * expr.c (expand_builtin): Likewise.
7264 * except.h: Likewise.
7265 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
7266 * libgcc2.c (copy_reg): New fn.
7267 (__throw): Use it.
7268
7269 Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
7270
7271 * c-typeck.c (build_binary_op): Warn about comparing signed vs
7272 unsigned if -W is specified and -Wno-sign-compare is not.
7273 * c-decl.c (warn_sign_compare): Initialize to -1.
7274 (c_decode_option): -Wall no longer implies -Wsign-compare.
7275
7276 Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7277
7278 * frame.c: Include gansidecl.h for PROTO.
7279 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
7280 defined. Don't declare dwarf2out_cfi_label here.
7281 * dwarf2.h: Add declarations of DWARF2 unwind info support
7282 functions.
7283 * m68k.c: Include dwarf2.h.
7284 (output_function_prologue): Add dwarf2 support.
7285 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
7286 (INCOMING_FRAME_SP_OFFSET): Likewise.
7287
7288 * integrate.c (expand_inline_function): Make sure there is at
7289 least one insn that can be used as an insertion point.
7290
7291 Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
7292
7293 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
7294
7295 Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
7296
7297 * version.c: Bump for snapshot.
7298
7299 Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
7300
7301 Bring over from FSF.
7302
7303 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
7304
7305 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
7306 (get_pc_via_rdpc): Renamed from get_pc_sp64.
7307 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
7308
7309 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
7310
7311 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
7312 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
7313 -malign-functions=.
7314 (sparc_align_{loops,jumps,funcs}_string): Declare.
7315 (sparc_align_{loops,jumps,funcs}): Declare.
7316 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
7317 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
7318 (STACK_BIAS): Define.
7319 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
7320 test.
7321 (SPARC_SETHI_P): New macro.
7322 (CONST_OK_FOR_LETTER_P): Use it.
7323 (ASM_OUTPUT_ALIGN_CODE): Define.
7324 (ASM_OUTPUT_LOOP_ALIGN): Define.
7325 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
7326 (sparc_align_{loops,jumps,funcs}): New globals.
7327 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
7328 -malign-functions=.
7329 (move_operand): Use SPARC_SETHI_P.
7330 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
7331 perform test.
7332 (arith11_double_operand): Likewise.
7333 (arith10_double_operand): Likewise.
7334 (finalize_pic): Finish sparc64 support.
7335 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
7336 64 bit constants if able.
7337 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
7338 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
7339 ! TARGET_FPU.
7340 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
7341 (get_pc_sp32): Use for sparc64 as well.
7342 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
7343 (sethi_di_sp64_const): Likewise.
7344 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
7345 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
7346 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
7347
7348 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
7349
7350 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
7351 * sparc/linux.h (COMMENT_BEGIN): Likewise.
7352 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
7353
7354 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
7355
7356 Add sparc64 linux support.
7357 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
7358 to xm_file list on 32-bit sparc-linux.
7359 * sparc/xm-sp64.h: New file.
7360 * sparc/linux64.h: New file.
7361 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
7362 Don't include xm-sparc.h.
7363 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
7364 * glimits.h (LONG_MAX): Handle sparc64.
7365
7366 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
7367
7368 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
7369 * sparc.h (ASM_COMMENT_START): Define.
7370 * sparc.c (output_function_prologue): Use it.
7371 (sparc_flat_output_function_{epi,pro}logue): Likewise.
7372
7373 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
7374
7375 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
7376 use sparc.h's copies.
7377 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
7378 ascii form as well.
7379
7380 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7381
7382 * sparc.c (dwarf2out_cfi_label): Add declaration.
7383 (save_regs, output_function_prologue): Remove cast for it.
7384 (sparc_flat_{save_restore,output_function_prologue): Likewise.
7385 ({save,restore}_regs): No longer inline.
7386
7387 Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7388
7389 * fold-const.c (make_range): Correctly handle cases of converting
7390 from unsigned to signed type.
7391
7392 Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
7393
7394 * fold-const.c (merge_ranges): Make sure that if one range is subset
7395 of another, it will always be the second range. Correct (+,-) case to
7396 account for this.
7397
7398 Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
7399
7400 * final.c (final_end_function): Also do dwarf2 thing if
7401 DWARF2_DEBUGGING_INFO.
7402 (final_start_function): Likewise.
7403
7404 Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
7405
7406 * expmed.c (expand_divmod): If compute_mode is not the same as
7407 mode, handle the case where convert_modes() causes op1 to no
7408 longer be a CONST_INT.
7409
7410 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
7411 note holding get_jump_flags() calculation to all JUMP_INSNs.
7412 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
7413 * rtl.c (reg_note_name): Add new note types.
7414
7415 Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
7416
7417 * rtlanal.c (computed_jump_p): Fix typo in last change.
7418
7419 Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
7420
7421 * loop.c (indirect_jump_in_function_p): Return 0
7422 by default.
7423
7424 Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
7425
7426 * rs6000/xm-rs6000.h: Fix thinko in last change.
7427 * rs6000/xm-sysv4.h: Likewise.
7428
7429 Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
7430
7431 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
7432
7433 Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
7434
7435 * reg-stack.c (find_blocks): Fix thinko in last change.
7436
7437 1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7438
7439 * m68k.c (output_function_prologue): Add dwarf2 support.
7440
7441 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
7442 INCOMING_FRAME_SP_OFFSET): New definitions.
7443
7444 Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
7445
7446 * combine.c (try_combine): Use NULL_RTX instead of '0' where
7447 appropriate in calls to gen_rtx().
7448 * cse.c (cse_main): Likewise.
7449 * emit-rtl.c (gen_label_rtx): Likewise.
7450 * expr.c (init_expr_once): Likewise.
7451 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
7452 sched_analyze, init_rgn_data_dependences,
7453 compute_block_backward_dependences): Likewise.
7454 * sched.c (schedule_insns): Likewise.
7455 * varasm.c (immed_double_const): Likewise.
7456
7457 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
7458 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
7459
7460 Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
7461
7462 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
7463 (MULTILIB_DEFAULTS): Define.
7464 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
7465 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
7466 (LIBGCC_SPEC): Likewise.
7467 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
7468 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
7469 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
7470 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
7471 (EXTRA_PARTS, TAROUTOPTS): Delete.
7472 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
7473 (MULTILIB_OPTIONS): Define.
7474 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
7475 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
7476
7477 Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
7478
7479 * version.c: Bump for snapshot.
7480
7481 Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
7482
7483 * loop.c (loop_number): Delete function. Change all references
7484 to use uid_loop_num array.
7485 * loop.h (loop_number): Delete declaration.
7486 * unroll.c (unroll_loop): Change "loop_number" references to
7487 use uid_loop_num instead.
7488
7489 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
7490 conditional.
7491 (loop_unroll_iter): Remove unused variable and all references.
7492 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
7493 (insert_bct): Fix minor formatting problems.
7494 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
7495 (loop_unroll_iter): Removed unused decl.
7496 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
7497 Always record the unrolling factor.
7498
7499 * cse.c (simplify_relational_operation): Set h0u just like h0s.
7500 Similarly for h1u and h1s.
7501
7502 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
7503 (find_basic_blocks): Use computed_jump_p to determine if a
7504 particular JUMP_INSN is a computed jump.
7505 * reg-stack.c (find_blocks): Use computed_jump_p to determine
7506 if a particular JUMP_INSN is a computed jump.
7507 * rtlanal.c (jmp_uses_reg_or_mem): New function.
7508 (computed_jump_p): Likewise.
7509 * rtl.h (computed_jump_p): Declare.
7510 * genattrtab.c (pc_rtx): Define and initialize.
7511 * loop.c (loop_optimize): Always determine if the current
7512 function has a computed jump.
7513 (indirect_jump_in_function_p): Use computed_jump_p to determine
7514 if a particular JUMP_INSN is a computed jump.
7515
7516 * loop.c (fix_bct_param): Delete unused function.
7517 (check_bct_param): Likewise.
7518
7519 Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
7520
7521 * frame.c (__deregister_frame): Check properly for initialized object.
7522
7523 Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
7524
7525 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
7526
7527 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7528
7529 * jump.c (thread_jumps): check can_reverse_comparison_p before
7530 threading a reversed-condition jump.
7531
7532 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
7533 * haifa-sched.c (update_flow_info): Likewise.
7534
7535 Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
7536
7537 * Makefile.in (BOOT_CFLAGS): Use -O2.
7538
7539 * configure.in (strtoul, bsearch): Have autoconf check for these
7540 functions.
7541 * configure, config.in: Rebuilt.
7542
7543 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
7544 * mips/mips.h (alloca): Likewise.
7545 * rs6000/xm-rs6000.h (alloca): Likewise.
7546 * rs6000/xm-sysv4.h: Likewise.
7547
7548 Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
7549
7550 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
7551 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
7552 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
7553
7554 * except.c (end_eh_unwinder): Subtract 1 from return address.
7555 * libgcc2.c (__throw): Likewise.
7556 (find_exception_handler): Don't change PC here. Compare end with >.
7557
7558 Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
7559
7560 * v850.c (compute_register_save_size): Correct register
7561 number.
7562 * v850.md (save_interrupt, return_interrupt): Correct
7563 register number.
7564 * v850/lib1funcs.asm (save_interrupt): Correct register number.
7565 (return_interrupt): Use stack pointer, not element pointer.
7566
7567 1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
7568
7569 * configure.in, configure: Make sure to create the stage* and include
7570 symbolic links in each subdirectory.
7571
7572 Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
7573
7574 * pa.md (reload_peepholes): Don't allow addresses with side
7575 effects for the memory operand.
7576
7577 Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
7578
7579 * libgcc2.c (find_exception_handler): Subtract one from our PC when
7580 looking for a handler, to avoid hitting the beginning of the next
7581 region.
7582
7583 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
7584
7585 Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
7586
7587 * mips/abi64.h (LONG_MAX_SPEC): Define.
7588 * mips.h (LONG_MAX_SPEC): Define.
7589 (CPP_SPEC): Include long_max_spec.
7590 (EXTRA_SPECS): Include long_max_spec.
7591
7592 Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
7593
7594 * v850.c (construct_save_jarl): Fix thinko in last change.
7595
7596 Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
7597
7598 * version.c: Bump for snapshot.
7599
7600 Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
7601
7602 * libgcc2.c (find_exception_handler): Not found is -1.
7603
7604 * integrate.c (expand_inline_function): Move expand_start_bindings
7605 after expanding the arguments.
7606
7607 Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
7608
7609 * expr.c (expand_expr): Remove previous incorrect change.
7610 If target and slot has no DECL_RTL, then call mark_addressable
7611 again for the slot after we give it RTL.
7612
7613 Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
7614
7615 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
7616 again for the slot after we give it RTL.
7617
7618 Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
7619
7620 * v850.c (register_is_ok_for_epilogue,
7621 pattern_is_ok_for_epilogue, construct_restore_jr,
7622 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
7623
7624 * v850.h (pattern_is_ok_for_prologue,
7625 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
7626 predicates.
7627
7628 * v850.md: Replace prologue and epilogue patterns with a
7629 match_parallel pattern.
7630
7631 Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
7632
7633 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
7634 * configure.in: Use EGCS_PROG_INSTALL.
7635
7636 Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
7637
7638 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
7639 extern inline function.
7640
7641 Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
7642
7643 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
7644 (concat_loc_descriptor): New function.
7645 (loc_descriptor): Call it.
7646 (add_AT_location_description): Also elide the descriptor if both
7647 halves of a CONCAT are pseudos.
7648 (add_location_or_const_value_attribute): Recognize CONCAT too.
7649
7650 Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
7651
7652 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
7653
7654 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
7655 out-or-range reg_offset.
7656 (output_epilog): Likewise.
7657
7658 Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
7659
7660 * cse.c (simplify_relational_operation): If MODE specifies a
7661 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
7662 is derived from the sign bit of the low word.
7663
7664 Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
7665
7666 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
7667
7668 * dwarf2.h: Add DW_CFA_GNU_args_size.
7669 * frame.c (execute_cfa_insn): Likewise.
7670 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
7671 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
7672 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
7673 insn, hand it off to dwarf2out_stack_adjust.
7674 (dwarf2out_begin_prologue): Initialize args_size.
7675 * frame.h (struct frame_state): Add args_size.
7676 * libgcc2.c (__throw): Use args_size.
7677 * final.c (final_scan_insn): If we push args, hand off all insns
7678 to dwarf2out_frame_debug.
7679 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
7680
7681 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
7682 Handle epilogue restore of SP from FP.
7683 * emit-rtl.c (gen_sequence): Still generate a sequence if the
7684 lone insn has RTX_FRAME_RELATED_P set.
7685
7686 * frame.c (extract_cie_info): Handle "e" augmentation.
7687 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
7688 absence of UNALIGNED_*_ASM_OP.
7689 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
7690 (output_call_frame_info): Use "e" instead of "z" for augmentation.
7691 Don't emit augmentation fields length.
7692 (dwarf2out_do_frame): Move outside of #ifdefs.
7693 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
7694 opcodes.
7695
7696 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
7697 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
7698 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
7699 * sparc/sun4gas.h: New file.
7700 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
7701
7702 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
7703 __register_frame_table and __deregister_frame.
7704
7705 1997-09-15 Brendan Kehoe <brendan@cygnus.com>
7706
7707 * except.c (find_exception_handler_labels): Use xmalloc instead of
7708 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
7709 in some cases.
7710
7711 Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
7712
7713 * Makefile.in: Various changes to build info files
7714 in the object tree rather than the source tree.
7715
7716 Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
7717
7718 * fixinc.math: New file to fix math.h on some systems.
7719 * configure.in (freebsd, netbsd): Use fixinc.math on these
7720 systems.
7721 * configure: Rebuilt.
7722
7723 Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
7724
7725 * regmove.c (regmove_optimize): If we end up moving the
7726 original insn due to lifetime overlaps, make sure to move
7727 REG_NOTES too.
7728
7729 Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
7730
7731 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
7732
7733 Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
7734
7735 * haifa-sched.c (add_branch_dependences): Make each insn in
7736 a SCHED_GROUP_P block explicitly depend on the previous insn.
7737
7738 Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
7739
7740 * except.h: Prototype dwarf2 hooks.
7741 * expr.c: Adjust.
7742
7743 Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
7744
7745 * configure.in (native_prefix): Delete.
7746 (mips-dec-netbsd): Don't set prefix.
7747 (*linux*): Don't set prefix.
7748
7749 Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
7750
7751 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
7752 defined. If not defined, include <sys/varargs.h> if
7753 HAVE_SYS_VARARGS_H is defined.
7754 * configure.in: Test for varargs.h and sys/varargs.h.
7755 * configure: Regenerate with autoconf.
7756 * config.in: Regenerate with autoheader.
7757
7758 * cpplib.c (quote_string): Cast first arg of sprintf call
7759 from "unsigned char *" to "char *".
7760 (output_line_command): Ditto.
7761 (macroexpand): Ditto.
7762 (do_line): Cast atoi arg from "unsigned char *" to "char *".
7763
7764 Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
7765
7766 * version.c: Bump for snapshot.
7767
7768 * Makefile.in (compare): Exit with nonzero status if there
7769 are comparison failures. Note which files failed the
7770 comparison test in .bad_compare.
7771
7772 Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
7773
7774 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
7775
7776 Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
7777
7778 * Makefile.in (LN, LN_S): New macros, use where appropriate.
7779 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
7780 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
7781 * configure: Regenerated.
7782
7783 Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
7784
7785 * loop.c (strength_reduce): Fix typo.
7786
7787 Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
7788
7789 * m88k/m88k.c (struct option): Rename to struct options.
7790 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
7791 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
7792 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
7793 __DOLPHIN__ or sysV88.
7794
7795 Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
7796
7797 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
7798 create new subreg.
7799
7800 Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
7801
7802 * config.sub: Accept 'amigados' for backward compatability.
7803
7804 Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
7805
7806 * Makefile.in (testsuite/site.exp): New target.
7807 (check-gcc, check-g++): Depend on testsuite/site.exp.
7808 Don't stop for failure.
7809
7810 Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
7811
7812 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
7813 if DWARF2_UNWIND_INFO.
7814
7815 Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
7816
7817 Add support for exception handling using DWARF 2 frame unwind info.
7818 Currently works on SPARC and MIPS, and almost on x86.
7819
7820 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
7821 next_stack_level, in_reg_window): Helper fns.
7822 (__throw): Implement for DWARF2_UNWIND_INFO.
7823
7824 * expr.c (expand_builtin): Handle builtins used by __throw.
7825 * tree.h (enum built_in_function): Add builtins used by __throw.
7826 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
7827 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
7828 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
7829 (expand_builtin_extract_return_addr): Likewise.
7830 (expand_builtin_frob_return_addr): Likewise.
7831 (expand_builtin_set_return_addr_reg): Likewise.
7832 (expand_builtin_eh_stub): Likewise.
7833 (expand_builtin_set_eh_regs): Likewise.
7834 (eh_regs): Choose two call-clobbered registers for passing back values.
7835
7836 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
7837 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
7838 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
7839 (stmp-multilib): Likewise.
7840 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
7841
7842 * except.c: #include "defaults.h".
7843 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
7844 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
7845 (register_exception_table_p): New fn.
7846 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
7847 (end_eh_unwinder): Likewise.
7848
7849 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
7850 call __register_frame and __deregister_frame as needed.
7851 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
7852 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
7853 EH_FRAME_SECTION_ASM_OP.
7854 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
7855 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
7856 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
7857
7858 * dwarf2out.c (output_call_frame_info): If no support for
7859 EXCEPTION_SECTION, mark the start of the frame info with a
7860 collectable tag.
7861 * collect2.c (frame_tables): New list.
7862 (is_ctor_dtor): Recognise frame entries.
7863 (scan_prog_file): Likewise.
7864 (main): Pass -fno-exceptions to sub-compile. Also do collection
7865 if there are any frame entries.
7866 (write_c_file_stat): Call __register_frame_table and
7867 __deregister_frame as needed.
7868 (write_c_file_glob): Likewise.
7869
7870 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
7871 Also require unaligned reloc support.
7872 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7873 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
7874 * sparc/sysv4.h: Not here.
7875
7876 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
7877 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
7878 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
7879
7880 * libgcc2.c (L_eh): Reorganize, moving code shared by different
7881 EH implementations to the top.
7882 (find_exception_handler): Split out. Start from 0. Compare against
7883 end with >=.
7884 (__find_first_exception_table_match): Use it.
7885 * except.c (output_exception_table): Don't do anything if there's
7886 no table. Don't output a first entry of zeroes.
7887 (eh_outer_context): Adjust properly.
7888 (add_eh_table_entry): Use xrealloc.
7889 * toplev.c (compile_file): Just call output_exception_table.
7890
7891 Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
7892
7893 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
7894
7895 Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
7896
7897 * except.c (eh_outer_context): Do masking using expand_and.
7898
7899 Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
7900
7901 Add port done awhile ago for the ARC cpu.
7902 * arc/arc.h: New file.
7903 * arc/arc.c: New file.
7904 * arc/arc.md: New file.
7905 * arc/initfini.c: New file.
7906 * arc/lib1funcs.asm: New file.
7907 * arc/t-arc: New file.
7908 * arc/xm-arc.h: New file.
7909 * ginclude/va-arc.h: New file.
7910 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
7911 * ginclude/varargs.h: Likewise.
7912 * Makefile.in (USER_H): Add va-arc.h.
7913 * configure.in (arc-*-elf*): Recognize.
7914 * longlong.h: Add ARC support.
7915
7916 Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
7917
7918 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
7919 when clearing non-BLKmode data.
7920
7921 Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
7922
7923 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
7924 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
7925
7926 * xm-m88k.h (USG): Only define if it hasn't already been defined.
7927
7928 * Makefile.in (risky-stage1): Delete gratutious whitespace.
7929
7930 * Makefile.in (clean): Delete libgcc1-test.
7931
7932 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
7933
7934 Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
7935
7936 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
7937 template.
7938
7939 Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7940
7941 * dwarf2out.c (output_call_frame_info): Call named_section.
7942
7943 Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
7944
7945 * haifa-sched.c (print_value): Fix last change.
7946
7947 Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
7948
7949 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
7950 write_symbols.
7951
7952 Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
7953
7954 * mips.c (function_prologue): Set up the CFA when ABI_32.
7955
7956 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
7957 for dwarf2 unwind info.
7958 (output_function_prologue, sparc_flat_output_function_prologue): Same.
7959
7960 * final.c (final_end_function): Check dwarf2out_do_frame instead
7961 of DWARF2_DEBUG for dwarf2 unwind info.
7962 (final_scan_insn): Likewise.
7963 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
7964 (final): Not here.
7965
7966 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
7967 count > 0.
7968
7969 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
7970
7971 Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
7972
7973 * v850.h (ASM_SPEC): Pass on target processor.
7974 (CPP_PREDEFINES): Only define if not already specified.
7975 (TARGET_VERSION): Only define if not already specified.
7976 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
7977 processor.
7978 (EXTRA_SWITCHES): Extra entries in the switches array.
7979 (TARGET_DEFAULT): Set default target processor.
7980
7981 Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
7982
7983 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
7984 cases, add %# and %/, and add : to make them into extended asms.
7985
7986 Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
7987
7988 * alias.c (init_alias_analysis): Clean up incompatible pointer
7989 type warning in bzero.
7990 * regmove.c (regmove_optimize): Ditto.
7991 * haifa-sched.c (find_rgns): Ditto.
7992
7993 * haifa-sched.c (print_value): Clean up ptr->int cast
7994 warnings.
7995
7996 Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
7997
7998 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
7999 * install.texi (Configurations): Ditto.
8000 * config.sub: Ditto.
8001
8002 Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
8003
8004 * Makefile.in (sdbout.o): Depend on insn-config.h.
8005
8006 Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
8007
8008 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
8009 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
8010
8011 Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
8012
8013 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
8014 prologue insn, only the first elt is significant.
8015 (output_call_frame_info): For exception handling, always use 4-byte
8016 fields as specified by the dwarf2 spec.
8017 Don't skip trivial FDEs.
8018
8019 Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
8020
8021 * version.c: Bump for snapshot.
8022
8023 Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
8024
8025 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
8026 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
8027 when op1_is_pow2.
8028
8029 Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
8030
8031 * final.c (shorten_branches): During first pass, assume worst
8032 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
8033
8034 * Makefile.in (distclean): Remove various things left around
8035 by running the testsuite.
8036
8037 Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
8038
8039 * configure.in (out_file): Emit definition to config.status in order
8040 to have a defined value for configure.lang.
8041 * configure: Re-built.
8042
8043 Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
8044
8045 * configure.in: Make symlink to as-new rather than as.new. Similarly
8046 for ld-new.
8047 * configure: Rebuilt.
8048
8049 Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
8050
8051 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
8052
8053 Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
8054
8055 * sparc/sparc.md: Add ultrasparc scheduling support.
8056 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
8057
8058 Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
8059
8060 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
8061 as initial value for real_label_map.
8062 (copy_for_inline): Likewise.
8063
8064 Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8065
8066 * sched.c (update_flow_info) When looking if to set found_split_dest
8067 or found_orig_dest, look at all parts of a PARALLEL.
8068 * haifa-sched.c (update_flow_info): Likewise.
8069
8070 Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
8071
8072 * v850: New directory for v850 port.
8073 * v850/lib1funcs.asm: New file.
8074 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
8075 * ginclude/va-v850.h: New file.
8076 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
8077 * configure.in (mn10200-*-*): New target.
8078 * configure: Rebuilt.
8079 * config.sub: Handle v850-elf.
8080 * Makefile.in (USER_H): Add va-mn10200.h.
8081 * invoke.texi: Document v850 stuff.
8082
8083 Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
8084
8085 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
8086 has integer TYPE_{MAX,MIN}_VALUE before using them.
8087
8088 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
8089 __HPUX_ASM__ versions.
8090
8091 Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
8092
8093 * install.sh: Delete duplicate install script.
8094
8095 Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
8096
8097 * reg-stack.c (subst_stack_regs): Pop the stack register for a
8098 computed goto which sets the same stack register.
8099
8100 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
8101 destination are both on the regstack.
8102 (subst_stack_regs_pat): Put the destination at the top of the regstack.
8103
8104 Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
8105
8106 * mips.md (nonlocal_goto_receiver): Define.
8107
8108 * profile.c (output_arc_profiler): Check next_insert_after for non
8109 NULL before deferencing it.
8110
8111 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
8112
8113 Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
8114
8115 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
8116
8117 Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
8118
8119 * toplev.c (rest_of_compilation): For passes starting with
8120 flow_analysis, use print_rtl_with_bb instead of print_rtl.
8121
8122 * print-rtl.c (print_rtl_single): Print a single rtl value to a
8123 file.
8124
8125 * flow.c (print_rtl_with_bb): Print which insns start and end
8126 basic blocks. For the start of a basic block, also print the live
8127 information.
8128
8129 Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
8130
8131 * toplev.c (main): Change #elif to #else/#ifdef
8132
8133 * tlink.c: Include ctype.h.
8134 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
8135
8136 Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
8137
8138 * bitmap.c: Conditionally include stdlib.h.
8139 (free): Provide a declaration if NEED_DECLARATION_FREE.
8140
8141 Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
8142
8143 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
8144
8145 Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
8146
8147 * profile.c (output_arc_profiler): Verify next_insert_after is an
8148 INSN before and after skipping a stack pop.
8149
8150 Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8151
8152 * final.c (shorten_branches): Don't count the lengths of deleted
8153 instructions.
8154
8155 Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
8156
8157 * version.c: Bump for snapshot.
8158
8159 Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
8160
8161 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
8162 two bitmaps ANDed together.
8163 (bitmap_print): Declare.
8164
8165 * bitmap.c (function_obstack): Don't declare any more.
8166 (bitmap_obstack): Obstack for allocating links from.
8167 (bitmap_obstack_init): New static to say whether to initialize
8168 bitmap_obstack.
8169 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
8170 (bitmap_release_memory): Free all memory allocated from
8171 bitmap_obstack.
8172
8173 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
8174 EXECUTE_IF_AND_IN_BITMAP.
8175
8176 Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
8177
8178 * alias.c (true_dependence): Address with AND can alias scalars.
8179 (anti_dependence, output_dependence): Likewise.
8180
8181 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
8182
8183 Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
8184
8185 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
8186 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
8187 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
8188 definitions. Use -qrtems instead of -mrtems.
8189
8190 Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
8191
8192 * xm-sco5.h (sys_siglist): Define.
8193 (SYS_SIGLIST_DECLARED): Likewise.
8194
8195 Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
8196
8197 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
8198
8199 Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
8200
8201 * except.c (eh_outer_context): Expand masking operation using
8202 expand_binop.
8203
8204 Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
8205
8206 * alpha.md (floatdisf2-1): New pattern.
8207
8208 Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
8209
8210 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
8211 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
8212 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
8213 * gcc.texi: Note that if you define sys_siglist that you should
8214 also define SYS_SIGLIST_DECLARED.
8215
8216 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
8217 are relative to the next instruction, not the current instruction.
8218
8219 Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
8220
8221 * local-alloc.c (contains_replace_regs): New function.
8222 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
8223 verify that there is no existing REG_EQUIV note, and add a call to
8224 contains_place_regs.
8225
8226 Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8227
8228 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
8229 (STARTFILE_SPEC): Always use crtbegin.o%s
8230 (ENDFILE_SPEC): Always use crtend.o%s.
8231
8232 Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
8233
8234 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
8235 is passed in.
8236 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
8237 SFmode for 64 bit hosts.
8238
8239 Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
8240
8241 * fixincludes: Permits spaces between # and define. Discard C++
8242 comments in sys/pci.h on HP/UX 10.20.
8243
8244 Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
8245
8246 * version.c: Bump for snapshot.
8247
8248 * pa.c (restore_unscaled_index_insn_codes): New function.
8249 (record_unscaled_index_insn_codes): Likewise.
8250 (output_function_prologue): Call restore_unscaled_index_insn_codes.
8251 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
8252 (pa_reorg): Call record_unscaled_index_insn_codes.
8253
8254 * haifa-sched.c (move_insn): Handle notes correctly for insns
8255 with SCHED_GROUP_P set.
8256
8257 Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8258
8259 * alpha/xm-linux.h (USE_BFD): Undef before define.
8260
8261 Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
8262
8263 * cse.c (cse_insn): Don't record BLKmode values.
8264
8265 Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
8266
8267 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
8268
8269 Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
8270
8271 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
8272 * collect2.c (sys_errlist): Likewise.
8273 * cpplib.c (sys_errlist): Likewise.
8274 * gcc.c (sys_errlist): Likewise.
8275 * protoize (sys_errlist): Likewise.
8276 * configure.in: Check for strerror.
8277 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
8278 * xm-gnu.h (HAVE_STRERROR): Likewise.
8279 * xm-linux.h (HAVE_STRERROR): Likewise.
8280 * xm-netbsd.h (HAVE_STRERROR): Likewise.
8281 * xm-bsd386.h (HAVE_STRERROR): Likewise.
8282 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
8283 * xm-dos.h (HAVE_STRERROR): Likewise.
8284 * xm-mingw32.h (HAVE_STRERROR): Likewise.
8285 * xm-pa.h (HAVE_STRERROR): Likewise.
8286 * xm-papro.h (HAVE_STRERROR): Likewise.
8287 * xm-sysv4.h (HAVE_STRERROR): Likewise.
8288 * configure, config.in: Rebuilt.
8289
8290 * Makefile.in: Add several missing "else true" clauses.
8291
8292 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
8293 * mips-tfile.c: Likewise.
8294 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
8295 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
8296 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
8297 * configure.in: Check for sys_siglist declaration.
8298 * configure, config.in: Rebuilt.
8299
8300 Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
8301
8302 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
8303 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
8304 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
8305 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
8306 * rs6000/sysv4.h (extra_subtarget_switches): Added new
8307 macro EXTRA_SUBTARGET_SWITCHES.
8308 * configure.in (sh*-*-rtems*): New target.
8309 * sh/rtems.h: New file.
8310 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
8311 * configure: Rebuilt.
8312
8313 Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
8314
8315 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
8316
8317 Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
8318
8319 * rs6000.md: Make DF fused-add operations pay attention to
8320 -mno-fused-add.
8321
8322 Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
8323
8324 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
8325
8326 Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
8327
8328 * pa.md (reload_peepholes): Make sure operand is a REG before
8329 examining REGNO. Allow general registers too.
8330
8331 Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
8332
8333 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
8334
8335 Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
8336
8337 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
8338 to reallocate abbrev_die_table.
8339
8340 Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
8341
8342 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
8343
8344 1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8345
8346 * Makefile.in (config.status): Depend on version.c
8347
8348 * expr.h (insn_gen_function): Reenable prototype.
8349
8350 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
8351 first parameter.
8352
8353 Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
8354
8355 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
8356
8357 Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
8358
8359 * version.c: Bump for latest snapshot.
8360
8361 * bc-optab.c: Conditionally include stdlib.h.
8362 (free): Provide a declaration if NEED_DECLARATION_FREE.
8363 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
8364 * rtl.h (free): Remove declaration.
8365 * tree.h (free): Remvoe declaration.
8366
8367 * configure: Rebuilt.
8368
8369 Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
8370
8371 * flags.h (flag_move_all_movables): Declare.
8372 (flag_reduce_all_givs): Likewise.
8373 * loop.c (move_movables): Handle flag_move_all_movables.
8374 (strength_reduce): Handle flag_reduce_all_givs.
8375 * toplev.c (flag_move_all_movables): Define.
8376 (flag_reduce_all_givs): Likewise.
8377 (f_options): Add -fmove-all-movables and -freduce-all-givs.
8378 * invoke.texi: Document new options, including alias stuff that
8379 wasn't included last time.
8380
8381 Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
8382
8383 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
8384 * t-mn10200: Ditto.
8385 * t-vxsparc: Ditto.
8386 * t-vxworks68: Ditto.
8387 * t-vxworks960: Ditto.
8388 * t-vx29k: Ditto.
8389
8390 Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
8391
8392 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
8393 if not already defined, and USE_C_ALLOCA not defined.
8394
8395 Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
8396
8397 * config.guess: Replace with script that uses ../config.guess.
8398
8399 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
8400 if USE_GNULIBC_1 is not defined.
8401
8402 Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
8403
8404 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
8405 * config.guess: Recognize alpha-linux-gnulibc1.
8406 * configure.in (alpha-*-linux-gnulibc1): New target.
8407 (alpha-*-linux-gnu*): Don't build crtbegin/end.
8408
8409 Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
8410
8411 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
8412 last change.
8413
8414 Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
8415
8416 * loop.c (combine_movables): Earlier insns don't match later ones.
8417
8418 Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8419
8420 * config/linux.h (CC1_SPEC): Define it only if not defined.
8421
8422 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
8423 <linux.h>
8424
8425 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
8426 USE_GNULIBC_1 is not defined.
8427
8428 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
8429
8430 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
8431 as 1 if USE_GNULIBC_1 is not defined.
8432
8433 Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
8434
8435 * reorg.c (dbr_schedule): Allow current_function_return_rtx
8436 to be something other than a REG.
8437 * function.c (expand_function_end): Fix current_function_return_rtx
8438 if it was a pseudo.
8439
8440 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
8441 * x-netbsd: Likewise
8442 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
8443 (INSTALL_HEADERS): Delete.
8444 * x-dguxbcs: Likewise.
8445 * x-hp3bsd44: Likewise
8446 * x-pa: Likewise.
8447
8448 Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
8449
8450 * i386.md (pop): pop increments the stack pointer.
8451 (prologue_set_stack_ptr): New pattern.
8452 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
8453 instead of subsi3.
8454
8455 Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
8456
8457 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
8458 address where an offsettable address is required.
8459
8460 Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
8461
8462 * loop.c (check_final_value): Don't miss a biv increment in a
8463 parallel.
8464
8465 Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
8466
8467 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
8468 TYPE_DECL_IS_STUB instead of DECL_NAME.
8469
8470 Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8471
8472 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
8473
8474 Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
8475
8476 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
8477
8478 Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
8479
8480 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
8481 (find_post_sched_live): Likewise.
8482
8483 * haifa-sched.c (schedule_block): Remove old code to get arguments
8484 from hard regs into pseudos early.
8485
8486 Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
8487
8488 * version.c: Bump for new snapshot.
8489
8490 * local-alloc.c (update_equiv_regs): All the target to reject
8491 promotion of some REG_EQUAL to REG_EQUIV notes.
8492 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
8493
8494 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
8495 secondary reloads.
8496
8497 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
8498 store of the argument registers.
8499
8500 Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
8501
8502 * fold-const.c (multiple_of_p): New function.
8503 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
8504
8505 Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
8506
8507 * expr.h (insn_gen_function): Temporarily remove prototype.
8508
8509 Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
8510
8511 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
8512 filenames. Use sed to extract base filename for install.
8513
8514 Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
8515
8516 * unroll.c (find_splittable_givs): Only share if two givs have the
8517 same add and multiply values.
8518
8519 Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
8520
8521 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
8522 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
8523
8524 Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
8525
8526 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
8527 around branch tables.
8528 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
8529 and .end_brtab directives if TARGET_GAS.
8530
8531 Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
8532
8533 * alias.c (true_dependence): Pass x_addr not x to varies.
8534
8535 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
8536 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
8537 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
8538 declarations.
8539 * config.in, configure: Regenerate.
8540
8541 Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
8542
8543 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
8544 LO_SUM.
8545 (record_set): Handle LO_SUM like PLUS.
8546 (init_alias_analysis): When following chains of base addresses,
8547 do not stop on reaching a hard register.
8548
8549 Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
8550
8551 * version.c: Bump for new snapshot.
8552
8553 Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
8554
8555 * alpha.h (ARCH_ASM_FILE_START): Define.
8556 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
8557 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
8558
8559 Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
8560
8561 * Makefile.in (install-common): Put gcov comment at start of line.
8562
8563 Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
8564
8565 * alias.c (init_alias_analysis): When simplifying the reg_base_value
8566 array, simplify entries for hard registers too.
8567
8568 Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
8569
8570 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
8571 list.
8572
8573 Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
8574
8575 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
8576 block_stack before dereferencing it.
8577
8578 Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
8579
8580 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
8581
8582 Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
8583
8584 * cplus-dem.c: Add 'extern' to prepends_underscore.
8585
8586 Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
8587
8588 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
8589 (get_issue_rate): Delete.
8590 * pa.h (ISSUE_RATE): Define.
8591
8592 * configure.in: Turn on haifa by default for the PA.
8593 * configure: Rebuilt.
8594 * pa.c (override_options): Accept -mschedule=7200 option.
8595 (pa_adjust_cost): No longer need to scale costs for newer
8596 processors.
8597 * pa.h (enum processor_type): Add PROCESSOR_7200.
8598 * pa.md: Revamp scheduling parameters to work better with
8599 haifa. Add scheduling parameters for the 7200.
8600
8601 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
8602 insns too.
8603 (schedule_block): When adjusting basic_block_{head,end}, account
8604 for movement of SCHED_GROUP_P insns too.
8605
8606 * haifa-sched.c (debug_dependencies): Fix thinko.
8607
8608 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
8609 (site.exp, check, check-g++, check-gcc): New targets.
8610
8611 * haifa-sched.c: Make lots of variables static.
8612
8613 Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8614
8615 * expr.h, real.h: Finish prototyping.
8616
8617 Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
8618
8619 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
8620 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
8621 * reload1.c: Undo bugfix from Aug 11.
8622
8623 Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
8624
8625 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
8626 quotes around the name.
8627 * configure: Regenerate.
8628
8629 Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
8630
8631 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
8632
8633 Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
8634
8635 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
8636 to sub-makes to avoid building more passes than the user might have
8637 requested on the command line.
8638
8639 Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
8640
8641 * configure.in: Expurgate `broken_install' (install is
8642 autoconfed).
8643
8644 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
8645 relevant).
8646
8647 Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
8648
8649 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
8650 functions and declarations.
8651 (analyze_loop_iterations): Use condjump_p.
8652 (insert_bct): Likewise. Use exact_log2.
8653
8654 Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
8655
8656 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
8657 (schedule_region): Likewise.
8658 (schedule_insns): Likewise.
8659
8660 * PROJECTS: Update with Haifa stuff.
8661
8662 Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
8663
8664 * version.c: Change the version string to look like:
8665 egcs-2.90.00 970814 (gcc2-970802 experimental).
8666
8667 * loop.c (is_conditional_branch): Make definition match declaration.
8668
8669 * gcc.c: Take out experimental snapshot warning message.
8670
8671 Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
8672
8673 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
8674 print out the names of the notes. Print out the name of the insn
8675 that is not a note, and not an {,CALL_,JUMP_}INSN.
8676
8677 Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
8678
8679 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
8680 again for the slot after we give it RTL.
8681
8682 Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
8683
8684 * configure.in (haifa configury): Fix typo.
8685 * configure: Regenerate.
8686
8687 Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
8688
8689 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
8690
8691 * gcc.info*: Rebuilt.
8692
8693 * COPYING.g77, README.g77: New files.
8694 * real.c (ereal_unto_float, ereal_unto_double): New functions.
8695 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
8696 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
8697
8698 Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
8699
8700 * Integrate Haifa instruction scheduler.
8701 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
8702 to sched with $(SCHED_CFLAGS.
8703 * configure.in: Handle --enable-haifa.
8704 * configure: Rebuilt.
8705 * flags.h: Add new flags for haifa instruction scheduler.
8706 * genattrtab.c (expand_units): For haifa, don't subtract one
8707 when computing blockage.
8708 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
8709 (flag_schedule_speculative): Ditto.
8710 (flag_schedule_speculative_load): Ditto.
8711 (flag_schedule_speculative_load_dangerous): Ditto.
8712 (flag_schedule_reverse_before_reload): Ditto.
8713 (flag_schedule_reverse_after_reload): Ditto.
8714 (flag_branch_on_count_reg): Ditto.
8715 (f_options): Add Haifa switches.
8716 (main): Turn off some Haifa options if appropriate macro is
8717 defined. Process Haifa switches.
8718 * unroll.c (iteration_info): No longer static, since Haifa
8719 scheduler uses it.
8720 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
8721 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
8722 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
8723 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
8724 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
8725 storage for the Haifa scheduler.
8726 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
8727 LABEL_NEXTREF.
8728 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
8729 are defined, call analyze_loop_iterations and insert_bct to use
8730 countdown loops.
8731 (record_giv): Refine test for jumps out of loops if HAIFA is
8732 defined.
8733 (analyze_loop_iterations): New function to identify if we can use
8734 a countdown loop.
8735 (insert_bct): Insert countdown loop.
8736 (instrument_loop_bct): Low level code to insert countdown loop.
8737 (loop_number): Calculate UID of loop.
8738 (indirect_jump_in_function_p): Return true if an indirect jump is
8739 in the function.
8740 (is_power_of_2): Return true if value is a power of 2.
8741 (is_conditional_branch): Return true if insn is a conditional
8742 jump.
8743 (fix_bct_param): Process -fbct-{min,max}-N switches.
8744 (check_bct_param): Return true if loop should be instrumented.
8745 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
8746 (loop_optimize): Initialize.
8747 (get_condition_for_loop): Ditto.
8748 * loop.c (strength_reduce): Inside of code that uses #ifdef
8749 HAVE_decrement_and_branch_on_count code, test it to make sure the
8750 condition is true.
8751 (instrument_loop_bct): Ditto.
8752 * haifa-sched.c: New file.
8753
8754
8755 * Integrate regmove pass.
8756 * Makefile.in (OBJS): Add regmove.o
8757 (regmove.o): Add dependencies.
8758 * flow.c (find_use_as_address): No longer static.
8759 * rtl.h (find_use_as_address): Declare.
8760 * toplev.c (regmove_dump, flag_regmove): Define.
8761 (f_options): Add -fregmove.
8762 (regmove_dump_file, regmove_time): Define.
8763 (fatal_insn): Close the regmove dump file.
8764 (compile_file): Initialize regmove_time; open/close the regmove dump
8765 file as needed. Print regmove time as needed.
8766 (rest_of_compilation): Run regmove pass if requested, dump
8767 RTL after regmove if requested.
8768 (main): If -O2 or more, turn on regmove. Handle dump switches.
8769 * regmove.c: New file.
8770
8771 Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
8772
8773 * Integrate tlink patch from jason@cygnus.com
8774 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
8775 (process_command): Increment n_switches for them. Don't discard
8776 their args. Validate them.
8777 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
8778 From Rohan Lenard.
8779 (process_command): Set include_prefixes from COMPILER_PATH.
8780 (main): Set COLLECT_GCC_OPTIONS sooner.
8781 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
8782 * tlink.c, hash.c, hash.h: New files.
8783 * Makefile.in (USE_COLLECT2): Always use collect2.
8784 (collect2): Depend on and link in hash.o and tlink.o.
8785 (tlink.o, hash.o): Add dependencies.
8786
8787 Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
8788
8789 * Integrate alias analysis changes from jfc@mit.edu
8790 * Makefile.in (OBJS): Add alias.o
8791 (alias.o): Add dependencies.
8792 * alias.c: New file.
8793 * sched.c: Remove alias analysis code. It lives in alias.c now.
8794 (sched_analyze_2): Add new arguments to true_dependence.
8795 (schedule_insns): Always call init_alias_analysis.
8796 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
8797 mark return value from such functions as a pointer and keep track of
8798 them for alias analysis. If a return value from a function is a
8799 pointer, mark it as such.
8800 * combine.c (distribute_notes): Handle REG_NOALIAS.
8801 * cse.c (struct write_data): Delete. No longer needed.
8802 (invalidate): Don't call set_nonvarying_address_components anymore.
8803 Use true_dependence to decide if an entry should be removed from
8804 the hash table.
8805 (invalidate_memory): Remove WRITES argument, simplify appropriately.
8806 Fix all callers.
8807 (note_mem_written): Similarly for WRITE_PTR argument.
8808 (invalidate_from_clobbers): Similarly for W argument.
8809 (invalidate_for_call): Remove memory elements from the hash table.
8810 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
8811 (cse_rtx_varies_p): New function. Derived from old
8812 cse_rtx_addr_varies_p.
8813 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
8814 Don't call note_mem_written anymore. Stack pushes invalidate the stack
8815 pointer if PUSH_ROUNDING is defined. No longer need to call
8816 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
8817 (skipped_writes_memory): Remove variable.
8818 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
8819 (invalidate_skipped_block): Simplify for new alias analysis code.
8820 (cse_set_around_loop): Likewise.
8821 (cse_main): Call init_alias_analysis.
8822 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
8823 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
8824 (f_options): Add new alias checking arguments.
8825 (main): Set flag_alias_check when optimizing.
8826 * local_alloc (validate_equiv_mem_from_store): Add new arguments
8827 to true_dependence.
8828 (memref_referenced_p): Likewise.
8829 * loop.c (NUM_STORES): Increase to 30.
8830 (prescan_loop): Only non-constant calls set unknown_address_altered.
8831 (invariant_p): Add new arguments to true_dependence.
8832 (record_giv): Initialize unrolled and shared fields.
8833 (emit_iv_add_mult): Call record_base_value as needed.
8834 * loop.h (struct induction): Add unrolled and shared fields.
8835 * unroll.c (unroll_loop): Call record_base_value as needed.
8836 (copy_loop_body): Likewise.
8837 (final_biv_value): Likewise.
8838 (final_giv_value): Likewise.
8839 (find_splittable_regs): Likewise. Only create one new pseudo
8840 if we have multiple address GIVs that were combined with the same
8841 dst_reg GIV. Note when a new register is created due to unrolling.
8842 * rtl.c (reg_note_name): Add REG_NOALIAS.
8843 * rtl.h (enum reg_note): Similarly.
8844 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
8845 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
8846 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
8847 (true_dependence, read_dependence, anti_dependence): Likewise.
8848 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
8849 (mark_user_reg, mark_reg_pointer): Likewise.
8850
8851
8852 * Integrate reload bugfix from Wilon which enables the PA port
8853 to bootstrap again.
8854 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
8855 OPERAND_ADDRESS when computing how many registers an insn needs.
8856 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
8857 conflict.
8858 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
8859 OPADDR_ADDR reload.
8860 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
8861 in reload_reg_use_in_op_addr do not reach the end.
8862 do not reach the end.
8863 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
8864 RELOAD_FOR_OPERAND_ADDRESS.
8865
8866 Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
8867
8868 * egcs project officially starts.