]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
typeck2.c (my_friendly_abort): Add URL.
[gcc.git] / gcc / ChangeLog
CommitLineData
bfbd500a
JL
1Mon Oct 12 01:22:53 PDT 1998 Jeff Law (law@cygnus.com)
2
3 * version.c: Bump for snapshot.
4
7169a029
RL
5Sun Oct 11 23:04:30 1998 Robert Lipe <robertl@dgii.com>
6
7 * c-pragma.c (handle_pragma_token): If passed a token instead
8 of a tree, use that as the pack value.
9
4a7bd8e2
MM
10Sun Oct 11 14:21:14 1998 Mark Mitchell <mark@markmitchell.com>
11
12 * flow.c (find_basic_blocks_1): Fix prototype.
13
7d384cc0
KR
14Sun Oct 11 05:03:41 1998 Ken Raeburn <raeburn@cygnus.com>
15
16 * tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
17 (struct tree_decl): New fields no_check_memory_usage.
18 * c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
19 (init_attributes): Register it as a new attribute.
20 (decl_attributes): Set flags on functions given that attribute.
21 * c-decl.c (duplicate_decls): Merge new attribute.
22 * expr.h (current_function_check_memory_usage): Declare new var.
23 * calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
24 pa.c, sparc.c: Replace uses of flag_check_memory_usage with
25 current_function_check_memory_usage.
26 * function.h: Add field to struct function.
27 * function.c (current_function_check_memory_usage): Define it.
28 (push_function_context_to, pop_function_context_from): Save and
29 restore it.
30 (expand_function_start): Set it, based on global flag and function
31 attribute.
32
33 * expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
34 check non-automatic variables, to permit detection of writes to
35 read-only locations in embedded systems without memory management.
36 * calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
37 when emitting chkr_set_right_libfunc call, even if the argument is
38 BLKmode or variable-sized; don't abort.
39
40 * optabs.c (init_optabs): Create Checker and __cyg_profile_*
41 symbols in Pmode, not VOIDmode.
42
faa76596
ZW
43Sun Oct 11 01:03:05 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
44
45 * cppexp.c: When forcing unsigned comparisons, cast both sides
46 of the operation.
47
48 * cpphash.h: Move static declaration of hashtab[]...
49 * cpphash.c: ...here.
50
51 * cpplib.c: Cast difference of two pointers to size_t before
52 comparing it to size_t. Cast signed to unsigned
53 before comparing to size_t. (FIXME: struct argdata should use
54 unsigned buffer sizes.)
55 * cpplib.h (struct cpp_reader): Declare token_buffer_size as
56 unsigned int. (CPP_WRITTEN): Cast return value to size_t.
57 (CPP_RESERVE): Parenthesize N for evaluation order, cast to
58 size_t before comparison.
59
9265dacf
JL
60Sun Oct 11 00:15:29 1998 Jeffrey A Law (law@cygnus.com)
61
62 * flow.c (find_basic_blocks): Delte "live_reachable_p" argument.
63 (find_basic_blocks_1): Similarly.
64 * output.h (find_basic_blocks): Fix prototype.
65 * gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
66 find_basic_blocks anymore.
67
a86d864c
RH
68Sat Oct 10 22:00:34 1998 Richard Henderson <rth@cygnus.com>
69
70 * basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
71 (sbitmap_free, sbitmap_vector_free): New macros.
72 * output.h (rtl_dump_file): Declare.
73
937e37cc
JL
74Sat Oct 10 17:01:42 1998 Jeffrey A Law (law@cygnus.com)
75
76 * regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
77
a0a190d4
KG
78Fri Oct 9 22:08:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
79
80 * fp-bit.c (SFtype): Don't implicitly use int in declaration.
81 (DFtype): Likewise.
82 (_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
83 (divide): Remove unused variable `tmp'.
84 (si_to_float): Cast numeric constant to (SItype) before comparing
85 it against one.
86
2a92c071
GS
87Fri Oct 9 16:03:19 1998 Graham <grahams@rcp.co.uk>
88
89 * flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
90 * gcc.c (add_preprocessor_option): Correct typo when allocating
91 memory, sizeof() argument had one too many `*'.
92 (add_assembler_option): Likewise.
93 (add_linker_option): Likewise.
94 * gcov.c (output_data): Likewise.
95 * local-alloc.c (memref_used_between_p): Likewise.
96 (update_equiv_regs): Likewise.
97 * loop.c (strength_reduce): Likewise.
98 * reg-stack.c (record_asm_reg_life): Likewise.
99 (subst_asm_stack_reg): Likewise.
100 * reorg.c (dbr_schedule): Likewise.
101
dc2ede84
BS
102Fri Oct 9 15:57:51 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
103
104 * flow.c (life_analysis_1): Break out some functions.
105 (find_basic_blocks_1): Likewise. Also move some variables out and
106 make them static.
107 Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
108 new static var nonlocal_label_list with it.
109 (active_eh_region, nested_eh_region, label_value_list,
110 nonlocal_label_list): New static variables.
111 (make_edges, delete_unreachable_blocks, delete_block): New static
112 functions, broken out of find_basic_blocks_1.
113 (record_volatile_insns, mark_regs_live_at_end, set_noop_p,
114 noop_move_p): New static functions, broken out of life_analysis_1.
115
d006aa54
RH
116Fri Oct 9 15:49:29 1998 Richard Henderson <rth@cygnus.com>
117
118 * expmed.c (store_bit_field): Pun non-integral str_rtx modes.
119 Take extra care for op0 now possibly being a subreg.
120 (extract_bit_field): Likewise.
121 * function.c (purge_addressof_1): Revert Oct 4 change. Drop
122 the reg to memory if there is no equal sized integral mode.
123 * stor-layout.c (int_mode_for_mode): New function.
124 * machmode.h: Prototype it.
125
3663a304
JL
126Fri Oct 9 14:26:44 1998 Jeffrey A Law (law@cygnus.com)
127
128 * global.c (build_insn_chain): Verify no real insns exist past the
129 end of the last basic block, then exit the loop.
130
400d6322
DE
131Fri Oct 9 11:44:47 1998 David Edelsohn <edelsohn@mhpcc.edu>
132
133 * loop.c (insert_bct): Ensure loop_iteration_var non-zero before use.
134
990c642c
JL
135Thu Oct 8 21:59:47 1998 Dave Brolley <brolley@cygnus.com>
136
137 * emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
138
5a41b476
DE
139Thu Oct 8 22:03:45 1998 David Edelsohn <edelsohn@mhpcc.edu>
140
141 * rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
142
c2b7e122
RH
143Thu Oct 8 17:00:18 1998 Richard Henderson <rth@cygnus.com>
144
145 * flow.c (find_basic_blocks): Correctly determine when a call
146 is within an exception region.
147
0cc291f7
JL
148Thu Oct 8 17:15:04 1998 Jeffrey A Law (law@cygnus.com)
149
fed3e408
JL
150 * toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
151
990c642c
JL
152 * cpplib.h: Protect from multiple inclusions.
153 * cpplib.c: Fix minor formatting problems.
154
338ed9bc
JL
155 * i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
156
428a55de
JL
157 * jump.c (jump_optimize): Revert accidental patch.
158
0cc291f7
JL
159 * Makefile.in (cpplib.o): Use unlibsubdir.
160
12f289ac
JW
161Thu Oct 8 12:50:47 1998 Jim Wilson <wilson@cygnus.com>
162
163 * loop.c (get_condition): Allow combine when either compare is
164 VOIDmode.
165
6cf9bfcf
JL
166Thu Oct 8 11:31:01 PDT 1998 Jeff Law (law@cygnus.com)
167
168 * version.c: Bump for snapshot.
169
f1488aba
RFM
170Thu Oct 8 12:21:14 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
171
172 * c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
173 (init_lex): Initialize ridpointers[RID_BYREF].
174 * c-lex.h (enum rid): Add RID_BYREF.
175 * c-parse.gperf: Add RID_BYREF as a type qualifier.
176 * objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
177 (encode_type_qualifiers): Similarly
178 * c-gperf.h: Rebuilt.
179
b03fc8c9
JL
180Thu Oct 8 05:56:00 1998 Jeffrey A Law (law@cygnus.com)
181
182 * c-common.c (type_for_mode): Only return TItype nodes when
183 HOST_BITS_PER_WIDE_INT is >= 64 bits.
184 * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
185 when HOST_BITS_PER_WIDE_INT is >= 64 bits.
186 (init_decl_processing): Only create TItype nodes when
187 HOST_BITS_PER_WIDE_INT is >= 64 bits.
188 * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
189 when HOST_BITS_PER_WIDE_INT is >= 64 bits.
190
2a230e9d
BS
191Thu Oct 8 05:05:34 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
192
193 * stmt.c (n_occurrences): New static function.
194 (expand_asm_operands): Verify that all constrains match in the
195 number of alternatives.
196 Verify that '+' or '=' are at the beginning of an output constraint.
197 Don't allow '&' for input operands.
198 Verify that '%' isn't written for the last operand.
199 * reload.c (find_reloads): Abort if an asm is found with invalid
200 constraints; all possible problems ought to be checked for earlier.
201
eba0c724
MH
202Thu Oct 8 04:26:20 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
203
f1da1729
MH
204 * flags.h (flag_branch_on_count_reg): Always declare
205 * toplev.c (flag_branch_on_count_reg): Likewise.
206 * toplev.c: Fix typos.
207
eba0c724
MH
208 * real.c (c4xtoe): Remove unused variables. Add some missing parens.
209 (toc4x): Similarly.
210
5c35539b
RH
211Thu Oct 8 01:25:22 1998 Richard Henderson <rth@cygnus.com>
212
213 * flow.c (find_basic_blocks): Calc upper bound for extra nops in
214 max_uids_for_flow.
215 (find_basic_blocks_1): Add a nop to the end of a basic block when
216 a trailing call insn does not have abnormal control flow.
217 * gcse.c (pre_transpout): New variable.
218 (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
219 (compute_pre_transpout): Calculate it.
220 (compute_pre_ppinout): Use it to eliminate impossible placements
221 due to abnormal control flow through calls.
222 (compute_pre_data): Call compute_pre_transpout.
223
57fa4693
DM
224Wed Oct 7 21:40:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
225
226 * config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
227
5924eecf
KR
228Wed Oct 7 21:19:46 1998 Ken Raeburn <raeburn@cygnus.com>
229
230 * config/mips/mips.md (tablejump_internal3, tablejump_internal4
231 and matching define_insns): Tack on a `use' of the table label, so
232 flow analysis will recognize a tablejump.
233
1bba6199
RH
234Wed Oct 7 17:33:39 1998 Richard Henderson <rth@cygnus.com>
235
236 * gcse.c (pre_insert_insn): Tweek to notice that calls do not
237 always end basic blocks for abnormal edge reasons.
238
14ab9f52
NC
239Wed Oct 7 14:40:43 1998 Nick Clifton <nickc@cygnus.com>
240
c678a7f8
NC
241 * config/i386/i386.h: Remove definition of
242 HANDLE_PRAGMA_PACK_PUSH_POP.
243
244 * config/i386/go32.h: Add definition of
245 HANDLE_PRAGMA_PACK_PUSH_POP.
246
247 * config/i386/win32.h: Add definition of
248 HANDLE_PRAGMA_PACK_PUSH_POP.
249
250 * config/i386/cygwin32.h: Add definition of
251 HANDLE_PRAGMA_PACK_PUSH_POP.
252
14ab9f52
NC
253 * c-pragma.c (insert_pack_attributes): Do not insert
254 attributes unless #pragma pack(push,<n>) is in effect.
255
10a9f2be
JW
256Wed Oct 7 12:10:46 1998 Jim Wilson <wilson@cygnus.com>
257
258 * expr.c (emit_group_store): Handle a PARALLEL destination.
259
3947e2f9
RH
260Wed Oct 7 10:07:29 1998 Richard Henderson <rth@cygnus.com>
261
262 * gcse.c (pre_insert_insn): When a call ends a bb, insert
263 the new insns before the argument regs are loaded.
264
db127392
KG
265Wed Oct 7 12:55:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
266
267 * Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
268 (c-parse.gperf): Update comments describing invocation flags.
269 (c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
270
b0c24c26
MH
2711998-10-07 Manfred Hollstein <manfred@s-direktnet.de>
272
273 * reload1.c (reload): Call free before clobbering the memory
274 locations or constants pointers.
275
959eb758
DM
276Wed Oct 7 02:05:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
277
278 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
279 for efficiency by checking whether we need to modify the current
280 stack permission at all.
281 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
282 * config/sparc/sparc.c (sparc_initialize_trampoline): Emit
283 __enable_execute_stack libcall here too if
284 TRANSFER_FROM_TRAMPOLINE is defined.
285 * config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
286 IN_LIBGCC2.
287
4c2f8346
JL
288Wed Oct 7 02:27:52 1998 Jeffrey A Law (law@cygnus.com)
289
290 * Makefile.in (DRIVER_DEFINES): Remove last change.
291
437a710d
BS
292Wed Oct 7 01:08:43 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
293
d143a890
BS
294 * jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
295 insns we're going to copy.
296 * regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
297
237228c0
BS
298 * loop.c (count_one_set): Add prototype.
299
437a710d
BS
300 * caller-save.c (restore_referenced_regs): Lose mode argument.
301 (insert_save): Lose mode argument.
302 (insert_restore): Lose mode argument.
303 (insert_one_insn): Lose mode argument.
304 (save_call_clobbered_regs): Lose mode argument.
305 (setup_save_areas): Take no argument and return void. All callers
306 changed.
307 Don't verify validity of memory addresses.
308 * reload.h (setup_save_ares): Adjust prototype.
309 (save_call_clobbered_regs): Likewise.
310 * reload1.c (delete_caller_save_insns): New function.
311 (caller_save_spill_class): Delete variable.
312 (caller_save_group_size): Delete variable.
313 (reload): Call setup_save_areas and save_call_clobbered_regs
314 in the main loop, before calling calculate_needs_all_insns.
315 Don't call save_call_clobbered_regs after the loop.
316 Call delete_caller_save_insns at the end of an iteration if
317 something changed.
318 Delete code to manage caller_save_spill_class.
319 Emit the final note before setting reload_first_uid.
320 Simplify test that determines whether reload_as_needed gets run.
321 (calculate_needs): Delete code to manage caller_save_spill_class.
322
0eac1e43
RH
323Tue Oct 6 15:42:27 1998 Richard Henderson <rth@cygnus.com>
324
325 * collect2.c (main): Initialize ld_file_name.
326
1c9a32c2
CM
327Tue Oct 6 15:45:15 1998 Catherine Moore <clm@cygnus.com>
328
329 * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
330 check for flag_function_sections.
331
37053d1f
R
332Tue Oct 6 20:02:31 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
333
334 * cse.c (insert_regs): Fix bug in Sep 24 change.
335
b707b450
R
336Tue Oct 6 17:00:42 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
337
338 * flags.h (flag_dump_unnumbered): Declare.
339 * toplev.c (flag_dump_unnumbered): Don't declare.
340 * print-rtl.c (flags.h): Include.
341 (print_rtl_single): Add return value.
342 * rtl.h (print_rtl_single): Update declaration.
343 * flow.c (flag_dump_unnumbered): Don't declare.
344 (print_rtl_with_bb): Use return value of print_rtl_single.
345
cad6f7d0
BS
346Tue Oct 6 01:36:00 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
347
a4c3ddd8
BS
348 * loop.c (count_one_set): New static function, broken out of
349 count_loop_regs_set
350 (count_loop_regs_set): Call it.
351 * global.c (mark_reg_store): Handle clobbers here by not calling
352 set_preference.
353 (mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
354 is in fact a clobber.
355 * integrate.c (process_reg_param): New function, broken out of
356 expand_inline_function.
357 (expand_inline_function): Call it.
358
359
dae0d63a
BS
360 * i386.md (addsidi3_1): Delete unused variable temp.
361 (addsidi3_2): Likewise.
362 (clstrstrsi): Delete unused variable addr1.
363
42f61866
BS
364 * rtl.h: Don't declare any functions also declared in recog.h.
365
cad6f7d0
BS
366 * Makefile.in (stupid.o): Update dependencies.
367 (global.o): Likewise.
368
369 * global.c: Include reload.h
370 (reg_becomes_live): New function.
371 (reg_dies): New function.
372 (build_insn_chain): New function.
373 (global_alloc): Call build_insn_chain before calling reload.
374
375 * reload.h (struct needs): New structure definition.
376 (struct insn_chain): Likewise.
377 (reload_insn_chain): Declare variable.
378 (new_insn_chain): Declare function.
379
380
381 * reload1.c (reload_startobj): New variable.
382 (reload_insn_chain): New variable.
383 (unused_insn_chains): New variable.
384 (new_insn_chain): New function.
385 (init_reload): Initialize reload_startobj, not reload_firstobj.
386 (reload): Initialize reload_firstobj.
387 Before returning, free everything on the reload_obstack.
388
389 * stupid.c: Include insn-config.h, reload.h and basic-block.h.
390 (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
391 current_chain): New variables.
392 (reg_where_born): Delete variable.
393 (REG_WHERE_BORN): New macro.
394 (find_clobbered_regs): New function.
395 (stupid_life_analysis): Don't allocate/free reg_where_born.
396 Allocate and free reg_where_born_exact, reg_where_born_clobber,
397 reg_where_dead_chain.
398 Use REG_WHERE_BORN instead of reg_where_born.
399 While processing the insns, build the reload_insn_chain with
400 information about register lifetimes.
401 (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
402 (stupid_mark_refs): Replace arg INSN with arg CHAIN. All callers
403 changed.
404 Compute and information about birth and death of pseudo registers in
405 reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
406 Delete code to set elements of reg_where_born.
407
40208b1c
APB
408Mon Oct 5 22:34:30 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
409
410 * tree.def (GOTO_EXPR): Modified documentation.
411 * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
412 goto.
413
cac8ce95
DE
414Mon Oct 5 22:43:36 1998 David Edelsohn <edelsohn@mhpcc.edu>
415
416 * unroll.c (loop_iteration_var, loop_initial_value, loop_increment
417 loop_final_value, loop_comparison_code): No longer static.
418 (unroll_loop): Delete loop_start_value update.
419 * loop.h (loop_iteration_var, loop_initial_value, loop_increment,
420 loop_final_value, loop_comparison_code): Extern.
421 (loop_start_value): Delete extern.
422 * loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
423 loop_comparison_value, loop_comparison_code): Delete.
424 (loop_optimize): Remove initialization for deleted variables.
425 (strength_reduce): Delete analyze_loop_iterations call. Only call
426 insert_bct if flag_branch_count_on_reg set.
427 (analyze_loop_iterations): Delete.
428 (insert_bct): Remove iteration count calculation. Move checks for
429 viable BCT optimization to here. Obtain iteration count from
430 loop_iterations and correct for unrolling. Check for enough
431 iteration to be beneficial. Comment out runtime iteration count
432 case.
433 (insert_bct): Print iteration count in dump file. Remove
434 loop_var_mode and use word_mode directly.
435
436 * rs6000.h (processor_type): Add PROCESSOR_PPC604e.
437 * rs6000.c (rs6000_override_options): Use it.
438 (optimization_options): Enable use of flag_branch_on_count_reg.
439 * rs6000.md (define_function_unit): Describe 604e.
440
877ca132
HB
4411998-10-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
442
443 * loop.c (move_movables): Corrected threshold calculation for
444 moved_once registers.
445
da5a44b3
BS
446Mon Oct 5 21:18:45 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
447
448 * loop.c (combine_givs_p): Fix test for identical givs.
449
b75ab88b
NC
450Mon Oct 5 10:11:28 1998 Nick Clifton <nickc@cygnus.com>
451
452 * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
453 call abort if the function is already defined.
454
f385990f
JL
455Mon Oct 5 10:02:36 1998 Jeffrey A Law (law@cygnus.com)
456
457 * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
458 truncation is not a no-op.
459
01e69619
JL
460Mon Oct 5 09:02:04 PDT 1998 Jeff Law (law@cygnus.com)
461
462 * version.c: Bump for snapshot.
463
d03e8554
JL
464Mon Oct 5 08:19:55 PDT 1998 Jeff Law (law@cygnus.com)
465
466 * version.c: Bump for snapshot.
467
32fdf36b
TG
468Mon Oct 5 01:07:23 1998 Torbjorn Granlund <tege@matematik.su.se>
469
470 * expmed.c (expand_divmod): Don't widen for computing remainder
471 if we seem to have a divmod pattern for needed mode.
472
4284b774
ZW
473Mon Oct 5 01:01:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
474
475 * cpplib.c (macroexpand): Correct off-by-one error in handling
476 of escapes.
477
861556b4
RH
478Sun Oct 4 23:58:30 1998 Richard Henderson <rth@cygnus.com>
479
480 * combine.c (expand_field_assignment): Don't do bitwise operations
481 on MODE_FLOAT; pun to MODE_INT if possible.
482
b4558b57
JM
483Sun Oct 4 18:33:24 1998 Jason Merrill <jason@yorick.cygnus.com>
484 scott snyder <snyder@d0sgif.fnal.gov>
485
486 * tlink.c (scan_linker_output): Recognize errors from irix 6.2
487 linker. Recognize mangled names in quotes.
488
295c5559
JJ
489Sun Oct 4 02:58:20 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
490
491 * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
492 (ashlsi3_const1, ashldi3_const1): New combiner patterns.
493 (ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
494 (lshrsi3_extend, lshrsi3_extend2): Ditto.
495
ca2636ed
DM
496Sun Oct 4 00:23:00 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
497
498 * function.c (purge_addressof_1): If trying to take a sub-word
499 integral piece of a floating point mode, put it on the stack.
500
4d77340e
RH
501Sat Oct 3 19:01:03 1998 Richard Henderson <rth@cygnus.com>
502
503 * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
504
c20c6337
JM
505Sat Oct 3 14:42:19 1998 Jason Merrill <jason@yorick.cygnus.com>
506
71d718e0
JM
507 * PROJECTS: Remove template friends.
508
509 * collect2.c (sort_ids): Remove unused variable.
510
511 * tm.texi (MATH_LIBRARY): Document.
512 (NEED_MATH_LIBRARY): Remove.
513
c20c6337
JM
514 * varasm.c (assemble_start_function, assemble_variable, weak_finish,
515 assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
516
69fba037
JC
517Sat Oct 3 16:14:44 1998 John Carr <jfc@mit.edu>
518
519 * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
520 last_end to 0x7fffffff.
521
47401c4d
DM
522Fri Oct 2 19:14:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
523
524 * function.c (purge_addressof_1): Do not perform endianness
525 corrections on bitpos, who we call will do it for us.
526
d01d2903
JL
527Fri Oct 2 11:52:35 1998 Jeffrey A Law (law@cygnus.com)
528
529 * h8300.c (WORD_REG_USED): Fix typo.
530 (initial_offset): Use WORD_REG_USED.
531
532 * h8300.c (handle_pragma): Fix typo.
533
a330a79e
BS
534Fri Oct 2 10:51:35 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
535
f670c074
JL
536 * caller-save.c (insert_save_restore): Break this function up
537 into new functions insert_restore, insert_save and insert_one_insn.
538 All callers changed.
539 (insert_restore): New function, mostly broken out of
540 insert_save_restore.
541 (insert_save): Likewise.
542 (insert_one_insn): Likewise.
543 (restore_referenced_regs): New argument BLOCK. All callers changed.
544 (save_call_clobbered_regs): Don't keep track of basic block boundaries
545 in this function, do it in insert_one_insn instead.
546
09dd1133
BS
547 * reload1.c (reload): Break out some more pieces into separate
548 functions.
549 (dump_needs): New function, broken out of reload.
550 (set_initial_elim_offsets): Likewise.
551 (init_elim_table): Likewise.
552 (update_eliminables): Likewise.
553
34f89b5f
BS
554 * global.c (global_alloc): Delete code to manage the scratch_list.
555 * local-alloc.c (qty_scratch_rtx): Delete.
556 (scratch_block): Delete.
557 (scratch_list): Delete.
558 (scratch_list_length): Delete.
559 (scratch_index): Delete.
560 (alloc_qty_for_scratch): Delete.
561 (local-alloc): Update initialization of max_qty.
562 Delete code to manage the scratch list.
563 Delete code to allocate/initialize qty_scratch_rtx.
564 (block_alloc): Don't allocate quantities for scratches.
565 Delete code to manage the scratch list.
566 * regs.h (scratch_list): Delete declaration.
567 (scratch_block): Delete declaration.
568 (scratch_list_length): Delete declaration.
569 * reload1.c (reload): Delete code to manage the scratch list.
570 (spill_hard_reg): Likewise.
571 (mark_scratch_live): Delete.
572
a330a79e
BS
573 * recog.c (alter_subreg): Delete declaration.
574
8547cf54
AJ
5751998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
576
577 * Makefile.in (cccp.o): Fix typo in last patch.
578
e430f738
R
579Fri Oct 2 16:13:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
580
581 * t-sh (LIB1ASMFUNCS): Add _set_fpscr .
582 * config/sh/lib1funcs.asm (___set_fpscr): Add.
583
1f72bfca
JL
584Fri Oct 2 02:01:59 1998 Jeffrey A Law (law@cygnus.com)
585
8ac53846
JL
586 * regclass.c (reg_scan_mark_refs): Return immediately if passed a
587 NULL_RTX as an argument.
588
1f72bfca
JL
589 * Makefile.in (unlibsubdir): Define.
590 (DRIVER_DEFINES): Use unlibsubdir.
591 (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
592 (stmp-fixinc): Similarly.
593
961d4119
BS
594Thu Oct 1 19:58:30 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
595
596 * regmove.c (regmove_optimize): Add variable old_max_uid.
597 At the end of the function, update basic_block_end.
598
23e08716
DM
599Thu Oct 1 17:58:25 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
600
601 * dwarf2out.c (expand_builtin_dwarf_reg_size): Use
602 FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
603 arbitrary constant.
604
da6558fd
NC
605Thu Oct 1 17:57:14 1998 Nick Clifton <nickc@cygnus.com>
606
607 * config/arm/arm.c: Improve interworking support.
608
470cdb8b
R
609Thu Oct 1 18:43:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
610
611 * reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
612 copied from reload_out[r] .
613
913f68c1
JC
614Thu Oct 1 19:20:09 1998 John Carr <jfc@mit.edu>
615
616 * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
617 with more than three size ranges.
618
619 * flow.c (sbitmap_copy): Use bcopy to copy bitmap.
620
621 * rtl.c (mode_name): Add a null string at the end of the array.
622 (mode_wider_mode): Change type to unsigned char.
623 (mode_mask_array): New variable.
624 (init_rtl): Update for mode_wider_mode type change.
625
626 * rtl.h (mode_wider_mode): Change type to unsigned char.
627 (mode_mask_array): Declare.
628 (GET_MODE_MASK): Use mode_mask_array.
629
c36fce9a
GRK
630Thu Oct 1 15:56:01 1998 Gavin Romig-Koch <gavin@cygnus.com>
631
632 * calls.c (expand_call) : Encapsulate code into
633 copy_blkmode_from_reg.
634 * expr.c (copy_blkmode_from_reg): New function.
635 * expr.h (copy_blkmode_from_reg): New function.
636 * integrate.c (function_cannot_inline_p): We can inline
637 these now.
638 (expand_inline_function): Use copy_blkmode_from_reg
639 if needed. Avoid creating BLKmode REGs.
640 (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
641 object.
642
3a846e6e
NC
643Thu Oct 1 10:42:27 1998 Nick Clifton <nickc@cygnus.com>
644
3ce15347
NC
645 * config/v850/v850.c: Add function prototypes.
646 Add support for v850 special data areas.
647
648 * config/v850/v850.h: Add support for v850 special data areas.
649
e2af664c
NC
650 * c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
651 HANDLE_PRAGMA_PACK_PUSH_POP.
652 (push_alignment): New function: Cache an alignment requested
653 by a #pragma pack(push,<n>).
654 (pop_alignment): New function: Pop an alignment from the
655 alignment stack.
656 (insert_pack_attributes): New function: Generate __packed__
657 and __aligned__ attributes for new decls whilst a #pragma pack
658 is in effect.
659 (add_weak): New function: Cache a #pragma weak directive.
660 (handle_pragma_token): Document calling conventions. Add
661 support for #pragma pack(push,<n>) and #pragma pack (pop).
662
663 * c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
664 are defined enable HANDLE_PRAGMA_PACK.
665 Move 'struct weak_syms' here (from varasm.c).
666 Add pragma states for push and pop pragmas.
667
668 * c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
669 if it is defined.
670
671 * c-lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with
672 HANDLE_GENERIC_PRAGMAS.
673
674 * varasm.c: Move definition of 'struct weak_syms' into
675 c-pragma.h.
676 (handle_pragma_weak): Deleted.
677
678 * config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
679
680 * config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
681
3a846e6e
NC
682 * c-decl.c (start_function): Add invocation of
683 SET_DEFAULT_DECL_ATTRIBUTES, if defined.
684
685 * tm.texi: Remove description of non-existant macro
686 SET_DEFAULT_SECTION_NAME.
e2af664c
NC
687
688 (HANDLE_SYSV_PRAGMA): Document.
689 (HANDLE_PRAGMA_PACK_PUSH_POP): Document.
3a846e6e 690
5aaf0123
RL
691Wed Sep 30 22:27:53 1998 Robert Lipe <robertl@dgii.com>
692
693 * config.sub: Recognize i[34567]86-pc-udk as new target.
694 * configure.in: Likewise.
695 * config/i386/t-udk: New file.
696 * config/i386/udk.h: New file.
697
f0c76b51
JL
698Wed Sep 30 19:33:07 1998 Jeffrey A Law (law@cygnus.com)
699
700 * reorg.c (check_annul_list_true_false): Remove unused variables.
701 (steal_delay_list_from_target): Add missing "used_annul" variable.
702 (try_merge_delay_insns): Close out half formed comment.
703
6fa72945
ZW
704Wed Sep 30 19:13:20 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
705
aa90b111
ZW
706 * cpplib.c (macroexpand): If arg->raw_before or
707 arg->raw_after, remove any no-reexpansion escape at the
708 beginning of the pasted token. Correct handling of whitespace
709 markers and no-reexpand markers at the end if arg->raw_after.
710
6fa72945
ZW
711 * toplev.c (documented_lang_options): Recognize -include,
712 -imacros, -iwithprefix, -iwithprefixbefore.
713 * cpplib.c (cpp_start_read): Process -imacros and -include
714 switches at the same time and in command-line order, after
715 initializing the dependency-output code. Emit properly nested
716 #line directives for them. Emit a #line for the main file
717 before processing these switches, and don't do it again
718 afterward.
719
f7b6d104
RH
720Wed Sep 30 18:03:22 1998 Richard Henderson <rth@cygnus.com>
721
722 * function.c (purge_addressof_1): Use bitfield manipulation
723 routines to handle mem mode < reg mode.
724
96960d10
HB
725Wed Sep 30 18:43:32 1998 Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
726
727 * reorg.c (try_merge_delay_insns): Account for resources referenced
728 in each instruction in INSN's delay list before trying to eliminate
729 useless instructions. Similarly when looking at a trial insn's delay
730 slots.
731
732 * reorg.c (check_annul_list_true_false): New function.
733 (steal_delay_list_from_{target,fallthrough}): Call it and also
734 refine tests for when we may annul if already filled a slot.
735 (fill_slots_from_thread): Likewise.
736 (delete_from_delay_slot): Return newly-created thread.
737 (try_merge_delay_isns): Use its new return value.
738
c5cbf81e
JL
739Wed Sep 30 18:29:26 1998 Jeffrey A Law (law@cygnus.com)
740
741 * loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
742 used to compute a giv or as some other non-counting use.
743
8d5c8167
JL
744Wed Sep 30 18:19:27 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
745
1e326708
MH
746 * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
747 * local-alloc.c (find_free_reg): Use it.
748 * global.c (find_reg): Likewise.
749 * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
750
8d5c8167
JL
751 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
752 * caller-save.c (init_caller_save): Use it.
753 * tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
754
755Wed Sep 30 12:57:30 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
f81a440f
ZW
756
757 * configure.in: Add --enable-cpplib option which uses cpplib
758 for cpp, but doesn't link cpplib into cc1. Make help text
759 capitalization consistent.
760 * configure: Rebuilt.
761
95ca22f4
MM
762Wed Sep 30 10:09:39 1998 Mark Mitchell <mark@markmitchell.com>
763
764 * function.c (gen_mem_addressof): If the address REG is
765 REG_USERVAR_P make the new REG be so also.
766 * loop.c (scan_loop): Apply DeMorgan's laws and add documentation
767 in an attempt to clarify slightly.
768
ee06cc21
JL
769Wed Sep 30 09:57:40 1998 Jeffrey A Law (law@cygnus.com)
770
771 * expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
772 and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
773
257441db
CM
774Wed Sep 30 10:13:39 1998 Catherine Moore <clm@cygnus.com>
775
776 * toplev.c: Fix last patch.
777
dc5737cf
JW
778Tue Sep 29 20:03:18 1998 Jim Wilson <wilson@cygnus.com>
779
780 * loop.c (get_condition): Fix typo in May 9 change.
781
89ed4e9d
AM
782Tue Sep 29 11:11:38 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
783
784 * invoke.texi (-fexceptions): Merge 2 different descriptions.
785
630962bf
KG
786Mon Sep 28 22:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
787
788 * toplev.c (documented_lang_options): Spelling corrections.
789
ab339d62
AO
790Mon Sep 28 19:41:24 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
791
792 * configure.in: new flags --with-ld and --with-as, equivalent
793 to setting LD and AS environment variables. Test whether
794 specified arguments are GNU commands, and report them with
795 checking messages. Use the specified AS for configure
796 tests too.
797 * configure: ditto
798 * acconfig.h: add DEFAULT_ASSEMBLER and DEFAULT_LINKER
799 * config.in: ditto
800 * gcc.c (find_a_file): when looking for `as' and `ld', return
801 the DEFAULT program if it exists
802 * collect2.c (main): use DEFAULT_LINKER if it exists
803
804 * gcc.c (find_a_file): the test for existence of a full
805 pathname was reversed
806
42820a49
MM
807Mon Sep 28 17:34:35 1998 Michael Meissner <meissner@cygnus.com>
808
809 * rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
810 * rs6000.c (output_mi_thunk): Always use a raw jump for now.
811
8ff0c1af
MM
812Mon Sep 28 14:24:03 1998 Mark Mitchell <mark@markmitchell.com>
813
814 * tree.h (TYPE_BINFO): Document.
815
9588f31b
SC
816Mon Sep 28 12:55:49 1998 Stan Cox <scox@cygnus.com>
817
818 * i386-coff.h (dbxcoff.h): Added.
819
fd868572
CM
820Mon Sep 28 12:51:00 1998 Catherine Moore <clm@cygnus.com>
821
822 * toplev.c: fix bad patch around flag_data_sections.
823
1f2b04b3
NC
824Mon Sep 28 10:32:28 1998 Nick Clifton <nickc@cygnus.com>
825
826 * reload1.c (reload): Use reload_address_index_reg_class and
827 reload_address_base_reg_class when setting
828 caller_save_spill_class. (Patch generated by Jim Wilson:
829 wilson@cygnus.com).
830
ece32014
MM
831Mon Sep 28 07:43:34 1998 Mark Mitchell <mark@markmitchell.com>
832
833 * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
834 and ARRAY_TYPEs. Tidy up. Improve support for type-punning.
835 * expr.c (store_field): Add alias_set parameter. Set the
836 MEM_ALIAS_SET accordingly, if the target is a MEM.
837 (expand_assignment): Use it.
838 (store_constructor_field): Pass 0.
839 (expand_expr): Likewise.
840
7d0756fb
CM
841Mon Sep 28 07:54:03 1998 Catherine Moore <clm@cygnus.com>
842
843 * flags.h: Add flag_data_sections.
844 * toplev.c: Add option -fdata-sections. Add flag_data_sections.
845 (compile_file): Error if flag_data_sections not supported.
846 * varasm.c (assemble_variable): Handle flag_data_sections.
847 * config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
848 * config/mips/elf.h: Likewise.
849 * config/mips/elf64.h: Likewise.
850 * invoke.texi: Describe -fdata-sections.
851
6fd74494
CB
852Mon Sep 28 04:15:44 1998 Craig Burley <burley@melange.gnu.org>
853
854 * invoke.texi (-ffloat-store): Clarify that this option
855 does not affect intermediate results -- only variables.
856
fcce5756
JL
857Mon Sep 28 04:11:35 1998 Jeffrey A Law (law@cygnus.com)
858
859 * cpp.texi: Update for Fortran usage from Craig.
860
2310f99a
DE
861Fri Sep 25 22:09:47 1998 David Edelsohn <edelsohn@mhpcc.edu>
862
863 * rs6000.c (function_arg_boundary): Revert accidental change on
864 September 18.
865
17167fd8
MM
866Fri Sep 25 20:30:00 1998 Michael Meissner <meissner@cygnus.com>
867
868 * rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
869 (output_mi_thunk): Declare.
870
871 * rs6000.c (output_mi_thunk): Function to create thunks for MI.
872 (output_function_profiler): Use r12 for temp, instead of r11 so
873 that we preserve the static chain register.
874
46fb0d7d
JW
875Fri Sep 25 14:18:33 1998 Jim Wilson <wilson@cygnus.com>
876
877 * sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
878
913d8e13
R
879Fri Sep 25 19:30:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
880
881 * sh.c (gen_shl_sext): Fix case 5.
882
2abbc1bd
R
883Fri Sep 25 17:35:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
884
885 * reload1.c (reload_combine): Re-add line that got accidentally lost.
886
36611067
KG
887Fri Sep 25 10:43:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
888
889 * cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
890 accessing variables until they are initialized via va_arg().
891
85ccbba3
DM
892Thu Sep 24 22:12:16 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
893
894 * reload1.c (reload_combine): Initialize set before using.
895
0dbb7a10
JM
896Thu Sep 24 18:53:20 1998 Jason Merrill <jason@yorick.cygnus.com>
897
898 * sdbout.c (sdbout_field_types): Don't emit the types of fields we
899 won't be emitting.
900
da959950
NC
901Thu Sep 24 17:05:30 1998 Nick Clifton <nickc@cygnus.com>
902
903 * config/arm/arm.md (insv): Add comment. In CONST_INT case, and
904 operand3 with mask before using it. Patch provided by Jim Wilson.
905
3c6088d2
JJ
906Thu Sep 24 15:08:08 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
907
908 * config/sparc/sparc.c (function_value): Perform the equivalent of
909 PROMOTE_MODE for ARCH64.
910 (eligible_for_epilogue_delay): Allow DImode operations in delay
911 slot of a return for ARCH64.
912
71187870
R
913Thu Sep 24 22:17:54 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
914
915 * sh.md (sqrtsf2): Fix mode of sqrt.
916
b29514ee
R
917Thu Sep 24 21:48:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
918
919 * reload1.c (choose_reload_regs): Also try inheritance when
920 reload_in is a stack slot of a pseudo, even if we already got a
921 reload reg.
922
5adf6da0
R
923Thu Sep 24 21:22:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
924
925 * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
926 (reload_cse_regs): New function body: call reload_cse_regs_1,
927 reload_combine, reload_cse_move2add.
928 When doing expensive_optimizations, call reload_cse_regs_1 a
929 second time after reload_cse_move2add.
930 (reload_combine, reload_combine_note_store): New functions.
931 (reload_combine_note_use): New function.
932 (reload_cse_move2add, move2add_note_store): New functions.
933
c10638c9
R
934Thu Sep 24 18:48:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
935
936 * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
937 reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
938
939 Properly keep track of first RELOAD_FOR_X_ADDRESS also for
940 more than 3 such reloads.
941
942 If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
943 RELOAD_FOR_X_ADDR_ADDR reload.
944
34c73909
R
945Thu Sep 24 17:45:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
946
947 * expr.c (store_constructor): When initializing a field that is smaller
948 than a word, at the start of a word, try to widen it to a full word.
949
950 * cse.c (cse_insn): When we are about to change a register,
951 remove any invalid references to it.
952
953 (remove_invalid_subreg_refs): New function.
954 (mention_regs): Special treatment for SUBREGs.
955 (insert_regs): Don't strip SUBREG for call to mention_regs.
956 Check if reg_tick needs to be bumped up before that call.
957 (lookup_as_function): Try to match known word_mode constants when
958 looking for a norrower constant.
959 (canon_hash): Special treatment for SUBREGs.
960
345a6161
DM
961Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
962
963 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
964 * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
965 defined, emit libcall to __enable_execute_stack. Also fix opcodes
966 and offsets in actual stack trampoline code so they match the
967 commentary and actually work.
968
969Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
970
971 * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
972 tmake_file.
973 (sparc64-*-linux): Use t-linux and sparc/t-linux64 for
974 tmake_file. Set extra_parts to needed crt objects.
975 * configure: Rebuilt.
976 * config/sparc/linux64.h (SPARC_BI_ARCH): Define.
977 (TARGET_DEFAULT): Set if default is v9 or ultra.
978 (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
979 (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
980 (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
981 (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
982 LINK_SPEC, LINK_ARCH_SPEC): Likewise.
983 (TARGET_VERSION): Define.
984 (MULTILIB_DEFAULT): Define.
985 * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
986 mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
987 (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
988 appropriately.
989 (TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
990 * config/sparc/sparc.c (sparc_override_options): If arch and
991 pointer size disagree, emit diagnostic and fix it up. If
992 SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off
993 V8PLUS in 64-bit mode.
994 * config/sparc/t-linux64: New file.
995 * config/sparc/t-sol2-64: New file.
996 * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
997 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
998 (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
999 CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
1000 (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
1001 (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
1002 Define.
1003 (STARTFILE_SPEC): Set approriately based upon those.
1004 (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
1005 disposition of DEFAULT_ARCH32_P.
1006 (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
1007 (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
1008 (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
1009 (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
1010 * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
1011 arch64/v9.
1012 * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
1013
59ec66dc
MM
1014Wed Sep 23 22:32:31 1998 Mark Mitchell <mark@markmitchell.com>
1015
1016 * rtl.h (init_virtual_regs): New function.
1017 * emit-rtl.c (init_virtual_regs): Define.
1018 (insn_emit): Use it.
1019 * integrate.c (save_for_inline_copying): Likewise.
1020
f916eeb6
NC
1021Wed Sep 23 16:22:01 1998 Nick Clifton <nickc@cygnus.com>
1022
a5f42165
NC
1023 * config/arm/thumb.h: The following patches were made by Jim Wilson:
1024 (enum reg_class): Add NONARG_LO_REGS support.
1025 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
1026 PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
1027 (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
1028 completes. Re-enable HImode REG+OFFSET addresses.
1029 (LEGITIMIZE_RELOAD_ADDRESS): Define.
1030
f916eeb6
NC
1031 * expmed.c (extract_bit_field): Add comment from Jim Wilson.
1032
80db34d8
RH
1033Wed Sep 23 13:26:02 1998 Richard Henderson <rth@cygnus.com>
1034
1035 * alpha.c (get_aligned_mem): Revert Sep 20 change.
1036 (alpha_set_memflags, alpha_set_memflags_1): Likewise.
1037 (alpha_align_insns): Properly calculate initial offset wrt max_align.
1038
7551cbc7
RE
1039Wed Sep 23 10:45:44 1998 Richard Earnshaw (rearnsha@arm.com)
1040
1041 * arm.c (find_barrier): Revert change of Apr 23. Handle table
1042 jumps as a single entity, taking into account the size of the
1043 table.
1044
eaec171c
APB
1045Tue Sep 22 15:13:34 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
1046
1047 * tree.def (SWITCH_EXPR): New tree node definition.
1048
83d6aca1
JL
1049Mon Sep 21 23:40:38 PDT 1998 Jeff Law (law@cygnus.com)
1050
1051 * version.c: Bump for snapshot.
1052
4d7f493b
JL
1053Mon Sep 21 22:31:14 PDT 1998 Jeff Law (law@cygnus.com)
1054
1055 * version.c: Bump for snapshot.
1056
31f0adf8
JL
1057Mon Sep 21 22:48:09 1998 Jeffrey A Law (law@cygnus.com)
1058
1059 * configure.in: Recognize i[34567]86-*-openbsd* and handle it like
1060 NetBSD.
1061
6c7c0e9f
JL
1062Mon Sep 21 22:05:28 1998 Jeffrey A Law (law@cygnus.com)
1063
1064 * Revert this patch.
1065 * reload.c (find_reloads): Do not replace a pseudo with
1066 (MEM (reg_equiv_addr)) in the initializing insn for the
1067 pseudo.
1068
7ad7f828
JC
1069Mon Sep 21 20:19:41 1998 John Carr <jfc@mit.edu>
1070
1071 * final.c (final_scan_insn): Disable tracking CC across branches.
1072
43566944
AM
1073Mon Sep 21 17:15:26 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1074
1075 * expr.h (eh_rtime_match_libfunc): New extern declaration.
1076 * optabs.c (init_optabs): Set eh_rtime_match_libfunc.
1077 * except.c (start_catch_handler): Use eh_rtime_match_libfunc.
1078 * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
1079 NULL. Only include <stdio.h> if inhibit_libc is not defined.
1080
1cbe6eb6
JM
1081Mon Sep 21 14:10:51 1998 Jason Merrill <jason@yorick.cygnus.com>
1082
1083 * toplev.c (rest_of_compilation): Skip compiling anything with
1084 DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
1085
d06c6389
JW
1086Mon Sep 21 13:51:05 1998 Jim Wilson <wilson@cygnus.com>
1087
1088 * flow.c (find_basic_blocks): Delete check for in_libcall_block when
1089 prev_code is a CALL_INSN. Change check for REG_RETVAL note to
1090 use in_libcall_block.
1091 (find_basic_blocks_1): Delete check for in_libcall_block when prev_code
1092 is a CALL_INSN. If CALL_INSN and in_libcall_block, then change code
1093 to INSN.
1094
724001bb
RL
1095Mon Sep 21 14:02:23 1998
1096
1097 * i386.h: (TARGET_SWITCHES) Improve doc for align-double. Fix
1098 typo in no-fancy-math-387 description.
1099
64ca6edd
JL
1100Mon Sep 21 09:27:18 PDT 1998 Jeff Law (law@cygnus.com)
1101
1102 * version.c: Bump for snapshot.
1103
216f3a58
SC
1104Mon Sep 21 09:24:49 1998 Stan Cox <scox@cygnus.com>
1105
1106 * i386-coff.h (DBX_DEBUGGING_INFO): Added.
1107
c03f9fe3
RL
1108Mon Sep 21 09:14:49 1998 Robert Lipe <robertl@dgii.com>
1109
1110 * i386.h: (TARGET_SWITCHES) Add description fields for flags
1111 documented in install.texi.
1112 (TARGET_OPTIONS) Likewise.
1113
cc61dfb8
JL
1114Mon Sep 21 01:39:03 PDT 1998 Jeff Law (law@cygnus.com)
1115
1116 * version.c: Bump for snapshot.
1117
b2a1e458
FL
1118Mon Sep 21 01:53:05 1998 Felix Lee <flee@cygnus.com>
1119
1120 * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
1121 * cccp.c (main): Likewise.
b2a1e458
FL
1122
1123 * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
1124 Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
1125 macro-use bugs.
1126
7e2231e7
PB
1127Mon Sep 21 00:52:12 1998 Per Bothner <bothner@cygnus.com>
1128
1129 * Makefile.in (LIBS): Link in libiberty.a.
c03f9fe3 1130 * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
7e2231e7 1131
c93b03c2
RH
1132Sun Sep 20 23:28:11 1998 Richard Henderson <rth@cygnus.com>
1133
1134 * reload1.c (emit_reload_insns): Accept a new arg for the bb. Use
1135 it to update bb boundaries. Update caller.
1136 * function.c (reposition_prologue_and_epilogue_notes): Update
1137 bb boundaries wrt the moved note.
1138
823642df
RL
1139Sun Sep 20 20:57:02 1998 Robert Lipe <robertl@dgii.com>
1140
1141 * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
1142 problems.
1143 * configure: Regenerate.
1144
2ba57343
RH
1145Sun Sep 20 19:01:51 1998 Richard Henderson <rth@cygnus.com>
1146
3873d24b
RH
1147 * alpha.c (alpha_sr_alias_set): New variable.
1148 (override_options): Set it.
1149 (alpha_expand_prologue, alpha_expand_epilogue): Use it.
1150 (mode_mask_operand): Fix signed-unsigned comparision warning.
1151 (alpha_expand_block_move): Likewise.
1152 (print_operand): Likewise.
1153 (get_aligned_mem): Use change_address.
1154 (alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
1155 (alphaev4_insn_pipe, alphaev4_next_group): New functions.
1156 (alphaev4_next_nop, alphaev5_next_nop): New functions.
1157 (alpha_align_insns): Remade from old alphaev5_align_insns
1158 to handle multiple processors.
1159 (alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
1160 * output.h (label_to_alignment): Prototype.
1161
2ba57343
RH
1162 * tree.c (new_alias_set): New function.
1163 * tree.h (new_alias_set): Declare it.
1164 * c-common.c (c_get_alias_set): Use it.
1165
899f1ed6
RH
1166Sun Sep 20 12:35:55 1998 Richard Henderson <rth@cygnus.com>
1167
1168 * fold-const.c (fold): Yet another COND_EXPR bug: when folding
1169 to an ABS expr, convert an unsigned input to signed.
1170
c479c2ac
JL
1171Sun Sep 20 12:14:45 1998 Jeffrey A Law (law@cygnus.com)
1172
1173 * fold-const.c (fold): Fix another type in COND_EXPR handling code.
1174
62616695
MH
11751998-09-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1176
1177 * configure.in: Add support for c4x targets.
1178 * configure: Rebuilt.
1179
f5c97640
RH
1180Sun Sep 20 00:00:51 1998 Richard Henderson <rth@cygnus.com>
1181
1182 * combine.c (distribute_notes): If an insn is a cc0 user, only
1183 delete it if we can also delete the cc0 setter.
1184
a58bd508
MT
1185Sun Sep 20 00:22:23 1998 Michael Tiemann <michael@impact.tiemann.org>
1186
1187 * fold-const.c (fold): Fix typo in COND_EXPR handling code.
1188 (invert_truthvalue): Enable truthvalue inversion for
1189 floating-point operands if -ffast-math.
1190
750930c1
MN
1191Sat Sep 19 23:58:07 1998 Melissa O'Neill <oneill@cs.sfu.ca>
1192
1193 * configure.in: Disable collect2 for nextstep. Instead use
1194 crtbegin/crtend.
1195 * configure: Rebuilt.
1196 * config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
1197 (ENDFILE_SPEC): Define.
1198 (OBJECT_FORMAT_MACHO): Define.
1199 (EH_FRAME_SECTION_ASM_OP): Define.
1200 * crtstuff.c: Handle MACHO.
1201
655d03a8
RL
1202Sun Sep 20 00:24:24 1998 Robert Lipe <robertl@dgii.com>
1203
1204 * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
1205
b567319f
TG
12061998-09-19 Torbjorn Granlund <tege@matematik.su.se>
1207
1208 * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
1209 (_fpadd_parts): Get sign right for 0.
1210
9949a9f2
MH
12111998-09-19 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1212
1213 * ginclude/varargs.h: Add support for C4x target.
1214 * ginclude/stdargs.h: Likewise.
1215
3fe5612d
RH
1216Sat Sep 19 12:05:09 1998 Richard Henderson <rth@cygnus.com>
1217
1218 * alpha.c (alpha_return_addr): SET should be VOIDmode.
1219 (alpha_emit_set_long_const): Rewrite to be callable from reload
1220 and 32-bit hosts.
1221 (alpha_expand_epilogue): Update for alpha_emit_set_long_const.
1222 * alpha.md (movdi): Likewise.
1223
332072db
RE
1224Sat Sep 19 07:33:36 1998 Richard Earnshaw (rearnsha@arm.com)
1225
1226 * arm.c (add_constant): New parameter address_only, change caller.
1227 Set it non-zero if taking the address of an item in the pool.
1228 (arm_reorg): Handle cases where we need the address of an item in
1229 the pool.
1230
9c8cc54f
RE
1231 * arm.c (bad_signed_byte_operand): Check both arms of a sum in
1232 a memory address.
1233 * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
1234 memory addresses that are not in standard canonical form.
1235
cb0ca284
MH
1236Sat Sep 19 01:00:32 1998 Michael Hayes (mph@elec.canterbury.ac.nz)
1237
1238 * README.C4X: New file with information about the c4x ports.
1239 * ginclude/va-c4x.h: New file for c4x varargs support.
1240 * config/c4x: New directory with c4x port files.
1241
f10df53c
JL
1242Fri Sep 18 22:52:05 1998 Jeffrey A Law (law@cygnus.com)
1243
1244 * reload.c (find_reloads): Do not replace a pseudo with
1245 (MEM (reg_equiv_addr)) in the initializing insn for the
1246 pseudo.
1247
5accd822
DE
1248Fri Sep 18 23:50:56 1998 David Edelsohn <edelsohn@mhpcc.edu>
1249
1250 * toplev.c (rest_of_compilation): Set bct_p on second call to
1251 loop_optimize.
1252 * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
1253 bct_p.
1254 (strength_reduce): Only call analyze_loop_iterations and
1255 insert_bct if bct_p set.
1256 (check_dbra_loop): Fix typo.
1257 (insert_bct): Use word_mode instead of SImode.
1258 (instrument_loop_bct): Likewise. Do not delete iteration count
1259 condition code generation insn. Initialize iteration count before
1260 loop start.
1261 * rtl.h (loop_optimize): Update prototype.
1262
1263 * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
1264 not doubleword aligned.
1265
1266 * rs6000.c (optimization_options): New function.
1267 (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
1268 * rs6000.h (OPTIMIZATION_OPTIONS): Define.
1269 (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
1270 first; cr1 can be used for FP record condition insns.
1271
d2a73f8e
NC
1272Fri Sep 18 09:44:55 1998 Nick Clifton <nickc@cygnus.com>
1273
1274 * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
1275 PREDICATE_CODES.
1276
1277 * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
1278 patterns.
1279
1280 * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
1281 operators.
1282 (block_move_call): New function: Call a library routine to copy a
1283 block of memory.
1284 (m32r_expand_block_move): New function: Expand a "movstrsi"
1285 pattern into a sequence of insns.
1286 (m32r_output_block_move): New function: Expand a
1287 "movstrsi_internal" pattern into a sequence of assembler opcodes.
1288 (m32r_block_immediate_operand): New function: Return true if the
1289 RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
1290
7ac2148b
AM
1291Thu Sep 17 16:42:16 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1292
1293 * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
1294 re-align some code.
1295 * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
1296
9d2106a4
R
1297Thu Sep 17 12:24:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1298
1299 * regmove.c (copy_src_to_dest): Check that modes match.
1300
086afc19
RL
1301Wed Sep 16 22:10:42 1998 Robert Lipe <robertl@dgii.com>
1302
1303 * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
1304
b66a3ac1
RH
1305Wed Sep 16 15:24:54 1998 Richard Henderson <rth@cygnus.com>
1306
1307 * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
1308 narrower than FLOAT_REGS.
1309
0d7138a1
AO
1310Wed Sep 16 17:51:00 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1311
1312 * cpplib.c: removed OLD_GPLUSPLUS_INCLUDE_DIR
1313 * cccp.c: ditto
1314 * Makefile.in (old_gxx_include_dir): removed
1315
f43a85ca
NC
1316Wed Sep 16 12:29:22 1998 Nick Clifton <nickc@cygnus.com>
1317
1318 * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
1319 new specification.
1320
1321 * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
1322 (sh_handle_pragma): Change function arguments to match new
1323 specification for HANDLE_PRAGMA.
1324
88dab4f6
KG
1325Wed Sep 16 12:43:19 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1326
1327 * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
1328 `unsigned char'.
1329 (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
1330 When generating output, initialize missing struct member to zero.
1331
1a8fca8a
R
1332Wed Sep 16 14:47:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1333
1334 * regmove.c (copy_src_to_dest): Don't copy if that requires
1335 (a) new register(s).
1336
f15ebf65
BS
1337Wed Sep 16 01:29:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1338
1339 * global.c (reg_allocno): Now static.
1340 * reload1.c (reg_allocno): Delete declaration.
1341 (order_regs_for_reload): Take no arguments. Don't treat regs
1342 allocated by global differently than those allocated by local-alloc.
1343
3dbf3a22
KI
1344Wed Sep 16 01:09:01 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
1345
b0e982be
KI
1346 * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
1347 condition, fix format strings.
1348 (output_function_epilogue): Likewise.
1349
3dbf3a22
KI
1350 * m68k/m68k.c: Don't include <stdlib.h> directly.
1351
b86ba9c8
GK
1352Wed Sep 16 00:30:56 1998 Geoff Keating <geoffk@ozemail.com.au>
1353
1354 * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
1355 mem_first_set, mem_last_set; because 0 can be a CUID.
1356 (oprs_unchanged_p): Use new definition.
1357 (record_last_reg_set_info): Likewise.
1358 (record_last_mem_set_info): Likewise.
1359 (compute_hash_table): Likewise.
1360
54d65918
JL
1361Tue Sep 15 22:59:52 1998 Jeffrey A Law (law@cygnus.com)
1362
6f573ff9
JL
1363 * rs6000.c (output_epilogue): Handle Chill.
1364
fa88e837
JL
1365 * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
1366 * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
1367
0d8e55d8
JL
1368 * combine.c (make_extraction): If no mode is specified for
1369 an operand of insv, extv, or extzv, default it to word_mode.
1370 (simplify_comparison): Similarly.
1371 * expmed.c (store_bit_field): Similarly.
1372 (extract_bit_field): Similarly.
1373 * function.c (fixup_var_regs_1): Similarly.
1374 * recog.c (validate_replace_rtx_1): Similarly.
1375 * mips.md (extv, extzv, insv expanders): Default modes for most
1376 operands. Handle TARGET_64BIT.
1377 (movdi_uld, movdi_usd): New patterns.
1378
54d65918
JL
1379 * pa.c (emit_move_sequence): Do not replace a pseudo with its
1380 equivalent memory location unless we have been provided a scratch
1381 register. Similarly do not call find_replacement unless a
1382 scratch register has been provided.
1383
c09a3c2e
BS
1384Tue Sep 15 19:23:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1385
1386 * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
1387 return FLOAT_REGS.
1388
71038426
RH
1389Tue Sep 15 19:09:06 1998 Richard Henderson <rth@cygnus.com>
1390
1391 * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill.
1392 (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
1393 (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
1394 (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
1395 * c-decl.c (init_decl_processing): Update accordingly.
1396 * expr.c (expand_builtin): Likewise.
1397
1398 * rtl.h (global_rtl): Add cfa entry.
1399 (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
1400 (LAST_VIRTUAL_REGISTER): Update.
1401 * emit-rtl.c (global_rtl): Add cfa entry.
1402 (init_emit): Initialize it.
1403 * function.c (cfa_offset): New.
1404 (instantiate_virtual_regs): Initialize it.
1405 (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
1406 (expand_function_end): Call expand_eh_return.
1407 * tm.texi (ARG_POINTER_CFA_OFFSET): New.
1408
1409 * except.c (current_function_eh_stub_label): Kill.
1410 (current_function_eh_old_stub_label): Likwise; update all references.
1411 (expand_builtin_set_return_addr_reg): Kill.
1412 (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
1413 (expand_builtin_set_eh_regs): Kill.
1414 (eh_regs): Produce a third reg for the actual handler address.
1415 (eh_return_context, eh_return_stack_adjust): New.
1416 (eh_return_handler, eh_return_stub_label): New.
1417 (init_eh_for_function): Initialize them.
1418 (expand_builtin_eh_return, expand_eh_return): New.
1419 * except.h: Update prototypes.
1420 * flow.c (find_basic_blocks_1): Update references to the stub label.
1421 * function.h (struct function): Kill stub label elements.
1422
1423 * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
1424 register number is one that would be in the previous window.
1425 Provide a dummy definition for non-windowed targets.
1426 (get_reg_addr): New function.
1427 (get_reg, put_reg, copy_reg): Use it.
1428 (__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub
1429 generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa.
1430
1431 * alpha.c (alpha_eh_epilogue_sp_ofs): New.
1432 (alpha_init_expanders): Initialize it.
1433 (alpha_expand_epilogue): Use it.
1434 * alpha.h: Declare it.
1435 * alpha.md (eh_epilogue): New.
1436
1437 * m68h.h (ARG_POINTER_CFA_OFFSET): New.
1438 * sparc.h (ARG_POINTER_CFA_OFFSET): New.
1439
bb210aaf
MM
1440Tue Sep 15 19:31:58 1998 Michael Meissner <meissner@cygnus.com>
1441
1442 * i960.h (CONST_COSTS): Fix thinko. Test flag, not the constant
1443 flag bit mask.
1444
bf71cd2e
AM
1445Tue Sep 15 14:10:54 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1446
1447 * except.h (struct eh_entry): Add false_label field.
1448 (end_catch_handler): Add prototype.
1449 * except.c (push_eh_entry): Set false_label field to NULL_RTX.
1450 (start_catch_handler): When using old style exceptions, issue
1451 runtime typematch code before continuing with the handler.
1452 (end_catch_handler): New function, generates label after handler
1453 if needed by older style exceptions.
1454 (expand_start_all_catch): No need to check for new style exceptions.
1455 (output_exception_table_entry): Only output the first handler label
1456 for old style exceptions.
1457 * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
1458 mechanism into one function, if a runtime matcher is provided.
1459
8a21007c
AM
1460Tue Sep 15 13:53:59 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1461
1462 * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
1463
11d09c08
MM
1464Tue Sep 15 09:59:01 1998 Mark Mitchell <mark@markmitchell.com>
1465
1466 * integrate.c (copy_decl_list): Fix typo.
1467
2d81c9bf
DM
1468Tue Sep 15 04:18:52 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1469
1470 * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
1471 attribute.
1472
e12994ab
JL
1473Mon Sep 14 14:02:53 PDT 1998 Jeff Law (law@cygnus.com)
1474
1475 * version.c: Bump for snapshot.
1476
028d0b2a
JL
1477Mon Sep 14 10:33:56 PDT 1998 Jeff Law (law@cygnus.com)
1478
1479 * version.c: Bump for snapshot.
1480
466973ed
JL
1481Mon Sep 14 09:51:05 PDT 1998 Jeff Law (law@cygnus.com)
1482
1483 * version.c: Bump for snapshot.
1484
ad299d9b
DM
1485Sun Sep 13 22:10:18 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1486
1487 * invoke.texi (C Dialect Options): Put back missing @end itemize.
1488
1b015bec
AO
1489Mon Sep 14 02:33:46 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1490
1491 * configure.in: remove usage of `!' to negate the result of a
1492 command; some common shells do not support it
1493
d7496fbb
DM
1494Sun Sep 13 19:17:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1495
1496 * configure.in: in sparc9-sol2 config, use 'if test' not
1497 brackets.
1498 * configure: Rebuilt.
1499
1500 * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
1501 CM_MEDANY.
1502 (CPP_CPU_SPEC): Do not define _LP64, header files do this.
1503 (CPP_CPU_DEFAULT_SPEC): Likewise.
1504 * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
1505 for arch64 libfuncs.
1506
073149a2
DM
1507 * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
1508 for operand zero.
1509
007e8d2a
KG
1510Sun Sep 13 09:11:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1511
1512 * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
1513
1514 * collect2.c: Don't declare `sys_siglist' here.
1515 (my_strsignal): Prototype and define new function. Use it in
1516 place of `sys_siglist' hacks.
1517
1518 * mips_tfile.c: Likewise.
1519
1520 * configure.in (AC_CHECK_FUNCS): Check for strsignal.
1521 (GCC_NEED_DECLARATIONS): Likewise.
1522
1523 * system.h (strsignal): Prototype it, if necessary.
1524 (sys_siglist): Declare it, if necessary.
1525
9655bf95
DM
1526Sun Sep 13 04:37:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1527
1528 * loop.c (move_movables): While removing insn sequences, preserve
1529 the next pointer of the most recently deleted insn when we skip
1530 over a NOTE.
1531
fbe39e48
BE
1532Sun Sep 13 08:13:39 1998 Ben Elliston <bje@cygnus.com>
1533
1534 * objc/config-lang.in: Do not output the name of the selected
1535 thread file when building the front-end. The Makefile for the
1536 runtime library will do this.
1537
1538 * objc/Make-lang.in: Do not build the runtime library or install
1539 the Objective C header files. The Makefile for the runtime
1540 library will do this.
1541
1542 * objc/Makefile.in (all.indirect): Only build the front-end.
1543 (compiler): Rename to `frontend'.
1544 (obj-runtime): Remove target.
1545 (copy-headers): Likewise.
1546 (clean): No need to remove `libobjc.a' any longer.
1547
b91d2c10
MM
1548Sat Sep 12 11:37:19 1998 Michael Meissner <meissner@cygnus.com>
1549
1550 * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
1551 supported with -mcpu=xxx.
1552
86465af7
DM
1553Fri Sep 11 23:55:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1554
1555 * flow.c (mark_set_1): Recognize multi-register structure return
1556 values in CALL insns.
1557 (mark_used_regs): Likewise.
1558 (count_reg_sets_1): Likewise.
1559 (count_reg_references): Likewise.
1560 * rtlanal.c (note_stores): Likewise.
c0222c21
DM
1561 (reg_overlap_mentioned_p): Likewise.
1562 * haifa-sched.c (check_live_1): Likewise.
1563 (update_live_1): Likewise.
1564 (sched_analyze_1): Likewise.
1565 (sched_note_set): Likewise.
1566 (birthing_insn_p): Likewise.
1567 (attach_deaths): Likewise.
1568
1569 * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
1570
86465af7 1571
37a29ee7
ED
1572Fri Sep 11 22:57:55 1998 Eric Dumazet <dumazet@cosmosbay.com>
1573
45259482 1574 * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
37a29ee7 1575
75bba2a6
DM
1576Thu Sep 10 22:02:04 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1577
1578 * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
1579
d1accaa3
JJ
1580Thu Sep 10 21:19:10 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
1581
1582 * configure.in: Add check for GAS subsection -1 support.
1583 * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
1584 * configure config.in: Rebuilt.
1585 * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
1586 SImode is subsection -1 works, else use DImode.
1587 (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
1588 subsection -1 works.
1589 * config/sparc/sparc.c (sparc_output_addr_vec,
1590 sparc_output_addr_diff_vec): Use them if defined.
1591
02e24c7a
MM
1592Thu Sep 10 10:46:01 1998 Mark Mitchell <mark@markmitchell.com>
1593
1594 * tree.h (DECL_ORIGIN): New macro.
1595 * integrate.c (copy_and_set_decl_abstract_origin): New function.
1596 (copy_decl_list): Use it.
1597 (integrate_parm_decls): Likewise.
1598 (integrate_decl_tree): Likewise.
1599 * dwarf2out.c (decl_ultimate_origin): Simplify.
1600 * dwarfout.c (decl_ultimate_origin): Likewise.
1601 * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
1602 (pushdecl): Likewise.
1603
9517ead8
AG
1604Thu Sep 10 08:01:31 1998 Anthony Green <green@cygnus.com>
1605
1606 * config/rs6000/rs6000.c (output_epilog): Add Java support.
1607
95c81fb8
ML
1608