]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
reload1.c (reload_cse_regs_1): Undo Jan 16 patch.
[gcc.git] / gcc / ChangeLog
CommitLineData
121315ea
BS
1Wed Feb 3 21:07:38 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2
3 * reload1.c (reload_cse_regs_1): Undo Jan 16 patch.
4 * reload.c (find_reusable_reload): New function, broken out of
5 push_reload. Add code to verify that none of the involved
6 outputs are subject to earlyclobbers.
7 (push_reload): Break out new function find_reusable_reload.
8 Delete "register" keyword for IN, OUT args.
9
def72bd2
GRK
10Wed Feb 3 15:51:04 1999 Gavin Romig-Koch <gavin@cygnus.com>
11
12 * config/mips/mips.c (true_reg_or_0_operand) : New function.
13 * config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand.
14 * config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16):
15 Use true_reg_or_0_operand for div_trap.
16
4d87f7a7
R
17Wed Feb 3 20:44:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
18
19 * loop.h (express_from): Declare.
20 (struct induction): Replace derived flag with derived_from pointer.
21 * loop.c (strength_reduce, record_giv, recombine_givs): Likewise.
22 (express_from): No longer static.
23 * unroll.c (find_splittable_givs): Replace derived with derived_from.
24 When processing an address giv with which another giv has been
25 combined that has also been derived from a third giv, handle like
26 having combined with the third giv.
27 Set splittable_regs_updates appropriately for derived givs.
28
de52e202
GRK
29Wed Feb 3 15:26:58 1999 Gavin Romig-Koch <gavin@cygnus.com>
30
31 * config/mips/mips.md (div_trap_mips16): Remove nop's after branches.
32
b9cd54d2
JL
33Wed Feb 3 11:56:23 1999 Jeffrey A Law (law@cygnus.com)
34
35 * pa.c (insn_sets_and_refs_are_delayed): New function.
36 * pa.h (INSN_SETS_ARE_DELAYED): Use it.
37 (INSN_REFERENCES_ARE_DELAYED): Likewise.
38
545954c9
RE
39Wed Feb 3 06:24:49 1999 Richard Earnshaw (rearnsha@arm.com)
40
41 * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Delete.
42 * config/arm/t-linux (LIBGCC2_CFLAGS): Delete.
43 (TARGET_LIBGCC2_CFLAGS): Define.
44 (LIBGCC2_DEBUG_CFLAGS): Define.
45 * config/arm/t-netbsd: Likewise.
46 * config/arm/t-semi: Likewise.
47 * config/arm/t-semiaof: Likewise.
48 * config/arm/t-riscix: Likewise.
49
c2ac2ff6
AS
50Wed Feb 3 10:59:07 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
51
52 * config/m68k/m68k.c (print_operand_address): When printing a
53 SYMBOL_REF that ends in `.<letter>' put parentheses around it.
54
c79d1483
DB
55Tue Feb 2 23:38:35 1999 David O'Brien <obrien@FreeBSD.org>
56
6a73406e
RH
57 * i386/freebsd*.h now allows '$' in label names and does not use the
58 PCC struct return method.
c79d1483 59
8f25d5cd
JW
60Tue Feb 2 22:38:23 1999 Jim Wilson <wilson@cygnus.com>
61
62 * Makefile.in: Change all uses of AR to AR_FOR_TARGET. Change all uses
63 of HOST_AR to AR. Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST.
64 (RANLIB_TEST): Test to see if ranlib exists. Only test absolute file
65 names if host == target.
66 (HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete.
67 (AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS.
68 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules
69 setting them to *_FOR_TARGET.
70 * cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST):
71 Delete.
72
132e01b1
TP
73Tue Feb 2 22:38:19 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
74
75 * toplev.h (read_integral_parameter): Declare.
76 * toplev.c (read_integral_parameter): New function.
77
ca545bb5
BM
78Fri Jan 29 21:00:56 1999 Bob Manson <manson@charmed.cygnus.com>
79
80 * resource.c, resource.h: New files.
1841f23b 81 * Makefile.in (OBJS): Add it.
ca545bb5
BM
82
83 * haifa-sched.c (regno_use_in): Moved to rtlanal.c.
84 (split_block_insns): Moved to recog.c.
85 (update_flow_info): Make public.
6a73406e 86 * rtl.h: Declare them.
ca545bb5
BM
87
88 * reorg.c: Moved the functions dealing with computing resource
89 usage to resource.c.
90
91 * sched.c (regno_use_in): Moved to rtlanal.c.
92 (update_flow_info): Make public.
93 (schedule_insns): Use split_block_insns.
94
95 * recog.c (split_block_insns): New function.
96
ee0d2cf3
DE
97Tue Feb 2 22:03:26 1999 David Edelsohn <edelsohn@mhpcc.edu>
98
99 * rs6000/linux.h (LINK_START_DEFAULT_SPEC): Delete, unused.
100 (LINK_OS_DEFAULT_SPEC): Delete, unused.
101
cbca921c
CM
102Tue Feb 2 20:29:34 1999 Catherine Moore <clm@cygnus.com>
103
104 * configure.in (arm-*-oabi): Support.
105 * configure: Regenerate.
106 * config/arm/unknown-elf-oabi.h: New file.
107
c4e3884d
JL
108Tue Feb 2 19:43:59 1999 Jeffrey A Law (law@cygnus.com)
109
47f59fd4
JL
110 * i386.md (ashlsi3): Turn into a define_expand an anonymous pattern.
111 Make the anonymous pattern match when ! optimize_size.
112 (ashlsi3 size optimizer): New pattern.
113
c4e3884d
JL
114 * intl/Makefile.in (uninstall): Add missing "; \".
115
809934df
SC
116Tue Feb 2 18:21:23 1999 Stan Cox <scox@cygnus.com>
117
ee0d2cf3
DE
118 * sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x
119 synonym.
809934df 120
e318cec0
R
121Tue Feb 2 20:24:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
122
123 * loop.c (loop_optimize): Fix value max_uid_for_loop is reset
124 to after find_and_verify_loops call.
125
7221f080
R
126Tue Feb 2 19:48:29 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
127
128 * (recombine_givs): Don't use a giv that's likely to be dead to
129 derive others.
130
131 * loop.c (recombine_givs): Fix test for lifetime overlaps / loop
132 wrap around when deriving givs.
133
1afbe1c4
RH
134Mon Feb 1 20:00:40 1999 Richard Henderson <rth@cygnus.com>
135
136 * recog.c (check_asm_operands): Treat indeterminate operand ok
137 results as success. Try harder to resolve a matching constraint.
138 * stmt.c (expand_asm_operands): Recognize when an output operand's
139 constraint does not allow memory. Treat indeterminate operand ok
140 results as failure. Try harder to resolve a matching constraint.
141
c68da89c
KR
142Mon Feb 1 15:00:02 1999 Ken Raeburn <raeburn@cygnus.com>
143
144 Use varrays for constant-equivalence data:
145
146 * varray.h (struct const_equiv_data): New type.
147 (union varray_data_tag): New element const_equiv.
148 (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros.
149 (VARRAY_SIZE): New macro, returns number of elements.
150 * integrate.h: Include varray.h.
151 (struct inline_remap): Replace const_equiv_map, const_age_map and
152 const_equiv_map_size with a const_equiv_varray element.
153 (MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if
154 needed.
155 (SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields
156 simultaneously, growing the varray if needed.
157
158 * integrate.c (global_const_equiv_map,
159 global_const_equiv_map_size): Deleted, replaced by....
160 (global_const_equiv_varray): New variable.
161 (expand_inline_function): References changed.
162 * integrate.h: Update declarations.
163
164 * integrate.c (process_reg_parm, expand_inline_function,
165 copy_rtx_and_substitute, try_constants, subst_constants,
166 mark_stores): Use varray allocation and accessor macros, new
167 integrate.h macros, and global_const_equiv_varray. Don't
168 conditionalize non-NULL stores on array size; instead, expand the
169 array as needed.
170 * unroll.c (unroll_loop): Likewise.
171
172 * unroll.c (unroll_loop): Initialize const_equiv_varray element to
173 zero. After allocating varray, always exit through bottom of
174 function, where it can be deallocated if needed. Don't explicitly
175 reallocate const_equiv_map storage; instead, just ensure the
176 varray has been initialized, and update the global reference.
177
ab7c205e
KG
178Mon Feb 1 09:40:25 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
179
180 * system.h (inline, const): Handle these for stage2 (and later) gcc.
181
182 * dwarf2out.c (inline): Don't define.
183
184 * dwarfout.c (inline): Likewise.
185
516e5fa6
RH
186Sun Jan 31 22:04:37 1999 Richard Henderson <rth@cygnus.com>
187
188 * loop.c (recombine_givs): Dump recombination and derivation data.
189
f64d8234
ZW
190Sun Jan 31 20:34:29 1999 Zack Weinberg <zack@rabi.columbia.edu>
191
192 * flags.h: Declare flag_no_ident.
193 * toplev.c: Define flag_no_ident. Process -f(no-)ident here.
194 * c-tree.h: Don't declare flag_no_ident.
195 * c-decl.c: Don't define flag_no_ident. Don't process
196 -f(no-)ident switches here.
197
198 * config/elfos.h (ASM_FILE_END): Output final .ident directive
199 only if !flag_no_ident.
200 * config/ptx4.h: Likewise.
201 * config/svr4.h: Likewise.
202 * config/alpha/elf.h: Likewise.
203 * config/arm/linux-elf.h: Likewise.
204 * config/i386/sco5.h: Likewise.
205 * config/i860/fx2800.h: Likewise.
206 * config/mips/gnu.h: Likewise.
207 * config/i386/osfrose.h: Likewise.
208
209 * gcc.c (C specs): Map -Qn to -fno-ident.
210 * objc/lang-specs.h: Likewise.
211
81814e35
MH
212Mon Feb 1 10:52:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
213
214 * configure.in: Don't remove loop.o and unroll.o when
215 enable-haifa is selected.
216 * configure: Rebuilt.
217
3aeae608
JW
218Sun Jan 31 13:22:02 1999 John Wehle (john@feith.com)
219
220 * i386.md (movsicc, movhicc, movsfcc, movdfcc,
221 movxfcc, movdicc): Delete unconstrained alternatives.
222 * i386.c (output_fp_conditional_move,
223 output_int_conditional_move): Delete unused case.
224
4d7c4246
JL
225Sun Jan 31 01:15:04 PST 1999 Jeff Law (law@cygnus.com)
226
227 * version.c: Bump for snapshot.
228
6ce652e0
RH
229Sun Jan 31 00:52:37 1999 Richard Henderson <rth@cygnus.com>
230
231 * alpha.md (mov patterns): Emit the assembler aliases mov and fmov
232 instead of bis and cpys. Combine alternatives where possible.
233
644f3d7e
KG
234Sat Jan 30 23:14:13 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
235
236 * gcov.c (fnotice): Add missing FILE* parameter.
237 (function_summary): Fix format specifiers in calls to `fnotice'.
238 (output_data): Likewise.
239
240 * toplev.c (fnotice): Constify char* parameter.
241
242 * toplev.h (fnotice): Add prototype.
fa6ac85e
KG
243 Wrap prototype with BUFSIZ to protect FILE* usage.
244
9acfe55c
MH
245Sun Jan 31 15:33:09 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
246
247 * config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs.
248
9eab30bc
JL
249Sat Jan 30 08:27:23 1999 Jeffrey A Law (law@cygnus.com)
250
4b7c585f
JL
251 * combine.c (distribute_notes): Handle REG_EH_REGION notes.
252
2c72b78f
JL
253 * alias.c (fixed_scalar_and_varying_struct_p): Add "static" to
254 function definition.
255 (aliases_everything_p, write_dependence_p):Likewise.
256
3ad13ada
JL
257 * install.texi: Fix merge lossages.
258
d9b53430
JL
259 * cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES
260 is defined.
261 * collect2.c (main): Likewise.
262 * cppmain.c (main): Likewise.
263 * gcc.c (main): Likewise.
264 * gcov.c (main): Likewise.
265 * protoize.c (main): Likewise.
266 * toplev.c (main): Likewise.
267
5989c468
JL
268 * pa.md (parallel shift and shiftadd): Mark output of shift as an
269 earlyclobber.
270
9eab30bc
JL
271 * loop.c: Disable recent loop changes. Temporary as Joern
272 continues to fix problems.
273
97ec0ad8
R
274Sat Jan 30 03:24:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
275
276 * loop.c (strength_reduce): Size reg_map according to reg_iv_type.
277
89e99eea
DB
278Fri Jan 29 18:26:07 1999 Dave Brolley <brolley@cygnus.com>
279
280 * emit-rtl.c (remove_insn): New function.
281 * rtl.h (remove_insn): Add prototype.
282 * function.c (reposition_prologue_and_epilogue_notes): Call remove_insn.
283
5310566c
R
284Fri Jan 29 22:34:41 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
285
286 * loop.c (recombine_givs): Don't try to derive givs that have combined.
287
96df87b8
KG
288Fri Jan 29 15:00:39 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
289
290 * toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,
291 when declaring arguments and calling va_arg() to initialize them.
292
293 * collect2.c (notice): Likewise.
294
295 * loop.c (find_life_end): Use PROTO() macro in the prototype.
296
1c5d09e4
KG
297Fri Jan 29 14:36:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
298
299 * collect2.c (error): Fix typo in declaration.
300
301 * cpperror.c (cpp_message): Likewise.
302
303 * cpplib.c (cpp_warning): Likewise.
304
305 * cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add
306 ATTRIBUTE_PRINTF_1.
307
308 * toplev.c (error): Fix typo in declaration.
309
22b4cc65
R
310Fri Jan 29 15:44:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
311
312 * loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning
313 forward from cont dominator.
314
aa1b0f8c
KG
315Fri Jan 29 07:10:27 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
316
317 * cccp.c (eprint_string): Constify a char*.
318 (notice): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
319 (vnotice): Constify a char*.
320 (error): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
321 (verror): Constify a char*.
322 (warning): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
323 (vwarning): Constify a char*.
324 (error_with_line): Likewise. Use PVPROTO not VPROTO, add
325 ATTRIBUTE_PRINTF_2.
326 (verror_with_line): Constify a char*.
327 (vwarning_with_line): Likewise.
328 (warning_with_line): Likewise. Use PVPROTO not VPROTO, add
329 ATTRIBUTE_PRINTF_2.
330 (pedwarn): Constify a char*. Use PVPROTO not VPROTO, add
331 ATTRIBUTE_PRINTF_1.
332 (pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2.
333 (pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4.
334 Also correct typo in parameter name declaration.
335 (make_assertion): Constify a char*.
336 (quote_string_for_make): Likewise.
337 (deps_output): Likewise.
338 (fatal): Likewise. Use PVPROTO not VPROTO, add
339 ATTRIBUTE_PRINTF_1. Use ATTRIBUTE_NORETURN not an explicit
340 "__attribute__ ((noreturn))".
341 (fancy_abort): Likewise for ATTRIBUTE_NORETURN.
342 (pfatal_with_name): Likewise.
343 (pipe_closed): Likewise.
344 (memory_full): Likewise.
345
f56246be
R
346Fri Jan 29 00:14:55 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
347
348 * loop.c (strength_reduce): Grow set_in_loop / n_times_set /
349 may_not_optimize to proper size when converting biv increments
350 into givs.
351 If necessary, reallocate reg_iv_type / reg_iv_info before calling
352 recombine_givs.
353
53dc05e4
R
354Thu Jan 28 23:24:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
355
356 * loop.c (recombine_givs): New parameter unroll_p. If set, don't
357 generate complex adds. Changed caller.
358 Don't generate adds that cost more than the original one.
359 (strength_reduce): Warning fixes.
360
661c7909
JL
361Thu Jan 28 09:41:11 1999 Jeffrey A Law (law@cygnus.com)
362
363 * configure.in (hppa1.0-hp-hpux10*): Use t-pa.
364 * configure: Rebuilt.
365
3ec2b590
R
366Wed Jan 27 23:39:53 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
367
368 * rtl.h (insn_first_p): Declare.
369 * rtlanal.c (insn_first_p): New function.
370 * loop.h (varray.h): Include.
371 (struct induction): Change combined_with to unsigned.
372 New members derived, ix and last_use.
373 (reg_iv_type, reg_iv_info): Now varray_type. All references changed.
374 (REG_IV_TYPE, REG_IV_INFO): Define.
375 (first_increment_giv, last_increment_giv): Declare.
376 * loop.c (loop_number_loop_cont): New static variable.
377 (loop_number_cont_dominator): Likewise.
378 (reg_iv_type, reg_iv_info): Now varray_type.
379 (first_increment_giv, last_increment_giv): New variables.
380 (compute_luids, verify_dominator, find_life_end): New functions.
381 (cmp_recombine_givs_stats, recombine_givs): Likewise.
382 (loop_optimize): Allocate loop_number_loop_cont and
383 loop_number_cont_dominator. Use compute_luids.
384 (find_and_verify_loops): Initialize loop_number_loop_cont and
385 loop_number_cont_dominator.
386 (strength_reduce): Try to find bivs that can be expressed as givs
387 of another biv, and to convert biv increments into givs.
388 Call recombine_givs. Handle derived givs.
389 (record_biv): New argument location. All callers changed.
390 (record_giv): Initialize derived and last_use fields.
391 (basic_induction_var): New argument location. All callers changed.
392 (combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
393 Increment combined_with instead of setting to 1.
394 * unroll.c (derived_regs): New static variable.
395 (unroll_loop): Initialize it.
396 Allocate local_regno according to max_reg_num.
397 (copy_loop_body): Cope with derived givs.
398 (find_splittable_givs): Check for Givs made from biv increments.
399 Set derived_regs for givs.
400 * Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
401
d91dfff4
R
402Wed Jan 27 19:31:36 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
403
404 * function.c (purge_addressof_1): Handle case when a register
405 has been used in a wider mode.
406
d5a06ad9
DB
407Wed Jan 27 11:58:18 1999 Dave Brolley <brolley@cygnus.com>
408
409 * cpplib.h (cpp_notice): Add prototype.
410
ab87f8c8
JL
411Wed Jan 27 02:20:48 1999 Jeffrey A Law (law@cygnus.com)
412
413 * Merge gcc2 snapshot 19980929.
414
415 * cccp.c (PRINTF_PROTO): Remove.
416 (PRINTF_PROTO_{1,2,3,4}: Likewise.
417 * cexp.y: Likewise.
418 * system.h: Add PRINTF_PROTO and PRINTF_PROTO_{1,2,3,4}.
419
420 * fix-header.c (cpp_file_lin_for_message): Delete. In libcpp.
421 (cpp_print_containing_files, v_cpp_message, cpp_message): Likewise.
422 (cpp_fatal, cpp-Pfatal_with_name): Likewise.
423
424 * gen-protos.c (hashf): Delete in cpphash.o
425 * gen-protos.c (hashf): Delete in cpphash.o
426
427 * expr.c: Do not merge SAVE_STACKAREA_MODE changes.
428 * expmed.c: Likewise.
429 * rs6000.md: Likewise.
430
431 * rs6000.c, rs6000.md: Do not merge formatting changes yet.
432
01b4cf2b
RH
433Wed Jan 27 01:13:42 1999 Richard Henderson <rth@cygnus.com>
434
435 * rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
436 * rs6000.md (movsi, movdi): Likewise.
437
ea0f9a85
JW
438Tue Jan 26 13:31:38 1999 Jim Wilson <wilson@cygnus.com>
439
440 * function.c (expand_function_end): Pass arg_pointer_save_area to
441 validize_mem before using it. Emit code into a sequence.
442
aa9bc2fc
DE
443Tue Jan 26 13:41:38 1999 David Edelsohn <edelsohn@mhpcc.edu>
444
445 * rs6000.md (doz + set cr and or + set cr patterns): Add missing
446 '#' to split patterns. Correct indentation of some new patterns.
447
554fbeef
ZW
4481999-01-26 12:11 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu>
449
450 * cppfiles.c (safe_read): Deleted.
451 (read_and_prescan): New function, replaces safe_read, converts
452 and/or warns about trigraphs, silently converts odd line
453 terminators (\r, \n\r, \r\n). Warns about no newline at EOF.
454 (finclude): Use read_and_prescan; turn off nonblocking mode on
455 the input descriptor; remove file-size-examination and
456 no-newline-at-EOF gunk which is longer necessary; be more
457 careful about checking that we've been handed a legitimate
458 file to read (only real files, pipes, and ttys are acceptable).
459 * cpplib.h (cpp_options): Rename no_trigraphs flag to
460 `trigraphs' and invert its sense.
461 (trigraph_table): Declare.
462 (cpp_warning_with_line): Prototype.
463 * cpplib.c: Remove all references to trigraph_pcp. Define
464 trigraph_table; initialize it in initialize_char_syntax. Open
465 files in nonblocking mode. s/no_trigraphs/trigraphs/
466 throughout, and invert sense. Put cpp_warning_with_line back
467 in and export it.
468
4a6330ac
MH
469Tue Jan 26 23:21:49 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
470
471 * config/c4x/c4x.h (COUNTER_REGS): New register class.
472 * config/c4x/c4x.md (*rptb_init): Change constraints.
473 (rptb_end): Emit alternate looping instructions if
474 RC register not allocated for loop counter.
475 (decrement_and_branch_on_count): Allow other registers
476 for loop counter.
477
f13eb63a
ZW
4781999-01-25 14:26 -0500 Zack Weinberg <zack@rabi.columbia.edu>
479
aa9bc2fc
DE
480 * cppexp.c (struct arglist): Removed.
481 (parse_number): Use HOST_WIDE_INT for the accumulator.
482 Allow two `l' suffixes unless C89. Clean up. Make static.
483 (parse_charconst): New function broken out of cpp_lex.
484 Code cleaned up drastically. Don't use a token_buffer.
485 (token_buffer): Removed.
486 (cpp_lex): Don't call parse_number on a constant string.
487 Use parse_charconst.
488 (cpp_parse_expr): Properly handle an ERROR op returned by
489 cpp_lex.
f13eb63a 490
20dc7361
ZW
4911999-01-25 14:10 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
492
493 * cpplib.c: Don't include signal.h, sys/times.h, or
494 sys/resource.h. Don't declare localtime.
495 (macroexpand): Handle special symbols here.
496 (push_macro_expansion): Chop off the trailing '@ ' if possible
497 here.
498 (cpp_get_token): Don't do either of the above two things here.
499 Move `string' label just after case '"' so that wide strings
500 don't crash the preprocessor.
501
75d39459
DE
502Sun Jan 24 20:13:45 1999 David Edelsohn <edelsohn@mhpcc.edu>
503
504 * rs6000.md (left shift + set cr patterns): Add missing '#' to
505 split patterns.
506 (move register + set cr pattern): Ditto.
4e1efdd3
MM
507 (movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch,
508 inadvertently deleted.
75d39459 509
09554da9
JL
510Sun Jan 24 08:07:59 1999 Jeffrey A Law (law@cygnus.com)
511
75d39459
DE
512 * stmt.c (stmt_loop_nest_empty): New function.
513 * tree.h (stmt_loop_nest_empty): Declare it.
09554da9
JL
514 * rtl.def (CALL_PLACEHOLDER): New rtx code.
515
50c33087
MH
516Sun Jan 24 21:24:43 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
517
518 * config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info):
519 New functions.
520 (c4x_check_legit_addr): Remove USE and PLUS, allow
521 LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases.
522 (c4x_legitimize_address): Penalise SYMBOL_REF, LABEL_REF, and
523 CONST cases. Add LO_SUM.
524 (c4x_print_operand): Modified 'C' and 'R' cases for calls.
525 Added 'U' case. Remove dependence on SYMBOL_REF_FLAG.
526 (c4x_print_operand_address): Handle LO_SUM.
527 (c4x_scan_for_ldp): Delete. Hooray!
528 (c4x_process_after_reload): Remove call to c4x_scan_for_ldp.
529 Split all insns.
530 (c4x_immed_int_constant): Renamed from c4x_int_constant. All callers
531 changed.
532 (c4x_immed_float_constant): Renamed from c4x_float_constant. All
533 callers changed.
534 (c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF,
535 and CONST.
536 (c4x_U_constraint, symbolic_operand): New functions.
537 (src_operand): Allow 'I' constants in HImode. Allow LO_SUM,
538 disable SYMBOL_REF, LABEL_REF, and CONST.
539 (lsrc_operand, tsrc_operand): Call src_operand instead of
540 general_operand.
541 (c4x_operand_subword): Update comments.
542
543 * config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro.
544 (LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST,
545 plus HIGH and LO_SUM for the C40.
546 (ENCODE_SECTION_INFO): Define macro.
547 (symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New
548 prototypes.
549 (PREDICATE_CODES): Add symbolic_operand.
550
551 * config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call
552 c4x_emit_move_sequence.
553 (floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL
554 to avoid symbol references.
555 (all patterns with g constraint): Replace 'g' constraint with 'rIm'.
556 (set_high): Renamed from set_high_use.
557 (set_lo_sum): Renamed from set_ior_lo_use.
558 (all call patterns): Make MEM explicit in call address operands.
559 Modified output templates to use 'U' modifier.
560
4c1d5c87
JL
561Sun Jan 24 01:15:05 PST 1999 Jeff Law (law@cygnus.com)
562
563 * version.c: Bump for snapshot.
564
9b3142b3
KG
565Sat Jan 23 22:34:57 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
566
567 * final.c (bb_str): Qualify a char* with the keyword `const'.
568 (add_bb_string, final_scan_insn, output_asm_insn): Likewise.
569
570 * fix-header.c (read_scan_file): Likewise.
571
572 * genoutput.c (output_epilogue, process_template): Likewise.
573
574 * local-alloc.c (requires_inout, block_alloc): Likewise.
575
576 * output.h (output_asm_insn, assemble_string): Likewise.
577
578 * recog.c (recog_constraints, check_asm_operands,
579 decode_asm_operands, extract_insn, preprocess_constraints,
580 constrain_operands): Likewise.
581
582 * recog.h (operand_alternative, recog_constraints, insn_template,
583 insn_outfun, insn_operand_constraint, insn_name): Likewise.
584
585 * regclass.c (record_reg_classes, scan_one_insn): Likewise.
586
587 * regmove.c (find_matches): Likewise.
588
589 * reload.c (alternative_allows_memconst): Likewise.
590
591 * reload1.c (constraint_accepts_reg_p,
592 reload_cse_simplify_operands): Likewise.
593
594 * rtl.h (decode_asm_operands): Likewise.
595
596 * scan.h (fn_decl): Likewise.
597
598 * varasm.c (assemble_string): Likewise.
599
82cbf8f7
JL
600Sat Jan 23 01:37:36 1999 Jeffrey A Law (law@cygnus.com)
601
5949a9fc
JL
602 * configure.in (gcc_tooldir): Handle case where exec_prefix has
603 not been explicitly set.
604 * configure: Rebuilt.
605
ac4d524d
JL
606 * fold-const.c (lshift_double): Mark 'prec' arguments as possibly
607 unused.
608
83fb95ed
JL
609 * bitmap.h (bitmap_head_def): Make indx field unsigned.
610
82cbf8f7
JL
611 * configure.in (gcc_tooldir): When not making a relative gcc_tooldir,
612 use $exec_prefix/$target_alias for gcc_tooldir.
5949a9fc 613 * configure: Rebuilt.
82cbf8f7 614
09d83d25
RH
615Fri Jan 22 11:48:56 1999 Richard Henderson <rth@cygnus.com>
616
617 * cppp.c (xrealloc): Fix typo last change.
618 * cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise.
619 * genconfig.c, genemit.c, genextract.c, genflags.c: Likewise.
620 * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
621
815cdc52
MM
6221999-01-22 Michael Meissner <meissner@cygnus.com>
623
624 * rs6000.h (CR0_REGNO_P): New macro to test if cr0.
625 (CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0.
626 (PREDICATE_CODES): Add cc_reg_not_cr0_operand.
627 (cc_reg_not_cr0_operand): Add declaration.
628
629 * rs6000.c (cc_reg_not_cr0_operand): Return true if register is a
630 pseudo register, or a control register that is not CR0.
631
632 * rs6000.md (all combiner patterns building . instructions): For
633 all `.' instructions that do something and set cr0, add an
634 alternative that does the operation, and then sets a different
635 flag, in order to avoid using the costly mcrf instruction and also
636 allow cr0 to be clobbered in asm statements. Also fix a few
637 patterns that used the wrong register.
638
639 * rs6000.h (rs6000_cpu_select): Make string, names be const char *.
640 (rs6000_debug_name): Make const char *, not char *.
641
642 * sysv4.h (rs6000_{abi,sdata}_name): Make const char *.
643
644 * rs6000.c (rs6000_{debug,abi,sdata}_name): Make const char *.
645 (rs6000_select): Use const char * in casts.
646
91c7bd9b 647Fri Jan 22 07:43:01 1999 Jeffrey A Law (law@cygnus.com)
d062c304
JL
648
649 * Makefile.in (gcc_tooldir): Move before first reference.
650 Let autoconf substitute in a value.
651 * configure.in (gcc_tooldir): Only use a relative path to the
652 tool directory if $exec_prefix == $prefix.
653 * configure: Rebuilt.
91c7bd9b
JL
654
655 * Makefile.in (tooldir): Replace with gcc_tooldir.
656
c2ad275a
JL
657Thu Jan 21 23:21:57 1999 Jeffrey A Law (law@cygnus.com)
658
659 * m68k.md (ashldi_const): Disable for !TARGET_5200. Fix indention.
660 (ashldi3 expander): Similarly. Update comments.
661 (ashrdi_const, lshrdi_const): Fix indention.
662 (ashrdi3, lshrdi3): FIx indention. Update comments.
663
23886015
RH
664Thu Jan 21 21:53:36 1999 Richard Henderson <rth@cygnus.com>
665
666 * emit-rtl.c (try_split): Don't try to split non-instructions.
667
15914757
AM
668Thu Jan 21 23:47:30 EST 1999 Andrew MacLeod <amacleod@cygnus.com>
669
670 * expr.c (emit_push_insn): Fix dumb typo.
671
c8ab9901
RH
672Thu Jan 21 20:24:02 1999 Richard Henderson <rth@cygnus.com>
673
674 * rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
675 transformations that we have performed earlier.
676 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
677
678 * alpha.md (prologue_stack_probe_loop): Don't do our own label
679 handling, call gen_label_rtx instead.
680
470b68c0
RH
681Thu Jan 21 17:45:18 1999 Richard Henderson <rth@cygnus.com>
682
683 * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): Add missing `then'.
684
685 * cccp.c (xrealloc): Call malloc given a NULL old pointer.
686 * collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise.
687 * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
688 * genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise.
689 * genrecog.c, mips-tfile.c, protoize.c: Likewise.
690
20fced2c
MM
691Thu Jan 21 19:44:55 1999 Michael Meissner <meissner@cygnus.com>
692
693 * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If
694 --with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress
695 adding -Wl,-bbigtoc to BOOT_LDFLAGS.
696 * configure: Regenerate.
697
698 * config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS.
699
939b4a73
DB
700Thu Jan 21 15:48:03 1999 Dave Brolley <brolley@cygnus.com>
701
702 * cppexp.c (cpp_lex): Allocate token_buffer dynamically.
703
fbe1758d
AM
704Thu Jan 21 14:18:04 EST 1999 Andrew MacLeod <amacleod@cygnus.com>
705
706 * expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
707 move_by_pieces.
708 (MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
709 (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
710 (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
711 (move_by_pieces): Use new macros.
712 (emit_block_move): Use new macros.
713 (clear_by_pieces): Use new macros.
714 (clear_storage): Use new macros.
715 (emit_push_insn): Use new macros.
716 (expand_expr): Use new macros.
717 * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
718 Define.
719 (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
720 (MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
721 (MOVE_MAX_PIECES): move 8 bytes on SH4.
722 * tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
723 USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
724 USE_STORE_PRE_DECREMENT): Describe new macros.
725
0003feb2
VM
726Thu Jan 21 14:13:31 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
727
728 * varasm.c (output_constant_pool): Use floor_log2 instead of
729 exact_log2 for ASM_OUTPUT_ALIGN.
730
731 * stor-layout.c (layout_type): Do machine-dependent extra alignment.
732
733 * emit-rtl.c (operand_subword): Handle case when a subword outside
734 the operand.
735
736 * tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
737 the macros.
738
ee5332b8
RH
739Thu Jan 21 01:59:30 1999 Richard Henderson <rth@cygnus.com>
740
741 * cse.c (fold_rtx): Revert 29 Dec change.
742 (cse_insn): Revert 12 Jan change.
743 * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
744 * regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
745 * rtl.def: Likewise.
746 * rtl.h (CONSTANT_P): Likewise.
747
748 * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
749 to memory.
750 * recog.c (immediate_operand): Accept CONSTANT_P_RTX.
751 * alpha.c (input_operand): Likewise.
752 * c4x.c (const_operand): Likewise.
753
754 * explow.c (allocate_dynamic_stack_space): Use register_operand
755 instead of arith_operand, which does not exist.
756
757 * 1750a.h: Fix comment closure.
758 * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
759 * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
760 * arm.h (TARGET_SWITCHES): Fix typo.
761 * i370.md (anon mult and div patterns): Fix set mode mismatch.
762 * i860.c (output_delayed_branch): Fix operands to constrain_operands.
763 (output_delay_insn): Likewise.
764 * m88k.md (anon rotate insns): Fix set mode mismatch.
765 (anon BLKmode moves): Commonize and fix set mode mismatches.
766 * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
767 * romp.md (movdf): Fix typo.
768
f1cc886f
NS
769Thu Jan 21 00:29:35 1999 Nathan Sidwell <nathan@acm.org>
770
771 * Makefile.in (install-common): Remove extraneous chmod for gcov
772 install.
773
efd8cba0
DB
774Wed Jan 20 18:15:08 1999 Dave Brolley <brolley@cygnus.com>
775
776 * function.c (assign_parms): Save and restore setting of
777 TREE_USED (parm).
778
876d1fa3
MM
779Wed Jan 20 12:51:42 1999 Mark Mitchell <mark@markmitchell.com>
780
781 * arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
782 Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
783
d804ed43
RH
784Tue Jan 19 21:20:52 1999 Richard Henderson <rth@cygnus.com>
785
6fbe9bd8
RH
786 * recog.c (pop_operand): New function.
787 * recog.h (pop_operand): Declare it.
788 * genrecog.c (preds): Define it.
789
d804ed43
RH
790 * expr.c (do_jump_for_compare): Handle conditional branch expanders
791 emitting multiple jump instructions.
792 * jump.c (condjump_label): New function.
793 * rtl.h (condjump_label): Declare it.
794
c14c6529
RH
795Tue Jan 19 21:08:20 1999 Richard Henderson <rth@cygnus.com>
796
797 * expr.c (emit_move_insn_1): Revert 17 Dec change. Don't emit
798 clobber during or after reload.
799
8aeba909
RH
800Tue Jan 19 16:56:03 1999 Richard Henderson <rth@cygnus.com>
801
802 * genoutput.c (name_for_index): New function.
803 (scan_operands, validate_insn_alternatives): Use it.
804 * genrecog.c (insn_name_ptr_size): New variable.
805 (make_insn_sequence): Fill in insn_name_ptr.
806 (merge_trees): Use it.
807
67e5db2c
RH
808Tue Jan 19 16:37:36 1999 Richard Henderson <rth@cygnus.com>
809
810 * i386/isc.h (TARGET_DEFAULT): Define symbolicly.
811 * i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
812 * i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
813
196fb9ff
JL
814Tue Jan 19 15:00:10 1999 Jeffrey A Law (law@cygnus.com)
815
d2551ee4
JL
816 * loop.c (NUM_STORES): Delete.
817 (loop_store_mems): Turn into an EXPR_LIST of MEMs.
818 (prescan_loop): Properly initialize loop_mems_idx.
819 (note_addr_stored): Simplify using list structure instead of
820 fixed sized array.
821 (invariant_p, check_dbra_loop, load_mems): Similarly.
822
15e088b2
JL
823 * flow.c (invalidate_from_autoinc): New function.
824 (mark_set_1, mark_used_regs): Use it.
825
196fb9ff
JL
826 * Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
827
eaa4b44c
VM
8281999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com>
829
830 * invoke.texi (-mlong-double-64): New option description.
831
8321999-01-19 Jim Wilson <wilson@cygnus.com>
833
834 * libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
835 LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
836 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New. Set to LONG_DOUBLE_TYPE_SIZE
837 if not defined.
838 * i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
839 (CPP_SPECS): Add -mlong-double-64 support.
840 (TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
841 (TARGET_SWITCHES): Add -mlong-double-64 support.
842 (LONG_DOUBLE_TYPE_SIZE): Likewise.
843 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
844 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
845 (CPP_SPECS): Add -mlong-double-64 support.
846 * i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
847 (MULTILIB_DIRNAMES): Add ld64.
848 * i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
849
60409070
JM
850Tue Jan 19 11:54:04 1999 Jason Merrill <jason@yorick.cygnus.com>
851
852 * calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
853 invisible reference.
854
97f6e72f
DE
855Tue Jan 19 14:51:36 1999 David Edelsohn <edelsohn@mhpcc.edu>
856
857 * rs6000.c (offsettable_addr_operand): Delete.
858 (offsettable_mem_operand): New function.
859 * rs6000.h (PREDICATE_CODES): Reflect function change.
860 (RS6000_SAVE_TOC): Represent address as MEM.
861 * win-nt.h (RS6000_SAVE_TOC): Same.
862 * rs6000.md (indirect calls): Change offsettable address parameter
863 to offsettable memory parameter.
864
c6df88cb
MM
865Tue Jan 19 10:24:53 1999 Mark Mitchell <mark@markmitchell.com>
866
867 * rtl.h (rtx_def): Update documentation.
868 (MEM_IN_STRUCT_P): Likewise.
869 (MEM_SCALAR_P): New macro.
870 (MEM_COPY_ATTRIBUTES): Likewise.
871 (MEM_SET_IN_STRUCT_P): Likewise.
872 * rtl.texi (MEM_SCALAR_P): Document.
873 * alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
874 (fixed_scalar_and_varying_struct_p): New function. Use
875 MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
876 (aliases_everything_p): Likewise.
877 (true_dependence): Use them.
878 (write_dependence_p): New function, containing code common to
879 anti_dependence and output_dependence.
880 (anti_dependence): Use it.
881 (output_dependence): Likewise.
882 * calls.c (save_fixed_argument_area): Don't clear
883 MEM_IN_STRUCT_P.
884 (expand_call): Use MEM_SET_IN_STRUCT_P.
885 (emit_library_call): Don't clear MEM_IN_STRUCT_P.
886 (emit_library_call_value): Likewise.
887 (store_one_arg): Use MEM_SET_IN_STRUCT_P.
888 * combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
889 (make_extraction): Likewise.
890 (simplify_shift_const): Likewise.
891 (gen_lowpart_for_combine): Likewise.
892 * cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
893 * emit-rtl.c (operand_subword): Likewise.
894 (change_address): Likewise.
895 * explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
896 * expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
897 (emit_group_store): Use MEM_SET_IN_STRUCT_P.
898 (copy_blkmode_from_reg): Likewise.
899 (store_field): Likewise.
900 (expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
901 heuristically. Use MEM_SET_IN_STRUCT_P.
902 (get_memory_rtx): Likewise.
903 * final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
904 * function.c (assign_stack_temp): Clear MEM_SCALAR_P and
905 MEM_ALIAS_SET on newly returned MEMs.
906 (assign_temp): Use MEM_SET_IN_STRUCT_P.
907 (put_reg_into_stack): Likewise.
908 (fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
909 (gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
910 (assign_parms): Likewise.
911 (expand_function): Likewise.
912 * integrate.c (expand_inline_function): Likewise.
913 (copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
914 * loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
915 * optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
916 * print-rtl.c (print_rtx): Print /f for frame_related.
917 * recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
918 * reload1.c (reload): Copy MEM_SCALAR_P as well.
919 * stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
920 (expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
921 * varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
922 (output_constant_def): Likewise.
923 * a29k.c (a29k_set_memflags_1): Take scalar_p.
924 Set MEM_SCALAR_P.
925 (a29k_set_memflags): Use it.
926 * alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
927 * c4x.c (c4x_scan_for_ld): Likewise.
928 * h8300.c (fix_bit_operand): Likewise.
929 * m88k.c (legitimize_address): Likewise.
930 (block_move_loop): Likewise.
931 (block_move_no_loop): Likewise.
932 (block_move_sequence): Likewise.
933 (m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
934 * mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
935 * rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
936 * sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
937 * arm.h (arm_gen_load_multiple): Take scalar_p.
938 (arm_store_load_multiple): Likewise.
939 * arm.c (arm_gen_load_multiple): Likewise.
940 (arm_gen_store_multiple): Likewise.
941 (arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
942
b472794d
AM
943Tue Jan 19 12:30:37 EST 1999 Andrew MacLeod <amacleod@cygnus.com>
944
945 * optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
946 calls within a libcall block to indicate no throws are possible.
947 * flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
948 libcall blocks. Don't add edges to exception handlers if we see
949 a REG_EH_REGION note with a value of 0.
950 (make_edges): Override active_eh_region vector if the call has a note
951 indicating the call does not throw.
952
35a6fc82
VM
9531999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com>
954
955 * config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}.
956
beb51090
JL
957Tue Jan 19 06:26:30 1999 Jeffrey A Law (law@cygnus.com)
958
959 * Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
960
8c7707b0
JM
961Mon Jan 18 09:56:41 1999 Jason Merrill <jason@yorick.cygnus.com>
962
963 * invoke.texi (C++ Dialect Options): Document -fno-rtti.
964
bef84347
VM
9651999-01-18 Vladimir N. Makarov <vmakarov@cygnus.com>
966
967 * invoke.texi (-mcpu=740, -mcpu=750): New options.
968 (-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
969 PPC750.
970
9711999-01-18 Michael Meissner <meissner@cygnus.com>
972
973 * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
974 supported with -mcpu=xxx.
975 (processor_type): Add PROCESSOR_PPC750.
976 (ADJUST_PRIORITY): Call rs6000_adjust_priority.
977 (RTX_COSTS): Supply costs for 750 multiply/divide operations.
978 (rs6000_adjust_priority): Add declaration.
979
980 * rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the
981 processor type as 750, not 603. Allow -mmultiple and -mstring on
982 little endian 750 systems.
983 (rs6000_adjust_priority): Stub for now.
984 (get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
985
986 * rs6000.md (function/cpu attributes): Add initial ppc750 support.
987
988 * sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if
989 little endian.
990 (CC1_SPEC): Pass -mstrict-align if little endian, and not
991 overridden.
992 (CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
993 (SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
994
995 * {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is
996 little endian.
997
998 * t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs.
999
aa7ecb4a
GRK
1000Mon Jan 18 12:03:08 1999 Gavin Romig-Koch <gavin@cygnus.com>
1001
1002 * config/mips/mips.md (div_trap): Split div_trap_mips16
1003 from div_trap.
1004 (div_trap_normal,div_trap_mips16): Correct the length attributes.
1005
87e11268
KG
1006Mon Jan 18 11:48:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1007
1008 * cpplib.c (special_symbol): Qualify a char* with the `const' keyword.
1009 Instead of writing to const char *buf directly, use a non-const
1010 variable `wbuf' to allocate and write a string, then set buf = wbuf.
1011
1012 * cppulp.c (user_label_prefix): Qualify a char* with the `const'
1013 keyword.
1014
1015 * dyn-string.c (dyn_string_append): Likewise.
1016
1017 * dyn-string.h (dyn_string_append): Likewise.
1018
1019 * final.c (end_final, output_operand_lossage, asm_fprintf): Likewise.
1020
1021 * output.h (end_final, output_operand_lossage, asm_fprintf,
1022 named_section, decode_reg_name, make_decl_rtl, user_label_prefix):
1023 Likewise.
1024
1025 * profile.c (init_branch_prob): Likewise.
1026
1027 * toplev.c (set_target_switch, vmessage,
1028 v_message_with_file_and_line, v_message_with_decl,
1029 v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
1030 verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
1031 v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
1032 v_pedwarn_with_file_and_line, vsorry, v_really_sorry,
1033 open_dump_file, dump_rtl, clean_dump_file,
1034 print_version, print_single_switch, print_switch_values,
1035 dump_base_name, debug_args, lang_independent_options,
1036 user_label_prefix, documented_lang_options, target_switches,
1037 target_options, print_time, pfatal_with_name, fatal_io_error,
1038 fatal_insn, default_print_error_function, print_error_function,
1039 report_error_function, error_with_file_and_line, error_with_decl,
1040 error_for_asm, error, fatal, warning_with_file_and_line,
1041 warning_with_decl, warning_for_asm, warning, pedwarn,
1042 pedwarn_with_decl, pedwarn_with_file_and_line, sorry,
1043 really_sorry, botch, output_quoted_string, output_file_directive,
1044 open_dump_file, rest_of_decl_compilation, display_help, main):
1045 Likewise.
1046
1047 * toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name,
1048 fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line,
1049 warning_with_file_and_line, error_with_file_and_line, sorry,
1050 really_sorry, default_print_error_function, report_error_function,
1051 rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl,
1052 error_with_decl, error_for_asm, warning_for_asm, output_quoted_string,
1053 output_file_directive, botch): Likewise.
1054
1055 * tree.h (make_decl_rtl): Likewise.
1056
1057 * varasm.c (strip_reg_name, named_section, decode_reg_name,
1058 make_decl_rtl): Likewise.
1059
6b106e7d
GRK
1060Mon Jan 18 11:35:49 1999 Gavin Romig-Koch <gavin@cygnus.com>
1061
1062 * Makefile.in (TCL_LIBRARY): Use 'cd' to find the library
1063 directory logically rather than physically.
1064
47c3ed98
KG
1065Mon Jan 18 09:05:37 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1066
1067 * loop.c (insert_bct): Hide the definition of variables
1068 `increment_direction', `compare_direction', `add_iteration' and
1069 `loop_var_mode'.
1070
1071 * recog.c (mode_dependent_address_p): Mark parameter `addr' with
1072 ATTRIBUTE_UNUSED. Mark label `win' with ATTRIBUTE_UNUSED_LABEL.
1073 (mode_independent_operand): Mark label `lose' with
1074 ATTRIBUTE_UNUSED_LABEL.
1075
1076 * regclass.c (n_occurrences): Remove prototype and definition.
1077
1078 * reload.c (find_reloads_address_1): Mark variable `tem' with
1079 ATTRIBUTE_UNUSED.
1080
1081 * reload1.c (reload): Cast the first two arguments of `bcopy' to PTR.
1082
1083 * sbitmap.c (sbitmap_copy): Likewise.
1084
1085 * scan-decls.c (scan_decls): Hide label `handle_comma'.
1086
1087 * toplev.c (output_lang_identify): Mark prototype with
1088 ATTRIBUTE_UNUSED.
1089
1090 * tree.c (make_node): Cast the first argument of `bzero' to PTR.
1091 (make_tree_vec): Likewise.
1092 (build1): Likewise.
1093
1094 * varasm.c (assemble_static_space): Mark variable `tem' with
1095 ATTRIBUTE_UNUSED.
1096
23473647
NS
1097Mon Jan 18 04:28:36 1999 Nathan Sidwell <nathan@acm.org>
1098
1099 * Makefile.in (GCOV_INSTALL_NAME): New macro.
1100 (install-common): Use it.
1101 (uninstall): Use it.
1102 (uninstall): Use correct names for protoize and unprotoize.
1103
db3a887b
CB
1104Mon Jan 18 03:52:56 1999 Christian Bruel <Christian.Bruel@st.com>
1105 Jeffrey A Law (law@cygnus.com)
1106
1107 * flow.c (last_mem_set): Delete variable. References removed.
1108 (mem_set_list): New variable.
1109 (life_analysis): Initialize and finalize alias analysis.
1110 (propagate_block); Initialize mem_set_list. Clear for CALL_INSNs.
1111 (insn_dead_p): For a store to memory, search the entire mem_set_list
1112 for a match.
1113 (mark_set_1): Kill entries on the mem_set_list for aliased writes or
1114 changes to their addresses. Add new entries to the mem_set_list for
1115 memory writes writes.
1116 (mark_used_regs): Kill entries on the mem_set_list which may be
1117 referenced by a load operation.
1118
c9991385
JL
1119Mon Jan 18 01:01:02 1999 Jeffrey A Law (law@cygnus.com)
1120
1121 * alias.c (base_alias_check): Add missing return for differing
1122 symbols case.
1123
c4687d70
RO
1124Mon Jan 18 00:36:13 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1125
1126 * mips-tdump.c (print_file_desc): Handle unknown filenames and
1127 missing local symbols.
1128
bba596a3
RH
1129Sun Jan 17 21:04:31 1999 Richard Henderson <rth@cygnus.com>
1130
1131 * jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL.
1132
b3c9dc1a
RH
1133 * system.h (bcopy): Implement with memmove not memcpy.
1134
89098dc1
JL
1135Sun Jan 17 19:23:20 1999 Jeffrey A Law (law@cygnus.com)
1136
c65ef754
JL
1137 * Makefile.in (cppulp.o): Add dependencies.
1138
f9670bce
JL
1139 * i386.md (integer conditional moves): Add missing earlyclobbers.
1140
89098dc1
JL
1141 * regmove.c (optimize_reg_copy_1): Undo Aug 18 change. Update
1142 REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
1143 where a register is live.
1144
1145Sun Jan 17 03:20:47 1999 H.J. Lu (hjl@gnu.org)
1146
1147 * reg-stack.c (subst_stack_regs_pat): Abort if the destination
1148 of a FP conditional move is not on the FP register stack.
1149
82db59b7
JL
1150Sun Jan 17 01:15:04 PST 1999 Jeff Law (law@cygnus.com)
1151
1152 * version.c: Bump for snapshot.
1153
62e7b719
JL
1154Sat Jan 16 23:40:33 1999 Jeffrey A Law (law@cygnus.com)
1155
148e9d57
JL
1156 * reload1.c (reload_cse_regs_1): Do not call
1157 reload_cse_simplify_operands for an insn with asm operands.
1158
62e7b719
JL
1159 * cccp.c (print_help): Fix typos.
1160 * cpplib.c (print_help): Fix typos.
1161 * toplev.c (f_optiosn): Fix typos.
1162 (documented_lang_options): Fix typos.
1163
cbc54665
ME
1164Sat Jan 16 21:48:17 1999 Marc Espie (Marc.Espie@openbsd.org)
1165
1166 * gcc.c: (do_spec_1): Fix obvious typo.
1167
db838bb8
KG
1168Sat Jan 16 19:31:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1169
1170 * c-decl.c (duplicate_decls): If `warn_traditional', warn when
1171 a non-static function declaration follows a static one.
1172
1173 * invoke.texi (-Wtraditional): Document the extra check now done
1174 by this flag.
1175
4fbf29af
JL
1176Sat Jan 16 15:13:46 1999 Jeffrey A Law (law@cygnus.com)
1177
1178 * pa.md (shadd): Create shadd insns, even if the result of the shift is
1179 needed without the addition.
1180
19e1d311
R
1181Sat Jan 16 10:48:16 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1182
1183 * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
1184
393049a9
RH
1185Fri Jan 15 23:44:37 1999 Richard Henderson <rth@cygnus.com>
1186
1187 * sparc.c (sparc_issue): Add hypersparc/sparclite86x entries.
1188
19684119
DE
1189Fri Jan 15 22:30:04 1999 David Edelsohn <edelsohn@mhpcc.edu>
1190
1191 * rs6000.h (CONST_OK_FOR_LETTER_P): Do not assume 32-bit CONST_INT.
1192 * rs6000.c (u_short_cint_operand, add_operand, logical_operand,
1193 non_add_cint_operand, non_logical_cint_operand): Likewise.
1194 (get_issue_rate): Add CPU_PPC604E case.
1195 * rs6000.md (movdi, !TARGET_POWERPC64 splitters): Handle 64-bit hosts.
1196
1f06ee8d
RH
1197Fri Jan 15 18:42:12 1999 Richard Henderson <rth@cygnus.com>
1198
1199 * expr.c (queued_subexp_p): Make public.
1200 * expr.h (queued_subexp_p): Declare it.
1201 * recog.c (asm_operand_ok): New function.
1202 (check_asm_operands): Use it. After reload, use constrain_operands
1203 instead.
1204 * recog.h (asm_operand_ok): Declare it.
1205 * stmt.c (expand_asm_operands): Use it to try harder to make
1206 asms initially satisfy their constraints.
1207
1e75bc34
JL
1208Fri Jan 15 17:43:59 1999 Jeffrey A. Law <law@rtl.cygnus.com>
1209
1210 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
1211 (mem (lo_sum (...)) for TFmode unless TARGET_V9.
1212
077613ba
MH
1213Sat Jan 16 12:47:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1214
1215 * config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction
1216 in delay slot of RPTBD.
1217
1218Sat Jan 16 12:26:40 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1219
1220 * config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long
1221 divide and modulo sign problem.
1222
9f16f932
MH
1223Fri Jan 15 11:02:31 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1224
1225 * unroll.c (loop_iterations): Return 0 if the last loop insn
1226 is not a jump insn or if the loop has multiple back edges.
1227
8c55f49c
JL
1228Thu Jan 14 22:38:41 1999 Jeffrey A Law (law@cygnus.com)
1229
f387b2e4
JL
1230 * unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
1231 a register with another DEST_ADDR giv if the address is not valid.
1232
41b6ea68
JL
1233 * pa.c (hppa_expand_epilogue): Save and restore the static chain
1234 around the call to mcount.
1235
1ca7ac43
JL
1236 * h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
1237
8c55f49c
JL
1238 * stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
1239 generating non-canonical rtl.
1240
e4d26fc7
VM
12411999-01-14 Vladimir N. Makarov <vmakarov@cygnus.com>
1242
1243 * config/i960/i960.c (i960_output_move_double_zero,
1244 i960_output_move_quad_zero): New functions for moving zeros.
1245 (i960_output_move_double, i960_output_move_quad): Additional code
1246 for situation when moving unaligned register group.
1247
1248 * config/i960/i960.h (i960_output_move_double_zero,
1249 i960_output_move_quad_zero): The function definitions.
1250
1251 * config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
1252
9ef06443
VM
12531999-01-13 Vladimir N. Makarov <vmakarov@cygnus.com>
1254
1255 * config/i960/i960.c (i960_function_prologue): New code (optimal
1256 solution) for saving global registers in local registers.
1257 (form_reg_groups, reg_group_compare, split_reg_group): New
1258 functions used by the code.
1259 (reg_group): New structure definition for the new code.
1260
58a2f534
RH
1261Wed Jan 13 20:12:37 1999 Richard Henderson <rth@cygnus.com>
1262
1263 * integrate.c (expand_inline_function): Recognize (mem (addressof))
1264 and substitute. Copy the return value from there into a new pseudo.
1265
716618d5
CM
1266Wed Jan 13 16:47:00 1999 Catherine Moore <clm@cygnus.com>
1267
1268 * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
1269 before generating a call to abort for volatile functions.
1270 * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
1271 (TARGET_ABORT_NORETURN): Define.
1272 (abort-on-noreturn): New option.
1273
9b4f2bb7
MH
1274Thu Jan 14 13:52:42 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1275
1276 * config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc
1277 and binarycc operations in 3rd annulled delay slot!
1278
34792e82
JL
1279Wed Jan 13 16:16:44 1999 Catherine Moore <clm@cygnus.com>
1280
1281 * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
1282 before generating a call to abort for volatile functions.
1283 * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
1284 (TARGET_ABORT_NORETURN): Define.
1285 (abort-on-noreturn): New option.
1286
1287Wed Jan 13 13:30:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1288
1289 * cccp.c (xstrdup): Renamed from `savestring'. All callers changed.
1290 Remove prototype which we get from libiberty.h.
1291
1292 * collect2.c (xstrdup): Likewise.
1293
1294 * genextract.c (xstrdup): Likewise for `copystr'.
1295 (mybzero): Remove it and use `memset' instead.
1296
1297 * genoutput.c (mybcopy, mybzero): Remove these. All callers changed
1298 to use `memcpy' and `memset' instead.
1299
1300 * genrecog.c (xstrdup): Renamed from `copystr'. All callers
1301 changed. Remove prototype.
1302 (mybcopy, mybzero): Remove these and use memcpy/memset.
1303
1304Wed Jan 13 00:59:04 1999 Jeffrey A Law (law@cygnus.com)
1305
1306 * mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when
1307 generating code for TARGET_64BIT.
1308
1309Tue Jan 12 14:05:37 1999 David Edelsohn <edelsohn@mhpcc.edu>
1310
1311 * rs6000.c (print_operand, cases 'm' and 'M'): Do not depend on
1312 HOST_WIDE_INT word-size.
1313 (rs6000_stack_info): Remove redundant alignment of fpmem.
1314
1315Tue Jan 12 14:05:37 1999 Richard Henderson <rth@cygnus.com>
1316
1317 * rs6000.c (short_cint_operand): Remove CONSTANT_P_RTX handling.
1318 (u_short_cint_operand, reg_or_cint_operand, logical_operand): Likewise.
1319 (input_operand): Adjust CONSTANT_P_RTX handling.
1320 * rs6000.h (PREDICATE_CODES): Remove CONSTANT_P_RTX references.
1321 * rs6000.md (movsi): Adjust CONSTANT_P_RTX handling.
1322 (movhi, movqi): Remove CONSANT_P_RTX handling.
1323 (movdi): Adjust CONSTANT_P_RTX handling.
1324
1325Tue Jan 12 10:23:24 1999 Stan Cox <scox@cygnus.com>
1326
1327 * mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls.
1328
eb691392
MH
13291999-01-12 Manfred Hollstein <manfred@s-direktnet.de>
1330
1331 * m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
1332 ensure all prototypes necessary for building libio will be available.
1333 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
1334 definitions here as they are not host specific.
1335 * m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
1336
1ff136fd
RH
1337Tue Jan 12 02:53:46 1999 Richard Henderson <rth@cygnus.com>
1338
1339 * cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
1340
fb857ec1
JL
1341Tue Jan 12 02:36:10 PST 1999 Jeff Law (law@cygnus.com)
1342
1343 * version.c: Bump for snapshot.
1344
d6c0e1c8
RH
1345Tue Jan 12 01:30:19 1999 Richard Henderson <rth@cygnus.com>
1346
1347 * rtl.c (rtx_alloc): Use memset instead of inline loop.
1348
b0983bb9
RH
1349 * recog.h (recog_op_alt): Declare extern.
1350
fbdfe39c
RH
1351Tue Jan 12 00:23:31 1999 Richard Henderson <rth@cygnus.com>
1352
1353 * function.c (purge_addressof_1): If the note accesses a mem+addressof
1354 in a wider mode than any replacement, adjust the cached replacement.
1355 Cache trivial substitutions as well.
1356
5f6c11d6
RH
1357Tue Jan 12 00:06:00 1999 Richard Henderson <rth@cygnus.com>
1358
1359 * Makefile.in (OBJECTS): Add sbitmap.o.
1360 (BASIC_BLOCK_H): Add sbitmap.h.
1361 * basic-block.h: Move simple bitmap code to sbitmap.h.
1362 * flow.c: Move simple bitmap code to sbitmap.c
1363 * sbitmap.h, sbitmap.c: New files.
1364
ca7cdae3
RH
1365Mon Jan 11 23:51:50 1999 Richard Henderson <rth@cygnus.com>
1366
1367 * alpha.h (TARGET_SWITCHES): Document switches.
1368 (TARGET_OPTIONS): Likewise.
1369
1370 * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
1371
a17fcad7
RH
1372Mon Jan 11 22:54:14 1999 Richard Henderson <rth@cygnus.com>
1373
1374 * tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
1375
3b413743
RH
1376Mon Jan 11 22:36:01 1999 Richard Henderson <rth@cygnus.com>
1377
1378 * basic-block.h (basic_block_head): Rename to x_basic_block_head.
1379 (basic_block_end): Rename to x_basic_block_end.
1380 (BLOCK_HEAD, BLOCK_END): Update.
1381
1382 * caller-save.c: Change basic_block_head/end references to
1383 BLOCK_HEAD/END.
1384 * combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
1385 * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
1386 * regmove.c, reload1.c, reorg.c, sched.c: Likewise.
1387
ed35cf6e
KG
1388Sat Jan 9 23:54:09 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1389
1390 * gcc.c (xstrerror): Renamed from my_strerror. All callers
1391 changed. Remove prototype since we get that from libiberty.h.
1392
1393 * protoize.c (xstrerror): Likewise.
1394
22d9f2cf
KG
1395Sat Jan 9 23:22:04 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1396
1397 * gcc.c (read_specs): Ensure format specifiers match their arguments.
1398
c2c41b7e
RH
1399Sat Jan 9 20:04:24 1999 Richard Henderson <rth@cygnus.com>
1400
1401 * tree.c (copy_node): Oops. That would be copy not zero
1402 in that last change.
1403
5e6a42d9
MH
1404Sun Jan 10 15:35:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1405
1406 * config/c4x/c4x.c: Include system.h.
1407 (c4x_caller_save_map): Disable caller save for RC.
1408 (c4x_optimization_options): Disable scheduling before reload.
1409 (valid_parallel_load_store) : Define return type as int.
1410 Remove unused variable regs.
1411 * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
1412 class.
1413 * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
1414 handle rotations.
1415 (*db, decrement_and_branch_until_zero): Fix up constraints
1416 to keep reload happy.
1417
dfa27ef1
RH
1418Sat Jan 9 18:35:29 1999 Richard Henderson <rth@cygnus.com>
1419
1420 * tree.c (make_node): Call bzero instead of inline clear.
1421 (copy_node, make_tree_vec, build1): Likewise.
1422 (get_identifier): Call strlen instead of inline count.
1423 (maybe_get_identifier): Likewise.
1424
dfb31eec
MH
1425Sun Jan 10 14:04:51 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1426
1427 * config/c4x/c4x.md: (in_annul_slot_3): Allow unarycc and binarycc
1428 operations in 3rd annulled delay slot.
1429 (*lshrqi3_const_set): Disallow c constraint for operand0.
1430 (modhi3+1, modhi3+2): Set attribute type to multi.
1431 * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
1432 != operator.
1433
a6b1d0a7
KG
1434Sat Jan 9 11:44:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1435
1436 * gansidecl.h: Allow attribute unused on labels only when we are
1437 version 2.93 or higher. Not all versions of 2.92 have this feature.
1438
1439 * version.c: Bump minor number to 93.
1440
523bb0ba
AS
1441Fri Jan 8 10:51:13 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1442
1443 * config/m68k/m68k.h: Declare output_function_epilogue.
1444 * recog.h: Declare next_insn_tests_no_inequality.
1445
2668793e
JL
1446Fri Jan 8 01:43:53 1999 Jeffrey A Law (law@cygnus.com)
1447
642cac7b
JL
1448 * stmt.c (optimize_tail_recursion): New function, extracted from ...
1449 (expand_return): Use optimize_tail_recursion.
1450 * tree.h (optimize_tail_recursion): Declare.
1451
2668793e
JL
1452 * toplev.c (compile_file): Move call to output_func_start_profiler
1453 to after the loop to emit deferred functions.
1454
642cac7b
JL
1455Thu Jan 7 19:52:53 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1456
1457 * system.h (abort): Supply more detailed information on how to
1458 report an Internal Compiler Error.
1459
8e6a59fe
MM
1460Thu Jan 7 11:26:17 1999 Mark Mitchell <mark@markmitchell.com>
1461
1462 * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
1463 allocate memory that will live beyond this function.
1464 (expand_call): Free it here.
1465
8947065c
RH
1466Thu Jan 7 03:08:17 1999 Richard Henderson <rth@cygnus.com>
1467
1468 * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
1469 integer data not destined for fp regs.
1470 (LEGITIMIZE_RELOAD_ADDRESS): New.
1471
1472Thu Jan 7 03:03:42 1999 Stan Cox <scox@cygnus.com>
1473 Richard Henderson <rth@cygnus.com>
1474
1475 Support for Hypersparc and Sparclite86x:
1476 * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
1477 (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
1478 (ASM_CPU32_DEFAULT_SPEC): Likewise.
1479 (TARGET_CPU_DEFAULT): Likewise.
1480 (enum processor_type): Likewise.
1481 (CPP_ENDIAN_SPEC): Handle little endian data.
1482 (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
1483 (ADJUST_COST): Call sparc_adjust_cost.
1484 * sparc.c (sparc_override_options): Fix up for the new targets.
1485 (supersparc_adjust_cost): Make static.
1486 (hypersparc_adjust_cost): New.
1487 (ultrasparc_adjust_cost): Make static.
1488 (sparc_adjust_cost): New.
1489 * sparc.md (attr cpu): Add hypersparc and sparclite86x.
1490 (function_unit): Add hypersparc scheduling rules.
1491
1492 * configure.in (with_cpu handler): Recognize hypersparc.
1493
4ddb3ea6
MH
1494Thu Jan 7 23:54:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1495
1496 * config/c4x/c4x.c: Added space after negation operator.
1497 * config/c4x/c4x.h: Likewise.
1498 * config/c4x/c4x.md: Likewise.
1499
f2b15118
MH
1500Thu Jan 7 23:39:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1501
1502 * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
1503
70186b34
BS
1504Thu Jan 7 00:29:25 199 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1505
1506 * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
1507 when a test can't be performed due to limited width of
1508 HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
1509 Fix UDIV case for cases where the first operand has the highest bit
1510 set.
1511
548e44b3
LV
1512Thu Jan 7 00:01:38 1999 Lutz Vieweg <lkv@mania.robin.de>
1513
1514 * pa.h (reg_class): Add FPUPPER_REGS.
1515 (REG_CLASS_NAMES): Similarly.
1516 (REG_CLASS_CONTENTS): Similarly
1517 (REGNO_REG_CLASS): Handle FPUPPER_REGS.
1518 (FP_REG_CLASS_P): Likewise.
1519 (REG_CLASS_FROM_LETTER): Similarly.
1520 (CLASS_MAX_NREGS): Similarly.
1521
884ba59a
BK
15221999-01-06 Brendan Kehoe <brendan@cygnus.com>
1523
1524 * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
1525 for a typedef of bool. Make sure to have a copy of the file is
1526 in place before we look to fix it. Fix typo in variable name to
1527 FILE.
1528
44d22bef
RH
1529Wed Jan 6 07:51:05 1999 Richard Henderson <rth@cygnus.com>
1530
1531 * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
1532 value_mode for the return mode.
1533
90e6a802
RL
1534Wed Jan 6 17:55:19 1999 Robert Lipe <robertlipe@usa.net>
1535
1536 * configure.in: New flag --with-dwarf2. If set, enables DWARF-2
1537 debugging as default.
1538
1539 * config/tm-dwarf2.h: New file.
1540
20efdf74
JL
1541Wed Jan 6 16:08:54 1999 Jeffrey A Law (law@cygnus.com)
1542
ee65dab8
JL
1543 * h8300.h (ASM_OUTPUT_LABELREF): Define.
1544
4f72f5da
JL
1545 * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
1546 * local-alloc.c (update_equiv_regs): Corresponding changes.
1547 * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
1548
ca54603f
JL
1549 * calls.c (special_function_p): Push alloca test inside the large
1550 conditional which excludes functions not at file scope or not
1551 extern.
1552
20efdf74
JL
1553 * calls.c (special_function_p): New function broken out of
1554 expand_call.
1555 (precompute_register_parameters): Likewise.
1556 (store_one_arg): Likewise.
1557 (store_unaligned_argumetns_into_pseudos): Likewise.
1558 (save_fixed_argument_area): Likewise.
1559 (restore_fixed_argument_area): Likewise.
1560 (expand_call): Corresponding changes.
1561
4a8832ee
AS
1562Wed Jan 6 10:43:29 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1563
1564 * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
1565 handling.
1566 (const_sint32_operand): Likewise.
1567
2813b56e
KG
1568Wed Jan 6 09:44:51 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1569
1570 * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
1571 is a macro when deciding if we can use `jmp_buf' in prototypes.
1572
e4e30b3d
MH
1573Thu Jan 7 00:12:24 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1574
1575 * config/c4x/c4x.md (addqi3): If the destination operand is
1576 a hard register other than an extended precision register,
1577 emit addqi3_noclobber.
1578 (*addqi3_noclobber_reload): New pattern added so that reload
1579 will recognise a store of a pseudo, equivalent to the sum
1580 of the frame pointer and a constant, as an add insn.
1581
2f197d2f
ME
1582Wed Jan 6 03:18:53 1999 Mark Elbrecht <snowball3@usa.net.
1583
1584 * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
1585 * configure: Rebuilt.
1586 * i386/xm-go32.h: Define LIBSTDCXX.
1587 * i386/x-go32: New.
1588 * i386/go32.h (MD_EXEC_PREFIX): Define.
1589 (FILE_NAME_ABSOLUTE_P): Define.
1590 (LINK_COMMAND_SPEC): Define.
1591
b3fa7e9f
CH
1592Wed Jan 6 02:23:36 1999 "Charles M. Hannum" <root@ihack.net>
1593
1594 * expr.c (store_expr): If the lhs is a memory location pointed
1595 to be a postincremented (or postdecremented) pointer, always
1596 force the rhs to be evaluated into a pseudo.
1597
7735516c
GK
1598Wed Jan 6 00:54:21 1999 Geoff Keating <geoffk@ozemail.com.au>
1599
1600 * real.c (mtherr): Print more reasonable warning messages.
1601
460ee112
KG
1602Tue Jan 5 21:57:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1603
1604 * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
1605
1606 * cccp.c: Include prefix.h, don't prototype prefix.c functions.
1607 (new_include_prefix): Constify char* parameters.
1608
1609 * cppfiles.c (read_name_map): Likewise.
1610 (append_include_chain): Likewise. Also, use a writable char* copy
1611 of parameter `dir' which we then modify, rather than using the
1612 parameter itself to store the new writable string.
1613 (remap_filename): Constify some variables. Also, use a writable
1614 char* to store an allocated string which we will be modifying.
1615
1616 * cpplib.c: Include prefix.h, don't prototype prefix.c functions.
1617 (cpp_start_read): Constify variable `str'.
1618
1619 * cpplib.h (append_include_chain): Constify a char* parameter.
1620
1621 * gcc.c Include prefix.h, don't prototype prefix.c functions.
1622 (add_prefix, save_string): Constify char* parameters.
1623 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
1624
1625 * prefix.c: Include prefix.h.
1626 (get_key_value, translate_name, save_string, update_path,
1627 set_std_prefix): Constify various char* parameters and variables.
1628 (save_string): Use xmalloc, not malloc.
1629 (translate_name): Use a writable temporary variable to create and
1630 modify a string before setting it to a const char*.
1631
1632 * prefix.h: New file to prototype functions exported from prefix.c.
1633
bb2d453f
DB
1634Mon Jan 4 15:37:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
1635
1636 * cpplib.c (skip_if_group): Split out the logic that handles
1637 directive recognition to its own function. Don't use
1638 parse markers; use a bare pointer into the buffer. Use
1639 copy/skip_rest_of_line instead of doing it by hand. Remove
1640 `return on any directive' mode which was never used, and take
1641 only one argument.
1642 (consider_directive_while_skipping): New function, subroutine
1643 of skip_if_group. Logic streamlined a bit.
1644 (conditional_skip, do_elif, do_else): Call skip_if_group with
1645 only one argument.
1646
1647Mon Jan 4 15:27:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
1648
1649 * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
1650 error.
1651
0ded1f18
JM
1652Mon Jan 4 11:55:51 1999 Jason Merrill <jason@yorick.cygnus.com>
1653
1654 * extend.texi (Bound member functions): Document.
1655
47e6be47
KG
1656Mon Jan 4 11:01:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1657
1658 * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
1659 lang_to_string, type_to_string): Make return type const char*.
1660 (print_symbol): Apply `const' keyword to a char*.
1661 (print_file_desc): Cast structure member `crfd' to ulong when
1662 comparing against one.
1663
1664 * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
1665 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
1666 (progname, input_name): Apply `const' keyword to a char*.
1667 Don't redundantly include sys/stat.h.
1668 (alloc_info): Apply `const' keyword to a char*.
1669 (st_to_string, sc_to_string): Likewise.
1670 (hash_string): Cast variable `hash_string' to a symint_t when
1671 comparing against one.
1672 (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
1673 Likewise cast it to long when comparing against one.
1674 (add_local_symbol): Apply `const' keyword to a char*.
1675 (add_ext_symbol): Likewise.
1676 (add_unknown_tag): Likewise.
1677 (add_procedure): Cast a printf-style field width to an int.
1678 (add_file): Cast PAGE_USIZE to long when comparing against one
1679 (parse_begin): Cast a printf-style field width to an int.
1680 (parse_bend): Likewise.
1681 (parse_def): Likewise.
1682 (parse_end): Likewise.
1683 (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
1684 (parse_stabs_common): Fix format specifier.
1685 (parse_input): Change type of variable `i' to Size_t.
1686 (write_object): Fix arguments to match format specifiers.
1687 Cast variable `num_write' to long when comparing against one.
1688 (read_seek): Cast variable `sys_read' to symint_t when comparing
1689 against one. Fix arguments to match format specifiers. Cast
1690 variable `size' to long when comparing against one.
1691 (copy_object): Cast result of `sizeof' to int when comparing
1692 against one. Fix arguments to match format specifiers. Cast
1693 variable `ifd' to long when comparing against a signed value.
1694 Likewise, likewise.
1695
736b02fd
KG
1696Mon Jan 4 10:30:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1697
1698 * c-common.c (decl_attributes): Allow applying attribute `unused'
1699 on a LABEL_DECL.
1700
1701 * c-parse.in (label): Parse attributes after a label, and call
1702 `decl_attributes' to handle them.
1703
1704 * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
1705
1706 * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
1707 generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
1708
1709 * invoke.texi: Note that labels can be marked `unused'.
1710
f430a01e
JL
1711Sun Jan 3 23:32:18 PST 1999 Jeff Law (law@cygnus.com)
1712
1713 * version.c: Bump for snapshot.
1714
3b0d546a
JL
1715Sun Jan 3 23:00:42 1999 Jeffrey A Law (law@cygnus.com)
1716
1717 * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
1718 RTL for a compare/jump sequence.
1719
362cc3d4
MH
1720Sun Jan 3 22:58:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1721
1722 * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
1723 for a target with HAVE_cc0 defined.
1724 (emit_cmp_and_jump_insns): New function.
1725 * expr.h (emit_cmp_and_jump_insns): Prototype it.
1726 * loop.c (check_dbra_loop): Use it to replace calls
1727 to emit_cmp_insn and emit_jump_insn and to canonicalise
1728 the comparison if necessary.
1729 * unroll.c (unroll_loop): Likewise.
1730
9d6b41f3
RO
1731Sun Jan 3 21:01:04 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1732
1cd0a8ed
RO
1733 * fixincludes (sys/utsname.h): Provide forward declaration of
1734 struct utsname on Ultrix V4.[35].
1735
9d6b41f3
RO
1736 * mips.md (div_trap): Use local labels instead of dot-relative
1737 branches.
1738
dcaeffef
JL
1739Sun Jan 3 20:40:34 1999 Jeffrey A Law (law@cygnus.com)
1740
1741 * pa.md (branch, negated branch): Handle (const_int 0) as first
1742 source operand.
1743 * pa.c (output_cbranch): Likewise.
1744
8dda1a21
DE
1745Sun Jan 3 03:20:38 1999 David Edelsohn <edelsohn@mhpcc.edu>
1746
1747 * rs6000.c (rs6000_stack_info): Undo spurious part of last
1748 change.
1749
1048777f
MH
17501999-01-01 Manfred Hollstein <manfred@s-direktnet.de>
1751
1752 * extend.texi (__builtin_constant_p): Add missing @smallexample.
1753
a94b6ed9
JL
1754Fri Jan 1 11:48:20 1999 Jeffrey A Law (law@cygnus.com)
1755
1756 * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
1757
f203c520
JL
1758Wed Dec 30 23:38:55 1998 Jeffrey A Law (law@cygnus.com)
1759
4cca99f4
JL
1760 * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
1761 (adddi_dishl32): Similarly.
1762
97577254
JL
1763 * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
1764 for each insn in the skipped block.
1765
f67c2384
JL
1766 * reload1.c (reload_as_needed): Verify that the insn satisfies its
1767 constraints after replacing a register address with an autoincrement
1768 address for reload inheritance purposes.
1769
f203c520
JL
1770 * i386.md (doubleword shifts): Avoid namespace pollution.
1771
56830143
DB
1772Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com>
1773
1774 * configure.in (FreeBSD ELF): Needs special crt files.
1775
2966b437
GN
1776Wed Dec 30 22:50:13 1998 Geoffrey Noer <noer@cygnus.com>
1777
1778 * i386/xm-cygwin.h: change DIR_SEPARATOR to forward slash.
1779
2c74fb2b
AS
17801998-12-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1781
1782 * loop.c (check_dbra_loop): While reversing the loop, if the
1783 comparison value has a VOID mode use the mode of the other operand
1784 to compute the mask.
1785
ff381587
MM
1786Wed Dec 30 22:24:00 1998 Michael Meissner <meissner@cygnus.com>
1787
1788 * rs6000.md ({save,restore}_stack_function): Take 2 operands to
1789 avoid warnings in compiling explow.c.
1790
1791 (patch from Ken Raeburn, raeburn@cygnus.com)
1792 * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
1793 fpmem_offset. Compute total size after that, and then
1794 rs6000_fpmem_offset using both values.
1795
c2a26505
GP
1796Mon Dec 28 19:26:32 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1797
1798 * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
1799 the future; indeed that already happens in some cases.
1800
11301057
RH
1801Tue Dec 29 11:58:53 1998 Richard Henderson <rth@cygnus.com>
1802
1803 * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
1804 (arith_operand): Remove constant_p_rtx handling.
1805 (const64_operand, const64_high_operand): Likewise.
1806 (arith11_operand, arith10_operand, arith_double_operand): Likewise.
1807 (arith11_double_operand, arith10_double_operand, small_int): Likewise.
1808 (small_int_or_double, uns_small_int, zero_operand): Likewise.
1809 * sparc.h (PREDICATE_CODES): Likewise.
1810
30dfe54a
RH
1811 * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
1812
185ebd6c
RH
1813Tue Dec 29 11:32:54 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>:
1814
1815 * rtl.def (CONSTANT_P_RTX): Clarify commentary.
1816 * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
1817 consider constant CONSTRUCTOR constant and to defer some cases
1818 to cse.
1819 * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
1820 * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
1821
1822Tue Dec 29 11:30:10 1998 Richard Henderson <rth@cygnus.com>
1823
1824 * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
1825 * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
1826
1827 * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
1828 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
1829 (sext_add_operand, and_operand, or_operand): Likewise.
1830 (reg_or_cint_operand, some_operand, input_operand): Likewise.
1831 * alpha.h (PREDICATE_CODES): Likewise.
1832
081f12b3
JL
1833Sat Dec 26 23:26:26 PST 1998 Jeff Law (law@cygnus.com)
1834
1835 * version.c: Bump for snapshot.
1836
7ce1e6c8
JL
1837Sat Dec 26 09:17:04 1998 Jeffrey A Law (law@cygnus.com)
1838
ba476f75
JL
1839 * gengenrtl.c (gencode): Always use bzero to clear memory instead
1840 of dangerous casts and stores.
1841
7ce1e6c8
JL
1842 * Makefile.in (compare, gnucompare): Add missing else true clauses.
1843
4b855767
JL
1844Fri Dec 25 23:00:56 1998 Jeffrey A Law (law@cygnus.com)
1845
1846 * alpha.md (builtin_longjmp): Add missing "DONE".
1847
6405c0ec
SC
1848Thu Dec 24 10:39:57 1998 Stan Cox <scox@cygnus.com>
1849
1850 * gcc.c (execute): Enable -pipe with win32.
1851
a1e27b76
NC
1852Wed Dec 23 10:27:44 1998 Nick Clifton <nickc@cygnus.com>
1853
1854 * config/arm/t-arm-elf: Add multiplib option for leading
1855 underscores.
1856
1857 * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
1858 'user_label_prefix' rather than macro USER_LABEL_PREFIX.
1859
1860 (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
1861 than variable 'reload_address_base_reg_class'. [Note this
1862 change is unrelated to the others in this patch].
1863
1864 * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
1865 leading underscore.
1866
973838fd
KG
1867Wed Dec 23 09:51:32 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1868
1869 * alias.c (record_alias_subset): Remove ignored `&'.
1870 (init_alias_once): Likewise.
1871
1872 * c-lex.c (UNGETC): Cast first argument of comma expression to void.
1873
1874 * config/mips/mips.c (mips_asm_file_end): Cast the result of
1875 fwrite to `int' when comparing against one.
1876
1877 * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
1878 (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
1879
1880 * cse.c (rehash_using_reg): Change type of variable `i' to
1881 unsigned int.
1882
1883 * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
1884 assigning it to one.
1885
1886 * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
1887
1888 * final.c (final_scan_insn): Likewise for variable `i'.
1889 (output_asm_insn): Cast a char to unsigned char when used as an
1890 array index.
1891
1892 * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
1893 assigning it to one.
1894
1895 * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
1896
1897 * recog.c (preprocess_constraints): Cast a char to unsigned char
1898 when used as an array index.
1899
1900 * regmove.c (find_matches): Likewise.
1901
1902 * reload1.c (calculate_needs): Add default case in switch.
1903 (eliminate_regs_in_insn): Initialize variable `offset'.
1904 (set_offsets_for_label): Change type of variable `i' to unsigned.
1905 (reload_as_needed): Wrap variable `i' in macro check on
1906 AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
1907
1908 * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
1909 with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t
1910 when comparing against one.
1911
1912 * stor-layout.c (layout_decl): Cast maximum_field_alignment to
1913 unsigned when comparing against one. Likewise for
1914 GET_MODE_ALIGNMENT().
1915 (layout_record): Cast record_align to int when comparing against a
1916 signed value.
1917 (layout_type): Cast TYPE_ALIGN() to int when comparing against a
1918 signed value.
1919
1920 * tree.c (get_identifier): Cast variable `len' to unsigned when
1921 comparing against one.
1922 (maybe_get_identifier): Likewise
1923
2ae74651
JL
1924Wed Dec 23 00:10:01 1998 Jeffrey A Law (law@cygnus.com)
1925
1926 * toplev.c (rest_of_compilation): Do not set reload_completed.
1927 * reload1.c (reload): Set reload_completed before calling
1928 cleanup_subreg_operands.
1929
3d0ec3b3
RH
1930Tue Dec 22 23:58:31 1998 Richard Henderson <rth@cygnus.com>
1931
1932 * reload1.c (emit_reload_insns): Check `set' not null before use.
1933
cae8acdd
NC
1934Tue Dec 22 15:15:45 1998 Nick Clifton <nickc@cygnus.com>
1935
1936 * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
1937 'int'.
1938
34fadae0
TP
1939Tue Dec 22 13:55:44 1998 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
1940
1941 * halfpic.c (half_pic_encode): Delete redundant code.
1942
2f0d2c99
MM
1943Tue Dec 22 13:02:22 1998 Michael Meissner <meissner@cygnus.com>
1944
1945 * toplev.c (main): Delete handling of -dM as a preprocessor
1946 option.
1947
b5c7059b
MM
1948Mon Dec 21 17:39:38 1998 Michael Meissner <meissner@cygnus.com>
1949
1950 * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
1951 -dI, which are handled by the preprocessor.
1952
62481348
JC
1953Sun Dec 20 16:13:44 1998 John F. Carr <jfc@mit.edu>
1954
1955 * configure.in: Handle Digital UNIX 5.x the same as 4.x.
1956 * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
1957
1ead53b3
JL
1958Sun Dec 20 07:39:52 PST 1998 Jeff Law (law@cygnus.com)
1959
1960 * version.c: Bump for snapshot.
1961
24ccb032
JL
1962Sat Dec 19 22:24:22 PST 1998 Jeff Law (law@cygnus.com)
1963
1964 * version.c: Bump for snapshot.
1965
a5e3973f
JL
1966Sat Dec 19 21:41:32 PST 1998 Jeff Law (law@cygnus.com)
1967
1968 * version.c: Bump for snapshot.
1969
85fda1eb
KG
1970Sat Dec 19 09:52:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1971
1972 * genattr.c (fatal): Qualify a char* with the `const' keyword.
1973
1974 * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
1975 write_unit_name, write_eligible_delay, expand_units,
1976 make_length_attrs, write_attr_case, find_attr,
1977 make_internal_attr): Likewise.
1978 * gencheck.c (tree_codes): Likewise.
1979 * gencodes.c (fatal): Likewise.
1980 * genconfig.c (fatal): Likewise.
1981 * genemit.c (fatal): Likewise.
1982 * genextract.c (fatal, walk_rtx, copystr): Likewise.
1983 * genflags.c (fatal): Likewise.
1984 * genopinit.c (fatal, optabs, gen_insn): Likewise.
1985 * genoutput.c (fatal, error, predicates): Likewise.
1986 * genpeep.c (fatal): Likewise.
1987 * genrecog.c (fatal, decision, pred_table, add_to_sequence,
1988 write_tree_1, write_tree, change_state, copystr, indents): Likewise.
1989
21f891de
RO
1990Thu Dec 17 18:21:49 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1991
94878f15
RO
1992 * configure.in (with-fast-fixincludes): Fix whitespace.
1993 * configure: Rebuilt.
1994
21f891de
RO
1995 * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
1996 asm() etc. function declarations in __DECC.
1997
b2e7e6fb
NC
1998Thu Dec 17 13:57:23 1998 Nick Clifton <nickc@cygnus.com>
1999
2000 * expr.c (emit_move_insn_1): Only emit a clobber if the target
2001 is a pseudo register.
2002
3cdbd1f8
NC
2003Thu Dec 17 13:50:29 1998 Nick Clifton <nickc@cygnus.com>
2004
2005 * gcse.c: Include expr.h in order to get the prototype for
2006 get_condition() which is used in delete_null_pointer_checks().
2007
cce4a958
KG
2008Thu Dec 17 15:58:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2009
2010 * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
2011
2df8df36
JW
2012Thu Dec 17 12:31:12 1998 Jim Wilson <wilson@cygnus.com>
2013
2014 * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
2015 (ALL_CFLAGS): Delete SCHED_CFLAGS.
2016
0197d76b
VM
20171998-12-17 Vladimir N. Makarov <vmakarov@cygnus.com>
2018
2019 * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
2020 ';').
2021
20221998-12-17 Michael Tiemann <tiemann@axon.cygnus.com>
2023
2024 * i960.md (extend*, zero_extend*): Don't generate rtl that looks
2025 like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
2026 optimizations from the combiner.
2027
86147f48
R
2028Thu Dec 17 08:27:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2029
2030 * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
2031
16b6e120
NC
2032Wed Dec 16 17:30:35 1998 Nick Clifton <nickc@cygnus.com>
2033
2034 * toplev.c (main): Disable optimize_size if a specific
2035 optimization level is requested. Always set optimization
2036 level to 2 if -Os is specified.
2037
05c32e16
DB
2038Wed Dec 16 16:33:04 1998 Dave Brolley <brolley@cygnus.com>
2039
2040 * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
2041 cpplib.
2042 * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
2043 initialize it using fname.
2044
692b872e
ZW
20451998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu>
2046
2047 * cpplib.c (do_include): Treat #include_next in the
2048 primary source file as #include plus warning. Treat
2049 #include_next in a file included by absolute path as an
2050 error. fp == CPP_NULL_BUFFER is a fatal inconsistency.
2051
36b8337d
KG
2052Wed Dec 16 12:28:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2053
2054 * cccp.c: Don't define MIN/MAX anymore.
2055 * cpplib.c: Likewise.
2056 * machmode.h: Likewise.
2057 * system.h: Provide definitions for MIN/MAX.
2058
2d234b4f
ZW
2059Tue Dec 15 23:47:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
2060
2061 * fix-header.c: Don't define xstrdup here.
2062
a07516d3
R
2063Wed Dec 16 05:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2064
2065 * loop.c (consec_sets_giv): New argument last_consec_insn.
2066 (strength_reduce): Provide / use it.
2067
35704c46
MH
2068Wed Dec 16 17:24:07 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2069
2070 * loop.h (loop_info): New field 'vtop'.
2071 * loop.c (check_dbra_loop): Use loop_info->vtop rather than
2072 scanning loop for vtop.
2073 * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
2074 (loop_iterations): Use them to determine if loop has a constant
2075 number of iterations. Set loop_info->vtop. Don't subtract
2076 common reg term from initial_value and final_value if have a
2077 do-while loop.
2078
9c907d54
JL
2079Tue Dec 15 13:49:55 1998 Jeffrey A Law (law@cygnus.com)
2080
b884a51a
JL
2081 * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
2082
5ba52c2e
JL
2083 * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
2084
9c907d54
JL
2085 * mn10200.md (abssf2, negsf2): New expanders.
2086
2087 * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
2088
ddc54eaa
NC
2089Tue Dec 15 11:55:30 1998 Nick Clifton <nickc@cygnus.com>
2090
2091 * integrate.c (copy_rtx_and_substitute): If a SUBREG is
2092 replaced by a CONCAT whoes components do not have the same
2093 mode as the original SUBREG, use a new SUBREG to restore the
2094 mode.
2095
2096 * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
2097 multiword complex values.
2098
c49445e0
ZW
20991998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
2100
2101 * cppalloc.c: Add xstrdup here.
2102 * cpplib.h: Remove savestring prototype.
2103 * cpplib.c: Remove savestring function. s/savestring/xstrdup/
2104 throughout.
2105 * cppfiles.c: s/savestring/xstrdup/ throughout.
2106
941e09b6
ZW
21071998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
2108
2109 * cpplib.c: Make all directive handlers read their own
2110 arguments.
2111 (struct directive): Remove last two arguments from FUNC
2112 member prototype. Remove `command_reads_line' member
2113 entirely.
2114 (directive_table): Remove initializations of
2115 command_reads_line flag. Pretty-print.
2116 (eval_if_expression, do_define, do_line, do_include,
2117 do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
2118 do_else, do_elif, do_sccs, do_assert, do_unassert,
2119 do_warning): Take only two args.
2120
2121 (cpp_define): Call do_define with two args and the text to
2122 define stuffed into a buffer.
2123 (make_assertion): Call do_assert with two args.
2124 (handle_directive): Call do_line with two args. Call
2125 kt->func with two args. Remove command_reads_line
2126 processing.
2127 (do_define, do_undef, do_error, do_warning, do_pragma,
2128 do_sccs): Read the rest of the line here.
2129 (do_ident): Gobble rest of line, as cccp does.
2130 (cpp_undef): New function.
2131 (cpp_start_read): Call cpp_undef instead of do_undef.
2132
7061aa5a
ZW
21331998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
2134
2135 * cpphash.h (union hash_value): Remove `keydef' member, add a
2136 `struct hashnode *aschain' member for #assert.
2137
2138 * cpplib.c (struct tokenlist_list, struct
2139 assertion_hashnode): Delete structure definitions.
2140 (assertion_install, assertion_lookup, delete_assertion,
2141 check_assertion, compare_token_lists, reverse_token_list,
2142 read_token_list, free_token_list): Delete functions.
2143 (parse_assertion): New function.
2144 (cpp_cleanup): Don't destroy the assertion_hashtable.
2145
2146 (do_assert): Gut and rewrite. #assert foo (bar) places
2147 entries for `#foo' and `#foo(bar)' in the macro hash table,
2148 type T_ASSERT. The value union's `aschain' member is used
2149 to chain all answers for a given predicate together.
2150 (do_unassert): Also rewritten. Take an un-asserted
2151 answer off the chain from its predicate and call
2152 delete_macro on the hashnode, or walk a predicate chain
2153 calling delete_macro on all the entries.
2154 (cpp_read_check_assertion): Simply call parse_assertion to
2155 get the canonical assertion name, and look that up in the
2156 hash table.
2157
2158 * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
2159 Removed.
2160
2161 * cpphash.c (install): Use bcopy instead of an explicit loop
2162 to copy the macro name.
2163
2164 * cppexp.c (cpp_lex): Convert the result of
2165 cpp_read_check_assertion to a `struct operation' directly;
2166 don't go through parse_number.
2167
4b259e3f
R
2168Tue Dec 15 18:27:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2169
2170 * loop.h (struct induction): Delete times_used member.
2171 * loop.c (n_times_set): Rename to set_in_loop. Changed all users.
2172 (n_times_used): Rename to n_times_set. Changed all users.
2173 (scan_loop): Free reg_single_usage before strength reduction.
2174 (record_giv, combine_givs): Remove handling of times_used member.
2175 (combine_givs_used_once): Rename to:
2176 (combine_givs_used_by_other) . Changed all callers.
2177
5f2f160c
JM
2178Tue Dec 15 01:45:26 1998 Jason Merrill <jason@yorick.cygnus.com>
2179
2180 * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
2181 instead of TREE_CODE_CLASS == 't'.
2182 (gen_type_die): Likewise.
2183 (scope_die_for): Ignore FUNCTION_TYPE "scopes".
2184
c1c7db89
JW
2185Mon Dec 14 16:23:27 1998 Jim Wilson <wilson@cygnus.com>
2186
2187 * real.c (endian): Disable last change unless
2188 HOST_BITS_PER_WIDE_INT is greater than 32.
2189
3167de5b
AM
2190Mon Dec 14 17:13:36 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
2191
2192 * output.h (force_data_section): New prototype.
2193 * varasm.c (force_data_section): New function to force the
2194 data section, regardless of what in_section thinks.
2195 * dwarf2out.c (output_call_frame_info): Call force_data_section
2196 since varasm may not realize we've changes sections.
2197
80599fd9
NC
2198Mon Dec 14 14:09:34 1998 Nick Clifton <nickc@cygnus.com>
2199
2200 * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
2201 after completeing reload.
2202
2203 * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
2204 deleted after reload.
2205
93e0dfe1
JL
2206Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com)
2207
2208 * rtl.h (multiple_sets): Fix prototype.
2209 * rtlanal.c (multiple_sets): Fix return type.
2210
5d943c3c
JL
2211Sun Dec 13 12:43:58 PST 1998 Jeff Law (law@cygnus.com)
2212
2213 * version.c: Bump for snapshot.
2214
714d352f
JL
2215Sun Dec 13 01:05:22 PST 1998 Jeff Law (law@cygnus.com)
2216
2217 * version.c: Bump for snapshot.
2218
56485bee
MH
22191998-12-13 Manfred Hollstein <manfred@s-direktnet.de>
2220
2221 * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
2222
404d95c4
R
2223Sun Dec 13 00:24:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2224
213c4983
R
2225 * rtl.h (recompute_reg_usage): Add second argument.
2226 * flow.c (recompute_reg_usage): Likewise.
2227 * toplev.c (rest_of_compilation): Supply second argument to
2228 recompute_reg_usage.
2229
404d95c4
R
2230 * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
2231 after reload.
2232
941c63ac
JL
2233Sat Dec 12 23:39:10 1998 Jeffrey A Law (law@cygnus.com)
2234
f08347a9
JL
2235 * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
2236 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
2237 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
2238 mcpu32 or m5200.
2239
4566eb62
JL
2240 * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
2241
941c63ac
JL
2242 * rtlanal.c (multiple_sets): New function.
2243 * rtl.h (multiple_sets): Declare it.
2244 * local-alloc.c (wipe_dead_reg): Use it.
2245 * global.c (global_conflicts): Likewise.
2246
8d4c79be
MM
2247Sat Dec 12 22:13:02 1998 Mark Mitchell <mark@markmitchell.com>
2248
2249 * global.c (record_conflicts): Don't use an array of shorts to
2250 store an array of ints.
2251 (global_conflicts): Likewise.
2252
f35cba21
RH
2253Sat Dec 12 16:49:24 1998 Richard Henderson <rth@cygnus.com>
2254
2255 * alpha.c (alpha_expand_block_move): mode_for_size expects
2256 bits, not bytes. Infer extra alignment from addressof.
2257
a9aefc1e
MM
22581998-12-11 Michael Meissner <meissner@cygnus.com>
2259
2260 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
2261 .sbss section, not .sdata.
2262
56adfa4a
MH
22631998-12-11 Manfred Hollstein <manfred@s-direktnet.de>
2264
8eeae6f4
MH
2265 * cccp.c: Do not #include <sys/stat.h> here; this is already done
2266 by "system.h".
2267 * collect2.c: Likewise.
2268 * cpplib.h: Likewise.
2269 * gcc.c: Likewise.
2270 * gcov.c: Likewise.
2271 * getpwd.c: Likewise.
2272 * protoize.c: Likewise.
2273 * toplev.c: Likewise.
2274
56adfa4a
MH
2275 * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
2276 and don't try to define it here.
2277 * Makefile.in (cppmain.o): Depend on machmode.h.
2278 (cpplib.o): Likewise.
2279 (cpperror.o): Likewise.
2280 (cppexp.o): Likewise.
2281 (cppfiles.o): Likewise.
2282 (cpphash.o): Likewise.
2283 (cppalloc.o): Likewise.
2284 (fix-header.o): Likewise.
2285 (scan-decls.o): Likewise.
2286
157131d7
SC
2287Fri Dec 11 11:02:49 1998 Stan Cox <scox@cygnus.com>
2288
2289 * sh.c (print_operand): lookup interrupt_handler attribute instead
2290 of relying on static variable.
2291 * (calc_live_regs): Likewise.
2292 * (sh_pragma_insert_attributes): Create interrupt_handler
2293 attribute if a pragma was specified
2294 * (sh_valid_machine_decl_attribute): Don't set static flag.
2295 * sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
2296
b0634509
R
2297Fri Dec 11 12:56:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2298
2299 * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
2300 to determine if a register is live at a jump destination.
2301 Everything is dead at a BARRIER.
2302
737e7965
JW
2303Thu Dec 10 16:02:06 1998 Jim Wilson <wilson@cygnus.com>
2304
2305 * cse.c (simplify_unary_operation): Sign-extend constants when
2306 they have the most significant bit set for the target.
2307 * real.c (endian): Sign-extend 32 bit output values on a 64 bit
2308 host.
2309 * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
2310 HOST_WIDE_INT temporary before negating it.
2311 * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
2312
353f10d5
DB
2313Thu Dec 10 15:05:59 1998 Dave Brolley <brolley@cygnus.com>
2314
2315 * objc/objc-act.c (lang_init_options): Enclose cpplib related code in
2316 #if USE_CPPLIB.
2317
2edfd4ee
KG
2318Thu Dec 10 13:39:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2319
2320 * collect2.h: New header file for prototypes.
2321
2322 * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
2323
2324 * collect2.c: Include collect2.h.
2325 * tlink.c: Likewise.
2326
c9852047
JL
2327Wed Dec 9 23:55:11 1998 Jeffrey A Law (law@cygnus.com)
2328
2329 * flow.c: Update some comments.
2330
5d7da2c6
DB
2331Wed Dec 9 15:29:26 1998 Dave Brolley <brolley@cygnus.com>
2332
2333 * objc/objc-act.c (cpp_initialized): Removed.
2334 (lang_init_options): Initialize cpplib.
2335 (lang_decode_option): Move initialization of cpplib to
2336 lang_init_options.
2337 * c-lang.c: (parse_options,parse_in): Added.
2338 (lang_init_options): Initialized cpplib here.
2339 * c-decl.c (parse_options,cpp_initialized): Removed.
2340 (c_decode_option): Move initialization of cpplib to
2341 lang_init_options.
2342
ed937a19
R
2343Wed Dec 9 19:36:57 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2344
2345 * reload1.c (reload_combine, reload_combine_note_store):
a0078b37 2346 Make STORE_RUID always valid.
ed937a19
R
2347 (reload_combine): Check if BASE is clobbered too early.
2348
290b61f7
NC
2349Wed Dec 9 09:53:58 1998 Nick Clifton <nickc@cygnus.com>
2350
2351 * reload.c (find_reloads): Display the insn that cannot be
2352 reloaded.
2353
bdf777e4
DB
2354Wed Dec 9 12:15:26 1998 Dave Brolley <brolley@cygnus.com>
2355
2356 * cccp.c (create_definition): Fix end of bufer logic.
2357
3b89e9d1
KG
2358Wed Dec 9 10:15:45 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2359
2360 * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
2361 pointer parameters changed to use the PARAMS() macro.
2362
0177de87
AM
2363Wed Dec 9 09:12:40 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
2364
2365 * except.h (struct handler_info): Add handler_number field.
2366 * except.c (gen_exception_label): EH labels no longer need to be
2367 on the permanent obstack.
2368 (get_new_handler): Set the label number field.
2369 (output_exception_table_entry): Regenerate handler label reference
2370 from the label number field.
2371 (init_eh): Remove a blank line.
2372 * integrate.c (get_label_from_map): Labels no longer need to be
2373 on the permanent obstack.
2374
7a3c92a5
JW
2375Tue Dec 8 22:04:33 1998 Jim Wilson <wilson@cygnus.com>
2376
2377 * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
2378 only when OUTER_CODE is SET.
2379
5353610b
R
2380Tue Dec 8 22:47:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2381
2382 * loop.c (strength_reduce): If scan_start points to the loop exit
2383 test, be wary of subversive use of gotos inside expression statements.
2384 Don't set maybe_multiple for a backward jump that does not
2385 include the label under consideration into its range.
2386 * unroll.c (biv_total_increment): Make use of maybe_multiple field.
2387
03d937fc
R
2388Tue Dec 8 22:33:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2389
2390 * explow.c (plus_constant_wide): Don't immediately return with
2391 result of recursive call.
2392
e6cfb550
AM
2393Tue Dec 8 15:32:56 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
2394
2395 * eh-common.h (struct eh_context): Add table_index for rethrows.
2396
2397 * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
2398 (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
2399 processed when inlined or unrolled (ie duplicated in some way).
2400
2401 * rtl.c (reg_note_name): Add strings for new reg_note enums.
2402
2403 * expr.h (rethrow_libfunc): New library decl.
2404
2405 * optabs.c (rethrow_libfunc): Initialize.
2406
2407 * except.h (struct eh_entry): Add new field 'rethrow_label'.
2408 (new_eh_region_entry): No longer exported from except.c.
2409 (duplicate_handlers): Renamed to duplicate_eh_handlers and
2410 different prototype.
2411 (rethrow_symbol_map, rethrow_used): New exported functions.
2412 (eh_region_from_symbol): New exported function.
2413
2414 * except.c (create_rethrow_ref): New function to create a single
2415 SYMBOL_REF for a rethrow region.
2416 (push_eh_entry): Initialize a rethrow ref.
2417 (func_eh_entry): Add a rethrow_label field.
2418 (new_eh_region_entry): Make static, and initialize the rethrow entry.
2419 (duplicate_eh_handlers): Create a new region, and remap labels/symbols.
2420 (eh_region_from_symbol): Find an EH region based on its rethrow symbol.
2421 (rethrow_symbol_map): Given a label map, maps a rethrow symbol for
2422 a region into an appropriate new symbol.
2423 (rethrow_used): Indicate whether a rethrow symbol has been referenced.
2424 (expand_eh_region_end): Don't issue jump around code for new-exceptions.
2425 (end_catch_handler): Emit a barrier for new-exceptions since
2426 control can never drop through the end of a catch block.
2427 (expand_end_all_catch): new-exceptions never fall through a catch
2428 block.
2429 (expand_rethrow): use __rethrow routine for new exceptions.
2430 (output_exception_table_entry): Generate rethrow labels, if needed.
2431 (output_exception_table): Generate start and end rethrow labels.
2432 (init_eh): Create rethrow symbols for beginning and end of table.
2433 (scan_region): Don't eliminate EH regions which are the targets of
2434 rethrows.
2435
2436 * flow.c (make_edges): Add different edges for rethrow calls,
2437 identified by having the REG_EH_RETHROW reg label.
2438 (delete_unreachable_blocks): Don't delete regions markers which are
2439 the target of a rethrow.
2440
2441 * integrate.c (save_for_inline_eh_labelmap): New callback routine to
2442 allow save_for_inline_copying to call duplicate_eh_handlers.
2443 (save_for_inline_copying): Call duplicate_eh_handlers instead of
2444 exposing internal details of exception regions.
2445 (copy_for_inline): Check if SYMBOL_REFs need adjustment.
2446 (expand_inline_function_eh_labelmap): New callback routine to
2447 allow expand_inline_function to call duplicate_eh_handlers.
2448 (expand_inline_function): Call duplicate_eh_handlers instead of
2449 exposing internal details of exception regions.
2450 (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
2451 flag is set.
2452
2453 * libgcc2.c (find_exception_handler): Generalize to enable it to
2454 pick up processing where it left off last time for a rethrow.
2455 (__unwinding_cleanup): New function. debug hook which is called before
2456 unwinding when __throw finds there is nothing but cleanups left.
2457 (throw_helper): Common parts of __throw extracted out for reuse.
2458 (__throw): Common parts moved to throw_helper.
2459 (__rethrow): New function for performing rethrows.
2460
122a860e
JL
2461Tue Dec 8 13:11:04 1998 Jeffrey A Law (law@cygnus.com)
2462
2463 * reload1.c (current_function_decl): Tweak declaration.
2464
6271b191
RH
2465Tue Dec 8 10:23:52 1998 Richard Henderson <rth@cygnus.com>
2466
2467 * c-decl.c (flag_isoc9x): Default off.
2468 (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
2469 * cccp.c (print_help, main): Likewise.
2470 * gcc.c (default_compilers): Update for -std=gnu*.
2471
dfb7c80f
JL
2472Tue Dec 8 01:14:46 1998 Jeffrey A Law (law@cygnus.com)
2473
d91d4a5c
JL
2474 * Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
2475 * demangle.h: Deleted.
2476
dfb7c80f
JL
2477 * reload1.c (current_function_decl): Declare.
2478
b4eadc3d
KG
2479Tue Dec 8 11:58:51 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2480
2481 * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
2482
6785b077
KG
2483Tue Dec 8 09:28:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2484
2485 * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
2486
54953b66
UD
24871998-12-08 Ulrich Drepper <drepper@cygnus.com>
2488
2489 * configure.in: Test for availability of putc_unlocked, fputc_unlocked,
2490 and fputs_unlocked.
2491 * configure: Rebuilt.
2492 * system.h: If the *_unlocked functions are available use them
2493 instead of the locked counterparts by defining macros.
2494 * config.in: Regenerated.
2495
872936ad
MS
2496Tue Dec 8 00:34:05 1998 Mike Stump <mrs@wrs.com>
2497
2498 * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
2499 wrong and should only be used for dump related things, not
2500 debugging information, instead main_input_filename should be used.
2501 Also, reuse output_file_directive if possible.
2502 * i386/aix386ng.h (ASM_FILE_START): Likewise.
2503 * i386/isc.h (ASM_FILE_START): Likewise.
2504 * i386/win-nt.h (ASM_FILE_START): Likewise.
2505 * i386/sun386.h (ASM_FILE_START): Likewise.
2506
11fa8909
RL
2507Mon Dec 7 23:56:28 1998 Robert Lipe <robertl@dgii.com>
2508
2509 * configure.in (mips*-*-linux*): Handle big and little endian
2510 systems.
2511 * configure: Rebuilt.
2512
fe77a034
MS
2513Mon Dec 7 23:14:51 1998 Mike Stump <mrs@wrs.com>
2514
2515 * emit-rtl.c: Fix typo.
2516
9becac0c
NS
2517Mon Dec 7 23:07:38 1998 Nathan Sidwell <nathan@acm.org>
2518
2519 * reload1.c (eliminate_regs): Don't do anything, if we're not
2520 generating code.
2521
5f680ab6
DD
2522Mon Dec 7 15:27:09 1998 DJ Delorie <dj@cygnus.com>
2523
2524 * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
2525 Add comment.
2526 * mips/mips.c (mips_select_section): Add comment.
2527
c25d8793
MS
2528Mon Dec 7 17:55:06 1998 Mike Stump <mrs@wrs.com>
2529
2530 * cccp.c (ignore_escape_flag): Add support for \ as `natural'
2531 characters in file names in #line to be consistent with #include
2532 handling. We support escape prcessing in the # 1 "..." version of
2533 the command. See also support in cp/lex.c.
2534 (handle_directive): Likewise.
2535 (do_line): Likewise.
2536
c50bca08
ZW
25371998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
2538
2539 * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
2540 so it'll work on non-ASCII platforms. Always consider $ an
2541 identifier character. Take no arguments.
2542 (cpp_reader_init): Call initialize_char_syntax with no
2543 arguments.
2544 (cpp_start_read): Don't call initialize_char_syntax again.
2545 Clear is_idchar['$'] and is_idstart['$'] if not
2546 opts->dollars_in_ident.
2547
2548 * cpplib.h (struct cpp_reader): Replace void *data element by
2549 cpp_options *opts. Rearrange elements to make gdb printout
2550 less annoying (put buffer stack at end).
2551 (CPP_OPTIONS): Get rid of now-unnecessary cast.
2552
2553 * cppmain.c: s/data/opts/ when initializing cpp_reader
2554 structure.
2555 * c-decl.c: Likewise.
2556 * objc/objc-act.c: Likewise.
2557 * fix-header.c: Likewise.
2558
25591998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
f1a86df6
ZW
2560
2561 * cpplib.h (struct cpp_buffer): Replace dir and dlen members
2562 with a struct file_name_list pointer.
2563 (struct cpp_reader): Add pointer to chain of `actual
2564 directory' include searchpath entries.
2565 (struct file_name_list): Add *alloc pointer for the sake of
2566 the actual-directory chain.
2567
2568 Move definition of HOST_WIDE_INT here.
2569 (cpp_parse_escape): Change prototype to match changes in
2570 cppexp.c.
2571
2572 * cppfiles.c (actual_directory): New function.
2573 (finclude): Use it to initialize the buffer's actual_dir
2574 entry.
2575 (find_include_file): We don't need to fix up max_include_len
2576 here.
2577
2578 * cpplib.c (do_include): Don't allocate a file_name_list on
2579 the fly for current directory "" includes, use the one that's
2580 been preallocated in pfile->buffer->actual_dir. Hoist out
2581 duplicate code from the search_start selection logic.
2582 (cpp_reader_init): Initialize pfile->actual_dirs.
2583
2584 Remove definition of HOST_WIDE_INT. Change calls
2585 to cpp_parse_escape to match changes in cppexp.c (note
2586 hardcoded MASK, which is safe since this is the source
2587 character set).
2588
2589 * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
2590 to handle wide character constants in #if directives. The
2591 function now returns a HOST_WIDE_INT, and takes a third
2592 argument which is a binary mask for all legal values (0x00ff
2593 for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.) Define
2594 MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK. Change callers of
2595 cpp_parse_escape to match. [Fixes c-torture/execute/widechar-1.c]
2596
93447205
DB
2597Mon Dec 7 15:38:25 1998 Dave Brolley <brolley@cygnus.com>
2598
2599 * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
2600
2601Mon Dec 7 15:38:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2602
2603 * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
2604 * cppalloc.c: Move function `xcalloc' from cpplib.c to here.
2605 * cpplib.c: Move function `xcalloc' from here to cppalloc.c.
2606
1db9f6ce
NC
2607Mon Dec 7 11:30:49 1998 Nick Clifton <nickc@cygnus.com>
2608
2609 * final.c (output_asm_name): Use tabs to seperate comments from
2610 assembly text.
2611
2612 Include instruction lengths (if defined) in output.
2613
eb6a3bc0
MH
2614Mon Dec 7 10:53:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2615
2616 * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
2617 in the loop_info structure.
2618
e6592fff
CM
2619Mon Dec 7 11:04:40 1998 Catherine Moore <clm@cygnus.com>
2620
2621 * configure.in: (arm*-*-ecos-elf): New target.
2622 * configure: Regenerated.
2623 * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
2624 * config/arm/ecos-elf.h: New file.
2625 * config/arm/unknown-elf.h (TARGET_VERSION): Check
2626 for redefinition.
2627
1a953d0f
R
2628Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2629
2630 * sh.c (output_far_jump): Emit braf only for TARGET_SH2.
2631
8962b4b4
JL
2632Sun Dec 6 04:19:45 PST 1998 Jeff Law (law@cygnus.com)
2633
2634 * version.c: Bump for snapshot.
2635
5629b16c
MH
2636Sun Dec 6 05:16:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2637
2638 * loop.c (check_dbra_loop): New argument loop_info. Update fields
2639 as needed.
2640
01bdf1bc
JL
2641Sun Dec 6 03:40:13 PST 1998 Jeff Law (law@cygnus.com)
2642
2643 * version.c: Bump for snapshot.
2644
badcf916
AO
2645Sun Dec 6 07:49:29 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
2646
2647 * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
2648 compressed reports are ok and preferred over URLs
2649
892d0a6d
AO
2650Sun Dec 6 07:45:33 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
2651
2652 * invoke.texi (Warning Options): Soften the tone of -pedantic
2653
cd2c4c54
L
2654Sun Dec 6 00:20:44 1998 H.J. Lu (hjl@gnu.org)
2655
2656 * print-rtl.c (print_rtx): Add prototype.
2657
2658 * unroll.c (iteration_info): Make it static.
2659
02e3377d
RH
2660Sun Dec 6 01:19:46 1998 Richard Henderson <rth@cygnus.com>
2661
2662 * alias.c (memrefs_conflict_p): A second ANDed address
2663 disables the aligned address optimization.
2664
4bd75896
RH
2665Sat Dec 5 18:48:25 1998 Richard Henderson <rth@cygnus.com>
2666
2667 * alpha.c (alpha_emit_set_const_1): Fix parenthesis error
2668 in -c << n case.
2669
c78358d4
JM
2670Sat Dec 5 15:14:52 1998 Jason Merrill <jason@yorick.cygnus.com>
2671
2672 * i960.h (BOOL_TYPE_SIZE): Define.
2673
e868a840
MH
2674Sun Dec 6 00:28:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2675
2676 * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
2677 from old valid_parallel_operands_4.
2678 (valid_parallel_operands_4): Check that operands for 4 operand
2679 parallel insns are valid, excluding load/store insns.
2680 * config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
2681 * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
2682 valid_parallel_load_store instead of valid_parallel_operands_4.
2683 (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
2684 *negqf2_movqf_clobber, *absqi2_movqi_clobber,
2685 *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
2686 *notqi_movqi_clobber): Use valid_parallel_operands_4.
2687 (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
2688 *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
2689 *subqi3_movqi_clobber): Use valid_parallel_operands_5.
2690
cd20cc86
MH
2691Sat Dec 5 23:52:01 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2692
2693 * config/c4x/c4x.c (iteration_info): Delete extern.
2694
f62a15e3
BS
2695Fri Dec 4 20:15:57 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2696
faa9eb19
BS
2697 * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
2698
f62a15e3
BS
2699 * final.c (cleanup_subreg_operands): Delete some unused code.
2700
2701 * recog.h (MAX_RECOG_ALTERNATIVES): New macro.
2702 (struct insn_alternative): New structure definition.
2703 (recog_op_alt): Declare variable.
2704 (preprocess_constraints): Declare function.
2705 * recog.c (recog_op_alt): New variable.
2706 (extract_insn): Verify number of alternatives is in range.
2707 (preprocess_constraints): New function.
2708 * reg-stack.c: Include recog.h.
2709 (constrain_asm_operands): Delete.
2710 (get_asm_operand_lengths): Delete.
2711 (get_asm_operand_n_inputs): New function.
2712 (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
2713 N_OUTPUTS args. All callers changed.
2714 Compute number of inputs and outputs here by calling
2715 get_asm_operand_n_inputs.
2716 Instead of constrain_asm_operands, call extract_insn,
2717 constrain_operands and preprocess_constaints. Use information
2718 computed by these functions throughout.
2719 (record_reg_life): Delete code that is unused due to changes in
2720 record_asm_reg_life.
2721 (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
2722 N_INPUTS and N_OUTPUTS args. All callers changed.
2723 Similar changes as in record_asm_reg_life.
2724 (subst_stack_regs): Move n_operands declaration into the if statement
2725 where it's used.
2726 Delete code that is unused due to changes in subst_asm_stack_regs.
2727 * stmt.c (expand_asm_operands): Verify number of alternatives is in
2728 range.
2729 * Makefile.in (reg-stack.o): Depend on recog.h.
2730
2ec10ea9
JL
2731Fri Dec 4 02:23:24 1998 Jeffrey A Law (law@cygnus.com)
2732
2733 * except.c (set_exception_version_code): Argument is an "int".
2734
16fb6b5e
JL
2735Fri Dec 4 01:29:28 1998 Jeffrey A Law (law@cygnus.com)
2736
2737 * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
2738 * configure: Rebuilt.
2739
18cae839
RL
2740Fri Dec 4 01:29:28 1998 Robert Lipe <robertl@dgii.com>
2741
2742 * configure.in (mipsel-*-linux*): New target.
2743 * mips/linux.h: New file, based on other Linux targets.
2744
0fcff082
MS
2745Thu Dec 3 11:19:50 1998 Mike Stump <mrs@wrs.com>
2746
2747 * gthr-vxworks.h (__ehdtor): Fix memory leak. The delete hook
2748 runs in the context of the deleter, not the deletee, so we must
2749 use taskVarGet to find the correct memory to free.
2750 (__gthread_key_create): Initialize the task
2751 variable subsystem so that the task variable is still active when
2752 the delete hook is run.
2753
9f643ff8
JL
27541998-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
2755
f4190acc
JM
2756 * pdp11.h: Use optimize_size for space optimizations.
2757 * pdp11.c: Likewise.
2758 * pdp11.md: Likewise.
2759
9f643ff8
JL
2760 * pdp11.h (TARGET_40_PLUS): Fix typo.
2761
2762Thu Dec 3 11:48:32 1998 Jeffrey A Law (law@cygnus.com)
2763
2764 * local-alloc.c (block_alloc): Slightly retune heuristic to widen
2765 qty lifetimes.
2766
39cec1ac
MH
2767Thu Dec 3 22:30:18 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2768
2769 * alias.c (addr_side_effect_eval): New function.
2770 (memrefs_conflict_p): Use it.
2771 * rtl.h (addr_side_effect_eval): Prototype it.
2772
a6a715ca
JM
27731998-12-02 Joseph S. Myers <jsm28@cam.ac.uk>
2774
2775 * pdp11.md (extendsfdf2): Fix mode mismatch in SET.
2776
226592de
JW
2777Wed Dec 2 11:23:07 1998 Jim Wilson <wilson@cygnus.com>
2778
2779 * reload.c (find_reloads): When force const to memory, put result
2780 in substed_operand not *recog_operand_loc.
2781
1747054f
UD
27821998-12-02 Ulrich Drepper <drepper@cygnus.com>
2783
2784 * c-lex.c: Fix indentation from last patch.
2785 Remove trailing whitespace.
2786 * real.c: Likewise.
2787
2536e1ee
JL
2788Wed Dec 2 10:11:12 1998 Jeffrey A Law (law@cygnus.com)
2789
2790 * flow.c (delete_block): Call set_last_insn after we have reset
2791 NEXT_INSN (kept_tail).
2792
b151501e
JL
2793Wed Dec 2 00:47:31 1998 Jeffrey A Law (law@cygnus.com)
2794
2795 * mips.md (trap_if): Use "$0" for the value zero.
2796
6f4d7222
UD
2797Tue Dec 1 20:49:49 1998 Ulrich Drepper <drepper@cygnus.com>
2798 Stephen L Moshier <moshier@world.std.com>
2799 Richard Henderson <rth@cygnus.com>
2800
2801 * c-common.c (declare_function_name): Declare predefinied variable
2802 `__func__'.
2803
2804 * c-decl.c (flag_isoc9x): Set to 1 by default.
2805 (c_decode_option): Handle -std= option. Remove -flang-isoc9x.
2806 (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
2807
2808 * c-parse.in: Allow constructors in ISO C 9x.
2809 Rewrite designator list handling.
2810 Allow [*] parameters.
2811 Don't warn about comma at end of enum definition for ISO C 9x.
2812
2813 * cccp.c (c9x): New variable.
2814 (rest_extension): New variable.
2815 (print_help): Document new -std= option.
2816 (main): Recognize -std= option. Set c9x appropriately.
2817 (create_definition): Recognize ISO C 9x vararg macros.
2818
2819 * gcc.c (default_compilers): Adjust specs for -std options.
2820 (option_map): Add --std.
2821 (display_help): Document -std.
2822
2823 * toplev.c (documented_lang_options): Add -std and remove
2824 -flang-isoc9x.
2825
2826 * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
2827 or REAL_VALUE_HTOF based on base of the constants.
2828 * fold-const.c (real_hex_to_f): New function. Replacement function
2829 for hex FP conversion if REAL_ARITHMETIC is not defined.
2830 * real.c (asctoeg): Add handling of hex FP constants.
2831 * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
2832 real_hex_to_f.
2833
08c2951c
SC
2834Tue Dec 1 16:45:49 1998 Stan Cox <scox@cygnus.com>
2835
2836 * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
2837 -mcheck-range-division/-mcheck-zero-division checking. Avoid as macro
2838 expansion. Use hi/lo as destination register.
2839 (div_trap): New.
2840 (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
2841 umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
2842 Avoid as macro expansion. Use hi/lo as destination register.
2843
2844 * mips.h (MASK_CHECK_RANGE_DIV): New.
2845 (MASK_NO_CHECK_ZERO_DIV): New.
2846 (ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
2847 (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
2848 return address for leaf functions out of r31 to support
2849 builtin_return_address.
2850
1f5fb51f
HB
2851Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2852
2853 * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
2854 NEXT_INSN(x) to check insn x.
2855
45c85c4e
JL
2856Tue Dec 1 15:20:44 1998 Jeffrey A Law (law@cygnus.com)
2857
e3f6ee23
JL
2858 * flow.c (delete_block): Call set_last_insn if we end up deleting the
2859 last insn in the rtl chain.
2860
45c85c4e
JL
2861 * reload1.c (reload): Do not set reload_completed or split insns
2862 here. Instead...
2863 * toplev.c (rest_of_compilation): Set reload_completed after
2864 reload returns. Split insns after reload_cse has run.
2865
df3ba30a
RH
2866Tue Dec 1 11:55:04 1998 Richard Henderson <rth@cygnus.com>
2867
2868 * final.c (final_scan_insn): Abort if block_depth falls below 0.
2869
bbc1b3f7
NC
2870Tue Dec 1 10:23:16 1998 Nick Clifton <nickc@cygnus.com>
2871
2872 * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
2873
2874Tue Dec 1 10:22:18 1998 Nick Clifton <nickc@cygnus.com>
2875
2876 * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
2877 use of user-label_prefix.
2878
2b49ee39
R
2879Tue Dec 1 17:58:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2880
78a2bc08
R
2881 * reload1.c (emit_reload_insns): Clear spill_reg_store
2882 when doing a new non-inherited reload from the same pseudo.
2883
2b49ee39
R
2884 * local-alloc.c (function_invariant_p): New function.
2885 (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
2886 to decide if an equivalence should be recorded.
2887 * reload1.c (num_eliminable_invariants): New static variable.
2888 (reload): Set it. Use function_invariant_p instead of CONSTANT_P
2889 to decide if an equivalence should be recorded.
2890 Unshare PLUS.
2891 (calculate_needs_all_insns): Skip insns that only set an equivalence.
2892 Take num_eliminable_invariants into account when deciding
2893 if register elimination should be done.
2894 (reload_as_needed): Take num_eliminable_invariants into account
2895 when deciding if register elimination should be done.
2896 (eliminate_regs): Handle non-constant reg_equiv_constant.
2897 * rtl.h (function_invariant_p): Declare.
2898
dfc00b38
JL
2899Mon Nov 30 02:00:08 PST 1998 Jeff Law (law@cygnus.com)
2900
2901 * version.c: Bump for snapshot.
2902
a8afb377
JL
2903Mon Nov 30 00:42:59 PST 1998 Jeff Law (law@cygnus.com)
2904
2905 * version.c: Bump for snapshot.
2906
9bbdf48e
JM
2907Sun Nov 29 22:59:40 1998 Jason Merrill <jason@yorick.cygnus.com>
2908
2909 * except.c (add_new_handler): Complain about additional handlers
2910 after one that catches everything.
2911
66953094
JL
2912Sat Nov 28 10:56:32 1998 Jeffrey A Law (law@cygnus.com)
2913
2914 * configure.in (alpha*-*-netbsd): Fix typo.
2915 * configure: Rebuilt.
2916
2778b98d
KG
2917Fri Nov 27 12:28:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2918
2919 * system.h: Include libiberty.h.
2920
2921 * c-aux-info.c: Remove prototypes for concat/concat3. Change
2922 function `concat' from fixed parameters to variable parameters,
2923 as is done in libiberty. All callers of concat/concat3
2924 changed to use the new `concat' with variable args.
2925
2926 * cccp.c: Remove things made redundant by libiberty.h and/or
2927 conform to libiberty standards.
2928 * cexp.y: Likewise.
2929 * collect2.c: Likewise.
2930 * config/1750a/1750a.h: Likewise.
2931 * cppalloc.c: Likewise.
2932 * cppexp.c: Likewise.
2933 * cppfiles.c: Likewise.
2934 * cpphash.c: Likewise.
2935 * cpplib.c: Likewise.
2936 * dyn-string.c: Likewise.
2937 * fix-header.c: Likewise.
2938 * gcc.c: Likewise.
2939 * gcov.c: Likewise.
2940 * genattr.c: Likewise.
2941 * genattrtab.c: Likewise.
2942 * gencheck.c: Likewise.
2943 * gencodes.c: Likewise.
2944 * genconfig.c: Likewise.
2945 * genemit.c: Likewise.
2946 * genextract.c: Likewise.
2947 * genflags.c: Likewise.
2948 * gengenrtl.c: Likewise.
2949 * genopinit.c: Likewise.
2950 * genoutput.c: Likewise.
2951 * genpeep.c: Likewise.
2952 * genrecog.c: Likewise.
2953 * getpwd.c: Likewise.
2954 * halfpic.c: Likewise.
2955 * hash.c: Likewise.
2956 * mips-tdump.c: Likewise. Wrap malloc/realloc/calloc prototypes
2957 in NEED_DECLARATION_* macros.
2958
2959 * mips-tfile.c: Remove things made redundant by libiberty.h and/or
2960 conform to libiberty standards.
2961 (fatal): Fix const-ification of variable `format' in
2962 !ANSI_PROTOTYPES case.
2963
2964 * prefix.c: Remove things made redundant by libiberty.h and/or
2965 conform to libiberty standards.
2966
2967 * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
2968 conflicting with function `spaces' from libiberty.
2969
2970 * profile.c: Remove things made redundant by libiberty.h and/or
2971 conform to libiberty standards.
2972 * protoize.c: Likewise.
2973 * rtl.h: Likewise.
2974 * scan.h: Likewise.
2975 * tlink.c: Likewise.
2976 * toplev.c: Likewise.
2977 * toplev.h: Likewise.
2978 * tree.h: Likewise.
2979
21380ab0
KG
2980Thu Nov 26 08:38:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2981
2982 * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
2983
6e863849
MH
2984Thu Nov 26 23:45:37 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2985
2986 * README.C4X: Updated URLs.
2987 * config/c4x/c4x.c (c4x_address_conflict): Fix typo.
2988 (valid_parallel_operands_5): Remove unused variable.
2989
d97860ae
MH
2990Thu Nov 26 23:40:03 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2991
2992 * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
2993
71205e0b
MH
29941998-11-26 Manfred Hollstein <manfred@s-direktnet.de>
2995
2996 * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
2997 which can be configured.
2998 (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
2999 (Makefile): Pass actual LANGUAGES through the environment when
3000 re-configuring.
3001 (cstamp-h): Likewise.
3002 (config.status): Likewise.
3003
3004 * configure.in (enable_languages): Add new configuration parameter
3005 "--enable-languages=lang1,lang2,...".
3006 (${srcdir}/*/config-lang.in): Change handling to configure only
3007 those directories, that the user might have enabled; default to
3008 "all" existing languages.
3009 * configure: Regenerate.
3010
a2e1a0bf
RH
3011Thu Nov 26 00:19:19 1998 Richard Henderson <rth@cygnus.com>
3012
3013 * rtlanal.c (regs_set_between_p): New function.
3014 * rtl.h (regs_set_between_p): Prototype it.
3015 * jump.c (jump_optimize): Use it instead of modified_between_p
3016 in the Sep 2 change.
3017
83575957
ID
3018Wed Nov 25 23:32:02 1998 Ian Dall <Ian.Dall@dsto.defence.gov.au>
3019 Matthias Pfaller <leo@dachau.marco.de>
3020
3021 * invoke.texi (Option Summary, NS32K Options): add description
3022 of NS32K specific options.
3023
3024 * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
3025 fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
3026 fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
3027 negdf2, absdf2): Use l instead of f since the double class and
3028 float class are no longer the same.
3029 (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
3030 divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
3031 ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
3032 use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
3033 fixed.
3034 (cmpsi, cmphi, cmpqi): use general_operand instead of
3035 non_immediate_operand. Removes erroneous assumption that can't
3036 compare constants.
3037 (movsf, movsi, movhi, movqi,...): New register numbering scheme.
3038 (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
3039 constants.
3040 (movstrsi, movstrsi1, movstrsi2): completely new block move
3041 scheme.
3042 (...): Patterns to exploit multiply-add instructions.
3043 (udivmodsi4, udivmodsi_internal4, udivmodhi4,
3044 udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): new
3045 patterns to exploit extended divide insns.
3046 (udivsi3, udivhi3, udivqi3): remove since superceded by udivmodsi
3047 etc patterns.
3048
3049 * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
3050 float return values as well as simple scalar floats.
3051 (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
3052 support new flag to denote 32381 fpu.
3053 (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
3054 (CONDITIONAL_REGISTER_USAGE): disable extra 32381 registers if not
3055 compling for 32381.
3056 (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
3057 REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
3058 REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
3059 L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
3060 LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
3061 REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
3062 REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
3063 REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
3064 REG_OK_FOR_BASE_P, MEM_REG): new register scheme to include 32381
3065 fpu registers and special register classes for new 32381
3066 instructions dotf and polyf.
3067 (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
3068 be tieable.
3069 (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
3070 INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
3071 required.
3072 (SMALL_REGISTER_CLASSES): Make dependant on -mmult-add option.
3073 (MOVE_RATIO): Set to zero because of smart movstrsi implimentation.
3074 (REGISTER_MOVE_COST): move code to register_move_cost function for
3075 ease of coding and debugging.
3076 (CLASS_LIKELY_SPILLED_P): Under new register scheme class
3077 LONG_FLOAT_REGO is likely spilled but not caught by default
3078 definition.
3079 (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): use macro
3080 instead of hard coded numbers in range check.
3081 (ASM_OUTPUT_LABELREF_AS_INT): delete since unused.
3082 (...): Add prototypes for functions in ns32k.c but disable because
3083 of problems when ns32k.h is included in machine independant files.
3084
3085 * ns32k.c: include "system.h", "tree.h", "expr.h", "flags.h".
3086 (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
3087 hard_regno_mode_ok, secondary_reload_class,
3088 print_operand, print_operand_address): new register scheme to
3089 include 32381 fpu registers and special register classes for new
3090 32381 instructions dotf and polyf.
3091 (gen_indexed_expr): Make static to keep namespace clean.
3092 (check_reg): remove since never called.
3093 (move_tail, expand_block_move): helper functions for "movstrsi"
3094 block move insn.
3095 (register_move_cost): Helper function for REGISTER_MOVE_COST macro.
3096 Increase cost of moves which go via memory.
3097 * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
3098 (CPP_PREDEFINES): nolonger predefine "unix".
3099
3100 * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
3101 Remove erroneous %$. print_operand() can work out from the rtx is
3102 an immediate prefix is required.
3103
3104 * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
3105 VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
3106 SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
3107 convention.
3108 (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
3109 pic operands.
3110
3111 * ns32k.c (symbolic_reference_mentioned_p, print_operand):
3112 Correct handling of pic operands.
3113 (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
3114 ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
3115 -mrtd calling convention.
3116
36696297
TT
3117Wed Nov 25 23:42:20 1998 Tom Tromey <tromey@cygnus.com>
3118
3119 * gcc.c (option_map): Recognize --output-class-directory.
3120
e96b4d7a
MH
3121Thu Nov 26 18:26:21 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3122
3123 * loop.h (precondition_loop_p): Added new mode argument.
3124 * unroll.c (precondition_loop_p): Likewise.
3125 (approx_final_value): Function deleted and subsumed
3126 into loop_iterations.
3127 (loop_find_equiv_value): New function.
3128 (loop_iterations): Use loop_find_equiv_value to find increments
3129 too large to be immediate constants. Also use it to find terms
3130 common to initial and final iteration values that can be removed.
3131
302670f3
MH
3132Thu Nov 26 18:05:04 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3133
3134 * loop.h (struct loop_info): Define new structure.
3135 (precondition_loop_p): Added prototype.
3136 (unroll_loop): Added new argument loop_info to prototype.
3137 (final_biv_value, final_giv_value): Added new argument n_iterations
3138 to prototype.
3139 * loop.c (strength_reduce): Declare new structure loop_iteration_info
3140 and new pointer loop_info.
3141 (loop_n_iterations): Replace global variable by element in
3142 loop_info structure.
3143 (check_final_value): New argument n_iterations.
3144 (insert_bct): New argument loop_info.
3145 (loop_unroll_factor): Replace global array by element in
3146 loop_info structure.
3147 (loop_optimize): Remove code to allocate and initialise
3148 loop_unroll_factor_array.
3149 * unroll.c (precondition_loop_p): No longer static since
3150 used by branch on count optimization.
3151 (precondition_loop_p, unroll_loop): New argument loop_info.
3152 (final_biv_value, final_giv_value, find_splittable_regs): New
3153 argument n_iterations.
3154 (loop_iteration_var, loop_initial_value, loop_increment,
3155 loop_final_value, loop_comparison_code, loop_unroll_factor):
3156 Replaced global variables by loop_info structure.
3157 (loop_unroll_factor): Replace global array by element in
3158 loop_info structure.
3159
a7060368
MH
3160Thu Nov 26 17:49:29 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3161
3162 * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
3163 when loop reversed.
3164
3165 * unroll.c (precondition_loop_p): Return loop_initial_value
3166 for initial_value instead of loop_iteration_var.
3167
959e0a76
MH
3168Thu Nov 26 17:15:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3169
3170 * config/c4x/c4x.md: Fix minor formatting problems. Update docs.
3171 (*b, *b_rev, *b_noov, *b_noov_rev, *db,
3172 decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
3173 to output the instruction sequences.
3174 (rpts): Delete.
3175 (rptb_top): Provide alternatives to use any register or memory
3176 for loop counter.
3177 (rptb_end): Emit use of operands rather than assigning them
3178 explicitly to the RS and RE registers.
3179
0fe69aba
MH
3180Thu Nov 26 16:37:59 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3181
3182 * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
3183 c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
3184 c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
3185 c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
3186 c4x_merge_notes, c4x_parallel_process,
3187 c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
3188 c4x_combine_parallel): Delete.
3189
3190Thu Nov 26 15:16:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3191
3192 * config/c4x/c4x.c: (c4x_override_options): For compatibility
3193 with old target options clear flag_branch_on_count_reg if
3194 -mno-rptb specified and set flag_argument_alias is -mno-aliases
3195 specified.
3196 (c4x_output_cbranch): Handle a sequence of insns rather than a
3197 single insn.
4271f003 3198 (c4x_rptb_insert): Do not emit a RPTB insn if the RC register
0fe69aba 3199 has not been allocated as the loop counter.
4271f003
MH
3200 (c4x_address_conflict): Do not allow two volatile memory references.
3201 (valid_parallel_operands_4, valid_parallel_operands_5,
3202 valid_parallel_operands_6): Reject pattern if the register destination
3203 of the first set is used as part of an address in the second set.
0fe69aba 3204
2e3e9ead
MH
3205Thu Nov 26 14:56:32 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3206
3207 * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
3208 (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
3209 is no longer enabled if PARALLEL_MPY_FLAG set.
3210 (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
3211 (REG_CLASS_CONTENTS): Add braces around initializers.
3212 (HAVE_MULTIPLE_PACK): Define.
3213 (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
3214 REAL_VALUE_TO_DECIMAL.
3215 (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
3216 REAL_VALUE_TO_DECIMAL.
3217 (ar0_reg_operand): Add prototype.
3218 (ar0_mem_operand): Likewise.
3219 (ar1_reg_operand): Likewise.
3220 (ar1_mem_operand): Likewise.
3221 (ar2_reg_operand): Likewise.
3222 (ar2_mem_operand): Likewise.
3223 (ar3_reg_operand): Likewise.
3224 (ar3_mem_operand): Likewise.
3225 (ar4_reg_operand): Likewise.
3226 (ar4_mem_operand): Likewise.
3227 (ar5_reg_operand): Likewise.
3228 (ar5_mem_operand): Likewise.
3229 (ar6_reg_operand): Likewise.
3230 (ar6_mem_operand): Likewise.
3231 (ar7_reg_operand): Likewise.
3232 (ar7_mem_operand): Likewise.
3233 (ir0_reg_operand): Likewise.
3234 (ir0_mem_operand): Likewise.
3235 (ir1_reg_operand): Likewise.
3236 (ir1_mem_operand): Likewise.
3237 (group1_reg_operand): Likewise.
3238 (group1_mem_operand): Likewise.
3239 (ir1_reg_operand): Likewise.
3240 (arx_reg_operand): Likewise.
3241 (not_rc_reg): Likewise.
3242 (not_modify_reg): Likewise.
3243 (c4x_group1_reg_operand): Remove prototype.
3244 (c4x_group1_mem_operand): Likewise.
3245 (c4x_arx_reg_operand): Likewise.
3246
a46f03ea
SM
3247Wed Nov 25 19:02:55 1998 (Stephen L Moshier) <moshier@world.std.com>
3248
3249 * emit-rtl.c (gen_lowpart_common): Remove earlier change.
3250 * real.c (make_nan): Make SIGN arg actually specify the sign bit.
3251
f3ed04e7
MH
3252Thu Nov 26 14:12:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3253
3254 * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
3255 during reload.
3256
0e1bd737
R
3257Wed Nov 25 22:05:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3258
3259 * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
3260 unless FMOVD_WORKS is defined.
3261
910bc42d
R
3262Wed Nov 25 20:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3263
3264 * regclass.c (init_reg_sets): Move code that calculates tables
3265 dependent on reg_class_contents from here...
3266 (init_reg_sets_1): To here.
3267
0b3d776a
ZW
3268Wed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
3269
3270 * cpplib.h: Delete struct import_file. Add ihash element to
3271 struct cpp_buffer. Delete dont_repeat_files and
3272 import_hash_table elements from cpp_reader; change
3273 all_include_files to a hash table. Delete all foobar_include
3274 / last_foobar_include elements from struct cpp_options; put
3275 back four such: quote_include, bracket_include,
3276 system_include, after_include. Redo struct file_name_list
3277 completely. Add new structure type include_hash. Add
3278 prototypes for merge_include_chains and include_hash. Change
3279 prototypes for finclude, find_include_file, and
3280 append_include_chain to match changes below.
3281
3282 * cppfiles.c (simplify_pathname, include_hash,
3283 remap_filename, merge_include_chains): New functions.
3284 (add_import, lookup_import, open_include_file): Removed.
3285 (INO_T_EQ): Define this (copied from cccp.c).
3286 (hack_vms_include_specification): Remove all calls and #if 0
3287 out the definition. It was being called incorrectly and at
3288 the wrong times. Until a VMSie can look at this, it's better
3289 to not pretend to support it.
3290 (append_include_chain): Change calling convention; now takes
3291 only one directory at a time, and sets up the data structure
3292 itself.
3293 (redundant_include_p): Rewritten - this is now used for all
3294 include redundancy, whether by #ifndef, #import, or #pragma
3295 once. Looks up things in the include hash table.
3296 (file_cleanup): Decrement pfile->system_include_depth here if
3297 it's >0.
3298 (find_include_file): Calling convention changed; now passes
3299 around a struct include_hash instead of 3 separate parameters.
3300 Guts ripped out and replaced with new include_hash mechanism.
3301 (finclude): Calling convention changed as for
3302 find_include_file. Error exits pulled out-of-line. Reformat.
3303 (safe_read): Return a long, not an int.
3304 (deps_output): Don't recurse.
3305
3306 * cpplib.c (is_system_include): Deleted.
3307 (path_include): Fix up call to append_include_chain.
3308 (do_include): Fix up calls to find_include_file and finclude.
3309 Clean up dependency output a bit. Shorten obnoxiously lengthy
3310 #import warning message. Don't decrement
3311 pfile->system_include_depth here.
3312 (do_pragma): Understand the include_hash structure. Reformat.
3313 (do_endif): Correct handling of control macros. Understand
3314 the include_hash.
3315 (cpp_start_read): Fix up calls to finclude. Call
3316 merge_include_chains.
3317 (cpp_handle_option): Fix up calls to append_include_chain.
3318 Understand the four partial include chains.
3319 (cpp_finish): Add debugging code (#if 0-ed out) for the
3320 include_hash.
3321 (cpp_cleanup): Free the include_hash, not the import hash and
3322 the all_include and dont_repeat lists which no longer exist.
3323
f1db3576
JL
3324Wed Nov 25 11:26:19 1998 Jeffrey A Law (law@cygnus.com)
3325
3326 * toplev.c (no_new_pseudos): Define.
3327 (rest_of_compilation): Set no_new_pseudos as needed.
3328 * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
3329 if no_new_pseudos is set.
3330 * rtl.h (no_new_pseudos): Declare it.
3331 * reload1.c (reload): Update comments.
3332 * md.texi: Corresponding changes.
3333
3334Wed Nov 25 11:26:17 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3335
3336 * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
3337 (choose_reload_regs): Rename it here as well. When computing it,
3338 also merge in used hardregs.
3339
b12da25e
ZW
33401998-11-25 07:51 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
3341
3342 * gcc.c: Split out Objective-C specs to...
3343 * objc/lang-specs.h: here. (New file.) Make the specs cpplib
3344 aware.
3345
3346 * c-lex.c (init_parse): Always initialize the filename global.
3347 * objc/objc-act.c (lang_init): Always call check_newline at
3348 beginning of file.
3349
5828374f
GS
3350Wed Nov 25 00:48:29 1998 Graham <grahams@rcp.co.uk>
3351
3352 * reload1.c (reload): Remove unused variable.
3353 (reload_reg_free_for_value_p): Add missing parameter definition.
3354
3355 * jump.c (jump_optimize): Remove unused variable.
3356
940da324
JL
3357Wed Nov 25 00:07:11 1998 Jeffrey A Law (law@cygnus.com)
3358
0c3a267b
JL
3359 * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
3360
940da324
JL
3361 * cse.c (fold_rtx): Make autoincrement addressing mode tests be
3362 runtime selectable.
3363 * expr.c (move_by_pieces): Similarly.
3364 (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
3365 * flow.c (find_auto_inc): Similarly.
3366 (try_pre_increment): Similarly.
3367 * loop.c (strength_reduce): Similarly.
3368 * regclass.c (auto_inc_dec_reg_p): Similarly.
3369 * regmove.c (try_auto_increment): Similarly.
3370 (fixup_match_1): Similarly.
3371 * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
3372 (HAVE_PRE_DECREMENT): Similarly.
3373 (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
0c3a267b
JL
3374 * Corresponding changes to all target header files.
3375 * tm.texi: Update docs for autoinc addressing modes.
940da324 3376
d1be3be3
JW
3377Tue Nov 24 20:24:59 1998 Jim Wilson <wilson@cygnus.com>
3378
3379 * configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
3380 * configure: Rebuild.
3381 * config/elfos.h: New file.
3382 * config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
3383 config/m68k/t-m68kelf: New file.
3384
f6c2a93c
JL
3385Tue Nov 24 13:40:06 1998 Jeffrey A Law (law@cygnus.com)
3386
3387 * Makefile.in (HOST_AR): Define.
3388 (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
3389 (libcpp.a): Use the host tools explicitly.
3390 (STAGESTUFF): Add libcpp.a.
3391
6970d948
NC
3392Tue Nov 24 09:33:49 1998 Nick Clifton <nickc@cygnus.com>
3393
3394 * config/m32r/m32r.md (movstrsi_internal): Describe changes made
3395 to source and destination registers.
3396
d0b9a143
MS
3397Mon Nov 23 20:28:02 1998 Mike Stump <mrs@wrs.com>
3398
3399 * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
3400 The strategy we now use is to pre allocate the top_elt along
3401 with the EH context so that each thread has its own top_elt.
3402 This is necessary as the dynmanic cleanup chain is used on the
3403 top element of the stack and each thread MUST have its own.
3404 (eh_context_static): Likewise.
3405 (new_eh_context): Likewise.
3406 (__sjthrow): Likewise.
3407
8c8a9717
JM
3408Mon Nov 23 20:25:03 1998 Jason Merrill <jason@yorick.cygnus.com>
3409
3410 * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
3411 * i386.md (prologue_get_pc): Remove unused variable.
3412
b8a14125
GN
3413Mon Nov 23 17:05:40 1998 Geoffrey Noer <noer@cygnus.com>
3414
3415 * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
3416
735a0e33
UD
3417Mon Nov 23 16:40:00 1998 Ulrich Drepper <drepper@cygnus.com>
3418
3419 * Makefile.in (OBJS): Add graph.o
3420 (graph.o): New dependency list.
3421 * flags.h: Declare dump_for_graph and define graph_dump_types type.
3422 * print-rtl.c (dump_for_graph): Define new variable.
3423 (print_rtx): Rewrite to allow use in graph dumping functions.
3424 * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
3425 finish_graph_dump_file.
3426 Define graph_dump_format.
3427 (compile_file): If graph dumping is enabled also clear these files.
3428 Finish graph dump files.
3429 (rest_of_compilation): Also dump graph information if enabled.
3430 (main): Recognize -dv to enabled VCG based graph dumping.
3431 * graph.c: New file. Graph dumping functions.
3432
a05e22b8
RH
3433Mon Nov 23 16:39:04 1998 Richard Henderson <rth@cygnus.com>
3434
3435 * configure.in: Look for <sys/stat.h>.
3436 * system.h: Include it before substitute S_ISREG definitions.
3437
a53f72db
GRK
3438Mon Nov 23 17:40:37 1998 Gavin Romig-Koch <gavin@cygnus.com>
3439
3440 * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
3441 * config/mips/iris6.h: Same.
3442 * config/mips/mips.md: Same.
3443 * config/mips/mips.c: Same; also add "-mabi=o64" option.
3444 * config/mips/mips.h: Same; also define ABI_O64.
3445
c9a3de16
KG
3446Mon Nov 23 17:02:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3447
3448 * configure.in: Use AC_PREREQ(2.12.1).
3449
9855b854
MN
3450Mon Nov 23 10:16:38 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
3451
3452 * cccp.c (S_ISREG, S_ISDIR): Delete defines.
3453 * cpplib.c, gcc.c: Likewise.
3454 * system.h (S_ISREG, S_ISDIR): Define if not already defined.
3455
578db09b
RH
3456Mon Nov 23 09:53:44 1998 Richard Henderson <rth@cygnus.com>
3457
3458 * local-alloc.c (local_alloc): Use malloc not alloca for
3459 reg_qty, reg_offset, ref_next_in_qty.
3460
225e4f43
R
3461Mon Nov 23 16:46:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3462
193f66a9
JL
3463 * caller-save.c (insert_one_insn): Initialize the live_before and
3464 live_after register sets.
3465
225e4f43
R
3466 Add SH4 support:
3467
3468 * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
3469 (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
3470 * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
3471 (fp_reg_names, assembler_dialect): New variables.
3472 (print_operand_address): Handle SUBREGs.
3473 (print_operand): Added 'o' case.
3474 Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
3475 Name of FP registers depends on mode.
3476 (expand_block_move): Emit different code for SH4 hardware.
3477 (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
3478 (from_compare): Likewise.
3479 (add_constant): New argument last_value. Changed all callers.
3480 (find_barrier): Don't try HImode load for FPUL_REG.
3481 (machine_dependent_reorg): Likewise.
3482 (sfunc_uses_reg): A CLOBBER cannot be the address register use.
3483 (gen_far_branch): Emit a barrier after the new jump.
3484 (barrier_align): Don't trust instruction lengths before
3485 fixing up pcloads.
3486 (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
3487 Use auto-inc addressing for fp registers if doubles need to
3488 be loaded in two steps.
3489 Set sh_flag_remove_dead_before_cse.
3490 (push): Support for TARGET_FMOVD. Use gen_push_fpul for fpul.
3491 (pop): Support for TARGET_FMOVD. Use gen_pop_fpul for fpul.
3492 (calc_live_regs): Support for TARGET_FMOVD. Don't save FPSCR.
3493 Support for FIRST_XD_REG .. LAST_XD_REG.
3494 (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
3495 (sh_expand_epilogue): Likewise.
3496 (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
3497 (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
3498 (arith_reg_operand): FPUL_REG is OK for SH4.
3499 (fp_arith_reg_operand, fp_extended_operand) New functions.
3500 (tertiary_reload_operand, fpscr_operand): Likewise.
3501 (commutative_float_operator, noncommutative_float_operator): Likewise.
3502 (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
3503 (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
3504 (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
3505 (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
3506 * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
3507 (CONDITIONAL_REGISTER_USAGE): Likewise.
3508 (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
3509 (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
3510 (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
3511 (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
3512 (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
3513 to -1 and sh_flag_remove_dead_before_cse to 1.
3514 (ASSEMBLER_DIALECT): Define to assembler_dialect.
3515 (assembler_dialect, fp_reg_names): Declare.
3516 (OVERRIDE_OPTIONS): Add code for TARGET_SH4.
3517 Hide names of registers that are not accessible.
3518 (CACHE_LOG): Take TARGET_CACHE32 into account.
3519 (LOOP_ALIGN): Take TARGET_HARWARD into account.
3520 (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
3521 (FIRST_PSEUDO_REGISTER: Now 49.
3522 (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
3523 (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
3524 (HARD_REGNO_MODE_OK): Update.
3525 (enum reg_class): Add DF_REGS and FPSCR_REGS.
3526 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
3527 (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
3528 (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
3529 (NPARM_REGS): Eight floating point parameter registers on SH4.
3530 (BASE_RETURN_VALUE_REG): SH4 also passes double values
3531 in floating point registers.
3532 (GET_SH_ARG_CLASS) Likewise.
3533 Complex float types are also returned in float registers.
3534 (BASE_ARG_REG): Complex float types are also passes in float registers.
3535 (FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
3536 (LIBCALL_VALUE): Remove trailing semicolon.
3537 (ROUND_REG): Round when double precision value is passed in floating
3538 point register(s).
3539 (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
3540 passed on the stack.
3541 (FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
3542 (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
3543 (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
3544 (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
3545 (MODE_DISP_OK_8): Not for SH4 DFmode.
3546 (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
3547 Allow indexed addressing for PSImode after reload.
3548 (LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
3549 (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
3550 Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
3551 (DOUBLE_TYPE_SIZE): 64 for SH4.
3552 (RTX_COSTS): Add PLUS case.
3553 Increae cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
3554 (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
3555 MAC_REGS, PR_REGS, DF_REGS.
3556 (REGISTER_NAMES): Use fp_reg_names.
3557 (enum processor_type): Add PROCESSOR_SH4.
3558 (sh_flag_remove_dead_before_cse): Declare.
3559 (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
3560 (PREDICATE_CODES): Add binary_float_operator,
3561 commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
3562 fpscr_operand, noncommutative_float_operator.
3563 (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
3564 (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
3565 * sh.md (attribute cpu): Add value sh4.
3566 (attrbutes fmovd, issues): Define.
3567 (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
3568 (function units memory, int, mpy, fp): Make dependent on issue rate.
3569 (function units issue, single_issue, load_si, load): Define.
3570 (function units load_store, fdiv, gp_fpul): Define.
3571 (attribute hit_stack): Provide proper default.
3572 (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
3573 (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
3574 (udivsi3, divsi3): Emit special patterns for SH4 hardware,
3575 (mulsi3_call): Now uses match_operand for function address.
3576 (mulsi3): Also emit code for SH1 case. Wrap result in REG_LIBCALL /
3577 REG_RETVAL notes.
3578 (push, pop, push_e, pop_e): Now define_expands.
3579 (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
3580 (movsi_ie): Added y/i alternative.
3581 (ic_invalidate_line_i, movdf_i4): New insns.
3582 (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
3583 (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
3584 (movdf): Add special code for SH4.
3585 (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
3586 (call_valuei, calli, call_value): Likewise.
3587 (movsf): Emit no-op move.
3588 (mov_nop, movsi_y): New insns.
3589 (blt, sge): generalize to handle DFmode.
3590 (return predicate): Call emit_fpscr_use and remove_dead_before_cse.
3591 (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
3592 (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
3593 (fpu_switch0, fpu_switch1, movpsi): New expanders.
3594 (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
3595 (toggle_sz): New insn.
3596 (addsf3, subsf3, mulsf3, divsf3): Now define_expands.
3597 (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
3598 (macsf3): Make use of fpscr visible. Disable for SH4.
3599 (floatsisf2): Make use of fpscr visible.
3600 (floatsisf2_i4): New insn.
3601 (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
3602 (ieee_ccmpeqsf_t): Likewise.
3603 (fix_truncsfsi2): Emit different code for SH4.
3604 (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
3605 (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
3606 (negsf2, sqrtsf2, abssf2): Now expanders.
3607 (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
3608 (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
3609 (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
3610 (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
3611 (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
3612 (fix_truncdfsi2_i4_2+1): New splitters.
3613 (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
3614 (extendsfdf2, truncdfsf2): New expanders.
3615 (truncdfsf2_i4): New insn.
3616 * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
3617 (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
3618 * float-sh.h: When testing for __SH3E__, also test for
3619 __SH4_SINGLE_ONLY__ .
3620 * va-sh.h (__va_freg): Define to float.
3621 (__va_greg, __fa_freg, __gnuc_va_list, va_start):
3622 Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
3623 (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
3624 (__PASS_AS_FLOAT): Use different definition for __SH4__ and
3625 __SH4_SINGLE__.
3626 (TARGET_SH4_P): Define.
3627 (va_arg): Use it.
3628
3629 * sh.md (movdf_k, movsf_i): Tweak the condition so that
3630 init_expr_once is satisfied about the existence of load / store insns.
3631
3632 * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
3633 change m constraint in source operand to mr / mf .
3634
3635 * va-sh.h (__va_arg_sh1): Use __asm instead of asm.
3636
3637 * (__VA_REEF): Define.
3638 (__va_arg_sh1): Use it.
3639
3640 * va-sh.h (va_start, va_arg, va_copy): Add parenteses.
3641
668d9af5
JL
3642Sun Nov 22 21:34:02 1998 Jeffrey A Law (law@cygnus.com)
3643
3644 * i386/dgux.c (struct option): Add new "description field".
3645 * m88k/m88k.c (struct option): Likewise.
3646
e736f77a
JL
3647Sun Nov 22 16:07:57 PST 1998 Jeff Law (law@cygnus.com)
3648
3649 * version.c: Bump for snapshot.
3650
3d2f8eb6
BS
3651Sun Nov 22 13:40:02 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3652
3653 * regmove.c (regmove_profitable_p): Use return value of find_matches
3654 properly.
3655
57412d4f
JL
3656Sun Nov 22 02:47:37 PST 1998 Jeff Law (law@cygnus.com)
3657
3658 * version.c: Bump for snapshot.
3659
225a7e3d
JL
3660Sat Nov 21 22:12:09 1998 Jeffrey A Law (law@cygnus.com)
3661
9969bb2c
JL
3662 * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
3663 without reload having been called earlier.
3664
2268cc52
JL
3665 * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
3666 addressing modes.
3667 (v850_reorg): Similarly.
3668
225a7e3d
JL
3669 * loop.c (check_dbra_loop): Avoid using gen_add2_insn.
3670
18985c91
R
3671Sat Nov 21 02:18:38 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3672
3673 * loop.c (move_movables): Start of libcall might be new loop start.
3674
d25a233e
KG
3675Fri Nov 20 12:14:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3676
3677 * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
3678
ba716ac9
BS
3679Fri Nov 20 08:34:00 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3680
3681 * function.c (nonlocal_goto_handler_slots): Renamed from
3682 nonlocal_goto_handler_slot; now an EXPR_LIST chain.
3683 (push_function_context_to): Adjust for this change.
3684 (pop_function_context_from): Likewise.
3685 (init_function_start): Likewise.
3686 (expand_function_end): Likewise.
3687 * function.h (struct function): Likewise.
3688 * calls.c (expand_call): Likewise.
3689 * explow.c (allocate_dynamic_stack_space): Likewise.
3690 * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
3691 * stmt.c (declare_nonlocal_label): Make a new handler slot for each
3692 label.
3693 (expand_goto): When doing a nonlocal goto, find corresponding handler
3694 slot for it. Don't put the label address in the static chain register.
3695 (expand_end_bindings): Break out nonlocal goto handling code into
3696 three new functions.
3697 (expand_nl_handler_label, expand_nl_goto_receiver,
3698 expand_nl_goto_receivers): New static functions, broken out of
3699 expand_end_bindings and adapted to create one handler per nonlocal
3700 label.
3701 * function.c (delete_handlers): Delete insn if it references any of
3702 the nonlocal goto handler slots.
3703 * i960.md (nonlocal_goto): Comment out code that modifies
3704 static_chain_rtx.
3705 * sparc.md (nonlocal_goto): Likewise.
3706 (goto_handler_and_restore_v9): Comment out.
3707 (goto_handler_and_restore_v9_sp64): Comment out.
3708
e468780f 3709Thu Nov 19 23:44:38 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
c795bca9
BS
3710
3711 * expr.c (STACK_BYTES): Delete unused macro.
3712 * calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
3713 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
3714 (expand_call): Likewise.
3715 (emit_library_call): Likewise.
3716 (emit_library_call_value): Likewise.
3717 * function.c: Provide default for PREFERRED_STACK_BOUNDARY.
3718 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
3719 * explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
3720 (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
3721 (allocate_dynamic_stack_space): Likewise.
3722 * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
3723 (STACK_BOUNDARY): Update description to reflect the new situation.
3724
9bce98db
JL
3725Thu Nov 19 22:20:51 1998 Jeffrey A Law (law@cygnus.com)
3726
9f5a2691
JL
3727 * reorg.c (relax_delay_slots): When optimizing for code size, if a
3728 return with a filled delay slot is followed by a return with an
3729 unfilled delay slot, delete the first return and reemit the insn
3730 that was previously in its delay slot.
3731
9bce98db
JL
3732 * i860.c (single_insn_src_p): Add missing parens.
3733 * ginclude/math-3300.h: Likewise.
3734
24deb20a
L
3735Thu Nov 19 20:55:59 1998 H.J. Lu (hjl@gnu.org)
3736
3737 * regclass.c (init_reg_sets_1): Add prototype.
3738 (init_reg_modes): Likewise.
3739
07be2a23
ZW
37401998-11-19 Zack Weinberg <zack@rabi.phys.columbia.edu>
3741
3742 * c-common.c: Change warning messages to say `comparison is
3743 always true' or `comparison is always false' instead of the
3744 confusing `is always 0', `is always 1'.
3745
39e4e1ef
PB
3746Thu Nov 19 19:05:49 1998 Per Bothner <bothner@cygnus.com>
3747
3748 * print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
3749 break instead of return (which loses closing '>').
3750
90aec2cf
JL
3751Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com)
3752
e3f159c2
JL
3753 * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
3754 standard 387 constants.
3755
90aec2cf
JL
3756 * i386.md (jump): Explicitly set "memory" attribute.
3757 (indirect_jump, prologue_set_stack_ptr): Likewise.
3758 (prologue_get_pc_and_set_got, pop): Likewise.
3759 (allocate_stack_worder, blockage, return_internal): Likewise.
3760 (return_pop_internal, nop): Likewise.
3761 (epilogue_set_stack_ptr, leave): Likewise.
3762
233ce013
NC
3763Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com>
3764
3765 * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
3766
701d55e8
R
3767Thu Nov 19 23:20:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3768
53526817
JR
3769 * reload1.c (reload_reg_free_for_value_p):
3770 Early auto_inc reloads don't conflict with outputs.
701d55e8 3771
e9831ca0
KG
3772Thu Nov 19 12:58:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3773
3774 * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
3775 Instead call AC_HEADER_SYS_WAIT.
3776
3777 * collect2.c: Don't provide defaults for sys/wait.h macros.
3778 * gcc.c: Likewise.
3779 * protoize.c: Likewise. Also, don't include sys/wait.h.
3780
3781 * system.h: Include sys/wait.h and provide macro defaults.
3782
a76b6b40
MH
37831998-11-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3784
3785 * Makefile.in (mandir): Set to @mandir@.
3786 (man1dir): New variable to hold the former value of $(mandir).
3787 Replace all uses of $(mandir) by $(man1dir).
3788
10352226
JW
3789Wed Nov 18 16:31:28 1998 Jim Wilson <wilson@cygnus.com>
3790
ef18065c
JW
3791 * reload.c (find_reloads_address_part): If have a CONST_INT, create
3792 a new one before passing it to force_const_mem.
3793
10352226
JW
3794 * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
3795 find_reloads_address call.
3796
f3f2255a
R
3797Wed Nov 18 22:13:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3798
3799 * expr.c (store_expr): Don't generate load-store pair
3800 if TEMP is identical (according to ==) with TARGET.
3801
25963977
R
3802Tue Nov 17 22:25:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3803
3804 * reload1.c (reload_reg_free_for_value_p): When considered reload
3805 has an output, matching inputs are not sufficient to avoid conflict.
3806
a87ec9e6
MM
3807Tue Nov 17 11:51:16 1998 Mark Mitchell <mark@markmitchell.com>
3808
3809 * hash.h (hash_table_key): New type.
3810 (hash_entry): Change `string' field to generic `key'.
3811 (hash_table): Add `comp' and `hash' functions.
3812 (hash_table_init): Take them as input.
3813 (hash_table_init_n): Likewise.
3814 (hash_lookup): Modify for generic keys.
3815 (hash_newfunc): Likewise.
3816 (hash_traverse): Likewise.
3817 (string_hash): New function.
3818 (string_compare): Likewise.
3819 (string_copy): Likewise.
3820 * hash.c (hash_table_init_n): Modify for generic keys.
3821 (hash_table_init): Likewise.
3822 (hash_lookup): Likewise.
3823 (hash_newfunc): Likewise.
3824 (hash_traverse): Likewise.
3825 (string_hash): Split out from hash_lookup.
3826 (string_compare): New function.
3827 (string_copy): Split out from hash_lookup.
3828 * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
3829 tables.
3830 (symbol_hash_lookup): Likewise.
3831 (file_hash_newfunc): Likewise.
3832 (file_hash_lookup): Likewise.
3833 (demangled_hash_newfunc): Likewise.
3834 (demangled_hash_lookup): Likewise.
3835 (tlink_int): Likewise.
3836 (read_repo_file): Likewise.
3837 (recompile_files): Likewise.
3838 (demangle_new_symbols): Likewise.
3839 (scan_linker_output): Likewise.
3840
e398aa80
R
3841Tue Nov 17 17:13:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3842
3843 * flow.c (insn_dead_p): New argument NOTES. Changed all callers.
3844
efc97ef0
DE
3845Mon Nov 16 17:56:07 1998 David Edelsohn <edelsohn@mhpcc.edu>
3846
3847 * rs6000.c (output_mi_thunk): Improve test for local branch.
3848
3849Mon Nov 16 17:56:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3850
3851 * rs6000.c (output_mi_thunk): Correct test for aggregate values.
3852
dfe96118
R
3853Mon Nov 16 21:02:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3854
3855 * reload1.c (reload_reg_free_before_p): Delete.
3856 Changed all callers to use reload_reg_free_for_value_p instead.
3857 (reload_reg_free_for_value_p): Handle more reload types.
3858 A RELOAD_FOR_INPUT doesn't conflict with its
3859 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
3860 Add special case for OUT == const0_rtx.
3861 Added ignore_address_reloads argument. Changed all callers.
3862
1f288b3f
JM
3863Mon Nov 16 02:22:29 1998 Jason Merrill <jason@yorick.cygnus.com>
3864
3865 * toplev.c (compile_file): Don't pedwarn about undefined static
3866 functions just because we passed -Wunused.
3867
de0dd934
R
3868Mon Nov 16 04:41:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3869
3870 * function.c (purge_addressof_1): Unshare rtl created by
3871 store_bit_field.
3872
8d1d76c1
R
3873Mon Nov 16 04:23:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3874
3875 * regmove.c (regmove_optimize): Don't do anything but
3876 optimize_reg_copy[123] when flag_regmove is not set.
3877
bd8dc165
RH
3878Sat Nov 14 15:05:07 1998 Richard Henderson <rth@cygnus.com>
3879
3880 * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
3881 value in paradoxical SImode result, rather than truncating midpoint.
3882
40b80dad
RH
3883Fri Nov 13 22:19:23 1998 Richard Henderson <rth@cygnus.com>
3884
3885 * alpha.c (reg_not_elim_operand): New.
3886 * alpha.h (PREDICATE_CODES): Add it.
3887 * alpha.md (s48addq, s48subq patterns): Use it as the predicate
3888 for the multiplicand.
3889
f99f88e0
DE
3890Fri Nov 13 22:50:37 1998 David Edelsohn <edelsohn@mhpcc.edu>
3891
3892 * rs6000.md (movsf): Remove explicit secondary-reload-like
3893 functionality. Only truncate SFmode store if in FPR.
3894 (movsf splitters): Combine const_double splitters.
3895 (movsf_hardfloat): Add GPR support.
3896
8c64be75
SC
3897Fri Nov 13 11:02:11 1998 Stan Cox <scox@cygnus.com>
3898
93d9a2eb
SC
3899 * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
3900 deprecate -mlive-g0 and -mbroken-saverestore.
3901 * t-splet (MULTILIB_OPTIONS): Likewise.
3902
8c64be75
SC
3903 * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
3904 in a leaf function. Clarify total_size/extra_size relationship.
3905
cae21ae8
GN
3906Thu Nov 12 19:20:57 1998 Geoffrey Noer <noer@cygnus.com>
3907
3908 * i386/cygwin32.asm: Delete.
3909 * i386/cygwin.asm: New file, renamed from cygwin32.asm.
3910 * i386/cygwin32.h: Delete.
3911 * i386/cygwin.h: New file, renamed from cygwin32.h.
3912 * i386/t-cygwin32: Delete.
3913 * i386/t-cygwin: New file, renamed from t-cygwin32. Include
3914 cygwin.asm instead of cygwin32.asm. Remove "32" from comment.
3915 * i386/x-cygwin32: Delete.
3916 * i386/x-cygwin: New file, renamed from x-cygwin32.
3917 * i386/xm-cygwin32: Delete.
3918 * i386/xm-cygwin: New file, renamed from xm-cygwin32. Use newly
3919 renamed cygwin_ funcs for path translations.
3920 * i386/win32.h: Define __CYGWIN__ when -mcygwin given.
3921 * i386/winnt.c: Remove "32" from comment about cygwin.
3922 * i386/mingw32.h: Fix references to cygwin32.h in light of above.
3923 * rs6000/cygwin32.h: Delete.
3924 * rs6000/cygwin.h: New file, renamed from cygwin32.h. Add
3925 -D__CYGWIN__ to CPP_PREDEFINES.
3926 * rs6000/x-cygwin32: Delete.
3927 * rs6000/x-cygwin: New file, renamed from x-cygwin32.
3928 * rs6000/xm-cygwin32: Delete.
3929 * rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
3930
3931 * configure.in: Check for cygwin* instead of cygwin32. Account
3932 for the rename of cygwin-related config files to lose the "32"s.
3933 * configure: Regenerate.
3934
3935 * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
3936 toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
3937
df37e3db
TT
3938Wed Nov 11 12:25:19 1998 Tom Tromey <tromey@cygnus.com>
3939
3940 * Makefile.in (JAVAGC): New macro.
3941 * configure: Rebuilt.
3942 * configure.in: Recognize --enable-java-gc argument. Subst
3943 `JAVAGC' variable.
3944
135eb61c
R
3945Thu Nov 12 03:32:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3946
3947 Handle equivalences that have been obscured by gcse:
3948
3949 * reload1.c (reload): Handle equivalences set up in multiple places.
3950 * local-alloc.c (reg_equiv_init_insns): New variable.
3951 (no_equiv): New function.
3952 (update_equiv_regs): Handle equivalences set up in multiple places.
3953 Don't ignore an insn just because its destination is likely to be
3954 spilled.
3955
2a55b8e8
JW
3956Wed Nov 11 13:46:13 1998 Jim Wilson <wilson@cygnus.com>
3957
3958 * except.c (expand_eh_return): Readd force_operand call lost in
3959 Sept 15 change.
3960
fbd2bdda
DE
3961Tue Nov 10 17:04:11 1998 David Edelsohn <edelsohn@mhpcc.edu>
3962
3963 * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
3964
3363316f
JL
39651998-11-09 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3966
3967 * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
3968
3969Mon Nov 9 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3970
3971 * regmove.c (regmove_optimize): Fix error in last change.
3972
a3bc83cc
AC
3973Mon Nov 9 16:37:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
3974
3975 * mips.c (function_prologue): When TARGET_MIPS16, adjust the register
3976 offset in the .mask pseudo to compensate for frame pointer adjustments.
3977 (mips16_fp_args, build_mips16_call_stub): For little endian, do not
3978 word swap arguments moved to/from FP registers.
3979 * mips16.S (DFREVCMP): Reverse arguments to OPCODE.
3980
b8b2d50d
JL
3981Mon Nov 9 09:47:06 PST 1998 Jeff Law (law@cygnus.com)
3982
3983 * version.c: Bump for snapshot.
3984
57457ee0
JL
3985Mon Nov 9 02:14:14 PST 1998 Jeff Law (law@cygnus.com)
3986
3987 * version.c: Bump for snapshot.
3988
a3a24aa6
JL
3989Mon Nov 9 03:06:24 1998 Jeffrey A Law (law@cygnus.com)
3990
3991 * reload1.c (delete_output_reload_insn): If a pseudo is set multiple
3992 times, then it can not be completely replaced.
3993
8cad673c
RH
3994Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com>
3995
3996 * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
3997
5148a72b
KG
3998Sun Nov 8 17:50:30 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3999
4000 * gansidecl.h: Prepend a "G" to the macro wrapping this file
4001 (to distinguish it from the macro wrapping ansidecl.h.)
4002 Include libiberty's ansidecl.h. Remove all redundant definitions.
4003 Define the PROTO() style macros in terms of the PARAMS() ones.
4004
4005
4006 * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
4007 __STDC__, when deciding whether to use ANSI variable args.
4008 (emit_library_call_value): Likewise.
4009
4010 * cccp.c (error): Likewise.
4011 (warning): Likewise.
4012 (error_with_line): Likewise.
4013 (warning_with_line): Likewise.
4014 (pedwarn): Likewise.
4015 (pedwarn_with_line): Likewise.
4016 (pedwarn_with_file_and_line): Likewise.
4017 (fatal): Likewise.
4018
4019 * cexp.y (error): Likewise.
4020 (pedwarn): Likewise.
4021 (warning): Likewise.
4022
4023 * collect2.c (fatal_perror): Likewise.
4024 (fatal): Likewise.
4025 (error): Likewise.
4026
4027 * combine.c (gen_rtx_combine): Likewise.
4028
4029 * cpperror.c (cpp_message): Likewise.
4030 (cpp_fatal): Likewise.
4031
4032 * cpplib.c (cpp_error): Likewise.
4033 (cpp_warning): Likewise.
4034 (cpp_pedwarn): Likewise.
4035 (cpp_error_with_line): Likewise.
4036 (cpp_warning_with_line): Likewise.
4037 (cpp_pedwarn_with_line): Likewise.
4038 (cpp_pedwarn_with_file_and_line): Likewise.
4039
4040 * cpplib.h: Don't define PARAMS() macro.
4041
4042 * demangle.h: Likewise.
4043
4044 * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
4045 when deciding whether to use ANSI variable args.
4046
4047 * emit-rtl.c (gen_rtx): Likewise.
4048 (gen_rtvec): Likewise.
4049
4050 * final.c (asm_fprintf): Likewise.
4051
4052 * fix-header.c (cpp_message): Likewise.
4053 (fatal): Likewise.
4054 (cpp_fatal): Likewise.
4055
4056 * gcc.c (concat): Likewise.
4057 (fatal): Likewise.
4058 (error): Likewise.
4059
4060 * genattr.c (fatal): Likewise.
4061
4062 * genattrtab.c (attr_rtx): Likewise.
4063 (attr_printf): Likewise.
4064 (fatal): Likewise.
4065
4066 * gencodes.c (fatal): Likewise.
4067
4068 * genconfig.c (fatal): Likewise.
4069
4070 * genemit.c (fatal): Likewise.
4071
4072 * genextract.c (fatal): Likewise.
4073
4074 * genflags.c (fatal): Likewise.
4075
4076 * genopinit.c (fatal): Likewise.
4077
4078 * genoutput.c (fatal): Likewise.
4079 (error): Likewise.
4080
4081 * genpeep.c (fatal): Likewise.
4082
4083 * genrecog.c (fatal): Likewise.
4084
4085 * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
4086 deciding whether to declare `tree_node' and `rtx_def'.
4087
4088 * hash.h: Don't define stuff we get from gansidecl.h.
4089
4090 * mips-tfile.c: Likewise. Define __proto() in terms of PARAMS().
4091 (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
4092 whether to use ANSI variable args.
4093 (error): Likewise.
4094
4095 * prefix.c (concat): Likewise.
4096
4097 * scan.h: Likewise.
4098
4099 * system.h: Likewise.
4100
4101 * toplev.c (error_with_file_and_line): Likewise.
4102 (error_with_decl): Likewise.
4103 (error_for_asm): Likewise.
4104 (error): Likewise.
4105 (fatal): Likewise.
4106 (warning_with_file_and_line): Likewise.
4107 (warning_with_decl): Likewise.
4108 (warning_for_asm): Likewise.
4109 (warning): Likewise.
4110 (pedwarn): Likewise.
4111 (pedwarn_with_decl): Likewise.
4112 (pedwarn_with_file_and_line): Likewise.
4113 (sorry): Likewise.
4114 (really_sorry): Likewise.
4115
4116 * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
4117 whether to declare `tree_node' and `rtx_def'.
4118
4119 * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
4120 deciding whether to use ANSI variable args.
4121 (build_nt): Likewise.
4122 (build_parse_node): Likewise.
4123
2fb04465
JL
4124Sun Nov 8 13:10:55 PST 1998 Jeff Law (law@cygnus.com)
4125
4126 * version.c: Bump for snapshot.
4127
4f44785e
KG
4128Sat Nov 7 23:34:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4129
4130 * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
4131
3d697b4c
DE
4132Sat Nov 7 22:26:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
4133
4134 * collect2.c (main, case 'b'): Use else if.
4135
0056a9b5
KG
4136Sat Nov 7 15:35:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4137
4138 * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
4139 Arrange to include gansidecl.h in {ht}config.h & tm.h just
4140 before the config/ directory headers.
4141 (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
4142 gansidecl.h in the list of dependencies.
4143
4144 * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
4145 (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
4146 mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
4147 gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
4148 dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
4149 cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
4150 Likewise.
4151
4152 * cccp.c: Don't include gansidecl.h.
4153 * cexp.y: Likewise.
4154 * collect2.c: Likewise.
4155 * config/c4x/c4x.c: Likewise.
4156 * config/v850/v850.h: Likewise.
4157 * cppalloc.c: Likewise.
4158 * cpperror.c: Likewise.
4159 * cppexp.c: Likewise.
4160 * cppfiles.c: Likewise.
4161 * cpphash.c: Likewise.
4162 * cpplib.c: Likewise.
4163 * cppmain.c: Likewise.
4164 * cppulp.c: Likewise.
4165 * demangle.h: Likewise.
4166 * doprint.c: Likewise.
4167 * dyn-string.c: Likewise.
4168 * eh-common.h: Likewise.
4169 * fix-header.c: Likewise.
4170 * frame.c: Likewise.
4171 * gcc.c: Likewise.
4172 * gcov.c: Likewise.
4173 * gen-protos.c: Likewise.
4174 * gencheck.c: Likewise.
4175 * halfpic.h: Likewise.
4176 * hash.c: Likewise.
4177 * machmode.h: Likewise.
4178 * mbchar.c: Likewise.
4179 * prefix.c: Likewise.
4180 * protoize.c: Likewise.
4181 * recog.h: Likewise.
4182 * rtl.h: Likewise.
4183 * scan-decls.c: Likewise.
4184 * tree.h: Likewise.
4185 * varray.h: Likewise.
4186
35e2d030
RH
4187Sat Nov 7 11:37:53 1998 Richard Henderson <rth@cygnus.com>
4188
4189 * i386.md (call_value_pop): If we're not popping anything,
4190 defer to call_value.
4191 (call_pop): Likewise defer to call.
4192
da9b1f9c
RH
4193Sat Nov 7 02:49:56 1998 Richard Henderson <rth@cygnus.com>
4194
4195 * function.c (purge_addressof): Clear purge_addressof_replacements
4196 only after processing the whole function.
4197
8f5db3c1
JL
4198Sat Nov 7 00:54:55 1998 Jeffrey A Law (law@cygnus.com)
4199
4200 * reload1.c (reload): If we can not perform a particular elimination
4201 when we thought we could earlier, then we must always iterate through
4202 the loop at least one more time.
4203
80df65c9
RH
4204Fri Nov 6 19:37:33 1998 Richard Henderson <rth@cygnus.com>
4205
4206 * alpha.c (add_operand): Simplify the CONST_INT match.
4207 (sext_add_operand): Correct typo in comparison by using
4208 CONST_OK_FOR_LETTER_P.
4209 * alpha.md (s?addq): Use sext_add_operand to allow the negative
4210 constant alternatives to be generated.
4211 (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
4212 small constants, since the hw instructions do.
4213
d30e8ef0
BS
4214Fri Nov 6 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4215
4216 * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
4217 previous insn to store directly into our reload register, make sure
4218 that if the source of the previous insn is a reload register, its
4219 spill_reg_store and spill_reg_stored_to values are cleared.
4220
955fc2e7
DE
4221Fri Nov 6 16:35:10 1998 David Edelsohn <edelsohn@mhpcc.edu>
4222
4223 * rs6000.md (floatunssidf2_internal splitter): Use base register
4224 operand, not hard-coded SP.
4225
ca76d13d
DM
4226Fri Nov 6 04:07:53 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
4227
4228 * jump.c (calculate_can_reach_end): Fix thinko.
4229
2cea37e5
JL
4230Fri Nov 6 00:16:04 1998 Jeffrey A Law (law@cygnus.com)
4231
0d87569a
JL
4232 * reorg.c (fill_simple_delay_slots): Fix typo.
4233
2cea37e5
JL
4234 * romp.h (LEGITIMIZE_ADDRESS): Fix typo.
4235
724d568a
JH
4236Fri Nov 6 00:10:00 1998 Jan Hubicka (hubicka@freesoft.cz)
4237
4238 * i386.md (extendsidi2): Use # in the output template.
4239 (extendsidi splitters): New splitters.
4240
5ee26f85
NC
4241Thu Nov 5 11:13:27 1998 Nick Clifton <nickc@cygnus.com>
4242
4243 * configure.in: Use unknown-elf.h as tm_file for arm-elf
4244 configuarions.
4245 * configure: Regenerate.
4246
269ef46c
DM
4247Thu Nov 5 07:59:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
4248
4249 * jump.c (init_label_info, delete_barrier_successors,
4250 mark_all_labels, delete_unreferenced_labels,
4251 delete_noop_moves, calculate_can_reach_end): New functions broken
4252 out of jump_optimize.
4253 (jump_optimize): Use them.
4254
b37f006b
AM
4255Thu Nov 5 07:57:45 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
4256
4257 * except.c (expand_fixup_region_end): Make sure outer context labels
4258 are not issued in an inner context during cleanups.
4259
6c61c2bb
RH
4260Thu Nov 5 04:03:06 1998 Richard Henderson <rth@cygnus.com>
4261
4262 * alpha.md (addsi3, subsi3): No new temporaries once cse is
4263 no longer expected.
4264
8f5d6855
RH
4265Thu Nov 5 03:29:19 1998 Richard Henderson <rth@cygnus.com>
4266
4267 * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
4268 to expose this midpoint to CSE.
4269
4ba687c8
DM
4270Thu Nov 5 03:42:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
4271
4272 * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
4273
9da0e39b
AS
4274Thu Nov 5 10:53:01 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
4275
4276 * configure.in: Bring over gcc2 change of Nov 19 1997.
4277
444bf316
JL
4278Wed Nov 4 23:43:08 1998 Graham <grahams@rcp.co.uk>
4279
4280 * toplev.c (output_lang_identify): Make definition dependent on
4281 ASM_IDENTIFY_LANGUAGE.
4282
4283 * print-rtl.c (spaces): Make static.
4284
4285Wed Nov 4 22:16:36 1998 Hans-Peter Nilsson <hp@axis.se>
8fe1938e
HPN
4286
4287 * extend.texi: Clarify proper uses for register clobbers in asms.
4288
0eadeb15
BS
4289Wed Nov 4 22:16:36 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4290
4291 * recog.h (enum op_type): Define.
4292 (constrain_operands): Adjust prototype.
4293 (recog_op_type): Declare new variable.
4294 * recog.c (recog_op_type): New variable.
4295 (insn_invalid_p): Allow modifying an asm statement after reload.
4296 (extract_insn): Set up recog_op_type.
4297 (constrain_operands): Lose INSN_CODE_NUM arg. All callers changed.
4298 Don't compute operand types, use recog_op_type.
4299 Use the information computed by extract_insn instead of the previous
4300 method of finding it by insn code number.
4301 * caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
4302 * reorg.c (fill_slots_from_thread): Likewise.
4303 * reload1.c (reload_as_needed): Likewise.
4304 (gen_reload): Likewise.
4305 (inc_for_reload): Likewise.
4306 (reload_cse_simplify_operands): Likewise.
4307 Use the information computed by extract_insn instead of the previous
4308 method of finding it by insn code number.
4309 * genattrtab.c (write_attr_case): Generate call to extract_insn, not
4310 insn_extract.
4311 * final.c (final_scan_insn): Use extract_insn, not insn_extract.
4312 (cleanup_operand_subregs): Use extract_insn, not insn_extract.
4313 Use the information computed by extract_insn instead of the previous
4314 method of finding it by insn code number.
4315 * regmove.c (find_matches): Likewise. Change meaning of the return
4316 value to be nonzero if the optimization can be performed, zero if
4317 not. All callers changed.
4318 Shorten some variable names to fix formatting problems.
4319 (regmove_optimize): Shorten some variable names to fix formatting
4320 problems.
4321 Use the information computed by extract_insn instead of the previous
4322 method of finding it by insn code number.
4323 * regclass.c (scan_one_insn): Likewise.
4324 (record_reg_classes): Don't compute operand types, use recog_op_type.
4325 * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
4326 recog_constraints instead.
4327
09d33be8
JL
4328Wed Nov 4 21:37:46 1998 Jeffrey A Law (law@cygnus.com)
4329
4330 * rtl.h (flow2_completed): Declare.
4331 * flow.c (flow2_completed): Definition.
4332 * toplev.c (rest_of_compilation): Set and clear flow2_completed
4333 as necessary.
4334
bfc5000a
JL
4335Wed Nov 4 19:15:37 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
4336
4337 * Makefile.in (libcpp.a): Ranlib libcpp.a
4338
4339 * cppulp.c (user_label_prefix): Initialize.
4340
4341Wed Nov 4 19:07:08 1998 John Wehle (john@feith.com)
4342
4343 * flow.c (mark_regs_live_at_end): Mark the stack pointer as live
4344 at a RETURN if current_function_sp_is_unchanging is set.
4345
a93049de
HB
4346Wed Nov 4 18:16:29 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4347
4348 * emit-rtl.c (try_split): Fixed error in Oct 10 patch.
4349
040688bd
GN
4350Wed Nov 4 15:11:15 1998 Geoffrey Noer <noer@cygnus.com>
4351
4352 * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
4353 TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
4354 (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
4355 (CPP_PREDEFINES): Don't define __CYGWIN32__ here.
4356 (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
4357 (CPP_SPEC): Handle -mno-cygwin option. Define __CYWIN__ in addition
4358 to __CYGWIN32__.
4359 (LIB_SPEC): Handle -mno-cyginw option.
4360 (LINK_SPEC): Handle -mdll.
4361
e0d7bb0d
R
4362Wed Nov 4 22:56:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4363
4364 * reload.c (find_reloads): Fix test for usage by other reload
4365 to handle secondary reloads properly.
4366
590cf94d
KG
4367Wed Nov 4 17:25:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4368
4369 * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
4370 intermediate structure which has exactly the members provided by
4371 ELIMINABLE_REGS. Define NUM_ELIMINABLE_REGS in terms of the
4372 static intermediate structure.
4373
4374 (init_elim_table): Xmalloc() `reg_eliminate', and initialize it
4375 from the intermediate structure. Do the same analogous fix in
4376 the case where ELIMINABLE_REGS is not defined.
4377
ab2e3386
JL
4378Tue Nov 3 20:50:03 1998 Jeffrey A Law (law@cygnus.com)
4379
4380 * pa.h (SELECT_SECTION): Fix thinko.
4381
eef906d6
JW
4382Tue Nov 3 17:51:36 1998 Jim Wilson <wilson@cygnus.com>
4383
4384 * dwarf2out.c (output_call_frame_info): Comments on last change.
4385
74641843
RE
4386Tue Nov 3 07:51:43 1998 Richard Earnshaw (rearnsha@arm.com)
4387
4388 * arm.c (add_constant): When taking the address of an item in the
4389 pool, get the mode of the item addressed.
4390
4391 * arm.c (final_prescan_insn case INSN): If an insn doesn't
4392 contain a SET or a PARALLEL, don't consider it for conditional
4393 execution.
4394
4395 Restore ABI compatibility for NetBSD.
4396 * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
4397 arm.h
4398 (RETURN_IN_MEMORY): Likewise.
4399
0ae9f65b
DE
4400Mon Nov 2 11:46:17 1998 Doug Evans <devans@canuck.cygnus.com>
4401
4402 * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
4403 (m32r_output_block_move): Rewrite bytes < 4 handling.
4404
c375c43b
KG
4405Mon Nov 2 10:10:35 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4406
4407 * configure.in: Call AC_FUNC_VFORK.
4408
4409 * collect2.c: Define VFORK_STRING as a printable string for
4410 error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
4411 defined, include vfork.h. If VMS is defined, define vfork()
4412 appropriately. Remove vfork check on USG, we're using autoconf.
4413 (collect_execute): Pass VFORK_STRING to fatal_perror instead of
4414 checking locally what string to pass.
4415 (scan_prog_file): Likewise.
4416 (scan_libraries): Likewise.
4417
4418 * gcc.c: Remove vfork check on USG, we're using autoconf.
4419 Besides, no calls to vfork/fork occur in this file.
4420
4421 * protoize.c: Likewise.
4422
3ccc3a56
AO
4423Mon Nov 2 07:52:28 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
4424
4425 * configure.in (DEFAULT_LINKER): renamed from LD
4426 (DEFAULT_ASSEMBLER): renamed from AS; reverted Schwab's patch
4427 (gcc_cv_as): try $DEFAULT_ASSEMBLER before $AS
4428 * configure: rebuilt
4429
5dd21ded
AO
4430Mon Nov 2 01:48:10 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
4431
4432 * BUGS: fix the regexp for `more' to find the appropriate node.
4433 Reported by Joerg Pietschmann <joerg_pietschmann@zkb.ch>
4434
4435 * BUGS: added link to the WWW FAQ
4436
44ba27b4
JL
4437Sun Nov 1 18:27:15 PST 1998 Jeff Law (law@cygnus.com)
4438
4439 * version.c: Bump for snapshot.
4440
6d8cf409
JL
4441Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com)
4442
4443 * From Christian Gafton:
4444 * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
4445 * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
4446 * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
4447
43d8a6c7
MM
4448Sat Oct 31 21:42:39 1998 Mark Mitchell <mark@markmitchell.com>
4449
4450 * c-common.c (c_get_alias_set): Allow all type-punning through
4451 unions. Don't get confused about the type of a bit-field, despite
4452 the antics of build_modify_expr.
4453
abf0be7c
JPR
4454Sat Oct 31 22:35:29 1998 Jean-Pierre Radley <jpr@jpr.com>
4455
4456 * fixinc.sco: Paramaterize #include_next values.
4457 * fixinc/fixinc.sco: Likewise.
4458
27ff8c00
JL
4459Sat Oct 31 20:39:35 1998 Jeffrey A Law (law@cygnus.com)
4460
4461 * toplev.c (rest_of_compilation): No longer set reload_completed.
4462 * reload1.c (reload): Set it here. Perform instruction splitting
4463 after reload has completed if we will be running the scheduler
4464 again.
4465
18f3f864
JL
4466Sat Oct 31 12:30:02 1998 Jeffrey A Law (law@cygnus.com)
4467
4468 * jump.c (jump_optimize): Initialize mappings from INSN_UID to
4469 EH region if exceptions are enabled and we're performing cross
4470 jump optimizations.
4471 (find_cross_jump): Exit loop if the insns are in different EH regions.
4472
21af493b
MM
4473Sat Oct 31 10:02:48 1998 Mark Mitchell <mark@markmitchell.com>
4474
4475 * dwarf2out.c (output_call_frame_info): Use
4476 ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
4477
bf39dde3
KG
4478Sat Oct 31 10:23:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4479
4480 Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
4481 * c-common.c (check_format_info): Don't check for the 'x'
4482 format character twice, instead check for 'x' and 'X'
4483
09bedf80
JL
4484Fri Oct 30 14:50:25 1998 Jeffrey A Law (law@cygnus.com)
4485
4486 * configure.in (assembler features): Also make gas is configured if
4487 we find it in the souce tree.
4488
6093f019
RH
4489Fri Oct 30 13:23:20 1998 Richard Henderson <rth@cygnus.com>
4490
4491 * i386.c (i386_comp_type_attributes): Compare whether the
4492 attributes are defined, not their tree nodes.
4493
de82584d
AO
4494Fri Oct 30 11:39:47 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
4495
4496 * configure.in (gxx_include_dir): bitten by autoconf quoting
4497 characters :-(
4498 * configure: rebuilt
4499
d65ae058
AS
4500Fri Oct 30 10:43:29 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
4501
4502 * configure.in: Ignore non-absolute value in $AS.
4503
8b83b2a7
PJ
4504Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de>
4505
4506 * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
4507
dedcc399
ME
4508Fri Oct 30 00:42:34 1998 Mark Elbrecht <snowball3@usa.net>
4509
4510 * configure.in (msdosdjgpp): Set exeext and target_alias.
4511
00f9f1bc
BS
4512Thu Oct 29 23:55:43 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4513
421382ac
BS
4514 * flow.c (XNMALLOC): New macro.
4515 (flow_int_list_blocks, basic_block_succ, basic_block_pred): New
4516 static variables.
4517 (add_edge, add_edge_to_label): New static functions.
4518 (free_bb_memory): New function.
4519 (flow_delete_insn): Delete function.
4520 (basic_block_drops_in): Delete variable.
4521 (find_basic_blocks): Allocate and initialize basic_block_head,
4522 basic_block_succ. Don't allocate basic_block_drops_in.
4523 Call free_bb_memory at the beginning.
4524 (find_basic_blocks_1): Don't do multiple passes.
4525 Delete code to compute basic_block_drops_in.
4526 After calling make_edges, mark blocks reached by current block live.
4527 Update test for unreachable live blocks.
4528 (mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers
4529 changed.
4530 Simplify to call add_edge_to_label when a LABEL_REF is found.
4531 (make_edges): Simplify to call add_edge_to_label instead of
4532 mark_label_ref most of the time.
4533 Compute here whether control drops into the next block.
4534 (delete_unreachable_blocks): Return void. All callers changed.
4535 Delete unreachable blocks in reverse order.
4536 After deleting all unreachable blocks, renumber the remaining ones
4537 and update n_basic_blocks.
4538 (delete_block): Speed up deletion a bit.
4539 Don't set basic_block_drops_in for deleted blocks.
4540 (free_basic_block_vars): Don't free basic_block_drops_in.
4541 (life_analysis_1): Update to use new edge representation.
4542 (dump_flow_info): Delete code to print basic block info; call
4543 dump_bb_data instead.
4544 (compute_preds_succs): Delete code to recompute basic_block_drops_in
4545 and uid_block_number.
4546 Simply copy the previously computed cfg.
4547 (dump_bb_data): New arg LIVE_INFO. All callers changed.
4548 Print register lifetime information if LIVE_INFO is nonzero.
4549 * basic-block.h (dump_bb_data): Adjust prototype.
4550 * gcse.c (gcse_main): Update call to dump_bb_data.
4551 * rtl.h (free_bb_memory): Declare.
4552 * toplev.c (rest_of_compilation): Call free_bb_memory.
4553
6467c05f
JL
4554 * reload1.c (struct elim_table): Delete MAX_OFFSET member.
4555 (update_eliminable_offsets): Don't compute it.
4556 (set_initial_elim_offsets): Don't initialize it.
4557 Break out some code into set_initial_label_offsets so the rest of
4558 this function can be called from reload_as_needed.
4559 Assume that INITIAL_FRAME_POINTER_OFFSET is defeined when
4560 ELIMINABLE_REGS isn't.
4561 (set_initial_label_offsets): New function, broken out of
4562 set_initial_elim_offsets.
4563 (set_offsets_for_label): New function, broken out of set_label_offsets
4564 and reload_as_needed.
4565 (reload): Call the two new functions.
4566 (reload_as_needed): Call set_initial_elim_offsets instead of
4567 duplicating the code. Likewise for set_offsets_for_label.
4568
00f9f1bc
BS
4569 * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
4570 (emit_reload_insns): Ensure that when we set reg_reloaded_valid for
4571 any hard reg, reg_reloaded_dead contains valid data.
4572
afcfe58c
MM
4573Thu Oct 29 22:30:54 1998 Marcus Meissner <Marcus.Meissner@informatik.uni-erlangen.de>
4574
f3196f46 4575 * i386.c (i386_comp_type_attributes): Return nonzero for mismatched
afcfe58c
MM
4576 "stdcall" and "cdecl" attributes.
4577
faff4ab8
JW
4578Thu Oct 29 19:05:17 1998 Jim Wilson <wilson@cygnus.com>
4579
4580 * sched.c (update_flow_info): Add code to ! found_orig_dest case to
4581 handle deleted no-op moves of hard registers.
4582 * haifa-sched.c (update_flow_info): Likewise.
4583
839366dd
JL
4584Thu Oct 29 18:07:47 1998 Jeffrey A Law (law@cygnus.com)
4585
4586 * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
4587 of the sequences to reload the HILO register which do not actually
4588 reference HILO.
4589
1e280035
JW
4590Thu Oct 29 12:39:35 1998 Jim Wilson <wilson@cygnus.com>
4591
4592 * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
4593
0fc1434b
AM
4594Thu Oct 29 14:10:22 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
4595
4596 * except.c (emit_eh_context): Make the EH context register stay alive
4597 at -O0 so stupid.c doesn't get confused.
4598
e526eeec
HB
45991998-10-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4600
4601 * emit-rtl.c (try_split): Do not try to split a BARRIER.
4602
bb62e19a
JH
4603Thu Oct 29 01:33:54 1998 Jan Hubicka <hubicka@freesoft.cz>
4604 Jeffrey A Law (law@cygnus.com)
4605
4606 * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM
4607 (zero_extendsidi2): Use # in output template and handle completely by
4608 splits.
4609 (zero_extend splitters): New define_splits.
4610 (ashiftrt_32): New pattern.
4611
e2c31432
JM
4612Wed Oct 28 22:58:35 1998 Jason Merrill <jason@yorick.cygnus.com>
4613
4614 * tree.c (append_random_chars): New fn.
4615 (get_file_function_name_long): Use it.
4616
19283265
RH
4617Wed Oct 28 22:27:05 1998 Richard Henderson <rth@cygnus.com>
4618
4619 * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
4620 (LIBCPP_OBJS): New. Add cppulp.o.
4621 (cppmain, fix-header): Depend on and use libcpp.a.
4622 * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
4623 of the individual object files.
4624 * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
4625 last.
4626
4627 * cccp.c (user_label_prefix): New.
4628 (main): Set it off -f*leading-underscore.
4629 (special_symbol): Use it.
4630 * cpplib.c (special_symbol): Likewise.
4631 (cpp_handle_option): Handle -f*leading-underscore.
4632 * cppulp.c: New file.
4633
4634 * output.h (user_label_prefix): Declare it.
4635 * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
4636 * toplev.c (f_options, main): Handle -f*leading-underscore.
4637
4638 * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
4639 referencing USER_LABEL_PREFIX directly.
4640 * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
4641 * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
4642 * final.c (asm_fprintf): Use user_label_prefix instead.
4643 * arm/thumb.c (thumb_print_operand): Likewise.
4644
4645 * gcc.c (default_compilers): Pass -f*leading-underscore on to
4646 cpp wherever appropriate.
4647
79a9696b
RL
4648Wed Oct 28 23:09:25 1998 Robert Lipe <robertl@dgii.com>
4649
4650 * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
4651 specific compiler switches.
4652
5916476f
JL
4653Wed Oct 28 21:05:53 1998 Jeffrey A Law (law@cygnus.com)
4654
4655 * Makefile.in (c-common.o): Depend on c-pragma.h. Use $(RTL_H) instead
4656 of rtl.h.
4657
829245be
KG
4658Wed Oct 28 20:52:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4659
4660 * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
4661 structure which has exactly the members provided by EXTRA_SPECS.
4662 Xmalloc() the real `extra_specs', and initialize it from this
4663 intermediate structure.
4664
4665 * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
4666
4667 * mips.h (EXTRA_SPECS): Likewise.
4668
4669 * sparc.h (EXTRA_SPECS): Likewise.
4670
b5bd3b3c
AS
4671Wed Oct 28 16:46:07 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
4672
4673 * function.c (purge_addressof_1): Instead of aborting when a
4674 bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
4675 work just put the ADDRESSOF on stack. Otherwise remember all such
4676 successfull replacements, so that exactly the same replacements
4677 can be made on the REG_NOTEs. Remove the special case for CALL
4678 insns again.
4679 (purge_addressof_replacements): New variable.
4680 (purge_addressof): Clear it at end.
4681
add7091b
ZW
46821998-10-28 16:10 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
4683
4684 * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
4685 (lang_init): Call check_newline always.
4686 * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
4687 cpp_start_read, set yy_cur and yy_lim to read from
4688 parse_in.token_buffer, so that we'll see the first #line
4689 directive.
4690 * cpplib.c (cpp_start_read): finclude the main input file
4691 before processing -include/-imacros. Process -imacros and
4692 -include separately, and handle -include by stacking a
4693 buffer for the file in question as if it'd been #included.
4694 * toplev.c (documented_lang_options) Recognize -H when
4695 USE_CPPLIB is on.
4696
46971998-10-28 16:09 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
4698
4699 * cpplib.c: Merge do_once into do_pragma. Break file handling
4700 code out of do_include.
4701 Move append_include_chain, deps_output,
4702 file_cleanup, redundant_include_p, import_hash,
4703 lookup_import, add_import, read_filename_string, read_name_map,
4704 open_include_file, finclude, safe_read to cppfiles.c.
4705 Move prototypes for deps_output, append_include_chain,
4706 finclude to cpplib.h. Move definition of struct
4707 file_name_list there also.
4708
4709 * cppfiles.c: New file. Contains all the above functions
4710 broken out of cpplib.c; also hack_vms_include_specification
4711 from cccp.c and find_include_file, a new function broken out of
4712 do_include.
4713
4714 * Makefile.in (cppmain): Depend on cppfiles.o.
4715 (fix-header): Likewise.
4716 (cppfiles.o): New target.
4717 * configure.in (--enable-c-cpplib): Add cppfiles.o to
4718 extra_c_objs. Add ../cppfiles.o to extra_cxx_objs.
4719
0a4be913
JW
4720Wed Oct 28 14:06:49 1998 Jim Wilson <wilson@cygnus.com>
4721
4722 * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
4723 if pending_types is non-zero.
4724 (dwarfout_finish): Verify pending_types is zero before finishing.
4725
2b28d92e
NC
4726Wed Oct 28 10:29:09 1998 Nick Clifton <nickc@cygnus.com>
4727
4728 * expr.c (convert_move): Use shifts to perform the move if a
4729 suitable extend pattern cannot be found. Code written by
4730 Richard Henderson <rth@cygnus.com>.
4731
8f142c0b
BS
4732Wed Oct 28 03:59:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4733
ed396e68
BS
4734 * regclass.c (renumber, regno_allocated): New static variables, moved
4735 out of allocate_reg_info.
4736 (allocate_reg_info): Move these two variables outside the function.
4737 Move code to free memory into new function free_reg_info.
4738 (free_reg_info): New function, broken out of allocate_reg_info.
4739 * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
4740 * rtl.h (allocate_reg_info): Don't declare.
4741 (free_reg_info): Declare.
4742
8f142c0b
BS
4743 * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
4744
a554186c
JM
4745Wed Oct 28 02:38:12 1998 Jason Merrill <jason@yorick.cygnus.com>
4746
4747 * toplev.c (compile_file): Temporarily revert last change.
4748
b58c9a79
JM
4749Wed Oct 28 00:00:35 1998 Jason Merrill <jason@yorick.cygnus.com>
4750
4751 * c-typeck.c (convert_for_assignment): Parenthesize.
4752
2eb6dac7
AS
47531998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
4754
4755 * reload1.c (delete_output_reload): Avoid ambigous else.
4756
0304f787
JL
4757Wed Oct 28 00:10:35 1998 Jeffrey A Law (law@cygnus.com)
4758
e0c6d139
JL
4759 * toplev.c (compile_file): Call allocate_reg_info to free register
4760 table memory.
4761 * rtl.h (allocate_reg_info): Declare.
4762
c75d5284
JL
4763 * PROJECTS: Remove entry for local spilling.
4764
0304f787
JL
4765 * final.c (cleanup_subreg_operands): New function.
4766 (final_scan_insn): Use it.
4767 (alter_subreg): Clear the "used" field when we turn a SUBREG into
4768 a REG.
4769 * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
4770 operands when reload has finished.
4771 * reload.h (cleanup_subreg_operands): Declare..
4772 * flow.c (life_analysis_1): No longer delete CLOBBER insns after
4773 reload. Handled in reload itself.
4774
03acd8f8
BS
4775Tue Oct 27 23:32:34 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4776
c47f5ea5
BS
4777 * reload1.c (verify_initial_offsets): New function.
4778 (reload): Call it after reload_as_needed. Also verify that the frame
4779 size stays constant during reload_as_needed.
4780 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
4781
03acd8f8
BS
4782 * reload.h (struct insn_chain): Add need_operand_change element.
4783 * reload1.c (new_insn_chain): Clear it.
4784 (calculate_needs_all_insns): Set it; don't overload need_reload.
4785 (reload_as_needed): Use it.
4786
4787 * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
4788 reload_address_base_reg_class throughout. Similar for INDEX_REG_CLASS
4789 and reload_address_index_reg_class.
4790 (find_reloads_address_1): Likewise.
4791 * reload.h (reload_address_base_reg_class,
4792 reload_address_index_reg_class): Don't declare.
4793 * reload1.c (reg_old_renumber, pseudo_previous_regs,
4794 pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
4795 (used_spill_regs): Now static.
4796 (reload_address_base_reg_class, reload_address_index_reg_class,
4797 regs_explicitly_used, counted_for_groups, counted_for_nongroups,
4798 basic_block_needs, max_needs, group_size, group_mode, max_groups,
4799 max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
4800 forbidden_regs):
4801 Deleted variables.
4802 (init_reload): Delete code to compute base/index reg classes.
4803 (reload): Delete variable J.
4804 Delete code to manage basic_block_needs.
4805 Don't compute regs_explicitly_used.
4806 Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
4807 pseudo_previous_regs.
4808 Initialize bad_spill_regs_global.
4809 Don't call order_regs_for_reload here.
4810 Don't initialize spill_reg_order and n_spills.
4811 Don't forbid explicitly used regs to be used for spill regs.
4812 Change main loop to infinite loop, with explicit break statements.
4813 Make SOMETHING_CHANGED variable local to that loop.
4814 Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
4815 max_groups_insn, max_nongroups_insn, group_size, group_mode.
4816 Make sure spilled_speudos is cleared before calling spill_hard_reg or
4817 new_spill_reg.
4818 Don't call dump_needs.
4819 Delete code to reset potential_reload_regs.
4820 Delete code to terminate loop conditional on the global needs variables
4821 showing no further needs.
4822 (calculate_needs_all_insns): Return void. All callers changed.
4823 Initialize somehing_needs_elimination here, not in reload.
4824 Delete avoid_return_reg kludge.
4825 (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
4826 All callers changed.
4827 Initialize the group_mode and group_size elements of the arg CHAIN.
4828 Delete code to manage basic_block_needs.
4829 Operate on elements of CHAIN instead of global variables.
4830 Delete avoid_return_reg kludge.
4831 (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
4832 All callers changed.
4833 Operate on elements of CHAIN instead of global variables.
4834 Delete special SMALL_REGISTER_CLASSES code.
4835 Delete spill_failure code; now in new_spill_reg.
4836 (find_group): Lose GLOBAL arg, take CHAIN arg, return void.
4837 All callers changed.
4838 Operate on elements of CHAIN instead of global variables.
4839 (maybe_mark_pseudo_spilled): New static function.
4840 (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
4841 All callers changed.
4842 Operate on elements of CHAIN instead of global variables.
4843 Call order_regs_for_reload here, not in reload.
4844 Initialize spill_reg_order and n_spills.
4845 Simplify test whether an asm insn is involved.
4846 Delete spill_failure code; now in new_spill_reg.
4847 Call maybe_mark_pseudo_spilled for everything marked as live in
4848 CHAIN. Merge CHAIN's used_spill_regs into the global variable
4849 used_spill_regs.
4850 (dump_needs): Take CHAIN arg. No longer static, to prevent the
4851 compiler from optimizing this function (now unused) away.
4852 Operate on elements of CHAIN instead of global variables.
4853 (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg. All callers
4854 changed.
4855 Operate on elements of CHAIN instead of global variables.
4856 (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
4857 take CHAIN arg. All callers changed.
4858 Operate on elements of CHAIN instead of global variables.
4859 (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
4860 CHAIN, NONGROUP args. Return void. All callers changed.
4861 Verify caller isn't trying to spill a pseudo.
4862 Simplify test for illegal reg, just use bad_spill_regs.
4863 Generate better error messages.
4864 Operate on elements of CHAIN instead of global variables.
4865 Mark spilled register in CHAIN's used_spill_regs element.
4866 Don't call spill_hard_reg.
4867 (spill_hard_reg): Lose GLOBAL arg, return void. All callers changed.
4868 Mark spilled hard regs in bad_spill_regs_global.
4869 Mark affected pseudos in spilled_pseudos, but don't spill them.
4870 (ior_hard_reg_set): New static function.
4871 (finish_spills): Return int. All callers changed.
4872 Compute spill_reg_order, n_spills and spill_regs here. Also update
4873 regs_ever_live for regs used as spills.
4874 For every pseudo in spilled_pseudos, spill it and mark the previous
4875 hard reg it had in pseudo_previous_regs. Compute which hard regs
4876 arseudo): New static function.
4877 (order_regs_for_reload): Take CHAIN arg. All callers changed.
4878 Initialize bad_spill_regs from bad_spill_regs_global, then merge any
4879 hard registers explicitly used across the current insn into the set.
4880 Compute hard_reg_n_uses taking only pseudos live across this insn
4881 into account.
4882 Tweak sorting of potential_reload_regs.
4883 (compare_spill_regs): Delete function.
4884 (reload_as_needed): Don't sort the spill_regs array, it's computed
4885 in proper order in finish_spills.
4886 Delete avoid_return_reg kludge.
4887 Delete code to manage basic_block_needs.
4888 (allocate_reload_reg): Minor speed/readability tweaks.
4889 Operate on elements of CHAIN instead of global variables.
4890 (choose_reload_regs): Lose AVOID_RETURN_REG arg. All callers changed.
4891 Delete avoid_return_reg kludge.
4892 Initialize reload_reg_used from CHAIN's used_spill_regs element.
4893 Delete unused label FAIL.
4894 (reload_combine): Replce reload_address_index_reg_class with
4895 INDEX_REGS.
4896 Don't use used_spill_regs to determine information about lifetime of
4897 hard regs.
4898
844642e6
NC
4899Tue Oct 27 13:15:02 1998 Nick Clifton <nickc@cygnus.com>
4900
4901 * toplev.c (display_help): Ignore empty target specific
4902 options, and if -W is also specified on the command line then
4903 display undocumented options.
2a5307b1
NC
4904
4905 * config/arm/arm.c: Updated with changes in devo sources.
4906 * config/arm/arm.h: Updated with changes in devo sources.
4907 * config/arm/lib1funcs.asm: Updated with changes in devo sources.
4908 * config/arm/lib1thumb.asm: Add ELF support.
4909
f5e04914 4910Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
3d697b4c 4911
f5e04914
DE
4912 * collect2.c (aix64_flag): New variable.
4913 (main, case 'b'): Parse it.
4914 (GCC_CHECK_HDR): object magic number must match mode.
4915 (scan_prog_file): Only check for shared object if valid header.
4916 Print debugging if header/mode mismatch.
4917
4918Tue Oct 27 10:15:02 1998 Nick Clifton <nickc@cygnus.com>
b355a481
NC
4919
4920 Added support for arm-elf-linux configuration, submitted by Philip
4921 Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
4922 code developed by Catherine Moore <clm@cygnus.com>. The following
4923 files are affected:
4924
4925 * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
4926 targets.
4927
4928 * configure: Regenerated.
4929
4930 * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
4931 USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX. Make other macro
4932 definitions conditional on their not having been already defined.
4933
4934 * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
4935 and .type directives, and add "(PLT)" qualification to function
4936 calls.
4937
4938 * config/arm/linux.h: Deleted. This file is now superceeded by
4939 either linux-elf.h or linux-aout.h.
4940
4941 * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
4942 (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
4943 support).
4944 Move definitions from old linux.h file here.
4945
4946 * config/arm/elf.h: New file. Generic ARM/ELF support.
4947
4948 * config/arm/linux-aout.h: New file. Support for Linux with a.out.
4949
4950 * config/arm/linux-elf.h: New file. Support for Linux with ELF.
4951
4952 * config/arm/linux-elf26.h: New file. Support for Linux with ELF
4953 using the 26bit APCS.
4954
4955 * config/arm/unknown-elf.h: New file. Support for OS'es other
4956 than Linux with ELF.
4957
4958 * config/arm/t-arm-elf: New file. makefile fragment for arm-elf
4959 builds.
4960
4961 * config/arm/coff.h: Include aout.h for basic assembler macros.
4962 Add support for -mstructure_size_boundary=<n> command line option.
4963
4964 * config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
4965 command line option. Make macro definitions conditional on their
4966 not having been already defined.
4967
4968 * config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
4969 command line option.
4970
4971
f5e04914 4972Tue Oct 27 08:56:46 1998 Andrew MacLeod <amacleod@cygnus.com>
74153f8e
AM
4973
4974 * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
4975 has been changed to not include a newline. Use this macro instead.
4976 (output_enumeral_list, const_value_attribute, name_attribute,
4977 comp_dir_attribute, prototyped_attribute, producer_attribute,
4978 inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
4979 dwarfout_file_scope_decl, generate_new_sfname_entry,
4980 generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
4981 ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
4982
4f4b3679
RH
4983Mon Oct 26 13:35:02 1998 Richard Henderson <rth@cygnus.com>
4984
4985 * combine.c (subst): Process the inputs to a parallel asm_operands
4986 only once.
4987
3fbd5c2c
RH
4988Mon Oct 26 13:32:31 1998 Richard Henderson <rth@cygnus.com>
4989
4990 * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
4991
26f63a77
JL
4992Mon Oct 26 12:53:14 1998 Jeffrey A Law (law@cygnus.com)
4993
4994 * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
4995
ff08e6b5
JL
4996Mon Oct 26 00:36:58 PST 1998 Jeff Law (law@cygnus.com)
4997
4998 * version.c: Bump for snapshot.
4999
e17f9bc0
JM
5000Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com>
5001
5002 * stmt.c (expand_fixup): Set fixup->before_jump to a
5003 NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
5004
7f7f8214
KG
5005Sun Oct 25 15:49:57 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5006
5007 * Makefile.in (recog.o): Depend on toplev.h.
5008 (insn-emit.o): Depend on recog.h.
5009 (insn-peep.o): Depend on recog.h and insn-config.h.
5010
5011 * combine.c (simplify_set): Remove unused variable `scratches'.
5012
5013 * final.c (final_scan_insn): Wrap declaration of variables `vlen'
5014 and `idx' in macro conditional controlling their use.
5015
5016 * genemit.c (main): Make the generated output file include
5017 recog.h. Don't have it declare `insn_operand_constraint', since
5018 we get it from recog.h.
5019
5020 * genpeep.c (main): Make the generated output file include
5021 insn-config.h and recog.h.
5022
5023 * recog.c: Include toplev.h.
5024 (extract_insn): Remove unused variable `p'.
5025
5026 * regclass.c (fix_register): Add missing braces around initializer
5027 for `what_option'.
5028 (allocate_reg_info): Move variable `i' into the scope where it is
5029 used. Change its type to `size_t'.
5030
9ff16ff2
BS
5031Sun Oct 25 13:10:15 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5032
5033 * reload.c (push_reload): When merging reloads, make sure
5034 that reload_in_reg and reload_in are from the same reload in
5035 all cases.
5036
de3a0967
MK
5037Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu>
5038
5039 * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
5040 * i386/mingw32.h (CPP_PREDEFINES): Likewise.
5041
8c368ee2
DE
5042Fri Oct 23 23:42:03 1998 David Edelsohn <edelsohn@mhpcc.edu>
5043
5044 * loop.c (loop_has_tablejump): New variable.
5045 (prescan_loop): Scan for it.
5046 (insert_bct): Replace explicit scan with use of it.
5047 * regclass.c (regclass): Restore loop variable j.
5048 (record_reg_classes): Deterine op_types modifiers and initialize
5049 classes[i] before matching constraints. Handle matching
5050 constraints 5-9.
5051
ca3bf2b5
JW
5052Fri Oct 23 13:55:48 1998 Jim Wilson <wilson@cygnus.com>
5053
5054 * m32r/m32r.c (gen_split_move_double): Call alter_subreg. Delete
5055 subreg support.
5056
e1ba7da7
KG
5057Fri Oct 23 16:19:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5058
5059 * mips.h (EXTRA_SPECS): Add missing initializers.
5060
df4f7565
KG
5061Fri Oct 23 16:08:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5062
5063 * sparc.h (EXTRA_SPECS): Add missing initializers.
5064 (sparc_defer_case_vector): Provide a prototype.
5065
5066 * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
5067 comparing it to the result of a pointer subtraction.
5068
d1e6b55b
KG
5069Fri Oct 23 15:34:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5070
5071 * alpha.c (override_options): Use ISDIGIT(), not isdigit(). Cast
5072 the argument to (unsigned char).
5073
5074 * alpha.h (EXTRA_SPECS): Add missing initializers.
5075 (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
5076 format specifier.
5077
c4214310
JL
5078Fri Oct 23 13:12:35 1998 Jeffrey A Law (law@cygnus.com)
5079
b590bbfd
JL
5080 * flow.c (life_analysis_1): Enable "rescan" code after reload.
5081 (propagate_block): Delete dead code after reload.
5082
a1ef0af4
JL
5083 * sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings
5084 back Oct 15, 1998 change.
5085 * haifa-sched.c (update_flow_info): Likewise.
7b16da78
JL
5086 * flow.c (life_analysis_1): Delete CLOBBER insns after reload.
5087
c4214310
JL
5088 * mn10200.md (truncated shift): Accept constant inputs too.
5089
abef8789
RE
5090Fri Oct 23 04:06:57 1998 Richard Earnshaw (rearnsha@arm.com)
5091
5092 * machmode.h (mode_mask_array): No longer const.
5093 * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
5094
ccb5954f
ML
5095