]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
i386.h (CPP_486_SPEC, [...]): New specs.
[gcc.git] / gcc / ChangeLog
CommitLineData
1228a9bd
JW
1Mon Jul 13 23:36:08 1998 Jim Wilson <wilson@cygnus.com>
2
3 * i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
4 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
5 (EXTRA_SPECS): Support them.
6 * gcc.c: Delete %[spec] support.
7 (do_spec_1, case '('): Likewise.
8 (do_spec_1, case '['): Call error.
9 * i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
10 linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
11 sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
12 %[cpp_cpu].
13
4a8c52e0
AS
14Mon Jul 13 23:31:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
15
16 * m68k.c (output_scc_di): Use cmpw #0 only for address registers.
17
42801468
JL
18Mon Jul 13 23:26:43 1998 Jeffrey A Law (law@cygnus.com)
19
20 * tree.h (tree_common): Note front-end dependencies on layout of
21 this structure.
22
b941bcbc
CB
23Mon Jul 13 23:18:39 1998 Craig Burley <burley@gnu.org>
24
25 * stmt.c (expand_expr_stmt): If not assigning fresh
26 value to last_expr_value, zero it, so old garbage
27 doesn't get dereferenced.
28
48e87cef
HP
29Mon Jul 13 23:06:55 1998 Henning.Petersen@t-online.de (Henning Petersen)
30
31 * gcse.c (hash_scan_insn): Add missing argument declaration.
32
74c55ab0
JW
33Mon Jul 13 18:59:13 1998 Jim Wilson <wilson@cygnus.com>
34
35 * configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove
36 HAVE_INTTYPES_H from xm_defines. Define xm_file to mips/xm-iris5.h.
37 * mips/xm-iris5.h (USG): Delete.
38
b8468bc7
NC
39Mon Jul 13 17:18:47 1998 Nick Clifton <nickc@cygnus.com>
40
41 * cccp.c (main): Add support for parsing --help.
42 (display_help): New function: display command line switches.
43
44 * cpplib.c (cpp_handle_option): Add support for parsing --help.
45 (display_help): New function: display command line switches.
46
47 * gcc.c (main): Add support for parsing --help, and passing it on
48 to the sub-processes invoked by gcc.
49 (display_help): New function: display comman line switches.
50
51 * tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
52 'description' field added to structure.
53
54 * toplev.c: Add support for parsing --help.
55 Add documentation strings to command line option tables.
56 (display_help): New function: display comman line switches.
57
c6b0465b
JC
58Mon Jul 13 16:15:10 1998 John Carr <jfc@mit.edu>
59
60 * sparc.c, sparc.h, sparc.md: New trampoline code.
61 Allow integer operand 1 to V8+ DImode shift instructions.
62 Fix bugs in V8+ wide multiply patterns.
63 In 32 bit mode, split DImode register moves and logical instructions.
64 Write V9 branch prediction flag.
65 Use V9 conditional move more often for scc.
66
e69fd6e5
PDM
67Mon Jul 13 15:10:09 1998 Philippe De Muyter <phdm@macqel.be>
68
69 * invoke.texi(-fno-builtin): Explain that the names of built-in
70 functions begin with `__builtin_', not `__'.
71
518b6ce3
R
72Mon Jul 13 19:01:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
73
74 * reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
75
c78ea267
MM
76Mon Jul 13 10:50:17 1998 Mark Mitchell <mark@markmitchell.com>
77
78 * cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
79 (cplus_demangle_opname): Initialize work.
80 (demangle_template): Remove is_java_array.
81 (do_type): Remove DMGL_JAVA stuff.
82 (long_options): Remove "java".
83 (main): Remove 'j' option.
84
b5f88157
JL
85Mon Jul 13 10:19:00 1998 Jeffrey A Law (law@cygnus.com)
86
e69fd6e5
PDM
87 * mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
88 Handle 'x' as NO_REGS for this cpu.
89 (REGNO_OK_FOR_BIT_BASE_P): Define.
90 (REG_OK_FOR_BIT_BASE_P): Define.
91 (GO_IF_LEGITIMATE_ADDRESS): Use them.
92 (REG_OK_FOR_INDEX_P): Tweak.
93 * mn13000.c (REG_SAVE_BYTES): Define.
94 (expand_epilogue, initial_offset): Use it.
95 (secondary_reload_class): Slightly reformat.
96 (output_tst): Tweak comments.
97 * mn10300.md: Change 'x' to 'y' for SP_REGS. Then add 'x' to many
98 patterns.
99 (addsi3): Turn into a define_expand/define_insn pair. Rework code for
100 three operand addition case to be more efficient.
101 (subsi3): Turn into a define_expand/define_insn pair.
102
b5f88157
JL
103 * expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
104 is not varying for REFERENCE_TYPE or when we think we might have found
105 an optimized access to the first element in an array.
106
f903b91f
DM
107Mon Jul 13 02:24:08 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
108
109 * regclass.c (reg_scan_mark_refs): New arg min_regno. Only update
110 regscan information for REGs with numbers greater than or equal to
111 this. All callers changed.
112 (reg_scan_update): New function to efficiently update regscan
113 information on the fly.
114 * rtl.h: Add prototype.
115 * jump.c (jump_optimize): Call it when we make a transformation
116 which generates new pseudo-REGs.
117
cb689bb6
JL
118Sun Jul 12 13:08:14 1998 Jeffrey A Law (law@cygnus.com)
119
120 * collect2.c (main): Use "-x c" instead of "-lang-c" for force the
121 compiler into C mode.
122
555f90c5
JM
123Sun Jul 12 01:27:05 1998 Jason Merrill <jason@yorick.cygnus.com>
124
e70b4d8f
JM
125 * cplus-dem.c (demangle_nested_args): Return a value.
126
555f90c5
JM
127 * tree.h (TYPE_P): New macro.
128
59e621fc
MM
129Sat Jul 11 16:19:48 1998 Mark Mitchell <mark@markmitchell.com>
130
131 * cplus-dem.c (string): Move definition before work_stuff.
132 (work_stuff): Add volatile_type, forgetting_types,
133 previous_argument, and nrepeats fields.
134 (SCOPE_STRING): New macro.
135 (demangle_template): Add `remember' parameter. Add comment.
136 Register the `B' code type here, if remembering. Tidy. Fix crash
137 on NULL tmpl_argvec. Be consistent with use of tname/trawname.
138 (demangle_nested_args): New function.
139 (internal_cplus_demangle): Handle volatile-qualified member
140 functions.
141 (mop_up): Delete the previous_argument string if present.
142 (demangle_signature): Tidy. Handle volatile-qualified member
143 functions. Handle back-references using the `B' code. Use extra
144 parameter to demangle_template and SCOPE_STRING where appropriate.
145 (demangle_template_value_parm): Fix thinko; 'B' is not an integral
146 code.
147 (demangle_class): Use SCOPE_STRING.
148 (gnu_special): Pass additional argument to demangle_template.
149 Use SCOPE_STRING.
150 (demangle_qualified): Save qualified types for later
151 back-references. Handle constructors and destructors for template
152 types correctly.
153 (do_type): Tidy. Use SCOPE_STRING. Pass extra argument to
154 demangle_template. Use demangled_nested_args. Don't remember
155 qualified types here; that's now done in demangle_qualified.
156 Similarly for templates.
157 (do_arg): Improve commment. Handle 'n' repeat code.
158 (remember_type): Check forgetting_types.
159 (demangle_args): Deal with 'n' repeat codes. Tidy.
160
34757369
RE
161Sat Jul 11 02:59:08 1998 Richard Earnshaw <rearnsha@arm.com>
162
163 * arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
164 and structure attribute flags to MEMs generated.
165 (splits for sign-extended HI & QI mode from memory): Also propagate
166 the volatile flag.
167
a717c1f9
RE
168 * configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
169
4dfb04c6
MM
170Fri Jul 10 19:06:59 1998 Michael Meissner <meissner@cygnus.com>
171
172 * varray.h: Include system.h if it hasn't already been included
173 before to get size_t declared.
174
a87ef323
DM
175Fri Jul 10 12:53:58 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
176
177 * jump.c (jump_optimize): If after_regscan and our transformations
178 generate new REGs, rerun reg_scan.
179
3410b2f3
AM
180Fri Jul 10 11:50:43 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
181
182 * config/i960/i960.c (i960_address_cost): MEMA operands with
183 positive offsets < 4096 are free.
184
03c5634a
AS
185Fri Jul 10 12:34:37 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
186
187 * config/m68k/m68k.c (const_uint32_operand): Recognize
188 CONSTANT_P_RTX.
189 (const_sint32_operand): Likewise.
190
df22a2d6
JL
191Thu Jul 9 22:58:59 1998 Jeffrey A Law (law@cygnus.com)
192
193 * Makefile.in (alias.o): Depend on $(EXPR_H).
194
91d7e7ac
R
195Thu Jul 9 18:24:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
196
197 * reload1.c (choose_reload_regs): If using an equivalence from
198 find_equiv_reg and reg_reloaded_valid is not set for this register,
199 clear the associated spill_reg_store.
200
9da46522
R
201Thu Jul 9 18:12:49 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
202
203 * reload1.c (emit_reload_insns): If an output reload copies only
204 to a secondary reload register, indicate that the secondary reload
205 does the actual store.
206
930176e7
R
207Thu Jul 9 18:01:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
208
209 * reload.c (find_equiv_reg): If need_stable_sp is set,
210 check if stack pointer is changed directly in a PARALLEL.
211
1eb6762b
JL
212Thu Jul 9 10:38:14 1998 Jeffrey A Law (law@cygnus.com)
213
214 * jump.c (duplicate_loop_exit_test): Fix thinko.
215
b098f56d
JS
216Thu Jul 9 01:30:37 1998 Joel Sherrill <joel@OARcorp.com>
217 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
218
219 * config/i386/rtemself.h: Updated to keep in sync with
220 config/i386/linux.h.
221
222 * configure.in: Added sh-rtemself.
223 * configure: Rebuilt.
224 * config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
225 * config/sh/rtemself.h: New file.
226
227 * config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
228
02e39abc
JL
229Wed Jul 8 21:43:14 1998 Jeffrey A Law (law@cygnus.com)
230
00ccc16d
JL
231 * configure.in: Check if the assembler supports ".balign" and
232 ".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
233 * acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
234 * i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
235 ".balign" then use it.
236
5dd2add6
JL
237 * print-rtl.c (print_rtx): Revert previous patch.
238
752e74f9
JL
239 * jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
240 test if the exit code has an insn with ASM_OPERANDS.
241
a6610106 242 * i386/cygwin32.h (STDIO_PROTO): Fix typo.
a5508152 243 * m32r.h (STDIO_PROTO): Fix typo.
a6610106 244
5f0c590d
JL
245 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by
246 LEGITIMIZE_RELOAD_ADDRESS.
247 * tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be
248 able to handle addresses created by previous invocations of the macro.
249
2710ffc8
JL
250 * flow.c (find_auto_inc): Remove most recent change. Real bug was
251 elsewhere.
252
02e39abc
JL
253 * cse.c (count_reg_usage): Count registers used in addresses of
254 CLOBBERs.
255
6e9856ba
JW
256Wed Jul 8 15:08:29 1998 Jim Wilson <wilson@cygnus.com>
257
d7f8f047
JW
258 * Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
259
6e9856ba
JW
260 * configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
261
795add94
VM
2621998-07-08 Vladimir N. Makarov <vmakarov@cygnus.com>
263
15bfc37c
VM
264 * config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
265 stubs.
266
795add94
VM
267 * toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
268 options.
269 * c-decl.c (warn_long_long): Define.
270 (c_decode_option): Parse -Wlong-long, -Wno-long-long options.
271 (grokdeclarator): Add flag `warn_long_long' as guard for
272 warning "ANSI C does not support `long long'".
273 * invoke.texi: Add description of options -Wlong-long,
274 -Wno-long-long.
275 * gcc.1: The same as above.
276
67a00b49
JL
277Wed Jul 8 02:43:34 1998 Jeffrey A Law (law@cygnus.com)
278
b98b49ac
JL
279 * rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART. If
280 either argument is CONSTANT_P, then return zero.
281 * reload.c (reg_overlap_mentioned_for_reload_p): Similarly.
282
67a00b49
JL
283 * configure.in: Also look at $srcdir/gas/configure to find a
284 gas version #.
285
a596f4d7
CW
286Wed Jul 8 00:28:22 1998 Carlo Wood <carlo@runaway.xs4all.nl>
287
288 * dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
289
43e26b30
MK
290Tue Jul 7 21:18:14 1998 Mumit Khan <khan@xraylith.wisc.edu>
291
292 * i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
293 definitions from last two patches.
294
3c785e47
R
295Tue Jul 7 23:03:34 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
296
297 * reload1.c (choose_reload_regs): Don't set reload_override_in
298 if EQUIV is clobbered in INSN and the reload is done after INSN.
299
41b083c4
R
300Tue Jul 7 21:23:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
301
302 * expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
303 to the first insn of the sequence.
304
759bd8b7
R
305Tue Jul 7 21:05:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
306
43e26b30 307 * cse.c (cse_insn): Don't make change without validation.
759bd8b7 308
d76b9d09
JL
309Tue Jul 7 11:40:05 1998 Jeffrey A Law (law@cygnus.com)
310
311 * mn10200.md (various zero/sign extension patterns): zero and sign
312 extensions which use "sub" clobber cc0.
313
cf9cf73e
JL
314Tue Jul 7 09:12:08 PDT 1998 Jeff Law (law@cygnus.com)
315
316 * version.c: Bump for snapshot.
317
29b1f862
JL
318Tue Jul 7 10:07:20 1998 Jeffrey A Law (law@cygnus.com)
319
320 * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
321
61632854
RH
322Tue Jul 7 08:41:27 1998 Richard Henderson (rth@cygnus.com)
323
324 * print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
325 is a double.
326
43396c9e
JL
327Tue Jul 7 00:31:58 PDT 1998 Jeff Law (law@cygnus.com)
328
329 * version.c: Bump for snapshot.
330
27da1b4d
MK
331Tue Jul 7 01:03:03 1998 Mumit Khan <khan@xraylith.wisc.edu>
332
333 Support for dllimport and dllexport attributes for i386-pe.
334
335 * tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
336 (struct tree_decl): Add non_addr_const_p field.
337 * tree.c (staticp): Use.
338
339 * i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
340 attributes.
341 (SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
342 attributes. Also accept -mwindows option.
343 (VALID_MACHINE_DECL_ATTRIBUTE): New macro.
344 (MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
345 (REDO_SECTION_INFO_P): New macro.
346 (DRECTVE_SECTION_FUNCTION): New macro.
347 (drectve_section): Cover function to implement above.
348 (SWITCH_TO_SECTION_FUNCTION): New macro.
349 (switch_to_section): Covert function to implement above.
350 (EXTRA_SECTIONS): Add in_drectve.
351 (EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
352 (ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
353 (STRIP_NAME_ENCODING): Handle new attributes.
354 (ASM_OUTPUT_LABELREF): New macro.
355 (ASM_OUTPUT_FUNCTION_NAME): New macro.
356 (ASM_OUTPUT_COMMON): New macro.
357 (ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
358
359 * i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
360 attributes.
361
362 * i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
363 (i386_pe_merge_decl_attributes): New function.
364 (i386_pe_check_vtable_importexport): New function.
365 (i386_pe_dllexport_p): New function.
366 (i386_pe_dllimport_p): New function.
367 (i386_pe_dllexport_name_p): New function.
368 (i386_pe_dllimport_name_p): New function.
369 (i386_pe_mark_dllexport): New function.
370 (i386_pe_mark_dllimport): New function.
371 (i386_pe_encode_section_info): New function.
372 (i386_pe_unique_section): Strip encoding from name first.
373
bceb30e7
MH
374Tue Jul 7 00:50:17 1998 Manfred Hollstein (manfred@s-direktnet.de)
375
376 * libgcc2.c (L_exit): Provide a fake for atexit on systems which
377 define ON_EXIT but not HAVE_ATEXIT.
378
7edf1e04
FS
379Tue Jul 7 00:44:35 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
380
381 * m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
382
3403c6ca
UD
383Tue Jul 7 00:36:41 1998 Ulrich Drepper <drepper@cygnus.com>
384
79325812
UD
385 * i386.c: Remove random whitespace at end of lines.
386
3403c6ca
UD
387 * i386.c (ix86_epilogue): For pentium processors, try to deallocate
388 4 or 8 byte stacks with pop instructions instead of an add instruction.
389
eb04ab5a
KK
390Tue Jul 7 00:30:08 1998 Klaus Kaempf <kkaempf@rmi.de>
391
392 * alpha.c: Include tree.h before expr.h.
393
4a870dba
JM
394Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com>
395
4051959b
JM
396 * c-parse.in (struct_head, union_head, enum_head): New nonterminals.
397 (structsp): Use them. Update files generated from c-parse.in.
398 * extend.texi (Type Attributes): Document it.
399
4a870dba
JM
400 * c-decl.c: Add warn_multichar.
401 (c_decode_option): Handle -Wno-multichar.
402 * c-lex.c (yylex): Check it.
403 * c-tree.h: Declare it.
404 * toplev.c (lang_options): Add it.
405 * invoke.texi: Document it.
406
ed79bb3d
R
407Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
408
a5546290
R
409 * reload.c (find_equiv_reg): When looking for stack pointer + const,
410 make sure we don't use a stack adjust.
411
1b4d8b2b
R
412 * reload.c (find_equiv_reg): If need_stable_sp is set,
413 check if stack pointer is changed directly.
414
b294ca38
R
415 * reload1.c (delete_dead_insn): Don't delete feeding insn
416 if that insn has side effects.
417
6186ed06
R
418 * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
419 changed.
420
979e20e9
R
421 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
422 precedes RELOAD_FOR_OUTADDR_ADDRESS.
423
ed79bb3d
R
424 * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK. Changed
425 caller.
426
392582fa
KI
427Mon Jul 6 22:21:56 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
428
429 * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
430 testing address registers on the 68000.
431
702d7434
AB
432Mon Jul 6 22:17:19 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
433
48d4389d
AB
434 * i386.c (is_fp_test): Fix thinko.
435
702d7434
AB
436 * jump.c (jump_optimize) Check for CONST_INT before using INTVAL.
437
eafdfea8
RH
438Mon Jul 6 22:14:31 1998 Richard Henderson (rth@cygnus.com)
439
800d5c9e
RH
440 * print-rtl.c (print_rtx): Display the real-value equivalent of
441 a const_double when easy.
442
443 * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
444 Zero memory first for predictability.
445 (REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
446 * varasm.c (immed_real_const_1): Notice width of H_W_I == double.
447
eafdfea8
RH
448 * regclass.c (allocate_reg_info): Initialize the entire reg_data
449 virtual array.
450
ad214bc2
ILT
451Mon Jul 6 22:09:32 1998 Ian Lance Taylor <ian@cygnus.com>
452 Jeff Law <law@cygnus.com>
453
672a233f
ILT
454
455 * i386/cygwin32.h: Add some declaration of external functions.
456 (ASM_DECLARE_FUNCTION_NAME): Define.
457 (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
458 (ASM_FILE_END): Define.
459 * i386/winnt.c (i386_pe_declare_function_type): New function.
460 (struct extern_list, extern_head): Define.
461 (i386_pe_record_external_function): New function.
462 (i386_pe_asm_file_end): New function.
463
ad214bc2
ILT
464 * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
465 matching July 18, 1995 change to cccp.c. If -traditional then
466 disable cplusplus_comments.
467
3b39dde8
JL
468Mon Jul 6 21:28:14 1998 Jeffrey A Law (law@cygnus.com)
469
fcc60894
JL
470 * combine.c (expand_compound_operation): Fix thinko in code to optimize
471 (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
472
3b39dde8
JL
473 * Disable the following change from gcc2. Not appropriate for egcs:
474
475 Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
476 * reload.c (find_reloads): Give preference to pseudo that was the
477 reloaded output of previous insn.
478
092f7be3
KG
479Mon Jul 6 21:07:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
480
481 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
482 Instead, define a new macro HAVE_PRINTF_PTR which only signifies
483 whether we have the %p format specifier or not.
484
485 * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
486
487 * machmode.h (HOST_PTR_PRINTF): When determining the definition,
488 check HAVE_PRINTF_PTR to see whether "%p" is okay.
489
490 * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
491
492 * Makefile.in (mips-tfile.o): Depend on machmode.h.
493
93de5c31
MM
494Mon Jul 6 10:42:05 1998 Mark Mitchell <mark@markmitchell.com>
495
496 * jump.c (duplicate_loop_exit_test): Don't refuse to copy a
497 section of code just because it contains
498 NOTE_INSN_BLOCK_{BEG,END}.
499 * stmt.c (expand_end_loop): Likewise. Also, don't refuse to
500 move CALL_INSNs or CODE_LABELs. When moving code, don't move
501 NOTE_INSN_BLOCK_{BEG,END}.
502
2f541799
MM
503Mon Jul 6 09:38:15 1998 Mark Mitchell <mark@markmitchell.com>
504
505 * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
506 dealing with ADDRESSOF.
507 (find_best_addr): Use it.
508
4fc8ff92
RH
509Mon Jul 6 09:27:08 1998 Richard Henderson <rth@cygnus.com>
510
511 * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
512
10c301ac
DL
513Mon Jul 6 09:25:06 1998 Dave Love <d.love@dl.ac.uk>
514
515 * libgcc2.c (__eprintf): Make args consistent with prototype in
516 assert.h.
517
9de2c71a
MM
518Mon Jul 6 00:28:43 1998 Mark Mitchell <mark@markmitchell.com>
519
520 * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
521 don't claim that the former is equivalent to the latter.
522
a4017712
JL
523Sun Jul 5 23:58:19 1998 Jeffrey A Law (law@cygnus.com)
524
7bd8b2a8
JL
525 * cse.c (cse_insn): Second arg is an RTX now. Update all callers.
526 (cse_basic_block): Keep track of the current RETVAL insn for a
527 libcall instead of just noting that we're in a libcall.
528
adc05e6c
JL
529 * combine.c (simplify_comparison): Do not commute a AND into
530 a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
531
a4017712
JL
532 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
533 HAVE_GAS_MAX_SKIP_P2ALIGN.
534 * i386/linux.h: Likewise.
535
f7e0e539
DM
536Fri Jul 3 02:33:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
537
538 * sparc.c (sparc_operand, move_operand, arith_operand,
539 arith11_operand, arith10_operand, arith_double_operand,
540 arith11_double_operand, arith10_double_operand, small_int,
541 uns_small_int): Recognize CONSTANT_P_RTX.
542 (output_sized_memop, output_move_with_extension,
543 output_load_address, output_size_for_block_move,
544 output_block_move, delay_operand): Remove, has not been
545 enabled or referenced for years.
546 * sparc.md (movstrsi, block_move_insn): Likewise.
547 * sparc.h (PREDICATE_CODES): Define.
548 * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
549 version which uses getcc/setcc traps to save/restore condition
550 codes.
551 * linux64.h: Likewise.
552 * sunos4.h: Likewise.
553 * linux.h: Likewise.
554 * sol2.h: Likewise.
555 * sun4o3.h: Likewise.
556
d420e567
RH
557Fri Jul 3 02:28:05 1998 Richard Henderson <rth@cygnus.com>
558
559 * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
560 lossage on VMS. Reported by kkaempf@rmi.de.
561 * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
562
4abfe235
NC
563Thu Jul 2 17:41:14 1998 Nick Clifton <nickc@cygnus.com>
564
565 * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
566 version.
567
39403d82
DE
568Thu Jul 2 14:34:48 1998 David Edelsohn <edelsohn@mhpcc.edu>
569
570 * expr.h (STACK_SIZE_MODE): New macro.
571 * explow.c (allocate_dynamic_stack_space): Use it for
572 mode of allocate_stack pattern increment operand.
573 * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
574 * md.texi (stack_save_block, ...): Reflect use of macro.
575
576 * rs6000.h (PROMOTE_MODE): Always promote to word_mode.
577 (PROMOTE_FUNCTION_ARGS): Define.
578 (PROMOTE_FUNCTION_RETURN): Define.
579 (FUNCTION_VALUE): Promote to word_mode if smaller.
580 Convert to gen_rtx_FOO.
581 * rs6000.md (call_indirect): Store doubleword in 64-bit mode.
582 Convert to gen_rtx_FOO.
583 * rs6000.c: Convert to gen_rtx_FOO.
584
848205e6
MM
585Thu Jul 2 14:16:11 1998 Michael Meissner <meissner@cygnus.com>
586
587 * varray.{c,h}: New files to provide virtual array support.
6feacd09 588
848205e6
MM
589 * Makefile.in (OBJS): Add varray.o.
590 (varray.o): Add new file.
6feacd09
MM
591 (REGS_H): New variable for dependencies for files including
592 regs.h. Add varray.h and files it includes. Change all regs.h
593 dependencies to $(REGS_H).
848205e6
MM
594
595 * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
596 (xcalloc): Provide frontend for calloc.
597 * {tree,rtl}.h (xcalloc): Add declaration.
598
6feacd09
MM
599 * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
600 varray.
601
602 * regs.h (toplevel): Include varray.h.
603 (reg_n_info): Switch to use a varray.
604 (REG_*): Ditto.
605 (allocate_reg_info): Change num_regs argument to be size_t.
606
607 * regclass.c (reg_info_data): New structure to remember groups of
608 reg_info structures allocated that are to be zeroed.
609 ({pref,alt}class_buffer): New statics to hold buffers
610 allocate_reg_info allocates for {pref,alt}class_buffer.
611 (regclass): Use {pref,alt}class_buffer to initialize
612 {pref,alt}class.
613 (allocate_reg_info): Switch to make reg_n_info use varrays.
614 Allocate buffers for the preferred and alter register class
615 information. Change num_regs argument to be size_t, not int.
616
617 * flow.c (reg_n_info): Switch to use varrays.
618
f7c9c2bb
RL
619Thu Jul 2 10:11:47 1998 Robert Lipe <robertl@dgii.com>
620
621 * install.texi (sco3.2v5): Document new --with-gnu-as flag.
622 * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
623 in other targets.
624 (USE_GAS): Conditionalize away native assembler usage.
625 * config/i386/sco5gas.h: New file.
626 * config/i386/t-sco5gas: New file.
627 * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
628
c92293e7
CM
629Thu Jul 2 08:20:00 1998 Catherine Moore <clm@cygnus.com>
630
631 * haifa-sched.c (alloc_EXPR_LIST): Change to use
632 unused_expr_list.
633
ee5b121e
DL
634Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
635
636 * Makefile.in (install-info): Don't use $realfile. Ignore
637 possible errors from the install-info program.
638
729a2bc6
AB
639Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
640
641 * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
642
95912252
RH
643Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com>
644
645 * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
646 (MODES_TIEABLE_P): Tie SImode and HImode.
647
56159047
AJ
6481998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
649
650 * invoke.texi (Optimize Options): Fix typo.
651
00a2e46c
JW
652Wed Jul 1 22:25:43 1998 Jim Wilson <wilson@cygnus.com>
653
654 * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
655 the zero'th block.
656
4c95db67
KR
657Wed Jul 1 23:12:58 1998 Ken Raeburn <raeburn@cygnus.com>
658
659 * h8300.c (print_operand): Delete %L support.
660 * h8300.md (branch_true, branch_false): Use %= with a prefix
661 instead of %L for local branch labels.
662
370b1b83
R
663Wed Jul 1 21:27:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
664
665 * reload1.c (emit_reload_insns): Use proper register classes for
666 SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
667
826e3854
R
668Wed Jul 1 21:17:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
669
670 * reload.c (find_reloads): If there are multiple
671 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
672 one operand, change RELOAD_FOR_INPADDR_ADDRESS /
673 RELOAD_FOR_OUTADDR_ADDRESS for all but the first
674 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
675
8543c01e
R
676Wed Jul 1 17:23:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
677
678 * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
679 using its PATTERN.
680
aac5cc16
RH
681Wed Jul 1 05:04:41 1998 Richard Henderson <rth@cygnus.com>
682
683 * expr.c (emit_group_load, emit_group_store): Rewrite considering
684 the size and alignment of the structure being manipulated.
685 * expr.c, calls.c, function.c: Update all callers.
686 * expr.h: Update prototypes.
687 * cse.c (invalidate): Cope with parallels.
688
1eac9f59
RH
689Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com>
690
691 * sparc.c (function_arg_record_value): Take a MODE arg with which to
692 create the PARALLEL. Update all callers.
693
822a3443
RH
694Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com>
695
696 * expr.c (expand_assignment, store_constructor, expand_expr): Use
697 convert_memory_address instead of convert_to_mode when possible.
698
c714f03d
RH
699Wed Jul 1 03:48:00 1998 Richard Henderson <rth@cygnus.com>
700
701 * alpha.c (alpha_initialize_trampoline): Take arguments describing
702 the layout. Use ptr_mode. Disable hint generation. Use gen_imb.
703 * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
704 (TRANSFER_FROM_TRAMPOLINE): Move ...
705 * alpha/osf.h: ... here.
706 * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
707 (TRANSFER_FROM_TRAMPOLINE): Remove undef.
708 * alpha/win-nt.h: Likewise.
709 * alpha/vxworks.h: Likewise.
710
711 * alpha/linux.h: Revert gcc2 merge lossage.
712
03369c93
AS
713Wed Jul 1 10:56:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
714
715 * c-decl.c (grokdeclarator): Don't warn about implicit int in
716 `typedef foo = bar'.
717
e06c10eb
RL
718Wed Jul 1 02:12:33 1998 Robert Lipe <robertl@dgii.com>
719
720 * i386.c (asm_output_function_prefix): Make 686 function
721 prologues not issue .types for non-global lables.
722
154f82c7
DT
723Tue Jun 30 23:46:53 1998 Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
724
725 * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
726 (WCHAR_TYPE_SIZE): Update appropriately.
727
20b20440
JL
728Tue Jun 30 23:16:39 1998 Jeffrey A Law (law@cygnus.com)
729
762a1d90
JL
730 * flow.c (recompute_reg_usage): Does not return a value.
731 * rtl.h (recompute_reg_usage): Update prototype.
732
20b20440
JL
733 * jump.c (jump_optimize): Show that the jump chain is not
734 valid when not optimizing.
735
cff48d8f
RH
736Tue Jun 30 16:01:01 1998 Richard Henderson <rth@cygnus.com>
737
738 * rtl.def (CONSTANT_P_RTX): New.
739 * rtl.h (CONSTANT_P): Recognize it.
740 * cse.c (fold_rtx): Eliminate it.
741 * expr.c (can_handle_constant_p): New variable.
742 (init_expr_once): Initialize it.
743 (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
744 immediately recognizable as a constant.
745
746 * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
747 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
748 (sext_add_operand, and_operand, or_operand): Likewise.
749 (reg_or_cint_operand, some_operand, input_operand): Likewise.
750 * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
751
2067f1f5
BK
7521998-06-30 Benjamin Kosnik <bkoz@bliss.nabi.net>
753
754 * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
755
d2cabf16
KG
756Tue Jun 30 14:03:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
757
758 * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
759 argument, which is typically preprocessor code used to draw in
760 additional header files when looking for a function declaration.
761 (GCC_NEED_DECLARATIONS): Likewise.
762
763 * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
764 and setrlimit, search for them in sys/resource.h.
765
766 * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
767 NEED_DECLARATION_SETRLIMIT.
768
769 * system.h: Prototype getrlimit/setrlimit if necessary.
770
70198e3d
MM
771Tue Jun 30 10:54:48 1998 Mark Mitchell <mark@markmitchell.com>
772
84001dd0
MM
773 * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
774 upon.
70198e3d 775
ba1a5707
DE
776Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
777
778 * rs6000/sysv4.h (asm output): add tabs for asm directives.
779
780Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
781
782 * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
783
51db713f
KG
784Tue Jun 30 08:59:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
785
786 * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
787 Don't define NULL here. Also, remove all vestiges of autoconf
788 based checks for bcmp/bcopy/bzero/index/rindex.
789
790 * system.h: Immediately after including stdio.h, check for and if
791 necessary provide a default definition of NULL.
792
b8705408
MM
793Tue Jun 30 08:22:05 1998 Michael Meissner <meissner@cygnus.com>
794
795 * reload1.c (reload_cse_simplify_operands): Call
796 fatal_insn_not_found, not abort.
797
20f2d03a
JL
798Tue Jun 30 02:34:02 1998 Jeffrey A Law (law@cygnus.com)
799
800 * choose-temp.c (make_temp_file): Accept new argument for the
801 file suffix to use. Allocate space for it and add it to the
802 template.
803 * mkstemp.c (mkstemps): Renamed from mkstemp. Accept new argument
804 for the length of the suffix. Update template struture checks
805 to handle optinal suffix.
806 * collect2.c (make_temp_file): Update prototype.
807 (main): Put proper suffixes on temporary files.
808 * gcc.c (make_temp_file): Update prototype.
809 (do_spec_1): Put proper suffixes on temporary files.
810
dbde0d5d
BH
811Tue Jun 30 00:56:19 1998 Bruno Haible <haible@ilog.fr>
812
813 * invoke.texi: Document new implicit structure initialization
814 warning.
815
ad2c71b7
JL
816Mon Jun 29 22:12:06 1998 Jeffrey A Law (law@cygnus.com)
817
9ec36da5
JL
818 * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
819 details.
820
ad2c71b7
JL
821 * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
822
4f70758f
KG
823Mon Jun 29 20:12:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
824
825 * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
826
827 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
828 void since it is evaluated in a comma list.
829
830 * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
831 argument as a long and cast `NUM' to long to ensure it is of the
832 proper width. Wrap macro arguments in parens when they appear in
833 the expansion.
834
835 * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
836
837 * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
838 (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
839 function argument return type.
840 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
841 REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
842
843 * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
844 cpp_message.
845
846 * dbxout.c: Fix the comments after an #endif to reflect the actual
847 condition tested in the preceding #if.
848
849 * except.c (find_all_handler_type_matches): Switch to old-style
850 function definition.
851
852 * expr.c (expand_builtin): Remove unused variable `type' twice.
853
854 * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
855 to an unsigned long.
856
857 * haifa-sched.c (print_insn_chain): Remove unused function.
858
859 * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
860 definition.
861
862 * toplev.c: When testing whether to include dbxout.h, also include
863 it when XCOFF_DEBUGGING_INFO is defined.
864
865 * unroll.c (unroll_loop): Add parentheses around assignment used
866 as truth value.
867
a611ae14
CM
868Mon Jun 29 12:18:00 1998 Catherine Moore <clm@cygnus.com>
869
870 * config/lb1spc.asm (.div, .udiv): Replace routines.
871
b4213325
MM
872Mon Jun 29 09:44:24 1998 Mark Mitchell <mark@markmitchell.com>
873
874 * rtl.h: Update comment about special gen_rtx variants.
875 * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
876
39d45901
JL
877Sun Jun 28 20:58:51 1998 Jeffrey A Law (law@cygnus.com)
878
879 * choose-temp.c (choose_temp_base): Restore original variant of
880 this function for compatibility.
881 (make_temp_file): This is the new, preferred interface to create
882 temporary files.
883 * collect2.c (choose_temp_base): Delete declaration.
884 (make_temp_file): Declare.
885 (temp_filename_length, temp_filename): Delete.
886 (main): Use make_temp_file to get temporary files. Use --lang-c
887 to force the resulting ctort/dtor file to be compiled with the C
888 compiler. Make sure to remove temporary files on all exit paths.
889 * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
890 defined.
891 (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
892 not defined.
893 (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
894
6cd5dccd
KG
895Sun Jun 28 08:57:09 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
896
897 * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
898 getwd.
899
900 * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
901 NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
902
903 * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
904 (my_strerror): Add prototype and make it static.
905
906 * collect2.c: Likewise.
907
908 * cpplib.c: Likewise.
909
910 * gcc.c: Likewise, but keep `my_strerror' extern.
911
912 * protoize.c: Likewise.
913
914 * pexecute.c (my_strerror): Add argument to prototype.
915
916 * system.h: Add prototypes for getcwd, getwd and strerror. Add
917 extern decls for sys_nerr and sys_errlist. Make abort decl
918 explicitly extern.
919
920 * getpwd.c: Remove decls for getwd and getcwd.
921
984e3c38
JL
922Sun Jun 28 02:11:16 PDT 1998 Jeff Law (law@cygnus.com)
923
924 * version.c: Bump for snapshot.
925
0bef9b8d
RH
926Sat Jun 27 23:32:25 1998 Richard Henderson <rth@cygnus.com>
927
928 * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
929 of rtx_unsafe_p. Use modified_between_p instead of reg_set_between_p.
930 Allow FP moves to be optimized.
931 (rtx_unsafe_p): Delete.
932
97a7f457
RH
933Sat Jun 27 23:02:04 1998 Richard Henderson <rth@cygnus.com>
934
935 * objc/archive.c: Remove <string.h> prototypes.
936
b00c2351
JL
937Sat Jun 27 22:37:05 1998 Jeffrey A Law (law@cygnus.com)
938
f89223a9
JL
939 * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
940
b00c2351
JL
941 * Makefile.in (gencheck): Remove $(TREE_H) dependency.
942
d2a0c2ee
JC
943Sat Jun 27 20:20:00 1998 John Carr <jfc@mit.edu>
944
945 * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
946 * dsp16xx.c (next_cc_user_unsigned): New function.
947 Remove save_next_cc_user_code.
948 (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
949 * dsp16xx.md: Call next_cc_user_unsigned instead of using
950 save_next_cc_user_code.
951 Use gen_rtx_* functions instead of gen_rtx.
952
953Sat Jun 27 20:18:34 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
954
39403d82 955 * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
d2a0c2ee 956
4c649323
JL
957Sat Jun 27 16:45:42 1998 Jeffrey A Law (law@cygnus.com)
958
959 * flow.c (count_reg_sets): New function.
960 (count_reg_sets_1, count_ref_references): Likewise.
961 (recompute_reg_usage): Likewise.
962 * rtl.h (recompute_reg_usage): Add prototype.
963 * toplev.c (rest_of_compilation): Call recompute_reg_usage just
964 before local register allocation.
965
ea56ab2a
RH
966Sat Jun 27 13:15:30 1998 Richard Henderson <rth@cygnus.com>
967
968 * alpha.md (negsf, negdf): Revert Jan 22 change.
969
50793ea3
KG
970Sat Jun 27 07:35:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
971
7f43495a
KG
972 * mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t.
973 (mkstemp): Remove size specifier for variable `letters'. Call
974 gettimeofday, not __gettimeofday.
975
50793ea3
KG
976 * Makefile.in (EXPR_H): New dependency variable.
977 (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
978 (c-iterate.o): Likewise.
979 (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
980 (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
981 (toplev.o): Likewise. Also depend on $(RECOG_H) instead of recog.h.
982 (varasm.o): Depend on $(EXPR_H) instead of expr.h.
983 (function.o): Likewise.
984 (stmt.o): Likewise.
985 (except.o): Likewise.
986 (expr.o): Likewise.
987 (calls.o): Likewise.
988 (expmed.o): Likewise.
989 (explow.o): Likewise.
990 (optabs.o): Likewise.
991 (sdbout.o): Likewise.
992 (dwarf2out.o): Likewise.
993 (emit-rtl.o): Likewise.
994 (integrate.o): Likewise.
995 (jump.o): Likewise.
996 (cse.o): Likewise.
997 (gcse.o): Likewise. Also depend on $(BASIC_BLOCK_H) instead of
998 basic-block.h.
999 (loop.o): Depend on $(EXPR_H) instead of expr.h.
1000 (unroll.o): Likewise.
1001 (combine.o): Likewise.
1002 (reload.o): Likewise.
1003 (reload1.o): Likewise.
1004 (caller-save.o): Likewise.
1005 (reorg.o): Likewise.
1006 (alias.o): Don't depend on insn-codes.h.
1007 (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
1008 (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
1009 (insn-opinit.o): Likewise.
1010
003ac91d
JL
1011Sat Jun 27 01:35:14 1998 Jeffrey A Law (law@cygnus.com)
1012
1013 * choose-temp.c (choose_temp_base): Remove MPW bits. Use mkstemp
1014 instead of mktemp.
1015 * gcc.c (MKTEMP_EACH_FILE): Define.
1016 (main): No need to call choose_temp_base if we are going to
1017 use choose_temp_base to create each file later.
1018 * mkstemp.c: New file. Adapted from glibc.
1019 * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
1020 (mkstemp.o): Add dependencies.
1021
1022 * configure.in (gettimeofday): Check for its existance.
1023 * config.in (HAVE_GETTIMEOFDAY): Define.
1024 * configure: Rebuilt.
1025
b4e95693
MM
10261998-06-26 Michael Meissner <meissner@cygnus.com>
1027
1028 * rs6000.md (ne 0, non power case): Add missing & constraint.
463b558b
MM
1029 Name pattern ne0.
1030 (negative abs insns): Add pattern names.
b4e95693 1031
265ce5bb
DL
1032Fri Jun 26 17:36:42 1998 Dave Love <d.love@dl.ac.uk>
1033
1034 * Makefile.in (install-info): Run install-info program in separate
1035 loop.
1036
e4da5f6d
MM
1037Fri Jun 26 16:03:15 1998 Michael Meissner <meissner@cygnus.com>
1038
1039 * haifa-sched.c (schedule_block): Add hooks for the machine
1040 description to reorder the ready list, and update how many more
1041 instructions can be issued this cycle.
1042 * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
1043
db3d4438
DM
1044Fri Jun 26 11:54:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1045
1046 * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
1047 Explicitly mark the constant being compared against as unsigned.
1048 * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
1049 Fully initialize final members.
1050 (mem_aligned_8): Explicit init of offset to zero.
1051 (output_function_prologue): Explicit init of n_regs to zero.
1052 (output_function_epilogue): Likewise, and mark arg size as
1053 unused.
1054 (init_cumulative_args): Mark libname and indirect as unused.
1055 (function_arg_pass_by_reference): Likewise for cum and named.
1056 (sparc_builtin_saveregs): Likewise for arglist.
1057 (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
1058
ed4c4348
RE
1059Fri Jun 26 06:58:54 1998 Richard Earnshaw (rearnsha@arm.com)
1060
1061 * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
1062 if reloading a MEM.
1063
1064 * arm.h (arm_adjust_cost): Renamed bogus prototype from
1065 arm_adjust_code.
1066 (bad_signed_byte_operand): Add prototype.
1067 * arm.c (arm_override_options): Make I unsigned.
1068 (const_ok_for_arm): Add casts to the constants.
1069 (load_multiple_operation): Don't redeclare elt in sub-block.
1070 (arm_gen_movstrqi): Delete external declaration of optimize.
1071 (gen_compare_reg): Declare parameter fp.
1072
1073 * arm.c (final_prescan_insn): Only initialize scanbody if the insn
1074 has a pattern.
1075
3c303f52
KG
1076Fri Jun 26 09:31:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1077
1078 * alpha.c: Include system.h and toplev.h.
1079 (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1080 (const48_operand): Likewise.
1081 (mode_width_operand): Likewise.
1082 (mode_mask_operand): Likewise.
1083 (mul8_operand): Likewise.
1084 (current_file_function_operand): Likewise.
1085 (signed_comparison_operator): Likewise.
1086 (divmod_operator): Likewise.
1087 (any_memory_operand): Likewise.
1088 (alpha_return_addr): Likewise for parameter `frame'.
1089 (alpha_builtin_saveregs): Likewise for parameter `arglist'.
1090 (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
1091 `attributes'.
1092 (alpha_start_function): Likewise for parameter `decl'. Use
1093 HOST_WIDE_INT_PRINT_DEC in call to fprintf. Fix various format
1094 specifiers. Remove unused variables `lab' and `name'.
1095 (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
1096 (check_float_value): Likewise for parameter `overflow'.
1097 (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
1098
1099 * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
1100 taking an argument.
1101 (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
1102 (ASM_OUTPUT_CHAR): Likewise.
1103 (ASM_OUTPUT_BYTE): Likewise.
1104 (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
1105 fprintf.
1106 (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
1107 Add prototypes for functions in alpha.c.
1108
1109 * alpha.md (ashldi3): Add default case in switch.
1110
6d6393e3
MH
11111998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
1112
1113 * Makefile.in (gcc_version, gcc_version_trigger): New macros.
1114 (version): Initialize from $(gcc_version).
1115
1116 * configure.in (version): Rename to gcc_version.
1117 (gcc_version_trigger): New variable; call AC_SUBST for it and
1118 emit it into the generated config.status.
1119 * configure: Regenerate.
1120
30d68b86
MM
1121Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com>
1122
1123 * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
1124 nodes that are not expressions.
1125
41472af8
MM
1126Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com>
1127
1128 * invoke.texi (-fstrict-aliasing): Document.
1129 * rtl.texi (MEM_ALIAS_SET): Document.
1130
1131 * flags.h (flag_strict_aliasing): Declare.
1132 * toplev.c (flag_strict_aliasing): Define.
1133 (f_options): Add -strict-aliasing.
1134 (main): Set flag_strict_aliasing if -O2 or higher.
1135
1136 * tree.h (tree_type): Add alias_set field.
1137 (TYPE_ALIAS_SET): New macro.
1138 (TYPE_ALIAS_SET_KNOWN_P): Likewise.
1139 (get_alias_set): Declare.
1140 * tree.c (lang_get_alias_set): Define.
1141 (make_node): Initialize TYPE_ALIAS_SET.
1142 (get_alias_set): New function.
1143 * print-tree.c (print_node): Dump the alias set for a type.
1144
1145 * c-tree.h (c_get_alias_set): Declare.
1146 * c-common.c (c_get_alias_set): New function.
1147 * c-decl.c (init_decl_processing): Set lang_get_alias_set.
1148
1149 * expr.c (protect_from_queue): Propogage alias sets.
1150 (expand_assignment): Calculate alias set for new MEMs.
1151 (expand_expr): Likewise.
1152 * function.c (put_var_into_stack): Likewise.
1153 (put_reg_into_stack): Likewise.
1154 (gen_mem_addressof): Likewise.
1155 (assign_parms): Likewise.
1156 * stmt.c (expand_decl): Likewise.
1157 * varasm.c (make_decl_rtl): Eliminate redundant clearing of
1158 DECL_RTL. Calculate alias set for new MEMs.
1159
1160 * rtl.def (REG): Add dummy operand.
1161 (MEM): Add extra operand to store the MEM_ALIAS_SET.
1162 * rtl.h (MEM_ALIAS_SET): New macro.
1163 (gen_rtx_MEM): Declare.
1164 * emit-rtl.c (gen_rtx_MEM): New function.
1165 * gengenrtl.c (sepcial_rtx): Make MEMs special.
1166
1167 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
1168 (DIFFERENT_ALIAS_SETS_P): Likewise.
1169 (canon_rtx): Propogate the alias set to the new MEM.
1170 (true_dependence): Check the alias sets.
1171 (anti_dependence): Likewise.
1172 (output_dependence): Likewise.
1173 * explow.c (stabilize): Progoate alias sets.
1174 * integrate.c (copy_rtx_and_substitute): Likewise.
1175 * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
1176 in an unpredictable state. Propogate alias sets.
1177 * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
1178 we have no alias information.
1179
9c606f69
AM
1180Thu Jun 25 16:59:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1181
1182 * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
1183 (find_all_handler_type_matches): Add function prototype.
1184 * eh-common.h (CATCH_ALL_TYPE): Definition added.
1185 * except.c (find_all_handler_type_matches): Add function to find all
1186 runtime type info in the exception table.
1187 (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
1188
296b8152
KG
1189Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1190
1191 * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
1192
1193 * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
1194 `yhigh' and `bit' into the scope in which they are used.
1195 (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
1196 `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
1197
1198 * rs6000.c: Move include of output.h below tree.h. Include toplev.h.
1199 (any_operand): Mark unused parameters `op' and `mode' with
1200 ATTRIBUTE_UNUSED.
1201 (count_register_operand): Likewise for parameter `mode'.
1202 (fpmem_operand): Likewise.
1203 (short_cint_operand): Likewise.
1204 (u_short_cint_operand): Likewise.
1205 (non_short_cint_operand): Likewise.
1206 (got_operand): Likewise.
1207 (got_no_const_operand): Likewise.
1208 (non_add_cint_operand): Likewise.
1209 (non_logical_cint_operand): Likewise.
1210 (mask_operand): Likewise.
1211 (current_file_function_operand): Likewise.
1212 (small_data_operand): Likewise for parameters `op' and `mode' but
1213 only when !TARGET_ELF.
1214 (init_cumulative_args): Mark parameters `libname' with
1215 ATTRIBUTE_UNUSED.
1216 (function_arg_pass_by_reference): Likewise for parameters `cum',
1217 `mode' and `named'.
1218 (expand_builtin_saveregs): Likewise for parameter `args'.
1219 (load_multiple_operation): Likewise for parameter `mode'.
1220 (store_multiple_operation): Likewise.
1221 (branch_comparison_operator): Likewise.
1222 (secondary_reload_class): Likewise.
1223 (print_operand): Add parentheses around & operation.
1224 (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
1225 (output_epilog): Likewise. Cast argument to fprintf to int.
1226 (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
1227 (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
1228 `attributes', `identifier' and `args'.
1229 (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
1230 (rs6000_comp_type_attributes): Likewise for parameters `type1' and
1231 `type2'.
1232 (rs6000_set_default_type_attributes): Likewise for parameter `type'.
1233
1234 * rs6000.h (RTX_COSTS): Add parentheses around & operation.
1235 (toc_section, private_data_section, trap_comparison_operator): Add
1236 prototypes.
1237
1238 * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
1239 prototypes.
1240
1241 * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
1242
1243 * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
1244 xcoffout_begin_block, xcoffout_end_epilogue,
1245 xcoffout_end_function, xcoffout_end_block,
1246 xcoff_output_standard_types, xcoffout_declare_function,
1247 xcoffout_source_line): Add prototypes.
1248
ff73fb53
NC
1249Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
1250
1251 * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
1252 noticed by grahams@rcp.co.uk.
1253
ca242225
DB
1254Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
1255
1256 * gcc.c (default_compilers): Use new | syntax to eliminate
1257 string concatenation.
1258
acd92049
RH
1259Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com>
1260
1261 * alpha.c (alpha_function_name): Delete.
1262 (alpha_ra_ever_killed): Notice current_function_is_thunk.
1263 (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
1264 (alpha_start_function): Reorg from output_prologue.
1265 (alpha_end_function): Reorg from output_epilogue.
1266 * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
1267 (ASM_DECLARE_FUNCTION_SIZE): New.
1268 (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
1269 (PROFILE_BEFORE_PROLOGUE): Set.
1270 (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
1271 * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
1272
dd014274
JL
1273Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com)
1274
1275 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
1276
12771998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
89752202
HB
1278
1279 * expr.c (expand_assignment): Rework address calculation for structure
1280 field members to expose more invariant computations to the loop
1281 optimizer.
1282 (expand_expr): Likewise.
1283
c358412f
JL
1284Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com)
1285
1286 * local-alloc.c (block_alloc): Do not try to avoid false dependencies
1287 when SMALL_REGISTER_CLASSES is nonzero.
1288
a59fb797
KK
1289Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de>
1290
1291 * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
1292
55a6ba9f
JC
1293Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu>
1294
1295 * expr.c (get_memory_rtx): New function.
1296 (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
1297 string functions.
1298
1299 * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
1300
9e6a5703
JC
1301 * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
1302 * expr.c: Likewise.
1303 * explow.c: Likewise.
1304 * combine.c: Likewise.
1305 * reload1.c: Likewise.
1306 * gcse.c: Likewise.
1307
135edcfd
DB
1308Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com>
1309
1310 * README.gnat: Add patch for new lang_decode_options interface.
1311
9a9deafc
AM
1312Wed Jun 24 09:14:04 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1313
1314 * except.c (start_catch_handler): Do nothing if EH is not on.
1315
854b2357
MH
13161998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
1317
1318 * configure.in (gxx_include_dir): Initialize default value depending on
6d6393e3
MH
1319 new flag --enable-version-specific-runtime-libs; remove superfluous
1320 default initialization afterwards.
854b2357
MH
1321 * configure: Regenerate.
1322
d3b107b4
DM
1323Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1324
1325 * toplev.c (rest_of_compilation): Revert May 15 change.
1326
c22eaf8a
KR
1327Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
1328
1329 * reload.c (find_reloads): Fix check for failure to match any
1330 alternative, to account for Mar 26 change in initial "best" cost.
1331
d2f8cffa
DB
1332Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com>
1333
1334 * cpplib.c (do_line): Typo broke #line directive.
1335 (cpp_message_from_errno): New function.
1336 (cpp_error_from_errno): Call cpp_message_from_errno.
1337 * cpplib.h (cpp_message_from_errno): New function.
1338
48b24bcd
AM
1339Tue Jun 23 13:38:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1340
1341 * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
1342 functions to return exception descriptor information.
1343 (find_exception_handler): Pass match_info field to runtime matcher,
1344 not a descriptor table entry.
1345
daf21dfd
DL
1346Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk>
1347
1348 * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
1349 accompany previous Makefile.in (install-info) change.
1350
48b24bcd 1351Tue Jun 23 10:06:07 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
5816cb14
AM
1352
1353 * eh-common.h (struct __eh_info): Remove coerced value field.
1354 * libgcc2.c (find_exception_handler): Don't set coerced_value field.
1355 * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
1356 POINTER_SIZE instead of Pmode.
1357 (expand_start_all_catch): Call start_catch_handler() if we are not
1358 using new style exceptions.
1359
83de03df
CM
1360Tue Jun 23 06:45:00 1998 Catherine Moore <clm@cygnus.com>
1361
1362 * varasm.c (assemble_variable): Remove reference to warn_bss_align.
1363
5b8e7fa3
DM
1364Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1365
1366 * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
1367 extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
1368 subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
1369 splits and peepholes): Change remaining generic gen_rtx calls to
1370 specific genrtl ones.
254110c2
DM
1371 * config/sparc/sparc.c: Likewise.
1372
9bf09437
RH
1373Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
1374
1375 * gcc.c (handle_braces): Recognize | between options as an or.
1376
e31ca113
JW
1377Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com)
1378
2b005260
JW
1379 * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
1380 * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
1381
e31ca113
JW
1382 * i386.md (exception_receiver): Define.
1383
aeb2f500
JW
1384Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
1385
225695a4
JW
1386 * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
1387 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
1388 (install-common): Use them.
1389
aeb2f500
JW
1390 * gcse.c (add_label_notes): New function.
1391 (pre_insert_insn): Call it.
1392 * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
1393 pass the label to set_label_in_map.
1394
efef624b
DL
1395Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
1396
1397 * Makefile.in (install-info): Fix typpo in previous change.
1398
4bcfa7a8
CM
1399Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
1400
1401 * varasm.c (assemble_variable): Emit alignment warning.
1402
296433e1
KG
1403Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1404
1405 * Makefile.in (varasm.o): Depend on sdbout.h.
1406 (sdbout.o): Depend on toplev.h.
1407
1408 * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
1409 use %ld specifier.
1410
1411 * final.c (shorten_branches): Cast first arg of `bzero' to char *.
1412
1413 * genextract.c (main): When creating insn-extract.c, mark variable
1414 `i' with ATTRIBUTE_UNUSED.
1415
1416 * genpeep.c (main): When creating insn-peep.c, mark variables
1417 `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
1418
1419 * objc/init.c (__objc_tree_print): Wrap function definition in
1420 macro `DEBUG'.
1421
1422 * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
1423 and use %ld specifier.
1424 (adorn_decl): Likewise, twice.
1425
e016950d
KG
1426 * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
1427
1428 * sdbout.c: Include output.h and toplev.h.
1429 (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
1430 `a'. Cast `a' to HOST_WIDE_INT to force it to always be so.
1431 (PUT_SDB_SIZE): Likewise.
1432
1433 * sdbout.h (sdbout_mark_begin_function): Add prototype.
1434
1435 * stmt.c (check_for_full_enumeration_handling): Cast argument of
1436 `warning' to long and use %ld specifier.
1437
1438 * toplev.c (main): Likewise for `fprintf'.
1439
1440 * toplev.h (output_file_directive): Add prototype.
1441
1442 * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
1443 call to `fprintf'.
1444 (precondition_loop_p): Likewise.
1445
1446 * varasm.c Include sdbout.h.
1447 (assemble_static_space): Move sometimes-unused variable `rounded'
1448 into the scope in which it is used.
b3fb0b5e
KG
1449
1450 * mips.c (gpr_mode): Don't say `static' twice.
1451
1452 * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
1453
1454 * objc/objc-act.c (init_selector): Hide prototype and definition.
1455
1456 * optabs.c (gen_cond_trap): Remove unused variable `icode'.
1457
1458 * regmove.c (copy_src_to_dest): Likewise for `i'.
e016950d 1459
cd1661d6
KG
1460 * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
1461 (add_ext_symbol): Likewise.
1462 (add_file): Likewise.
1463 (parse_def): Likewise.
1464 (write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix
1465 remaining format specifiers and arguments.
1466 (write_object): Likewise, several times.
1467 (read_seek): Likewise.
1468 (out_of_bounds): Likewise.
1469 (allocate_cluster): Likewise.
1470 (xmalloc): Likewise.
1471 (xcalloc): Likewise.
1472 (xrealloc): Likewise.
1473 (xfree): Likewise.
1474
1475 * mips-tdump.c (print_symbol): Likewise.
1476
824d9076
DL
1477Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
1478
1479 * Makefile.in (install-info): Use install-info program if
1480 available, per GNU standard.
1481
9a8b0889
JL
1482Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
1483
ecff22ab
JL
1484 * invoke.texi: Document -mrelax for the mn10300 and mn10200.
1485
04821e98
JL
1486 * basic-block.h (init_regset_vector): Delete declaration.
1487 * flow.c (init_regset_vector): Make it static and add a prototype.
1488
4d7fc9e7
JL
1489 * bitmap.h (debug_bitmap): Declare.
1490
9a8b0889
JL
1491 * haifa-sched.c (debug_ready_list): Make static.
1492
1493 * toplev.h (fancy_abort): Declare.
1494
27fa83c1
L
1495Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
1496
4d7fc9e7
JL
1497 * basic-block.h (init_regset_vector): New declaration.
1498
2086b675
L
1499 * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
1500
f6781658
L
1501 * global.c: Include machmode.h amd move hard-reg-set.h before
1502 rtl.h.
1503
cc4fe0e2
L
1504 * haifa-sched.c (insn_issue_delay, birthing_insn_p,
1505 adjust_priority, print_insn_chaino): New declaration.
1506 (schedule_insns): Remove declaration.
1507 (init_target_units, get_visual_tbl_length,
1508 init_block_visualization): Add prototype.
1509
8a1ef8c9
L
1510 * integrate.c (pushdecl, poplevel): Remove declaration.
1511
9a8b0889
JL
1512 * rtl.h (expand_expr): Remove declaration.
1513
27fa83c1
L
1514 * loop.c (oballoc): Remove declaration.
1515 (replace_call_address): Add prototype.
1516
e4ad60fe
JL
1517Sun Jun 21 01:08:17 PDT 1998 Jeff Law (law@cygnus.com)
1518
1519 * version.c: Bump for snapshot.
1520
c0067dc8
JW
1521Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
1522
1523 * i386.c (output_fp_conditional_move): Don't bother handling
1524 (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
1525 prevent this from happening.
1526
1527 * i386.md (nonlocal_goto_receiver): Delete.
1528
a24da858
L
1529Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
1530
1442f4eb
L
1531 * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
1532 -DCRTSTUFFS_O.
1533 (INSTALL): cd $(srcdir) before make.
1534
a24da858
L
1535 * flow.c (allocate_for_life_analysis, init_regset_vector):
1536 Remove declaration.
1537
1538 * function.h (get_first_block_beg): New declaration.
1539
1540 * gbl-ctors.h (__do_global_dtors): Add prototype.
1541
1542 * gcov-io.h (__fetch_long): New declaration.
1543 (__store_long): Likewise.
1544 (__read_long): Likewise.
1545 (__write_long): Likewise.
1546
1547 * gcov.c (print_usage): New declaration.
1548
1549 * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
1550
4ef873c2
JL
1551Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
1552
c16ddde3
JL
1553 * calls.c (expand_call): Initialize "src" and "dest".
1554 * stmt.c (expand_return): Likewise.
1555 * expmed.c (extract_split_bit_field): Similarly for "result"
1556 * gcse.c (compute_hash_table): Mark first arg as unused.
1557 * jump.c (jump_optimize): Initialize reversep.
1558 * tree.c (make_node): Initialize length.
1559
f67aab2c
JL
1560 * c-common.c (check_format_info): Initialize length_char and
1561 fci to keep -Wall quiet.
1562
767f5b14
JL
1563 * except.c (jumpif_rtx): Put declaration and definition
1564 inside a suitable #ifdef.
1565 (jumpifnot_rtx): Delete dead function.
1566
5a77b5f3
JL
1567 * i386.h (output_int_conditional_move): Declare.
1568 (output_fp_conditional_move): Likewise.
2305ac0d 1569 (ix86_can_use_return_insn_p): Likewise.
5a77b5f3 1570
4ef873c2
JL
1571 * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
1572
2e107e9e
GS
1573Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
1574
1575 * alias.c: Include toplev.h
1576 * caller-save.c: Include toplev.h
1577 * combine.c: Include toplev.h
1578 * flow.c Include toplev.h
1579 * global.c: Include toplev.h
1580 * jump.c: Include toplev.h
1581 * local-alloc.c: Include toplev.h
1582 * loop.c: Include toplev.h
1583 * regmove.c: Include toplev.h
1584 * stupid.c: Include toplev.h
1585 * unroll.c: Include toplev.h
1586 * Makefile.in: Add toplev.h dependencies.
1587
29a4c5ed
JM
1588Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
1589
1590 * regmove.c (copy_src_to_dest): Add decl for loop_depth.
32bd96ff
JM
1591
1592 * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
1593 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
1594 Add parens to various macros.
1595
9dfcc8db
BH
1596Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
1597
1598 * c-typeck.c (pop_init_level): Warn about implicit zero initialization
1599 of struct members.
1600
ee830309
JM
1601Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
1602
1603 * varasm.c (assemble_start_function): Add weak_global_object_name.
1604 * tree.c (get_file_function_name): Use it.
1605
2c975716
JL
1606Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
1607
561592c5
JL
1608 * except.c (jumpif_rtx): Make static and add prototype.
1609 (jumpifnot_rtx): Likewise.
1610
90bf9bc4
JL
1611 * README.gnat: Add a build patch from Fred Fish.
1612
2c975716
JL
1613 * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
1614
3ca4021d
JL
1615 * Makefile.in (c-iterate.o): Depend on expr.h.
1616
3559eb28
L
1617Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
1618
19864289
L
1619 * except.h (emit_unwinder, end_eh_unwinder): Removed.
1620
90bf9bc4
JL
1621 * dwarfout.c (getpwd): Add prototype.
1622 (is_pseudo_reg, type_main_variant, is_tagged_type,
1623 is_redundant_typedef): New declaration.
1624 (output_decl): Add prototype for FUNC.
1625 (type_main_variant): Make it static.
1626 (is_tagged_type): Likewise.
1627 (is_redundant_typedef): Likewise.
1628
0d091530
L
1629 * expr.c (do_jump_by_parts_greater_rtx): Removed.
1630 (truthvalue_conversion): Likewise.
1631
3ca4021d
JL
1632 * c-iterate.c: Include "expr.h".
1633 (expand_expr): Use proper values when calling the function.
1634
0ddc9a94
L
1635 * explow.c (emit_stack_save): Add prototype for FCN.
1636 (emit_stack_restore): Likewise.
1637
e179bf0f
L
1638 * dwarf2out.c (getpwd): Add prototype.
1639
79a2acc8
L
1640 * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
1641
f5a8bfff 1642 * c-typeck.c (c_expand_asm_operands): Use proper values when calling
79a2acc8 1643 expand_expr.
f5a8bfff 1644
3ab6dd7c
L
1645 * c-lex.c (yyprint): Add prototype.
1646 (check_newline, build_objc_string): Remove declaration.
1647
0bb0a00b
L
1648 * c-tree.h (comptypes_record_hook): Removed.
1649 (finish_incomplete_decl): New prototype.
1650
960b4ee6
L
1651 * alias.c (find_base_value): Add prototype.
1652 (true_dependence): Add prototype for function argument.
1653
3559eb28
L
1654 * c-aux-info.c (xmalloc): Remove declaration.
1655
bb5177ac
RL
1656Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
1657
1658 * i386.c: Include system.h. Remove redundant includes.
1659 (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
1660 (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
1661 'identifier', 'args'.
1662 (i386_valid_type_attribute_p): Likewise for 'attributes'.
1663 (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
1664 (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
1665 and 'named'.
1666 (symbolic_operand): Likewise for 'mode'.
1667 (call_insn_operand): Likewise.
1668 (expander_call_insn_operand): Likewise.
1669 (ix86_logical_operator): Likewise.
1670 (ix86_binary_operator_ok): Likewise.
1671 (emit_pic_move): Likewise.
1672 (VOIDmode_compare_op): Likewise.
1673 (is_mul): Likewise.
1674 (str_immediate_operand): Likewise.
1675 (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
1676 (asm_output_function_prefix): Likewise for 'name'.
1677 (function_prologue): Likewise for 'file', and 'size'.
1678 (function_epilogue): Likewise.
1679
7e7ca3a1
JW
16801998-06-19 Jim Wilson <wilson@cygnus.com>
1681
1682 * loop.h (struct induction): Clarify comment for unrolled field.
1683 * unroll.c (find_splittable_givs): Move set of unrolled field
1684 after address validity check.
1685
c0418205
MM
1686Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
1687
1688 * config/fp-bit.c (INLINE): Only define if not already defined.
1689
fe2fa3c4
MH
16901998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
1691
1692 * Makefile.in (installdirs): Loop over directories in $(libsubdir)
1693 creating probably missing ones, instead of single if statements.
1694
f0b8d9aa
AS
1695Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1696
1697 * c-common.c (truthvalue_conversion): Protect side effects in the
1698 expression when splitting a complex value.
1699 * fold-const.c (fold): Likewise.
1700
94fb3933
KK
1701Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
1702
1703 * cccp.c (hack_vms_include_specification): rewrite to handle
1704 '#include <dir/file.h>' correctly.
1705
de3eb7b7
L
1706Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
1707
1708 * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
1709
b4d030e5
JW
1710Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
1711
9c8c5afb
JW
1712 * i386.c (notice_update_cc): Integer conditional moves don't
1713 affect cc0.
1714
b4d030e5
JW
1715 * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
1716 to support LT, LE, GE, and GT signed integer comparisons.
1717 (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
1718 movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
1719 is LT, LE, GE, or GT.
1720 (movdicc): Remove code resulting from an earlier patch which
1721 didn't apply correctly.
1722
bb173ade
RK
1723Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1724
1725 * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
1726 consider a MEM in FP mode as equal.
1727
11346e89
JL
1728Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
1729
1730 * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
1731 duplicate declarations of a function.
1732
76a8de12
L
1733Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
1734
1735 * config/float-i386.h: New.
1736
1737 * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
1738
7c74b010
JW
1739Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
1740
1741 * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
1742 indexed arrays. Call free at the end of the function for them.
1743 * haifa-sched.c (schedule_insns): Likewise.
1744
243e7835
JW
1745Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
1746
1747 * dwarf2out.c (size_of_string): Do count backslashes.
1748
bf3ad139
NC
1749Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
1750
1751 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
1752 addressing when one register is the frame pointer or stack
1753 pointer. Disallow REG+CONST addressing in HI mode.
1754
f9df0a1d
R
1755Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1756
1757 * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
1758 RELOAD_FOR_INSN.
1759
cab634f2
KG
1760Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1761
1762 * Makefile.in (c-lang.o): Depend on output.h.
1763
1764 * c-lang.c: Include output.h.
1765
1766 * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
1767
1768 * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
1769
1770 * genrecog.c (write_subroutine): When writing insn-recog.c, mark
1771 variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
1772 with ATTRIBUTE_UNUSED.
1773
1774 * regmove.c (copy_src_to_dest): Make function static to match its
1775 prototype.
1776
1777 * reload1.c Include hard-reg-set.h before rtl.h to get macro
1778 HARD_CONST. Include machmode.h before hard-reg-set.h.
1779
1780 * rtl.h: Prototype `retry_global_alloc' and wrap with macro
1781 HARD_CONST to protect usage of typedef HARD_REG_SET.
1782
1783 * tree.c: Prototype `_obstack_allocated_p'.
1784
1785 * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
1786 BSS_SECTION_ASM_OP.
1787
0b17dd98
KG
1788Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1789
1790 * pa.c: Include system.h and toplev.h. Remove redundant code.
1791 (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1792 (symbolic_operand): Likewise.
1793 (symbolic_memory_operand): Likewise.
1794 (pic_label_operand): Likewise.
1795 (fp_reg_operand): Likewise.
1796 (pre_cint_operand): Likewise.
1797 (post_cint_operand): Likewise.
1798 (ireg_or_int5_operand): Likewise.
1799 (int5_operand): Likewise.
1800 (uint5_operand): Likewise.
1801 (int11_operand): Likewise.
1802 (uint32_operand): Likewise.
1803 (ior_operand): Likewise.
1804 (lhs_lshift_cint_operand): Likewise.
1805 (pc_or_label_operand): Likewise.
1806 (legitimize_pic_address): Likewise.
1807 (hppa_legitimize_address): Likewise for parameter `old'.
1808 (output_block_move): Likewise for parameter `size_is_constant'.
1809 (output_function_prologue): Likewise for parameter `size'.
1810 (output_function_epilogue): Likewise.
1811 (return_addr_rtx): Likewise for parameter `count'.
1812 (output_mul_insn): Likewise for parameter `unsignedp'.
1813 (hppa_builtin_saveregs): Likewise for parameter `arglist'.
1814 (output_bb): Likewise for parameter `operands'.
1815 (output_bvb): Likewise.
1816 (function_label_operand): Likewise for parameter `mode'.
1817 (plus_xor_ior_operator): Likewise.
1818 (shadd_operand): Likewise.
1819 (non_hard_reg_operand): Likewise.
1820 (eq_neq_comparison_operator): Likewise.
1821 (movb_comparison_operator): Likewise.
1822 (pa_combine_instructions): Likewise for parameter `insns'.
1823
1824 * pa.h: Add prototypes for functions `output_deferred_plabels',
1825 `override_options', `output_ascii', `output_function_prologue',
1826 `output_function_epilogue', `print_operand',
1827 `symbolic_expression_p', `reloc_needed', `compute_frame_size',
1828 `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
1829 `pa_adjust_cost', `pa_adjust_insn_length' and
1830 `secondary_reload_class'.
1831
ca8c3b37
JM
1832Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
1833
1834 * configure.in: Don't turn on collect2 unconditionally.
1835
1d22a2c1
MM
1836Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
1837
1838 * cse.c (cse_basic_block): Don't include NOTE insns in the count
1839 that is used to decide whether or not it is time to erase the
1840 equivalence table.
1841
b74390de
FS
1842Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1843
1844 * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
1845
e0cd0770
JC
1846Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
1847
1848 * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
1849 (sched_analyze_2): Allow scheduling TRAP_IF.
1850
1851 * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
1852
1853 * rtl.h (TRAP_CODE): New macro.
1854
1855 * rtl.def (TRAP_IF): Change second operand type to rtx.
1856
1857 * optabs.c (gen_cond_trap): New function.
1858 (init_traps): New function.
1859 (init_optabs): Call init_traps.
1860 * expr.h: Declare gen_cond_trap.
1861
1862 * jump.c (jump_optimize): Optimize jumps to and around traps.
1863
1864 * sparc.md: Define trap instructions.
1865
1866 * rs6000.md: Define trap instructions.
1867 * rs6000.c (print_operand): New code 'V' for trap condition.
1868 (trap_comparison_operator): New function.
1869
1870 * m88k.md: Update use of TRAP_IF.
1871
1872 * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
1873 * c-decl.c (init_decl_processing): New builtin __builtin_trap.
1874 * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
1875
1876 * expr.c (expand_builtin): Error if __builtin_longjmp second argument
1877 is not 1.
1878
4fdf79cb
CM
1879Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com>
1880
1881 * reload1.c (spill_hard_reg): Check mode of register when
1882 spilling from scratch_list.
1883
d7e78529
AM
1884Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1885
1886 * except.c (add_new_handler): fix bug in finding last region handler.
1887 * libgcc2.c (find_exception_handler): Pass exception table pointer
1888 to runtime type matcher, not the match info field.
1889
3301dc51
AM
1890Wed Jun 17 15:57:48 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1891
1892 * eh-common.h (struct eh_context): Add comment for hidden use of
1893 field dynamic_handler_chain.
1894 * except.c (get_dynamic_handler_chain): Comment on, and use the
1895 correct offset of the dynamic_handler_chain field.
1896
33f264af
JW
18971998-06-17 12:46:56 1998 Jim Wilson <wilson@cygnus.com>
1898
1899 * mips/iris6.h (LINK_SPEC): Add -woff 131.
1900
d460fb3c
JM
19011998-06-17 Jason Merrill <jason@yorick.cygnus.com>
1902
1903 * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
1904
1905 * configure.in: Don't disable collect2 when we have GNU ld.
1906
4c738570
JL
1907Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
1908
7d12cee1
JL
1909 * fold-const.c (make_range): Do not widen the type of the expression.
1910
dbecbbe4
JL
1911 * expr.c (check_max_integer_computation_mode): New function.
1912 (expand_expr): Avoid integer computations in modes wider than
1913 MAX_INTEGER_COMPUTATION_MODE.
1914 * fold-const.c (fold): Likewise.
1915 * tree.h (check_max_integer_computation_mode): Declare.
1916 * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
1917
4b95eb49
JL
1918 * configure.in (nm): Make a link to "nm" in the build tree too.
1919
4c738570
JL
1920 * mn10300.md (andsi3): Fix typo.
1921
33ab8de0
RH
1922Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
1923
1924 * reload1.c (reload_cse_regs): Call bzero instead of looping.
1925
bf20f341
JW
1926Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
1927
1928 * dwarf2out.c (stripattributes): Prepend '*' to the section name.
1929
9c0e94a5
RH
1930Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
1931
1932 * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
1933 (output_prologue, output_epilogue): Merge VMS and OSF versions;
1934 Remove anything related to the actual code generation.
1935 (output_end_prologue): New function.
1936 (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
1937 (alpha_does_function_need_gp): Return false for VMS.
1938 (alpha_function_needs_gp): Make static.
1939 (add_long_const): Delete.
1940 (summarize_insn): Don't assume a SUBREG is of a REG.
1941 Prototype all static functions. Rename VMS-specific global
1942 variables vms_*.
1943 * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
1944 (FUNCTION_BOUNDARY): Align to cache line.
1945 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
1946 (FUNCTION_END_PROLOGUE): New macro.
1947 * alpha.md (attribute length): New. Mark all insns.
1948 (return_internal, prologue_stack_probe_loop) New patterns.
1949 (prologue, init_fp, epilogue): New patterns.
1950 Disable peepholes.
1951 * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
1952
ad1da1de
DB
1953Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
1954
1955 * toplev.c (lang_options): Add -trigraphs option for cpplib.
1956
75528b80
R
1957Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1958
1959 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
1960 is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
1961 is earlier than RELOAD_FOR_INPUT_ADDRESS.
1962
42b82dd3
JW
1963Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
1964
1965 * libgcc1-test.c (memcpy): Define.
1966
6f6074ea
MM
1967Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
1968
1969 * genattrtab.c (struct attr_desc): Change int flags to bit
1970 fields. Add bit fields for this being function_units_used
1971 or *_blockage_range attributes.
1972 (write_unit_name): New function to print a function unit name
1973 given unit #.
1974 (expand_units): Indicate whether this is function_units_used or
1975 *_blockage_range attributes.
1976 (write_toplevel_expr): Print function_units_used and
1977 *_blockage_range attributes in a more friendly fashion.
1978 (make_internal_attr): Indicate whether this attribute is either
1979 function_units_used or *_blockage_range.
1980
ddc8bed2
MM
1981Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
1982 Jim Wilson <wilson@cygnus.com>
3bd89472 1983
ddc8bed2
MM
1984 * regmove.c (copy_src_to_dest): Do not copy src to dest if either
1985 the source or destination is special.
3bd89472 1986
ddc8bed2 1987Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
a7db2896 1988
ddc8bed2 1989 * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
a7db2896 1990
d61d494a
JL
1991Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
1992
1993 * version.c: Bump for snapshot.
1994
a08432bd
KW
1995Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
1996
1997 * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
1998 redefining it.
1999
a4ea8d97
DE
2000Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
2001
2002 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
416db271 2003 (ENDFILE_SPEC): Add -lgloss.
a4ea8d97 2004
38831dfe
KG
2005Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2006
2007 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2008 (large_int): Likewise.
2009 (pc_or_label_operand): Likewise.
2010 (call_insn_operand): Likewise.
2011 (consttable_operand): Likewise.
2012 (m16_uimm3_b): Likewise.
2013 (m16_simm4_1): Likewise.
2014 (m16_nsimm4_1): Likewise.
2015 (m16_simm5_1): Likewise.
2016 (m16_nsimm5_1): Likewise.
2017 (m16_uimm5_4): Likewise.
2018 (m16_nuimm5_4): Likewise.
2019 (m16_simm8_1): Likewise.
2020 (m16_nsimm8_1): Likewise.
2021 (m16_uimm8_1): Likewise.
2022 (m16_nuimm8_1): Likewise.
2023 (m16_uimm8_m1_1): Likewise.
2024 (m16_uimm8_4): Likewise.
2025 (m16_nuimm8_4): Likewise.
2026 (m16_simm8_8): Likewise.
2027 (m16_nsimm8_8): Likewise.
2028 (m16_usym8_4): Likewise.
2029 (m16_usym5_4): Likewise.
2030 (mips_move_1word): Change type of variable `i' from int to size_t.
2031 (mips_move_2words): Likewise.
2032 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
2033 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
2034 (function_arg): Likewise.
2035 (function_arg_partial_nregs): Mark parameter `named' with
2036 ATTRIBUTE_UNUSED.
2037 (override_options): Use ISDIGIT instead of isdigit.
2038 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
2039 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
2040 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
2041 function `fatal' to long before printing. Use
2042 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
2043 times in this function.
2044 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
2045 (function_epilogue): Likewise for parameters `file' and `size'.
2046 Print an int with "%d" not "%ld".
2047 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
2048 (mips_function_value): Likewise for parameter `func'.
2049 (function_arg_pass_by_reference): Likewise for parameters `cum'
2050 and `named'.
2051 (extend_operator): Likewise for parameter `mode'
2052 (highpart_shift_operator): Likewise.
2053
2054 * mips.md (mul_acc_si): Remove unused variable `macc'.
2055
77a45a2e
RH
2056Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
2057
2058 * fold-const.c (fold): Revert last change. It breaks constant
2059 expressions somehow.
2060
8d62b411
AS
2061Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2062
2063 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
2064 prevent operands from being evaluated twice.
2065
cac45626
SO
2066Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
2067
2068 * toplev.c (lang_options): Add -remap as a preprocessor option.
2069
9bc6d2c2
JW
2070Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
2071
2072 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
2073 which set CC_REVERSED since reload should ensure that
2074 the operands are already the correct type.
2075
fb95c8c9
JW
2076Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
2077
2078 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
2079 calling gen_rtx_SET.
2080
95009288
DE
2081Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
2082
2083 * config/rs6000/x-aix43 (AR): Delete.
2084 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
2085
bf6f78d1
DS
2086Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
2087
2088 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
2089
45cc4c09
JW
2090Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
2091
2092 * mips.c (override_options): Replace word_mode with explicit
2093 TARGET_64BIT check.
2094
ecb75b7a
MM
2095Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
2096
2097 * regmove.c (regmove_optimize): If we can't replace the
2098 destination in an insn that sets the source, generate an explicit
2099 move of the source to the destination.
2100 (copy_src_to_dest): New function.
2101 (toplevel): Include basic-block.h
2102
2103 * Makefile.in (regmove.o): Add basic-block.h dependencies.
2104
8e34149d
DB
2105Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
2106
2107 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
2108
8358a974
MM
2109Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
2110
2111 * rtl.h (rtx_def): Improve documentation.
2112 (MEM_IN_STRUCT_P): Likewise.
2113
e80716de
GS
2114Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
2115
2116 * c-decl.c (start_decl): Correct test for -Wmain.
2117
b3fbc9ad
GS
2118 * c-decl.c (grokdeclarator): Remove unused variable "last".
2119
3e2b9a3d
JW
2120Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
2121
2122 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
2123 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
2124 Delete code storing value in static_chain_rtx.
2125 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
2126 to second expand_expr call.
2127
748b909e
MM
2128Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
2129
2130 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
2131
e061d1ce
DB
2132Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
2133
2134 * cppmain.c (fatal): New function.
2135 * configure.in (cpp_main): New configuration variable.
2136 * configure: Regenerated.
e80716de
GS
2137 * Makefile.in (CCCP): Use a configuration variable to select basex
2138 for cccp.
e061d1ce
DB
2139 (cppmain$(exeext)): Add @extra_cpp_objs@.
2140
a0d85b75
DB
2141Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
2142
2143 * objc/objc-act.c: Add cpplib declarations.
2144 (lang_decode_option): Initialize cpplib if necessary.
2145 (lang_decode_option): New argc/argv interface.
2146 * tree.h (lang_decode_option): New argc/argv interface.
2147 * toplev.c (lang_options): Add cpp options.
2148 (main): New interface for lang_decode_option.
2149 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
2150 unless -E, -M or -MM is specified.
2151 * cpplib.h (cpp_handle_option): New function.
2152 * cpplib.c (cpp_handle_option): New function.
2153 (cpp_handle_options): Now calls cpp_handle_option.
2154 * c-tree.h (c_decode_option): New argc/argv interface.
2155 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
2156 * c-lang.c (lang_decode_option): New argc/argv interface.
2157 * c-decl.c: Add cpplib declarations.
2158 (c_decode_option): New argc/argv interface.
2159 (c_decode_option): Call cpp_handle_option.
2160 (c_decode_option): Now returns number of strings processed.
2161
95193030
RE
2162Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
2163
2164 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
2165 changes. Abort if the undo fails.
2166
e74e8c84
VM
21671998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
2168
2169 * config/rs6000/rs6000.c (output_prolog): Change locations and
2170 directions of saving and restoring arguments of main on the stack.
2171
0254c561
JC
2172Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
2173
2174 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
2175 for each alternative. Do not replace a CONST_INT with a REG unless
2176 the reg is cheaper.
2177
0365438d
JL
2178Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
2179
07fb7f79
JL
2180 * decl.c (init_decl_processing): Fix typo.
2181
bfed8dac
JL
2182 * mips.c (gpr_mode): New variable.
2183 (override_options): Initialize gpr_mode.
2184 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
2185 determine size and offset of general purpose registers save slots.
2186 (save_restore_insns, mips_expand_prologue): Similarly.
2187
0365438d
JL
2188 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
2189 between constant representations when we have (SUBREG (REG)) with
2190 REG equivalent to a constant.
2191
e6bcfef9
JS
2192Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
2193
2194 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
2195
ac1fdb22
RH
2196Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
2197
2198 * fold-const.c (fold): Even with otherwise constant trees, look for
2199 opportunities to combine integer constants.
2200
1c5d60f5
JW
2201Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
2202
9d932d43
JW
2203 * i386.c (notice_update_cc): Clear cc_status.value2 in the
2204 case of UNSPEC 5 (bsf).
2205
1c5d60f5
JW
2206 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
2207 conditional move instructions don't support signed integer
2208 comparisons.
2209
f1be41ad
NC
2210Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
2211
2212 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
2213 overlfows.
2214
2215 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
2216 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
2217 <glctr@abc.it>.
2218
0d3453df
AM
2219Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2220
2221 * except.c (expand_start_catch): Rename to start_catch_handler.
2222 (expand_end_catch): Delete function.
2223 (expand_end_all_catch): Remove catch status that expand_end_catch
2224 use to do.
2225 * except.h (expand_start_catch): Rename prototype.
2226 (expand_end_catch): Delete prototype.
2227
3398f47f
MM
2228Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
2229
2230 * invoke.texi: Add documentation for -mips4 and -mabi=*.
2231
6805ef53
KK
2232Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
2233
2234 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
2235 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
2236 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
2237
9ae4ec46
JC
2238Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
2239
2240 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
2241 as the threshold to permit splitting memory operations.
2242
624a8b3a
JL
2243Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
2244
1c5d60f5
JW
2245 * mips.c (gpr_mode): New variable.
2246 (override_options): Initialize gpr_mode.
2247 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
2248 determine size and offset of general purpose registers save slots.
2249 (save_restore_insns, mips_expand_prologue): Similarly.
2250
624a8b3a
JL
2251 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
2252 (LIBGCC2_CFLAGS): Remove -fexceptions.
2253 (LIB2FUNCS): Remove "_eh".
2254 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
2255 it with -fexceptions.
2256
2257 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
2258 * local-alloc.c (block_alloc): Avoid creating false
2259 dependencies for targets which use instruction scheduling.
2260
674576f1
RH
2261Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
2262
2263 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
2264 (ASM_FINISH_DECLARE_OBJECT): Define;
2265 * mips/elf64.h: Likewise.
2266
5dd57225 2267Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
602ad236 2268
5dd57225 2269 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
b8211569 2270
5dd57225 2271Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
ac4bac77
JL
2272
2273 * version.c: Bump for snapshot.
2274
a2f270cc
DE
2275Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
2276
2277 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
2278 (mulsidi3_ppc64): Delete.
2279
50b2596f
KG
2280Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2281
2282 * Makefile.in (varasm.o): Depend on dbxout.h.
2283 (cse.o): Depend on toplev.h and output.h.
2284 (gcse.o): Depend on output.h.
2285
2286 * mips.c: Include system.h and toplev.h and remove redundant code.
2287 Include output.h after tree.h so all its prototypes get activated.
2288 * mips.md (table_jump): Remove unused variable `dest'.
2289
2290 * sparc.h: Add prototype for `v8plus_regcmp_op'.
2291
2292 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
2293 with __attribute__ ((__unused__)).
2294 (__frame_dummy): Provide prototype before use, wrap it with
2295 EH_FRAME_SECTION_ASM_OP.
2296
2297 * cse.c: Move inclusion of <setjmp.h> above local headers.
2298 Include toplev.h and output.h.
2299
2300 * dbxout.h: Add prototype for `dbxout_begin_function'.
2301
2302 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
2303 ASM_OUTPUT_MAX_SKIP_ALIGN.
2304
2305 * gcse.c: Include system.h and output.h.
2306 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
2307 Make extern instead of static.
2308 (compute_can_copy): Only declare variables `reg' and `insn' when
2309 AVOID_CCMODE_COPIES is not defined.
2310 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
2311 (hash_scan_clobber): Likewise for `x' and `insn'.
2312 (hash_scan_call): Likewise.
2313 (record_last_set_info): Likewise for `setter'.
2314 (mark_call): Likewise for `pat'.
2315 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
2316
2317 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
2318 length parameter so that it multiplies the number of elements by
2319 the sizeof(element).
2320
2321 * output.h: Add prototype for `weak_finish'.
2322
2323 * recog.h: Likewise for `validate_replace_src'.
2324
2325 * rtl.h: Likewise for `optimize_save_area_alloca',
2326 `fix_sched_param', `purge_addressof', `gcse_main',
2327 `regmove_optimize', `dbr_schedule', `branch_prob' and
2328 `end_branch_prob'.
2329
2330 * toplev.h: Likewise for `set_float_handler' and
2331 `output_quoted_string'.
2332
2333 * varasm.c: Include dbxout.h.
2334
33d7a521
JW
2335Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
2336
2337 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
2338 GP_REG_P. Use gr_regs instead of GR_REGS.
2339
cb923660
KR
2340Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
2341 Jeff Law <law@cygnus.com>
2342
2343 * Revamped multiply support for MIPS chips.
2344 * mips.c (extend_operator): New function.
2345 (highpart_shift_operator): Likewise.
2346 * mips.h: Declare new functions.
2347 (PREDICATE_CODES): Add support for new predicates.
2348 * mips.md (mulsi3 expander): Simplify.
2349 (mulsi_mult3): Add another constraint alternative. Support
2350 3 operand multiply instructions as found on various mips
2351 parts.
2352 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
2353 (mul_acc_si): New pattern and associated splitters.
2354 (mulsidi3 expander): Rework to use mulsidi3_64bit and
2355 mulsidi3_internal.
2356 (umulsidi3): New expander.
2357 (mulsidi3_internal): Accept either sign or zero extended
2358 operands and generate code as appropriate appropriately.
2359 (mulsidi3_64bit): Similarly.
2360 (smulsi3_highpart): Turn into an expander and generate code
2361 to match new patterns.
2362 (umulsi3_highpart): Likewise.
2363 (xmulsi3_highpart_internal): New pattern.
2364 (maddi patterns): Delete. Replace with:
2365 (mul_acc_di, mul-acc_64bit_di): New patterns.
2366
a1622f83
AM
2367Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2368
2369 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
2370 flag_new_exceptions runtime flag.
2371 (struct old_exception_table): New struct which represents what
2372 the exception table looks like without the new model.
2373 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
2374 flag that this is a new style table.
2375 * except.h: Remove compile time flag NEW_EH_MODEL.
2376 (expand_builtin_eh_stub_old): New prototype.
2377 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
2378 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
2379 * c-decl.c (init_decl_processing): Add new builtin function
2380 __builtin_eh_stub_old.
2381 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
2382 * flags.h (flag_new_exceptions): New runtime flag.
2383 * toplev.c (flag_new_exceptions): Initialize default to 0,
2384 -fnew-exceptions sets to 1.
2385 * except.c (output_exception_table_entry): Output New style exception
2386 identifier into table, and replace compile time flag NEW_EH_MODEL
2387 with runtime flag flag_new_exceptions.
2388 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
2389 (expand_builtin_eh_stub_old): Duplicates original functionality of
2390 expand_builtin_eh_stub.
2391 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
2392 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
2393 (old_find_exception_handler): New func, same as find_exception_handler
2394 except it works on the old style exception table.
2395 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
2396 of identifier in the exception table, and call appropriate routines.
2397
aeb302bb
JM
2398Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
2399
2400 * function.c: Define current_function_cannot_inline.
2401 (push_function_context_to): Save it.
2402 (pop_function_context_from): Restore it.
2403 * function.h (struct function): Provide it a home.
2404 * output.h: Declare it.
2405 * integrate.c (function_cannot_inline_p): Check it.
2406
8b015896 2407Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
9a14a3ab 2408
8b015896
RH
2409 * expr.c (force_operand): Detect PIC address loads before
2410 splitting arithmetic.
2b4065a4 2411
8b015896 2412Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
209c9866
JL
2413
2414 * version.c: Bump for snapshot.
2415
79990a39
GS
2416Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
2417
2418 * tree.c (tree_class_check): Add braces to eliminate ambigious
2419 else warning.
2420 (tree_check): Likewise.
2421
49fa02d9
L
2422Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
2423
2424 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
2425 stack is the destination for conditional move insn.
2426
52267fcb
JM
2427Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
2428
2429 * tree.h (TREE_VEC_END): Cast unused value to void.
2430
2431 * i386.c (print_operand): Use %lx for long operand.
2432
2b01d264
RH
2433Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
2434
2435 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
2436
cb9e12a7
JC
2437Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
2438
2439 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
2440 conversion functions.
2441
b53beeb2
RH
2442Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
2443
2444 * toplev.c (flag_exceptions): Default to 0.
2445 (compile_file): Remove flag_exceptions == 2 hack.
2446 (main): Call lang_init_options.
2447 * tree.h: Declare it.
2448 * c-lang.c: Implement it.
2449 * objc/objc-act.c: Likewise.
2450
dfdfa60f
DE
2451Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
2452
2453 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
2454 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
2455 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
2456 (output_function_profiler): Use asm_fprintf and fputs.
2457
83e0821b
KG
2458Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2459
2460 * gencheck.c: Remove redundant stdio.h include. Add a definition
2461 of xmalloc for when we are forced to link with alloca.o.
2462
2463 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
2464 instead of `1U'.
2465
2466 * fold-const.c (constant_boolean_node): Make definition static to
2467 match the prototype.
2468
6ff0d2a0
PB
2469Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
2470
2471 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
2472 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
2473 (do_spec, input_filename, input_filename_length): Make public.
2474 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
2475 Call lang_specific_pre_link befor elinking.
2476
2db45993
JL
2477Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
2478
2479 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
2480 the insn which has the most insns dependent on it.
2481
74186471
JC
2482Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
2483
2484 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
2485
989f090c
RH
2486Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
2487
2488 * alpha.md (insxh-1): New insxl pattern for combine.
2489
b657fc39
L
2490Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
2491
2492 * i386/i386.c (output_fp_conditional_move): New function
2493 to output floating point conditional move.
2494 (output_int_conditional_move): New function to output integer
2495 conditional move.
2496
2497 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
2498 output_int_conditional_move () to output int conditional move.
2499 (movsfcc+5, movdfcc+5, movxfcc+5): Call
2500 output_fp_conditional_move () to output floating point
2501 conditional move.
2502
2503 * i386/i386.c (put_condition_code): In INT mode, check
2504 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
2505
202fe2d6
DB
2506Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
2507
2508 * dbxout.c (dbxout_type): Output arrays of bits as if
2509 they were bitstrings for Chill
2510
a260abc9
DE
2511Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
2512
2513 * tree.c (get_inner_array_type): New function.
2514 * tree.h (get_inner_array_type): Prototype.
2515 * expr.h (STACK_SAVEAREA_MODE): New macro.
2516 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
2517 STACK_SAVEAREA_MODE.
2518 (expand_builtin_longjmp): Likewise.
2519 * explow.c (emit_stack_save): Likewise.
2520 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
2521
2522 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
2523 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
2524 * rs6000/aix43.h: New file.
2525 * rs6000/t-aix43: New file.
2526 * rs6000/x-aix41: New file.
2527 * rs6000/x-aix43: New file.
2528 * configure.in (rs6000-ibm-aix*): Use them.
2529 * rs6000/powerpc.h: Delete.
2530 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
2531 * rs6000/netware.h: and here.
2532 * rs6000/win-nt.h: and here.
2533
2534 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
2535 MASK_POWERPC64.
2536 (rs6000_override_options): Ignore flag_pic for AIX.
2537 (rs6000_immed_double_const): Delete.
2538 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
2539 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
2540 (num_insns_constant): mask64_operand() is 2 insns.
2541 (logical_operand): Don't assume 32-bit CONST_INT.
2542 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
2543 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
2544 (mask_constant): HOST_WIDE_INT parameter.
2545 (non_and_cint_operand): Delete.
2546 (mask64_operand): New function.
2547 (and64_operand): New function.
2548 (function_arg_advance): DImode arguments do not need special
2549 alignment when 64-bit.
2550 (function_arg): Likewise.
2551 (setup_incoming_varargs): Reverse reg_size assignment.
2552 (print_operand): HOST_WIDE_INT second parameter.
2553 (print_operand, 'B'): New case.
2554 (print_operand, 'M'): Fix typo in lossage string.
2555 (print_operandm 'S'): New case.
2556 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
2557 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
2558 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
2559 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
2560 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
2561 (rs6000_allocate_stack_space): Use {cal|la}.
2562 (output_epilog): Use {cal|la}
2563 (output_function_profiler): Add call glue to mcount call.
2564 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
2565
2566 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
2567 (STACK_BOUNDARY): Depend on TARGET_32BIT.
2568 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
2569 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
2570 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
2571 64-bit mask operand.
2572 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
2573 (STACK_SAVEAREA_MODE): New macro.
2574 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
2575 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
2576 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
2577 (ASM_FILE_START): Emit 64-bit ABI directive.
2578 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
2579 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
2580 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
2581 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
2582
2583 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
2584 Restore define_splits.
2585 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
2586 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
2587 Do not specify base register operand mode.
2588 (floatsidf2_loadaddr): Do not specify base register operand mode.
2589 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
2590 register; do not specify mode. Remove !TARGET_POWERPC64 final
2591 constraint.
2592 (floatsidf2_load): Do not specify base register operand mode. Remove
2593 !TARGET_POWERPC64 final constraint.
2594 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
2595 base register operand mode.
2596 (adddi3): Split large constants early.
2597 (absdi3): Shift by 63, not 31.
2598 (*mulsidi3_ppc64): New pattern.
2599 (rotldi3): Add masking combiner patterns.
2600 (anddi3): Add rldic{r,l} masking. Remove split of large constants
2601 because PPC insns zero-extend.
2602 (iordi3, xordi3): Split large constants early.
2603 (movsi matcher): Remove S and T constraints.
2604 (movsf const_double): create SImode constant from TARGET_DOUBLE.
2605 (movdf_hardfloat32): Add default abort() case.
2606 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
2607 (movdi): Remove 64-bit constant generator. Try to convert
2608 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
2609 (movdi_32): Add default abort() case.
2610 (movdi_64): Add numerous ways to split 64-bit constants.
2611 Make catch-all define_split more optimal and never FAIL.
2612 (movti_ppc64): Add default abort() case.
2613 (allocate_stack): Remove operand modes. Use Pmode.
2614 (restore_stack_block): Remove operand modes. Generate Pmode
2615 temporary.
2616 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
2617 temporary. Save area is double Pmode.
2618 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
2619 (call, call_value): Do not specify address operand mode. Choose
2620 appropriate AIX ABI.
2621 (*call_local64, *ret_call_local64): New patterns.
2622 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
2623 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
2624 (compare): Materialize DImode truthvalues.
2625
ff439b5f
CB
2626Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
2627
2628 * expr.c (safe_from_p): Avoid combinatorial explosion
2629 over duplicate SAVE_EXPRs by ensuring we never recurse
2630 on one that has already been visited.
2631
7d2a46a8
GS
2632Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
2633
2634 * loop.c (check_dbra_loop): Initialise final_value before
2635 normalizing the loop.
2636
f5470689
R
2637Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2638
2639 * reload1.c (reload_reg_free_for_value_p): New arguments out and
2640 reloadnum. Changed all callers.
2641
9b91d8f4
UD
26421998-06-03 Ulrich Drepper <drepper@cygnus.com>
2643
2644 * system.h: Add _() and N_() macros in preparation for gettext.
2645
7fdc2757
AS
2646Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2647
bc516719
AS
2648 * c-common.c (check_format_info): Put back check for C9x `hh'
2649 length modifier. Warn about %n format writing into const. Remove
2650 obsolete comment.
9b91d8f4 2651 (format_char_info): Fix comments.
bc516719 2652
7fdc2757
AS
2653 * configure.in: Set float_format to m68k for all m68k targets that
2654 do not override LONG_DOUBLE_TYPE_SIZE.
2655 * config/float-m68k.h: New file.
2656
dc2a47ed
RH
2657Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
2658
2659 * jump.c (jump_optimize): Remove debug messages accidentally left in
2660 with the previous change.
2661
f0348c25
RH
2662Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
2663
2664 * expr.c (store_expr): Revert stray patch associated with
2665 1998-05-23 commit.
2666
4f4f436f
RH
2667Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
2668
2669 * jump.c (rtx_unsafe_p): New function.
2670 (jump_optimize): Use it on if/then/else transformations and
2671 conditional move transformations.
2672
df0e526f
AS
2673Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2674
2675 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
2676 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
2677 Cope with CONST being out of range for the bitfield.
2678
2638126a
BS
2679Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
2680
2681 * expr.c (emit_move_insn_1): When moving complex values in several
2682 steps, emit a CLOBBER to show the destination dies.
2683
6c8538cc
JL
2684Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
2685
ccdb9251
JL
2686 * Makefile.in (site.exp): Use the object testsuite directory as
2687 the temporary directory.
2688
6c8538cc
JL
2689 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
2690 address of an ADDRESSOF rtx.
2691
0bc02db4
MS
26921998-06-02 Mike Stump <mrs@wrs.com>
2693
2694 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
2695 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
2696 * i960.md (ret, flush_register_windows): Define.
2697 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
2698 work yet.
2699 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
2700
d46f7484
RH
2701Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
2702
2703 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
2704 around an OSF/1 library bug wrt sign-extension of inputs.
2705
e3c81d20
RH
2706Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
2707
2708 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
2709
44ec7e59 2710Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
9b91d8f4 2711
44ec7e59
CM
2712 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
2713
2714 * varasm.c (assemble_variable): Augment alignment warning.
2715
9224220f
MM
2716Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
2717
2718 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
2719 in the presence of IEEE negative 0's.
2720
726e2d54
JW
2721Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
2722
2723 * reload.c (find_reloads): Record the existing mode if
2724 operand_mode == VOIDmode before replacing a register with
2725 a constant.
2726 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
2727 i386_compare_op1 to const0_rtx for the benefit of the
2728 conditional move patterns.
2729 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
2730 based on suggestions from Jim Wilson.
2731
97f959a5
JL
2732Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
2733
2734 * version.c: Bump for snapshot.
2735
b5662334
BK
2736Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
2737
2738 * Makefile.in (fixinc.sh): Update rules again.
2739
674032e2
JL
2740Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
2741
2742 * extend.texi: Bring back reference to trampoline paper.
2743
2744Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
2745
2746 * Makefile.in (USER_H): Add stdbool.h.
2747 * ginclude/stdbool.h: New file.
2748
d3903c22
JL
2749Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
2750
c71407f9
JL
2751 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
2752 of a non-note insn.
2753
d3903c22
JL
2754 * gcse.c (pre_delete): Fix code to determine the mode of
2755 the reaching pseudo register.
2756
8376d400
BS
2757Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
2758
2759 * Makefile.in (GEN): Add gencheck
2760 (STAGESTUFF): Add tree-check.h and gencheck.
2761
71d085b0
BK
2762Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
2763
2764 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
2765 (fixinc.sh): Set some additional environment variables before
2766 calling mkfixinc.sh.
2767
f4d1453e
JL
2768Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
2769
2770 * reload.c (find_reloads): Do not force a reloads of match_operators.
9b91d8f4 2771
9f8e6243
AM
2772Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2773
2774 * except.h (remove_handler): Add new prototype.
2775 * except.c (remove_handler): New function to remove handlers
2776 from an exception region.
2777 * flow.c (find_basic_blocks_1): Remove handlers from regions when
2778 handler label is deleted; remove exception regions with no handlers.
2779
d05a5492
MM
2780Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
2781
2782 * except.h (rtx): Define rtx type correctly if needed.
2783 * function.h (rtx): Ditto.
2784 (tree): Define tree type correctly if needed.
2785
2786 * c-pragma.c (toplevel): Include rtl.h.
2787
2788 * stor-layout.c (toplevel): Move include of rtl.h before
2789 except.h.
2790
2791 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
2792 (tree.o): Add except.h dependency.
9b91d8f4 2793
ed385fd9
JL
2794Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
2795
5bc80b30
JL
2796 * reload1.c: Revert accidental checkin.
2797
ed385fd9
JL
2798 * configure.lang: Fix thinko when adding a definition for
2799 target_alias to the Makefile.
2800
00c26dc2
CM
2801Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
2802
9b91d8f4 2803 * config/sparc/lb1spc.asm (.rem and .urem): Replace
00c26dc2
CM
2804 routines.
2805
d499463f
RE
2806Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
2807
2808 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
2809 variable warnings. Don't generate scratch registers if only
2810 counting insns.
2811 (find_barrier): Eliminate unused variable SRC.
2812
62fe00be
MH
28131998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
2814
2815 * toplev.h (rtx_def): Provide global declaration to avoid
2816 `limited scope' warnings.
2817
1a4bf22f
MK
2818Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
2819
2820 * Makefile.in (gencheck.o): Use HOST_CC.
2821 * i386/t-mingw32: New file.
2822 * configure.in (i386-*-mingw32*): Use.
2823
4d818c85
RE
2824Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
2825
2826 * arm.c (bad_signed_byte_operand): New predicate function.
2827 * arm.h (PREDICATE_CODES): Add it to the list.
2828 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
2829 can't handle.
2830 (define_split): Two new splits for above insns.
2831
ad076f4e
RE
2832 * arm.c: Include toplev.h.
2833 (arm_override_options): Add parentheses around use of tune_flags.
2834 (arm_split_constant): Remove unused variable.
2835 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
2836 (output_func_prologue, arm_expand_prologue): Likewise.
2837 (arm_canonicalize_comparison): Make I unsigned; rework constants
2838 accordignly. Add missing paratheses around << operation.
2839 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
2840 clause.
2841 ({load,store}_multiple_sequence): Initialize BASE_REG.
2842 (select_dominance_cc_mode): Add DEFAULT clauses.
2843 (broken_move): Return zero if the destination is not a register.
2844 (arm_reorg): Move unused REGNO declaration into the dead code.
2845 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
2846
a1ec8ea1
JL
2847Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
2848
2849 * version.c: Bump for snapshot.
2850
c7f58590
JL
2851Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
2852
2853 * version.c: Bump for snapshot.
2854
33b019ad
DB
2855Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
2856
2857 * cpperror.c (v_cpp_message): Remove static prototype.
2858 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
2859 * cpplib.h (v_cpp_message): Add protoptype.
2860 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
2861
61819ba5
JL
2862Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
2863
2864 * version.c: Bump for snapshot.
2865
f5c57ba7
JL
2866Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
2867
2868 * version.c: Bump for snapshot.
2869
7a87758d
AS
28701998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2871
2872 * m68k.h: Declare more functions used in macros.
2873 (REG_CLASS_CONTENTS): Completely embrace initializer.
2874 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
2875 about returning no value.
2876 * cse.c (find_best_addr): Declare p and found_better only if
2877 needed.
2878 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
2879 * dwarfout.c (string_length_attribute): #if 0 away.
2880 * function.c (expand_function_end): Define varible blktramp only
2881 if needed.
2882 * jump.c (find_insert_position): Define only if !HAVE_cc0.
2883 * loop.c (combine_givs_p): Define variable tem only if needed.
2884 * real.c: Comment out unused functions eabs, eround,
2885 e{24,53,64,113}toasc and eiinfin.
2886
2887
10ad38ca
AO
2888Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
2889
2890 * Makefile.in (boostrap2-lean, bootstrap3-lean,
2891 bootstrap4-lean): New targets.
2892
57fec042
JL
2893Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
2894
2895 * warn_summary, test_summary: Moved into the contrib directory.
2896
97263b8c
MH
28971998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
2898
e7f62ad3
MH
2899 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
2900 of the Makefile.
2901 (FLOAT_H_TEST): Likewise.
2902 (ENQUIRE): Likewise.
2903 (float.h-nat): Likewise.
2904 (float.h-cross): Likewise.
2905 (enquire): Likewise.
2906 (enquire.o): Likewise.
2907 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
2908 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
2909 no-op.
2910 (FLOAT_H): Remove old float.h-nat version; move current definition
2911 to CROSS_FLOAT_H location.
2912 (all.cross): Remove comments about enquire stuff.
2913
8d45987f
MH
2914 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
2915 (rest.encap): Likewise.
e7f62ad3 2916 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
8d45987f 2917
97263b8c
MH
2918 * toplev.h (tree_node): Provide global declaration to avoid
2919 `limited scope' warnings.
2920
a8c24967
RL
2921Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
2922
2923 * test_summary: Display section breaks for each entry
2924 in a multilibbed target's output.
2925
bd070e1a
RH
29261998-05-23 Richard Henderson <rth@cygnus.com>
2927
2928 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
2929 offset's mode is not ptr_mode, convert it.
2930
697073d9
JM
29311998-05-22 Jason Merrill <jason@yorick.cygnus.com>
2932
2933 * fold-const.c (ssize_binop): New fn.
2934 * tree.h: Declare it.
2935
07704a9a
RE
2936Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
2937
9b91d8f4 2938 * genextract.c (print_path): Handle zero-length path as a special
07704a9a
RE
2939 case.
2940
911c3b7d
HPN
2941Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
2942
2943 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
2944
75197b37
BS
2945Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2946
2947 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
2948 (shorten_branches, final_scan_insn): Test value of
2949 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
2950 is defined.
2951 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
2952 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
28ec9418 2953 * arm/tcoff.h: Likewise.
75197b37
BS
2954 * i386/386bsd.h: Likewise.
2955 * i386/freebsd-elf.h: Likewise.
2956 * i386/freebsd.h: Likewise.
2957 * i386/netbsd.h: Likewise.
2958 * i386/ptx4-i.h: Likewise.
2959 * i386/sysv4.h: Likewise.
2960 * pa/pa.h: Likewise.
2961 * rs6000/linux.h: Likewise.
2962 * rs6000/rs6000.h: Likewise.
2963 * sh/sh.h: Likewise.
2964 * sparc/sp64-elf.h: Likewise.
2965 * v850/v850.h: Likewise.
2966 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
2967 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
2968
1a29f703
R
2969Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2970
2971 * regmove.c (gen_add3_insn): New function.
2972 (fixup_match_2): Use it instead of calling gen_addsi3.
2973
aee21ba9
JL
2974Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
2975
37433f49
JL
2976 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
2977
aee21ba9
JL
2978 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
2979 address.
2980
12b195d9
ML
2981Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
2982
2983 * Makefile.in (TREE_H): Add tree-check.h.
2984 (tree-check.h, gencheck): New targets.
2985 * gencheck.c: New file.
2986 * tree.c (tree_check, tree_class_check): New functions.
2987 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
2988 (TYPE_CHECK, DECL_CHECK): Define.
2989 Modify all access macros to use generated checking macros.
2990
9e423e6d
JW
2991Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
2992
2993 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
2994 * configure.in: Check for it.
2995 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
2996 * final.c (uid_align, uid_shuid, label_align): Make static.
2997 (label_align): Change type to struct label_alignment pointer.
2998 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
2999 (LABEL_TO_MAX_SKIP): Define.
3000 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
3001 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
3002 (shorten_branches): Record the maximum bytes to skip when
3003 aligning a label.
3004 (final_scan_insn): Use the maximum bytes to skip when aligning a label
3005 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
3006 * i386.h (LOOP_ALIGN_MAX_SKIP,
3007 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
3008 * i386.c (override_options): i386_align_jumps and i386_align_loops
3009 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
3010 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
3011
1cc75298
MM
30121998-05-21 Mark Mitchell <mmitchell@usa.net>
3013
3014 * cplus-dem.c (do_type): Handle volatile qualification.
9b91d8f4 3015
178ca02d
PB
3016Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
3017
3018 * function.c (init_function_start): Don't call emit_line_note if
3019 lineno is 0. (Can happen when compiling Java .class files.)
3020
cecbf6e2
R
3021Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3022
3023 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
3024 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
3025
b52ce03d
R
3026Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3027
3028 * combine.c (nonzero_bits): For paradoxical subregs, take
3029 LOAD_EXTENDED_OP into account.
3030
c8724862
DB
3031Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
3032
3033 * configure.in (extra_c_objs): add prefix.o.
3034 (extra_cxx_objs): extra objects for C++ with cpplib.
3035 * configure: Regenerate.
3036
3037 * c-tree.h: (get_directive_line): Different prototype for cpplib.
3038 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
3039
3040 * c-lex.h: (get_directive_line): Not needed here for cpplib.
3041
3042 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
3043 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
3044
3045 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
3046 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
3047
fd97443c
KG
3048Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3049
3050 * gengenrtl.c (type_from_format, accessor_from_format): Change
3051 type of parameter `c' from `char' to `int'.
3052
0e4347ce
JL
3053Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
3054
2a3edac9
JL
3055 * warn_summary, test_summary: New scripts from
3056 Kaveh Ghazi and Alexandre Oliva respectively.
3057
0e4347ce
JL
3058 * gcse.c (current_function_calls_longjmp): Declare.
3059
4e5a8d7b
JM
30601998-05-20 Jason Merrill <jason@yorick.cygnus.com>
3061
3062 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
3063
7506f491
DE
3064Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
3065 Jeff Law (law@cygnus.com)
3066
3067 * Global CSE and constant/copy propagation.
3068 * Makefile.in (OBJS): Add gcse.o
3069 (STAGESTUFF): Add *.gcse.
3070 (gcse.o): Add dependencies.
3071 (mostlyclean): Remove *.gcse and */*.gcse.
3072 * gcse.c: New file.
3073 * loop.c (loop_optimize): Move call to init_alias_analysis.
3074 * recog.c (validate_replace_src): New function.
3075 * toplev.c (gcse_dump): New global variable.
3076 (flag_gcse, gcse_time): Likewise.
3077 (compile_file): Initialize gcse_time and clean out the gcse dump
3078 file if necessary.
3079 (rest_of_compilation): Call gcse_main as requested. Dump RTL
3080 after gcse if requested.
3081 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
3082 dumps for -da.
3083 * gcc.texi: Add gcse related internal documentation.
3084 * invoke.texi: Note new command line options for gcse.
3085 * tm.texi: Document AVOID_CCMODE_COPIES.
3086 * mips.h (AVOID_CCMODE_COPIES): Define.
3087
40859b41
JL
3088Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
3089
3090 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
3091 exists.
aef1617c 3092 (stmp-fixproto): Simlarly for running fixproto.
40859b41
JL
3093 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
3094
f85c8be7
JW
3095Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
3096
3097 * config/mips/mips.c (double_memory_operand): Accept any MEM during
3098 reload when TARGET_64BIT.
3099
c7391272
JW
3100Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
3101
3102 Finish incomplete change started by Kenner.
3103 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
3104 (powerpcle-*-cygwin32): Delete xm_defines.
3105 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
3106 HAVE_STAB_H instead of NO_STAB_H.
3107 * config/xm-linux.h (NO_STAB_H): Delete.
3108 (HAVE_STAB_H): Undefine.
3109 * config/i386/xm-go32.h (NO_STAB_H): Delete.
3110
af02da67
JW
31111998-05-19 Jim Wilson <wilson@cygnus.com>
3112
3113 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
3114 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
3115
79edd21c
TV
3116Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
3117
3118 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
3119
6e684430
R
3120Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3121
3122 * reload1.c (reload_reg_free_for_value_p): New function.
3123 (allocate_reload_reg, choose_reload_regs): Use it.
3124
7ecb5d27
AM
3125Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
3126
3127 * except.c (expand_start_catch): Correct logic for when to
3128 generate a new handler label, and when to use the old one.
3129
487a6e06
KG
3130Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3131
3132 * Makefile.in (print-rtl.o): Depend on bitmap.h.
3133 (dbxout.o): Depend on toplev.h.
3134 ($(SCHED_PREFIX)sched.o): Likewise.
3135 ($(out_object_file)): Likewise for system.h and toplev.h.
3136 (cppmain.o): Depend on gansidecl.h.
3137 (cpplib.o): Likewise.
3138 (cpperror.o): Likewise.
3139 (cppexp.o): Likewise.
3140 (cpphash.o): Likewise.
3141 (cppalloc.o): Likewise.
3142 (fix-header.o): Depend on cpplib.h and cpphash.h.
3143 (scan-decls.o): Depend on gansidecl.h.
3144
3145 * basic-block.h (free_regset_vector): Add prototype.
3146
3147 * cccp.c (check_precompiled): Mark parameter `fname' with
3148 ATTRIBUTE_UNUSED.
3149 (do_assert): Likewise for `op' and `keyword'.
3150 (do_unassert): Likewise.
3151 (do_line): Likewise for `keyword'.
3152 (do_error): Likewise for `op' and `keyword'.
3153 (do_warning): Likewise.
3154 (do_ident): Likewise for `keyword'.
3155 (do_pragma): Likewise for `limit', `op' and `keyword'.
3156 (do_sccs): Likewise.
3157 (do_if): Likewise for `keyword'.
3158 (do_elif): Likewise.
3159 (do_else): Likewise.
3160 (do_endif): Likewise.
3161
3162 * collect2.c (getenv): Remove redundant prototype.
3163 (collect_exit, collect_execute, dump_file): Likewise.
3164 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
3165 (dump_prefix_list): Hide prototype and definition.
3166
3167 * sparc.c: Include toplev.h.
3168 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
3169 (symbolic_memory_operand): Likewise.
3170 (sp64_medium_pic_operand): Likewise.
3171 (data_segment_operand): Likewise.
3172 (text_segment_operand): Likewise.
3173 (splittable_symbolic_memory_operand): Likewise.
3174 (splittable_immediate_memory_operand): Likewise.
3175 (eq_or_neq): Likewise.
3176 (normal_comp_operator): Likewise.
3177 (noov_compare_op): Likewise.
3178 (v9_regcmp_op): Likewise.
3179 (v8plus_regcmp_op): Likewise.
3180 (extend_op): Likewise.
3181 (cc_arithop): Likewise.
3182 (cc_arithopn): Likewise.
3183 (small_int): Likewise.
3184 (uns_small_int): Likewise.
3185 (clobbered_register): Likewise.
3186 (legitimize_pic_address): Likewise.
3187 (delay_operand): Likewise.
3188 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
3189
3190 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
3191 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
3192
3193 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
3194
3195 * cppalloc.c: Include gansidecl.h.
3196
3197 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
3198 (cpp_file_line_for_message): Mark parameter `pfile' with
3199 ATTRIBUTE_UNUSED.
3200 (v_cpp_message): New function.
3201 (cpp_message): Use it. Also convert to variable arguments.
3202 (cpp_fatal): Likewise.
3203 (cpp_pfatal_with_name): Constify parameter `name'.
3204
3205 * cppexp.c: Move gansidecl.h before cpplib.h.
3206 * cpphash.c: Likewise.
3207 * cpphash.h (hashf, delete_macro): Add prototypes.
3208
3209 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
3210 cpplib.h. Don't include errno.h.
3211 (update_path): Add arguments to prototype.
3212 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
3213 cpp_print_containing_files): Remove redundant prototypes.
3214 (cpp_hash_cleanup, add_import, append_include_chain,
3215 make_assertion, path_include, initialize_builtins,
3216 initialize_char_syntax, finclude, validate_else, comp_def_part,
3217 lookup_import, redundant_include_p, is_system_include,
3218 read_name_map, read_filename_string, open_include_file,
3219 check_macro_name, compare_defs, compare_token_lists,
3220 eval_if_expression, change_newlines): Add prototype arguments.
3221 (hashf): Remove redundant prototype.
3222 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
3223 conditional_skip, skip_if_group): Add prototype arguments.
3224 (fdopen): Remove redundant prototype.
3225 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
3226 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
3227 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
3228 (struct directive): Add prototype arguments to function pointer
3229 member `func'.
3230 (handle_directive): Add missing arguments to call to `do_line'.
3231 (do_include): Mark parameters `unused1' and `unused2' with
3232 ATTRIBUTE_UNUSED.
3233 (do_line): Likewise for `keyword' and new parameters `unused1' and
3234 `unused2'.
3235 (do_error): Likewise for `keyword'.
3236 (do_warning): Likewise. Also add missing argument `pfile' in call
3237 to cpp_pedwarn.
3238 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
9b91d8f4 3239 ATTRIBUTE_UNUSED.
487a6e06
KG
3240 (do_ident): Likewise for `keyword', `buf' and `limit'.
3241 (do_pragma): Likewise. Also add missing arguments in call to do_once.
3242 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
9b91d8f4 3243 ATTRIBUTE_UNUSED.
487a6e06
KG
3244 (do_if): Likewise for `keyword'.
3245 (do_elif): Likewise.
3246 (eval_if_expression): Likewise for `buf' and `length'.
3247 (do_xifdef): Likewise for `unused1' and `unused2'.
3248 (do_else): Likewise for `keyword', `buf' and `limit'.
3249 (do_endif): Likewise.
3250 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
3251 (cpp_handle_options): Remove superfluous NULL argument in call to
3252 cpp_fatal.
3253 (cpp_handle_options): Likewise.
3254 (do_assert): Mark parameter `keyword', `buf' and `limit' with
3255 ATTRIBUTE_UNUSED.
3256 (do_unassert): Likewise.
3257 (cpp_print_file_and_line): Add missing argument `pfile' in call to
3258 cpp_file_line_for_message.
3259 (v_cpp_error): New function.
3260 (cpp_error): Use it. Also accept variable arguments.
3261 (v_cpp_warning): New function.
3262 (cpp_warning): Use it. Also accept variable arguments.
3263 (cpp_pedwarn): Accept variable arguments.
3264 (v_cpp_error_with_line): New function
3265 (cpp_error_with_line): Use it. Accept variable arguments.
3266 (v_cpp_warning_with_line): New function.
3267 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
3268 definition.
3269 (cpp_pedwarn_with_line): Accept variable arguments.
3270 (cpp_pedwarn_with_file_and_line): Likewise.
3271 (cpp_error_from_errno): Constify parameter `name'. Add missing
3272 argument `pfile' in call to cpp_file_line_for_message.
3273 (cpp_perror_with_name): Constify parameter `name'.
3274
3275 * cpplib.h: Define PARAMS() in terms of PROTO().
3276 (fatal): Remove redundant prototype.
3277 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
3278 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
9b91d8f4 3279 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
487a6e06
KG
3280 cpp_fatal, cpp_message, cpp_pfatal_with_name,
3281 cpp_file_line_for_message, cpp_print_containing_files): Add
3282 arguments to prototypes.
3283 (scan_decls, cpp_finish): Add prototypes.
3284
3285 * cppmain.c: Include gansidecl.h.
3286 (main): Remove unused variable `i'.
9b91d8f4 3287
487a6e06
KG
3288 * dbxout.c: Include toplev.h.
3289
3290 * demangle.h (do_tlink, collect_execute, collect_exit,
3291 collect_wait, dump_file, file_exists): Add prototype.
3292
3293 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
3294 prototype and definition.
3295 (gen_unspecified_parameters_die): Don't assign results of call to
3296 function new_die() to unused variable `parm_die'.
3297 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
3298 (dwarf2out_define): Likewise for `lineno' and `buffer'.
3299
3300 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
3301 prototype and definition.
3302 (output_die): Add prototype arguments to function pointer arg.
3303 (output_unspecified_parameters_die): Mark parameter `arg' with
3304 ATTRIBUTE_UNUSED.
3305
3306 * except.c (output_exception_table_entry): Remove unused variable
3307 `eh_entry'.
3308
3309 * except.h (expand_fixup_region_start, expand_fixup_region_end):
3310 Add prototypes.
3311
3312 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
3313
3314 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
3315
3316 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
3317 before cpplib.h, include cpphash.h, remove redundant prototype of
3318 cpp_fatal, don't define `const', add a prototype for `fatal'.
3319 (cpp_file_line_for_message): Add missing arguments `pfile'.
3320 (v_cpp_message): New function.
3321 (cpp_message): Use it.
3322 (v_fatal): New function.
3323 (fatal, cpp_fatal): Use it.
3324 (cpp_pfatal_with_name): Constify parameter `name'.
3325
3326 * flow.c (free_regset_vector): Remove redundant prototype.
3327
3328 * function.c (round_down): Wrap prototype and definition with
3329 macro ARGS_GROW_DOWNWARD.
3330 (record_insns): Wrap prototype and definition with
3331 defined (HAVE_prologue) || defined (HAVE_epilogue).
3332
3333 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
3334
3335 * gen-protos.c: Include gansidecl.h.
3336 (hashf): Don't make it static, constify parameter `name'.
3337
3338 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
3339 specifier %s in calls to function `fatal'.
3340
3341 * haifa-sched.c: Include toplev.h.
3342 (find_rgns): Remove unused variable `j'.
3343
3344 * integrate.c (note_modified_parmregs): Mark parameter `x' with
3345 ATTRIBUTE_UNUSED.
3346 (mark_stores): Likewise.
3347
3348 * jump.c (mark_modified_reg): Likewise.
3349
3350 * output.h (insn_current_reference_address): Add prototype.
3351 (eh_frame_section): Likewise.
3352
3353 * print-rtl.c: Include bitmap.h.
3354
3355 * reload1.c (reload): Wrap variables `note' and `next' in macro
3356 PRESERVE_DEATH_INFO_REGNO_P.
3357 (forget_old_reloads_1): Mark parameter `ignored' with
3358 ATTRIBUTE_UNUSED.
3359 (choose_reload_regs): Remove unused variable `in'.
3360 (reload_cse_invalidate_mem): Mark parameter `ignore' with
3361 ATTRIBUTE_UNUSED.
3362 (reload_cse_check_clobber): Likewise.
3363
3364 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
3365 (mark_elimination): Fix typo in prototype.
3366
3367 * scan-decls.c: Include gansidecl.h.
3368
3369 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
9b91d8f4 3370
c7fdfd49
JL
3371Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
3372
3373 * function.c (identify_blocks): Fix thinko when setting the
3374 block number for NOTE_INSN_BLOCK_END.
3375
53f2d033
NC
3376Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
3377
f122eb7a 3378 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
9b91d8f4 3379 ___udivsi3.
f122eb7a
NC
3380
3381 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
9b91d8f4 3382 underscores for the prefixes to the names of the maths functions.
f122eb7a 3383
53f2d033
NC
3384 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
3385 comment explaining why.
3386
ead17059
RH
3387Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
3388
3389 * tree.h (TYPE_SIZE_UNIT): New.
3390 (struct tree_type): Add size_unit member.
3391 * stor-layout.c (layout_type): Initialize it.
3392 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
3393 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
3394
069b95ce
RE
3395Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
3396
3397 * stor-layout.c (layout_record): Fix off-by-one error when checking
3398 length of the TYPE_BINFO vector.
3399
972a4adb
NC
3400Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
3401
3402 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
3403 function parameter passed in memory.
3404
76ead72b
RL
3405Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
3406
3407 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
3408 Prototypes for externally used functions in respective C files.
3409 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
3410 final.c: Include above files.
3411 * Makefile.in (toplev.o): Add dependency for above four headers.
3412 (final.o): Likewise.
3413 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
3414 respective header files.
3415
b0ccd8de
JL
3416Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
3417
7e717196
JL
3418 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
3419 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
3420 the build tree if they exist.
3421 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
3422 appropriately.
3423 (objdir): Let configure substitute value.
3424 (FLOAT_H): Let configure select a pre-built version from the
3425 config subdir.
3426 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
3427 * configure.in: Substitute for objdir.
3428
88111b26
JL
3429 * Makefile.in (build_canonical, host_canonical): Let configure
3430 substitute values for these variables.
3431 * configure.in: Substitute for build_canonical, host_canonical
3432 and target_subdir in generated Makefile.
3433
d8af60bf
JL
3434 * output.h (find_basic_blocks): Declare.
3435 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
3436
b0ccd8de
JL
3437 * Makefile.in (BISON): Use bison from the build tree if it exists.
3438 (FLEX): Similarly.
3439
88117d44
NC
3440Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
3441
3442 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
3443 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
3444 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
3445 command line arguments to see if an executable is not being
3446 created, and if so - do not append the suffix.
3447
3448 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
3449 driver macro.
3450
e5e8a8bf
JW
3451Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
3452
3453 * i386.h (ALIGN_DFmode): Delete.
3454 (CONSTANT_ALIGNMENT): Define.
3455 * varasm.c (force_const_mem): Use it.
3456
b771b6b4
RH
3457Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
3458
3459 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
3460 using it with swap_condition, not before.
3461
0211b6ab
JW
3462Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
3463
3464 * alias.c (mode_alias_check): Delete.
3465 (true_dependence, anti_dependence, output_dependence): Revert April 21
3466 change.
3467
c5991f68
KW
3468Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
3469
3fe4d12a 3470 * toplev.c (output_lang_identify): Enable prototype and definition.
c5991f68 3471
18f315a4
JL
3472Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
3473
3474 * version.c: Bump for snapshot.
3475
2a831d01
RH
3476Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
3477
3478 * alpha/osf.h (HAVE_STAMP_H): Define.
3479 * alpha.c: Use it.
3480 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
3481 * configure.in (alpha*-*-netbsd*): New.
3482 Based on patches from Paul H. Anderson <pha@pdq.com>.
3483
3484 * configure.in (alpha*-*-linux-*): Kill xm_defines.
3485 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
3486 * alpha/xm-linux.h: Remove file.
3487
620422fd
DE
3488Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
3489
3490 * dbxout.c (dbxout_parms): If mode of type of parameter living
3491 in memory doesn't match mode of DECL_RTL, make big endian correction.
3492
d2f2cb19
JW
3493Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
3494
3495 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
3496
bbc0e641
JM
3497Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
3498
3499 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
3500 * stor-layout.c (layout_record): Set it.
3501
3502Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
3503
3504 * toplev.c (rest_of_compilation): Don't defer nested functions.
3505
92834d7d
BM
3506Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
3507
3508 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
3509 to an 8-byte boundary if info_ptr->fpmem_p.
3510
829002bb
BM
3511Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
3512
3513 * loop.c (basic_induction_var): Added test preventing
3514 CCmode parameter passed to convert_modes().
3515
b24f65cd
APB
3516Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
3517
3518 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
3519 input_filename and lineno around expand_expr call. Set them to values
3520 in WFL before expand_expr call.
3521
b09293cc
BK
3522Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
3523
3524 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
3525
f628873f
MM
3526Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
3527
3528 * fold-const.c (constant_boolean_node): New function.
3529 (fold): Use it.
3530
61fb6bac
R
3531Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3532
3533 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
3534 Abort if trying to split kind 3 or 4 outside of combine.
3535
8f9661dd
JL
3536Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
3537
3538 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
3539
b22284e1
MK
3540Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
3541
3542 * objc/Make-lang.in (OBJC_O): Add missing exeext.
3543 (libobjc.a, runtime-info.h): Likewise.
3544
8a022443
JW
3545Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
3546
3547 * i386.h (DATA_ALIGNMENT): Define.
3548
aa6498c2
R
3549Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3550
3551 * reload1.c (delete_output_reload): Ignore single USE that
3552 was emitted for the pseudo use of this INSN.
3553 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
3554 remains, we can always delete OUTPUT_RELOAD_INSN.
3555
41372177
JW
3556Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
3557
3558 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
3559
ddc5654a
JL
3560Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
3561
3562 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
3563
9a0d1e1b
AM
3564Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
3565
3566 * eh-common.h: New file for basic EH data structures.
3567 * except.h: Various prototypes and structures for NEW_EH_MODEL
3568 * function.h (struct function): Add a struct eh_stack for the catch
3569 clause stack.
9b91d8f4 3570 * except.c (gen_exception_label): New function to generate an
9a0d1e1b
AM
3571 exception label.
3572 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
3573 (push_entry): New function to push an existing entry onto a stack.
9b91d8f4 3574 (receive_exception_label): New function to emit the code required
9a0d1e1b
AM
3575 at the start of all catch blocks.
3576 (struct func_eh_entry): New structure for maintaining handlers
3577 associated with EH regions.
3578 (new_eh_region_entry): New function to register an EH region.
3579 (add_new_handler): New function to register a handler with a region.
3580 (get_new_handler): Creates anew handler entry for registering.
3581 (find_func_region): New function to convert a NOTE eh region number
3582 to an Eh region index.
3583 (get_first_handler): New function to get the first handler in a region.
3584 (clear_function_eh_region): New function to release memory.
3585 (duplicate_handlers): New function to duplicate a list of handlers.
3586 (expand_eh_region_end): Create a new region entry node as well.
3587 (expand_leftover_cleanups): Call receive_exception_label() and
3588 register the cleanup as a handler to the current region.
3589 (expand_start_catch): New function to start a catch clause.
3590 (expand_end_catch): New function to end a catch clause.
3591 (expand_start_all_catch): restructure to not do the equivilent of
3592 what expand_start_catch() does now. Push the exception region being
3593 handled onto the catch stack.
3594 (output_exception_table_entry): Issue an entry for each handler
3595 associated with a region.
3596 (set_exception_lang_code): New function for setting the language code.
3597 (set_exception_version_code): New function to set the version number.
3598 (output_exception_table): Output version and language codes.
3599 (find_exception_handler_labels): Find handler labels using new scheme.
3600 (is_exception_handler_label): New function, returns 1 if label is
3601 present as a handler in some exception region.
3602 (check_exception_handler_labels): Use the new scheme.
3603 (init_eh_for_function): Initialize the catch stack.
3604 (save_eh_status): Save the catch stack.
3605 (restore_eh_status): Restore the catch stack.
3606 (scan_region): Don't remove unreferenced handler label. Flow does it.
3607 (get_reg_for_handler): New function to get the eh_context pointer
3608 passed by __throw.
3609 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
3610 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
3611 entry when processing END region rather that START region.
3612 * flow.c (find_basic_blocks_1): Find all potential handler regions
3613 now that we don't automatically know what the labels might be.
3614 Let scan_region() remove unreferenced EH BEGIN/END labels.
3615 * integrate.c (get_label_from_map): Put inlined labels onto the
3616 permanent obstack since we dont know which ones might be exception
3617 labels.
3618 (save_for_inline_copying): Make new copies of all the handlers.
3619 (expand_inline_function): Make new copies of all the handlers.
3620 * libgcc2.c: Remove local struct decls, and include eh-common.h.
9b91d8f4 3621 (find_exception_handler): With NEW_EH_MODEL the first matching
9a0d1e1b
AM
3622 region we find is the right one. Add eh_info as a new parameter.
3623 (__throw): Pass eh_info to find_exception_handler. Set handler
3624 and pass use different regs under NEW_EH_MODEL.
3625
2129b081
JW
3626Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
3627
3628 * i960.h (hard_regno_mode_ok): Changed to function from array of
3629 unsigned.
3630 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
3631 * i960.c (hard_regno_mode_ok): Changed to function from array of
3632 unsigned.
3633
029b38ff
R
3634Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3635
3636 * reload.c (remove_replacements): New function.
3637 * reload.h (remove_replacements): Declare.
3638 * reload1.c (choose_reload_regs): Disable some reloads that
3639 belong to inherited reloads.
3640
efdb3590
R
3641Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3642
9dd07f87
R
3643 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
3644
efdb3590
R
3645 * reload1.c (merge_assigned_reloads): When merging, reset
3646 reload_spill_index for the eliminated reload.
3647
5d27de7d
JL
3648Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
3649
3650 * haifa-sched.c (schedule_insns): Fix merge goof.
3651
92d4501f
JW
36521998-05-13 Jim Wilson <wilson@cygnus.com>
3653
3654 * varasm.c (make_decl_rtl): Revert April 1 change.
3655 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
3656 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
3657 Get function name from the SYMBOL_REF in the DECL_RTL, not from
3658 DECL_ASSEMBLER_NAME.
3659 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
3660 DECL_ASSEMBLER_NAME.
3661
d6cc54f6
JW
3662Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
3663
3664 * i386.c (notice_update_cc, output_float_compare): Disable
3665 TARGET_CMOVE support.
3666
6d3352d9 3667Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
0dfa1860
MM
3668 Jeff Law <law@cygnus.com>
3669
ae78d276
MM
3670 * rtlanal.c (find_reg_note): Ignore notes that are not on on
3671 insns of class 'i'.
3672 (find_regno_note): Likewise.
3673
82ce5b75
MM
3674 * Makefile.in (stor-layout.o): Depend on except.h
3675 (varasm.o, function.o): Likewise.
3676 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
3677
0dfa1860
MM
3678 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
3679 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
3680 ($(HOST_PREFIX_1)rtl.o): Likewise.
3681 ($(HOST_PREFIX_1)bitmap.o): New host object.
3682 * emit-rtl.c (toplevel): Include bitmap.h.
3683 (gen_rtx): Handle 't' and 'b' nodes.
3684 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
3685 Print block number for block begin/end notes. Print 't' type
3686 nodes as a pointer. Know that the 3rd argument of live range
3687 start/stop notes is really a range_info rtx. If type is 'b', print
3688 out argument as a bitmap.
3689 * rtl.c: Include bitmap.c.
3690 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
3691 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
3692 * rtl.def (RANGE_LIVE): New node to hold live information while we
3693 recalculate the basic blocks.
3694 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
9b91d8f4 3695 (RANGE_VAR): New node, to hold information saved in symbol node for New
0dfa1860
MM
3696 communicating live range information to the debug output functions.
3697 * rtl.h (rtunion_def): Add rttree and rtbit fields.
3698 (XBITMAP, XTREE): New accessor macros.
3699 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
3700 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
3701 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
3702 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
3703 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
3704 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
3705 (RANGE_INFO_*): Likewise.
3706 * sched.c (sched_analyze): Keep live range start/stop notes.
3707 (unlink_other_notes): Likewise.
3708 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
3709 (unlink_other_notes): Likewise.
3710 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
3711 (BLOCK_LIVE_RANGE_FLAG): Likewise.
3712 (DECL_LIVE_RANGE_RTL): Likewise.
3713 (struct tree_block): Add live_range_flag, live_range_var_flag,
3714 live_range_start and live_range_end.
3715 (struct tree_decl): Add live_range_rtl field.
3716 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
3717 (accessor_from_format): Likewise.
6d3352d9
MM
3718
3719 * haifa-sched.c (schedule_block): Make verbose output line up.
47312d84 3720 Also add a blank line in printing the individual ready lists.
6d3352d9 3721
63e76c87
KG
3722Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3723
3724 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
3725 (c-lex.o): Depend on output.h.
3726 (c-common.o): Likewise.
3727 (stmt.o): Likewise.
3728 (calls.o): Likewise.
3729 (integrate.o): Depend on toplev.h.
3730 (regclass.o): Depend on output.h.
3731 (final.o): Depend on reload.h.
3732
3733 * c-common.c: Include output.h.
3734 (check_format_info): Remove unused variable `integral_format'.
3735
3736 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
3737 `indent' with ATTRIBUTE_UNUSED.
3738 (print_lang_type): Likewise.
3739 (maybe_build_cleanup): Likewise for parameter `decl'.
3740 (copy_lang_decl): Likewise for parameter `node'.
3741
3742 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
3743 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3744 with ATTRIBUTE_UNUSED.
3745 (lookup_interface): Likewise for parameter `arg'.
3746 (is_class_name): Likewise.
3747 (maybe_objc_check_decl): Likewise for parameter `decl'.
3748 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
3749 `reflexive'.
3750 (maybe_objc_method_name): Likewise for parameter `decl'.
3751 (build_objc_string): Likewise for parameters `len' and `str'.
3752
3753 * c-lex.c: Include output.h.
3754
3755 * c-lex.h (position_after_white_space): Correct typo in prototype.
3756
3757 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
3758 c_expand_end_cond, init_iterators): Add prototypes.
3759
3760 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
3761 with ATTRIBUTE_UNUSED.
3762
3763 * calls.c: Include output.h.
3764
3765 * cccp.c (pipe_closed): Mark parameter `signo' with
3766 ATTRIBUTE_UNUSED.
3767
3768 * combine.c: Move inclusion of expr.h to after insn-config.h.
3769
3770 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
3771 as empty, rather define as ((void)0).
3772
3773 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
3774 Add parentheses around assignment used as truth value.
3775
3776 * cplus-dem.c (squangle_mop_up): Change return type to void.
3777 (internal_cplus_demangle): Remove unused parameter `options'.
3778 All callers changed.
3779 (cplus_demangle_opname): Remove function wide variable `int i' and
3780 replace with `size_t i' at each location where it is used.
3781 (cplus_demangle_opname): change type of `i' from int to size_t.
3782
3783 * cppexp.c (right_shift): Mark parameter `pfile' with
3784 ATTRIBUTE_UNUSED.
3785
3786 * cpphash.c (cpp_lookup): Likewise.
3787 (cpp_hash_cleanup): Likewise.
3788
3789 * cpplib.c (parse_name): Add a prototype and make it static.
3790 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
3791 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
3792 (macro_cleanup): Likewise for parameter `pfile'.
3793 (file_cleanup): Likewise.
3794
3795 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
3796 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
3797
3798 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
3799 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
3800
3801 * cse.c (cse_check_loop_start): Mark parameter `set' with
3802 ATTRIBUTE_UNUSED.
3803
3804 * dbxout.c (flag_minimal_debug, have_used_extensions,
3805 source_label_number): Move inside macro wrapper check against
3806 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
3807
3808 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
3809
3810 * except.h (doing_eh): Provide prototype.
3811
3812 * expr.c: Move inclusion of expr.h to after insn-config.h.
3813
3814 * final.c: Include reload.h.
3815 (shorten_branches): Cast the first argument of bzero to char *.
3816
3817 * fix-header.c (cpp_print_containing_files): Mark parameter
3818 `pfile' with ATTRIBUTE_UNUSED.
3819 (cpp_fatal): Likewise.
3820
3821 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
3822 to char *.
3823
3824 * genattrtab.c (make_length_attrs): Change the type of variable
3825 `i' from int to size_t.
3826 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
3827 (one_fn): Likewise.
9b91d8f4 3828
63e76c87
KG
3829 * genextract.c (main): When generating insn-extract.c, mark
3830 variable `junk' with ATTRIBUTE_UNUSED.
3831
3832 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
3833 argument of bzero to char*.
3834
3835 * integrate.c: Include toplev.h.
3836
3837 * libgcc2.c: Wrap `struct exception_table' and
3838 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
3839
3840 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
9b91d8f4 3841
63e76c87
KG
3842 * objc/objc-act.c: Include toplev.h.
3843 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3844 with ATTRIBUTE_UNUSED.
3845 (finish_protocol): Likewise for parameter `protocol'.
3846
3847 * output.h (declare_weak): Add prototype.
3848 (decode_reg_name): Don't wrap with TREE_CODE macro.
3849 (assemble_alias): Add prototype.
3850
3851 * regclass.c: Include output.h.
3852
3853 * reload.h (reloads_conflict): Add prototype.
3854
3855 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
3856 output_func_start_profiler): Add prototypes.
3857
3858 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
3859 ATTRIBUTE_UNUSED.
3860
3861 * scan-decls.c: Include scan.h.
3862
3863 * scan.h (recognized_function, recognized_extern): Add prototypes.
3864
3865 * stmt.c: Include output.h.
3866
3867 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
3868 (output_lang_identify): Hide prototype and definition.
3869 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
3870 (pipe_closed): Likewise.
3871
3872 * toplev.h (count_error, strip_off_ending, error_for_asm,
3873 warning_for_asm): Add prototypes.
3874
a494747c 3875Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
a494747c 3876
32e705c4
MM
3877 * toplev.c (rest_of_compilation): "Charge" final for any time
3878 doing various cleanup operations after finishing compilation
3879 of a function.
3880
9b91d8f4 3881 * flow.c (dump_flow_info): Also print number of sets and
6fc4610b
MM
3882 whether or not the pseudo is a user variable.
3883
a494747c
MM
3884 * flow.c (reg_n_max): New global variable.
3885 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
3886 Delete regno_max variable.
3887 * regs.h (REG_N_CHECK): Define.
3888 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
3889 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
3890 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
3891
21622caf
JL
3892Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
3893
3894 * acconfig.h (ENABLE_CHECKING): Undefine.
3895 * configure.in (--enable-checking): New option.
3896
d668e863
R
3897Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3898
3899 * reload1.c (merge_assigned_reloads): Can merge
3900 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
3901 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
3902
b706d7f2
JW
3903Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
3904
3905 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
3906
4117a96b
R
3907Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3908
3909 * reload1.c (gen_reload): Create REG_EQUIV notes.
3910
4d3eb414
R
3911Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3912
3913 * reload1.c (reload): Fix check for USEs to use code of pattern.
3914 (choose_reload_regs): Remove dead variable use_insn.
3915
b10c8966
JL
3916Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
3917
9b91d8f4 3918 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
b10c8966 3919
cbb13457
MM
3920Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
3921
3922 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
3923 already defined.
3924 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
3925 (insn_{unit,issue_delay}): Ditto.
3926 (blockage_range): Ditto.
3927 (actual_hazard{,_this_instance}): Ditto.
3928 (schedule_unit): Ditto.
3929 (potential_hazard): Ditto.
3930 (insn_cost): Ditto.
3931 (swap_sort): Ditto.
3932 (queue_insn): Ditto.
3933 (birthing_insn_p): Ditto.
3934 (adjust_priority): Ditto.
3935 (get_block_head_tail): Ditto.
3936 (init_rgn_data_dependences): Ditto.
3937
1478d88a
KK
3938Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
3939
3940 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
3941
a688e0b7
GK
3942Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
3943
3944 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
3945
ec350bdd
GK
3946Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
3947
3948 * config/mips/mips.md (dslot): Move after definition of "cpu"
3949 attribute. Handle r3900 case.
3950
d4ba0ead
KG
3951Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3952
3953 * system.h: Define the STRINGIFY macro here.
3954 * protoize.c: Not here.
3955 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
3956
8a198bd2
JW
3957Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
3958
9b91d8f4 3959 * varasm.c (assemble_variable): Compute the alignment of the data
8a198bd2
JW
3960 earlier so that both initialized and uninitialized variables are
3961 effected by DATA_ALIGNMENT.
3962 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
3963
eace3df1
JL
3964Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
3965
3966 * mips.c: Prototype static functions.
3967
a9e95099
JW
3968Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
3969
b1a7d591
JW
3970 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
3971 Add explanatory comments.
3972
a9e95099
JW
3973 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
3974
0f177d7c
RH
3975Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
3976
3977 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
3978
28233641
JW
3979Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
3980
3981 * varasm.c (make_decl_rtl): Disable April 1 change.
3982
e55a5ea6
RH
3983Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
3984
3985 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
3986
e83015a9
RH
3987Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
3988
3989 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
3990 * alpha.c (print_operand): Handle it.
9b91d8f4 3991 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
e83015a9
RH
3992 related define_splits. Also add peepholes for SImode reload
3993 plus sign_extend lossage.
3994
320e7c40
KG
3995Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3996
3997 * genattr.c: Include stdarg.h/varargs.h. Change function
3998 `fatal' to use variable arguments instead of faking it with
3999 integer parameters. Provide a prototype which also
4000 checks the format specifiers using ATTRIBUTE_PRINTF_1.
4001
4002 * genattrtab.c: Likewise.
4003 * gencodes.c: Likewise.
4004 * genconfig.c: Likewise.
4005 * genemit.c: Likewise.
4006 * genextract.c: Likewise.
4007 * genflags.c: Likewise.
4008 * genopinit.c: Likewise.
4009 * genpeep.c: Likewise.
4010 * genrecog.c: Likewise.
4011 * genoutput.c: Likewise. Similarly for function `error'.
4012
e9b4fabf
JL
4013Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4014
4015 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
4016 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
4017 * configure.in: Use GCC_C_VOLATILE.
4018 * system.h (volatile): Define as empty if no volatile support is
4019 available.
4020
4021Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
4022
4023 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
4024 generated fucntion.
4025
f283421d
RH
4026Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
4027
4028 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
4029 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
4030 the body of beq; additionally set the mode of the branch to CCmode for
9b91d8f4 4031 FP compares and not fast_math.
f283421d
RH
4032 (alpha_emit_conditional_move): Always use a compare insn for FP
4033 when not fast_math, as well as setting CCmode on the cmov.
4034 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
4035
4036 * machmode.h (COMPLEX_MODE_P): New macro.
4037
53c0919d
RH
4038Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
4039
4040 * haifa-sched.c (print_exp): Fix typo.
4041
23d297ab
JL
4042Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
4043
4044 * version.c: Bump for snapshot.
4045
cf879efa
MM
4046Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
4047
4048 * final.c (final_scan_insn): Call fatal_insn instead of abort if
4049 we could not split an insn when required to.
4050
5b8ae21f
MM
4051 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
4052 level insns.
4053 (peepholes): Disable peepholes that call dead_or_set_p.
4054 (movsi): Rewrite to handle addresses better after last change.
4055 Add define_split to split load of addresses in large/medium modes.
4056 (prologue): Call m32r_expand_prologue.
4057 (movsi_{push,pop}): Generators for push/pop.
4058 (movsi): Support PRE_{INC,DEC}, POST_INC.
4059 (mov{di,df}): Rewrite. Always split the insns.
4060 (movsf): Add define_split to get register load in correct mode.
4061 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
4062 (attributes): Rewrite attributes so that type indicates both the
4063 type and the length of the insn directly.
4064 (all insns): Change to use new type attributes.
4065 (debug): New attribute to convey whether -mdebug was used.
4066 (opt_space): New attribute to convey whether -Os was used.
4067 (function units): Loads are 3 cycles, not 2. Better classify all
4068 insns into short/long.
4069 (load/store/extend insns): Add separate case for load/store
4070 indirect operations without an offset.
4071 (divsi3): Division is a long operation, not short.
4072
4073 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
4074 modes > 1 word.
4075 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
4076 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
4077 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
4078 operands with PRE_{INC,DEC}, POST_INC.
4079 (FUNCTION_PROFILER): Call abort instead of doing nothing.
4080 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
4081 SImode variables.
4082 (gen_split_move_double): Declare.
4083 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
4084
4085 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
4086 emit_move_insn, build up SET's directly.
4087 (toplevel): Include system.h, not stdio.h.
4088 (move_double_src_operand): Allow any DF or DI mode constant.
4089 (gen_split_move_double): Split moves of DI or DF values into the
4090 appropriate moves, loads, or stores. Don't handle use of auto
4091 inc/dec if using dead index. Do handle overlapping moves, etc.
4092 (m32r_frame_info): Remove prologue_size field.
4093 (m32r_compute_frame_size): Don't calculate prologue size.
4094 (m32r_output_function_prologue): Change to pretty much a NOP.
4095 (m32r_expand_prologue): Expand prologue as a series of INSNs.
4096 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
4097 (m32r_print_operand_address): Ditto.
9b91d8f4 4098
d7c2e385
L
4099Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
4100
4101 * reload1.c (emit_reload_insns): When performing expensive
4102 optimizations, do not output the last reload insn if OLD is
4103 not the dest of NSN and is in the src and is clobbered by INSN.
4104
560bd19e
KG
4105Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4106
4107 * Makefile.in (genrtl.o): Depend on system.h.
4108 * gengenrtl.c (gencode): When creating genrtl.c, have it
4109 include system.h.
4110
0d33d22e
AS
4111Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4112
4113 * config/m68k/t-linux: Remove extra stuff already included in
4114 config/t-linux.
4115
dea4ae0d
MH
4116Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
4117
4118 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
4119 curses.h if it contains `typedef char bool;', as suggested by
4120 Manfred Hollstein <manfred@s-direktnet.de>.
4121
4122 * configure.in: Rename fixinc.math to fixinc.wrap.
4123
02e56202
JW
4124Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
4125
bbeb7b65
JW
4126 * gcc.c (read_specs): Handle missing blank line at end of specs file.
4127
02e56202
JW
4128 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
4129 movdfcc_1): Disable.
4130
e445171e
JW
4131Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
4132
4133 * configure.in (enable_threads): Rename to enable_threads_flag before
4134 main loop. Set enable_threads to enable_threads_flag inside main
4135 loop.
4136
a1b5a7e1
MM
4137Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
4138
4139 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
4140 multiple times.
4141
76b4b31e
KG
4142Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4143
4144 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
9b91d8f4 4145
76b4b31e
KG
4146 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
4147 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
4148 (AC_CHECK_FUNCS): Remove unused check for vprintf.
9b91d8f4 4149
76b4b31e
KG
4150 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
4151 (cccp.o): Depend on gansidecl.h.
4152 (cexp.o): Likewise.
4153
4154 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
4155 per the rest of gcc source.
4156 * cexp.y: Likewise. Include gansidecl.h and remove all code made
4157 redundant.
4158
4159 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
4160 used when vfprintf is missing.
4161 * cexp.y: Likewise.
4162 * gcc.c: Likewise.
4163 * genattrtab.c: Likewise.
4164 * mips-tfile.c: Likewise.
4165 * toplev.c: Likewise.
4166
4167 * vfprintf.c: New file.
4168 * doprint.c: New file.
4169
bebc4663
JL
4170Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
4171
4172 * config/linux.h (ASM_COMMENT_START): Remove from here,
4173 * config/linux-aout.h (ASM_COMMENT_START): and here,
4174 * config/i386/linux.h (ASM_COMMENT_START): to here,
4175 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
4176 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
4177 here as '#' too.
4178
436bf9fb
AS
4179Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4180
4181 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
9b91d8f4 4182 constant.
436bf9fb 4183
f103890b
RL
4184Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
4185
4186 * Makefile.in (dwarfout.o) Add toplev.h dependency.
4187 * dwarfout.c, i386.c: Include toplev.h
4188 * toplev.h: (pfatal_with_name) Add prototype.
4189
024b5658
JM
4190Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
4191
4192 * Makefile.in: Fix .SUFFIXES.
4193
410c3875
AM
4194Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
4195
4196 * config/linux.h (ASM_COMMENT_START): Define as "#".
4197 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
4198
7e073314
JW
4199Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
4200
71ebb3b8
JW
4201 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
4202 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
4203
a0c8e1b2
JW
4204 * toplev.c: Include toplev.h.
4205 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
4206 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
4207 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
4208 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
4209 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
4210 toplev.h dependency.
9b91d8f4 4211
1b15c5de
JW
4212 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
4213 HARD_FRAME_POINTER_REGNUM.
4214
7e073314
JW
4215 * expr.c (target_temp_slot_level): Delete duplicate definition.
4216
d06eab0d
JL
4217Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
4218
df03cab5 4219 * stmt.c (mark_seen_cases): Make it have external linkage again.
0586a4ce
JL
4220 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
4221 has been included.
df03cab5 4222
6b879bcc
JL
4223 * haifa-sched.c (print_value, case SUBREG): Fix typo.
4224
6b28fd63
JL
4225 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
4226 * i386.h (REG_CLASS_CONTENTS): Similarly.
4227
cc132865
JL
4228 * toplev.c (-fsched-max): Delete flag.
4229 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
4230 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
4231 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
4232 conditionals.
4233
4234 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
4235 inner loops which are not reducible.
4236
fd4a1ca5
JL
4237 * loop.c (regs_match_p): Fix typo in prototype.
4238
d06eab0d
JL
4239 * regmove.c (try_auto_increment): Wrap declaration inside an
4240 #ifdef AUTO_INC_DEC.
4241
31bfbf1f
MM
4242Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
4243
4244 * final.c (output_operand_lossage): Call fatal with the operand
4245 lossage message instead of calling abort.
4246
e9a780ec
KG
4247Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4248
4249 * c-common.c: Convert to using ctype macros defined in system.h.
4250 * c-lex.c: Likewise.
4251 * cccp.c: Likewise.
4252 * collect2.c: Likewise.
4253 * rs6000.c: Likewise.
4254 * cpplib.c: Likewise.
4255 * fix-header.c: Likewise.
4256 * gcc.c: Likewise.
4257 * gen-protos.c: Likewise.
4258 * pexecute.c: Likewise.
4259 * protoize.c: Likewise.
4260 * rtl.c: Likewise.
4261 * scan.c: Likewise.
4262 * stmt.c: Likewise.
4263 * tlink.c: Likewise.
9b91d8f4 4264 * toplev.c: Likewise.
e9a780ec 4265
d4c3e60e
GK
4266Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
4267
9b91d8f4 4268 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
d4c3e60e
GK
4269 Replace -gdwarf-2 with -g0.
4270
90fbb8c9
KG
4271Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4272
4273 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
4274 * mips-tdump.c: Include system.h, remove redundant headers.
4275 * mips-tfile.c: Likewise. Also, convert all ctype function calls
4276 to calls of the macro versions defined in system.h.
4277
4278 * objc/Make-lang.in (objc-act.o): Depend on system.h.
4279 * objc/objc-act.c: Include system.h, remove redundant headers.
4280
8f81384f
KG
4281Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4282
4283 * configure.in (AC_CHECK_FUNCS): Add isascii.
4284 (GCC_NEED_DECLARATIONS): Add atof.
4285
4286 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
4287 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
4288
e572c0c6
KG
4289Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4290
4291 * system.h: Wrap time.h and sys/file.h in autoconf checks.
4292 Provide default definitions for O_RDONLY and O_WRONLY here.
4293
4294 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
4295
8830da36
MM
42961998-05-06 Mark Mitchell <mmitchell@usa.net>
4297
4298 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
4299
c5ff95e6
RL
4300Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
4301
4302 * toplev.h: New file. Protypes for functions in toplev.c.
4303 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
9b91d8f4
UD
4304 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
4305 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
4306 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
4307 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
4308 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
c5ff95e6
RL
4309 varasm.c: include it.
4310
15ebe47d
JL
4311Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
4312 Jim Wilson (wilson@cygnus.com)
4313
4314 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
4315 blocks. Check for 1 successor which is the EXIT_BLOCK.
4316
4317 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
4318 unreachable loops with more than one block.
4319
dbbfa8c8
MH
4320Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
4321
4322 * fix-header.c (write_rbrac): Add "abort" to functions which need to
4323 be protected.
4324
f5963e61
JL
4325Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
4326
4327 * Check in merge from gcc2. See ChangeLog.12 for details.
4328
3d90c2b5
JW
4329Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
4330
c6a9dea8
JW
4331 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
4332 accept 'a' flag. 'S' does accept 'a' flag.
4333 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
4334 and `a' flag.
4335
3d90c2b5
JW
4336 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
4337
97b57a81
AS
4338Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4339
4340 * config/m68k/m68k.h: Declare functions from m68k.c used in
4341 macros and machine description.
4342 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
4343 long values.
4344 (ASM_OUTPUT_FLOAT): Likewise.
4345 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4346
c5c63738
JM
4347Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
4348
4349 * tree.def: Add NAMESPACE_DECL.
4350 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
4351 * dwarf2out.c (push_decl_scope): Likewise.
4352 (scope_die_for): Likewise.
4353 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
4354 how to get next context level.
4355
2e14a41b
JW
4356Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
4357
4358 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
4359 case.
4360
f78c792c
JL
4361Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
4362
8b05263d
JL
4363 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
4364
f78c792c
JL
4365 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
4366 for any insns skipped at the start of a block because they were
4367 redundant.
4368
4330b0e7
JW
4369Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
4370
4371 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
4372
b57062ca
UD
43731998-05-04 Ulrich Drepper <drepper@cygnus.com>
4374
4375 * c-common.c (format_char_info): Add new field hhlen.
4376 (print_char_table, scan_char_table, time_char_table): Initialize
4377 hhlen field appropriately.
4378 (char_format_info): Recognize hh modifier and lookup correct char
4379 table entry.
4380
06eaa86f
JW
4381Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
4382
4383 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
4384 reference if this is a store.
4385
9ed5dc54
RH
4386Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
4387
4388 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
4389
fb6d9312
RL
4390Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
4391
4392 Make UnixWare 7 bootstrap support work with final shipping product.
b57062ca 4393 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
fb6d9312
RL
4394 Pick up xm-siglist and xm-alloca.
4395 (xm_defines): Add USG so dbxout will build.
4396 * configure: Regenerate.
4397
b53beeb2 4398Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
82d6b402
RH
4399
4400 Support for official Sparc V9 ABI:
4401 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
4402 Care for flag_pcc_struct_return default.
4403 (output_move_quad): Rewrite to move by halves on v9 and in the
4404 proper direction.
4405 (move_quad_direction): New function.
4406 (output_fp_move_quad): Use it to determine the direction of copy.
4407 (function_arg_slotno): Return -1 for FP reg overflow as well.
4408 (function_arg_record_value*): New functions.
4409 (function_arg): Use them. Streamline unprototyped parameter passing.
4410 (function_arg_pass_by_reference): Pass TCmode by reference.
4411 (function_value): New function.
4412 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
4413 long long in 64-bit mode.
4414 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
4415 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
4416 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
4417 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
4418 (BASE_INCOMING_ARG_REG): Likewise.
4419 (FUNCTION_VALUE): Call function_value.
4420 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
4421 * sparc.md (movdi_sp32_v9): Disable for arch64.
4422 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
4423 (call_value_address_sp64): Remove register class constraints.
4424 (call_value_symbolic_sp64): Likewise.
4425 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
4426 v9 case to 32-bit constants.
4427 (goto_handler_and_restore_v9): Provide a version for arch64.
4428 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
4429 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
4430 (CPP_PREDEFINES): New.
4431 * sparc/sp64-elf.h: Likewise.
4432 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
4433 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
4434 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
4435
e40abc32
JL
4436Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
4437
4438 * version.c: Bump for snapshot.
4439
b60a8416
R
4440Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4441
4442 * reload.c (find_reloads): Emit USEs to mark where a pseudo
1e89ac8a 4443 is reloaded with the MEM of its stack slot.
b60a8416
R
4444 * reload1.c (cannot_omit_stores): Delete.
4445 (reload): Don't initialize it.
4446 Don't apply avoid_return_reg logic to USEs.
4447 When done, remove USEs that have a REG_EQUAL note on them.
4448 (emit_reload_insns): Handle case where we have inherited a MEM.
4d3eb414 4449 (choose_reload_regs): Likewise.
b60a8416
R
4450 (delete_output_reload): Don't use cannot_omit_stores.
4451
c1879238
JW
4452Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
4453
4454 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
4455
459b3825
MM
4456Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
4457
4458 * haifa-sched.c (print_{exp,value}): Various changes to make the
4459 debug output easier to read. Also, use only one buffer, and make
4460 sure the buffer we are passed in doesn't overflow.
4461 (safe_concat): Concatenate to a buffer without overflow.
4462
3fe4d12a 4463Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
459b3825
MM
4464
4465 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
4466 with the prototype.
b57062ca 4467
93da030f
R
4468Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4469
4470 * sched.c (new_insn_dead_notes): Check if the register was
4471 used in the original instruction.
4472 * haifa-sched.c (new_insn_dead_notes): Likewise.
4473
0c84c618
JW
4474Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
4475
4476 * dwarf2out.c (scope_die_for): If could not find proper scope,
4477 check for and handle tagged type with incorrect TYPE_CONTEXT.
4478
bf5f0e90
JC
4479Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
4480
4481 * calls.c (expand_call): Fix recognition of C++ operator new.
4482
4483 * alias.c (mode_alias_check): Disable type based alias detection.
4484
a0281dae
GK
4485Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
4486
4487 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
4488 ASM_OUTPUT_WEAK_ALIAS): Define.
4489 * config/mips/elf64.h: Same.
4490 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
4491 ASM_WEAKEN_LABEL): Removed.
4492
55666054
AS
4493Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4494
4495 * calls.c (expand_call): Bump the length limit on the specially
4496 recognized function names to 17.
4497
2cea586a
JW
4498Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
4499
f60d6248
JW
4500 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
4501 when undefining macros at the end.
4502
bf931ec8
JW
4503 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
4504 val or len has TREE_SIDE_EFFECTS set.
4505
2cea586a
JW
4506 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
4507 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
4508 (smuldi3_highpart): Call const v8plus routine.
4509 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
4510 (const_smulsi3_highpart_v8plus): New pattern.
4511 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
4512 (umulsidi3): Call const v8plus routine.
4513 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
4514 routine.
4515 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
4516 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
4517
2b7972b0
MM
4518Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
4519
4520 * m32r.c (*_oper{and|ator}): Change enum arguments and return
4521 values to int, so they can be prototyped even in files that don't
4522 include rtl.h.
4523 ({small,large}_insn_p): Ditto.
4524 (m32r_select_cc_mode): Ditto.
4525 (gen_compare): Ditto.
4526 (function_arg_partial_nregs): Ditto.
4527 (m32r_setup_incoming_varargs): Ditto.
4528 (init_reg_tables): Add prototype.
4529 (m32r_frame_info): Add prolog_size field.
4530 (m32r_compute_frame_size): Calculate the size of the prologue.
4531 (m32r_first_insn_address): Return prologue size.
4532 (m32r_output_function_prologue): Calculate frame size before
4533 printing out information. Print out the prologue size.
4534
4535 * m32r.h: Prototype all functions in m32r.c.
4536 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
4537
4538 * m32r.md (bcc functions): Cast enum's to int.
4539
4540 * m32r.c (conditional_move_operand): Silence a debug message.
4541 ({small,long}_insn): New predicates.
b57062ca 4542
2b7972b0
MM
4543 * m32r.h (TARGET_M32R): New macro.
4544 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
4545 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
4546 was selected.
4547 (ISSUE_RATE): Define as 2.
4548
4549 * m32r.md (insn_size): New attribute.
4550 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
4551 short.
4552 (m32r): New attribute.
4553
4554 * configure.in (enable_haifa): Switch m32r to Haifa by default.
4555 * configure: Regenerate.
4556
4557 (Changes from Nick Clifton <nickc@cygnus.com>)
4558 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
4559 the equivalent of a negated 'I' constraint.
4560 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
4561 optimisation to work.
4562
4563 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
4564 than 'I' since the value is negated.
4565 (peephole): Add peephole optimisation to cope with optimization of
4566 divide and subtracts of the same operands.
4567
4568 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
b57062ca 4569 * m32r.h: Ditto.
2b7972b0
MM
4570 * m32r.md: Ditto.
4571
4572 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
4573 predicates.
4574
bd55c374
MH
4575Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
4576
4577 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
4578
3a6bd8c0
NC
4579Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
4580
4581 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
4582 frame_pointer_rtx not FRAME_POINTER_REGNUM.
4583
0628fde6
JW
4584Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
4585
561cf7b1
JW
4586 * reg-stack.c: Revert last patch (Apr 20).
4587 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
4588
1688d6d2
JW
4589 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
4590
0628fde6
JW
4591 * loop.c (check_dbra_loop): New locals jump, first_compare, and
4592 compare_and_branch. Call get_condition to set first_compare.
4593 Set compare_and_branch to number of compare/branch instructions.
4594 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
4595 Replace '2' with compare_and_branch.
4596
07623417
AM
4597Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4598
4599 * cplus-dem.c (demangle_qualified): Replace missing else.
4600
97d6fd65
R
4601Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4602
4603 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
4604
3d5a0820
R
4605Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4606
4607 * sh.c (sh_expand_prologue, sh_expand_epilogue):
4608 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
4609 * sh.h (STACK_BOUNDARY): Likewise.
4610
ef41dabb
R
4611Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4612
4613 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4614
14bf4a33
MM
4615Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
4616
22c4957e
MM
4617 * system.h (abort): If abort is not defined, and neither is
4618 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
4619 reporting the line and filename of the error.
4620
4621 * .gdbinit: Add breakpoints on exit and fancy_abort.
4622
563c063f
MM
4623 * final.c (split_double): Avoid a compiler warning if
4624 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
4625
14bf4a33
MM
4626 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
4627 for calling jump_optimize.
4628
4629 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
4630 macros, rather than 0/1's.
4631
5d02ee66
RH
4632Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
4633
4634 * alpha.h (CONST_COSTS): Zero is always free.
4635 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
4636
7bf40741
AS
4637Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4638
4639 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
4640 length in the name of a virtual table.
4641
556ccd9b
RH
4642Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
4643
4644 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
4645
1206d294
JL
4646Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
4647
4648 * version.c: Bump for snapshot.
4649
4f242db3
JL
4650Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
4651
4652 * fold-const.c (fold_convert): Fix typo.
4653
de12be17
JC
4654Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
4655
4656 * alias.c (alias_invariant): New variable.
4657 (record_base_value): New argument INVARIANT.
4658 (memrefs_conflict_p): If a register has an entry in the alias_invariant
4659 array, try substituting that value for the register.
4660
4661 * rtl.h: Declare record_base_value.
4662
4663 * loop.c, unroll.c: Update callers of record_base_value.
4664
4665 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
4666 ZERO_EXTEND do not affect base values.
4667
fe81dd69
JL
4668Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
4669
fb2c5c00
JL
4670 * dbxout.c (dbxout_type): Fix typo.
4671 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
4672
fe81dd69
JL
4673 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
4674
87d1ea79
JC
4675Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
4676
4677 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
4678 if the argument is the address of a structure or array.
4679
4680 * configure.in: Enable Haifa scheduler by default for SPARC.
4681
e89d3e6f
R
4682Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4683
4684 * cse.c (cse_set_around_loop): Don't do optimization when
4685 new pseudos are created.
4686
442f4018
JL
4687Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
4688
4689 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
4690 appropriately.
4691 (dbxout_type_method_1, dbxout_type): Likewise.
4692 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
4693 (dbxout_type): Fix check for when to print a type range in
4694 octal vs decimal.
4695
7174c937
R
4696Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4697
4698 * (gen_shl_and, in case 1): Fix comparison with mask.
4699
0b812758
NC
4700Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
4701
4702 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
4703 pointer as second register in REG+REG pair.
4704
753a73c8
KG
4705Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4706
4707 * c-common.c (check_format_info): Don't check for the 'x' format
4708 character twice, instead check for 'x' and 'X'
4709
4a1991b3
MH
4710Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
4711
4712 * Makefile.in (libgcc2.ready): Add explicit dependancy from
4713 $(STMP_FIXPROTO) to ensure all necessary include files have
4714 been created and to guarantee proper parallel builds.
4715
aec373f1
R
4716Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4717
4718 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
4719 register for stdarg functions.
4720 * sh.h (current_function_varargs): Declare.
4721 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
4722
f5880dbe
JW
47231998-04-23 Jim Wilson <wilson@cygnus.com>
4724
f1f53f0b
JW
4725 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
4726 inhibit_libc is defined.
4727
f5880dbe
JW
4728 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
4729
8ade1519
JW
4730Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
4731
4732 * profile.c (tablejump_entry_p): New function.
4733 (branch_prob): Add code to recognize MIPS tablejump entry branch.
4734 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
4735
a2538ff7
NC
4736Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
4737
4738 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
4739 found, rather than at end of the loop, after the insn has been
b57062ca 4740 changed.
a2538ff7 4741
d0c42859
R
4742Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4743
4744 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
4745 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
4746
693e265f
MM
4747Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
4748
4749 * loop.c (note_addr_stored): Correct function to take 2 arguments,
4750 instead of 1.
4751
4752 * rtl.def (MATCH_INSN2): Add new matching pattern.
b57062ca 4753 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
693e265f 4754
27eef9ce
JC
4755Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
4756
4757 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
4758 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
b57062ca 4759
27eef9ce
JC
4760 * final.c (split_double): Sign extend both halves of a split CONST_INT.
4761
d972dd33
JL
4762Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
4763
4764 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
4765
5e5199e8
AM
4766Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4767
4768 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
4769 (cplus_demangle_opname): Call mop_up_squangle.
b57062ca 4770 (cplus_demangle): Initialize squangle info, then call
5e5199e8 4771 internal_cplus_demangle. (Most code moved there as well)
b57062ca 4772 (internal_cplus_demangle): New function, performs most of what use
5e5199e8
AM
4773 to be done in cplus_demangle, but is only called with this file.
4774 (squangle_mop_up): New function to clean up B and K code data.
4775 (mop_up): set pointers to NULL after freeing.
b57062ca 4776 (demangle_signature, demangle_template, demangle_class): Add
5e5199e8
AM
4777 switch elements to handle K and B codes.
4778 (demangle_prefix, gnu_special, demangle_qualified): Add
4779 code to handle K and B codes.
4780 (do_type, demangle_fund_type): Handle B and K codes.
4781 (remember_Ktype): New function to store K info.
4782 (register_Btype, remember_Btype): New functions for B codes.
4783 (forget_B_and_K_types): New function to destroy B and K info.
4784
0dacbd0e
JW
47851998-04-21 Jim Wilson <wilson@cygnus.com>
4786
4787 * stmt.c (check_seenlabel): When search for line number note for
4788 warning, handle case where there is no such note.
4789
4ceb7595
JC
4790Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
4791
4792 * genemit.c (gen_exp): Allow machine description to set mode of
4793 MATCH_OP_DUP.
4794
d09c9385
JC
4795Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
4796
4797 * alias.c (mode_alias_check): New function.
4798 (true_dependence, anti_dependence, output_dependence): Call
4799 mode_alias_check.
4800
1eeed24e
JL
4801Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
4802
d1c17572
JL
4803 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
4804 (MIPS_STACK_ALIGN): Similarly.
4805
a6d7e156
JL
4806 * c-common.c (type_for_mode): Handle TI types.
4807 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
4808 (init_decl_processing): Handle TI types.
4809 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
4810
1eeed24e
JL
4811 * mips.c (block_move_loop): Test Pmode == DImode instead of
4812 TARGET_MIPS64.
4813 (expand_block_move, save_restore_insns): Likewise.
4814 (function_prologue, mips_expand_prologue): Likewise.
4815 (mips_expand_epilogue): Likewise.
4816 * mips.h (POINTER_SIZE): Allow specific targets to override.
4817 (Pmode): Allow specific targets to override.
4818 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
4819 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
4820 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
4821 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
4822 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
4823 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
4824 * mips.md (indirect, tablejump & casesi support): Test for
4825 Pmode == DImode instead of TARGET_MIPS64.
4826 (call patterns): Likewise.
4827
d2f5ef70
KG
4828Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4829
4830 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
4831 for gen_rtx(MEM, ...).
4832
cb85a2f3
RH
4833Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
4834
4835 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
4836 to not be so gross, and to properly function with PIC.
4837
bb27e6c9
JW
4838Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
4839
99b13ed3
JW
4840 * frame.c (heapsort): Rename to frame_heapsort.
4841
bb27e6c9
JW
4842 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
4843
a9a05945
DE
4844Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
4845
4846 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
4847
dc0f0eb8
JW
4848Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
4849
4850 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
4851 operands during and after reload.
4852
95707627
R
4853Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4854
ba70e85a
JR
4855 * final.c (shorten_branches, init_insn_lengths): Move code
4856 to free label_align, uid_shuid, insn_lengths, insn_addresses
4857 and uid_align from the former function into the latter one;
4858 Add code to clear these variables.
4859 * sh.h (label_align): Remove declaration.
95707627 4860
0cd355fe
MM
4861Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
4862
763d7ce8
MM
4863 * gcc.c (lang_specific_driver): Declare prototype properly so
4864 fatal can be passed to it without error.
4865
f55b1ca8
MM
4866 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
4867 * configure: Regenerate.
4868 * config.in: Add #undef's for strchr and strrchr.
4869
4870 * protoize.c (toplevel): If we have rindex, but not strrchr, map
4871 rindex to strrchr.
4872 (file_could_be_converted): Use strrchr, not rindex since rindex is
4873 not defined on Linux systems when _POSIX_SOURCE is defined.
4874 (file_normally_convertible): Ditto.
4875 (process_aux_info_file): Ditto.
4876 (main): Ditto.
4877
0cd355fe
MM
4878 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
4879 a constant to an integer register, don't split the insns that do
4880 the simple AND and OR operations, rather just split each word, and
4881 let the normal movsi define split handle it further.
4882
a0798779
R
4883Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4884
4885 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
4886 (split_branches): Call init_insn_lengths.
4887
ced8dd8c
MM
4888Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
4889
4890 * i386.c: Include expr.h to get the change_address prototype
4891 declared.
b57062ca 4892
f37eb5cb
L
4893Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
4894
4895 * reg-stack.c (subst_asm_stack_regs): Change to return the last
4896 new insn generated by this function.
4897 (subst_stack_regs): Likewise.
4898 (convert_regs): Record the last newly generated insn and use
4899 it for change_stack () instead of INSN.
4900
49fb8382
MH
4901Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
4902
4903 * fix-header.c (enum special_file): Undefine enumerators if they
4904 are already defined by include files.
4905 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
4906 macro with '__' to not pollute user namespace.
4907
c6a754f2
RH
4908Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
4909
4910 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
4911
399cc148
JL
4912Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
4913
4914 * version.c: Bump for snapshot.
4915
84b77fba
JW
4916Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
4917
07415a17
JL
4918 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
4919
84b77fba
JW
4920 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
4921 Add missing -Dpentium* options.
4922 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
4923 instead of CPP_CPU_DEFAULT.
4924 (EXTRA_SPECS): Add entry for cpp_cpu_default.
4925
db72d7a1
DE
4926Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
4927
4928 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
4929 negative in a stackless frame.
4930 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
4931 in stackless frame size. Support 64-bit stackless frame size.
4932 Combine fpmem offset calculations and don't add total_size to
4933 offset if not pushing a stack frame.
4934
a1ecb5ca
JW
4935Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
4936
4937 * regmove.c (fixup_match_1): In three places, in flag_exceptions
4938 check, change p to q.
4939
a2a05b0a
JW
4940Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
4941
4942 * gcc.c (lang_specific_driver): Add new parm type to prototype.
4943 (added_libraries): New file scope static variable.
4944 (process_command): Initialize added_libraries. Pass it to
4945 lang_specific_driver.
4946 (main): Use added_libraries in check for no input files.
b57062ca 4947
284d86e9
JC
4948Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
4949
4950 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
4951 code generation. Use 64 bit instructions in 32 bit mode when
4952 possible. Use V9 return instruction. UltraSPARC optimizations.
4953
4954 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
4955
43be8193
JL
4956Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
4957
ea8693a4
JL
4958 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
4959 just pass zero. That will work regardless of the size of HARD_REG_SET.
4960
43be8193
JL
4961 * libgcc2.c (__floatdisf): Fix a couple typos.
4962
45df6aea
JW
4963Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
4964
4965 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
4966
6cca74ab
GM
4967Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
4968
4969 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
4970
77e6b0eb
JC
4971Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
4972
4973 * emit-rtl.c (operand_subword_force): If a register can not be
4974 accessed by words, copy it to a pseudo register.
4975
27f4cfdb
JW
4976Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
4977
4978 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
4979
f4a73984
MM
4980Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
4981
4982 * tree.h (mark_seen_cases): Delete declaration.
4983
00769100
JL
4984Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
4985
4986 * stmt.c (mark_seen_cases): Make static and add prototype.
4987
2467749d
KG
4988Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4989
4990 * frame.c: Include stdlib.h and unistd.h to possibly get various
4991 function prototypes. The fixproto script guarantees these header
4992 files exist on the target system.
4993 * libgcc2.c: Likewise.
b57062ca 4994
2467749d
KG
4995 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
4996 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
4997 function parameters.
4998 * libgcc2.c (__udiv_w_sdiv): Likewise.
4999
74c5186c
JL
5000Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
5001
ac546323
JL
5002 * varasm.c (asm_output_bss): Add prototype.
5003 (asm_output_aligned_bss): Likewise.
5004
5005 * unroll.c (verify_addresses): Add prototype.
5006
5007 * toplev.c: Add many prototypes. Too many to mention here.
5008
5009 * stmt.c (check_seenlabel): Add prototype.
5010
5011 * rtlanal.c (reg_set_p_1): Add prototype.
5012 (reg_set_last_1): Likewise.
5013
5014 * reorg.c (find_dead_or_set_registers): Add prototype.
b57062ca 5015
ac546323
JL
5016 * regmove (try_auto_increment): Add prototype.
5017
5018 * reg-stack.c (pop_stack): Add prototype.
5019
5020 * recog.c (validate_replace_rtx_1): Add prototype.
5021 (find_cosntant_term_loc): Likewise.
5022
a777ae13
JL
5023 * loop.c (regs_patch_p): Add prototype.
5024 (add_label_notes, count_nonfixed_reads): Likewise.
5025 (find_single_use_in_loop): Likewise.
5026 (express_from): Surround prototype with #ifdef.
5027 (giv_sort): Similarly.
5028
5029 * jump.c (mark_modified_reg): Add prototype.
5030
5031 * haifa-sched.c (is_prisky): Add prototype.
5032 (queue_to_ready): Likewise.
5033
5034 * genextract.c (gen_insn): Add prototype.
5035
5036 * genemit.c (max_operand_1): Add prototype.
5037 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
5038 (gen_expand, gen_explit, output_add_clobbers): Likewise.
5039 (output_init_mov_optab): Likewise.
5040
5041 * genattrtab.c (attr_hash_add_rtx): Add prototype.
5042 (attr_hash_add_string, write_length_unit_log): Likewise.
5043
5044 * genattr.c (init_range): Add prototype.
5045
5046 * combine.c (sets_function_arg_p): Add prototype.
5047
5048 * expr.c (store_constructor_field): Add prototype.
5049 (get_memory_usage_from_modifier): Likewise
5050
5051 * expmed.c (synth_mult): Add prototype.
5052 (choose_multiplier, invert_mod2n): Likewise.
5053
242c13b0
JL
5054 * except.c (push_eh_entry): Add prototype.
5055 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
5056 (call_get_eh_context, start_dynamic_cleanup): Likewise.
5057 (start_dynamic_handler, can_throw): Likewise.
5058 (output_exception_table_entry, scan_region): Likewise.
5059 (eh_regs, set_insn_eh_region): Likewise.
5060
1ad4f46b
JL
5061 * dwarfout.c (decl_class_context): Add prototype.
5062 (output_inheritance_die, type_ok_for_scope): Likewise.
5063
e822c593
JL
5064 * c-lex.c (skip_white_space_on_line): Add prototype.
5065
70fec650
JL
5066 * alias.c (record_set): Add prototype.
5067 (find_base_term, base_alias_check): Likewise.
b57062ca 5068
1ac4f799
JL
5069 * function.c (assign_outer_stack_local): Make static and add prototype.
5070
a2e68776
JL
5071 * haifa-sched.c (build_control_flow): Accept raw data as inputs
5072 instead of computing it locally. Callers changed.
5073 (find_rgns): Several new arguments. Callers changed.
5074 Generally clean up and comment better. Use dominators to
5075 identify reducible loops. Convert some flag arrays to bitmaps.
5076 Convert most of the code to work on pred/succ lists instead of
5077 an edge table. Add comments for future improvements.
5078 (schedule_insns): Allocate temporary tables for flow data, call
5079 routines to compute flow data and pass it along to children as
5080 arguments.
5081 (debug_control_flow): Delete. Use dump_bb_data instead.
5082
97b1ef1c
JL
5083 * basic-block.h (compute_dominators): Declare.
5084
74c5186c
JL
5085 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
5086 functions.
5087 * basic-block.h: Declare them.
5088
7ce55772
JW
5089Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
5090
5091 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
5092 no operands.
5093
e88caebd
APB
5094Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
5095
5096 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
5097 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
5098 node is non NULL. Cache last file name and file name identifier node.
5099
a62e870c
MM
51001998-04-15 Mark Mitchell <mmitchell@usa.net>
5101
5102 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
5103 the length of an array, not TREE_TYPE.
5104
5e89e58b
JL
5105Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
5106
5107 * flow.c (sbitmap_union_of_successors): New function.
5108 * basic-block.h (sbitmap_union_of_successors): Declare it.
5109
df6faf79
JW
5110Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
5111
5112 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
5113 Set gnu_ld to gnu_ld_flag inside main loop.
5114 (gas): Likewise.
5115
5c60e5c0
DB
5116Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
5117
5118 * toplev.c (compile_file): Call init_parse using new interface.
5119 (init_lex): Remove declaration.
5120
5121 * c-lex.c (init_parse): Now returns char* containing filename.
5122
2872409d
JL
5123Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
5124
5125 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
5126
4db83042
MM
5127Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
5128
5129 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
5130 (gen{extract,peep,opinit,output}): Ditto.
5131
5132 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
5133 global definition so print-rtl.o can be linked in.
5134 * gen{peep,recog}.c (insn_attr_name): Ditto.
5135
9aeba741
RP
5136Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
5137
5138 * fixincludes: discard empty C++ comments, as found in sys/time.h
5139 on hpux-11.0.
5140
7878eae7
AS
5141Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5142
5143 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
5144 operand.
5145
fcb7cb6c
JL
5146Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
5147
5148 * emit-rtl.c (operand_subword): Rework slightly to avoid
5149 bogus warning from previous change.
5150
47747e53
RH
5151Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
5152
5153 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
5154 Nov 8 find_replacement change. Move decls of get_unaligned_address
5155 * alpha.h: ... here.
5156
8450a694
JC
5157Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
5158
7940255d
JC
5159 * function.c (assign_parms): Initialize unsignedp before passing
5160 its pointer to promote_mode.
5161
8450a694
JC
5162 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
5163 (write_test_expr): Allow MATCH_INSN.
5164
c70afde1
PE
5165Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
5166
5167 * install.texi: Update section on warnings that can be safely ignored.
5168
cf877a42
JW
5169Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
5170
5171 * mips.md (reload_outdi): Change the scratch mode from DImode to
5172 TImode. New variable scratch, used instead of operand[2] in template.
5173 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
5174
996d9dac
MM
5175Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
5176
5177 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
5178
de2d990f
KW
5179Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
5180
5181 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
5182
d5daf098
JL
5183Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
5184
6862dfac
JL
5185 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
5186 (ASM_FINISH_DECLARE_OBJECT): Likewise.
5187
b7cb92ad
JL
5188 * Idea and part of the patch from HJ.
5189 * Makefile.in: auto-host.h renamed from auto-config.h. All references
5190 changed.
5191 (distclean): Remove auto-build.h too.
5192 * configure.in: Rename host autoconf generated file to auto-host.h.
5193 If host != build, then run autoconf to generate auto-build.h for
5194 the build machine and include it in build_xm_files.
5195 Check for wait.h and sys/wait.h.
5196
d5daf098
JL
5197 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
5198 TRULY_NOOP_TRUNCATION.
5199
7d02bbef
JM
5200Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
5201
5202 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
5203
4754172c
CM
5204Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
5205
5206 * invoke.texi (ld options) Include memset requirements
5207 for options -nodstdlib and -nodefaultlibs.
5208
bb72a084
PE
52091998-04-12 Paul Eggert <eggert@twinsun.com>
5210
5211 This change is from an idea suggested by Arthur David Olson.
5212
5213 * c-common.c (decl_attributes, record_function_format,
5214 check_format_info, init_function_format_info):
5215 Add support for strftime format checking.
5216 (enum format_type): New type.
5217 (record_function_format): Now static, and takes value of type
5218 enum format_type instead of int.
5219 (time_char_table): New constant.
5220 (struct function_format_info): format_type member renamed from is_scan.
5221 (check_format_info): Use `warning' rather than sprintf followed by
5222 `warning', to avoid mishandling `%' in warnings.
5223 Change `pedwarn' to `warning', since these warnings do not necessarily
5224 mean the program does not conform to the C Standard, as the code
5225 need not be executed.
5226
5227 * c-tree.h (record_function_format): Remove decl; no longer extern.
5228
5229 * extend.texi: Add documentation for strftime format checking.
5230
1be12a4a
JL
5231Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
5232
71922625
JL
5233 * mips/ecoffl.h: Do not include mips.h.
5234 * mips/elf.h: Likewise.
5235
1be12a4a
JL
5236 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
5237 * mips/ecoff.h: Include "mips/mips.h".
5238
9fe69077
JL
5239Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
5240
5241 * version.c: Bump for snapshot.
5242
c6a26dc4
JL
5243Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
5244
5245 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
5246 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
5247 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
5248 between loop optimization passes.
5249 * rtl.h: Updated appropriately.
5250
bbb81923
JL
5251Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
5252
5253 Reinstall this patch from Jason.
5254 * function.c (push_function_context_to): Don't call init_emit.
5255
29cb1e1f
NC
5256Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
5257
5258 * rtl.c (read_skip_spaces): Prevent infinite loops upon
5259 encountering unterminated comments.
5260
3f518020
JL
5261Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
5262
5263 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
5264 64x32 cross builds.
4b104d6e
JL
5265
5266 * configure.in: Handle --with-fast-fixincludes.
5267 (fixincludes): If --with-fast-fixincludes, then use a different
5268 fixincludes program by default.
5269 * Makefile.in (fixinc.sh): New rule.
5270
b76c90cf
L
5271Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
5272
5273 * i386.md (movqi+1): Handle invalid QI register.
5274 (movsf_push-1): Likewise.
5275
2e076ddf
NC
5276Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
5277
5278 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
5279 addresses.
5280 symbolic_memort_operand(), call32_operand(), int8_operand(),
5281 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
5282 Not used.
5283 uint16_operand(): Made static.
5284
b1d6ccb8
JL
5285Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
5286
5287 * calls.c (expand_call): Fix typo.
5288
e56e519d
DB
5289Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
5290
5291 * c-lex.c (finput): New global.
5292 (init_parse): Always included. Handle !USE_CPPLIB using
5293 code originally in compile_file.
5294 (finish_parse): Update for CPPLIB.
5295 * toplev.c (init_parse, finish_parse): Declare.
5296 (finput): Delete variable. Now in front-ends.
5297 (compile_file): Remove code which is now handled by init_parse
5298 which is unconditionally called. Similarly for finish_parse.
5299
85d7aed9
GK
5300Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
5301
5302 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
5303 ASM_WEAKEN_LABEL): Add.
5304
574badbc
RH
5305Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
5306
5307 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
5308 * configure.in (alpha-*-linux*): Use them.
5309
bf1e5319 5310Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
b57062ca 5311
bf1e5319
APB
5312 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
5313 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
5314 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
5315 (build_expr_wfl): New prototype declaration.
5316 * tree.c (build_expr_wfl): New function, to build
5317 EXPR_WITH_FILE_LOCATION nodes.
5318 (copy_node): Don't zero TREE_CHAIN if copying a
5319 EXPR_WITH_FILE_LOCATION node.
5320 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
5321 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
5322
ee5254ff
JL
5323Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
5324
62db76ee
JL
5325 * configure.in (v850): Use t-v850.
5326 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
5327
10a998b0
JL
5328 * protoize.c (creat, read, write): Do not declare.
5329
e105f02c
JL
5330 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
5331 refer to the CODE_LABEL before a dispatch table.
5332
56b2d7a7
JL
5333 * invoke.texi: Add ARC options.
5334
c74c0cff
JL
5335 * gcc.c (proces_command): Improve error message for -o with
5336 either -c or -S.
5337
2d58da15
JL
5338 * i386/x-cygwin32 (CLIB): Link in advapi32.
5339
40ef2fc5
JL
5340 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
5341 (ASM_IDENTIFY_LANGUAGE): Likewise.
5342
df89b5e7
JL
5343 * i386.md (movqi recognizer): Don't perfom byte increment into
5344 a NON_QI_REG_P.
5345
f09ff199
JL
5346 * configure.in (x86-dg-dgux): Run fixinc.dgux.
5347
df89b5e7 5348 * i370.h: Fix typo in GEN_INT changes.
f962b99f 5349
c3709629
JL
5350 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
5351 of an empty arglist in prototype.
5352
ee5254ff
JL
5353 * Makefile.in: Remove bytecode crud that crept back in after the
5354 gcc2 merge.
5355
0806342b
BK
53561998-04-08 Brendan Kehoe <brendan@cygnus.com>
5357
5358 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
5359 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
5360
6f734908
RE
5361Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
5362
5363 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5364
56c0e996
BS
5365Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
5366
5367 * c-lex.c (is_class_name): Delete declaration.
5368 (whitespace_cr): Make static and add prototype.
5369 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
5370 yylex, get_directive_line): Turn declarations into prototypes.
5371 (position_after_whitespace, check_newline, yyerror,, is_class_name,
5372 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
5373 prototypes.
5374 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
5375 prototypes.
5376 * gencodes.c (gen_insn): Add prototype.
5377 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
5378 gen_peephole): Add prototypes.
5379 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
5380 prototypes.
5381 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
5382 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
5383 genheader, gencode): Add prototypes.
5384 * genopinit.c (gen_insn): Add prototype.
5385 * genoutput.c (output_prologue, output_epilogue, scan_operands,
5386 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
5387 gen_expand, gen_split, n_occurrences): Add prototypes.
5388 * genpeep.c (gen_peephole): Add prototype.
5389 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
5390 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
5391 labels_in_range_p, count_loop_regs_set, note_addr_stored,
5392 loop_reg_used_before_p, scan_loop, replace_call_address,
5393 skip_consec_insns, libcall_benefit, ignore_some_movables,
5394 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
5395 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
5396 check_final_value, record_giv, update_giv_derive, basic_induction_var,
5397 simplify_giv_expr, general_induction_var, consec_sets_giv,
5398 check_dbra_loop, express_from, combine_givs_p, combine_givs,
5399 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
5400 last_use_this_basic_block, record_initial, update_reg_last_use,
5401 iteration_info, analyze_loop_iterations, insert_bct,
5402 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
5403 into prototypes.
5404
cc46ae8e
JL
5405Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
5406
5407 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5408
e7d075bf
KR
54091998-04-07 Ken Raeburn <raeburn@cygnus.com>
5410
5411 * config/mips/mips.c (siginfo): Deleted.
5412 (override_options): Don't install SIGINFO signal handler.
5413
668d07be
JW
5414Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
5415
5416 * loop.c (check_dbra_loop): When normalize comparison_val, add check
5417 to verify it is non-negative.
5418
cd36edbd
RH
5419Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
5420
5421 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
5422 (alpha_expand_block_clear): Likewise.
5423
e814ca97
RH
5424Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
5425
5426 * tree.h (sizetype_tab): Fix previous change for K&R.
5427
f1d9e6d2
JL
5428Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
5429
5430 * version.c: Bump for snapshot.
5431
22ec3928
RE
5432Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
5433
5434 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
5435 Add USG and POSIX to xm_defines.
5436
10da1131
BM
5437Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
5438
5439 * gcc.c: Add linker spec.
5440 (link_command_spec): Use %(linker) instead of ld.
5441 (main): If collect2 is requested as the linker, see if it exists;
5442 if not, use ld instead.
5443
5444 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
5445 (ld:) Deleted.
5446 (install-collect2): Install as collect2, not ld.
5447
5448 * configure.in(will_use_collect2): It's named collect2 now.
5449
5450 * collect2: Remove checks to see if we were invoked recursively.
5451 (collect_execute): Use _spawnvp under cygwin32.
5452
a8afd67b
JW
5453Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
5454
5455 * haifa-sched.c (build_control_flow): Set unreachable for block whose
5456 only predecessor is itself.
5457
944fc8ab
KG
5458Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5459
5460 * c-parse.in: Include system.h, and remove stuff now made redundant.
5461 * cccp.c: Likewise.
5462 * cexp.y: Likewise.
5463 * protoize.c: Likewise. Properly check for cpp stringification.
5464
5465 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
b57062ca 5466 Depend on system.h.
944fc8ab
KG
5467
5468 * objc/Make-lang.in (objc-parse.o): Likewise.
5469
3286ab57
KG
5470Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5471
5472 * gansidecl.h: Check if compiler supports __attribute__. Provide
5473 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
5474 __attribute__ when its available. Also provide definitions for
5475 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
5476 terms of ATTRIBUTE_PRINTF.
b57062ca 5477
3286ab57
KG
5478 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
5479 of __attribute__.
5480
d276f2bb
CM
5481Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
5482
5483 * combine.c (can_combine_p): Include successor in volatile test.
5484
64ad9df2
R
5485Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5486
5487 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
5488 offset_unsigned.
5489
dc544d2c
JL
5490Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
5491
5492 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
5493 in prototype and definition.
b57062ca 5494
38c413cd
JL
5495Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
5496
5497 * version.c: Bump for snapshot.
5498
59dd0a31
RH
5499Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
5500
b57062ca 5501 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
59dd0a31
RH
5502 alpha_expand_unaligned_store_words.
5503
f31fce3f
JW
5504Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
5505
5506 * i386.md (movsf_push, movsf_mem): Remove.
5507 (movsf_push): Rename from movsf_push_nomove and move in front of
5508 movsf. Use nonmemory_operand predicate and don't bother checking
5509 TARGET_MOVE.
5510 (movsf_push_memory): New pattern.
5511 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
5512 both operands refer to memory then force operand[1] into a register.
5513 (movsf_normal): Change to unnamed pattern.
5514 Likewise for movdf, movxf, and friends.
5515
27ebc03e
JL
5516Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
5517
5518 * version.c: Bump for snapshot.
5519
6ecd4e53 5520Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
98bd9f0f 5521
6ecd4e53 5522 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
98bd9f0f 5523
b57062ca 5524Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
ac08ebd0 5525
6ecd4e53 5526 * configure.in (mips-wrs-vxworks): New target.
ac08ebd0 5527
6ecd4e53 5528Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
f4a788ac 5529
f3978531
JL
5530 * expmed.c (synth_mult): The value -1, has no zeros, so it can
5531 never have the form ...011.
5532
f4a788ac
JL
5533 * version.c: Bump for snapshot.
5534
5cb6195d
RH
5535Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
5536
5537 * i386.c (asm_output_function_prefix, load_pic_register):
5538 Use ASM_GENERATE_INTERNAL_LABEL properly.
5539 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
5540 (print_operand): Ignore it.
5541 (load_pic_register): Use it for the got load call.
5542 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
5543 (prologue_get_pc_and_set_got): Likewise.
5544 * i386.h: Update print_operand docs.
5545
ce193852
RH
5546Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
5547
5548 * i386.md (ffssi, ffshi): Rewrite as define_expands.
5549 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
5550 * i386.c (notice_update_cc): Recognize unspec 5.
5551
0022a940
DMT
5552Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
5553
5554 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
5555 * alpha.c (print_operand): Handle it.
5556 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
5557 for ALPHA_TP_INSN.
5558 (fix_truncdfdi2): Likewise.
5559
896cced4
RH
5560Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
5561
5562 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
5563 of these into a single struct, with additional [us]sizetype entries.
5564 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
5565 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
5566 an array.
5567
8983c716
RH
5568Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
5569
5570 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
5571
4ed43ff8
RH
5572Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
5573
5574 * haifa-sched.c (split_block_insns): Don't supress insn splitting
5575 on subsequent passes.
5576
5577 * alpha.c (hard_fp_register_operand): New function.
5578 * alpha.h (PREDICATE_CODES): Add it.
5579 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
5580 f<-m case and accompanying define_split.
5581 (trapb): Use a unique unspec_volatile number.
5582
8e7bc3cd
RH
5583Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
5584
5585 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
5586 from gcc2 merge.
5587
e5e809f4
JL
5588Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
5589
5590 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
5591 for details.
5592
5593 * haifa-sched.c: Mirror recent changes from gcc2.
5594
516c2342
JL
5595Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
5596
e9eaed43
JL
5597 * Makefile.in (insn*.o): Depend on system.h.
5598
516c2342
JL
5599 * pa.c (output_global_address): Initialize base.
5600 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
5601
7cc34889
MS
56021998-04-03 Mike Stump <mrs@wrs.com>
5603
5604 * gthr.h: Support systems that don't have weak, but have threads.
5605 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
5606 * gthr-vxworks.h: New file.
5607 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
5608
52c18286
JW
5609Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
5610
5611 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
5612
c1ac292d
VM
56131998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
5614
5615 * ginclude/va-i960.h (va_end): Change void * to void.
5616
4cb1caaf
KG
5617Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5618
5619 * Makefile.in (choose-temp.o): Depend on system.h.
5620
5621 * choose-temp.c: Include system.h when IN_GCC.
5622
a9a2595b
JR
5623Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
5624 Richard Henderson <rth@cygnus.com>
5625
5626 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
5627 (move_replacements): New function.
5628 * reload.h: Prototype it.
b57062ca 5629
a9a2595b 5630 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
b57062ca 5631
79363e2f
RH
5632Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
5633
5634 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
5635 Run fixincludes.
5636
4901a643
RH
5637 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
5638 (gen_highpart): Likewise.
ce4d78eb
RH
5639 * final.c (alter_subreg): Allow the target to hook by-mode subreg
5640 hard register number changes.
b57062ca 5641
715f9c99
JL
5642Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
5643
4e86caed
JL
5644 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
5645 rnbitsize, rnmode and rinner.
5646 (make_range): Initialize type.
5647 (fold): Initialize arg0, arg1 and varop.
5648
5649 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
5650 and regnor.
5651 (expand_function_start): Initialize last_ptr.
5652
5653 * stor-layout.c (layout_record): Initialize desired_align.
5654 (get_best_mode): Initialize unit.
5655
5656 * tree.c (copy_node): Initialize length.
5657
aefdd5ab
JL
5658 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
5659
5660 * caller-save.c (insert_save_restore): Initialize pat, code and
5661 numregs.
5662
5663 * emit-rtl.c (push_to_sequence): Initialize top.
5664 (push_topmost_sequence): Likewise.
5665
5666 * genattrtab.c (simplify_by_exploding): Initialize defval.
5667
5668 * profile.c (branch_prob): Initialize dest.
5669
5670 * rtl.h (note_stores): Remove duplicate prototype.
5671 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
5672
5673 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
5674 strings that are not actually lengths.
5675
729da3f5
JL
5676 * genattrtab.c: Make generated file use system.h, instead of
5677 including stdio.h, etc directly.
5678 * genextract.c, genopinit.c, genoutput.c: Likewise.
5679 * genpeep.c, genrecog.c: Likewise
5680
5681 * genoutput.c (process_template): Mark operands in the generated
5682 function as potentially unused if compiling with GNU CC.
5683
2a8034f8
JL
5684 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
5685
715f9c99
JL
5686 * pa.md (reload peepholes): Remove unused variable "mode".
5687
75d3a15b
NC
5688Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
5689
5690 * config/arm/thumb.h: Add super interworking support.
5691 * config/arm/thumb.c: Add super interworking support.
5692 * config/arm/thumb.md: Add super interworking support.
75d3a15b
NC
5693 * config/arm/lib1funcs.asm: Add interworking support.
5694 * config/arm/lib1thumb.asm: Add super interworking support.
75d3a15b
NC
5695 * config/arm/t-semi: Add interworking support.
5696 * config/arm/t-thumb: Add interworking support.
75d3a15b 5697 * config/arm/README-interworking: New file.
b57062ca 5698
63959c22
JW
5699Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
5700
5701 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
5702 (MD_STARTFILE_PREFIX): Unset.
5703
c651e1e0
MM
57041998-04-01 Mark Mitchell <mmitchell@usa.net>
5705
5706 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
5707 entity in a local scope.
5708
5709 * fold-const.c (fold): Call truthvalue_conversion for values which
5710 are folded to boolean type.
5711
3a598fbe
JL
5712Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
5713
5714 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
5715 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
5716 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
5717 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
5718 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
5719 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
5720 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
5721 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
5722 * md.texi: Likewise.
5723
b5026c50
MH
5724Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
5725
5726 * fixincludes (limits.h): Fix nested comments in Motorola's
5727 limits.h and sys/limits.h.
5728
c8d86b9a
JW
5729Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
5730
1a7cb241
JW
5731 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
5732 as dest of expand_binop call.
5733
221a9f65
JW
5734 * alpha.md (extzv): Correct check for valid operand[2] values.
5735
a7ebd547
JW
5736 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
5737 branch.
5738
c8d86b9a
JW
5739 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
5740
97be8f06
SC
5741Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
5742
5743 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
5744 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
b57062ca 5745
97be8f06
SC
5746 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
5747 cygwin32 can override this to allow both unix and win32 style PATHs.
5748
5749 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
5750 style environment paths.
b57062ca 5751
b04cd507
KG
5752Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5753
5754 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
5755 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
5756 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
5757 system.h.
b57062ca 5758
b04cd507
KG
5759 * cpphash.c: Include config.h.
5760 * cppalloc.c: Include system.h. Add parameters to various
5761 function prototypes.
5762 * cpperror.c: Likewise.
5763 * cppexp.c: Likewise.
5764 * cpphash.c: Likewise.
5765 * cpplib.c: Likewise.
5766 * cppmain.c: Likewise.
5767 * fix-header.c: Likewise.
5768 * gcov.c: Likewise.
5769 * gen-protos.c: Likewise.
5770 * gengenrtl.c: Likewise.
5771 * halfpic.c: Likewise.
5772 * hash.c: Likewise.
5773 * scan-decls.c: Likewise.
5774 * scan.c: Likewise.
5775
1aa5d112
JW
5776Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
5777
5778 * README.gnat: Add lang_print_xnode definition.
5779
e18db50d
AS
5780Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5781
5782 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
5783 fmovecr on the 68060.
5784
c0d45032
JL
5785Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
5786
5787 * genemit.c (DONE): Rework so that it works in the true arm if
5788 an if-else conditional.
5789 (FAIL): Likewise.
5790
31ed227b
JL
5791Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
5792
c3670418
JL
5793 * rs6000.c: Do not include stdioh or ctype.h anymore.
5794
234042f4
JL
5795 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
5796 $(RTL_H).
5797 (stor-layout.o): Likewise.
5798 * c-typeck.c: Include rtl.h and expr.h.
5799 * stor-layout.c: Likewise.
5800
72e19470
JL
5801 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
5802 All callers changed.
5803 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
5804 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
5805 All callers changed.
5806
40c3a857
JL
5807 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
5808
c80150b7
JL
5809 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
5810
31ed227b
JL
5811 * tree.h (lang_print_xnode): Provide prototype.
5812
fe776296
JL
5813Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
5814
5815 * version.c: Bump for snapshot.
5816
f1b03ce1
JL
5817Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
5818
3ac2735b
JL
5819 * objc/sendmsg.c (__objc_block_forward): Add braces for return
5820 value if INVISIBLE_STRUCT_RETURN.
5821
f2b147f7
JL
5822 * pa.c (arith_double_operand): Fix parens.
5823
c4fa3460
JL
5824 * haifa-sched.c (print_pattern): Correct arg to sprintf.
5825
f1b03ce1
JL
5826 * Makefile.in (libgcc1.null): Make return type for __foo void.
5827
2e61a5a5
JL
5828Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
5829
ba0b8436
JL
5830 * pa.h: Add declarations for many functions defined in pa.c.
5831
67ac5957
JL
5832 * genpeep.c (main): Remove unused variable 'i' from the generated
5833 file.
5834
c38d8c5b
JL
5835 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
5836 (gen_split): Likewise.
5837 (main): Rework generated definitions of DONE and FAIL so that they
5838 no longer use gotos. Avoids warnings about unused labels.
5839
d6e6c585
JL
5840 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
5841 unused "junk" variable.
5842
2e61a5a5
JL
5843 * genattrtab.c (write_complex_function): Add a default case in
5844 generated switch statement to keep -W -Wall quiet.
5845
0b26e56d
NC
5846Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
5847
157a620e
NC
5848 * invoke.texi: Document more ARM and Thumb command line options.
5849
0b26e56d
NC
5850 * config/arm/xm-thumb.h: New file.
5851
600a4ce7
CB
5852Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
5853
5854 * stmt.c (expand_expr_stmt): Must generate code for
5855 statements within an expression (gcc's `({ ... )}')
5856 even if -fsyntax-only.
5857
4d1d8045
BS
5858Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5859 Jeffrey A Law (law@cygnus.com)
5860
5861 * basic-block.h (basic_block_computed_jump_target): Declare.
5862 * flags.h: (current_function_has_computed_jump): Declare.
5863 * flow.c: (basic_block_computed_jump_target): Define.
5864 (flow_analysis): Allocate it. Set current_function_has_computed_jump
5865 to 0.
5866 (find_basic_blocks): Set current_function_has_computed_jump and
5867 elements of basic_block_computed_jump_target to 1 as appropriate.
5868 * function.c: (current_function_has_computed_jump): Define.
5869 * global.c (global_conflicts): Don't allocate pseudos into stack regs
5870 at the start of a block that is reachable by a computed jump.
5871 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
5872 immediately.
5873 (subst_stack_regs): Undo change from Sep 4 1997.
5874 (uses_reg_or_mem): Now unused, deleted.
5875 * stupid.c (stupid_life_analysis): Compute
5876 current_function_has_computed_jump.
5877 (stupid_find_reg): Don't allocate stack regs if the function has a
5878 computed goto.
5879 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
5880 the current function has a computed jump. Use the global value
5881 instead.
5882
56f28b73
JL
5883Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
5884
5885 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
5886 (DWARF2_UNWIND_INFO): Define to zero.
5887
6ed4bb9a
MM
5888Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
5889
5890 * gcc.c (set_std_prefix): Add declaration.
5891 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
5892 suffix, and update the standard prefix prefix.c uses.
5893
5894 * prefix.c (std_prefix): New global to hold default prefix value.
5895 (get_key_value): Change to use std_prefix instead of PREFIX.
5896 (translate_name): Ditto.
5897 (update_path): Ditto.
5898 (get_key_value): Release allocated scratch storage.
5899 (set_std_prefix): New function to reset the standard prefix.
5900
1f3fa20e
R
5901Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5902
7daa142b 5903 * sh.c (find_barrier): Fix calculations for alignment increase.
1f3fa20e 5904
d8a0154e
MH
5905Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
5906
5907 * Makefile.in (stmp-fixinc): If we're actually fixing include
5908 files, copy gcc's assert.h into the fixed include dir.
5909 * fixincludes (assert.h): Avoid any attempts to fix a probably
5910 broken system specific assert.h file.
5911 * fixproto (stdlib.h): Make sure, it'll contain a definition of
5912 size_t.
5913
64d3b4ca
JL
5914Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
5915
5916 * regclass.c (reg_scan_mark_refs): Be more selective about
5917 when we mark a register with REGNO_POINTER_FLAG.
5918
e6e52be0
R
5919Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5920
5921 reload inheritance improvement:
5922 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
5923 Change meaning: index is now hard reg number.
5924 (reg_reloaded_valid, reg_reloaded_dead): New variables.
5925 (reload_spill_index): Content is now a hard reg number.
5926 (reload_as_needed): Change to fit new variable meaning.
5927 (forget_old_reloads_1, allocate_reload_reg): Likewise.
5928 (choose_reload_regs, emit_reload_insns): Likewise.
5929
812f2051
R
5930Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5931
5932 * regclass.c (record_reg_classes): '?' increases cost by two.
5933
5934 * reload.c (find_reloads): Double previous costs. Output
5935 reloads cost one unit extra.
5936
5937 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
5938 boiled down to && ! 0.
5939
5940 * reload.c (find_equiv_reg): Also consider a goal offset from the
5941 frame pointer to be constant.
5942
04d02ece
R
5943Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5944
5945 * sh.h (OPTIMIZATION_OPTIONS): Define.
5946
6f28d3e9
RH
5947Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
5948
5949 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
5950
b09fa787
JL
5951Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
5952
5953 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
5954
a16b4c9c
JW
5955Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
5956
5957 * c-common.c (check_format_info): Initialize type, is_type. New local
5958 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
5959 when pedantic if used with integral format specifier.
5960
c4d38ccb
MM
5961Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
5962
5963 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
5964 direction.
5965 (function_arg_padding): Declare.
5966
5967 * rs6000.c: Include system.h.
5968 (function_arg_padding): Change return type to int, cast enum's to
5969 int.
5970
5971 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
5972 * collect2.c (scan_prog_file): Add explicit braces to avoid
5973 ambiguous `else'.
b57062ca 5974
c4d38ccb
MM
5975 * dbxout.c (dbxout_type_fields): Add braces around empty body in
5976 an if-statement.
5977 (dbxout_type): Likewise.
b57062ca 5978
c4d38ccb
MM
5979 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
5980 `ptt_size' from int to size_t.
5981 (rs6000_file_start): Likewise for `i'.
5982 (rs6000_replace_regno): Add default case in enumeration switch.
5983 (output_epilog): Remove unused variable `i'.
5984 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
5985 and `reg2'.
b57062ca 5986
c4d38ccb
MM
5987 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
5988 initializer.
5989 (get_issue_rate, non_logical_cint_operand): Add prototype.
5990 (rs6000_output_load_toc_table): Ditto.
b57062ca 5991
c4d38ccb
MM
5992 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
5993 `else'.
b57062ca 5994
e98e406f
NC
5995Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
5996
5997 * config/arm/thumb.c: New File. Support for ARM's Thumb
b57062ca 5998 instruction set.
e98e406f
NC
5999 * config/arm/thumb.h: New File. Thumb definitions.
6000 * config/arm/thumb.md: New File. Thumb machine description.
6001 * config/arm/tcoff.h: New File. Thumb COFF support.
6002 * config/arm/t-thumb: New File. Thumb makefile fragment.
6003 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
6004
6005 * configure.in: Add Thumb-coff target.
6006 * configure: Add Thumb-coff target.
6007 * config.sub: Add Thumb-coff target.
6008
8cf619da
JW
6009Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
6010
6011 * loop.c (scan_loop): Initialize move_insn_first to zero.
6012
fe0714d3
JS
6013Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
6014
6015 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
6016 * config/i386/rtems.h: Likewise.
6017 * config/i960/rtems.h: Likewise.
6018 * config/m68k/rtems.h: Likewise.
6019 * config/mips/rtems64.h: Likewise.
6020 * config/pa/rtems.h: Likewise.
6021 * config/rs6000/rtems.h: Likewise.
6022 * config/sh/rtems.h: Likewise.
6023 * config/sparc/rtems.h: Likewise.
6024
428be702
RK
6025Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6026
6027 * pa.c (emit_move_sequence): If in reload, call find_replacement.
6028
ae8c5963
NC
6029Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
6030
2ea9a965
NC
6031 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
6032
ae8c5963
NC
6033 * collect2.c (find_a_file): Add debugging.
6034 (find_a_file): Test for win32 style absolute paths if
6035 DIR_SERPARATOR is defined.
6036 (prefix_from_string): Add debugging.
6037 (main): Test for debug command line switch at start of program
b57062ca 6038 execution.
ae8c5963 6039 (main): Use GET_ENVIRONMENT rather than getenv().
72cf6902
NC
6040 (prefix_from_env): Use GET_ENVIRONMENT.
6041
050367a3
MM
60421998-03-24 Mark Mitchell <mmitchell@usa.net>
6043
6044 * cplus-dem.c (optable): Add sizeof.
6045 (demangle_template_value_parm): New function containing code
6046 previously found in demangle_template.
b57062ca 6047 (demangle_integral_value): New function which handles complicated
050367a3
MM
6048 integral expressions.
6049 (demangle_template): Use them.
6050
0b93b64e
KG
6051Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6052
6053 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
6054 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
6055 genattrtab.o, genoutput.o): Depend on system.h.
b57062ca 6056
0b93b64e
KG
6057 * genattr.c: Include system.h. Add arguments to various function
6058 prototypes. Remove redundant prototype of read_rtx().
6059 * genattrtab.c: Likewise.
6060 * gencodes.c: Likewise.
6061 * genconfig.c: Likewise.
6062 * genemit.c: Likewise.
6063 * genextract.c: Likewise.
6064 * genflags.c: Likewise.
6065 * genopinit.c: Likewise.
6066 * genoutput.c: Likewise.
6067 * genpeep.c: Likewise.
6068 * genrecog.c: Likewise.
6069
bc289659
ML
60701998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
6071
6072 * c-lang.c (lang_print_xnode): New function.
6073 * objc/objc-act.c (lang_print_xnode): Likewise.
6074 * print-tree.c (print_node): Call it
6075
990ac8d7
L
6076Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
6077
6078 * c-parse.in: Recognize protocol qualifiers in class
6079 definitions for objc.
6080 Include "output.h".
6081 (yyerror): Remove redundant decl.
6082 (yyprint): Fix prototype.
6083
65d98182
JL
6084Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
6085
47a0b68f
JL
6086 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
6087
65d98182
JL
6088 * stmt.c (unroll_block_trees): Free block_vector if needed.
6089
3cac0a21
PDM
6090Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
6091
4b8bef1d
PDM
6092 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
6093 (zero_extendsidi2): Avoid useless copy.
6094 (iordi_zext): New pattern.
6095 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
6096 operand 2.
6097 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
6098
3cac0a21
PDM
6099 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
6100 (ashldi3): Allow constant shift count in range ]32,63].
6101 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
6102
4da05956
MM
61031998-03-22 Mark Mitchell <mmitchell@usa.net>
6104
6105 * tree.h (IS_EXPR_CODE_CLASS): New macro.
6106
545f2aab
JL
6107Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
6108
6109 * h8300.h (CONST_COSTS): Remove definition.
6110 (DEFAULT_RTX_COSTS): Define.
6111
eef15f9f
JS
6112Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
6113
6114 * config/sh/rtems.h: Switched from ELF to COFF.
6115
4bca6986
R
6116Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6117
6118 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
6119
8ca77a11
JL
6120Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
6121
6122 * version.c: Bump for snapshot.
6123
e09e14e9
NC
6124Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
6125 Geoff Noer <noer@cygnus.com>
6126
6127 * Makefile.in: Various fixes for building cygwin32 native toolchains.
6128
35d541d4
NC
6129 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
6130 * objc/Make-lang.in: Likewise.
6131
4a0cf2aa
NC
6132 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
6133
535b86ce
G
6134Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
6135
6136 * configure.in: Handle with-PACKAGE=no correctly
6137
670ee920
KG
6138Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6139
6140 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
6141 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
6142 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
6143 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
6144 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
6145 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
6146 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
6147 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
6148 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
6149 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
6150 on system.h.
6151
6152 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
6153 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
6154 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
6155 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
6156 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
6157 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
6158 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
6159 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
6160 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
6161 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
6162 xcoffout.c: Include system.h. Organize include ordering so
6163 that stdarg/varargs comes before other system headers. Remove
6164 spurious casts of functions assured of a prototype in system.h.
6165
7aa74e4c
SC
6166Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
6167
6168 * reg-stack.c (pop_stack): Define. Pops any register on the
6169 regstack and adjusts regstack.
6170 (compare_for_stack_reg): Use pop_stack.
b57062ca 6171
d005a5a4
JL
6172Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
6173
6174 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
6175 config too.
6176
ba3ad5e0
PDM
6177Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
6178
09b4ce12
PDM
6179 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
6180
ba3ad5e0
PDM
6181 * fold-const.c (fold): Replace sign-extension of a zero extended
6182 value by a single zero extension.
6183
6e1f1f93
JM
6184Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
6185
6186 * except.c (init_eh): Do nothing.
6187 (save_eh_status): Call init_eh_for_function, not init_eh.
6188 * function.c (push_function_context_to): Don't call init_emit.
6189
838b0e4e
MM
6190Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
6191
6192 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
6193 and EABI.
6194
ecb06768
KG
6195Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6196
6197 * final.c (shorten_branches): Add parentheses around +/- in
6198 operand of &.
6199
6200 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
6201
dfba7a1b
MH
6202Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
6203
6204 * regclass.c (memory_move_secondary_cost): Wrap uses of
6205 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
6206 with #ifdef tests.
6207
4faca093
MH
6208Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
6209
6210 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
6211
6212 * flow.c (life_analysis): #include <sys/types.h> to make sure
6213 size_t is defined.
6214 * cplus-dem.c (demangle_function_name): Likewise.
6215
af7da199
MH
6216Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
6217
6218 * final.c (insn_noperands): Change type to unsigned int.
6219 (final_scan_insn): Likewise for noperands;
6220 properly check operand number boundaries.
6221
10a25232
RH
6222Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
6223
6224 * alpha.md (extzv): Don't reject register operands. Fix
6225 mode of operand 1.
6226
99d1a24c
RH
6227Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
6228
6229 * dbxout.c (dbxout_function_end): Fix last change. The correct
6230 predicate is ASM_OUTPUT_SECTION_NAME.
6231
5bac82c5
JW
6232Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
6233
6234 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
6235 (ashlsi): Use match_dup 1 instead of match_operand 2.
6236
52de9b6c
RK
6237Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6238
6239 * fold-const.c (operand_equal_for_comparison_p): See if equal
6240 when nop conversions are removed.
6241
7c00d1fe
RK
6242Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6243
6244 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
6245 don't use ORIGINAL_TARGET unless REG.
6246
343665b9
R
6247Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6248
6249 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
6250
1a61c29f
JW
6251Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
6252
6253 * loop.c (struct movable): New field move_insn_first.
6254 (scan_loop): In consec sets code, set it. Clear it otherwise.
6255 (move_movables): In consec sets code, use it. Copy REG_NOTES from
6256 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
6257 out code.
6258
cbe36725
RH
6259Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
6260
6261 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
6262 is large, and the system doesn't provide atoll or atoq.
b57062ca 6263 (atoll): New.
cbe36725
RH
6264
6265 * alpha/xm-vms.h (HAVE_ATOLL): Define.
6266 Reported by Klaus Kaempf <kkaempf@progis.de>.
b57062ca 6267
081f5e7e
KG
6268Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6269
6270 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
6271 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
6272
6273 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
b57062ca 6274 test !ACCUMULATE_OUTGOING_ARGS.
081f5e7e
KG
6275
6276 * collect2.c (write_c_file_glob): Wrap function definition in
6277 macro test !LD_INIT_SWITCH.
6278
6279 * combine.c (try_combine): Wrap variables `cc_use' and
6280 `compare_mode' in macro test EXTRA_CC_MODES.
6281
6282 * cpplib.c (do_ident): Remove unused variable `len'.
6283 (skip_if_group): Remove unused variables `at_beg_of_line' and
6284 `after_ident'.
6285 (cpp_get_token): Remove unused variable `dummy'.
6286
6287 * dbxout.c (scope_labelno): Move static variable definition inside
6288 the one function scope where it is used.
6289 (dbxout_function_end): Wrap prototype and definition in
6290 macro test !NO_DBX_FUNCTION_END.
6291
6292 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
6293 in macro test !MIPS_DEBUGGING_INFO.
6294
6295 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
6296 into the scope where it is used. Wrap empty else-statement body
6297 in braces.
6298
6299 * fix-header.c: Fix typo in comment.
6300 (inf_skip_spaces): Cast results of INF_UNGET to (void).
6301 (check_protection, main): Likewise.
6302
6303 * flow.c (find_basic_blocks_1): Remove dangling comment text.
6304
6305 * function.c (contains): Wrap prototype and definition in macro
6306 test HAVE_prologue || HAVE_epilogue.
6307 (fixup_var_refs_1): Remove unused variable `width'.
6308
6309 * gen-protos.c (main): Remove unused variable `optr'.
6310
6311 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
6312
6313 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
6314 (__sjpopnthrow): Remove unused variable `jmpbuf'.
6315 (__throw): Remove unused variable `val'.
6316
6317 * protoize.c: Check for a previously existing definition before
b57062ca 6318 defining *_OK macros.
081f5e7e
KG
6319
6320 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
6321
76ce4776
R
6322Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6323
6324 * vax.h (ADDR_VEC_ALIGN): Define.
6325
e29ef920
MM
6326Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
6327
6328 * gcc.c (default_arg): Don't wander off the end of allocated
6329 memory.
6330
dbf55e53
MM
6331 (From Geoffrey Keating <geoffk@ozemail.com.au>)
6332 * rs6000.c (small_data_operand): Ensure that any address
b57062ca 6333 referenced relative to the small data area is inside the SDA.
dbf55e53 6334
883482b2 6335Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
b57062ca 6336
883482b2
JW
6337 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
6338
9ad82ff8 6339Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
a0b61d14
AM
6340
6341 * except.h (in_same_eh_region): New prototype.
6342 (free_insn_eh_region, init_insn_eh_region): New prototypes.
6343 * except.c (insn_eh_region, maximum_uid): New static variables.
6344 (set_insn_eh_region): New static function to set region numbers.
6345 (free_insn_eh_region): New function to free EH region table.
6346 (init_insn_eh_region): New function to initialize EH region table.
6347 (in_same_eh_region): New function used to determine if two rtl
6348 instructions are in the same exception region or not.
6349 * final.c (final): Initialize the table indicating which instructions
6350 belong in which exception region.
6351 * genpeep.c (main): Add "except.h" to include file list in generated
b57062ca
UD
6352 file insn-peep.c.
6353 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
6354 peepholes involving calls and unconditional branches.
a0b61d14 6355
66bd0128
JW
6356Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
6357
6358 * README.gnat: New file.
6359
1d8eaa6b
AS
6360Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6361
6362 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
6363 "recog.h" for offsettable_memref_p.
6364 (legitimize_pic_address): Remove unused variable `offset'.
6365 (notice_update_cc): Change return type to void. Add default label
6366 to switch.
6367 (standard_68881_constant_p): Remove unused variable mode.
6368 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
6369 (const_int_cost): Explicitly declare as returning int.
6370 (output_dbcc_and_branch): Change return type to void.
6371
6372 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
6373 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
6374 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
6375
60ba47b4
JL
6376Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
6377
6378 * version.c: Bump for snapshot.
6379
68137318
AS
6380Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6381
6382 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
6383 check for 'M' constraint.
6384
7a50f126
JW
6385Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
6386
6387 * cccp.c (create_definition): If pedantic, call pedwarn for macro
6388 varargs feature.
6389
57dbca5e
BS
6390Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
6391
6392 * i386.c (ix86_logical_operator): New function.
6393 (split_di): Ensure that when a MEM is split, the resulting MEMs have
6394 SImode.
6395 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
6396 to implement them.
6397
8625fab5
KG
6398Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6399 Richard Earnshaw <rearnsha@arm.com>
6400 Nick Clifton <nickc@cygnus.com>
b57062ca 6401
8625fab5 6402 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
b57062ca 6403
8625fab5 6404 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
b57062ca 6405
8625fab5
KG
6406 * cse.c (rtx_cost): Provide a default case in an enumeration
6407 switch, and call DEFAULT_RTX_COSTS if it's defined.
b57062ca 6408
6ce22dac
MH
6409Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
6410
6411 * basic-block.h (compute_preds_succs): Change return type in
6412 prototype to void.
6413 * flow.c (compute_preds_succs): Likewise in function definition.
6414
6415 * regmove.c (find_matches): Cast char used as array index to unsigned char
6416 to supress warning.
6417
9c318306
MH
6418Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
6419
6420 * i386.h (RTX_COSTS): Insert braces around nested if.
6421 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
6422 elements.
6423
6424 * gcc.c (default_compilers): Properly put brackets around array elements in
6425 initializer.
6426
6427 * getopt.c (_getopt_internal): Add explicit braces around nested if;
6428 reformatted.
6429
6430 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
6431 (record_reg_life_pat): Add explicit parens around && and || in expression.
6432 (stack_reg_life_analysis): Add parens around assignment used as expression.
6433 (convert_regs): Likewise.
6434
56c5d8bf
MH
6435Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
6436
6437 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
6438 change callers accordingly.
6439
6440 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
6441 and definition; change all callers accordingly.
6442
6443 * except.c (init_eh): Avoid assignment of unused return value of
6444 build_pointer_type; cast it to void, instead, and remove unused
6445 variable type.
6446
6447 * gcc.c (lang_specific_driver): Define prototype only #ifdef
6448 LANG_SPECIFIC_DRIVER.
6449 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
6450
6451 * genoutput.c (output_epilogue): Initialize next_name to 0.
6452
6453 * real.c (efrexp): #if 0 prototype and function definition.
6454 (eremain): Likewise.
6455 (uditoe): Likewise.
6456 (ditoe): Likewise.
6457 (etoudi): Likewise.
6458 (etodi): Likewise.
6459 (esqrt): Likewise.
6460
6461 * reload.c (push_secondary_reload): Define prototype only
6462 #ifdef HAVE_SECONDARY_RELOADS.
6463
6464 * varasm.c (assemble_static_space): Define rounded only
6465 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
6466
4fce8e83
MH
6467Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
6468
6469 * i386.md (andsi): Add default case in enumeration switch.
6470 (iorsi3): Likewise.
6471 (iorhi3): Likewise.
6472 (xorsi3): Likewise.
6473
85066503
MH
6474Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
6475
6476 * c-decl (finish_struct): Change type of min_align to unsigned.
6477
6478 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
6479 remove unused variable len.
6480
6481 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
6482 comment indicating this is proper behaviour.
6483 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
6484 reg >= 0.
6485 (based_loc_descr): Likewise.
6486
6487 * enquire.c (bitpattern): Change type of variable i to unsigned.
6488
6489 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
6490
6491 * flow.c (life_analysis): Change type of variable i to size_t;
6492 remove unused variable insn.
6493
6494 * gcc.c (translate_options): Change type of variables optlen, arglen and
6495 complen to size_t.
6496 (input_filename_length): Change type to size_t.
6497 (do_spec_1): Change type of variable bufsize to size_t.
6498 (main): Change type of variables i and j to size_t;
6499 remove subblock local definition of variable i.
6500 (lookup_compiler): Change type of second argument to size_t;
6501 change type of variable i to size_t.
6502
6503 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
b57062ca 6504
85066503
MH
6505 * genopinit.c (get_insn): Change type of variable pindex to size_t.
6506
6507 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
6508
6509 * global.c (global_alloc): Change type of variable i to size_t.
6510
6511 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
6512
6513 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
6514 (expand_end_case): Change type of variable count to size_t.
6515
6516 * toplev.c (main): Change type of variable j to size_t.
6517 (set_target_switch): Change type of variable j to size_t.
6518 (print_switch_values): Change type of variable j to size_t;
6519 remove unused variable flags.
6520
6521 * varasm.c (assemble_variable): Change type of variable align to size_t.
6522 (const_hash_rtx): Change type of variable i to size_t.
6523
6d89b990
MM
65241998-03-11 Mark Mitchell <mmitchell@usa.net>
6525
6526 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
6527 TREE_VEC if that's what it really is.
6528
01c7f350
MM
6529Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
6530
6531 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
6532 as per ISO C spec.
6533
754d1a92
TT
6534Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
6535
6536 * gthr.h: Changed the comment about return values.
6537 * gthr-solaris.h (__gthread_once): Do not use errno; return the
b57062ca 6538 error number instead of -1.
754d1a92
TT
6539 (__gthread_key_create): Any non-zero return value is an error.
6540 * libgcc2.c (eh_context_initialize): Check for non-zero return
6541 value from __gthread_once.
6542 Check that the value of get_eh_context was really changed.
6543
77008a44
R
6544Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6545
6546 * sh.h (LOOP_ALIGN): Only align when optimizing.
6547 * sh.c (find_barrier): Clear inc for CODE_LABELs.
6548 When not optimizing, calculate alignment for BARRIERs directly.
6549
a8aa4e0b
R
6550Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6551
6552 * final.c (shorten_branches): Remove conditionalizing on
6553 SHORTEN_WITH_ADJUST_INSN_LENGTH
6554 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
6555
832544bd
JL
6556Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
6557
6558 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
6559 an unconditional jump around deleted blocks.
6560
bdd3e6ab
JW
6561Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
6562
11a932c0
JW
6563 * profile.c (branch_prob): If see computed goto, call fatal instead of
6564 abort.
6565
eeb54a49 6566 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
b57062ca 6567
35011dd5
JW
6568 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
6569 Patch from Bruno Haible.
6570
bdd3e6ab
JW
6571 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
6572 (assign_parms): Set aggregate if hide_last_arg and last_named.
6573
af035616
R
6574Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6575
6576 * final.c (shorten_branches): Initialize insn_addresses.
6577
97e3c422
R
6578Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6579
6580 * sh.h (MUST_PASS_IN_STACK): Define.
6581
5e75ef4a
JL
6582Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
6583
6584 * final.c (shorten_branches): Fix minor logic error in
6585 ADDR_DIFF_VEC shortening support.
6586
99613661
JL
6587Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
6588
6589 * version.c: Bump for snapshot.
6590
8ea2b111
JL
6591Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
6592
168cbdf9
JL
6593 * haifa-sched.c (is_cfg_nonregular): Change return type to
6594 an int. No longer compute "estimated" number of edges. Use
6595 computed_jump_p instead of duplicating the code. Fixup/add
6596 some comments.
6597 (build_control_flow): Returns a value indicating an irregularity
6598 in the cfg was detected. Count the number of edges in the cfg.
6599 allocate various edge tables.
6600 (find_rgns): No longer look for unreachable blocks.
6601 (schedule_insns): Do not allocate memory for edge tables here.
6602 Free memory for edge tables before returning. Do not perform
6603 cross block scheduling if build_control_flow returns nonzero.
6604 * flow.c (compute_preds_succs): More accurately determine when
6605 a block drops in.
6606
52becdc0
JL
6607 * basic-block.h (free_basic_block_vargs): Provide prototype.
6608
8ea2b111
JL
6609 * cccp.c (main): Fix dumb mistakes in last change.
6610
33f7f353
JR
6611Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6612
6613 * rtl.h (addr_diff_vec_flags): New typedef.
6614 (union rtunion_def): New member rt_addr_diff_vec_flags.
6615 (ADDR_DIFF_VEC_FLAGS): New macro.
6616
6617 * sh.c (output_branch): Fix offset overflow problems.
6618
6619 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
6620 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
6621 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
6622 * stmt.c (expand_end_case): Supply new arguments to
6623 gen_rtx_ADDR_DIFF_VEC.
6624 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
6625 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
6626 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
6627 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
6628 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
6629 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
6630 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
6631 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
6632 * i386/freebsd.h, i386/linux.h : Likewise.
6633 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
6634 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
6635 * m68k/mot3300.h, m68k/sgs.h : Likewise.
6636 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
6637 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
6638 (CASE_VECTOR_SHORTEN_MODE): Define.
6639 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
6640 (med_branch_p, braf_branch_p): Don't declare.
6641 (mdep_reorg_phase, barrier_align): Declare.
6642 (ADJUST_INSN_LENGTH): Remove alignment handling.
6643 * sh.c (uid_align, uid_align_max): Deleted.
6644 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
6645 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
6646 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
6647 (output_far_jump): Don't use braf_branch_p.
6648 (output_branchy_insn): Don't use branch_offset.
6649 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
6650 Remove paired barrier stuff.
6651 Don't use cache_align_p.
6652 Take alignment insns into account.
6653 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
6654 the addr_diff_vec.
6655 (barrier_align, branch_dest): New function.
6656 (machine_dependent_reorg, split_branches): Remove infrastructure
6657 for branch shortening that is now provided in the backend.
6658 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
6659 (braf_branch_p, braf_cbranch_p): Likewise.
6660 (attribute length): Use new attributes.
6661 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
6662 (addr_diff_vec_adjust): Delete.
6663 (align_2): Now a define_expand.
6664 (align_log): Now length 0.
6665
170a16c7
MM
6666Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
6667
6668 * m32r.md (right): Correctly check for length == 2, not 1.
6669
688f0603
KG
6670Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6671
6672 * mips/mips.h: Prototype `machine_dependent_reorg'.
6673 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
6674
19cbe68d
JR
6675Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
6676
6677 * final.c (shorten_branches): Restore accidentally removed code.
6678
8add77ce
AS
6679Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6680
6681 * configure.in: Remove duplicate uses of AC_PROG_CC and
6682 AC_PROG_MAKE_SET.
6683
fbb5ed67
RH
6684Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
6685
6686 * configure.in (target_cpu_default2): Correct typo for alphapca56.
6687
5ece9746
JL
6688Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
6689 Doug Evans (devans@cygnus.com)
6690
6691 * haifa-sched.c (build_jmp_edges): Delete dead function.
6692 (build_control_flow): Use cfg routines from flow.c
6693 (schedule_insns): Remove debugging code accidentally checked
6694 in earlier today.
6695
6696 * basic-block.h: Add external integer list structures, typdefs,
6697 accessor macros and function declarations. Simlarly for
6698 basic block pred/succ support and simple bitmap stuff.
6699 * flow.c: Add functions for integer list, basic block pred/succ
6700 support and simple bitmap support.
6701 (compute_dominators): New function to compute dominators and
6702 post dominators.
6703 (find_basic_blocks): Split into two functions.
6704 (life_analysis): Likewise.
6705 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
6706 the life_analysis from toplev.c
6707 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
6708 life_analysis instead of flow_analysis.
6709
ac9b3c97
R
6710Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6711
6712 * jump.c (jump_optimize): Call mark_jump_label also for deleted
6713 insns.
6714 (mark_jump_label): Don't increment ref counts for deleted insns.
6715
6e92f4b6
KG
6716Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6717
6718 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
b57062ca 6719
6e92f4b6
KG
6720 * mips/mips.c: Include stdlib.h and unistd.h.
6721 (mips_asm_file_end): Add braces around empty body in an if-statement.
6722 (function_prologue): Wrap variable `fnname' in
6723 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
6724 (mips_select_rtx_section, mips_select_section): Declare as void.
b57062ca 6725
6e92f4b6
KG
6726 * mips/mips.h: Add prototypes for extern functions in mips.c.
6727 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
6728 (ENCODE_SECTION_INFO): Add braces around empty body in an
6729 if-statement.
b57062ca 6730
6e92f4b6
KG
6731 * mips/mips.md (movdi): Add parentheses around && within ||.
6732 (movsf, movdf): Likewise.
6733 (branch_zero, branch_zero_di): Add default case in
6734 enumeration switch.
b57062ca 6735
6e92f4b6 6736
9ba3994a
RH
6737Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
6738
6739 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
6740 real constants, since they can't be changed.
6741 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6742 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
6743 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6744 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6745 * alpha/vms.h (TARGET_OPEN_VMS): New.
6746 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
6747
5ec105cd
RH
6748Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
6749
6750 * reload.c (find_reloads): Always force (subreg (mem)) to be
6751 reloaded if WORD_REGISTER_OPERATIONS.
6752
ebb7b10b
RH
6753Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
6754
6755 * haifa-sched.c (free_list): Rename from free_pnd_lst.
6756 (free_pending_lists): Rename free_pnd_lst uses.
6757 (remove_dependence): Place expunged element on unused_insn_list.
6758 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
6759 gen_rtx_*_LIST and alloc_rtx to use them.
6760 (compute_block_backward_dependences): Free the reg_last_* lists.
6761
cb37ce62
JL
6762Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
6763
6764 * cccp.c (main): Avoid undefined behavior when setting pend_includes
6765 and pend_files.
6766
ce514f57
FS
6767Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6768
b57062ca 6769 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
ce514f57
FS
6770 USE_GNULIBC_1 is defined
6771 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
6772 includes the t-linux-gnulibc1 fragment
6773
89a5e42b
JW
6774Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
6775
6776 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
6777
1dd8faa8
R
6778Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6779
6780 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
6781
e2faec75
R
6782Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6783
6784 * final.c (shorten_branches): Tag the loop alignment onto the
6785 first label after NOTE_INSN_LOOP_BEG even if there is an
6786 intervening insn.
6787
de7987a6
R
6788Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6789
26024475
R
6790 * final.c (insn_current_reference_address):
6791 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
6792 proper alignment chain.
6793
de7987a6
R
6794 * final.c (max_labelno): New static variable.
6795 (final_scan_insn): Check max_labelno before outputting an
6796 alignment for a label.
de7987a6
R
6797 (shorten_branches): Remove unused variable length_align.
6798
27d8f9ea
KG
6799Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6800
6801 * sparc.c (ultrasparc_adjust_cost): Add default case in
6802 enumeration switch.
b57062ca 6803
27d8f9ea
KG
6804 * sparc.h: Add prototypes for extern functions defined in
6805 sparc.c.
6806
bd334356
NC
6807Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
6808
6809 * toplev.c: Only generate <name>.dbr file when dumping RTL if
b57062ca 6810 DEALY_SLOTS is defined.
bd334356 6811
1838fe6d
MH
6812Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
6813
6814 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
6815 in call to fill_slots_from_thread.
6816
b0021153
RH
6817Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
6818
b57062ca 6819 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
b0021153
RH
6820 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
6821
687d0ab6 6822Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
fc470718
R
6823
6824 * final.c (insn_last_address, insn_current_align, uid_align):
6825 New variables.
6826 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
6827 (insn_current_reference_address): Likewise.
6828 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
6829 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
6830 (label_to_alignment): New function.
6831 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
6832 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
6833 insn_current_reference_address instead of insn_current_address.
6834 (or_attr_value, write_length_unit_log): New functions.
6835 (main): Call write_length_unit_log.
6836 (write_const_num_delay_slots): Output extra '\n'.
6837 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
6838 replace with:
6839 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
6840 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
6841 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
6842 (LOOP_ALIGN).
6843 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
6844 (LABEL_ALIGN_AFTER_BARRIER).
6845 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
6846 * ns32k/tek6000.h: Likewise.
6847 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
6848 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
6849 ASM_OUTPUT_ALIGN_CODE.
6850
54f00917
JL
6851Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
6852
6853 * version.c: Bump for snapshot.
6854
38630f7e
JL
6855Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
6856
6857 * version.c: Bump for snapshot.
6858
ab63953e
JL
6859Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
6860
6861 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
b57062ca 6862 if condition code of jump conflicts with opposite_needed.
ab63953e
JL
6863
6864 * reorg.c (fill_slots_from_thread): Mark resources referenced in
6865 opposite_needed thread. Return delay_list even when cannot get
6866 any more delay insns from end of subroutine.
6867
6868Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
6869
6870 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
6871 All callers changed.
6872
6873Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
72dd050a
BH
6874
6875 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
6876 end_fde_sort): New functions for fast sorting of an FDE array.
6877 (fde_insert): Simplified.
6878 (add_fdes): Change argument list.
6879 (frame_init): Use the new functions.
6880
de153e82
JL
6881Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
6882
925b1f33
JL
6883 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
6884
c7271385
JL
6885 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
6886
de153e82
JL
6887 * fold-const.c (fold_range_test): Always return a value.
6888
81023100
MK
6889Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
6890
6891 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
6892 data in the text section unless READONLY_DATA_SECTION is defined.
6893
818e50a5
JL
6894Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
6895
6896 * c-parse.in (undeclared variable error): Tweak error message to
6897 be clearer.
6898
c93dc3ac
JL
6899Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
6900
6901 * version.c: Bump for snapshot.
6902
90ca38bb
MM
69031998-02-28 Mark Mitchell <mmitchell@usa.net>
6904
6905 * final.c (final_scan_insn): Undo overzealous removal of `set'.
6906
3d85c12e
KG
6907Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6908
5feca984
KG
6909 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
6910 case, add parentheses to specify the proper order of precedence in
6911 the if-statement.
b57062ca 6912
5feca984 6913
51723711
KG
6914 * c-aux-info.c: Include string.h/strings.h.
6915
6916 * pa.c: Include stdlib.h.
6917 (pa_combine_instructions): Prototype the function.
6918 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
6919 (reloc_needed): Add default case for enumeration switch.
6920 (remove_useless_addtr_insns): Remove unused variable `all'.
6921 (hppa_expand_prologue): Add explicit braces to avoid
6922 ambiguous `else'.
6923 (output_function_epilogue): Remove unused variable `i'.
6924 (output_millicode_call): Remove unused variable `link'.
6925 (shadd_constant_p, forward_branch_p): Make the function static.
6926 (following_call): Explicitly declare to return int.
6927 (pa_reorg): Declare as void.
6928 (pa_combine_instructions): Declare as static void. Add
6929 parentheses around && within ||.
b57062ca 6930
51723711
KG
6931 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
6932 following_call, function_label_operand, lhs_lshift_cint_operand
6933 and zdepi_cint_p.
6934
6935 * pa.md: Add parentheses around && within ||.
6936
6937 * cppalloc.c: Include stdlib.h.
6938
6939 * cpperror.c (cpp_print_containing_files): Remove unused variable
6940 `i'. Fix format specifier in fprintf.
6941
6942 * cse.c (cse_around_loop): Add explicit braces to avoid
6943 ambiguous `else'.
6944 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
6945
6946 * expr.c (expand_expr): Add parentheses around && within ||.
6947
6948 * final.c (app_enable): Replace fprintf with fputs where there are
6949 no format specifiers and no trailing argument after the string.
6950 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
6951 (app_disable): Likewise.
6952 (final_end_function): Likewise.
6953 (final_scan_insn): Likewise. Remove unused variable `set'.
6954 (profile_function): Wrap empty if-statement body in {} brackets.
6955
6956 * function.c: Include stdlib.h.
6957 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
6958 (reposition_prologue_and_epilogue_notes): Add parentheses
6959 around assignment used as truth value.
6960
6961 * integrate.c (expand_inline_function): Wrap variable
6962 `cc0_insn' in macro HAVE_cc0.
6963
6964 * jump.c (jump_optimize): Wrap variable `q' in macro
6965 HAVE_cc0. Remove unused variable `prev1'.
6966
6967 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
6968 within ||. Fix format specifier in fprintf.
6969 (__bb_init_prg): Add parentheses around assignment used as
6970 truth value.
6971
6972 * local-alloc.c: Include stdlib.h.
6973 (requires_inout): Add parentheses around assignment used
6974 as truth value.
6975
6976 * loop.c (analyze_loop_iterations): Wrap prototype and definition
6977 in macro HAVE_decrement_and_branch_on_count.
6978 (insert_bct, instrument_loop_bct): Likewise.
6979 (move_movables): Add parentheses around assignment used as
6980 truth value.
6981 (consec_sets_invariant_p): Likewise.
6982 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
6983
6984 * objc/objc-act.c: Include stdlib.h.
6985 (lookup_method_in_protocol_list): Wrap empty else-statement body
6986 in braces.
6987 (lookup_protocol_in_reflist): Likewise.
6988 (objc_add_static_instance): Remove unused variables `decl_expr'
6989 and `decl_spec'.
6990 (get_objc_string_decl): Remove unused variable `decl'.
6991 (generate_static_references): Remove unused variables `idecl' and
6992 `instance'.
6993 (check_protocols): Wrap empty else-statement body in braces.
b57062ca 6994
51723711
KG
6995 * protoize.c: Include stdlib.h.
6996 (substr): Add parentheses around assignment used as truth value.
6997 (abspath): Likewise.
6998 (shortpath): Likewise.
6999
7000 * regmove.c (fixup_match_1): Add parentheses around assignment
7001 used as truth value.
7002
7003 * reload.c (push_secondary_reload): Remove unused variable `i'.
7004 (find_reloads): Add parentheses around assignment used as truth
7005 value.
7006
7007 * reload1.c: Include stdlib.h.
7008
7009 * rtl.h: Correct typo in prototype of offsettable_memref_p.
7010
7011 * stmt.c (add_case_node): Add parentheses around assignment used
7012 as truth value.
7013 (case_tree2list): Likewise.
7014
7015 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
7016 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
7017 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
7018 (merge_attributes): Add explicit braces to avoid ambiguous
7019 `else'.
7020
7021 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
7022 macro HAVE_cc0.
b57062ca 7023
51723711 7024 * varasm.c: Include stdlib.h.
b57062ca 7025
51723711 7026
c5801053
KG
7027 * system.h: Remove sys/stat.h.
7028 * gcc.c: Add sys/stat.h.
7029
3d85c12e
KG
7030 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
7031 * genattrtab.c: Likewise.
7032 * genconfig.c: Likewise.
7033 * genemit.c: Likewise.
7034 * genextract.c: Likewise.
7035 * genflags.c: Likewise.
7036 * genopinit.c: Likewise.
7037 * genoutput.c: Likewise.
7038 * genpeep.c: Likewise.
7039 * genrecog.c: Likewise.
7040 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
7041
0fd12b04
AS
7042Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7043
bd762873
AS
7044 * invoke.texi: Use @itemx for a secondary item in a @table.
7045
0fd12b04
AS
7046 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
7047 zero.
7048
c3cf395b
ILT
7049Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
7050
7051 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
7052
b94b5c16
JL
7053Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
7054
7055 * i386.c (struct machine_function): Add new fields for PIC stuff.
7056 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
7057 and pic_label_name.
7058 (restore_386_machine_status): Corresponding changes.
7059 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
7060
8dfafd99
JL
7061Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
7062
7063 * c-parse.y (undeclared variable error): Tweak error message
7064 to be clearer.
7065
bb8ebb7f
RH
7066Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
7067
7068 * flags.h (g_switch_value, g_switch_set): Declare.
7069 * alpha.c (override_options): Set g_switch_value=8 if not set.
7070 * alpha/elf.h (CC1_SPEC): New.
7071 (ASM_SPEC): New.
7072 (LINK_SPEC): Pass along the -G value we were given.
7073 (LOCAL_ASM_OP): Remove.
7074 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
7075 (MAX_OFILE_ALIGNMENT): New.
7076 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
7077 (EXTRA_SECTIONS): Add sbss and sdata.
7078 (SECTION_FUNCTION_TEMPLATE): New.
7079 (EXTRA_SECTION_FUNCTIONS): Use it.
7080 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
7081 (SELECT_SECTION): Use sdata when small enough.
7082 * alpha/linux.h (ASM_SPEC): Remove.
b57062ca 7083
bb8ebb7f 7084
3e07bdbd
BH
7085Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
7086 * config.sub (sco5): Fix typo.
7087
9d1ebd25
MH
7088Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
7089
7090 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
7091 set to empty.
7092 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
7093 * config/alpha/t-linux: Remove file.
7094 * config/sparc/t-linux: Remove file.
7095 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
7096 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
7097 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
7098 for tmake_file.
7099 (alpha*-*-linux-gnu*): Likewise.
7100 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
7101 (sparc-*-linux-gnu*): Likewise.
84bc3b4f
RL
7102
7103Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
7104 * collect2.c (ldd_file_name): Bracket declaration with same
7105 manifests as use.
7106 (full_real_ld_suffix): Deleted. Variable was calloced and
7107 written into, but never read.
7108
9e89df50
MS
71091998-02-23 Mike Stump <mrs@wrs.com>
7110
7111 * configure.in: Add support for i386-wrs-vxworks configuration.
7112 * i386/vxi386.h: New file.
7113
1160f9ec
BH
7114Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
7115
7116 * tree.c (contains_placeholder_p): Ensure function always returns
7117 a value.
7118 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
7119 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
7120
328da75c
JL
7121Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
7122
7123 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
7124
deabc777
PE
71251998-02-22 Paul Eggert <eggert@twinsun.com>
7126
7127 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
7128 Define this new symbol.
7129 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
7130 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
7131 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
7132
0e84e8fb
JW
7133Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
7134
7135 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
7136 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
7137
9c37957a
RH
7138Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
7139
7140 * objc/Object.m (-error): Call objc_verror with our va_list.
7141
e3c49f52
DE
7142Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7143
7144 * collect2.c (scan_prog_file): Completely cover uses of variable
7145 `exports' with macro COLLECT_EXPORT_LIST.
7146
7147Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
d935d60e
JL
7148
7149 * version.c: Bump for snapshot.
7150
3c674857
MM
7151Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
7152
7153 * sched.c (schedule_block): Remove code to get arguments from hard
7154 regs into pseudos early. Same as Aug 25, 1997 change to
7155 haifa-sched.c.
7156
c2d731c4
JM
71571998-02-20 Jason Merrill <jason@yorick.cygnus.com>
7158
7159 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
7160
7d02bbef
JM
71611998-02-16 Mark Mitchell <mmitchell@usa.net>
7162
7163 * toplev.c (rest_of_compilation): Do not defer the output of a
7164 nested function.
7165
9766dbcf
MT
7166Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
7167
7168 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
7169 continuation character (line 243).
7170
01a7aaea
AS
7171Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7172
7173 * genrecog.c (main): Remove duplicated sentence in emitted comment.
7174
db126753
DE
7175Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
7176 David Edelsohn <edelsohn@mhpcc.edu>
7177
7178 * collect2.c (XCOFF_SCAN_LIBS): Remove.
7179 (export_flag): New variable.
7180 (export_file): #ifdef COLLECT_EXPORT_LIST.
7181 (import_file, exports, imports, undefined): New variables.
7182 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
7183 (dump_list, dump_prefix_list, is_in_list): New functions.
7184 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
7185 (write_import_file, resolve_lib_name): New functions.
7186 (use_import_list, ignore_library): Same.
7187 (collect_exit): maybe_unlink import_file and #ifdef.
7188 (handler): Same.
7189 (main): New variable importf, #ifdef exportf. Move parsing of
7190 -shared before general argument parsing. Resolve AIX library
7191 paths and import libgcc.a symbols. Treat .so shared libraries the
7192 same as objects and .a libraries. Create alias for object_lst and
7193 increment it instead of original pointer. Scan AIX libraries as
7194 objects earlier instead of using scan_libraries. Perform AIX
7195 tlink later to resolve templates instead of forking ld.
7196 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
7197 (GCC_UNDEF_SYMBOL): New macro.
7198 (scan_prog_file): Loop for members of AIX libraries. Handle
7199 export/import of ctors/dtors.
7200 (aix_std_libs): New variable.
7201 (scan_libraries, XCOFF): Delete.
7202
7203Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
7204
7205 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
7206
e642002f
MS
72071998-02-19 Mike Stump <mrs@wrs.com>
7208
7209 * Makefile.in: Use $tooldir for sys-include to match toplevel
7210 configure.
7211
aff48bca
JL
7212Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
7213 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7214
7215 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
7216
7217 * emit-rtl.c (hard-reg-set.h): Include.
b57062ca 7218 (get_lowpart_common): Don't make new REG for hard reg in a
aff48bca
JL
7219 class that cannot change size.
7220 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
7221
7222 * combine.c: Revert previous patch.
7223
0a9bdce3
PE
72241998-02-19 Paul Eggert <eggert@twinsun.com>
7225
7226 * config/sparc/sol2-sld.h: New file.
7227 * configure.in (sparc-*-solaris2*): Use it when using the
7228 system linker.
7229
3875b31d
JL
7230Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
7231
7232 * loop.c (force_movables): Fix typo.
7233
bb5fa67f
MH
7234Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
7235
7236 * m88k.h: Change file pattern to match reality.
7237
7f83c0e7
JL
7238Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
7239
7240 * varasm.c (output_constant_pool): Fix dumb thinko in last
7241 change.
dffc0da4
JL
7242
7243 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
7244 a function name to a section name.
7245
d9525bec
BK
72461998-02-18 Doug Evans <devans@cygnus.com>
7247
7248 * tree.h (merge_machine_{type,decl}_attributes): Declare.
7249 (split_specs_attrs, strip_attrs): Add prototypes.
7250 * tree.c (merge_machine_{type,decl}_attributes): New functions.
7251 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
7252 Update olddecl's attributes too.
7253 * c-common.c (strip_attrs): New function.
7254 * c-typeck.c (common_type): Call merge_machine_type_attributes.
7255 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
7256 (make_decl_rtl): Likewise.
7257
72581998-02-18 Jim Wilson <wilson@cygnus.com>
7259
7260 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
7261
f9a366ac
JL
7262Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
7263
7264 Remove this change until we can fix it correctly.
7265 * collect2.c: Bracket declaration of 'exportf' and
7266 'full_real_ld_suffix'.
7267
206ae7cf
BS
7268Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
7269
7270 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
7271
0a7ed33c
BS
7272Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
7273
7274 * c-common.c (c_expand_start_cond, c_expand_end_cond,
7275 c_expand_start_else): Don't warn about non-ambiguous else even if
7276 braces are missing.
7277
68c9728a 7278Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
0a7ed33c 7279
68c9728a
RL
7280 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
7281 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
7282 instead.
7283
15941d29
RH
7284Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
7285
7286 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
7287 simplifying a subreg of a hard reg.
7288 (expand_compound_operation): Likewise.
7289 (force_to_mode): Likewise.
7290
5835e573
KG
7291Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7292
2fde567e
KG
7293 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
7294 (lshift_double): Add parentheses around + or - inside shift.
7295 (rshift_double): Likewise.
7296 (size_int_wide): Explicitly set type of `bit_p' to `int'.
7297
7298 * Makefile.in (fold-const.o): Depend on system.h.
7299
8e85ff2c
KG
7300 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
7301 change to gcc.c.
7302
5835e573
KG
7303 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
7304 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
7305 (sched_note_set): Remove unused parameter `b', all callers changed.
7306 (schedule_block): Likewise for `rgn'.
7307 (split_hard_reg_notes): Likewise for `orig_insn'.
7308 (check_live): Likewise for `trg'.
7309 (update_live): Likewise.
7310 (check_live_1): Explcitly declare variable `i' as int.
7311 (update_live_1): Likewise.
7312 (insn_issue_delay): Remove unused variable `link'.
7313 (sched_analyze_2): Add default case in enumeration switch.
7314 (schedule_insns): Remove unused variable `i'.
7315
7316 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
7317
b1a0c816
JL
7318Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
7319
7320 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
7321 a dangling else clause.
7322
365ca18b
GK
7323Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
7324
7325 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
7326 pointer for the stack pointer in MIPS16 and 64BIT.
7327
feb60352
R
7328Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7329
7330 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
7331 * emit-rtl.c (force_line_numbers, restore_line_number_status):
7332 New functions.
7333 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
7334 (expand_start_case): Adjust to this change.
7335 (check_seenlabel): New function.
7336 (pushcase, pushcase_range, expand_endcase): Use it.
7337
93f83bd5
R
7338Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7339
7340 * i386.md (adddi3): Add =!r,0,0,X alternative.
7341
b9af8fb0
DE
7342Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
7343
7344 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
7345 * x-aix31 (INSTALL): Delete.
7346
a4dee8a5
GK
7347Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
7348
b57062ca 7349 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
a4dee8a5
GK
7350 tsize changes to something other than zero.
7351
8898f8a1
GK
7352Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
7353
7354 * ginclude/va-mips.h: Replace casts of pointers to int with
7355 casts of pointers to __PTRDIFF_TYPE__.
7356
9ba7a303
JC
7357Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
7358
7359 * loop.c (strength_reduce, record_biv, record_giv): Use
7360 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
7361
b7f6588d
JM
73621998-02-16 Jason Merrill <jason@yorick.cygnus.com>
7363
7364 * tree.c (first_rtl_op): New fn.
7365 (unsave_expr_now): Use it.
7366 * print-tree.c (print_node): Likewise.
7367 * tree.c (has_cleanups): New fn.
7368 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
7369 conservative about pushing the cleanup point down.
7370 * tree.h: Declare them.
7371
8e7336f8
JL
7372Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
7373
7374 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
7375 (flag_schedule_reverse_after_reload): Likewise.
7376 (f_options): Remove reverse scheduling support.
7377 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
7378 (flag_schedule_reverse_after_reload): Likewise.
7379 * haifa-sched.c (rank_for_schedule): Remove support for reverse
7380 scheduling.
b57062ca 7381
79e11844
KG
7382Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7383
17248a6b
KG
7384 * gcc.c: Get system includes, prototypes and macros via "system.h"
7385 instead of doing it manually. Change all calls of the ctype
7386 macros to custom versions defined in "system.h".
7387
79e11844
KG
7388 * system.h: Fix return type of bcmp prototype from `void' to `int'.
7389 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
7390 Add a prototype for getenv.
7391
c9b4de06
JW
7392Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
7393
7394 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
7395
9f8f10de
JC
7396Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
7397
7398 * alias.c: Include <stdlib.h> and <string.h>.
7399 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
7400
d757d141
JL
7401Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
7402
7403 * version.c: Bump for snapshot.
7404
7a0a1f09
RE
7405Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
7406
7407 * arm.md (movsfcc): Also validate operands[3] when compiling hard
7408 float.
7409 (movdfcc): Only accept fpu_add_operand for operands[3].
7410
99e90438
RE
7411 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
7412 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
7413
29a82058
JL
7414Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
7415
7416 * varasm.c (output_constant_pool): Bring back 'done' label inside
7417 an appropriate #ifdef.
7418
b57062ca 7419 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
29a82058
JL
7420 appropriate #ifdef.
7421 (bitmap_copy, bitmap_operation): Likewise.
7422 * combine.c (combinable_i3pat): Similarly for 'src'.
7423 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
7424 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
7425 * regclass.c (copy_cost): Similarly for 'secondary_class'.
7426 * reload.c (make_memloc): Simliarly for 'i'.
7427 (find_reloads_address_1): Similarly for 'link'.
7428 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
7429 (emit_reload_insns): Similarly for 'second_reloadreg'.
7430 * unroll.c (iteration_info): Similarly for 'v'.
7431
7432 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
7433 * calls.c (expand_call): Similarly for 'i'.
7434 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
7435 * fold-const.c (strip_compund_expr): Similarly for 'type'.
7436 * function.c (fixup_var_refs_1): Similarly for 'width'.
7437 (fixup_memory_subreg): Similarly for 'saved'.
7438 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
7439 (setjmp_protect): Similarly for 'sub'.
7440 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
7441 * loop.c (record_giv): Similarly for 'p'.
7442 (combine_givs): Similarly for 'temp_iv'.
7443 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
7444 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
7445 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
7446 * unroll.c (unroll_loop): Similarly for 'copy'.
7447 (iteration_info): Similarly for 'b'.
7448 * varasm.c (assemble_string): Similarly for 'i'.
7449 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
7450
7d02bbef
JM
74511998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
7452
7453 * c-lang.c (lang_print_xnode): New function.
7454 * objc/objc-act.c (lang_print_xnode): Likewise.
7455 * print-tree.c (print_node): Call it
7456
e3e7774e
JW
7457Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
7458
7459 * dwarf2out.c (decl_scope_node): New type.
7460 (decl_scope_table): Change type to use it.
7461 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
7462 (push_decl_scope): Use new type. New locals containing_scope, i.
7463 Add code to handle setting previous field.
7464 (scope_die_for): Change type of local i to int. Add code to use
7465 previous field.
7466 (dwarf2out_init): Use new type.
7467
442f0a30
JM
74681998-02-13 Jason Merrill <jason@yorick.cygnus.com>
7469
7470 * except.c (emit_throw): Lose throw_used.
7471
fcdc0d6e
R
7472Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7473
7474 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
7475 was deleted.
7476 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
7477
b7673cdb
JL
7478Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
7479
7480 * genextract.c (main): Fix typo.
7481
9e4767ca 7482Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
69d4ca36 7483
b57062ca 7484 * c-lang.c (finish_file): Bracket declaration of static_ctors,
69d4ca36
RL
7485 static_dtors.
7486
7487 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
7488 'old_stack_arg_under_construction'
b57062ca 7489 (emit_library_call): Bracket declaration of 'upper_bound',
69d4ca36
RL
7490 'lower_bound', 'i', 'reg_parm_stack_space'
7491 (emit_library_call_value): Likewise.
b57062ca 7492 (store_one_arg):
69d4ca36
RL
7493
7494 * collect2.c: include <unistd.h> when appropriate.
7495 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
7496
7497 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
b57062ca 7498
69d4ca36
RL
7499 * explow.c (plus_constant_for_output_wide): Remove unused variable
7500 'code'.
b57062ca 7501 (memory_address): Remove unused variable 'orig_x'.
69d4ca36
RL
7502
7503 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
7504 (write_const_num_delay_slots): Remove unused variable 'i'.
7505
7506 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
7507 (gen_insn): Remove unused variable 'obstack_ptr'.
7508
7509 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
7510 'j', 'tmp', 'i'.
7511 (__bb_exit_trace_func): Remove unused variable 'e'.
7512
7513 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
7514 'funexp'.
7515 (expand_unop): Remove unused variable 'funexp'.
b57062ca 7516 (expand_complex_abs): Remove unused variable 'funexp'.
69d4ca36
RL
7517 (init_optabs): Bracket declaration of 'j'.
7518 (init_complex_libfuncs): Deleted. Dead static function.
b57062ca 7519
69d4ca36
RL
7520 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
7521
7522 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
7523 (reg_to_stack): 'initialized', 'before_function_beg'
7524 explictly type as ints instead of defaulting.
7525 (emit_swap_insn): Remove unused variable 'i2'.
7526 (compare_for_stack_reg): Remove unused variable 'src_note'.
7527
7528 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
7529
7530 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
7531
7532 * stmt.c (add_case_node): Add parens for assignment used as truth.
7533 (all_cases_count): Remove unused variable 'count_high'.
7534 (mark_seen_cases): Remove unused variable 'i'.
7535 (check_for_full_enumeration_handling): Remove unused variable 't'.
7536 Bracket declaration of 'all_values', 'l'.
b57062ca 7537
69d4ca36
RL
7538 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
7539
b57062ca
UD
7540 * varasm.c (assemble_string): Remove unused variable 'i'.
7541 (immed_double_const): Remove unused variable 'in_current_obstack'.
69d4ca36
RL
7542 (immed_real_const_1): Likewise.
7543 (output_constant_pool): Remove unreferenced label 'done'.
7544 (output_constant): Remove unused variable 'x'.
b57062ca 7545
69d4ca36
RL
7546 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
7547 a string.
7548
7549 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
7550 as truth.
7551
e3258cef
R
7552Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7553
7554 * combine.c (can_combine_p): Handle USEs in PARALLELs.
7555
1398405b
L
7556Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
7557
7558 * config/linux.h (LIB_SPEC): Add -lc for -shared if
7559 USE_GNULIBC_1 is not defined.
7560 * config/sparc/linux.h; Ditto.
7561
7562 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
7563
7564 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
7565 USE_GNULIBC_1 is not defined.
7566
03453a9f
FS
7567Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7568
7569 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
7570 for -mcall-linux
7571
aca69483 7572Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 7573
aca69483
KG
7574 * system.h: New file to get common systems includes and various
7575 definitions and declarations based on autoconf macros.
7576
5e0e0f03
JL
7577Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
7578
7579 * cccp.c (new_include_prefix): Correctly handle -I./.
7580
89e9f3a8
MM
7581Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
7582
7583 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
7584
8bd6ecc2 7585Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
89e9f3a8 7586
b57062ca 7587 * expr.c (expand_assignment): Correct typo exposed by -Wall.
8bd6ecc2
RL
7588 offset should have been a truth value, not an assignment.
7589
614bb5d4
JL
7590Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
7591
7592 * cse.c (delete_dead_from_cse): If a libcall produces a constant
7593 result and that result can be substituted into SET_SRC of the
7594 insn with the REG_RETVAL note, then perform the substitution
7595 and delete the libcall.
7596
00bb4b62
GK
7597Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
7598
b57062ca 7599 * mips.md (trucndihi2,truncdiqi2): Change these to support
00bb4b62
GK
7600 mips16.
7601
3871c609
GK
7602Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
7603
7604 * mips/mips.c (movdi_operand): Direct referances to symbols
7605 that arn't mips16 consts in mips16 mode arn't valid operands.
7606
7607 * mips/mips.c (mips_move_2words): Add gprel handling.
7608
2e72fa6a
GK
7609Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
7610
b57062ca 7611 * mips.md (extendsidi2): Allow extension to/from a non-mips16
2e72fa6a
GK
7612 register.
7613
a4910340
ML
7614Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
7615
7616 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
7617 <strings.h>.
7618
cc1e5b9a
KG
7619Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7620
7621 * Makefile.in (WARN_CFLAGS): New variable.
7622 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
7623
53949fac
MM
76241998-02-11 Mark Mitchell <mmitchell@usa.net>
7625
7626 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
7627 falling through default case in switch.
7628 (i386_aligned_p): Likewise.
7629
9504c31c
LI
7630Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
7631
7632 * mips/mips.h (mips_abi_string): Correct typo in comment.
7633
7e4e0956
GK
7634Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
7635
7636 * mips/mips.md (movdi): These PLUS's need to be Pmode.
7637
8fb3ae15
KG
7638Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7639
7640 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
7641 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
7642 indirectly via expr.h.
7643
a2d53b28
RH
7644Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
7645
7646 * stor-layout.c (layout_type): Do upper - lower in the native type,
7647 so as to properly handle negative indices.
7648
381127e8
RL
7649Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
7650
7651 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
7652 (expand_eh_region_start_tree): Remove unused variable 'note'.
7653 (exception_optimize): Remove unused variable 'regions'.
7654 (expand_builtin_eh_stub): Remove unused variable 'temp'.
7655 (copy_eh_entry): Deleted. Dead function.
7656
b57062ca 7657 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
381127e8
RL
7658 'last' with same #if HAVE_load_multiple as use of it.
7659 (move_block_from_reg): Likewise.
7660 (emit_move_insn_1): Remove unused variable 'insns'.
b57062ca
UD
7661 (store_constructor): Bracket declaration of startb, endb with
7662 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
381127e8 7663 'target', and 'xtarget'.
b57062ca 7664 (expand_builtin_setjmp): Remove unused variables 'op0',
381127e8 7665 'next_arg_reg', 'old_inhibit_defer_pop'.
b57062ca 7666 (expand_builtin): Remove unused variable 'offset'.
381127e8
RL
7667 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
7668 (emit_queue): Add parens for assignment used as conditional.
7669 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
7670
00c79232
ML
7671Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
7672
b57062ca 7673 * i386.c: Added include for recog.h.
00c79232
ML
7674 (override_options): Removed unused variable p. Initialized regno to
7675 avoid warning.
7676 (order_regs_for_local_alloc): Initialized regno to avoid warning.
7677 (legitimize_address): Likewise for 'other'.
7678 (i386_aligned_reg_p): Added default case with abort ().
7679 (print_operand): Likewise.
7680 (reg_mentioned_in_mem): Likewise.
7681 (ix86_expand_binary_operator): Removed unused variables i & insn.
7682 (ix86_expand_unary_operator): Removed unused variable insn.
7683 (output_fp_cc0_set): Removed unused variable unordered_label.
7684
f64cecad
JC
7685Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
7686
7687 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
7688 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
7689 and format string match.
7690
0200b5ed
JL
7691Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
7692
7693 * flow.c (life_analysis): Do not conside the stack pointer live at
7694 the end of a function if the fucntio ncalls alloca.
7695 (mark_used_regs): Similarly.
7696
74ccf2c2
JC
76971998-02-10 John F Carr <jfc@mit.edu>
7698
7699 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
7700 1, fzero on alternative 8.
7701
60e2d0ca
RK
7702Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7703
7704 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
7705
2fd0af53
R
7706Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7707
7708 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
7709 SUBREGs of CONST_INTs.
7710
a96c3544
JC
7711Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
7712
7713 * mips.c (print_operand, function_prologue): Make printf format
7714 match argument type.
7715
2514cbc9
KG
7716Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7717
7718 * alpha.c (alpha_return_addr): Remove unused variable `first'.
7719 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
7720 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
7721
72b0c616
RK
7722Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7723
7724 * loop.c (strength_reduce): When placing increment for auto-inc
7725 case, do comparison in loop order.
b57062ca 7726
2e0dd623
JC
7727Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
7728
7729 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
7730 not a HOST_WIDE_INT.
7731
7732 * calls.c (expand_call): Change test of expand_inline_function
7733 return value to stop compiler warning.
7734
7735 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
7736
7bf825d2
JW
7737Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
7738 Jeff Law (law@cygnus.com)
7739
7740 * regmove.c: Fix various minor formatting problems.
7741 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
7742 is true. Make end of basic block tests consistent through regmove.c.
7743 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
7744 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
7745
7d4679ea
KG
7746Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7747
7748 * gansidecl.h: Check for a conflicting macro definition before
7749 attempting to prototype bcopy, bcmp or bzero.
7750
b515ab3d
JL
7751Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
7752
060fbabf
JL
7753 * expr.c (clear_pending_stack_adjust): Handle case where a function
7754 calls alloca, but the user has specified -fomit-fframe-pointer.
7755
b515ab3d
JL
7756 * function.c (assign_parms): Fix typo in last change.
7757
ccd043a9
RL
7758Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
7759
ededb2fc
RL
7760 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
7761 <fcntl.h>.
7762 (free_path_suffix): Remove unreferenced static function.
7763 (process_command): Remove unused variable temp.
7764 (default_arg): Remove unused variable i.
7765 (do_spec_1): Add parens for assignment used as truth value.
7766 (main): Likewise.
7767 (validate_all_switches): Likewise.
7768 (main): Remove unused variables i, first_time>
7769
ccd043a9
RL
7770 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
7771
7772 * calls.c (expand_call): Remove unused variables funtree,
7773 n_regs, and tmpmode.
7774
7775 * dbxout.c, except.c: Include <string.h>/<strings.h>.
7776
7777 * explow.c: (plus_constant_for_output_wide) Removed unused
7778 variable all_constant.
7779
7780 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
7781 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
7782 genrecog.c, global.c, integrate.c , stupid.c : Include
7783 <stdlib.h>.
7784
7785 * genextract.c: (walk_rtx) Remove unused variable link.
7786
7787 * genrecog.c: (concat) Remove unreferenced static function.
7788
7789 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
7790
b57062ca
UD
7791 * stmt.c: Include <stdlib.h>.
7792 (expand_asm_operands): Remove unused variable val1.
ccd043a9
RL
7793 (expand_return): Remove unused variable block.
7794 (pushcase): Remove unused variables l and n.
7795 (pushcaserange): Likewise.
7796
7797 * unroll.c (unroll_loop): Remove unused variable temp.
7798
6553db01
GM
7799Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
7800
7801 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
7802
8479e1db
KG
7803Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7804
7805 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
7806 functions for whether they support the %p format specifier.
7807 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
7808 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
7809 * configure, config.in: Rebuild.
7810
bf9c83fe
JW
7811Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
7812
7813 * function.c (assign_parms): New variable named_arg, with value
7814 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
7815
09e4daf5
GK
7816Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
7817
b57062ca 7818 * mips/t-r3900: New - same as t-ecoff but eliminate
09e4daf5
GK
7819 multilibs: mips1 and mips3.
7820 * configure.in (tx39*): Use new mips/t-r3900.
7821 * configure: Rebuild.
7822 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
7823
b57d9225
JM
78241998-02-06 Jason Merrill <jason@yorick.cygnus.com>
7825
7826 * dwarf2out.c: Add old_args_size.
7827 (dwarf2out_args_size): Use it.
7828 (dwarf2out_begin_prologue): Initialize it.
7829 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
7830 pushed args until we see a call.
7831 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
7832 before outputting them.
7833
78341998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
7835
7836 * cplus-dem.c (demangle_template_template_parm): New function.
7837 (demangle_template): Handle template template parameters.
7838
259620a8
MM
78391998-02-02 Mark Mitchell <mmitchell@usa.net>
7840
7841 * calls.c (expand_call): Don't confuse member functions named
7842 realloc, setjmp, and so forth with the standard library
7843 functions of the same names.
7844
78418280
JL
7845Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
7846
7847 * stmt.c (expand_asm_operands): Correctly identify asm statements
94e5565f 7848 no output operands.
78418280 7849
6d819282 7850Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 7851
6d819282
MK
7852 * c-common.c (decl_attributes): Flag unrecognized attribute
7853 functions as warnings instead of as errors.
7854
aec98e42
ML
78551998-02-05 Marc Lehmann <pcg@goof.com>
7856
7857 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
7858 when -Os is specified.
7859 * toplev.c (main): Don't disable flag_inline_functions anymore when
7860 -Os is in effect.
7861
1230327b
R
7862Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7863
7864 * regmove.c: Update.
7865 * flags.h (flag_regmove): Declare.
7866 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
7867 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
7868 Moved into regmove; changed caller.
7869 * toplev.c (rest_of_compilation): Call regmove_optimize also for
7870 expensive_optimizations.
7871
1aca1e76
JL
7872Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
7873
7874 * version.c: Bump for snapshot.
7875
2993ce4c
R
7876Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7877 Undo this change (the problem was actually in reload):
7878 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7879
7880 * sh.md (movqi_i+1): New peephole.
7881
0340ed6c
JL
7882Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
7883
e535528b
JL
7884 * jump.c (jump_optimize): Lose calls to modified_in_p they are
7885 not needed anymore due to changes elsewhere in jump.c.
7886
0340ed6c
JL
7887 * jump.c (jump_optimize): Fix first arg to modified_in_p in
7888 previous change.
7889
6fd1c67b
RH
7890Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
7891
7892 * expr.c (expand_builtin_setjmp): Accept two new arguments for
7893 the labels to branch to on first and subsequent executions. Don't
7894 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
7895 and provide it with the jmp_buf. Use only one of
7896 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
7897 and provide the former with the target label.
7898 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
7899 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
7900 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
7901 insn to replace all of the normal nonlocal_goto code. Don't play
7902 with __dummy. Correct arguments to nonlocal_goto.
7903 * expr.h (expand_builtin_setjmp): Update prototype.
7904 * except.c (start_dynamic_handler): When using builtin_setjmp,
7905 generate more accurate flow information.
7906
7907 * alpha.md (nonlocal_goto_receiver_osf): Delete.
7908 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
7909 (builtin_longjmp, builtin_setjmp_receiver): New.
7910 * sparc.md (update_return): Disambiguate unspec number.
7911 (nonlocal_goto): Rearrange arguments to match caller in except.c.
7912 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
7913 jmp_buf operand.
7914 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
7915 (builtin_setjmp_setup*, builtin_longjmp): New.
7916
95936d18
JC
7917Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
7918
7919 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
7920
c120c689
JW
7921Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
7922
7923 * vmsconfig.com: Remove bytecode references.
7924
1a56b81f
AS
79251998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7926
91193900
AS
7927 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
7928 -fno-sjlj-exceptions works for a target that defines
7929 DWARF2_UNWIND_INFO as zero.
7930
1a56b81f
AS
7931 * regmove.c (fixup_match_1): Undo last change which removed some
7932 "useless" code, and add a comment explaining this.
7933
e4b3de45
GK
7934Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
7935
7936 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
7937 to TARGET_LONG64.
7938
2aabb736
KK
7939Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
7940
7941 * makefile.vms: Remove bytecode references.
7942 Create genrtl files.
7943
7457661d
MH
7944Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
7945
7946 * jump.c (jump_optimize): Allow conditional loading of floating point
7947 constants and constants from memory. Reinstalled modified_in_p tests.
7948
460f50dc
R
7949Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7950
7951 * loop.c (get_condition): Handle sign-extended constants.
7952
7a6df7f9
HPN
7953Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
7954
db771a3c
HPN
7955 * expr.c (emit_push_insn): Add code to use movstrti if present.
7956
7a6df7f9
HPN
7957 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
7958 and movstrqi as in emit_block_move ().
7959
ceb6edf2
TM
7960Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
7961
7962 * config/m68k/x-next: Remove /NextDeveloper/Headers from
7963 the directories to fixinclude - /usr/include is a link
7964 to it and hence its contents are fixed by default.
7965
9cddeb31
FS
7966Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7967
7968 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
7969
d2f05a0a
KK
7970Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
7971
7972 * cccp.c (main): Predefine __VMS_VER on VMS.
7973
f8dac6eb
R
7974Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7975
7976 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
7977 * fold-const.c (size_int): Replace with
7978 (size_int_wide).
7979 (make_bit_field_ref): Use bitsize_int for bit position.
7980 * stor-layout.c (sizetype): Delete.
7981 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
7982 (layout_record, layout_union, layout_type):
7983 Use bitsize_int for bit size.
7984 (set_sizetype): New function.
7985 (make_signed_type, make_unsigned_type): Use it.
7986 * c-decl.c (init_decl_processing): Likewise.
7987 * tree.h (size_int): Don't delcare, #define.
7988 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
7989 (set_sizetype): Declare.
7990 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
7991 Define.
7992 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
7993 Convert result to sizetype.
7994 (really_start_incremental_init, push_init_level):
7995 Set type of constructor_bit_index to sbitsizetype.
7996 (push_init_level): Use unsigned arithmetic to determine padding.
7997 (output_init_element): Likewise.
7998
b577a8ff
JL
7999Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
8000
8001 * combine.c (simplify_shift_const): Fix typo in last change.
8002
6e0ef100
JC
8003Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
8004
8005 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
8006 is (truncate (lshiftrt)).
8007
4208b40f
RH
8008Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
8009
8010 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
8011 Make sure result winds up in TGT.
8012 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
8013 src to be other than DImode.
8014 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
8015 (alpha_expand_unaligned_store_words): Likewise.
8016 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
8017 that source and destination are separately optimized for alignment.
8018 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
8019
82301b88
JL
8020Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
8021
8022 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
8023 with handling of -32768.
8024
a81fb89e
KG
8025Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8026
8027 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
8028 shell variable argument instead of only hard coded functions.
8029 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
8030
8031 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
8032 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
8033 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
8034 declarations for bcopy, bcmp and bzero.
8035
8036 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
8037
8038 * gansidecl.h: If we have bcopy but don't declare it, then do so.
8039 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
8040 bzero, index and rindex if they aren't already present.
8041
eed90b2c
JL
8042Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
8043
b57062ca 8044 * toplev.c (close_dump_file): Wrap function prototype for
eed90b2c
JL
8045 argument "func" in PROTO.
8046 (dump_rtl): Likewise.
8047
bfd6bc60
JC
8048Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
8049
8050 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
8051 MASK_V8PLUS.
8052 (output_function_epilogue): Omit epilogue if nothing drops through.
8053 (output_move_double): Supress int ldd usage on ultrasparc and v9.
8054 (registers_ok_for_ldd_peep): Likewise.
8055 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
8056 (ultrasparc_adjust_cost): New function.
8057 (sparc_issue_rate): New function.
8058 * sparc.h (MASK_VIS, TARGET_VIS): New
8059 (MASK_V8PLUS, TARGET_V8PLUS): New.
8060 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
8061 (TARGET_SWITCHES): Add vis and v8plus.
8062 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
8063 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
8064 (RTX_COSTS): Use TARGET_HARD_MUL
8065 (ADJUST_COST): Call ultrasparc_adjust_cost.
8066 (ISSUE_RATE): New.
8067 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
8068 of load & fp appropritely.
8069 (supersparc function units): Adjust for Haifa.
8070 (ultrasparc function units): Likewise.
8071 (get_pc_via_rdpc): All v9, not just arch64.
8072 (movdi_v8plus, movdi_v8plus+1): New.
8073 (adddi3_sp32+1): New.
8074 (subdi3_sp32+1): New.
8075 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
8076 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
8077 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
8078 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
8079 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
8080 (ldd peepholes): Suppress for v9.
8081 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
8082 (return_subsi): Revmove.
8083
4b526a9a
JC
8084Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
8085
8086 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
8087 save/restore MEM rtl.
8088
64a438d6
JL
8089Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
8090
8091 * configure.in: Check for declaration of abort.
9c893359 8092 * acconfig.h: Corresponding changes.
64a438d6
JL
8093 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
8094 be declared.
8095
f266c82f
JL
8096Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
8097
8098 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
8099 uses it.
8100
31fa4410
JL
8101Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
8102
8103 * version.c: Bump for snapshot.
8104
0ee31ab1
JL
8105Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
8106
8107 * configure.in: Check for atoq and atoll.
8108 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
8109 proper routine for converting ascii into long long values.
8110
eeeb91c5
KK
8111Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
8112
9d21ee77
KK
8113 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
8114
8115 * vmsconfig.com: Remove bytecode references.
8116
8117 * alpha/vms.h (PREFIX): Define.
8118
8119 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
8120
eeeb91c5
KK
8121 * am-alpha.h: Don't include alloca for OPEN_VMS.
8122
8123 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
8124
8125 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
8126 (GCC_INCLUDE_DIR): Define
8127
8128 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
8129 * makefile.vms: New file.
8130
8131 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
8132
8133 * alpha.c (output_prolog): Output '.name' directive
8134 for minimal traceback information.
8135
8136 * alpha.c (output_prolog): Don't prepend entry point symbols
8137 with '$' on OPEN_VMS.
8138
76d31c63
JL
8139Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
8140 Jeffrey A Law (law@cygnus.com)
8141
8142 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
8143 HOST_WIDE_INT.
8144
8145 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
8146 as needed.
8147 * genemit.c (gen_exp): Likewise.
8148 * genpeep.c (match_rtx): Likewise.
8149 * genrecog.c (write_tree_1): Likewise.
8150
8151 * c-lex.c (yyprint): Use proper format string based upon
8152 disposition of HOST_BITS_PER_WIDE_INT.
8153 (yylex): Put casts in right place for args to build_int_2.
8154
8155Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
8156
8157 * combine.c: Fix typos in Jan27 changes.
8158
1b7555bd
OR
8159Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
8160
8161 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
8162 (LINK_SPEC): Likewise.
8163 (STARTFILE_SPEC): Likewise.
8164
21ca87b8
MS
81651998-01-28 Mike Stump <mrs@wrs.com>
8166
8167 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
8168 reload completes.
8169 * genattrtab.c (reload_completed): Define.
8170
8171 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
8172 comments.
8173
d2c92f5a
R
8174Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8175
8176 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
8177 SUBREG_REG if the word count is unchanged, also in the input reload
8178 case. Disable non-applicable sanity checks.
8179
90ad3ab7
JL
8180Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
8181
8182 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
8183
7fad712c
ILT
8184Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
8185
8186 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
8187
2290e0ec
PB
8188Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
8189
1aea01ea
PB
8190 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
8191 is a TREE_VEC before trying to use it for baseclasses.
8192 (Chill uses the same field for a different purpose.)
8193
2290e0ec
PB
8194 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
8195
16980900
LT
8196Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
8197
4c46bad0 8198 * config.sub: More accurate determination of HP processor types.
16980900 8199
5e9defae
KG
8200Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8201
8202 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
8203 prototype for `handle_sysv_pragma', and make it static. Add
8204 parentheses around assignment used as truth value.
8205
8206 * combine.c (combine_instructions): Protect variable `prev' with
8207 macro HAVE_cc0.
8208 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
8209 (extract_left_shift): Add parentheses around operand of &.
8210 (merge_outer_ops): Avoid an empty body in an else-statement.
8211 (gen_rtx_combine): Remove unused variable `i'.
b57062ca 8212
5e9defae
KG
8213 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
8214 function monstartup `void'. Likewise for internal_mcount. Add
8215 `static void' prototype for moncontrol. Reconcile sprintf format
b57062ca 8216 vs. args.
5e9defae
KG
8217
8218 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
8219 Make return type of function_arg_slotno explicitly `int'.
8220 (reg_unused_after): Add parentheses around assignment used as
8221 truth value.
8222 (save_regs): Add explicit braces to avoid ambiguous `else'.
8223 (function_arg_slotno): Add parentheses around && within ||.
8224 (function_arg_pass_by_reference): Likewise.
8225 (sparc_flat_output_function_prologue): Reconcile fprintf format
8226 vs. args.
8227
8228 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
8229 assignment used as truth value.
8230
8231 * cplus-dem.c: Include <stdlib.h>.
8232 (demangle_signature): Avoid an empty body in an else-statement.
8233 (do_type): Remove unused variable `lvl'.
b57062ca 8234
5e9defae
KG
8235 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
8236 Include <string.h>/<strings.h>.
8237 (cpp_lex): Remove unused variable `namelen'.
8238 (cpp_lex): Explicitly declare `num_chars' as an int.
8239
8240 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
8241 <unistd.h> instead. Explicitly declare is_system_include
8242 returning int.
b57062ca 8243 (make_assertion): Remove unused variable `kt'.
5e9defae
KG
8244 (cpp_expand_to_buffer): Hide variable `obuf'.
8245 (output_line_command): Remove unused variables, `line_end',
8246 `line_cmd_buf' and `len'.
8247 (macarg): Remove unused variable `arg_start'.
8248 (special_symbol): Remove unused variable `i'. Add parentheses
b57062ca 8249 around assignment used as truth value.
5e9defae 8250 (do_include): Remove unused variables `pcfname' and `retried',
b57062ca 8251 hide `pcf' and `pcfbuflimit'.
5e9defae
KG
8252 (do_line): Remove unused variable `i'.
8253 (finclude): Hide variable `missing_newline'.
8254 (cpp_handle_options): Remove unused variable `j'.
8255 (read_token_list): Remove unused variable `eofp'.
8256 (cpp_error_with_line): Remove unused variable `i'.
8257 (cpp_warning_with_line): Likewise.
8258 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
8259 (cpp_error_from_errno): Remove unused variable `i'.
8260
8261 * cse.c (invalidate): Add parentheses around assignment used as
8262 truth value.
8263 (find_best_addr): Move declaration of variable `our_cost' inside
8264 the conditional macro where its used.
8265 (fold_rtx): Avoid an empty body in an if-statement.
8266 (cse_insn): Wrap variables `this_insn_cc0_mode' and
8267 `this_insn_cc0' in macro HAVE_cc0.
b57062ca 8268
5e9defae
KG
8269 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
8270 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
8271 (output_uleb128): Likewise.
8272 (output_sleb128): Likewise.
8273 (output_cfi): Likewise.
8274 (output_call_frame_info): Remove unused variables `j', `fde_size'
8275 and `fde_pad'.
8276 (comp_unit_has_inlines): Hide declaration as per rest of file.
8277 (size_of_line_prolog): Correct typo in prototype.
8278 (add_arange): Likewise.
8279 (output_aranges): Likewise.
8280 (add_name_and_src_coords_attributes): Likewise.
8281 (gen_array_type_die): Likewise.
8282 (gen_inlined_subroutine_die): Likewise.
8283 (equate_decl_number_to_die): Remove unused variable `i'.
8284 (print_die): Reconcile format vs. args in fprintf's.
8285 (print_dwarf_line_table): Likewise.
8286 (output_die): Likewise.
8287 (output_line_info): Likewise.
8288 (add_subscript_info): Avoid an empty body in an else-statement.
8289 (gen_subprogram_die): Remove unused variable `fp_loc'.
8290
8291 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
8292 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
8293 macro. Protect `src_coords_attribute' prototype with
8294 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
8295 prototype as in the rest of the file. Likewise for
8296 `output_pointer_type_die' and `output_reference_type_die'. Remove
8297 prototype for `type_of_for_scope'.
8298 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
8299 (type_attribute): Add explicit braces to avoid ambiguous `else'.
b57062ca 8300
5e9defae
KG
8301 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
8302 (shorten_branches): Protect declaration of tmp_length with
8303 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
8304 (profile_function): Protect declaration of `sval' and `cxt'
8305 variables with appropriate macros.
8306 (final_scan_insn): Likewise for `note' variable. Add explicit
8307 braces to avoid empty body in an if-statement.
8308 (output_asm_insn): Move variable `i' inside macro conditional
8309 where it is used. Add parentheses around assignment used as truth
8310 value.
8311 (asm_fprintf) Likewise, likewise.
b57062ca 8312
5e9defae
KG
8313 * fix-header.c (main): Remove unused variable `done'. Protect
8314 declaration of `i' with FIXPROTO_IGNORE_LIST.
8315
8316 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
8317
8318 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
8319 `ind'.
8320
8321 * profile.c: Include <string.h>/<strings.h>.
8322 (instrument_arcs): Remove unused variables `note', `inverted',
8323 `zero' and `neg_one'.
8324 (branch_prob): Avoid empty body in an if-statement.
8325
8326 * regclass.c: Include <stdlib.h>.
8327 (reg_alternate_class): Explicitly declare parameter `regno'.
8328
8329 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
8330 parentheses around assignment used as truth value.
8331 (find_matches): Remove unused variables `output_operand' and
8332 `matching_operand'.
8333 (fixup_match_1): Remove statement with no effect: "if (0) ;".
8334
8335 * scan.c (sstring_append): Explicitly declare `count' as int.
8336 (scan_string): Explicitly declare parameter `init' as int.
8337
8338 * sched.c: Include <stdlib.h>.
8339 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
8340 (rank_for_schedule): Add parentheses around assignment used as
8341 truth value.
8342 (schedule_block): Likewise.
8343 (regno_use_in): Likewise.
8344 (schedule_insns): Remove unused variable `i'.
8345
8346 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
8347 (v_message_with_decl): Remove unused variable `n'.
8348 (botch): Explicitly declare parameter `s' as char *.
8349 (main): Add parentheses around assignment used as truth value.
8350
8351 * tree.c (make_node): Protect the variable `kind' with the
8352 GATHER_STATISTICS macro.
8353 (real_value_from_int_cst): Move variable `e' inside conditional
8354 macro area where it is used.
8355 (tree_last): Add parentheses around assignment used as truth value.
8356 (build1): Protect the variable `kind' with the GATHER_STATISTICS
8357 macro.
8358 (print_obstack_statistics): Reconcile format vs. args in fprintf.
8359 Protect variables `i', `total_nodes', and `total_bytes' with the
8360 GATHER_STATISTICS macro.
8361
4b6bb562
MS
8362Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
8363
8364 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
8365 some comments regarding use of dead_or_set_p.
8366
e95f0195
TV
8367Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
8368
8369 * fixincludes: Tweak fix for struct exception in math.h
8370
c3499f00
GK
8371Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
8372
8373 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
b57062ca 8374 Change mode of registers used to add/sub from
c3499f00
GK
8375 hard_frame_pointer_rtx from word_mode to Pmode.
8376
01898d58
NC
8377Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
8378
6db34dd4
NC
8379 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
8380 asm_output_aligned_bss() instead of asm_output_bss().
8381
01898d58
NC
8382 * toplev.c (rest_of_compilation): Replace references to
8383 stack_reg_dump_file and dbr_sched_dump_file with references to
b57062ca 8384 rtl_dump_file.
01898d58 8385
7b6ffd11
KI
8386Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
8387
8388 * tlink.c (scan_linker_output): Call fclose() for opened files.
8389
60593797
RH
8390Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
8391
8392 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
8393 compiling with -fpic -- we want to be able to override symbols
8394 properly.
8395 (alpha_expand_block_move): Fix thinko in last change.
8396
8397 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
8398 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
8399 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
b57062ca 8400
5e4aab97
RH
8401Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
8402
8403 * alpha.md (abssf, absdf): Revert last change.
8404
69145bcc
JC
8405Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
8406
8407 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
8408 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
8409
4926b75a
JL
8410Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
8411
8412 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
8413 a CONST_INT into SFmode.
8414
c6aded7c
AG
8415Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
8416
8417 * flags.h: New flag (optimize_size).
8418 * toplev.c (main): Parse -Os option and set optimize_space
8419 accordingly.
b57062ca 8420 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
c6aded7c
AG
8421 __OPTIMIZE_SIZE__ when compiling with -Os.
8422 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
8423 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
8424 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
8425 to macro.
8426 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
8427
3698f44e
MH
8428Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
8429
8430 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
8431 stuff only if MCT_TEXT is #define'd.
8432
ac8a456a
MO
8433Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
8434
8435 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
8436 configurations.
8437
032713aa
NC
8438Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
8439
8440 * toplev.c: Add -dM command line option to dump RTL after the
8441 machine dependent reorganisation pass, if there is one.
8442 Reorganise RTL dump code, so that only one file handle is
b57062ca 8443 needed.
032713aa 8444
ec2be682
BK
8445Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
8446
8447 * except.c (check_exception_handler_labels): Disable warning when
8448 flag_syntax_only.
8449
e232b7b3
JW
8450Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
8451
8452 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
8453
2a851b5c
R
8454Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8455
8456 * c-decl.c (grokdeclarator): Get parameter tags from
8457 last_function_parm_tags.
8458 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
8459 traversing the parameter types.
8460 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
8461
808fbfac
JL
8462Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
8463
8464 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
8465 the default case.
8466 (get_shift_alg): Fix typo.
8467
15389075
RH
8468Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
8469
8470 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
8471
83c8ddef
RH
8472Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
8473
8474 * toplev.c (get_run_time): Make sure each case gets its variables.
8475
db81d74a
RH
8476Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
8477
8478 * configure.in (build_xm_file): Add auto-config.h if host=build.
8479 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
8480 (build_xm_file_list): Likewise.
8481 * configure: Rebuild.
b57062ca 8482
f745c7a2
AB
8483Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
8484
8485 * recog.c (validate_replace_rtx_1): Only perform substitutions
8486 of arguments to commutative and comparison operators once.
8487
963f4057
KG
8488Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8489
91a51951
KG
8490 * sparc.c (output_cbranch): Add default case in
8491 enumeration switch.
b57062ca 8492
91a51951
KG
8493 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
8494 (emit_delay_sequence): Eliminate unused parameter, all callers
8495 changed.
8496 (fill_simple_delay_slots): Likewise.
8497 (fill_slots_from_thread): Likewise.
8498 (fill_eager_delay_slots): Likewise.
8499 (mark_referenced_resources): Add default case in enumeration switch.
8500 (mark_set_resources): Likewise.
8501 (rare_destination): Likewise.
8502 (mostly_true_jump): Likewise.
8503 (find_dead_or_set_registers): Likewise.
8504 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
8505 (update_reg_unused_notes): Remove unused variable `p'.
8506 (mark_target_live_regs): Remove unused variables `next' and
8507 `jump_count'.
8508 (fill_simple_delay_slots): Remove unused variable `j'.
8509 (fill_slots_from_thread): Add parentheses around assignment used
8510 as truth value.
8511 (dbr_schedule): Likewise.
8512
963f4057
KG
8513 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
8514 (objc.stage2, objc.stage3, objc.stage4): Likewise.
8515
e82ad93d
MT
8516Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
8517
8518 * cse.c (simplify_ternary_operation): Don't try to simplify
8519 IF_THEN_ELSE expressions (created by combine) that don't use
8520 relational operators.
8521
b4b04bf9
JL
8522Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
8523
ed1ecb19
JL
8524 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
8525 simplifications.
8526
b4b04bf9
JL
8527 * crtstuff.c (init_dummy): Keep the epilogue in the init
8528 section for non-ELF systems.
8529
deeef0ac
R
8530Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8531
8532 * sh.md (movqi_i+1): New peephole.
8533
03566575
JW
8534Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
8535
8536 * Makefile.in: Remove remaining bytecode stuff.
8537 * emit-rtl.c, expr.c: Likewise.
8538
eb96c120
NC
8539Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
8540
8541 * toplev.c (lang_options): Add unknown-pragma options.
8542
f03204e9
PB
8543Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
8544
8545 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
8546 special (and incomplete) handling for Chill arrays.
8547
4e762a38
JC
8548Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
8549
8550 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
8551 to get clock rate.
8552
c3499f00 8553Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
319f217e
GK
8554
8555 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
8556
19f673eb
SS
85571998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
8558
8559 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
8560 .frame directive instead of FRAME_POINTER_REGNUM.
8561
74cf1c6d
RK
8562Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
8563
8564 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
8565 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
8566 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
8567 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
8568 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
8569 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
8570 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
8571 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
8572 mcpu32 or m5200.
8573 * longlong.h: Replace __mc68332__ with __mcpu32__.
8574
e1402e7d
JL
8575Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
8576
8577 * version.c: Bump for snapshot.
8578
6d49a073
JW
8579Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
8580
8581 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
8582 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
8583 * reload1.c (eliminate_regs): Likewise.
8584
c485e6a0
JL
8585Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
8586
8587 * regmove.c (find_matches): Initialize matches->earlyclobber too.
8588
84303d9a
RH
8589Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
8590
8591 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
8592 (negsf2, negdf2): Use proper subtract in IEEE mode.
8593
b93a436e
JL
8594Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
8595
27766f0e
JL
8596 * Makefile.in: Remove more bytecode stuff.
8597 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
8598 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
8599 * f/install.texi, objc/Make-lang.in: Likewise.
8600
b93a436e
JL
8601 * Makefile.in: Remove all bytecode support.
8602 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
8603 * emit-rtl.c: Remove all bytecode support.
8604 * expr.c, expr.h function.c, integrate.c: Likewise.
8605 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
8606 * tree.h, varasm.c: Likewise.
424e713c
JL
8607 * config/m68k/m68k.h: Likewise.
8608 * bi-*, bc-*, bytecode*: Delete bytecode related files.
c9804136 8609 * modemap.def: Likewise.
b93a436e 8610
7e07e3ba
GK
8611Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
8612
8613 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
8614 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
8615
685885b7
RH
8616Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
8617
8618 * i386.md (push): Prohibit symbolic constants if flag_pic.
8619 (movsi+1): Likewise for move to non-register.
8620
5830e3a0
JW
8621Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
8622
11ea364a
JW
8623 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
8624 (print_operand): Handle 0xffffffff on 32 bit host.
8625
a851212a
JW
8626 * configure.in (thread_file): Rename uses before main loop to
8627 target_thread_file. Initialize to empty in main loop. Set thread_file
8628 to target_thread_file after main loop if not set.
8629 * configure: Rebuild.
8630
5830e3a0
JW
8631 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
8632 (add_values_to_cover): Revert last change (which had no ChangeLog
8633 entry).
8634 (simplify_with_current_value_aux): Handle CONST_INT.
8635
829e1aaf
AS
8636Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8637
8638 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
8639
76844337
RH
8640Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
8641
8642 * configure.in: Add cpp stringify test.
8643 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
8644 * gengenrtl.c: Use it.
8645 * configure, config.in: Rebuild.
8646
a3f80023
AS
8647Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8648
8649 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
8650
c5d0345e
RH
8651Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
8652
8653 * configure.in: Find declaration for sbrk.
8654 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
8655 * config.in, configure: Rebuild.
8656 * mips-tfile.c: Properly protect declaration of sbrk and free.
8657 * toplev.c: Properly protect declaration of sbrk.
8658
bb02e7ea
RH
8659Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
8660
8661 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
8662
30c2fa75
JL
8663Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
8664
8665 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
8666
a0372c94
MS
8667Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
8668
8669 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
8670
c9ec4f99
DM
8671Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
8672
0e9ff885
DM
8673 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
8674 constant offset computations from objects with known alignment in
8675 the presence of STACK_BIAS.
8676
7bcac048
DM
8677 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
8678 necessary.
8679 (const_hash): Hash val is unsigned long.
8680 (SYMHASH): Likewise.
8681
8682 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
8683
8684 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
8685 char pointer, not HOST_WIDE_INT.
8686 (print_node): Likewise. Also hash is unsigned long not
8687 HOST_WIDE_INT.
8688
8689 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
8690
c9ec4f99
DM
8691 * explow.c (optimize_save_area_alloca): New function for targets
8692 where SETJMP_VIA_SAVE_AREA is true.
8693 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
8694 compute the amount of stack space needed should we find later that
8695 setjmp is never called by this function, stuff rtl for this inside
8696 a REG_NOTE of the final SET of stack_pointer_rtx.
8697 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
8698 current_function_calls_alloca, call optimize_save_area_alloca.
8699
ca097615
JW
8700Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
8701
8702 * i386.md: Remove redundant integer push patterns.
8703 Don't bother checking for TARGET_PUSH_MEMORY when
8704 pushing constants or registers.
8705
a3105a89
MK
8706Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8707 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
b57062ca 8708
a3105a89
MK
8709 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
8710 (pwait): New function for mingw32.
8711
8712 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
8713 pipe support is broken for now.
8714
51549d76
LI
87151998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
8716
ffc3503d
JL
8717 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
8718 between frame_pointer_rtx, hard_frame_pointer_rtx, and
8719 arg_pointer_rtx is respected in initialization.
8720 (init_emit_once): Use gen_rtx_raw_REG() to create
8721 return_address_pointer_rtx.
8722
51549d76
LI
8723 * reorg.c: #include "expr.h" for rtx prototypes.
8724 * Makefile.in (reorg.o): Depend on expr.h
8725
b24a815b
PN
8726Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
8727
8728 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
8729 local_prefix to sub-make invocations.
8730
1e7b997a
DM
8731Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
8732
8733 * objc-parse.c: Recognize protocol qualifiers in class definitions.
8734
340fb41f
JL
8735Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
8736
ffc3503d
JL
8737 * rtl.h: Fix typos.
8738
aef28d1d 8739 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6885fc87 8740 * configure.in: Check for atol.
aef28d1d
JL
8741 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
8742
4399e7a3
JL
8743 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
8744
72ec635f
JL
8745 * loop.c (find_and_verify_loops): When attempting to move insns from
8746 inside the loop outside the loop, create a BARRIER if no suitable
8747 one was found.
8748
1be6e437
JL
8749 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
8750 favor of an equivalent change from gcc-2.8.
8751
340fb41f
JL
8752 * i386/x-sco5 (CC): Remove trailing whitespace.
8753
982255c8 8754Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 8755
982255c8
KG
8756 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
8757 (accessor_from_format): Likewise.
8758 (xmalloc): New function for use when linking with alloca.o.
8759
db8abea3
BH
8760Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8761
8762 * frame.c (find_fde): Correct FDE's upper bound.
8763
5d483f63
RH
8764Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
8765
8766 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
8767
9a960e6b
JL
8768Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
8769
8770 * calls.c (expand_call): Move #ifdef code out of macro argument
8771 lists.
8772 (emit_library_call, emit_library_call_value): Likewise.
8773
a4b18346
JL
8774Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
8775
8776 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
8777
a252996a
JL
8778Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
8779
8780 * version.c: Bump for snapshot.
8781
38a448ca
RH
8782Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
8783
8784 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
8785 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
8786 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
8787 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
8788 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
8789 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
8790 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
8791 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
8792 * unroll.c, varasm.c: Likewise.
8793 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
8794
8795Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
60db002d
GK
8796
8797 * mips.h: Fix some type-o's from a previous change.
8798
a8decb2c
JL
8799Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
8800
b57062ca 8801 * loop.c (check_dbra_loop): Make sure initial value is a
a8decb2c
JL
8802 CONST_INT before trying to normalize it.
8803
0e2b736c
RL
8804Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
8805
8806 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
8807
a3aa3d8c
HB
8808Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
8809
8810 * cppexp.c: Include gansidecl.h
8811
8b496c8d
ILT
8812Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
8813
8814 * svr4.h (LINK_SPEC): Never specify -h.
8815 * ptx4.h (LINK_SPEC): Likewise.
8816 * rs6000/sysv4.h (LINK_SPEC): Likewise.
8817 * sparc/sol2.h (LINK_SPEC): Likewise.
8818
c995fea1
RH
8819Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
8820
8d47dfc5
RH
8821 * c-typeck.c (comptypes): Exit early on NULL input.
8822
c995fea1
RH
8823 * haifa-sched.c (schedule_insns): Correctly remove inter-block
8824 dependencies after reload.
8825
88ea0ad1
FS
8826Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
8827
8828 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
8829
f5e86959
JL
8830Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
8831
8832 * alpha/vms.h (DIR_SEPARATOR): define
8833
8834Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6c32c807
BH
8835
8836 * Makefile.in (stamp-proto): Remove.
8837 (protoize.o, unprotoize.o): Straightforward compile.
8838 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
8839
93006f8c
MK
8840Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8841
8842 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
8843 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
8844
e4c4f8df
JL
8845Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
8846
8847 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
8848 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
8849 * sparc/netbsd.h, vax/netbsd.h: Likewise.
8850
4aa0c2a5
SS
8851Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
8852
8853 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
8854
c43143f6
JW
8855Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
8856
8857 * configure.in (target_cpu_default, target_cpu_default2): Use double
8858 quotes around them when testing their value.
8859 * configure: Rebuilt.
b57062ca 8860
4b8140a6
JC
8861Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
8862
8863 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
8864 to allocate rtx.
8865 (gendef): Call obstack_alloc_rtx.
8866
82de9b28 8867Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
fe07d4c1
RL
8868
8869 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
8870 for now.
8871
23092526 8872Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 8873
23092526
MK
8874 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
8875 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
8876 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
8877
b57062ca 8878Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
32318600
JW
8879
8880 * mips.md (return_internal): Change mode from SImode to VOIDmode.
8881
ef720b21
KJ
8882Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
8883
8884 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
8885 "-static".
8886
cde21847
SC
8887Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
8888
8889 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
8890 suffix from operand 3.
8891
184bb750
R
8892Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8893 Jeffrey A Law (law@cygnus.com)
8894
8895 * regmove.c: New implementation of regmove pass.
8896 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
8897 decls, make them have external linkage. Return a value from
8898 optimize_reg_copy_1.
8899 * reload.h (count_occurrences): Add decl.
8900 * reload1.c (count_occurrences): Delete decl, make it have external
8901 linkage.
8902 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
8903
3f9e9508 8904Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
b57062ca 8905
3f9e9508
JL
8906 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
8907 if it is not defined.
b57062ca 8908
3b80f6ca
RH
8909Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
8910
8911 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
8912 * emit-rtl.c (gen_rtx): Move special code to ...
8913 (gen_rtx_CONST_INT): New function.
8914 (gen_rtx_REG): New function.
8915 (*): Update all calls to gen_rtx.
8916 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
8917 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
8918 (GEN_INT): Call gen_rtx_CONST_INT.
8919 * gengenrtl.c: New file.
8920
1c72c7f6
JC
8921Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
8922
8923 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
8924 (base_alias_check): If no base found for address call canon_rtx and
8925 try again.
8926
8fa4e1b4
JL
8927Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
8928
8929 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
8930 arguments for mips16.
8931 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
8932 Don't lose if tsize is zero after handling large stack for mips16.
8933 * mips.md (return): For trivial return, return address is in $31.
8934
eb774d8d
NS
8935Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
8936
8937 * mips/mips16.S: Various changes to make it work with -msingle-float
8938 and -EL.
8939
2bcb2ab3
GK
8940Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
8941 Ian Lance Taylor <ian@cygnus.com>
8942 Jeff Law <law@cygnus.com>
8943
8944 * mips.c, mips.h, mips.md: First cut at merging in mips16
8945 support. Major modifications throughout all three files.
8946
db0d1ed9
SS
8947Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
8948
8949 * configure.in: Make gthr-default.h a forwarding header instead of
8950 a symlink.
8951
79873958
KG
8952Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8953
86e011ad
KG
8954 * gcov-io.h: Include sys/types.h to ensure we get size_t.
8955
79873958
KG
8956 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
8957
35a42f5f
JW
8958Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
8959 Jeffrey A Law (law@cygnus.com)
8960
8961 * crtstuff.c (__frame_dummy): New function for irix6.
8962 (__do_global_ctors): Call __frame_dummy for irix6.
8963 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
8964
ef86d2ee
WL
8965Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
8966
8967 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
8968
6c174fc0
RH
8969Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
8970
8971 * c-decl.c (init_decl_processing): Provide proper fallback symbol
8972 for __builtin_memset.
8973 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
8974 not INTEGER_CST. Assert arg 3 is a constant.
8975
8976 * alpha.c (mode_width_operand): Accept 64-bit modes.
8977 (mode_mask_operand): Likewise.
8978 (print_operand): Likewise for 'M' and 'U' codes.
8979 (alpha_expand_unaligned_load): New function.
8980 (alpha_expand_unaligned_store): Likewise.
8981 (alpha_expand_unaligned_load_words): Likewise.
8982 (alpha_expand_unaligned_store_words): Likewise.
8983 (alpha_expand_block_move): Likewise.
8984 (alpha_expand_block_clear): Likewise.
8985 * alpha.h (MOVE_RATIO): New define.
8986 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
8987 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
8988
8989 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
8990 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
8991
8fbf199e
RH
8992Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
8993
8994 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
8995 * configure: Update.
8996
2d490e3e
JL
8997Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
8998
aa2ae679
JL
8999 * emit-rtl.c (operand_subword): Correctly handle extracting a word
9000 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
9001
2d490e3e
JL
9002 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
9003 for first argument.
9004
6e26218f
ILT
9005Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
9006
9007 * configure.in: Set and subsitute host_exeext. Use it when creating
9008 the assembler and linker symlinks.
9009 * configure: Rebuild.
9010 * Makefile.in (exeext): Set to @host_exeext@.
9011 (build_exeext): New variable, set to @build_exeext@.
9012 (FLAGS_TO_PASS): Pass down build_exeext.
9013 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
9014 programs.
9015
1b31097e
JL
9016Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
9017
9018 * mn10200.md (addsi3, subsi3): Fix thinkos.
9019
194faace
RH
9020Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
9021
9022 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
9023 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
9024 unix always, since we want to be able to thunk to functions in a
9025 shared library from an application.
9026
975602f8
ILT
9027Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
9028
9029 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
9030 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
9031
0eb1ad44
JL
9032Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
9033
9034 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
9035 offset's mode is not ptr_mode, convert it.
9036
eff0f7ac
MM
9037Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
9038
9039 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
9040 compiling if it was already defined.
9041
2c3a56ad
JL
9042Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
9043
9044 * flow.c (find_basic_blocks): Don't create a new basic block
9045 for calls in a LIBCALL block.
9046
fc97718f
DE
9047Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
9048
9049 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
9050
5b5a2a1e
JL
9051Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
9052
9053 * cse.c (rtx_cost): Remove conflicting default case.
9054
128f7968
RH
9055Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
9056
9057 * configure.in: Move default enabling of Haifa out of for loop.
9058 * configure: Rebuild.
9059
e81b4fbe
JL
9060Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
9061
9062 * version.c: Bump for snapshot.
9063
f24af81b
TT
90641997-12-25 Teemu Torma <tot@trema.com>
9065
9066 * Makefile.in (GTHREAD_FLAGS): New var.
9067 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
9068 (distclean): Remove gthr-default.h.
9069
9070 * configure.in: Accept dce as a thread package.
9071 Check for thread.h and pthread.h.
9072 Link gthr-default.h to appropriate thread file and set
9073 gthread_flags.
9074 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
9075 include multilib definitions from pa/t-dce-thr.
9076 (sparc-*-solaris2*): Enable threads by default, if thread.h or
9077 pthread.h is found, preferring posix threads over solaris ones.
9078
9079 * config/pa/t-dce-thr: New file.
9080 * config/pa/t-pa: Removed multilibs.
9081 * config/sparc/t-sol2: Ditto.
b57062ca 9082
f24af81b
TT
9083 * gthr.h: New file.
9084 * gthr-single.h: New file.
9085 * gthr-posix.h: New file.
9086 * gthr-solaris.h: New file.
9087 * gthr-dce.h: New file.
9088 * libgcc-thr.h: Removed.
9089 * objc/thr-dce.c: New file copied from thr-decosf1.c.
9090
9091 * frame.c: Include gthr.h instead of libgcc-thr.h.
9092 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
9093 (eh_context_initialize): If __gthread_once fails, use static eh
9094 context.
9095 (eh_context_free): Call __gthread_key_dtor.
9096
d9a4ee00
JL
9097Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
9098
9099 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
9100
04bd620d
JW
9101Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
9102
556c714b 9103 * cse.c (max_insn_uid): New variable.
556c714b
JW
9104 (cse_around_loop): Use max_insn_uid.
9105 (cse_main): Set max_insn_uid.
9106
04bd620d
JW
9107 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
9108 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
9109 -mlong64, and -mgp{32,64} options.
9110 * mips.c (mips_abi): Change type to int.
9111 * mips.h (enum mips_abi_type): Delete.
9112 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
9113 (mips_abi): Change type to int.
9114
439d5a35
JC
9115Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
9116
9117 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
9118 optimization is now always enabled.
9119
9120 * calls.c (expand_call): Recognize C++ operator new as malloc-like
9121 function.
9122
9123 * alias.c (memrefs_conflict_p): Eliminate tests now done by
9124 base_alias_check.
9125 (*_dependence): Call canon_rtx before base_alias_check.
9126 (init_alias_once): New function to precompute set of registers which
9127 can hold Pmode function arguments.
9128
9129 * rtl.h: Declare init_alias_once.
9130
9131 * toplev.c (compile_file): Call init_alias_once.
9132
280e521f
JL
9133Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
9134
9135 * tree.c (restore_tree_status): Do not dereference a null pointer.
9136
95b8c0c8
PE
9137Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
9138
9139 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
9140 RLIMIT_STACK. This maintains consistency with the recent, similar
9141 patch to cccp.c and toplev.c.
9142
71d9b493
RH
9143Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
9144
9145 * genattrtab.c (expand_units): For large nr opclasses, expand
9146 function_units_used with ORX to prevent blowups. Tag with FFS.
9147 (num_unit_opclasses): New variable.
9148 (gen_unit): Update it.
9149 (enum operator): Add ORX_OP.
9150 (operate_exp): Treat ORX as or, except don't expand across an if.
9151 Reuse number rtx's after operating on them.
9152 (check_attr_value): Accept IOR, AND, & FFS.
9153 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
9154 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
9155 (write_expr_attr_cache, write_toplevel_expr): New functions.
9156 (write_attr_get): Handle FFS-tagged expressions.
9157 (make_canonical): Don't expand const attributes.
9158 (convert_const_symbol_ref): Dike out.
9159 (evaluate_eq_attr): Handle SYMBOL_REF.
9160 (main): Don't emit get_attr_foo for const attributes.
9161
9162 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
9163 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
9164 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
b57062ca
UD
9165 * alpha.md: Redo all of the scheduling, adding EV6 support, and
9166 combining function units where possible.
71d9b493
RH
9167 (attr "type"): Split loads, stores, cmov into int/fp. Combine
9168 multiplies and divides. Add EV6 sqrt, ftoi, itof.
9169 (attr "opsize"): New attribute.
9170 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
9171 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
9172 to control register allocation.
9173 (movsi2-1, movdi2-1): Likewise.
9174
b0435cf4 9175Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
b57062ca 9176
b0435cf4
RH
9177 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
9178 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
9179 Move OSF/1 specific defines out.
9180 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
9181 Move Linux specific defines out.
9182 (LINK_SPEC): Genericize.
9183 (ASM_FILE_START): Emit .arch if using more than the base insn set.
9184 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
9185 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
9186 (HANDLE_SYSV_PRAGMA): Define.
9187 * alpha/osf.h: New file.
9188 * alpha/linux.h: Split. Retain file-format independant defines.
9189 Import Linux bits from elf.h.
9190 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
9191 (FUNCTION_PROFILER): _mcount takes its address in $28.
9192 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
9193 * alpha/linux-ecoff.h: New file.
9194 * alpha/linux-elf.h: New file.
9195 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
9196 * alpha/win-nt.h (TARGET_DEFAULT): Define.
9197 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
9198 Add new headers as appropriate.
b57062ca 9199
b0435cf4
RH
9200 * configure.in (alpha*): Enable Haifa by default.
9201 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
9202 * configure: Rebuild.
b57062ca 9203
5768f211
RH
9204Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
9205
9206 * Makefile.in (clean): Remove the stages with their objects here ...
9207 (distclean): ... instead of here.
9208
9e04c65a 9209Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 9210
9e04c65a
KG
9211 * cse.c (rtx_cost): Add default case in enumeration switch.
9212 * fix-header.c (recognized_macro): Likewise.
9213 (recognized_extern): Likewise.
9214 (write_rbrac): Likewise.
9215 * objc/objc-act.c (encode_aggregate): Likewise.
9216 (gen_declarator): Likewise.
9217 (gen_declspecs): Likewise.
9218
1d88b804
JL
9219Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
9220
9221 * haifa-sched.c (create_reg_dead_note): Detect and handle another
9222 case where we kill more regs after sched than were killed before
9223 sched.
9224 * sched.c (create_reg_dead_note): Similarly.
9225
bbeba0ba
JL
9226Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
9227
9228 * c-pragma.c: Include flags.h.
9229
05853640
MK
9230Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
9231
9232 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
9233 about system headers.
9234 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
9235 and also to resolve symbols in prefix.c.
9236
9237 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
9238 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
9239 when the definitions in auto-config.h is not visible.
9240 (HAVE_BZERO): Likewise.
9241 (HAVE_BCMP): Likewise.
9242 (HAVE_RINDEX): Likewise.
9243 (HAVE_INDEX): Likewise.
9244
44201dba
JL
9245Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
9246
9247 * pa.c (emit_move_sequence): Handle a function label source
9248 operand.
9249
d300e551
NC
9250Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
9251
9252 * c-pragma.c (handle_pragma_token): Generate warning messages
9253 about unknown pragmas if warn_unknown_pragmas is set.
9254
9255 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
9256 line option to set variable: warn_unknown_pragmas.
9257
d3245704
MH
9258Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
9259
9260 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
9261 definition.
9262 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
9263
5198352e
JL
9264Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
9265
9266 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
9267 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
9268 generate more fine grained floating point emulation libraries.
9269 * config/fp-bit.c: Add protecting #ifdef to all functions so
9270 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
9271 then compile all suitable functions.
9272 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
9273 underscores to avoid namespace pollution.
9274 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
9275 (FPBIT): Define.
9276 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
9277 (FPBIT): Define.
9278 (DPBIT): Define.
9279
9f1ff8e8 9280Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1d300e19
KG
9281 Jeff Law <law@cygnus.com>
9282
9283 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
9284 of the declaration.
9285 * c-decl.c (finish_decl): Use parentheses around && within ||.
9286 * rtl.c: Include stdlib.h.
9287 (read_skip_spaces): Add parentheses around assignments used as
9288 truth values.
9289 (read_rtx): Initialize list_rtx.
9290 * cppexp.c (parse_number): Use || when operands are truth values.
9291 * alias.c (find_base_value): Add default case.
9292 (memrefs_conflict): Likewise.
9293 * combine.c (sets_function_arg_p): Likewise.
9294 * genemit.c (gen_exp): Likewise.
9295 * local-alloc.c (contains_replace_regs): Likewise.
9296 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
9297 * fold-const.c (fold_convert): Use "&&" for truth values.
9298 (fold): Add default case.
9299 * sdbout.c (sdbout_field_types): Fix typo in declaration.
9300 (sdbout_one_type): Add default case.
9301 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
9302 (some_operand): Add default case.
9303 (input_operand): Likewise.
9304 (signed_comparison_operator): Likewise.
9305 (divmod_operator): Likewise.
9306 (alpha_set_memflags_1): Likewise.
9307 * reload1.c (reload_cse_simplify_operands): Ensure function
9308 always returns a value.
9309 * scan-decls.c (scan_decls): Likewise.
9310 * c-lex.c (skip_white_space): Fix typo in declaraion.
9311 * c-typeck.c (comp_target_types): Add parentheses around assignment
9312 used as truth value.
9313 (print_spelling): Likewise.
9314 (constructor_implicit, constructor_result): Remove unused variables.
9315 * collect2.c (scan_library): Protect prototype with
9316 #ifdef SCAN_LIBRARIES.
9317 * emit-rtl.c (find_line_note): Fix typo in declaration.
b57062ca 9318 * final.c (asm_insn_count): Protect prototype with
1d300e19
KG
9319 #ifdef HAVE_ATTR_length.
9320 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
9321 (try_pre_increment_1, try_pre_increment): Likewise.
9322 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
9323 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
9324 * gcov-io.h (__store_long, __write_long, __read_long): Fix
9325 unsigned/signed comparisons.
9326 * gcov.c (read_files): Remove unused "first_type" variable.
9327 (scan _for_source_files): Initialize s_ptr.
9328 (function_summary): Eliminate "%lf" formatting, use %ld for
9329 longs.
9330 (output_data): Initialize branch_probs and last_line_num.
9331 Eliminate "%lf" formatting, use "%ld" for longs.
9332
18543a22
ILT
9333Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
9334
afba61d1
ILT
9335 * mips16.S: New file.
9336
9337 * libgcc2.c (varargs): Handle mips16.
9338
18543a22
ILT
9339 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
9340 expression.
9341 * stmt.c (expand_end_case): Likewise.
9342 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
9343 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
33f7f353 9344 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
18543a22 9345
dbf3231e
AS
9346Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9347
9348 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
9349 the build directory.
9350 (libobjc.a): Update dependency list.
9351 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
9352 directory.
9353 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
9354 (objc.mostlyclean): Remove runtime-info.h.
9355
e1ee5cdc
RH
9356Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
9357
9358 * tree.c (build_range_type): Allow creation of ranges with no maximum.
9359 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
9360 * dwarf2out.c (add_subscript_info): Likewise.
9361 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
9362 * sdbout.c (plain_type_1): Likewise.
9363 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
9364 Likewise.
9365 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
9366 Likewise.
9367
dfe91418 9368Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 9369
dfe91418
JL
9370 * mips.c (fatal): Remove declaration.
9371
93721997-12-18 Mark Mitchell <mmitchell@usa.net>
9373
9374 * integrate.c (get_label_from_map): New function.
9375 (expand_inline_function): Use it. Initialize the label_map to
9376 NULL_RTX instead of gen_label_rtx.
9377 (copy_rtx_and_substitute): Use get_label_from_map.
9378 * integrate.h (get_label_from_map): New function.
9379 (set_label_from_map): New macro.
9380 * unroll.c (unroll_loop): Use them.
9381 (copy_loop_body): Ditto.
9382
337e2b69
ILT
9383Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
9384
9385 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
9386 (INIT_TARGET_OPTABS): Define.
9387 * mips/ecoff.h: Include gofast.h before mips.h.
9388 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
9389 * mips/elf64.h: Likewise.
9390 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
9391
02531345
JM
9392Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
9393
9394 * except.c: Remove register_exception_table{,_p}.
9395
913b5d54
GK
9396Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
9397
efb84aa5
GK
9398 * unroll.c (calculate_giv_inc): Handle constant increment found in
9399 a MEM with an appropriate REG_EQUAL note.
9400
bb1b857a
GK
9401 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
9402
913b5d54
GK
9403 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
9404 frame pointer in the prologue.
9405
80aab652
RL
9406Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
9407
9408 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
9409 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
9410
f5c4bc60 9411Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
b57062ca 9412
f5c4bc60
BM
9413 * config/m68k/m68k.c (output_function_prologue): Typecast
9414 dwarf2out_cfi_label to (char *).
9415 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
b57062ca 9416
8dcb5295
RH
9417Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
9418
9419 * sparc.md (jump): Don't use the annul bit around an empty loop.
9420 Patch from Kevin.Kelly@East.Sun.COM.
9421
a99503b1
SC
9422Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
9423
b57062ca 9424 * jump.c: (jump_optimize): Don't use the return register as a
a99503b1
SC
9425 source1 of a conditional move.
9426
e13c943c
RH
9427Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
9428
9429 * sparc.c (DF_MODES): Or the mask not the bit number.
9430 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
9431
be3d27d6
CI
9432Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9433
9434 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
9435
f184a264
MH
9436Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
9437
ade7386a
MH
9438 * fixincludes (size_t): Add support for Motorola's stdlib.h
9439 which fails to provide a definition for size_t.
9440 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
9441 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
9442 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
9443
f184a264
MH
9444 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
9445 prevent unresolved externals in libio.
9446 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
9447
afc96791
L
9448Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
9449
9450 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
9451 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
9452 (LIB_SPEC): Updated for glibc 2.
9453
e9818f3c
JL
9454Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
9455
9456 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
9457 * ginclude/varargs.h: Likewise.
9458
a3fd4e75 9459Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
9460
9461 * version.c: Bump for snapshot.
9462
a3fd4e75
JL
9463Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
9464
9465 * frame.h (__register_frame, __register_frame_table,
9466 __deregister_frame): New.
9467 * frame.c (__register_frame, __register_frame_table,
9468 __deregister_frame): New.
9469 * frame.c (__deregister_frame_info): Return void *.
9470 * frame.h (__deregister_frame_info): Ditto.
9471 * collect2.c (__deregister_frame_info): Ditto.
9472
166cdf4a
RH
9473Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
9474
9475 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
9476
bcbbac26
RH
9477Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
9478
9479 * alpha.c (alpha_cpu_name): New variable.
9480 (alpha_mlat_string): Likewise.
9481 (alpha_memory_latency): Likewise.
9482 (override_options): Handle -mmemory-latency.
9483 (alpha_adjust_cost): Adjust load cost for latency.
9484 * alpha.h (TARGET_OPTIONS): Add meory-latency.
9485 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
9486 TARGET_CIX into account.
9487 (MEMORY_MOVE_COST): Define in terms of memory_latency.
9488 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
9489
9490 * alpha.h (ASM_COMMENT_START): New macro.
9491
9492Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
9493
9494 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
9495 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
9496
9497 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
9498 SUBREG_REG if the word count is unchanged.
9499 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
9500 subregs of identical word size for push_reload.
9501
a701efba
MM
9502Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
9503
9504 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
9505 if all we're doing is dealing with -Wreturn-type.
9506
5e21ac7a
RH
9507Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
9508
9509 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
9510 Use and 255 instead of zapnot 1, since it schedules better.
9511
296f8acc
JL
9512Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
9513
9514 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
9515 it as volatile.
9516
6d8ccdbb
JL
9517Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
9518
9519 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
9520 dependency we delete. Properly update prev for multiple consecutive
9521 deletions.
9522 (priority): Skip deleted dependence.
9523
14e83f2e
PB
9524Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
9525
9526 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
9527
100d81d4
JM
9528Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9529
9b8d9d6b
JM
9530 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
9531 determining when a new basic block starts.
9532
74c3447c
JM
9533 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
9534
9535 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
9536 * pa.md (iorsi3): Add missing args to *_operand calls.
9537
100d81d4
JM
9538 * except.c (call_get_eh_context): Don't mess with sequences.
9539 (emit_eh_context): Include the call in the sequence here.
9540
5a5ab947
PE
95411997-12-11 Paul Eggert <eggert@twinsun.com>
9542
9543 * collect2.c (write_c_file_glob): Allocate initial frame object
9544 in static storage and pass its address.
9545
01eb7f9a
JM
9546Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9547
9548 * except.c (call_get_eh_context): Don't take a parm.
9549 Put the call at the top of the function.
9550 (emit_eh_context): Adjust.
9551 (get_eh_context): Replace with former use_eh_context.
9552 (get_eh_context_once, get_saved_pc_ref): Remove.
9553 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
9554 * except.h: Adjust.
9555 * integrate.c (expand_inline_function): Adjust.
9556 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
9557
d19814a3
ML
9558Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
9559
9560 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
9561 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
9562
7567d496
MH
9563Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
9564
ade7386a 9565 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496 9566 layout on sysV88.
b57062ca 9567 (hypot): Provide a fake for hypot which is broken on
7567d496
MH
9568 m88k-motorola-sysv3.
9569
0a6969ad
JC
9570Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
9571
9572 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
9573 tree_code_name from pointers to arrays.
9574 * tree.c: Remove standard_tree_code_* variables, no longer used.
9575 * print-tree.c: Remove declaration of tree_code_name.
9576
9577 * cp/lex.c (init_lex): Update for tree_code_* changes.
9578 * objc/objc-act.c (init_objc): Likewise.
9579
9580 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
9581 changes.
9582
c55dcc7d
FF
9583Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
9584
9585 * config.sub: Add support for BeOS target.
9586 * configure.in: Likewise.
9587 * ginclude/stdarg.h: Likewise.
9588 * ginclude/stddef.h: Likewise.
9589 * ginclude/varargs.h: Likewise.
9590 * rs6000/beos.h: New file for BeOS.
9591 * rs6000/t-beos: Likewise.
9592 * rs6000/x-beos: Likewise.
9593 * rs6000/xm-beos.h: Likewise.
9594 * toplev.c (get_run_time): Just return 0 on BeOS.
9595
9cf3ae46
JL
9596Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
9597 Toon Moene (toon@moene.indiv.nluug.nl)
9598
9599 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
9600 old and broken Sun3 assemblers. Newer versions handle large
9601 offsets correctly as does the GNU assembler.
9602
7cc273ad
L
9603Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9604
9605 * objc/objc-act.c (lang_report_error_function): Disable.
9606 * objc/objc-parse.y: Include "output.h".
9607 (yyerror): Remove redundant decl.
9608 (yyprint): Fix prototype.
9609 (apply_args_register_offset): Remove redundant decl.
9610 (get_file_function_name): Likewise.
9611
74d7ab55
JM
9612Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
9613
9614 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
9615 a new basic block.
9616 (find_basic_blocks_1): Likewise.
9617
0776059e
JM
9618Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9619
9620 * except.c (use_eh_context): Don't copy_rtx a REG.
9621 (emit_throw): Lose old unwinder support.
9622 (expand_internal_throw): Likewise.
9623 * libgcc2.c (struct eh_context): Likewise.
9624 (new_eh_context): Likewise.
9625 (__get_eh_info): Lose redundant cast.
9626 (__get_dynamic_handler_chain): Likewise.
9627 (__get_saved_pc): Lose.
9628 Lose all old unwinder support code.
9629
154bba13
TT
9630Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
9631
9632 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
b57062ca 9633
154bba13
TT
9634 * integrate.c (expand_inline_function): If the inline fn uses eh
9635 context, make sure that the current fn has one.
9636 * toplev.c (rest_of_compilation): Call emit_eh_context.
9637 * except.c (use_eh_context): New fn.
9638 (get_eh_context_once): New fn.
9639 (call_get_eh_context): New fn.
9640 (emit_eh_context): New fn.
9641 (get_eh_context): Call either get_eh_context_once or
9642 call_get_eh_context, depending on what we have.
9643 (get_dynamic_handler_chain): Call get_eh_context_once.
9644 * except.h: Prototypes for fns above.
9645 * optabs.c (get_eh_context_libfunc): Removed.
9646 (init_optabs): Don't initialize it.
9647 * expr.h (get_eh_context_libfunc): Removed.
9648 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
9649 * config/pa/pa.h (CPP_SPEC): Support for -threads.
9650 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
9651 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9652 New multilib for -threads.
9653 * config/sparc/t-sol2: Added multilibs for -threads and
9654 made -pthreads alias to it.
9655 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
9656 Added -threads and -pthreads options.
9657 * libgcc-thr.h: New file.
9658 * libgcc2.c: (__get_cpp_eh_context): Removed.
9659 (struct cpp_eh_context): Removed.
9660 (struct eh_context): Replaced cpp_eh_context with generic language
b57062ca 9661 specific pointer.
154bba13
TT
9662 (__get_eh_info): New function.
9663 (__throw): Check eh_context::info.
9664 (__sjthrow): Ditto.
9665 * libgcc2.c: Include libgcc-thr.h.
9666 (new_eh_context, __get_eh_context,
9667 eh_pthread_initialize, eh_context_initialize, eh_context_static,
9668 eh_context_specific, eh_context_free): New functions.
9669 (get_eh_context, eh_context_key): New variables.
9670 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
9671 get_eh_context to get the context.
9672 (longjmp): Move the declaration inside
9673 #ifdef DONT_USE_BUILTIN_SETJMP.
9674 * frame.c: Include libgcc-thr.h.
9675 (object_mutex): Mutex to protect the object list.
9676 (find_fde, __register_frame, __register_frame_table,
9677 __deregister_frame): Hold the lock while accessing objects.
9678 * except.h (get_eh_context): Declare.
9679 * except.c (current_function_ehc): Define.
9680 (current_function_dhc, current_function_dcc): Removed.
9681 (get_eh_context): New function.
9682 (get_dynamic_handler_chain): Use get_eh_context.
9683 (get_saved_pc_ref): Ditto.
9684 (get_dynamic_cleanup_chain): Removed references to
9685 current_function_dcc.
9686 (save_eh_status, restore_eh_status): Save and restore
9687 current_function_ehc instead.
9688 * optabs.c (get_eh_context_libfunc): New variable.
9689 (init_optabs): Initialize it.
9690 * expr.h: Declare get_eh_context_libfunc.
9691 * function.h (struct function): Replaced dhc and dcc with ehc.
9692 * except.c (get_saved_pc_ref): New functions.
9693 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
9694 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
9695 of eh_saved_pc.
9696 (end_eh_unwinder): Likewise.
9697 (init_eh): Remove initialization of eh_saved_pc.
9698 * optabs.c (get_saved_pc_libfunc): New variable.
9699 (init_optabs): Initialize it.
9700 * expr.h: Declare get_saved_pc_libfunc.
9701 * except.h (eh_saved_pc_rtx): Deleted.
9702 (get_saved_pc_ref): Declared.
9703
9704 From Scott Snyder <snyder@d0sgif.fnal.gov>:
9705 * libgcc2.c (__get_saved_pc): New.
9706 (__eh_type, __eh_pc): Deleted.
9707 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
9708 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
9709 this fcn.
9710
68d75312
JC
9711Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
9712
b16d8734
JC
9713 * sparc/sol2.h: Use 64 bit multiply and divide functions in
9714 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
9715 as 0.
9716
68d75312
JC
9717 * rtl.h (global_rtl): New variable, replacing separate variables for
9718 commonly used rtl.
9719 (const_int_rtx): Now array of rtx_def, not rtx.
9720 * emit-rtl.c: Update for new rtl data structures.
9721 * genattrtab.c: Define global_rtl.
9722
44517326 9723Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 9724
44517326
DE
9725 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
9726 default.
f40421ce 9727
8587487b
AG
9728Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
9729
9730 * crtstuff.c (__do_global_ctors): Fix typo.
9731
08ce3276
MH
9732Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
9733
9734 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9735 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9736
c229cba9
DE
9737Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
9738
9739 * rs6000.h (FUNCTION_ARG_PADDING): Define.
9740 * rs6000.c (function_arg_padding): New function.
9741
b2c59d0b
MH
9742Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
9743
9744 * m68k.c: Include tree.h only once.
9745
c1132c27
RK
9746Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9747
9748 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
9749
ac957f13
JL
9750Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
9751
9752 * Partially cleaned up prototyping code from HJ.
a1d061a1 9753 * tree.h: Add many prototypes.
ac957f13
JL
9754 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
9755 All references changed.
9756 * rtl.h: Protect from multiple inclusions. Add many prototypes.
b57062ca 9757
f40421ce 9758Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
9759
9760 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
9761 string functions like strlen.
9762
0a232106
MH
9763Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
9764
9765 * configure.in: Check for functions getrlimit and setrlimit.
9766 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9767 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9768
25b76cc1
JS
9769Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
9770
9771 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
9772
26250081
RH
9773Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
9774
9775 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
9776 Fix merge problems.
9777
9778 * alpha.c (override_options): Don't know about scheduling for EV6.
9779 * alpha.md (ev5 function units): Don't overload as ev6.
9780
9781 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
9782 * alpha.md (define_attr type): Add mvi.
9783 (ev5_e0): Define sceduling parameters for it.
9784 (TARGET_MAX insns): Type is mvi not shift.
9785
7120f213
RH
9786Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
9787
9788 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
9789
afa80947
R
9790Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9791
9792 * cstamp-h, auto-config.h: Delete.
9793
51ca169b
JL
9794Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
9795
9796 * version.c: Bump for snapshot.
9797
16169366
JL
9798Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
9799
9800 * cccp.c: Fix typo brought over in merge.
9801
efeb5d4f 9802 * Merge in changes from gcc-2.8.
0fe09481 9803
da932f04
JL
9804Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
9805
9806 * m68k.c: Include tree.h for dwarf2out_cfi_label.
9807
9808 * gcc.c (process_command): Do not take address of function fatal when
9809 calling lang_specific_driver.
9810
9811Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
9812
b57062ca 9813 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
da932f04
JL
9814 doesn't work with it yet, so set it to 0.
9815 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
9816
9817Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9818
9819 * cse.c (cse_insn): Check for invalid entries when taking references.
9820
81797aba
JL
9821Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9822
9823 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
9824 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
9825 * toplev.c (rest_of_compilation): Pass it. Remove code to
9826 save / clear / restore flag_unroll_{,all_}loops.
9827
9828Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
9829
9830 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
9831
9832Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
9833
9834 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
9835
5dfa7520
JM
9836Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
9837
d07daca1
JM
9838 * except.c (get_dynamic_handler_chain): Only make the call once per
9839 function.
9840
5dfa7520
JM
9841 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
9842
4d7b7169
R
9843Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9844
9845 * sh.c (final_prescan_insn): Use local label prefix
9846 when emitting .uses pseudo-ops.
9847
e701eb4d
JM
9848Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9849
9850 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
9851 * except.c: Lose outer_context_label_stack.
9852 (expand_eh_region_end): Rethrow from outer_context here.
9853 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
9854 (expand_internal_throw): Take no args.
9855 (expand_internal_throw_indirect): Lose.
9856 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
9857 (expand_start_all_catch): Start a rethrow region.
9858 (expand_end_all_catch): End it.
9859 (expand_rethrow): New fn.
9860 * except.h: Reflect above changes.
9861 * flow.c: Revert change of Nov 27.
9862
6a242b6a
JL
9863Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
9864
9865 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
9866
9762d48d
JM
9867Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9868
9869 * except.c (expand_fixup_region_end): New fn.
9870 (expand_fixup_region_start): Likewise.
9871 (expand_eh_region_start_tree): Store cleanup into finalization here.
9872 * stmt.c (expand_cleanups): Use them to protect fixups.
9873
868e82ab
GK
9874Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
9875
9876 * mips/mips.md (muldi3_r4000): Broaden the output template
9877 and attribute assignments to handle three operand dmult;
9878 rename to muldi3_internal2.
9879 (muldi3): Call the new muldi3_internal2 for R4000, and
9880 any GENERATE_MULT3 chip.
9881
716cc7f7
JM
9882Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
9883
9884 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
9885
9fb82071
JW
9886Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
9887
9888 * unroll.c (find_splittable_givs): Remove last change. Handle givs
9889 with a dest_reg that was created by loop.
9890
f2d76545
JL
9891Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
9892
9893 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
9894
9895 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
9896
b4dfb707
JL
9897Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
9898
9899 * configure.in: Fix NCR entries.
9900
80c2681c
JL
9901Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
9902
586a5f99
JL
9903 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
9904 nested exceptions correctly.
9905
80c2681c
JL
9906 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
9907 that was created by loop.
9908
f45ebe47
JL
9909Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9910
9911 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
9912
9913 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
9914
034e84c4
MM
9915Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
9916
8fbd2dc7
MM
9917 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
9918 (print_operand): Use SMALL_DATA_REG for the register involved in
9919 small data relocations.
9920 (print_operand_address): Ditto.
9921
9922 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
9923 -dynamic linker is not used.
9924
a226df46
MM
9925 * rs6000.md (call insns): For local calls, use @local suffix under
9926 System V. Don't use @plt under Solaris.
9927
034e84c4
MM
9928 * rs6000.c (output_function_profiler): Put label address in r0, and
9929 store LR in 4(sp) for System V/eabi.
9930
9931 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
9932 byte boundary, and maintain stack backchain.
9933
f2d76545
JL
9934Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9935
9936 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9937 fix_truncsfdi2): Change *.
9938
33e5c8c3
JM
9939Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
9940
9941 * toplev.c (main): Complain about -gdwarfn.
9942
f45ebe47
JL
9943Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
9944
b57062ca 9945 * dwarfout.c (output_type): If finalizing, write out nested types
f45ebe47
JL
9946 of types we've already written.
9947
92dcf4c8
MM
9948Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
9949
9950 (patches originally from Geoffrey Keating)
9951 * rs6000.c (function_arg): Excess floating point arguments don't
9952 go into GPR registers after exhausting FP registers under the
9953 System V.4 ABI.
9954 (function_arg_partial_nregs): Ditto.
9955
9956 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
9957 suffix to calls.
9958
f4744807
JM
9959Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
9960
9961 * integrate.c (output_inline_function): Just unset DECL_INLINE.
9962
9963Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
9964
9965 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
9966 proper alignment.
9967
9968 * libgcc2.c (__throw): Initialize HANDLER.
9969
0609f021
JW
9970Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9971
9972 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9973 fix_truncsfdi2): Change *X to ?*X.
9974
c905c108
RH
9975Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
9976
9977 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
9978
5041a61c
JL
9979Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
9980
9981 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
9982
bb727b5a
JM
9983Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
9984
9985 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
9986
9987Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
9988
9989 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
9990 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
9991 * expr.h: Likewise.
9992
f45ebe47
JL
9993Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
9994
9995 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
9996 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
9997 gas and not using the new HP assembler.
9998
ef85603e
JL
9999Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
10000
10001 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
10002 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
10003
6cc1f5cb
AC
10004Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
10005
10006 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
10007 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
10008 definition.
10009
72eb1038
BH
10010Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
10011
10012 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
10013
1418bb67
JM
10014Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
10015
10016 * except.h: Add outer_context_label_stack.
10017 * except.c: Likewise.
10018 (expand_start_all_catch): Push the outer_context for the try block
10019 onto outer_context_label_stack.
10020 (expand_end_all_catch): Use it and pop it.
10021
9dab7833
RL
10022Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
10023
10024 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
10025
858e4e8c
RH
10026Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
10027
10028 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
10029
a21d14e9
KK
10030Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
10031
10032 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
10033 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
10034
ced78d8b
JM
10035Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
10036
10037 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
b57062ca 10038 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
ced78d8b
JM
10039 __builtin_delete, and __builtin_vec_delete.
10040
10041 * except.c (output_exception_table): Don't bother with
10042 __EXCEPTION_END__.
10043
a09ff88b
JL
10044Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
10045
1b8b89f1
JL
10046 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
10047 is an in/out operand.
10048 (zero extended variants of stwm/stwm patterns): Similarly.
10049
a09ff88b
JL
10050 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
10051
7bb9fb0e
JM
10052Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
10053
10054 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
10055 Use assemble_name.
10056 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
10057 (output_call_frame_info): Emit a \n after using it.
10058
9101297d
DL
10059Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
10060
10061 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
10062
2ed2af28
PDM
10063Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
10064
10065 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
10066 (ASM_OUTPUT_DWARF_VALUE4): New macro.
10067 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
10068 defined.
10069 (output_call_frame_info): Do not output forward label differences
10070 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
10071 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
10072
4dff12bf
R
10073Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10074
10075 * sh.md (attribute "type"): Add nil.
10076 (movsi_ie): y/y alternative is type nil.
10077 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
10078 alternatives.
10079 (movsf_ie+1): Delete.
10080
218c2cdb
JW
10081Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
10082
10083 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
10084 large_int, emit two insns instead of one splitable insn.
10085 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
10086 from cfa_temp_value, use cfa_offset. Add assert checking that
10087 cfa_reg is SP.
10088
d5b79362
TT
10089Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
10090
10091 * cccp.c (deps_output): Properly quote file names for make.
10092
de1ea87a
JL
10093Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
10094
10095 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
10096
cb0112a7
RL
10097Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
10098
10099 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
10100
85c3ba60
JL
10101Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
10102
10103 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
10104 return.
10105 (cse_end_of_basic_block): Similarly.
ef720b21 10106
9155d500
KJ
10107Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
10108
10109 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
10110 (SELECT_RTX_SECTION): Define.
10111 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
10112
4931312c
MH
10113Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
10114
10115 * Makefile.in (compare, compare-lean): Define $stage for each
10116 shell command.
10117 (gnucompare, gnucompare-lean): Likewise.
10118
8dfe3c62
RH
10119Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
10120
10121 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
10122
10123 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
10124 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
10125
874a8709
FF
10126Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
10127
10128 * dwarfout.c (byte_size_attribute): Add local var upper_bound
10129 and add case to handle STRING_TYPE.
10130 * dwarfout.c (output_string_type_die): Fix code to generate
10131 correct string length attribute for fixed length strings.
10132 Still needs support for varying length strings.
10133
ea466196
JL
10134Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
10135
10136 * toplev.c (get_run_time): Do something sensible for cygwin32.
10137
202f590e
RH
10138Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
10139
f35bcbc5
RH
10140 * expr.c (expand_builtin_setjmp): Set
10141 current_function_has_nonlocal_label.
10142 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
10143 call-saved registers across calls.
10144
10145 * alpha.md (exception_receiver): Remove.
10146 (nonlocal_goto_receiver_osf): New
10147 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
10148 (nonlocal_goto_receiver): New, select _osf or _vms.
10149
531ea24e
RH
10150 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
10151 keep them from being propogated to the object file.
10152 (alpha_write_linkage): Likewise.
10153 * alpha.md (call_vms): Likewise.
10154 (call_value_vms): Likewise.
10155 (unnamed osf call insns): Likewise.
10156
10157 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
10158 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
10159
202f590e
RH
10160 * alpha.c (call_operand): Any reg is valid for WinNT.
10161 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
10162 (anon nt calls): Add 'R' alternative.
10163 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
10164 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
10165
238ad62b
JL
10166Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
10167
f78b5ca1
JL
10168 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
10169
238ad62b
JL
10170 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
10171 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
10172 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
10173
da275344
MM
10174Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
10175
10176 * reload1.c (new_spill_reg): Improve fixed or forbidden register
10177 spill error message.
10178
1f1e1545
KG
10179Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10180
10181 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
10182 use varargs.h. Wrap header with <>, not "".
10183
daa4b717
JL
10184Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
10185
10186 * integrate.c (save_for_inline_copying): Add return value from
10187 savealloc.
10188
9bb5394e
BK
10189Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
10190
10191 * fixincludes: Be a little more restrictive on what we will
10192 substitute to replace definitions of MAXINT for HPUX.
10193
9571f69b
MM
10194Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
10195
10196 * dbxout.c (dbxout_symbol_location): Don't assume that variables
10197 whose address is the stack or argument pointers are indirect
10198 pointers.
10199
b57062ca
UD
102001997-11-13 Paul Eggert <eggert@twinsun.com>
10201
e7cbb6b6
PE
10202 * cccp.c, cpplib.c (compare_defs):
10203 Don't complain about arg name respellings unless pedantic.
b57062ca
UD
10204 * cpplib.c (compare_defs): Accept pfile as new arg.
10205 All callers changed.
e7cbb6b6 10206
9f29ca78
R
10207Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10208
10209 * fold-const.c (fold_truthop): Fix bug in last change.
10210
41c9120b
PE
102111997-11-13 Paul Eggert <eggert@twinsun.com>
10212
10213 Fix some confusion with IEEE minus zero.
10214
10215 * real.h (REAL_VALUES_IDENTICAL): New macro.
10216
10217 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
10218 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
10219 identical to 0.0.
10220 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
10221 same tree structure as 0.0.
10222
10223 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
10224 macro instead of doing it by hand.
10225
323d8e7b
JL
10226Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
10227
10228 * v850/lib1funcs.asm: Minor whitespace changes.
10229 * v850.c: Fix minor formatting problems in many places.
10230 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
10231
13529ea4
JW
10232Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
10233
10234 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
10235 xplus1 when xplus0 is not a register.
10236
759c135e
JL
10237Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
10238
8930b063
JL
10239 * flow.c (find_basic_blocks): During marking phase, if we encounter
10240 an insn with a REG_LABEL note, make the target block live and
10241 create an edge from the insn to the target block. Do not make
10242 edges from all blocks to the target block.
10243
0be28489
JL
10244 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
10245
759c135e
JL
10246 * confiugre.in: Tweak NCR entries.
10247 * configure: Rebuilt.
10248
47ad8c61
MM
10249Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
10250
10251 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
10252 pick apart floating point values, instead of using CONST_DOUBLE_LOW
10253 and CONST_DOUBLE_HIGH.
10254
10255 * rs6000.md (define_splits for DF constants): Use the appropriate
10256 REAL_VALUE_* interface to pick apart DF floating point constants in
10257 a machine independent fashion.
10258
5a6b3365
R
10259Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10260
10261 * fold-const.c (fold_truthop): When changing a one-bit comparison
10262 against zero into a comparison against mask, do a proper sign
10263 extension.
10264
2ec1535d
JL
10265Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
10266
3a88cbd1
JL
10267 * except.c: Do not include "assert.h".
10268 (save_eh_status): Turn asserts into conditional aborts.
10269 (restore_eh_status, scan_region): Likewise.
10270 * dwarfout.c: Do not include "assert.h".
10271 (bit_offset_attribute): Turn asserts into conditional aborts.
10272 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
10273 (output_inlined_structure_type_die): Likewise.
10274 (output_inlined_union_type_die): Likewise
10275 (output_tagged_type_instantiation): Likewise.
10276 (dwarfout_file_scope_decl): Likewise.
10277 * dwarf2out.c: Do not include "assert.h"
10278 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
10279 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
10280 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
10281 (add_bit_size_attribute, scope_die_for): Likewise.
10282 (output_pending_types_for_scope): Likewise.
10283 (get_inlined_enumeration_type_die): Likewise.
10284 (get_inlined_structure_type_die): Likewise.
10285 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
10286 (gen_tagged_type_instantiation_die): Likewise.
10287
2ec1535d
JL
10288 * flow.c (find_basic_blocks): Refine further to get a more correct
10289 cfg, especially in the presense of exception handling, computed
10290 gotos, and other non-trivial cases. Call abort if an inaccuracy
10291 is detected in the cfg.
10292
a6124a42
R
10293Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10294
10295 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
10296
10297 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
10298 (skip_white_space): Use whitespace_cr.
10299 (check_newline): Handle whitespace more consistently.
10300
8f3189a4
JW
10301Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
10302
10303 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
10304 * i386/xm-cygwin32.h (POSIX): Define.
10305
6d1350cd
GK
10306Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
10307
10308 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
10309 is available elsewhere.
10310
d1f4474e
DE
10311Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
10312
10313 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
10314 what the instruction can handle.
10315
c7ae64f2
JM
10316Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
10317
10318 * stmt.c (expand_decl_cleanup_no_eh): New fn.
10319
10320 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
10321
ea64ef27
JL
10322Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
10323
10324 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
10325 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
10326
47ad8c61
MM
10327Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
10328
10329 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
10330 swap instruction order.
10331
0ff27f58
JL
10332Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
10333
10334 * fixinc.svr4 (__STDC__): Add another case.
10335
7091039c
R
10336Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10337
10338 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
10339 addresses in the epilogue delay slot.
10340
553914ad
MH
10341Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
10342
10343 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
10344 in generated `specs' file.
10345
64fde701
JW
10346Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
10347
10348 * flags.h (flag_rerun_loop_opt): Declare.
10349 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
10350 * toplev.c (flag_rerum_loop_opt): Delete static.
10351
1245df60
R
10352Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10353
1245df60
R
10354 Bring over from FSF:
10355
10356 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10357
10358 * va-sh.h (__va_arg_sh1): Define.
10359 (va_arg): Use it.
10360 SH3E doesn't use any integer registers for subsequent arguments
10361 once a non-float value was passed in the stack.
10362 * sh.c (machine_dependent_reorg): If optimizing, put explicit
10363 alignment in front label for ADDR_DIFF_VEC.
10364 * sh.h (PASS_IN_REG_P): Fix SH3E case.
10365 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
10366
10367 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10368
10369 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
10370 svr4.h.
10371
10372 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10373
10374 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
10375 put an use_sfunc_addr before each sfunc.
10376 * sh.md (use_sfunc_addr, dummy_jump): New insns.
10377 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
10378
10379 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10380
10381 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
10382
97991933
JM
10383Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
10384
10385 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
10386 linked once FDEs.
10387
eaf407a5
JL
10388Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
10389
10390 * alias.c (find_base_value): Only return the known base value for
10391 pseudo registers.
10392
4f9ca067
JW
10393Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
10394
10395 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
10396 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
10397 to pattern.
10398 (prologue_get_pc_and_set_got): New pattern.
10399
f4e31cf5
RH
10400Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
10401
10402 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
10403 for SUBREG, just fall through.
10404
10405 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
10406
10407 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
10408
f754c4a1
JL
10409Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
10410
3ed18aeb
JL
10411 * fixincludes: Fix "hypot" prototype in NeXT math.h.
10412
3fe40e05
JL
10413 * Makefile.in (USE_ALLOCA): Always include alloca.o.
10414 (USE_HOST_ALLOCA): Likewise.
10415
f754c4a1
JL
10416 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
10417 and LABEL_REFS fields.
10418 * rtl.h (LABEL_REFS): Update.
10419
ab00eb0a
JW
10420Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
10421
ff3467a9
JW
10422 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
10423 sets i2dest. When calling distribute_notes for i3dest_killed, pass
10424 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
10425 sets i1dest.
10426
4911814e
JW
10427 * mips.md (insv, extzv, extv): Add change_address call.
10428 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
10429
474eff88
JW
10430 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
10431
3feffdfe
JW
10432 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
10433
ab00eb0a
JW
10434 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
10435 save_restore_insns if no FP and GP will be restored.
7636d567 10436
31c8581d
JW
10437 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
10438 Convert CCmode to word_mode before calling GET_MODE_SIZE.
10439
7636d567
JW
10440 * acconfig.h (HAVE_INTTYPES_H): Undef.
10441 * configure.in (inttypes.h): Check for conflicts between sys/types.h
10442 and inttypes.h, and verify that intmax_t is defined.
10443 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
10444 * config/mips/x-iris3: Likewise.
10445
73774bc7
JL
10446Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
10447
10448 * alias.c (find_base_value): When copying arguments, return the
10449 tenative value for a hard register.
10450
645ebf37
DE
10451Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
10452
10453 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
10454 (yylex): Record wide strings using target endianness, not host.
10455
f7620587
JL
10456Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
10457
10458 * mn10200.h (ASM_OUTPUT_BSS): Delete.
10459 (ASM_OUTPUT_ALIGNED_BSS): New macro
10460 * mn10300.h (ASM_OUTPUT_BSS): Delete.
10461 (ASM_OUTPUT_ALIGNED_BSS): New macro.
10462 * v850.h (ASM_OUTPUT_BSS): Delete.
10463 (ASM_OUTPUT_ALIGNED_BSS): New macro.
10464
1686f1a2 10465Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
b57062ca 10466
1686f1a2
R
10467 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
10468
f6857708
JL
10469Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
10470
10471 * configure.in (sco5): Use cpio to install header files.
10472
e566af04
MH
10473Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
10474
10475 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
10476 14 char length.
10477 * configure: Rebuild.
10478
cbd44549
RL
10479Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
10480
10481 * i386/sco5.h: enable -gstabs once again.
10482
56636818
JL
10483Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
10484
10485 * arm.c (output_move_double): Allocate 3 entries in otherops array.
10486
9ad8a5f0
MS
10487Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
10488
10489 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
10490 notes for sjlj exceptions too.
10491 (expand_eh_region_end): Similarly for EH_REGION_END notes.
10492 (exception_optimize): Optimize EH regions for sjlj exceptions too.
10493 * final.c (final_scan_insn): Don't output labels for EH REGION
10494 notes if doing sjlj exceptions.
10495
f8671389
JL
10496Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
10497
8072f69c
JL
10498 * alias.c (init_alias_analysis): Handle -fno-alias-check when
10499 optimizing correctly.
10500
6cad9e32
JL
10501 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
10502 or set current_function_calls_setjmp anymore.
10503
f8671389
JL
10504 * flow.c (find_basic_blocks): If we delete the label for an
10505 exception handler, remove it from the EH label list and remove
10506 the EH_BEGIN/EH_END notes for that EH region.
10507
a886ae74
JM
10508Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
10509
10510 * flow.c (find_basic_blocks): Generate correct flow control
10511 information when exception handling notes are present.
10512
c2c85462
JL
10513Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
10514
10515 * dwarf2out.c (output_call_frame_info): Fix length argument
10516 to ASM_OUTPUT_ASCII.
10517 (output_die, output_pubnames, output_line_info): Likewise.
10518
8c316ae2
JL
10519Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
10520
27ca375a
JL
10521 * version.c: Bump for snapshot.
10522
8d4e65a6
JL
10523 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
10524 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
10525 flag_debug_asm is on.
10526 (output_die, output_pubnames, output_line_info): Likewise.
10527
ec907dd8
JL
10528 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
10529 and static_chain_rtx into the potential base values array if
10530 they are registers.
10531
10532 * alias.c (new_reg_base_value): New array of potential base values.
10533 (unique_id): Now file scoped static.
10534 (find_base_value, case REG): Return the value in reg_base_value
10535 array for the REG if it exists. Else, return the value from
10536 new_reg_base_value if copying args and REG is a hard register.
10537 (find_base_value, case PLUS): If either operand of the PLUS is
10538 a REG, try to get its base value. Handle base + index and
10539 index + base.
10540 (record_set): Use new_reg_base_value instead of reg_base_value.
10541 (init_alias_analysis): Allocate space for new_reg_base_value too.
10542 Rework code to iterate over the insns propagating base value
10543 information until nothing changes.
10544
8c316ae2
JL
10545 * global.c (global_alloc): Free the conflict matrix after
10546 reload has finished.
10547
6874c264
JM
10548Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
10549
10550 * libgcc2.c (L_eh): Define __eh_pc.
10551 Replace __eh_type with generic pointer __eh_info.
10552
59fe8c2c
R
10553Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
10554
10555 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
10556 use copy_to_reg if address is not a general_operand.
10557
d1271ded
R
10558Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10559
10560 * profile.c (output_func_start_profiler): Clear flag_inline_functions
10561 for the duration of the call to rest_of_compilation.
10562
ac52b80b
DE
10563Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
10564
10565 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
10566 Set extra_parts.
10567 (sparc*-*-*): Recognize --with-cpu=v9.
10568 * sparc/elf.h: New file.
10569 * sparc/t-elf: New file.
10570
f8912297
JL
10571Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
10572
10573 * mn10300.c (const_8bit_operand): New function.
10574 (mask_ok_for_mem_btst): New funtion.
10575 * mn10300.md (btst patterns with mem operands): Use new functions
10576 to avoid creating btst instructions with invalid operands.
10577
05ef204d
MM
10578Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
10579
10580 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
10581 are running on PowerPC Linux.
10582
feecabdf
GK
10583Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
10584
10585 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
10586 if not previously defined.
10587
de957303
DE
10588Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
10589
10590 * function.c (assign_parms): Correct mode of stack_parm if
10591 entry_parm underwent a mode conversion.
10592
ba3b3878
BK
105931997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
10594
10595 * global.c (global_alloc): Use xmalloc instead of alloca for
10596 CONFLICTS, since max_allocno * allocno_row_words alone can be more
10597 than 2.5Mb sometimes.
10598
d540ae2c
RH
10599Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
10600
10601 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
10602 DEST for the spill, adjust mode of SRC to compensate.
10603
42f4929d
RH
10604Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
10605
10606 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
10607 since any_memory_operand() allows pseudos during reload.
10608 (reload_inhi, reload_outqi, reload_outhi): Likewise.
10609
08417478
JW
10610Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
10611
10612 * m68k.md (btst patterns): Add 5200 support.
10613
750e8348
TM
10614Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
10615
10616 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
10617 optimizations, look inside dividend to determine if the expression
10618 can be simplified by using EXACT_DIV_EXPR.
10619
ede19932
JM
10620Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
10621
10622 From Brendan:
10623 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
10624
66d91cb9
RH
10625Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
10626
10627 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
10628
4f3f5e9f
RH
10629Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
10630
10631 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
10632 on a CLOBBER.
10633
f3352b9e
RH
10634Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
10635
10636 * alpha.md (movqi, movhi): Make sure new insns created during reload
10637 won't need reloading themselves.
10638 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
10639
0cecc190
JL
10640Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
10641
10642 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
10643
a09ba5a2
RH
10644Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
10645
10646 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
10647 Patch from Klaus Kaempf <kkaempf@progis.de>.
10648
7581a30f
JW
10649Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
10650
10651 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
10652 to an element in a constant string.
10653
d84e64d4
JM
10654Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
10655
10656 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
10657 bit PC-relative offset. The exception range table pointer is now in
10658 the CIE.
10659 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
10660 (count_fdes, add_fdes, get_cie): Adjust.
10661 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
10662
10663 From H.J. Lu:
10664 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
10665
96286722
RH
10666Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
10667
10668 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
10669 like stack_pointer_rtx.
10670
e85988b5
MH
10671Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
10672
361e618f
MH
10673 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
10674 targets using "$@" to provide support for similar but not identical
10675 targets without having to duplicate code.
10676 (bootstrap4): New goal.
10677
e85988b5
MH
10678 * Makefile.in (compare, compare-lean, compare3): Combined to one
10679 ruleset determining actions to be performed via $@.
10680 (compare4, compare4-lean): New targets.
10681 (gnucompare, gnucompare3): Combined to one ruleset determining
10682 actions to be performed via $@. Also, note which files failed
10683 the comparison test in .bad_compare.
10684 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
10685
91585c63
TM
10686Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
10687
10688 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
10689 if the dividend is a multiple of the divisor.
10690
da0af5a5
JL
10691Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
10692
7337c67f
JL
10693 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
10694
adb9effb 10695 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 10696 and POS_DEC.
6d849a2a
JL
10697
10698 * alias.c (true_dependence): Fix typo.
10699
6d6d0fa0
JL
10700 * toplev.c (flag_rerun_loop_opt): New variable.
10701 (f_options): Handle -frerun-loop-opt.
10702 (rest_of_compilation): If -frerun-loop-opt, then run the loop
10703 optimizer twice.
10704 (main): Enable -frerun-loop-opt by default for -O2 or greater.
10705
da0af5a5
JL
10706 * loop.c (simplify_giv_expr): Adding two invariants results
10707 in an invariant.
10708
ca0f2220
RH
10709Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
10710
b57062ca 10711 * expr.c (get_inner_reference): Remove the array bias after
ca0f2220
RH
10712 converting the index to Pmode.
10713
a6f7ba17
JL
10714Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
10715
10716 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
10717 (TARGET_MULT_BUG): Define.
10718 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
10719 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
10720
17ad8a3b
JL
10721Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
10722
10723 * mn10200.c (indirect_memory_operand): Delete unused function.
10724 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
10725 * mn10200.md (bset, bclr insns): Handle output in a reg too.
10726
e16b49d3
RH
10727Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
10728
10729 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
10730 the callee's ldgp, we must do it ourselves, and we use the jsr tag
10731 for more than scheduling.
10732
27f65411
DE
10733Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
10734
10735 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
10736
e9ad4573
JL
10737Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
10738
10739 * mn10300.c (symbolic_operand, legitimize_address): New functions.
10740 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
10741 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
10742
66724f0a
JL
10743Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
10744
10745 * version.c: Bump for snapshot.
10746
c401498b
R
10747Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10748
10749 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
10750 for FILENAME.
10751
b22b9b3e
JL
10752Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
10753
56bf1fd9
JL
10754 * toplev.c (flag_exceptions): Default value is 2.
10755 (compile_file): If flag_exceptions still has the value 2, then
10756 set it to 0.
10757
a04232e5
JL
10758 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
10759 (rs6000_save_machine_status): Save pic_offset_table_rtx.
10760 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
10761
0bd83abd
JL
10762 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
10763 are shared.
10764
b22b9b3e
JL
10765 * rs6000.md (*movsi_got_internal_mem): New pattern.
10766 (*movsi_got_internal_mem splitter): New define_split.
10767
c1e385db
JW
10768Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
10769
10770 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
10771
1a986152
GK
10772Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10773
10774 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
10775 only need to save LR.
10776
5d29a95f
JL
10777Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
10778
c6ee9150
JL
10779 * mn10300.md (movqi, movhi): Avoid using address registers as
10780 destinations unless absolutely necessary.
10781
d5255ba2
JL
10782 * mn10200.c (expand_prologue): Fix typo.
10783
9d2128b8
JL
10784 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
10785 addresses.
10786 * mn10200.md (neghi2): Provide an alternative which works if
10787 the input and output register are the same.
10788
576e5acc
JL
10789 * mn10300.c (print_operand): Handle 'S'.
10790 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
10791 shift amount in last alternative
10792
5d29a95f
JL
10793 * mn10300.c (expand_epilogue): Rework to handle register restores
10794 in "ret" and "retf" instructions correctly.
10795
3bf1b082
JW
10796Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
10797
10798 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
10799 extzv for memory operands.
10800
10801 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
10802 redundant conditional moves to single operand.
10803
ddbd8d36
NC
10804Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
10805
10806 * v850.h: Move define of __v850__ from CPP_PREDEFINES
10807 to CPP_SPEC.
b57062ca 10808
ddbd8d36
NC
10809 * xm-v850.h: Use __v850 rather than __v850__ to
10810 identify v850 port.
10811
a944a4eb
JW
10812Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
10813
10814 * mips/mips.c (compute_frame_size): Not a leaf function if
10815 profile_flag set.
10816
2d5b6dea
GK
10817Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10818
10819 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
10820
f0a9fa6c
DE
10821Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
10822
10823 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
10824 (DEFAULT_ARCH32_P): New macro.
10825 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
10826 (enum cmodel): Declare.
10827 (sparc_cmodel_string,sparc_cmodel): Declare.
10828 (SPARC_DEFAULT_CMODEL): Provide default.
10829 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
10830 (TARGET_FULLANY): Deleted.
10831 (TARGET_CM_MEDMID): New macro.
10832 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
10833 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10834 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
10835 (CPP_SPEC): Rewrite.
10836 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10837 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
10838 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10839 (ASM_SPEC): Add %(asm_arch).
10840 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
10841 Rename asm_default to asm_cpu_default.
10842 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
10843 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
10844 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
10845 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
10846 (MASK_INT64,MASK_LONG64): Delete.
10847 (MASK_ARCH64): Renamed to MASK_64BIT.
10848 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
10849 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
10850 (TARGET_SWITCHES): Always provide 64 bit options.
10851 (ARCH64_SWITCHES): Delete.
10852 (TARGET_OPTIONS): New option -mcmodel=.
10853 (INT_TYPE_SIZE): Always 32.
10854 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
10855 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
10856 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
10857 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
10858 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
10859 CPP_SPEC.
10860 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10861 * sparc/linux.h: Likewise.
10862 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
10863 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10864 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
10865 (SPARC_DEFAULT_CMODEL): Define.
10866 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10867 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10868 (LONG_DOUBLE_TYPE_SIZE): Define.
10869 (ASM_SPEC): Add %(asm_arch).
10870 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10871 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10872 (TARGET_CPU_DEFAULT): Add ultrasparc case.
10873 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
10874 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
10875 (SPARC_DEFAULT_CMODEL): Define.
10876 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
10877 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
10878 MASK_LONG64, MASK_MEDANY.
10879 (SPARC_DEFAULT_CMODEL): Define.
10880 (CPP_PREDEFINES): Delete.
10881 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10882 (ASM_SPEC): Add %(asm_arch).
10883 (LONG_DOUBLE_TYPE_SIZE): Define.
10884 (DWARF2_DEBUGGING_INFO): Define.
10885 * sparc/splet.h (CPP_SPEC): Delete.
10886 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10887 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
10888 (BLOCK_PROFILER): Likewise.
10889 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
10890 (sparc_override_options): Handle code model selection.
10891 (sparc_init_expanders): Renamed from sparc64_init_expanders.
10892 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
10893 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
10894 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
10895 (sethi_di_fullany): Delete.
10896
a3b0df2d
KK
10897Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
10898 Jeff Law <law@cygnus.com>
10899 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10900
3a133c72
KK
10901 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
10902 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
10903 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
10904 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
10905 * alpha/alpha.md (arg_home): Likewise.
10906
a3b0df2d
KK
10907 * alpha/alpha.c (vmskrunch): Delete
10908 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
10909 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
10910 truncate to 64 characters.
10911
10912 * make-l2.com: Support openVMS/Alpha.
10913
10914 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
10915
7d4f2e6c
R
10916Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10917
10918 * longlong.h (count_leading_zeros): Add missing casts to USItype.
10919
decd44ac
JL
10920Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
10921
10922 * i386/bsd386.h (ASM_COMMENT_START): Define.
10923
d1485032
JM
10924Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
10925
10926 * tree.c (restore_tree_status): Also free up temporary storage
10927 when we finish a toplevel function.
10928 (dump_tree_statistics): Print stats for backend obstacks.
10929
6bd35f86
DE
10930Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
10931
10932 * expr.c (use_group_regs): Don't call use_reg for MEMs.
10933
d1485032
JM
10934Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
10935
10936 * libgcc2.c (__throw): Don't copy the return address.
10937 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
10938
10939 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
10940 * toplev.c (main): Initialize exceptions_via_longjmp.
10941
10942 * tree.c: Add extra_inline_obstacks.
10943 (save_tree_status): Use it.
10944 (restore_tree_status): If this is a toplevel inline obstack and we
10945 didn't want to save anything on it, recycle it.
10946 (print_inline_obstack_statistics): New fn.
b57062ca 10947 * function.c (pop_function_context_from): Pass context to
d1485032
JM
10948 restore_tree_status.
10949 * obstack.h (obstack_empty_p): New macro.
10950
6981eacf
JL
10951Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
10952
10953 * i386/freebsd.h (ASM_COMMENT_START): Fix.
10954
1933ec7e
JW
10955Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
10956
10957 * v850.c (ep_memory_offset): New function.
10958 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
10959
10960 * v850.h (CONST_OK_FOR_*): Add and correct comments.
10961 (CONSTANT_ADDRESS_P): Add comment.
10962 (EXTRA_CONSTRAINT): Define 'U'.
10963 * v850.md: Add comments on bit field instructions.
10964 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
b57062ca 10965 (lshrsi3): Use N not J constraint.
1933ec7e
JW
10966
10967 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
10968
10969 * v850.c (reg_or_0_operand): Call register_operand.
10970 (reg_or_int5_operand): Likewise.
10971 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
10972 (TARGET_SWITCHES): Add "big-switch".
10973 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
10974 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
10975 (CASE_DROPS_THROUGH): Comment out.
10976 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
10977 * v850.md (cmpsi): Delete compare mode.
10978 (casesi): New pattern.
10979
10980 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
10981 * v850.md (ashlsi3): Use SImode not QImode for shift count.
10982 (lshrsi3): Likewise.
10983
10984 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
10985 unreachable switch statement after 'b' support. Remove "b" from
10986 strings for 'b' support.
10987 * v850.md (branch_normal, branch_invert): Change %b to b%b.
10988
13c2de98
JL
10989Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
10990
10991 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
10992 empty line if @inhibit_libc@ is empty.
10993
b2167bee
RL
10994Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
10995
10996 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
10997 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
10998 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10999 (DWARF2_UNWIND_INFO): Let this track object file format.
11000 (EXTRA_SECTIONS): Add in_eh.
11001 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
11002 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
11003
bf2a2c6b
DM
11004Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
11005
11006 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
11007 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
11008 TARGET_MEDANY.
f4f8e370
DE
11009 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
11010 (output_double_int): Output DI mode values correctly when
11011 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
11012 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
11013 fmovd so it works if a quad float ends up in one of the upper 32
11014 float regs.
7e37212e
DM
11015 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
11016 necessary for PIC support on sparc64.
bf2a2c6b 11017
9ff84e67
DE
11018Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
11019
11020 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
11021 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
11022 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
11023 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
11024 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
11025 (SPARC_FP_ARG_FIRST): New macro.
11026 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
11027 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
11028 (NPARM_REGS): There are 32 fp argument registers now.
11029 (FUNCTION_ARG_REGNO_P): Likewise.
11030 (FIRST_PARM_OFFSET): Update to new v9 abi.
11031 (REG_PARM_STACK_SPACE): Define for arch64.
11032 (enum sparc_arg_class): Delete.
11033 (sparc_arg_count,sparc_n_named_args): Delete.
11034 (struct sparc_args): Redefine and use for arch32 as well as arch64.
11035 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
11036 (FUNCTION_ARG_ADVANCE): Rewrite.
11037 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
11038 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
11039 (FUNCTION_ARG_CALLEE_COPIES): Delete.
11040 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
11041 (STRICT_ARGUMENT_NAMING): Define.
11042 (doublemove_string): Declare.
11043 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
11044 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
11045 (doublemove_string): New function.
11046 (output_move_quad): Clean up some of the arch64 support.
11047 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
11048 Don't add 8 bytes of reserved space if arch64.
11049 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
11050 (init_cumulative_args): New function.
11051 (function_arg_slotno): New static function.
11052 (function_arg,function_arg_partial_nregs): New functions.
11053 (function_arg_{pass_by_reference,advance}): New functions.
11054 (function_arg_padding): New function.
c1215820 11055 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 11056
b8fb2d72
CI
11057Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
11058
f22376c7
CI
11059 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
11060 for hard regs to determine base and index registers.
11061
b8fb2d72
CI
11062 * reload.c (debug_reload_to_stream): New function. Specify stream
11063 into which to write debug info.
11064 (debug_reload): Modify to call debug_reload_to_stream with stderr.
11065
b79ee7eb
RH
11066Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
11067
11068 * combine.c (can_combine_p): Don't combine with an asm whose
11069 output is a hard register.
11070
5c19a356
MS
11071Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
11072
11073 * c-decl.c (start_struct): Ensure that structs with forward
11074 declarations are in fact packed when -fpack-struct is given.
11075
11076 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
11077 we are packing a structure. This allows a structure with only
11078 bytes to be aligned on a byte boundary and have no padding on a
11079 m68k.
11080
02bef6da
RK
11081Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11082
11083 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
11084
9ecc37f0
RH
11085Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
11086
11087 * alpha.c (alpha_return_addr_rtx): New variable.
11088 (alpha_save_machine_status): New; save it.
11089 (alpha_restore_machine_status): New; restore it.
11090 (alpha_init_expanders): New; clear it.
11091 (alpha_return_addr): New; set it.
11092 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
11093 is overly conservative, so search the insns explicitly.
11094 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
11095 (alpha_sa_size [VMS && !VMS]): Likewise.
11096 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
11097 (INIT_EXPANDERS): New definition.
b57062ca 11098
9ecc37f0
RH
11099 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
11100 (output_prolog [!VMS]): Use them.
11101
11102 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
b57062ca 11103 (alpha_does_function_need_gp): ... a new function. Refine the
9ecc37f0
RH
11104 CALL_INSN test to just TYPE_JSR.
11105 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
11106
bda2ffef
JL
11107Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
11108
11109 * version.c: Bump for snapshot.
11110
96b63cd7
RK
11111Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11112
11113 * pa.c (move_operand): Respect -mdisable-indexing.
11114 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
11115
f192bf8b
DE
11116Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
11117
11118 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
11119 PPC601.
11120 (umulsidi3,umulsi3_highpart): Ditto.
11121 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
11122
2ea844d3
RH
11123Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
11124
11125 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
11126 (alpha_handle_trap_shadows): ... a new function. Handle the entire
11127 function in one go. Emit RTL for trapb, instead of printf directly.
11128 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
11129 (trap_pending): Kill global variable.
11130 (output_epilog): Don't call final_prescan_insn.
11131 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
11132 * alpha.h (FINAL_PRESCAN_INSN): Remove.
11133 (MACHINE_DEPENENT_REORG): Define.
11134 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
11135 (trapb): New insn.
11136
74835ed8
RH
11137Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
11138
11139 Tune Haifa scheduler for Alpha:
11140 * alpha.h (ISSUE_RATE): Define.
11141 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
11142 EV4 adjustments to EV5.
11143 * alpha.md: Remove all scaling from function unit delays. Rework
11144 EV5 function units to match the CPU.
11145 (umuldi3_highpart): EV5 added the IMULH insn class.
11146
cdc0de30
JL
11147Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
11148
11149 * pa.c (following_call): Fail if the CALL_INSN is an indirect
11150 call.
11151
041c97f2
MM
11152Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
11153
11154 * cplus-dem.c (demangle_signature): Don't look for return types on
11155 constructors. Handle member template constructors.
11156
f0632762
JM
11157Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
11158
11159 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 11160 * tree.h: Declare them.
f0632762 11161
dec88383
DE
11162Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
11163
11164 * configure.in: Handle --with-newlib.
11165 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
11166
11167 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
11168
0e1f3f5e
JL
11169Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
11170
11171 * config/ptx4.h: Fix typo.
11172
12504ae0
JL
11173Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
11174
11175 * version.c: Bump for snapshot.
11176
5643c767
MH
11177Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
11178
11179 * aclocal.m4: Substitute INSTALL.
11180 * configure: Re-built.
11181
aa0c1401
JL
11182Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
11183
f644bd14
JL
11184 * integrate.c (save_for_inline_copying): Avoid undefined pointer
11185 operations.
11186 (expand_inline_function): Likewise.
11187
aa0c1401
JL
11188 * dwarf2out.c (output_call_frame_info): Reinstate last change
11189 using flag_debug_asm check instead of flag_verbose_asm.
11190
6c2df6c9
JW
11191Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
11192
11193 * dwarf2out.c (output_call_frame_info): Remove last change.
11194
13ab2b83
AS
111951997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11196
11197 * frame.c (__frame_state_for): Execute the FDE insns until the
11198 current pc value is strictly bigger than the target pc value.
11199
066c2fea
JM
11200Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
11201
b57062ca 11202 * regclass.c (init_reg_modes): If we can't find a mode for the
066c2fea
JM
11203 register, use the previous one.
11204
2f308fec
RH
11205Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
11206
11207 * haifa-sched.c (print_block_visualization): Call fprintf directly,
11208 don't sprintf through an alloca'ed buffer.
11209
43984e29
TK
11210Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
11211
11212 * reload.c (decompose): Always initialize val.base.
11213
e9e30253
MH
11214Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
11215
11216 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
11217 instead of aborting.
11218 * dwarf2out.c (output_call_frame_info): Call app_enable and
11219 app_disable to let GNU as accept the generated comments.
11220
496651db
MM
11221Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
11222
11223 * tree.h (get_file_function_name): Add declaration.
11224 * dwarf2out.c (output_call_frame_info): No need to cast
11225 get_file_function_name call anymore.
11226 * profile.c (toplevel): Remove get_file_function_name
11227 declaration.
11228 * c-lang.c (finish_file): Ditto.
11229
e6347456
CS
11230Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
11231
11232 * Makefile.in (program_transform_name): Let autoconf substitute
11233 the correct value.
11234
1447b516
JL
11235Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
11236
11237 * haifa-sched.c (schedule_block): If the first real insn in a
11238 block has any special notes attached to it, remove them.
11239
1a42ead7
RH
11240Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
11241
11242 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
11243
4b6140f1
MH
11244Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
11245
11246 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
11247
dc84d7bc
JL
11248Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
11249
11250 * Makefile.in (check-g77): New test target.
11251 (CHECK-TARGETS): Add check-g77.
11252
c0da11c4
JM
11253Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
11254
11255 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
11256
d8d64559
MM
11257Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
11258
11259 * flow.c (print_rtl_with_bb): Cast alloca return value for
11260 in_bb_p.
11261
e414ab29
RH
11262Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
11263
b57062ca 11264 * i386.h (RETURN_ADDR_RTX): New definition that works for
e414ab29
RH
11265 __builtin_return_address(0) and -fomit-frame-pointer.
11266
15039abe
JW
11267Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
11268
11269 Bring over from FSF.
11270 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
11271
b57062ca 11272 * mips.c (function_arg): Handle passing a struct
15039abe
JW
11273 containing a double in a DFmode register without the PARALLEL.
11274
281de624
ILT
11275Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
11276
d8d64559 11277 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 11278
d8d64559 11279 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
11280 (from Paul Eggert <eggert@twinsun.com>).
11281
3cbdd5fc
PDM
11282Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
11283
11284 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
11285 optimisation for f/expr.o and f/stb.o.
11286
135d84b8
JL
11287Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
11288
11289 * cse.c (this_insn_cc0_mode): Initialize.
11290
55d89719
TK
11291Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
11292
d3878e49
TK
11293 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
11294
11295 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 11296
e9d0757e
RH
11297Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
11298
11299 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
11300 that pair will dual-issue on the 21164 and plus+beq won't.
11301 (bne): Likewise for cmpeq+beq.
11302
3f34faec
JW
11303Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
11304
11305 * except.c (find_exception_handler_labels): Correct argument to free.
11306
3226dac5 11307Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
11308
11309 * except.c (find_exception_handler_labels): Free LABELS when we're
11310 done.
11311
3a6eabfa
JL
11312Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
11313
11314 * version.c: Bump for snapshot.
11315
974c50f9
JM
11316Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
11317
11318 * flow.c (find_basic_blocks): Mark calls as potentially jumping
11319 to the EH labels.
11320
9b16d2c4
JL
11321Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
11322
11323 * configure.in: Substitute for "install" too.
11324 * configure: Rebuilt.
11325
b1e3ddfd
AJ
11326Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
11327
11328 * Makefile.in (bootstrap-lean, compare-lean): New targets.
11329
6662a38d
RH
11330Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
11331
c02f035f
RH
11332 * alias.c (base_alias_check): Two symbols can conflict if they
11333 are accessed via AND.
11334 (memrefs_conflict_p): Likewise.
11335
7a14fdc5
RH
11336 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
11337 after flushing argument registers to the stack.
11338
6662a38d
RH
11339 * Makefile.in (mostlyclean): Remove .regmove files.
11340
f3447109
JM
11341Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
11342
11343 * libgcc2.c (__throw): Fix thinko.
11344
37f6b6bf
MM
11345Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
11346
11347 * cplus-dem.c (demangle_template): Add new parameter. Handle new
11348 template-function mangling.
11349 (consume_count_with_underscores): New function.
11350 (demangle_signature): Handle new name-mangling scheme.
11351
adfc539e
PDM
11352Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
11353
11354 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
11355 start and end.
11356
92cbe4d2
JL
11357Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
11358
11359 * frame.c: Remove last change.
11360 * dwarf2.h: Remove last change.
11361 * tree.h: Add declarations of DWARF2 unwind info support
11362 functions.
11363
2f3ca9e7
JM
11364Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
11365
11366 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
11367 * tree.h (built_in_function): Likewise.
11368 * expr.c (expand_builtin): Likewise.
11369 * except.h: Likewise.
11370 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
11371 * libgcc2.c (copy_reg): New fn.
11372 (__throw): Use it.
11373
407cb092
PE
11374Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
11375
11376 * c-typeck.c (build_binary_op): Warn about comparing signed vs
11377 unsigned if -W is specified and -Wno-sign-compare is not.
11378 * c-decl.c (warn_sign_compare): Initialize to -1.
11379 (c_decode_option): -Wall no longer implies -Wsign-compare.
11380
3ba10494
AS
11381Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11382
a7cc7f29
AS
11383 * frame.c: Include gansidecl.h for PROTO.
11384 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
11385 defined. Don't declare dwarf2out_cfi_label here.
11386 * dwarf2.h: Add declarations of DWARF2 unwind info support
11387 functions.
11388 * m68k.c: Include dwarf2.h.
11389 (output_function_prologue): Add dwarf2 support.
11390 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
11391 (INCOMING_FRAME_SP_OFFSET): Likewise.
11392
3ba10494
AS
11393 * integrate.c (expand_inline_function): Make sure there is at
11394 least one insn that can be used as an insertion point.
11395
c5cec899
JM
11396Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
11397
11398 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
11399
e166cb18
JL
11400Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
11401
11402 * version.c: Bump for snapshot.
11403
01a94cba
DE
11404Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
11405
11406 Bring over from FSF.
11407
11408 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
11409
11410 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
11411 (get_pc_via_rdpc): Renamed from get_pc_sp64.
11412 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
11413
11414 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
11415
11416 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
11417 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
11418 -malign-functions=.
11419 (sparc_align_{loops,jumps,funcs}_string): Declare.
11420 (sparc_align_{loops,jumps,funcs}): Declare.
11421 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
11422 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
11423 (STACK_BIAS): Define.
11424 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
11425 test.
11426 (SPARC_SETHI_P): New macro.
11427 (CONST_OK_FOR_LETTER_P): Use it.
11428 (ASM_OUTPUT_ALIGN_CODE): Define.
11429 (ASM_OUTPUT_LOOP_ALIGN): Define.
11430 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
11431 (sparc_align_{loops,jumps,funcs}): New globals.
11432 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
11433 -malign-functions=.
11434 (move_operand): Use SPARC_SETHI_P.
11435 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
11436 perform test.
11437 (arith11_double_operand): Likewise.
11438 (arith10_double_operand): Likewise.
11439 (finalize_pic): Finish sparc64 support.
11440 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
11441 64 bit constants if able.
11442 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
11443 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
11444 ! TARGET_FPU.
11445 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
11446 (get_pc_sp32): Use for sparc64 as well.
11447 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
11448 (sethi_di_sp64_const): Likewise.
11449 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
11450 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
11451 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
11452
11453 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
11454
11455 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
11456 * sparc/linux.h (COMMENT_BEGIN): Likewise.
11457 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
11458
11459 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
11460
11461 Add sparc64 linux support.
11462 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
11463 to xm_file list on 32-bit sparc-linux.
11464 * sparc/xm-sp64.h: New file.
11465 * sparc/linux64.h: New file.
11466 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
11467 Don't include xm-sparc.h.
11468 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
11469 * glimits.h (LONG_MAX): Handle sparc64.
11470
11471 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
11472
11473 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
11474 * sparc.h (ASM_COMMENT_START): Define.
11475 * sparc.c (output_function_prologue): Use it.
11476 (sparc_flat_output_function_{epi,pro}logue): Likewise.
11477
11478 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
11479
11480 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
11481 use sparc.h's copies.
11482 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
11483 ascii form as well.
11484
11485 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11486
11487 * sparc.c (dwarf2out_cfi_label): Add declaration.
11488 (save_regs, output_function_prologue): Remove cast for it.
11489 (sparc_flat_{save_restore,output_function_prologue): Likewise.
11490 ({save,restore}_regs): No longer inline.
11491
ce2157a1
JL
11492Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11493
11494 * fold-const.c (make_range): Correctly handle cases of converting
11495 from unsigned to signed type.
11496
11497Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
11498
11499 * fold-const.c (merge_ranges): Make sure that if one range is subset
11500 of another, it will always be the second range. Correct (+,-) case to
11501 account for this.
11502
c5cec899
JM
11503Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
11504
11505 * final.c (final_end_function): Also do dwarf2 thing if
11506 DWARF2_DEBUGGING_INFO.
11507 (final_start_function): Likewise.
11508
c107334d
DM
11509Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
11510
e13a25d5
DM
11511 * expmed.c (expand_divmod): If compute_mode is not the same as
11512 mode, handle the case where convert_modes() causes op1 to no
11513 longer be a CONST_INT.
11514
c107334d
DM
11515 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
11516 note holding get_jump_flags() calculation to all JUMP_INSNs.
11517 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
11518 * rtl.c (reg_note_name): Add new note types.
11519
8d7532d9
JL
11520Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
11521
0774afd7 11522 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 11523
7019d00e
L
11524Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11525
11526 * loop.c (indirect_jump_in_function_p): Return 0
11527 by default.
11528
b9dfb357
JL
11529Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
11530
11531 * rs6000/xm-rs6000.h: Fix thinko in last change.
11532 * rs6000/xm-sysv4.h: Likewise.
11533
4b7e467b
JW
11534Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
11535
11536 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
11537
8c8e6faa
JL
11538Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
11539
11540 * reg-stack.c (find_blocks): Fix thinko in last change.
11541
078e983e
AS
115421997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11543
11544 * m68k.c (output_function_prologue): Add dwarf2 support.
11545
11546 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
11547 INCOMING_FRAME_SP_OFFSET): New definitions.
b57062ca 11548
d7027667
DM
11549Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
11550
9524f769
DM
11551 * combine.c (try_combine): Use NULL_RTX instead of '0' where
11552 appropriate in calls to gen_rtx().
11553 * cse.c (cse_main): Likewise.
11554 * emit-rtl.c (gen_label_rtx): Likewise.
11555 * expr.c (init_expr_once): Likewise.
11556 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
11557 sched_analyze, init_rgn_data_dependences,
11558 compute_block_backward_dependences): Likewise.
11559 * sched.c (schedule_insns): Likewise.
11560 * varasm.c (immed_double_const): Likewise.
11561
d7027667
DM
11562 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
11563 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
11564
fbf8b71c
KJ
11565Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
11566
11567 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
11568 (MULTILIB_DEFAULTS): Define.
11569 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
11570 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
11571 (LIBGCC_SPEC): Likewise.
11572 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
11573 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
11574 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
11575 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
11576 (EXTRA_PARTS, TAROUTOPTS): Delete.
11577 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
11578 (MULTILIB_OPTIONS): Define.
11579 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
11580 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
11581
c14a951f
JL
11582Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
11583
11584 * version.c: Bump for snapshot.
11585
7014927a
JL
11586Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
11587
37aa45a2
JL
11588 * loop.c (loop_number): Delete function. Change all references
11589 to use uid_loop_num array.
11590 * loop.h (loop_number): Delete declaration.
11591 * unroll.c (unroll_loop): Change "loop_number" references to
11592 use uid_loop_num instead.
11593
b47404d1
JL
11594 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
11595 conditional.
11596 (loop_unroll_iter): Remove unused variable and all references.
11597 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
11598 (insert_bct): Fix minor formatting problems.
11599 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
11600 (loop_unroll_iter): Removed unused decl.
11601 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
11602 Always record the unrolling factor.
11603
cb3bb2a7
JL
11604 * cse.c (simplify_relational_operation): Set h0u just like h0s.
11605 Similarly for h1u and h1s.
11606
d5ff3a2e 11607 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
11608 (find_basic_blocks): Use computed_jump_p to determine if a
11609 particular JUMP_INSN is a computed jump.
11610 * reg-stack.c (find_blocks): Use computed_jump_p to determine
11611 if a particular JUMP_INSN is a computed jump.
11612 * rtlanal.c (jmp_uses_reg_or_mem): New function.
11613 (computed_jump_p): Likewise.
11614 * rtl.h (computed_jump_p): Declare.
11615 * genattrtab.c (pc_rtx): Define and initialize.
11616 * loop.c (loop_optimize): Always determine if the current
11617 function has a computed jump.
11618 (indirect_jump_in_function_p): Use computed_jump_p to determine
11619 if a particular JUMP_INSN is a computed jump.
11620
7014927a
JL
11621 * loop.c (fix_bct_param): Delete unused function.
11622 (check_bct_param): Likewise.
11623
6d53d7c2
JM
11624Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
11625
11626 * frame.c (__deregister_frame): Check properly for initialized object.
11627
5a5e9503 11628Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
11629
11630 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
11631
272299b9
R
11632Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11633
cc5e1642
R
11634 * jump.c (thread_jumps): check can_reverse_comparison_p before
11635 threading a reversed-condition jump.
11636
272299b9
R
11637 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
11638 * haifa-sched.c (update_flow_info): Likewise.
11639
18511014
JL
11640Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
11641
e6493727
JL
11642 * Makefile.in (BOOT_CFLAGS): Use -O2.
11643
1e467e19
JL
11644 * configure.in (strtoul, bsearch): Have autoconf check for these
11645 functions.
11646 * configure, config.in: Rebuilt.
11647
18511014
JL
11648 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
11649 * mips/mips.h (alloca): Likewise.
11650 * rs6000/xm-rs6000.h (alloca): Likewise.
11651 * rs6000/xm-sysv4.h: Likewise.
11652
6020d360
JM
11653Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
11654
11655 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
11656 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
11657 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
11658
11659 * except.c (end_eh_unwinder): Subtract 1 from return address.
11660 * libgcc2.c (__throw): Likewise.
11661 (find_exception_handler): Don't change PC here. Compare end with >.
11662
b24bcfb3 11663Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
b57062ca 11664
b24bcfb3
NC
11665 * v850.c (compute_register_save_size): Correct register
11666 number.
11667 * v850.md (save_interrupt, return_interrupt): Correct
11668 register number.
11669 * v850/lib1funcs.asm (save_interrupt): Correct register number.
11670 (return_interrupt): Use stack pointer, not element pointer.
11671
93cf819d
BK
116721997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
11673
11674 * configure.in, configure: Make sure to create the stage* and include
11675 symbolic links in each subdirectory.
11676
f0501149
JL
11677Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
11678
11679 * pa.md (reload_peepholes): Don't allow addresses with side
11680 effects for the memory operand.
11681
4f870c04
JM
11682Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
11683
11684 * libgcc2.c (find_exception_handler): Subtract one from our PC when
11685 looking for a handler, to avoid hitting the beginning of the next
11686 region.
11687
11688 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
11689
4eb66248
JL
11690Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
11691
11692 * mips/abi64.h (LONG_MAX_SPEC): Define.
11693 * mips.h (LONG_MAX_SPEC): Define.
11694 (CPP_SPEC): Include long_max_spec.
11695 (EXTRA_SPECS): Include long_max_spec.
11696
44158507
JL
11697Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
11698
11699 * v850.c (construct_save_jarl): Fix thinko in last change.
11700
bf520cd9
JL
11701Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
11702
11703 * version.c: Bump for snapshot.
11704
255fe733
JM
11705Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
11706
c0727e2a
JM
11707 * libgcc2.c (find_exception_handler): Not found is -1.
11708
255fe733
JM
11709 * integrate.c (expand_inline_function): Move expand_start_bindings
11710 after expanding the arguments.
11711
21002281
JW
11712Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
11713
11714 * expr.c (expand_expr): Remove previous incorrect change.
11715 If target and slot has no DECL_RTL, then call mark_addressable
11716 again for the slot after we give it RTL.
11717
e693cc28 11718Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 11719
e693cc28
UD
11720 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
11721 again for the slot after we give it RTL.
f633220c 11722
145870b5
NC
11723Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
11724
84e75068 11725 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
11726 pattern_is_ok_for_epilogue, construct_restore_jr,
11727 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
11728
84e75068 11729 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
11730 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
11731 predicates.
11732
84e75068 11733 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
11734 match_parallel pattern.
11735
76143254
JL
11736Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
11737
11738 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
11739 * configure.in: Use EGCS_PROG_INSTALL.
11740
4401bf24
JL
11741Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
11742
11743 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
11744 extern inline function.
11745
11746Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
11747
11748 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
11749 (concat_loc_descriptor): New function.
11750 (loc_descriptor): Call it.
11751 (add_AT_location_description): Also elide the descriptor if both
11752 halves of a CONCAT are pseudos.
11753 (add_location_or_const_value_attribute): Recognize CONCAT too.
11754
0d24ff5d
RH
11755Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
11756
4bb43724
RH
11757 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
11758
0d24ff5d
RH
11759 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
11760 out-or-range reg_offset.
11761 (output_epilog): Likewise.
11762
05ef8897
JL
11763Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
11764
11765 * cse.c (simplify_relational_operation): If MODE specifies a
11766 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
11767 is derived from the sign bit of the low word.
11768
ca55abae
JM
11769Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
11770
11771 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
11772
11773 * dwarf2.h: Add DW_CFA_GNU_args_size.
11774 * frame.c (execute_cfa_insn): Likewise.
11775 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
11776 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
11777 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
11778 insn, hand it off to dwarf2out_stack_adjust.
11779 (dwarf2out_begin_prologue): Initialize args_size.
11780 * frame.h (struct frame_state): Add args_size.
11781 * libgcc2.c (__throw): Use args_size.
11782 * final.c (final_scan_insn): If we push args, hand off all insns
11783 to dwarf2out_frame_debug.
11784 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
11785
11786 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
11787 Handle epilogue restore of SP from FP.
b57062ca 11788 * emit-rtl.c (gen_sequence): Still generate a sequence if the
ca55abae
JM
11789 lone insn has RTX_FRAME_RELATED_P set.
11790
11791 * frame.c (extract_cie_info): Handle "e" augmentation.
11792 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
11793 absence of UNALIGNED_*_ASM_OP.
11794 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
11795 (output_call_frame_info): Use "e" instead of "z" for augmentation.
11796 Don't emit augmentation fields length.
11797 (dwarf2out_do_frame): Move outside of #ifdefs.
11798 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
11799 opcodes.
11800
11801 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
11802 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
11803 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
11804 * sparc/sun4gas.h: New file.
11805 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
11806
b57062ca 11807 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
ca55abae
JM
11808 __register_frame_table and __deregister_frame.
11809
1d77fa53
BK
118101997-09-15 Brendan Kehoe <brendan@cygnus.com>
11811
11812 * except.c (find_exception_handler_labels): Use xmalloc instead of
11813 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
11814 in some cases.
11815
8be52aaa
JL
11816Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
11817
11818 * Makefile.in: Various changes to build info files
11819 in the object tree rather than the source tree.
11820
a3ee3246
JL
11821Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
11822
11823 * fixinc.math: New file to fix math.h on some systems.
11824 * configure.in (freebsd, netbsd): Use fixinc.math on these
11825 systems.
11826 * configure: Rebuilt.
11827
124da275
JL
11828Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
11829
11830 * regmove.c (regmove_optimize): If we end up moving the
11831 original insn due to lifetime overlaps, make sure to move
11832 REG_NOTES too.
11833
fca9d4b0
MH
11834Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
11835
11836 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
11837
326ee7a3
JL
11838Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
11839
11840 * haifa-sched.c (add_branch_dependences): Make each insn in
11841 a SCHED_GROUP_P block explicitly depend on the previous insn.
11842
ca55abae
JM
11843Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
11844
11845 * except.h: Prototype dwarf2 hooks.
11846 * expr.c: Adjust.
11847
5188d2b2
JW
11848Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
11849
11850 * configure.in (native_prefix): Delete.
11851 (mips-dec-netbsd): Don't set prefix.
11852 (*linux*): Don't set prefix.
11853
2e384318
FF
11854Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
11855
70988851
FF
11856 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
11857 defined. If not defined, include <sys/varargs.h> if
11858 HAVE_SYS_VARARGS_H is defined.
11859 * configure.in: Test for varargs.h and sys/varargs.h.
11860 * configure: Regenerate with autoconf.
11861 * config.in: Regenerate with autoheader.
11862
2e384318
FF
11863 * cpplib.c (quote_string): Cast first arg of sprintf call
11864 from "unsigned char *" to "char *".
11865 (output_line_command): Ditto.
11866 (macroexpand): Ditto.
11867 (do_line): Cast atoi arg from "unsigned char *" to "char *".
11868
3fb2f401
JL
11869Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
11870
f2e4e16f
JL
11871 * version.c: Bump for snapshot.
11872
3fb2f401
JL
11873 * Makefile.in (compare): Exit with nonzero status if there
11874 are comparison failures. Note which files failed the
11875 comparison test in .bad_compare.
11876
d26cb668
L
11877Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11878
11879 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
11880
ac64120e
JW
11881Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
11882
11883 * Makefile.in (LN, LN_S): New macros, use where appropriate.
11884 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
11885 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
11886 * configure: Regenerated.
11887
11888Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
11889
11890 * loop.c (strength_reduce): Fix typo.
11891
db87ec0b
JW
11892Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
11893
11894 * m88k/m88k.c (struct option): Rename to struct options.
11895 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
11896 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
11897 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
11898 __DOLPHIN__ or sysV88.
11899
04395f96
JW
11900Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
11901
11902 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
11903 create new subreg.
11904
becdcf6d
JL
11905Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
11906
11907 * config.sub: Accept 'amigados' for backward compatability.
11908
04395f96 11909Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
11910
11911 * Makefile.in (testsuite/site.exp): New target.
11912 (check-gcc, check-g++): Depend on testsuite/site.exp.
11913 Don't stop for failure.
11914
ca55abae
JM
11915Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
11916
11917 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
11918 if DWARF2_UNWIND_INFO.
11919
11920Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
11921
11922 Add support for exception handling using DWARF 2 frame unwind info.
11923 Currently works on SPARC and MIPS, and almost on x86.
b57062ca 11924
ca55abae
JM
11925 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
11926 next_stack_level, in_reg_window): Helper fns.
11927 (__throw): Implement for DWARF2_UNWIND_INFO.
11928
11929 * expr.c (expand_builtin): Handle builtins used by __throw.
11930 * tree.h (enum built_in_function): Add builtins used by __throw.
11931 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
11932 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
11933 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
11934 (expand_builtin_extract_return_addr): Likewise.
11935 (expand_builtin_frob_return_addr): Likewise.
11936 (expand_builtin_set_return_addr_reg): Likewise.
11937 (expand_builtin_eh_stub): Likewise.
11938 (expand_builtin_set_eh_regs): Likewise.
11939 (eh_regs): Choose two call-clobbered registers for passing back values.
11940
11941 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
11942 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
11943 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
11944 (stmp-multilib): Likewise.
11945 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
11946
11947 * except.c: #include "defaults.h".
11948 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
11949 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
11950 (register_exception_table_p): New fn.
11951 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
11952 (end_eh_unwinder): Likewise.
11953
b57062ca 11954 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
ca55abae
JM
11955 call __register_frame and __deregister_frame as needed.
11956 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
11957 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
11958 EH_FRAME_SECTION_ASM_OP.
11959 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
11960 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
11961 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
11962
11963 * dwarf2out.c (output_call_frame_info): If no support for
11964 EXCEPTION_SECTION, mark the start of the frame info with a
11965 collectable tag.
11966 * collect2.c (frame_tables): New list.
11967 (is_ctor_dtor): Recognise frame entries.
11968 (scan_prog_file): Likewise.
11969 (main): Pass -fno-exceptions to sub-compile. Also do collection
11970 if there are any frame entries.
11971 (write_c_file_stat): Call __register_frame_table and
11972 __deregister_frame as needed.
11973 (write_c_file_glob): Likewise.
11974
b57062ca 11975 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
ca55abae
JM
11976 Also require unaligned reloc support.
11977 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11978 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
11979 * sparc/sysv4.h: Not here.
11980
11981 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
11982 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
11983 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
11984
11985 * libgcc2.c (L_eh): Reorganize, moving code shared by different
11986 EH implementations to the top.
11987 (find_exception_handler): Split out. Start from 0. Compare against
11988 end with >=.
11989 (__find_first_exception_table_match): Use it.
11990 * except.c (output_exception_table): Don't do anything if there's
11991 no table. Don't output a first entry of zeroes.
11992 (eh_outer_context): Adjust properly.
11993 (add_eh_table_entry): Use xrealloc.
11994 * toplev.c (compile_file): Just call output_exception_table.
11995
11996Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
11997
11998 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
11999
12000Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
12001
12002 * except.c (eh_outer_context): Do masking using expand_and.
12003
b4d940a2
JL
12004Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
12005
12006 Add port done awhile ago for the ARC cpu.
12007 * arc/arc.h: New file.
12008 * arc/arc.c: New file.
12009 * arc/arc.md: New file.
12010 * arc/initfini.c: New file.
12011 * arc/lib1funcs.asm: New file.
12012 * arc/t-arc: New file.
12013 * arc/xm-arc.h: New file.
12014 * ginclude/va-arc.h: New file.
12015 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
12016 * ginclude/varargs.h: Likewise.
12017 * Makefile.in (USER_H): Add va-arc.h.
12018 * configure.in (arc-*-elf*): Recognize.
12019 * longlong.h: Add ARC support.
12020
12021Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
12022
12023 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
12024 when clearing non-BLKmode data.
12025
10211581
JL
12026Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
12027
9dfc6eba
MH
12028 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
12029 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
12030
55259219
MH
12031 * xm-m88k.h (USG): Only define if it hasn't already been defined.
12032
12033 * Makefile.in (risky-stage1): Delete gratutious whitespace.
12034
ee291069
MH
12035 * Makefile.in (clean): Delete libgcc1-test.
12036
10211581
JL
12037 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
12038
12039Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
12040
12041 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
12042 template.
12043
ca55abae
JM
12044Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12045
12046 * dwarf2out.c (output_call_frame_info): Call named_section.
12047
8f3d79e0
JL
12048Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
12049
12050 * haifa-sched.c (print_value): Fix last change.
12051
ca55abae
JM
12052Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
12053
12054 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
12055 write_symbols.
12056
12057Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
12058
12059 * mips.c (function_prologue): Set up the CFA when ABI_32.
12060
12061 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
12062 for dwarf2 unwind info.
12063 (output_function_prologue, sparc_flat_output_function_prologue): Same.
12064
12065 * final.c (final_end_function): Check dwarf2out_do_frame instead
12066 of DWARF2_DEBUG for dwarf2 unwind info.
12067 (final_scan_insn): Likewise.
12068 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
12069 (final): Not here.
12070
12071 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
12072 count > 0.
12073
12074 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
12075
74aca74b
NC
12076Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
12077
12078 * v850.h (ASM_SPEC): Pass on target processor.
12079 (CPP_PREDEFINES): Only define if not already specified.
12080 (TARGET_VERSION): Only define if not already specified.
12081 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
12082 processor.
12083 (EXTRA_SWITCHES): Extra entries in the switches array.
12084 (TARGET_DEFAULT): Set default target processor.
12085
c0b04148
JW
12086Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
12087
12088 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
12089 cases, add %# and %/, and add : to make them into extended asms.
12090
52b7724b
WL
12091Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
12092
12093 * alias.c (init_alias_analysis): Clean up incompatible pointer
12094 type warning in bzero.
12095 * regmove.c (regmove_optimize): Ditto.
12096 * haifa-sched.c (find_rgns): Ditto.
12097
12098 * haifa-sched.c (print_value): Clean up ptr->int cast
12099 warnings.
12100
0c82f6bf
FF
12101Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
12102
12103 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
12104 * install.texi (Configurations): Ditto.
12105 * config.sub: Ditto.
12106
1fed1f51
WL
12107Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
12108
12109 * Makefile.in (sdbout.o): Depend on insn-config.h.
12110
239e68f6
JW
12111Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
12112
12113 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
12114 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
12115
267c09ab
JM
12116Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
12117
12118 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
12119 prologue insn, only the first elt is significant.
12120 (output_call_frame_info): For exception handling, always use 4-byte
12121 fields as specified by the dwarf2 spec.
12122 Don't skip trivial FDEs.
12123
db7cafb0
JL
12124Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
12125
12126 * version.c: Bump for snapshot.
12127
12128Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
12129
12130 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
12131 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
12132 when op1_is_pow2.
12133
12134Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
12135
bf520cd9
JL
12136 * final.c (shorten_branches): During first pass, assume worst
12137 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
12138
12139 * Makefile.in (distclean): Remove various things left around
12140 by running the testsuite.
12141
7ed46111
MH
12142Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
12143
12144 * configure.in (out_file): Emit definition to config.status in order
12145 to have a defined value for configure.lang.
12146 * configure: Re-built.
12147
e41cea70
JJH
12148Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
12149
bf520cd9 12150 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
12151 for ld-new.
12152 * configure: Rebuilt.
12153
1aeb1f6f
JW
12154Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
12155
12156 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
12157
770a0113
CK
12158Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
12159
12160 * sparc/sparc.md: Add ultrasparc scheduling support.
12161 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
12162
f5ffa999
PDM
12163Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
12164
12165 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
12166 as initial value for real_label_map.
12167 (copy_for_inline): Likewise.
12168
acceac1a
R
12169Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
12170
12171 * sched.c (update_flow_info) When looking if to set found_split_dest
12172 or found_orig_dest, look at all parts of a PARALLEL.
12173 * haifa-sched.c (update_flow_info): Likewise.
12174
f84271d9
JL
12175Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
12176
12177 * v850: New directory for v850 port.
12178 * v850/lib1funcs.asm: New file.
12179 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
12180 * ginclude/va-v850.h: New file.
12181 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
12182 * configure.in (mn10200-*-*): New target.
12183 * configure: Rebuilt.
12184 * config.sub: Handle v850-elf.
b57062ca 12185 * Makefile.in (USER_H): Add va-mn10200.h.
f84271d9
JL
12186 * invoke.texi: Document v850 stuff.
12187
89cc6098
JW
12188Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
12189
04940ba5
JW
12190 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
12191 has integer TYPE_{MAX,MIN}_VALUE before using them.
12192
89cc6098
JW
12193 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
12194 __HPUX_ASM__ versions.
12195
c74f7db8
JL
12196Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
12197
bf520cd9 12198 * install.sh: Delete duplicate install script.
c74f7db8 12199
914ec131
SC
12200Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
12201
12202 * reg-stack.c (subst_stack_regs): Pop the stack register for a
12203 computed goto which sets the same stack register.
12204
12205 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
12206 destination are both on the regstack.
12207 (subst_stack_regs_pat): Put the destination at the top of the regstack.
12208
c1090daa
JW
12209Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
12210
d5d1738a
JW
12211 * mips.md (nonlocal_goto_receiver): Define.
12212
f4da7881
JW
12213 * profile.c (output_arc_profiler): Check next_insert_after for non
12214 NULL before deferencing it.
12215
c1090daa
JW
12216 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
12217
da594c94
JL
12218Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
12219
12220 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
12221
3e28fe44
MM
12222Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
12223
12224 * toplev.c (rest_of_compilation): For passes starting with
12225 flow_analysis, use print_rtl_with_bb instead of print_rtl.
12226
12227 * print-rtl.c (print_rtl_single): Print a single rtl value to a
12228 file.
12229
12230 * flow.c (print_rtl_with_bb): Print which insns start and end
12231 basic blocks. For the start of a basic block, also print the live
12232 information.
12233
7053ca72
JW
12234Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
12235
417b0fa2
JW
12236 * toplev.c (main): Change #elif to #else/#ifdef
12237
7053ca72
JW
12238 * tlink.c: Include ctype.h.
12239 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
12240
f05a8b25
MM
12241Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
12242
12243 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 12244 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 12245
02d7a569
JS
12246Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
12247
12248 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
12249
6030b6af
JW
12250Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
12251
12252 * profile.c (output_arc_profiler): Verify next_insert_after is an
12253 INSN before and after skipping a stack pop.
12254
04da53bd
R
12255Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
12256
12257 * final.c (shorten_branches): Don't count the lengths of deleted
12258 instructions.
12259
780532a4
JL
12260Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
12261
12262 * version.c: Bump for snapshot.
12263
22fa5b8a
MM
12264Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
12265
12266 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
12267 two bitmaps ANDed together.
12268 (bitmap_print): Declare.
12269
12270 * bitmap.c (function_obstack): Don't declare any more.
12271 (bitmap_obstack): Obstack for allocating links from.
12272 (bitmap_obstack_init): New static to say whether to initialize
12273 bitmap_obstack.
12274 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
12275 (bitmap_release_memory): Free all memory allocated from
12276 bitmap_obstack.
12277
12278 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
12279 EXECUTE_IF_AND_IN_BITMAP.
12280
57163df0
JW
12281Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
12282
fa8b6024
JW
12283 * alias.c (true_dependence): Address with AND can alias scalars.
12284 (anti_dependence, output_dependence): Likewise.
b57062ca 12285
57163df0
JW
12286 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
12287
8aa4e786
JS
12288Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
12289
12290 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
12291 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
12292 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
12293 definitions. Use -qrtems instead of -mrtems.
12294
feb21122
RL
12295Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
12296
12297 * xm-sco5.h (sys_siglist): Define.
12298 (SYS_SIGLIST_DECLARED): Likewise.
12299
704af6a1
JL
12300Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
12301
12302 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
12303
127cd405
TG
12304Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
12305
12306 * except.c (eh_outer_context): Expand masking operation using
12307 expand_binop.
12308
8cf02b47
JW
12309Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
12310
12311 * alpha.md (floatdisf2-1): New pattern.
12312
49dad301
JL
12313Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
12314
068f1cb8
JL
12315 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
12316 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 12317 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
12318 * gcc.texi: Note that if you define sys_siglist that you should
12319 also define SYS_SIGLIST_DECLARED.
12320
49dad301
JL
12321 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
12322 are relative to the next instruction, not the current instruction.
12323
a1729519
JW
12324Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
12325
12326 * local-alloc.c (contains_replace_regs): New function.
12327 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
12328 verify that there is no existing REG_EQUIV note, and add a call to
12329 contains_place_regs.
12330
290c8b1f
L
12331Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12332
12333 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
12334 (STARTFILE_SPEC): Always use crtbegin.o%s
12335 (ENDFILE_SPEC): Always use crtend.o%s.
12336
a6a503ed
JW
12337Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
12338
12339 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
12340 is passed in.
12341 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
12342 SFmode for 64 bit hosts.
b57062ca 12343
a94729bc
PH
12344Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
12345
12346 * fixincludes: Permits spaces between # and define. Discard C++
12347 comments in sys/pci.h on HP/UX 10.20.
12348
c9e03727
JL
12349Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
12350
12351 * version.c: Bump for snapshot.
12352
2eddfed1
JL
12353 * pa.c (restore_unscaled_index_insn_codes): New function.
12354 (record_unscaled_index_insn_codes): Likewise.
12355 (output_function_prologue): Call restore_unscaled_index_insn_codes.
12356 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
12357 (pa_reorg): Call record_unscaled_index_insn_codes.
12358
c9e03727
JL
12359 * haifa-sched.c (move_insn): Handle notes correctly for insns
12360 with SCHED_GROUP_P set.
b57062ca 12361
a5d6a95b
L
12362Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12363
12364 * alpha/xm-linux.h (USE_BFD): Undef before define.
12365
bc4ddc77
JW
12366Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
12367
12368 * cse.c (cse_insn): Don't record BLKmode values.
12369
f3e0ca6c
SW
12370Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
12371
12372 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
12373
e3512ac2
JL
12374Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
12375
a63d08e6
JL
12376 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
12377 * collect2.c (sys_errlist): Likewise.
12378 * cpplib.c (sys_errlist): Likewise.
12379 * gcc.c (sys_errlist): Likewise.
12380 * protoize (sys_errlist): Likewise.
12381 * configure.in: Check for strerror.
12382 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
12383 * xm-gnu.h (HAVE_STRERROR): Likewise.
12384 * xm-linux.h (HAVE_STRERROR): Likewise.
12385 * xm-netbsd.h (HAVE_STRERROR): Likewise.
12386 * xm-bsd386.h (HAVE_STRERROR): Likewise.
12387 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
12388 * xm-dos.h (HAVE_STRERROR): Likewise.
12389 * xm-mingw32.h (HAVE_STRERROR): Likewise.
12390 * xm-pa.h (HAVE_STRERROR): Likewise.
12391 * xm-papro.h (HAVE_STRERROR): Likewise.
12392 * xm-sysv4.h (HAVE_STRERROR): Likewise.
12393 * configure, config.in: Rebuilt.
12394
db814993
JL
12395 * Makefile.in: Add several missing "else true" clauses.
12396
e3512ac2
JL
12397 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
12398 * mips-tfile.c: Likewise.
12399 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
12400 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
12401 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
12402 * configure.in: Check for sys_siglist declaration.
12403 * configure, config.in: Rebuilt.
12404
5d84b57e
JS
12405Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
12406
b57062ca 12407 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
5d84b57e
JS
12408 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
12409 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
12410 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
12411 * rs6000/sysv4.h (extra_subtarget_switches): Added new
12412 macro EXTRA_SUBTARGET_SWITCHES.
12413 * configure.in (sh*-*-rtems*): New target.
12414 * sh/rtems.h: New file.
12415 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
12416 * configure: Rebuilt.
12417
2599dcc7
JW
12418Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
12419
12420 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
12421
3b7e5ef4
DE
12422Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
12423
12424 * rs6000.md: Make DF fused-add operations pay attention to
12425 -mno-fused-add.
12426
5cd5f4a7
JW
12427Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
12428
12429 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
12430
63e7fe9b
JL
12431Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
12432
12433 * pa.md (reload_peepholes): Make sure operand is a REG before
12434 examining REGNO. Allow general registers too.
12435
eb7b11fd
JW
12436Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
12437
12438 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
12439
c760091a
PT
12440Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
12441
5cd5f4a7 12442 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
12443 to reallocate abbrev_die_table.
12444
57583338
JW
12445Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
12446
12447 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
12448
eae4b970
AS
124491997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
12450
4f91a0f8
AS
12451 * Makefile.in (config.status): Depend on version.c
12452
eae4b970
AS
12453 * expr.h (insn_gen_function): Reenable prototype.
12454
12455 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
12456 first parameter.
12457
00fc09e1
JW
12458Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
12459
12460 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
12461
2601ebca
JL
12462Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
12463
12464 * version.c: Bump for latest snapshot.
12465
12466 * bc-optab.c: Conditionally include stdlib.h.
12467 (free): Provide a declaration if NEED_DECLARATION_FREE.
12468 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
12469 * rtl.h (free): Remove declaration.
12470 * tree.h (free): Remvoe declaration.
12471
12472 * configure: Rebuilt.
12473
e5eb27e5
JL
12474Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
12475
12476 * flags.h (flag_move_all_movables): Declare.
12477 (flag_reduce_all_givs): Likewise.
12478 * loop.c (move_movables): Handle flag_move_all_movables.
12479 (strength_reduce): Handle flag_reduce_all_givs.
12480 * toplev.c (flag_move_all_movables): Define.
12481 (flag_reduce_all_givs): Likewise.
12482 (f_options): Add -fmove-all-movables and -freduce-all-givs.
12483 * invoke.texi: Document new options, including alias stuff that
12484 wasn't included last time.
12485
d995a6dc
BM
12486Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
12487
12488 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
12489 * t-mn10200: Ditto.
12490 * t-vxsparc: Ditto.
12491 * t-vxworks68: Ditto.
12492 * t-vxworks960: Ditto.
12493 * t-vx29k: Ditto.
12494
ba64ca33
RH
12495Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
12496
12497 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
12498 if not already defined, and USE_C_ALLOCA not defined.
12499
ca20876d
JW
12500Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
12501
7818d6fc
JW
12502 * config.guess: Replace with script that uses ../config.guess.
12503
ca20876d
JW
12504 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
12505 if USE_GNULIBC_1 is not defined.
12506
704a6306
RH
12507Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
12508
12509 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
12510 * config.guess: Recognize alpha-linux-gnulibc1.
12511 * configure.in (alpha-*-linux-gnulibc1): New target.
12512 (alpha-*-linux-gnu*): Don't build crtbegin/end.
12513
67f68fd2
JW
12514Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
12515
12516 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
12517 last change.
12518
88016fb7
DE
12519Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
12520
12521 * loop.c (combine_movables): Earlier insns don't match later ones.
12522
bba17b29
L
12523Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12524
12525 * config/linux.h (CC1_SPEC): Define it only if not defined.
12526
12527 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
12528 <linux.h>
12529
12530 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
12531 USE_GNULIBC_1 is not defined.
12532
33d2808b 12533 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
12534
12535 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
12536 as 1 if USE_GNULIBC_1 is not defined.
12537
ed4044e0
JL
12538Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
12539
f345de42
JL
12540 * reorg.c (dbr_schedule): Allow current_function_return_rtx
12541 to be something other than a REG.
12542 * function.c (expand_function_end): Fix current_function_return_rtx
12543 if it was a pseudo.
12544
ed4044e0
JL
12545 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
12546 * x-netbsd: Likewise
12547 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
12548 (INSTALL_HEADERS): Delete.
12549 * x-dguxbcs: Likewise.
12550 * x-hp3bsd44: Likewise
12551 * x-pa: Likewise.
12552
47d36400
BS
12553Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
12554
12555 * i386.md (pop): pop increments the stack pointer.
12556 (prologue_set_stack_ptr): New pattern.
12557 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
12558 instead of subsi3.
12559
fc79eafe
JW
12560Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
12561
12562 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
12563 address where an offsettable address is required.
12564
c5da853f
MH
12565Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
12566
12567 * loop.c (check_final_value): Don't miss a biv increment in a
12568 parallel.
12569
d4ef15f2
JW
12570Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
12571
12572 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
12573 TYPE_DECL_IS_STUB instead of DECL_NAME.
12574
10549cbd
JW
12575Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12576
12577 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
12578
12579Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
12580
12581 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
12582
484df988
JL
12583Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
12584
12585 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
12586 (find_post_sched_live): Likewise.
12587
12588 * haifa-sched.c (schedule_block): Remove old code to get arguments
12589 from hard regs into pseudos early.
12590
39dfb55a
JL
12591Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
12592
12593 * version.c: Bump for new snapshot.
12594
12595 * local-alloc.c (update_equiv_regs): All the target to reject
12596 promotion of some REG_EQUAL to REG_EQUIV notes.
12597 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
12598
12599 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
12600 secondary reloads.
12601
12602 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
12603 store of the argument registers.
12604
12605Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
12606
12607 * fold-const.c (multiple_of_p): New function.
12608 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
12609
d78778eb
JL
12610Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
12611
12612 * expr.h (insn_gen_function): Temporarily remove prototype.
12613
feb9ea1a
JW
12614Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
12615
12616 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
12617 filenames. Use sed to extract base filename for install.
12618
b6ffe602
JC
12619Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
12620
12621 * unroll.c (find_splittable_givs): Only share if two givs have the
12622 same add and multiply values.
12623
2ebfd230
JW
12624Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
12625
12626 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
12627 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
12628
251ffdee
JL
12629Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
12630
12631 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
12632 around branch tables.
12633 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
12634 and .end_brtab directives if TARGET_GAS.
12635
19372aa1
JW
12636Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
12637
27314274
JW
12638 * alias.c (true_dependence): Pass x_addr not x to varies.
12639
19372aa1
JW
12640 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
12641 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
12642 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
12643 declarations.
12644 * config.in, configure: Regenerate.
12645
2a2c8203
JC
12646Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
12647
12648 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
12649 LO_SUM.
12650 (record_set): Handle LO_SUM like PLUS.
12651 (init_alias_analysis): When following chains of base addresses,
12652 do not stop on reaching a hard register.
12653
d80357b7
JL
12654Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
12655
12656 * version.c: Bump for new snapshot.
12657
b4f32d7b
JW
12658Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
12659
12660 * alpha.h (ARCH_ASM_FILE_START): Define.
12661 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
12662 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
12663
ca363bb6
JL
12664Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
12665
12666 * Makefile.in (install-common): Put gcov comment at start of line.
12667
7557aa98
JL
12668Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
12669
12670 * alias.c (init_alias_analysis): When simplifying the reg_base_value
12671 array, simplify entries for hard registers too.
12672
c34e3ae4
DL
12673Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
12674
12675 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
12676 list.
12677
e3eef942
JW
12678Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
12679
12680 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
12681 block_stack before dereferencing it.
12682
12683Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
12684
12685 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
12686
04f41951
JM
12687Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
12688
12689 * cplus-dem.c: Add 'extern' to prepends_underscore.
12690
e933cbe0
JL
12691Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
12692
62d65906
JL
12693 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
12694 (get_issue_rate): Delete.
12695 * pa.h (ISSUE_RATE): Define.
12696
2da05a5b
JL
12697 * configure.in: Turn on haifa by default for the PA.
12698 * configure: Rebuilt.
12699 * pa.c (override_options): Accept -mschedule=7200 option.
12700 (pa_adjust_cost): No longer need to scale costs for newer
12701 processors.
12702 * pa.h (enum processor_type): Add PROCESSOR_7200.
12703 * pa.md: Revamp scheduling parameters to work better with
12704 haifa. Add scheduling parameters for the 7200.
12705
4f64eaca
JL
12706 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
12707 insns too.
12708 (schedule_block): When adjusting basic_block_{head,end}, account
12709 for movement of SCHED_GROUP_P insns too.
12710
12711 * haifa-sched.c (debug_dependencies): Fix thinko.
12712
e933cbe0
JL
12713 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
12714 (site.exp, check, check-g++, check-gcc): New targets.
12715
4f64eaca 12716 * haifa-sched.c: Make lots of variables static.
61822835 12717
e9576d2c
L
12718Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12719
12720 * expr.h, real.h: Finish prototyping.
12721
61822835
JL
12722Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
12723
12724 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
12725 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
12726 * reload1.c: Undo bugfix from Aug 11.
12727
f24b370a
MM
12728Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
12729
12730 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
12731 quotes around the name.
12732 * configure: Regenerate.
12733
1c4c5851
JW
12734Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
12735
12736 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
12737
71abb567
MH
12738Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
12739
12740 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
12741 to sub-makes to avoid building more passes than the user might have
12742 requested on the command line.
12743
6042434a
DL
12744Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
12745
12746 * configure.in: Expurgate `broken_install' (install is
12747 autoconfed).
12748
12749 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
12750 relevant).
12751
38ea060f
JL
12752Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
12753
12754 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
12755 functions and declarations.
12756 (analyze_loop_iterations): Use condjump_p.
12757 (insert_bct): Likewise. Use exact_log2.
b57062ca 12758
f187056f
JL
12759Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
12760
12761 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
12762 (schedule_region): Likewise.
12763 (schedule_insns): Likewise.
12764
12765 * PROJECTS: Update with Haifa stuff.
12766
9af06254
JL
12767Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
12768
12769 * version.c: Change the version string to look like:
11c21791 12770 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 12771
0945e937
JL
12772 * loop.c (is_conditional_branch): Make definition match declaration.
12773
9af06254
JL
12774 * gcc.c: Take out experimental snapshot warning message.
12775
ebc25a17
MM
12776Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
12777
12778 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
12779 print out the names of the notes. Print out the name of the insn
12780 that is not a note, and not an {,CALL_,JUMP_}INSN.
12781
610ce97e
JM
12782Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
12783
12784 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
12785 again for the slot after we give it RTL.
12786
992d1248
DE
12787Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
12788
12789 * configure.in (haifa configury): Fix typo.
12790 * configure: Regenerate.
12791
7bb6fbd1
JL
12792Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
12793
12794 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
12795
12796 * gcc.info*: Rebuilt.
12797
12798 * COPYING.g77, README.g77: New files.
12799 * real.c (ereal_unto_float, ereal_unto_double): New functions.
12800 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
12801 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
12802
8c660648
JL
12803Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
12804
12805 * Integrate Haifa instruction scheduler.
12806 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
12807 to sched with $(SCHED_CFLAGS.
12808 * configure.in: Handle --enable-haifa.
12809 * configure: Rebuilt.
12810 * flags.h: Add new flags for haifa instruction scheduler.
12811 * genattrtab.c (expand_units): For haifa, don't subtract one
12812 when computing blockage.
12813 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
12814 (flag_schedule_speculative): Ditto.
12815 (flag_schedule_speculative_load): Ditto.
12816 (flag_schedule_speculative_load_dangerous): Ditto.
12817 (flag_schedule_reverse_before_reload): Ditto.
12818 (flag_schedule_reverse_after_reload): Ditto.
12819 (flag_branch_on_count_reg): Ditto.
12820 (f_options): Add Haifa switches.
12821 (main): Turn off some Haifa options if appropriate macro is
12822 defined. Process Haifa switches.
12823 * unroll.c (iteration_info): No longer static, since Haifa
12824 scheduler uses it.
12825 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
12826 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
12827 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
12828 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
12829 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
12830 storage for the Haifa scheduler.
12831 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
12832 LABEL_NEXTREF.
12833 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
12834 are defined, call analyze_loop_iterations and insert_bct to use
12835 countdown loops.
12836 (record_giv): Refine test for jumps out of loops if HAIFA is
12837 defined.
12838 (analyze_loop_iterations): New function to identify if we can use
12839 a countdown loop.
12840 (insert_bct): Insert countdown loop.
12841 (instrument_loop_bct): Low level code to insert countdown loop.
12842 (loop_number): Calculate UID of loop.
12843 (indirect_jump_in_function_p): Return true if an indirect jump is
12844 in the function.
12845 (is_power_of_2): Return true if value is a power of 2.
12846 (is_conditional_branch): Return true if insn is a conditional
12847 jump.
12848 (fix_bct_param): Process -fbct-{min,max}-N switches.
12849 (check_bct_param): Return true if loop should be instrumented.
12850 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
12851 (loop_optimize): Initialize.
12852 (get_condition_for_loop): Ditto.
12853 * loop.c (strength_reduce): Inside of code that uses #ifdef
12854 HAVE_decrement_and_branch_on_count code, test it to make sure the
12855 condition is true.
12856 (instrument_loop_bct): Ditto.
12857 * haifa-sched.c: New file.
b57062ca 12858
8c660648
JL
12859
12860 * Integrate regmove pass.
12861 * Makefile.in (OBJS): Add regmove.o
12862 (regmove.o): Add dependencies.
12863 * flow.c (find_use_as_address): No longer static.
12864 * rtl.h (find_use_as_address): Declare.
12865 * toplev.c (regmove_dump, flag_regmove): Define.
12866 (f_options): Add -fregmove.
12867 (regmove_dump_file, regmove_time): Define.
12868 (fatal_insn): Close the regmove dump file.
12869 (compile_file): Initialize regmove_time; open/close the regmove dump
12870 file as needed. Print regmove time as needed.
12871 (rest_of_compilation): Run regmove pass if requested, dump
12872 RTL after regmove if requested.
12873 (main): If -O2 or more, turn on regmove. Handle dump switches.
12874 * regmove.c: New file.
b57062ca 12875
aa32d841
JL
12876Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
12877
12878 * Integrate tlink patch from jason@cygnus.com
12879 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
12880 (process_command): Increment n_switches for them. Don't discard
12881 their args. Validate them.
12882 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
12883 From Rohan Lenard.
12884 (process_command): Set include_prefixes from COMPILER_PATH.
12885 (main): Set COLLECT_GCC_OPTIONS sooner.
12886 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
12887 * tlink.c, hash.c, hash.h: New files.
12888 * Makefile.in (USE_COLLECT2): Always use collect2.
12889 (collect2): Depend on and link in hash.o and tlink.o.
12890 (tlink.o, hash.o): Add dependencies.
12891
5fa39bfe
JL
12892Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
12893
9ae8ffe7
JL
12894 * Integrate alias analysis changes from jfc@mit.edu
12895 * Makefile.in (OBJS): Add alias.o
12896 (alias.o): Add dependencies.
12897 * alias.c: New file.
12898 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 12899 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
12900 (schedule_insns): Always call init_alias_analysis.
12901 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
12902 mark return value from such functions as a pointer and keep track of
12903 them for alias analysis. If a return value from a function is a
12904 pointer, mark it as such.
12905 * combine.c (distribute_notes): Handle REG_NOALIAS.
12906 * cse.c (struct write_data): Delete. No longer needed.
12907 (invalidate): Don't call set_nonvarying_address_components anymore.
12908 Use true_dependence to decide if an entry should be removed from
12909 the hash table.
12910 (invalidate_memory): Remove WRITES argument, simplify appropriately.
12911 Fix all callers.
12912 (note_mem_written): Similarly for WRITE_PTR argument.
12913 (invalidate_from_clobbers): Similarly for W argument.
12914 (invalidate_for_call): Remove memory elements from the hash table.
12915 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
12916 (cse_rtx_varies_p): New function. Derived from old
12917 cse_rtx_addr_varies_p.
12918 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
12919 Don't call note_mem_written anymore. Stack pushes invalidate the stack
12920 pointer if PUSH_ROUNDING is defined. No longer need to call
12921 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
12922 (skipped_writes_memory): Remove variable.
12923 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
12924 (invalidate_skipped_block): Simplify for new alias analysis code.
12925 (cse_set_around_loop): Likewise.
12926 (cse_main): Call init_alias_analysis.
12927 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
12928 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
12929 (f_options): Add new alias checking arguments.
12930 (main): Set flag_alias_check when optimizing.
12931 * local_alloc (validate_equiv_mem_from_store): Add new arguments
12932 to true_dependence.
12933 (memref_referenced_p): Likewise.
12934 * loop.c (NUM_STORES): Increase to 30.
12935 (prescan_loop): Only non-constant calls set unknown_address_altered.
12936 (invariant_p): Add new arguments to true_dependence.
12937 (record_giv): Initialize unrolled and shared fields.
12938 (emit_iv_add_mult): Call record_base_value as needed.
12939 * loop.h (struct induction): Add unrolled and shared fields.
12940 * unroll.c (unroll_loop): Call record_base_value as needed.
12941 (copy_loop_body): Likewise.
12942 (final_biv_value): Likewise.
12943 (final_giv_value): Likewise.
12944 (find_splittable_regs): Likewise. Only create one new pseudo
12945 if we have multiple address GIVs that were combined with the same
12946 dst_reg GIV. Note when a new register is created due to unrolling.
12947 * rtl.c (reg_note_name): Add REG_NOALIAS.
12948 * rtl.h (enum reg_note): Similarly.
12949 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
12950 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
12951 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
12952 (true_dependence, read_dependence, anti_dependence): Likewise.
12953 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
12954 (mark_user_reg, mark_reg_pointer): Likewise.
12955
12956
12957 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe 12958 to bootstrap again.
38e01259 12959 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
5fa39bfe
JL
12960 OPERAND_ADDRESS when computing how many registers an insn needs.
12961 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
12962 conflict.
12963 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
12964 OPADDR_ADDR reload.
12965 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
12966 in reload_reg_use_in_op_addr do not reach the end.
12967 do not reach the end.
12968 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
12969 RELOAD_FOR_OPERAND_ADDRESS.
12970
12971Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
12972
2dcfcb56 12973 * egcs project officially starts.
52267fcb
JM
12974
12975Local Variables:
12976add-log-time-format: current-time-string
12977End:
This page took 1.689359 seconds and 5 git commands to generate.