]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
call.c (build_object_call): Move declaration of variable `fn' into the scope where...
[gcc.git] / gcc / ChangeLog
CommitLineData
877ca132
HB
11998-10-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2
3 * loop.c (move_movables): Corrected threshold calculation for
4 moved_once registers.
5
da5a44b3
BS
6Mon Oct 5 21:18:45 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
7
8 * loop.c (combine_givs_p): Fix test for identical givs.
9
b75ab88b
NC
10Mon Oct 5 10:11:28 1998 Nick Clifton <nickc@cygnus.com>
11
12 * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
13 call abort if the function is already defined.
14
f385990f
JL
15Mon Oct 5 10:02:36 1998 Jeffrey A Law (law@cygnus.com)
16
17 * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
18 truncation is not a no-op.
19
01e69619
JL
20Mon Oct 5 09:02:04 PDT 1998 Jeff Law (law@cygnus.com)
21
22 * version.c: Bump for snapshot.
23
d03e8554
JL
24Mon Oct 5 08:19:55 PDT 1998 Jeff Law (law@cygnus.com)
25
26 * version.c: Bump for snapshot.
27
32fdf36b
TG
28Mon Oct 5 01:07:23 1998 Torbjorn Granlund <tege@matematik.su.se>
29
30 * expmed.c (expand_divmod): Don't widen for computing remainder
31 if we seem to have a divmod pattern for needed mode.
32
4284b774
ZW
33Mon Oct 5 01:01:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
34
35 * cpplib.c (macroexpand): Correct off-by-one error in handling
36 of escapes.
37
861556b4
RH
38Sun Oct 4 23:58:30 1998 Richard Henderson <rth@cygnus.com>
39
40 * combine.c (expand_field_assignment): Don't do bitwise operations
41 on MODE_FLOAT; pun to MODE_INT if possible.
42
b4558b57
JM
43Sun Oct 4 18:33:24 1998 Jason Merrill <jason@yorick.cygnus.com>
44 scott snyder <snyder@d0sgif.fnal.gov>
45
46 * tlink.c (scan_linker_output): Recognize errors from irix 6.2
47 linker. Recognize mangled names in quotes.
48
295c5559
JJ
49Sun Oct 4 02:58:20 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
50
51 * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
52 (ashlsi3_const1, ashldi3_const1): New combiner patterns.
53 (ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
54 (lshrsi3_extend, lshrsi3_extend2): Ditto.
55
ca2636ed
DM
56Sun Oct 4 00:23:00 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
57
58 * function.c (purge_addressof_1): If trying to take a sub-word
59 integral piece of a floating point mode, put it on the stack.
60
4d77340e
RH
61Sat Oct 3 19:01:03 1998 Richard Henderson <rth@cygnus.com>
62
63 * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
64
c20c6337
JM
65Sat Oct 3 14:42:19 1998 Jason Merrill <jason@yorick.cygnus.com>
66
71d718e0
JM
67 * PROJECTS: Remove template friends.
68
69 * collect2.c (sort_ids): Remove unused variable.
70
71 * tm.texi (MATH_LIBRARY): Document.
72 (NEED_MATH_LIBRARY): Remove.
73
c20c6337
JM
74 * varasm.c (assemble_start_function, assemble_variable, weak_finish,
75 assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
76
69fba037
JC
77Sat Oct 3 16:14:44 1998 John Carr <jfc@mit.edu>
78
79 * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
80 last_end to 0x7fffffff.
81
47401c4d
DM
82Fri Oct 2 19:14:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
83
84 * function.c (purge_addressof_1): Do not perform endianness
85 corrections on bitpos, who we call will do it for us.
86
d01d2903
JL
87Fri Oct 2 11:52:35 1998 Jeffrey A Law (law@cygnus.com)
88
89 * h8300.c (WORD_REG_USED): Fix typo.
90 (initial_offset): Use WORD_REG_USED.
91
92 * h8300.c (handle_pragma): Fix typo.
93
a330a79e
BS
94Fri Oct 2 10:51:35 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
95
f670c074
JL
96 * caller-save.c (insert_save_restore): Break this function up
97 into new functions insert_restore, insert_save and insert_one_insn.
98 All callers changed.
99 (insert_restore): New function, mostly broken out of
100 insert_save_restore.
101 (insert_save): Likewise.
102 (insert_one_insn): Likewise.
103 (restore_referenced_regs): New argument BLOCK. All callers changed.
104 (save_call_clobbered_regs): Don't keep track of basic block boundaries
105 in this function, do it in insert_one_insn instead.
106
09dd1133
BS
107 * reload1.c (reload): Break out some more pieces into separate
108 functions.
109 (dump_needs): New function, broken out of reload.
110 (set_initial_elim_offsets): Likewise.
111 (init_elim_table): Likewise.
112 (update_eliminables): Likewise.
113
34f89b5f
BS
114 * global.c (global_alloc): Delete code to manage the scratch_list.
115 * local-alloc.c (qty_scratch_rtx): Delete.
116 (scratch_block): Delete.
117 (scratch_list): Delete.
118 (scratch_list_length): Delete.
119 (scratch_index): Delete.
120 (alloc_qty_for_scratch): Delete.
121 (local-alloc): Update initialization of max_qty.
122 Delete code to manage the scratch list.
123 Delete code to allocate/initialize qty_scratch_rtx.
124 (block_alloc): Don't allocate quantities for scratches.
125 Delete code to manage the scratch list.
126 * regs.h (scratch_list): Delete declaration.
127 (scratch_block): Delete declaration.
128 (scratch_list_length): Delete declaration.
129 * reload1.c (reload): Delete code to manage the scratch list.
130 (spill_hard_reg): Likewise.
131 (mark_scratch_live): Delete.
132
a330a79e
BS
133 * recog.c (alter_subreg): Delete declaration.
134
8547cf54
AJ
1351998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
136
137 * Makefile.in (cccp.o): Fix typo in last patch.
138
e430f738
R
139Fri Oct 2 16:13:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
140
141 * t-sh (LIB1ASMFUNCS): Add _set_fpscr .
142 * config/sh/lib1funcs.asm (___set_fpscr): Add.
143
1f72bfca
JL
144Fri Oct 2 02:01:59 1998 Jeffrey A Law (law@cygnus.com)
145
8ac53846
JL
146 * regclass.c (reg_scan_mark_refs): Return immediately if passed a
147 NULL_RTX as an argument.
148
1f72bfca
JL
149 * Makefile.in (unlibsubdir): Define.
150 (DRIVER_DEFINES): Use unlibsubdir.
151 (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
152 (stmp-fixinc): Similarly.
153
961d4119
BS
154Thu Oct 1 19:58:30 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
155
156 * regmove.c (regmove_optimize): Add variable old_max_uid.
157 At the end of the function, update basic_block_end.
158
23e08716
DM
159Thu Oct 1 17:58:25 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
160
161 * dwarf2out.c (expand_builtin_dwarf_reg_size): Use
162 FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
163 arbitrary constant.
164
da6558fd
NC
165Thu Oct 1 17:57:14 1998 Nick Clifton <nickc@cygnus.com>
166
167 * config/arm/arm.c: Improve interworking support.
168
470cdb8b
R
169Thu Oct 1 18:43:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
170
171 * reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
172 copied from reload_out[r] .
173
913f68c1
JC
174Thu Oct 1 19:20:09 1998 John Carr <jfc@mit.edu>
175
176 * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
177 with more than three size ranges.
178
179 * flow.c (sbitmap_copy): Use bcopy to copy bitmap.
180
181 * rtl.c (mode_name): Add a null string at the end of the array.
182 (mode_wider_mode): Change type to unsigned char.
183 (mode_mask_array): New variable.
184 (init_rtl): Update for mode_wider_mode type change.
185
186 * rtl.h (mode_wider_mode): Change type to unsigned char.
187 (mode_mask_array): Declare.
188 (GET_MODE_MASK): Use mode_mask_array.
189
c36fce9a
GRK
190Thu Oct 1 15:56:01 1998 Gavin Romig-Koch <gavin@cygnus.com>
191
192 * calls.c (expand_call) : Encapsulate code into
193 copy_blkmode_from_reg.
194 * expr.c (copy_blkmode_from_reg): New function.
195 * expr.h (copy_blkmode_from_reg): New function.
196 * integrate.c (function_cannot_inline_p): We can inline
197 these now.
198 (expand_inline_function): Use copy_blkmode_from_reg
199 if needed. Avoid creating BLKmode REGs.
200 (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
201 object.
202
3a846e6e
NC
203Thu Oct 1 10:42:27 1998 Nick Clifton <nickc@cygnus.com>
204
3ce15347
NC
205 * config/v850/v850.c: Add function prototypes.
206 Add support for v850 special data areas.
207
208 * config/v850/v850.h: Add support for v850 special data areas.
209
e2af664c
NC
210 * c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
211 HANDLE_PRAGMA_PACK_PUSH_POP.
212 (push_alignment): New function: Cache an alignment requested
213 by a #pragma pack(push,<n>).
214 (pop_alignment): New function: Pop an alignment from the
215 alignment stack.
216 (insert_pack_attributes): New function: Generate __packed__
217 and __aligned__ attributes for new decls whilst a #pragma pack
218 is in effect.
219 (add_weak): New function: Cache a #pragma weak directive.
220 (handle_pragma_token): Document calling conventions. Add
221 support for #pragma pack(push,<n>) and #pragma pack (pop).
222
223 * c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
224 are defined enable HANDLE_PRAGMA_PACK.
225 Move 'struct weak_syms' here (from varasm.c).
226 Add pragma states for push and pop pragmas.
227
228 * c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
229 if it is defined.
230
231 * c-lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with
232 HANDLE_GENERIC_PRAGMAS.
233
234 * varasm.c: Move definition of 'struct weak_syms' into
235 c-pragma.h.
236 (handle_pragma_weak): Deleted.
237
238 * config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
239
240 * config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
241
3a846e6e
NC
242 * c-decl.c (start_function): Add invocation of
243 SET_DEFAULT_DECL_ATTRIBUTES, if defined.
244
245 * tm.texi: Remove description of non-existant macro
246 SET_DEFAULT_SECTION_NAME.
e2af664c
NC
247
248 (HANDLE_SYSV_PRAGMA): Document.
249 (HANDLE_PRAGMA_PACK_PUSH_POP): Document.
3a846e6e 250
5aaf0123
RL
251Wed Sep 30 22:27:53 1998 Robert Lipe <robertl@dgii.com>
252
253 * config.sub: Recognize i[34567]86-pc-udk as new target.
254 * configure.in: Likewise.
255 * config/i386/t-udk: New file.
256 * config/i386/udk.h: New file.
257
f0c76b51
JL
258Wed Sep 30 19:33:07 1998 Jeffrey A Law (law@cygnus.com)
259
260 * reorg.c (check_annul_list_true_false): Remove unused variables.
261 (steal_delay_list_from_target): Add missing "used_annul" variable.
262 (try_merge_delay_insns): Close out half formed comment.
263
6fa72945
ZW
264Wed Sep 30 19:13:20 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
265
aa90b111
ZW
266 * cpplib.c (macroexpand): If arg->raw_before or
267 arg->raw_after, remove any no-reexpansion escape at the
268 beginning of the pasted token. Correct handling of whitespace
269 markers and no-reexpand markers at the end if arg->raw_after.
270
6fa72945
ZW
271 * toplev.c (documented_lang_options): Recognize -include,
272 -imacros, -iwithprefix, -iwithprefixbefore.
273 * cpplib.c (cpp_start_read): Process -imacros and -include
274 switches at the same time and in command-line order, after
275 initializing the dependency-output code. Emit properly nested
276 #line directives for them. Emit a #line for the main file
277 before processing these switches, and don't do it again
278 afterward.
279
f7b6d104
RH
280Wed Sep 30 18:03:22 1998 Richard Henderson <rth@cygnus.com>
281
282 * function.c (purge_addressof_1): Use bitfield manipulation
283 routines to handle mem mode < reg mode.
284
96960d10
HB
285Wed Sep 30 18:43:32 1998 Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
286
287 * reorg.c (try_merge_delay_insns): Account for resources referenced
288 in each instruction in INSN's delay list before trying to eliminate
289 useless instructions. Similarly when looking at a trial insn's delay
290 slots.
291
292 * reorg.c (check_annul_list_true_false): New function.
293 (steal_delay_list_from_{target,fallthrough}): Call it and also
294 refine tests for when we may annul if already filled a slot.
295 (fill_slots_from_thread): Likewise.
296 (delete_from_delay_slot): Return newly-created thread.
297 (try_merge_delay_isns): Use its new return value.
298
c5cbf81e
JL
299Wed Sep 30 18:29:26 1998 Jeffrey A Law (law@cygnus.com)
300
301 * loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
302 used to compute a giv or as some other non-counting use.
303
8d5c8167
JL
304Wed Sep 30 18:19:27 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
305
1e326708
MH
306 * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
307 * local-alloc.c (find_free_reg): Use it.
308 * global.c (find_reg): Likewise.
309 * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
310
8d5c8167
JL
311 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
312 * caller-save.c (init_caller_save): Use it.
313 * tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
314
315Wed Sep 30 12:57:30 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
f81a440f
ZW
316
317 * configure.in: Add --enable-cpplib option which uses cpplib
318 for cpp, but doesn't link cpplib into cc1. Make help text
319 capitalization consistent.
320 * configure: Rebuilt.
321
95ca22f4
MM
322Wed Sep 30 10:09:39 1998 Mark Mitchell <mark@markmitchell.com>
323
324 * function.c (gen_mem_addressof): If the address REG is
325 REG_USERVAR_P make the new REG be so also.
326 * loop.c (scan_loop): Apply DeMorgan's laws and add documentation
327 in an attempt to clarify slightly.
328
ee06cc21
JL
329Wed Sep 30 09:57:40 1998 Jeffrey A Law (law@cygnus.com)
330
331 * expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
332 and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
333
257441db
CM
334Wed Sep 30 10:13:39 1998 Catherine Moore <clm@cygnus.com>
335
336 * toplev.c: Fix last patch.
337
dc5737cf
JW
338Tue Sep 29 20:03:18 1998 Jim Wilson <wilson@cygnus.com>
339
340 * loop.c (get_condition): Fix typo in May 9 change.
341
89ed4e9d
AM
342Tue Sep 29 11:11:38 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
343
344 * invoke.texi (-fexceptions): Merge 2 different descriptions.
345
630962bf
KG
346Mon Sep 28 22:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
347
348 * toplev.c (documented_lang_options): Spelling corrections.
349
ab339d62
AO
350Mon Sep 28 19:41:24 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
351
352 * configure.in: new flags --with-ld and --with-as, equivalent
353 to setting LD and AS environment variables. Test whether
354 specified arguments are GNU commands, and report them with
355 checking messages. Use the specified AS for configure
356 tests too.
357 * configure: ditto
358 * acconfig.h: add DEFAULT_ASSEMBLER and DEFAULT_LINKER
359 * config.in: ditto
360 * gcc.c (find_a_file): when looking for `as' and `ld', return
361 the DEFAULT program if it exists
362 * collect2.c (main): use DEFAULT_LINKER if it exists
363
364 * gcc.c (find_a_file): the test for existence of a full
365 pathname was reversed
366
42820a49
MM
367Mon Sep 28 17:34:35 1998 Michael Meissner <meissner@cygnus.com>
368
369 * rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
370 * rs6000.c (output_mi_thunk): Always use a raw jump for now.
371
8ff0c1af
MM
372Mon Sep 28 14:24:03 1998 Mark Mitchell <mark@markmitchell.com>
373
374 * tree.h (TYPE_BINFO): Document.
375
9588f31b
SC
376Mon Sep 28 12:55:49 1998 Stan Cox <scox@cygnus.com>
377
378 * i386-coff.h (dbxcoff.h): Added.
379
fd868572
CM
380Mon Sep 28 12:51:00 1998 Catherine Moore <clm@cygnus.com>
381
382 * toplev.c: fix bad patch around flag_data_sections.
383
1f2b04b3
NC
384Mon Sep 28 10:32:28 1998 Nick Clifton <nickc@cygnus.com>
385
386 * reload1.c (reload): Use reload_address_index_reg_class and
387 reload_address_base_reg_class when setting
388 caller_save_spill_class. (Patch generated by Jim Wilson:
389 wilson@cygnus.com).
390
ece32014
MM
391Mon Sep 28 07:43:34 1998 Mark Mitchell <mark@markmitchell.com>
392
393 * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
394 and ARRAY_TYPEs. Tidy up. Improve support for type-punning.
395 * expr.c (store_field): Add alias_set parameter. Set the
396 MEM_ALIAS_SET accordingly, if the target is a MEM.
397 (expand_assignment): Use it.
398 (store_constructor_field): Pass 0.
399 (expand_expr): Likewise.
400
7d0756fb
CM
401Mon Sep 28 07:54:03 1998 Catherine Moore <clm@cygnus.com>
402
403 * flags.h: Add flag_data_sections.
404 * toplev.c: Add option -fdata-sections. Add flag_data_sections.
405 (compile_file): Error if flag_data_sections not supported.
406 * varasm.c (assemble_variable): Handle flag_data_sections.
407 * config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
408 * config/mips/elf.h: Likewise.
409 * config/mips/elf64.h: Likewise.
410 * invoke.texi: Describe -fdata-sections.
411
6fd74494
CB
412Mon Sep 28 04:15:44 1998 Craig Burley <burley@melange.gnu.org>
413
414 * invoke.texi (-ffloat-store): Clarify that this option
415 does not affect intermediate results -- only variables.
416
fcce5756
JL
417Mon Sep 28 04:11:35 1998 Jeffrey A Law (law@cygnus.com)
418
419 * cpp.texi: Update for Fortran usage from Craig.
420
2310f99a
DE
421Fri Sep 25 22:09:47 1998 David Edelsohn <edelsohn@mhpcc.edu>
422
423 * rs6000.c (function_arg_boundary): Revert accidental change on
424 September 18.
425
17167fd8
MM
426Fri Sep 25 20:30:00 1998 Michael Meissner <meissner@cygnus.com>
427
428 * rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
429 (output_mi_thunk): Declare.
430
431 * rs6000.c (output_mi_thunk): Function to create thunks for MI.
432 (output_function_profiler): Use r12 for temp, instead of r11 so
433 that we preserve the static chain register.
434
46fb0d7d
JW
435Fri Sep 25 14:18:33 1998 Jim Wilson <wilson@cygnus.com>
436
437 * sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
438
913d8e13
R
439Fri Sep 25 19:30:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
440
441 * sh.c (gen_shl_sext): Fix case 5.
442
2abbc1bd
R
443Fri Sep 25 17:35:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
444
445 * reload1.c (reload_combine): Re-add line that got accidentally lost.
446
36611067
KG
447Fri Sep 25 10:43:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
448
449 * cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
450 accessing variables until they are initialized via va_arg().
451
85ccbba3
DM
452Thu Sep 24 22:12:16 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
453
454 * reload1.c (reload_combine): Initialize set before using.
455
0dbb7a10
JM
456Thu Sep 24 18:53:20 1998 Jason Merrill <jason@yorick.cygnus.com>
457
458 * sdbout.c (sdbout_field_types): Don't emit the types of fields we
459 won't be emitting.
460
da959950
NC
461Thu Sep 24 17:05:30 1998 Nick Clifton <nickc@cygnus.com>
462
463 * config/arm/arm.md (insv): Add comment. In CONST_INT case, and
464 operand3 with mask before using it. Patch provided by Jim Wilson.
465
3c6088d2
JJ
466Thu Sep 24 15:08:08 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
467
468 * config/sparc/sparc.c (function_value): Perform the equivalent of
469 PROMOTE_MODE for ARCH64.
470 (eligible_for_epilogue_delay): Allow DImode operations in delay
471 slot of a return for ARCH64.
472
71187870
R
473Thu Sep 24 22:17:54 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
474
475 * sh.md (sqrtsf2): Fix mode of sqrt.
476
b29514ee
R
477Thu Sep 24 21:48:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
478
479 * reload1.c (choose_reload_regs): Also try inheritance when
480 reload_in is a stack slot of a pseudo, even if we already got a
481 reload reg.
482
5adf6da0
R
483Thu Sep 24 21:22:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
484
485 * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
486 (reload_cse_regs): New function body: call reload_cse_regs_1,
487 reload_combine, reload_cse_move2add.
488 When doing expensive_optimizations, call reload_cse_regs_1 a
489 second time after reload_cse_move2add.
490 (reload_combine, reload_combine_note_store): New functions.
491 (reload_combine_note_use): New function.
492 (reload_cse_move2add, move2add_note_store): New functions.
493
c10638c9
R
494Thu Sep 24 18:48:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
495
496 * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
497 reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
498
499 Properly keep track of first RELOAD_FOR_X_ADDRESS also for
500 more than 3 such reloads.
501
502 If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
503 RELOAD_FOR_X_ADDR_ADDR reload.
504
34c73909
R
505Thu Sep 24 17:45:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
506
507 * expr.c (store_constructor): When initializing a field that is smaller
508 than a word, at the start of a word, try to widen it to a full word.
509
510 * cse.c (cse_insn): When we are about to change a register,
511 remove any invalid references to it.
512
513 (remove_invalid_subreg_refs): New function.
514 (mention_regs): Special treatment for SUBREGs.
515 (insert_regs): Don't strip SUBREG for call to mention_regs.
516 Check if reg_tick needs to be bumped up before that call.
517 (lookup_as_function): Try to match known word_mode constants when
518 looking for a norrower constant.
519 (canon_hash): Special treatment for SUBREGs.
520
345a6161
DM
521Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
522
523 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
524 * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
525 defined, emit libcall to __enable_execute_stack. Also fix opcodes
526 and offsets in actual stack trampoline code so they match the
527 commentary and actually work.
528
529Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
530
531 * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
532 tmake_file.
533 (sparc64-*-linux): Use t-linux and sparc/t-linux64 for
534 tmake_file. Set extra_parts to needed crt objects.
535 * configure: Rebuilt.
536 * config/sparc/linux64.h (SPARC_BI_ARCH): Define.
537 (TARGET_DEFAULT): Set if default is v9 or ultra.
538 (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
539 (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
540 (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
541 (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
542 LINK_SPEC, LINK_ARCH_SPEC): Likewise.
543 (TARGET_VERSION): Define.
544 (MULTILIB_DEFAULT): Define.
545 * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
546 mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
547 (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
548 appropriately.
549 (TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
550 * config/sparc/sparc.c (sparc_override_options): If arch and
551 pointer size disagree, emit diagnostic and fix it up. If
552 SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off
553 V8PLUS in 64-bit mode.
554 * config/sparc/t-linux64: New file.
555 * config/sparc/t-sol2-64: New file.
556 * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
557 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
558 (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
559 CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
560 (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
561 (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
562 Define.
563 (STARTFILE_SPEC): Set approriately based upon those.
564 (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
565 disposition of DEFAULT_ARCH32_P.
566 (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
567 (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
568 (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
569 (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
570 * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
571 arch64/v9.
572 * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
573
59ec66dc
MM
574Wed Sep 23 22:32:31 1998 Mark Mitchell <mark@markmitchell.com>
575
576 * rtl.h (init_virtual_regs): New function.
577 * emit-rtl.c (init_virtual_regs): Define.
578 (insn_emit): Use it.
579 * integrate.c (save_for_inline_copying): Likewise.
580
f916eeb6
NC
581Wed Sep 23 16:22:01 1998 Nick Clifton <nickc@cygnus.com>
582
a5f42165
NC
583 * config/arm/thumb.h: The following patches were made by Jim Wilson:
584 (enum reg_class): Add NONARG_LO_REGS support.
585 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
586 PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
587 (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
588 completes. Re-enable HImode REG+OFFSET addresses.
589 (LEGITIMIZE_RELOAD_ADDRESS): Define.
590
f916eeb6
NC
591 * expmed.c (extract_bit_field): Add comment from Jim Wilson.
592
80db34d8
RH
593Wed Sep 23 13:26:02 1998 Richard Henderson <rth@cygnus.com>
594
595 * alpha.c (get_aligned_mem): Revert Sep 20 change.
596 (alpha_set_memflags, alpha_set_memflags_1): Likewise.
597 (alpha_align_insns): Properly calculate initial offset wrt max_align.
598
7551cbc7
RE
599Wed Sep 23 10:45:44 1998 Richard Earnshaw (rearnsha@arm.com)
600
601 * arm.c (find_barrier): Revert change of Apr 23. Handle table
602 jumps as a single entity, taking into account the size of the
603 table.
604
eaec171c
APB
605Tue Sep 22 15:13:34 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
606
607 * tree.def (SWITCH_EXPR): New tree node definition.
608
83d6aca1
JL
609Mon Sep 21 23:40:38 PDT 1998 Jeff Law (law@cygnus.com)
610
611 * version.c: Bump for snapshot.
612
4d7f493b
JL
613Mon Sep 21 22:31:14 PDT 1998 Jeff Law (law@cygnus.com)
614
615 * version.c: Bump for snapshot.
616
31f0adf8
JL
617Mon Sep 21 22:48:09 1998 Jeffrey A Law (law@cygnus.com)
618
619 * configure.in: Recognize i[34567]86-*-openbsd* and handle it like
620 NetBSD.
621
6c7c0e9f
JL
622Mon Sep 21 22:05:28 1998 Jeffrey A Law (law@cygnus.com)
623
624 * Revert this patch.
625 * reload.c (find_reloads): Do not replace a pseudo with
626 (MEM (reg_equiv_addr)) in the initializing insn for the
627 pseudo.
628
7ad7f828
JC
629Mon Sep 21 20:19:41 1998 John Carr <jfc@mit.edu>
630
631 * final.c (final_scan_insn): Disable tracking CC across branches.
632
43566944
AM
633Mon Sep 21 17:15:26 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
634
635 * expr.h (eh_rtime_match_libfunc): New extern declaration.
636 * optabs.c (init_optabs): Set eh_rtime_match_libfunc.
637 * except.c (start_catch_handler): Use eh_rtime_match_libfunc.
638 * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
639 NULL. Only include <stdio.h> if inhibit_libc is not defined.
640
1cbe6eb6
JM
641Mon Sep 21 14:10:51 1998 Jason Merrill <jason@yorick.cygnus.com>
642
643 * toplev.c (rest_of_compilation): Skip compiling anything with
644 DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
645
d06c6389
JW
646Mon Sep 21 13:51:05 1998 Jim Wilson <wilson@cygnus.com>
647
648 * flow.c (find_basic_blocks): Delete check for in_libcall_block when
649 prev_code is a CALL_INSN. Change check for REG_RETVAL note to
650 use in_libcall_block.
651 (find_basic_blocks_1): Delete check for in_libcall_block when prev_code
652 is a CALL_INSN. If CALL_INSN and in_libcall_block, then change code
653 to INSN.
654
724001bb
RL
655Mon Sep 21 14:02:23 1998
656
657 * i386.h: (TARGET_SWITCHES) Improve doc for align-double. Fix
658 typo in no-fancy-math-387 description.
659
64ca6edd
JL
660Mon Sep 21 09:27:18 PDT 1998 Jeff Law (law@cygnus.com)
661
662 * version.c: Bump for snapshot.
663
216f3a58
SC
664Mon Sep 21 09:24:49 1998 Stan Cox <scox@cygnus.com>
665
666 * i386-coff.h (DBX_DEBUGGING_INFO): Added.
667
c03f9fe3
RL
668Mon Sep 21 09:14:49 1998 Robert Lipe <robertl@dgii.com>
669
670 * i386.h: (TARGET_SWITCHES) Add description fields for flags
671 documented in install.texi.
672 (TARGET_OPTIONS) Likewise.
673
cc61dfb8
JL
674Mon Sep 21 01:39:03 PDT 1998 Jeff Law (law@cygnus.com)
675
676 * version.c: Bump for snapshot.
677
b2a1e458
FL
678Mon Sep 21 01:53:05 1998 Felix Lee <flee@cygnus.com>
679
680 * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
681 * cccp.c (main): Likewise.
b2a1e458
FL
682
683 * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
684 Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
685 macro-use bugs.
686
7e2231e7
PB
687Mon Sep 21 00:52:12 1998 Per Bothner <bothner@cygnus.com>
688
689 * Makefile.in (LIBS): Link in libiberty.a.
c03f9fe3 690 * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
7e2231e7 691
c93b03c2
RH
692Sun Sep 20 23:28:11 1998 Richard Henderson <rth@cygnus.com>
693
694 * reload1.c (emit_reload_insns): Accept a new arg for the bb. Use
695 it to update bb boundaries. Update caller.
696 * function.c (reposition_prologue_and_epilogue_notes): Update
697 bb boundaries wrt the moved note.
698
823642df
RL
699Sun Sep 20 20:57:02 1998 Robert Lipe <robertl@dgii.com>
700
701 * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
702 problems.
703 * configure: Regenerate.
704
2ba57343
RH
705Sun Sep 20 19:01:51 1998 Richard Henderson <rth@cygnus.com>
706
3873d24b
RH
707 * alpha.c (alpha_sr_alias_set): New variable.
708 (override_options): Set it.
709 (alpha_expand_prologue, alpha_expand_epilogue): Use it.
710 (mode_mask_operand): Fix signed-unsigned comparision warning.
711 (alpha_expand_block_move): Likewise.
712 (print_operand): Likewise.
713 (get_aligned_mem): Use change_address.
714 (alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
715 (alphaev4_insn_pipe, alphaev4_next_group): New functions.
716 (alphaev4_next_nop, alphaev5_next_nop): New functions.
717 (alpha_align_insns): Remade from old alphaev5_align_insns
718 to handle multiple processors.
719 (alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
720 * output.h (label_to_alignment): Prototype.
721
2ba57343
RH
722 * tree.c (new_alias_set): New function.
723 * tree.h (new_alias_set): Declare it.
724 * c-common.c (c_get_alias_set): Use it.
725
899f1ed6
RH
726Sun Sep 20 12:35:55 1998 Richard Henderson <rth@cygnus.com>
727
728 * fold-const.c (fold): Yet another COND_EXPR bug: when folding
729 to an ABS expr, convert an unsigned input to signed.
730
c479c2ac
JL
731Sun Sep 20 12:14:45 1998 Jeffrey A Law (law@cygnus.com)
732
733 * fold-const.c (fold): Fix another type in COND_EXPR handling code.
734
62616695
MH
7351998-09-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
736
737 * configure.in: Add support for c4x targets.
738 * configure: Rebuilt.
739
f5c97640
RH
740Sun Sep 20 00:00:51 1998 Richard Henderson <rth@cygnus.com>
741
742 * combine.c (distribute_notes): If an insn is a cc0 user, only
743 delete it if we can also delete the cc0 setter.
744
a58bd508
MT
745Sun Sep 20 00:22:23 1998 Michael Tiemann <michael@impact.tiemann.org>
746
747 * fold-const.c (fold): Fix typo in COND_EXPR handling code.
748 (invert_truthvalue): Enable truthvalue inversion for
749 floating-point operands if -ffast-math.
750
750930c1
MN
751Sat Sep 19 23:58:07 1998 Melissa O'Neill <oneill@cs.sfu.ca>
752
753 * configure.in: Disable collect2 for nextstep. Instead use
754 crtbegin/crtend.
755 * configure: Rebuilt.
756 * config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
757 (ENDFILE_SPEC): Define.
758 (OBJECT_FORMAT_MACHO): Define.
759 (EH_FRAME_SECTION_ASM_OP): Define.
760 * crtstuff.c: Handle MACHO.
761
655d03a8
RL
762Sun Sep 20 00:24:24 1998 Robert Lipe <robertl@dgii.com>
763
764 * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
765
b567319f
TG
7661998-09-19 Torbjorn Granlund <tege@matematik.su.se>
767
768 * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
769 (_fpadd_parts): Get sign right for 0.
770
9949a9f2
MH
7711998-09-19 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
772
773 * ginclude/varargs.h: Add support for C4x target.
774 * ginclude/stdargs.h: Likewise.
775
3fe5612d
RH
776Sat Sep 19 12:05:09 1998 Richard Henderson <rth@cygnus.com>
777
778 * alpha.c (alpha_return_addr): SET should be VOIDmode.
779 (alpha_emit_set_long_const): Rewrite to be callable from reload
780 and 32-bit hosts.
781 (alpha_expand_epilogue): Update for alpha_emit_set_long_const.
782 * alpha.md (movdi): Likewise.
783
332072db
RE
784Sat Sep 19 07:33:36 1998 Richard Earnshaw (rearnsha@arm.com)
785
786 * arm.c (add_constant): New parameter address_only, change caller.
787 Set it non-zero if taking the address of an item in the pool.
788 (arm_reorg): Handle cases where we need the address of an item in
789 the pool.
790
9c8cc54f
RE
791 * arm.c (bad_signed_byte_operand): Check both arms of a sum in
792 a memory address.
793 * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
794 memory addresses that are not in standard canonical form.
795
cb0ca284
MH
796Sat Sep 19 01:00:32 1998 Michael Hayes (mph@elec.canterbury.ac.nz)
797
798 * README.C4X: New file with information about the c4x ports.
799 * ginclude/va-c4x.h: New file for c4x varargs support.
800 * config/c4x: New directory with c4x port files.
801
f10df53c
JL
802Fri Sep 18 22:52:05 1998 Jeffrey A Law (law@cygnus.com)
803
804 * reload.c (find_reloads): Do not replace a pseudo with
805 (MEM (reg_equiv_addr)) in the initializing insn for the
806 pseudo.
807
5accd822
DE
808Fri Sep 18 23:50:56 1998 David Edelsohn <edelsohn@mhpcc.edu>
809
810 * toplev.c (rest_of_compilation): Set bct_p on second call to
811 loop_optimize.
812 * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
813 bct_p.
814 (strength_reduce): Only call analyze_loop_iterations and
815 insert_bct if bct_p set.
816 (check_dbra_loop): Fix typo.
817 (insert_bct): Use word_mode instead of SImode.
818 (instrument_loop_bct): Likewise. Do not delete iteration count
819 condition code generation insn. Initialize iteration count before
820 loop start.
821 * rtl.h (loop_optimize): Update prototype.
822
823 * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
824 not doubleword aligned.
825
826 * rs6000.c (optimization_options): New function.
827 (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
828 * rs6000.h (OPTIMIZATION_OPTIONS): Define.
829 (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
830 first; cr1 can be used for FP record condition insns.
831
d2a73f8e
NC
832Fri Sep 18 09:44:55 1998 Nick Clifton <nickc@cygnus.com>
833
834 * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
835 PREDICATE_CODES.
836
837 * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
838 patterns.
839
840 * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
841 operators.
842 (block_move_call): New function: Call a library routine to copy a
843 block of memory.
844 (m32r_expand_block_move): New function: Expand a "movstrsi"
845 pattern into a sequence of insns.
846 (m32r_output_block_move): New function: Expand a
847 "movstrsi_internal" pattern into a sequence of assembler opcodes.
848 (m32r_block_immediate_operand): New function: Return true if the
849 RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
850
7ac2148b
AM
851Thu Sep 17 16:42:16 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
852
853 * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
854 re-align some code.
855 * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
856
9d2106a4
R
857Thu Sep 17 12:24:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
858
859 * regmove.c (copy_src_to_dest): Check that modes match.
860
086afc19
RL
861Wed Sep 16 22:10:42 1998 Robert Lipe <robertl@dgii.com>
862
863 * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
864
b66a3ac1
RH
865Wed Sep 16 15:24:54 1998 Richard Henderson <rth@cygnus.com>
866
867 * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
868 narrower than FLOAT_REGS.
869
0d7138a1
AO
870Wed Sep 16 17:51:00 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
871
872 * cpplib.c: removed OLD_GPLUSPLUS_INCLUDE_DIR
873 * cccp.c: ditto
874 * Makefile.in (old_gxx_include_dir): removed
875
f43a85ca
NC
876Wed Sep 16 12:29:22 1998 Nick Clifton <nickc@cygnus.com>
877
878 * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
879 new specification.
880
881 * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
882 (sh_handle_pragma): Change function arguments to match new
883 specification for HANDLE_PRAGMA.
884
88dab4f6
KG
885Wed Sep 16 12:43:19 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
886
887 * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
888 `unsigned char'.
889 (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
890 When generating output, initialize missing struct member to zero.
891
1a8fca8a
R
892Wed Sep 16 14:47:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
893
894 * regmove.c (copy_src_to_dest): Don't copy if that requires
895 (a) new register(s).
896
f15ebf65
BS
897Wed Sep 16 01:29:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
898
899 * global.c (reg_allocno): Now static.
900 * reload1.c (reg_allocno): Delete declaration.
901 (order_regs_for_reload): Take no arguments. Don't treat regs
902 allocated by global differently than those allocated by local-alloc.
903
3dbf3a22
KI
904Wed Sep 16 01:09:01 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
905
b0e982be
KI
906 * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
907 condition, fix format strings.
908 (output_function_epilogue): Likewise.
909
3dbf3a22
KI
910 * m68k/m68k.c: Don't include <stdlib.h> directly.
911
b86ba9c8
GK
912Wed Sep 16 00:30:56 1998 Geoff Keating <geoffk@ozemail.com.au>
913
914 * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
915 mem_first_set, mem_last_set; because 0 can be a CUID.
916 (oprs_unchanged_p): Use new definition.
917 (record_last_reg_set_info): Likewise.
918 (record_last_mem_set_info): Likewise.
919 (compute_hash_table): Likewise.
920
54d65918
JL
921Tue Sep 15 22:59:52 1998 Jeffrey A Law (law@cygnus.com)
922
6f573ff9
JL
923 * rs6000.c (output_epilogue): Handle Chill.
924
fa88e837
JL
925 * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
926 * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
927
0d8e55d8
JL
928 * combine.c (make_extraction): If no mode is specified for
929 an operand of insv, extv, or extzv, default it to word_mode.
930 (simplify_comparison): Similarly.
931 * expmed.c (store_bit_field): Similarly.
932 (extract_bit_field): Similarly.
933 * function.c (fixup_var_regs_1): Similarly.
934 * recog.c (validate_replace_rtx_1): Similarly.
935 * mips.md (extv, extzv, insv expanders): Default modes for most
936 operands. Handle TARGET_64BIT.
937 (movdi_uld, movdi_usd): New patterns.
938
54d65918
JL
939 * pa.c (emit_move_sequence): Do not replace a pseudo with its
940 equivalent memory location unless we have been provided a scratch
941 register. Similarly do not call find_replacement unless a
942 scratch register has been provided.
943
c09a3c2e
BS
944Tue Sep 15 19:23:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
945
946 * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
947 return FLOAT_REGS.
948
71038426
RH
949Tue Sep 15 19:09:06 1998 Richard Henderson <rth@cygnus.com>
950
951 * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill.
952 (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
953 (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
954 (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
955 * c-decl.c (init_decl_processing): Update accordingly.
956 * expr.c (expand_builtin): Likewise.
957
958 * rtl.h (global_rtl): Add cfa entry.
959 (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
960 (LAST_VIRTUAL_REGISTER): Update.
961 * emit-rtl.c (global_rtl): Add cfa entry.
962 (init_emit): Initialize it.
963 * function.c (cfa_offset): New.
964 (instantiate_virtual_regs): Initialize it.
965 (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
966 (expand_function_end): Call expand_eh_return.
967 * tm.texi (ARG_POINTER_CFA_OFFSET): New.
968
969 * except.c (current_function_eh_stub_label): Kill.
970 (current_function_eh_old_stub_label): Likwise; update all references.
971 (expand_builtin_set_return_addr_reg): Kill.
972 (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
973 (expand_builtin_set_eh_regs): Kill.
974 (eh_regs): Produce a third reg for the actual handler address.
975 (eh_return_context, eh_return_stack_adjust): New.
976 (eh_return_handler, eh_return_stub_label): New.
977 (init_eh_for_function): Initialize them.
978 (expand_builtin_eh_return, expand_eh_return): New.
979 * except.h: Update prototypes.
980 * flow.c (find_basic_blocks_1): Update references to the stub label.
981 * function.h (struct function): Kill stub label elements.
982
983 * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
984 register number is one that would be in the previous window.
985 Provide a dummy definition for non-windowed targets.
986 (get_reg_addr): New function.
987 (get_reg, put_reg, copy_reg): Use it.
988 (__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub
989 generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa.
990
991 * alpha.c (alpha_eh_epilogue_sp_ofs): New.
992 (alpha_init_expanders): Initialize it.
993 (alpha_expand_epilogue): Use it.
994 * alpha.h: Declare it.
995 * alpha.md (eh_epilogue): New.
996
997 * m68h.h (ARG_POINTER_CFA_OFFSET): New.
998 * sparc.h (ARG_POINTER_CFA_OFFSET): New.
999
bb210aaf
MM
1000Tue Sep 15 19:31:58 1998 Michael Meissner <meissner@cygnus.com>
1001
1002 * i960.h (CONST_COSTS): Fix thinko. Test flag, not the constant
1003 flag bit mask.
1004
bf71cd2e
AM
1005Tue Sep 15 14:10:54 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1006
1007 * except.h (struct eh_entry): Add false_label field.
1008 (end_catch_handler): Add prototype.
1009 * except.c (push_eh_entry): Set false_label field to NULL_RTX.
1010 (start_catch_handler): When using old style exceptions, issue
1011 runtime typematch code before continuing with the handler.
1012 (end_catch_handler): New function, generates label after handler
1013 if needed by older style exceptions.
1014 (expand_start_all_catch): No need to check for new style exceptions.
1015 (output_exception_table_entry): Only output the first handler label
1016 for old style exceptions.
1017 * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
1018 mechanism into one function, if a runtime matcher is provided.
1019
8a21007c
AM
1020Tue Sep 15 13:53:59 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1021
1022 * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
1023
11d09c08
MM
1024Tue Sep 15 09:59:01 1998 Mark Mitchell <mark@markmitchell.com>
1025
1026 * integrate.c (copy_decl_list): Fix typo.
1027
2d81c9bf
DM
1028Tue Sep 15 04:18:52 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1029
1030 * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
1031 attribute.
1032
e12994ab
JL
1033Mon Sep 14 14:02:53 PDT 1998 Jeff Law (law@cygnus.com)
1034
1035 * version.c: Bump for snapshot.
1036
028d0b2a
JL
1037Mon Sep 14 10:33:56 PDT 1998 Jeff Law (law@cygnus.com)
1038
1039 * version.c: Bump for snapshot.
1040
466973ed
JL
1041Mon Sep 14 09:51:05 PDT 1998 Jeff Law (law@cygnus.com)
1042
1043 * version.c: Bump for snapshot.
1044
ad299d9b
DM
1045Sun Sep 13 22:10:18 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1046
1047 * invoke.texi (C Dialect Options): Put back missing @end itemize.
1048
1b015bec
AO
1049Mon Sep 14 02:33:46 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1050
1051 * configure.in: remove usage of `!' to negate the result of a
1052 command; some common shells do not support it
1053
d7496fbb
DM
1054Sun Sep 13 19:17:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1055
1056 * configure.in: in sparc9-sol2 config, use 'if test' not
1057 brackets.
1058 * configure: Rebuilt.
1059
1060 * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
1061 CM_MEDANY.
1062 (CPP_CPU_SPEC): Do not define _LP64, header files do this.
1063 (CPP_CPU_DEFAULT_SPEC): Likewise.
1064 * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
1065 for arch64 libfuncs.
1066
073149a2
DM
1067 * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
1068 for operand zero.
1069
007e8d2a
KG
1070Sun Sep 13 09:11:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1071
1072 * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
1073
1074 * collect2.c: Don't declare `sys_siglist' here.
1075 (my_strsignal): Prototype and define new function. Use it in
1076 place of `sys_siglist' hacks.
1077
1078 * mips_tfile.c: Likewise.
1079
1080 * configure.in (AC_CHECK_FUNCS): Check for strsignal.
1081 (GCC_NEED_DECLARATIONS): Likewise.
1082
1083 * system.h (strsignal): Prototype it, if necessary.
1084 (sys_siglist): Declare it, if necessary.
1085
9655bf95
DM
1086Sun Sep 13 04:37:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1087
1088 * loop.c (move_movables): While removing insn sequences, preserve
1089 the next pointer of the most recently deleted insn when we skip
1090 over a NOTE.
1091
fbe39e48
BE
1092Sun Sep 13 08:13:39 1998 Ben Elliston <bje@cygnus.com>
1093
1094 * objc/config-lang.in: Do not output the name of the selected
1095 thread file when building the front-end. The Makefile for the
1096 runtime library will do this.
1097
1098 * objc/Make-lang.in: Do not build the runtime library or install
1099 the Objective C header files. The Makefile for the runtime
1100 library will do this.
1101
1102 * objc/Makefile.in (all.indirect): Only build the front-end.
1103 (compiler): Rename to `frontend'.
1104 (obj-runtime): Remove target.
1105 (copy-headers): Likewise.
1106 (clean): No need to remove `libobjc.a' any longer.
1107
b91d2c10
MM
1108Sat Sep 12 11:37:19 1998 Michael Meissner <meissner@cygnus.com>
1109
1110 * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
1111 supported with -mcpu=xxx.
1112
86465af7
DM
1113Fri Sep 11 23:55:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1114
1115 * flow.c (mark_set_1): Recognize multi-register structure return
1116 values in CALL insns.
1117 (mark_used_regs): Likewise.
1118 (count_reg_sets_1): Likewise.
1119 (count_reg_references): Likewise.
1120 * rtlanal.c (note_stores): Likewise.
c0222c21
DM
1121 (reg_overlap_mentioned_p): Likewise.
1122 * haifa-sched.c (check_live_1): Likewise.
1123 (update_live_1): Likewise.
1124 (sched_analyze_1): Likewise.
1125 (sched_note_set): Likewise.
1126 (birthing_insn_p): Likewise.
1127 (attach_deaths): Likewise.
1128
1129 * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
1130
86465af7 1131
37a29ee7
ED
1132Fri Sep 11 22:57:55 1998 Eric Dumazet <dumazet@cosmosbay.com>
1133
45259482 1134 * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
37a29ee7 1135
75bba2a6
DM
1136Thu Sep 10 22:02:04 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1137
1138 * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
1139
d1accaa3
JJ
1140Thu Sep 10 21:19:10 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
1141
1142 * configure.in: Add check for GAS subsection -1 support.
1143 * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
1144 * configure config.in: Rebuilt.
1145 * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
1146 SImode is subsection -1 works, else use DImode.
1147 (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
1148 subsection -1 works.
1149 * config/sparc/sparc.c (sparc_output_addr_vec,
1150 sparc_output_addr_diff_vec): Use them if defined.
1151
02e24c7a
MM
1152Thu Sep 10 10:46:01 1998 Mark Mitchell <mark@markmitchell.com>
1153
1154 * tree.h (DECL_ORIGIN): New macro.
1155 * integrate.c (copy_and_set_decl_abstract_origin): New function.
1156 (copy_decl_list): Use it.
1157 (integrate_parm_decls): Likewise.
1158 (integrate_decl_tree): Likewise.
1159 * dwarf2out.c (decl_ultimate_origin): Simplify.
1160 * dwarfout.c (decl_ultimate_origin): Likewise.
1161 * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
1162 (pushdecl): Likewise.
1163
9517ead8
AG
1164Thu Sep 10 08:01:31 1998 Anthony Green <green@cygnus.com>
1165
1166 * config/rs6000/rs6000.c (output_epilog): Add Java support.
1167
95c81fb8
ML
1168