]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* recog.h (recog_op_alt): Declare extern.
[gcc.git] / gcc / ChangeLog
CommitLineData
d6c0e1c8
RH
1Tue Jan 12 01:30:19 1999 Richard Henderson <rth@cygnus.com>
2
3 * rtl.c (rtx_alloc): Use memset instead of inline loop.
4
b0983bb9
RH
5 * recog.h (recog_op_alt): Declare extern.
6
fbdfe39c
RH
7Tue Jan 12 00:23:31 1999 Richard Henderson <rth@cygnus.com>
8
9 * function.c (purge_addressof_1): If the note accesses a mem+addressof
10 in a wider mode than any replacement, adjust the cached replacement.
11 Cache trivial substitutions as well.
12
5f6c11d6
RH
13Tue Jan 12 00:06:00 1999 Richard Henderson <rth@cygnus.com>
14
15 * Makefile.in (OBJECTS): Add sbitmap.o.
16 (BASIC_BLOCK_H): Add sbitmap.h.
17 * basic-block.h: Move simple bitmap code to sbitmap.h.
18 * flow.c: Move simple bitmap code to sbitmap.c
19 * sbitmap.h, sbitmap.c: New files.
20
ca7cdae3
RH
21Mon Jan 11 23:51:50 1999 Richard Henderson <rth@cygnus.com>
22
23 * alpha.h (TARGET_SWITCHES): Document switches.
24 (TARGET_OPTIONS): Likewise.
25
26 * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
27
a17fcad7
RH
28Mon Jan 11 22:54:14 1999 Richard Henderson <rth@cygnus.com>
29
30 * tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
31
3b413743
RH
32Mon Jan 11 22:36:01 1999 Richard Henderson <rth@cygnus.com>
33
34 * basic-block.h (basic_block_head): Rename to x_basic_block_head.
35 (basic_block_end): Rename to x_basic_block_end.
36 (BLOCK_HEAD, BLOCK_END): Update.
37
38 * caller-save.c: Change basic_block_head/end references to
39 BLOCK_HEAD/END.
40 * combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
41 * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
42 * regmove.c, reload1.c, reorg.c, sched.c: Likewise.
43
ed35cf6e
KG
44Sat Jan 9 23:54:09 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
45
46 * gcc.c (xstrerror): Renamed from my_strerror. All callers
47 changed. Remove prototype since we get that from libiberty.h.
48
49 * protoize.c (xstrerror): Likewise.
50
22d9f2cf
KG
51Sat Jan 9 23:22:04 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
52
53 * gcc.c (read_specs): Ensure format specifiers match their arguments.
54
c2c41b7e
RH
55Sat Jan 9 20:04:24 1999 Richard Henderson <rth@cygnus.com>
56
57 * tree.c (copy_node): Oops. That would be copy not zero
58 in that last change.
59
5e6a42d9
MH
60Sun Jan 10 15:35:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
61
62 * config/c4x/c4x.c: Include system.h.
63 (c4x_caller_save_map): Disable caller save for RC.
64 (c4x_optimization_options): Disable scheduling before reload.
65 (valid_parallel_load_store) : Define return type as int.
66 Remove unused variable regs.
67 * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
68 class.
69 * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
70 handle rotations.
71 (*db, decrement_and_branch_until_zero): Fix up constraints
72 to keep reload happy.
73
dfa27ef1
RH
74Sat Jan 9 18:35:29 1999 Richard Henderson <rth@cygnus.com>
75
76 * tree.c (make_node): Call bzero instead of inline clear.
77 (copy_node, make_tree_vec, build1): Likewise.
78 (get_identifier): Call strlen instead of inline count.
79 (maybe_get_identifier): Likewise.
80
dfb31eec
MH
81Sun Jan 10 14:04:51 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
82
83 * config/c4x/c4x.md: (in_annul_slot_3): Allow unarycc and binarycc
84 operations in 3rd annulled delay slot.
85 (*lshrqi3_const_set): Disallow c constraint for operand0.
86 (modhi3+1, modhi3+2): Set attribute type to multi.
87 * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
88 != operator.
89
a6b1d0a7
KG
90Sat Jan 9 11:44:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
91
92 * gansidecl.h: Allow attribute unused on labels only when we are
93 version 2.93 or higher. Not all versions of 2.92 have this feature.
94
95 * version.c: Bump minor number to 93.
96
523bb0ba
AS
97Fri Jan 8 10:51:13 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
98
99 * config/m68k/m68k.h: Declare output_function_epilogue.
100 * recog.h: Declare next_insn_tests_no_inequality.
101
2668793e
JL
102Fri Jan 8 01:43:53 1999 Jeffrey A Law (law@cygnus.com)
103
642cac7b
JL
104 * stmt.c (optimize_tail_recursion): New function, extracted from ...
105 (expand_return): Use optimize_tail_recursion.
106 * tree.h (optimize_tail_recursion): Declare.
107
2668793e
JL
108 * toplev.c (compile_file): Move call to output_func_start_profiler
109 to after the loop to emit deferred functions.
110
642cac7b
JL
111Thu Jan 7 19:52:53 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
112
113 * system.h (abort): Supply more detailed information on how to
114 report an Internal Compiler Error.
115
8e6a59fe
MM
116Thu Jan 7 11:26:17 1999 Mark Mitchell <mark@markmitchell.com>
117
118 * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
119 allocate memory that will live beyond this function.
120 (expand_call): Free it here.
121
8947065c
RH
122Thu Jan 7 03:08:17 1999 Richard Henderson <rth@cygnus.com>
123
124 * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
125 integer data not destined for fp regs.
126 (LEGITIMIZE_RELOAD_ADDRESS): New.
127
128Thu Jan 7 03:03:42 1999 Stan Cox <scox@cygnus.com>
129 Richard Henderson <rth@cygnus.com>
130
131 Support for Hypersparc and Sparclite86x:
132 * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
133 (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
134 (ASM_CPU32_DEFAULT_SPEC): Likewise.
135 (TARGET_CPU_DEFAULT): Likewise.
136 (enum processor_type): Likewise.
137 (CPP_ENDIAN_SPEC): Handle little endian data.
138 (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
139 (ADJUST_COST): Call sparc_adjust_cost.
140 * sparc.c (sparc_override_options): Fix up for the new targets.
141 (supersparc_adjust_cost): Make static.
142 (hypersparc_adjust_cost): New.
143 (ultrasparc_adjust_cost): Make static.
144 (sparc_adjust_cost): New.
145 * sparc.md (attr cpu): Add hypersparc and sparclite86x.
146 (function_unit): Add hypersparc scheduling rules.
147
148 * configure.in (with_cpu handler): Recognize hypersparc.
149
4ddb3ea6
MH
150Thu Jan 7 23:54:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
151
152 * config/c4x/c4x.c: Added space after negation operator.
153 * config/c4x/c4x.h: Likewise.
154 * config/c4x/c4x.md: Likewise.
155
f2b15118
MH
156Thu Jan 7 23:39:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
157
158 * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
159
70186b34
BS
160Thu Jan 7 00:29:25 199 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
161
162 * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
163 when a test can't be performed due to limited width of
164 HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
165 Fix UDIV case for cases where the first operand has the highest bit
166 set.
167
548e44b3
LV
168Thu Jan 7 00:01:38 1999 Lutz Vieweg <lkv@mania.robin.de>
169
170 * pa.h (reg_class): Add FPUPPER_REGS.
171 (REG_CLASS_NAMES): Similarly.
172 (REG_CLASS_CONTENTS): Similarly
173 (REGNO_REG_CLASS): Handle FPUPPER_REGS.
174 (FP_REG_CLASS_P): Likewise.
175 (REG_CLASS_FROM_LETTER): Similarly.
176 (CLASS_MAX_NREGS): Similarly.
177
884ba59a
BK
1781999-01-06 Brendan Kehoe <brendan@cygnus.com>
179
180 * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
181 for a typedef of bool. Make sure to have a copy of the file is
182 in place before we look to fix it. Fix typo in variable name to
183 FILE.
184
44d22bef
RH
185Wed Jan 6 07:51:05 1999 Richard Henderson <rth@cygnus.com>
186
187 * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
188 value_mode for the return mode.
189
90e6a802
RL
190Wed Jan 6 17:55:19 1999 Robert Lipe <robertlipe@usa.net>
191
192 * configure.in: New flag --with-dwarf2. If set, enables DWARF-2
193 debugging as default.
194
195 * config/tm-dwarf2.h: New file.
196
20efdf74
JL
197Wed Jan 6 16:08:54 1999 Jeffrey A Law (law@cygnus.com)
198
ee65dab8
JL
199 * h8300.h (ASM_OUTPUT_LABELREF): Define.
200
4f72f5da
JL
201 * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
202 * local-alloc.c (update_equiv_regs): Corresponding changes.
203 * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
204
ca54603f
JL
205 * calls.c (special_function_p): Push alloca test inside the large
206 conditional which excludes functions not at file scope or not
207 extern.
208
20efdf74
JL
209 * calls.c (special_function_p): New function broken out of
210 expand_call.
211 (precompute_register_parameters): Likewise.
212 (store_one_arg): Likewise.
213 (store_unaligned_argumetns_into_pseudos): Likewise.
214 (save_fixed_argument_area): Likewise.
215 (restore_fixed_argument_area): Likewise.
216 (expand_call): Corresponding changes.
217
4a8832ee
AS
218Wed Jan 6 10:43:29 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
219
220 * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
221 handling.
222 (const_sint32_operand): Likewise.
223
2813b56e
KG
224Wed Jan 6 09:44:51 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
225
226 * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
227 is a macro when deciding if we can use `jmp_buf' in prototypes.
228
e4e30b3d
MH
229Thu Jan 7 00:12:24 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
230
231 * config/c4x/c4x.md (addqi3): If the destination operand is
232 a hard register other than an extended precision register,
233 emit addqi3_noclobber.
234 (*addqi3_noclobber_reload): New pattern added so that reload
235 will recognise a store of a pseudo, equivalent to the sum
236 of the frame pointer and a constant, as an add insn.
237
2f197d2f
ME
238Wed Jan 6 03:18:53 1999 Mark Elbrecht <snowball3@usa.net.
239
240 * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
241 * configure: Rebuilt.
242 * i386/xm-go32.h: Define LIBSTDCXX.
243 * i386/x-go32: New.
244 * i386/go32.h (MD_EXEC_PREFIX): Define.
245 (FILE_NAME_ABSOLUTE_P): Define.
246 (LINK_COMMAND_SPEC): Define.
247
b3fa7e9f
CH
248Wed Jan 6 02:23:36 1999 "Charles M. Hannum" <root@ihack.net>
249
250 * expr.c (store_expr): If the lhs is a memory location pointed
251 to be a postincremented (or postdecremented) pointer, always
252 force the rhs to be evaluated into a pseudo.
253
7735516c
GK
254Wed Jan 6 00:54:21 1999 Geoff Keating <geoffk@ozemail.com.au>
255
256 * real.c (mtherr): Print more reasonable warning messages.
257
460ee112
KG
258Tue Jan 5 21:57:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
259
260 * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
261
262 * cccp.c: Include prefix.h, don't prototype prefix.c functions.
263 (new_include_prefix): Constify char* parameters.
264
265 * cppfiles.c (read_name_map): Likewise.
266 (append_include_chain): Likewise. Also, use a writable char* copy
267 of parameter `dir' which we then modify, rather than using the
268 parameter itself to store the new writable string.
269 (remap_filename): Constify some variables. Also, use a writable
270 char* to store an allocated string which we will be modifying.
271
272 * cpplib.c: Include prefix.h, don't prototype prefix.c functions.
273 (cpp_start_read): Constify variable `str'.
274
275 * cpplib.h (append_include_chain): Constify a char* parameter.
276
277 * gcc.c Include prefix.h, don't prototype prefix.c functions.
278 (add_prefix, save_string): Constify char* parameters.
279 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
280
281 * prefix.c: Include prefix.h.
282 (get_key_value, translate_name, save_string, update_path,
283 set_std_prefix): Constify various char* parameters and variables.
284 (save_string): Use xmalloc, not malloc.
285 (translate_name): Use a writable temporary variable to create and
286 modify a string before setting it to a const char*.
287
288 * prefix.h: New file to prototype functions exported from prefix.c.
289
bb2d453f
DB
290Mon Jan 4 15:37:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
291
292 * cpplib.c (skip_if_group): Split out the logic that handles
293 directive recognition to its own function. Don't use
294 parse markers; use a bare pointer into the buffer. Use
295 copy/skip_rest_of_line instead of doing it by hand. Remove
296 `return on any directive' mode which was never used, and take
297 only one argument.
298 (consider_directive_while_skipping): New function, subroutine
299 of skip_if_group. Logic streamlined a bit.
300 (conditional_skip, do_elif, do_else): Call skip_if_group with
301 only one argument.
302
303Mon Jan 4 15:27:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
304
305 * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
306 error.
307
0ded1f18
JM
308Mon Jan 4 11:55:51 1999 Jason Merrill <jason@yorick.cygnus.com>
309
310 * extend.texi (Bound member functions): Document.
311
47e6be47
KG
312Mon Jan 4 11:01:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
313
314 * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
315 lang_to_string, type_to_string): Make return type const char*.
316 (print_symbol): Apply `const' keyword to a char*.
317 (print_file_desc): Cast structure member `crfd' to ulong when
318 comparing against one.
319
320 * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
321 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
322 (progname, input_name): Apply `const' keyword to a char*.
323 Don't redundantly include sys/stat.h.
324 (alloc_info): Apply `const' keyword to a char*.
325 (st_to_string, sc_to_string): Likewise.
326 (hash_string): Cast variable `hash_string' to a symint_t when
327 comparing against one.
328 (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
329 Likewise cast it to long when comparing against one.
330 (add_local_symbol): Apply `const' keyword to a char*.
331 (add_ext_symbol): Likewise.
332 (add_unknown_tag): Likewise.
333 (add_procedure): Cast a printf-style field width to an int.
334 (add_file): Cast PAGE_USIZE to long when comparing against one
335 (parse_begin): Cast a printf-style field width to an int.
336 (parse_bend): Likewise.
337 (parse_def): Likewise.
338 (parse_end): Likewise.
339 (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
340 (parse_stabs_common): Fix format specifier.
341 (parse_input): Change type of variable `i' to Size_t.
342 (write_object): Fix arguments to match format specifiers.
343 Cast variable `num_write' to long when comparing against one.
344 (read_seek): Cast variable `sys_read' to symint_t when comparing
345 against one. Fix arguments to match format specifiers. Cast
346 variable `size' to long when comparing against one.
347 (copy_object): Cast result of `sizeof' to int when comparing
348 against one. Fix arguments to match format specifiers. Cast
349 variable `ifd' to long when comparing against a signed value.
350 Likewise, likewise.
351
736b02fd
KG
352Mon Jan 4 10:30:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
353
354 * c-common.c (decl_attributes): Allow applying attribute `unused'
355 on a LABEL_DECL.
356
357 * c-parse.in (label): Parse attributes after a label, and call
358 `decl_attributes' to handle them.
359
360 * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
361
362 * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
363 generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
364
365 * invoke.texi: Note that labels can be marked `unused'.
366
f430a01e
JL
367Sun Jan 3 23:32:18 PST 1999 Jeff Law (law@cygnus.com)
368
369 * version.c: Bump for snapshot.
370
3b0d546a
JL
371Sun Jan 3 23:00:42 1999 Jeffrey A Law (law@cygnus.com)
372
373 * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
374 RTL for a compare/jump sequence.
375
362cc3d4
MH
376Sun Jan 3 22:58:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
377
378 * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
379 for a target with HAVE_cc0 defined.
380 (emit_cmp_and_jump_insns): New function.
381 * expr.h (emit_cmp_and_jump_insns): Prototype it.
382 * loop.c (check_dbra_loop): Use it to replace calls
383 to emit_cmp_insn and emit_jump_insn and to canonicalise
384 the comparison if necessary.
385 * unroll.c (unroll_loop): Likewise.
386
9d6b41f3
RO
387Sun Jan 3 21:01:04 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
388
1cd0a8ed
RO
389 * fixincludes (sys/utsname.h): Provide forward declaration of
390 struct utsname on Ultrix V4.[35].
391
9d6b41f3
RO
392 * mips.md (div_trap): Use local labels instead of dot-relative
393 branches.
394
dcaeffef
JL
395Sun Jan 3 20:40:34 1999 Jeffrey A Law (law@cygnus.com)
396
397 * pa.md (branch, negated branch): Handle (const_int 0) as first
398 source operand.
399 * pa.c (output_cbranch): Likewise.
400
8dda1a21
DE
401Sun Jan 3 03:20:38 1999 David Edelsohn <edelsohn@mhpcc.edu>
402
403 * rs6000.c (rs6000_stack_info): Undo spurious part of last
404 change.
405
1048777f
MH
4061999-01-01 Manfred Hollstein <manfred@s-direktnet.de>
407
408 * extend.texi (__builtin_constant_p): Add missing @smallexample.
409
a94b6ed9
JL
410Fri Jan 1 11:48:20 1999 Jeffrey A Law (law@cygnus.com)
411
412 * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
413
f203c520
JL
414Wed Dec 30 23:38:55 1998 Jeffrey A Law (law@cygnus.com)
415
4cca99f4
JL
416 * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
417 (adddi_dishl32): Similarly.
418
97577254
JL
419 * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
420 for each insn in the skipped block.
421
f67c2384
JL
422 * reload1.c (reload_as_needed): Verify that the insn satisfies its
423 constraints after replacing a register address with an autoincrement
424 address for reload inheritance purposes.
425
f203c520
JL
426 * i386.md (doubleword shifts): Avoid namespace pollution.
427
56830143
DB
428Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com>
429
430 * configure.in (FreeBSD ELF): Needs special crt files.
431
2966b437
GN
432Wed Dec 30 22:50:13 1998 Geoffrey Noer <noer@cygnus.com>
433
434 * i386/xm-cygwin.h: change DIR_SEPARATOR to forward slash.
435
2c74fb2b
AS
4361998-12-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
437
438 * loop.c (check_dbra_loop): While reversing the loop, if the
439 comparison value has a VOID mode use the mode of the other operand
440 to compute the mask.
441
ff381587
MM
442Wed Dec 30 22:24:00 1998 Michael Meissner <meissner@cygnus.com>
443
444 * rs6000.md ({save,restore}_stack_function): Take 2 operands to
445 avoid warnings in compiling explow.c.
446
447 (patch from Ken Raeburn, raeburn@cygnus.com)
448 * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
449 fpmem_offset. Compute total size after that, and then
450 rs6000_fpmem_offset using both values.
451
c2a26505
GP
452Mon Dec 28 19:26:32 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
453
454 * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
455 the future; indeed that already happens in some cases.
456
11301057
RH
457Tue Dec 29 11:58:53 1998 Richard Henderson <rth@cygnus.com>
458
459 * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
460 (arith_operand): Remove constant_p_rtx handling.
461 (const64_operand, const64_high_operand): Likewise.
462 (arith11_operand, arith10_operand, arith_double_operand): Likewise.
463 (arith11_double_operand, arith10_double_operand, small_int): Likewise.
464 (small_int_or_double, uns_small_int, zero_operand): Likewise.
465 * sparc.h (PREDICATE_CODES): Likewise.
466
30dfe54a
RH
467 * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
468
185ebd6c
RH
469Tue Dec 29 11:32:54 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>:
470
471 * rtl.def (CONSTANT_P_RTX): Clarify commentary.
472 * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
473 consider constant CONSTRUCTOR constant and to defer some cases
474 to cse.
475 * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
476 * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
477
478Tue Dec 29 11:30:10 1998 Richard Henderson <rth@cygnus.com>
479
480 * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
481 * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
482
483 * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
484 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
485 (sext_add_operand, and_operand, or_operand): Likewise.
486 (reg_or_cint_operand, some_operand, input_operand): Likewise.
487 * alpha.h (PREDICATE_CODES): Likewise.
488
081f12b3
JL
489Sat Dec 26 23:26:26 PST 1998 Jeff Law (law@cygnus.com)
490
491 * version.c: Bump for snapshot.
492
7ce1e6c8
JL
493Sat Dec 26 09:17:04 1998 Jeffrey A Law (law@cygnus.com)
494
ba476f75
JL
495 * gengenrtl.c (gencode): Always use bzero to clear memory instead
496 of dangerous casts and stores.
497
7ce1e6c8
JL
498 * Makefile.in (compare, gnucompare): Add missing else true clauses.
499
4b855767
JL
500Fri Dec 25 23:00:56 1998 Jeffrey A Law (law@cygnus.com)
501
502 * alpha.md (builtin_longjmp): Add missing "DONE".
503
6405c0ec
SC
504Thu Dec 24 10:39:57 1998 Stan Cox <scox@cygnus.com>
505
506 * gcc.c (execute): Enable -pipe with win32.
507
a1e27b76
NC
508Wed Dec 23 10:27:44 1998 Nick Clifton <nickc@cygnus.com>
509
510 * config/arm/t-arm-elf: Add multiplib option for leading
511 underscores.
512
513 * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
514 'user_label_prefix' rather than macro USER_LABEL_PREFIX.
515
516 (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
517 than variable 'reload_address_base_reg_class'. [Note this
518 change is unrelated to the others in this patch].
519
520 * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
521 leading underscore.
522
973838fd
KG
523Wed Dec 23 09:51:32 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
524
525 * alias.c (record_alias_subset): Remove ignored `&'.
526 (init_alias_once): Likewise.
527
528 * c-lex.c (UNGETC): Cast first argument of comma expression to void.
529
530 * config/mips/mips.c (mips_asm_file_end): Cast the result of
531 fwrite to `int' when comparing against one.
532
533 * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
534 (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
535
536 * cse.c (rehash_using_reg): Change type of variable `i' to
537 unsigned int.
538
539 * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
540 assigning it to one.
541
542 * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
543
544 * final.c (final_scan_insn): Likewise for variable `i'.
545 (output_asm_insn): Cast a char to unsigned char when used as an
546 array index.
547
548 * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
549 assigning it to one.
550
551 * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
552
553 * recog.c (preprocess_constraints): Cast a char to unsigned char
554 when used as an array index.
555
556 * regmove.c (find_matches): Likewise.
557
558 * reload1.c (calculate_needs): Add default case in switch.
559 (eliminate_regs_in_insn): Initialize variable `offset'.
560 (set_offsets_for_label): Change type of variable `i' to unsigned.
561 (reload_as_needed): Wrap variable `i' in macro check on
562 AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
563
564 * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
565 with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t
566 when comparing against one.
567
568 * stor-layout.c (layout_decl): Cast maximum_field_alignment to
569 unsigned when comparing against one. Likewise for
570 GET_MODE_ALIGNMENT().
571 (layout_record): Cast record_align to int when comparing against a
572 signed value.
573 (layout_type): Cast TYPE_ALIGN() to int when comparing against a
574 signed value.
575
576 * tree.c (get_identifier): Cast variable `len' to unsigned when
577 comparing against one.
578 (maybe_get_identifier): Likewise
579
2ae74651
JL
580Wed Dec 23 00:10:01 1998 Jeffrey A Law (law@cygnus.com)
581
582 * toplev.c (rest_of_compilation): Do not set reload_completed.
583 * reload1.c (reload): Set reload_completed before calling
584 cleanup_subreg_operands.
585
3d0ec3b3
RH
586Tue Dec 22 23:58:31 1998 Richard Henderson <rth@cygnus.com>
587
588 * reload1.c (emit_reload_insns): Check `set' not null before use.
589
cae8acdd
NC
590Tue Dec 22 15:15:45 1998 Nick Clifton <nickc@cygnus.com>
591
592 * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
593 'int'.
594
34fadae0
TP
595Tue Dec 22 13:55:44 1998 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
596
597 * halfpic.c (half_pic_encode): Delete redundant code.
598
2f0d2c99
MM
599Tue Dec 22 13:02:22 1998 Michael Meissner <meissner@cygnus.com>
600
601 * toplev.c (main): Delete handling of -dM as a preprocessor
602 option.
603
b5c7059b
MM
604Mon Dec 21 17:39:38 1998 Michael Meissner <meissner@cygnus.com>
605
606 * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
607 -dI, which are handled by the preprocessor.
608
62481348
JC
609Sun Dec 20 16:13:44 1998 John F. Carr <jfc@mit.edu>
610
611 * configure.in: Handle Digital UNIX 5.x the same as 4.x.
612 * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
613
1ead53b3
JL
614Sun Dec 20 07:39:52 PST 1998 Jeff Law (law@cygnus.com)
615
616 * version.c: Bump for snapshot.
617
24ccb032
JL
618Sat Dec 19 22:24:22 PST 1998 Jeff Law (law@cygnus.com)
619
620 * version.c: Bump for snapshot.
621
a5e3973f
JL
622Sat Dec 19 21:41:32 PST 1998 Jeff Law (law@cygnus.com)
623
624 * version.c: Bump for snapshot.
625
85fda1eb
KG
626Sat Dec 19 09:52:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
627
628 * genattr.c (fatal): Qualify a char* with the `const' keyword.
629
630 * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
631 write_unit_name, write_eligible_delay, expand_units,
632 make_length_attrs, write_attr_case, find_attr,
633 make_internal_attr): Likewise.
634 * gencheck.c (tree_codes): Likewise.
635 * gencodes.c (fatal): Likewise.
636 * genconfig.c (fatal): Likewise.
637 * genemit.c (fatal): Likewise.
638 * genextract.c (fatal, walk_rtx, copystr): Likewise.
639 * genflags.c (fatal): Likewise.
640 * genopinit.c (fatal, optabs, gen_insn): Likewise.
641 * genoutput.c (fatal, error, predicates): Likewise.
642 * genpeep.c (fatal): Likewise.
643 * genrecog.c (fatal, decision, pred_table, add_to_sequence,
644 write_tree_1, write_tree, change_state, copystr, indents): Likewise.
645
21f891de
RO
646Thu Dec 17 18:21:49 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
647
94878f15
RO
648 * configure.in (with-fast-fixincludes): Fix whitespace.
649 * configure: Rebuilt.
650
21f891de
RO
651 * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
652 asm() etc. function declarations in __DECC.
653
b2e7e6fb
NC
654Thu Dec 17 13:57:23 1998 Nick Clifton <nickc@cygnus.com>
655
656 * expr.c (emit_move_insn_1): Only emit a clobber if the target
657 is a pseudo register.
658
3cdbd1f8
NC
659Thu Dec 17 13:50:29 1998 Nick Clifton <nickc@cygnus.com>
660
661 * gcse.c: Include expr.h in order to get the prototype for
662 get_condition() which is used in delete_null_pointer_checks().
663
cce4a958
KG
664Thu Dec 17 15:58:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
665
666 * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
667
2df8df36
JW
668Thu Dec 17 12:31:12 1998 Jim Wilson <wilson@cygnus.com>
669
670 * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
671 (ALL_CFLAGS): Delete SCHED_CFLAGS.
672
0197d76b
VM
6731998-12-17 Vladimir N. Makarov <vmakarov@cygnus.com>
674
675 * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
676 ';').
677
6781998-12-17 Michael Tiemann <tiemann@axon.cygnus.com>
679
680 * i960.md (extend*, zero_extend*): Don't generate rtl that looks
681 like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
682 optimizations from the combiner.
683
86147f48
R
684Thu Dec 17 08:27:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
685
686 * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
687
16b6e120
NC
688Wed Dec 16 17:30:35 1998 Nick Clifton <nickc@cygnus.com>
689
690 * toplev.c (main): Disable optimize_size if a specific
691 optimization level is requested. Always set optimization
692 level to 2 if -Os is specified.
693
05c32e16
DB
694Wed Dec 16 16:33:04 1998 Dave Brolley <brolley@cygnus.com>
695
696 * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
697 cpplib.
698 * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
699 initialize it using fname.
700
692b872e
ZW
7011998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu>
702
703 * cpplib.c (do_include): Treat #include_next in the
704 primary source file as #include plus warning. Treat
705 #include_next in a file included by absolute path as an
706 error. fp == CPP_NULL_BUFFER is a fatal inconsistency.
707
36b8337d
KG
708Wed Dec 16 12:28:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
709
710 * cccp.c: Don't define MIN/MAX anymore.
711 * cpplib.c: Likewise.
712 * machmode.h: Likewise.
713 * system.h: Provide definitions for MIN/MAX.
714
2d234b4f
ZW
715Tue Dec 15 23:47:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
716
717 * fix-header.c: Don't define xstrdup here.
718
a07516d3
R
719Wed Dec 16 05:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
720
721 * loop.c (consec_sets_giv): New argument last_consec_insn.
722 (strength_reduce): Provide / use it.
723
35704c46
MH
724Wed Dec 16 17:24:07 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
725
726 * loop.h (loop_info): New field 'vtop'.
727 * loop.c (check_dbra_loop): Use loop_info->vtop rather than
728 scanning loop for vtop.
729 * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
730 (loop_iterations): Use them to determine if loop has a constant
731 number of iterations. Set loop_info->vtop. Don't subtract
732 common reg term from initial_value and final_value if have a
733 do-while loop.
734
9c907d54
JL
735Tue Dec 15 13:49:55 1998 Jeffrey A Law (law@cygnus.com)
736
b884a51a
JL
737 * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
738
5ba52c2e
JL
739 * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
740
9c907d54
JL
741 * mn10200.md (abssf2, negsf2): New expanders.
742
743 * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
744
ddc54eaa
NC
745Tue Dec 15 11:55:30 1998 Nick Clifton <nickc@cygnus.com>
746
747 * integrate.c (copy_rtx_and_substitute): If a SUBREG is
748 replaced by a CONCAT whoes components do not have the same
749 mode as the original SUBREG, use a new SUBREG to restore the
750 mode.
751
752 * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
753 multiword complex values.
754
c49445e0
ZW
7551998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
756
757 * cppalloc.c: Add xstrdup here.
758 * cpplib.h: Remove savestring prototype.
759 * cpplib.c: Remove savestring function. s/savestring/xstrdup/
760 throughout.
761 * cppfiles.c: s/savestring/xstrdup/ throughout.
762
941e09b6
ZW
7631998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
764
765 * cpplib.c: Make all directive handlers read their own
766 arguments.
767 (struct directive): Remove last two arguments from FUNC
768 member prototype. Remove `command_reads_line' member
769 entirely.
770 (directive_table): Remove initializations of
771 command_reads_line flag. Pretty-print.
772 (eval_if_expression, do_define, do_line, do_include,
773 do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
774 do_else, do_elif, do_sccs, do_assert, do_unassert,
775 do_warning): Take only two args.
776
777 (cpp_define): Call do_define with two args and the text to
778 define stuffed into a buffer.
779 (make_assertion): Call do_assert with two args.
780 (handle_directive): Call do_line with two args. Call
781 kt->func with two args. Remove command_reads_line
782 processing.
783 (do_define, do_undef, do_error, do_warning, do_pragma,
784 do_sccs): Read the rest of the line here.
785 (do_ident): Gobble rest of line, as cccp does.
786 (cpp_undef): New function.
787 (cpp_start_read): Call cpp_undef instead of do_undef.
788
7061aa5a
ZW
7891998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
790
791 * cpphash.h (union hash_value): Remove `keydef' member, add a
792 `struct hashnode *aschain' member for #assert.
793
794 * cpplib.c (struct tokenlist_list, struct
795 assertion_hashnode): Delete structure definitions.
796 (assertion_install, assertion_lookup, delete_assertion,
797 check_assertion, compare_token_lists, reverse_token_list,
798 read_token_list, free_token_list): Delete functions.
799 (parse_assertion): New function.
800 (cpp_cleanup): Don't destroy the assertion_hashtable.
801
802 (do_assert): Gut and rewrite. #assert foo (bar) places
803 entries for `#foo' and `#foo(bar)' in the macro hash table,
804 type T_ASSERT. The value union's `aschain' member is used
805 to chain all answers for a given predicate together.
806 (do_unassert): Also rewritten. Take an un-asserted
807 answer off the chain from its predicate and call
808 delete_macro on the hashnode, or walk a predicate chain
809 calling delete_macro on all the entries.
810 (cpp_read_check_assertion): Simply call parse_assertion to
811 get the canonical assertion name, and look that up in the
812 hash table.
813
814 * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
815 Removed.
816
817 * cpphash.c (install): Use bcopy instead of an explicit loop
818 to copy the macro name.
819
820 * cppexp.c (cpp_lex): Convert the result of
821 cpp_read_check_assertion to a `struct operation' directly;
822 don't go through parse_number.
823
4b259e3f
R
824Tue Dec 15 18:27:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
825
826 * loop.h (struct induction): Delete times_used member.
827 * loop.c (n_times_set): Rename to set_in_loop. Changed all users.
828 (n_times_used): Rename to n_times_set. Changed all users.
829 (scan_loop): Free reg_single_usage before strength reduction.
830 (record_giv, combine_givs): Remove handling of times_used member.
831 (combine_givs_used_once): Rename to:
832 (combine_givs_used_by_other) . Changed all callers.
833
5f2f160c
JM
834Tue Dec 15 01:45:26 1998 Jason Merrill <jason@yorick.cygnus.com>
835
836 * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
837 instead of TREE_CODE_CLASS == 't'.
838 (gen_type_die): Likewise.
839 (scope_die_for): Ignore FUNCTION_TYPE "scopes".
840
c1c7db89
JW
841Mon Dec 14 16:23:27 1998 Jim Wilson <wilson@cygnus.com>
842
843 * real.c (endian): Disable last change unless
844 HOST_BITS_PER_WIDE_INT is greater than 32.
845
3167de5b
AM
846Mon Dec 14 17:13:36 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
847
848 * output.h (force_data_section): New prototype.
849 * varasm.c (force_data_section): New function to force the
850 data section, regardless of what in_section thinks.
851 * dwarf2out.c (output_call_frame_info): Call force_data_section
852 since varasm may not realize we've changes sections.
853
80599fd9
NC
854Mon Dec 14 14:09:34 1998 Nick Clifton <nickc@cygnus.com>
855
856 * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
857 after completeing reload.
858
859 * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
860 deleted after reload.
861
93e0dfe1
JL
862Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com)
863
864 * rtl.h (multiple_sets): Fix prototype.
865 * rtlanal.c (multiple_sets): Fix return type.
866
5d943c3c
JL
867Sun Dec 13 12:43:58 PST 1998 Jeff Law (law@cygnus.com)
868
869 * version.c: Bump for snapshot.
870
714d352f
JL
871Sun Dec 13 01:05:22 PST 1998 Jeff Law (law@cygnus.com)
872
873 * version.c: Bump for snapshot.
874
56485bee
MH
8751998-12-13 Manfred Hollstein <manfred@s-direktnet.de>
876
877 * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
878
404d95c4
R
879Sun Dec 13 00:24:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
880
213c4983
R
881 * rtl.h (recompute_reg_usage): Add second argument.
882 * flow.c (recompute_reg_usage): Likewise.
883 * toplev.c (rest_of_compilation): Supply second argument to
884 recompute_reg_usage.
885
404d95c4
R
886 * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
887 after reload.
888
941c63ac
JL
889Sat Dec 12 23:39:10 1998 Jeffrey A Law (law@cygnus.com)
890
f08347a9
JL
891 * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
892 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
893 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
894 mcpu32 or m5200.
895
4566eb62
JL
896 * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
897
941c63ac
JL
898 * rtlanal.c (multiple_sets): New function.
899 * rtl.h (multiple_sets): Declare it.
900 * local-alloc.c (wipe_dead_reg): Use it.
901 * global.c (global_conflicts): Likewise.
902
8d4c79be
MM
903Sat Dec 12 22:13:02 1998 Mark Mitchell <mark@markmitchell.com>
904
905 * global.c (record_conflicts): Don't use an array of shorts to
906 store an array of ints.
907 (global_conflicts): Likewise.
908
f35cba21
RH
909Sat Dec 12 16:49:24 1998 Richard Henderson <rth@cygnus.com>
910
911 * alpha.c (alpha_expand_block_move): mode_for_size expects
912 bits, not bytes. Infer extra alignment from addressof.
913
a9aefc1e
MM
9141998-12-11 Michael Meissner <meissner@cygnus.com>
915
916 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
917 .sbss section, not .sdata.
918
56adfa4a
MH
9191998-12-11 Manfred Hollstein <manfred@s-direktnet.de>
920
8eeae6f4
MH
921 * cccp.c: Do not #include <sys/stat.h> here; this is already done
922 by "system.h".
923 * collect2.c: Likewise.
924 * cpplib.h: Likewise.
925 * gcc.c: Likewise.
926 * gcov.c: Likewise.
927 * getpwd.c: Likewise.
928 * protoize.c: Likewise.
929 * toplev.c: Likewise.
930
56adfa4a
MH
931 * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
932 and don't try to define it here.
933 * Makefile.in (cppmain.o): Depend on machmode.h.
934 (cpplib.o): Likewise.
935 (cpperror.o): Likewise.
936 (cppexp.o): Likewise.
937 (cppfiles.o): Likewise.
938 (cpphash.o): Likewise.
939 (cppalloc.o): Likewise.
940 (fix-header.o): Likewise.
941 (scan-decls.o): Likewise.
942
157131d7
SC
943Fri Dec 11 11:02:49 1998 Stan Cox <scox@cygnus.com>
944
945 * sh.c (print_operand): lookup interrupt_handler attribute instead
946 of relying on static variable.
947 * (calc_live_regs): Likewise.
948 * (sh_pragma_insert_attributes): Create interrupt_handler
949 attribute if a pragma was specified
950 * (sh_valid_machine_decl_attribute): Don't set static flag.
951 * sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
952
b0634509
R
953Fri Dec 11 12:56:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
954
955 * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
956 to determine if a register is live at a jump destination.
957 Everything is dead at a BARRIER.
958
737e7965
JW
959Thu Dec 10 16:02:06 1998 Jim Wilson <wilson@cygnus.com>
960
961 * cse.c (simplify_unary_operation): Sign-extend constants when
962 they have the most significant bit set for the target.
963 * real.c (endian): Sign-extend 32 bit output values on a 64 bit
964 host.
965 * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
966 HOST_WIDE_INT temporary before negating it.
967 * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
968
353f10d5
DB
969Thu Dec 10 15:05:59 1998 Dave Brolley <brolley@cygnus.com>
970
971 * objc/objc-act.c (lang_init_options): Enclose cpplib related code in
972 #if USE_CPPLIB.
973
2edfd4ee
KG
974Thu Dec 10 13:39:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
975
976 * collect2.h: New header file for prototypes.
977
978 * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
979
980 * collect2.c: Include collect2.h.
981 * tlink.c: Likewise.
982
c9852047
JL
983Wed Dec 9 23:55:11 1998 Jeffrey A Law (law@cygnus.com)
984
985 * flow.c: Update some comments.
986
5d7da2c6
DB
987Wed Dec 9 15:29:26 1998 Dave Brolley <brolley@cygnus.com>
988
989 * objc/objc-act.c (cpp_initialized): Removed.
990 (lang_init_options): Initialize cpplib.
991 (lang_decode_option): Move initialization of cpplib to
992 lang_init_options.
993 * c-lang.c: (parse_options,parse_in): Added.
994 (lang_init_options): Initialized cpplib here.
995 * c-decl.c (parse_options,cpp_initialized): Removed.
996 (c_decode_option): Move initialization of cpplib to
997 lang_init_options.
998
ed937a19
R
999Wed Dec 9 19:36:57 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1000
1001 * reload1.c (reload_combine, reload_combine_note_store):
a0078b37 1002 Make STORE_RUID always valid.
ed937a19
R
1003 (reload_combine): Check if BASE is clobbered too early.
1004
290b61f7
NC
1005Wed Dec 9 09:53:58 1998 Nick Clifton <nickc@cygnus.com>
1006
1007 * reload.c (find_reloads): Display the insn that cannot be
1008 reloaded.
1009
bdf777e4
DB
1010Wed Dec 9 12:15:26 1998 Dave Brolley <brolley@cygnus.com>
1011
1012 * cccp.c (create_definition): Fix end of bufer logic.
1013
3b89e9d1
KG
1014Wed Dec 9 10:15:45 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1015
1016 * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
1017 pointer parameters changed to use the PARAMS() macro.
1018
0177de87
AM
1019Wed Dec 9 09:12:40 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
1020
1021 * except.h (struct handler_info): Add handler_number field.
1022 * except.c (gen_exception_label): EH labels no longer need to be
1023 on the permanent obstack.
1024 (get_new_handler): Set the label number field.
1025 (output_exception_table_entry): Regenerate handler label reference
1026 from the label number field.
1027 (init_eh): Remove a blank line.
1028 * integrate.c (get_label_from_map): Labels no longer need to be
1029 on the permanent obstack.
1030
7a3c92a5
JW
1031Tue Dec 8 22:04:33 1998 Jim Wilson <wilson@cygnus.com>
1032
1033 * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
1034 only when OUTER_CODE is SET.
1035
5353610b
R
1036Tue Dec 8 22:47:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1037
1038 * loop.c (strength_reduce): If scan_start points to the loop exit
1039 test, be wary of subversive use of gotos inside expression statements.
1040 Don't set maybe_multiple for a backward jump that does not
1041 include the label under consideration into its range.
1042 * unroll.c (biv_total_increment): Make use of maybe_multiple field.
1043
03d937fc
R
1044Tue Dec 8 22:33:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1045
1046 * explow.c (plus_constant_wide): Don't immediately return with
1047 result of recursive call.
1048
e6cfb550
AM
1049Tue Dec 8 15:32:56 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
1050
1051 * eh-common.h (struct eh_context): Add table_index for rethrows.
1052
1053 * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
1054 (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
1055 processed when inlined or unrolled (ie duplicated in some way).
1056
1057 * rtl.c (reg_note_name): Add strings for new reg_note enums.
1058
1059 * expr.h (rethrow_libfunc): New library decl.
1060
1061 * optabs.c (rethrow_libfunc): Initialize.
1062
1063 * except.h (struct eh_entry): Add new field 'rethrow_label'.
1064 (new_eh_region_entry): No longer exported from except.c.
1065 (duplicate_handlers): Renamed to duplicate_eh_handlers and
1066 different prototype.
1067 (rethrow_symbol_map, rethrow_used): New exported functions.
1068 (eh_region_from_symbol): New exported function.
1069
1070 * except.c (create_rethrow_ref): New function to create a single
1071 SYMBOL_REF for a rethrow region.
1072 (push_eh_entry): Initialize a rethrow ref.
1073 (func_eh_entry): Add a rethrow_label field.
1074 (new_eh_region_entry): Make static, and initialize the rethrow entry.
1075 (duplicate_eh_handlers): Create a new region, and remap labels/symbols.
1076 (eh_region_from_symbol): Find an EH region based on its rethrow symbol.
1077 (rethrow_symbol_map): Given a label map, maps a rethrow symbol for
1078 a region into an appropriate new symbol.
1079 (rethrow_used): Indicate whether a rethrow symbol has been referenced.
1080 (expand_eh_region_end): Don't issue jump around code for new-exceptions.
1081 (end_catch_handler): Emit a barrier for new-exceptions since
1082 control can never drop through the end of a catch block.
1083 (expand_end_all_catch): new-exceptions never fall through a catch
1084 block.
1085 (expand_rethrow): use __rethrow routine for new exceptions.
1086 (output_exception_table_entry): Generate rethrow labels, if needed.
1087 (output_exception_table): Generate start and end rethrow labels.
1088 (init_eh): Create rethrow symbols for beginning and end of table.
1089 (scan_region): Don't eliminate EH regions which are the targets of
1090 rethrows.
1091
1092 * flow.c (make_edges): Add different edges for rethrow calls,
1093 identified by having the REG_EH_RETHROW reg label.
1094 (delete_unreachable_blocks): Don't delete regions markers which are
1095 the target of a rethrow.
1096
1097 * integrate.c (save_for_inline_eh_labelmap): New callback routine to
1098 allow save_for_inline_copying to call duplicate_eh_handlers.
1099 (save_for_inline_copying): Call duplicate_eh_handlers instead of
1100 exposing internal details of exception regions.
1101 (copy_for_inline): Check if SYMBOL_REFs need adjustment.
1102 (expand_inline_function_eh_labelmap): New callback routine to
1103 allow expand_inline_function to call duplicate_eh_handlers.
1104 (expand_inline_function): Call duplicate_eh_handlers instead of
1105 exposing internal details of exception regions.
1106 (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
1107 flag is set.
1108
1109 * libgcc2.c (find_exception_handler): Generalize to enable it to
1110 pick up processing where it left off last time for a rethrow.
1111 (__unwinding_cleanup): New function. debug hook which is called before
1112 unwinding when __throw finds there is nothing but cleanups left.
1113 (throw_helper): Common parts of __throw extracted out for reuse.
1114 (__throw): Common parts moved to throw_helper.
1115 (__rethrow): New function for performing rethrows.
1116
122a860e
JL
1117Tue Dec 8 13:11:04 1998 Jeffrey A Law (law@cygnus.com)
1118
1119 * reload1.c (current_function_decl): Tweak declaration.
1120
6271b191
RH
1121Tue Dec 8 10:23:52 1998 Richard Henderson <rth@cygnus.com>
1122
1123 * c-decl.c (flag_isoc9x): Default off.
1124 (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
1125 * cccp.c (print_help, main): Likewise.
1126 * gcc.c (default_compilers): Update for -std=gnu*.
1127
dfb7c80f
JL
1128Tue Dec 8 01:14:46 1998 Jeffrey A Law (law@cygnus.com)
1129
d91d4a5c
JL
1130 * Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
1131 * demangle.h: Deleted.
1132
dfb7c80f
JL
1133 * reload1.c (current_function_decl): Declare.
1134
b4eadc3d
KG
1135Tue Dec 8 11:58:51 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1136
1137 * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
1138
6785b077
KG
1139Tue Dec 8 09:28:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1140
1141 * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
1142
54953b66
UD
11431998-12-08 Ulrich Drepper <drepper@cygnus.com>
1144
1145 * configure.in: Test for availability of putc_unlocked, fputc_unlocked,
1146 and fputs_unlocked.
1147 * configure: Rebuilt.
1148 * system.h: If the *_unlocked functions are available use them
1149 instead of the locked counterparts by defining macros.
1150 * config.in: Regenerated.
1151
872936ad
MS
1152Tue Dec 8 00:34:05 1998 Mike Stump <mrs@wrs.com>
1153
1154 * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
1155 wrong and should only be used for dump related things, not
1156 debugging information, instead main_input_filename should be used.
1157 Also, reuse output_file_directive if possible.
1158 * i386/aix386ng.h (ASM_FILE_START): Likewise.
1159 * i386/isc.h (ASM_FILE_START): Likewise.
1160 * i386/win-nt.h (ASM_FILE_START): Likewise.
1161 * i386/sun386.h (ASM_FILE_START): Likewise.
1162
11fa8909
RL
1163Mon Dec 7 23:56:28 1998 Robert Lipe <robertl@dgii.com>
1164
1165 * configure.in (mips*-*-linux*): Handle big and little endian
1166 systems.
1167 * configure: Rebuilt.
1168
fe77a034
MS
1169Mon Dec 7 23:14:51 1998 Mike Stump <mrs@wrs.com>
1170
1171 * emit-rtl.c: Fix typo.
1172
9becac0c
NS
1173Mon Dec 7 23:07:38 1998 Nathan Sidwell <nathan@acm.org>
1174
1175 * reload1.c (eliminate_regs): Don't do anything, if we're not
1176 generating code.
1177
5f680ab6
DD
1178Mon Dec 7 15:27:09 1998 DJ Delorie <dj@cygnus.com>
1179
1180 * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
1181 Add comment.
1182 * mips/mips.c (mips_select_section): Add comment.
1183
c25d8793
MS
1184Mon Dec 7 17:55:06 1998 Mike Stump <mrs@wrs.com>
1185
1186 * cccp.c (ignore_escape_flag): Add support for \ as `natural'
1187 characters in file names in #line to be consistent with #include
1188 handling. We support escape prcessing in the # 1 "..." version of
1189 the command. See also support in cp/lex.c.
1190 (handle_directive): Likewise.
1191 (do_line): Likewise.
1192
c50bca08
ZW
11931998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
1194
1195 * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
1196 so it'll work on non-ASCII platforms. Always consider $ an
1197 identifier character. Take no arguments.
1198 (cpp_reader_init): Call initialize_char_syntax with no
1199 arguments.
1200 (cpp_start_read): Don't call initialize_char_syntax again.
1201 Clear is_idchar['$'] and is_idstart['$'] if not
1202 opts->dollars_in_ident.
1203
1204 * cpplib.h (struct cpp_reader): Replace void *data element by
1205 cpp_options *opts. Rearrange elements to make gdb printout
1206 less annoying (put buffer stack at end).
1207 (CPP_OPTIONS): Get rid of now-unnecessary cast.
1208
1209 * cppmain.c: s/data/opts/ when initializing cpp_reader
1210 structure.
1211 * c-decl.c: Likewise.
1212 * objc/objc-act.c: Likewise.
1213 * fix-header.c: Likewise.
1214
12151998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
f1a86df6
ZW
1216
1217 * cpplib.h (struct cpp_buffer): Replace dir and dlen members
1218 with a struct file_name_list pointer.
1219 (struct cpp_reader): Add pointer to chain of `actual
1220 directory' include searchpath entries.
1221 (struct file_name_list): Add *alloc pointer for the sake of
1222 the actual-directory chain.
1223
1224 Move definition of HOST_WIDE_INT here.
1225 (cpp_parse_escape): Change prototype to match changes in
1226 cppexp.c.
1227
1228 * cppfiles.c (actual_directory): New function.
1229 (finclude): Use it to initialize the buffer's actual_dir
1230 entry.
1231 (find_include_file): We don't need to fix up max_include_len
1232 here.
1233
1234 * cpplib.c (do_include): Don't allocate a file_name_list on
1235 the fly for current directory "" includes, use the one that's
1236 been preallocated in pfile->buffer->actual_dir. Hoist out
1237 duplicate code from the search_start selection logic.
1238 (cpp_reader_init): Initialize pfile->actual_dirs.
1239
1240 Remove definition of HOST_WIDE_INT. Change calls
1241 to cpp_parse_escape to match changes in cppexp.c (note
1242 hardcoded MASK, which is safe since this is the source
1243 character set).
1244
1245 * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
1246 to handle wide character constants in #if directives. The
1247 function now returns a HOST_WIDE_INT, and takes a third
1248 argument which is a binary mask for all legal values (0x00ff
1249 for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.) Define
1250 MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK. Change callers of
1251 cpp_parse_escape to match. [Fixes c-torture/execute/widechar-1.c]
1252
93447205
DB
1253Mon Dec 7 15:38:25 1998 Dave Brolley <brolley@cygnus.com>
1254
1255 * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
1256
1257Mon Dec 7 15:38:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1258
1259 * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
1260 * cppalloc.c: Move function `xcalloc' from cpplib.c to here.
1261 * cpplib.c: Move function `xcalloc' from here to cppalloc.c.
1262
1db9f6ce
NC
1263Mon Dec 7 11:30:49 1998 Nick Clifton <nickc@cygnus.com>
1264
1265 * final.c (output_asm_name): Use tabs to seperate comments from
1266 assembly text.
1267
1268 Include instruction lengths (if defined) in output.
1269
eb6a3bc0
MH
1270Mon Dec 7 10:53:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1271
1272 * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
1273 in the loop_info structure.
1274
e6592fff
CM
1275Mon Dec 7 11:04:40 1998 Catherine Moore <clm@cygnus.com>
1276
1277 * configure.in: (arm*-*-ecos-elf): New target.
1278 * configure: Regenerated.
1279 * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
1280 * config/arm/ecos-elf.h: New file.
1281 * config/arm/unknown-elf.h (TARGET_VERSION): Check
1282 for redefinition.
1283
1a953d0f
R
1284Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1285
1286 * sh.c (output_far_jump): Emit braf only for TARGET_SH2.
1287
8962b4b4
JL
1288Sun Dec 6 04:19:45 PST 1998 Jeff Law (law@cygnus.com)
1289
1290 * version.c: Bump for snapshot.
1291
5629b16c
MH
1292Sun Dec 6 05:16:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1293
1294 * loop.c (check_dbra_loop): New argument loop_info. Update fields
1295 as needed.
1296
01bdf1bc
JL
1297Sun Dec 6 03:40:13 PST 1998 Jeff Law (law@cygnus.com)
1298
1299 * version.c: Bump for snapshot.
1300
badcf916
AO
1301Sun Dec 6 07:49:29 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1302
1303 * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
1304 compressed reports are ok and preferred over URLs
1305
892d0a6d
AO
1306Sun Dec 6 07:45:33 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1307
1308 * invoke.texi (Warning Options): Soften the tone of -pedantic
1309
cd2c4c54
L
1310Sun Dec 6 00:20:44 1998 H.J. Lu (hjl@gnu.org)
1311
1312 * print-rtl.c (print_rtx): Add prototype.
1313
1314 * unroll.c (iteration_info): Make it static.
1315
02e3377d
RH
1316Sun Dec 6 01:19:46 1998 Richard Henderson <rth@cygnus.com>
1317
1318 * alias.c (memrefs_conflict_p): A second ANDed address
1319 disables the aligned address optimization.
1320
4bd75896
RH
1321Sat Dec 5 18:48:25 1998 Richard Henderson <rth@cygnus.com>
1322
1323 * alpha.c (alpha_emit_set_const_1): Fix parenthesis error
1324 in -c << n case.
1325
c78358d4
JM
1326Sat Dec 5 15:14:52 1998 Jason Merrill <jason@yorick.cygnus.com>
1327
1328 * i960.h (BOOL_TYPE_SIZE): Define.
1329
e868a840
MH
1330Sun Dec 6 00:28:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1331
1332 * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
1333 from old valid_parallel_operands_4.
1334 (valid_parallel_operands_4): Check that operands for 4 operand
1335 parallel insns are valid, excluding load/store insns.
1336 * config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
1337 * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
1338 valid_parallel_load_store instead of valid_parallel_operands_4.
1339 (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
1340 *negqf2_movqf_clobber, *absqi2_movqi_clobber,
1341 *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
1342 *notqi_movqi_clobber): Use valid_parallel_operands_4.
1343 (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
1344 *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
1345 *subqi3_movqi_clobber): Use valid_parallel_operands_5.
1346
cd20cc86
MH
1347Sat Dec 5 23:52:01 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1348
1349 * config/c4x/c4x.c (iteration_info): Delete extern.
1350
f62a15e3
BS
1351Fri Dec 4 20:15:57 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1352
faa9eb19
BS
1353 * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
1354
f62a15e3
BS
1355 * final.c (cleanup_subreg_operands): Delete some unused code.
1356
1357 * recog.h (MAX_RECOG_ALTERNATIVES): New macro.
1358 (struct insn_alternative): New structure definition.
1359 (recog_op_alt): Declare variable.
1360 (preprocess_constraints): Declare function.
1361 * recog.c (recog_op_alt): New variable.
1362 (extract_insn): Verify number of alternatives is in range.
1363 (preprocess_constraints): New function.
1364 * reg-stack.c: Include recog.h.
1365 (constrain_asm_operands): Delete.
1366 (get_asm_operand_lengths): Delete.
1367 (get_asm_operand_n_inputs): New function.
1368 (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
1369 N_OUTPUTS args. All callers changed.
1370 Compute number of inputs and outputs here by calling
1371 get_asm_operand_n_inputs.
1372 Instead of constrain_asm_operands, call extract_insn,
1373 constrain_operands and preprocess_constaints. Use information
1374 computed by these functions throughout.
1375 (record_reg_life): Delete code that is unused due to changes in
1376 record_asm_reg_life.
1377 (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
1378 N_INPUTS and N_OUTPUTS args. All callers changed.
1379 Similar changes as in record_asm_reg_life.
1380 (subst_stack_regs): Move n_operands declaration into the if statement
1381 where it's used.
1382 Delete code that is unused due to changes in subst_asm_stack_regs.
1383 * stmt.c (expand_asm_operands): Verify number of alternatives is in
1384 range.
1385 * Makefile.in (reg-stack.o): Depend on recog.h.
1386
2ec10ea9
JL
1387Fri Dec 4 02:23:24 1998 Jeffrey A Law (law@cygnus.com)
1388
1389 * except.c (set_exception_version_code): Argument is an "int".
1390
16fb6b5e
JL
1391Fri Dec 4 01:29:28 1998 Jeffrey A Law (law@cygnus.com)
1392
1393 * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
1394 * configure: Rebuilt.
1395
18cae839
RL
1396Fri Dec 4 01:29:28 1998 Robert Lipe <robertl@dgii.com>
1397
1398 * configure.in (mipsel-*-linux*): New target.
1399 * mips/linux.h: New file, based on other Linux targets.
1400
0fcff082
MS
1401Thu Dec 3 11:19:50 1998 Mike Stump <mrs@wrs.com>
1402
1403 * gthr-vxworks.h (__ehdtor): Fix memory leak. The delete hook
1404 runs in the context of the deleter, not the deletee, so we must
1405 use taskVarGet to find the correct memory to free.
1406 (__gthread_key_create): Initialize the task
1407 variable subsystem so that the task variable is still active when
1408 the delete hook is run.
1409
9f643ff8
JL
14101998-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
1411
f4190acc
JM
1412 * pdp11.h: Use optimize_size for space optimizations.
1413 * pdp11.c: Likewise.
1414 * pdp11.md: Likewise.
1415
9f643ff8
JL
1416 * pdp11.h (TARGET_40_PLUS): Fix typo.
1417
1418Thu Dec 3 11:48:32 1998 Jeffrey A Law (law@cygnus.com)
1419
1420 * local-alloc.c (block_alloc): Slightly retune heuristic to widen
1421 qty lifetimes.
1422
39cec1ac
MH
1423Thu Dec 3 22:30:18 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1424
1425 * alias.c (addr_side_effect_eval): New function.
1426 (memrefs_conflict_p): Use it.
1427 * rtl.h (addr_side_effect_eval): Prototype it.
1428
a6a715ca
JM
14291998-12-02 Joseph S. Myers <jsm28@cam.ac.uk>
1430
1431 * pdp11.md (extendsfdf2): Fix mode mismatch in SET.
1432
226592de
JW
1433Wed Dec 2 11:23:07 1998 Jim Wilson <wilson@cygnus.com>
1434
1435 * reload.c (find_reloads): When force const to memory, put result
1436 in substed_operand not *recog_operand_loc.
1437
1747054f
UD
14381998-12-02 Ulrich Drepper <drepper@cygnus.com>
1439
1440 * c-lex.c: Fix indentation from last patch.
1441 Remove trailing whitespace.
1442 * real.c: Likewise.
1443
2536e1ee
JL
1444Wed Dec 2 10:11:12 1998 Jeffrey A Law (law@cygnus.com)
1445
1446 * flow.c (delete_block): Call set_last_insn after we have reset
1447 NEXT_INSN (kept_tail).
1448
b151501e
JL
1449Wed Dec 2 00:47:31 1998 Jeffrey A Law (law@cygnus.com)
1450
1451 * mips.md (trap_if): Use "$0" for the value zero.
1452
6f4d7222
UD
1453Tue Dec 1 20:49:49 1998 Ulrich Drepper <drepper@cygnus.com>
1454 Stephen L Moshier <moshier@world.std.com>
1455 Richard Henderson <rth@cygnus.com>
1456
1457 * c-common.c (declare_function_name): Declare predefinied variable
1458 `__func__'.
1459
1460 * c-decl.c (flag_isoc9x): Set to 1 by default.
1461 (c_decode_option): Handle -std= option. Remove -flang-isoc9x.
1462 (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
1463
1464 * c-parse.in: Allow constructors in ISO C 9x.
1465 Rewrite designator list handling.
1466 Allow [*] parameters.
1467 Don't warn about comma at end of enum definition for ISO C 9x.
1468
1469 * cccp.c (c9x): New variable.
1470 (rest_extension): New variable.
1471 (print_help): Document new -std= option.
1472 (main): Recognize -std= option. Set c9x appropriately.
1473 (create_definition): Recognize ISO C 9x vararg macros.
1474
1475 * gcc.c (default_compilers): Adjust specs for -std options.
1476 (option_map): Add --std.
1477 (display_help): Document -std.
1478
1479 * toplev.c (documented_lang_options): Add -std and remove
1480 -flang-isoc9x.
1481
1482 * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
1483 or REAL_VALUE_HTOF based on base of the constants.
1484 * fold-const.c (real_hex_to_f): New function. Replacement function
1485 for hex FP conversion if REAL_ARITHMETIC is not defined.
1486 * real.c (asctoeg): Add handling of hex FP constants.
1487 * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
1488 real_hex_to_f.
1489
08c2951c
SC
1490Tue Dec 1 16:45:49 1998 Stan Cox <scox@cygnus.com>
1491
1492 * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
1493 -mcheck-range-division/-mcheck-zero-division checking. Avoid as macro
1494 expansion. Use hi/lo as destination register.
1495 (div_trap): New.
1496 (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
1497 umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
1498 Avoid as macro expansion. Use hi/lo as destination register.
1499
1500 * mips.h (MASK_CHECK_RANGE_DIV): New.
1501 (MASK_NO_CHECK_ZERO_DIV): New.
1502 (ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
1503 (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
1504 return address for leaf functions out of r31 to support
1505 builtin_return_address.
1506
1f5fb51f
HB
1507Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1508
1509 * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
1510 NEXT_INSN(x) to check insn x.
1511
45c85c4e
JL
1512Tue Dec 1 15:20:44 1998 Jeffrey A Law (law@cygnus.com)
1513
e3f6ee23
JL
1514 * flow.c (delete_block): Call set_last_insn if we end up deleting the
1515 last insn in the rtl chain.
1516
45c85c4e
JL
1517 * reload1.c (reload): Do not set reload_completed or split insns
1518 here. Instead...
1519 * toplev.c (rest_of_compilation): Set reload_completed after
1520 reload returns. Split insns after reload_cse has run.
1521
df3ba30a
RH
1522Tue Dec 1 11:55:04 1998 Richard Henderson <rth@cygnus.com>
1523
1524 * final.c (final_scan_insn): Abort if block_depth falls below 0.
1525
bbc1b3f7
NC
1526Tue Dec 1 10:23:16 1998 Nick Clifton <nickc@cygnus.com>
1527
1528 * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
1529
1530Tue Dec 1 10:22:18 1998 Nick Clifton <nickc@cygnus.com>
1531
1532 * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
1533 use of user-label_prefix.
1534
2b49ee39
R
1535Tue Dec 1 17:58:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1536
78a2bc08
R
1537 * reload1.c (emit_reload_insns): Clear spill_reg_store
1538 when doing a new non-inherited reload from the same pseudo.
1539
2b49ee39
R
1540 * local-alloc.c (function_invariant_p): New function.
1541 (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
1542 to decide if an equivalence should be recorded.
1543 * reload1.c (num_eliminable_invariants): New static variable.
1544 (reload): Set it. Use function_invariant_p instead of CONSTANT_P
1545 to decide if an equivalence should be recorded.
1546 Unshare PLUS.
1547 (calculate_needs_all_insns): Skip insns that only set an equivalence.
1548 Take num_eliminable_invariants into account when deciding
1549 if register elimination should be done.
1550 (reload_as_needed): Take num_eliminable_invariants into account
1551 when deciding if register elimination should be done.
1552 (eliminate_regs): Handle non-constant reg_equiv_constant.
1553 * rtl.h (function_invariant_p): Declare.
1554
dfc00b38
JL
1555Mon Nov 30 02:00:08 PST 1998 Jeff Law (law@cygnus.com)
1556
1557 * version.c: Bump for snapshot.
1558
a8afb377
JL
1559Mon Nov 30 00:42:59 PST 1998 Jeff Law (law@cygnus.com)
1560
1561 * version.c: Bump for snapshot.
1562
9bbdf48e
JM
1563Sun Nov 29 22:59:40 1998 Jason Merrill <jason@yorick.cygnus.com>
1564
1565 * except.c (add_new_handler): Complain about additional handlers
1566 after one that catches everything.
1567
66953094
JL
1568Sat Nov 28 10:56:32 1998 Jeffrey A Law (law@cygnus.com)
1569
1570 * configure.in (alpha*-*-netbsd): Fix typo.
1571 * configure: Rebuilt.
1572
2778b98d
KG
1573Fri Nov 27 12:28:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1574
1575 * system.h: Include libiberty.h.
1576
1577 * c-aux-info.c: Remove prototypes for concat/concat3. Change
1578 function `concat' from fixed parameters to variable parameters,
1579 as is done in libiberty. All callers of concat/concat3
1580 changed to use the new `concat' with variable args.
1581
1582 * cccp.c: Remove things made redundant by libiberty.h and/or
1583 conform to libiberty standards.
1584 * cexp.y: Likewise.
1585 * collect2.c: Likewise.
1586 * config/1750a/1750a.h: Likewise.
1587 * cppalloc.c: Likewise.
1588 * cppexp.c: Likewise.
1589 * cppfiles.c: Likewise.
1590 * cpphash.c: Likewise.
1591 * cpplib.c: Likewise.
1592 * dyn-string.c: Likewise.
1593 * fix-header.c: Likewise.
1594 * gcc.c: Likewise.
1595 * gcov.c: Likewise.
1596 * genattr.c: Likewise.
1597 * genattrtab.c: Likewise.
1598 * gencheck.c: Likewise.
1599 * gencodes.c: Likewise.
1600 * genconfig.c: Likewise.
1601 * genemit.c: Likewise.
1602 * genextract.c: Likewise.
1603 * genflags.c: Likewise.
1604 * gengenrtl.c: Likewise.
1605 * genopinit.c: Likewise.
1606 * genoutput.c: Likewise.
1607 * genpeep.c: Likewise.
1608 * genrecog.c: Likewise.
1609 * getpwd.c: Likewise.
1610 * halfpic.c: Likewise.
1611 * hash.c: Likewise.
1612 * mips-tdump.c: Likewise. Wrap malloc/realloc/calloc prototypes
1613 in NEED_DECLARATION_* macros.
1614
1615 * mips-tfile.c: Remove things made redundant by libiberty.h and/or
1616 conform to libiberty standards.
1617 (fatal): Fix const-ification of variable `format' in
1618 !ANSI_PROTOTYPES case.
1619
1620 * prefix.c: Remove things made redundant by libiberty.h and/or
1621 conform to libiberty standards.
1622
1623 * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
1624 conflicting with function `spaces' from libiberty.
1625
1626 * profile.c: Remove things made redundant by libiberty.h and/or
1627 conform to libiberty standards.
1628 * protoize.c: Likewise.
1629 * rtl.h: Likewise.
1630 * scan.h: Likewise.
1631 * tlink.c: Likewise.
1632 * toplev.c: Likewise.
1633 * toplev.h: Likewise.
1634 * tree.h: Likewise.
1635
21380ab0
KG
1636Thu Nov 26 08:38:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1637
1638 * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
1639
6e863849
MH
1640Thu Nov 26 23:45:37 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1641
1642 * README.C4X: Updated URLs.
1643 * config/c4x/c4x.c (c4x_address_conflict): Fix typo.
1644 (valid_parallel_operands_5): Remove unused variable.
1645
d97860ae
MH
1646Thu Nov 26 23:40:03 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1647
1648 * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
1649
71205e0b
MH
16501998-11-26 Manfred Hollstein <manfred@s-direktnet.de>
1651
1652 * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
1653 which can be configured.
1654 (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
1655 (Makefile): Pass actual LANGUAGES through the environment when
1656 re-configuring.
1657 (cstamp-h): Likewise.
1658 (config.status): Likewise.
1659
1660 * configure.in (enable_languages): Add new configuration parameter
1661 "--enable-languages=lang1,lang2,...".
1662 (${srcdir}/*/config-lang.in): Change handling to configure only
1663 those directories, that the user might have enabled; default to
1664 "all" existing languages.
1665 * configure: Regenerate.
1666
a2e1a0bf
RH
1667Thu Nov 26 00:19:19 1998 Richard Henderson <rth@cygnus.com>
1668
1669 * rtlanal.c (regs_set_between_p): New function.
1670 * rtl.h (regs_set_between_p): Prototype it.
1671 * jump.c (jump_optimize): Use it instead of modified_between_p
1672 in the Sep 2 change.
1673
83575957
ID
1674Wed Nov 25 23:32:02 1998 Ian Dall <Ian.Dall@dsto.defence.gov.au>
1675 Matthias Pfaller <leo@dachau.marco.de>
1676
1677 * invoke.texi (Option Summary, NS32K Options): add description
1678 of NS32K specific options.
1679
1680 * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
1681 fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
1682 fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
1683 negdf2, absdf2): Use l instead of f since the double class and
1684 float class are no longer the same.
1685 (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
1686 divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
1687 ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
1688 use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
1689 fixed.
1690 (cmpsi, cmphi, cmpqi): use general_operand instead of
1691 non_immediate_operand. Removes erroneous assumption that can't
1692 compare constants.
1693 (movsf, movsi, movhi, movqi,...): New register numbering scheme.
1694 (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
1695 constants.
1696 (movstrsi, movstrsi1, movstrsi2): completely new block move
1697 scheme.
1698 (...): Patterns to exploit multiply-add instructions.
1699 (udivmodsi4, udivmodsi_internal4, udivmodhi4,
1700 udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): new
1701 patterns to exploit extended divide insns.
1702 (udivsi3, udivhi3, udivqi3): remove since superceded by udivmodsi
1703 etc patterns.
1704
1705 * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
1706 float return values as well as simple scalar floats.
1707 (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
1708 support new flag to denote 32381 fpu.
1709 (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
1710 (CONDITIONAL_REGISTER_USAGE): disable extra 32381 registers if not
1711 compling for 32381.
1712 (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
1713 REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
1714 REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
1715 L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
1716 LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
1717 REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
1718 REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
1719 REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
1720 REG_OK_FOR_BASE_P, MEM_REG): new register scheme to include 32381
1721 fpu registers and special register classes for new 32381
1722 instructions dotf and polyf.
1723 (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
1724 be tieable.
1725 (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
1726 INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
1727 required.
1728 (SMALL_REGISTER_CLASSES): Make dependant on -mmult-add option.
1729 (MOVE_RATIO): Set to zero because of smart movstrsi implimentation.
1730 (REGISTER_MOVE_COST): move code to register_move_cost function for
1731 ease of coding and debugging.
1732 (CLASS_LIKELY_SPILLED_P): Under new register scheme class
1733 LONG_FLOAT_REGO is likely spilled but not caught by default
1734 definition.
1735 (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): use macro
1736 instead of hard coded numbers in range check.
1737 (ASM_OUTPUT_LABELREF_AS_INT): delete since unused.
1738 (...): Add prototypes for functions in ns32k.c but disable because
1739 of problems when ns32k.h is included in machine independant files.
1740
1741 * ns32k.c: include "system.h", "tree.h", "expr.h", "flags.h".
1742 (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
1743 hard_regno_mode_ok, secondary_reload_class,
1744 print_operand, print_operand_address): new register scheme to
1745 include 32381 fpu registers and special register classes for new
1746 32381 instructions dotf and polyf.
1747 (gen_indexed_expr): Make static to keep namespace clean.
1748 (check_reg): remove since never called.
1749 (move_tail, expand_block_move): helper functions for "movstrsi"
1750 block move insn.
1751 (register_move_cost): Helper function for REGISTER_MOVE_COST macro.
1752 Increase cost of moves which go via memory.
1753 * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
1754 (CPP_PREDEFINES): nolonger predefine "unix".
1755
1756 * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
1757 Remove erroneous %$. print_operand() can work out from the rtx is
1758 an immediate prefix is required.
1759
1760 * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
1761 VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
1762 SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
1763 convention.
1764 (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
1765 pic operands.
1766
1767 * ns32k.c (symbolic_reference_mentioned_p, print_operand):
1768 Correct handling of pic operands.
1769 (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
1770 ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
1771 -mrtd calling convention.
1772
36696297
TT
1773Wed Nov 25 23:42:20 1998 Tom Tromey <tromey@cygnus.com>
1774
1775 * gcc.c (option_map): Recognize --output-class-directory.
1776
e96b4d7a
MH
1777Thu Nov 26 18:26:21 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1778
1779 * loop.h (precondition_loop_p): Added new mode argument.
1780 * unroll.c (precondition_loop_p): Likewise.
1781 (approx_final_value): Function deleted and subsumed
1782 into loop_iterations.
1783 (loop_find_equiv_value): New function.
1784 (loop_iterations): Use loop_find_equiv_value to find increments
1785 too large to be immediate constants. Also use it to find terms
1786 common to initial and final iteration values that can be removed.
1787
302670f3
MH
1788Thu Nov 26 18:05:04 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1789
1790 * loop.h (struct loop_info): Define new structure.
1791 (precondition_loop_p): Added prototype.
1792 (unroll_loop): Added new argument loop_info to prototype.
1793 (final_biv_value, final_giv_value): Added new argument n_iterations
1794 to prototype.
1795 * loop.c (strength_reduce): Declare new structure loop_iteration_info
1796 and new pointer loop_info.
1797 (loop_n_iterations): Replace global variable by element in
1798 loop_info structure.
1799 (check_final_value): New argument n_iterations.
1800 (insert_bct): New argument loop_info.
1801 (loop_unroll_factor): Replace global array by element in
1802 loop_info structure.
1803 (loop_optimize): Remove code to allocate and initialise
1804 loop_unroll_factor_array.
1805 * unroll.c (precondition_loop_p): No longer static since
1806 used by branch on count optimization.
1807 (precondition_loop_p, unroll_loop): New argument loop_info.
1808 (final_biv_value, final_giv_value, find_splittable_regs): New
1809 argument n_iterations.
1810 (loop_iteration_var, loop_initial_value, loop_increment,
1811 loop_final_value, loop_comparison_code, loop_unroll_factor):
1812 Replaced global variables by loop_info structure.
1813 (loop_unroll_factor): Replace global array by element in
1814 loop_info structure.
1815
a7060368
MH
1816Thu Nov 26 17:49:29 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1817
1818 * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
1819 when loop reversed.
1820
1821 * unroll.c (precondition_loop_p): Return loop_initial_value
1822 for initial_value instead of loop_iteration_var.
1823
959e0a76
MH
1824Thu Nov 26 17:15:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1825
1826 * config/c4x/c4x.md: Fix minor formatting problems. Update docs.
1827 (*b, *b_rev, *b_noov, *b_noov_rev, *db,
1828 decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
1829 to output the instruction sequences.
1830 (rpts): Delete.
1831 (rptb_top): Provide alternatives to use any register or memory
1832 for loop counter.
1833 (rptb_end): Emit use of operands rather than assigning them
1834 explicitly to the RS and RE registers.
1835
0fe69aba
MH
1836Thu Nov 26 16:37:59 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1837
1838 * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
1839 c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
1840 c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
1841 c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
1842 c4x_merge_notes, c4x_parallel_process,
1843 c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
1844 c4x_combine_parallel): Delete.
1845
1846Thu Nov 26 15:16:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1847
1848 * config/c4x/c4x.c: (c4x_override_options): For compatibility
1849 with old target options clear flag_branch_on_count_reg if
1850 -mno-rptb specified and set flag_argument_alias is -mno-aliases
1851 specified.
1852 (c4x_output_cbranch): Handle a sequence of insns rather than a
1853 single insn.
4271f003 1854 (c4x_rptb_insert): Do not emit a RPTB insn if the RC register
0fe69aba 1855 has not been allocated as the loop counter.
4271f003
MH
1856 (c4x_address_conflict): Do not allow two volatile memory references.
1857 (valid_parallel_operands_4, valid_parallel_operands_5,
1858 valid_parallel_operands_6): Reject pattern if the register destination
1859 of the first set is used as part of an address in the second set.
0fe69aba 1860
2e3e9ead
MH
1861Thu Nov 26 14:56:32 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1862
1863 * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
1864 (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
1865 is no longer enabled if PARALLEL_MPY_FLAG set.
1866 (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
1867 (REG_CLASS_CONTENTS): Add braces around initializers.
1868 (HAVE_MULTIPLE_PACK): Define.
1869 (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
1870 REAL_VALUE_TO_DECIMAL.
1871 (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
1872 REAL_VALUE_TO_DECIMAL.
1873 (ar0_reg_operand): Add prototype.
1874 (ar0_mem_operand): Likewise.
1875 (ar1_reg_operand): Likewise.
1876 (ar1_mem_operand): Likewise.
1877 (ar2_reg_operand): Likewise.
1878 (ar2_mem_operand): Likewise.
1879 (ar3_reg_operand): Likewise.
1880 (ar3_mem_operand): Likewise.
1881 (ar4_reg_operand): Likewise.
1882 (ar4_mem_operand): Likewise.
1883 (ar5_reg_operand): Likewise.
1884 (ar5_mem_operand): Likewise.
1885 (ar6_reg_operand): Likewise.
1886 (ar6_mem_operand): Likewise.
1887 (ar7_reg_operand): Likewise.
1888 (ar7_mem_operand): Likewise.
1889 (ir0_reg_operand): Likewise.
1890 (ir0_mem_operand): Likewise.
1891 (ir1_reg_operand): Likewise.
1892 (ir1_mem_operand): Likewise.
1893 (group1_reg_operand): Likewise.
1894 (group1_mem_operand): Likewise.
1895 (ir1_reg_operand): Likewise.
1896 (arx_reg_operand): Likewise.
1897 (not_rc_reg): Likewise.
1898 (not_modify_reg): Likewise.
1899 (c4x_group1_reg_operand): Remove prototype.
1900 (c4x_group1_mem_operand): Likewise.
1901 (c4x_arx_reg_operand): Likewise.
1902
a46f03ea
SM
1903Wed Nov 25 19:02:55 1998 (Stephen L Moshier) <moshier@world.std.com>
1904
1905 * emit-rtl.c (gen_lowpart_common): Remove earlier change.
1906 * real.c (make_nan): Make SIGN arg actually specify the sign bit.
1907
f3ed04e7
MH
1908Thu Nov 26 14:12:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1909
1910 * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
1911 during reload.
1912
0e1bd737
R
1913Wed Nov 25 22:05:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1914
1915 * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
1916 unless FMOVD_WORKS is defined.
1917
910bc42d
R
1918Wed Nov 25 20:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1919
1920 * regclass.c (init_reg_sets): Move code that calculates tables
1921 dependent on reg_class_contents from here...
1922 (init_reg_sets_1): To here.
1923
0b3d776a
ZW
1924Wed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
1925
1926 * cpplib.h: Delete struct import_file. Add ihash element to
1927 struct cpp_buffer. Delete dont_repeat_files and
1928 import_hash_table elements from cpp_reader; change
1929 all_include_files to a hash table. Delete all foobar_include
1930 / last_foobar_include elements from struct cpp_options; put
1931 back four such: quote_include, bracket_include,
1932 system_include, after_include. Redo struct file_name_list
1933 completely. Add new structure type include_hash. Add
1934 prototypes for merge_include_chains and include_hash. Change
1935 prototypes for finclude, find_include_file, and
1936 append_include_chain to match changes below.
1937
1938 * cppfiles.c (simplify_pathname, include_hash,
1939 remap_filename, merge_include_chains): New functions.
1940 (add_import, lookup_import, open_include_file): Removed.
1941 (INO_T_EQ): Define this (copied from cccp.c).
1942 (hack_vms_include_specification): Remove all calls and #if 0
1943 out the definition. It was being called incorrectly and at
1944 the wrong times. Until a VMSie can look at this, it's better
1945 to not pretend to support it.
1946 (append_include_chain): Change calling convention; now takes
1947 only one directory at a time, and sets up the data structure
1948 itself.
1949 (redundant_include_p): Rewritten - this is now used for all
1950 include redundancy, whether by #ifndef, #import, or #pragma
1951 once. Looks up things in the include hash table.
1952 (file_cleanup): Decrement pfile->system_include_depth here if
1953 it's >0.
1954 (find_include_file): Calling convention changed; now passes
1955 around a struct include_hash instead of 3 separate parameters.
1956 Guts ripped out and replaced with new include_hash mechanism.
1957 (finclude): Calling convention changed as for
1958 find_include_file. Error exits pulled out-of-line. Reformat.
1959 (safe_read): Return a long, not an int.
1960 (deps_output): Don't recurse.
1961
1962 * cpplib.c (is_system_include): Deleted.
1963 (path_include): Fix up call to append_include_chain.
1964 (do_include): Fix up calls to find_include_file and finclude.
1965 Clean up dependency output a bit. Shorten obnoxiously lengthy
1966 #import warning message. Don't decrement
1967 pfile->system_include_depth here.
1968 (do_pragma): Understand the include_hash structure. Reformat.
1969 (do_endif): Correct handling of control macros. Understand
1970 the include_hash.
1971 (cpp_start_read): Fix up calls to finclude. Call
1972 merge_include_chains.
1973 (cpp_handle_option): Fix up calls to append_include_chain.
1974 Understand the four partial include chains.
1975 (cpp_finish): Add debugging code (#if 0-ed out) for the
1976 include_hash.
1977 (cpp_cleanup): Free the include_hash, not the import hash and
1978 the all_include and dont_repeat lists which no longer exist.
1979
f1db3576
JL
1980Wed Nov 25 11:26:19 1998 Jeffrey A Law (law@cygnus.com)
1981
1982 * toplev.c (no_new_pseudos): Define.
1983 (rest_of_compilation): Set no_new_pseudos as needed.
1984 * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
1985 if no_new_pseudos is set.
1986 * rtl.h (no_new_pseudos): Declare it.
1987 * reload1.c (reload): Update comments.
1988 * md.texi: Corresponding changes.
1989
1990Wed Nov 25 11:26:17 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1991
1992 * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
1993 (choose_reload_regs): Rename it here as well. When computing it,
1994 also merge in used hardregs.
1995
b12da25e
ZW
19961998-11-25 07:51 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
1997
1998 * gcc.c: Split out Objective-C specs to...
1999 * objc/lang-specs.h: here. (New file.) Make the specs cpplib
2000 aware.
2001
2002 * c-lex.c (init_parse): Always initialize the filename global.
2003 * objc/objc-act.c (lang_init): Always call check_newline at
2004 beginning of file.
2005
5828374f
GS
2006Wed Nov 25 00:48:29 1998 Graham <grahams@rcp.co.uk>
2007
2008 * reload1.c (reload): Remove unused variable.
2009 (reload_reg_free_for_value_p): Add missing parameter definition.
2010
2011 * jump.c (jump_optimize): Remove unused variable.
2012
940da324
JL
2013Wed Nov 25 00:07:11 1998 Jeffrey A Law (law@cygnus.com)
2014
0c3a267b
JL
2015 * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
2016
940da324
JL
2017 * cse.c (fold_rtx): Make autoincrement addressing mode tests be
2018 runtime selectable.
2019 * expr.c (move_by_pieces): Similarly.
2020 (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
2021 * flow.c (find_auto_inc): Similarly.
2022 (try_pre_increment): Similarly.
2023 * loop.c (strength_reduce): Similarly.
2024 * regclass.c (auto_inc_dec_reg_p): Similarly.
2025 * regmove.c (try_auto_increment): Similarly.
2026 (fixup_match_1): Similarly.
2027 * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
2028 (HAVE_PRE_DECREMENT): Similarly.
2029 (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
0c3a267b
JL
2030 * Corresponding changes to all target header files.
2031 * tm.texi: Update docs for autoinc addressing modes.
940da324 2032
d1be3be3
JW
2033Tue Nov 24 20:24:59 1998 Jim Wilson <wilson@cygnus.com>
2034
2035 * configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
2036 * configure: Rebuild.
2037 * config/elfos.h: New file.
2038 * config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
2039 config/m68k/t-m68kelf: New file.
2040
f6c2a93c
JL
2041Tue Nov 24 13:40:06 1998 Jeffrey A Law (law@cygnus.com)
2042
2043 * Makefile.in (HOST_AR): Define.
2044 (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
2045 (libcpp.a): Use the host tools explicitly.
2046 (STAGESTUFF): Add libcpp.a.
2047
6970d948
NC
2048Tue Nov 24 09:33:49 1998 Nick Clifton <nickc@cygnus.com>
2049
2050 * config/m32r/m32r.md (movstrsi_internal): Describe changes made
2051 to source and destination registers.
2052
d0b9a143
MS
2053Mon Nov 23 20:28:02 1998 Mike Stump <mrs@wrs.com>
2054
2055 * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
2056 The strategy we now use is to pre allocate the top_elt along
2057 with the EH context so that each thread has its own top_elt.
2058 This is necessary as the dynmanic cleanup chain is used on the
2059 top element of the stack and each thread MUST have its own.
2060 (eh_context_static): Likewise.
2061 (new_eh_context): Likewise.
2062 (__sjthrow): Likewise.
2063
8c8a9717
JM
2064Mon Nov 23 20:25:03 1998 Jason Merrill <jason@yorick.cygnus.com>
2065
2066 * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
2067 * i386.md (prologue_get_pc): Remove unused variable.
2068
b8a14125
GN
2069Mon Nov 23 17:05:40 1998 Geoffrey Noer <noer@cygnus.com>
2070
2071 * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
2072
735a0e33
UD
2073Mon Nov 23 16:40:00 1998 Ulrich Drepper <drepper@cygnus.com>
2074
2075 * Makefile.in (OBJS): Add graph.o
2076 (graph.o): New dependency list.
2077 * flags.h: Declare dump_for_graph and define graph_dump_types type.
2078 * print-rtl.c (dump_for_graph): Define new variable.
2079 (print_rtx): Rewrite to allow use in graph dumping functions.
2080 * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
2081 finish_graph_dump_file.
2082 Define graph_dump_format.
2083 (compile_file): If graph dumping is enabled also clear these files.
2084 Finish graph dump files.
2085 (rest_of_compilation): Also dump graph information if enabled.
2086 (main): Recognize -dv to enabled VCG based graph dumping.
2087 * graph.c: New file. Graph dumping functions.
2088
a05e22b8
RH
2089Mon Nov 23 16:39:04 1998 Richard Henderson <rth@cygnus.com>
2090
2091 * configure.in: Look for <sys/stat.h>.
2092 * system.h: Include it before substitute S_ISREG definitions.
2093
a53f72db
GRK
2094Mon Nov 23 17:40:37 1998 Gavin Romig-Koch <gavin@cygnus.com>
2095
2096 * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
2097 * config/mips/iris6.h: Same.
2098 * config/mips/mips.md: Same.
2099 * config/mips/mips.c: Same; also add "-mabi=o64" option.
2100 * config/mips/mips.h: Same; also define ABI_O64.
2101
c9a3de16
KG
2102Mon Nov 23 17:02:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2103
2104 * configure.in: Use AC_PREREQ(2.12.1).
2105
9855b854
MN
2106Mon Nov 23 10:16:38 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
2107
2108 * cccp.c (S_ISREG, S_ISDIR): Delete defines.
2109 * cpplib.c, gcc.c: Likewise.
2110 * system.h (S_ISREG, S_ISDIR): Define if not already defined.
2111
578db09b
RH
2112Mon Nov 23 09:53:44 1998 Richard Henderson <rth@cygnus.com>
2113
2114 * local-alloc.c (local_alloc): Use malloc not alloca for
2115 reg_qty, reg_offset, ref_next_in_qty.
2116
225e4f43
R
2117Mon Nov 23 16:46:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2118
193f66a9
JL
2119 * caller-save.c (insert_one_insn): Initialize the live_before and
2120 live_after register sets.
2121
225e4f43
R
2122 Add SH4 support:
2123
2124 * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
2125 (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
2126 * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
2127 (fp_reg_names, assembler_dialect): New variables.
2128 (print_operand_address): Handle SUBREGs.
2129 (print_operand): Added 'o' case.
2130 Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
2131 Name of FP registers depends on mode.
2132 (expand_block_move): Emit different code for SH4 hardware.
2133 (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
2134 (from_compare): Likewise.
2135 (add_constant): New argument last_value. Changed all callers.
2136 (find_barrier): Don't try HImode load for FPUL_REG.
2137 (machine_dependent_reorg): Likewise.
2138 (sfunc_uses_reg): A CLOBBER cannot be the address register use.
2139 (gen_far_branch): Emit a barrier after the new jump.
2140 (barrier_align): Don't trust instruction lengths before
2141 fixing up pcloads.
2142 (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
2143 Use auto-inc addressing for fp registers if doubles need to
2144 be loaded in two steps.
2145 Set sh_flag_remove_dead_before_cse.
2146 (push): Support for TARGET_FMOVD. Use gen_push_fpul for fpul.
2147 (pop): Support for TARGET_FMOVD. Use gen_pop_fpul for fpul.
2148 (calc_live_regs): Support for TARGET_FMOVD. Don't save FPSCR.
2149 Support for FIRST_XD_REG .. LAST_XD_REG.
2150 (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
2151 (sh_expand_epilogue): Likewise.
2152 (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
2153 (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
2154 (arith_reg_operand): FPUL_REG is OK for SH4.
2155 (fp_arith_reg_operand, fp_extended_operand) New functions.
2156 (tertiary_reload_operand, fpscr_operand): Likewise.
2157 (commutative_float_operator, noncommutative_float_operator): Likewise.
2158 (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
2159 (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
2160 (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
2161 (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
2162 * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
2163 (CONDITIONAL_REGISTER_USAGE): Likewise.
2164 (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
2165 (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
2166 (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
2167 (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
2168 (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
2169 to -1 and sh_flag_remove_dead_before_cse to 1.
2170 (ASSEMBLER_DIALECT): Define to assembler_dialect.
2171 (assembler_dialect, fp_reg_names): Declare.
2172 (OVERRIDE_OPTIONS): Add code for TARGET_SH4.
2173 Hide names of registers that are not accessible.
2174 (CACHE_LOG): Take TARGET_CACHE32 into account.
2175 (LOOP_ALIGN): Take TARGET_HARWARD into account.
2176 (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
2177 (FIRST_PSEUDO_REGISTER: Now 49.
2178 (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
2179 (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
2180 (HARD_REGNO_MODE_OK): Update.
2181 (enum reg_class): Add DF_REGS and FPSCR_REGS.
2182 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
2183 (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
2184 (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
2185 (NPARM_REGS): Eight floating point parameter registers on SH4.
2186 (BASE_RETURN_VALUE_REG): SH4 also passes double values
2187 in floating point registers.
2188 (GET_SH_ARG_CLASS) Likewise.
2189 Complex float types are also returned in float registers.
2190 (BASE_ARG_REG): Complex float types are also passes in float registers.
2191 (FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
2192 (LIBCALL_VALUE): Remove trailing semicolon.
2193 (ROUND_REG): Round when double precision value is passed in floating
2194 point register(s).
2195 (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
2196 passed on the stack.
2197 (FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
2198 (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
2199 (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
2200 (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
2201 (MODE_DISP_OK_8): Not for SH4 DFmode.
2202 (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
2203 Allow indexed addressing for PSImode after reload.
2204 (LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
2205 (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
2206 Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
2207 (DOUBLE_TYPE_SIZE): 64 for SH4.
2208 (RTX_COSTS): Add PLUS case.
2209 Increae cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
2210 (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
2211 MAC_REGS, PR_REGS, DF_REGS.
2212 (REGISTER_NAMES): Use fp_reg_names.
2213 (enum processor_type): Add PROCESSOR_SH4.
2214 (sh_flag_remove_dead_before_cse): Declare.
2215 (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
2216 (PREDICATE_CODES): Add binary_float_operator,
2217 commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
2218 fpscr_operand, noncommutative_float_operator.
2219 (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
2220 (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
2221 * sh.md (attribute cpu): Add value sh4.
2222 (attrbutes fmovd, issues): Define.
2223 (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
2224 (function units memory, int, mpy, fp): Make dependent on issue rate.
2225 (function units issue, single_issue, load_si, load): Define.
2226 (function units load_store, fdiv, gp_fpul): Define.
2227 (attribute hit_stack): Provide proper default.
2228 (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
2229 (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
2230 (udivsi3, divsi3): Emit special patterns for SH4 hardware,
2231 (mulsi3_call): Now uses match_operand for function address.
2232 (mulsi3): Also emit code for SH1 case. Wrap result in REG_LIBCALL /
2233 REG_RETVAL notes.
2234 (push, pop, push_e, pop_e): Now define_expands.
2235 (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
2236 (movsi_ie): Added y/i alternative.
2237 (ic_invalidate_line_i, movdf_i4): New insns.
2238 (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
2239 (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
2240 (movdf): Add special code for SH4.
2241 (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
2242 (call_valuei, calli, call_value): Likewise.
2243 (movsf): Emit no-op move.
2244 (mov_nop, movsi_y): New insns.
2245 (blt, sge): generalize to handle DFmode.
2246 (return predicate): Call emit_fpscr_use and remove_dead_before_cse.
2247 (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
2248 (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
2249 (fpu_switch0, fpu_switch1, movpsi): New expanders.
2250 (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
2251 (toggle_sz): New insn.
2252 (addsf3, subsf3, mulsf3, divsf3): Now define_expands.
2253 (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
2254 (macsf3): Make use of fpscr visible. Disable for SH4.
2255 (floatsisf2): Make use of fpscr visible.
2256 (floatsisf2_i4): New insn.
2257 (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
2258 (ieee_ccmpeqsf_t): Likewise.
2259 (fix_truncsfsi2): Emit different code for SH4.
2260 (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
2261 (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
2262 (negsf2, sqrtsf2, abssf2): Now expanders.
2263 (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
2264 (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
2265 (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
2266 (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
2267 (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
2268 (fix_truncdfsi2_i4_2+1): New splitters.
2269 (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
2270 (extendsfdf2, truncdfsf2): New expanders.
2271 (truncdfsf2_i4): New insn.
2272 * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
2273 (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
2274 * float-sh.h: When testing for __SH3E__, also test for
2275 __SH4_SINGLE_ONLY__ .
2276 * va-sh.h (__va_freg): Define to float.
2277 (__va_greg, __fa_freg, __gnuc_va_list, va_start):
2278 Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
2279 (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
2280 (__PASS_AS_FLOAT): Use different definition for __SH4__ and
2281 __SH4_SINGLE__.
2282 (TARGET_SH4_P): Define.
2283 (va_arg): Use it.
2284
2285 * sh.md (movdf_k, movsf_i): Tweak the condition so that
2286 init_expr_once is satisfied about the existence of load / store insns.
2287
2288 * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
2289 change m constraint in source operand to mr / mf .
2290
2291 * va-sh.h (__va_arg_sh1): Use __asm instead of asm.
2292
2293 * (__VA_REEF): Define.
2294 (__va_arg_sh1): Use it.
2295
2296 * va-sh.h (va_start, va_arg, va_copy): Add parenteses.
2297
668d9af5
JL
2298Sun Nov 22 21:34:02 1998 Jeffrey A Law (law@cygnus.com)
2299
2300 * i386/dgux.c (struct option): Add new "description field".
2301 * m88k/m88k.c (struct option): Likewise.
2302
e736f77a
JL
2303Sun Nov 22 16:07:57 PST 1998 Jeff Law (law@cygnus.com)
2304
2305 * version.c: Bump for snapshot.
2306
3d2f8eb6
BS
2307Sun Nov 22 13:40:02 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2308
2309 * regmove.c (regmove_profitable_p): Use return value of find_matches
2310 properly.
2311
57412d4f
JL
2312Sun Nov 22 02:47:37 PST 1998 Jeff Law (law@cygnus.com)
2313
2314 * version.c: Bump for snapshot.
2315
225a7e3d
JL
2316Sat Nov 21 22:12:09 1998 Jeffrey A Law (law@cygnus.com)
2317
9969bb2c
JL
2318 * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
2319 without reload having been called earlier.
2320
2268cc52
JL
2321 * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
2322 addressing modes.
2323 (v850_reorg): Similarly.
2324
225a7e3d
JL
2325 * loop.c (check_dbra_loop): Avoid using gen_add2_insn.
2326
18985c91
R
2327Sat Nov 21 02:18:38 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2328
2329 * loop.c (move_movables): Start of libcall might be new loop start.
2330
d25a233e
KG
2331Fri Nov 20 12:14:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2332
2333 * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
2334
ba716ac9
BS
2335Fri Nov 20 08:34:00 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2336
2337 * function.c (nonlocal_goto_handler_slots): Renamed from
2338 nonlocal_goto_handler_slot; now an EXPR_LIST chain.
2339 (push_function_context_to): Adjust for this change.
2340 (pop_function_context_from): Likewise.
2341 (init_function_start): Likewise.
2342 (expand_function_end): Likewise.
2343 * function.h (struct function): Likewise.
2344 * calls.c (expand_call): Likewise.
2345 * explow.c (allocate_dynamic_stack_space): Likewise.
2346 * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
2347 * stmt.c (declare_nonlocal_label): Make a new handler slot for each
2348 label.
2349 (expand_goto): When doing a nonlocal goto, find corresponding handler
2350 slot for it. Don't put the label address in the static chain register.
2351 (expand_end_bindings): Break out nonlocal goto handling code into
2352 three new functions.
2353 (expand_nl_handler_label, expand_nl_goto_receiver,
2354 expand_nl_goto_receivers): New static functions, broken out of
2355 expand_end_bindings and adapted to create one handler per nonlocal
2356 label.
2357 * function.c (delete_handlers): Delete insn if it references any of
2358 the nonlocal goto handler slots.
2359 * i960.md (nonlocal_goto): Comment out code that modifies
2360 static_chain_rtx.
2361 * sparc.md (nonlocal_goto): Likewise.
2362 (goto_handler_and_restore_v9): Comment out.
2363 (goto_handler_and_restore_v9_sp64): Comment out.
2364
e468780f 2365Thu Nov 19 23:44:38 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
c795bca9
BS
2366
2367 * expr.c (STACK_BYTES): Delete unused macro.
2368 * calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
2369 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
2370 (expand_call): Likewise.
2371 (emit_library_call): Likewise.
2372 (emit_library_call_value): Likewise.
2373 * function.c: Provide default for PREFERRED_STACK_BOUNDARY.
2374 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
2375 * explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
2376 (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
2377 (allocate_dynamic_stack_space): Likewise.
2378 * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
2379 (STACK_BOUNDARY): Update description to reflect the new situation.
2380
9bce98db
JL
2381Thu Nov 19 22:20:51 1998 Jeffrey A Law (law@cygnus.com)
2382
9f5a2691
JL
2383 * reorg.c (relax_delay_slots): When optimizing for code size, if a
2384 return with a filled delay slot is followed by a return with an
2385 unfilled delay slot, delete the first return and reemit the insn
2386 that was previously in its delay slot.
2387
9bce98db
JL
2388 * i860.c (single_insn_src_p): Add missing parens.
2389 * ginclude/math-3300.h: Likewise.
2390
24deb20a
L
2391Thu Nov 19 20:55:59 1998 H.J. Lu (hjl@gnu.org)
2392
2393 * regclass.c (init_reg_sets_1): Add prototype.
2394 (init_reg_modes): Likewise.
2395
07be2a23
ZW
23961998-11-19 Zack Weinberg <zack@rabi.phys.columbia.edu>
2397
2398 * c-common.c: Change warning messages to say `comparison is
2399 always true' or `comparison is always false' instead of the
2400 confusing `is always 0', `is always 1'.
2401
39e4e1ef
PB
2402Thu Nov 19 19:05:49 1998 Per Bothner <bothner@cygnus.com>
2403
2404 * print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
2405 break instead of return (which loses closing '>').
2406
90aec2cf
JL
2407Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com)
2408
e3f159c2
JL
2409 * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
2410 standard 387 constants.
2411
90aec2cf
JL
2412 * i386.md (jump): Explicitly set "memory" attribute.
2413 (indirect_jump, prologue_set_stack_ptr): Likewise.
2414 (prologue_get_pc_and_set_got, pop): Likewise.
2415 (allocate_stack_worder, blockage, return_internal): Likewise.
2416 (return_pop_internal, nop): Likewise.
2417 (epilogue_set_stack_ptr, leave): Likewise.
2418
233ce013
NC
2419Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com>
2420
2421 * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
2422
701d55e8
R
2423Thu Nov 19 23:20:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2424
53526817
JR
2425 * reload1.c (reload_reg_free_for_value_p):
2426 Early auto_inc reloads don't conflict with outputs.
701d55e8 2427
e9831ca0
KG
2428Thu Nov 19 12:58:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2429
2430 * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
2431 Instead call AC_HEADER_SYS_WAIT.
2432
2433 * collect2.c: Don't provide defaults for sys/wait.h macros.
2434 * gcc.c: Likewise.
2435 * protoize.c: Likewise. Also, don't include sys/wait.h.
2436
2437 * system.h: Include sys/wait.h and provide macro defaults.
2438
a76b6b40
MH
24391998-11-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2440
2441 * Makefile.in (mandir): Set to @mandir@.
2442 (man1dir): New variable to hold the former value of $(mandir).
2443 Replace all uses of $(mandir) by $(man1dir).
2444
10352226
JW
2445Wed Nov 18 16:31:28 1998 Jim Wilson <wilson@cygnus.com>
2446
ef18065c
JW
2447 * reload.c (find_reloads_address_part): If have a CONST_INT, create
2448 a new one before passing it to force_const_mem.
2449
10352226
JW
2450 * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
2451 find_reloads_address call.
2452
f3f2255a
R
2453Wed Nov 18 22:13:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2454
2455 * expr.c (store_expr): Don't generate load-store pair
2456 if TEMP is identical (according to ==) with TARGET.
2457
25963977
R
2458Tue Nov 17 22:25:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2459
2460 * reload1.c (reload_reg_free_for_value_p): When considered reload
2461 has an output, matching inputs are not sufficient to avoid conflict.
2462
a87ec9e6
MM
2463Tue Nov 17 11:51:16 1998 Mark Mitchell <mark@markmitchell.com>
2464
2465 * hash.h (hash_table_key): New type.
2466 (hash_entry): Change `string' field to generic `key'.
2467 (hash_table): Add `comp' and `hash' functions.
2468 (hash_table_init): Take them as input.
2469 (hash_table_init_n): Likewise.
2470 (hash_lookup): Modify for generic keys.
2471 (hash_newfunc): Likewise.
2472 (hash_traverse): Likewise.
2473 (string_hash): New function.
2474 (string_compare): Likewise.
2475 (string_copy): Likewise.
2476 * hash.c (hash_table_init_n): Modify for generic keys.
2477 (hash_table_init): Likewise.
2478 (hash_lookup): Likewise.
2479 (hash_newfunc): Likewise.
2480 (hash_traverse): Likewise.
2481 (string_hash): Split out from hash_lookup.
2482 (string_compare): New function.
2483 (string_copy): Split out from hash_lookup.
2484 * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
2485 tables.
2486 (symbol_hash_lookup): Likewise.
2487 (file_hash_newfunc): Likewise.
2488 (file_hash_lookup): Likewise.
2489 (demangled_hash_newfunc): Likewise.
2490 (demangled_hash_lookup): Likewise.
2491 (tlink_int): Likewise.
2492 (read_repo_file): Likewise.
2493 (recompile_files): Likewise.
2494 (demangle_new_symbols): Likewise.
2495 (scan_linker_output): Likewise.
2496
e398aa80
R
2497Tue Nov 17 17:13:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2498
2499 * flow.c (insn_dead_p): New argument NOTES. Changed all callers.
2500
efc97ef0
DE
2501Mon Nov 16 17:56:07 1998 David Edelsohn <edelsohn@mhpcc.edu>
2502
2503 * rs6000.c (output_mi_thunk): Improve test for local branch.
2504
2505Mon Nov 16 17:56:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2506
2507 * rs6000.c (output_mi_thunk): Correct test for aggregate values.
2508
dfe96118
R
2509Mon Nov 16 21:02:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2510
2511 * reload1.c (reload_reg_free_before_p): Delete.
2512 Changed all callers to use reload_reg_free_for_value_p instead.
2513 (reload_reg_free_for_value_p): Handle more reload types.
2514 A RELOAD_FOR_INPUT doesn't conflict with its
2515 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
2516 Add special case for OUT == const0_rtx.
2517 Added ignore_address_reloads argument. Changed all callers.
2518
1f288b3f
JM
2519Mon Nov 16 02:22:29 1998 Jason Merrill <jason@yorick.cygnus.com>
2520
2521 * toplev.c (compile_file): Don't pedwarn about undefined static
2522 functions just because we passed -Wunused.
2523
de0dd934
R
2524Mon Nov 16 04:41:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2525
2526 * function.c (purge_addressof_1): Unshare rtl created by
2527 store_bit_field.
2528
8d1d76c1
R
2529Mon Nov 16 04:23:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2530
2531 * regmove.c (regmove_optimize): Don't do anything but
2532 optimize_reg_copy[123] when flag_regmove is not set.
2533
bd8dc165
RH
2534Sat Nov 14 15:05:07 1998 Richard Henderson <rth@cygnus.com>
2535
2536 * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
2537 value in paradoxical SImode result, rather than truncating midpoint.
2538
40b80dad
RH
2539Fri Nov 13 22:19:23 1998 Richard Henderson <rth@cygnus.com>
2540
2541 * alpha.c (reg_not_elim_operand): New.
2542 * alpha.h (PREDICATE_CODES): Add it.
2543 * alpha.md (s48addq, s48subq patterns): Use it as the predicate
2544 for the multiplicand.
2545
f99f88e0
DE
2546Fri Nov 13 22:50:37 1998 David Edelsohn <edelsohn@mhpcc.edu>
2547
2548 * rs6000.md (movsf): Remove explicit secondary-reload-like
2549 functionality. Only truncate SFmode store if in FPR.
2550 (movsf splitters): Combine const_double splitters.
2551 (movsf_hardfloat): Add GPR support.
2552
8c64be75
SC
2553Fri Nov 13 11:02:11 1998 Stan Cox <scox@cygnus.com>
2554
93d9a2eb
SC
2555 * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
2556 deprecate -mlive-g0 and -mbroken-saverestore.
2557 * t-splet (MULTILIB_OPTIONS): Likewise.
2558
8c64be75
SC
2559 * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
2560 in a leaf function. Clarify total_size/extra_size relationship.
2561
cae21ae8
GN
2562Thu Nov 12 19:20:57 1998 Geoffrey Noer <noer@cygnus.com>
2563
2564 * i386/cygwin32.asm: Delete.
2565 * i386/cygwin.asm: New file, renamed from cygwin32.asm.
2566 * i386/cygwin32.h: Delete.
2567 * i386/cygwin.h: New file, renamed from cygwin32.h.
2568 * i386/t-cygwin32: Delete.
2569 * i386/t-cygwin: New file, renamed from t-cygwin32. Include
2570 cygwin.asm instead of cygwin32.asm. Remove "32" from comment.
2571 * i386/x-cygwin32: Delete.
2572 * i386/x-cygwin: New file, renamed from x-cygwin32.
2573 * i386/xm-cygwin32: Delete.
2574 * i386/xm-cygwin: New file, renamed from xm-cygwin32. Use newly
2575 renamed cygwin_ funcs for path translations.
2576 * i386/win32.h: Define __CYGWIN__ when -mcygwin given.
2577 * i386/winnt.c: Remove "32" from comment about cygwin.
2578 * i386/mingw32.h: Fix references to cygwin32.h in light of above.
2579 * rs6000/cygwin32.h: Delete.
2580 * rs6000/cygwin.h: New file, renamed from cygwin32.h. Add
2581 -D__CYGWIN__ to CPP_PREDEFINES.
2582 * rs6000/x-cygwin32: Delete.
2583 * rs6000/x-cygwin: New file, renamed from x-cygwin32.
2584 * rs6000/xm-cygwin32: Delete.
2585 * rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
2586
2587 * configure.in: Check for cygwin* instead of cygwin32. Account
2588 for the rename of cygwin-related config files to lose the "32"s.
2589 * configure: Regenerate.
2590
2591 * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
2592 toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
2593
df37e3db
TT
2594Wed Nov 11 12:25:19 1998 Tom Tromey <tromey@cygnus.com>
2595
2596 * Makefile.in (JAVAGC): New macro.
2597 * configure: Rebuilt.
2598 * configure.in: Recognize --enable-java-gc argument. Subst
2599 `JAVAGC' variable.
2600
135eb61c
R
2601Thu Nov 12 03:32:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2602
2603 Handle equivalences that have been obscured by gcse:
2604
2605 * reload1.c (reload): Handle equivalences set up in multiple places.
2606 * local-alloc.c (reg_equiv_init_insns): New variable.
2607 (no_equiv): New function.
2608 (update_equiv_regs): Handle equivalences set up in multiple places.
2609 Don't ignore an insn just because its destination is likely to be
2610 spilled.
2611
2a55b8e8
JW
2612Wed Nov 11 13:46:13 1998 Jim Wilson <wilson@cygnus.com>
2613
2614 * except.c (expand_eh_return): Readd force_operand call lost in
2615 Sept 15 change.
2616
fbd2bdda
DE
2617Tue Nov 10 17:04:11 1998 David Edelsohn <edelsohn@mhpcc.edu>
2618
2619 * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
2620
3363316f
JL
26211998-11-09 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2622
2623 * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
2624
2625Mon Nov 9 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2626
2627 * regmove.c (regmove_optimize): Fix error in last change.
2628
a3bc83cc
AC
2629Mon Nov 9 16:37:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
2630
2631 * mips.c (function_prologue): When TARGET_MIPS16, adjust the register
2632 offset in the .mask pseudo to compensate for frame pointer adjustments.
2633 (mips16_fp_args, build_mips16_call_stub): For little endian, do not
2634 word swap arguments moved to/from FP registers.
2635 * mips16.S (DFREVCMP): Reverse arguments to OPCODE.
2636
b8b2d50d
JL
2637Mon Nov 9 09:47:06 PST 1998 Jeff Law (law@cygnus.com)
2638
2639 * version.c: Bump for snapshot.
2640
57457ee0
JL
2641Mon Nov 9 02:14:14 PST 1998 Jeff Law (law@cygnus.com)
2642
2643 * version.c: Bump for snapshot.
2644
a3a24aa6
JL
2645Mon Nov 9 03:06:24 1998 Jeffrey A Law (law@cygnus.com)
2646
2647 * reload1.c (delete_output_reload_insn): If a pseudo is set multiple
2648 times, then it can not be completely replaced.
2649
8cad673c
RH
2650Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com>
2651
2652 * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
2653
5148a72b
KG
2654Sun Nov 8 17:50:30 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2655
2656 * gansidecl.h: Prepend a "G" to the macro wrapping this file
2657 (to distinguish it from the macro wrapping ansidecl.h.)
2658 Include libiberty's ansidecl.h. Remove all redundant definitions.
2659 Define the PROTO() style macros in terms of the PARAMS() ones.
2660
2661
2662 * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
2663 __STDC__, when deciding whether to use ANSI variable args.
2664 (emit_library_call_value): Likewise.
2665
2666 * cccp.c (error): Likewise.
2667 (warning): Likewise.
2668 (error_with_line): Likewise.
2669 (warning_with_line): Likewise.
2670 (pedwarn): Likewise.
2671 (pedwarn_with_line): Likewise.
2672 (pedwarn_with_file_and_line): Likewise.
2673 (fatal): Likewise.
2674
2675 * cexp.y (error): Likewise.
2676 (pedwarn): Likewise.
2677 (warning): Likewise.
2678
2679 * collect2.c (fatal_perror): Likewise.
2680 (fatal): Likewise.
2681 (error): Likewise.
2682
2683 * combine.c (gen_rtx_combine): Likewise.
2684
2685 * cpperror.c (cpp_message): Likewise.
2686 (cpp_fatal): Likewise.
2687
2688 * cpplib.c (cpp_error): Likewise.
2689 (cpp_warning): Likewise.
2690 (cpp_pedwarn): Likewise.
2691 (cpp_error_with_line): Likewise.
2692 (cpp_warning_with_line): Likewise.
2693 (cpp_pedwarn_with_line): Likewise.
2694 (cpp_pedwarn_with_file_and_line): Likewise.
2695
2696 * cpplib.h: Don't define PARAMS() macro.
2697
2698 * demangle.h: Likewise.
2699
2700 * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
2701 when deciding whether to use ANSI variable args.
2702
2703 * emit-rtl.c (gen_rtx): Likewise.
2704 (gen_rtvec): Likewise.
2705
2706 * final.c (asm_fprintf): Likewise.
2707
2708 * fix-header.c (cpp_message): Likewise.
2709 (fatal): Likewise.
2710 (cpp_fatal): Likewise.
2711
2712 * gcc.c (concat): Likewise.
2713 (fatal): Likewise.
2714 (error): Likewise.
2715
2716 * genattr.c (fatal): Likewise.
2717
2718 * genattrtab.c (attr_rtx): Likewise.
2719 (attr_printf): Likewise.
2720 (fatal): Likewise.
2721
2722 * gencodes.c (fatal): Likewise.
2723
2724 * genconfig.c (fatal): Likewise.
2725
2726 * genemit.c (fatal): Likewise.
2727
2728 * genextract.c (fatal): Likewise.
2729
2730 * genflags.c (fatal): Likewise.
2731
2732 * genopinit.c (fatal): Likewise.
2733
2734 * genoutput.c (fatal): Likewise.
2735 (error): Likewise.
2736
2737 * genpeep.c (fatal): Likewise.
2738
2739 * genrecog.c (fatal): Likewise.
2740
2741 * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
2742 deciding whether to declare `tree_node' and `rtx_def'.
2743
2744 * hash.h: Don't define stuff we get from gansidecl.h.
2745
2746 * mips-tfile.c: Likewise. Define __proto() in terms of PARAMS().
2747 (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
2748 whether to use ANSI variable args.
2749 (error): Likewise.
2750
2751 * prefix.c (concat): Likewise.
2752
2753 * scan.h: Likewise.
2754
2755 * system.h: Likewise.
2756
2757 * toplev.c (error_with_file_and_line): Likewise.
2758 (error_with_decl): Likewise.
2759 (error_for_asm): Likewise.
2760 (error): Likewise.
2761 (fatal): Likewise.
2762 (warning_with_file_and_line): Likewise.
2763 (warning_with_decl): Likewise.
2764 (warning_for_asm): Likewise.
2765 (warning): Likewise.
2766 (pedwarn): Likewise.
2767 (pedwarn_with_decl): Likewise.
2768 (pedwarn_with_file_and_line): Likewise.
2769 (sorry): Likewise.
2770 (really_sorry): Likewise.
2771
2772 * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
2773 whether to declare `tree_node' and `rtx_def'.
2774
2775 * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
2776 deciding whether to use ANSI variable args.
2777 (build_nt): Likewise.
2778 (build_parse_node): Likewise.
2779
2fb04465
JL
2780Sun Nov 8 13:10:55 PST 1998 Jeff Law (law@cygnus.com)
2781
2782 * version.c: Bump for snapshot.
2783
4f44785e
KG
2784Sat Nov 7 23:34:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2785
2786 * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
2787
3d697b4c
DE
2788Sat Nov 7 22:26:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
2789
2790 * collect2.c (main, case 'b'): Use else if.
2791
0056a9b5
KG
2792Sat Nov 7 15:35:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2793
2794 * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
2795 Arrange to include gansidecl.h in {ht}config.h & tm.h just
2796 before the config/ directory headers.
2797 (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
2798 gansidecl.h in the list of dependencies.
2799
2800 * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
2801 (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
2802 mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
2803 gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
2804 dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
2805 cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
2806 Likewise.
2807
2808 * cccp.c: Don't include gansidecl.h.
2809 * cexp.y: Likewise.
2810 * collect2.c: Likewise.
2811 * config/c4x/c4x.c: Likewise.
2812 * config/v850/v850.h: Likewise.
2813 * cppalloc.c: Likewise.
2814 * cpperror.c: Likewise.
2815 * cppexp.c: Likewise.
2816 * cppfiles.c: Likewise.
2817 * cpphash.c: Likewise.
2818 * cpplib.c: Likewise.
2819 * cppmain.c: Likewise.
2820 * cppulp.c: Likewise.
2821 * demangle.h: Likewise.
2822 * doprint.c: Likewise.
2823 * dyn-string.c: Likewise.
2824 * eh-common.h: Likewise.
2825 * fix-header.c: Likewise.
2826 * frame.c: Likewise.
2827 * gcc.c: Likewise.
2828 * gcov.c: Likewise.
2829 * gen-protos.c: Likewise.
2830 * gencheck.c: Likewise.
2831 * halfpic.h: Likewise.
2832 * hash.c: Likewise.
2833 * machmode.h: Likewise.
2834 * mbchar.c: Likewise.
2835 * prefix.c: Likewise.
2836 * protoize.c: Likewise.
2837 * recog.h: Likewise.
2838 * rtl.h: Likewise.
2839 * scan-decls.c: Likewise.
2840 * tree.h: Likewise.
2841 * varray.h: Likewise.
2842
35e2d030
RH
2843Sat Nov 7 11:37:53 1998 Richard Henderson <rth@cygnus.com>
2844
2845 * i386.md (call_value_pop): If we're not popping anything,
2846 defer to call_value.
2847 (call_pop): Likewise defer to call.
2848
da9b1f9c
RH
2849Sat Nov 7 02:49:56 1998 Richard Henderson <rth@cygnus.com>
2850
2851 * function.c (purge_addressof): Clear purge_addressof_replacements
2852 only after processing the whole function.
2853
8f5db3c1
JL
2854Sat Nov 7 00:54:55 1998 Jeffrey A Law (law@cygnus.com)
2855
2856 * reload1.c (reload): If we can not perform a particular elimination
2857 when we thought we could earlier, then we must always iterate through
2858 the loop at least one more time.
2859
80df65c9
RH
2860Fri Nov 6 19:37:33 1998 Richard Henderson <rth@cygnus.com>
2861
2862 * alpha.c (add_operand): Simplify the CONST_INT match.
2863 (sext_add_operand): Correct typo in comparison by using
2864 CONST_OK_FOR_LETTER_P.
2865 * alpha.md (s?addq): Use sext_add_operand to allow the negative
2866 constant alternatives to be generated.
2867 (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
2868 small constants, since the hw instructions do.
2869
d30e8ef0
BS
2870Fri Nov 6 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2871
2872 * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
2873 previous insn to store directly into our reload register, make sure
2874 that if the source of the previous insn is a reload register, its
2875 spill_reg_store and spill_reg_stored_to values are cleared.
2876
955fc2e7
DE
2877Fri Nov 6 16:35:10 1998 David Edelsohn <edelsohn@mhpcc.edu>
2878
2879 * rs6000.md (floatunssidf2_internal splitter): Use base register
2880 operand, not hard-coded SP.
2881
ca76d13d
DM
2882Fri Nov 6 04:07:53 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
2883
2884 * jump.c (calculate_can_reach_end): Fix thinko.
2885
2cea37e5
JL
2886Fri Nov 6 00:16:04 1998 Jeffrey A Law (law@cygnus.com)
2887
0d87569a
JL
2888 * reorg.c (fill_simple_delay_slots): Fix typo.
2889
2cea37e5
JL
2890 * romp.h (LEGITIMIZE_ADDRESS): Fix typo.
2891
724d568a
JH
2892Fri Nov 6 00:10:00 1998 Jan Hubicka (hubicka@freesoft.cz)
2893
2894 * i386.md (extendsidi2): Use # in the output template.
2895 (extendsidi splitters): New splitters.
2896
5ee26f85
NC
2897Thu Nov 5 11:13:27 1998 Nick Clifton <nickc@cygnus.com>
2898
2899 * configure.in: Use unknown-elf.h as tm_file for arm-elf
2900 configuarions.
2901 * configure: Regenerate.
2902
269ef46c
DM
2903Thu Nov 5 07:59:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
2904
2905 * jump.c (init_label_info, delete_barrier_successors,
2906 mark_all_labels, delete_unreferenced_labels,
2907 delete_noop_moves, calculate_can_reach_end): New functions broken
2908 out of jump_optimize.
2909 (jump_optimize): Use them.
2910
b37f006b
AM
2911Thu Nov 5 07:57:45 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
2912
2913 * except.c (expand_fixup_region_end): Make sure outer context labels
2914 are not issued in an inner context during cleanups.
2915
6c61c2bb
RH
2916Thu Nov 5 04:03:06 1998 Richard Henderson <rth@cygnus.com>
2917
2918 * alpha.md (addsi3, subsi3): No new temporaries once cse is
2919 no longer expected.
2920
8f5d6855
RH
2921Thu Nov 5 03:29:19 1998 Richard Henderson <rth@cygnus.com>
2922
2923 * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
2924 to expose this midpoint to CSE.
2925
4ba687c8
DM
2926Thu Nov 5 03:42:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
2927
2928 * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
2929
9da0e39b
AS
2930Thu Nov 5 10:53:01 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2931
2932 * configure.in: Bring over gcc2 change of Nov 19 1997.
2933
444bf316
JL
2934Wed Nov 4 23:43:08 1998 Graham <grahams@rcp.co.uk>
2935
2936 * toplev.c (output_lang_identify): Make definition dependent on
2937 ASM_IDENTIFY_LANGUAGE.
2938
2939 * print-rtl.c (spaces): Make static.
2940
2941Wed Nov 4 22:16:36 1998 Hans-Peter Nilsson <hp@axis.se>
8fe1938e
HPN
2942
2943 * extend.texi: Clarify proper uses for register clobbers in asms.
2944
0eadeb15
BS
2945Wed Nov 4 22:16:36 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2946
2947 * recog.h (enum op_type): Define.
2948 (constrain_operands): Adjust prototype.
2949 (recog_op_type): Declare new variable.
2950 * recog.c (recog_op_type): New variable.
2951 (insn_invalid_p): Allow modifying an asm statement after reload.
2952 (extract_insn): Set up recog_op_type.
2953 (constrain_operands): Lose INSN_CODE_NUM arg. All callers changed.
2954 Don't compute operand types, use recog_op_type.
2955 Use the information computed by extract_insn instead of the previous
2956 method of finding it by insn code number.
2957 * caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
2958 * reorg.c (fill_slots_from_thread): Likewise.
2959 * reload1.c (reload_as_needed): Likewise.
2960 (gen_reload): Likewise.
2961 (inc_for_reload): Likewise.
2962 (reload_cse_simplify_operands): Likewise.
2963 Use the information computed by extract_insn instead of the previous
2964 method of finding it by insn code number.
2965 * genattrtab.c (write_attr_case): Generate call to extract_insn, not
2966 insn_extract.
2967 * final.c (final_scan_insn): Use extract_insn, not insn_extract.
2968 (cleanup_operand_subregs): Use extract_insn, not insn_extract.
2969 Use the information computed by extract_insn instead of the previous
2970 method of finding it by insn code number.
2971 * regmove.c (find_matches): Likewise. Change meaning of the return
2972 value to be nonzero if the optimization can be performed, zero if
2973 not. All callers changed.
2974 Shorten some variable names to fix formatting problems.
2975 (regmove_optimize): Shorten some variable names to fix formatting
2976 problems.
2977 Use the information computed by extract_insn instead of the previous
2978 method of finding it by insn code number.
2979 * regclass.c (scan_one_insn): Likewise.
2980 (record_reg_classes): Don't compute operand types, use recog_op_type.
2981 * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
2982 recog_constraints instead.
2983
09d33be8
JL
2984Wed Nov 4 21:37:46 1998 Jeffrey A Law (law@cygnus.com)
2985
2986 * rtl.h (flow2_completed): Declare.
2987 * flow.c (flow2_completed): Definition.
2988 * toplev.c (rest_of_compilation): Set and clear flow2_completed
2989 as necessary.
2990
bfc5000a
JL
2991Wed Nov 4 19:15:37 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
2992
2993 * Makefile.in (libcpp.a): Ranlib libcpp.a
2994
2995 * cppulp.c (user_label_prefix): Initialize.
2996
2997Wed Nov 4 19:07:08 1998 John Wehle (john@feith.com)
2998
2999 * flow.c (mark_regs_live_at_end): Mark the stack pointer as live
3000 at a RETURN if current_function_sp_is_unchanging is set.
3001
a93049de
HB
3002Wed Nov 4 18:16:29 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3003
3004 * emit-rtl.c (try_split): Fixed error in Oct 10 patch.
3005
040688bd
GN
3006Wed Nov 4 15:11:15 1998 Geoffrey Noer <noer@cygnus.com>
3007
3008 * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
3009 TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
3010 (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
3011 (CPP_PREDEFINES): Don't define __CYGWIN32__ here.
3012 (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
3013 (CPP_SPEC): Handle -mno-cygwin option. Define __CYWIN__ in addition
3014 to __CYGWIN32__.
3015 (LIB_SPEC): Handle -mno-cyginw option.
3016 (LINK_SPEC): Handle -mdll.
3017
e0d7bb0d
R
3018Wed Nov 4 22:56:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3019
3020 * reload.c (find_reloads): Fix test for usage by other reload
3021 to handle secondary reloads properly.
3022
590cf94d
KG
3023Wed Nov 4 17:25:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3024
3025 * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
3026 intermediate structure which has exactly the members provided by
3027 ELIMINABLE_REGS. Define NUM_ELIMINABLE_REGS in terms of the
3028 static intermediate structure.
3029
3030 (init_elim_table): Xmalloc() `reg_eliminate', and initialize it
3031 from the intermediate structure. Do the same analogous fix in
3032 the case where ELIMINABLE_REGS is not defined.
3033
ab2e3386
JL
3034Tue Nov 3 20:50:03 1998 Jeffrey A Law (law@cygnus.com)
3035
3036 * pa.h (SELECT_SECTION): Fix thinko.
3037
eef906d6
JW
3038Tue Nov 3 17:51:36 1998 Jim Wilson <wilson@cygnus.com>
3039
3040 * dwarf2out.c (output_call_frame_info): Comments on last change.
3041
74641843
RE
3042Tue Nov 3 07:51:43 1998 Richard Earnshaw (rearnsha@arm.com)
3043
3044 * arm.c (add_constant): When taking the address of an item in the
3045 pool, get the mode of the item addressed.
3046
3047 * arm.c (final_prescan_insn case INSN): If an insn doesn't
3048 contain a SET or a PARALLEL, don't consider it for conditional
3049 execution.
3050
3051 Restore ABI compatibility for NetBSD.
3052 * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
3053 arm.h
3054 (RETURN_IN_MEMORY): Likewise.
3055
0ae9f65b
DE
3056Mon Nov 2 11:46:17 1998 Doug Evans <devans@canuck.cygnus.com>
3057
3058 * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
3059 (m32r_output_block_move): Rewrite bytes < 4 handling.
3060
c375c43b
KG
3061Mon Nov 2 10:10:35 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3062
3063 * configure.in: Call AC_FUNC_VFORK.
3064
3065 * collect2.c: Define VFORK_STRING as a printable string for
3066 error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
3067 defined, include vfork.h. If VMS is defined, define vfork()
3068 appropriately. Remove vfork check on USG, we're using autoconf.
3069 (collect_execute): Pass VFORK_STRING to fatal_perror instead of
3070 checking locally what string to pass.
3071 (scan_prog_file): Likewise.
3072 (scan_libraries): Likewise.
3073
3074 * gcc.c: Remove vfork check on USG, we're using autoconf.
3075 Besides, no calls to vfork/fork occur in this file.
3076
3077 * protoize.c: Likewise.
3078
3ccc3a56
AO
3079Mon Nov 2 07:52:28 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
3080
3081 * configure.in (DEFAULT_LINKER): renamed from LD
3082 (DEFAULT_ASSEMBLER): renamed from AS; reverted Schwab's patch
3083 (gcc_cv_as): try $DEFAULT_ASSEMBLER before $AS
3084 * configure: rebuilt
3085
5dd21ded
AO
3086Mon Nov 2 01:48:10 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
3087
3088 * BUGS: fix the regexp for `more' to find the appropriate node.
3089 Reported by Joerg Pietschmann <joerg_pietschmann@zkb.ch>
3090
3091 * BUGS: added link to the WWW FAQ
3092
44ba27b4
JL
3093Sun Nov 1 18:27:15 PST 1998 Jeff Law (law@cygnus.com)
3094
3095 * version.c: Bump for snapshot.
3096
6d8cf409
JL
3097Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com)
3098
3099 * From Christian Gafton:
3100 * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
3101 * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
3102 * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
3103
43d8a6c7
MM
3104Sat Oct 31 21:42:39 1998 Mark Mitchell <mark@markmitchell.com>
3105
3106 * c-common.c (c_get_alias_set): Allow all type-punning through
3107 unions. Don't get confused about the type of a bit-field, despite
3108 the antics of build_modify_expr.
3109
abf0be7c
JPR
3110Sat Oct 31 22:35:29 1998 Jean-Pierre Radley <jpr@jpr.com>
3111
3112 * fixinc.sco: Paramaterize #include_next values.
3113 * fixinc/fixinc.sco: Likewise.
3114
27ff8c00
JL
3115Sat Oct 31 20:39:35 1998 Jeffrey A Law (law@cygnus.com)
3116
3117 * toplev.c (rest_of_compilation): No longer set reload_completed.
3118 * reload1.c (reload): Set it here. Perform instruction splitting
3119 after reload has completed if we will be running the scheduler
3120 again.
3121
18f3f864
JL
3122Sat Oct 31 12:30:02 1998 Jeffrey A Law (law@cygnus.com)
3123
3124 * jump.c (jump_optimize): Initialize mappings from INSN_UID to
3125 EH region if exceptions are enabled and we're performing cross
3126 jump optimizations.
3127 (find_cross_jump): Exit loop if the insns are in different EH regions.
3128
21af493b
MM
3129Sat Oct 31 10:02:48 1998 Mark Mitchell <mark@markmitchell.com>
3130
3131 * dwarf2out.c (output_call_frame_info): Use
3132 ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
3133
bf39dde3
KG
3134Sat Oct 31 10:23:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3135
3136 Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
3137 * c-common.c (check_format_info): Don't check for the 'x'
3138 format character twice, instead check for 'x' and 'X'
3139
09bedf80
JL
3140Fri Oct 30 14:50:25 1998 Jeffrey A Law (law@cygnus.com)
3141
3142 * configure.in (assembler features): Also make gas is configured if
3143 we find it in the souce tree.
3144
6093f019
RH
3145Fri Oct 30 13:23:20 1998 Richard Henderson <rth@cygnus.com>
3146
3147 * i386.c (i386_comp_type_attributes): Compare whether the
3148 attributes are defined, not their tree nodes.
3149
de82584d
AO
3150Fri Oct 30 11:39:47 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
3151
3152 * configure.in (gxx_include_dir): bitten by autoconf quoting
3153 characters :-(
3154 * configure: rebuilt
3155
d65ae058
AS
3156Fri Oct 30 10:43:29 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3157
3158 * configure.in: Ignore non-absolute value in $AS.
3159
8b83b2a7
PJ
3160Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de>
3161
3162 * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
3163
dedcc399
ME
3164Fri Oct 30 00:42:34 1998 Mark Elbrecht <snowball3@usa.net>
3165
3166 * configure.in (msdosdjgpp): Set exeext and target_alias.
3167
00f9f1bc
BS
3168Thu Oct 29 23:55:43 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3169
421382ac
BS
3170 * flow.c (XNMALLOC): New macro.
3171 (flow_int_list_blocks, basic_block_succ, basic_block_pred): New
3172 static variables.
3173 (add_edge, add_edge_to_label): New static functions.
3174 (free_bb_memory): New function.
3175 (flow_delete_insn): Delete function.
3176 (basic_block_drops_in): Delete variable.
3177 (find_basic_blocks): Allocate and initialize basic_block_head,
3178 basic_block_succ. Don't allocate basic_block_drops_in.
3179 Call free_bb_memory at the beginning.
3180 (find_basic_blocks_1): Don't do multiple passes.
3181 Delete code to compute basic_block_drops_in.
3182 After calling make_edges, mark blocks reached by current block live.
3183 Update test for unreachable live blocks.
3184 (mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers
3185 changed.
3186 Simplify to call add_edge_to_label when a LABEL_REF is found.
3187 (make_edges): Simplify to call add_edge_to_label instead of
3188 mark_label_ref most of the time.
3189 Compute here whether control drops into the next block.
3190 (delete_unreachable_blocks): Return void. All callers changed.
3191 Delete unreachable blocks in reverse order.
3192 After deleting all unreachable blocks, renumber the remaining ones
3193 and update n_basic_blocks.
3194 (delete_block): Speed up deletion a bit.
3195 Don't set basic_block_drops_in for deleted blocks.
3196 (free_basic_block_vars): Don't free basic_block_drops_in.
3197 (life_analysis_1): Update to use new edge representation.
3198 (dump_flow_info): Delete code to print basic block info; call
3199 dump_bb_data instead.
3200 (compute_preds_succs): Delete code to recompute basic_block_drops_in
3201 and uid_block_number.
3202 Simply copy the previously computed cfg.
3203 (dump_bb_data): New arg LIVE_INFO. All callers changed.
3204 Print register lifetime information if LIVE_INFO is nonzero.
3205 * basic-block.h (dump_bb_data): Adjust prototype.
3206 * gcse.c (gcse_main): Update call to dump_bb_data.
3207 * rtl.h (free_bb_memory): Declare.
3208 * toplev.c (rest_of_compilation): Call free_bb_memory.
3209
6467c05f
JL
3210 * reload1.c (struct elim_table): Delete MAX_OFFSET member.
3211 (update_eliminable_offsets): Don't compute it.
3212 (set_initial_elim_offsets): Don't initialize it.
3213 Break out some code into set_initial_label_offsets so the rest of
3214 this function can be called from reload_as_needed.
3215 Assume that INITIAL_FRAME_POINTER_OFFSET is defeined when
3216 ELIMINABLE_REGS isn't.
3217 (set_initial_label_offsets): New function, broken out of
3218 set_initial_elim_offsets.
3219 (set_offsets_for_label): New function, broken out of set_label_offsets
3220 and reload_as_needed.
3221 (reload): Call the two new functions.
3222 (reload_as_needed): Call set_initial_elim_offsets instead of
3223 duplicating the code. Likewise for set_offsets_for_label.
3224
00f9f1bc
BS
3225 * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
3226 (emit_reload_insns): Ensure that when we set reg_reloaded_valid for
3227 any hard reg, reg_reloaded_dead contains valid data.
3228
afcfe58c
MM
3229Thu Oct 29 22:30:54 1998 Marcus Meissner <Marcus.Meissner@informatik.uni-erlangen.de>
3230
f3196f46 3231 * i386.c (i386_comp_type_attributes): Return nonzero for mismatched
afcfe58c
MM
3232 "stdcall" and "cdecl" attributes.
3233
faff4ab8
JW
3234Thu Oct 29 19:05:17 1998 Jim Wilson <wilson@cygnus.com>
3235
3236 * sched.c (update_flow_info): Add code to ! found_orig_dest case to
3237 handle deleted no-op moves of hard registers.
3238 * haifa-sched.c (update_flow_info): Likewise.
3239
839366dd
JL
3240Thu Oct 29 18:07:47 1998 Jeffrey A Law (law@cygnus.com)
3241
3242 * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
3243 of the sequences to reload the HILO register which do not actually
3244 reference HILO.
3245
1e280035
JW
3246Thu Oct 29 12:39:35 1998 Jim Wilson <wilson@cygnus.com>
3247
3248 * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
3249
0fc1434b
AM
3250Thu Oct 29 14:10:22 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
3251
3252 * except.c (emit_eh_context): Make the EH context register stay alive
3253 at -O0 so stupid.c doesn't get confused.
3254
e526eeec
HB
32551998-10-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3256
3257 * emit-rtl.c (try_split): Do not try to split a BARRIER.
3258
bb62e19a
JH
3259Thu Oct 29 01:33:54 1998 Jan Hubicka <hubicka@freesoft.cz>
3260 Jeffrey A Law (law@cygnus.com)
3261
3262 * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM
3263 (zero_extendsidi2): Use # in output template and handle completely by
3264 splits.
3265 (zero_extend splitters): New define_splits.
3266 (ashiftrt_32): New pattern.
3267
e2c31432
JM
3268Wed Oct 28 22:58:35 1998 Jason Merrill <jason@yorick.cygnus.com>
3269
3270 * tree.c (append_random_chars): New fn.
3271 (get_file_function_name_long): Use it.
3272
19283265
RH
3273Wed Oct 28 22:27:05 1998 Richard Henderson <rth@cygnus.com>
3274
3275 * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
3276 (LIBCPP_OBJS): New. Add cppulp.o.
3277 (cppmain, fix-header): Depend on and use libcpp.a.
3278 * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
3279 of the individual object files.
3280 * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
3281 last.
3282
3283 * cccp.c (user_label_prefix): New.
3284 (main): Set it off -f*leading-underscore.
3285 (special_symbol): Use it.
3286 * cpplib.c (special_symbol): Likewise.
3287 (cpp_handle_option): Handle -f*leading-underscore.
3288 * cppulp.c: New file.
3289
3290 * output.h (user_label_prefix): Declare it.
3291 * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
3292 * toplev.c (f_options, main): Handle -f*leading-underscore.
3293
3294 * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
3295 referencing USER_LABEL_PREFIX directly.
3296 * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
3297 * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
3298 * final.c (asm_fprintf): Use user_label_prefix instead.
3299 * arm/thumb.c (thumb_print_operand): Likewise.
3300
3301 * gcc.c (default_compilers): Pass -f*leading-underscore on to
3302 cpp wherever appropriate.
3303
79a9696b
RL
3304Wed Oct 28 23:09:25 1998 Robert Lipe <robertl@dgii.com>
3305
3306 * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
3307 specific compiler switches.
3308
5916476f
JL
3309Wed Oct 28 21:05:53 1998 Jeffrey A Law (law@cygnus.com)
3310
3311 * Makefile.in (c-common.o): Depend on c-pragma.h. Use $(RTL_H) instead
3312 of rtl.h.
3313
829245be
KG
3314Wed Oct 28 20:52:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3315
3316 * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
3317 structure which has exactly the members provided by EXTRA_SPECS.
3318 Xmalloc() the real `extra_specs', and initialize it from this
3319 intermediate structure.
3320
3321 * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
3322
3323 * mips.h (EXTRA_SPECS): Likewise.
3324
3325 * sparc.h (EXTRA_SPECS): Likewise.
3326
b5bd3b3c
AS
3327Wed Oct 28 16:46:07 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3328
3329 * function.c (purge_addressof_1): Instead of aborting when a
3330 bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
3331 work just put the ADDRESSOF on stack. Otherwise remember all such
3332 successfull replacements, so that exactly the same replacements
3333 can be made on the REG_NOTEs. Remove the special case for CALL
3334 insns again.
3335 (purge_addressof_replacements): New variable.
3336 (purge_addressof): Clear it at end.
3337
add7091b
ZW
33381998-10-28 16:10 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
3339
3340 * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
3341 (lang_init): Call check_newline always.
3342 * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
3343 cpp_start_read, set yy_cur and yy_lim to read from
3344 parse_in.token_buffer, so that we'll see the first #line
3345 directive.
3346 * cpplib.c (cpp_start_read): finclude the main input file
3347 before processing -include/-imacros. Process -imacros and
3348 -include separately, and handle -include by stacking a
3349 buffer for the file in question as if it'd been #included.
3350 * toplev.c (documented_lang_options) Recognize -H when
3351 USE_CPPLIB is on.
3352
33531998-10-28 16:09 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
3354
3355 * cpplib.c: Merge do_once into do_pragma. Break file handling
3356 code out of do_include.
3357 Move append_include_chain, deps_output,
3358 file_cleanup, redundant_include_p, import_hash,
3359 lookup_import, add_import, read_filename_string, read_name_map,
3360 open_include_file, finclude, safe_read to cppfiles.c.
3361 Move prototypes for deps_output, append_include_chain,
3362 finclude to cpplib.h. Move definition of struct
3363 file_name_list there also.
3364
3365 * cppfiles.c: New file. Contains all the above functions
3366 broken out of cpplib.c; also hack_vms_include_specification
3367 from cccp.c and find_include_file, a new function broken out of
3368 do_include.
3369
3370 * Makefile.in (cppmain): Depend on cppfiles.o.
3371 (fix-header): Likewise.
3372 (cppfiles.o): New target.
3373 * configure.in (--enable-c-cpplib): Add cppfiles.o to
3374 extra_c_objs. Add ../cppfiles.o to extra_cxx_objs.
3375
0a4be913
JW
3376Wed Oct 28 14:06:49 1998 Jim Wilson <wilson@cygnus.com>
3377
3378 * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
3379 if pending_types is non-zero.
3380 (dwarfout_finish): Verify pending_types is zero before finishing.
3381
2b28d92e
NC
3382Wed Oct 28 10:29:09 1998 Nick Clifton <nickc@cygnus.com>
3383
3384 * expr.c (convert_move): Use shifts to perform the move if a
3385 suitable extend pattern cannot be found. Code written by
3386 Richard Henderson <rth@cygnus.com>.
3387
8f142c0b
BS
3388Wed Oct 28 03:59:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3389
ed396e68
BS
3390 * regclass.c (renumber, regno_allocated): New static variables, moved
3391 out of allocate_reg_info.
3392 (allocate_reg_info): Move these two variables outside the function.
3393 Move code to free memory into new function free_reg_info.
3394 (free_reg_info): New function, broken out of allocate_reg_info.
3395 * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
3396 * rtl.h (allocate_reg_info): Don't declare.
3397 (free_reg_info): Declare.
3398
8f142c0b
BS
3399 * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
3400
a554186c
JM
3401Wed Oct 28 02:38:12 1998 Jason Merrill <jason@yorick.cygnus.com>
3402
3403 * toplev.c (compile_file): Temporarily revert last change.
3404
b58c9a79
JM
3405Wed Oct 28 00:00:35 1998 Jason Merrill <jason@yorick.cygnus.com>
3406
3407 * c-typeck.c (convert_for_assignment): Parenthesize.
3408
2eb6dac7
AS
34091998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3410
3411 * reload1.c (delete_output_reload): Avoid ambigous else.
3412
0304f787
JL
3413Wed Oct 28 00:10:35 1998 Jeffrey A Law (law@cygnus.com)
3414
e0c6d139
JL
3415 * toplev.c (compile_file): Call allocate_reg_info to free register
3416 table memory.
3417 * rtl.h (allocate_reg_info): Declare.
3418
c75d5284
JL
3419 * PROJECTS: Remove entry for local spilling.
3420
0304f787
JL
3421 * final.c (cleanup_subreg_operands): New function.
3422 (final_scan_insn): Use it.
3423 (alter_subreg): Clear the "used" field when we turn a SUBREG into
3424 a REG.
3425 * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
3426 operands when reload has finished.
3427 * reload.h (cleanup_subreg_operands): Declare..
3428 * flow.c (life_analysis_1): No longer delete CLOBBER insns after
3429 reload. Handled in reload itself.
3430
03acd8f8
BS
3431Tue Oct 27 23:32:34 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3432
c47f5ea5
BS
3433 * reload1.c (verify_initial_offsets): New function.
3434 (reload): Call it after reload_as_needed. Also verify that the frame
3435 size stays constant during reload_as_needed.
3436 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
3437
03acd8f8
BS
3438 * reload.h (struct insn_chain): Add need_operand_change element.
3439 * reload1.c (new_insn_chain): Clear it.
3440 (calculate_needs_all_insns): Set it; don't overload need_reload.
3441 (reload_as_needed): Use it.
3442
3443 * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
3444 reload_address_base_reg_class throughout. Similar for INDEX_REG_CLASS
3445 and reload_address_index_reg_class.
3446 (find_reloads_address_1): Likewise.
3447 * reload.h (reload_address_base_reg_class,
3448 reload_address_index_reg_class): Don't declare.
3449 * reload1.c (reg_old_renumber, pseudo_previous_regs,
3450 pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
3451 (used_spill_regs): Now static.
3452 (reload_address_base_reg_class, reload_address_index_reg_class,
3453 regs_explicitly_used, counted_for_groups, counted_for_nongroups,
3454 basic_block_needs, max_needs, group_size, group_mode, max_groups,
3455 max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
3456 forbidden_regs):
3457 Deleted variables.
3458 (init_reload): Delete code to compute base/index reg classes.
3459 (reload): Delete variable J.
3460 Delete code to manage basic_block_needs.
3461 Don't compute regs_explicitly_used.
3462 Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
3463 pseudo_previous_regs.
3464 Initialize bad_spill_regs_global.
3465 Don't call order_regs_for_reload here.
3466 Don't initialize spill_reg_order and n_spills.
3467 Don't forbid explicitly used regs to be used for spill regs.
3468 Change main loop to infinite loop, with explicit break statements.
3469 Make SOMETHING_CHANGED variable local to that loop.
3470 Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
3471 max_groups_insn, max_nongroups_insn, group_size, group_mode.
3472 Make sure spilled_speudos is cleared before calling spill_hard_reg or
3473 new_spill_reg.
3474 Don't call dump_needs.
3475 Delete code to reset potential_reload_regs.
3476 Delete code to terminate loop conditional on the global needs variables
3477 showing no further needs.
3478 (calculate_needs_all_insns): Return void. All callers changed.
3479 Initialize somehing_needs_elimination here, not in reload.
3480 Delete avoid_return_reg kludge.
3481 (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
3482 All callers changed.
3483 Initialize the group_mode and group_size elements of the arg CHAIN.
3484 Delete code to manage basic_block_needs.
3485 Operate on elements of CHAIN instead of global variables.
3486 Delete avoid_return_reg kludge.
3487 (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
3488 All callers changed.
3489 Operate on elements of CHAIN instead of global variables.
3490 Delete special SMALL_REGISTER_CLASSES code.
3491 Delete spill_failure code; now in new_spill_reg.
3492 (find_group): Lose GLOBAL arg, take CHAIN arg, return void.
3493 All callers changed.
3494 Operate on elements of CHAIN instead of global variables.
3495 (maybe_mark_pseudo_spilled): New static function.
3496 (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
3497 All callers changed.
3498 Operate on elements of CHAIN instead of global variables.
3499 Call order_regs_for_reload here, not in reload.
3500 Initialize spill_reg_order and n_spills.
3501 Simplify test whether an asm insn is involved.
3502 Delete spill_failure code; now in new_spill_reg.
3503 Call maybe_mark_pseudo_spilled for everything marked as live in
3504 CHAIN. Merge CHAIN's used_spill_regs into the global variable
3505 used_spill_regs.
3506 (dump_needs): Take CHAIN arg. No longer static, to prevent the
3507 compiler from optimizing this function (now unused) away.
3508 Operate on elements of CHAIN instead of global variables.
3509 (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg. All callers
3510 changed.
3511 Operate on elements of CHAIN instead of global variables.
3512 (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
3513 take CHAIN arg. All callers changed.
3514 Operate on elements of CHAIN instead of global variables.
3515 (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
3516 CHAIN, NONGROUP args. Return void. All callers changed.
3517 Verify caller isn't trying to spill a pseudo.
3518 Simplify test for illegal reg, just use bad_spill_regs.
3519 Generate better error messages.
3520 Operate on elements of CHAIN instead of global variables.
3521 Mark spilled register in CHAIN's used_spill_regs element.
3522 Don't call spill_hard_reg.
3523 (spill_hard_reg): Lose GLOBAL arg, return void. All callers changed.
3524 Mark spilled hard regs in bad_spill_regs_global.
3525 Mark affected pseudos in spilled_pseudos, but don't spill them.
3526 (ior_hard_reg_set): New static function.
3527 (finish_spills): Return int. All callers changed.
3528 Compute spill_reg_order, n_spills and spill_regs here. Also update
3529 regs_ever_live for regs used as spills.
3530 For every pseudo in spilled_pseudos, spill it and mark the previous
3531 hard reg it had in pseudo_previous_regs. Compute which hard regs
3532 arseudo): New static function.
3533 (order_regs_for_reload): Take CHAIN arg. All callers changed.
3534 Initialize bad_spill_regs from bad_spill_regs_global, then merge any
3535 hard registers explicitly used across the current insn into the set.
3536 Compute hard_reg_n_uses taking only pseudos live across this insn
3537 into account.
3538 Tweak sorting of potential_reload_regs.
3539 (compare_spill_regs): Delete function.
3540 (reload_as_needed): Don't sort the spill_regs array, it's computed
3541 in proper order in finish_spills.
3542 Delete avoid_return_reg kludge.
3543 Delete code to manage basic_block_needs.
3544 (allocate_reload_reg): Minor speed/readability tweaks.
3545 Operate on elements of CHAIN instead of global variables.
3546 (choose_reload_regs): Lose AVOID_RETURN_REG arg. All callers changed.
3547 Delete avoid_return_reg kludge.
3548 Initialize reload_reg_used from CHAIN's used_spill_regs element.
3549 Delete unused label FAIL.
3550 (reload_combine): Replce reload_address_index_reg_class with
3551 INDEX_REGS.
3552 Don't use used_spill_regs to determine information about lifetime of
3553 hard regs.
3554
844642e6
NC
3555Tue Oct 27 13:15:02 1998 Nick Clifton <nickc@cygnus.com>
3556
3557 * toplev.c (display_help): Ignore empty target specific
3558 options, and if -W is also specified on the command line then
3559 display undocumented options.
2a5307b1
NC
3560
3561 * config/arm/arm.c: Updated with changes in devo sources.
3562 * config/arm/arm.h: Updated with changes in devo sources.
3563 * config/arm/lib1funcs.asm: Updated with changes in devo sources.
3564 * config/arm/lib1thumb.asm: Add ELF support.
3565
f5e04914 3566Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
3d697b4c 3567
f5e04914
DE
3568 * collect2.c (aix64_flag): New variable.
3569 (main, case 'b'): Parse it.
3570 (GCC_CHECK_HDR): object magic number must match mode.
3571 (scan_prog_file): Only check for shared object if valid header.
3572 Print debugging if header/mode mismatch.
3573
3574Tue Oct 27 10:15:02 1998 Nick Clifton <nickc@cygnus.com>
b355a481
NC
3575
3576 Added support for arm-elf-linux configuration, submitted by Philip
3577 Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
3578 code developed by Catherine Moore <clm@cygnus.com>. The following
3579 files are affected:
3580
3581 * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
3582 targets.
3583
3584 * configure: Regenerated.
3585
3586 * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
3587 USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX. Make other macro
3588 definitions conditional on their not having been already defined.
3589
3590 * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
3591 and .type directives, and add "(PLT)" qualification to function
3592 calls.
3593
3594 * config/arm/linux.h: Deleted. This file is now superceeded by
3595 either linux-elf.h or linux-aout.h.
3596
3597 * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
3598 (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
3599 support).
3600 Move definitions from old linux.h file here.
3601
3602 * config/arm/elf.h: New file. Generic ARM/ELF support.
3603
3604 * config/arm/linux-aout.h: New file. Support for Linux with a.out.
3605
3606 * config/arm/linux-elf.h: New file. Support for Linux with ELF.
3607
3608 * config/arm/linux-elf26.h: New file. Support for Linux with ELF
3609 using the 26bit APCS.
3610
3611 * config/arm/unknown-elf.h: New file. Support for OS'es other
3612 than Linux with ELF.
3613
3614 * config/arm/t-arm-elf: New file. makefile fragment for arm-elf
3615 builds.
3616
3617 * config/arm/coff.h: Include aout.h for basic assembler macros.
3618 Add support for -mstructure_size_boundary=<n> command line option.
3619
3620 * config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
3621 command line option. Make macro definitions conditional on their
3622 not having been already defined.
3623
3624 * config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
3625 command line option.
3626
3627
f5e04914 3628Tue Oct 27 08:56:46 1998 Andrew MacLeod <amacleod@cygnus.com>
74153f8e
AM
3629
3630 * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
3631 has been changed to not include a newline. Use this macro instead.
3632 (output_enumeral_list, const_value_attribute, name_attribute,
3633 comp_dir_attribute, prototyped_attribute, producer_attribute,
3634 inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
3635 dwarfout_file_scope_decl, generate_new_sfname_entry,
3636 generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
3637 ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
3638
4f4b3679
RH
3639Mon Oct 26 13:35:02 1998 Richard Henderson <rth@cygnus.com>
3640
3641 * combine.c (subst): Process the inputs to a parallel asm_operands
3642 only once.
3643
3fbd5c2c
RH
3644Mon Oct 26 13:32:31 1998 Richard Henderson <rth@cygnus.com>
3645
3646 * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
3647
26f63a77
JL
3648Mon Oct 26 12:53:14 1998 Jeffrey A Law (law@cygnus.com)
3649
3650 * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
3651
ff08e6b5
JL
3652Mon Oct 26 00:36:58 PST 1998 Jeff Law (law@cygnus.com)
3653
3654 * version.c: Bump for snapshot.
3655
e17f9bc0
JM
3656Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com>
3657
3658 * stmt.c (expand_fixup): Set fixup->before_jump to a
3659 NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
3660
7f7f8214
KG
3661Sun Oct 25 15:49:57 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3662
3663 * Makefile.in (recog.o): Depend on toplev.h.
3664 (insn-emit.o): Depend on recog.h.
3665 (insn-peep.o): Depend on recog.h and insn-config.h.
3666
3667 * combine.c (simplify_set): Remove unused variable `scratches'.
3668
3669 * final.c (final_scan_insn): Wrap declaration of variables `vlen'
3670 and `idx' in macro conditional controlling their use.
3671
3672 * genemit.c (main): Make the generated output file include
3673 recog.h. Don't have it declare `insn_operand_constraint', since
3674 we get it from recog.h.
3675
3676 * genpeep.c (main): Make the generated output file include
3677 insn-config.h and recog.h.
3678
3679 * recog.c: Include toplev.h.
3680 (extract_insn): Remove unused variable `p'.
3681
3682 * regclass.c (fix_register): Add missing braces around initializer
3683 for `what_option'.
3684 (allocate_reg_info): Move variable `i' into the scope where it is
3685 used. Change its type to `size_t'.
3686
9ff16ff2
BS
3687Sun Oct 25 13:10:15 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3688
3689 * reload.c (push_reload): When merging reloads, make sure
3690 that reload_in_reg and reload_in are from the same reload in
3691 all cases.
3692
de3a0967
MK
3693Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu>
3694
3695 * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
3696 * i386/mingw32.h (CPP_PREDEFINES): Likewise.
3697
8c368ee2
DE
3698Fri Oct 23 23:42:03 1998 David Edelsohn <edelsohn@mhpcc.edu>
3699
3700 * loop.c (loop_has_tablejump): New variable.
3701 (prescan_loop): Scan for it.
3702 (insert_bct): Replace explicit scan with use of it.
3703 * regclass.c (regclass): Restore loop variable j.
3704 (record_reg_classes): Deterine op_types modifiers and initialize
3705 classes[i] before matching constraints. Handle matching
3706 constraints 5-9.
3707
ca3bf2b5
JW
3708Fri Oct 23 13:55:48 1998 Jim Wilson <wilson@cygnus.com>
3709
3710 * m32r/m32r.c (gen_split_move_double): Call alter_subreg. Delete
3711 subreg support.
3712
e1ba7da7
KG
3713Fri Oct 23 16:19:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3714
3715 * mips.h (EXTRA_SPECS): Add missing initializers.
3716
df4f7565
KG
3717Fri Oct 23 16:08:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3718
3719 * sparc.h (EXTRA_SPECS): Add missing initializers.
3720 (sparc_defer_case_vector): Provide a prototype.
3721
3722 * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
3723 comparing it to the result of a pointer subtraction.
3724
d1e6b55b
KG
3725Fri Oct 23 15:34:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3726
3727 * alpha.c (override_options): Use ISDIGIT(), not isdigit(). Cast
3728 the argument to (unsigned char).
3729
3730 * alpha.h (EXTRA_SPECS): Add missing initializers.
3731 (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
3732 format specifier.
3733
c4214310
JL
3734Fri Oct 23 13:12:35 1998 Jeffrey A Law (law@cygnus.com)
3735
b590bbfd
JL
3736 * flow.c (life_analysis_1): Enable "rescan" code after reload.
3737 (propagate_block): Delete dead code after reload.
3738
a1ef0af4
JL
3739 * sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings
3740 back Oct 15, 1998 change.
3741 * haifa-sched.c (update_flow_info): Likewise.
7b16da78
JL
3742 * flow.c (life_analysis_1): Delete CLOBBER insns after reload.
3743
c4214310
JL
3744 * mn10200.md (truncated shift): Accept constant inputs too.
3745
abef8789
RE
3746Fri Oct 23 04:06:57 1998 Richard Earnshaw (rearnsha@arm.com)
3747
3748 * machmode.h (mode_mask_array): No longer const.
3749 * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
3750
ccb5954f
ML
3751