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