]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
class.c (instantiate_type): Handle pointer-to-members where the member is a template.
[gcc.git] / gcc / ChangeLog
CommitLineData
dfdfa60f
DE
1Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
2
3 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
4 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
5 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
6 (output_function_profiler): Use asm_fprintf and fputs.
7
83e0821b
KG
8Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9
10 * gencheck.c: Remove redundant stdio.h include. Add a definition
11 of xmalloc for when we are forced to link with alloca.o.
12
13 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
14 instead of `1U'.
15
16 * fold-const.c (constant_boolean_node): Make definition static to
17 match the prototype.
18
6ff0d2a0
PB
19Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
20
21 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
22 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
23 (do_spec, input_filename, input_filename_length): Make public.
24 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
25 Call lang_specific_pre_link befor elinking.
26
2db45993
JL
27Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
28
29 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
30 the insn which has the most insns dependent on it.
31
74186471
JC
32Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
33
34 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
35
989f090c
RH
36Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
37
38 * alpha.md (insxh-1): New insxl pattern for combine.
39
b657fc39
L
40Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
41
42 * i386/i386.c (output_fp_conditional_move): New function
43 to output floating point conditional move.
44 (output_int_conditional_move): New function to output integer
45 conditional move.
46
47 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
48 output_int_conditional_move () to output int conditional move.
49 (movsfcc+5, movdfcc+5, movxfcc+5): Call
50 output_fp_conditional_move () to output floating point
51 conditional move.
52
53 * i386/i386.c (put_condition_code): In INT mode, check
54 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
55
202fe2d6
DB
56Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
57
58 * dbxout.c (dbxout_type): Output arrays of bits as if
59 they were bitstrings for Chill
60
a260abc9
DE
61Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
62
63 * tree.c (get_inner_array_type): New function.
64 * tree.h (get_inner_array_type): Prototype.
65 * expr.h (STACK_SAVEAREA_MODE): New macro.
66 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
67 STACK_SAVEAREA_MODE.
68 (expand_builtin_longjmp): Likewise.
69 * explow.c (emit_stack_save): Likewise.
70 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
71
72 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
73 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
74 * rs6000/aix43.h: New file.
75 * rs6000/t-aix43: New file.
76 * rs6000/x-aix41: New file.
77 * rs6000/x-aix43: New file.
78 * configure.in (rs6000-ibm-aix*): Use them.
79 * rs6000/powerpc.h: Delete.
80 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
81 * rs6000/netware.h: and here.
82 * rs6000/win-nt.h: and here.
83
84 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
85 MASK_POWERPC64.
86 (rs6000_override_options): Ignore flag_pic for AIX.
87 (rs6000_immed_double_const): Delete.
88 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
89 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
90 (num_insns_constant): mask64_operand() is 2 insns.
91 (logical_operand): Don't assume 32-bit CONST_INT.
92 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
93 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
94 (mask_constant): HOST_WIDE_INT parameter.
95 (non_and_cint_operand): Delete.
96 (mask64_operand): New function.
97 (and64_operand): New function.
98 (function_arg_advance): DImode arguments do not need special
99 alignment when 64-bit.
100 (function_arg): Likewise.
101 (setup_incoming_varargs): Reverse reg_size assignment.
102 (print_operand): HOST_WIDE_INT second parameter.
103 (print_operand, 'B'): New case.
104 (print_operand, 'M'): Fix typo in lossage string.
105 (print_operandm 'S'): New case.
106 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
107 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
108 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
109 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
110 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
111 (rs6000_allocate_stack_space): Use {cal|la}.
112 (output_epilog): Use {cal|la}
113 (output_function_profiler): Add call glue to mcount call.
114 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
115
116 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
117 (STACK_BOUNDARY): Depend on TARGET_32BIT.
118 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
119 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
120 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
121 64-bit mask operand.
122 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
123 (STACK_SAVEAREA_MODE): New macro.
124 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
125 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
126 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
127 (ASM_FILE_START): Emit 64-bit ABI directive.
128 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
129 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
130 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
131 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
132
133 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
134 Restore define_splits.
135 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
136 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
137 Do not specify base register operand mode.
138 (floatsidf2_loadaddr): Do not specify base register operand mode.
139 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
140 register; do not specify mode. Remove !TARGET_POWERPC64 final
141 constraint.
142 (floatsidf2_load): Do not specify base register operand mode. Remove
143 !TARGET_POWERPC64 final constraint.
144 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
145 base register operand mode.
146 (adddi3): Split large constants early.
147 (absdi3): Shift by 63, not 31.
148 (*mulsidi3_ppc64): New pattern.
149 (rotldi3): Add masking combiner patterns.
150 (anddi3): Add rldic{r,l} masking. Remove split of large constants
151 because PPC insns zero-extend.
152 (iordi3, xordi3): Split large constants early.
153 (movsi matcher): Remove S and T constraints.
154 (movsf const_double): create SImode constant from TARGET_DOUBLE.
155 (movdf_hardfloat32): Add default abort() case.
156 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
157 (movdi): Remove 64-bit constant generator. Try to convert
158 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
159 (movdi_32): Add default abort() case.
160 (movdi_64): Add numerous ways to split 64-bit constants.
161 Make catch-all define_split more optimal and never FAIL.
162 (movti_ppc64): Add default abort() case.
163 (allocate_stack): Remove operand modes. Use Pmode.
164 (restore_stack_block): Remove operand modes. Generate Pmode
165 temporary.
166 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
167 temporary. Save area is double Pmode.
168 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
169 (call, call_value): Do not specify address operand mode. Choose
170 appropriate AIX ABI.
171 (*call_local64, *ret_call_local64): New patterns.
172 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
173 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
174 (compare): Materialize DImode truthvalues.
175
ff439b5f
CB
176Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
177
178 * expr.c (safe_from_p): Avoid combinatorial explosion
179 over duplicate SAVE_EXPRs by ensuring we never recurse
180 on one that has already been visited.
181
7d2a46a8
GS
182Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
183
184 * loop.c (check_dbra_loop): Initialise final_value before
185 normalizing the loop.
186
f5470689
R
187Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
188
189 * reload1.c (reload_reg_free_for_value_p): New arguments out and
190 reloadnum. Changed all callers.
191
9b91d8f4
UD
1921998-06-03 Ulrich Drepper <drepper@cygnus.com>
193
194 * system.h: Add _() and N_() macros in preparation for gettext.
195
7fdc2757
AS
196Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
197
bc516719
AS
198 * c-common.c (check_format_info): Put back check for C9x `hh'
199 length modifier. Warn about %n format writing into const. Remove
200 obsolete comment.
9b91d8f4 201 (format_char_info): Fix comments.
bc516719 202
7fdc2757
AS
203 * configure.in: Set float_format to m68k for all m68k targets that
204 do not override LONG_DOUBLE_TYPE_SIZE.
205 * config/float-m68k.h: New file.
206
dc2a47ed
RH
207Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
208
209 * jump.c (jump_optimize): Remove debug messages accidentally left in
210 with the previous change.
211
f0348c25
RH
212Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
213
214 * expr.c (store_expr): Revert stray patch associated with
215 1998-05-23 commit.
216
4f4f436f
RH
217Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
218
219 * jump.c (rtx_unsafe_p): New function.
220 (jump_optimize): Use it on if/then/else transformations and
221 conditional move transformations.
222
df0e526f
AS
223Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
224
225 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
226 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
227 Cope with CONST being out of range for the bitfield.
228
2638126a
BS
229Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
230
231 * expr.c (emit_move_insn_1): When moving complex values in several
232 steps, emit a CLOBBER to show the destination dies.
233
6c8538cc
JL
234Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
235
ccdb9251
JL
236 * Makefile.in (site.exp): Use the object testsuite directory as
237 the temporary directory.
238
6c8538cc
JL
239 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
240 address of an ADDRESSOF rtx.
241
0bc02db4
MS
2421998-06-02 Mike Stump <mrs@wrs.com>
243
244 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
245 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
246 * i960.md (ret, flush_register_windows): Define.
247 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
248 work yet.
249 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
250
d46f7484
RH
251Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
252
253 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
254 around an OSF/1 library bug wrt sign-extension of inputs.
255
e3c81d20
RH
256Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
257
258 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
259
44ec7e59 260Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
9b91d8f4 261
44ec7e59
CM
262 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
263
264 * varasm.c (assemble_variable): Augment alignment warning.
265
9224220f
MM
266Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
267
268 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
269 in the presence of IEEE negative 0's.
270
726e2d54
JW
271Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
272
273 * reload.c (find_reloads): Record the existing mode if
274 operand_mode == VOIDmode before replacing a register with
275 a constant.
276 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
277 i386_compare_op1 to const0_rtx for the benefit of the
278 conditional move patterns.
279 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
280 based on suggestions from Jim Wilson.
281
97f959a5
JL
282Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
283
284 * version.c: Bump for snapshot.
285
b5662334
BK
286Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
287
288 * Makefile.in (fixinc.sh): Update rules again.
289
674032e2
JL
290Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
291
292 * extend.texi: Bring back reference to trampoline paper.
293
294Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
295
296 * Makefile.in (USER_H): Add stdbool.h.
297 * ginclude/stdbool.h: New file.
298
d3903c22
JL
299Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
300
c71407f9
JL
301 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
302 of a non-note insn.
303
d3903c22
JL
304 * gcse.c (pre_delete): Fix code to determine the mode of
305 the reaching pseudo register.
306
8376d400
BS
307Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
308
309 * Makefile.in (GEN): Add gencheck
310 (STAGESTUFF): Add tree-check.h and gencheck.
311
71d085b0
BK
312Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
313
314 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
315 (fixinc.sh): Set some additional environment variables before
316 calling mkfixinc.sh.
317
f4d1453e
JL
318Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
319
320 * reload.c (find_reloads): Do not force a reloads of match_operators.
9b91d8f4 321
9f8e6243
AM
322Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
323
324 * except.h (remove_handler): Add new prototype.
325 * except.c (remove_handler): New function to remove handlers
326 from an exception region.
327 * flow.c (find_basic_blocks_1): Remove handlers from regions when
328 handler label is deleted; remove exception regions with no handlers.
329
d05a5492
MM
330Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
331
332 * except.h (rtx): Define rtx type correctly if needed.
333 * function.h (rtx): Ditto.
334 (tree): Define tree type correctly if needed.
335
336 * c-pragma.c (toplevel): Include rtl.h.
337
338 * stor-layout.c (toplevel): Move include of rtl.h before
339 except.h.
340
341 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
342 (tree.o): Add except.h dependency.
9b91d8f4 343
ed385fd9
JL
344Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
345
5bc80b30
JL
346 * reload1.c: Revert accidental checkin.
347
ed385fd9
JL
348 * configure.lang: Fix thinko when adding a definition for
349 target_alias to the Makefile.
350
00c26dc2
CM
351Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
352
9b91d8f4 353 * config/sparc/lb1spc.asm (.rem and .urem): Replace
00c26dc2
CM
354 routines.
355
d499463f
RE
356Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
357
358 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
359 variable warnings. Don't generate scratch registers if only
360 counting insns.
361 (find_barrier): Eliminate unused variable SRC.
362
62fe00be
MH
3631998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
364
365 * toplev.h (rtx_def): Provide global declaration to avoid
366 `limited scope' warnings.
367
1a4bf22f
MK
368Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
369
370 * Makefile.in (gencheck.o): Use HOST_CC.
371 * i386/t-mingw32: New file.
372 * configure.in (i386-*-mingw32*): Use.
373
4d818c85
RE
374Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
375
376 * arm.c (bad_signed_byte_operand): New predicate function.
377 * arm.h (PREDICATE_CODES): Add it to the list.
378 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
379 can't handle.
380 (define_split): Two new splits for above insns.
381
ad076f4e
RE
382 * arm.c: Include toplev.h.
383 (arm_override_options): Add parentheses around use of tune_flags.
384 (arm_split_constant): Remove unused variable.
385 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
386 (output_func_prologue, arm_expand_prologue): Likewise.
387 (arm_canonicalize_comparison): Make I unsigned; rework constants
388 accordignly. Add missing paratheses around << operation.
389 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
390 clause.
391 ({load,store}_multiple_sequence): Initialize BASE_REG.
392 (select_dominance_cc_mode): Add DEFAULT clauses.
393 (broken_move): Return zero if the destination is not a register.
394 (arm_reorg): Move unused REGNO declaration into the dead code.
395 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
396
a1ec8ea1
JL
397Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
398
399 * version.c: Bump for snapshot.
400
c7f58590
JL
401Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
402
403 * version.c: Bump for snapshot.
404
33b019ad
DB
405Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
406
407 * cpperror.c (v_cpp_message): Remove static prototype.
408 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
409 * cpplib.h (v_cpp_message): Add protoptype.
410 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
411
61819ba5
JL
412Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
413
414 * version.c: Bump for snapshot.
415
f5c57ba7
JL
416Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
417
418 * version.c: Bump for snapshot.
419
7a87758d
AS
4201998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
421
422 * m68k.h: Declare more functions used in macros.
423 (REG_CLASS_CONTENTS): Completely embrace initializer.
424 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
425 about returning no value.
426 * cse.c (find_best_addr): Declare p and found_better only if
427 needed.
428 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
429 * dwarfout.c (string_length_attribute): #if 0 away.
430 * function.c (expand_function_end): Define varible blktramp only
431 if needed.
432 * jump.c (find_insert_position): Define only if !HAVE_cc0.
433 * loop.c (combine_givs_p): Define variable tem only if needed.
434 * real.c: Comment out unused functions eabs, eround,
435 e{24,53,64,113}toasc and eiinfin.
436
437
10ad38ca
AO
438Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
439
440 * Makefile.in (boostrap2-lean, bootstrap3-lean,
441 bootstrap4-lean): New targets.
442
57fec042
JL
443Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
444
445 * warn_summary, test_summary: Moved into the contrib directory.
446
97263b8c
MH
4471998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
448
e7f62ad3
MH
449 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
450 of the Makefile.
451 (FLOAT_H_TEST): Likewise.
452 (ENQUIRE): Likewise.
453 (float.h-nat): Likewise.
454 (float.h-cross): Likewise.
455 (enquire): Likewise.
456 (enquire.o): Likewise.
457 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
458 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
459 no-op.
460 (FLOAT_H): Remove old float.h-nat version; move current definition
461 to CROSS_FLOAT_H location.
462 (all.cross): Remove comments about enquire stuff.
463
8d45987f
MH
464 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
465 (rest.encap): Likewise.
e7f62ad3 466 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
8d45987f 467
97263b8c
MH
468 * toplev.h (tree_node): Provide global declaration to avoid
469 `limited scope' warnings.
470
a8c24967
RL
471Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
472
473 * test_summary: Display section breaks for each entry
474 in a multilibbed target's output.
475
bd070e1a
RH
4761998-05-23 Richard Henderson <rth@cygnus.com>
477
478 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
479 offset's mode is not ptr_mode, convert it.
480
697073d9
JM
4811998-05-22 Jason Merrill <jason@yorick.cygnus.com>
482
483 * fold-const.c (ssize_binop): New fn.
484 * tree.h: Declare it.
485
07704a9a
RE
486Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
487
9b91d8f4 488 * genextract.c (print_path): Handle zero-length path as a special
07704a9a
RE
489 case.
490
911c3b7d
HPN
491Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
492
493 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
494
75197b37
BS
495Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
496
497 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
498 (shorten_branches, final_scan_insn): Test value of
499 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
500 is defined.
501 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
502 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
28ec9418 503 * arm/tcoff.h: Likewise.
75197b37
BS
504 * i386/386bsd.h: Likewise.
505 * i386/freebsd-elf.h: Likewise.
506 * i386/freebsd.h: Likewise.
507 * i386/netbsd.h: Likewise.
508 * i386/ptx4-i.h: Likewise.
509 * i386/sysv4.h: Likewise.
510 * pa/pa.h: Likewise.
511 * rs6000/linux.h: Likewise.
512 * rs6000/rs6000.h: Likewise.
513 * sh/sh.h: Likewise.
514 * sparc/sp64-elf.h: Likewise.
515 * v850/v850.h: Likewise.
516 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
517 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
518
1a29f703
R
519Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
520
521 * regmove.c (gen_add3_insn): New function.
522 (fixup_match_2): Use it instead of calling gen_addsi3.
523
aee21ba9
JL
524Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
525
37433f49
JL
526 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
527
aee21ba9
JL
528 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
529 address.
530
12b195d9
ML
531Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
532
533 * Makefile.in (TREE_H): Add tree-check.h.
534 (tree-check.h, gencheck): New targets.
535 * gencheck.c: New file.
536 * tree.c (tree_check, tree_class_check): New functions.
537 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
538 (TYPE_CHECK, DECL_CHECK): Define.
539 Modify all access macros to use generated checking macros.
540
9e423e6d
JW
541Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
542
543 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
544 * configure.in: Check for it.
545 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
546 * final.c (uid_align, uid_shuid, label_align): Make static.
547 (label_align): Change type to struct label_alignment pointer.
548 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
549 (LABEL_TO_MAX_SKIP): Define.
550 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
551 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
552 (shorten_branches): Record the maximum bytes to skip when
553 aligning a label.
554 (final_scan_insn): Use the maximum bytes to skip when aligning a label
555 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
556 * i386.h (LOOP_ALIGN_MAX_SKIP,
557 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
558 * i386.c (override_options): i386_align_jumps and i386_align_loops
559 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
560 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
561
1cc75298
MM
5621998-05-21 Mark Mitchell <mmitchell@usa.net>
563
564 * cplus-dem.c (do_type): Handle volatile qualification.
9b91d8f4 565
178ca02d
PB
566Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
567
568 * function.c (init_function_start): Don't call emit_line_note if
569 lineno is 0. (Can happen when compiling Java .class files.)
570
cecbf6e2
R
571Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
572
573 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
574 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
575
b52ce03d
R
576Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
577
578 * combine.c (nonzero_bits): For paradoxical subregs, take
579 LOAD_EXTENDED_OP into account.
580
c8724862
DB
581Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
582
583 * configure.in (extra_c_objs): add prefix.o.
584 (extra_cxx_objs): extra objects for C++ with cpplib.
585 * configure: Regenerate.
586
587 * c-tree.h: (get_directive_line): Different prototype for cpplib.
588 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
589
590 * c-lex.h: (get_directive_line): Not needed here for cpplib.
591
592 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
593 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
594
595 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
596 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
597
fd97443c
KG
598Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
599
600 * gengenrtl.c (type_from_format, accessor_from_format): Change
601 type of parameter `c' from `char' to `int'.
602
0e4347ce
JL
603Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
604
2a3edac9
JL
605 * warn_summary, test_summary: New scripts from
606 Kaveh Ghazi and Alexandre Oliva respectively.
607
0e4347ce
JL
608 * gcse.c (current_function_calls_longjmp): Declare.
609
4e5a8d7b
JM
6101998-05-20 Jason Merrill <jason@yorick.cygnus.com>
611
612 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
613
7506f491
DE
614Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
615 Jeff Law (law@cygnus.com)
616
617 * Global CSE and constant/copy propagation.
618 * Makefile.in (OBJS): Add gcse.o
619 (STAGESTUFF): Add *.gcse.
620 (gcse.o): Add dependencies.
621 (mostlyclean): Remove *.gcse and */*.gcse.
622 * gcse.c: New file.
623 * loop.c (loop_optimize): Move call to init_alias_analysis.
624 * recog.c (validate_replace_src): New function.
625 * toplev.c (gcse_dump): New global variable.
626 (flag_gcse, gcse_time): Likewise.
627 (compile_file): Initialize gcse_time and clean out the gcse dump
628 file if necessary.
629 (rest_of_compilation): Call gcse_main as requested. Dump RTL
630 after gcse if requested.
631 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
632 dumps for -da.
633 * gcc.texi: Add gcse related internal documentation.
634 * invoke.texi: Note new command line options for gcse.
635 * tm.texi: Document AVOID_CCMODE_COPIES.
636 * mips.h (AVOID_CCMODE_COPIES): Define.
637
40859b41
JL
638Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
639
640 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
641 exists.
aef1617c 642 (stmp-fixproto): Simlarly for running fixproto.
40859b41
JL
643 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
644
f85c8be7
JW
645Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
646
647 * config/mips/mips.c (double_memory_operand): Accept any MEM during
648 reload when TARGET_64BIT.
649
c7391272
JW
650Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
651
652 Finish incomplete change started by Kenner.
653 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
654 (powerpcle-*-cygwin32): Delete xm_defines.
655 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
656 HAVE_STAB_H instead of NO_STAB_H.
657 * config/xm-linux.h (NO_STAB_H): Delete.
658 (HAVE_STAB_H): Undefine.
659 * config/i386/xm-go32.h (NO_STAB_H): Delete.
660
af02da67
JW
6611998-05-19 Jim Wilson <wilson@cygnus.com>
662
663 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
664 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
665
79edd21c
TV
666Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
667
668 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
669
6e684430
R
670Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
671
672 * reload1.c (reload_reg_free_for_value_p): New function.
673 (allocate_reload_reg, choose_reload_regs): Use it.
674
7ecb5d27
AM
675Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
676
677 * except.c (expand_start_catch): Correct logic for when to
678 generate a new handler label, and when to use the old one.
679
487a6e06
KG
680Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
681
682 * Makefile.in (print-rtl.o): Depend on bitmap.h.
683 (dbxout.o): Depend on toplev.h.
684 ($(SCHED_PREFIX)sched.o): Likewise.
685 ($(out_object_file)): Likewise for system.h and toplev.h.
686 (cppmain.o): Depend on gansidecl.h.
687 (cpplib.o): Likewise.
688 (cpperror.o): Likewise.
689 (cppexp.o): Likewise.
690 (cpphash.o): Likewise.
691 (cppalloc.o): Likewise.
692 (fix-header.o): Depend on cpplib.h and cpphash.h.
693 (scan-decls.o): Depend on gansidecl.h.
694
695 * basic-block.h (free_regset_vector): Add prototype.
696
697 * cccp.c (check_precompiled): Mark parameter `fname' with
698 ATTRIBUTE_UNUSED.
699 (do_assert): Likewise for `op' and `keyword'.
700 (do_unassert): Likewise.
701 (do_line): Likewise for `keyword'.
702 (do_error): Likewise for `op' and `keyword'.
703 (do_warning): Likewise.
704 (do_ident): Likewise for `keyword'.
705 (do_pragma): Likewise for `limit', `op' and `keyword'.
706 (do_sccs): Likewise.
707 (do_if): Likewise for `keyword'.
708 (do_elif): Likewise.
709 (do_else): Likewise.
710 (do_endif): Likewise.
711
712 * collect2.c (getenv): Remove redundant prototype.
713 (collect_exit, collect_execute, dump_file): Likewise.
714 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
715 (dump_prefix_list): Hide prototype and definition.
716
717 * sparc.c: Include toplev.h.
718 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
719 (symbolic_memory_operand): Likewise.
720 (sp64_medium_pic_operand): Likewise.
721 (data_segment_operand): Likewise.
722 (text_segment_operand): Likewise.
723 (splittable_symbolic_memory_operand): Likewise.
724 (splittable_immediate_memory_operand): Likewise.
725 (eq_or_neq): Likewise.
726 (normal_comp_operator): Likewise.
727 (noov_compare_op): Likewise.
728 (v9_regcmp_op): Likewise.
729 (v8plus_regcmp_op): Likewise.
730 (extend_op): Likewise.
731 (cc_arithop): Likewise.
732 (cc_arithopn): Likewise.
733 (small_int): Likewise.
734 (uns_small_int): Likewise.
735 (clobbered_register): Likewise.
736 (legitimize_pic_address): Likewise.
737 (delay_operand): Likewise.
738 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
739
740 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
741 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
742
743 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
744
745 * cppalloc.c: Include gansidecl.h.
746
747 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
748 (cpp_file_line_for_message): Mark parameter `pfile' with
749 ATTRIBUTE_UNUSED.
750 (v_cpp_message): New function.
751 (cpp_message): Use it. Also convert to variable arguments.
752 (cpp_fatal): Likewise.
753 (cpp_pfatal_with_name): Constify parameter `name'.
754
755 * cppexp.c: Move gansidecl.h before cpplib.h.
756 * cpphash.c: Likewise.
757 * cpphash.h (hashf, delete_macro): Add prototypes.
758
759 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
760 cpplib.h. Don't include errno.h.
761 (update_path): Add arguments to prototype.
762 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
763 cpp_print_containing_files): Remove redundant prototypes.
764 (cpp_hash_cleanup, add_import, append_include_chain,
765 make_assertion, path_include, initialize_builtins,
766 initialize_char_syntax, finclude, validate_else, comp_def_part,
767 lookup_import, redundant_include_p, is_system_include,
768 read_name_map, read_filename_string, open_include_file,
769 check_macro_name, compare_defs, compare_token_lists,
770 eval_if_expression, change_newlines): Add prototype arguments.
771 (hashf): Remove redundant prototype.
772 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
773 conditional_skip, skip_if_group): Add prototype arguments.
774 (fdopen): Remove redundant prototype.
775 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
776 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
777 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
778 (struct directive): Add prototype arguments to function pointer
779 member `func'.
780 (handle_directive): Add missing arguments to call to `do_line'.
781 (do_include): Mark parameters `unused1' and `unused2' with
782 ATTRIBUTE_UNUSED.
783 (do_line): Likewise for `keyword' and new parameters `unused1' and
784 `unused2'.
785 (do_error): Likewise for `keyword'.
786 (do_warning): Likewise. Also add missing argument `pfile' in call
787 to cpp_pedwarn.
788 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
9b91d8f4 789 ATTRIBUTE_UNUSED.
487a6e06
KG
790 (do_ident): Likewise for `keyword', `buf' and `limit'.
791 (do_pragma): Likewise. Also add missing arguments in call to do_once.
792 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
9b91d8f4 793 ATTRIBUTE_UNUSED.
487a6e06
KG
794 (do_if): Likewise for `keyword'.
795 (do_elif): Likewise.
796 (eval_if_expression): Likewise for `buf' and `length'.
797 (do_xifdef): Likewise for `unused1' and `unused2'.
798 (do_else): Likewise for `keyword', `buf' and `limit'.
799 (do_endif): Likewise.
800 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
801 (cpp_handle_options): Remove superfluous NULL argument in call to
802 cpp_fatal.
803 (cpp_handle_options): Likewise.
804 (do_assert): Mark parameter `keyword', `buf' and `limit' with
805 ATTRIBUTE_UNUSED.
806 (do_unassert): Likewise.
807 (cpp_print_file_and_line): Add missing argument `pfile' in call to
808 cpp_file_line_for_message.
809 (v_cpp_error): New function.
810 (cpp_error): Use it. Also accept variable arguments.
811 (v_cpp_warning): New function.
812 (cpp_warning): Use it. Also accept variable arguments.
813 (cpp_pedwarn): Accept variable arguments.
814 (v_cpp_error_with_line): New function
815 (cpp_error_with_line): Use it. Accept variable arguments.
816 (v_cpp_warning_with_line): New function.
817 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
818 definition.
819 (cpp_pedwarn_with_line): Accept variable arguments.
820 (cpp_pedwarn_with_file_and_line): Likewise.
821 (cpp_error_from_errno): Constify parameter `name'. Add missing
822 argument `pfile' in call to cpp_file_line_for_message.
823 (cpp_perror_with_name): Constify parameter `name'.
824
825 * cpplib.h: Define PARAMS() in terms of PROTO().
826 (fatal): Remove redundant prototype.
827 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
828 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
9b91d8f4 829 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
487a6e06
KG
830 cpp_fatal, cpp_message, cpp_pfatal_with_name,
831 cpp_file_line_for_message, cpp_print_containing_files): Add
832 arguments to prototypes.
833 (scan_decls, cpp_finish): Add prototypes.
834
835 * cppmain.c: Include gansidecl.h.
836 (main): Remove unused variable `i'.
9b91d8f4 837
487a6e06
KG
838 * dbxout.c: Include toplev.h.
839
840 * demangle.h (do_tlink, collect_execute, collect_exit,
841 collect_wait, dump_file, file_exists): Add prototype.
842
843 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
844 prototype and definition.
845 (gen_unspecified_parameters_die): Don't assign results of call to
846 function new_die() to unused variable `parm_die'.
847 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
848 (dwarf2out_define): Likewise for `lineno' and `buffer'.
849
850 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
851 prototype and definition.
852 (output_die): Add prototype arguments to function pointer arg.
853 (output_unspecified_parameters_die): Mark parameter `arg' with
854 ATTRIBUTE_UNUSED.
855
856 * except.c (output_exception_table_entry): Remove unused variable
857 `eh_entry'.
858
859 * except.h (expand_fixup_region_start, expand_fixup_region_end):
860 Add prototypes.
861
862 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
863
864 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
865
866 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
867 before cpplib.h, include cpphash.h, remove redundant prototype of
868 cpp_fatal, don't define `const', add a prototype for `fatal'.
869 (cpp_file_line_for_message): Add missing arguments `pfile'.
870 (v_cpp_message): New function.
871 (cpp_message): Use it.
872 (v_fatal): New function.
873 (fatal, cpp_fatal): Use it.
874 (cpp_pfatal_with_name): Constify parameter `name'.
875
876 * flow.c (free_regset_vector): Remove redundant prototype.
877
878 * function.c (round_down): Wrap prototype and definition with
879 macro ARGS_GROW_DOWNWARD.
880 (record_insns): Wrap prototype and definition with
881 defined (HAVE_prologue) || defined (HAVE_epilogue).
882
883 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
884
885 * gen-protos.c: Include gansidecl.h.
886 (hashf): Don't make it static, constify parameter `name'.
887
888 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
889 specifier %s in calls to function `fatal'.
890
891 * haifa-sched.c: Include toplev.h.
892 (find_rgns): Remove unused variable `j'.
893
894 * integrate.c (note_modified_parmregs): Mark parameter `x' with
895 ATTRIBUTE_UNUSED.
896 (mark_stores): Likewise.
897
898 * jump.c (mark_modified_reg): Likewise.
899
900 * output.h (insn_current_reference_address): Add prototype.
901 (eh_frame_section): Likewise.
902
903 * print-rtl.c: Include bitmap.h.
904
905 * reload1.c (reload): Wrap variables `note' and `next' in macro
906 PRESERVE_DEATH_INFO_REGNO_P.
907 (forget_old_reloads_1): Mark parameter `ignored' with
908 ATTRIBUTE_UNUSED.
909 (choose_reload_regs): Remove unused variable `in'.
910 (reload_cse_invalidate_mem): Mark parameter `ignore' with
911 ATTRIBUTE_UNUSED.
912 (reload_cse_check_clobber): Likewise.
913
914 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
915 (mark_elimination): Fix typo in prototype.
916
917 * scan-decls.c: Include gansidecl.h.
918
919 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
9b91d8f4 920
c7fdfd49
JL
921Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
922
923 * function.c (identify_blocks): Fix thinko when setting the
924 block number for NOTE_INSN_BLOCK_END.
925
53f2d033
NC
926Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
927
f122eb7a 928 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
9b91d8f4 929 ___udivsi3.
f122eb7a
NC
930
931 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
9b91d8f4 932 underscores for the prefixes to the names of the maths functions.
f122eb7a 933
53f2d033
NC
934 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
935 comment explaining why.
936
ead17059
RH
937Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
938
939 * tree.h (TYPE_SIZE_UNIT): New.
940 (struct tree_type): Add size_unit member.
941 * stor-layout.c (layout_type): Initialize it.
942 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
943 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
944
069b95ce
RE
945Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
946
947 * stor-layout.c (layout_record): Fix off-by-one error when checking
948 length of the TYPE_BINFO vector.
949
972a4adb
NC
950Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
951
952 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
953 function parameter passed in memory.
954
76ead72b
RL
955Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
956
957 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
958 Prototypes for externally used functions in respective C files.
959 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
960 final.c: Include above files.
961 * Makefile.in (toplev.o): Add dependency for above four headers.
962 (final.o): Likewise.
963 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
964 respective header files.
965
b0ccd8de
JL
966Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
967
7e717196
JL
968 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
969 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
970 the build tree if they exist.
971 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
972 appropriately.
973 (objdir): Let configure substitute value.
974 (FLOAT_H): Let configure select a pre-built version from the
975 config subdir.
976 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
977 * configure.in: Substitute for objdir.
978
88111b26
JL
979 * Makefile.in (build_canonical, host_canonical): Let configure
980 substitute values for these variables.
981 * configure.in: Substitute for build_canonical, host_canonical
982 and target_subdir in generated Makefile.
983
d8af60bf
JL
984 * output.h (find_basic_blocks): Declare.
985 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
986
b0ccd8de
JL
987 * Makefile.in (BISON): Use bison from the build tree if it exists.
988 (FLEX): Similarly.
989
88117d44
NC
990Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
991
992 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
993 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
994 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
995 command line arguments to see if an executable is not being
996 created, and if so - do not append the suffix.
997
998 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
999 driver macro.
1000
e5e8a8bf
JW
1001Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
1002
1003 * i386.h (ALIGN_DFmode): Delete.
1004 (CONSTANT_ALIGNMENT): Define.
1005 * varasm.c (force_const_mem): Use it.
1006
b771b6b4
RH
1007Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
1008
1009 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
1010 using it with swap_condition, not before.
1011
0211b6ab
JW
1012Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
1013
1014 * alias.c (mode_alias_check): Delete.
1015 (true_dependence, anti_dependence, output_dependence): Revert April 21
1016 change.
1017
c5991f68
KW
1018Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
1019
3fe4d12a 1020 * toplev.c (output_lang_identify): Enable prototype and definition.
c5991f68 1021
18f315a4
JL
1022Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
1023
1024 * version.c: Bump for snapshot.
1025
2a831d01
RH
1026Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
1027
1028 * alpha/osf.h (HAVE_STAMP_H): Define.
1029 * alpha.c: Use it.
1030 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
1031 * configure.in (alpha*-*-netbsd*): New.
1032 Based on patches from Paul H. Anderson <pha@pdq.com>.
1033
1034 * configure.in (alpha*-*-linux-*): Kill xm_defines.
1035 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
1036 * alpha/xm-linux.h: Remove file.
1037
620422fd
DE
1038Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
1039
1040 * dbxout.c (dbxout_parms): If mode of type of parameter living
1041 in memory doesn't match mode of DECL_RTL, make big endian correction.
1042
d2f2cb19
JW
1043Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
1044
1045 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
1046
bbc0e641
JM
1047Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
1048
1049 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
1050 * stor-layout.c (layout_record): Set it.
1051
1052Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
1053
1054 * toplev.c (rest_of_compilation): Don't defer nested functions.
1055
92834d7d
BM
1056Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
1057
1058 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
1059 to an 8-byte boundary if info_ptr->fpmem_p.
1060
829002bb
BM
1061Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
1062
1063 * loop.c (basic_induction_var): Added test preventing
1064 CCmode parameter passed to convert_modes().
1065
b24f65cd
APB
1066Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
1067
1068 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
1069 input_filename and lineno around expand_expr call. Set them to values
1070 in WFL before expand_expr call.
1071
b09293cc
BK
1072Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
1073
1074 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
1075
f628873f
MM
1076Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
1077
1078 * fold-const.c (constant_boolean_node): New function.
1079 (fold): Use it.
1080
61fb6bac
R
1081Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1082
1083 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
1084 Abort if trying to split kind 3 or 4 outside of combine.
1085
8f9661dd
JL
1086Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
1087
1088 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
1089
b22284e1
MK
1090Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
1091
1092 * objc/Make-lang.in (OBJC_O): Add missing exeext.
1093 (libobjc.a, runtime-info.h): Likewise.
1094
8a022443
JW
1095Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
1096
1097 * i386.h (DATA_ALIGNMENT): Define.
1098
aa6498c2
R
1099Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1100
1101 * reload1.c (delete_output_reload): Ignore single USE that
1102 was emitted for the pseudo use of this INSN.
1103 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
1104 remains, we can always delete OUTPUT_RELOAD_INSN.
1105
41372177
JW
1106Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
1107
1108 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
1109
ddc5654a
JL
1110Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
1111
1112 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
1113
9a0d1e1b
AM
1114Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1115
1116 * eh-common.h: New file for basic EH data structures.
1117 * except.h: Various prototypes and structures for NEW_EH_MODEL
1118 * function.h (struct function): Add a struct eh_stack for the catch
1119 clause stack.
9b91d8f4 1120 * except.c (gen_exception_label): New function to generate an
9a0d1e1b
AM
1121 exception label.
1122 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
1123 (push_entry): New function to push an existing entry onto a stack.
9b91d8f4 1124 (receive_exception_label): New function to emit the code required
9a0d1e1b
AM
1125 at the start of all catch blocks.
1126 (struct func_eh_entry): New structure for maintaining handlers
1127 associated with EH regions.
1128 (new_eh_region_entry): New function to register an EH region.
1129 (add_new_handler): New function to register a handler with a region.
1130 (get_new_handler): Creates anew handler entry for registering.
1131 (find_func_region): New function to convert a NOTE eh region number
1132 to an Eh region index.
1133 (get_first_handler): New function to get the first handler in a region.
1134 (clear_function_eh_region): New function to release memory.
1135 (duplicate_handlers): New function to duplicate a list of handlers.
1136 (expand_eh_region_end): Create a new region entry node as well.
1137 (expand_leftover_cleanups): Call receive_exception_label() and
1138 register the cleanup as a handler to the current region.
1139 (expand_start_catch): New function to start a catch clause.
1140 (expand_end_catch): New function to end a catch clause.
1141 (expand_start_all_catch): restructure to not do the equivilent of
1142 what expand_start_catch() does now. Push the exception region being
1143 handled onto the catch stack.
1144 (output_exception_table_entry): Issue an entry for each handler
1145 associated with a region.
1146 (set_exception_lang_code): New function for setting the language code.
1147 (set_exception_version_code): New function to set the version number.
1148 (output_exception_table): Output version and language codes.
1149 (find_exception_handler_labels): Find handler labels using new scheme.
1150 (is_exception_handler_label): New function, returns 1 if label is
1151 present as a handler in some exception region.
1152 (check_exception_handler_labels): Use the new scheme.
1153 (init_eh_for_function): Initialize the catch stack.
1154 (save_eh_status): Save the catch stack.
1155 (restore_eh_status): Restore the catch stack.
1156 (scan_region): Don't remove unreferenced handler label. Flow does it.
1157 (get_reg_for_handler): New function to get the eh_context pointer
1158 passed by __throw.
1159 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
1160 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
1161 entry when processing END region rather that START region.
1162 * flow.c (find_basic_blocks_1): Find all potential handler regions
1163 now that we don't automatically know what the labels might be.
1164 Let scan_region() remove unreferenced EH BEGIN/END labels.
1165 * integrate.c (get_label_from_map): Put inlined labels onto the
1166 permanent obstack since we dont know which ones might be exception
1167 labels.
1168 (save_for_inline_copying): Make new copies of all the handlers.
1169 (expand_inline_function): Make new copies of all the handlers.
1170 * libgcc2.c: Remove local struct decls, and include eh-common.h.
9b91d8f4 1171 (find_exception_handler): With NEW_EH_MODEL the first matching
9a0d1e1b
AM
1172 region we find is the right one. Add eh_info as a new parameter.
1173 (__throw): Pass eh_info to find_exception_handler. Set handler
1174 and pass use different regs under NEW_EH_MODEL.
1175
2129b081
JW
1176Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
1177
1178 * i960.h (hard_regno_mode_ok): Changed to function from array of
1179 unsigned.
1180 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
1181 * i960.c (hard_regno_mode_ok): Changed to function from array of
1182 unsigned.
1183
029b38ff
R
1184Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1185
1186 * reload.c (remove_replacements): New function.
1187 * reload.h (remove_replacements): Declare.
1188 * reload1.c (choose_reload_regs): Disable some reloads that
1189 belong to inherited reloads.
1190
efdb3590
R
1191Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1192
9dd07f87
R
1193 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
1194
efdb3590
R
1195 * reload1.c (merge_assigned_reloads): When merging, reset
1196 reload_spill_index for the eliminated reload.
1197
5d27de7d
JL
1198Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
1199
1200 * haifa-sched.c (schedule_insns): Fix merge goof.
1201
92d4501f
JW
12021998-05-13 Jim Wilson <wilson@cygnus.com>
1203
1204 * varasm.c (make_decl_rtl): Revert April 1 change.
1205 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
1206 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
1207 Get function name from the SYMBOL_REF in the DECL_RTL, not from
1208 DECL_ASSEMBLER_NAME.
1209 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
1210 DECL_ASSEMBLER_NAME.
1211
d6cc54f6
JW
1212Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
1213
1214 * i386.c (notice_update_cc, output_float_compare): Disable
1215 TARGET_CMOVE support.
1216
6d3352d9 1217Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
0dfa1860
MM
1218 Jeff Law <law@cygnus.com>
1219
ae78d276
MM
1220 * rtlanal.c (find_reg_note): Ignore notes that are not on on
1221 insns of class 'i'.
1222 (find_regno_note): Likewise.
1223
82ce5b75
MM
1224 * Makefile.in (stor-layout.o): Depend on except.h
1225 (varasm.o, function.o): Likewise.
1226 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
1227
0dfa1860
MM
1228 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
1229 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
1230 ($(HOST_PREFIX_1)rtl.o): Likewise.
1231 ($(HOST_PREFIX_1)bitmap.o): New host object.
1232 * emit-rtl.c (toplevel): Include bitmap.h.
1233 (gen_rtx): Handle 't' and 'b' nodes.
1234 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
1235 Print block number for block begin/end notes. Print 't' type
1236 nodes as a pointer. Know that the 3rd argument of live range
1237 start/stop notes is really a range_info rtx. If type is 'b', print
1238 out argument as a bitmap.
1239 * rtl.c: Include bitmap.c.
1240 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
1241 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
1242 * rtl.def (RANGE_LIVE): New node to hold live information while we
1243 recalculate the basic blocks.
1244 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
9b91d8f4 1245 (RANGE_VAR): New node, to hold information saved in symbol node for New
0dfa1860
MM
1246 communicating live range information to the debug output functions.
1247 * rtl.h (rtunion_def): Add rttree and rtbit fields.
1248 (XBITMAP, XTREE): New accessor macros.
1249 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
1250 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
1251 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
1252 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
1253 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
1254 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
1255 (RANGE_INFO_*): Likewise.
1256 * sched.c (sched_analyze): Keep live range start/stop notes.
1257 (unlink_other_notes): Likewise.
1258 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
1259 (unlink_other_notes): Likewise.
1260 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
1261 (BLOCK_LIVE_RANGE_FLAG): Likewise.
1262 (DECL_LIVE_RANGE_RTL): Likewise.
1263 (struct tree_block): Add live_range_flag, live_range_var_flag,
1264 live_range_start and live_range_end.
1265 (struct tree_decl): Add live_range_rtl field.
1266 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
1267 (accessor_from_format): Likewise.
6d3352d9
MM
1268
1269 * haifa-sched.c (schedule_block): Make verbose output line up.
47312d84 1270 Also add a blank line in printing the individual ready lists.
6d3352d9 1271
63e76c87
KG
1272Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1273
1274 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
1275 (c-lex.o): Depend on output.h.
1276 (c-common.o): Likewise.
1277 (stmt.o): Likewise.
1278 (calls.o): Likewise.
1279 (integrate.o): Depend on toplev.h.
1280 (regclass.o): Depend on output.h.
1281 (final.o): Depend on reload.h.
1282
1283 * c-common.c: Include output.h.
1284 (check_format_info): Remove unused variable `integral_format'.
1285
1286 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
1287 `indent' with ATTRIBUTE_UNUSED.
1288 (print_lang_type): Likewise.
1289 (maybe_build_cleanup): Likewise for parameter `decl'.
1290 (copy_lang_decl): Likewise for parameter `node'.
1291
1292 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
1293 (lang_print_xnode): Mark parameters `file', `node' and `indent'
1294 with ATTRIBUTE_UNUSED.
1295 (lookup_interface): Likewise for parameter `arg'.
1296 (is_class_name): Likewise.
1297 (maybe_objc_check_decl): Likewise for parameter `decl'.
1298 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
1299 `reflexive'.
1300 (maybe_objc_method_name): Likewise for parameter `decl'.
1301 (build_objc_string): Likewise for parameters `len' and `str'.
1302
1303 * c-lex.c: Include output.h.
1304
1305 * c-lex.h (position_after_white_space): Correct typo in prototype.
1306
1307 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
1308 c_expand_end_cond, init_iterators): Add prototypes.
1309
1310 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
1311 with ATTRIBUTE_UNUSED.
1312
1313 * calls.c: Include output.h.
1314
1315 * cccp.c (pipe_closed): Mark parameter `signo' with
1316 ATTRIBUTE_UNUSED.
1317
1318 * combine.c: Move inclusion of expr.h to after insn-config.h.
1319
1320 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
1321 as empty, rather define as ((void)0).
1322
1323 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
1324 Add parentheses around assignment used as truth value.
1325
1326 * cplus-dem.c (squangle_mop_up): Change return type to void.
1327 (internal_cplus_demangle): Remove unused parameter `options'.
1328 All callers changed.
1329 (cplus_demangle_opname): Remove function wide variable `int i' and
1330 replace with `size_t i' at each location where it is used.
1331 (cplus_demangle_opname): change type of `i' from int to size_t.
1332
1333 * cppexp.c (right_shift): Mark parameter `pfile' with
1334 ATTRIBUTE_UNUSED.
1335
1336 * cpphash.c (cpp_lookup): Likewise.
1337 (cpp_hash_cleanup): Likewise.
1338
1339 * cpplib.c (parse_name): Add a prototype and make it static.
1340 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
1341 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
1342 (macro_cleanup): Likewise for parameter `pfile'.
1343 (file_cleanup): Likewise.
1344
1345 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
1346 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
1347
1348 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
1349 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
1350
1351 * cse.c (cse_check_loop_start): Mark parameter `set' with
1352 ATTRIBUTE_UNUSED.
1353
1354 * dbxout.c (flag_minimal_debug, have_used_extensions,
1355 source_label_number): Move inside macro wrapper check against
1356 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
1357
1358 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
1359
1360 * except.h (doing_eh): Provide prototype.
1361
1362 * expr.c: Move inclusion of expr.h to after insn-config.h.
1363
1364 * final.c: Include reload.h.
1365 (shorten_branches): Cast the first argument of bzero to char *.
1366
1367 * fix-header.c (cpp_print_containing_files): Mark parameter
1368 `pfile' with ATTRIBUTE_UNUSED.
1369 (cpp_fatal): Likewise.
1370
1371 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
1372 to char *.
1373
1374 * genattrtab.c (make_length_attrs): Change the type of variable
1375 `i' from int to size_t.
1376 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
1377 (one_fn): Likewise.
9b91d8f4 1378
63e76c87
KG
1379 * genextract.c (main): When generating insn-extract.c, mark
1380 variable `junk' with ATTRIBUTE_UNUSED.
1381
1382 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
1383 argument of bzero to char*.
1384
1385 * integrate.c: Include toplev.h.
1386
1387 * libgcc2.c: Wrap `struct exception_table' and
1388 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
1389
1390 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
9b91d8f4 1391
63e76c87
KG
1392 * objc/objc-act.c: Include toplev.h.
1393 (lang_print_xnode): Mark parameters `file', `node' and `indent'
1394 with ATTRIBUTE_UNUSED.
1395 (finish_protocol): Likewise for parameter `protocol'.
1396
1397 * output.h (declare_weak): Add prototype.
1398 (decode_reg_name): Don't wrap with TREE_CODE macro.
1399 (assemble_alias): Add prototype.
1400
1401 * regclass.c: Include output.h.
1402
1403 * reload.h (reloads_conflict): Add prototype.
1404
1405 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
1406 output_func_start_profiler): Add prototypes.
1407
1408 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
1409 ATTRIBUTE_UNUSED.
1410
1411 * scan-decls.c: Include scan.h.
1412
1413 * scan.h (recognized_function, recognized_extern): Add prototypes.
1414
1415 * stmt.c: Include output.h.
1416
1417 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
1418 (output_lang_identify): Hide prototype and definition.
1419 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
1420 (pipe_closed): Likewise.
1421
1422 * toplev.h (count_error, strip_off_ending, error_for_asm,
1423 warning_for_asm): Add prototypes.
1424
a494747c 1425Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
a494747c 1426
32e705c4
MM
1427 * toplev.c (rest_of_compilation): "Charge" final for any time
1428 doing various cleanup operations after finishing compilation
1429 of a function.
1430
9b91d8f4 1431 * flow.c (dump_flow_info): Also print number of sets and
6fc4610b
MM
1432 whether or not the pseudo is a user variable.
1433
a494747c
MM
1434 * flow.c (reg_n_max): New global variable.
1435 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
1436 Delete regno_max variable.
1437 * regs.h (REG_N_CHECK): Define.
1438 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
1439 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
1440 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
1441
21622caf
JL
1442Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
1443
1444 * acconfig.h (ENABLE_CHECKING): Undefine.
1445 * configure.in (--enable-checking): New option.
1446
d668e863
R
1447Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1448
1449 * reload1.c (merge_assigned_reloads): Can merge
1450 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
1451 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
1452
b706d7f2
JW
1453Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
1454
1455 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
1456
4117a96b
R
1457Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1458
1459 * reload1.c (gen_reload): Create REG_EQUIV notes.
1460
4d3eb414
R
1461Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1462
1463 * reload1.c (reload): Fix check for USEs to use code of pattern.
1464 (choose_reload_regs): Remove dead variable use_insn.
1465
b10c8966
JL
1466Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
1467
9b91d8f4 1468 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
b10c8966 1469
cbb13457
MM
1470Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
1471
1472 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
1473 already defined.
1474 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
1475 (insn_{unit,issue_delay}): Ditto.
1476 (blockage_range): Ditto.
1477 (actual_hazard{,_this_instance}): Ditto.
1478 (schedule_unit): Ditto.
1479 (potential_hazard): Ditto.
1480 (insn_cost): Ditto.
1481 (swap_sort): Ditto.
1482 (queue_insn): Ditto.
1483 (birthing_insn_p): Ditto.
1484 (adjust_priority): Ditto.
1485 (get_block_head_tail): Ditto.
1486 (init_rgn_data_dependences): Ditto.
1487
1478d88a
KK
1488Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
1489
1490 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
1491
a688e0b7
GK
1492Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
1493
1494 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
1495
ec350bdd
GK
1496Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
1497
1498 * config/mips/mips.md (dslot): Move after definition of "cpu"
1499 attribute. Handle r3900 case.
1500
d4ba0ead
KG
1501Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1502
1503 * system.h: Define the STRINGIFY macro here.
1504 * protoize.c: Not here.
1505 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
1506
8a198bd2
JW
1507Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
1508
9b91d8f4 1509 * varasm.c (assemble_variable): Compute the alignment of the data
8a198bd2
JW
1510 earlier so that both initialized and uninitialized variables are
1511 effected by DATA_ALIGNMENT.
1512 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
1513
eace3df1
JL
1514Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
1515
1516 * mips.c: Prototype static functions.
1517
a9e95099
JW
1518Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
1519
b1a7d591
JW
1520 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
1521 Add explanatory comments.
1522
a9e95099
JW
1523 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
1524
0f177d7c
RH
1525Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
1526
1527 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
1528
28233641
JW
1529Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
1530
1531 * varasm.c (make_decl_rtl): Disable April 1 change.
1532
e55a5ea6
RH
1533Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
1534
1535 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
1536
e83015a9
RH
1537Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
1538
1539 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
1540 * alpha.c (print_operand): Handle it.
9b91d8f4 1541 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
e83015a9
RH
1542 related define_splits. Also add peepholes for SImode reload
1543 plus sign_extend lossage.
1544
320e7c40
KG
1545Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1546
1547 * genattr.c: Include stdarg.h/varargs.h. Change function
1548 `fatal' to use variable arguments instead of faking it with
1549 integer parameters. Provide a prototype which also
1550 checks the format specifiers using ATTRIBUTE_PRINTF_1.
1551
1552 * genattrtab.c: Likewise.
1553 * gencodes.c: Likewise.
1554 * genconfig.c: Likewise.
1555 * genemit.c: Likewise.
1556 * genextract.c: Likewise.
1557 * genflags.c: Likewise.
1558 * genopinit.c: Likewise.
1559 * genpeep.c: Likewise.
1560 * genrecog.c: Likewise.
1561 * genoutput.c: Likewise. Similarly for function `error'.
1562
e9b4fabf
JL
1563Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1564
1565 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
1566 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
1567 * configure.in: Use GCC_C_VOLATILE.
1568 * system.h (volatile): Define as empty if no volatile support is
1569 available.
1570
1571Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
1572
1573 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
1574 generated fucntion.
1575
f283421d
RH
1576Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
1577
1578 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
1579 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
1580 the body of beq; additionally set the mode of the branch to CCmode for
9b91d8f4 1581 FP compares and not fast_math.
f283421d
RH
1582 (alpha_emit_conditional_move): Always use a compare insn for FP
1583 when not fast_math, as well as setting CCmode on the cmov.
1584 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
1585
1586 * machmode.h (COMPLEX_MODE_P): New macro.
1587
53c0919d
RH
1588Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
1589
1590 * haifa-sched.c (print_exp): Fix typo.
1591
23d297ab
JL
1592Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
1593
1594 * version.c: Bump for snapshot.
1595
cf879efa
MM
1596Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
1597
1598 * final.c (final_scan_insn): Call fatal_insn instead of abort if
1599 we could not split an insn when required to.
1600
5b8ae21f
MM
1601 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
1602 level insns.
1603 (peepholes): Disable peepholes that call dead_or_set_p.
1604 (movsi): Rewrite to handle addresses better after last change.
1605 Add define_split to split load of addresses in large/medium modes.
1606 (prologue): Call m32r_expand_prologue.
1607 (movsi_{push,pop}): Generators for push/pop.
1608 (movsi): Support PRE_{INC,DEC}, POST_INC.
1609 (mov{di,df}): Rewrite. Always split the insns.
1610 (movsf): Add define_split to get register load in correct mode.
1611 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
1612 (attributes): Rewrite attributes so that type indicates both the
1613 type and the length of the insn directly.
1614 (all insns): Change to use new type attributes.
1615 (debug): New attribute to convey whether -mdebug was used.
1616 (opt_space): New attribute to convey whether -Os was used.
1617 (function units): Loads are 3 cycles, not 2. Better classify all
1618 insns into short/long.
1619 (load/store/extend insns): Add separate case for load/store
1620 indirect operations without an offset.
1621 (divsi3): Division is a long operation, not short.
1622
1623 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
1624 modes > 1 word.
1625 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
1626 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
1627 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
1628 operands with PRE_{INC,DEC}, POST_INC.
1629 (FUNCTION_PROFILER): Call abort instead of doing nothing.
1630 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
1631 SImode variables.
1632 (gen_split_move_double): Declare.
1633 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
1634
1635 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
1636 emit_move_insn, build up SET's directly.
1637 (toplevel): Include system.h, not stdio.h.
1638 (move_double_src_operand): Allow any DF or DI mode constant.
1639 (gen_split_move_double): Split moves of DI or DF values into the
1640 appropriate moves, loads, or stores. Don't handle use of auto
1641 inc/dec if using dead index. Do handle overlapping moves, etc.
1642 (m32r_frame_info): Remove prologue_size field.
1643 (m32r_compute_frame_size): Don't calculate prologue size.
1644 (m32r_output_function_prologue): Change to pretty much a NOP.
1645 (m32r_expand_prologue): Expand prologue as a series of INSNs.
1646 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
1647 (m32r_print_operand_address): Ditto.
9b91d8f4 1648
d7c2e385
L
1649Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
1650
1651 * reload1.c (emit_reload_insns): When performing expensive
1652 optimizations, do not output the last reload insn if OLD is
1653 not the dest of NSN and is in the src and is clobbered by INSN.
1654
560bd19e
KG
1655Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1656
1657 * Makefile.in (genrtl.o): Depend on system.h.
1658 * gengenrtl.c (gencode): When creating genrtl.c, have it
1659 include system.h.
1660
0d33d22e
AS
1661Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1662
1663 * config/m68k/t-linux: Remove extra stuff already included in
1664 config/t-linux.
1665
dea4ae0d
MH
1666Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
1667
1668 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
1669 curses.h if it contains `typedef char bool;', as suggested by
1670 Manfred Hollstein <manfred@s-direktnet.de>.
1671
1672 * configure.in: Rename fixinc.math to fixinc.wrap.
1673
02e56202
JW
1674Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
1675
bbeb7b65
JW
1676 * gcc.c (read_specs): Handle missing blank line at end of specs file.
1677
02e56202
JW
1678 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
1679 movdfcc_1): Disable.
1680
e445171e
JW
1681Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
1682
1683 * configure.in (enable_threads): Rename to enable_threads_flag before
1684 main loop. Set enable_threads to enable_threads_flag inside main
1685 loop.
1686
a1b5a7e1
MM
1687Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
1688
1689 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
1690 multiple times.
1691
76b4b31e
KG
1692Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1693
1694 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
9b91d8f4 1695
76b4b31e
KG
1696 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
1697 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
1698 (AC_CHECK_FUNCS): Remove unused check for vprintf.
9b91d8f4 1699
76b4b31e
KG
1700 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
1701 (cccp.o): Depend on gansidecl.h.
1702 (cexp.o): Likewise.
1703
1704 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
1705 per the rest of gcc source.
1706 * cexp.y: Likewise. Include gansidecl.h and remove all code made
1707 redundant.
1708
1709 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
1710 used when vfprintf is missing.
1711 * cexp.y: Likewise.
1712 * gcc.c: Likewise.
1713 * genattrtab.c: Likewise.
1714 * mips-tfile.c: Likewise.
1715 * toplev.c: Likewise.
1716
1717 * vfprintf.c: New file.
1718 * doprint.c: New file.
1719
bebc4663
JL
1720Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
1721
1722 * config/linux.h (ASM_COMMENT_START): Remove from here,
1723 * config/linux-aout.h (ASM_COMMENT_START): and here,
1724 * config/i386/linux.h (ASM_COMMENT_START): to here,
1725 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
1726 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
1727 here as '#' too.
1728
436bf9fb
AS
1729Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1730
1731 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
9b91d8f4 1732 constant.
436bf9fb 1733
f103890b
RL
1734Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
1735
1736 * Makefile.in (dwarfout.o) Add toplev.h dependency.
1737 * dwarfout.c, i386.c: Include toplev.h
1738 * toplev.h: (pfatal_with_name) Add prototype.
1739
024b5658
JM
1740Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
1741
1742 * Makefile.in: Fix .SUFFIXES.
1743
410c3875
AM
1744Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
1745
1746 * config/linux.h (ASM_COMMENT_START): Define as "#".
1747 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
1748
7e073314
JW
1749Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
1750
71ebb3b8
JW
1751 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
1752 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
1753
a0c8e1b2
JW
1754 * toplev.c: Include toplev.h.
1755 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
1756 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
1757 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
1758 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
1759 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
1760 toplev.h dependency.
9b91d8f4 1761
1b15c5de
JW
1762 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
1763 HARD_FRAME_POINTER_REGNUM.
1764
7e073314
JW
1765 * expr.c (target_temp_slot_level): Delete duplicate definition.
1766
d06eab0d
JL
1767Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
1768
df03cab5 1769 * stmt.c (mark_seen_cases): Make it have external linkage again.
0586a4ce
JL
1770 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
1771 has been included.
df03cab5 1772
6b879bcc
JL
1773 * haifa-sched.c (print_value, case SUBREG): Fix typo.
1774
6b28fd63
JL
1775 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
1776 * i386.h (REG_CLASS_CONTENTS): Similarly.
1777
cc132865
JL
1778 * toplev.c (-fsched-max): Delete flag.
1779 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
1780 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
1781 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
1782 conditionals.
1783
1784 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
1785 inner loops which are not reducible.
1786
fd4a1ca5
JL
1787 * loop.c (regs_match_p): Fix typo in prototype.
1788
d06eab0d
JL
1789 * regmove.c (try_auto_increment): Wrap declaration inside an
1790 #ifdef AUTO_INC_DEC.
1791
31bfbf1f
MM
1792Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
1793
1794 * final.c (output_operand_lossage): Call fatal with the operand
1795 lossage message instead of calling abort.
1796
e9a780ec
KG
1797Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1798
1799 * c-common.c: Convert to using ctype macros defined in system.h.
1800 * c-lex.c: Likewise.
1801 * cccp.c: Likewise.
1802 * collect2.c: Likewise.
1803 * rs6000.c: Likewise.
1804 * cpplib.c: Likewise.
1805 * fix-header.c: Likewise.
1806 * gcc.c: Likewise.
1807 * gen-protos.c: Likewise.
1808 * pexecute.c: Likewise.
1809 * protoize.c: Likewise.
1810 * rtl.c: Likewise.
1811 * scan.c: Likewise.
1812 * stmt.c: Likewise.
1813 * tlink.c: Likewise.
9b91d8f4 1814 * toplev.c: Likewise.
e9a780ec 1815
d4c3e60e
GK
1816Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
1817
9b91d8f4 1818 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
d4c3e60e
GK
1819 Replace -gdwarf-2 with -g0.
1820
90fbb8c9
KG
1821Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1822
1823 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
1824 * mips-tdump.c: Include system.h, remove redundant headers.
1825 * mips-tfile.c: Likewise. Also, convert all ctype function calls
1826 to calls of the macro versions defined in system.h.
1827
1828 * objc/Make-lang.in (objc-act.o): Depend on system.h.
1829 * objc/objc-act.c: Include system.h, remove redundant headers.
1830
8f81384f
KG
1831Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1832
1833 * configure.in (AC_CHECK_FUNCS): Add isascii.
1834 (GCC_NEED_DECLARATIONS): Add atof.
1835
1836 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
1837 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
1838
e572c0c6
KG
1839Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1840
1841 * system.h: Wrap time.h and sys/file.h in autoconf checks.
1842 Provide default definitions for O_RDONLY and O_WRONLY here.
1843
1844 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
1845
8830da36
MM
18461998-05-06 Mark Mitchell <mmitchell@usa.net>
1847
1848 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
1849
c5ff95e6
RL
1850Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
1851
1852 * toplev.h: New file. Protypes for functions in toplev.c.
1853 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
9b91d8f4
UD
1854 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
1855 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
1856 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
1857 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
1858 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
c5ff95e6
RL
1859 varasm.c: include it.
1860
15ebe47d
JL
1861Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
1862 Jim Wilson (wilson@cygnus.com)
1863
1864 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
1865 blocks. Check for 1 successor which is the EXIT_BLOCK.
1866
1867 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
1868 unreachable loops with more than one block.
1869
dbbfa8c8
MH
1870Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
1871
1872 * fix-header.c (write_rbrac): Add "abort" to functions which need to
1873 be protected.
1874
f5963e61
JL
1875Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
1876
1877 * Check in merge from gcc2. See ChangeLog.12 for details.
1878
3d90c2b5
JW
1879Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
1880
c6a9dea8
JW
1881 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
1882 accept 'a' flag. 'S' does accept 'a' flag.
1883 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
1884 and `a' flag.
1885
3d90c2b5
JW
1886 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
1887
97b57a81
AS
1888Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1889
1890 * config/m68k/m68k.h: Declare functions from m68k.c used in
1891 macros and machine description.
1892 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
1893 long values.
1894 (ASM_OUTPUT_FLOAT): Likewise.
1895 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1896
c5c63738
JM
1897Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
1898
1899 * tree.def: Add NAMESPACE_DECL.
1900 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
1901 * dwarf2out.c (push_decl_scope): Likewise.
1902 (scope_die_for): Likewise.
1903 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
1904 how to get next context level.
1905
2e14a41b
JW
1906Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
1907
1908 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
1909 case.
1910
f78c792c
JL
1911Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
1912
8b05263d
JL
1913 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
1914
f78c792c
JL
1915 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
1916 for any insns skipped at the start of a block because they were
1917 redundant.
1918
4330b0e7
JW
1919Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
1920
1921 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
1922
b57062ca
UD
19231998-05-04 Ulrich Drepper <drepper@cygnus.com>
1924
1925 * c-common.c (format_char_info): Add new field hhlen.
1926 (print_char_table, scan_char_table, time_char_table): Initialize
1927 hhlen field appropriately.
1928 (char_format_info): Recognize hh modifier and lookup correct char
1929 table entry.
1930
06eaa86f
JW
1931Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
1932
1933 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
1934 reference if this is a store.
1935
9ed5dc54
RH
1936Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
1937
1938 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
1939
fb6d9312
RL
1940Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
1941
1942 Make UnixWare 7 bootstrap support work with final shipping product.
b57062ca 1943 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
fb6d9312
RL
1944 Pick up xm-siglist and xm-alloca.
1945 (xm_defines): Add USG so dbxout will build.
1946 * configure: Regenerate.
1947
82d6b402
RH
1948Sun May 3 13:51:34 PDT 1998 Richard Henerson <rth@cygnus.com>
1949
1950 Support for official Sparc V9 ABI:
1951 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
1952 Care for flag_pcc_struct_return default.
1953 (output_move_quad): Rewrite to move by halves on v9 and in the
1954 proper direction.
1955 (move_quad_direction): New function.
1956 (output_fp_move_quad): Use it to determine the direction of copy.
1957 (function_arg_slotno): Return -1 for FP reg overflow as well.
1958 (function_arg_record_value*): New functions.
1959 (function_arg): Use them. Streamline unprototyped parameter passing.
1960 (function_arg_pass_by_reference): Pass TCmode by reference.
1961 (function_value): New function.
1962 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
1963 long long in 64-bit mode.
1964 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
1965 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
1966 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
1967 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
1968 (BASE_INCOMING_ARG_REG): Likewise.
1969 (FUNCTION_VALUE): Call function_value.
1970 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
1971 * sparc.md (movdi_sp32_v9): Disable for arch64.
1972 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
1973 (call_value_address_sp64): Remove register class constraints.
1974 (call_value_symbolic_sp64): Likewise.
1975 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
1976 v9 case to 32-bit constants.
1977 (goto_handler_and_restore_v9): Provide a version for arch64.
1978 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
1979 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
1980 (CPP_PREDEFINES): New.
1981 * sparc/sp64-elf.h: Likewise.
1982 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
1983 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
1984 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
1985
e40abc32
JL
1986Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
1987
1988 * version.c: Bump for snapshot.
1989
b60a8416
R
1990Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1991
1992 * reload.c (find_reloads): Emit USEs to mark where a pseudo
1e89ac8a 1993 is reloaded with the MEM of its stack slot.
b60a8416
R
1994 * reload1.c (cannot_omit_stores): Delete.
1995 (reload): Don't initialize it.
1996 Don't apply avoid_return_reg logic to USEs.
1997 When done, remove USEs that have a REG_EQUAL note on them.
1998 (emit_reload_insns): Handle case where we have inherited a MEM.
4d3eb414 1999 (choose_reload_regs): Likewise.
b60a8416
R
2000 (delete_output_reload): Don't use cannot_omit_stores.
2001
c1879238
JW
2002Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
2003
2004 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
2005
459b3825
MM
2006Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
2007
2008 * haifa-sched.c (print_{exp,value}): Various changes to make the
2009 debug output easier to read. Also, use only one buffer, and make
2010 sure the buffer we are passed in doesn't overflow.
2011 (safe_concat): Concatenate to a buffer without overflow.
2012
3fe4d12a 2013Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
459b3825
MM
2014
2015 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
2016 with the prototype.
b57062ca 2017
93da030f
R
2018Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2019
2020 * sched.c (new_insn_dead_notes): Check if the register was
2021 used in the original instruction.
2022 * haifa-sched.c (new_insn_dead_notes): Likewise.
2023
0c84c618
JW
2024Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
2025
2026 * dwarf2out.c (scope_die_for): If could not find proper scope,
2027 check for and handle tagged type with incorrect TYPE_CONTEXT.
2028
bf5f0e90
JC
2029Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
2030
2031 * calls.c (expand_call): Fix recognition of C++ operator new.
2032
2033 * alias.c (mode_alias_check): Disable type based alias detection.
2034
a0281dae
GK
2035Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
2036
2037 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
2038 ASM_OUTPUT_WEAK_ALIAS): Define.
2039 * config/mips/elf64.h: Same.
2040 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2041 ASM_WEAKEN_LABEL): Removed.
2042
55666054
AS
2043Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2044
2045 * calls.c (expand_call): Bump the length limit on the specially
2046 recognized function names to 17.
2047
2cea586a
JW
2048Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
2049
f60d6248
JW
2050 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
2051 when undefining macros at the end.
2052
bf931ec8
JW
2053 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
2054 val or len has TREE_SIDE_EFFECTS set.
2055
2cea586a
JW
2056 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
2057 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
2058 (smuldi3_highpart): Call const v8plus routine.
2059 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
2060 (const_smulsi3_highpart_v8plus): New pattern.
2061 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
2062 (umulsidi3): Call const v8plus routine.
2063 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
2064 routine.
2065 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
2066 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
2067
2b7972b0
MM
2068Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
2069
2070 * m32r.c (*_oper{and|ator}): Change enum arguments and return
2071 values to int, so they can be prototyped even in files that don't
2072 include rtl.h.
2073 ({small,large}_insn_p): Ditto.
2074 (m32r_select_cc_mode): Ditto.
2075 (gen_compare): Ditto.
2076 (function_arg_partial_nregs): Ditto.
2077 (m32r_setup_incoming_varargs): Ditto.
2078 (init_reg_tables): Add prototype.
2079 (m32r_frame_info): Add prolog_size field.
2080 (m32r_compute_frame_size): Calculate the size of the prologue.
2081 (m32r_first_insn_address): Return prologue size.
2082 (m32r_output_function_prologue): Calculate frame size before
2083 printing out information. Print out the prologue size.
2084
2085 * m32r.h: Prototype all functions in m32r.c.
2086 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
2087
2088 * m32r.md (bcc functions): Cast enum's to int.
2089
2090 * m32r.c (conditional_move_operand): Silence a debug message.
2091 ({small,long}_insn): New predicates.
b57062ca 2092
2b7972b0
MM
2093 * m32r.h (TARGET_M32R): New macro.
2094 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
2095 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
2096 was selected.
2097 (ISSUE_RATE): Define as 2.
2098
2099 * m32r.md (insn_size): New attribute.
2100 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
2101 short.
2102 (m32r): New attribute.
2103
2104 * configure.in (enable_haifa): Switch m32r to Haifa by default.
2105 * configure: Regenerate.
2106
2107 (Changes from Nick Clifton <nickc@cygnus.com>)
2108 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
2109 the equivalent of a negated 'I' constraint.
2110 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
2111 optimisation to work.
2112
2113 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
2114 than 'I' since the value is negated.
2115 (peephole): Add peephole optimisation to cope with optimization of
2116 divide and subtracts of the same operands.
2117
2118 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
b57062ca 2119 * m32r.h: Ditto.
2b7972b0
MM
2120 * m32r.md: Ditto.
2121
2122 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
2123 predicates.
2124
bd55c374
MH
2125Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
2126
2127 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
2128
3a6bd8c0
NC
2129Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
2130
2131 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
2132 frame_pointer_rtx not FRAME_POINTER_REGNUM.
2133
0628fde6
JW
2134Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
2135
561cf7b1
JW
2136 * reg-stack.c: Revert last patch (Apr 20).
2137 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
2138
1688d6d2
JW
2139 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
2140
0628fde6
JW
2141 * loop.c (check_dbra_loop): New locals jump, first_compare, and
2142 compare_and_branch. Call get_condition to set first_compare.
2143 Set compare_and_branch to number of compare/branch instructions.
2144 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
2145 Replace '2' with compare_and_branch.
2146
07623417
AM
2147Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2148
2149 * cplus-dem.c (demangle_qualified): Replace missing else.
2150
97d6fd65
R
2151Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2152
2153 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
2154
3d5a0820
R
2155Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2156
2157 * sh.c (sh_expand_prologue, sh_expand_epilogue):
2158 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
2159 * sh.h (STACK_BOUNDARY): Likewise.
2160
ef41dabb
R
2161Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2162
2163 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2164
14bf4a33
MM
2165Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
2166
22c4957e
MM
2167 * system.h (abort): If abort is not defined, and neither is
2168 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
2169 reporting the line and filename of the error.
2170
2171 * .gdbinit: Add breakpoints on exit and fancy_abort.
2172
563c063f
MM
2173 * final.c (split_double): Avoid a compiler warning if
2174 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
2175
14bf4a33
MM
2176 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
2177 for calling jump_optimize.
2178
2179 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
2180 macros, rather than 0/1's.
2181
5d02ee66
RH
2182Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
2183
2184 * alpha.h (CONST_COSTS): Zero is always free.
2185 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
2186
7bf40741
AS
2187Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2188
2189 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
2190 length in the name of a virtual table.
2191
556ccd9b
RH
2192Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
2193
2194 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
2195
1206d294
JL
2196Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
2197
2198 * version.c: Bump for snapshot.
2199
4f242db3
JL
2200Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
2201
2202 * fold-const.c (fold_convert): Fix typo.
2203
de12be17
JC
2204Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
2205
2206 * alias.c (alias_invariant): New variable.
2207 (record_base_value): New argument INVARIANT.
2208 (memrefs_conflict_p): If a register has an entry in the alias_invariant
2209 array, try substituting that value for the register.
2210
2211 * rtl.h: Declare record_base_value.
2212
2213 * loop.c, unroll.c: Update callers of record_base_value.
2214
2215 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
2216 ZERO_EXTEND do not affect base values.
2217
fe81dd69
JL
2218Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
2219
fb2c5c00
JL
2220 * dbxout.c (dbxout_type): Fix typo.
2221 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
2222
fe81dd69
JL
2223 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
2224
87d1ea79
JC
2225Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
2226
2227 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
2228 if the argument is the address of a structure or array.
2229
2230 * configure.in: Enable Haifa scheduler by default for SPARC.
2231
e89d3e6f
R
2232Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2233
2234 * cse.c (cse_set_around_loop): Don't do optimization when
2235 new pseudos are created.
2236
442f4018
JL
2237Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
2238
2239 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
2240 appropriately.
2241 (dbxout_type_method_1, dbxout_type): Likewise.
2242 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
2243 (dbxout_type): Fix check for when to print a type range in
2244 octal vs decimal.
2245
7174c937
R
2246Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2247
2248 * (gen_shl_and, in case 1): Fix comparison with mask.
2249
0b812758
NC
2250Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
2251
2252 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
2253 pointer as second register in REG+REG pair.
2254
753a73c8
KG
2255Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2256
2257 * c-common.c (check_format_info): Don't check for the 'x' format
2258 character twice, instead check for 'x' and 'X'
2259
4a1991b3
MH
2260Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
2261
2262 * Makefile.in (libgcc2.ready): Add explicit dependancy from
2263 $(STMP_FIXPROTO) to ensure all necessary include files have
2264 been created and to guarantee proper parallel builds.
2265
aec373f1
R
2266Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2267
2268 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
2269 register for stdarg functions.
2270 * sh.h (current_function_varargs): Declare.
2271 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
2272
f5880dbe
JW
22731998-04-23 Jim Wilson <wilson@cygnus.com>
2274
f1f53f0b
JW
2275 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
2276 inhibit_libc is defined.
2277
f5880dbe
JW
2278 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
2279
8ade1519
JW
2280Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
2281
2282 * profile.c (tablejump_entry_p): New function.
2283 (branch_prob): Add code to recognize MIPS tablejump entry branch.
2284 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
2285
a2538ff7
NC
2286Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
2287
2288 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
2289 found, rather than at end of the loop, after the insn has been
b57062ca 2290 changed.
a2538ff7 2291
d0c42859
R
2292Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2293
2294 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
2295 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
2296
693e265f
MM
2297Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
2298
2299 * loop.c (note_addr_stored): Correct function to take 2 arguments,
2300 instead of 1.
2301
2302 * rtl.def (MATCH_INSN2): Add new matching pattern.
b57062ca 2303 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
693e265f 2304
27eef9ce
JC
2305Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
2306
2307 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
2308 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
b57062ca 2309
27eef9ce
JC
2310 * final.c (split_double): Sign extend both halves of a split CONST_INT.
2311
d972dd33
JL
2312Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
2313
2314 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
2315
5e5199e8
AM
2316Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2317
2318 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
2319 (cplus_demangle_opname): Call mop_up_squangle.
b57062ca 2320 (cplus_demangle): Initialize squangle info, then call
5e5199e8 2321 internal_cplus_demangle. (Most code moved there as well)
b57062ca 2322 (internal_cplus_demangle): New function, performs most of what use
5e5199e8
AM
2323 to be done in cplus_demangle, but is only called with this file.
2324 (squangle_mop_up): New function to clean up B and K code data.
2325 (mop_up): set pointers to NULL after freeing.
b57062ca 2326 (demangle_signature, demangle_template, demangle_class): Add
5e5199e8
AM
2327 switch elements to handle K and B codes.
2328 (demangle_prefix, gnu_special, demangle_qualified): Add
2329 code to handle K and B codes.
2330 (do_type, demangle_fund_type): Handle B and K codes.
2331 (remember_Ktype): New function to store K info.
2332 (register_Btype, remember_Btype): New functions for B codes.
2333 (forget_B_and_K_types): New function to destroy B and K info.
2334
0dacbd0e
JW
23351998-04-21 Jim Wilson <wilson@cygnus.com>
2336
2337 * stmt.c (check_seenlabel): When search for line number note for
2338 warning, handle case where there is no such note.
2339
4ceb7595
JC
2340Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
2341
2342 * genemit.c (gen_exp): Allow machine description to set mode of
2343 MATCH_OP_DUP.
2344
d09c9385
JC
2345Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
2346
2347 * alias.c (mode_alias_check): New function.
2348 (true_dependence, anti_dependence, output_dependence): Call
2349 mode_alias_check.
2350
1eeed24e
JL
2351Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
2352
d1c17572
JL
2353 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
2354 (MIPS_STACK_ALIGN): Similarly.
2355
a6d7e156
JL
2356 * c-common.c (type_for_mode): Handle TI types.
2357 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
2358 (init_decl_processing): Handle TI types.
2359 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
2360
1eeed24e
JL
2361 * mips.c (block_move_loop): Test Pmode == DImode instead of
2362 TARGET_MIPS64.
2363 (expand_block_move, save_restore_insns): Likewise.
2364 (function_prologue, mips_expand_prologue): Likewise.
2365 (mips_expand_epilogue): Likewise.
2366 * mips.h (POINTER_SIZE): Allow specific targets to override.
2367 (Pmode): Allow specific targets to override.
2368 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
2369 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
2370 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
2371 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
2372 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2373 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2374 * mips.md (indirect, tablejump & casesi support): Test for
2375 Pmode == DImode instead of TARGET_MIPS64.
2376 (call patterns): Likewise.
2377
d2f5ef70
KG
2378Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2379
2380 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
2381 for gen_rtx(MEM, ...).
2382
cb85a2f3
RH
2383Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
2384
2385 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
2386 to not be so gross, and to properly function with PIC.
2387
bb27e6c9
JW
2388Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
2389
99b13ed3
JW
2390 * frame.c (heapsort): Rename to frame_heapsort.
2391
bb27e6c9
JW
2392 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
2393
a9a05945
DE
2394Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
2395
2396 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
2397
dc0f0eb8
JW
2398Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
2399
2400 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
2401 operands during and after reload.
2402
95707627
R
2403Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2404
ba70e85a
JR
2405 * final.c (shorten_branches, init_insn_lengths): Move code
2406 to free label_align, uid_shuid, insn_lengths, insn_addresses
2407 and uid_align from the former function into the latter one;
2408 Add code to clear these variables.
2409 * sh.h (label_align): Remove declaration.
95707627 2410
0cd355fe
MM
2411Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
2412
763d7ce8
MM
2413 * gcc.c (lang_specific_driver): Declare prototype properly so
2414 fatal can be passed to it without error.
2415
f55b1ca8
MM
2416 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
2417 * configure: Regenerate.
2418 * config.in: Add #undef's for strchr and strrchr.
2419
2420 * protoize.c (toplevel): If we have rindex, but not strrchr, map
2421 rindex to strrchr.
2422 (file_could_be_converted): Use strrchr, not rindex since rindex is
2423 not defined on Linux systems when _POSIX_SOURCE is defined.
2424 (file_normally_convertible): Ditto.
2425 (process_aux_info_file): Ditto.
2426 (main): Ditto.
2427
0cd355fe
MM
2428 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
2429 a constant to an integer register, don't split the insns that do
2430 the simple AND and OR operations, rather just split each word, and
2431 let the normal movsi define split handle it further.
2432
a0798779
R
2433Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2434
2435 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
2436 (split_branches): Call init_insn_lengths.
2437
ced8dd8c
MM
2438Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
2439
2440 * i386.c: Include expr.h to get the change_address prototype
2441 declared.
b57062ca 2442
f37eb5cb
L
2443Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
2444
2445 * reg-stack.c (subst_asm_stack_regs): Change to return the last
2446 new insn generated by this function.
2447 (subst_stack_regs): Likewise.
2448 (convert_regs): Record the last newly generated insn and use
2449 it for change_stack () instead of INSN.
2450
49fb8382
MH
2451Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
2452
2453 * fix-header.c (enum special_file): Undefine enumerators if they
2454 are already defined by include files.
2455 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
2456 macro with '__' to not pollute user namespace.
2457
c6a754f2
RH
2458Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
2459
2460 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
2461
399cc148
JL
2462Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
2463
2464 * version.c: Bump for snapshot.
2465
84b77fba
JW
2466Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
2467
07415a17
JL
2468 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
2469
84b77fba
JW
2470 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
2471 Add missing -Dpentium* options.
2472 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
2473 instead of CPP_CPU_DEFAULT.
2474 (EXTRA_SPECS): Add entry for cpp_cpu_default.
2475
db72d7a1
DE
2476Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
2477
2478 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
2479 negative in a stackless frame.
2480 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
2481 in stackless frame size. Support 64-bit stackless frame size.
2482 Combine fpmem offset calculations and don't add total_size to
2483 offset if not pushing a stack frame.
2484
a1ecb5ca
JW
2485Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
2486
2487 * regmove.c (fixup_match_1): In three places, in flag_exceptions
2488 check, change p to q.
2489
a2a05b0a
JW
2490Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
2491
2492 * gcc.c (lang_specific_driver): Add new parm type to prototype.
2493 (added_libraries): New file scope static variable.
2494 (process_command): Initialize added_libraries. Pass it to
2495 lang_specific_driver.
2496 (main): Use added_libraries in check for no input files.
b57062ca 2497
284d86e9
JC
2498Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
2499
2500 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
2501 code generation. Use 64 bit instructions in 32 bit mode when
2502 possible. Use V9 return instruction. UltraSPARC optimizations.
2503
2504 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
2505
43be8193
JL
2506Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
2507
ea8693a4
JL
2508 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
2509 just pass zero. That will work regardless of the size of HARD_REG_SET.
2510
43be8193
JL
2511 * libgcc2.c (__floatdisf): Fix a couple typos.
2512
45df6aea
JW
2513Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
2514
2515 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
2516
6cca74ab
GM
2517Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
2518
2519 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
2520
77e6b0eb
JC
2521Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
2522
2523 * emit-rtl.c (operand_subword_force): If a register can not be
2524 accessed by words, copy it to a pseudo register.
2525
27f4cfdb
JW
2526Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
2527
2528 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
2529
f4a73984
MM
2530Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
2531
2532 * tree.h (mark_seen_cases): Delete declaration.
2533
00769100
JL
2534Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
2535
2536 * stmt.c (mark_seen_cases): Make static and add prototype.
2537
2467749d
KG
2538Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2539
2540 * frame.c: Include stdlib.h and unistd.h to possibly get various
2541 function prototypes. The fixproto script guarantees these header
2542 files exist on the target system.
2543 * libgcc2.c: Likewise.
b57062ca 2544
2467749d
KG
2545 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
2546 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
2547 function parameters.
2548 * libgcc2.c (__udiv_w_sdiv): Likewise.
2549
74c5186c
JL
2550Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
2551
ac546323
JL
2552 * varasm.c (asm_output_bss): Add prototype.
2553 (asm_output_aligned_bss): Likewise.
2554
2555 * unroll.c (verify_addresses): Add prototype.
2556
2557 * toplev.c: Add many prototypes. Too many to mention here.
2558
2559 * stmt.c (check_seenlabel): Add prototype.
2560
2561 * rtlanal.c (reg_set_p_1): Add prototype.
2562 (reg_set_last_1): Likewise.
2563
2564 * reorg.c (find_dead_or_set_registers): Add prototype.
b57062ca 2565
ac546323
JL
2566 * regmove (try_auto_increment): Add prototype.
2567
2568 * reg-stack.c (pop_stack): Add prototype.
2569
2570 * recog.c (validate_replace_rtx_1): Add prototype.
2571 (find_cosntant_term_loc): Likewise.
2572
a777ae13
JL
2573 * loop.c (regs_patch_p): Add prototype.
2574 (add_label_notes, count_nonfixed_reads): Likewise.
2575 (find_single_use_in_loop): Likewise.
2576 (express_from): Surround prototype with #ifdef.
2577 (giv_sort): Similarly.
2578
2579 * jump.c (mark_modified_reg): Add prototype.
2580
2581 * haifa-sched.c (is_prisky): Add prototype.
2582 (queue_to_ready): Likewise.
2583
2584 * genextract.c (gen_insn): Add prototype.
2585
2586 * genemit.c (max_operand_1): Add prototype.
2587 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
2588 (gen_expand, gen_explit, output_add_clobbers): Likewise.
2589 (output_init_mov_optab): Likewise.
2590
2591 * genattrtab.c (attr_hash_add_rtx): Add prototype.
2592 (attr_hash_add_string, write_length_unit_log): Likewise.
2593
2594 * genattr.c (init_range): Add prototype.
2595
2596 * combine.c (sets_function_arg_p): Add prototype.
2597
2598 * expr.c (store_constructor_field): Add prototype.
2599 (get_memory_usage_from_modifier): Likewise
2600
2601 * expmed.c (synth_mult): Add prototype.
2602 (choose_multiplier, invert_mod2n): Likewise.
2603
242c13b0
JL
2604 * except.c (push_eh_entry): Add prototype.
2605 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
2606 (call_get_eh_context, start_dynamic_cleanup): Likewise.
2607 (start_dynamic_handler, can_throw): Likewise.
2608 (output_exception_table_entry, scan_region): Likewise.
2609 (eh_regs, set_insn_eh_region): Likewise.
2610
1ad4f46b
JL
2611 * dwarfout.c (decl_class_context): Add prototype.
2612 (output_inheritance_die, type_ok_for_scope): Likewise.
2613
e822c593
JL
2614 * c-lex.c (skip_white_space_on_line): Add prototype.
2615
70fec650
JL
2616 * alias.c (record_set): Add prototype.
2617 (find_base_term, base_alias_check): Likewise.
b57062ca 2618
1ac4f799
JL
2619 * function.c (assign_outer_stack_local): Make static and add prototype.
2620
a2e68776
JL
2621 * haifa-sched.c (build_control_flow): Accept raw data as inputs
2622 instead of computing it locally. Callers changed.
2623 (find_rgns): Several new arguments. Callers changed.
2624 Generally clean up and comment better. Use dominators to
2625 identify reducible loops. Convert some flag arrays to bitmaps.
2626 Convert most of the code to work on pred/succ lists instead of
2627 an edge table. Add comments for future improvements.
2628 (schedule_insns): Allocate temporary tables for flow data, call
2629 routines to compute flow data and pass it along to children as
2630 arguments.
2631 (debug_control_flow): Delete. Use dump_bb_data instead.
2632
97b1ef1c
JL
2633 * basic-block.h (compute_dominators): Declare.
2634
74c5186c
JL
2635 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
2636 functions.
2637 * basic-block.h: Declare them.
2638
7ce55772
JW
2639Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
2640
2641 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
2642 no operands.
2643
e88caebd
APB
2644Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
2645
2646 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
2647 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
2648 node is non NULL. Cache last file name and file name identifier node.
2649
a62e870c
MM
26501998-04-15 Mark Mitchell <mmitchell@usa.net>
2651
2652 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
2653 the length of an array, not TREE_TYPE.
2654
5e89e58b
JL
2655Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
2656
2657 * flow.c (sbitmap_union_of_successors): New function.
2658 * basic-block.h (sbitmap_union_of_successors): Declare it.
2659
df6faf79
JW
2660Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
2661
2662 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
2663 Set gnu_ld to gnu_ld_flag inside main loop.
2664 (gas): Likewise.
2665
5c60e5c0
DB
2666Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
2667
2668 * toplev.c (compile_file): Call init_parse using new interface.
2669 (init_lex): Remove declaration.
2670
2671 * c-lex.c (init_parse): Now returns char* containing filename.
2672
2872409d
JL
2673Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
2674
2675 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
2676
4db83042
MM
2677Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
2678
2679 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
2680 (gen{extract,peep,opinit,output}): Ditto.
2681
2682 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
2683 global definition so print-rtl.o can be linked in.
2684 * gen{peep,recog}.c (insn_attr_name): Ditto.
2685
9aeba741
RP
2686Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
2687
2688 * fixincludes: discard empty C++ comments, as found in sys/time.h
2689 on hpux-11.0.
2690
7878eae7
AS
2691Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2692
2693 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
2694 operand.
2695
fcb7cb6c
JL
2696Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
2697
2698 * emit-rtl.c (operand_subword): Rework slightly to avoid
2699 bogus warning from previous change.
2700
47747e53
RH
2701Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
2702
2703 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
2704 Nov 8 find_replacement change. Move decls of get_unaligned_address
2705 * alpha.h: ... here.
2706
8450a694
JC
2707Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
2708
7940255d
JC
2709 * function.c (assign_parms): Initialize unsignedp before passing
2710 its pointer to promote_mode.
2711
8450a694
JC
2712 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
2713 (write_test_expr): Allow MATCH_INSN.
2714
c70afde1
PE
2715Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
2716
2717 * install.texi: Update section on warnings that can be safely ignored.
2718
cf877a42
JW
2719Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
2720
2721 * mips.md (reload_outdi): Change the scratch mode from DImode to
2722 TImode. New variable scratch, used instead of operand[2] in template.
2723 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
2724
996d9dac
MM
2725Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
2726
2727 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
2728
de2d990f
KW
2729Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
2730
2731 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
2732
d5daf098
JL
2733Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
2734
6862dfac
JL
2735 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
2736 (ASM_FINISH_DECLARE_OBJECT): Likewise.
2737
b7cb92ad
JL
2738 * Idea and part of the patch from HJ.
2739 * Makefile.in: auto-host.h renamed from auto-config.h. All references
2740 changed.
2741 (distclean): Remove auto-build.h too.
2742 * configure.in: Rename host autoconf generated file to auto-host.h.
2743 If host != build, then run autoconf to generate auto-build.h for
2744 the build machine and include it in build_xm_files.
2745 Check for wait.h and sys/wait.h.
2746
d5daf098
JL
2747 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
2748 TRULY_NOOP_TRUNCATION.
2749
7d02bbef
JM
2750Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
2751
2752 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
2753
4754172c
CM
2754Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
2755
2756 * invoke.texi (ld options) Include memset requirements
2757 for options -nodstdlib and -nodefaultlibs.
2758
bb72a084
PE
27591998-04-12 Paul Eggert <eggert@twinsun.com>
2760
2761 This change is from an idea suggested by Arthur David Olson.
2762
2763 * c-common.c (decl_attributes, record_function_format,
2764 check_format_info, init_function_format_info):
2765 Add support for strftime format checking.
2766 (enum format_type): New type.
2767 (record_function_format): Now static, and takes value of type
2768 enum format_type instead of int.
2769 (time_char_table): New constant.
2770 (struct function_format_info): format_type member renamed from is_scan.
2771 (check_format_info): Use `warning' rather than sprintf followed by
2772 `warning', to avoid mishandling `%' in warnings.
2773 Change `pedwarn' to `warning', since these warnings do not necessarily
2774 mean the program does not conform to the C Standard, as the code
2775 need not be executed.
2776
2777 * c-tree.h (record_function_format): Remove decl; no longer extern.
2778
2779 * extend.texi: Add documentation for strftime format checking.
2780
1be12a4a
JL
2781Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
2782
71922625
JL
2783 * mips/ecoffl.h: Do not include mips.h.
2784 * mips/elf.h: Likewise.
2785
1be12a4a
JL
2786 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
2787 * mips/ecoff.h: Include "mips/mips.h".
2788
9fe69077
JL
2789Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
2790
2791 * version.c: Bump for snapshot.
2792
c6a26dc4
JL
2793Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
2794
2795 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
2796 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
2797 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
2798 between loop optimization passes.
2799 * rtl.h: Updated appropriately.
2800
bbb81923
JL
2801Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
2802
2803 Reinstall this patch from Jason.
2804 * function.c (push_function_context_to): Don't call init_emit.
2805
29cb1e1f
NC
2806Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
2807
2808 * rtl.c (read_skip_spaces): Prevent infinite loops upon
2809 encountering unterminated comments.
2810
3f518020
JL
2811Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
2812
2813 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
2814 64x32 cross builds.
4b104d6e
JL
2815
2816 * configure.in: Handle --with-fast-fixincludes.
2817 (fixincludes): If --with-fast-fixincludes, then use a different
2818 fixincludes program by default.
2819 * Makefile.in (fixinc.sh): New rule.
2820
b76c90cf
L
2821Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
2822
2823 * i386.md (movqi+1): Handle invalid QI register.
2824 (movsf_push-1): Likewise.
2825
2e076ddf
NC
2826Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
2827
2828 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
2829 addresses.
2830 symbolic_memort_operand(), call32_operand(), int8_operand(),
2831 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
2832 Not used.
2833 uint16_operand(): Made static.
2834
b1d6ccb8
JL
2835Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
2836
2837 * calls.c (expand_call): Fix typo.
2838
e56e519d
DB
2839Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
2840
2841 * c-lex.c (finput): New global.
2842 (init_parse): Always included. Handle !USE_CPPLIB using
2843 code originally in compile_file.
2844 (finish_parse): Update for CPPLIB.
2845 * toplev.c (init_parse, finish_parse): Declare.
2846 (finput): Delete variable. Now in front-ends.
2847 (compile_file): Remove code which is now handled by init_parse
2848 which is unconditionally called. Similarly for finish_parse.
2849
85d7aed9
GK
2850Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
2851
2852 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2853 ASM_WEAKEN_LABEL): Add.
2854
574badbc
RH
2855Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
2856
2857 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
2858 * configure.in (alpha-*-linux*): Use them.
2859
bf1e5319 2860Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
b57062ca 2861
bf1e5319
APB
2862 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
2863 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
2864 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
2865 (build_expr_wfl): New prototype declaration.
2866 * tree.c (build_expr_wfl): New function, to build
2867 EXPR_WITH_FILE_LOCATION nodes.
2868 (copy_node): Don't zero TREE_CHAIN if copying a
2869 EXPR_WITH_FILE_LOCATION node.
2870 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
2871 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
2872
ee5254ff
JL
2873Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
2874
62db76ee
JL
2875 * configure.in (v850): Use t-v850.
2876 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
2877
10a998b0
JL
2878 * protoize.c (creat, read, write): Do not declare.
2879
e105f02c
JL
2880 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
2881 refer to the CODE_LABEL before a dispatch table.
2882
56b2d7a7
JL
2883 * invoke.texi: Add ARC options.
2884
c74c0cff
JL
2885 * gcc.c (proces_command): Improve error message for -o with
2886 either -c or -S.
2887
2d58da15
JL
2888 * i386/x-cygwin32 (CLIB): Link in advapi32.
2889
40ef2fc5
JL
2890 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
2891 (ASM_IDENTIFY_LANGUAGE): Likewise.
2892
df89b5e7
JL
2893 * i386.md (movqi recognizer): Don't perfom byte increment into
2894 a NON_QI_REG_P.
2895
f09ff199
JL
2896 * configure.in (x86-dg-dgux): Run fixinc.dgux.
2897
df89b5e7 2898 * i370.h: Fix typo in GEN_INT changes.
f962b99f 2899
c3709629
JL
2900 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
2901 of an empty arglist in prototype.
2902
ee5254ff
JL
2903 * Makefile.in: Remove bytecode crud that crept back in after the
2904 gcc2 merge.
2905
0806342b
BK
29061998-04-08 Brendan Kehoe <brendan@cygnus.com>
2907
2908 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
2909 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
2910
6f734908
RE
2911Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
2912
2913 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2914
56c0e996
BS
2915Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2916
2917 * c-lex.c (is_class_name): Delete declaration.
2918 (whitespace_cr): Make static and add prototype.
2919 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
2920 yylex, get_directive_line): Turn declarations into prototypes.
2921 (position_after_whitespace, check_newline, yyerror,, is_class_name,
2922 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
2923 prototypes.
2924 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
2925 prototypes.
2926 * gencodes.c (gen_insn): Add prototype.
2927 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
2928 gen_peephole): Add prototypes.
2929 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
2930 prototypes.
2931 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
2932 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
2933 genheader, gencode): Add prototypes.
2934 * genopinit.c (gen_insn): Add prototype.
2935 * genoutput.c (output_prologue, output_epilogue, scan_operands,
2936 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
2937 gen_expand, gen_split, n_occurrences): Add prototypes.
2938 * genpeep.c (gen_peephole): Add prototype.
2939 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
2940 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
2941 labels_in_range_p, count_loop_regs_set, note_addr_stored,
2942 loop_reg_used_before_p, scan_loop, replace_call_address,
2943 skip_consec_insns, libcall_benefit, ignore_some_movables,
2944 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
2945 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
2946 check_final_value, record_giv, update_giv_derive, basic_induction_var,
2947 simplify_giv_expr, general_induction_var, consec_sets_giv,
2948 check_dbra_loop, express_from, combine_givs_p, combine_givs,
2949 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
2950 last_use_this_basic_block, record_initial, update_reg_last_use,
2951 iteration_info, analyze_loop_iterations, insert_bct,
2952 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
2953 into prototypes.
2954
cc46ae8e
JL
2955Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
2956
2957 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2958
e7d075bf
KR
29591998-04-07 Ken Raeburn <raeburn@cygnus.com>
2960
2961 * config/mips/mips.c (siginfo): Deleted.
2962 (override_options): Don't install SIGINFO signal handler.
2963
668d07be
JW
2964Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
2965
2966 * loop.c (check_dbra_loop): When normalize comparison_val, add check
2967 to verify it is non-negative.
2968
cd36edbd
RH
2969Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
2970
2971 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
2972 (alpha_expand_block_clear): Likewise.
2973
e814ca97
RH
2974Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
2975
2976 * tree.h (sizetype_tab): Fix previous change for K&R.
2977
f1d9e6d2
JL
2978Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
2979
2980 * version.c: Bump for snapshot.
2981
22ec3928
RE
2982Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
2983
2984 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
2985 Add USG and POSIX to xm_defines.
2986
10da1131
BM
2987Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
2988
2989 * gcc.c: Add linker spec.
2990 (link_command_spec): Use %(linker) instead of ld.
2991 (main): If collect2 is requested as the linker, see if it exists;
2992 if not, use ld instead.
2993
2994 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
2995 (ld:) Deleted.
2996 (install-collect2): Install as collect2, not ld.
2997
2998 * configure.in(will_use_collect2): It's named collect2 now.
2999
3000 * collect2: Remove checks to see if we were invoked recursively.
3001 (collect_execute): Use _spawnvp under cygwin32.
3002
a8afd67b
JW
3003Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
3004
3005 * haifa-sched.c (build_control_flow): Set unreachable for block whose
3006 only predecessor is itself.
3007
944fc8ab
KG
3008Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3009
3010 * c-parse.in: Include system.h, and remove stuff now made redundant.
3011 * cccp.c: Likewise.
3012 * cexp.y: Likewise.
3013 * protoize.c: Likewise. Properly check for cpp stringification.
3014
3015 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
b57062ca 3016 Depend on system.h.
944fc8ab
KG
3017
3018 * objc/Make-lang.in (objc-parse.o): Likewise.
3019
3286ab57
KG
3020Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3021
3022 * gansidecl.h: Check if compiler supports __attribute__. Provide
3023 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
3024 __attribute__ when its available. Also provide definitions for
3025 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
3026 terms of ATTRIBUTE_PRINTF.
b57062ca 3027
3286ab57
KG
3028 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
3029 of __attribute__.
3030
d276f2bb
CM
3031Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
3032
3033 * combine.c (can_combine_p): Include successor in volatile test.
3034
64ad9df2
R
3035Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3036
3037 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
3038 offset_unsigned.
3039
dc544d2c
JL
3040Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
3041
3042 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
3043 in prototype and definition.
b57062ca 3044
38c413cd
JL
3045Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
3046
3047 * version.c: Bump for snapshot.
3048
59dd0a31
RH
3049Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
3050
b57062ca 3051 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
59dd0a31
RH
3052 alpha_expand_unaligned_store_words.
3053
f31fce3f
JW
3054Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
3055
3056 * i386.md (movsf_push, movsf_mem): Remove.
3057 (movsf_push): Rename from movsf_push_nomove and move in front of
3058 movsf. Use nonmemory_operand predicate and don't bother checking
3059 TARGET_MOVE.
3060 (movsf_push_memory): New pattern.
3061 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
3062 both operands refer to memory then force operand[1] into a register.
3063 (movsf_normal): Change to unnamed pattern.
3064 Likewise for movdf, movxf, and friends.
3065
27ebc03e
JL
3066Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
3067
3068 * version.c: Bump for snapshot.
3069
6ecd4e53 3070Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
98bd9f0f 3071
6ecd4e53 3072 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
98bd9f0f 3073
b57062ca 3074Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
ac08ebd0 3075
6ecd4e53 3076 * configure.in (mips-wrs-vxworks): New target.
ac08ebd0 3077
6ecd4e53 3078Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
f4a788ac 3079
f3978531
JL
3080 * expmed.c (synth_mult): The value -1, has no zeros, so it can
3081 never have the form ...011.
3082
f4a788ac
JL
3083 * version.c: Bump for snapshot.
3084
5cb6195d
RH
3085Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
3086
3087 * i386.c (asm_output_function_prefix, load_pic_register):
3088 Use ASM_GENERATE_INTERNAL_LABEL properly.
3089 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
3090 (print_operand): Ignore it.
3091 (load_pic_register): Use it for the got load call.
3092 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
3093 (prologue_get_pc_and_set_got): Likewise.
3094 * i386.h: Update print_operand docs.
3095
ce193852
RH
3096Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
3097
3098 * i386.md (ffssi, ffshi): Rewrite as define_expands.
3099 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
3100 * i386.c (notice_update_cc): Recognize unspec 5.
3101
0022a940
DMT
3102Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
3103
3104 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
3105 * alpha.c (print_operand): Handle it.
3106 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
3107 for ALPHA_TP_INSN.
3108 (fix_truncdfdi2): Likewise.
3109
896cced4
RH
3110Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
3111
3112 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
3113 of these into a single struct, with additional [us]sizetype entries.
3114 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
3115 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
3116 an array.
3117
8983c716
RH
3118Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
3119
3120 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
3121
4ed43ff8
RH
3122Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
3123
3124 * haifa-sched.c (split_block_insns): Don't supress insn splitting
3125 on subsequent passes.
3126
3127 * alpha.c (hard_fp_register_operand): New function.
3128 * alpha.h (PREDICATE_CODES): Add it.
3129 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
3130 f<-m case and accompanying define_split.
3131 (trapb): Use a unique unspec_volatile number.
3132
8e7bc3cd
RH
3133Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
3134
3135 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
3136 from gcc2 merge.
3137
e5e809f4
JL
3138Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
3139
3140 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
3141 for details.
3142
3143 * haifa-sched.c: Mirror recent changes from gcc2.
3144
516c2342
JL
3145Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
3146
e9eaed43
JL
3147 * Makefile.in (insn*.o): Depend on system.h.
3148
516c2342
JL
3149 * pa.c (output_global_address): Initialize base.
3150 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
3151
7cc34889
MS
31521998-04-03 Mike Stump <mrs@wrs.com>
3153
3154 * gthr.h: Support systems that don't have weak, but have threads.
3155 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
3156 * gthr-vxworks.h: New file.
3157 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
3158
52c18286
JW
3159Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
3160
3161 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
3162
c1ac292d
VM
31631998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
3164
3165 * ginclude/va-i960.h (va_end): Change void * to void.
3166
4cb1caaf
KG
3167Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3168
3169 * Makefile.in (choose-temp.o): Depend on system.h.
3170
3171 * choose-temp.c: Include system.h when IN_GCC.
3172
a9a2595b
JR
3173Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
3174 Richard Henderson <rth@cygnus.com>
3175
3176 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
3177 (move_replacements): New function.
3178 * reload.h: Prototype it.
b57062ca 3179
a9a2595b 3180 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
b57062ca 3181
79363e2f
RH
3182Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
3183
3184 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
3185 Run fixincludes.
3186
4901a643
RH
3187 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
3188 (gen_highpart): Likewise.
ce4d78eb
RH
3189 * final.c (alter_subreg): Allow the target to hook by-mode subreg
3190 hard register number changes.
b57062ca 3191
715f9c99
JL
3192Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
3193
4e86caed
JL
3194 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
3195 rnbitsize, rnmode and rinner.
3196 (make_range): Initialize type.
3197 (fold): Initialize arg0, arg1 and varop.
3198
3199 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
3200 and regnor.
3201 (expand_function_start): Initialize last_ptr.
3202
3203 * stor-layout.c (layout_record): Initialize desired_align.
3204 (get_best_mode): Initialize unit.
3205
3206 * tree.c (copy_node): Initialize length.
3207
aefdd5ab
JL
3208 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
3209
3210 * caller-save.c (insert_save_restore): Initialize pat, code and
3211 numregs.
3212
3213 * emit-rtl.c (push_to_sequence): Initialize top.
3214 (push_topmost_sequence): Likewise.
3215
3216 * genattrtab.c (simplify_by_exploding): Initialize defval.
3217
3218 * profile.c (branch_prob): Initialize dest.
3219
3220 * rtl.h (note_stores): Remove duplicate prototype.
3221 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
3222
3223 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
3224 strings that are not actually lengths.
3225
729da3f5
JL
3226 * genattrtab.c: Make generated file use system.h, instead of
3227 including stdio.h, etc directly.
3228 * genextract.c, genopinit.c, genoutput.c: Likewise.
3229 * genpeep.c, genrecog.c: Likewise
3230
3231 * genoutput.c (process_template): Mark operands in the generated
3232 function as potentially unused if compiling with GNU CC.
3233
2a8034f8
JL
3234 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
3235
715f9c99
JL
3236 * pa.md (reload peepholes): Remove unused variable "mode".
3237
75d3a15b
NC
3238Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
3239
3240 * config/arm/thumb.h: Add super interworking support.
3241 * config/arm/thumb.c: Add super interworking support.
3242 * config/arm/thumb.md: Add super interworking support.
75d3a15b
NC
3243 * config/arm/lib1funcs.asm: Add interworking support.
3244 * config/arm/lib1thumb.asm: Add super interworking support.
75d3a15b
NC
3245 * config/arm/t-semi: Add interworking support.
3246 * config/arm/t-thumb: Add interworking support.
75d3a15b 3247 * config/arm/README-interworking: New file.
b57062ca 3248
63959c22
JW
3249Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
3250
3251 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
3252 (MD_STARTFILE_PREFIX): Unset.
3253
c651e1e0
MM
32541998-04-01 Mark Mitchell <mmitchell@usa.net>
3255
3256 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
3257 entity in a local scope.
3258
3259 * fold-const.c (fold): Call truthvalue_conversion for values which
3260 are folded to boolean type.
3261
3a598fbe
JL
3262Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
3263
3264 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
3265 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
3266 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
3267 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
3268 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
3269 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
3270 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
3271 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
3272 * md.texi: Likewise.
3273
b5026c50
MH
3274Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
3275
3276 * fixincludes (limits.h): Fix nested comments in Motorola's
3277 limits.h and sys/limits.h.
3278
c8d86b9a
JW
3279Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
3280
1a7cb241
JW
3281 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
3282 as dest of expand_binop call.
3283
221a9f65
JW
3284 * alpha.md (extzv): Correct check for valid operand[2] values.
3285
a7ebd547
JW
3286 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
3287 branch.
3288
c8d86b9a
JW
3289 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
3290
97be8f06
SC
3291Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
3292
3293 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
3294 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
b57062ca 3295
97be8f06
SC
3296 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
3297 cygwin32 can override this to allow both unix and win32 style PATHs.
3298
3299 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
3300 style environment paths.
b57062ca 3301
b04cd507
KG
3302Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3303
3304 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
3305 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
3306 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
3307 system.h.
b57062ca 3308
b04cd507
KG
3309 * cpphash.c: Include config.h.
3310 * cppalloc.c: Include system.h. Add parameters to various
3311 function prototypes.
3312 * cpperror.c: Likewise.
3313 * cppexp.c: Likewise.
3314 * cpphash.c: Likewise.
3315 * cpplib.c: Likewise.
3316 * cppmain.c: Likewise.
3317 * fix-header.c: Likewise.
3318 * gcov.c: Likewise.
3319 * gen-protos.c: Likewise.
3320 * gengenrtl.c: Likewise.
3321 * halfpic.c: Likewise.
3322 * hash.c: Likewise.
3323 * scan-decls.c: Likewise.
3324 * scan.c: Likewise.
3325
1aa5d112
JW
3326Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
3327
3328 * README.gnat: Add lang_print_xnode definition.
3329
e18db50d
AS
3330Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3331
3332 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
3333 fmovecr on the 68060.
3334
c0d45032
JL
3335Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
3336
3337 * genemit.c (DONE): Rework so that it works in the true arm if
3338 an if-else conditional.
3339 (FAIL): Likewise.
3340
31ed227b
JL
3341Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
3342
c3670418
JL
3343 * rs6000.c: Do not include stdioh or ctype.h anymore.
3344
234042f4
JL
3345 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
3346 $(RTL_H).
3347 (stor-layout.o): Likewise.
3348 * c-typeck.c: Include rtl.h and expr.h.
3349 * stor-layout.c: Likewise.
3350
72e19470
JL
3351 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
3352 All callers changed.
3353 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
3354 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
3355 All callers changed.
3356
40c3a857
JL
3357 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
3358
c80150b7
JL
3359 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
3360
31ed227b
JL
3361 * tree.h (lang_print_xnode): Provide prototype.
3362
fe776296
JL
3363Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
3364
3365 * version.c: Bump for snapshot.
3366
f1b03ce1
JL
3367Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
3368
3ac2735b
JL
3369 * objc/sendmsg.c (__objc_block_forward): Add braces for return
3370 value if INVISIBLE_STRUCT_RETURN.
3371
f2b147f7
JL
3372 * pa.c (arith_double_operand): Fix parens.
3373
c4fa3460
JL
3374 * haifa-sched.c (print_pattern): Correct arg to sprintf.
3375
f1b03ce1
JL
3376 * Makefile.in (libgcc1.null): Make return type for __foo void.
3377
2e61a5a5
JL
3378Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
3379
ba0b8436
JL
3380 * pa.h: Add declarations for many functions defined in pa.c.
3381
67ac5957
JL
3382 * genpeep.c (main): Remove unused variable 'i' from the generated
3383 file.
3384
c38d8c5b
JL
3385 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
3386 (gen_split): Likewise.
3387 (main): Rework generated definitions of DONE and FAIL so that they
3388 no longer use gotos. Avoids warnings about unused labels.
3389
d6e6c585
JL
3390 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
3391 unused "junk" variable.
3392
2e61a5a5
JL
3393 * genattrtab.c (write_complex_function): Add a default case in
3394 generated switch statement to keep -W -Wall quiet.
3395
0b26e56d
NC
3396Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
3397
157a620e
NC
3398 * invoke.texi: Document more ARM and Thumb command line options.
3399
0b26e56d
NC
3400 * config/arm/xm-thumb.h: New file.
3401
600a4ce7
CB
3402Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
3403
3404 * stmt.c (expand_expr_stmt): Must generate code for
3405 statements within an expression (gcc's `({ ... )}')
3406 even if -fsyntax-only.
3407
4d1d8045
BS
3408Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3409 Jeffrey A Law (law@cygnus.com)
3410
3411 * basic-block.h (basic_block_computed_jump_target): Declare.
3412 * flags.h: (current_function_has_computed_jump): Declare.
3413 * flow.c: (basic_block_computed_jump_target): Define.
3414 (flow_analysis): Allocate it. Set current_function_has_computed_jump
3415 to 0.
3416 (find_basic_blocks): Set current_function_has_computed_jump and
3417 elements of basic_block_computed_jump_target to 1 as appropriate.
3418 * function.c: (current_function_has_computed_jump): Define.
3419 * global.c (global_conflicts): Don't allocate pseudos into stack regs
3420 at the start of a block that is reachable by a computed jump.
3421 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
3422 immediately.
3423 (subst_stack_regs): Undo change from Sep 4 1997.
3424 (uses_reg_or_mem): Now unused, deleted.
3425 * stupid.c (stupid_life_analysis): Compute
3426 current_function_has_computed_jump.
3427 (stupid_find_reg): Don't allocate stack regs if the function has a
3428 computed goto.
3429 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
3430 the current function has a computed jump. Use the global value
3431 instead.
3432
56f28b73
JL
3433Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
3434
3435 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
3436 (DWARF2_UNWIND_INFO): Define to zero.
3437
6ed4bb9a
MM
3438Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
3439
3440 * gcc.c (set_std_prefix): Add declaration.
3441 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
3442 suffix, and update the standard prefix prefix.c uses.
3443
3444 * prefix.c (std_prefix): New global to hold default prefix value.
3445 (get_key_value): Change to use std_prefix instead of PREFIX.
3446 (translate_name): Ditto.
3447 (update_path): Ditto.
3448 (get_key_value): Release allocated scratch storage.
3449 (set_std_prefix): New function to reset the standard prefix.
3450
1f3fa20e
R
3451Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3452
7daa142b 3453 * sh.c (find_barrier): Fix calculations for alignment increase.
1f3fa20e 3454
d8a0154e
MH
3455Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
3456
3457 * Makefile.in (stmp-fixinc): If we're actually fixing include
3458 files, copy gcc's assert.h into the fixed include dir.
3459 * fixincludes (assert.h): Avoid any attempts to fix a probably
3460 broken system specific assert.h file.
3461 * fixproto (stdlib.h): Make sure, it'll contain a definition of
3462 size_t.
3463
64d3b4ca
JL
3464Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
3465
3466 * regclass.c (reg_scan_mark_refs): Be more selective about
3467 when we mark a register with REGNO_POINTER_FLAG.
3468
e6e52be0
R
3469Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3470
3471 reload inheritance improvement:
3472 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
3473 Change meaning: index is now hard reg number.
3474 (reg_reloaded_valid, reg_reloaded_dead): New variables.
3475 (reload_spill_index): Content is now a hard reg number.
3476 (reload_as_needed): Change to fit new variable meaning.
3477 (forget_old_reloads_1, allocate_reload_reg): Likewise.
3478 (choose_reload_regs, emit_reload_insns): Likewise.
3479
812f2051
R
3480Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3481
3482 * regclass.c (record_reg_classes): '?' increases cost by two.
3483
3484 * reload.c (find_reloads): Double previous costs. Output
3485 reloads cost one unit extra.
3486
3487 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
3488 boiled down to && ! 0.
3489
3490 * reload.c (find_equiv_reg): Also consider a goal offset from the
3491 frame pointer to be constant.
3492
04d02ece
R
3493Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3494
3495 * sh.h (OPTIMIZATION_OPTIONS): Define.
3496
6f28d3e9
RH
3497Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
3498
3499 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
3500
b09fa787
JL
3501Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
3502
3503 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
3504
a16b4c9c
JW
3505Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
3506
3507 * c-common.c (check_format_info): Initialize type, is_type. New local
3508 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
3509 when pedantic if used with integral format specifier.
3510
c4d38ccb
MM
3511Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
3512
3513 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
3514 direction.
3515 (function_arg_padding): Declare.
3516
3517 * rs6000.c: Include system.h.
3518 (function_arg_padding): Change return type to int, cast enum's to
3519 int.
3520
3521 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
3522 * collect2.c (scan_prog_file): Add explicit braces to avoid
3523 ambiguous `else'.
b57062ca 3524
c4d38ccb
MM
3525 * dbxout.c (dbxout_type_fields): Add braces around empty body in
3526 an if-statement.
3527 (dbxout_type): Likewise.
b57062ca 3528
c4d38ccb
MM
3529 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
3530 `ptt_size' from int to size_t.
3531 (rs6000_file_start): Likewise for `i'.
3532 (rs6000_replace_regno): Add default case in enumeration switch.
3533 (output_epilog): Remove unused variable `i'.
3534 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
3535 and `reg2'.
b57062ca 3536
c4d38ccb
MM
3537 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
3538 initializer.
3539 (get_issue_rate, non_logical_cint_operand): Add prototype.
3540 (rs6000_output_load_toc_table): Ditto.
b57062ca 3541
c4d38ccb
MM
3542 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
3543 `else'.
b57062ca 3544
e98e406f
NC
3545Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
3546
3547 * config/arm/thumb.c: New File. Support for ARM's Thumb
b57062ca 3548 instruction set.
e98e406f
NC
3549 * config/arm/thumb.h: New File. Thumb definitions.
3550 * config/arm/thumb.md: New File. Thumb machine description.
3551 * config/arm/tcoff.h: New File. Thumb COFF support.
3552 * config/arm/t-thumb: New File. Thumb makefile fragment.
3553 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
3554
3555 * configure.in: Add Thumb-coff target.
3556 * configure: Add Thumb-coff target.
3557 * config.sub: Add Thumb-coff target.
3558
8cf619da
JW
3559Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
3560
3561 * loop.c (scan_loop): Initialize move_insn_first to zero.
3562
fe0714d3
JS
3563Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
3564
3565 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
3566 * config/i386/rtems.h: Likewise.
3567 * config/i960/rtems.h: Likewise.
3568 * config/m68k/rtems.h: Likewise.
3569 * config/mips/rtems64.h: Likewise.
3570 * config/pa/rtems.h: Likewise.
3571 * config/rs6000/rtems.h: Likewise.
3572 * config/sh/rtems.h: Likewise.
3573 * config/sparc/rtems.h: Likewise.
3574
428be702
RK
3575Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3576
3577 * pa.c (emit_move_sequence): If in reload, call find_replacement.
3578
ae8c5963
NC
3579Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
3580
2ea9a965
NC
3581 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
3582
ae8c5963
NC
3583 * collect2.c (find_a_file): Add debugging.
3584 (find_a_file): Test for win32 style absolute paths if
3585 DIR_SERPARATOR is defined.
3586 (prefix_from_string): Add debugging.
3587 (main): Test for debug command line switch at start of program
b57062ca 3588 execution.
ae8c5963 3589 (main): Use GET_ENVIRONMENT rather than getenv().
72cf6902
NC
3590 (prefix_from_env): Use GET_ENVIRONMENT.
3591
050367a3
MM
35921998-03-24 Mark Mitchell <mmitchell@usa.net>
3593
3594 * cplus-dem.c (optable): Add sizeof.
3595 (demangle_template_value_parm): New function containing code
3596 previously found in demangle_template.
b57062ca 3597 (demangle_integral_value): New function which handles complicated
050367a3
MM
3598 integral expressions.
3599 (demangle_template): Use them.
3600
0b93b64e
KG
3601Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3602
3603 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
3604 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
3605 genattrtab.o, genoutput.o): Depend on system.h.
b57062ca 3606
0b93b64e
KG
3607 * genattr.c: Include system.h. Add arguments to various function
3608 prototypes. Remove redundant prototype of read_rtx().
3609 * genattrtab.c: Likewise.
3610 * gencodes.c: Likewise.
3611 * genconfig.c: Likewise.
3612 * genemit.c: Likewise.
3613 * genextract.c: Likewise.
3614 * genflags.c: Likewise.
3615 * genopinit.c: Likewise.
3616 * genoutput.c: Likewise.
3617 * genpeep.c: Likewise.
3618 * genrecog.c: Likewise.
3619
bc289659
ML
36201998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
3621
3622 * c-lang.c (lang_print_xnode): New function.
3623 * objc/objc-act.c (lang_print_xnode): Likewise.
3624 * print-tree.c (print_node): Call it
3625
990ac8d7
L
3626Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
3627
3628 * c-parse.in: Recognize protocol qualifiers in class
3629 definitions for objc.
3630 Include "output.h".
3631 (yyerror): Remove redundant decl.
3632 (yyprint): Fix prototype.
3633
65d98182
JL
3634Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
3635
47a0b68f
JL
3636 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
3637
65d98182
JL
3638 * stmt.c (unroll_block_trees): Free block_vector if needed.
3639
3cac0a21
PDM
3640Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
3641
4b8bef1d
PDM
3642 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
3643 (zero_extendsidi2): Avoid useless copy.
3644 (iordi_zext): New pattern.
3645 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
3646 operand 2.
3647 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
3648
3cac0a21
PDM
3649 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
3650 (ashldi3): Allow constant shift count in range ]32,63].
3651 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
3652
4da05956
MM
36531998-03-22 Mark Mitchell <mmitchell@usa.net>
3654
3655 * tree.h (IS_EXPR_CODE_CLASS): New macro.
3656
545f2aab
JL
3657Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
3658
3659 * h8300.h (CONST_COSTS): Remove definition.
3660 (DEFAULT_RTX_COSTS): Define.
3661
eef15f9f
JS
3662Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
3663
3664 * config/sh/rtems.h: Switched from ELF to COFF.
3665
4bca6986
R
3666Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3667
3668 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
3669
8ca77a11
JL
3670Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
3671
3672 * version.c: Bump for snapshot.
3673
e09e14e9
NC
3674Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
3675 Geoff Noer <noer@cygnus.com>
3676
3677 * Makefile.in: Various fixes for building cygwin32 native toolchains.
3678
35d541d4
NC
3679 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
3680 * objc/Make-lang.in: Likewise.
3681
4a0cf2aa
NC
3682 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
3683
535b86ce
G
3684Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
3685
3686 * configure.in: Handle with-PACKAGE=no correctly
3687
670ee920
KG
3688Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3689
3690 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
3691 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
3692 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
3693 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
3694 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
3695 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
3696 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
3697 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
3698 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
3699 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
3700 on system.h.
3701
3702 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
3703 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
3704 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
3705 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
3706 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
3707 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
3708 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
3709 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
3710 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
3711 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
3712 xcoffout.c: Include system.h. Organize include ordering so
3713 that stdarg/varargs comes before other system headers. Remove
3714 spurious casts of functions assured of a prototype in system.h.
3715
7aa74e4c
SC
3716Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
3717
3718 * reg-stack.c (pop_stack): Define. Pops any register on the
3719 regstack and adjusts regstack.
3720 (compare_for_stack_reg): Use pop_stack.
b57062ca 3721
d005a5a4
JL
3722Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
3723
3724 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
3725 config too.
3726
ba3ad5e0
PDM
3727Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
3728
09b4ce12
PDM
3729 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
3730
ba3ad5e0
PDM
3731 * fold-const.c (fold): Replace sign-extension of a zero extended
3732 value by a single zero extension.
3733
6e1f1f93
JM
3734Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
3735
3736 * except.c (init_eh): Do nothing.
3737 (save_eh_status): Call init_eh_for_function, not init_eh.
3738 * function.c (push_function_context_to): Don't call init_emit.
3739
838b0e4e
MM
3740Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
3741
3742 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
3743 and EABI.
3744
ecb06768
KG
3745Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3746
3747 * final.c (shorten_branches): Add parentheses around +/- in
3748 operand of &.
3749
3750 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
3751
dfba7a1b
MH
3752Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
3753
3754 * regclass.c (memory_move_secondary_cost): Wrap uses of
3755 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
3756 with #ifdef tests.
3757
4faca093
MH
3758Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
3759
3760 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
3761
3762 * flow.c (life_analysis): #include <sys/types.h> to make sure
3763 size_t is defined.
3764 * cplus-dem.c (demangle_function_name): Likewise.
3765
af7da199
MH
3766Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
3767
3768 * final.c (insn_noperands): Change type to unsigned int.
3769 (final_scan_insn): Likewise for noperands;
3770 properly check operand number boundaries.
3771
10a25232
RH
3772Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
3773
3774 * alpha.md (extzv): Don't reject register operands. Fix
3775 mode of operand 1.
3776
99d1a24c
RH
3777Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
3778
3779 * dbxout.c (dbxout_function_end): Fix last change. The correct
3780 predicate is ASM_OUTPUT_SECTION_NAME.
3781
5bac82c5
JW
3782Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
3783
3784 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
3785 (ashlsi): Use match_dup 1 instead of match_operand 2.
3786
52de9b6c
RK
3787Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3788
3789 * fold-const.c (operand_equal_for_comparison_p): See if equal
3790 when nop conversions are removed.
3791
7c00d1fe
RK
3792Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3793
3794 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
3795 don't use ORIGINAL_TARGET unless REG.
3796
343665b9
R
3797Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3798
3799 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
3800
1a61c29f
JW
3801Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
3802
3803 * loop.c (struct movable): New field move_insn_first.
3804 (scan_loop): In consec sets code, set it. Clear it otherwise.
3805 (move_movables): In consec sets code, use it. Copy REG_NOTES from
3806 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
3807 out code.
3808
cbe36725
RH
3809Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
3810
3811 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
3812 is large, and the system doesn't provide atoll or atoq.
b57062ca 3813 (atoll): New.
cbe36725
RH
3814
3815 * alpha/xm-vms.h (HAVE_ATOLL): Define.
3816 Reported by Klaus Kaempf <kkaempf@progis.de>.
b57062ca 3817
081f5e7e
KG
3818Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3819
3820 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
3821 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
3822
3823 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
b57062ca 3824 test !ACCUMULATE_OUTGOING_ARGS.
081f5e7e
KG
3825
3826 * collect2.c (write_c_file_glob): Wrap function definition in
3827 macro test !LD_INIT_SWITCH.
3828
3829 * combine.c (try_combine): Wrap variables `cc_use' and
3830 `compare_mode' in macro test EXTRA_CC_MODES.
3831
3832 * cpplib.c (do_ident): Remove unused variable `len'.
3833 (skip_if_group): Remove unused variables `at_beg_of_line' and
3834 `after_ident'.
3835 (cpp_get_token): Remove unused variable `dummy'.
3836
3837 * dbxout.c (scope_labelno): Move static variable definition inside
3838 the one function scope where it is used.
3839 (dbxout_function_end): Wrap prototype and definition in
3840 macro test !NO_DBX_FUNCTION_END.
3841
3842 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
3843 in macro test !MIPS_DEBUGGING_INFO.
3844
3845 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
3846 into the scope where it is used. Wrap empty else-statement body
3847 in braces.
3848
3849 * fix-header.c: Fix typo in comment.
3850 (inf_skip_spaces): Cast results of INF_UNGET to (void).
3851 (check_protection, main): Likewise.
3852
3853 * flow.c (find_basic_blocks_1): Remove dangling comment text.
3854
3855 * function.c (contains): Wrap prototype and definition in macro
3856 test HAVE_prologue || HAVE_epilogue.
3857 (fixup_var_refs_1): Remove unused variable `width'.
3858
3859 * gen-protos.c (main): Remove unused variable `optr'.
3860
3861 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
3862
3863 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
3864 (__sjpopnthrow): Remove unused variable `jmpbuf'.
3865 (__throw): Remove unused variable `val'.
3866
3867 * protoize.c: Check for a previously existing definition before
b57062ca 3868 defining *_OK macros.
081f5e7e
KG
3869
3870 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
3871
76ce4776
R
3872Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3873
3874 * vax.h (ADDR_VEC_ALIGN): Define.
3875
e29ef920
MM
3876Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
3877
3878 * gcc.c (default_arg): Don't wander off the end of allocated
3879 memory.
3880
dbf55e53
MM
3881 (From Geoffrey Keating <geoffk@ozemail.com.au>)
3882 * rs6000.c (small_data_operand): Ensure that any address
b57062ca 3883 referenced relative to the small data area is inside the SDA.
dbf55e53 3884
883482b2 3885Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
b57062ca 3886
883482b2
JW
3887 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
3888
9ad82ff8 3889Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
a0b61d14
AM
3890
3891 * except.h (in_same_eh_region): New prototype.
3892 (free_insn_eh_region, init_insn_eh_region): New prototypes.
3893 * except.c (insn_eh_region, maximum_uid): New static variables.
3894 (set_insn_eh_region): New static function to set region numbers.
3895 (free_insn_eh_region): New function to free EH region table.
3896 (init_insn_eh_region): New function to initialize EH region table.
3897 (in_same_eh_region): New function used to determine if two rtl
3898 instructions are in the same exception region or not.
3899 * final.c (final): Initialize the table indicating which instructions
3900 belong in which exception region.
3901 * genpeep.c (main): Add "except.h" to include file list in generated
b57062ca
UD
3902 file insn-peep.c.
3903 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
3904 peepholes involving calls and unconditional branches.
a0b61d14 3905
66bd0128
JW
3906Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
3907
3908 * README.gnat: New file.
3909
1d8eaa6b
AS
3910Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3911
3912 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
3913 "recog.h" for offsettable_memref_p.
3914 (legitimize_pic_address): Remove unused variable `offset'.
3915 (notice_update_cc): Change return type to void. Add default label
3916 to switch.
3917 (standard_68881_constant_p): Remove unused variable mode.
3918 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
3919 (const_int_cost): Explicitly declare as returning int.
3920 (output_dbcc_and_branch): Change return type to void.
3921
3922 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
3923 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
3924 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
3925
60ba47b4
JL
3926Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
3927
3928 * version.c: Bump for snapshot.
3929
68137318
AS
3930Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3931
3932 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
3933 check for 'M' constraint.
3934
7a50f126
JW
3935Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
3936
3937 * cccp.c (create_definition): If pedantic, call pedwarn for macro
3938 varargs feature.
3939
57dbca5e
BS
3940Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
3941
3942 * i386.c (ix86_logical_operator): New function.
3943 (split_di): Ensure that when a MEM is split, the resulting MEMs have
3944 SImode.
3945 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
3946 to implement them.
3947
8625fab5
KG
3948Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3949 Richard Earnshaw <rearnsha@arm.com>
3950 Nick Clifton <nickc@cygnus.com>
b57062ca 3951
8625fab5 3952 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
b57062ca 3953
8625fab5 3954 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
b57062ca 3955
8625fab5
KG
3956 * cse.c (rtx_cost): Provide a default case in an enumeration
3957 switch, and call DEFAULT_RTX_COSTS if it's defined.
b57062ca 3958
6ce22dac
MH
3959Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
3960
3961 * basic-block.h (compute_preds_succs): Change return type in
3962 prototype to void.
3963 * flow.c (compute_preds_succs): Likewise in function definition.
3964
3965 * regmove.c (find_matches): Cast char used as array index to unsigned char
3966 to supress warning.
3967
9c318306
MH
3968Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
3969
3970 * i386.h (RTX_COSTS): Insert braces around nested if.
3971 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
3972 elements.
3973
3974 * gcc.c (default_compilers): Properly put brackets around array elements in
3975 initializer.
3976
3977 * getopt.c (_getopt_internal): Add explicit braces around nested if;
3978 reformatted.
3979
3980 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
3981 (record_reg_life_pat): Add explicit parens around && and || in expression.
3982 (stack_reg_life_analysis): Add parens around assignment used as expression.
3983 (convert_regs): Likewise.
3984
56c5d8bf
MH
3985Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
3986
3987 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
3988 change callers accordingly.
3989
3990 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
3991 and definition; change all callers accordingly.
3992
3993 * except.c (init_eh): Avoid assignment of unused return value of
3994 build_pointer_type; cast it to void, instead, and remove unused
3995 variable type.
3996
3997 * gcc.c (lang_specific_driver): Define prototype only #ifdef
3998 LANG_SPECIFIC_DRIVER.
3999 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
4000
4001 * genoutput.c (output_epilogue): Initialize next_name to 0.
4002
4003 * real.c (efrexp): #if 0 prototype and function definition.
4004 (eremain): Likewise.
4005 (uditoe): Likewise.
4006 (ditoe): Likewise.
4007 (etoudi): Likewise.
4008 (etodi): Likewise.
4009 (esqrt): Likewise.
4010
4011 * reload.c (push_secondary_reload): Define prototype only
4012 #ifdef HAVE_SECONDARY_RELOADS.
4013
4014 * varasm.c (assemble_static_space): Define rounded only
4015 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
4016
4fce8e83
MH
4017Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
4018
4019 * i386.md (andsi): Add default case in enumeration switch.
4020 (iorsi3): Likewise.
4021 (iorhi3): Likewise.
4022 (xorsi3): Likewise.
4023
85066503
MH
4024Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
4025
4026 * c-decl (finish_struct): Change type of min_align to unsigned.
4027
4028 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
4029 remove unused variable len.
4030
4031 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
4032 comment indicating this is proper behaviour.
4033 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
4034 reg >= 0.
4035 (based_loc_descr): Likewise.
4036
4037 * enquire.c (bitpattern): Change type of variable i to unsigned.
4038
4039 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
4040
4041 * flow.c (life_analysis): Change type of variable i to size_t;
4042 remove unused variable insn.
4043
4044 * gcc.c (translate_options): Change type of variables optlen, arglen and
4045 complen to size_t.
4046 (input_filename_length): Change type to size_t.
4047 (do_spec_1): Change type of variable bufsize to size_t.
4048 (main): Change type of variables i and j to size_t;
4049 remove subblock local definition of variable i.
4050 (lookup_compiler): Change type of second argument to size_t;
4051 change type of variable i to size_t.
4052
4053 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
b57062ca 4054
85066503
MH
4055 * genopinit.c (get_insn): Change type of variable pindex to size_t.
4056
4057 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
4058
4059 * global.c (global_alloc): Change type of variable i to size_t.
4060
4061 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
4062
4063 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
4064 (expand_end_case): Change type of variable count to size_t.
4065
4066 * toplev.c (main): Change type of variable j to size_t.
4067 (set_target_switch): Change type of variable j to size_t.
4068 (print_switch_values): Change type of variable j to size_t;
4069 remove unused variable flags.
4070
4071 * varasm.c (assemble_variable): Change type of variable align to size_t.
4072 (const_hash_rtx): Change type of variable i to size_t.
4073
6d89b990
MM
40741998-03-11 Mark Mitchell <mmitchell@usa.net>
4075
4076 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
4077 TREE_VEC if that's what it really is.
4078
01c7f350
MM
4079Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
4080
4081 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
4082 as per ISO C spec.
4083
754d1a92
TT
4084Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
4085
4086 * gthr.h: Changed the comment about return values.
4087 * gthr-solaris.h (__gthread_once): Do not use errno; return the
b57062ca 4088 error number instead of -1.
754d1a92
TT
4089 (__gthread_key_create): Any non-zero return value is an error.
4090 * libgcc2.c (eh_context_initialize): Check for non-zero return
4091 value from __gthread_once.
4092 Check that the value of get_eh_context was really changed.
4093
77008a44
R
4094Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4095
4096 * sh.h (LOOP_ALIGN): Only align when optimizing.
4097 * sh.c (find_barrier): Clear inc for CODE_LABELs.
4098 When not optimizing, calculate alignment for BARRIERs directly.
4099
a8aa4e0b
R
4100Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4101
4102 * final.c (shorten_branches): Remove conditionalizing on
4103 SHORTEN_WITH_ADJUST_INSN_LENGTH
4104 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
4105
832544bd
JL
4106Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
4107
4108 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
4109 an unconditional jump around deleted blocks.
4110
bdd3e6ab
JW
4111Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
4112
11a932c0
JW
4113 * profile.c (branch_prob): If see computed goto, call fatal instead of
4114 abort.
4115
eeb54a49 4116 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
b57062ca 4117
35011dd5
JW
4118 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
4119 Patch from Bruno Haible.
4120
bdd3e6ab
JW
4121 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
4122 (assign_parms): Set aggregate if hide_last_arg and last_named.
4123
af035616
R
4124Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4125
4126 * final.c (shorten_branches): Initialize insn_addresses.
4127
97e3c422
R
4128Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4129
4130 * sh.h (MUST_PASS_IN_STACK): Define.
4131
5e75ef4a
JL
4132Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
4133
4134 * final.c (shorten_branches): Fix minor logic error in
4135 ADDR_DIFF_VEC shortening support.
4136
99613661
JL
4137Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
4138
4139 * version.c: Bump for snapshot.
4140
8ea2b111
JL
4141Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
4142
168cbdf9
JL
4143 * haifa-sched.c (is_cfg_nonregular): Change return type to
4144 an int. No longer compute "estimated" number of edges. Use
4145 computed_jump_p instead of duplicating the code. Fixup/add
4146 some comments.
4147 (build_control_flow): Returns a value indicating an irregularity
4148 in the cfg was detected. Count the number of edges in the cfg.
4149 allocate various edge tables.
4150 (find_rgns): No longer look for unreachable blocks.
4151 (schedule_insns): Do not allocate memory for edge tables here.
4152 Free memory for edge tables before returning. Do not perform
4153 cross block scheduling if build_control_flow returns nonzero.
4154 * flow.c (compute_preds_succs): More accurately determine when
4155 a block drops in.
4156
52becdc0
JL
4157 * basic-block.h (free_basic_block_vargs): Provide prototype.
4158
8ea2b111
JL
4159 * cccp.c (main): Fix dumb mistakes in last change.
4160
33f7f353
JR
4161Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4162
4163 * rtl.h (addr_diff_vec_flags): New typedef.
4164 (union rtunion_def): New member rt_addr_diff_vec_flags.
4165 (ADDR_DIFF_VEC_FLAGS): New macro.
4166
4167 * sh.c (output_branch): Fix offset overflow problems.
4168
4169 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
4170 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
4171 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
4172 * stmt.c (expand_end_case): Supply new arguments to
4173 gen_rtx_ADDR_DIFF_VEC.
4174 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
4175 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
4176 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
4177 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
4178 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
4179 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
4180 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
4181 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
4182 * i386/freebsd.h, i386/linux.h : Likewise.
4183 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
4184 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
4185 * m68k/mot3300.h, m68k/sgs.h : Likewise.
4186 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
4187 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
4188 (CASE_VECTOR_SHORTEN_MODE): Define.
4189 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
4190 (med_branch_p, braf_branch_p): Don't declare.
4191 (mdep_reorg_phase, barrier_align): Declare.
4192 (ADJUST_INSN_LENGTH): Remove alignment handling.
4193 * sh.c (uid_align, uid_align_max): Deleted.
4194 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
4195 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
4196 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
4197 (output_far_jump): Don't use braf_branch_p.
4198 (output_branchy_insn): Don't use branch_offset.
4199 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
4200 Remove paired barrier stuff.
4201 Don't use cache_align_p.
4202 Take alignment insns into account.
4203 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
4204 the addr_diff_vec.
4205 (barrier_align, branch_dest): New function.
4206 (machine_dependent_reorg, split_branches): Remove infrastructure
4207 for branch shortening that is now provided in the backend.
4208 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
4209 (braf_branch_p, braf_cbranch_p): Likewise.
4210 (attribute length): Use new attributes.
4211 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
4212 (addr_diff_vec_adjust): Delete.
4213 (align_2): Now a define_expand.
4214 (align_log): Now length 0.
4215
170a16c7
MM
4216Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
4217
4218 * m32r.md (right): Correctly check for length == 2, not 1.
4219
688f0603
KG
4220Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4221
4222 * mips/mips.h: Prototype `machine_dependent_reorg'.
4223 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
4224
19cbe68d
JR
4225Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
4226
4227 * final.c (shorten_branches): Restore accidentally removed code.
4228
8add77ce
AS
4229Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4230
4231 * configure.in: Remove duplicate uses of AC_PROG_CC and
4232 AC_PROG_MAKE_SET.
4233
fbb5ed67
RH
4234Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
4235
4236 * configure.in (target_cpu_default2): Correct typo for alphapca56.
4237
5ece9746
JL
4238Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
4239 Doug Evans (devans@cygnus.com)
4240
4241 * haifa-sched.c (build_jmp_edges): Delete dead function.
4242 (build_control_flow): Use cfg routines from flow.c
4243 (schedule_insns): Remove debugging code accidentally checked
4244 in earlier today.
4245
4246 * basic-block.h: Add external integer list structures, typdefs,
4247 accessor macros and function declarations. Simlarly for
4248 basic block pred/succ support and simple bitmap stuff.
4249 * flow.c: Add functions for integer list, basic block pred/succ
4250 support and simple bitmap support.
4251 (compute_dominators): New function to compute dominators and
4252 post dominators.
4253 (find_basic_blocks): Split into two functions.
4254 (life_analysis): Likewise.
4255 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
4256 the life_analysis from toplev.c
4257 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
4258 life_analysis instead of flow_analysis.
4259
ac9b3c97
R
4260Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4261
4262 * jump.c (jump_optimize): Call mark_jump_label also for deleted
4263 insns.
4264 (mark_jump_label): Don't increment ref counts for deleted insns.
4265
6e92f4b6
KG
4266Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4267
4268 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
b57062ca 4269
6e92f4b6
KG
4270 * mips/mips.c: Include stdlib.h and unistd.h.
4271 (mips_asm_file_end): Add braces around empty body in an if-statement.
4272 (function_prologue): Wrap variable `fnname' in
4273 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
4274 (mips_select_rtx_section, mips_select_section): Declare as void.
b57062ca 4275
6e92f4b6
KG
4276 * mips/mips.h: Add prototypes for extern functions in mips.c.
4277 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
4278 (ENCODE_SECTION_INFO): Add braces around empty body in an
4279 if-statement.
b57062ca 4280
6e92f4b6
KG
4281 * mips/mips.md (movdi): Add parentheses around && within ||.
4282 (movsf, movdf): Likewise.
4283 (branch_zero, branch_zero_di): Add default case in
4284 enumeration switch.
b57062ca 4285
6e92f4b6 4286
9ba3994a
RH
4287Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
4288
4289 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
4290 real constants, since they can't be changed.
4291 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4292 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
4293 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4294 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4295 * alpha/vms.h (TARGET_OPEN_VMS): New.
4296 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
4297
5ec105cd
RH
4298Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
4299
4300 * reload.c (find_reloads): Always force (subreg (mem)) to be
4301 reloaded if WORD_REGISTER_OPERATIONS.
4302
ebb7b10b
RH
4303Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
4304
4305 * haifa-sched.c (free_list): Rename from free_pnd_lst.
4306 (free_pending_lists): Rename free_pnd_lst uses.
4307 (remove_dependence): Place expunged element on unused_insn_list.
4308 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
4309 gen_rtx_*_LIST and alloc_rtx to use them.
4310 (compute_block_backward_dependences): Free the reg_last_* lists.
4311
cb37ce62
JL
4312Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
4313
4314 * cccp.c (main): Avoid undefined behavior when setting pend_includes
4315 and pend_files.
4316
ce514f57
FS
4317Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
4318
b57062ca 4319 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
ce514f57
FS
4320 USE_GNULIBC_1 is defined
4321 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
4322 includes the t-linux-gnulibc1 fragment
4323
89a5e42b
JW
4324Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
4325
4326 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
4327
1dd8faa8
R
4328Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4329
4330 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
4331
e2faec75
R
4332Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4333
4334 * final.c (shorten_branches): Tag the loop alignment onto the
4335 first label after NOTE_INSN_LOOP_BEG even if there is an
4336 intervening insn.
4337
de7987a6
R
4338Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4339
26024475
R
4340 * final.c (insn_current_reference_address):
4341 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
4342 proper alignment chain.
4343
de7987a6
R
4344 * final.c (max_labelno): New static variable.
4345 (final_scan_insn): Check max_labelno before outputting an
4346 alignment for a label.
de7987a6
R
4347 (shorten_branches): Remove unused variable length_align.
4348
27d8f9ea
KG
4349Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4350
4351 * sparc.c (ultrasparc_adjust_cost): Add default case in
4352 enumeration switch.
b57062ca 4353
27d8f9ea
KG
4354 * sparc.h: Add prototypes for extern functions defined in
4355 sparc.c.
4356
bd334356
NC
4357Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
4358
4359 * toplev.c: Only generate <name>.dbr file when dumping RTL if
b57062ca 4360 DEALY_SLOTS is defined.
bd334356 4361
1838fe6d
MH
4362Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
4363
4364 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
4365 in call to fill_slots_from_thread.
4366
b0021153
RH
4367Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
4368
b57062ca 4369 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
b0021153
RH
4370 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
4371
687d0ab6 4372Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
fc470718
R
4373
4374 * final.c (insn_last_address, insn_current_align, uid_align):
4375 New variables.
4376 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
4377 (insn_current_reference_address): Likewise.
4378 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
4379 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
4380 (label_to_alignment): New function.
4381 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
4382 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
4383 insn_current_reference_address instead of insn_current_address.
4384 (or_attr_value, write_length_unit_log): New functions.
4385 (main): Call write_length_unit_log.
4386 (write_const_num_delay_slots): Output extra '\n'.
4387 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
4388 replace with:
4389 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
4390 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
4391 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
4392 (LOOP_ALIGN).
4393 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
4394 (LABEL_ALIGN_AFTER_BARRIER).
4395 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
4396 * ns32k/tek6000.h: Likewise.
4397 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
4398 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
4399 ASM_OUTPUT_ALIGN_CODE.
4400
54f00917
JL
4401Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
4402
4403 * version.c: Bump for snapshot.
4404
38630f7e
JL
4405Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
4406
4407 * version.c: Bump for snapshot.
4408
ab63953e
JL
4409Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
4410
4411 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
b57062ca 4412 if condition code of jump conflicts with opposite_needed.
ab63953e
JL
4413
4414 * reorg.c (fill_slots_from_thread): Mark resources referenced in
4415 opposite_needed thread. Return delay_list even when cannot get
4416 any more delay insns from end of subroutine.
4417
4418Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
4419
4420 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
4421 All callers changed.
4422
4423Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
72dd050a
BH
4424
4425 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
4426 end_fde_sort): New functions for fast sorting of an FDE array.
4427 (fde_insert): Simplified.
4428 (add_fdes): Change argument list.
4429 (frame_init): Use the new functions.
4430
de153e82
JL
4431Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
4432
925b1f33
JL
4433 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
4434
c7271385
JL
4435 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
4436
de153e82
JL
4437 * fold-const.c (fold_range_test): Always return a value.
4438
81023100
MK
4439Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
4440
4441 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
4442 data in the text section unless READONLY_DATA_SECTION is defined.
4443
818e50a5
JL
4444Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
4445
4446 * c-parse.in (undeclared variable error): Tweak error message to
4447 be clearer.
4448
c93dc3ac
JL
4449Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
4450
4451 * version.c: Bump for snapshot.
4452
90ca38bb
MM
44531998-02-28 Mark Mitchell <mmitchell@usa.net>
4454
4455 * final.c (final_scan_insn): Undo overzealous removal of `set'.
4456
3d85c12e
KG
4457Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4458
5feca984
KG
4459 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
4460 case, add parentheses to specify the proper order of precedence in
4461 the if-statement.
b57062ca 4462
5feca984 4463
51723711
KG
4464 * c-aux-info.c: Include string.h/strings.h.
4465
4466 * pa.c: Include stdlib.h.
4467 (pa_combine_instructions): Prototype the function.
4468 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
4469 (reloc_needed): Add default case for enumeration switch.
4470 (remove_useless_addtr_insns): Remove unused variable `all'.
4471 (hppa_expand_prologue): Add explicit braces to avoid
4472 ambiguous `else'.
4473 (output_function_epilogue): Remove unused variable `i'.
4474 (output_millicode_call): Remove unused variable `link'.
4475 (shadd_constant_p, forward_branch_p): Make the function static.
4476 (following_call): Explicitly declare to return int.
4477 (pa_reorg): Declare as void.
4478 (pa_combine_instructions): Declare as static void. Add
4479 parentheses around && within ||.
b57062ca 4480
51723711
KG
4481 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
4482 following_call, function_label_operand, lhs_lshift_cint_operand
4483 and zdepi_cint_p.
4484
4485 * pa.md: Add parentheses around && within ||.
4486
4487 * cppalloc.c: Include stdlib.h.
4488
4489 * cpperror.c (cpp_print_containing_files): Remove unused variable
4490 `i'. Fix format specifier in fprintf.
4491
4492 * cse.c (cse_around_loop): Add explicit braces to avoid
4493 ambiguous `else'.
4494 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
4495
4496 * expr.c (expand_expr): Add parentheses around && within ||.
4497
4498 * final.c (app_enable): Replace fprintf with fputs where there are
4499 no format specifiers and no trailing argument after the string.
4500 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
4501 (app_disable): Likewise.
4502 (final_end_function): Likewise.
4503 (final_scan_insn): Likewise. Remove unused variable `set'.
4504 (profile_function): Wrap empty if-statement body in {} brackets.
4505
4506 * function.c: Include stdlib.h.
4507 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
4508 (reposition_prologue_and_epilogue_notes): Add parentheses
4509 around assignment used as truth value.
4510
4511 * integrate.c (expand_inline_function): Wrap variable
4512 `cc0_insn' in macro HAVE_cc0.
4513
4514 * jump.c (jump_optimize): Wrap variable `q' in macro
4515 HAVE_cc0. Remove unused variable `prev1'.
4516
4517 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
4518 within ||. Fix format specifier in fprintf.
4519 (__bb_init_prg): Add parentheses around assignment used as
4520 truth value.
4521
4522 * local-alloc.c: Include stdlib.h.
4523 (requires_inout): Add parentheses around assignment used
4524 as truth value.
4525
4526 * loop.c (analyze_loop_iterations): Wrap prototype and definition
4527 in macro HAVE_decrement_and_branch_on_count.
4528 (insert_bct, instrument_loop_bct): Likewise.
4529 (move_movables): Add parentheses around assignment used as
4530 truth value.
4531 (consec_sets_invariant_p): Likewise.
4532 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
4533
4534 * objc/objc-act.c: Include stdlib.h.
4535 (lookup_method_in_protocol_list): Wrap empty else-statement body
4536 in braces.
4537 (lookup_protocol_in_reflist): Likewise.
4538 (objc_add_static_instance): Remove unused variables `decl_expr'
4539 and `decl_spec'.
4540 (get_objc_string_decl): Remove unused variable `decl'.
4541 (generate_static_references): Remove unused variables `idecl' and
4542 `instance'.
4543 (check_protocols): Wrap empty else-statement body in braces.
b57062ca 4544
51723711
KG
4545 * protoize.c: Include stdlib.h.
4546 (substr): Add parentheses around assignment used as truth value.
4547 (abspath): Likewise.
4548 (shortpath): Likewise.
4549
4550 * regmove.c (fixup_match_1): Add parentheses around assignment
4551 used as truth value.
4552
4553 * reload.c (push_secondary_reload): Remove unused variable `i'.
4554 (find_reloads): Add parentheses around assignment used as truth
4555 value.
4556
4557 * reload1.c: Include stdlib.h.
4558
4559 * rtl.h: Correct typo in prototype of offsettable_memref_p.
4560
4561 * stmt.c (add_case_node): Add parentheses around assignment used
4562 as truth value.
4563 (case_tree2list): Likewise.
4564
4565 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
4566 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
4567 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
4568 (merge_attributes): Add explicit braces to avoid ambiguous
4569 `else'.
4570
4571 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
4572 macro HAVE_cc0.
b57062ca 4573
51723711 4574 * varasm.c: Include stdlib.h.
b57062ca 4575
51723711 4576
c5801053
KG
4577 * system.h: Remove sys/stat.h.
4578 * gcc.c: Add sys/stat.h.
4579
3d85c12e
KG
4580 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
4581 * genattrtab.c: Likewise.
4582 * genconfig.c: Likewise.
4583 * genemit.c: Likewise.
4584 * genextract.c: Likewise.
4585 * genflags.c: Likewise.
4586 * genopinit.c: Likewise.
4587 * genoutput.c: Likewise.
4588 * genpeep.c: Likewise.
4589 * genrecog.c: Likewise.
4590 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
4591
0fd12b04
AS
4592Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4593
bd762873
AS
4594 * invoke.texi: Use @itemx for a secondary item in a @table.
4595
0fd12b04
AS
4596 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
4597 zero.
4598
c3cf395b
ILT
4599Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
4600
4601 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
4602
b94b5c16
JL
4603Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
4604
4605 * i386.c (struct machine_function): Add new fields for PIC stuff.
4606 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
4607 and pic_label_name.
4608 (restore_386_machine_status): Corresponding changes.
4609 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
4610
8dfafd99
JL
4611Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
4612
4613 * c-parse.y (undeclared variable error): Tweak error message
4614 to be clearer.
4615
bb8ebb7f
RH
4616Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
4617
4618 * flags.h (g_switch_value, g_switch_set): Declare.
4619 * alpha.c (override_options): Set g_switch_value=8 if not set.
4620 * alpha/elf.h (CC1_SPEC): New.
4621 (ASM_SPEC): New.
4622 (LINK_SPEC): Pass along the -G value we were given.
4623 (LOCAL_ASM_OP): Remove.
4624 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
4625 (MAX_OFILE_ALIGNMENT): New.
4626 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
4627 (EXTRA_SECTIONS): Add sbss and sdata.
4628 (SECTION_FUNCTION_TEMPLATE): New.
4629 (EXTRA_SECTION_FUNCTIONS): Use it.
4630 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
4631 (SELECT_SECTION): Use sdata when small enough.
4632 * alpha/linux.h (ASM_SPEC): Remove.
b57062ca 4633
bb8ebb7f 4634
3e07bdbd
BH
4635Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4636 * config.sub (sco5): Fix typo.
4637
9d1ebd25
MH
4638Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
4639
4640 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
4641 set to empty.
4642 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
4643 * config/alpha/t-linux: Remove file.
4644 * config/sparc/t-linux: Remove file.
4645 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
4646 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
4647 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
4648 for tmake_file.
4649 (alpha*-*-linux-gnu*): Likewise.
4650 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
4651 (sparc-*-linux-gnu*): Likewise.
84bc3b4f
RL
4652
4653Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
4654 * collect2.c (ldd_file_name): Bracket declaration with same
4655 manifests as use.
4656 (full_real_ld_suffix): Deleted. Variable was calloced and
4657 written into, but never read.
4658
9e89df50
MS
46591998-02-23 Mike Stump <mrs@wrs.com>
4660
4661 * configure.in: Add support for i386-wrs-vxworks configuration.
4662 * i386/vxi386.h: New file.
4663
1160f9ec
BH
4664Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4665
4666 * tree.c (contains_placeholder_p): Ensure function always returns
4667 a value.
4668 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
4669 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
4670
328da75c
JL
4671Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
4672
4673 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
4674
deabc777
PE
46751998-02-22 Paul Eggert <eggert@twinsun.com>
4676
4677 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
4678 Define this new symbol.
4679 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
4680 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
4681 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
4682
0e84e8fb
JW
4683Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
4684
4685 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
4686 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
4687
9c37957a
RH
4688Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
4689
4690 * objc/Object.m (-error): Call objc_verror with our va_list.
4691
e3c49f52
DE
4692Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4693
4694 * collect2.c (scan_prog_file): Completely cover uses of variable
4695 `exports' with macro COLLECT_EXPORT_LIST.
4696
4697Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
d935d60e
JL
4698
4699 * version.c: Bump for snapshot.
4700
3c674857
MM
4701Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
4702
4703 * sched.c (schedule_block): Remove code to get arguments from hard
4704 regs into pseudos early. Same as Aug 25, 1997 change to
4705 haifa-sched.c.
4706
c2d731c4
JM
47071998-02-20 Jason Merrill <jason@yorick.cygnus.com>
4708
4709 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
4710
7d02bbef
JM
47111998-02-16 Mark Mitchell <mmitchell@usa.net>
4712
4713 * toplev.c (rest_of_compilation): Do not defer the output of a
4714 nested function.
4715
9766dbcf
MT
4716Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
4717
4718 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
4719 continuation character (line 243).
4720
01a7aaea
AS
4721Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4722
4723 * genrecog.c (main): Remove duplicated sentence in emitted comment.
4724
db126753
DE
4725Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
4726 David Edelsohn <edelsohn@mhpcc.edu>
4727
4728 * collect2.c (XCOFF_SCAN_LIBS): Remove.
4729 (export_flag): New variable.
4730 (export_file): #ifdef COLLECT_EXPORT_LIST.
4731 (import_file, exports, imports, undefined): New variables.
4732 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
4733 (dump_list, dump_prefix_list, is_in_list): New functions.
4734 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
4735 (write_import_file, resolve_lib_name): New functions.
4736 (use_import_list, ignore_library): Same.
4737 (collect_exit): maybe_unlink import_file and #ifdef.
4738 (handler): Same.
4739 (main): New variable importf, #ifdef exportf. Move parsing of
4740 -shared before general argument parsing. Resolve AIX library
4741 paths and import libgcc.a symbols. Treat .so shared libraries the
4742 same as objects and .a libraries. Create alias for object_lst and
4743 increment it instead of original pointer. Scan AIX libraries as
4744 objects earlier instead of using scan_libraries. Perform AIX
4745 tlink later to resolve templates instead of forking ld.
4746 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
4747 (GCC_UNDEF_SYMBOL): New macro.
4748 (scan_prog_file): Loop for members of AIX libraries. Handle
4749 export/import of ctors/dtors.
4750 (aix_std_libs): New variable.
4751 (scan_libraries, XCOFF): Delete.
4752
4753Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
4754
4755 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
4756
e642002f
MS
47571998-02-19 Mike Stump <mrs@wrs.com>
4758
4759 * Makefile.in: Use $tooldir for sys-include to match toplevel
4760 configure.
4761
aff48bca
JL
4762Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
4763 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4764
4765 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
4766
4767 * emit-rtl.c (hard-reg-set.h): Include.
b57062ca 4768 (get_lowpart_common): Don't make new REG for hard reg in a
aff48bca
JL
4769 class that cannot change size.
4770 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
4771
4772 * combine.c: Revert previous patch.
4773
0a9bdce3
PE
47741998-02-19 Paul Eggert <eggert@twinsun.com>
4775
4776 * config/sparc/sol2-sld.h: New file.
4777 * configure.in (sparc-*-solaris2*): Use it when using the
4778 system linker.
4779
3875b31d
JL
4780Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
4781
4782 * loop.c (force_movables): Fix typo.
4783
bb5fa67f
MH
4784Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
4785
4786 * m88k.h: Change file pattern to match reality.
4787
7f83c0e7
JL
4788Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
4789
4790 * varasm.c (output_constant_pool): Fix dumb thinko in last
4791 change.
dffc0da4
JL
4792
4793 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
4794 a function name to a section name.
4795
d9525bec
BK
47961998-02-18 Doug Evans <devans@cygnus.com>
4797
4798 * tree.h (merge_machine_{type,decl}_attributes): Declare.
4799 (split_specs_attrs, strip_attrs): Add prototypes.
4800 * tree.c (merge_machine_{type,decl}_attributes): New functions.
4801 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
4802 Update olddecl's attributes too.
4803 * c-common.c (strip_attrs): New function.
4804 * c-typeck.c (common_type): Call merge_machine_type_attributes.
4805 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
4806 (make_decl_rtl): Likewise.
4807
48081998-02-18 Jim Wilson <wilson@cygnus.com>
4809
4810 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
4811
f9a366ac
JL
4812Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
4813
4814 Remove this change until we can fix it correctly.
4815 * collect2.c: Bracket declaration of 'exportf' and
4816 'full_real_ld_suffix'.
4817
206ae7cf
BS
4818Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
4819
4820 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
4821
0a7ed33c
BS
4822Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
4823
4824 * c-common.c (c_expand_start_cond, c_expand_end_cond,
4825 c_expand_start_else): Don't warn about non-ambiguous else even if
4826 braces are missing.
4827
68c9728a 4828Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
0a7ed33c 4829
68c9728a
RL
4830 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4831 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
4832 instead.
4833
15941d29
RH
4834Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
4835
4836 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
4837 simplifying a subreg of a hard reg.
4838 (expand_compound_operation): Likewise.
4839 (force_to_mode): Likewise.
4840
5835e573
KG
4841Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4842
2fde567e
KG
4843 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
4844 (lshift_double): Add parentheses around + or - inside shift.
4845 (rshift_double): Likewise.
4846 (size_int_wide): Explicitly set type of `bit_p' to `int'.
4847
4848 * Makefile.in (fold-const.o): Depend on system.h.
4849
8e85ff2c
KG
4850 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
4851 change to gcc.c.
4852
5835e573
KG
4853 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
4854 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
4855 (sched_note_set): Remove unused parameter `b', all callers changed.
4856 (schedule_block): Likewise for `rgn'.
4857 (split_hard_reg_notes): Likewise for `orig_insn'.
4858 (check_live): Likewise for `trg'.
4859 (update_live): Likewise.
4860 (check_live_1): Explcitly declare variable `i' as int.
4861 (update_live_1): Likewise.
4862 (insn_issue_delay): Remove unused variable `link'.
4863 (sched_analyze_2): Add default case in enumeration switch.
4864 (schedule_insns): Remove unused variable `i'.
4865
4866 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
4867
b1a0c816
JL
4868Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
4869
4870 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
4871 a dangling else clause.
4872
365ca18b
GK
4873Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
4874
4875 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
4876 pointer for the stack pointer in MIPS16 and 64BIT.
4877
feb60352
R
4878Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4879
4880 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
4881 * emit-rtl.c (force_line_numbers, restore_line_number_status):
4882 New functions.
4883 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
4884 (expand_start_case): Adjust to this change.
4885 (check_seenlabel): New function.
4886 (pushcase, pushcase_range, expand_endcase): Use it.
4887
93f83bd5
R
4888Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4889
4890 * i386.md (adddi3): Add =!r,0,0,X alternative.
4891
b9af8fb0
DE
4892Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
4893
4894 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
4895 * x-aix31 (INSTALL): Delete.
4896
a4dee8a5
GK
4897Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
4898
b57062ca 4899 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
a4dee8a5
GK
4900 tsize changes to something other than zero.
4901
8898f8a1
GK
4902Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
4903
4904 * ginclude/va-mips.h: Replace casts of pointers to int with
4905 casts of pointers to __PTRDIFF_TYPE__.
4906
9ba7a303
JC
4907Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
4908
4909 * loop.c (strength_reduce, record_biv, record_giv): Use
4910 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
4911
b7f6588d
JM
49121998-02-16 Jason Merrill <jason@yorick.cygnus.com>
4913
4914 * tree.c (first_rtl_op): New fn.
4915 (unsave_expr_now): Use it.
4916 * print-tree.c (print_node): Likewise.
4917 * tree.c (has_cleanups): New fn.
4918 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
4919 conservative about pushing the cleanup point down.
4920 * tree.h: Declare them.
4921
8e7336f8
JL
4922Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
4923
4924 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
4925 (flag_schedule_reverse_after_reload): Likewise.
4926 (f_options): Remove reverse scheduling support.
4927 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
4928 (flag_schedule_reverse_after_reload): Likewise.
4929 * haifa-sched.c (rank_for_schedule): Remove support for reverse
4930 scheduling.
b57062ca 4931
79e11844
KG
4932Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4933
17248a6b
KG
4934 * gcc.c: Get system includes, prototypes and macros via "system.h"
4935 instead of doing it manually. Change all calls of the ctype
4936 macros to custom versions defined in "system.h".
4937
79e11844
KG
4938 * system.h: Fix return type of bcmp prototype from `void' to `int'.
4939 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
4940 Add a prototype for getenv.
4941
c9b4de06
JW
4942Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
4943
4944 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
4945
9f8f10de
JC
4946Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
4947
4948 * alias.c: Include <stdlib.h> and <string.h>.
4949 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
4950
d757d141
JL
4951Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
4952
4953 * version.c: Bump for snapshot.
4954
7a0a1f09
RE
4955Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
4956
4957 * arm.md (movsfcc): Also validate operands[3] when compiling hard
4958 float.
4959 (movdfcc): Only accept fpu_add_operand for operands[3].
4960
99e90438
RE
4961 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
4962 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
4963
29a82058
JL
4964Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
4965
4966 * varasm.c (output_constant_pool): Bring back 'done' label inside
4967 an appropriate #ifdef.
4968
b57062ca 4969 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
29a82058
JL
4970 appropriate #ifdef.
4971 (bitmap_copy, bitmap_operation): Likewise.
4972 * combine.c (combinable_i3pat): Similarly for 'src'.
4973 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
4974 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
4975 * regclass.c (copy_cost): Similarly for 'secondary_class'.
4976 * reload.c (make_memloc): Simliarly for 'i'.
4977 (find_reloads_address_1): Similarly for 'link'.
4978 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
4979 (emit_reload_insns): Similarly for 'second_reloadreg'.
4980 * unroll.c (iteration_info): Similarly for 'v'.
4981
4982 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
4983 * calls.c (expand_call): Similarly for 'i'.
4984 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
4985 * fold-const.c (strip_compund_expr): Similarly for 'type'.
4986 * function.c (fixup_var_refs_1): Similarly for 'width'.
4987 (fixup_memory_subreg): Similarly for 'saved'.
4988 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
4989 (setjmp_protect): Similarly for 'sub'.
4990 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
4991 * loop.c (record_giv): Similarly for 'p'.
4992 (combine_givs): Similarly for 'temp_iv'.
4993 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
4994 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
4995 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
4996 * unroll.c (unroll_loop): Similarly for 'copy'.
4997 (iteration_info): Similarly for 'b'.
4998 * varasm.c (assemble_string): Similarly for 'i'.
4999 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
5000
7d02bbef
JM
50011998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
5002
5003 * c-lang.c (lang_print_xnode): New function.
5004 * objc/objc-act.c (lang_print_xnode): Likewise.
5005 * print-tree.c (print_node): Call it
5006
e3e7774e
JW
5007Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
5008
5009 * dwarf2out.c (decl_scope_node): New type.
5010 (decl_scope_table): Change type to use it.
5011 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
5012 (push_decl_scope): Use new type. New locals containing_scope, i.
5013 Add code to handle setting previous field.
5014 (scope_die_for): Change type of local i to int. Add code to use
5015 previous field.
5016 (dwarf2out_init): Use new type.
5017
442f0a30
JM
50181998-02-13 Jason Merrill <jason@yorick.cygnus.com>
5019
5020 * except.c (emit_throw): Lose throw_used.
5021
fcdc0d6e
R
5022Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5023
5024 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
5025 was deleted.
5026 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
5027
b7673cdb
JL
5028Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
5029
5030 * genextract.c (main): Fix typo.
5031
9e4767ca 5032Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
69d4ca36 5033
b57062ca 5034 * c-lang.c (finish_file): Bracket declaration of static_ctors,
69d4ca36
RL
5035 static_dtors.
5036
5037 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
5038 'old_stack_arg_under_construction'
b57062ca 5039 (emit_library_call): Bracket declaration of 'upper_bound',
69d4ca36
RL
5040 'lower_bound', 'i', 'reg_parm_stack_space'
5041 (emit_library_call_value): Likewise.
b57062ca 5042 (store_one_arg):
69d4ca36
RL
5043
5044 * collect2.c: include <unistd.h> when appropriate.
5045 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
5046
5047 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
b57062ca 5048
69d4ca36
RL
5049 * explow.c (plus_constant_for_output_wide): Remove unused variable
5050 'code'.
b57062ca 5051 (memory_address): Remove unused variable 'orig_x'.
69d4ca36
RL
5052
5053 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
5054 (write_const_num_delay_slots): Remove unused variable 'i'.
5055
5056 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
5057 (gen_insn): Remove unused variable 'obstack_ptr'.
5058
5059 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
5060 'j', 'tmp', 'i'.
5061 (__bb_exit_trace_func): Remove unused variable 'e'.
5062
5063 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
5064 'funexp'.
5065 (expand_unop): Remove unused variable 'funexp'.
b57062ca 5066 (expand_complex_abs): Remove unused variable 'funexp'.
69d4ca36
RL
5067 (init_optabs): Bracket declaration of 'j'.
5068 (init_complex_libfuncs): Deleted. Dead static function.
b57062ca 5069
69d4ca36
RL
5070 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
5071
5072 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
5073 (reg_to_stack): 'initialized', 'before_function_beg'
5074 explictly type as ints instead of defaulting.
5075 (emit_swap_insn): Remove unused variable 'i2'.
5076 (compare_for_stack_reg): Remove unused variable 'src_note'.
5077
5078 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
5079
5080 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
5081
5082 * stmt.c (add_case_node): Add parens for assignment used as truth.
5083 (all_cases_count): Remove unused variable 'count_high'.
5084 (mark_seen_cases): Remove unused variable 'i'.
5085 (check_for_full_enumeration_handling): Remove unused variable 't'.
5086 Bracket declaration of 'all_values', 'l'.
b57062ca 5087
69d4ca36
RL
5088 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
5089
b57062ca
UD
5090 * varasm.c (assemble_string): Remove unused variable 'i'.
5091 (immed_double_const): Remove unused variable 'in_current_obstack'.
69d4ca36
RL
5092 (immed_real_const_1): Likewise.
5093 (output_constant_pool): Remove unreferenced label 'done'.
5094 (output_constant): Remove unused variable 'x'.
b57062ca 5095
69d4ca36
RL
5096 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
5097 a string.
5098
5099 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
5100 as truth.
5101
e3258cef
R
5102Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5103
5104 * combine.c (can_combine_p): Handle USEs in PARALLELs.
5105
1398405b
L
5106Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
5107
5108 * config/linux.h (LIB_SPEC): Add -lc for -shared if
5109 USE_GNULIBC_1 is not defined.
5110 * config/sparc/linux.h; Ditto.
5111
5112 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
5113
5114 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
5115 USE_GNULIBC_1 is not defined.
5116
03453a9f
FS
5117Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5118
5119 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
5120 for -mcall-linux
5121
aca69483 5122Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 5123
aca69483
KG
5124 * system.h: New file to get common systems includes and various
5125 definitions and declarations based on autoconf macros.
5126
5e0e0f03
JL
5127Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
5128
5129 * cccp.c (new_include_prefix): Correctly handle -I./.
5130
89e9f3a8
MM
5131Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
5132
5133 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
5134
8bd6ecc2 5135Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
89e9f3a8 5136
b57062ca 5137 * expr.c (expand_assignment): Correct typo exposed by -Wall.
8bd6ecc2
RL
5138 offset should have been a truth value, not an assignment.
5139
614bb5d4
JL
5140Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
5141
5142 * cse.c (delete_dead_from_cse): If a libcall produces a constant
5143 result and that result can be substituted into SET_SRC of the
5144 insn with the REG_RETVAL note, then perform the substitution
5145 and delete the libcall.
5146
00bb4b62
GK
5147Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
5148
b57062ca 5149 * mips.md (trucndihi2,truncdiqi2): Change these to support
00bb4b62
GK
5150 mips16.
5151
3871c609
GK
5152Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
5153
5154 * mips/mips.c (movdi_operand): Direct referances to symbols
5155 that arn't mips16 consts in mips16 mode arn't valid operands.
5156
5157 * mips/mips.c (mips_move_2words): Add gprel handling.
5158
2e72fa6a
GK
5159Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
5160
b57062ca 5161 * mips.md (extendsidi2): Allow extension to/from a non-mips16
2e72fa6a
GK
5162 register.
5163
a4910340
ML
5164Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
5165
5166 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
5167 <strings.h>.
5168
cc1e5b9a
KG
5169Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5170
5171 * Makefile.in (WARN_CFLAGS): New variable.
5172 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
5173
53949fac
MM
51741998-02-11 Mark Mitchell <mmitchell@usa.net>
5175
5176 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
5177 falling through default case in switch.
5178 (i386_aligned_p): Likewise.
5179
9504c31c
LI
5180Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
5181
5182 * mips/mips.h (mips_abi_string): Correct typo in comment.
5183
7e4e0956
GK
5184Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
5185
5186 * mips/mips.md (movdi): These PLUS's need to be Pmode.
5187
8fb3ae15
KG
5188Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5189
5190 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
5191 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
5192 indirectly via expr.h.
5193
a2d53b28
RH
5194Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
5195
5196 * stor-layout.c (layout_type): Do upper - lower in the native type,
5197 so as to properly handle negative indices.
5198
381127e8
RL
5199Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
5200
5201 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
5202 (expand_eh_region_start_tree): Remove unused variable 'note'.
5203 (exception_optimize): Remove unused variable 'regions'.
5204 (expand_builtin_eh_stub): Remove unused variable 'temp'.
5205 (copy_eh_entry): Deleted. Dead function.
5206
b57062ca 5207 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
381127e8
RL
5208 'last' with same #if HAVE_load_multiple as use of it.
5209 (move_block_from_reg): Likewise.
5210 (emit_move_insn_1): Remove unused variable 'insns'.
b57062ca
UD
5211 (store_constructor): Bracket declaration of startb, endb with
5212 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
381127e8 5213 'target', and 'xtarget'.
b57062ca 5214 (expand_builtin_setjmp): Remove unused variables 'op0',
381127e8 5215 'next_arg_reg', 'old_inhibit_defer_pop'.
b57062ca 5216 (expand_builtin): Remove unused variable 'offset'.
381127e8
RL
5217 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
5218 (emit_queue): Add parens for assignment used as conditional.
5219 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
5220
00c79232
ML
5221Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
5222
b57062ca 5223 * i386.c: Added include for recog.h.
00c79232
ML
5224 (override_options): Removed unused variable p. Initialized regno to
5225 avoid warning.
5226 (order_regs_for_local_alloc): Initialized regno to avoid warning.
5227 (legitimize_address): Likewise for 'other'.
5228 (i386_aligned_reg_p): Added default case with abort ().
5229 (print_operand): Likewise.
5230 (reg_mentioned_in_mem): Likewise.
5231 (ix86_expand_binary_operator): Removed unused variables i & insn.
5232 (ix86_expand_unary_operator): Removed unused variable insn.
5233 (output_fp_cc0_set): Removed unused variable unordered_label.
5234
f64cecad
JC
5235Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
5236
5237 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
5238 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
5239 and format string match.
5240
0200b5ed
JL
5241Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
5242
5243 * flow.c (life_analysis): Do not conside the stack pointer live at
5244 the end of a function if the fucntio ncalls alloca.
5245 (mark_used_regs): Similarly.
5246
74ccf2c2
JC
52471998-02-10 John F Carr <jfc@mit.edu>
5248
5249 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
5250 1, fzero on alternative 8.
5251
60e2d0ca
RK
5252Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5253
5254 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
5255
2fd0af53
R
5256Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5257
5258 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
5259 SUBREGs of CONST_INTs.
5260
a96c3544
JC
5261Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
5262
5263 * mips.c (print_operand, function_prologue): Make printf format
5264 match argument type.
5265
2514cbc9
KG
5266Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5267
5268 * alpha.c (alpha_return_addr): Remove unused variable `first'.
5269 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
5270 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
5271
72b0c616
RK
5272Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5273
5274 * loop.c (strength_reduce): When placing increment for auto-inc
5275 case, do comparison in loop order.
b57062ca 5276
2e0dd623
JC
5277Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
5278
5279 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
5280 not a HOST_WIDE_INT.
5281
5282 * calls.c (expand_call): Change test of expand_inline_function
5283 return value to stop compiler warning.
5284
5285 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
5286
7bf825d2
JW
5287Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
5288 Jeff Law (law@cygnus.com)
5289
5290 * regmove.c: Fix various minor formatting problems.
5291 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
5292 is true. Make end of basic block tests consistent through regmove.c.
5293 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
5294 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
5295
7d4679ea
KG
5296Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5297
5298 * gansidecl.h: Check for a conflicting macro definition before
5299 attempting to prototype bcopy, bcmp or bzero.
5300
b515ab3d
JL
5301Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
5302
060fbabf
JL
5303 * expr.c (clear_pending_stack_adjust): Handle case where a function
5304 calls alloca, but the user has specified -fomit-fframe-pointer.
5305
b515ab3d
JL
5306 * function.c (assign_parms): Fix typo in last change.
5307
ccd043a9
RL
5308Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
5309
ededb2fc
RL
5310 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
5311 <fcntl.h>.
5312 (free_path_suffix): Remove unreferenced static function.
5313 (process_command): Remove unused variable temp.
5314 (default_arg): Remove unused variable i.
5315 (do_spec_1): Add parens for assignment used as truth value.
5316 (main): Likewise.
5317 (validate_all_switches): Likewise.
5318 (main): Remove unused variables i, first_time>
5319
ccd043a9
RL
5320 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
5321
5322 * calls.c (expand_call): Remove unused variables funtree,
5323 n_regs, and tmpmode.
5324
5325 * dbxout.c, except.c: Include <string.h>/<strings.h>.
5326
5327 * explow.c: (plus_constant_for_output_wide) Removed unused
5328 variable all_constant.
5329
5330 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
5331 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
5332 genrecog.c, global.c, integrate.c , stupid.c : Include
5333 <stdlib.h>.
5334
5335 * genextract.c: (walk_rtx) Remove unused variable link.
5336
5337 * genrecog.c: (concat) Remove unreferenced static function.
5338
5339 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
5340
b57062ca
UD
5341 * stmt.c: Include <stdlib.h>.
5342 (expand_asm_operands): Remove unused variable val1.
ccd043a9
RL
5343 (expand_return): Remove unused variable block.
5344 (pushcase): Remove unused variables l and n.
5345 (pushcaserange): Likewise.
5346
5347 * unroll.c (unroll_loop): Remove unused variable temp.
5348
6553db01
GM
5349Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
5350
5351 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
5352
8479e1db
KG
5353Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5354
5355 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
5356 functions for whether they support the %p format specifier.
5357 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
5358 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
5359 * configure, config.in: Rebuild.
5360
bf9c83fe
JW
5361Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
5362
5363 * function.c (assign_parms): New variable named_arg, with value
5364 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
5365
09e4daf5
GK
5366Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
5367
b57062ca 5368 * mips/t-r3900: New - same as t-ecoff but eliminate
09e4daf5
GK
5369 multilibs: mips1 and mips3.
5370 * configure.in (tx39*): Use new mips/t-r3900.
5371 * configure: Rebuild.
5372 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
5373
b57d9225
JM
53741998-02-06 Jason Merrill <jason@yorick.cygnus.com>
5375
5376 * dwarf2out.c: Add old_args_size.
5377 (dwarf2out_args_size): Use it.
5378 (dwarf2out_begin_prologue): Initialize it.
5379 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
5380 pushed args until we see a call.
5381 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
5382 before outputting them.
5383
53841998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
5385
5386 * cplus-dem.c (demangle_template_template_parm): New function.
5387 (demangle_template): Handle template template parameters.
5388
259620a8
MM
53891998-02-02 Mark Mitchell <mmitchell@usa.net>
5390
5391 * calls.c (expand_call): Don't confuse member functions named
5392 realloc, setjmp, and so forth with the standard library
5393 functions of the same names.
5394
78418280
JL
5395Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
5396
5397 * stmt.c (expand_asm_operands): Correctly identify asm statements
94e5565f 5398 no output operands.
78418280 5399
6d819282 5400Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 5401
6d819282
MK
5402 * c-common.c (decl_attributes): Flag unrecognized attribute
5403 functions as warnings instead of as errors.
5404
aec98e42
ML
54051998-02-05 Marc Lehmann <pcg@goof.com>
5406
5407 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
5408 when -Os is specified.
5409 * toplev.c (main): Don't disable flag_inline_functions anymore when
5410 -Os is in effect.
5411
1230327b
R
5412Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5413
5414 * regmove.c: Update.
5415 * flags.h (flag_regmove): Declare.
5416 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
5417 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
5418 Moved into regmove; changed caller.
5419 * toplev.c (rest_of_compilation): Call regmove_optimize also for
5420 expensive_optimizations.
5421
1aca1e76
JL
5422Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
5423
5424 * version.c: Bump for snapshot.
5425
2993ce4c
R
5426Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5427 Undo this change (the problem was actually in reload):
5428 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5429
5430 * sh.md (movqi_i+1): New peephole.
5431
0340ed6c
JL
5432Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
5433
e535528b
JL
5434 * jump.c (jump_optimize): Lose calls to modified_in_p they are
5435 not needed anymore due to changes elsewhere in jump.c.
5436
0340ed6c
JL
5437 * jump.c (jump_optimize): Fix first arg to modified_in_p in
5438 previous change.
5439
6fd1c67b
RH
5440Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
5441
5442 * expr.c (expand_builtin_setjmp): Accept two new arguments for
5443 the labels to branch to on first and subsequent executions. Don't
5444 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
5445 and provide it with the jmp_buf. Use only one of
5446 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
5447 and provide the former with the target label.
5448 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
5449 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
5450 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
5451 insn to replace all of the normal nonlocal_goto code. Don't play
5452 with __dummy. Correct arguments to nonlocal_goto.
5453 * expr.h (expand_builtin_setjmp): Update prototype.
5454 * except.c (start_dynamic_handler): When using builtin_setjmp,
5455 generate more accurate flow information.
5456
5457 * alpha.md (nonlocal_goto_receiver_osf): Delete.
5458 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
5459 (builtin_longjmp, builtin_setjmp_receiver): New.
5460 * sparc.md (update_return): Disambiguate unspec number.
5461 (nonlocal_goto): Rearrange arguments to match caller in except.c.
5462 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
5463 jmp_buf operand.
5464 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
5465 (builtin_setjmp_setup*, builtin_longjmp): New.
5466
95936d18
JC
5467Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
5468
5469 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
5470
c120c689
JW
5471Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
5472
5473 * vmsconfig.com: Remove bytecode references.
5474
1a56b81f
AS
54751998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5476
91193900
AS
5477 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
5478 -fno-sjlj-exceptions works for a target that defines
5479 DWARF2_UNWIND_INFO as zero.
5480
1a56b81f
AS
5481 * regmove.c (fixup_match_1): Undo last change which removed some
5482 "useless" code, and add a comment explaining this.
5483
e4b3de45
GK
5484Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
5485
5486 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
5487 to TARGET_LONG64.
5488
2aabb736
KK
5489Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
5490
5491 * makefile.vms: Remove bytecode references.
5492 Create genrtl files.
5493
7457661d
MH
5494Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
5495
5496 * jump.c (jump_optimize): Allow conditional loading of floating point
5497 constants and constants from memory. Reinstalled modified_in_p tests.
5498
460f50dc
R
5499Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5500
5501 * loop.c (get_condition): Handle sign-extended constants.
5502
7a6df7f9
HPN
5503Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
5504
db771a3c
HPN
5505 * expr.c (emit_push_insn): Add code to use movstrti if present.
5506
7a6df7f9
HPN
5507 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
5508 and movstrqi as in emit_block_move ().
5509
ceb6edf2
TM
5510Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
5511
5512 * config/m68k/x-next: Remove /NextDeveloper/Headers from
5513 the directories to fixinclude - /usr/include is a link
5514 to it and hence its contents are fixed by default.
5515
9cddeb31
FS
5516Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5517
5518 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
5519
d2f05a0a
KK
5520Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
5521
5522 * cccp.c (main): Predefine __VMS_VER on VMS.
5523
f8dac6eb
R
5524Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5525
5526 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
5527 * fold-const.c (size_int): Replace with
5528 (size_int_wide).
5529 (make_bit_field_ref): Use bitsize_int for bit position.
5530 * stor-layout.c (sizetype): Delete.
5531 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
5532 (layout_record, layout_union, layout_type):
5533 Use bitsize_int for bit size.
5534 (set_sizetype): New function.
5535 (make_signed_type, make_unsigned_type): Use it.
5536 * c-decl.c (init_decl_processing): Likewise.
5537 * tree.h (size_int): Don't delcare, #define.
5538 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
5539 (set_sizetype): Declare.
5540 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
5541 Define.
5542 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
5543 Convert result to sizetype.
5544 (really_start_incremental_init, push_init_level):
5545 Set type of constructor_bit_index to sbitsizetype.
5546 (push_init_level): Use unsigned arithmetic to determine padding.
5547 (output_init_element): Likewise.
5548
b577a8ff
JL
5549Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
5550
5551 * combine.c (simplify_shift_const): Fix typo in last change.
5552
6e0ef100
JC
5553Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
5554
5555 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
5556 is (truncate (lshiftrt)).
5557
4208b40f
RH
5558Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
5559
5560 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
5561 Make sure result winds up in TGT.
5562 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
5563 src to be other than DImode.
5564 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
5565 (alpha_expand_unaligned_store_words): Likewise.
5566 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
5567 that source and destination are separately optimized for alignment.
5568 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
5569
82301b88
JL
5570Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
5571
5572 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
5573 with handling of -32768.
5574
a81fb89e
KG
5575Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5576
5577 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
5578 shell variable argument instead of only hard coded functions.
5579 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
5580
5581 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
5582 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
5583 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
5584 declarations for bcopy, bcmp and bzero.
5585
5586 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
5587
5588 * gansidecl.h: If we have bcopy but don't declare it, then do so.
5589 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
5590 bzero, index and rindex if they aren't already present.
5591
eed90b2c
JL
5592Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
5593
b57062ca 5594 * toplev.c (close_dump_file): Wrap function prototype for
eed90b2c
JL
5595 argument "func" in PROTO.
5596 (dump_rtl): Likewise.
5597
bfd6bc60
JC
5598Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
5599
5600 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
5601 MASK_V8PLUS.
5602 (output_function_epilogue): Omit epilogue if nothing drops through.
5603 (output_move_double): Supress int ldd usage on ultrasparc and v9.
5604 (registers_ok_for_ldd_peep): Likewise.
5605 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
5606 (ultrasparc_adjust_cost): New function.
5607 (sparc_issue_rate): New function.
5608 * sparc.h (MASK_VIS, TARGET_VIS): New
5609 (MASK_V8PLUS, TARGET_V8PLUS): New.
5610 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
5611 (TARGET_SWITCHES): Add vis and v8plus.
5612 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
5613 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
5614 (RTX_COSTS): Use TARGET_HARD_MUL
5615 (ADJUST_COST): Call ultrasparc_adjust_cost.
5616 (ISSUE_RATE): New.
5617 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
5618 of load & fp appropritely.
5619 (supersparc function units): Adjust for Haifa.
5620 (ultrasparc function units): Likewise.
5621 (get_pc_via_rdpc): All v9, not just arch64.
5622 (movdi_v8plus, movdi_v8plus+1): New.
5623 (adddi3_sp32+1): New.
5624 (subdi3_sp32+1): New.
5625 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
5626 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
5627 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
5628 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
5629 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
5630 (ldd peepholes): Suppress for v9.
5631 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
5632 (return_subsi): Revmove.
5633
4b526a9a
JC
5634Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
5635
5636 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
5637 save/restore MEM rtl.
5638
64a438d6
JL
5639Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
5640
5641 * configure.in: Check for declaration of abort.
9c893359 5642 * acconfig.h: Corresponding changes.
64a438d6
JL
5643 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
5644 be declared.
5645
f266c82f
JL
5646Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
5647
5648 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
5649 uses it.
5650
31fa4410
JL
5651Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
5652
5653 * version.c: Bump for snapshot.
5654
0ee31ab1
JL
5655Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
5656
5657 * configure.in: Check for atoq and atoll.
5658 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
5659 proper routine for converting ascii into long long values.
5660
eeeb91c5
KK
5661Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
5662
9d21ee77
KK
5663 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
5664
5665 * vmsconfig.com: Remove bytecode references.
5666
5667 * alpha/vms.h (PREFIX): Define.
5668
5669 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
5670
eeeb91c5
KK
5671 * am-alpha.h: Don't include alloca for OPEN_VMS.
5672
5673 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
5674
5675 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
5676 (GCC_INCLUDE_DIR): Define
5677
5678 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
5679 * makefile.vms: New file.
5680
5681 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
5682
5683 * alpha.c (output_prolog): Output '.name' directive
5684 for minimal traceback information.
5685
5686 * alpha.c (output_prolog): Don't prepend entry point symbols
5687 with '$' on OPEN_VMS.
5688
76d31c63
JL
5689Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
5690 Jeffrey A Law (law@cygnus.com)
5691
5692 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
5693 HOST_WIDE_INT.
5694
5695 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
5696 as needed.
5697 * genemit.c (gen_exp): Likewise.
5698 * genpeep.c (match_rtx): Likewise.
5699 * genrecog.c (write_tree_1): Likewise.
5700
5701 * c-lex.c (yyprint): Use proper format string based upon
5702 disposition of HOST_BITS_PER_WIDE_INT.
5703 (yylex): Put casts in right place for args to build_int_2.
5704
5705Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
5706
5707 * combine.c: Fix typos in Jan27 changes.
5708
1b7555bd
OR
5709Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
5710
5711 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
5712 (LINK_SPEC): Likewise.
5713 (STARTFILE_SPEC): Likewise.
5714
21ca87b8
MS
57151998-01-28 Mike Stump <mrs@wrs.com>
5716
5717 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
5718 reload completes.
5719 * genattrtab.c (reload_completed): Define.
5720
5721 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
5722 comments.
5723
d2c92f5a
R
5724Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5725
5726 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
5727 SUBREG_REG if the word count is unchanged, also in the input reload
5728 case. Disable non-applicable sanity checks.
5729
90ad3ab7
JL
5730Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
5731
5732 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
5733
7fad712c
ILT
5734Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
5735
5736 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
5737
2290e0ec
PB
5738Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
5739
1aea01ea
PB
5740 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
5741 is a TREE_VEC before trying to use it for baseclasses.
5742 (Chill uses the same field for a different purpose.)
5743
2290e0ec
PB
5744 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
5745
16980900
LT
5746Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
5747
4c46bad0 5748 * config.sub: More accurate determination of HP processor types.
16980900 5749
5e9defae
KG
5750Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5751
5752 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
5753 prototype for `handle_sysv_pragma', and make it static. Add
5754 parentheses around assignment used as truth value.
5755
5756 * combine.c (combine_instructions): Protect variable `prev' with
5757 macro HAVE_cc0.
5758 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
5759 (extract_left_shift): Add parentheses around operand of &.
5760 (merge_outer_ops): Avoid an empty body in an else-statement.
5761 (gen_rtx_combine): Remove unused variable `i'.
b57062ca 5762
5e9defae
KG
5763 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
5764 function monstartup `void'. Likewise for internal_mcount. Add
5765 `static void' prototype for moncontrol. Reconcile sprintf format
b57062ca 5766 vs. args.
5e9defae
KG
5767
5768 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
5769 Make return type of function_arg_slotno explicitly `int'.
5770 (reg_unused_after): Add parentheses around assignment used as
5771 truth value.
5772 (save_regs): Add explicit braces to avoid ambiguous `else'.
5773 (function_arg_slotno): Add parentheses around && within ||.
5774 (function_arg_pass_by_reference): Likewise.
5775 (sparc_flat_output_function_prologue): Reconcile fprintf format
5776 vs. args.
5777
5778 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
5779 assignment used as truth value.
5780
5781 * cplus-dem.c: Include <stdlib.h>.
5782 (demangle_signature): Avoid an empty body in an else-statement.
5783 (do_type): Remove unused variable `lvl'.
b57062ca 5784
5e9defae
KG
5785 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
5786 Include <string.h>/<strings.h>.
5787 (cpp_lex): Remove unused variable `namelen'.
5788 (cpp_lex): Explicitly declare `num_chars' as an int.
5789
5790 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
5791 <unistd.h> instead. Explicitly declare is_system_include
5792 returning int.
b57062ca 5793 (make_assertion): Remove unused variable `kt'.
5e9defae
KG
5794 (cpp_expand_to_buffer): Hide variable `obuf'.
5795 (output_line_command): Remove unused variables, `line_end',
5796 `line_cmd_buf' and `len'.
5797 (macarg): Remove unused variable `arg_start'.
5798 (special_symbol): Remove unused variable `i'. Add parentheses
b57062ca 5799 around assignment used as truth value.
5e9defae 5800 (do_include): Remove unused variables `pcfname' and `retried',
b57062ca 5801 hide `pcf' and `pcfbuflimit'.
5e9defae
KG
5802 (do_line): Remove unused variable `i'.
5803 (finclude): Hide variable `missing_newline'.
5804 (cpp_handle_options): Remove unused variable `j'.
5805 (read_token_list): Remove unused variable `eofp'.
5806 (cpp_error_with_line): Remove unused variable `i'.
5807 (cpp_warning_with_line): Likewise.
5808 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
5809 (cpp_error_from_errno): Remove unused variable `i'.
5810
5811 * cse.c (invalidate): Add parentheses around assignment used as
5812 truth value.
5813 (find_best_addr): Move declaration of variable `our_cost' inside
5814 the conditional macro where its used.
5815 (fold_rtx): Avoid an empty body in an if-statement.
5816 (cse_insn): Wrap variables `this_insn_cc0_mode' and
5817 `this_insn_cc0' in macro HAVE_cc0.
b57062ca 5818
5e9defae
KG
5819 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
5820 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
5821 (output_uleb128): Likewise.
5822 (output_sleb128): Likewise.
5823 (output_cfi): Likewise.
5824 (output_call_frame_info): Remove unused variables `j', `fde_size'
5825 and `fde_pad'.
5826 (comp_unit_has_inlines): Hide declaration as per rest of file.
5827 (size_of_line_prolog): Correct typo in prototype.
5828 (add_arange): Likewise.
5829 (output_aranges): Likewise.
5830 (add_name_and_src_coords_attributes): Likewise.
5831 (gen_array_type_die): Likewise.
5832 (gen_inlined_subroutine_die): Likewise.
5833 (equate_decl_number_to_die): Remove unused variable `i'.
5834 (print_die): Reconcile format vs. args in fprintf's.
5835 (print_dwarf_line_table): Likewise.
5836 (output_die): Likewise.
5837 (output_line_info): Likewise.
5838 (add_subscript_info): Avoid an empty body in an else-statement.
5839 (gen_subprogram_die): Remove unused variable `fp_loc'.
5840
5841 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
5842 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
5843 macro. Protect `src_coords_attribute' prototype with
5844 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
5845 prototype as in the rest of the file. Likewise for
5846 `output_pointer_type_die' and `output_reference_type_die'. Remove
5847 prototype for `type_of_for_scope'.
5848 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
5849 (type_attribute): Add explicit braces to avoid ambiguous `else'.
b57062ca 5850
5e9defae
KG
5851 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
5852 (shorten_branches): Protect declaration of tmp_length with
5853 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
5854 (profile_function): Protect declaration of `sval' and `cxt'
5855 variables with appropriate macros.
5856 (final_scan_insn): Likewise for `note' variable. Add explicit
5857 braces to avoid empty body in an if-statement.
5858 (output_asm_insn): Move variable `i' inside macro conditional
5859 where it is used. Add parentheses around assignment used as truth
5860 value.
5861 (asm_fprintf) Likewise, likewise.
b57062ca 5862
5e9defae
KG
5863 * fix-header.c (main): Remove unused variable `done'. Protect
5864 declaration of `i' with FIXPROTO_IGNORE_LIST.
5865
5866 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
5867
5868 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
5869 `ind'.
5870
5871 * profile.c: Include <string.h>/<strings.h>.
5872 (instrument_arcs): Remove unused variables `note', `inverted',
5873 `zero' and `neg_one'.
5874 (branch_prob): Avoid empty body in an if-statement.
5875
5876 * regclass.c: Include <stdlib.h>.
5877 (reg_alternate_class): Explicitly declare parameter `regno'.
5878
5879 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
5880 parentheses around assignment used as truth value.
5881 (find_matches): Remove unused variables `output_operand' and
5882 `matching_operand'.
5883 (fixup_match_1): Remove statement with no effect: "if (0) ;".
5884
5885 * scan.c (sstring_append): Explicitly declare `count' as int.
5886 (scan_string): Explicitly declare parameter `init' as int.
5887
5888 * sched.c: Include <stdlib.h>.
5889 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
5890 (rank_for_schedule): Add parentheses around assignment used as
5891 truth value.
5892 (schedule_block): Likewise.
5893 (regno_use_in): Likewise.
5894 (schedule_insns): Remove unused variable `i'.
5895
5896 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
5897 (v_message_with_decl): Remove unused variable `n'.
5898 (botch): Explicitly declare parameter `s' as char *.
5899 (main): Add parentheses around assignment used as truth value.
5900
5901 * tree.c (make_node): Protect the variable `kind' with the
5902 GATHER_STATISTICS macro.
5903 (real_value_from_int_cst): Move variable `e' inside conditional
5904 macro area where it is used.
5905 (tree_last): Add parentheses around assignment used as truth value.
5906 (build1): Protect the variable `kind' with the GATHER_STATISTICS
5907 macro.
5908 (print_obstack_statistics): Reconcile format vs. args in fprintf.
5909 Protect variables `i', `total_nodes', and `total_bytes' with the
5910 GATHER_STATISTICS macro.
5911
4b6bb562
MS
5912Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
5913
5914 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
5915 some comments regarding use of dead_or_set_p.
5916
e95f0195
TV
5917Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
5918
5919 * fixincludes: Tweak fix for struct exception in math.h
5920
c3499f00
GK
5921Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
5922
5923 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
b57062ca 5924 Change mode of registers used to add/sub from
c3499f00
GK
5925 hard_frame_pointer_rtx from word_mode to Pmode.
5926
01898d58
NC
5927Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
5928
6db34dd4
NC
5929 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
5930 asm_output_aligned_bss() instead of asm_output_bss().
5931
01898d58
NC
5932 * toplev.c (rest_of_compilation): Replace references to
5933 stack_reg_dump_file and dbr_sched_dump_file with references to
b57062ca 5934 rtl_dump_file.
01898d58 5935
7b6ffd11
KI
5936Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
5937
5938 * tlink.c (scan_linker_output): Call fclose() for opened files.
5939
60593797
RH
5940Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
5941
5942 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
5943 compiling with -fpic -- we want to be able to override symbols
5944 properly.
5945 (alpha_expand_block_move): Fix thinko in last change.
5946
5947 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
5948 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
5949 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
b57062ca 5950
5e4aab97
RH
5951Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
5952
5953 * alpha.md (abssf, absdf): Revert last change.
5954
69145bcc
JC
5955Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
5956
5957 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
5958 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
5959
4926b75a
JL
5960Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
5961
5962 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
5963 a CONST_INT into SFmode.
5964
c6aded7c
AG
5965Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
5966
5967 * flags.h: New flag (optimize_size).
5968 * toplev.c (main): Parse -Os option and set optimize_space
5969 accordingly.
b57062ca 5970 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
c6aded7c
AG
5971 __OPTIMIZE_SIZE__ when compiling with -Os.
5972 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
5973 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
5974 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
5975 to macro.
5976 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
5977
3698f44e
MH
5978Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
5979
5980 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
5981 stuff only if MCT_TEXT is #define'd.
5982
ac8a456a
MO
5983Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
5984
5985 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
5986 configurations.
5987
032713aa
NC
5988Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
5989
5990 * toplev.c: Add -dM command line option to dump RTL after the
5991 machine dependent reorganisation pass, if there is one.
5992 Reorganise RTL dump code, so that only one file handle is
b57062ca 5993 needed.
032713aa 5994
ec2be682
BK
5995Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
5996
5997 * except.c (check_exception_handler_labels): Disable warning when
5998 flag_syntax_only.
5999
e232b7b3
JW
6000Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
6001
6002 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
6003
2a851b5c
R
6004Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6005
6006 * c-decl.c (grokdeclarator): Get parameter tags from
6007 last_function_parm_tags.
6008 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
6009 traversing the parameter types.
6010 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
6011
808fbfac
JL
6012Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
6013
6014 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
6015 the default case.
6016 (get_shift_alg): Fix typo.
6017
15389075
RH
6018Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
6019
6020 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
6021
83c8ddef
RH
6022Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
6023
6024 * toplev.c (get_run_time): Make sure each case gets its variables.
6025
db81d74a
RH
6026Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
6027
6028 * configure.in (build_xm_file): Add auto-config.h if host=build.
6029 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
6030 (build_xm_file_list): Likewise.
6031 * configure: Rebuild.
b57062ca 6032
f745c7a2
AB
6033Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
6034
6035 * recog.c (validate_replace_rtx_1): Only perform substitutions
6036 of arguments to commutative and comparison operators once.
6037
963f4057
KG
6038Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6039
91a51951
KG
6040 * sparc.c (output_cbranch): Add default case in
6041 enumeration switch.
b57062ca 6042
91a51951
KG
6043 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
6044 (emit_delay_sequence): Eliminate unused parameter, all callers
6045 changed.
6046 (fill_simple_delay_slots): Likewise.
6047 (fill_slots_from_thread): Likewise.
6048 (fill_eager_delay_slots): Likewise.
6049 (mark_referenced_resources): Add default case in enumeration switch.
6050 (mark_set_resources): Likewise.
6051 (rare_destination): Likewise.
6052 (mostly_true_jump): Likewise.
6053 (find_dead_or_set_registers): Likewise.
6054 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
6055 (update_reg_unused_notes): Remove unused variable `p'.
6056 (mark_target_live_regs): Remove unused variables `next' and
6057 `jump_count'.
6058 (fill_simple_delay_slots): Remove unused variable `j'.
6059 (fill_slots_from_thread): Add parentheses around assignment used
6060 as truth value.
6061 (dbr_schedule): Likewise.
6062
963f4057
KG
6063 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
6064 (objc.stage2, objc.stage3, objc.stage4): Likewise.
6065
e82ad93d
MT
6066Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
6067
6068 * cse.c (simplify_ternary_operation): Don't try to simplify
6069 IF_THEN_ELSE expressions (created by combine) that don't use
6070 relational operators.
6071
b4b04bf9
JL
6072Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
6073
ed1ecb19
JL
6074 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
6075 simplifications.
6076
b4b04bf9
JL
6077 * crtstuff.c (init_dummy): Keep the epilogue in the init
6078 section for non-ELF systems.
6079
deeef0ac
R
6080Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6081
6082 * sh.md (movqi_i+1): New peephole.
6083
03566575
JW
6084Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
6085
6086 * Makefile.in: Remove remaining bytecode stuff.
6087 * emit-rtl.c, expr.c: Likewise.
6088
eb96c120
NC
6089Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
6090
6091 * toplev.c (lang_options): Add unknown-pragma options.
6092
f03204e9
PB
6093Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
6094
6095 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
6096 special (and incomplete) handling for Chill arrays.
6097
4e762a38
JC
6098Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
6099
6100 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
6101 to get clock rate.
6102
c3499f00 6103Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
319f217e
GK
6104
6105 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
6106
19f673eb
SS
61071998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
6108
6109 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
6110 .frame directive instead of FRAME_POINTER_REGNUM.
6111
74cf1c6d
RK
6112Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
6113
6114 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
6115 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
6116 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
6117 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
6118 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
6119 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
6120 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
6121 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
6122 mcpu32 or m5200.
6123 * longlong.h: Replace __mc68332__ with __mcpu32__.
6124
e1402e7d
JL
6125Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
6126
6127 * version.c: Bump for snapshot.
6128
6d49a073
JW
6129Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
6130
6131 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
6132 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
6133 * reload1.c (eliminate_regs): Likewise.
6134
c485e6a0
JL
6135Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
6136
6137 * regmove.c (find_matches): Initialize matches->earlyclobber too.
6138
84303d9a
RH
6139Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
6140
6141 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
6142 (negsf2, negdf2): Use proper subtract in IEEE mode.
6143
b93a436e
JL
6144Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
6145
27766f0e
JL
6146 * Makefile.in: Remove more bytecode stuff.
6147 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
6148 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
6149 * f/install.texi, objc/Make-lang.in: Likewise.
6150
b93a436e
JL
6151 * Makefile.in: Remove all bytecode support.
6152 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
6153 * emit-rtl.c: Remove all bytecode support.
6154 * expr.c, expr.h function.c, integrate.c: Likewise.
6155 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
6156 * tree.h, varasm.c: Likewise.
424e713c
JL
6157 * config/m68k/m68k.h: Likewise.
6158 * bi-*, bc-*, bytecode*: Delete bytecode related files.
c9804136 6159 * modemap.def: Likewise.
b93a436e 6160
7e07e3ba
GK
6161Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
6162
6163 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
6164 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
6165
685885b7
RH
6166Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
6167
6168 * i386.md (push): Prohibit symbolic constants if flag_pic.
6169 (movsi+1): Likewise for move to non-register.
6170
5830e3a0
JW
6171Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
6172
11ea364a
JW
6173 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
6174 (print_operand): Handle 0xffffffff on 32 bit host.
6175
a851212a
JW
6176 * configure.in (thread_file): Rename uses before main loop to
6177 target_thread_file. Initialize to empty in main loop. Set thread_file
6178 to target_thread_file after main loop if not set.
6179 * configure: Rebuild.
6180
5830e3a0
JW
6181 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
6182 (add_values_to_cover): Revert last change (which had no ChangeLog
6183 entry).
6184 (simplify_with_current_value_aux): Handle CONST_INT.
6185
829e1aaf
AS
6186Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6187
6188 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
6189
76844337
RH
6190Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
6191
6192 * configure.in: Add cpp stringify test.
6193 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
6194 * gengenrtl.c: Use it.
6195 * configure, config.in: Rebuild.
6196
a3f80023
AS
6197Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6198
6199 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
6200
c5d0345e
RH
6201Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
6202
6203 * configure.in: Find declaration for sbrk.
6204 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
6205 * config.in, configure: Rebuild.
6206 * mips-tfile.c: Properly protect declaration of sbrk and free.
6207 * toplev.c: Properly protect declaration of sbrk.
6208
bb02e7ea
RH
6209Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
6210
6211 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
6212
30c2fa75
JL
6213Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
6214
6215 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
6216
a0372c94
MS
6217Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
6218
6219 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
6220
c9ec4f99
DM
6221Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
6222
0e9ff885
DM
6223 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
6224 constant offset computations from objects with known alignment in
6225 the presence of STACK_BIAS.
6226
7bcac048
DM
6227 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
6228 necessary.
6229 (const_hash): Hash val is unsigned long.
6230 (SYMHASH): Likewise.
6231
6232 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
6233
6234 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
6235 char pointer, not HOST_WIDE_INT.
6236 (print_node): Likewise. Also hash is unsigned long not
6237 HOST_WIDE_INT.
6238
6239 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
6240
c9ec4f99
DM
6241 * explow.c (optimize_save_area_alloca): New function for targets
6242 where SETJMP_VIA_SAVE_AREA is true.
6243 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
6244 compute the amount of stack space needed should we find later that
6245 setjmp is never called by this function, stuff rtl for this inside
6246 a REG_NOTE of the final SET of stack_pointer_rtx.
6247 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
6248 current_function_calls_alloca, call optimize_save_area_alloca.
6249
ca097615
JW
6250Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
6251
6252 * i386.md: Remove redundant integer push patterns.
6253 Don't bother checking for TARGET_PUSH_MEMORY when
6254 pushing constants or registers.
6255
a3105a89
MK
6256Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
6257 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
b57062ca 6258
a3105a89
MK
6259 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
6260 (pwait): New function for mingw32.
6261
6262 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
6263 pipe support is broken for now.
6264
51549d76
LI
62651998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
6266
ffc3503d
JL
6267 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
6268 between frame_pointer_rtx, hard_frame_pointer_rtx, and
6269 arg_pointer_rtx is respected in initialization.
6270 (init_emit_once): Use gen_rtx_raw_REG() to create
6271 return_address_pointer_rtx.
6272
51549d76
LI
6273 * reorg.c: #include "expr.h" for rtx prototypes.
6274 * Makefile.in (reorg.o): Depend on expr.h
6275
b24a815b
PN
6276Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
6277
6278 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
6279 local_prefix to sub-make invocations.
6280
1e7b997a
DM
6281Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
6282
6283 * objc-parse.c: Recognize protocol qualifiers in class definitions.
6284
340fb41f
JL
6285Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
6286
ffc3503d
JL
6287 * rtl.h: Fix typos.
6288
aef28d1d 6289 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6885fc87 6290 * configure.in: Check for atol.
aef28d1d
JL
6291 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
6292
4399e7a3
JL
6293 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
6294
72ec635f
JL
6295 * loop.c (find_and_verify_loops): When attempting to move insns from
6296 inside the loop outside the loop, create a BARRIER if no suitable
6297 one was found.
6298
1be6e437
JL
6299 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
6300 favor of an equivalent change from gcc-2.8.
6301
340fb41f
JL
6302 * i386/x-sco5 (CC): Remove trailing whitespace.
6303
982255c8 6304Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 6305
982255c8
KG
6306 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
6307 (accessor_from_format): Likewise.
6308 (xmalloc): New function for use when linking with alloca.o.
6309
db8abea3
BH
6310Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6311
6312 * frame.c (find_fde): Correct FDE's upper bound.
6313
5d483f63
RH
6314Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
6315
6316 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
6317
9a960e6b
JL
6318Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
6319
6320 * calls.c (expand_call): Move #ifdef code out of macro argument
6321 lists.
6322 (emit_library_call, emit_library_call_value): Likewise.
6323
a4b18346
JL
6324Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
6325
6326 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
6327
a252996a
JL
6328Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
6329
6330 * version.c: Bump for snapshot.
6331
38a448ca
RH
6332Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
6333
6334 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
6335 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
6336 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
6337 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
6338 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
6339 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
6340 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
6341 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
6342 * unroll.c, varasm.c: Likewise.
6343 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
6344
6345Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
60db002d
GK
6346
6347 * mips.h: Fix some type-o's from a previous change.
6348
a8decb2c
JL
6349Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
6350
b57062ca 6351 * loop.c (check_dbra_loop): Make sure initial value is a
a8decb2c
JL
6352 CONST_INT before trying to normalize it.
6353
0e2b736c
RL
6354Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
6355
6356 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
6357
a3aa3d8c
HB
6358Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
6359
6360 * cppexp.c: Include gansidecl.h
6361
8b496c8d
ILT
6362Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
6363
6364 * svr4.h (LINK_SPEC): Never specify -h.
6365 * ptx4.h (LINK_SPEC): Likewise.
6366 * rs6000/sysv4.h (LINK_SPEC): Likewise.
6367 * sparc/sol2.h (LINK_SPEC): Likewise.
6368
c995fea1
RH
6369Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
6370
8d47dfc5
RH
6371 * c-typeck.c (comptypes): Exit early on NULL input.
6372
c995fea1
RH
6373 * haifa-sched.c (schedule_insns): Correctly remove inter-block
6374 dependencies after reload.
6375
88ea0ad1
FS
6376Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6377
6378 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
6379
f5e86959
JL
6380Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
6381
6382 * alpha/vms.h (DIR_SEPARATOR): define
6383
6384Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6c32c807
BH
6385
6386 * Makefile.in (stamp-proto): Remove.
6387 (protoize.o, unprotoize.o): Straightforward compile.
6388 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
6389
93006f8c
MK
6390Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
6391
6392 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
6393 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
6394
e4c4f8df
JL
6395Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
6396
6397 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
6398 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
6399 * sparc/netbsd.h, vax/netbsd.h: Likewise.
6400
4aa0c2a5
SS
6401Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
6402
6403 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
6404
c43143f6
JW
6405Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
6406
6407 * configure.in (target_cpu_default, target_cpu_default2): Use double
6408 quotes around them when testing their value.
6409 * configure: Rebuilt.
b57062ca 6410
4b8140a6
JC
6411Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
6412
6413 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
6414 to allocate rtx.
6415 (gendef): Call obstack_alloc_rtx.
6416
82de9b28 6417Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
fe07d4c1
RL
6418
6419 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
6420 for now.
6421
23092526 6422Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 6423
23092526
MK
6424 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
6425 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
6426 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
6427
b57062ca 6428Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
32318600
JW
6429
6430 * mips.md (return_internal): Change mode from SImode to VOIDmode.
6431
ef720b21
KJ
6432Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
6433
6434 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
6435 "-static".
6436
cde21847
SC
6437Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
6438
6439 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
6440 suffix from operand 3.
6441
184bb750
R
6442Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6443 Jeffrey A Law (law@cygnus.com)
6444
6445 * regmove.c: New implementation of regmove pass.
6446 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
6447 decls, make them have external linkage. Return a value from
6448 optimize_reg_copy_1.
6449 * reload.h (count_occurrences): Add decl.
6450 * reload1.c (count_occurrences): Delete decl, make it have external
6451 linkage.
6452 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
6453
3f9e9508 6454Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
b57062ca 6455
3f9e9508
JL
6456 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
6457 if it is not defined.
b57062ca 6458
3b80f6ca
RH
6459Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
6460
6461 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
6462 * emit-rtl.c (gen_rtx): Move special code to ...
6463 (gen_rtx_CONST_INT): New function.
6464 (gen_rtx_REG): New function.
6465 (*): Update all calls to gen_rtx.
6466 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
6467 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
6468 (GEN_INT): Call gen_rtx_CONST_INT.
6469 * gengenrtl.c: New file.
6470
1c72c7f6
JC
6471Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
6472
6473 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
6474 (base_alias_check): If no base found for address call canon_rtx and
6475 try again.
6476
8fa4e1b4
JL
6477Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
6478
6479 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
6480 arguments for mips16.
6481 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
6482 Don't lose if tsize is zero after handling large stack for mips16.
6483 * mips.md (return): For trivial return, return address is in $31.
6484
eb774d8d
NS
6485Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
6486
6487 * mips/mips16.S: Various changes to make it work with -msingle-float
6488 and -EL.
6489
2bcb2ab3
GK
6490Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
6491 Ian Lance Taylor <ian@cygnus.com>
6492 Jeff Law <law@cygnus.com>
6493
6494 * mips.c, mips.h, mips.md: First cut at merging in mips16
6495 support. Major modifications throughout all three files.
6496
db0d1ed9
SS
6497Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
6498
6499 * configure.in: Make gthr-default.h a forwarding header instead of
6500 a symlink.
6501
79873958
KG
6502Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6503
86e011ad
KG
6504 * gcov-io.h: Include sys/types.h to ensure we get size_t.
6505
79873958
KG
6506 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
6507
35a42f5f
JW
6508Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
6509 Jeffrey A Law (law@cygnus.com)
6510
6511 * crtstuff.c (__frame_dummy): New function for irix6.
6512 (__do_global_ctors): Call __frame_dummy for irix6.
6513 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
6514
ef86d2ee
WL
6515Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
6516
6517 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
6518
6c174fc0
RH
6519Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
6520
6521 * c-decl.c (init_decl_processing): Provide proper fallback symbol
6522 for __builtin_memset.
6523 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
6524 not INTEGER_CST. Assert arg 3 is a constant.
6525
6526 * alpha.c (mode_width_operand): Accept 64-bit modes.
6527 (mode_mask_operand): Likewise.
6528 (print_operand): Likewise for 'M' and 'U' codes.
6529 (alpha_expand_unaligned_load): New function.
6530 (alpha_expand_unaligned_store): Likewise.
6531 (alpha_expand_unaligned_load_words): Likewise.
6532 (alpha_expand_unaligned_store_words): Likewise.
6533 (alpha_expand_block_move): Likewise.
6534 (alpha_expand_block_clear): Likewise.
6535 * alpha.h (MOVE_RATIO): New define.
6536 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
6537 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
6538
6539 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
6540 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
6541
8fbf199e
RH
6542Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
6543
6544 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
6545 * configure: Update.
6546
2d490e3e
JL
6547Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
6548
aa2ae679
JL
6549 * emit-rtl.c (operand_subword): Correctly handle extracting a word
6550 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
6551
2d490e3e
JL
6552 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
6553 for first argument.
6554
6e26218f
ILT
6555Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
6556
6557 * configure.in: Set and subsitute host_exeext. Use it when creating
6558 the assembler and linker symlinks.
6559 * configure: Rebuild.
6560 * Makefile.in (exeext): Set to @host_exeext@.
6561 (build_exeext): New variable, set to @build_exeext@.
6562 (FLAGS_TO_PASS): Pass down build_exeext.
6563 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
6564 programs.
6565
1b31097e
JL
6566Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
6567
6568 * mn10200.md (addsi3, subsi3): Fix thinkos.
6569
194faace
RH
6570Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
6571
6572 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
6573 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
6574 unix always, since we want to be able to thunk to functions in a
6575 shared library from an application.
6576
975602f8
ILT
6577Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
6578
6579 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
6580 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
6581
0eb1ad44
JL
6582Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
6583
6584 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
6585 offset's mode is not ptr_mode, convert it.
6586
eff0f7ac
MM
6587Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
6588
6589 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
6590 compiling if it was already defined.
6591
2c3a56ad
JL
6592Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
6593
6594 * flow.c (find_basic_blocks): Don't create a new basic block
6595 for calls in a LIBCALL block.
6596
fc97718f
DE
6597Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
6598
6599 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
6600
5b5a2a1e
JL
6601Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
6602
6603 * cse.c (rtx_cost): Remove conflicting default case.
6604
128f7968
RH
6605Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
6606
6607 * configure.in: Move default enabling of Haifa out of for loop.
6608 * configure: Rebuild.
6609
e81b4fbe
JL
6610Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
6611
6612 * version.c: Bump for snapshot.
6613
f24af81b
TT
66141997-12-25 Teemu Torma <tot@trema.com>
6615
6616 * Makefile.in (GTHREAD_FLAGS): New var.
6617 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
6618 (distclean): Remove gthr-default.h.
6619
6620 * configure.in: Accept dce as a thread package.
6621 Check for thread.h and pthread.h.
6622 Link gthr-default.h to appropriate thread file and set
6623 gthread_flags.
6624 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
6625 include multilib definitions from pa/t-dce-thr.
6626 (sparc-*-solaris2*): Enable threads by default, if thread.h or
6627 pthread.h is found, preferring posix threads over solaris ones.
6628
6629 * config/pa/t-dce-thr: New file.
6630 * config/pa/t-pa: Removed multilibs.
6631 * config/sparc/t-sol2: Ditto.
b57062ca 6632
f24af81b
TT
6633 * gthr.h: New file.
6634 * gthr-single.h: New file.
6635 * gthr-posix.h: New file.
6636 * gthr-solaris.h: New file.
6637 * gthr-dce.h: New file.
6638 * libgcc-thr.h: Removed.
6639 * objc/thr-dce.c: New file copied from thr-decosf1.c.
6640
6641 * frame.c: Include gthr.h instead of libgcc-thr.h.
6642 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
6643 (eh_context_initialize): If __gthread_once fails, use static eh
6644 context.
6645 (eh_context_free): Call __gthread_key_dtor.
6646
d9a4ee00
JL
6647Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
6648
6649 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
6650
04bd620d
JW
6651Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
6652
556c714b 6653 * cse.c (max_insn_uid): New variable.
556c714b
JW
6654 (cse_around_loop): Use max_insn_uid.
6655 (cse_main): Set max_insn_uid.
6656
04bd620d
JW
6657 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
6658 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
6659 -mlong64, and -mgp{32,64} options.
6660 * mips.c (mips_abi): Change type to int.
6661 * mips.h (enum mips_abi_type): Delete.
6662 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
6663 (mips_abi): Change type to int.
6664
439d5a35
JC
6665Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
6666
6667 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
6668 optimization is now always enabled.
6669
6670 * calls.c (expand_call): Recognize C++ operator new as malloc-like
6671 function.
6672
6673 * alias.c (memrefs_conflict_p): Eliminate tests now done by
6674 base_alias_check.
6675 (*_dependence): Call canon_rtx before base_alias_check.
6676 (init_alias_once): New function to precompute set of registers which
6677 can hold Pmode function arguments.
6678
6679 * rtl.h: Declare init_alias_once.
6680
6681 * toplev.c (compile_file): Call init_alias_once.
6682
280e521f
JL
6683Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
6684
6685 * tree.c (restore_tree_status): Do not dereference a null pointer.
6686
95b8c0c8
PE
6687Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
6688
6689 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
6690 RLIMIT_STACK. This maintains consistency with the recent, similar
6691 patch to cccp.c and toplev.c.
6692
71d9b493
RH
6693Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
6694
6695 * genattrtab.c (expand_units): For large nr opclasses, expand
6696 function_units_used with ORX to prevent blowups. Tag with FFS.
6697 (num_unit_opclasses): New variable.
6698 (gen_unit): Update it.
6699 (enum operator): Add ORX_OP.
6700 (operate_exp): Treat ORX as or, except don't expand across an if.
6701 Reuse number rtx's after operating on them.
6702 (check_attr_value): Accept IOR, AND, & FFS.
6703 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
6704 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
6705 (write_expr_attr_cache, write_toplevel_expr): New functions.
6706 (write_attr_get): Handle FFS-tagged expressions.
6707 (make_canonical): Don't expand const attributes.
6708 (convert_const_symbol_ref): Dike out.
6709 (evaluate_eq_attr): Handle SYMBOL_REF.
6710 (main): Don't emit get_attr_foo for const attributes.
6711
6712 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
6713 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
6714 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
b57062ca
UD
6715 * alpha.md: Redo all of the scheduling, adding EV6 support, and
6716 combining function units where possible.
71d9b493
RH
6717 (attr "type"): Split loads, stores, cmov into int/fp. Combine
6718 multiplies and divides. Add EV6 sqrt, ftoi, itof.
6719 (attr "opsize"): New attribute.
6720 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
6721 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
6722 to control register allocation.
6723 (movsi2-1, movdi2-1): Likewise.
6724
b0435cf4 6725Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
b57062ca 6726
b0435cf4
RH
6727 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
6728 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
6729 Move OSF/1 specific defines out.
6730 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
6731 Move Linux specific defines out.
6732 (LINK_SPEC): Genericize.
6733 (ASM_FILE_START): Emit .arch if using more than the base insn set.
6734 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
6735 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
6736 (HANDLE_SYSV_PRAGMA): Define.
6737 * alpha/osf.h: New file.
6738 * alpha/linux.h: Split. Retain file-format independant defines.
6739 Import Linux bits from elf.h.
6740 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
6741 (FUNCTION_PROFILER): _mcount takes its address in $28.
6742 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
6743 * alpha/linux-ecoff.h: New file.
6744 * alpha/linux-elf.h: New file.
6745 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
6746 * alpha/win-nt.h (TARGET_DEFAULT): Define.
6747 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
6748 Add new headers as appropriate.
b57062ca 6749
b0435cf4
RH
6750 * configure.in (alpha*): Enable Haifa by default.
6751 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
6752 * configure: Rebuild.
b57062ca 6753
5768f211
RH
6754Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
6755
6756 * Makefile.in (clean): Remove the stages with their objects here ...
6757 (distclean): ... instead of here.
6758
9e04c65a 6759Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 6760
9e04c65a
KG
6761 * cse.c (rtx_cost): Add default case in enumeration switch.
6762 * fix-header.c (recognized_macro): Likewise.
6763 (recognized_extern): Likewise.
6764 (write_rbrac): Likewise.
6765 * objc/objc-act.c (encode_aggregate): Likewise.
6766 (gen_declarator): Likewise.
6767 (gen_declspecs): Likewise.
6768
1d88b804
JL
6769Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
6770
6771 * haifa-sched.c (create_reg_dead_note): Detect and handle another
6772 case where we kill more regs after sched than were killed before
6773 sched.
6774 * sched.c (create_reg_dead_note): Similarly.
6775
bbeba0ba
JL
6776Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
6777
6778 * c-pragma.c: Include flags.h.
6779
05853640
MK
6780Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
6781
6782 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
6783 about system headers.
6784 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
6785 and also to resolve symbols in prefix.c.
6786
6787 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
6788 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
6789 when the definitions in auto-config.h is not visible.
6790 (HAVE_BZERO): Likewise.
6791 (HAVE_BCMP): Likewise.
6792 (HAVE_RINDEX): Likewise.
6793 (HAVE_INDEX): Likewise.
6794
44201dba
JL
6795Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
6796
6797 * pa.c (emit_move_sequence): Handle a function label source
6798 operand.
6799
d300e551
NC
6800Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
6801
6802 * c-pragma.c (handle_pragma_token): Generate warning messages
6803 about unknown pragmas if warn_unknown_pragmas is set.
6804
6805 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
6806 line option to set variable: warn_unknown_pragmas.
6807
d3245704
MH
6808Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
6809
6810 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
6811 definition.
6812 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
6813
5198352e
JL
6814Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
6815
6816 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
6817 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
6818 generate more fine grained floating point emulation libraries.
6819 * config/fp-bit.c: Add protecting #ifdef to all functions so
6820 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
6821 then compile all suitable functions.
6822 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
6823 underscores to avoid namespace pollution.
6824 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
6825 (FPBIT): Define.
6826 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
6827 (FPBIT): Define.
6828 (DPBIT): Define.
6829
9f1ff8e8 6830Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1d300e19
KG
6831 Jeff Law <law@cygnus.com>
6832
6833 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
6834 of the declaration.
6835 * c-decl.c (finish_decl): Use parentheses around && within ||.
6836 * rtl.c: Include stdlib.h.
6837 (read_skip_spaces): Add parentheses around assignments used as
6838 truth values.
6839 (read_rtx): Initialize list_rtx.
6840 * cppexp.c (parse_number): Use || when operands are truth values.
6841 * alias.c (find_base_value): Add default case.
6842 (memrefs_conflict): Likewise.
6843 * combine.c (sets_function_arg_p): Likewise.
6844 * genemit.c (gen_exp): Likewise.
6845 * local-alloc.c (contains_replace_regs): Likewise.
6846 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
6847 * fold-const.c (fold_convert): Use "&&" for truth values.
6848 (fold): Add default case.
6849 * sdbout.c (sdbout_field_types): Fix typo in declaration.
6850 (sdbout_one_type): Add default case.
6851 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
6852 (some_operand): Add default case.
6853 (input_operand): Likewise.
6854 (signed_comparison_operator): Likewise.
6855 (divmod_operator): Likewise.
6856 (alpha_set_memflags_1): Likewise.
6857 * reload1.c (reload_cse_simplify_operands): Ensure function
6858 always returns a value.
6859 * scan-decls.c (scan_decls): Likewise.
6860 * c-lex.c (skip_white_space): Fix typo in declaraion.
6861 * c-typeck.c (comp_target_types): Add parentheses around assignment
6862 used as truth value.
6863 (print_spelling): Likewise.
6864 (constructor_implicit, constructor_result): Remove unused variables.
6865 * collect2.c (scan_library): Protect prototype with
6866 #ifdef SCAN_LIBRARIES.
6867 * emit-rtl.c (find_line_note): Fix typo in declaration.
b57062ca 6868 * final.c (asm_insn_count): Protect prototype with
1d300e19
KG
6869 #ifdef HAVE_ATTR_length.
6870 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
6871 (try_pre_increment_1, try_pre_increment): Likewise.
6872 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
6873 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
6874 * gcov-io.h (__store_long, __write_long, __read_long): Fix
6875 unsigned/signed comparisons.
6876 * gcov.c (read_files): Remove unused "first_type" variable.
6877 (scan _for_source_files): Initialize s_ptr.
6878 (function_summary): Eliminate "%lf" formatting, use %ld for
6879 longs.
6880 (output_data): Initialize branch_probs and last_line_num.
6881 Eliminate "%lf" formatting, use "%ld" for longs.
6882
18543a22
ILT
6883Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
6884
afba61d1
ILT
6885 * mips16.S: New file.
6886
6887 * libgcc2.c (varargs): Handle mips16.
6888
18543a22
ILT
6889 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
6890 expression.
6891 * stmt.c (expand_end_case): Likewise.
6892 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
6893 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
33f7f353 6894 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
18543a22 6895
dbf3231e
AS
6896Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6897
6898 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
6899 the build directory.
6900 (libobjc.a): Update dependency list.
6901 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
6902 directory.
6903 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
6904 (objc.mostlyclean): Remove runtime-info.h.
6905
e1ee5cdc
RH
6906Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
6907
6908 * tree.c (build_range_type): Allow creation of ranges with no maximum.
6909 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
6910 * dwarf2out.c (add_subscript_info): Likewise.
6911 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
6912 * sdbout.c (plain_type_1): Likewise.
6913 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
6914 Likewise.
6915 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
6916 Likewise.
6917
dfe91418 6918Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 6919
dfe91418
JL
6920 * mips.c (fatal): Remove declaration.
6921
69221997-12-18 Mark Mitchell <mmitchell@usa.net>
6923
6924 * integrate.c (get_label_from_map): New function.
6925 (expand_inline_function): Use it. Initialize the label_map to
6926 NULL_RTX instead of gen_label_rtx.
6927 (copy_rtx_and_substitute): Use get_label_from_map.
6928 * integrate.h (get_label_from_map): New function.
6929 (set_label_from_map): New macro.
6930 * unroll.c (unroll_loop): Use them.
6931 (copy_loop_body): Ditto.
6932
337e2b69
ILT
6933Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
6934
6935 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
6936 (INIT_TARGET_OPTABS): Define.
6937 * mips/ecoff.h: Include gofast.h before mips.h.
6938 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
6939 * mips/elf64.h: Likewise.
6940 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
6941
02531345
JM
6942Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
6943
6944 * except.c: Remove register_exception_table{,_p}.
6945
913b5d54
GK
6946Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
6947
efb84aa5
GK
6948 * unroll.c (calculate_giv_inc): Handle constant increment found in
6949 a MEM with an appropriate REG_EQUAL note.
6950
bb1b857a
GK
6951 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
6952
913b5d54
GK
6953 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
6954 frame pointer in the prologue.
6955
80aab652
RL
6956Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
6957
6958 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
6959 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
6960
f5c4bc60 6961Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
b57062ca 6962
f5c4bc60
BM
6963 * config/m68k/m68k.c (output_function_prologue): Typecast
6964 dwarf2out_cfi_label to (char *).
6965 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
b57062ca 6966
8dcb5295
RH
6967Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
6968
6969 * sparc.md (jump): Don't use the annul bit around an empty loop.
6970 Patch from Kevin.Kelly@East.Sun.COM.
6971
a99503b1
SC
6972Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
6973
b57062ca 6974 * jump.c: (jump_optimize): Don't use the return register as a
a99503b1
SC
6975 source1 of a conditional move.
6976
e13c943c
RH
6977Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
6978
6979 * sparc.c (DF_MODES): Or the mask not the bit number.
6980 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
6981
be3d27d6
CI
6982Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
6983
6984 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
6985
f184a264
MH
6986Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
6987
ade7386a
MH
6988 * fixincludes (size_t): Add support for Motorola's stdlib.h
6989 which fails to provide a definition for size_t.
6990 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
6991 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
6992 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
6993
f184a264
MH
6994 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
6995 prevent unresolved externals in libio.
6996 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
6997
afc96791
L
6998Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
6999
7000 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
7001 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
7002 (LIB_SPEC): Updated for glibc 2.
7003
e9818f3c
JL
7004Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
7005
7006 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
7007 * ginclude/varargs.h: Likewise.
7008
a3fd4e75 7009Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
7010
7011 * version.c: Bump for snapshot.
7012
a3fd4e75
JL
7013Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
7014
7015 * frame.h (__register_frame, __register_frame_table,
7016 __deregister_frame): New.
7017 * frame.c (__register_frame, __register_frame_table,
7018 __deregister_frame): New.
7019 * frame.c (__deregister_frame_info): Return void *.
7020 * frame.h (__deregister_frame_info): Ditto.
7021 * collect2.c (__deregister_frame_info): Ditto.
7022
166cdf4a
RH
7023Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
7024
7025 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
7026
bcbbac26
RH
7027Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
7028
7029 * alpha.c (alpha_cpu_name): New variable.
7030 (alpha_mlat_string): Likewise.
7031 (alpha_memory_latency): Likewise.
7032 (override_options): Handle -mmemory-latency.
7033 (alpha_adjust_cost): Adjust load cost for latency.
7034 * alpha.h (TARGET_OPTIONS): Add meory-latency.
7035 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
7036 TARGET_CIX into account.
7037 (MEMORY_MOVE_COST): Define in terms of memory_latency.
7038 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
7039
7040 * alpha.h (ASM_COMMENT_START): New macro.
7041
7042Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
7043
7044 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
7045 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
7046
7047 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
7048 SUBREG_REG if the word count is unchanged.
7049 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
7050 subregs of identical word size for push_reload.
7051
a701efba
MM
7052Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
7053
7054 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
7055 if all we're doing is dealing with -Wreturn-type.
7056
5e21ac7a
RH
7057Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
7058
7059 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
7060 Use and 255 instead of zapnot 1, since it schedules better.
7061
296f8acc
JL
7062Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
7063
7064 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
7065 it as volatile.
7066
6d8ccdbb
JL
7067Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
7068
7069 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
7070 dependency we delete. Properly update prev for multiple consecutive
7071 deletions.
7072 (priority): Skip deleted dependence.
7073
14e83f2e
PB
7074Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
7075
7076 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
7077
100d81d4
JM
7078Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
7079
9b8d9d6b
JM
7080 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
7081 determining when a new basic block starts.
7082
74c3447c
JM
7083 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
7084
7085 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
7086 * pa.md (iorsi3): Add missing args to *_operand calls.
7087
100d81d4
JM
7088 * except.c (call_get_eh_context): Don't mess with sequences.
7089 (emit_eh_context): Include the call in the sequence here.
7090
5a5ab947
PE
70911997-12-11 Paul Eggert <eggert@twinsun.com>
7092
7093 * collect2.c (write_c_file_glob): Allocate initial frame object
7094 in static storage and pass its address.
7095
01eb7f9a
JM
7096Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
7097
7098 * except.c (call_get_eh_context): Don't take a parm.
7099 Put the call at the top of the function.
7100 (emit_eh_context): Adjust.
7101 (get_eh_context): Replace with former use_eh_context.
7102 (get_eh_context_once, get_saved_pc_ref): Remove.
7103 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
7104 * except.h: Adjust.
7105 * integrate.c (expand_inline_function): Adjust.
7106 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
7107
d19814a3
ML
7108Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
7109
7110 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
7111 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
7112
7567d496
MH
7113Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
7114
ade7386a 7115 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496 7116 layout on sysV88.
b57062ca 7117 (hypot): Provide a fake for hypot which is broken on
7567d496
MH
7118 m88k-motorola-sysv3.
7119
0a6969ad
JC
7120Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
7121
7122 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
7123 tree_code_name from pointers to arrays.
7124 * tree.c: Remove standard_tree_code_* variables, no longer used.
7125 * print-tree.c: Remove declaration of tree_code_name.
7126
7127 * cp/lex.c (init_lex): Update for tree_code_* changes.
7128 * objc/objc-act.c (init_objc): Likewise.
7129
7130 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
7131 changes.
7132
c55dcc7d
FF
7133Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
7134
7135 * config.sub: Add support for BeOS target.
7136 * configure.in: Likewise.
7137 * ginclude/stdarg.h: Likewise.
7138 * ginclude/stddef.h: Likewise.
7139 * ginclude/varargs.h: Likewise.
7140 * rs6000/beos.h: New file for BeOS.
7141 * rs6000/t-beos: Likewise.
7142 * rs6000/x-beos: Likewise.
7143 * rs6000/xm-beos.h: Likewise.
7144 * toplev.c (get_run_time): Just return 0 on BeOS.
7145
9cf3ae46
JL
7146Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
7147 Toon Moene (toon@moene.indiv.nluug.nl)
7148
7149 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
7150 old and broken Sun3 assemblers. Newer versions handle large
7151 offsets correctly as does the GNU assembler.
7152
7cc273ad
L
7153Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
7154
7155 * objc/objc-act.c (lang_report_error_function): Disable.
7156 * objc/objc-parse.y: Include "output.h".
7157 (yyerror): Remove redundant decl.
7158 (yyprint): Fix prototype.
7159 (apply_args_register_offset): Remove redundant decl.
7160 (get_file_function_name): Likewise.
7161
74d7ab55
JM
7162Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
7163
7164 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
7165 a new basic block.
7166 (find_basic_blocks_1): Likewise.
7167
0776059e
JM
7168Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
7169
7170 * except.c (use_eh_context): Don't copy_rtx a REG.
7171 (emit_throw): Lose old unwinder support.
7172 (expand_internal_throw): Likewise.
7173 * libgcc2.c (struct eh_context): Likewise.
7174 (new_eh_context): Likewise.
7175 (__get_eh_info): Lose redundant cast.
7176 (__get_dynamic_handler_chain): Likewise.
7177 (__get_saved_pc): Lose.
7178 Lose all old unwinder support code.
7179
154bba13
TT
7180Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
7181
7182 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
b57062ca 7183
154bba13
TT
7184 * integrate.c (expand_inline_function): If the inline fn uses eh
7185 context, make sure that the current fn has one.
7186 * toplev.c (rest_of_compilation): Call emit_eh_context.
7187 * except.c (use_eh_context): New fn.
7188 (get_eh_context_once): New fn.
7189 (call_get_eh_context): New fn.
7190 (emit_eh_context): New fn.
7191 (get_eh_context): Call either get_eh_context_once or
7192 call_get_eh_context, depending on what we have.
7193 (get_dynamic_handler_chain): Call get_eh_context_once.
7194 * except.h: Prototypes for fns above.
7195 * optabs.c (get_eh_context_libfunc): Removed.
7196 (init_optabs): Don't initialize it.
7197 * expr.h (get_eh_context_libfunc): Removed.
7198 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
7199 * config/pa/pa.h (CPP_SPEC): Support for -threads.
7200 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
7201 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
7202 New multilib for -threads.
7203 * config/sparc/t-sol2: Added multilibs for -threads and
7204 made -pthreads alias to it.
7205 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
7206 Added -threads and -pthreads options.
7207 * libgcc-thr.h: New file.
7208 * libgcc2.c: (__get_cpp_eh_context): Removed.
7209 (struct cpp_eh_context): Removed.
7210 (struct eh_context): Replaced cpp_eh_context with generic language
b57062ca 7211 specific pointer.
154bba13
TT
7212 (__get_eh_info): New function.
7213 (__throw): Check eh_context::info.
7214 (__sjthrow): Ditto.
7215 * libgcc2.c: Include libgcc-thr.h.
7216 (new_eh_context, __get_eh_context,
7217 eh_pthread_initialize, eh_context_initialize, eh_context_static,
7218 eh_context_specific, eh_context_free): New functions.
7219 (get_eh_context, eh_context_key): New variables.
7220 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
7221 get_eh_context to get the context.
7222 (longjmp): Move the declaration inside
7223 #ifdef DONT_USE_BUILTIN_SETJMP.
7224 * frame.c: Include libgcc-thr.h.
7225 (object_mutex): Mutex to protect the object list.
7226 (find_fde, __register_frame, __register_frame_table,
7227 __deregister_frame): Hold the lock while accessing objects.
7228 * except.h (get_eh_context): Declare.
7229 * except.c (current_function_ehc): Define.
7230 (current_function_dhc, current_function_dcc): Removed.
7231 (get_eh_context): New function.
7232 (get_dynamic_handler_chain): Use get_eh_context.
7233 (get_saved_pc_ref): Ditto.
7234 (get_dynamic_cleanup_chain): Removed references to
7235 current_function_dcc.
7236 (save_eh_status, restore_eh_status): Save and restore
7237 current_function_ehc instead.
7238 * optabs.c (get_eh_context_libfunc): New variable.
7239 (init_optabs): Initialize it.
7240 * expr.h: Declare get_eh_context_libfunc.
7241 * function.h (struct function): Replaced dhc and dcc with ehc.
7242 * except.c (get_saved_pc_ref): New functions.
7243 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
7244 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
7245 of eh_saved_pc.
7246 (end_eh_unwinder): Likewise.
7247 (init_eh): Remove initialization of eh_saved_pc.
7248 * optabs.c (get_saved_pc_libfunc): New variable.
7249 (init_optabs): Initialize it.
7250 * expr.h: Declare get_saved_pc_libfunc.
7251 * except.h (eh_saved_pc_rtx): Deleted.
7252 (get_saved_pc_ref): Declared.
7253
7254 From Scott Snyder <snyder@d0sgif.fnal.gov>:
7255 * libgcc2.c (__get_saved_pc): New.
7256 (__eh_type, __eh_pc): Deleted.
7257 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
7258 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
7259 this fcn.
7260
68d75312
JC
7261Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
7262
b16d8734
JC
7263 * sparc/sol2.h: Use 64 bit multiply and divide functions in
7264 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
7265 as 0.
7266
68d75312
JC
7267 * rtl.h (global_rtl): New variable, replacing separate variables for
7268 commonly used rtl.
7269 (const_int_rtx): Now array of rtx_def, not rtx.
7270 * emit-rtl.c: Update for new rtl data structures.
7271 * genattrtab.c: Define global_rtl.
7272
44517326 7273Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 7274
44517326
DE
7275 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
7276 default.
f40421ce 7277
8587487b
AG
7278Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
7279
7280 * crtstuff.c (__do_global_ctors): Fix typo.
7281
08ce3276
MH
7282Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
7283
7284 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
7285 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
7286
c229cba9
DE
7287Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
7288
7289 * rs6000.h (FUNCTION_ARG_PADDING): Define.
7290 * rs6000.c (function_arg_padding): New function.
7291
b2c59d0b
MH
7292Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
7293
7294 * m68k.c: Include tree.h only once.
7295
c1132c27
RK
7296Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7297
7298 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
7299
ac957f13
JL
7300Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
7301
7302 * Partially cleaned up prototyping code from HJ.
a1d061a1 7303 * tree.h: Add many prototypes.
ac957f13
JL
7304 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
7305 All references changed.
7306 * rtl.h: Protect from multiple inclusions. Add many prototypes.
b57062ca 7307
f40421ce 7308Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
7309
7310 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
7311 string functions like strlen.
7312
0a232106
MH
7313Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
7314
7315 * configure.in: Check for functions getrlimit and setrlimit.
7316 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
7317 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
7318
25b76cc1
JS
7319Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
7320
7321 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
7322
26250081
RH
7323Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
7324
7325 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
7326 Fix merge problems.
7327
7328 * alpha.c (override_options): Don't know about scheduling for EV6.
7329 * alpha.md (ev5 function units): Don't overload as ev6.
7330
7331 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
7332 * alpha.md (define_attr type): Add mvi.
7333 (ev5_e0): Define sceduling parameters for it.
7334 (TARGET_MAX insns): Type is mvi not shift.
7335
7120f213
RH
7336Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
7337
7338 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
7339
afa80947
R
7340Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7341
7342 * cstamp-h, auto-config.h: Delete.
7343
51ca169b
JL
7344Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
7345
7346 * version.c: Bump for snapshot.
7347
16169366
JL
7348Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
7349
7350 * cccp.c: Fix typo brought over in merge.
7351
efeb5d4f 7352 * Merge in changes from gcc-2.8.
0fe09481 7353
da932f04
JL
7354Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
7355
7356 * m68k.c: Include tree.h for dwarf2out_cfi_label.
7357
7358 * gcc.c (process_command): Do not take address of function fatal when
7359 calling lang_specific_driver.
7360
7361Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
7362
b57062ca 7363 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
da932f04
JL
7364 doesn't work with it yet, so set it to 0.
7365 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
7366
7367Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
7368
7369 * cse.c (cse_insn): Check for invalid entries when taking references.
7370
81797aba
JL
7371Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7372
7373 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
7374 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
7375 * toplev.c (rest_of_compilation): Pass it. Remove code to
7376 save / clear / restore flag_unroll_{,all_}loops.
7377
7378Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
7379
7380 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
7381
7382Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
7383
7384 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
7385
5dfa7520
JM
7386Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
7387
d07daca1
JM
7388 * except.c (get_dynamic_handler_chain): Only make the call once per
7389 function.
7390
5dfa7520
JM
7391 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
7392
4d7b7169
R
7393Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7394
7395 * sh.c (final_prescan_insn): Use local label prefix
7396 when emitting .uses pseudo-ops.
7397
e701eb4d
JM
7398Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
7399
7400 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
7401 * except.c: Lose outer_context_label_stack.
7402 (expand_eh_region_end): Rethrow from outer_context here.
7403 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
7404 (expand_internal_throw): Take no args.
7405 (expand_internal_throw_indirect): Lose.
7406 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
7407 (expand_start_all_catch): Start a rethrow region.
7408 (expand_end_all_catch): End it.
7409 (expand_rethrow): New fn.
7410 * except.h: Reflect above changes.
7411 * flow.c: Revert change of Nov 27.
7412
6a242b6a
JL
7413Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
7414
7415 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
7416
9762d48d
JM
7417Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
7418
7419 * except.c (expand_fixup_region_end): New fn.
7420 (expand_fixup_region_start): Likewise.
7421 (expand_eh_region_start_tree): Store cleanup into finalization here.
7422 * stmt.c (expand_cleanups): Use them to protect fixups.
7423
868e82ab
GK
7424Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
7425
7426 * mips/mips.md (muldi3_r4000): Broaden the output template
7427 and attribute assignments to handle three operand dmult;
7428 rename to muldi3_internal2.
7429 (muldi3): Call the new muldi3_internal2 for R4000, and
7430 any GENERATE_MULT3 chip.
7431
716cc7f7
JM
7432Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
7433
7434 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
7435
9fb82071
JW
7436Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
7437
7438 * unroll.c (find_splittable_givs): Remove last change. Handle givs
7439 with a dest_reg that was created by loop.
7440
f2d76545
JL
7441Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
7442
7443 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
7444
7445 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
7446
b4dfb707
JL
7447Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
7448
7449 * configure.in: Fix NCR entries.
7450
80c2681c
JL
7451Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
7452
586a5f99
JL
7453 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
7454 nested exceptions correctly.
7455
80c2681c
JL
7456 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
7457 that was created by loop.
7458
f45ebe47
JL
7459Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
7460
7461 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
7462
7463 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
7464
034e84c4
MM
7465Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
7466
8fbd2dc7
MM
7467 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
7468 (print_operand): Use SMALL_DATA_REG for the register involved in
7469 small data relocations.
7470 (print_operand_address): Ditto.
7471
7472 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
7473 -dynamic linker is not used.
7474
a226df46
MM
7475 * rs6000.md (call insns): For local calls, use @local suffix under
7476 System V. Don't use @plt under Solaris.
7477
034e84c4
MM
7478 * rs6000.c (output_function_profiler): Put label address in r0, and
7479 store LR in 4(sp) for System V/eabi.
7480
7481 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
7482 byte boundary, and maintain stack backchain.
7483
f2d76545
JL
7484Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7485
7486 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7487 fix_truncsfdi2): Change *.
7488
33e5c8c3
JM
7489Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
7490
7491 * toplev.c (main): Complain about -gdwarfn.
7492
f45ebe47
JL
7493Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
7494
b57062ca 7495 * dwarfout.c (output_type): If finalizing, write out nested types
f45ebe47
JL
7496 of types we've already written.
7497
92dcf4c8
MM
7498Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
7499
7500 (patches originally from Geoffrey Keating)
7501 * rs6000.c (function_arg): Excess floating point arguments don't
7502 go into GPR registers after exhausting FP registers under the
7503 System V.4 ABI.
7504 (function_arg_partial_nregs): Ditto.
7505
7506 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
7507 suffix to calls.
7508
f4744807
JM
7509Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
7510
7511 * integrate.c (output_inline_function): Just unset DECL_INLINE.
7512
7513Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
7514
7515 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
7516 proper alignment.
7517
7518 * libgcc2.c (__throw): Initialize HANDLER.
7519
0609f021
JW
7520Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7521
7522 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7523 fix_truncsfdi2): Change *X to ?*X.
7524
c905c108
RH
7525Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
7526
7527 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
7528
5041a61c
JL
7529Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
7530
7531 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
7532
bb727b5a
JM
7533Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
7534
7535 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
7536
7537Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
7538
7539 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
7540 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
7541 * expr.h: Likewise.
7542
f45ebe47
JL
7543Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
7544
7545 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
7546 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
7547 gas and not using the new HP assembler.
7548
ef85603e
JL
7549Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
7550
7551 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
7552 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
7553
6cc1f5cb
AC
7554Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
7555
7556 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
7557 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
7558 definition.
7559
72eb1038
BH
7560Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
7561
7562 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
7563
1418bb67
JM
7564Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
7565
7566 * except.h: Add outer_context_label_stack.
7567 * except.c: Likewise.
7568 (expand_start_all_catch): Push the outer_context for the try block
7569 onto outer_context_label_stack.
7570 (expand_end_all_catch): Use it and pop it.
7571
9dab7833
RL
7572Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
7573
7574 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
7575
858e4e8c
RH
7576Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
7577
7578 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
7579
a21d14e9
KK
7580Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
7581
7582 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
7583 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
7584
ced78d8b
JM
7585Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
7586
7587 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
b57062ca 7588 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
ced78d8b
JM
7589 __builtin_delete, and __builtin_vec_delete.
7590
7591 * except.c (output_exception_table): Don't bother with
7592 __EXCEPTION_END__.
7593
a09ff88b
JL
7594Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
7595
1b8b89f1
JL
7596 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
7597 is an in/out operand.
7598 (zero extended variants of stwm/stwm patterns): Similarly.
7599
a09ff88b
JL
7600 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
7601
7bb9fb0e
JM
7602Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
7603
7604 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
7605 Use assemble_name.
7606 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
7607 (output_call_frame_info): Emit a \n after using it.
7608
9101297d
DL
7609Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
7610
7611 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
7612
2ed2af28
PDM
7613Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
7614
7615 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
7616 (ASM_OUTPUT_DWARF_VALUE4): New macro.
7617 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
7618 defined.
7619 (output_call_frame_info): Do not output forward label differences
7620 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
7621 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
7622
4dff12bf
R
7623Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7624
7625 * sh.md (attribute "type"): Add nil.
7626 (movsi_ie): y/y alternative is type nil.
7627 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
7628 alternatives.
7629 (movsf_ie+1): Delete.
7630
218c2cdb
JW
7631Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
7632
7633 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
7634 large_int, emit two insns instead of one splitable insn.
7635 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
7636 from cfa_temp_value, use cfa_offset. Add assert checking that
7637 cfa_reg is SP.
7638
d5b79362
TT
7639Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
7640
7641 * cccp.c (deps_output): Properly quote file names for make.
7642
de1ea87a
JL
7643Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
7644
7645 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
7646
cb0112a7
RL
7647Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
7648
7649 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
7650
85c3ba60
JL
7651Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
7652
7653 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
7654 return.
7655 (cse_end_of_basic_block): Similarly.
ef720b21 7656
9155d500
KJ
7657Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
7658
7659 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
7660 (SELECT_RTX_SECTION): Define.
7661 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
7662
4931312c
MH
7663Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
7664
7665 * Makefile.in (compare, compare-lean): Define $stage for each
7666 shell command.
7667 (gnucompare, gnucompare-lean): Likewise.
7668
8dfe3c62
RH
7669Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
7670
7671 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
7672
7673 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
7674 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
7675
874a8709
FF
7676Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
7677
7678 * dwarfout.c (byte_size_attribute): Add local var upper_bound
7679 and add case to handle STRING_TYPE.
7680 * dwarfout.c (output_string_type_die): Fix code to generate
7681 correct string length attribute for fixed length strings.
7682 Still needs support for varying length strings.
7683
ea466196
JL
7684Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
7685
7686 * toplev.c (get_run_time): Do something sensible for cygwin32.
7687
202f590e
RH
7688Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
7689
f35bcbc5
RH
7690 * expr.c (expand_builtin_setjmp): Set
7691 current_function_has_nonlocal_label.
7692 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
7693 call-saved registers across calls.
7694
7695 * alpha.md (exception_receiver): Remove.
7696 (nonlocal_goto_receiver_osf): New
7697 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
7698 (nonlocal_goto_receiver): New, select _osf or _vms.
7699
531ea24e
RH
7700 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
7701 keep them from being propogated to the object file.
7702 (alpha_write_linkage): Likewise.
7703 * alpha.md (call_vms): Likewise.
7704 (call_value_vms): Likewise.
7705 (unnamed osf call insns): Likewise.
7706
7707 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
7708 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
7709
202f590e
RH
7710 * alpha.c (call_operand): Any reg is valid for WinNT.
7711 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
7712 (anon nt calls): Add 'R' alternative.
7713 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
7714 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
7715
238ad62b
JL
7716Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
7717
f78b5ca1
JL
7718 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
7719
238ad62b
JL
7720 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
7721 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
7722 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
7723
da275344
MM
7724Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
7725
7726 * reload1.c (new_spill_reg): Improve fixed or forbidden register
7727 spill error message.
7728
1f1e1545
KG
7729Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7730
7731 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
7732 use varargs.h. Wrap header with <>, not "".
7733
daa4b717
JL
7734Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
7735
7736 * integrate.c (save_for_inline_copying): Add return value from
7737 savealloc.
7738
9bb5394e
BK
7739Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
7740
7741 * fixincludes: Be a little more restrictive on what we will
7742 substitute to replace definitions of MAXINT for HPUX.
7743
9571f69b
MM
7744Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
7745
7746 * dbxout.c (dbxout_symbol_location): Don't assume that variables
7747 whose address is the stack or argument pointers are indirect
7748 pointers.
7749
b57062ca
UD
77501997-11-13 Paul Eggert <eggert@twinsun.com>
7751
e7cbb6b6
PE
7752 * cccp.c, cpplib.c (compare_defs):
7753 Don't complain about arg name respellings unless pedantic.
b57062ca
UD
7754 * cpplib.c (compare_defs): Accept pfile as new arg.
7755 All callers changed.
e7cbb6b6 7756
9f29ca78
R
7757Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7758
7759 * fold-const.c (fold_truthop): Fix bug in last change.
7760
41c9120b
PE
77611997-11-13 Paul Eggert <eggert@twinsun.com>
7762
7763 Fix some confusion with IEEE minus zero.
7764
7765 * real.h (REAL_VALUES_IDENTICAL): New macro.
7766
7767 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
7768 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
7769 identical to 0.0.
7770 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
7771 same tree structure as 0.0.
7772
7773 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
7774 macro instead of doing it by hand.
7775
323d8e7b
JL
7776Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
7777
7778 * v850/lib1funcs.asm: Minor whitespace changes.
7779 * v850.c: Fix minor formatting problems in many places.
7780 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
7781
13529ea4
JW
7782Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
7783
7784 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
7785 xplus1 when xplus0 is not a register.
7786
759c135e
JL
7787Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
7788
8930b063
JL
7789 * flow.c (find_basic_blocks): During marking phase, if we encounter
7790 an insn with a REG_LABEL note, make the target block live and
7791 create an edge from the insn to the target block. Do not make
7792 edges from all blocks to the target block.
7793
0be28489
JL
7794 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
7795
759c135e
JL
7796 * confiugre.in: Tweak NCR entries.
7797 * configure: Rebuilt.
7798
47ad8c61
MM
7799Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
7800
7801 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
7802 pick apart floating point values, instead of using CONST_DOUBLE_LOW
7803 and CONST_DOUBLE_HIGH.
7804
7805 * rs6000.md (define_splits for DF constants): Use the appropriate
7806 REAL_VALUE_* interface to pick apart DF floating point constants in
7807 a machine independent fashion.
7808
5a6b3365
R
7809Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7810
7811 * fold-const.c (fold_truthop): When changing a one-bit comparison
7812 against zero into a comparison against mask, do a proper sign
7813 extension.
7814
2ec1535d
JL
7815Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
7816
3a88cbd1
JL
7817 * except.c: Do not include "assert.h".
7818 (save_eh_status): Turn asserts into conditional aborts.
7819 (restore_eh_status, scan_region): Likewise.
7820 * dwarfout.c: Do not include "assert.h".
7821 (bit_offset_attribute): Turn asserts into conditional aborts.
7822 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
7823 (output_inlined_structure_type_die): Likewise.
7824 (output_inlined_union_type_die): Likewise
7825 (output_tagged_type_instantiation): Likewise.
7826 (dwarfout_file_scope_decl): Likewise.
7827 * dwarf2out.c: Do not include "assert.h"
7828 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
7829 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
7830 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
7831 (add_bit_size_attribute, scope_die_for): Likewise.
7832 (output_pending_types_for_scope): Likewise.
7833 (get_inlined_enumeration_type_die): Likewise.
7834 (get_inlined_structure_type_die): Likewise.
7835 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
7836 (gen_tagged_type_instantiation_die): Likewise.
7837
2ec1535d
JL
7838 * flow.c (find_basic_blocks): Refine further to get a more correct
7839 cfg, especially in the presense of exception handling, computed
7840 gotos, and other non-trivial cases. Call abort if an inaccuracy
7841 is detected in the cfg.
7842
a6124a42
R
7843Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7844
7845 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
7846
7847 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
7848 (skip_white_space): Use whitespace_cr.
7849 (check_newline): Handle whitespace more consistently.
7850
8f3189a4
JW
7851Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
7852
7853 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
7854 * i386/xm-cygwin32.h (POSIX): Define.
7855
6d1350cd
GK
7856Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
7857
7858 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
7859 is available elsewhere.
7860
d1f4474e
DE
7861Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
7862
7863 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
7864 what the instruction can handle.
7865
c7ae64f2
JM
7866Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
7867
7868 * stmt.c (expand_decl_cleanup_no_eh): New fn.
7869
7870 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
7871
ea64ef27
JL
7872Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
7873
7874 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
7875 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
7876
47ad8c61
MM
7877Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
7878
7879 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
7880 swap instruction order.
7881
0ff27f58
JL
7882Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
7883
7884 * fixinc.svr4 (__STDC__): Add another case.
7885
7091039c
R
7886Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7887
7888 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
7889 addresses in the epilogue delay slot.
7890
553914ad
MH
7891Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
7892
7893 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
7894 in generated `specs' file.
7895
64fde701
JW
7896Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
7897
7898 * flags.h (flag_rerun_loop_opt): Declare.
7899 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
7900 * toplev.c (flag_rerum_loop_opt): Delete static.
7901
1245df60
R
7902Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7903
1245df60
R
7904 Bring over from FSF:
7905
7906 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7907
7908 * va-sh.h (__va_arg_sh1): Define.
7909 (va_arg): Use it.
7910 SH3E doesn't use any integer registers for subsequent arguments
7911 once a non-float value was passed in the stack.
7912 * sh.c (machine_dependent_reorg): If optimizing, put explicit
7913 alignment in front label for ADDR_DIFF_VEC.
7914 * sh.h (PASS_IN_REG_P): Fix SH3E case.
7915 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
7916
7917 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7918
7919 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
7920 svr4.h.
7921
7922 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7923
7924 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
7925 put an use_sfunc_addr before each sfunc.
7926 * sh.md (use_sfunc_addr, dummy_jump): New insns.
7927 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
7928
7929 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7930
7931 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
7932
97991933
JM
7933Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
7934
7935 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
7936 linked once FDEs.
7937
eaf407a5
JL
7938Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
7939
7940 * alias.c (find_base_value): Only return the known base value for
7941 pseudo registers.
7942
4f9ca067
JW
7943Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
7944
7945 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
7946 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
7947 to pattern.
7948 (prologue_get_pc_and_set_got): New pattern.
7949
f4e31cf5
RH
7950Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
7951
7952 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
7953 for SUBREG, just fall through.
7954
7955 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
7956
7957 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
7958
f754c4a1
JL
7959Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
7960
3ed18aeb
JL
7961 * fixincludes: Fix "hypot" prototype in NeXT math.h.
7962
3fe40e05
JL
7963 * Makefile.in (USE_ALLOCA): Always include alloca.o.
7964 (USE_HOST_ALLOCA): Likewise.
7965
f754c4a1
JL
7966 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
7967 and LABEL_REFS fields.
7968 * rtl.h (LABEL_REFS): Update.
7969
ab00eb0a
JW
7970Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
7971
ff3467a9
JW
7972 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
7973 sets i2dest. When calling distribute_notes for i3dest_killed, pass
7974 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
7975 sets i1dest.
7976
4911814e
JW
7977 * mips.md (insv, extzv, extv): Add change_address call.
7978 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
7979
474eff88
JW
7980 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
7981
3feffdfe
JW
7982 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
7983
ab00eb0a
JW
7984 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
7985 save_restore_insns if no FP and GP will be restored.
7636d567 7986
31c8581d
JW
7987 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
7988 Convert CCmode to word_mode before calling GET_MODE_SIZE.
7989
7636d567
JW
7990 * acconfig.h (HAVE_INTTYPES_H): Undef.
7991 * configure.in (inttypes.h): Check for conflicts between sys/types.h
7992 and inttypes.h, and verify that intmax_t is defined.
7993 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
7994 * config/mips/x-iris3: Likewise.
7995
73774bc7
JL
7996Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
7997
7998 * alias.c (find_base_value): When copying arguments, return the
7999 tenative value for a hard register.
8000
645ebf37
DE
8001Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
8002
8003 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
8004 (yylex): Record wide strings using target endianness, not host.
8005
f7620587
JL
8006Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
8007
8008 * mn10200.h (ASM_OUTPUT_BSS): Delete.
8009 (ASM_OUTPUT_ALIGNED_BSS): New macro
8010 * mn10300.h (ASM_OUTPUT_BSS): Delete.
8011 (ASM_OUTPUT_ALIGNED_BSS): New macro.
8012 * v850.h (ASM_OUTPUT_BSS): Delete.
8013 (ASM_OUTPUT_ALIGNED_BSS): New macro.
8014
1686f1a2 8015Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
b57062ca 8016
1686f1a2
R
8017 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
8018
f6857708
JL
8019Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
8020
8021 * configure.in (sco5): Use cpio to install header files.
8022
e566af04
MH
8023Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
8024
8025 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
8026 14 char length.
8027 * configure: Rebuild.
8028
cbd44549
RL
8029Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
8030
8031 * i386/sco5.h: enable -gstabs once again.
8032
56636818
JL
8033Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
8034
8035 * arm.c (output_move_double): Allocate 3 entries in otherops array.
8036
9ad8a5f0
MS
8037Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
8038
8039 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
8040 notes for sjlj exceptions too.
8041 (expand_eh_region_end): Similarly for EH_REGION_END notes.
8042 (exception_optimize): Optimize EH regions for sjlj exceptions too.
8043 * final.c (final_scan_insn): Don't output labels for EH REGION
8044 notes if doing sjlj exceptions.
8045
f8671389
JL
8046Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
8047
8072f69c
JL
8048 * alias.c (init_alias_analysis): Handle -fno-alias-check when
8049 optimizing correctly.
8050
6cad9e32
JL
8051 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
8052 or set current_function_calls_setjmp anymore.
8053
f8671389
JL
8054 * flow.c (find_basic_blocks): If we delete the label for an
8055 exception handler, remove it from the EH label list and remove
8056 the EH_BEGIN/EH_END notes for that EH region.
8057
a886ae74
JM
8058Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
8059
8060 * flow.c (find_basic_blocks): Generate correct flow control
8061 information when exception handling notes are present.
8062
c2c85462
JL
8063Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
8064
8065 * dwarf2out.c (output_call_frame_info): Fix length argument
8066 to ASM_OUTPUT_ASCII.
8067 (output_die, output_pubnames, output_line_info): Likewise.
8068
8c316ae2
JL
8069Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
8070
27ca375a
JL
8071 * version.c: Bump for snapshot.
8072
8d4e65a6
JL
8073 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
8074 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
8075 flag_debug_asm is on.
8076 (output_die, output_pubnames, output_line_info): Likewise.
8077
ec907dd8
JL
8078 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
8079 and static_chain_rtx into the potential base values array if
8080 they are registers.
8081
8082 * alias.c (new_reg_base_value): New array of potential base values.
8083 (unique_id): Now file scoped static.
8084 (find_base_value, case REG): Return the value in reg_base_value
8085 array for the REG if it exists. Else, return the value from
8086 new_reg_base_value if copying args and REG is a hard register.
8087 (find_base_value, case PLUS): If either operand of the PLUS is
8088 a REG, try to get its base value. Handle base + index and
8089 index + base.
8090 (record_set): Use new_reg_base_value instead of reg_base_value.
8091 (init_alias_analysis): Allocate space for new_reg_base_value too.
8092 Rework code to iterate over the insns propagating base value
8093 information until nothing changes.
8094
8c316ae2
JL
8095 * global.c (global_alloc): Free the conflict matrix after
8096 reload has finished.
8097
6874c264
JM
8098Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
8099
8100 * libgcc2.c (L_eh): Define __eh_pc.
8101 Replace __eh_type with generic pointer __eh_info.
8102
59fe8c2c
R
8103Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
8104
8105 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
8106 use copy_to_reg if address is not a general_operand.
8107
d1271ded
R
8108Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8109
8110 * profile.c (output_func_start_profiler): Clear flag_inline_functions
8111 for the duration of the call to rest_of_compilation.
8112
ac52b80b
DE
8113Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
8114
8115 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
8116 Set extra_parts.
8117 (sparc*-*-*): Recognize --with-cpu=v9.
8118 * sparc/elf.h: New file.
8119 * sparc/t-elf: New file.
8120
f8912297
JL
8121Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
8122
8123 * mn10300.c (const_8bit_operand): New function.
8124 (mask_ok_for_mem_btst): New funtion.
8125 * mn10300.md (btst patterns with mem operands): Use new functions
8126 to avoid creating btst instructions with invalid operands.
8127
05ef204d
MM
8128Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
8129
8130 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
8131 are running on PowerPC Linux.
8132
feecabdf
GK
8133Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
8134
8135 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
8136 if not previously defined.
8137
de957303
DE
8138Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
8139
8140 * function.c (assign_parms): Correct mode of stack_parm if
8141 entry_parm underwent a mode conversion.
8142
ba3b3878
BK
81431997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
8144
8145 * global.c (global_alloc): Use xmalloc instead of alloca for
8146 CONFLICTS, since max_allocno * allocno_row_words alone can be more
8147 than 2.5Mb sometimes.
8148
d540ae2c
RH
8149Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
8150
8151 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
8152 DEST for the spill, adjust mode of SRC to compensate.
8153
42f4929d
RH
8154Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
8155
8156 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
8157 since any_memory_operand() allows pseudos during reload.
8158 (reload_inhi, reload_outqi, reload_outhi): Likewise.
8159
08417478
JW
8160Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
8161
8162 * m68k.md (btst patterns): Add 5200 support.
8163
750e8348
TM
8164Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
8165
8166 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
8167 optimizations, look inside dividend to determine if the expression
8168 can be simplified by using EXACT_DIV_EXPR.
8169
ede19932
JM
8170Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
8171
8172 From Brendan:
8173 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
8174
66d91cb9
RH
8175Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
8176
8177 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
8178
4f3f5e9f
RH
8179Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
8180
8181 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
8182 on a CLOBBER.
8183
f3352b9e
RH
8184Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
8185
8186 * alpha.md (movqi, movhi): Make sure new insns created during reload
8187 won't need reloading themselves.
8188 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
8189
0cecc190
JL
8190Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
8191
8192 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
8193
a09ba5a2
RH
8194Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
8195
8196 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
8197 Patch from Klaus Kaempf <kkaempf@progis.de>.
8198
7581a30f
JW
8199Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
8200
8201 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
8202 to an element in a constant string.
8203
d84e64d4
JM
8204Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
8205
8206 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
8207 bit PC-relative offset. The exception range table pointer is now in
8208 the CIE.
8209 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
8210 (count_fdes, add_fdes, get_cie): Adjust.
8211 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
8212
8213 From H.J. Lu:
8214 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
8215
96286722
RH
8216Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
8217
8218 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
8219 like stack_pointer_rtx.
8220
e85988b5
MH
8221Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
8222
361e618f
MH
8223 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
8224 targets using "$@" to provide support for similar but not identical
8225 targets without having to duplicate code.
8226 (bootstrap4): New goal.
8227
e85988b5
MH
8228 * Makefile.in (compare, compare-lean, compare3): Combined to one
8229 ruleset determining actions to be performed via $@.
8230 (compare4, compare4-lean): New targets.
8231 (gnucompare, gnucompare3): Combined to one ruleset determining
8232 actions to be performed via $@. Also, note which files failed
8233 the comparison test in .bad_compare.
8234 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
8235
91585c63
TM
8236Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
8237
8238 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
8239 if the dividend is a multiple of the divisor.
8240
da0af5a5
JL
8241Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
8242
7337c67f
JL
8243 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
8244
adb9effb 8245 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 8246 and POS_DEC.
6d849a2a
JL
8247
8248 * alias.c (true_dependence): Fix typo.
8249
6d6d0fa0
JL
8250 * toplev.c (flag_rerun_loop_opt): New variable.
8251 (f_options): Handle -frerun-loop-opt.
8252 (rest_of_compilation): If -frerun-loop-opt, then run the loop
8253 optimizer twice.
8254 (main): Enable -frerun-loop-opt by default for -O2 or greater.
8255
da0af5a5
JL
8256 * loop.c (simplify_giv_expr): Adding two invariants results
8257 in an invariant.
8258
ca0f2220
RH
8259Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
8260
b57062ca 8261 * expr.c (get_inner_reference): Remove the array bias after
ca0f2220
RH
8262 converting the index to Pmode.
8263
a6f7ba17
JL
8264Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
8265
8266 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
8267 (TARGET_MULT_BUG): Define.
8268 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
8269 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
8270
17ad8a3b
JL
8271Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
8272
8273 * mn10200.c (indirect_memory_operand): Delete unused function.
8274 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
8275 * mn10200.md (bset, bclr insns): Handle output in a reg too.
8276
e16b49d3
RH
8277Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
8278
8279 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
8280 the callee's ldgp, we must do it ourselves, and we use the jsr tag
8281 for more than scheduling.
8282
27f65411
DE
8283Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
8284
8285 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
8286
e9ad4573
JL
8287Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
8288
8289 * mn10300.c (symbolic_operand, legitimize_address): New functions.
8290 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
8291 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
8292
66724f0a
JL
8293Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
8294
8295 * version.c: Bump for snapshot.
8296
c401498b
R
8297Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8298
8299 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
8300 for FILENAME.
8301
b22b9b3e
JL
8302Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
8303
56bf1fd9
JL
8304 * toplev.c (flag_exceptions): Default value is 2.
8305 (compile_file): If flag_exceptions still has the value 2, then
8306 set it to 0.
8307
a04232e5
JL
8308 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
8309 (rs6000_save_machine_status): Save pic_offset_table_rtx.
8310 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
8311
0bd83abd
JL
8312 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
8313 are shared.
8314
b22b9b3e
JL
8315 * rs6000.md (*movsi_got_internal_mem): New pattern.
8316 (*movsi_got_internal_mem splitter): New define_split.
8317
c1e385db
JW
8318Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
8319
8320 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
8321
1a986152
GK
8322Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
8323
8324 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
8325 only need to save LR.
8326
5d29a95f
JL
8327Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
8328
c6ee9150
JL
8329 * mn10300.md (movqi, movhi): Avoid using address registers as
8330 destinations unless absolutely necessary.
8331
d5255ba2
JL
8332 * mn10200.c (expand_prologue): Fix typo.
8333
9d2128b8
JL
8334 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
8335 addresses.
8336 * mn10200.md (neghi2): Provide an alternative which works if
8337 the input and output register are the same.
8338
576e5acc
JL
8339 * mn10300.c (print_operand): Handle 'S'.
8340 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
8341 shift amount in last alternative
8342
5d29a95f
JL
8343 * mn10300.c (expand_epilogue): Rework to handle register restores
8344 in "ret" and "retf" instructions correctly.
8345
3bf1b082
JW
8346Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
8347
8348 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
8349 extzv for memory operands.
8350
8351 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
8352 redundant conditional moves to single operand.
8353
ddbd8d36
NC
8354Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
8355
8356 * v850.h: Move define of __v850__ from CPP_PREDEFINES
8357 to CPP_SPEC.
b57062ca 8358
ddbd8d36
NC
8359 * xm-v850.h: Use __v850 rather than __v850__ to
8360 identify v850 port.
8361
a944a4eb
JW
8362Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
8363
8364 * mips/mips.c (compute_frame_size): Not a leaf function if
8365 profile_flag set.
8366
2d5b6dea
GK
8367Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
8368
8369 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
8370
f0a9fa6c
DE
8371Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
8372
8373 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
8374 (DEFAULT_ARCH32_P): New macro.
8375 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
8376 (enum cmodel): Declare.
8377 (sparc_cmodel_string,sparc_cmodel): Declare.
8378 (SPARC_DEFAULT_CMODEL): Provide default.
8379 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
8380 (TARGET_FULLANY): Deleted.
8381 (TARGET_CM_MEDMID): New macro.
8382 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
8383 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8384 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
8385 (CPP_SPEC): Rewrite.
8386 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8387 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
8388 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8389 (ASM_SPEC): Add %(asm_arch).
8390 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
8391 Rename asm_default to asm_cpu_default.
8392 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
8393 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
8394 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
8395 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
8396 (MASK_INT64,MASK_LONG64): Delete.
8397 (MASK_ARCH64): Renamed to MASK_64BIT.
8398 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
8399 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
8400 (TARGET_SWITCHES): Always provide 64 bit options.
8401 (ARCH64_SWITCHES): Delete.
8402 (TARGET_OPTIONS): New option -mcmodel=.
8403 (INT_TYPE_SIZE): Always 32.
8404 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
8405 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
8406 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
8407 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
8408 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
8409 CPP_SPEC.
8410 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8411 * sparc/linux.h: Likewise.
8412 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
8413 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8414 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
8415 (SPARC_DEFAULT_CMODEL): Define.
8416 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8417 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8418 (LONG_DOUBLE_TYPE_SIZE): Define.
8419 (ASM_SPEC): Add %(asm_arch).
8420 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8421 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8422 (TARGET_CPU_DEFAULT): Add ultrasparc case.
8423 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
8424 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
8425 (SPARC_DEFAULT_CMODEL): Define.
8426 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
8427 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
8428 MASK_LONG64, MASK_MEDANY.
8429 (SPARC_DEFAULT_CMODEL): Define.
8430 (CPP_PREDEFINES): Delete.
8431 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8432 (ASM_SPEC): Add %(asm_arch).
8433 (LONG_DOUBLE_TYPE_SIZE): Define.
8434 (DWARF2_DEBUGGING_INFO): Define.
8435 * sparc/splet.h (CPP_SPEC): Delete.
8436 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8437 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
8438 (BLOCK_PROFILER): Likewise.
8439 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
8440 (sparc_override_options): Handle code model selection.
8441 (sparc_init_expanders): Renamed from sparc64_init_expanders.
8442 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
8443 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
8444 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
8445 (sethi_di_fullany): Delete.
8446
a3b0df2d
KK
8447Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
8448 Jeff Law <law@cygnus.com>
8449 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8450
3a133c72
KK
8451 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
8452 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
8453 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
8454 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
8455 * alpha/alpha.md (arg_home): Likewise.
8456
a3b0df2d
KK
8457 * alpha/alpha.c (vmskrunch): Delete
8458 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
8459 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
8460 truncate to 64 characters.
8461
8462 * make-l2.com: Support openVMS/Alpha.
8463
8464 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
8465
7d4f2e6c
R
8466Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8467
8468 * longlong.h (count_leading_zeros): Add missing casts to USItype.
8469
decd44ac
JL
8470Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
8471
8472 * i386/bsd386.h (ASM_COMMENT_START): Define.
8473
d1485032
JM
8474Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
8475
8476 * tree.c (restore_tree_status): Also free up temporary storage
8477 when we finish a toplevel function.
8478 (dump_tree_statistics): Print stats for backend obstacks.
8479
6bd35f86
DE
8480Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
8481
8482 * expr.c (use_group_regs): Don't call use_reg for MEMs.
8483
d1485032
JM
8484Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
8485
8486 * libgcc2.c (__throw): Don't copy the return address.
8487 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
8488
8489 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
8490 * toplev.c (main): Initialize exceptions_via_longjmp.
8491
8492 * tree.c: Add extra_inline_obstacks.
8493 (save_tree_status): Use it.
8494 (restore_tree_status): If this is a toplevel inline obstack and we
8495 didn't want to save anything on it, recycle it.
8496 (print_inline_obstack_statistics): New fn.
b57062ca 8497 * function.c (pop_function_context_from): Pass context to
d1485032
JM
8498 restore_tree_status.
8499 * obstack.h (obstack_empty_p): New macro.
8500
6981eacf
JL
8501Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
8502
8503 * i386/freebsd.h (ASM_COMMENT_START): Fix.
8504
1933ec7e
JW
8505Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
8506
8507 * v850.c (ep_memory_offset): New function.
8508 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
8509
8510 * v850.h (CONST_OK_FOR_*): Add and correct comments.
8511 (CONSTANT_ADDRESS_P): Add comment.
8512 (EXTRA_CONSTRAINT): Define 'U'.
8513 * v850.md: Add comments on bit field instructions.
8514 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
b57062ca 8515 (lshrsi3): Use N not J constraint.
1933ec7e
JW
8516
8517 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
8518
8519 * v850.c (reg_or_0_operand): Call register_operand.
8520 (reg_or_int5_operand): Likewise.
8521 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
8522 (TARGET_SWITCHES): Add "big-switch".
8523 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
8524 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
8525 (CASE_DROPS_THROUGH): Comment out.
8526 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
8527 * v850.md (cmpsi): Delete compare mode.
8528 (casesi): New pattern.
8529
8530 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
8531 * v850.md (ashlsi3): Use SImode not QImode for shift count.
8532 (lshrsi3): Likewise.
8533
8534 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
8535 unreachable switch statement after 'b' support. Remove "b" from
8536 strings for 'b' support.
8537 * v850.md (branch_normal, branch_invert): Change %b to b%b.
8538
13c2de98
JL
8539Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
8540
8541 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
8542 empty line if @inhibit_libc@ is empty.
8543
b2167bee
RL
8544Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
8545
8546 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
8547 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
8548 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
8549 (DWARF2_UNWIND_INFO): Let this track object file format.
8550 (EXTRA_SECTIONS): Add in_eh.
8551 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
8552 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
8553
bf2a2c6b
DM
8554Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
8555
8556 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
8557 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
8558 TARGET_MEDANY.
f4f8e370
DE
8559 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
8560 (output_double_int): Output DI mode values correctly when
8561 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
8562 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
8563 fmovd so it works if a quad float ends up in one of the upper 32
8564 float regs.
7e37212e
DM
8565 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
8566 necessary for PIC support on sparc64.
bf2a2c6b 8567
9ff84e67
DE
8568Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
8569
8570 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
8571 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
8572 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
8573 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
8574 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
8575 (SPARC_FP_ARG_FIRST): New macro.
8576 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
8577 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
8578 (NPARM_REGS): There are 32 fp argument registers now.
8579 (FUNCTION_ARG_REGNO_P): Likewise.
8580 (FIRST_PARM_OFFSET): Update to new v9 abi.
8581 (REG_PARM_STACK_SPACE): Define for arch64.
8582 (enum sparc_arg_class): Delete.
8583 (sparc_arg_count,sparc_n_named_args): Delete.
8584 (struct sparc_args): Redefine and use for arch32 as well as arch64.
8585 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
8586 (FUNCTION_ARG_ADVANCE): Rewrite.
8587 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
8588 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
8589 (FUNCTION_ARG_CALLEE_COPIES): Delete.
8590 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
8591 (STRICT_ARGUMENT_NAMING): Define.
8592 (doublemove_string): Declare.
8593 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
8594 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
8595 (doublemove_string): New function.
8596 (output_move_quad): Clean up some of the arch64 support.
8597 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
8598 Don't add 8 bytes of reserved space if arch64.
8599 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
8600 (init_cumulative_args): New function.
8601 (function_arg_slotno): New static function.
8602 (function_arg,function_arg_partial_nregs): New functions.
8603 (function_arg_{pass_by_reference,advance}): New functions.
8604 (function_arg_padding): New function.
c1215820 8605 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 8606
b8fb2d72
CI
8607Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
8608
f22376c7
CI
8609 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
8610 for hard regs to determine base and index registers.
8611
b8fb2d72
CI
8612 * reload.c (debug_reload_to_stream): New function. Specify stream
8613 into which to write debug info.
8614 (debug_reload): Modify to call debug_reload_to_stream with stderr.
8615
b79ee7eb
RH
8616Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
8617
8618 * combine.c (can_combine_p): Don't combine with an asm whose
8619 output is a hard register.
8620
5c19a356
MS
8621Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
8622
8623 * c-decl.c (start_struct): Ensure that structs with forward
8624 declarations are in fact packed when -fpack-struct is given.
8625
8626 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
8627 we are packing a structure. This allows a structure with only
8628 bytes to be aligned on a byte boundary and have no padding on a
8629 m68k.
8630
02bef6da
RK
8631Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8632
8633 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
8634
9ecc37f0
RH
8635Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
8636
8637 * alpha.c (alpha_return_addr_rtx): New variable.
8638 (alpha_save_machine_status): New; save it.
8639 (alpha_restore_machine_status): New; restore it.
8640 (alpha_init_expanders): New; clear it.
8641 (alpha_return_addr): New; set it.
8642 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
8643 is overly conservative, so search the insns explicitly.
8644 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
8645 (alpha_sa_size [VMS && !VMS]): Likewise.
8646 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
8647 (INIT_EXPANDERS): New definition.
b57062ca 8648
9ecc37f0
RH
8649 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
8650 (output_prolog [!VMS]): Use them.
8651
8652 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
b57062ca 8653 (alpha_does_function_need_gp): ... a new function. Refine the
9ecc37f0
RH
8654 CALL_INSN test to just TYPE_JSR.
8655 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
8656
bda2ffef
JL
8657Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
8658
8659 * version.c: Bump for snapshot.
8660
96b63cd7
RK
8661Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8662
8663 * pa.c (move_operand): Respect -mdisable-indexing.
8664 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
8665
f192bf8b
DE
8666Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
8667
8668 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
8669 PPC601.
8670 (umulsidi3,umulsi3_highpart): Ditto.
8671 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
8672
2ea844d3
RH
8673Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
8674
8675 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
8676 (alpha_handle_trap_shadows): ... a new function. Handle the entire
8677 function in one go. Emit RTL for trapb, instead of printf directly.
8678 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
8679 (trap_pending): Kill global variable.
8680 (output_epilog): Don't call final_prescan_insn.
8681 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
8682 * alpha.h (FINAL_PRESCAN_INSN): Remove.
8683 (MACHINE_DEPENENT_REORG): Define.
8684 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
8685 (trapb): New insn.
8686
74835ed8
RH
8687Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
8688
8689 Tune Haifa scheduler for Alpha:
8690 * alpha.h (ISSUE_RATE): Define.
8691 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
8692 EV4 adjustments to EV5.
8693 * alpha.md: Remove all scaling from function unit delays. Rework
8694 EV5 function units to match the CPU.
8695 (umuldi3_highpart): EV5 added the IMULH insn class.
8696
cdc0de30
JL
8697Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
8698
8699 * pa.c (following_call): Fail if the CALL_INSN is an indirect
8700 call.
8701
041c97f2
MM
8702Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
8703
8704 * cplus-dem.c (demangle_signature): Don't look for return types on
8705 constructors. Handle member template constructors.
8706
f0632762
JM
8707Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
8708
8709 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 8710 * tree.h: Declare them.
f0632762 8711
dec88383
DE
8712Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
8713
8714 * configure.in: Handle --with-newlib.
8715 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
8716
8717 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
8718
0e1f3f5e
JL
8719Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
8720
8721 * config/ptx4.h: Fix typo.
8722
12504ae0
JL
8723Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
8724
8725 * version.c: Bump for snapshot.
8726
5643c767
MH
8727Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
8728
8729 * aclocal.m4: Substitute INSTALL.
8730 * configure: Re-built.
8731
aa0c1401
JL
8732Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
8733
f644bd14
JL
8734 * integrate.c (save_for_inline_copying): Avoid undefined pointer
8735 operations.
8736 (expand_inline_function): Likewise.
8737
aa0c1401
JL
8738 * dwarf2out.c (output_call_frame_info): Reinstate last change
8739 using flag_debug_asm check instead of flag_verbose_asm.
8740
6c2df6c9
JW
8741Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
8742
8743 * dwarf2out.c (output_call_frame_info): Remove last change.
8744
13ab2b83
AS
87451997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8746
8747 * frame.c (__frame_state_for): Execute the FDE insns until the
8748 current pc value is strictly bigger than the target pc value.
8749
066c2fea
JM
8750Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
8751
b57062ca 8752 * regclass.c (init_reg_modes): If we can't find a mode for the
066c2fea
JM
8753 register, use the previous one.
8754
2f308fec
RH
8755Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
8756
8757 * haifa-sched.c (print_block_visualization): Call fprintf directly,
8758 don't sprintf through an alloca'ed buffer.
8759
43984e29
TK
8760Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
8761
8762 * reload.c (decompose): Always initialize val.base.
8763
e9e30253
MH
8764Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
8765
8766 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
8767 instead of aborting.
8768 * dwarf2out.c (output_call_frame_info): Call app_enable and
8769 app_disable to let GNU as accept the generated comments.
8770
496651db
MM
8771Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
8772
8773 * tree.h (get_file_function_name): Add declaration.
8774 * dwarf2out.c (output_call_frame_info): No need to cast
8775 get_file_function_name call anymore.
8776 * profile.c (toplevel): Remove get_file_function_name
8777 declaration.
8778 * c-lang.c (finish_file): Ditto.
8779
e6347456
CS
8780Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
8781
8782 * Makefile.in (program_transform_name): Let autoconf substitute
8783 the correct value.
8784
1447b516
JL
8785Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
8786
8787 * haifa-sched.c (schedule_block): If the first real insn in a
8788 block has any special notes attached to it, remove them.
8789
1a42ead7
RH
8790Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
8791
8792 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
8793
4b6140f1
MH
8794Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
8795
8796 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
8797
dc84d7bc
JL
8798Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
8799
8800 * Makefile.in (check-g77): New test target.
8801 (CHECK-TARGETS): Add check-g77.
8802
c0da11c4
JM
8803Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
8804
8805 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
8806
d8d64559
MM
8807Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
8808
8809 * flow.c (print_rtl_with_bb): Cast alloca return value for
8810 in_bb_p.
8811
e414ab29
RH
8812Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
8813
b57062ca 8814 * i386.h (RETURN_ADDR_RTX): New definition that works for
e414ab29
RH
8815 __builtin_return_address(0) and -fomit-frame-pointer.
8816
15039abe
JW
8817Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
8818
8819 Bring over from FSF.
8820 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
8821
b57062ca 8822 * mips.c (function_arg): Handle passing a struct
15039abe
JW
8823 containing a double in a DFmode register without the PARALLEL.
8824
281de624
ILT
8825Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
8826
d8d64559 8827 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 8828
d8d64559 8829 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
8830 (from Paul Eggert <eggert@twinsun.com>).
8831
3cbdd5fc
PDM
8832Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
8833
8834 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
8835 optimisation for f/expr.o and f/stb.o.
8836
135d84b8
JL
8837Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
8838
8839 * cse.c (this_insn_cc0_mode): Initialize.
8840
55d89719
TK
8841Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
8842
d3878e49
TK
8843 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
8844
8845 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 8846
e9d0757e
RH
8847Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
8848
8849 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
8850 that pair will dual-issue on the 21164 and plus+beq won't.
8851 (bne): Likewise for cmpeq+beq.
8852
3f34faec
JW
8853Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
8854
8855 * except.c (find_exception_handler_labels): Correct argument to free.
8856
3226dac5 8857Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
8858
8859 * except.c (find_exception_handler_labels): Free LABELS when we're
8860 done.
8861
3a6eabfa
JL
8862Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
8863
8864 * version.c: Bump for snapshot.
8865
974c50f9
JM
8866Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
8867
8868 * flow.c (find_basic_blocks): Mark calls as potentially jumping
8869 to the EH labels.
8870
9b16d2c4
JL
8871Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
8872
8873 * configure.in: Substitute for "install" too.
8874 * configure: Rebuilt.
8875
b1e3ddfd
AJ
8876Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
8877
8878 * Makefile.in (bootstrap-lean, compare-lean): New targets.
8879
6662a38d
RH
8880Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
8881
c02f035f
RH
8882 * alias.c (base_alias_check): Two symbols can conflict if they
8883 are accessed via AND.
8884 (memrefs_conflict_p): Likewise.
8885
7a14fdc5
RH
8886 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
8887 after flushing argument registers to the stack.
8888
6662a38d
RH
8889 * Makefile.in (mostlyclean): Remove .regmove files.
8890
f3447109
JM
8891Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
8892
8893 * libgcc2.c (__throw): Fix thinko.
8894
37f6b6bf
MM
8895Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
8896
8897 * cplus-dem.c (demangle_template): Add new parameter. Handle new
8898 template-function mangling.
8899 (consume_count_with_underscores): New function.
8900 (demangle_signature): Handle new name-mangling scheme.
8901
adfc539e
PDM
8902Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
8903
8904 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
8905 start and end.
8906
92cbe4d2
JL
8907Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
8908
8909 * frame.c: Remove last change.
8910 * dwarf2.h: Remove last change.
8911 * tree.h: Add declarations of DWARF2 unwind info support
8912 functions.
8913
2f3ca9e7
JM
8914Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
8915
8916 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
8917 * tree.h (built_in_function): Likewise.
8918 * expr.c (expand_builtin): Likewise.
8919 * except.h: Likewise.
8920 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
8921 * libgcc2.c (copy_reg): New fn.
8922 (__throw): Use it.
8923
407cb092
PE
8924Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
8925
8926 * c-typeck.c (build_binary_op): Warn about comparing signed vs
8927 unsigned if -W is specified and -Wno-sign-compare is not.
8928 * c-decl.c (warn_sign_compare): Initialize to -1.
8929 (c_decode_option): -Wall no longer implies -Wsign-compare.
8930
3ba10494
AS
8931Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8932
a7cc7f29
AS
8933 * frame.c: Include gansidecl.h for PROTO.
8934 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
8935 defined. Don't declare dwarf2out_cfi_label here.
8936 * dwarf2.h: Add declarations of DWARF2 unwind info support
8937 functions.
8938 * m68k.c: Include dwarf2.h.
8939 (output_function_prologue): Add dwarf2 support.
8940 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
8941 (INCOMING_FRAME_SP_OFFSET): Likewise.
8942
3ba10494
AS
8943 * integrate.c (expand_inline_function): Make sure there is at
8944 least one insn that can be used as an insertion point.
8945
c5cec899
JM
8946Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
8947
8948 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
8949
e166cb18
JL
8950Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
8951
8952 * version.c: Bump for snapshot.
8953
01a94cba
DE
8954Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
8955
8956 Bring over from FSF.
8957
8958 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
8959
8960 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
8961 (get_pc_via_rdpc): Renamed from get_pc_sp64.
8962 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
8963
8964 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
8965
8966 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
8967 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
8968 -malign-functions=.
8969 (sparc_align_{loops,jumps,funcs}_string): Declare.
8970 (sparc_align_{loops,jumps,funcs}): Declare.
8971 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
8972 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
8973 (STACK_BIAS): Define.
8974 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
8975 test.
8976 (SPARC_SETHI_P): New macro.
8977 (CONST_OK_FOR_LETTER_P): Use it.
8978 (ASM_OUTPUT_ALIGN_CODE): Define.
8979 (ASM_OUTPUT_LOOP_ALIGN): Define.
8980 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
8981 (sparc_align_{loops,jumps,funcs}): New globals.
8982 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
8983 -malign-functions=.
8984 (move_operand): Use SPARC_SETHI_P.
8985 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
8986 perform test.
8987 (arith11_double_operand): Likewise.
8988 (arith10_double_operand): Likewise.
8989 (finalize_pic): Finish sparc64 support.
8990 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
8991 64 bit constants if able.
8992 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
8993 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
8994 ! TARGET_FPU.
8995 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
8996 (get_pc_sp32): Use for sparc64 as well.
8997 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
8998 (sethi_di_sp64_const): Likewise.
8999 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
9000 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
9001 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
9002
9003 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
9004
9005 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
9006 * sparc/linux.h (COMMENT_BEGIN): Likewise.
9007 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
9008
9009 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
9010
9011 Add sparc64 linux support.
9012 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
9013 to xm_file list on 32-bit sparc-linux.
9014 * sparc/xm-sp64.h: New file.
9015 * sparc/linux64.h: New file.
9016 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
9017 Don't include xm-sparc.h.
9018 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
9019 * glimits.h (LONG_MAX): Handle sparc64.
9020
9021 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
9022
9023 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
9024 * sparc.h (ASM_COMMENT_START): Define.
9025 * sparc.c (output_function_prologue): Use it.
9026 (sparc_flat_output_function_{epi,pro}logue): Likewise.
9027
9028 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
9029
9030 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
9031 use sparc.h's copies.
9032 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
9033 ascii form as well.
9034
9035 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9036
9037 * sparc.c (dwarf2out_cfi_label): Add declaration.
9038 (save_regs, output_function_prologue): Remove cast for it.
9039 (sparc_flat_{save_restore,output_function_prologue): Likewise.
9040 ({save,restore}_regs): No longer inline.
9041
ce2157a1
JL
9042Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9043
9044 * fold-const.c (make_range): Correctly handle cases of converting
9045 from unsigned to signed type.
9046
9047Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
9048
9049 * fold-const.c (merge_ranges): Make sure that if one range is subset
9050 of another, it will always be the second range. Correct (+,-) case to
9051 account for this.
9052
c5cec899
JM
9053Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
9054
9055 * final.c (final_end_function): Also do dwarf2 thing if
9056 DWARF2_DEBUGGING_INFO.
9057 (final_start_function): Likewise.
9058
c107334d
DM
9059Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
9060
e13a25d5
DM
9061 * expmed.c (expand_divmod): If compute_mode is not the same as
9062 mode, handle the case where convert_modes() causes op1 to no
9063 longer be a CONST_INT.
9064
c107334d
DM
9065 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
9066 note holding get_jump_flags() calculation to all JUMP_INSNs.
9067 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
9068 * rtl.c (reg_note_name): Add new note types.
9069
8d7532d9
JL
9070Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
9071
0774afd7 9072 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 9073
7019d00e
L
9074Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9075
9076 * loop.c (indirect_jump_in_function_p): Return 0
9077 by default.
9078
b9dfb357
JL
9079Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
9080
9081 * rs6000/xm-rs6000.h: Fix thinko in last change.
9082 * rs6000/xm-sysv4.h: Likewise.
9083
4b7e467b
JW
9084Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
9085
9086 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
9087
8c8e6faa
JL
9088Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
9089
9090 * reg-stack.c (find_blocks): Fix thinko in last change.
9091
078e983e
AS
90921997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9093
9094 * m68k.c (output_function_prologue): Add dwarf2 support.
9095
9096 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
9097 INCOMING_FRAME_SP_OFFSET): New definitions.
b57062ca 9098
d7027667
DM
9099Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
9100
9524f769
DM
9101 * combine.c (try_combine): Use NULL_RTX instead of '0' where
9102 appropriate in calls to gen_rtx().
9103 * cse.c (cse_main): Likewise.
9104 * emit-rtl.c (gen_label_rtx): Likewise.
9105 * expr.c (init_expr_once): Likewise.
9106 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
9107 sched_analyze, init_rgn_data_dependences,
9108 compute_block_backward_dependences): Likewise.
9109 * sched.c (schedule_insns): Likewise.
9110 * varasm.c (immed_double_const): Likewise.
9111
d7027667
DM
9112 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
9113 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
9114
fbf8b71c
KJ
9115Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
9116
9117 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
9118 (MULTILIB_DEFAULTS): Define.
9119 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
9120 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
9121 (LIBGCC_SPEC): Likewise.
9122 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
9123 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
9124 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
9125 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
9126 (EXTRA_PARTS, TAROUTOPTS): Delete.
9127 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
9128 (MULTILIB_OPTIONS): Define.
9129 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
9130 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
9131
c14a951f
JL
9132Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
9133
9134 * version.c: Bump for snapshot.
9135
7014927a
JL
9136Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
9137
37aa45a2
JL
9138 * loop.c (loop_number): Delete function. Change all references
9139 to use uid_loop_num array.
9140 * loop.h (loop_number): Delete declaration.
9141 * unroll.c (unroll_loop): Change "loop_number" references to
9142 use uid_loop_num instead.
9143
b47404d1
JL
9144 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
9145 conditional.
9146 (loop_unroll_iter): Remove unused variable and all references.
9147 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
9148 (insert_bct): Fix minor formatting problems.
9149 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
9150 (loop_unroll_iter): Removed unused decl.
9151 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
9152 Always record the unrolling factor.
9153
cb3bb2a7
JL
9154 * cse.c (simplify_relational_operation): Set h0u just like h0s.
9155 Similarly for h1u and h1s.
9156
d5ff3a2e 9157 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
9158 (find_basic_blocks): Use computed_jump_p to determine if a
9159 particular JUMP_INSN is a computed jump.
9160 * reg-stack.c (find_blocks): Use computed_jump_p to determine
9161 if a particular JUMP_INSN is a computed jump.
9162 * rtlanal.c (jmp_uses_reg_or_mem): New function.
9163 (computed_jump_p): Likewise.
9164 * rtl.h (computed_jump_p): Declare.
9165 * genattrtab.c (pc_rtx): Define and initialize.
9166 * loop.c (loop_optimize): Always determine if the current
9167 function has a computed jump.
9168 (indirect_jump_in_function_p): Use computed_jump_p to determine
9169 if a particular JUMP_INSN is a computed jump.
9170
7014927a
JL
9171 * loop.c (fix_bct_param): Delete unused function.
9172 (check_bct_param): Likewise.
9173
6d53d7c2
JM
9174Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
9175
9176 * frame.c (__deregister_frame): Check properly for initialized object.
9177
5a5e9503 9178Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
9179
9180 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
9181
272299b9
R
9182Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9183
cc5e1642
R
9184 * jump.c (thread_jumps): check can_reverse_comparison_p before
9185 threading a reversed-condition jump.
9186
272299b9
R
9187 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
9188 * haifa-sched.c (update_flow_info): Likewise.
9189
18511014
JL
9190Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
9191
e6493727
JL
9192 * Makefile.in (BOOT_CFLAGS): Use -O2.
9193
1e467e19
JL
9194 * configure.in (strtoul, bsearch): Have autoconf check for these
9195 functions.
9196 * configure, config.in: Rebuilt.
9197
18511014
JL
9198 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
9199 * mips/mips.h (alloca): Likewise.
9200 * rs6000/xm-rs6000.h (alloca): Likewise.
9201 * rs6000/xm-sysv4.h: Likewise.
9202
6020d360
JM
9203Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
9204
9205 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
9206 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
9207 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
9208
9209 * except.c (end_eh_unwinder): Subtract 1 from return address.
9210 * libgcc2.c (__throw): Likewise.
9211 (find_exception_handler): Don't change PC here. Compare end with >.
9212
b24bcfb3 9213Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
b57062ca 9214
b24bcfb3
NC
9215 * v850.c (compute_register_save_size): Correct register
9216 number.
9217 * v850.md (save_interrupt, return_interrupt): Correct
9218 register number.
9219 * v850/lib1funcs.asm (save_interrupt): Correct register number.
9220 (return_interrupt): Use stack pointer, not element pointer.
9221
93cf819d
BK
92221997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
9223
9224 * configure.in, configure: Make sure to create the stage* and include
9225 symbolic links in each subdirectory.
9226
f0501149
JL
9227Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
9228
9229 * pa.md (reload_peepholes): Don't allow addresses with side
9230 effects for the memory operand.
9231
4f870c04
JM
9232Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
9233
9234 * libgcc2.c (find_exception_handler): Subtract one from our PC when
9235 looking for a handler, to avoid hitting the beginning of the next
9236 region.
9237
9238 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
9239
4eb66248
JL
9240Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
9241
9242 * mips/abi64.h (LONG_MAX_SPEC): Define.
9243 * mips.h (LONG_MAX_SPEC): Define.
9244 (CPP_SPEC): Include long_max_spec.
9245 (EXTRA_SPECS): Include long_max_spec.
9246
44158507
JL
9247Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
9248
9249 * v850.c (construct_save_jarl): Fix thinko in last change.
9250
bf520cd9
JL
9251Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
9252
9253 * version.c: Bump for snapshot.
9254
255fe733
JM
9255Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
9256
c0727e2a
JM
9257 * libgcc2.c (find_exception_handler): Not found is -1.
9258
255fe733
JM
9259 * integrate.c (expand_inline_function): Move expand_start_bindings
9260 after expanding the arguments.
9261
21002281
JW
9262Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
9263
9264 * expr.c (expand_expr): Remove previous incorrect change.
9265 If target and slot has no DECL_RTL, then call mark_addressable
9266 again for the slot after we give it RTL.
9267
e693cc28 9268Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 9269
e693cc28
UD
9270 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
9271 again for the slot after we give it RTL.
f633220c 9272
145870b5
NC
9273Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
9274
84e75068 9275 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
9276 pattern_is_ok_for_epilogue, construct_restore_jr,
9277 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
9278
84e75068 9279 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
9280 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
9281 predicates.
9282
84e75068 9283 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
9284 match_parallel pattern.
9285
76143254
JL
9286Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
9287
9288 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
9289 * configure.in: Use EGCS_PROG_INSTALL.
9290
4401bf24
JL
9291Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
9292
9293 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
9294 extern inline function.
9295
9296Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
9297
9298 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
9299 (concat_loc_descriptor): New function.
9300 (loc_descriptor): Call it.
9301 (add_AT_location_description): Also elide the descriptor if both
9302 halves of a CONCAT are pseudos.
9303 (add_location_or_const_value_attribute): Recognize CONCAT too.
9304
0d24ff5d
RH
9305Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
9306
4bb43724
RH
9307 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
9308
0d24ff5d
RH
9309 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
9310 out-or-range reg_offset.
9311 (output_epilog): Likewise.
9312
05ef8897
JL
9313Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
9314
9315 * cse.c (simplify_relational_operation): If MODE specifies a
9316 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
9317 is derived from the sign bit of the low word.
9318
ca55abae
JM
9319Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
9320
9321 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
9322
9323 * dwarf2.h: Add DW_CFA_GNU_args_size.
9324 * frame.c (execute_cfa_insn): Likewise.
9325 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
9326 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
9327 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
9328 insn, hand it off to dwarf2out_stack_adjust.
9329 (dwarf2out_begin_prologue): Initialize args_size.
9330 * frame.h (struct frame_state): Add args_size.
9331 * libgcc2.c (__throw): Use args_size.
9332 * final.c (final_scan_insn): If we push args, hand off all insns
9333 to dwarf2out_frame_debug.
9334 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
9335
9336 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
9337 Handle epilogue restore of SP from FP.
b57062ca 9338 * emit-rtl.c (gen_sequence): Still generate a sequence if the
ca55abae
JM
9339 lone insn has RTX_FRAME_RELATED_P set.
9340
9341 * frame.c (extract_cie_info): Handle "e" augmentation.
9342 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
9343 absence of UNALIGNED_*_ASM_OP.
9344 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
9345 (output_call_frame_info): Use "e" instead of "z" for augmentation.
9346 Don't emit augmentation fields length.
9347 (dwarf2out_do_frame): Move outside of #ifdefs.
9348 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
9349 opcodes.
9350
9351 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
9352 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
9353 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
9354 * sparc/sun4gas.h: New file.
9355 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
9356
b57062ca 9357 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
ca55abae
JM
9358 __register_frame_table and __deregister_frame.
9359
1d77fa53
BK
93601997-09-15 Brendan Kehoe <brendan@cygnus.com>
9361
9362 * except.c (find_exception_handler_labels): Use xmalloc instead of
9363 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
9364 in some cases.
9365
8be52aaa
JL
9366Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
9367
9368 * Makefile.in: Various changes to build info files
9369 in the object tree rather than the source tree.
9370
a3ee3246
JL
9371Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
9372
9373 * fixinc.math: New file to fix math.h on some systems.
9374 * configure.in (freebsd, netbsd): Use fixinc.math on these
9375 systems.
9376 * configure: Rebuilt.
9377
124da275
JL
9378Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
9379
9380 * regmove.c (regmove_optimize): If we end up moving the
9381 original insn due to lifetime overlaps, make sure to move
9382 REG_NOTES too.
9383
fca9d4b0
MH
9384Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
9385
9386 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
9387
326ee7a3
JL
9388Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
9389
9390 * haifa-sched.c (add_branch_dependences): Make each insn in
9391 a SCHED_GROUP_P block explicitly depend on the previous insn.
9392
ca55abae
JM
9393Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9394
9395 * except.h: Prototype dwarf2 hooks.
9396 * expr.c: Adjust.
9397
5188d2b2
JW
9398Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
9399
9400 * configure.in (native_prefix): Delete.
9401 (mips-dec-netbsd): Don't set prefix.
9402 (*linux*): Don't set prefix.
9403
2e384318
FF
9404Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
9405
70988851
FF
9406 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
9407 defined. If not defined, include <sys/varargs.h> if
9408 HAVE_SYS_VARARGS_H is defined.
9409 * configure.in: Test for varargs.h and sys/varargs.h.
9410 * configure: Regenerate with autoconf.
9411 * config.in: Regenerate with autoheader.
9412
2e384318
FF
9413 * cpplib.c (quote_string): Cast first arg of sprintf call
9414 from "unsigned char *" to "char *".
9415 (output_line_command): Ditto.
9416 (macroexpand): Ditto.
9417 (do_line): Cast atoi arg from "unsigned char *" to "char *".
9418
3fb2f401
JL
9419Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
9420
f2e4e16f
JL
9421 * version.c: Bump for snapshot.
9422
3fb2f401
JL
9423 * Makefile.in (compare): Exit with nonzero status if there
9424 are comparison failures. Note which files failed the
9425 comparison test in .bad_compare.
9426
d26cb668
L
9427Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9428
9429 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
9430
ac64120e
JW
9431Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
9432
9433 * Makefile.in (LN, LN_S): New macros, use where appropriate.
9434 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
9435 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
9436 * configure: Regenerated.
9437
9438Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
9439
9440 * loop.c (strength_reduce): Fix typo.
9441
db87ec0b
JW
9442Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
9443
9444 * m88k/m88k.c (struct option): Rename to struct options.
9445 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
9446 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
9447 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
9448 __DOLPHIN__ or sysV88.
9449
04395f96
JW
9450Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
9451
9452 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
9453 create new subreg.
9454
becdcf6d
JL
9455Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
9456
9457 * config.sub: Accept 'amigados' for backward compatability.
9458
04395f96 9459Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
9460
9461 * Makefile.in (testsuite/site.exp): New target.
9462 (check-gcc, check-g++): Depend on testsuite/site.exp.
9463 Don't stop for failure.
9464
ca55abae
JM
9465Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
9466
9467 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
9468 if DWARF2_UNWIND_INFO.
9469
9470Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
9471
9472 Add support for exception handling using DWARF 2 frame unwind info.
9473 Currently works on SPARC and MIPS, and almost on x86.
b57062ca 9474
ca55abae
JM
9475 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
9476 next_stack_level, in_reg_window): Helper fns.
9477 (__throw): Implement for DWARF2_UNWIND_INFO.
9478
9479 * expr.c (expand_builtin): Handle builtins used by __throw.
9480 * tree.h (enum built_in_function): Add builtins used by __throw.
9481 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
9482 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
9483 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
9484 (expand_builtin_extract_return_addr): Likewise.
9485 (expand_builtin_frob_return_addr): Likewise.
9486 (expand_builtin_set_return_addr_reg): Likewise.
9487 (expand_builtin_eh_stub): Likewise.
9488 (expand_builtin_set_eh_regs): Likewise.
9489 (eh_regs): Choose two call-clobbered registers for passing back values.
9490
9491 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
9492 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
9493 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
9494 (stmp-multilib): Likewise.
9495 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
9496
9497 * except.c: #include "defaults.h".
9498 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
9499 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
9500 (register_exception_table_p): New fn.
9501 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
9502 (end_eh_unwinder): Likewise.
9503
b57062ca 9504 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
ca55abae
JM
9505 call __register_frame and __deregister_frame as needed.
9506 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
9507 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
9508 EH_FRAME_SECTION_ASM_OP.
9509 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
9510 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
9511 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
9512
9513 * dwarf2out.c (output_call_frame_info): If no support for
9514 EXCEPTION_SECTION, mark the start of the frame info with a
9515 collectable tag.
9516 * collect2.c (frame_tables): New list.
9517 (is_ctor_dtor): Recognise frame entries.
9518 (scan_prog_file): Likewise.
9519 (main): Pass -fno-exceptions to sub-compile. Also do collection
9520 if there are any frame entries.
9521 (write_c_file_stat): Call __register_frame_table and
9522 __deregister_frame as needed.
9523 (write_c_file_glob): Likewise.
9524
b57062ca 9525 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
ca55abae
JM
9526 Also require unaligned reloc support.
9527 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9528 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
9529 * sparc/sysv4.h: Not here.
9530
9531 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
9532 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
9533 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
9534
9535 * libgcc2.c (L_eh): Reorganize, moving code shared by different
9536 EH implementations to the top.
9537 (find_exception_handler): Split out. Start from 0. Compare against
9538 end with >=.
9539 (__find_first_exception_table_match): Use it.
9540 * except.c (output_exception_table): Don't do anything if there's
9541 no table. Don't output a first entry of zeroes.
9542 (eh_outer_context): Adjust properly.
9543 (add_eh_table_entry): Use xrealloc.
9544 * toplev.c (compile_file): Just call output_exception_table.
9545
9546Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
9547
9548 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
9549
9550Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
9551
9552 * except.c (eh_outer_context): Do masking using expand_and.
9553
b4d940a2
JL
9554Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
9555
9556 Add port done awhile ago for the ARC cpu.
9557 * arc/arc.h: New file.
9558 * arc/arc.c: New file.
9559 * arc/arc.md: New file.
9560 * arc/initfini.c: New file.
9561 * arc/lib1funcs.asm: New file.
9562 * arc/t-arc: New file.
9563 * arc/xm-arc.h: New file.
9564 * ginclude/va-arc.h: New file.
9565 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
9566 * ginclude/varargs.h: Likewise.
9567 * Makefile.in (USER_H): Add va-arc.h.
9568 * configure.in (arc-*-elf*): Recognize.
9569 * longlong.h: Add ARC support.
9570
9571Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
9572
9573 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
9574 when clearing non-BLKmode data.
9575
10211581
JL
9576Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
9577
9dfc6eba
MH
9578 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
9579 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
9580
55259219
MH
9581 * xm-m88k.h (USG): Only define if it hasn't already been defined.
9582
9583 * Makefile.in (risky-stage1): Delete gratutious whitespace.
9584
ee291069
MH
9585 * Makefile.in (clean): Delete libgcc1-test.
9586
10211581
JL
9587 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
9588
9589Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
9590
9591 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
9592 template.
9593
ca55abae
JM
9594Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9595
9596 * dwarf2out.c (output_call_frame_info): Call named_section.
9597
8f3d79e0
JL
9598Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
9599
9600 * haifa-sched.c (print_value): Fix last change.
9601
ca55abae
JM
9602Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
9603
9604 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
9605 write_symbols.
9606
9607Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
9608
9609 * mips.c (function_prologue): Set up the CFA when ABI_32.
9610
9611 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
9612 for dwarf2 unwind info.
9613 (output_function_prologue, sparc_flat_output_function_prologue): Same.
9614
9615 * final.c (final_end_function): Check dwarf2out_do_frame instead
9616 of DWARF2_DEBUG for dwarf2 unwind info.
9617 (final_scan_insn): Likewise.
9618 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
9619 (final): Not here.
9620
9621 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
9622 count > 0.
9623
9624 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
9625
74aca74b
NC
9626Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
9627
9628 * v850.h (ASM_SPEC): Pass on target processor.
9629 (CPP_PREDEFINES): Only define if not already specified.
9630 (TARGET_VERSION): Only define if not already specified.
9631 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
9632 processor.
9633 (EXTRA_SWITCHES): Extra entries in the switches array.
9634 (TARGET_DEFAULT): Set default target processor.
9635
c0b04148
JW
9636Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
9637
9638 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
9639 cases, add %# and %/, and add : to make them into extended asms.
9640
52b7724b
WL
9641Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
9642
9643 * alias.c (init_alias_analysis): Clean up incompatible pointer
9644 type warning in bzero.
9645 * regmove.c (regmove_optimize): Ditto.
9646 * haifa-sched.c (find_rgns): Ditto.
9647
9648 * haifa-sched.c (print_value): Clean up ptr->int cast
9649 warnings.
9650
0c82f6bf
FF
9651Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
9652
9653 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
9654 * install.texi (Configurations): Ditto.
9655 * config.sub: Ditto.
9656
1fed1f51
WL
9657Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
9658
9659 * Makefile.in (sdbout.o): Depend on insn-config.h.
9660
239e68f6
JW
9661Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
9662
9663 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
9664 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
9665
267c09ab
JM
9666Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
9667
9668 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
9669 prologue insn, only the first elt is significant.
9670 (output_call_frame_info): For exception handling, always use 4-byte
9671 fields as specified by the dwarf2 spec.
9672 Don't skip trivial FDEs.
9673
db7cafb0
JL
9674Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
9675
9676 * version.c: Bump for snapshot.
9677
9678Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
9679
9680 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
9681 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
9682 when op1_is_pow2.
9683
9684Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
9685
bf520cd9
JL
9686 * final.c (shorten_branches): During first pass, assume worst
9687 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
9688
9689 * Makefile.in (distclean): Remove various things left around
9690 by running the testsuite.
9691
7ed46111
MH
9692Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
9693
9694 * configure.in (out_file): Emit definition to config.status in order
9695 to have a defined value for configure.lang.
9696 * configure: Re-built.
9697
e41cea70
JJH
9698Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
9699
bf520cd9 9700 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
9701 for ld-new.
9702 * configure: Rebuilt.
9703
1aeb1f6f
JW
9704Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
9705
9706 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
9707
770a0113
CK
9708Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
9709
9710 * sparc/sparc.md: Add ultrasparc scheduling support.
9711 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
9712
f5ffa999
PDM
9713Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
9714
9715 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
9716 as initial value for real_label_map.
9717 (copy_for_inline): Likewise.
9718
acceac1a
R
9719Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9720
9721 * sched.c (update_flow_info) When looking if to set found_split_dest
9722 or found_orig_dest, look at all parts of a PARALLEL.
9723 * haifa-sched.c (update_flow_info): Likewise.
9724
f84271d9
JL
9725Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
9726
9727 * v850: New directory for v850 port.
9728 * v850/lib1funcs.asm: New file.
9729 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
9730 * ginclude/va-v850.h: New file.
9731 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
9732 * configure.in (mn10200-*-*): New target.
9733 * configure: Rebuilt.
9734 * config.sub: Handle v850-elf.
b57062ca 9735 * Makefile.in (USER_H): Add va-mn10200.h.
f84271d9
JL
9736 * invoke.texi: Document v850 stuff.
9737
89cc6098
JW
9738Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
9739
04940ba5
JW
9740 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
9741 has integer TYPE_{MAX,MIN}_VALUE before using them.
9742
89cc6098
JW
9743 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
9744 __HPUX_ASM__ versions.
9745
c74f7db8
JL
9746Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
9747
bf520cd9 9748 * install.sh: Delete duplicate install script.
c74f7db8 9749
914ec131
SC
9750Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
9751
9752 * reg-stack.c (subst_stack_regs): Pop the stack register for a
9753 computed goto which sets the same stack register.
9754
9755 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
9756 destination are both on the regstack.
9757 (subst_stack_regs_pat): Put the destination at the top of the regstack.
9758
c1090daa
JW
9759Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
9760
d5d1738a
JW
9761 * mips.md (nonlocal_goto_receiver): Define.
9762
f4da7881
JW
9763 * profile.c (output_arc_profiler): Check next_insert_after for non
9764 NULL before deferencing it.
9765
c1090daa
JW
9766 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
9767
da594c94
JL
9768Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
9769
9770 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
9771
3e28fe44
MM
9772Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
9773
9774 * toplev.c (rest_of_compilation): For passes starting with
9775 flow_analysis, use print_rtl_with_bb instead of print_rtl.
9776
9777 * print-rtl.c (print_rtl_single): Print a single rtl value to a
9778 file.
9779
9780 * flow.c (print_rtl_with_bb): Print which insns start and end
9781 basic blocks. For the start of a basic block, also print the live
9782 information.
9783
7053ca72
JW
9784Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
9785
417b0fa2
JW
9786 * toplev.c (main): Change #elif to #else/#ifdef
9787
7053ca72
JW
9788 * tlink.c: Include ctype.h.
9789 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
9790
f05a8b25
MM
9791Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
9792
9793 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 9794 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 9795
02d7a569
JS
9796Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
9797
9798 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
9799
6030b6af
JW
9800Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
9801
9802 * profile.c (output_arc_profiler): Verify next_insert_after is an
9803 INSN before and after skipping a stack pop.
9804
04da53bd
R
9805Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9806
9807 * final.c (shorten_branches): Don't count the lengths of deleted
9808 instructions.
9809
780532a4
JL
9810Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
9811
9812 * version.c: Bump for snapshot.
9813
22fa5b8a
MM
9814Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
9815
9816 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
9817 two bitmaps ANDed together.
9818 (bitmap_print): Declare.
9819
9820 * bitmap.c (function_obstack): Don't declare any more.
9821 (bitmap_obstack): Obstack for allocating links from.
9822 (bitmap_obstack_init): New static to say whether to initialize
9823 bitmap_obstack.
9824 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
9825 (bitmap_release_memory): Free all memory allocated from
9826 bitmap_obstack.
9827
9828 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
9829 EXECUTE_IF_AND_IN_BITMAP.
9830
57163df0
JW
9831Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
9832
fa8b6024
JW
9833 * alias.c (true_dependence): Address with AND can alias scalars.
9834 (anti_dependence, output_dependence): Likewise.
b57062ca 9835
57163df0
JW
9836 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
9837
8aa4e786
JS
9838Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
9839
9840 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
9841 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
9842 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
9843 definitions. Use -qrtems instead of -mrtems.
9844
feb21122
RL
9845Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
9846
9847 * xm-sco5.h (sys_siglist): Define.
9848 (SYS_SIGLIST_DECLARED): Likewise.
9849
704af6a1
JL
9850Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
9851
9852 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
9853
127cd405
TG
9854Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
9855
9856 * except.c (eh_outer_context): Expand masking operation using
9857 expand_binop.
9858
8cf02b47
JW
9859Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
9860
9861 * alpha.md (floatdisf2-1): New pattern.
9862
49dad301
JL
9863Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
9864
068f1cb8
JL
9865 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
9866 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 9867 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
9868 * gcc.texi: Note that if you define sys_siglist that you should
9869 also define SYS_SIGLIST_DECLARED.
9870
49dad301
JL
9871 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
9872 are relative to the next instruction, not the current instruction.
9873
a1729519
JW
9874Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
9875
9876 * local-alloc.c (contains_replace_regs): New function.
9877 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
9878 verify that there is no existing REG_EQUIV note, and add a call to
9879 contains_place_regs.
9880
290c8b1f
L
9881Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9882
9883 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
9884 (STARTFILE_SPEC): Always use crtbegin.o%s
9885 (ENDFILE_SPEC): Always use crtend.o%s.
9886
a6a503ed
JW
9887Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
9888
9889 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
9890 is passed in.
9891 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
9892 SFmode for 64 bit hosts.
b57062ca 9893
a94729bc
PH
9894Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
9895
9896 * fixincludes: Permits spaces between # and define. Discard C++
9897 comments in sys/pci.h on HP/UX 10.20.
9898
c9e03727
JL
9899Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
9900
9901 * version.c: Bump for snapshot.
9902
2eddfed1
JL
9903 * pa.c (restore_unscaled_index_insn_codes): New function.
9904 (record_unscaled_index_insn_codes): Likewise.
9905 (output_function_prologue): Call restore_unscaled_index_insn_codes.
9906 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
9907 (pa_reorg): Call record_unscaled_index_insn_codes.
9908
c9e03727
JL
9909 * haifa-sched.c (move_insn): Handle notes correctly for insns
9910 with SCHED_GROUP_P set.
b57062ca 9911
a5d6a95b
L
9912Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9913
9914 * alpha/xm-linux.h (USE_BFD): Undef before define.
9915
bc4ddc77
JW
9916Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
9917
9918 * cse.c (cse_insn): Don't record BLKmode values.
9919
f3e0ca6c
SW
9920Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
9921
9922 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
9923
e3512ac2
JL
9924Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
9925
a63d08e6
JL
9926 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
9927 * collect2.c (sys_errlist): Likewise.
9928 * cpplib.c (sys_errlist): Likewise.
9929 * gcc.c (sys_errlist): Likewise.
9930 * protoize (sys_errlist): Likewise.
9931 * configure.in: Check for strerror.
9932 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
9933 * xm-gnu.h (HAVE_STRERROR): Likewise.
9934 * xm-linux.h (HAVE_STRERROR): Likewise.
9935 * xm-netbsd.h (HAVE_STRERROR): Likewise.
9936 * xm-bsd386.h (HAVE_STRERROR): Likewise.
9937 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
9938 * xm-dos.h (HAVE_STRERROR): Likewise.
9939 * xm-mingw32.h (HAVE_STRERROR): Likewise.
9940 * xm-pa.h (HAVE_STRERROR): Likewise.
9941 * xm-papro.h (HAVE_STRERROR): Likewise.
9942 * xm-sysv4.h (HAVE_STRERROR): Likewise.
9943 * configure, config.in: Rebuilt.
9944
db814993
JL
9945 * Makefile.in: Add several missing "else true" clauses.
9946
e3512ac2
JL
9947 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
9948 * mips-tfile.c: Likewise.
9949 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
9950 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
9951 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
9952 * configure.in: Check for sys_siglist declaration.
9953 * configure, config.in: Rebuilt.
9954
5d84b57e
JS
9955Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
9956
b57062ca 9957 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
5d84b57e
JS
9958 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
9959 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
9960 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
9961 * rs6000/sysv4.h (extra_subtarget_switches): Added new
9962 macro EXTRA_SUBTARGET_SWITCHES.
9963 * configure.in (sh*-*-rtems*): New target.
9964 * sh/rtems.h: New file.
9965 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
9966 * configure: Rebuilt.
9967
2599dcc7
JW
9968Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
9969
9970 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
9971
3b7e5ef4
DE
9972Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
9973
9974 * rs6000.md: Make DF fused-add operations pay attention to
9975 -mno-fused-add.
9976
5cd5f4a7
JW
9977Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
9978
9979 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
9980
63e7fe9b
JL
9981Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
9982
9983 * pa.md (reload_peepholes): Make sure operand is a REG before
9984 examining REGNO. Allow general registers too.
9985
eb7b11fd
JW
9986Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
9987
9988 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
9989
c760091a
PT
9990Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
9991
5cd5f4a7 9992 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
9993 to reallocate abbrev_die_table.
9994
57583338
JW
9995Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
9996
9997 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
9998
eae4b970
AS
99991997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10000
4f91a0f8
AS
10001 * Makefile.in (config.status): Depend on version.c
10002
eae4b970
AS
10003 * expr.h (insn_gen_function): Reenable prototype.
10004
10005 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
10006 first parameter.
10007
00fc09e1
JW
10008Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
10009
10010 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
10011
2601ebca
JL
10012Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
10013
10014 * version.c: Bump for latest snapshot.
10015
10016 * bc-optab.c: Conditionally include stdlib.h.
10017 (free): Provide a declaration if NEED_DECLARATION_FREE.
10018 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
10019 * rtl.h (free): Remove declaration.
10020 * tree.h (free): Remvoe declaration.
10021
10022 * configure: Rebuilt.
10023
e5eb27e5
JL
10024Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
10025
10026 * flags.h (flag_move_all_movables): Declare.
10027 (flag_reduce_all_givs): Likewise.
10028 * loop.c (move_movables): Handle flag_move_all_movables.
10029 (strength_reduce): Handle flag_reduce_all_givs.
10030 * toplev.c (flag_move_all_movables): Define.
10031 (flag_reduce_all_givs): Likewise.
10032 (f_options): Add -fmove-all-movables and -freduce-all-givs.
10033 * invoke.texi: Document new options, including alias stuff that
10034 wasn't included last time.
10035
d995a6dc
BM
10036Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
10037
10038 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
10039 * t-mn10200: Ditto.
10040 * t-vxsparc: Ditto.
10041 * t-vxworks68: Ditto.
10042 * t-vxworks960: Ditto.
10043 * t-vx29k: Ditto.
10044
ba64ca33
RH
10045Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
10046
10047 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
10048 if not already defined, and USE_C_ALLOCA not defined.
10049
ca20876d
JW
10050Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
10051
7818d6fc
JW
10052 * config.guess: Replace with script that uses ../config.guess.
10053
ca20876d
JW
10054 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
10055 if USE_GNULIBC_1 is not defined.
10056
704a6306
RH
10057Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
10058
10059 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
10060 * config.guess: Recognize alpha-linux-gnulibc1.
10061 * configure.in (alpha-*-linux-gnulibc1): New target.
10062 (alpha-*-linux-gnu*): Don't build crtbegin/end.
10063
67f68fd2
JW
10064Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
10065
10066 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
10067 last change.
10068
88016fb7
DE
10069Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
10070
10071 * loop.c (combine_movables): Earlier insns don't match later ones.
10072
bba17b29
L
10073Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10074
10075 * config/linux.h (CC1_SPEC): Define it only if not defined.
10076
10077 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
10078 <linux.h>
10079
10080 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
10081 USE_GNULIBC_1 is not defined.
10082
33d2808b 10083 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
10084
10085 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
10086 as 1 if USE_GNULIBC_1 is not defined.
10087
ed4044e0
JL
10088Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
10089
f345de42
JL
10090 * reorg.c (dbr_schedule): Allow current_function_return_rtx
10091 to be something other than a REG.
10092 * function.c (expand_function_end): Fix current_function_return_rtx
10093 if it was a pseudo.
10094
ed4044e0
JL
10095 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
10096 * x-netbsd: Likewise
10097 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
10098 (INSTALL_HEADERS): Delete.
10099 * x-dguxbcs: Likewise.
10100 * x-hp3bsd44: Likewise
10101 * x-pa: Likewise.
10102
47d36400
BS
10103Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
10104
10105 * i386.md (pop): pop increments the stack pointer.
10106 (prologue_set_stack_ptr): New pattern.
10107 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
10108 instead of subsi3.
10109
fc79eafe
JW
10110Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
10111
10112 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
10113 address where an offsettable address is required.
10114
c5da853f
MH
10115Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
10116
10117 * loop.c (check_final_value): Don't miss a biv increment in a
10118 parallel.
10119
d4ef15f2
JW
10120Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
10121
10122 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
10123 TYPE_DECL_IS_STUB instead of DECL_NAME.
10124
10549cbd
JW
10125Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10126
10127 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
10128
10129Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
10130
10131 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
10132
484df988
JL
10133Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
10134
10135 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
10136 (find_post_sched_live): Likewise.
10137
10138 * haifa-sched.c (schedule_block): Remove old code to get arguments
10139 from hard regs into pseudos early.
10140
39dfb55a
JL
10141Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
10142
10143 * version.c: Bump for new snapshot.
10144
10145 * local-alloc.c (update_equiv_regs): All the target to reject
10146 promotion of some REG_EQUAL to REG_EQUIV notes.
10147 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
10148
10149 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
10150 secondary reloads.
10151
10152 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
10153 store of the argument registers.
10154
10155Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
10156
10157 * fold-const.c (multiple_of_p): New function.
10158 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
10159
d78778eb
JL
10160Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
10161
10162 * expr.h (insn_gen_function): Temporarily remove prototype.
10163
feb9ea1a
JW
10164Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
10165
10166 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
10167 filenames. Use sed to extract base filename for install.
10168
b6ffe602
JC
10169Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
10170
10171 * unroll.c (find_splittable_givs): Only share if two givs have the
10172 same add and multiply values.
10173
2ebfd230
JW
10174Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
10175
10176 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
10177 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
10178
251ffdee
JL
10179Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
10180
10181 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
10182 around branch tables.
10183 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
10184 and .end_brtab directives if TARGET_GAS.
10185
19372aa1
JW
10186Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
10187
27314274
JW
10188 * alias.c (true_dependence): Pass x_addr not x to varies.
10189
19372aa1
JW
10190 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
10191 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
10192 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
10193 declarations.
10194 * config.in, configure: Regenerate.
10195
2a2c8203
JC
10196Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
10197
10198 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
10199 LO_SUM.
10200 (record_set): Handle LO_SUM like PLUS.
10201 (init_alias_analysis): When following chains of base addresses,
10202 do not stop on reaching a hard register.
10203
d80357b7
JL
10204Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
10205
10206 * version.c: Bump for new snapshot.
10207
b4f32d7b
JW
10208Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
10209
10210 * alpha.h (ARCH_ASM_FILE_START): Define.
10211 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
10212 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
10213
ca363bb6
JL
10214Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
10215
10216 * Makefile.in (install-common): Put gcov comment at start of line.
10217
7557aa98
JL
10218Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
10219
10220 * alias.c (init_alias_analysis): When simplifying the reg_base_value
10221 array, simplify entries for hard registers too.
10222
c34e3ae4
DL
10223Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
10224
10225 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
10226 list.
10227
e3eef942
JW
10228Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
10229
10230 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
10231 block_stack before dereferencing it.
10232
10233Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
10234
10235 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
10236
04f41951
JM
10237Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
10238
10239 * cplus-dem.c: Add 'extern' to prepends_underscore.
10240
e933cbe0
JL
10241Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
10242
62d65906
JL
10243 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
10244 (get_issue_rate): Delete.
10245 * pa.h (ISSUE_RATE): Define.
10246
2da05a5b
JL
10247 * configure.in: Turn on haifa by default for the PA.
10248 * configure: Rebuilt.
10249 * pa.c (override_options): Accept -mschedule=7200 option.
10250 (pa_adjust_cost): No longer need to scale costs for newer
10251 processors.
10252 * pa.h (enum processor_type): Add PROCESSOR_7200.
10253 * pa.md: Revamp scheduling parameters to work better with
10254 haifa. Add scheduling parameters for the 7200.
10255
4f64eaca
JL
10256 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
10257 insns too.
10258 (schedule_block): When adjusting basic_block_{head,end}, account
10259 for movement of SCHED_GROUP_P insns too.
10260
10261 * haifa-sched.c (debug_dependencies): Fix thinko.
10262
e933cbe0
JL
10263 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
10264 (site.exp, check, check-g++, check-gcc): New targets.
10265
4f64eaca 10266 * haifa-sched.c: Make lots of variables static.
61822835 10267
e9576d2c
L
10268Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10269
10270 * expr.h, real.h: Finish prototyping.
10271
61822835
JL
10272Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
10273
10274 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
10275 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
10276 * reload1.c: Undo bugfix from Aug 11.
10277
f24b370a
MM
10278Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
10279
10280 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
10281 quotes around the name.
10282 * configure: Regenerate.
10283
1c4c5851
JW
10284Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
10285
10286 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
10287
71abb567
MH
10288Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
10289
10290 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
10291 to sub-makes to avoid building more passes than the user might have
10292 requested on the command line.
10293
6042434a
DL
10294Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
10295
10296 * configure.in: Expurgate `broken_install' (install is
10297 autoconfed).
10298
10299 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
10300 relevant).
10301
38ea060f
JL
10302Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
10303
10304 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
10305 functions and declarations.
10306 (analyze_loop_iterations): Use condjump_p.
10307 (insert_bct): Likewise. Use exact_log2.
b57062ca 10308
f187056f
JL
10309Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
10310
10311 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
10312 (schedule_region): Likewise.
10313 (schedule_insns): Likewise.
10314
10315 * PROJECTS: Update with Haifa stuff.
10316
9af06254
JL
10317Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
10318
10319 * version.c: Change the version string to look like:
11c21791 10320 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 10321
0945e937
JL
10322 * loop.c (is_conditional_branch): Make definition match declaration.
10323
9af06254
JL
10324 * gcc.c: Take out experimental snapshot warning message.
10325
ebc25a17
MM
10326Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
10327
10328 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
10329 print out the names of the notes. Print out the name of the insn
10330 that is not a note, and not an {,CALL_,JUMP_}INSN.
10331
610ce97e
JM
10332Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
10333
10334 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
10335 again for the slot after we give it RTL.
10336
992d1248
DE
10337Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
10338
10339 * configure.in (haifa configury): Fix typo.
10340 * configure: Regenerate.
10341
7bb6fbd1
JL
10342Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
10343
10344 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
10345
10346 * gcc.info*: Rebuilt.
10347
10348 * COPYING.g77, README.g77: New files.
10349 * real.c (ereal_unto_float, ereal_unto_double): New functions.
10350 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
10351 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
10352
8c660648
JL
10353Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
10354
10355 * Integrate Haifa instruction scheduler.
10356 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
10357 to sched with $(SCHED_CFLAGS.
10358 * configure.in: Handle --enable-haifa.
10359 * configure: Rebuilt.
10360 * flags.h: Add new flags for haifa instruction scheduler.
10361 * genattrtab.c (expand_units): For haifa, don't subtract one
10362 when computing blockage.
10363 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
10364 (flag_schedule_speculative): Ditto.
10365 (flag_schedule_speculative_load): Ditto.
10366 (flag_schedule_speculative_load_dangerous): Ditto.
10367 (flag_schedule_reverse_before_reload): Ditto.
10368 (flag_schedule_reverse_after_reload): Ditto.
10369 (flag_branch_on_count_reg): Ditto.
10370 (f_options): Add Haifa switches.
10371 (main): Turn off some Haifa options if appropriate macro is
10372 defined. Process Haifa switches.
10373 * unroll.c (iteration_info): No longer static, since Haifa
10374 scheduler uses it.
10375 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
10376 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
10377 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
10378 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
10379 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
10380 storage for the Haifa scheduler.
10381 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
10382 LABEL_NEXTREF.
10383 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
10384 are defined, call analyze_loop_iterations and insert_bct to use
10385 countdown loops.
10386 (record_giv): Refine test for jumps out of loops if HAIFA is
10387 defined.
10388 (analyze_loop_iterations): New function to identify if we can use
10389 a countdown loop.
10390 (insert_bct): Insert countdown loop.
10391 (instrument_loop_bct): Low level code to insert countdown loop.
10392 (loop_number): Calculate UID of loop.
10393 (indirect_jump_in_function_p): Return true if an indirect jump is
10394 in the function.
10395 (is_power_of_2): Return true if value is a power of 2.
10396 (is_conditional_branch): Return true if insn is a conditional
10397 jump.
10398 (fix_bct_param): Process -fbct-{min,max}-N switches.
10399 (check_bct_param): Return true if loop should be instrumented.
10400 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
10401 (loop_optimize): Initialize.
10402 (get_condition_for_loop): Ditto.
10403 * loop.c (strength_reduce): Inside of code that uses #ifdef
10404 HAVE_decrement_and_branch_on_count code, test it to make sure the
10405 condition is true.
10406 (instrument_loop_bct): Ditto.
10407 * haifa-sched.c: New file.
b57062ca 10408
8c660648
JL
10409
10410 * Integrate regmove pass.
10411 * Makefile.in (OBJS): Add regmove.o
10412 (regmove.o): Add dependencies.
10413 * flow.c (find_use_as_address): No longer static.
10414 * rtl.h (find_use_as_address): Declare.
10415 * toplev.c (regmove_dump, flag_regmove): Define.
10416 (f_options): Add -fregmove.
10417 (regmove_dump_file, regmove_time): Define.
10418 (fatal_insn): Close the regmove dump file.
10419 (compile_file): Initialize regmove_time; open/close the regmove dump
10420 file as needed. Print regmove time as needed.
10421 (rest_of_compilation): Run regmove pass if requested, dump
10422 RTL after regmove if requested.
10423 (main): If -O2 or more, turn on regmove. Handle dump switches.
10424 * regmove.c: New file.
b57062ca 10425
aa32d841
JL
10426Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
10427
10428 * Integrate tlink patch from jason@cygnus.com
10429 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
10430 (process_command): Increment n_switches for them. Don't discard
10431 their args. Validate them.
10432 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
10433 From Rohan Lenard.
10434 (process_command): Set include_prefixes from COMPILER_PATH.
10435 (main): Set COLLECT_GCC_OPTIONS sooner.
10436 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
10437 * tlink.c, hash.c, hash.h: New files.
10438 * Makefile.in (USE_COLLECT2): Always use collect2.
10439 (collect2): Depend on and link in hash.o and tlink.o.
10440 (tlink.o, hash.o): Add dependencies.
10441
5fa39bfe
JL
10442Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
10443
9ae8ffe7
JL
10444 * Integrate alias analysis changes from jfc@mit.edu
10445 * Makefile.in (OBJS): Add alias.o
10446 (alias.o): Add dependencies.
10447 * alias.c: New file.
10448 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 10449 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
10450 (schedule_insns): Always call init_alias_analysis.
10451 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
10452 mark return value from such functions as a pointer and keep track of
10453 them for alias analysis. If a return value from a function is a
10454 pointer, mark it as such.
10455 * combine.c (distribute_notes): Handle REG_NOALIAS.
10456 * cse.c (struct write_data): Delete. No longer needed.
10457 (invalidate): Don't call set_nonvarying_address_components anymore.
10458 Use true_dependence to decide if an entry should be removed from
10459 the hash table.
10460 (invalidate_memory): Remove WRITES argument, simplify appropriately.
10461 Fix all callers.
10462 (note_mem_written): Similarly for WRITE_PTR argument.
10463 (invalidate_from_clobbers): Similarly for W argument.
10464 (invalidate_for_call): Remove memory elements from the hash table.
10465 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
10466 (cse_rtx_varies_p): New function. Derived from old
10467 cse_rtx_addr_varies_p.
10468 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
10469 Don't call note_mem_written anymore. Stack pushes invalidate the stack
10470 pointer if PUSH_ROUNDING is defined. No longer need to call
10471 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
10472 (skipped_writes_memory): Remove variable.
10473 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
10474 (invalidate_skipped_block): Simplify for new alias analysis code.
10475 (cse_set_around_loop): Likewise.
10476 (cse_main): Call init_alias_analysis.
10477 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
10478 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
10479 (f_options): Add new alias checking arguments.
10480 (main): Set flag_alias_check when optimizing.
10481 * local_alloc (validate_equiv_mem_from_store): Add new arguments
10482 to true_dependence.
10483 (memref_referenced_p): Likewise.
10484 * loop.c (NUM_STORES): Increase to 30.
10485 (prescan_loop): Only non-constant calls set unknown_address_altered.
10486 (invariant_p): Add new arguments to true_dependence.
10487 (record_giv): Initialize unrolled and shared fields.
10488 (emit_iv_add_mult): Call record_base_value as needed.
10489 * loop.h (struct induction): Add unrolled and shared fields.
10490 * unroll.c (unroll_loop): Call record_base_value as needed.
10491 (copy_loop_body): Likewise.
10492 (final_biv_value): Likewise.
10493 (final_giv_value): Likewise.
10494 (find_splittable_regs): Likewise. Only create one new pseudo
10495 if we have multiple address GIVs that were combined with the same
10496 dst_reg GIV. Note when a new register is created due to unrolling.
10497 * rtl.c (reg_note_name): Add REG_NOALIAS.
10498 * rtl.h (enum reg_note): Similarly.
10499 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
10500 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
10501 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
10502 (true_dependence, read_dependence, anti_dependence): Likewise.
10503 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
10504 (mark_user_reg, mark_reg_pointer): Likewise.
10505
10506
10507 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe 10508 to bootstrap again.
38e01259 10509 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
5fa39bfe
JL
10510 OPERAND_ADDRESS when computing how many registers an insn needs.
10511 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
10512 conflict.
10513 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
10514 OPADDR_ADDR reload.
10515 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
10516 in reload_reg_use_in_op_addr do not reach the end.
10517 do not reach the end.
10518 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
10519 RELOAD_FOR_OPERAND_ADDRESS.
10520
10521Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
10522
2dcfcb56 10523 * egcs project officially starts.
This page took 1.320624 seconds and 5 git commands to generate.