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