]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* jump.c (jump_optimize) Check for CONST_INT before using INTVAL.
[gcc.git] / gcc / ChangeLog
CommitLineData
702d7434
AB
1Mon Jul 6 22:17:19 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
2
3 * jump.c (jump_optimize) Check for CONST_INT before using INTVAL.
4
eafdfea8
RH
5Mon Jul 6 22:14:31 1998 Richard Henderson (rth@cygnus.com)
6
7 * regclass.c (allocate_reg_info): Initialize the entire reg_data
8 virtual array.
9
ad214bc2
ILT
10Mon Jul 6 22:09:32 1998 Ian Lance Taylor <ian@cygnus.com>
11 Jeff Law <law@cygnus.com>
12
13 * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
14 matching July 18, 1995 change to cccp.c. If -traditional then
15 disable cplusplus_comments.
16
3b39dde8
JL
17Mon Jul 6 21:28:14 1998 Jeffrey A Law (law@cygnus.com)
18
19 * Disable the following change from gcc2. Not appropriate for egcs:
20
21 Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22 * reload.c (find_reloads): Give preference to pseudo that was the
23 reloaded output of previous insn.
24
092f7be3
KG
25Mon Jul 6 21:07:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
26
27 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
28 Instead, define a new macro HAVE_PRINTF_PTR which only signifies
29 whether we have the %p format specifier or not.
30
31 * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
32
33 * machmode.h (HOST_PTR_PRINTF): When determining the definition,
34 check HAVE_PRINTF_PTR to see whether "%p" is okay.
35
36 * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
37
38 * Makefile.in (mips-tfile.o): Depend on machmode.h.
39
93de5c31
MM
40Mon Jul 6 10:42:05 1998 Mark Mitchell <mark@markmitchell.com>
41
42 * jump.c (duplicate_loop_exit_test): Don't refuse to copy a
43 section of code just because it contains
44 NOTE_INSN_BLOCK_{BEG,END}.
45 * stmt.c (expand_end_loop): Likewise. Also, don't refuse to
46 move CALL_INSNs or CODE_LABELs. When moving code, don't move
47 NOTE_INSN_BLOCK_{BEG,END}.
48
2f541799
MM
49Mon Jul 6 09:38:15 1998 Mark Mitchell <mark@markmitchell.com>
50
51 * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
52 dealing with ADDRESSOF.
53 (find_best_addr): Use it.
54
4fc8ff92
RH
55Mon Jul 6 09:27:08 1998 Richard Henderson <rth@cygnus.com>
56
57 * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
58
10c301ac
DL
59Mon Jul 6 09:25:06 1998 Dave Love <d.love@dl.ac.uk>
60
61 * libgcc2.c (__eprintf): Make args consistent with prototype in
62 assert.h.
63
9de2c71a
MM
64Mon Jul 6 00:28:43 1998 Mark Mitchell <mark@markmitchell.com>
65
66 * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
67 don't claim that the former is equivalent to the latter.
68
a4017712
JL
69Sun Jul 5 23:58:19 1998 Jeffrey A Law (law@cygnus.com)
70
7bd8b2a8
JL
71 * cse.c (cse_insn): Second arg is an RTX now. Update all callers.
72 (cse_basic_block): Keep track of the current RETVAL insn for a
73 libcall instead of just noting that we're in a libcall.
74
adc05e6c
JL
75 * combine.c (simplify_comparison): Do not commute a AND into
76 a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
77
a4017712
JL
78 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
79 HAVE_GAS_MAX_SKIP_P2ALIGN.
80 * i386/linux.h: Likewise.
81
f7e0e539
DM
82Fri Jul 3 02:33:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
83
84 * sparc.c (sparc_operand, move_operand, arith_operand,
85 arith11_operand, arith10_operand, arith_double_operand,
86 arith11_double_operand, arith10_double_operand, small_int,
87 uns_small_int): Recognize CONSTANT_P_RTX.
88 (output_sized_memop, output_move_with_extension,
89 output_load_address, output_size_for_block_move,
90 output_block_move, delay_operand): Remove, has not been
91 enabled or referenced for years.
92 * sparc.md (movstrsi, block_move_insn): Likewise.
93 * sparc.h (PREDICATE_CODES): Define.
94 * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
95 version which uses getcc/setcc traps to save/restore condition
96 codes.
97 * linux64.h: Likewise.
98 * sunos4.h: Likewise.
99 * linux.h: Likewise.
100 * sol2.h: Likewise.
101 * sun4o3.h: Likewise.
102
d420e567
RH
103Fri Jul 3 02:28:05 1998 Richard Henderson <rth@cygnus.com>
104
105 * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
106 lossage on VMS. Reported by kkaempf@rmi.de.
107 * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
108
4abfe235
NC
109Thu Jul 2 17:41:14 1998 Nick Clifton <nickc@cygnus.com>
110
111 * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
112 version.
113
39403d82
DE
114Thu Jul 2 14:34:48 1998 David Edelsohn <edelsohn@mhpcc.edu>
115
116 * expr.h (STACK_SIZE_MODE): New macro.
117 * explow.c (allocate_dynamic_stack_space): Use it for
118 mode of allocate_stack pattern increment operand.
119 * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
120 * md.texi (stack_save_block, ...): Reflect use of macro.
121
122 * rs6000.h (PROMOTE_MODE): Always promote to word_mode.
123 (PROMOTE_FUNCTION_ARGS): Define.
124 (PROMOTE_FUNCTION_RETURN): Define.
125 (FUNCTION_VALUE): Promote to word_mode if smaller.
126 Convert to gen_rtx_FOO.
127 * rs6000.md (call_indirect): Store doubleword in 64-bit mode.
128 Convert to gen_rtx_FOO.
129 * rs6000.c: Convert to gen_rtx_FOO.
130
848205e6
MM
131Thu Jul 2 14:16:11 1998 Michael Meissner <meissner@cygnus.com>
132
133 * varray.{c,h}: New files to provide virtual array support.
6feacd09 134
848205e6
MM
135 * Makefile.in (OBJS): Add varray.o.
136 (varray.o): Add new file.
6feacd09
MM
137 (REGS_H): New variable for dependencies for files including
138 regs.h. Add varray.h and files it includes. Change all regs.h
139 dependencies to $(REGS_H).
848205e6
MM
140
141 * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
142 (xcalloc): Provide frontend for calloc.
143 * {tree,rtl}.h (xcalloc): Add declaration.
144
6feacd09
MM
145 * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
146 varray.
147
148 * regs.h (toplevel): Include varray.h.
149 (reg_n_info): Switch to use a varray.
150 (REG_*): Ditto.
151 (allocate_reg_info): Change num_regs argument to be size_t.
152
153 * regclass.c (reg_info_data): New structure to remember groups of
154 reg_info structures allocated that are to be zeroed.
155 ({pref,alt}class_buffer): New statics to hold buffers
156 allocate_reg_info allocates for {pref,alt}class_buffer.
157 (regclass): Use {pref,alt}class_buffer to initialize
158 {pref,alt}class.
159 (allocate_reg_info): Switch to make reg_n_info use varrays.
160 Allocate buffers for the preferred and alter register class
161 information. Change num_regs argument to be size_t, not int.
162
163 * flow.c (reg_n_info): Switch to use varrays.
164
f7c9c2bb
RL
165Thu Jul 2 10:11:47 1998 Robert Lipe <robertl@dgii.com>
166
167 * install.texi (sco3.2v5): Document new --with-gnu-as flag.
168 * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
169 in other targets.
170 (USE_GAS): Conditionalize away native assembler usage.
171 * config/i386/sco5gas.h: New file.
172 * config/i386/t-sco5gas: New file.
173 * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
174
c92293e7
CM
175Thu Jul 2 08:20:00 1998 Catherine Moore <clm@cygnus.com>
176
177 * haifa-sched.c (alloc_EXPR_LIST): Change to use
178 unused_expr_list.
179
ee5b121e
DL
180Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
181
182 * Makefile.in (install-info): Don't use $realfile. Ignore
183 possible errors from the install-info program.
184
729a2bc6
AB
185Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
186
187 * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
188
95912252
RH
189Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com>
190
191 * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
192 (MODES_TIEABLE_P): Tie SImode and HImode.
193
56159047
AJ
1941998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
195
196 * invoke.texi (Optimize Options): Fix typo.
197
00a2e46c
JW
198Wed Jul 1 22:25:43 1998 Jim Wilson <wilson@cygnus.com>
199
200 * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
201 the zero'th block.
202
4c95db67
KR
203Wed Jul 1 23:12:58 1998 Ken Raeburn <raeburn@cygnus.com>
204
205 * h8300.c (print_operand): Delete %L support.
206 * h8300.md (branch_true, branch_false): Use %= with a prefix
207 instead of %L for local branch labels.
208
370b1b83
R
209Wed Jul 1 21:27:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
210
211 * reload1.c (emit_reload_insns): Use proper register classes for
212 SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
213
826e3854
R
214Wed Jul 1 21:17:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
215
216 * reload.c (find_reloads): If there are multiple
217 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
218 one operand, change RELOAD_FOR_INPADDR_ADDRESS /
219 RELOAD_FOR_OUTADDR_ADDRESS for all but the first
220 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
221
8543c01e
R
222Wed Jul 1 17:23:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
223
224 * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
225 using its PATTERN.
226
aac5cc16
RH
227Wed Jul 1 05:04:41 1998 Richard Henderson <rth@cygnus.com>
228
229 * expr.c (emit_group_load, emit_group_store): Rewrite considering
230 the size and alignment of the structure being manipulated.
231 * expr.c, calls.c, function.c: Update all callers.
232 * expr.h: Update prototypes.
233 * cse.c (invalidate): Cope with parallels.
234
1eac9f59
RH
235Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com>
236
237 * sparc.c (function_arg_record_value): Take a MODE arg with which to
238 create the PARALLEL. Update all callers.
239
822a3443
RH
240Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com>
241
242 * expr.c (expand_assignment, store_constructor, expand_expr): Use
243 convert_memory_address instead of convert_to_mode when possible.
244
c714f03d
RH
245Wed Jul 1 03:48:00 1998 Richard Henderson <rth@cygnus.com>
246
247 * alpha.c (alpha_initialize_trampoline): Take arguments describing
248 the layout. Use ptr_mode. Disable hint generation. Use gen_imb.
249 * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
250 (TRANSFER_FROM_TRAMPOLINE): Move ...
251 * alpha/osf.h: ... here.
252 * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
253 (TRANSFER_FROM_TRAMPOLINE): Remove undef.
254 * alpha/win-nt.h: Likewise.
255 * alpha/vxworks.h: Likewise.
256
257 * alpha/linux.h: Revert gcc2 merge lossage.
258
03369c93
AS
259Wed Jul 1 10:56:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
260
261 * c-decl.c (grokdeclarator): Don't warn about implicit int in
262 `typedef foo = bar'.
263
e06c10eb
RL
264Wed Jul 1 02:12:33 1998 Robert Lipe <robertl@dgii.com>
265
266 * i386.c (asm_output_function_prefix): Make 686 function
267 prologues not issue .types for non-global lables.
268
154f82c7
DT
269Tue Jun 30 23:46:53 1998 Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
270
271 * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
272 (WCHAR_TYPE_SIZE): Update appropriately.
273
20b20440
JL
274Tue Jun 30 23:16:39 1998 Jeffrey A Law (law@cygnus.com)
275
762a1d90
JL
276 * flow.c (recompute_reg_usage): Does not return a value.
277 * rtl.h (recompute_reg_usage): Update prototype.
278
20b20440
JL
279 * jump.c (jump_optimize): Show that the jump chain is not
280 valid when not optimizing.
281
cff48d8f
RH
282Tue Jun 30 16:01:01 1998 Richard Henderson <rth@cygnus.com>
283
284 * rtl.def (CONSTANT_P_RTX): New.
285 * rtl.h (CONSTANT_P): Recognize it.
286 * cse.c (fold_rtx): Eliminate it.
287 * expr.c (can_handle_constant_p): New variable.
288 (init_expr_once): Initialize it.
289 (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
290 immediately recognizable as a constant.
291
292 * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
293 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
294 (sext_add_operand, and_operand, or_operand): Likewise.
295 (reg_or_cint_operand, some_operand, input_operand): Likewise.
296 * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
297
2067f1f5
BK
2981998-06-30 Benjamin Kosnik <bkoz@bliss.nabi.net>
299
300 * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
301
d2cabf16
KG
302Tue Jun 30 14:03:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
303
304 * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
305 argument, which is typically preprocessor code used to draw in
306 additional header files when looking for a function declaration.
307 (GCC_NEED_DECLARATIONS): Likewise.
308
309 * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
310 and setrlimit, search for them in sys/resource.h.
311
312 * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
313 NEED_DECLARATION_SETRLIMIT.
314
315 * system.h: Prototype getrlimit/setrlimit if necessary.
316
70198e3d
MM
317Tue Jun 30 10:54:48 1998 Mark Mitchell <mark@markmitchell.com>
318
84001dd0
MM
319 * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
320 upon.
70198e3d 321
ba1a5707
DE
322Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
323
324 * rs6000/sysv4.h (asm output): add tabs for asm directives.
325
326Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
327
328 * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
329
51db713f
KG
330Tue Jun 30 08:59:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
331
332 * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
333 Don't define NULL here. Also, remove all vestiges of autoconf
334 based checks for bcmp/bcopy/bzero/index/rindex.
335
336 * system.h: Immediately after including stdio.h, check for and if
337 necessary provide a default definition of NULL.
338
b8705408
MM
339Tue Jun 30 08:22:05 1998 Michael Meissner <meissner@cygnus.com>
340
341 * reload1.c (reload_cse_simplify_operands): Call
342 fatal_insn_not_found, not abort.
343
20f2d03a
JL
344Tue Jun 30 02:34:02 1998 Jeffrey A Law (law@cygnus.com)
345
346 * choose-temp.c (make_temp_file): Accept new argument for the
347 file suffix to use. Allocate space for it and add it to the
348 template.
349 * mkstemp.c (mkstemps): Renamed from mkstemp. Accept new argument
350 for the length of the suffix. Update template struture checks
351 to handle optinal suffix.
352 * collect2.c (make_temp_file): Update prototype.
353 (main): Put proper suffixes on temporary files.
354 * gcc.c (make_temp_file): Update prototype.
355 (do_spec_1): Put proper suffixes on temporary files.
356
dbde0d5d
BH
357Tue Jun 30 00:56:19 1998 Bruno Haible <haible@ilog.fr>
358
359 * invoke.texi: Document new implicit structure initialization
360 warning.
361
ad2c71b7
JL
362Mon Jun 29 22:12:06 1998 Jeffrey A Law (law@cygnus.com)
363
9ec36da5
JL
364 * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
365 details.
366
ad2c71b7
JL
367 * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
368
4f70758f
KG
369Mon Jun 29 20:12:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
370
371 * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
372
373 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
374 void since it is evaluated in a comma list.
375
376 * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
377 argument as a long and cast `NUM' to long to ensure it is of the
378 proper width. Wrap macro arguments in parens when they appear in
379 the expansion.
380
381 * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
382
383 * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
384 (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
385 function argument return type.
386 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
387 REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
388
389 * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
390 cpp_message.
391
392 * dbxout.c: Fix the comments after an #endif to reflect the actual
393 condition tested in the preceding #if.
394
395 * except.c (find_all_handler_type_matches): Switch to old-style
396 function definition.
397
398 * expr.c (expand_builtin): Remove unused variable `type' twice.
399
400 * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
401 to an unsigned long.
402
403 * haifa-sched.c (print_insn_chain): Remove unused function.
404
405 * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
406 definition.
407
408 * toplev.c: When testing whether to include dbxout.h, also include
409 it when XCOFF_DEBUGGING_INFO is defined.
410
411 * unroll.c (unroll_loop): Add parentheses around assignment used
412 as truth value.
413
a611ae14
CM
414Mon Jun 29 12:18:00 1998 Catherine Moore <clm@cygnus.com>
415
416 * config/lb1spc.asm (.div, .udiv): Replace routines.
417
b4213325
MM
418Mon Jun 29 09:44:24 1998 Mark Mitchell <mark@markmitchell.com>
419
420 * rtl.h: Update comment about special gen_rtx variants.
421 * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
422
39d45901
JL
423Sun Jun 28 20:58:51 1998 Jeffrey A Law (law@cygnus.com)
424
425 * choose-temp.c (choose_temp_base): Restore original variant of
426 this function for compatibility.
427 (make_temp_file): This is the new, preferred interface to create
428 temporary files.
429 * collect2.c (choose_temp_base): Delete declaration.
430 (make_temp_file): Declare.
431 (temp_filename_length, temp_filename): Delete.
432 (main): Use make_temp_file to get temporary files. Use --lang-c
433 to force the resulting ctort/dtor file to be compiled with the C
434 compiler. Make sure to remove temporary files on all exit paths.
435 * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
436 defined.
437 (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
438 not defined.
439 (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
440
6cd5dccd
KG
441Sun Jun 28 08:57:09 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
442
443 * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
444 getwd.
445
446 * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
447 NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
448
449 * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
450 (my_strerror): Add prototype and make it static.
451
452 * collect2.c: Likewise.
453
454 * cpplib.c: Likewise.
455
456 * gcc.c: Likewise, but keep `my_strerror' extern.
457
458 * protoize.c: Likewise.
459
460 * pexecute.c (my_strerror): Add argument to prototype.
461
462 * system.h: Add prototypes for getcwd, getwd and strerror. Add
463 extern decls for sys_nerr and sys_errlist. Make abort decl
464 explicitly extern.
465
466 * getpwd.c: Remove decls for getwd and getcwd.
467
984e3c38
JL
468Sun Jun 28 02:11:16 PDT 1998 Jeff Law (law@cygnus.com)
469
470 * version.c: Bump for snapshot.
471
0bef9b8d
RH
472Sat Jun 27 23:32:25 1998 Richard Henderson <rth@cygnus.com>
473
474 * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
475 of rtx_unsafe_p. Use modified_between_p instead of reg_set_between_p.
476 Allow FP moves to be optimized.
477 (rtx_unsafe_p): Delete.
478
97a7f457
RH
479Sat Jun 27 23:02:04 1998 Richard Henderson <rth@cygnus.com>
480
481 * objc/archive.c: Remove <string.h> prototypes.
482
b00c2351
JL
483Sat Jun 27 22:37:05 1998 Jeffrey A Law (law@cygnus.com)
484
f89223a9
JL
485 * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
486
b00c2351
JL
487 * Makefile.in (gencheck): Remove $(TREE_H) dependency.
488
d2a0c2ee
JC
489Sat Jun 27 20:20:00 1998 John Carr <jfc@mit.edu>
490
491 * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
492 * dsp16xx.c (next_cc_user_unsigned): New function.
493 Remove save_next_cc_user_code.
494 (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
495 * dsp16xx.md: Call next_cc_user_unsigned instead of using
496 save_next_cc_user_code.
497 Use gen_rtx_* functions instead of gen_rtx.
498
499Sat Jun 27 20:18:34 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
500
39403d82 501 * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
d2a0c2ee 502
4c649323
JL
503Sat Jun 27 16:45:42 1998 Jeffrey A Law (law@cygnus.com)
504
505 * flow.c (count_reg_sets): New function.
506 (count_reg_sets_1, count_ref_references): Likewise.
507 (recompute_reg_usage): Likewise.
508 * rtl.h (recompute_reg_usage): Add prototype.
509 * toplev.c (rest_of_compilation): Call recompute_reg_usage just
510 before local register allocation.
511
ea56ab2a
RH
512Sat Jun 27 13:15:30 1998 Richard Henderson <rth@cygnus.com>
513
514 * alpha.md (negsf, negdf): Revert Jan 22 change.
515
50793ea3
KG
516Sat Jun 27 07:35:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
517
7f43495a
KG
518 * mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t.
519 (mkstemp): Remove size specifier for variable `letters'. Call
520 gettimeofday, not __gettimeofday.
521
50793ea3
KG
522 * Makefile.in (EXPR_H): New dependency variable.
523 (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
524 (c-iterate.o): Likewise.
525 (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
526 (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
527 (toplev.o): Likewise. Also depend on $(RECOG_H) instead of recog.h.
528 (varasm.o): Depend on $(EXPR_H) instead of expr.h.
529 (function.o): Likewise.
530 (stmt.o): Likewise.
531 (except.o): Likewise.
532 (expr.o): Likewise.
533 (calls.o): Likewise.
534 (expmed.o): Likewise.
535 (explow.o): Likewise.
536 (optabs.o): Likewise.
537 (sdbout.o): Likewise.
538 (dwarf2out.o): Likewise.
539 (emit-rtl.o): Likewise.
540 (integrate.o): Likewise.
541 (jump.o): Likewise.
542 (cse.o): Likewise.
543 (gcse.o): Likewise. Also depend on $(BASIC_BLOCK_H) instead of
544 basic-block.h.
545 (loop.o): Depend on $(EXPR_H) instead of expr.h.
546 (unroll.o): Likewise.
547 (combine.o): Likewise.
548 (reload.o): Likewise.
549 (reload1.o): Likewise.
550 (caller-save.o): Likewise.
551 (reorg.o): Likewise.
552 (alias.o): Don't depend on insn-codes.h.
553 (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
554 (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
555 (insn-opinit.o): Likewise.
556
003ac91d
JL
557Sat Jun 27 01:35:14 1998 Jeffrey A Law (law@cygnus.com)
558
559 * choose-temp.c (choose_temp_base): Remove MPW bits. Use mkstemp
560 instead of mktemp.
561 * gcc.c (MKTEMP_EACH_FILE): Define.
562 (main): No need to call choose_temp_base if we are going to
563 use choose_temp_base to create each file later.
564 * mkstemp.c: New file. Adapted from glibc.
565 * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
566 (mkstemp.o): Add dependencies.
567
568 * configure.in (gettimeofday): Check for its existance.
569 * config.in (HAVE_GETTIMEOFDAY): Define.
570 * configure: Rebuilt.
571
b4e95693
MM
5721998-06-26 Michael Meissner <meissner@cygnus.com>
573
574 * rs6000.md (ne 0, non power case): Add missing & constraint.
463b558b
MM
575 Name pattern ne0.
576 (negative abs insns): Add pattern names.
b4e95693 577
265ce5bb
DL
578Fri Jun 26 17:36:42 1998 Dave Love <d.love@dl.ac.uk>
579
580 * Makefile.in (install-info): Run install-info program in separate
581 loop.
582
e4da5f6d
MM
583Fri Jun 26 16:03:15 1998 Michael Meissner <meissner@cygnus.com>
584
585 * haifa-sched.c (schedule_block): Add hooks for the machine
586 description to reorder the ready list, and update how many more
587 instructions can be issued this cycle.
588 * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
589
db3d4438
DM
590Fri Jun 26 11:54:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
591
592 * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
593 Explicitly mark the constant being compared against as unsigned.
594 * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
595 Fully initialize final members.
596 (mem_aligned_8): Explicit init of offset to zero.
597 (output_function_prologue): Explicit init of n_regs to zero.
598 (output_function_epilogue): Likewise, and mark arg size as
599 unused.
600 (init_cumulative_args): Mark libname and indirect as unused.
601 (function_arg_pass_by_reference): Likewise for cum and named.
602 (sparc_builtin_saveregs): Likewise for arglist.
603 (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
604
ed4c4348
RE
605Fri Jun 26 06:58:54 1998 Richard Earnshaw (rearnsha@arm.com)
606
607 * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
608 if reloading a MEM.
609
610 * arm.h (arm_adjust_cost): Renamed bogus prototype from
611 arm_adjust_code.
612 (bad_signed_byte_operand): Add prototype.
613 * arm.c (arm_override_options): Make I unsigned.
614 (const_ok_for_arm): Add casts to the constants.
615 (load_multiple_operation): Don't redeclare elt in sub-block.
616 (arm_gen_movstrqi): Delete external declaration of optimize.
617 (gen_compare_reg): Declare parameter fp.
618
619 * arm.c (final_prescan_insn): Only initialize scanbody if the insn
620 has a pattern.
621
3c303f52
KG
622Fri Jun 26 09:31:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
623
624 * alpha.c: Include system.h and toplev.h.
625 (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
626 (const48_operand): Likewise.
627 (mode_width_operand): Likewise.
628 (mode_mask_operand): Likewise.
629 (mul8_operand): Likewise.
630 (current_file_function_operand): Likewise.
631 (signed_comparison_operator): Likewise.
632 (divmod_operator): Likewise.
633 (any_memory_operand): Likewise.
634 (alpha_return_addr): Likewise for parameter `frame'.
635 (alpha_builtin_saveregs): Likewise for parameter `arglist'.
636 (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
637 `attributes'.
638 (alpha_start_function): Likewise for parameter `decl'. Use
639 HOST_WIDE_INT_PRINT_DEC in call to fprintf. Fix various format
640 specifiers. Remove unused variables `lab' and `name'.
641 (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
642 (check_float_value): Likewise for parameter `overflow'.
643 (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
644
645 * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
646 taking an argument.
647 (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
648 (ASM_OUTPUT_CHAR): Likewise.
649 (ASM_OUTPUT_BYTE): Likewise.
650 (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
651 fprintf.
652 (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
653 Add prototypes for functions in alpha.c.
654
655 * alpha.md (ashldi3): Add default case in switch.
656
6d6393e3
MH
6571998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
658
659 * Makefile.in (gcc_version, gcc_version_trigger): New macros.
660 (version): Initialize from $(gcc_version).
661
662 * configure.in (version): Rename to gcc_version.
663 (gcc_version_trigger): New variable; call AC_SUBST for it and
664 emit it into the generated config.status.
665 * configure: Regenerate.
666
30d68b86
MM
667Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com>
668
669 * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
670 nodes that are not expressions.
671
41472af8
MM
672Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com>
673
674 * invoke.texi (-fstrict-aliasing): Document.
675 * rtl.texi (MEM_ALIAS_SET): Document.
676
677 * flags.h (flag_strict_aliasing): Declare.
678 * toplev.c (flag_strict_aliasing): Define.
679 (f_options): Add -strict-aliasing.
680 (main): Set flag_strict_aliasing if -O2 or higher.
681
682 * tree.h (tree_type): Add alias_set field.
683 (TYPE_ALIAS_SET): New macro.
684 (TYPE_ALIAS_SET_KNOWN_P): Likewise.
685 (get_alias_set): Declare.
686 * tree.c (lang_get_alias_set): Define.
687 (make_node): Initialize TYPE_ALIAS_SET.
688 (get_alias_set): New function.
689 * print-tree.c (print_node): Dump the alias set for a type.
690
691 * c-tree.h (c_get_alias_set): Declare.
692 * c-common.c (c_get_alias_set): New function.
693 * c-decl.c (init_decl_processing): Set lang_get_alias_set.
694
695 * expr.c (protect_from_queue): Propogage alias sets.
696 (expand_assignment): Calculate alias set for new MEMs.
697 (expand_expr): Likewise.
698 * function.c (put_var_into_stack): Likewise.
699 (put_reg_into_stack): Likewise.
700 (gen_mem_addressof): Likewise.
701 (assign_parms): Likewise.
702 * stmt.c (expand_decl): Likewise.
703 * varasm.c (make_decl_rtl): Eliminate redundant clearing of
704 DECL_RTL. Calculate alias set for new MEMs.
705
706 * rtl.def (REG): Add dummy operand.
707 (MEM): Add extra operand to store the MEM_ALIAS_SET.
708 * rtl.h (MEM_ALIAS_SET): New macro.
709 (gen_rtx_MEM): Declare.
710 * emit-rtl.c (gen_rtx_MEM): New function.
711 * gengenrtl.c (sepcial_rtx): Make MEMs special.
712
713 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
714 (DIFFERENT_ALIAS_SETS_P): Likewise.
715 (canon_rtx): Propogate the alias set to the new MEM.
716 (true_dependence): Check the alias sets.
717 (anti_dependence): Likewise.
718 (output_dependence): Likewise.
719 * explow.c (stabilize): Progoate alias sets.
720 * integrate.c (copy_rtx_and_substitute): Likewise.
721 * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
722 in an unpredictable state. Propogate alias sets.
723 * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
724 we have no alias information.
725
9c606f69
AM
726Thu Jun 25 16:59:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
727
728 * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
729 (find_all_handler_type_matches): Add function prototype.
730 * eh-common.h (CATCH_ALL_TYPE): Definition added.
731 * except.c (find_all_handler_type_matches): Add function to find all
732 runtime type info in the exception table.
733 (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
734
296b8152
KG
735Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
736
737 * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
738
739 * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
740 `yhigh' and `bit' into the scope in which they are used.
741 (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
742 `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
743
744 * rs6000.c: Move include of output.h below tree.h. Include toplev.h.
745 (any_operand): Mark unused parameters `op' and `mode' with
746 ATTRIBUTE_UNUSED.
747 (count_register_operand): Likewise for parameter `mode'.
748 (fpmem_operand): Likewise.
749 (short_cint_operand): Likewise.
750 (u_short_cint_operand): Likewise.
751 (non_short_cint_operand): Likewise.
752 (got_operand): Likewise.
753 (got_no_const_operand): Likewise.
754 (non_add_cint_operand): Likewise.
755 (non_logical_cint_operand): Likewise.
756 (mask_operand): Likewise.
757 (current_file_function_operand): Likewise.
758 (small_data_operand): Likewise for parameters `op' and `mode' but
759 only when !TARGET_ELF.
760 (init_cumulative_args): Mark parameters `libname' with
761 ATTRIBUTE_UNUSED.
762 (function_arg_pass_by_reference): Likewise for parameters `cum',
763 `mode' and `named'.
764 (expand_builtin_saveregs): Likewise for parameter `args'.
765 (load_multiple_operation): Likewise for parameter `mode'.
766 (store_multiple_operation): Likewise.
767 (branch_comparison_operator): Likewise.
768 (secondary_reload_class): Likewise.
769 (print_operand): Add parentheses around & operation.
770 (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
771 (output_epilog): Likewise. Cast argument to fprintf to int.
772 (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
773 (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
774 `attributes', `identifier' and `args'.
775 (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
776 (rs6000_comp_type_attributes): Likewise for parameters `type1' and
777 `type2'.
778 (rs6000_set_default_type_attributes): Likewise for parameter `type'.
779
780 * rs6000.h (RTX_COSTS): Add parentheses around & operation.
781 (toc_section, private_data_section, trap_comparison_operator): Add
782 prototypes.
783
784 * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
785 prototypes.
786
787 * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
788
789 * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
790 xcoffout_begin_block, xcoffout_end_epilogue,
791 xcoffout_end_function, xcoffout_end_block,
792 xcoff_output_standard_types, xcoffout_declare_function,
793 xcoffout_source_line): Add prototypes.
794
ff73fb53
NC
795Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
796
797 * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
798 noticed by grahams@rcp.co.uk.
799
ca242225
DB
800Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
801
802 * gcc.c (default_compilers): Use new | syntax to eliminate
803 string concatenation.
804
acd92049
RH
805Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com>
806
807 * alpha.c (alpha_function_name): Delete.
808 (alpha_ra_ever_killed): Notice current_function_is_thunk.
809 (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
810 (alpha_start_function): Reorg from output_prologue.
811 (alpha_end_function): Reorg from output_epilogue.
812 * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
813 (ASM_DECLARE_FUNCTION_SIZE): New.
814 (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
815 (PROFILE_BEFORE_PROLOGUE): Set.
816 (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
817 * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
818
dd014274
JL
819Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com)
820
821 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
822
8231998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
89752202
HB
824
825 * expr.c (expand_assignment): Rework address calculation for structure
826 field members to expose more invariant computations to the loop
827 optimizer.
828 (expand_expr): Likewise.
829
c358412f
JL
830Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com)
831
832 * local-alloc.c (block_alloc): Do not try to avoid false dependencies
833 when SMALL_REGISTER_CLASSES is nonzero.
834
a59fb797
KK
835Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de>
836
837 * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
838
55a6ba9f
JC
839Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu>
840
841 * expr.c (get_memory_rtx): New function.
842 (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
843 string functions.
844
845 * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
846
9e6a5703
JC
847 * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
848 * expr.c: Likewise.
849 * explow.c: Likewise.
850 * combine.c: Likewise.
851 * reload1.c: Likewise.
852 * gcse.c: Likewise.
853
135edcfd
DB
854Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com>
855
856 * README.gnat: Add patch for new lang_decode_options interface.
857
9a9deafc
AM
858Wed Jun 24 09:14:04 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
859
860 * except.c (start_catch_handler): Do nothing if EH is not on.
861
854b2357
MH
8621998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
863
864 * configure.in (gxx_include_dir): Initialize default value depending on
6d6393e3
MH
865 new flag --enable-version-specific-runtime-libs; remove superfluous
866 default initialization afterwards.
854b2357
MH
867 * configure: Regenerate.
868
d3b107b4
DM
869Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
870
871 * toplev.c (rest_of_compilation): Revert May 15 change.
872
c22eaf8a
KR
873Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
874
875 * reload.c (find_reloads): Fix check for failure to match any
876 alternative, to account for Mar 26 change in initial "best" cost.
877
d2f8cffa
DB
878Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com>
879
880 * cpplib.c (do_line): Typo broke #line directive.
881 (cpp_message_from_errno): New function.
882 (cpp_error_from_errno): Call cpp_message_from_errno.
883 * cpplib.h (cpp_message_from_errno): New function.
884
48b24bcd
AM
885Tue Jun 23 13:38:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
886
887 * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
888 functions to return exception descriptor information.
889 (find_exception_handler): Pass match_info field to runtime matcher,
890 not a descriptor table entry.
891
daf21dfd
DL
892Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk>
893
894 * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
895 accompany previous Makefile.in (install-info) change.
896
48b24bcd 897Tue Jun 23 10:06:07 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
5816cb14
AM
898
899 * eh-common.h (struct __eh_info): Remove coerced value field.
900 * libgcc2.c (find_exception_handler): Don't set coerced_value field.
901 * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
902 POINTER_SIZE instead of Pmode.
903 (expand_start_all_catch): Call start_catch_handler() if we are not
904 using new style exceptions.
905
83de03df
CM
906Tue Jun 23 06:45:00 1998 Catherine Moore <clm@cygnus.com>
907
908 * varasm.c (assemble_variable): Remove reference to warn_bss_align.
909
5b8e7fa3
DM
910Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
911
912 * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
913 extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
914 subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
915 splits and peepholes): Change remaining generic gen_rtx calls to
916 specific genrtl ones.
254110c2
DM
917 * config/sparc/sparc.c: Likewise.
918
9bf09437
RH
919Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
920
921 * gcc.c (handle_braces): Recognize | between options as an or.
922
e31ca113
JW
923Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com)
924
2b005260
JW
925 * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
926 * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
927
e31ca113
JW
928 * i386.md (exception_receiver): Define.
929
aeb2f500
JW
930Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
931
225695a4
JW
932 * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
933 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
934 (install-common): Use them.
935
aeb2f500
JW
936 * gcse.c (add_label_notes): New function.
937 (pre_insert_insn): Call it.
938 * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
939 pass the label to set_label_in_map.
940
efef624b
DL
941Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
942
943 * Makefile.in (install-info): Fix typpo in previous change.
944
4bcfa7a8
CM
945Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
946
947 * varasm.c (assemble_variable): Emit alignment warning.
948
296433e1
KG
949Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
950
951 * Makefile.in (varasm.o): Depend on sdbout.h.
952 (sdbout.o): Depend on toplev.h.
953
954 * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
955 use %ld specifier.
956
957 * final.c (shorten_branches): Cast first arg of `bzero' to char *.
958
959 * genextract.c (main): When creating insn-extract.c, mark variable
960 `i' with ATTRIBUTE_UNUSED.
961
962 * genpeep.c (main): When creating insn-peep.c, mark variables
963 `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
964
965 * objc/init.c (__objc_tree_print): Wrap function definition in
966 macro `DEBUG'.
967
968 * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
969 and use %ld specifier.
970 (adorn_decl): Likewise, twice.
971
e016950d
KG
972 * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
973
974 * sdbout.c: Include output.h and toplev.h.
975 (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
976 `a'. Cast `a' to HOST_WIDE_INT to force it to always be so.
977 (PUT_SDB_SIZE): Likewise.
978
979 * sdbout.h (sdbout_mark_begin_function): Add prototype.
980
981 * stmt.c (check_for_full_enumeration_handling): Cast argument of
982 `warning' to long and use %ld specifier.
983
984 * toplev.c (main): Likewise for `fprintf'.
985
986 * toplev.h (output_file_directive): Add prototype.
987
988 * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
989 call to `fprintf'.
990 (precondition_loop_p): Likewise.
991
992 * varasm.c Include sdbout.h.
993 (assemble_static_space): Move sometimes-unused variable `rounded'
994 into the scope in which it is used.
b3fb0b5e
KG
995
996 * mips.c (gpr_mode): Don't say `static' twice.
997
998 * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
999
1000 * objc/objc-act.c (init_selector): Hide prototype and definition.
1001
1002 * optabs.c (gen_cond_trap): Remove unused variable `icode'.
1003
1004 * regmove.c (copy_src_to_dest): Likewise for `i'.
e016950d 1005
cd1661d6
KG
1006 * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
1007 (add_ext_symbol): Likewise.
1008 (add_file): Likewise.
1009 (parse_def): Likewise.
1010 (write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix
1011 remaining format specifiers and arguments.
1012 (write_object): Likewise, several times.
1013 (read_seek): Likewise.
1014 (out_of_bounds): Likewise.
1015 (allocate_cluster): Likewise.
1016 (xmalloc): Likewise.
1017 (xcalloc): Likewise.
1018 (xrealloc): Likewise.
1019 (xfree): Likewise.
1020
1021 * mips-tdump.c (print_symbol): Likewise.
1022
824d9076
DL
1023Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
1024
1025 * Makefile.in (install-info): Use install-info program if
1026 available, per GNU standard.
1027
9a8b0889
JL
1028Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
1029
ecff22ab
JL
1030 * invoke.texi: Document -mrelax for the mn10300 and mn10200.
1031
04821e98
JL
1032 * basic-block.h (init_regset_vector): Delete declaration.
1033 * flow.c (init_regset_vector): Make it static and add a prototype.
1034
4d7fc9e7
JL
1035 * bitmap.h (debug_bitmap): Declare.
1036
9a8b0889
JL
1037 * haifa-sched.c (debug_ready_list): Make static.
1038
1039 * toplev.h (fancy_abort): Declare.
1040
27fa83c1
L
1041Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
1042
4d7fc9e7
JL
1043 * basic-block.h (init_regset_vector): New declaration.
1044
2086b675
L
1045 * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
1046
f6781658
L
1047 * global.c: Include machmode.h amd move hard-reg-set.h before
1048 rtl.h.
1049
cc4fe0e2
L
1050 * haifa-sched.c (insn_issue_delay, birthing_insn_p,
1051 adjust_priority, print_insn_chaino): New declaration.
1052 (schedule_insns): Remove declaration.
1053 (init_target_units, get_visual_tbl_length,
1054 init_block_visualization): Add prototype.
1055
8a1ef8c9
L
1056 * integrate.c (pushdecl, poplevel): Remove declaration.
1057
9a8b0889
JL
1058 * rtl.h (expand_expr): Remove declaration.
1059
27fa83c1
L
1060 * loop.c (oballoc): Remove declaration.
1061 (replace_call_address): Add prototype.
1062
e4ad60fe
JL
1063Sun Jun 21 01:08:17 PDT 1998 Jeff Law (law@cygnus.com)
1064
1065 * version.c: Bump for snapshot.
1066
c0067dc8
JW
1067Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
1068
1069 * i386.c (output_fp_conditional_move): Don't bother handling
1070 (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
1071 prevent this from happening.
1072
1073 * i386.md (nonlocal_goto_receiver): Delete.
1074
a24da858
L
1075Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
1076
1442f4eb
L
1077 * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
1078 -DCRTSTUFFS_O.
1079 (INSTALL): cd $(srcdir) before make.
1080
a24da858
L
1081 * flow.c (allocate_for_life_analysis, init_regset_vector):
1082 Remove declaration.
1083
1084 * function.h (get_first_block_beg): New declaration.
1085
1086 * gbl-ctors.h (__do_global_dtors): Add prototype.
1087
1088 * gcov-io.h (__fetch_long): New declaration.
1089 (__store_long): Likewise.
1090 (__read_long): Likewise.
1091 (__write_long): Likewise.
1092
1093 * gcov.c (print_usage): New declaration.
1094
1095 * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
1096
4ef873c2
JL
1097Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
1098
c16ddde3
JL
1099 * calls.c (expand_call): Initialize "src" and "dest".
1100 * stmt.c (expand_return): Likewise.
1101 * expmed.c (extract_split_bit_field): Similarly for "result"
1102 * gcse.c (compute_hash_table): Mark first arg as unused.
1103 * jump.c (jump_optimize): Initialize reversep.
1104 * tree.c (make_node): Initialize length.
1105
f67aab2c
JL
1106 * c-common.c (check_format_info): Initialize length_char and
1107 fci to keep -Wall quiet.
1108
767f5b14
JL
1109 * except.c (jumpif_rtx): Put declaration and definition
1110 inside a suitable #ifdef.
1111 (jumpifnot_rtx): Delete dead function.
1112
5a77b5f3
JL
1113 * i386.h (output_int_conditional_move): Declare.
1114 (output_fp_conditional_move): Likewise.
2305ac0d 1115 (ix86_can_use_return_insn_p): Likewise.
5a77b5f3 1116
4ef873c2
JL
1117 * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
1118
2e107e9e
GS
1119Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
1120
1121 * alias.c: Include toplev.h
1122 * caller-save.c: Include toplev.h
1123 * combine.c: Include toplev.h
1124 * flow.c Include toplev.h
1125 * global.c: Include toplev.h
1126 * jump.c: Include toplev.h
1127 * local-alloc.c: Include toplev.h
1128 * loop.c: Include toplev.h
1129 * regmove.c: Include toplev.h
1130 * stupid.c: Include toplev.h
1131 * unroll.c: Include toplev.h
1132 * Makefile.in: Add toplev.h dependencies.
1133
29a4c5ed
JM
1134Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
1135
1136 * regmove.c (copy_src_to_dest): Add decl for loop_depth.
32bd96ff
JM
1137
1138 * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
1139 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
1140 Add parens to various macros.
1141
9dfcc8db
BH
1142Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
1143
1144 * c-typeck.c (pop_init_level): Warn about implicit zero initialization
1145 of struct members.
1146
ee830309
JM
1147Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
1148
1149 * varasm.c (assemble_start_function): Add weak_global_object_name.
1150 * tree.c (get_file_function_name): Use it.
1151
2c975716
JL
1152Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
1153
561592c5
JL
1154 * except.c (jumpif_rtx): Make static and add prototype.
1155 (jumpifnot_rtx): Likewise.
1156
90bf9bc4
JL
1157 * README.gnat: Add a build patch from Fred Fish.
1158
2c975716
JL
1159 * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
1160
3ca4021d
JL
1161 * Makefile.in (c-iterate.o): Depend on expr.h.
1162
3559eb28
L
1163Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
1164
19864289
L
1165 * except.h (emit_unwinder, end_eh_unwinder): Removed.
1166
90bf9bc4
JL
1167 * dwarfout.c (getpwd): Add prototype.
1168 (is_pseudo_reg, type_main_variant, is_tagged_type,
1169 is_redundant_typedef): New declaration.
1170 (output_decl): Add prototype for FUNC.
1171 (type_main_variant): Make it static.
1172 (is_tagged_type): Likewise.
1173 (is_redundant_typedef): Likewise.
1174
0d091530
L
1175 * expr.c (do_jump_by_parts_greater_rtx): Removed.
1176 (truthvalue_conversion): Likewise.
1177
3ca4021d
JL
1178 * c-iterate.c: Include "expr.h".
1179 (expand_expr): Use proper values when calling the function.
1180
0ddc9a94
L
1181 * explow.c (emit_stack_save): Add prototype for FCN.
1182 (emit_stack_restore): Likewise.
1183
e179bf0f
L
1184 * dwarf2out.c (getpwd): Add prototype.
1185
79a2acc8
L
1186 * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
1187
f5a8bfff 1188 * c-typeck.c (c_expand_asm_operands): Use proper values when calling
79a2acc8 1189 expand_expr.
f5a8bfff 1190
3ab6dd7c
L
1191 * c-lex.c (yyprint): Add prototype.
1192 (check_newline, build_objc_string): Remove declaration.
1193
0bb0a00b
L
1194 * c-tree.h (comptypes_record_hook): Removed.
1195 (finish_incomplete_decl): New prototype.
1196
960b4ee6
L
1197 * alias.c (find_base_value): Add prototype.
1198 (true_dependence): Add prototype for function argument.
1199
3559eb28
L
1200 * c-aux-info.c (xmalloc): Remove declaration.
1201
bb5177ac
RL
1202Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
1203
1204 * i386.c: Include system.h. Remove redundant includes.
1205 (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
1206 (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
1207 'identifier', 'args'.
1208 (i386_valid_type_attribute_p): Likewise for 'attributes'.
1209 (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
1210 (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
1211 and 'named'.
1212 (symbolic_operand): Likewise for 'mode'.
1213 (call_insn_operand): Likewise.
1214 (expander_call_insn_operand): Likewise.
1215 (ix86_logical_operator): Likewise.
1216 (ix86_binary_operator_ok): Likewise.
1217 (emit_pic_move): Likewise.
1218 (VOIDmode_compare_op): Likewise.
1219 (is_mul): Likewise.
1220 (str_immediate_operand): Likewise.
1221 (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
1222 (asm_output_function_prefix): Likewise for 'name'.
1223 (function_prologue): Likewise for 'file', and 'size'.
1224 (function_epilogue): Likewise.
1225
7e7ca3a1
JW
12261998-06-19 Jim Wilson <wilson@cygnus.com>
1227
1228 * loop.h (struct induction): Clarify comment for unrolled field.
1229 * unroll.c (find_splittable_givs): Move set of unrolled field
1230 after address validity check.
1231
c0418205
MM
1232Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
1233
1234 * config/fp-bit.c (INLINE): Only define if not already defined.
1235
fe2fa3c4
MH
12361998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
1237
1238 * Makefile.in (installdirs): Loop over directories in $(libsubdir)
1239 creating probably missing ones, instead of single if statements.
1240
f0b8d9aa
AS
1241Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1242
1243 * c-common.c (truthvalue_conversion): Protect side effects in the
1244 expression when splitting a complex value.
1245 * fold-const.c (fold): Likewise.
1246
94fb3933
KK
1247Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
1248
1249 * cccp.c (hack_vms_include_specification): rewrite to handle
1250 '#include <dir/file.h>' correctly.
1251
de3eb7b7
L
1252Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
1253
1254 * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
1255
b4d030e5
JW
1256Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
1257
9c8c5afb
JW
1258 * i386.c (notice_update_cc): Integer conditional moves don't
1259 affect cc0.
1260
b4d030e5
JW
1261 * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
1262 to support LT, LE, GE, and GT signed integer comparisons.
1263 (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
1264 movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
1265 is LT, LE, GE, or GT.
1266 (movdicc): Remove code resulting from an earlier patch which
1267 didn't apply correctly.
1268
bb173ade
RK
1269Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1270
1271 * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
1272 consider a MEM in FP mode as equal.
1273
11346e89
JL
1274Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
1275
1276 * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
1277 duplicate declarations of a function.
1278
76a8de12
L
1279Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
1280
1281 * config/float-i386.h: New.
1282
1283 * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
1284
7c74b010
JW
1285Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
1286
1287 * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
1288 indexed arrays. Call free at the end of the function for them.
1289 * haifa-sched.c (schedule_insns): Likewise.
1290
243e7835
JW
1291Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
1292
1293 * dwarf2out.c (size_of_string): Do count backslashes.
1294
bf3ad139
NC
1295Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
1296
1297 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
1298 addressing when one register is the frame pointer or stack
1299 pointer. Disallow REG+CONST addressing in HI mode.
1300
f9df0a1d
R
1301Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1302
1303 * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
1304 RELOAD_FOR_INSN.
1305
cab634f2
KG
1306Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1307
1308 * Makefile.in (c-lang.o): Depend on output.h.
1309
1310 * c-lang.c: Include output.h.
1311
1312 * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
1313
1314 * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
1315
1316 * genrecog.c (write_subroutine): When writing insn-recog.c, mark
1317 variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
1318 with ATTRIBUTE_UNUSED.
1319
1320 * regmove.c (copy_src_to_dest): Make function static to match its
1321 prototype.
1322
1323 * reload1.c Include hard-reg-set.h before rtl.h to get macro
1324 HARD_CONST. Include machmode.h before hard-reg-set.h.
1325
1326 * rtl.h: Prototype `retry_global_alloc' and wrap with macro
1327 HARD_CONST to protect usage of typedef HARD_REG_SET.
1328
1329 * tree.c: Prototype `_obstack_allocated_p'.
1330
1331 * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
1332 BSS_SECTION_ASM_OP.
1333
0b17dd98
KG
1334Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1335
1336 * pa.c: Include system.h and toplev.h. Remove redundant code.
1337 (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1338 (symbolic_operand): Likewise.
1339 (symbolic_memory_operand): Likewise.
1340 (pic_label_operand): Likewise.
1341 (fp_reg_operand): Likewise.
1342 (pre_cint_operand): Likewise.
1343 (post_cint_operand): Likewise.
1344 (ireg_or_int5_operand): Likewise.
1345 (int5_operand): Likewise.
1346 (uint5_operand): Likewise.
1347 (int11_operand): Likewise.
1348 (uint32_operand): Likewise.
1349 (ior_operand): Likewise.
1350 (lhs_lshift_cint_operand): Likewise.
1351 (pc_or_label_operand): Likewise.
1352 (legitimize_pic_address): Likewise.
1353 (hppa_legitimize_address): Likewise for parameter `old'.
1354 (output_block_move): Likewise for parameter `size_is_constant'.
1355 (output_function_prologue): Likewise for parameter `size'.
1356 (output_function_epilogue): Likewise.
1357 (return_addr_rtx): Likewise for parameter `count'.
1358 (output_mul_insn): Likewise for parameter `unsignedp'.
1359 (hppa_builtin_saveregs): Likewise for parameter `arglist'.
1360 (output_bb): Likewise for parameter `operands'.
1361 (output_bvb): Likewise.
1362 (function_label_operand): Likewise for parameter `mode'.
1363 (plus_xor_ior_operator): Likewise.
1364 (shadd_operand): Likewise.
1365 (non_hard_reg_operand): Likewise.
1366 (eq_neq_comparison_operator): Likewise.
1367 (movb_comparison_operator): Likewise.
1368 (pa_combine_instructions): Likewise for parameter `insns'.
1369
1370 * pa.h: Add prototypes for functions `output_deferred_plabels',
1371 `override_options', `output_ascii', `output_function_prologue',
1372 `output_function_epilogue', `print_operand',
1373 `symbolic_expression_p', `reloc_needed', `compute_frame_size',
1374 `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
1375 `pa_adjust_cost', `pa_adjust_insn_length' and
1376 `secondary_reload_class'.
1377
ca8c3b37
JM
1378Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
1379
1380 * configure.in: Don't turn on collect2 unconditionally.
1381
1d22a2c1
MM
1382Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
1383
1384 * cse.c (cse_basic_block): Don't include NOTE insns in the count
1385 that is used to decide whether or not it is time to erase the
1386 equivalence table.
1387
b74390de
FS
1388Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1389
1390 * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
1391
e0cd0770
JC
1392Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
1393
1394 * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
1395 (sched_analyze_2): Allow scheduling TRAP_IF.
1396
1397 * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
1398
1399 * rtl.h (TRAP_CODE): New macro.
1400
1401 * rtl.def (TRAP_IF): Change second operand type to rtx.
1402
1403 * optabs.c (gen_cond_trap): New function.
1404 (init_traps): New function.
1405 (init_optabs): Call init_traps.
1406 * expr.h: Declare gen_cond_trap.
1407
1408 * jump.c (jump_optimize): Optimize jumps to and around traps.
1409
1410 * sparc.md: Define trap instructions.
1411
1412 * rs6000.md: Define trap instructions.
1413 * rs6000.c (print_operand): New code 'V' for trap condition.
1414 (trap_comparison_operator): New function.
1415
1416 * m88k.md: Update use of TRAP_IF.
1417
1418 * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
1419 * c-decl.c (init_decl_processing): New builtin __builtin_trap.
1420 * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
1421
1422 * expr.c (expand_builtin): Error if __builtin_longjmp second argument
1423 is not 1.
1424
4fdf79cb
CM
1425Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com>
1426
1427 * reload1.c (spill_hard_reg): Check mode of register when
1428 spilling from scratch_list.
1429
d7e78529
AM
1430Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1431
1432 * except.c (add_new_handler): fix bug in finding last region handler.
1433 * libgcc2.c (find_exception_handler): Pass exception table pointer
1434 to runtime type matcher, not the match info field.
1435
3301dc51
AM
1436Wed Jun 17 15:57:48 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1437
1438 * eh-common.h (struct eh_context): Add comment for hidden use of
1439 field dynamic_handler_chain.
1440 * except.c (get_dynamic_handler_chain): Comment on, and use the
1441 correct offset of the dynamic_handler_chain field.
1442
33f264af
JW
14431998-06-17 12:46:56 1998 Jim Wilson <wilson@cygnus.com>
1444
1445 * mips/iris6.h (LINK_SPEC): Add -woff 131.
1446
d460fb3c
JM
14471998-06-17 Jason Merrill <jason@yorick.cygnus.com>
1448
1449 * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
1450
1451 * configure.in: Don't disable collect2 when we have GNU ld.
1452
4c738570
JL
1453Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
1454
7d12cee1
JL
1455 * fold-const.c (make_range): Do not widen the type of the expression.
1456
dbecbbe4
JL
1457 * expr.c (check_max_integer_computation_mode): New function.
1458 (expand_expr): Avoid integer computations in modes wider than
1459 MAX_INTEGER_COMPUTATION_MODE.
1460 * fold-const.c (fold): Likewise.
1461 * tree.h (check_max_integer_computation_mode): Declare.
1462 * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
1463
4b95eb49
JL
1464 * configure.in (nm): Make a link to "nm" in the build tree too.
1465
4c738570
JL
1466 * mn10300.md (andsi3): Fix typo.
1467
33ab8de0
RH
1468Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
1469
1470 * reload1.c (reload_cse_regs): Call bzero instead of looping.
1471
bf20f341
JW
1472Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
1473
1474 * dwarf2out.c (stripattributes): Prepend '*' to the section name.
1475
9c0e94a5
RH
1476Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
1477
1478 * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
1479 (output_prologue, output_epilogue): Merge VMS and OSF versions;
1480 Remove anything related to the actual code generation.
1481 (output_end_prologue): New function.
1482 (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
1483 (alpha_does_function_need_gp): Return false for VMS.
1484 (alpha_function_needs_gp): Make static.
1485 (add_long_const): Delete.
1486 (summarize_insn): Don't assume a SUBREG is of a REG.
1487 Prototype all static functions. Rename VMS-specific global
1488 variables vms_*.
1489 * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
1490 (FUNCTION_BOUNDARY): Align to cache line.
1491 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
1492 (FUNCTION_END_PROLOGUE): New macro.
1493 * alpha.md (attribute length): New. Mark all insns.
1494 (return_internal, prologue_stack_probe_loop) New patterns.
1495 (prologue, init_fp, epilogue): New patterns.
1496 Disable peepholes.
1497 * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
1498
ad1da1de
DB
1499Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
1500
1501 * toplev.c (lang_options): Add -trigraphs option for cpplib.
1502
75528b80
R
1503Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1504
1505 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
1506 is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
1507 is earlier than RELOAD_FOR_INPUT_ADDRESS.
1508
42b82dd3
JW
1509Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
1510
1511 * libgcc1-test.c (memcpy): Define.
1512
6f6074ea
MM
1513Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
1514
1515 * genattrtab.c (struct attr_desc): Change int flags to bit
1516 fields. Add bit fields for this being function_units_used
1517 or *_blockage_range attributes.
1518 (write_unit_name): New function to print a function unit name
1519 given unit #.
1520 (expand_units): Indicate whether this is function_units_used or
1521 *_blockage_range attributes.
1522 (write_toplevel_expr): Print function_units_used and
1523 *_blockage_range attributes in a more friendly fashion.
1524 (make_internal_attr): Indicate whether this attribute is either
1525 function_units_used or *_blockage_range.
1526
ddc8bed2
MM
1527Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
1528 Jim Wilson <wilson@cygnus.com>
3bd89472 1529
ddc8bed2
MM
1530 * regmove.c (copy_src_to_dest): Do not copy src to dest if either
1531 the source or destination is special.
3bd89472 1532
ddc8bed2 1533Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
a7db2896 1534
ddc8bed2 1535 * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
a7db2896 1536
d61d494a
JL
1537Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
1538
1539 * version.c: Bump for snapshot.
1540
a08432bd
KW
1541Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
1542
1543 * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
1544 redefining it.
1545
a4ea8d97
DE
1546Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
1547
1548 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
416db271 1549 (ENDFILE_SPEC): Add -lgloss.
a4ea8d97 1550
38831dfe
KG
1551Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1552
1553 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1554 (large_int): Likewise.
1555 (pc_or_label_operand): Likewise.
1556 (call_insn_operand): Likewise.
1557 (consttable_operand): Likewise.
1558 (m16_uimm3_b): Likewise.
1559 (m16_simm4_1): Likewise.
1560 (m16_nsimm4_1): Likewise.
1561 (m16_simm5_1): Likewise.
1562 (m16_nsimm5_1): Likewise.
1563 (m16_uimm5_4): Likewise.
1564 (m16_nuimm5_4): Likewise.
1565 (m16_simm8_1): Likewise.
1566 (m16_nsimm8_1): Likewise.
1567 (m16_uimm8_1): Likewise.
1568 (m16_nuimm8_1): Likewise.
1569 (m16_uimm8_m1_1): Likewise.
1570 (m16_uimm8_4): Likewise.
1571 (m16_nuimm8_4): Likewise.
1572 (m16_simm8_8): Likewise.
1573 (m16_nsimm8_8): Likewise.
1574 (m16_usym8_4): Likewise.
1575 (m16_usym5_4): Likewise.
1576 (mips_move_1word): Change type of variable `i' from int to size_t.
1577 (mips_move_2words): Likewise.
1578 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
1579 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
1580 (function_arg): Likewise.
1581 (function_arg_partial_nregs): Mark parameter `named' with
1582 ATTRIBUTE_UNUSED.
1583 (override_options): Use ISDIGIT instead of isdigit.
1584 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
1585 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
1586 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
1587 function `fatal' to long before printing. Use
1588 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
1589 times in this function.
1590 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
1591 (function_epilogue): Likewise for parameters `file' and `size'.
1592 Print an int with "%d" not "%ld".
1593 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
1594 (mips_function_value): Likewise for parameter `func'.
1595 (function_arg_pass_by_reference): Likewise for parameters `cum'
1596 and `named'.
1597 (extend_operator): Likewise for parameter `mode'
1598 (highpart_shift_operator): Likewise.
1599
1600 * mips.md (mul_acc_si): Remove unused variable `macc'.
1601
77a45a2e
RH
1602Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
1603
1604 * fold-const.c (fold): Revert last change. It breaks constant
1605 expressions somehow.
1606
8d62b411
AS
1607Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1608
1609 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
1610 prevent operands from being evaluated twice.
1611
cac45626
SO
1612Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
1613
1614 * toplev.c (lang_options): Add -remap as a preprocessor option.
1615
9bc6d2c2
JW
1616Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
1617
1618 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
1619 which set CC_REVERSED since reload should ensure that
1620 the operands are already the correct type.
1621
fb95c8c9
JW
1622Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
1623
1624 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
1625 calling gen_rtx_SET.
1626
95009288
DE
1627Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
1628
1629 * config/rs6000/x-aix43 (AR): Delete.
1630 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
1631
bf6f78d1
DS
1632Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
1633
1634 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
1635
45cc4c09
JW
1636Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
1637
1638 * mips.c (override_options): Replace word_mode with explicit
1639 TARGET_64BIT check.
1640
ecb75b7a
MM
1641Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
1642
1643 * regmove.c (regmove_optimize): If we can't replace the
1644 destination in an insn that sets the source, generate an explicit
1645 move of the source to the destination.
1646 (copy_src_to_dest): New function.
1647 (toplevel): Include basic-block.h
1648
1649 * Makefile.in (regmove.o): Add basic-block.h dependencies.
1650
8e34149d
DB
1651Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
1652
1653 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
1654
8358a974
MM
1655Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
1656
1657 * rtl.h (rtx_def): Improve documentation.
1658 (MEM_IN_STRUCT_P): Likewise.
1659
e80716de
GS
1660Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
1661
1662 * c-decl.c (start_decl): Correct test for -Wmain.
1663
b3fbc9ad
GS
1664 * c-decl.c (grokdeclarator): Remove unused variable "last".
1665
3e2b9a3d
JW
1666Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
1667
1668 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
1669 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
1670 Delete code storing value in static_chain_rtx.
1671 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
1672 to second expand_expr call.
1673
748b909e
MM
1674Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
1675
1676 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
1677
e061d1ce
DB
1678Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
1679
1680 * cppmain.c (fatal): New function.
1681 * configure.in (cpp_main): New configuration variable.
1682 * configure: Regenerated.
e80716de
GS
1683 * Makefile.in (CCCP): Use a configuration variable to select basex
1684 for cccp.
e061d1ce
DB
1685 (cppmain$(exeext)): Add @extra_cpp_objs@.
1686
a0d85b75
DB
1687Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
1688
1689 * objc/objc-act.c: Add cpplib declarations.
1690 (lang_decode_option): Initialize cpplib if necessary.
1691 (lang_decode_option): New argc/argv interface.
1692 * tree.h (lang_decode_option): New argc/argv interface.
1693 * toplev.c (lang_options): Add cpp options.
1694 (main): New interface for lang_decode_option.
1695 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
1696 unless -E, -M or -MM is specified.
1697 * cpplib.h (cpp_handle_option): New function.
1698 * cpplib.c (cpp_handle_option): New function.
1699 (cpp_handle_options): Now calls cpp_handle_option.
1700 * c-tree.h (c_decode_option): New argc/argv interface.
1701 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
1702 * c-lang.c (lang_decode_option): New argc/argv interface.
1703 * c-decl.c: Add cpplib declarations.
1704 (c_decode_option): New argc/argv interface.
1705 (c_decode_option): Call cpp_handle_option.
1706 (c_decode_option): Now returns number of strings processed.
1707
95193030
RE
1708Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
1709
1710 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
1711 changes. Abort if the undo fails.
1712
e74e8c84
VM
17131998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
1714
1715 * config/rs6000/rs6000.c (output_prolog): Change locations and
1716 directions of saving and restoring arguments of main on the stack.
1717
0254c561
JC
1718Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
1719
1720 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
1721 for each alternative. Do not replace a CONST_INT with a REG unless
1722 the reg is cheaper.
1723
0365438d
JL
1724Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
1725
07fb7f79
JL
1726 * decl.c (init_decl_processing): Fix typo.
1727
bfed8dac
JL
1728 * mips.c (gpr_mode): New variable.
1729 (override_options): Initialize gpr_mode.
1730 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1731 determine size and offset of general purpose registers save slots.
1732 (save_restore_insns, mips_expand_prologue): Similarly.
1733
0365438d
JL
1734 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
1735 between constant representations when we have (SUBREG (REG)) with
1736 REG equivalent to a constant.
1737
e6bcfef9
JS
1738Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
1739
1740 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
1741
ac1fdb22
RH
1742Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
1743
1744 * fold-const.c (fold): Even with otherwise constant trees, look for
1745 opportunities to combine integer constants.
1746
1c5d60f5
JW
1747Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
1748
9d932d43
JW
1749 * i386.c (notice_update_cc): Clear cc_status.value2 in the
1750 case of UNSPEC 5 (bsf).
1751
1c5d60f5
JW
1752 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
1753 conditional move instructions don't support signed integer
1754 comparisons.
1755
f1be41ad
NC
1756Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
1757
1758 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
1759 overlfows.
1760
1761 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
1762 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
1763 <glctr@abc.it>.
1764
0d3453df
AM
1765Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1766
1767 * except.c (expand_start_catch): Rename to start_catch_handler.
1768 (expand_end_catch): Delete function.
1769 (expand_end_all_catch): Remove catch status that expand_end_catch
1770 use to do.
1771 * except.h (expand_start_catch): Rename prototype.
1772 (expand_end_catch): Delete prototype.
1773
3398f47f
MM
1774Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
1775
1776 * invoke.texi: Add documentation for -mips4 and -mabi=*.
1777
6805ef53
KK
1778Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
1779
1780 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
1781 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
1782 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
1783
9ae4ec46
JC
1784Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
1785
1786 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
1787 as the threshold to permit splitting memory operations.
1788
624a8b3a
JL
1789Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
1790
1c5d60f5
JW
1791 * mips.c (gpr_mode): New variable.
1792 (override_options): Initialize gpr_mode.
1793 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1794 determine size and offset of general purpose registers save slots.
1795 (save_restore_insns, mips_expand_prologue): Similarly.
1796
624a8b3a
JL
1797 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
1798 (LIBGCC2_CFLAGS): Remove -fexceptions.
1799 (LIB2FUNCS): Remove "_eh".
1800 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
1801 it with -fexceptions.
1802
1803 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
1804 * local-alloc.c (block_alloc): Avoid creating false
1805 dependencies for targets which use instruction scheduling.
1806
674576f1
RH
1807Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
1808
1809 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
1810 (ASM_FINISH_DECLARE_OBJECT): Define;
1811 * mips/elf64.h: Likewise.
1812
5dd57225 1813Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
602ad236 1814
5dd57225 1815 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
b8211569 1816
5dd57225 1817Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
ac4bac77
JL
1818
1819 * version.c: Bump for snapshot.
1820
a2f270cc
DE
1821Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
1822
1823 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
1824 (mulsidi3_ppc64): Delete.
1825
50b2596f
KG
1826Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1827
1828 * Makefile.in (varasm.o): Depend on dbxout.h.
1829 (cse.o): Depend on toplev.h and output.h.
1830 (gcse.o): Depend on output.h.
1831
1832 * mips.c: Include system.h and toplev.h and remove redundant code.
1833 Include output.h after tree.h so all its prototypes get activated.
1834 * mips.md (table_jump): Remove unused variable `dest'.
1835
1836 * sparc.h: Add prototype for `v8plus_regcmp_op'.
1837
1838 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
1839 with __attribute__ ((__unused__)).
1840 (__frame_dummy): Provide prototype before use, wrap it with
1841 EH_FRAME_SECTION_ASM_OP.
1842
1843 * cse.c: Move inclusion of <setjmp.h> above local headers.
1844 Include toplev.h and output.h.
1845
1846 * dbxout.h: Add prototype for `dbxout_begin_function'.
1847
1848 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
1849 ASM_OUTPUT_MAX_SKIP_ALIGN.
1850
1851 * gcse.c: Include system.h and output.h.
1852 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
1853 Make extern instead of static.
1854 (compute_can_copy): Only declare variables `reg' and `insn' when
1855 AVOID_CCMODE_COPIES is not defined.
1856 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
1857 (hash_scan_clobber): Likewise for `x' and `insn'.
1858 (hash_scan_call): Likewise.
1859 (record_last_set_info): Likewise for `setter'.
1860 (mark_call): Likewise for `pat'.
1861 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
1862
1863 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
1864 length parameter so that it multiplies the number of elements by
1865 the sizeof(element).
1866
1867 * output.h: Add prototype for `weak_finish'.
1868
1869 * recog.h: Likewise for `validate_replace_src'.
1870
1871 * rtl.h: Likewise for `optimize_save_area_alloca',
1872 `fix_sched_param', `purge_addressof', `gcse_main',
1873 `regmove_optimize', `dbr_schedule', `branch_prob' and
1874 `end_branch_prob'.
1875
1876 * toplev.h: Likewise for `set_float_handler' and
1877 `output_quoted_string'.
1878
1879 * varasm.c: Include dbxout.h.
1880
33d7a521
JW
1881Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
1882
1883 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
1884 GP_REG_P. Use gr_regs instead of GR_REGS.
1885
cb923660
KR
1886Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
1887 Jeff Law <law@cygnus.com>
1888
1889 * Revamped multiply support for MIPS chips.
1890 * mips.c (extend_operator): New function.
1891 (highpart_shift_operator): Likewise.
1892 * mips.h: Declare new functions.
1893 (PREDICATE_CODES): Add support for new predicates.
1894 * mips.md (mulsi3 expander): Simplify.
1895 (mulsi_mult3): Add another constraint alternative. Support
1896 3 operand multiply instructions as found on various mips
1897 parts.
1898 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
1899 (mul_acc_si): New pattern and associated splitters.
1900 (mulsidi3 expander): Rework to use mulsidi3_64bit and
1901 mulsidi3_internal.
1902 (umulsidi3): New expander.
1903 (mulsidi3_internal): Accept either sign or zero extended
1904 operands and generate code as appropriate appropriately.
1905 (mulsidi3_64bit): Similarly.
1906 (smulsi3_highpart): Turn into an expander and generate code
1907 to match new patterns.
1908 (umulsi3_highpart): Likewise.
1909 (xmulsi3_highpart_internal): New pattern.
1910 (maddi patterns): Delete. Replace with:
1911 (mul_acc_di, mul-acc_64bit_di): New patterns.
1912
a1622f83
AM
1913Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1914
1915 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
1916 flag_new_exceptions runtime flag.
1917 (struct old_exception_table): New struct which represents what
1918 the exception table looks like without the new model.
1919 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
1920 flag that this is a new style table.
1921 * except.h: Remove compile time flag NEW_EH_MODEL.
1922 (expand_builtin_eh_stub_old): New prototype.
1923 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
1924 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
1925 * c-decl.c (init_decl_processing): Add new builtin function
1926 __builtin_eh_stub_old.
1927 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
1928 * flags.h (flag_new_exceptions): New runtime flag.
1929 * toplev.c (flag_new_exceptions): Initialize default to 0,
1930 -fnew-exceptions sets to 1.
1931 * except.c (output_exception_table_entry): Output New style exception
1932 identifier into table, and replace compile time flag NEW_EH_MODEL
1933 with runtime flag flag_new_exceptions.
1934 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
1935 (expand_builtin_eh_stub_old): Duplicates original functionality of
1936 expand_builtin_eh_stub.
1937 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
1938 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
1939 (old_find_exception_handler): New func, same as find_exception_handler
1940 except it works on the old style exception table.
1941 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
1942 of identifier in the exception table, and call appropriate routines.
1943
aeb302bb
JM
1944Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
1945
1946 * function.c: Define current_function_cannot_inline.
1947 (push_function_context_to): Save it.
1948 (pop_function_context_from): Restore it.
1949 * function.h (struct function): Provide it a home.
1950 * output.h: Declare it.
1951 * integrate.c (function_cannot_inline_p): Check it.
1952
8b015896 1953Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
9a14a3ab 1954
8b015896
RH
1955 * expr.c (force_operand): Detect PIC address loads before
1956 splitting arithmetic.
2b4065a4 1957
8b015896 1958Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
209c9866
JL
1959
1960 * version.c: Bump for snapshot.
1961
79990a39
GS
1962Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
1963
1964 * tree.c (tree_class_check): Add braces to eliminate ambigious
1965 else warning.
1966 (tree_check): Likewise.
1967
49fa02d9
L
1968Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
1969
1970 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
1971 stack is the destination for conditional move insn.
1972
52267fcb
JM
1973Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
1974
1975 * tree.h (TREE_VEC_END): Cast unused value to void.
1976
1977 * i386.c (print_operand): Use %lx for long operand.
1978
2b01d264
RH
1979Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
1980
1981 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
1982
cb9e12a7
JC
1983Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
1984
1985 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
1986 conversion functions.
1987
b53beeb2
RH
1988Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
1989
1990 * toplev.c (flag_exceptions): Default to 0.
1991 (compile_file): Remove flag_exceptions == 2 hack.
1992 (main): Call lang_init_options.
1993 * tree.h: Declare it.
1994 * c-lang.c: Implement it.
1995 * objc/objc-act.c: Likewise.
1996
dfdfa60f
DE
1997Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
1998
1999 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
2000 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
2001 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
2002 (output_function_profiler): Use asm_fprintf and fputs.
2003
83e0821b
KG
2004Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2005
2006 * gencheck.c: Remove redundant stdio.h include. Add a definition
2007 of xmalloc for when we are forced to link with alloca.o.
2008
2009 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
2010 instead of `1U'.
2011
2012 * fold-const.c (constant_boolean_node): Make definition static to
2013 match the prototype.
2014
6ff0d2a0
PB
2015Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
2016
2017 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
2018 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
2019 (do_spec, input_filename, input_filename_length): Make public.
2020 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
2021 Call lang_specific_pre_link befor elinking.
2022
2db45993
JL
2023Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
2024
2025 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
2026 the insn which has the most insns dependent on it.
2027
74186471
JC
2028Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
2029
2030 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
2031
989f090c
RH
2032Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
2033
2034 * alpha.md (insxh-1): New insxl pattern for combine.
2035
b657fc39
L
2036Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
2037
2038 * i386/i386.c (output_fp_conditional_move): New function
2039 to output floating point conditional move.
2040 (output_int_conditional_move): New function to output integer
2041 conditional move.
2042
2043 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
2044 output_int_conditional_move () to output int conditional move.
2045 (movsfcc+5, movdfcc+5, movxfcc+5): Call
2046 output_fp_conditional_move () to output floating point
2047 conditional move.
2048
2049 * i386/i386.c (put_condition_code): In INT mode, check
2050 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
2051
202fe2d6
DB
2052Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
2053
2054 * dbxout.c (dbxout_type): Output arrays of bits as if
2055 they were bitstrings for Chill
2056
a260abc9
DE
2057Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
2058
2059 * tree.c (get_inner_array_type): New function.
2060 * tree.h (get_inner_array_type): Prototype.
2061 * expr.h (STACK_SAVEAREA_MODE): New macro.
2062 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
2063 STACK_SAVEAREA_MODE.
2064 (expand_builtin_longjmp): Likewise.
2065 * explow.c (emit_stack_save): Likewise.
2066 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
2067
2068 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
2069 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
2070 * rs6000/aix43.h: New file.
2071 * rs6000/t-aix43: New file.
2072 * rs6000/x-aix41: New file.
2073 * rs6000/x-aix43: New file.
2074 * configure.in (rs6000-ibm-aix*): Use them.
2075 * rs6000/powerpc.h: Delete.
2076 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
2077 * rs6000/netware.h: and here.
2078 * rs6000/win-nt.h: and here.
2079
2080 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
2081 MASK_POWERPC64.
2082 (rs6000_override_options): Ignore flag_pic for AIX.
2083 (rs6000_immed_double_const): Delete.
2084 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
2085 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
2086 (num_insns_constant): mask64_operand() is 2 insns.
2087 (logical_operand): Don't assume 32-bit CONST_INT.
2088 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
2089 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
2090 (mask_constant): HOST_WIDE_INT parameter.
2091 (non_and_cint_operand): Delete.
2092 (mask64_operand): New function.
2093 (and64_operand): New function.
2094 (function_arg_advance): DImode arguments do not need special
2095 alignment when 64-bit.
2096 (function_arg): Likewise.
2097 (setup_incoming_varargs): Reverse reg_size assignment.
2098 (print_operand): HOST_WIDE_INT second parameter.
2099 (print_operand, 'B'): New case.
2100 (print_operand, 'M'): Fix typo in lossage string.
2101 (print_operandm 'S'): New case.
2102 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
2103 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
2104 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
2105 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
2106 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
2107 (rs6000_allocate_stack_space): Use {cal|la}.
2108 (output_epilog): Use {cal|la}
2109 (output_function_profiler): Add call glue to mcount call.
2110 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
2111
2112 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
2113 (STACK_BOUNDARY): Depend on TARGET_32BIT.
2114 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
2115 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
2116 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
2117 64-bit mask operand.
2118 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
2119 (STACK_SAVEAREA_MODE): New macro.
2120 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
2121 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
2122 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
2123 (ASM_FILE_START): Emit 64-bit ABI directive.
2124 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
2125 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
2126 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
2127 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
2128
2129 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
2130 Restore define_splits.
2131 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
2132 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
2133 Do not specify base register operand mode.
2134 (floatsidf2_loadaddr): Do not specify base register operand mode.
2135 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
2136 register; do not specify mode. Remove !TARGET_POWERPC64 final
2137 constraint.
2138 (floatsidf2_load): Do not specify base register operand mode. Remove
2139 !TARGET_POWERPC64 final constraint.
2140 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
2141 base register operand mode.
2142 (adddi3): Split large constants early.
2143 (absdi3): Shift by 63, not 31.
2144 (*mulsidi3_ppc64): New pattern.
2145 (rotldi3): Add masking combiner patterns.
2146 (anddi3): Add rldic{r,l} masking. Remove split of large constants
2147 because PPC insns zero-extend.
2148 (iordi3, xordi3): Split large constants early.
2149 (movsi matcher): Remove S and T constraints.
2150 (movsf const_double): create SImode constant from TARGET_DOUBLE.
2151 (movdf_hardfloat32): Add default abort() case.
2152 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
2153 (movdi): Remove 64-bit constant generator. Try to convert
2154 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
2155 (movdi_32): Add default abort() case.
2156 (movdi_64): Add numerous ways to split 64-bit constants.
2157 Make catch-all define_split more optimal and never FAIL.
2158 (movti_ppc64): Add default abort() case.
2159 (allocate_stack): Remove operand modes. Use Pmode.
2160 (restore_stack_block): Remove operand modes. Generate Pmode
2161 temporary.
2162 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
2163 temporary. Save area is double Pmode.
2164 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
2165 (call, call_value): Do not specify address operand mode. Choose
2166 appropriate AIX ABI.
2167 (*call_local64, *ret_call_local64): New patterns.
2168 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
2169 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
2170 (compare): Materialize DImode truthvalues.
2171
ff439b5f
CB
2172Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
2173
2174 * expr.c (safe_from_p): Avoid combinatorial explosion
2175 over duplicate SAVE_EXPRs by ensuring we never recurse
2176 on one that has already been visited.
2177
7d2a46a8
GS
2178Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
2179
2180 * loop.c (check_dbra_loop): Initialise final_value before
2181 normalizing the loop.
2182
f5470689
R
2183Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2184
2185 * reload1.c (reload_reg_free_for_value_p): New arguments out and
2186 reloadnum. Changed all callers.
2187
9b91d8f4
UD
21881998-06-03 Ulrich Drepper <drepper@cygnus.com>
2189
2190 * system.h: Add _() and N_() macros in preparation for gettext.
2191
7fdc2757
AS
2192Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2193
bc516719
AS
2194 * c-common.c (check_format_info): Put back check for C9x `hh'
2195 length modifier. Warn about %n format writing into const. Remove
2196 obsolete comment.
9b91d8f4 2197 (format_char_info): Fix comments.
bc516719 2198
7fdc2757
AS
2199 * configure.in: Set float_format to m68k for all m68k targets that
2200 do not override LONG_DOUBLE_TYPE_SIZE.
2201 * config/float-m68k.h: New file.
2202
dc2a47ed
RH
2203Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
2204
2205 * jump.c (jump_optimize): Remove debug messages accidentally left in
2206 with the previous change.
2207
f0348c25
RH
2208Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
2209
2210 * expr.c (store_expr): Revert stray patch associated with
2211 1998-05-23 commit.
2212
4f4f436f
RH
2213Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
2214
2215 * jump.c (rtx_unsafe_p): New function.
2216 (jump_optimize): Use it on if/then/else transformations and
2217 conditional move transformations.
2218
df0e526f
AS
2219Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2220
2221 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
2222 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
2223 Cope with CONST being out of range for the bitfield.
2224
2638126a
BS
2225Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
2226
2227 * expr.c (emit_move_insn_1): When moving complex values in several
2228 steps, emit a CLOBBER to show the destination dies.
2229
6c8538cc
JL
2230Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
2231
ccdb9251
JL
2232 * Makefile.in (site.exp): Use the object testsuite directory as
2233 the temporary directory.
2234
6c8538cc
JL
2235 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
2236 address of an ADDRESSOF rtx.
2237
0bc02db4
MS
22381998-06-02 Mike Stump <mrs@wrs.com>
2239
2240 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
2241 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
2242 * i960.md (ret, flush_register_windows): Define.
2243 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
2244 work yet.
2245 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
2246
d46f7484
RH
2247Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
2248
2249 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
2250 around an OSF/1 library bug wrt sign-extension of inputs.
2251
e3c81d20
RH
2252Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
2253
2254 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
2255
44ec7e59 2256Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
9b91d8f4 2257
44ec7e59
CM
2258 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
2259
2260 * varasm.c (assemble_variable): Augment alignment warning.
2261
9224220f
MM
2262Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
2263
2264 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
2265 in the presence of IEEE negative 0's.
2266
726e2d54
JW
2267Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
2268
2269 * reload.c (find_reloads): Record the existing mode if
2270 operand_mode == VOIDmode before replacing a register with
2271 a constant.
2272 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
2273 i386_compare_op1 to const0_rtx for the benefit of the
2274 conditional move patterns.
2275 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
2276 based on suggestions from Jim Wilson.
2277
97f959a5
JL
2278Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
2279
2280 * version.c: Bump for snapshot.
2281
b5662334
BK
2282Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
2283
2284 * Makefile.in (fixinc.sh): Update rules again.
2285
674032e2
JL
2286Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
2287
2288 * extend.texi: Bring back reference to trampoline paper.
2289
2290Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
2291
2292 * Makefile.in (USER_H): Add stdbool.h.
2293 * ginclude/stdbool.h: New file.
2294
d3903c22
JL
2295Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
2296
c71407f9
JL
2297 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
2298 of a non-note insn.
2299
d3903c22
JL
2300 * gcse.c (pre_delete): Fix code to determine the mode of
2301 the reaching pseudo register.
2302
8376d400
BS
2303Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
2304
2305 * Makefile.in (GEN): Add gencheck
2306 (STAGESTUFF): Add tree-check.h and gencheck.
2307
71d085b0
BK
2308Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
2309
2310 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
2311 (fixinc.sh): Set some additional environment variables before
2312 calling mkfixinc.sh.
2313
f4d1453e
JL
2314Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
2315
2316 * reload.c (find_reloads): Do not force a reloads of match_operators.
9b91d8f4 2317
9f8e6243
AM
2318Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2319
2320 * except.h (remove_handler): Add new prototype.
2321 * except.c (remove_handler): New function to remove handlers
2322 from an exception region.
2323 * flow.c (find_basic_blocks_1): Remove handlers from regions when
2324 handler label is deleted; remove exception regions with no handlers.
2325
d05a5492
MM
2326Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
2327
2328 * except.h (rtx): Define rtx type correctly if needed.
2329 * function.h (rtx): Ditto.
2330 (tree): Define tree type correctly if needed.
2331
2332 * c-pragma.c (toplevel): Include rtl.h.
2333
2334 * stor-layout.c (toplevel): Move include of rtl.h before
2335 except.h.
2336
2337 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
2338 (tree.o): Add except.h dependency.
9b91d8f4 2339
ed385fd9
JL
2340Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
2341
5bc80b30
JL
2342 * reload1.c: Revert accidental checkin.
2343
ed385fd9
JL
2344 * configure.lang: Fix thinko when adding a definition for
2345 target_alias to the Makefile.
2346
00c26dc2
CM
2347Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
2348
9b91d8f4 2349 * config/sparc/lb1spc.asm (.rem and .urem): Replace
00c26dc2
CM
2350 routines.
2351
d499463f
RE
2352Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
2353
2354 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
2355 variable warnings. Don't generate scratch registers if only
2356 counting insns.
2357 (find_barrier): Eliminate unused variable SRC.
2358
62fe00be
MH
23591998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
2360
2361 * toplev.h (rtx_def): Provide global declaration to avoid
2362 `limited scope' warnings.
2363
1a4bf22f
MK
2364Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
2365
2366 * Makefile.in (gencheck.o): Use HOST_CC.
2367 * i386/t-mingw32: New file.
2368 * configure.in (i386-*-mingw32*): Use.
2369
4d818c85
RE
2370Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
2371
2372 * arm.c (bad_signed_byte_operand): New predicate function.
2373 * arm.h (PREDICATE_CODES): Add it to the list.
2374 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
2375 can't handle.
2376 (define_split): Two new splits for above insns.
2377
ad076f4e
RE
2378 * arm.c: Include toplev.h.
2379 (arm_override_options): Add parentheses around use of tune_flags.
2380 (arm_split_constant): Remove unused variable.
2381 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
2382 (output_func_prologue, arm_expand_prologue): Likewise.
2383 (arm_canonicalize_comparison): Make I unsigned; rework constants
2384 accordignly. Add missing paratheses around << operation.
2385 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
2386 clause.
2387 ({load,store}_multiple_sequence): Initialize BASE_REG.
2388 (select_dominance_cc_mode): Add DEFAULT clauses.
2389 (broken_move): Return zero if the destination is not a register.
2390 (arm_reorg): Move unused REGNO declaration into the dead code.
2391 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
2392
a1ec8ea1
JL
2393Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
2394
2395 * version.c: Bump for snapshot.
2396
c7f58590
JL
2397Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
2398
2399 * version.c: Bump for snapshot.
2400
33b019ad
DB
2401Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
2402
2403 * cpperror.c (v_cpp_message): Remove static prototype.
2404 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
2405 * cpplib.h (v_cpp_message): Add protoptype.
2406 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
2407
61819ba5
JL
2408Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
2409
2410 * version.c: Bump for snapshot.
2411
f5c57ba7
JL
2412Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
2413
2414 * version.c: Bump for snapshot.
2415
7a87758d
AS
24161998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2417
2418 * m68k.h: Declare more functions used in macros.
2419 (REG_CLASS_CONTENTS): Completely embrace initializer.
2420 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
2421 about returning no value.
2422 * cse.c (find_best_addr): Declare p and found_better only if
2423 needed.
2424 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
2425 * dwarfout.c (string_length_attribute): #if 0 away.
2426 * function.c (expand_function_end): Define varible blktramp only
2427 if needed.
2428 * jump.c (find_insert_position): Define only if !HAVE_cc0.
2429 * loop.c (combine_givs_p): Define variable tem only if needed.
2430 * real.c: Comment out unused functions eabs, eround,
2431 e{24,53,64,113}toasc and eiinfin.
2432
2433
10ad38ca
AO
2434Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
2435
2436 * Makefile.in (boostrap2-lean, bootstrap3-lean,
2437 bootstrap4-lean): New targets.
2438
57fec042
JL
2439Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
2440
2441 * warn_summary, test_summary: Moved into the contrib directory.
2442
97263b8c
MH
24431998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
2444
e7f62ad3
MH
2445 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
2446 of the Makefile.
2447 (FLOAT_H_TEST): Likewise.
2448 (ENQUIRE): Likewise.
2449 (float.h-nat): Likewise.
2450 (float.h-cross): Likewise.
2451 (enquire): Likewise.
2452 (enquire.o): Likewise.
2453 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
2454 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
2455 no-op.
2456 (FLOAT_H): Remove old float.h-nat version; move current definition
2457 to CROSS_FLOAT_H location.
2458 (all.cross): Remove comments about enquire stuff.
2459
8d45987f
MH
2460 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
2461 (rest.encap): Likewise.
e7f62ad3 2462 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
8d45987f 2463
97263b8c
MH
2464 * toplev.h (tree_node): Provide global declaration to avoid
2465 `limited scope' warnings.
2466
a8c24967
RL
2467Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
2468
2469 * test_summary: Display section breaks for each entry
2470 in a multilibbed target's output.
2471
bd070e1a
RH
24721998-05-23 Richard Henderson <rth@cygnus.com>
2473
2474 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
2475 offset's mode is not ptr_mode, convert it.
2476
697073d9
JM
24771998-05-22 Jason Merrill <jason@yorick.cygnus.com>
2478
2479 * fold-const.c (ssize_binop): New fn.
2480 * tree.h: Declare it.
2481
07704a9a
RE
2482Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
2483
9b91d8f4 2484 * genextract.c (print_path): Handle zero-length path as a special
07704a9a
RE
2485 case.
2486
911c3b7d
HPN
2487Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
2488
2489 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
2490
75197b37
BS
2491Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2492
2493 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
2494 (shorten_branches, final_scan_insn): Test value of
2495 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
2496 is defined.
2497 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
2498 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
28ec9418 2499 * arm/tcoff.h: Likewise.
75197b37
BS
2500 * i386/386bsd.h: Likewise.
2501 * i386/freebsd-elf.h: Likewise.
2502 * i386/freebsd.h: Likewise.
2503 * i386/netbsd.h: Likewise.
2504 * i386/ptx4-i.h: Likewise.
2505 * i386/sysv4.h: Likewise.
2506 * pa/pa.h: Likewise.
2507 * rs6000/linux.h: Likewise.
2508 * rs6000/rs6000.h: Likewise.
2509 * sh/sh.h: Likewise.
2510 * sparc/sp64-elf.h: Likewise.
2511 * v850/v850.h: Likewise.
2512 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
2513 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
2514
1a29f703
R
2515Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2516
2517 * regmove.c (gen_add3_insn): New function.
2518 (fixup_match_2): Use it instead of calling gen_addsi3.
2519
aee21ba9
JL
2520Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
2521
37433f49
JL
2522 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
2523
aee21ba9
JL
2524 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
2525 address.
2526
12b195d9
ML
2527Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
2528
2529 * Makefile.in (TREE_H): Add tree-check.h.
2530 (tree-check.h, gencheck): New targets.
2531 * gencheck.c: New file.
2532 * tree.c (tree_check, tree_class_check): New functions.
2533 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
2534 (TYPE_CHECK, DECL_CHECK): Define.
2535 Modify all access macros to use generated checking macros.
2536
9e423e6d
JW
2537Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
2538
2539 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
2540 * configure.in: Check for it.
2541 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
2542 * final.c (uid_align, uid_shuid, label_align): Make static.
2543 (label_align): Change type to struct label_alignment pointer.
2544 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
2545 (LABEL_TO_MAX_SKIP): Define.
2546 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
2547 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
2548 (shorten_branches): Record the maximum bytes to skip when
2549 aligning a label.
2550 (final_scan_insn): Use the maximum bytes to skip when aligning a label
2551 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
2552 * i386.h (LOOP_ALIGN_MAX_SKIP,
2553 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
2554 * i386.c (override_options): i386_align_jumps and i386_align_loops
2555 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
2556 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
2557
1cc75298
MM
25581998-05-21 Mark Mitchell <mmitchell@usa.net>
2559
2560 * cplus-dem.c (do_type): Handle volatile qualification.
9b91d8f4 2561
178ca02d
PB
2562Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
2563
2564 * function.c (init_function_start): Don't call emit_line_note if
2565 lineno is 0. (Can happen when compiling Java .class files.)
2566
cecbf6e2
R
2567Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2568
2569 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
2570 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
2571
b52ce03d
R
2572Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2573
2574 * combine.c (nonzero_bits): For paradoxical subregs, take
2575 LOAD_EXTENDED_OP into account.
2576
c8724862
DB
2577Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
2578
2579 * configure.in (extra_c_objs): add prefix.o.
2580 (extra_cxx_objs): extra objects for C++ with cpplib.
2581 * configure: Regenerate.
2582
2583 * c-tree.h: (get_directive_line): Different prototype for cpplib.
2584 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
2585
2586 * c-lex.h: (get_directive_line): Not needed here for cpplib.
2587
2588 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
2589 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
2590
2591 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
2592 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
2593
fd97443c
KG
2594Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2595
2596 * gengenrtl.c (type_from_format, accessor_from_format): Change
2597 type of parameter `c' from `char' to `int'.
2598
0e4347ce
JL
2599Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
2600
2a3edac9
JL
2601 * warn_summary, test_summary: New scripts from
2602 Kaveh Ghazi and Alexandre Oliva respectively.
2603
0e4347ce
JL
2604 * gcse.c (current_function_calls_longjmp): Declare.
2605
4e5a8d7b
JM
26061998-05-20 Jason Merrill <jason@yorick.cygnus.com>
2607
2608 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
2609
7506f491
DE
2610Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
2611 Jeff Law (law@cygnus.com)
2612
2613 * Global CSE and constant/copy propagation.
2614 * Makefile.in (OBJS): Add gcse.o
2615 (STAGESTUFF): Add *.gcse.
2616 (gcse.o): Add dependencies.
2617 (mostlyclean): Remove *.gcse and */*.gcse.
2618 * gcse.c: New file.
2619 * loop.c (loop_optimize): Move call to init_alias_analysis.
2620 * recog.c (validate_replace_src): New function.
2621 * toplev.c (gcse_dump): New global variable.
2622 (flag_gcse, gcse_time): Likewise.
2623 (compile_file): Initialize gcse_time and clean out the gcse dump
2624 file if necessary.
2625 (rest_of_compilation): Call gcse_main as requested. Dump RTL
2626 after gcse if requested.
2627 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
2628 dumps for -da.
2629 * gcc.texi: Add gcse related internal documentation.
2630 * invoke.texi: Note new command line options for gcse.
2631 * tm.texi: Document AVOID_CCMODE_COPIES.
2632 * mips.h (AVOID_CCMODE_COPIES): Define.
2633
40859b41
JL
2634Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
2635
2636 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
2637 exists.
aef1617c 2638 (stmp-fixproto): Simlarly for running fixproto.
40859b41
JL
2639 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
2640
f85c8be7
JW
2641Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
2642
2643 * config/mips/mips.c (double_memory_operand): Accept any MEM during
2644 reload when TARGET_64BIT.
2645
c7391272
JW
2646Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
2647
2648 Finish incomplete change started by Kenner.
2649 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
2650 (powerpcle-*-cygwin32): Delete xm_defines.
2651 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
2652 HAVE_STAB_H instead of NO_STAB_H.
2653 * config/xm-linux.h (NO_STAB_H): Delete.
2654 (HAVE_STAB_H): Undefine.
2655 * config/i386/xm-go32.h (NO_STAB_H): Delete.
2656
af02da67
JW
26571998-05-19 Jim Wilson <wilson@cygnus.com>
2658
2659 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
2660 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
2661
79edd21c
TV
2662Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
2663
2664 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
2665
6e684430
R
2666Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2667
2668 * reload1.c (reload_reg_free_for_value_p): New function.
2669 (allocate_reload_reg, choose_reload_regs): Use it.
2670
7ecb5d27
AM
2671Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
2672
2673 * except.c (expand_start_catch): Correct logic for when to
2674 generate a new handler label, and when to use the old one.
2675
487a6e06
KG
2676Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2677
2678 * Makefile.in (print-rtl.o): Depend on bitmap.h.
2679 (dbxout.o): Depend on toplev.h.
2680 ($(SCHED_PREFIX)sched.o): Likewise.
2681 ($(out_object_file)): Likewise for system.h and toplev.h.
2682 (cppmain.o): Depend on gansidecl.h.
2683 (cpplib.o): Likewise.
2684 (cpperror.o): Likewise.
2685 (cppexp.o): Likewise.
2686 (cpphash.o): Likewise.
2687 (cppalloc.o): Likewise.
2688 (fix-header.o): Depend on cpplib.h and cpphash.h.
2689 (scan-decls.o): Depend on gansidecl.h.
2690
2691 * basic-block.h (free_regset_vector): Add prototype.
2692
2693 * cccp.c (check_precompiled): Mark parameter `fname' with
2694 ATTRIBUTE_UNUSED.
2695 (do_assert): Likewise for `op' and `keyword'.
2696 (do_unassert): Likewise.
2697 (do_line): Likewise for `keyword'.
2698 (do_error): Likewise for `op' and `keyword'.
2699 (do_warning): Likewise.
2700 (do_ident): Likewise for `keyword'.
2701 (do_pragma): Likewise for `limit', `op' and `keyword'.
2702 (do_sccs): Likewise.
2703 (do_if): Likewise for `keyword'.
2704 (do_elif): Likewise.
2705 (do_else): Likewise.
2706 (do_endif): Likewise.
2707
2708 * collect2.c (getenv): Remove redundant prototype.
2709 (collect_exit, collect_execute, dump_file): Likewise.
2710 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
2711 (dump_prefix_list): Hide prototype and definition.
2712
2713 * sparc.c: Include toplev.h.
2714 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2715 (symbolic_memory_operand): Likewise.
2716 (sp64_medium_pic_operand): Likewise.
2717 (data_segment_operand): Likewise.
2718 (text_segment_operand): Likewise.
2719 (splittable_symbolic_memory_operand): Likewise.
2720 (splittable_immediate_memory_operand): Likewise.
2721 (eq_or_neq): Likewise.
2722 (normal_comp_operator): Likewise.
2723 (noov_compare_op): Likewise.
2724 (v9_regcmp_op): Likewise.
2725 (v8plus_regcmp_op): Likewise.
2726 (extend_op): Likewise.
2727 (cc_arithop): Likewise.
2728 (cc_arithopn): Likewise.
2729 (small_int): Likewise.
2730 (uns_small_int): Likewise.
2731 (clobbered_register): Likewise.
2732 (legitimize_pic_address): Likewise.
2733 (delay_operand): Likewise.
2734 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
2735
2736 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
2737 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
2738
2739 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
2740
2741 * cppalloc.c: Include gansidecl.h.
2742
2743 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
2744 (cpp_file_line_for_message): Mark parameter `pfile' with
2745 ATTRIBUTE_UNUSED.
2746 (v_cpp_message): New function.
2747 (cpp_message): Use it. Also convert to variable arguments.
2748 (cpp_fatal): Likewise.
2749 (cpp_pfatal_with_name): Constify parameter `name'.
2750
2751 * cppexp.c: Move gansidecl.h before cpplib.h.
2752 * cpphash.c: Likewise.
2753 * cpphash.h (hashf, delete_macro): Add prototypes.
2754
2755 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
2756 cpplib.h. Don't include errno.h.
2757 (update_path): Add arguments to prototype.
2758 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
2759 cpp_print_containing_files): Remove redundant prototypes.
2760 (cpp_hash_cleanup, add_import, append_include_chain,
2761 make_assertion, path_include, initialize_builtins,
2762 initialize_char_syntax, finclude, validate_else, comp_def_part,
2763 lookup_import, redundant_include_p, is_system_include,
2764 read_name_map, read_filename_string, open_include_file,
2765 check_macro_name, compare_defs, compare_token_lists,
2766 eval_if_expression, change_newlines): Add prototype arguments.
2767 (hashf): Remove redundant prototype.
2768 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
2769 conditional_skip, skip_if_group): Add prototype arguments.
2770 (fdopen): Remove redundant prototype.
2771 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
2772 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
2773 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
2774 (struct directive): Add prototype arguments to function pointer
2775 member `func'.
2776 (handle_directive): Add missing arguments to call to `do_line'.
2777 (do_include): Mark parameters `unused1' and `unused2' with
2778 ATTRIBUTE_UNUSED.
2779 (do_line): Likewise for `keyword' and new parameters `unused1' and
2780 `unused2'.
2781 (do_error): Likewise for `keyword'.
2782 (do_warning): Likewise. Also add missing argument `pfile' in call
2783 to cpp_pedwarn.
2784 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
9b91d8f4 2785 ATTRIBUTE_UNUSED.
487a6e06
KG
2786 (do_ident): Likewise for `keyword', `buf' and `limit'.
2787 (do_pragma): Likewise. Also add missing arguments in call to do_once.
2788 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
9b91d8f4 2789 ATTRIBUTE_UNUSED.
487a6e06
KG
2790 (do_if): Likewise for `keyword'.
2791 (do_elif): Likewise.
2792 (eval_if_expression): Likewise for `buf' and `length'.
2793 (do_xifdef): Likewise for `unused1' and `unused2'.
2794 (do_else): Likewise for `keyword', `buf' and `limit'.
2795 (do_endif): Likewise.
2796 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
2797 (cpp_handle_options): Remove superfluous NULL argument in call to
2798 cpp_fatal.
2799 (cpp_handle_options): Likewise.
2800 (do_assert): Mark parameter `keyword', `buf' and `limit' with
2801 ATTRIBUTE_UNUSED.
2802 (do_unassert): Likewise.
2803 (cpp_print_file_and_line): Add missing argument `pfile' in call to
2804 cpp_file_line_for_message.
2805 (v_cpp_error): New function.
2806 (cpp_error): Use it. Also accept variable arguments.
2807 (v_cpp_warning): New function.
2808 (cpp_warning): Use it. Also accept variable arguments.
2809 (cpp_pedwarn): Accept variable arguments.
2810 (v_cpp_error_with_line): New function
2811 (cpp_error_with_line): Use it. Accept variable arguments.
2812 (v_cpp_warning_with_line): New function.
2813 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
2814 definition.
2815 (cpp_pedwarn_with_line): Accept variable arguments.
2816 (cpp_pedwarn_with_file_and_line): Likewise.
2817 (cpp_error_from_errno): Constify parameter `name'. Add missing
2818 argument `pfile' in call to cpp_file_line_for_message.
2819 (cpp_perror_with_name): Constify parameter `name'.
2820
2821 * cpplib.h: Define PARAMS() in terms of PROTO().
2822 (fatal): Remove redundant prototype.
2823 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
2824 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
9b91d8f4 2825 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
487a6e06
KG
2826 cpp_fatal, cpp_message, cpp_pfatal_with_name,
2827 cpp_file_line_for_message, cpp_print_containing_files): Add
2828 arguments to prototypes.
2829 (scan_decls, cpp_finish): Add prototypes.
2830
2831 * cppmain.c: Include gansidecl.h.
2832 (main): Remove unused variable `i'.
9b91d8f4 2833
487a6e06
KG
2834 * dbxout.c: Include toplev.h.
2835
2836 * demangle.h (do_tlink, collect_execute, collect_exit,
2837 collect_wait, dump_file, file_exists): Add prototype.
2838
2839 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
2840 prototype and definition.
2841 (gen_unspecified_parameters_die): Don't assign results of call to
2842 function new_die() to unused variable `parm_die'.
2843 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
2844 (dwarf2out_define): Likewise for `lineno' and `buffer'.
2845
2846 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
2847 prototype and definition.
2848 (output_die): Add prototype arguments to function pointer arg.
2849 (output_unspecified_parameters_die): Mark parameter `arg' with
2850 ATTRIBUTE_UNUSED.
2851
2852 * except.c (output_exception_table_entry): Remove unused variable
2853 `eh_entry'.
2854
2855 * except.h (expand_fixup_region_start, expand_fixup_region_end):
2856 Add prototypes.
2857
2858 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
2859
2860 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
2861
2862 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
2863 before cpplib.h, include cpphash.h, remove redundant prototype of
2864 cpp_fatal, don't define `const', add a prototype for `fatal'.
2865 (cpp_file_line_for_message): Add missing arguments `pfile'.
2866 (v_cpp_message): New function.
2867 (cpp_message): Use it.
2868 (v_fatal): New function.
2869 (fatal, cpp_fatal): Use it.
2870 (cpp_pfatal_with_name): Constify parameter `name'.
2871
2872 * flow.c (free_regset_vector): Remove redundant prototype.
2873
2874 * function.c (round_down): Wrap prototype and definition with
2875 macro ARGS_GROW_DOWNWARD.
2876 (record_insns): Wrap prototype and definition with
2877 defined (HAVE_prologue) || defined (HAVE_epilogue).
2878
2879 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
2880
2881 * gen-protos.c: Include gansidecl.h.
2882 (hashf): Don't make it static, constify parameter `name'.
2883
2884 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
2885 specifier %s in calls to function `fatal'.
2886
2887 * haifa-sched.c: Include toplev.h.
2888 (find_rgns): Remove unused variable `j'.
2889
2890 * integrate.c (note_modified_parmregs): Mark parameter `x' with
2891 ATTRIBUTE_UNUSED.
2892 (mark_stores): Likewise.
2893
2894 * jump.c (mark_modified_reg): Likewise.
2895
2896 * output.h (insn_current_reference_address): Add prototype.
2897 (eh_frame_section): Likewise.
2898
2899 * print-rtl.c: Include bitmap.h.
2900
2901 * reload1.c (reload): Wrap variables `note' and `next' in macro
2902 PRESERVE_DEATH_INFO_REGNO_P.
2903 (forget_old_reloads_1): Mark parameter `ignored' with
2904 ATTRIBUTE_UNUSED.
2905 (choose_reload_regs): Remove unused variable `in'.
2906 (reload_cse_invalidate_mem): Mark parameter `ignore' with
2907 ATTRIBUTE_UNUSED.
2908 (reload_cse_check_clobber): Likewise.
2909
2910 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
2911 (mark_elimination): Fix typo in prototype.
2912
2913 * scan-decls.c: Include gansidecl.h.
2914
2915 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
9b91d8f4 2916
c7fdfd49
JL
2917Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
2918
2919 * function.c (identify_blocks): Fix thinko when setting the
2920 block number for NOTE_INSN_BLOCK_END.
2921
53f2d033
NC
2922Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
2923
f122eb7a 2924 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
9b91d8f4 2925 ___udivsi3.
f122eb7a
NC
2926
2927 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
9b91d8f4 2928 underscores for the prefixes to the names of the maths functions.
f122eb7a 2929
53f2d033
NC
2930 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
2931 comment explaining why.
2932
ead17059
RH
2933Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
2934
2935 * tree.h (TYPE_SIZE_UNIT): New.
2936 (struct tree_type): Add size_unit member.
2937 * stor-layout.c (layout_type): Initialize it.
2938 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
2939 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
2940
069b95ce
RE
2941Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
2942
2943 * stor-layout.c (layout_record): Fix off-by-one error when checking
2944 length of the TYPE_BINFO vector.
2945
972a4adb
NC
2946Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
2947
2948 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
2949 function parameter passed in memory.
2950
76ead72b
RL
2951Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
2952
2953 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
2954 Prototypes for externally used functions in respective C files.
2955 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
2956 final.c: Include above files.
2957 * Makefile.in (toplev.o): Add dependency for above four headers.
2958 (final.o): Likewise.
2959 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
2960 respective header files.
2961
b0ccd8de
JL
2962Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
2963
7e717196
JL
2964 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
2965 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
2966 the build tree if they exist.
2967 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
2968 appropriately.
2969 (objdir): Let configure substitute value.
2970 (FLOAT_H): Let configure select a pre-built version from the
2971 config subdir.
2972 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
2973 * configure.in: Substitute for objdir.
2974
88111b26
JL
2975 * Makefile.in (build_canonical, host_canonical): Let configure
2976 substitute values for these variables.
2977 * configure.in: Substitute for build_canonical, host_canonical
2978 and target_subdir in generated Makefile.
2979
d8af60bf
JL
2980 * output.h (find_basic_blocks): Declare.
2981 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
2982
b0ccd8de
JL
2983 * Makefile.in (BISON): Use bison from the build tree if it exists.
2984 (FLEX): Similarly.
2985
88117d44
NC
2986Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
2987
2988 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
2989 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
2990 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
2991 command line arguments to see if an executable is not being
2992 created, and if so - do not append the suffix.
2993
2994 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
2995 driver macro.
2996
e5e8a8bf
JW
2997Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
2998
2999 * i386.h (ALIGN_DFmode): Delete.
3000 (CONSTANT_ALIGNMENT): Define.
3001 * varasm.c (force_const_mem): Use it.
3002
b771b6b4
RH
3003Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
3004
3005 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
3006 using it with swap_condition, not before.
3007
0211b6ab
JW
3008Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
3009
3010 * alias.c (mode_alias_check): Delete.
3011 (true_dependence, anti_dependence, output_dependence): Revert April 21
3012 change.
3013
c5991f68
KW
3014Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
3015
3fe4d12a 3016 * toplev.c (output_lang_identify): Enable prototype and definition.
c5991f68 3017
18f315a4
JL
3018Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
3019
3020 * version.c: Bump for snapshot.
3021
2a831d01
RH
3022Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
3023
3024 * alpha/osf.h (HAVE_STAMP_H): Define.
3025 * alpha.c: Use it.
3026 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
3027 * configure.in (alpha*-*-netbsd*): New.
3028 Based on patches from Paul H. Anderson <pha@pdq.com>.
3029
3030 * configure.in (alpha*-*-linux-*): Kill xm_defines.
3031 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
3032 * alpha/xm-linux.h: Remove file.
3033
620422fd
DE
3034Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
3035
3036 * dbxout.c (dbxout_parms): If mode of type of parameter living
3037 in memory doesn't match mode of DECL_RTL, make big endian correction.
3038
d2f2cb19
JW
3039Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
3040
3041 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
3042
bbc0e641
JM
3043Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
3044
3045 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
3046 * stor-layout.c (layout_record): Set it.
3047
3048Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
3049
3050 * toplev.c (rest_of_compilation): Don't defer nested functions.
3051
92834d7d
BM
3052Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
3053
3054 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
3055 to an 8-byte boundary if info_ptr->fpmem_p.
3056
829002bb
BM
3057Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
3058
3059 * loop.c (basic_induction_var): Added test preventing
3060 CCmode parameter passed to convert_modes().
3061
b24f65cd
APB
3062Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
3063
3064 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
3065 input_filename and lineno around expand_expr call. Set them to values
3066 in WFL before expand_expr call.
3067
b09293cc
BK
3068Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
3069
3070 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
3071
f628873f
MM
3072Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
3073
3074 * fold-const.c (constant_boolean_node): New function.
3075 (fold): Use it.
3076
61fb6bac
R
3077Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3078
3079 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
3080 Abort if trying to split kind 3 or 4 outside of combine.
3081
8f9661dd
JL
3082Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
3083
3084 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
3085
b22284e1
MK
3086Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
3087
3088 * objc/Make-lang.in (OBJC_O): Add missing exeext.
3089 (libobjc.a, runtime-info.h): Likewise.
3090
8a022443
JW
3091Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
3092
3093 * i386.h (DATA_ALIGNMENT): Define.
3094
aa6498c2
R
3095Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3096
3097 * reload1.c (delete_output_reload): Ignore single USE that
3098 was emitted for the pseudo use of this INSN.
3099 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
3100 remains, we can always delete OUTPUT_RELOAD_INSN.
3101
41372177
JW
3102Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
3103
3104 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
3105
ddc5654a
JL
3106Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
3107
3108 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
3109
9a0d1e1b
AM
3110Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
3111
3112 * eh-common.h: New file for basic EH data structures.
3113 * except.h: Various prototypes and structures for NEW_EH_MODEL
3114 * function.h (struct function): Add a struct eh_stack for the catch
3115 clause stack.
9b91d8f4 3116 * except.c (gen_exception_label): New function to generate an
9a0d1e1b
AM
3117 exception label.
3118 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
3119 (push_entry): New function to push an existing entry onto a stack.
9b91d8f4 3120 (receive_exception_label): New function to emit the code required
9a0d1e1b
AM
3121 at the start of all catch blocks.
3122 (struct func_eh_entry): New structure for maintaining handlers
3123 associated with EH regions.
3124 (new_eh_region_entry): New function to register an EH region.
3125 (add_new_handler): New function to register a handler with a region.
3126 (get_new_handler): Creates anew handler entry for registering.
3127 (find_func_region): New function to convert a NOTE eh region number
3128 to an Eh region index.
3129 (get_first_handler): New function to get the first handler in a region.
3130 (clear_function_eh_region): New function to release memory.
3131 (duplicate_handlers): New function to duplicate a list of handlers.
3132 (expand_eh_region_end): Create a new region entry node as well.
3133 (expand_leftover_cleanups): Call receive_exception_label() and
3134 register the cleanup as a handler to the current region.
3135 (expand_start_catch): New function to start a catch clause.
3136 (expand_end_catch): New function to end a catch clause.
3137 (expand_start_all_catch): restructure to not do the equivilent of
3138 what expand_start_catch() does now. Push the exception region being
3139 handled onto the catch stack.
3140 (output_exception_table_entry): Issue an entry for each handler
3141 associated with a region.
3142 (set_exception_lang_code): New function for setting the language code.
3143 (set_exception_version_code): New function to set the version number.
3144 (output_exception_table): Output version and language codes.
3145 (find_exception_handler_labels): Find handler labels using new scheme.
3146 (is_exception_handler_label): New function, returns 1 if label is
3147 present as a handler in some exception region.
3148 (check_exception_handler_labels): Use the new scheme.
3149 (init_eh_for_function): Initialize the catch stack.
3150 (save_eh_status): Save the catch stack.
3151 (restore_eh_status): Restore the catch stack.
3152 (scan_region): Don't remove unreferenced handler label. Flow does it.
3153 (get_reg_for_handler): New function to get the eh_context pointer
3154 passed by __throw.
3155 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
3156 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
3157 entry when processing END region rather that START region.
3158 * flow.c (find_basic_blocks_1): Find all potential handler regions
3159 now that we don't automatically know what the labels might be.
3160 Let scan_region() remove unreferenced EH BEGIN/END labels.
3161 * integrate.c (get_label_from_map): Put inlined labels onto the
3162 permanent obstack since we dont know which ones might be exception
3163 labels.
3164 (save_for_inline_copying): Make new copies of all the handlers.
3165 (expand_inline_function): Make new copies of all the handlers.
3166 * libgcc2.c: Remove local struct decls, and include eh-common.h.
9b91d8f4 3167 (find_exception_handler): With NEW_EH_MODEL the first matching
9a0d1e1b
AM
3168 region we find is the right one. Add eh_info as a new parameter.
3169 (__throw): Pass eh_info to find_exception_handler. Set handler
3170 and pass use different regs under NEW_EH_MODEL.
3171
2129b081
JW
3172Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
3173
3174 * i960.h (hard_regno_mode_ok): Changed to function from array of
3175 unsigned.
3176 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
3177 * i960.c (hard_regno_mode_ok): Changed to function from array of
3178 unsigned.
3179
029b38ff
R
3180Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3181
3182 * reload.c (remove_replacements): New function.
3183 * reload.h (remove_replacements): Declare.
3184 * reload1.c (choose_reload_regs): Disable some reloads that
3185 belong to inherited reloads.
3186
efdb3590
R
3187Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3188
9dd07f87
R
3189 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
3190
efdb3590
R
3191 * reload1.c (merge_assigned_reloads): When merging, reset
3192 reload_spill_index for the eliminated reload.
3193
5d27de7d
JL
3194Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
3195
3196 * haifa-sched.c (schedule_insns): Fix merge goof.
3197
92d4501f
JW
31981998-05-13 Jim Wilson <wilson@cygnus.com>
3199
3200 * varasm.c (make_decl_rtl): Revert April 1 change.
3201 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
3202 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
3203 Get function name from the SYMBOL_REF in the DECL_RTL, not from
3204 DECL_ASSEMBLER_NAME.
3205 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
3206 DECL_ASSEMBLER_NAME.
3207
d6cc54f6
JW
3208Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
3209
3210 * i386.c (notice_update_cc, output_float_compare): Disable
3211 TARGET_CMOVE support.
3212
6d3352d9 3213Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
0dfa1860
MM
3214 Jeff Law <law@cygnus.com>
3215
ae78d276
MM
3216 * rtlanal.c (find_reg_note): Ignore notes that are not on on
3217 insns of class 'i'.
3218 (find_regno_note): Likewise.
3219
82ce5b75
MM
3220 * Makefile.in (stor-layout.o): Depend on except.h
3221 (varasm.o, function.o): Likewise.
3222 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
3223
0dfa1860
MM
3224 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
3225 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
3226 ($(HOST_PREFIX_1)rtl.o): Likewise.
3227 ($(HOST_PREFIX_1)bitmap.o): New host object.
3228 * emit-rtl.c (toplevel): Include bitmap.h.
3229 (gen_rtx): Handle 't' and 'b' nodes.
3230 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
3231 Print block number for block begin/end notes. Print 't' type
3232 nodes as a pointer. Know that the 3rd argument of live range
3233 start/stop notes is really a range_info rtx. If type is 'b', print
3234 out argument as a bitmap.
3235 * rtl.c: Include bitmap.c.
3236 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
3237 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
3238 * rtl.def (RANGE_LIVE): New node to hold live information while we
3239 recalculate the basic blocks.
3240 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
9b91d8f4 3241 (RANGE_VAR): New node, to hold information saved in symbol node for New
0dfa1860
MM
3242 communicating live range information to the debug output functions.
3243 * rtl.h (rtunion_def): Add rttree and rtbit fields.
3244 (XBITMAP, XTREE): New accessor macros.
3245 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
3246 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
3247 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
3248 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
3249 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
3250 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
3251 (RANGE_INFO_*): Likewise.
3252 * sched.c (sched_analyze): Keep live range start/stop notes.
3253 (unlink_other_notes): Likewise.
3254 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
3255 (unlink_other_notes): Likewise.
3256 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
3257 (BLOCK_LIVE_RANGE_FLAG): Likewise.
3258 (DECL_LIVE_RANGE_RTL): Likewise.
3259 (struct tree_block): Add live_range_flag, live_range_var_flag,
3260 live_range_start and live_range_end.
3261 (struct tree_decl): Add live_range_rtl field.
3262 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
3263 (accessor_from_format): Likewise.
6d3352d9
MM
3264
3265 * haifa-sched.c (schedule_block): Make verbose output line up.
47312d84 3266 Also add a blank line in printing the individual ready lists.
6d3352d9 3267
63e76c87
KG
3268Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3269
3270 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
3271 (c-lex.o): Depend on output.h.
3272 (c-common.o): Likewise.
3273 (stmt.o): Likewise.
3274 (calls.o): Likewise.
3275 (integrate.o): Depend on toplev.h.
3276 (regclass.o): Depend on output.h.
3277 (final.o): Depend on reload.h.
3278
3279 * c-common.c: Include output.h.
3280 (check_format_info): Remove unused variable `integral_format'.
3281
3282 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
3283 `indent' with ATTRIBUTE_UNUSED.
3284 (print_lang_type): Likewise.
3285 (maybe_build_cleanup): Likewise for parameter `decl'.
3286 (copy_lang_decl): Likewise for parameter `node'.
3287
3288 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
3289 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3290 with ATTRIBUTE_UNUSED.
3291 (lookup_interface): Likewise for parameter `arg'.
3292 (is_class_name): Likewise.
3293 (maybe_objc_check_decl): Likewise for parameter `decl'.
3294 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
3295 `reflexive'.
3296 (maybe_objc_method_name): Likewise for parameter `decl'.
3297 (build_objc_string): Likewise for parameters `len' and `str'.
3298
3299 * c-lex.c: Include output.h.
3300
3301 * c-lex.h (position_after_white_space): Correct typo in prototype.
3302
3303 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
3304 c_expand_end_cond, init_iterators): Add prototypes.
3305
3306 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
3307 with ATTRIBUTE_UNUSED.
3308
3309 * calls.c: Include output.h.
3310
3311 * cccp.c (pipe_closed): Mark parameter `signo' with
3312 ATTRIBUTE_UNUSED.
3313
3314 * combine.c: Move inclusion of expr.h to after insn-config.h.
3315
3316 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
3317 as empty, rather define as ((void)0).
3318
3319 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
3320 Add parentheses around assignment used as truth value.
3321
3322 * cplus-dem.c (squangle_mop_up): Change return type to void.
3323 (internal_cplus_demangle): Remove unused parameter `options'.
3324 All callers changed.
3325 (cplus_demangle_opname): Remove function wide variable `int i' and
3326 replace with `size_t i' at each location where it is used.
3327 (cplus_demangle_opname): change type of `i' from int to size_t.
3328
3329 * cppexp.c (right_shift): Mark parameter `pfile' with
3330 ATTRIBUTE_UNUSED.
3331
3332 * cpphash.c (cpp_lookup): Likewise.
3333 (cpp_hash_cleanup): Likewise.
3334
3335 * cpplib.c (parse_name): Add a prototype and make it static.
3336 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
3337 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
3338 (macro_cleanup): Likewise for parameter `pfile'.
3339 (file_cleanup): Likewise.
3340
3341 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
3342 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
3343
3344 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
3345 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
3346
3347 * cse.c (cse_check_loop_start): Mark parameter `set' with
3348 ATTRIBUTE_UNUSED.
3349
3350 * dbxout.c (flag_minimal_debug, have_used_extensions,
3351 source_label_number): Move inside macro wrapper check against
3352 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
3353
3354 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
3355
3356 * except.h (doing_eh): Provide prototype.
3357
3358 * expr.c: Move inclusion of expr.h to after insn-config.h.
3359
3360 * final.c: Include reload.h.
3361 (shorten_branches): Cast the first argument of bzero to char *.
3362
3363 * fix-header.c (cpp_print_containing_files): Mark parameter
3364 `pfile' with ATTRIBUTE_UNUSED.
3365 (cpp_fatal): Likewise.
3366
3367 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
3368 to char *.
3369
3370 * genattrtab.c (make_length_attrs): Change the type of variable
3371 `i' from int to size_t.
3372 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
3373 (one_fn): Likewise.
9b91d8f4 3374
63e76c87
KG
3375 * genextract.c (main): When generating insn-extract.c, mark
3376 variable `junk' with ATTRIBUTE_UNUSED.
3377
3378 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
3379 argument of bzero to char*.
3380
3381 * integrate.c: Include toplev.h.
3382
3383 * libgcc2.c: Wrap `struct exception_table' and
3384 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
3385
3386 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
9b91d8f4 3387
63e76c87
KG
3388 * objc/objc-act.c: Include toplev.h.
3389 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3390 with ATTRIBUTE_UNUSED.
3391 (finish_protocol): Likewise for parameter `protocol'.
3392
3393 * output.h (declare_weak): Add prototype.
3394 (decode_reg_name): Don't wrap with TREE_CODE macro.
3395 (assemble_alias): Add prototype.
3396
3397 * regclass.c: Include output.h.
3398
3399 * reload.h (reloads_conflict): Add prototype.
3400
3401 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
3402 output_func_start_profiler): Add prototypes.
3403
3404 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
3405 ATTRIBUTE_UNUSED.
3406
3407 * scan-decls.c: Include scan.h.
3408
3409 * scan.h (recognized_function, recognized_extern): Add prototypes.
3410
3411 * stmt.c: Include output.h.
3412
3413 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
3414 (output_lang_identify): Hide prototype and definition.
3415 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
3416 (pipe_closed): Likewise.
3417
3418 * toplev.h (count_error, strip_off_ending, error_for_asm,
3419 warning_for_asm): Add prototypes.
3420
a494747c 3421Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
a494747c 3422
32e705c4
MM
3423 * toplev.c (rest_of_compilation): "Charge" final for any time
3424 doing various cleanup operations after finishing compilation
3425 of a function.
3426
9b91d8f4 3427 * flow.c (dump_flow_info): Also print number of sets and
6fc4610b
MM
3428 whether or not the pseudo is a user variable.
3429
a494747c
MM
3430 * flow.c (reg_n_max): New global variable.
3431 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
3432 Delete regno_max variable.
3433 * regs.h (REG_N_CHECK): Define.
3434 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
3435 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
3436 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
3437
21622caf
JL
3438Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
3439
3440 * acconfig.h (ENABLE_CHECKING): Undefine.
3441 * configure.in (--enable-checking): New option.
3442
d668e863
R
3443Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3444
3445 * reload1.c (merge_assigned_reloads): Can merge
3446 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
3447 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
3448
b706d7f2
JW
3449Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
3450
3451 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
3452
4117a96b
R
3453Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3454
3455 * reload1.c (gen_reload): Create REG_EQUIV notes.
3456
4d3eb414
R
3457Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3458
3459 * reload1.c (reload): Fix check for USEs to use code of pattern.
3460 (choose_reload_regs): Remove dead variable use_insn.
3461
b10c8966
JL
3462Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
3463
9b91d8f4 3464 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
b10c8966 3465
cbb13457
MM
3466Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
3467
3468 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
3469 already defined.
3470 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
3471 (insn_{unit,issue_delay}): Ditto.
3472 (blockage_range): Ditto.
3473 (actual_hazard{,_this_instance}): Ditto.
3474 (schedule_unit): Ditto.
3475 (potential_hazard): Ditto.
3476 (insn_cost): Ditto.
3477 (swap_sort): Ditto.
3478 (queue_insn): Ditto.
3479 (birthing_insn_p): Ditto.
3480 (adjust_priority): Ditto.
3481 (get_block_head_tail): Ditto.
3482 (init_rgn_data_dependences): Ditto.
3483
1478d88a
KK
3484Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
3485
3486 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
3487
a688e0b7
GK
3488Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
3489
3490 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
3491
ec350bdd
GK
3492Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
3493
3494 * config/mips/mips.md (dslot): Move after definition of "cpu"
3495 attribute. Handle r3900 case.
3496
d4ba0ead
KG
3497Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3498
3499 * system.h: Define the STRINGIFY macro here.
3500 * protoize.c: Not here.
3501 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
3502
8a198bd2
JW
3503Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
3504
9b91d8f4 3505 * varasm.c (assemble_variable): Compute the alignment of the data
8a198bd2
JW
3506 earlier so that both initialized and uninitialized variables are
3507 effected by DATA_ALIGNMENT.
3508 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
3509
eace3df1
JL
3510Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
3511
3512 * mips.c: Prototype static functions.
3513
a9e95099
JW
3514Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
3515
b1a7d591
JW
3516 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
3517 Add explanatory comments.
3518
a9e95099
JW
3519 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
3520
0f177d7c
RH
3521Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
3522
3523 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
3524
28233641
JW
3525Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
3526
3527 * varasm.c (make_decl_rtl): Disable April 1 change.
3528
e55a5ea6
RH
3529Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
3530
3531 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
3532
e83015a9
RH
3533Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
3534
3535 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
3536 * alpha.c (print_operand): Handle it.
9b91d8f4 3537 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
e83015a9
RH
3538 related define_splits. Also add peepholes for SImode reload
3539 plus sign_extend lossage.
3540
320e7c40
KG
3541Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3542
3543 * genattr.c: Include stdarg.h/varargs.h. Change function
3544 `fatal' to use variable arguments instead of faking it with
3545 integer parameters. Provide a prototype which also
3546 checks the format specifiers using ATTRIBUTE_PRINTF_1.
3547
3548 * genattrtab.c: Likewise.
3549 * gencodes.c: Likewise.
3550 * genconfig.c: Likewise.
3551 * genemit.c: Likewise.
3552 * genextract.c: Likewise.
3553 * genflags.c: Likewise.
3554 * genopinit.c: Likewise.
3555 * genpeep.c: Likewise.
3556 * genrecog.c: Likewise.
3557 * genoutput.c: Likewise. Similarly for function `error'.
3558
e9b4fabf
JL
3559Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3560
3561 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
3562 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
3563 * configure.in: Use GCC_C_VOLATILE.
3564 * system.h (volatile): Define as empty if no volatile support is
3565 available.
3566
3567Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
3568
3569 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
3570 generated fucntion.
3571
f283421d
RH
3572Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
3573
3574 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
3575 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
3576 the body of beq; additionally set the mode of the branch to CCmode for
9b91d8f4 3577 FP compares and not fast_math.
f283421d
RH
3578 (alpha_emit_conditional_move): Always use a compare insn for FP
3579 when not fast_math, as well as setting CCmode on the cmov.
3580 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
3581
3582 * machmode.h (COMPLEX_MODE_P): New macro.
3583
53c0919d
RH
3584Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
3585
3586 * haifa-sched.c (print_exp): Fix typo.
3587
23d297ab
JL
3588Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
3589
3590 * version.c: Bump for snapshot.
3591
cf879efa
MM
3592Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
3593
3594 * final.c (final_scan_insn): Call fatal_insn instead of abort if
3595 we could not split an insn when required to.
3596
5b8ae21f
MM
3597 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
3598 level insns.
3599 (peepholes): Disable peepholes that call dead_or_set_p.
3600 (movsi): Rewrite to handle addresses better after last change.
3601 Add define_split to split load of addresses in large/medium modes.
3602 (prologue): Call m32r_expand_prologue.
3603 (movsi_{push,pop}): Generators for push/pop.
3604 (movsi): Support PRE_{INC,DEC}, POST_INC.
3605 (mov{di,df}): Rewrite. Always split the insns.
3606 (movsf): Add define_split to get register load in correct mode.
3607 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
3608 (attributes): Rewrite attributes so that type indicates both the
3609 type and the length of the insn directly.
3610 (all insns): Change to use new type attributes.
3611 (debug): New attribute to convey whether -mdebug was used.
3612 (opt_space): New attribute to convey whether -Os was used.
3613 (function units): Loads are 3 cycles, not 2. Better classify all
3614 insns into short/long.
3615 (load/store/extend insns): Add separate case for load/store
3616 indirect operations without an offset.
3617 (divsi3): Division is a long operation, not short.
3618
3619 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
3620 modes > 1 word.
3621 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
3622 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
3623 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
3624 operands with PRE_{INC,DEC}, POST_INC.
3625 (FUNCTION_PROFILER): Call abort instead of doing nothing.
3626 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
3627 SImode variables.
3628 (gen_split_move_double): Declare.
3629 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
3630
3631 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
3632 emit_move_insn, build up SET's directly.
3633 (toplevel): Include system.h, not stdio.h.
3634 (move_double_src_operand): Allow any DF or DI mode constant.
3635 (gen_split_move_double): Split moves of DI or DF values into the
3636 appropriate moves, loads, or stores. Don't handle use of auto
3637 inc/dec if using dead index. Do handle overlapping moves, etc.
3638 (m32r_frame_info): Remove prologue_size field.
3639 (m32r_compute_frame_size): Don't calculate prologue size.
3640 (m32r_output_function_prologue): Change to pretty much a NOP.
3641 (m32r_expand_prologue): Expand prologue as a series of INSNs.
3642 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
3643 (m32r_print_operand_address): Ditto.
9b91d8f4 3644
d7c2e385
L
3645Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
3646
3647 * reload1.c (emit_reload_insns): When performing expensive
3648 optimizations, do not output the last reload insn if OLD is
3649 not the dest of NSN and is in the src and is clobbered by INSN.
3650
560bd19e
KG
3651Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3652
3653 * Makefile.in (genrtl.o): Depend on system.h.
3654 * gengenrtl.c (gencode): When creating genrtl.c, have it
3655 include system.h.
3656
0d33d22e
AS
3657Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3658
3659 * config/m68k/t-linux: Remove extra stuff already included in
3660 config/t-linux.
3661
dea4ae0d
MH
3662Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
3663
3664 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
3665 curses.h if it contains `typedef char bool;', as suggested by
3666 Manfred Hollstein <manfred@s-direktnet.de>.
3667
3668 * configure.in: Rename fixinc.math to fixinc.wrap.
3669
02e56202
JW
3670Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
3671
bbeb7b65
JW
3672 * gcc.c (read_specs): Handle missing blank line at end of specs file.
3673
02e56202
JW
3674 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
3675 movdfcc_1): Disable.
3676
e445171e
JW
3677Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
3678
3679 * configure.in (enable_threads): Rename to enable_threads_flag before
3680 main loop. Set enable_threads to enable_threads_flag inside main
3681 loop.
3682
a1b5a7e1
MM
3683Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
3684
3685 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
3686 multiple times.
3687
76b4b31e
KG
3688Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3689
3690 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
9b91d8f4 3691
76b4b31e
KG
3692 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
3693 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
3694 (AC_CHECK_FUNCS): Remove unused check for vprintf.
9b91d8f4 3695
76b4b31e
KG
3696 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
3697 (cccp.o): Depend on gansidecl.h.
3698 (cexp.o): Likewise.
3699
3700 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
3701 per the rest of gcc source.
3702 * cexp.y: Likewise. Include gansidecl.h and remove all code made
3703 redundant.
3704
3705 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
3706 used when vfprintf is missing.
3707 * cexp.y: Likewise.
3708 * gcc.c: Likewise.
3709 * genattrtab.c: Likewise.
3710 * mips-tfile.c: Likewise.
3711 * toplev.c: Likewise.
3712
3713 * vfprintf.c: New file.
3714 * doprint.c: New file.
3715
bebc4663
JL
3716Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
3717
3718 * config/linux.h (ASM_COMMENT_START): Remove from here,
3719 * config/linux-aout.h (ASM_COMMENT_START): and here,
3720 * config/i386/linux.h (ASM_COMMENT_START): to here,
3721 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
3722 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
3723 here as '#' too.
3724
436bf9fb
AS
3725Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3726
3727 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
9b91d8f4 3728 constant.
436bf9fb 3729
f103890b
RL
3730Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
3731
3732 * Makefile.in (dwarfout.o) Add toplev.h dependency.
3733 * dwarfout.c, i386.c: Include toplev.h
3734 * toplev.h: (pfatal_with_name) Add prototype.
3735
024b5658
JM
3736Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
3737
3738 * Makefile.in: Fix .SUFFIXES.
3739
410c3875
AM
3740Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
3741
3742 * config/linux.h (ASM_COMMENT_START): Define as "#".
3743 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
3744
7e073314
JW
3745Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
3746
71ebb3b8
JW
3747 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
3748 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
3749
a0c8e1b2
JW
3750 * toplev.c: Include toplev.h.
3751 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
3752 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
3753 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
3754 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
3755 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
3756 toplev.h dependency.
9b91d8f4 3757
1b15c5de
JW
3758 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
3759 HARD_FRAME_POINTER_REGNUM.
3760
7e073314
JW
3761 * expr.c (target_temp_slot_level): Delete duplicate definition.
3762
d06eab0d
JL
3763Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
3764
df03cab5 3765 * stmt.c (mark_seen_cases): Make it have external linkage again.
0586a4ce
JL
3766 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
3767 has been included.
df03cab5 3768
6b879bcc
JL
3769 * haifa-sched.c (print_value, case SUBREG): Fix typo.
3770
6b28fd63
JL
3771 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
3772 * i386.h (REG_CLASS_CONTENTS): Similarly.
3773
cc132865
JL
3774 * toplev.c (-fsched-max): Delete flag.
3775 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
3776 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
3777 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
3778 conditionals.
3779
3780 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
3781 inner loops which are not reducible.
3782
fd4a1ca5
JL
3783 * loop.c (regs_match_p): Fix typo in prototype.
3784
d06eab0d
JL
3785 * regmove.c (try_auto_increment): Wrap declaration inside an
3786 #ifdef AUTO_INC_DEC.
3787
31bfbf1f
MM
3788Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
3789
3790 * final.c (output_operand_lossage): Call fatal with the operand
3791 lossage message instead of calling abort.
3792
e9a780ec
KG
3793Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3794
3795 * c-common.c: Convert to using ctype macros defined in system.h.
3796 * c-lex.c: Likewise.
3797 * cccp.c: Likewise.
3798 * collect2.c: Likewise.
3799 * rs6000.c: Likewise.
3800 * cpplib.c: Likewise.
3801 * fix-header.c: Likewise.
3802 * gcc.c: Likewise.
3803 * gen-protos.c: Likewise.
3804 * pexecute.c: Likewise.
3805 * protoize.c: Likewise.
3806 * rtl.c: Likewise.
3807 * scan.c: Likewise.
3808 * stmt.c: Likewise.
3809 * tlink.c: Likewise.
9b91d8f4 3810 * toplev.c: Likewise.
e9a780ec 3811
d4c3e60e
GK
3812Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
3813
9b91d8f4 3814 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
d4c3e60e
GK
3815 Replace -gdwarf-2 with -g0.
3816
90fbb8c9
KG
3817Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3818
3819 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
3820 * mips-tdump.c: Include system.h, remove redundant headers.
3821 * mips-tfile.c: Likewise. Also, convert all ctype function calls
3822 to calls of the macro versions defined in system.h.
3823
3824 * objc/Make-lang.in (objc-act.o): Depend on system.h.
3825 * objc/objc-act.c: Include system.h, remove redundant headers.
3826
8f81384f
KG
3827Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3828
3829 * configure.in (AC_CHECK_FUNCS): Add isascii.
3830 (GCC_NEED_DECLARATIONS): Add atof.
3831
3832 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
3833 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
3834
e572c0c6
KG
3835Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3836
3837 * system.h: Wrap time.h and sys/file.h in autoconf checks.
3838 Provide default definitions for O_RDONLY and O_WRONLY here.
3839
3840 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
3841
8830da36
MM
38421998-05-06 Mark Mitchell <mmitchell@usa.net>
3843
3844 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
3845
c5ff95e6
RL
3846Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
3847
3848 * toplev.h: New file. Protypes for functions in toplev.c.
3849 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
9b91d8f4
UD
3850 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
3851 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
3852 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
3853 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
3854 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
c5ff95e6
RL
3855 varasm.c: include it.
3856
15ebe47d
JL
3857Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
3858 Jim Wilson (wilson@cygnus.com)
3859
3860 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
3861 blocks. Check for 1 successor which is the EXIT_BLOCK.
3862
3863 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
3864 unreachable loops with more than one block.
3865
dbbfa8c8
MH
3866Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
3867
3868 * fix-header.c (write_rbrac): Add "abort" to functions which need to
3869 be protected.
3870
f5963e61
JL
3871Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
3872
3873 * Check in merge from gcc2. See ChangeLog.12 for details.
3874
3d90c2b5
JW
3875Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
3876
c6a9dea8
JW
3877 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
3878 accept 'a' flag. 'S' does accept 'a' flag.
3879 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
3880 and `a' flag.
3881
3d90c2b5
JW
3882 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
3883
97b57a81
AS
3884Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3885
3886 * config/m68k/m68k.h: Declare functions from m68k.c used in
3887 macros and machine description.
3888 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
3889 long values.
3890 (ASM_OUTPUT_FLOAT): Likewise.
3891 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3892
c5c63738
JM
3893Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
3894
3895 * tree.def: Add NAMESPACE_DECL.
3896 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
3897 * dwarf2out.c (push_decl_scope): Likewise.
3898 (scope_die_for): Likewise.
3899 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
3900 how to get next context level.
3901
2e14a41b
JW
3902Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
3903
3904 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
3905 case.
3906
f78c792c
JL
3907Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
3908
8b05263d
JL
3909 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
3910
f78c792c
JL
3911 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
3912 for any insns skipped at the start of a block because they were
3913 redundant.
3914
4330b0e7
JW
3915Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
3916
3917 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
3918
b57062ca
UD
39191998-05-04 Ulrich Drepper <drepper@cygnus.com>
3920
3921 * c-common.c (format_char_info): Add new field hhlen.
3922 (print_char_table, scan_char_table, time_char_table): Initialize
3923 hhlen field appropriately.
3924 (char_format_info): Recognize hh modifier and lookup correct char
3925 table entry.
3926
06eaa86f
JW
3927Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
3928
3929 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
3930 reference if this is a store.
3931
9ed5dc54
RH
3932Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
3933
3934 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
3935
fb6d9312
RL
3936Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
3937
3938 Make UnixWare 7 bootstrap support work with final shipping product.
b57062ca 3939 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
fb6d9312
RL
3940 Pick up xm-siglist and xm-alloca.
3941 (xm_defines): Add USG so dbxout will build.
3942 * configure: Regenerate.
3943
b53beeb2 3944Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
82d6b402
RH
3945
3946 Support for official Sparc V9 ABI:
3947 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
3948 Care for flag_pcc_struct_return default.
3949 (output_move_quad): Rewrite to move by halves on v9 and in the
3950 proper direction.
3951 (move_quad_direction): New function.
3952 (output_fp_move_quad): Use it to determine the direction of copy.
3953 (function_arg_slotno): Return -1 for FP reg overflow as well.
3954 (function_arg_record_value*): New functions.
3955 (function_arg): Use them. Streamline unprototyped parameter passing.
3956 (function_arg_pass_by_reference): Pass TCmode by reference.
3957 (function_value): New function.
3958 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
3959 long long in 64-bit mode.
3960 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
3961 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
3962 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
3963 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
3964 (BASE_INCOMING_ARG_REG): Likewise.
3965 (FUNCTION_VALUE): Call function_value.
3966 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
3967 * sparc.md (movdi_sp32_v9): Disable for arch64.
3968 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
3969 (call_value_address_sp64): Remove register class constraints.
3970 (call_value_symbolic_sp64): Likewise.
3971 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
3972 v9 case to 32-bit constants.
3973 (goto_handler_and_restore_v9): Provide a version for arch64.
3974 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
3975 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
3976 (CPP_PREDEFINES): New.
3977 * sparc/sp64-elf.h: Likewise.
3978 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
3979 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
3980 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
3981
e40abc32
JL
3982Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
3983
3984 * version.c: Bump for snapshot.
3985
b60a8416
R
3986Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3987
3988 * reload.c (find_reloads): Emit USEs to mark where a pseudo
1e89ac8a 3989 is reloaded with the MEM of its stack slot.
b60a8416
R
3990 * reload1.c (cannot_omit_stores): Delete.
3991 (reload): Don't initialize it.
3992 Don't apply avoid_return_reg logic to USEs.
3993 When done, remove USEs that have a REG_EQUAL note on them.
3994 (emit_reload_insns): Handle case where we have inherited a MEM.
4d3eb414 3995 (choose_reload_regs): Likewise.
b60a8416
R
3996 (delete_output_reload): Don't use cannot_omit_stores.
3997
c1879238
JW
3998Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
3999
4000 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
4001
459b3825
MM
4002Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
4003
4004 * haifa-sched.c (print_{exp,value}): Various changes to make the
4005 debug output easier to read. Also, use only one buffer, and make
4006 sure the buffer we are passed in doesn't overflow.
4007 (safe_concat): Concatenate to a buffer without overflow.
4008
3fe4d12a 4009Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
459b3825
MM
4010
4011 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
4012 with the prototype.
b57062ca 4013
93da030f
R
4014Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4015
4016 * sched.c (new_insn_dead_notes): Check if the register was
4017 used in the original instruction.
4018 * haifa-sched.c (new_insn_dead_notes): Likewise.
4019
0c84c618
JW
4020Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
4021
4022 * dwarf2out.c (scope_die_for): If could not find proper scope,
4023 check for and handle tagged type with incorrect TYPE_CONTEXT.
4024
bf5f0e90
JC
4025Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
4026
4027 * calls.c (expand_call): Fix recognition of C++ operator new.
4028
4029 * alias.c (mode_alias_check): Disable type based alias detection.
4030
a0281dae
GK
4031Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
4032
4033 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
4034 ASM_OUTPUT_WEAK_ALIAS): Define.
4035 * config/mips/elf64.h: Same.
4036 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
4037 ASM_WEAKEN_LABEL): Removed.
4038
55666054
AS
4039Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4040
4041 * calls.c (expand_call): Bump the length limit on the specially
4042 recognized function names to 17.
4043
2cea586a
JW
4044Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
4045
f60d6248
JW
4046 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
4047 when undefining macros at the end.
4048
bf931ec8
JW
4049 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
4050 val or len has TREE_SIDE_EFFECTS set.
4051
2cea586a
JW
4052 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
4053 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
4054 (smuldi3_highpart): Call const v8plus routine.
4055 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
4056 (const_smulsi3_highpart_v8plus): New pattern.
4057 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
4058 (umulsidi3): Call const v8plus routine.
4059 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
4060 routine.
4061 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
4062 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
4063
2b7972b0
MM
4064Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
4065
4066 * m32r.c (*_oper{and|ator}): Change enum arguments and return
4067 values to int, so they can be prototyped even in files that don't
4068 include rtl.h.
4069 ({small,large}_insn_p): Ditto.
4070 (m32r_select_cc_mode): Ditto.
4071 (gen_compare): Ditto.
4072 (function_arg_partial_nregs): Ditto.
4073 (m32r_setup_incoming_varargs): Ditto.
4074 (init_reg_tables): Add prototype.
4075 (m32r_frame_info): Add prolog_size field.
4076 (m32r_compute_frame_size): Calculate the size of the prologue.
4077 (m32r_first_insn_address): Return prologue size.
4078 (m32r_output_function_prologue): Calculate frame size before
4079 printing out information. Print out the prologue size.
4080
4081 * m32r.h: Prototype all functions in m32r.c.
4082 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
4083
4084 * m32r.md (bcc functions): Cast enum's to int.
4085
4086 * m32r.c (conditional_move_operand): Silence a debug message.
4087 ({small,long}_insn): New predicates.
b57062ca 4088
2b7972b0
MM
4089 * m32r.h (TARGET_M32R): New macro.
4090 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
4091 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
4092 was selected.
4093 (ISSUE_RATE): Define as 2.
4094
4095 * m32r.md (insn_size): New attribute.
4096 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
4097 short.
4098 (m32r): New attribute.
4099
4100 * configure.in (enable_haifa): Switch m32r to Haifa by default.
4101 * configure: Regenerate.
4102
4103 (Changes from Nick Clifton <nickc@cygnus.com>)
4104 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
4105 the equivalent of a negated 'I' constraint.
4106 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
4107 optimisation to work.
4108
4109 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
4110 than 'I' since the value is negated.
4111 (peephole): Add peephole optimisation to cope with optimization of
4112 divide and subtracts of the same operands.
4113
4114 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
b57062ca 4115 * m32r.h: Ditto.
2b7972b0
MM
4116 * m32r.md: Ditto.
4117
4118 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
4119 predicates.
4120
bd55c374
MH
4121Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
4122
4123 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
4124
3a6bd8c0
NC
4125Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
4126
4127 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
4128 frame_pointer_rtx not FRAME_POINTER_REGNUM.
4129
0628fde6
JW
4130Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
4131
561cf7b1
JW
4132 * reg-stack.c: Revert last patch (Apr 20).
4133 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
4134
1688d6d2
JW
4135 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
4136
0628fde6
JW
4137 * loop.c (check_dbra_loop): New locals jump, first_compare, and
4138 compare_and_branch. Call get_condition to set first_compare.
4139 Set compare_and_branch to number of compare/branch instructions.
4140 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
4141 Replace '2' with compare_and_branch.
4142
07623417
AM
4143Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4144
4145 * cplus-dem.c (demangle_qualified): Replace missing else.
4146
97d6fd65
R
4147Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4148
4149 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
4150
3d5a0820
R
4151Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4152
4153 * sh.c (sh_expand_prologue, sh_expand_epilogue):
4154 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
4155 * sh.h (STACK_BOUNDARY): Likewise.
4156
ef41dabb
R
4157Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4158
4159 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4160
14bf4a33
MM
4161Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
4162
22c4957e
MM
4163 * system.h (abort): If abort is not defined, and neither is
4164 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
4165 reporting the line and filename of the error.
4166
4167 * .gdbinit: Add breakpoints on exit and fancy_abort.
4168
563c063f
MM
4169 * final.c (split_double): Avoid a compiler warning if
4170 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
4171
14bf4a33
MM
4172 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
4173 for calling jump_optimize.
4174
4175 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
4176 macros, rather than 0/1's.
4177
5d02ee66
RH
4178Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
4179
4180 * alpha.h (CONST_COSTS): Zero is always free.
4181 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
4182
7bf40741
AS
4183Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4184
4185 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
4186 length in the name of a virtual table.
4187
556ccd9b
RH
4188Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
4189
4190 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
4191
1206d294
JL
4192Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
4193
4194 * version.c: Bump for snapshot.
4195
4f242db3
JL
4196Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
4197
4198 * fold-const.c (fold_convert): Fix typo.
4199
de12be17
JC
4200Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
4201
4202 * alias.c (alias_invariant): New variable.
4203 (record_base_value): New argument INVARIANT.
4204 (memrefs_conflict_p): If a register has an entry in the alias_invariant
4205 array, try substituting that value for the register.
4206
4207 * rtl.h: Declare record_base_value.
4208
4209 * loop.c, unroll.c: Update callers of record_base_value.
4210
4211 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
4212 ZERO_EXTEND do not affect base values.
4213
fe81dd69
JL
4214Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
4215
fb2c5c00
JL
4216 * dbxout.c (dbxout_type): Fix typo.
4217 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
4218
fe81dd69
JL
4219 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
4220
87d1ea79
JC
4221Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
4222
4223 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
4224 if the argument is the address of a structure or array.
4225
4226 * configure.in: Enable Haifa scheduler by default for SPARC.
4227
e89d3e6f
R
4228Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4229
4230 * cse.c (cse_set_around_loop): Don't do optimization when
4231 new pseudos are created.
4232
442f4018
JL
4233Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
4234
4235 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
4236 appropriately.
4237 (dbxout_type_method_1, dbxout_type): Likewise.
4238 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
4239 (dbxout_type): Fix check for when to print a type range in
4240 octal vs decimal.
4241
7174c937
R
4242Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4243
4244 * (gen_shl_and, in case 1): Fix comparison with mask.
4245
0b812758
NC
4246Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
4247
4248 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
4249 pointer as second register in REG+REG pair.
4250
753a73c8
KG
4251Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4252
4253 * c-common.c (check_format_info): Don't check for the 'x' format
4254 character twice, instead check for 'x' and 'X'
4255
4a1991b3
MH
4256Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
4257
4258 * Makefile.in (libgcc2.ready): Add explicit dependancy from
4259 $(STMP_FIXPROTO) to ensure all necessary include files have
4260 been created and to guarantee proper parallel builds.
4261
aec373f1
R
4262Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4263
4264 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
4265 register for stdarg functions.
4266 * sh.h (current_function_varargs): Declare.
4267 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
4268
f5880dbe
JW
42691998-04-23 Jim Wilson <wilson@cygnus.com>
4270
f1f53f0b
JW
4271 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
4272 inhibit_libc is defined.
4273
f5880dbe
JW
4274 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
4275
8ade1519
JW
4276Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
4277
4278 * profile.c (tablejump_entry_p): New function.
4279 (branch_prob): Add code to recognize MIPS tablejump entry branch.
4280 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
4281
a2538ff7
NC
4282Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
4283
4284 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
4285 found, rather than at end of the loop, after the insn has been
b57062ca 4286 changed.
a2538ff7 4287
d0c42859
R
4288Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4289
4290 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
4291 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
4292
693e265f
MM
4293Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
4294
4295 * loop.c (note_addr_stored): Correct function to take 2 arguments,
4296 instead of 1.
4297
4298 * rtl.def (MATCH_INSN2): Add new matching pattern.
b57062ca 4299 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
693e265f 4300
27eef9ce
JC
4301Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
4302
4303 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
4304 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
b57062ca 4305
27eef9ce
JC
4306 * final.c (split_double): Sign extend both halves of a split CONST_INT.
4307
d972dd33
JL
4308Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
4309
4310 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
4311
5e5199e8
AM
4312Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4313
4314 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
4315 (cplus_demangle_opname): Call mop_up_squangle.
b57062ca 4316 (cplus_demangle): Initialize squangle info, then call
5e5199e8 4317 internal_cplus_demangle. (Most code moved there as well)
b57062ca 4318 (internal_cplus_demangle): New function, performs most of what use
5e5199e8
AM
4319 to be done in cplus_demangle, but is only called with this file.
4320 (squangle_mop_up): New function to clean up B and K code data.
4321 (mop_up): set pointers to NULL after freeing.
b57062ca 4322 (demangle_signature, demangle_template, demangle_class): Add
5e5199e8
AM
4323 switch elements to handle K and B codes.
4324 (demangle_prefix, gnu_special, demangle_qualified): Add
4325 code to handle K and B codes.
4326 (do_type, demangle_fund_type): Handle B and K codes.
4327 (remember_Ktype): New function to store K info.
4328 (register_Btype, remember_Btype): New functions for B codes.
4329 (forget_B_and_K_types): New function to destroy B and K info.
4330
0dacbd0e
JW
43311998-04-21 Jim Wilson <wilson@cygnus.com>
4332
4333 * stmt.c (check_seenlabel): When search for line number note for
4334 warning, handle case where there is no such note.
4335
4ceb7595
JC
4336Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
4337
4338 * genemit.c (gen_exp): Allow machine description to set mode of
4339 MATCH_OP_DUP.
4340
d09c9385
JC
4341Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
4342
4343 * alias.c (mode_alias_check): New function.
4344 (true_dependence, anti_dependence, output_dependence): Call
4345 mode_alias_check.
4346
1eeed24e
JL
4347Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
4348
d1c17572
JL
4349 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
4350 (MIPS_STACK_ALIGN): Similarly.
4351
a6d7e156
JL
4352 * c-common.c (type_for_mode): Handle TI types.
4353 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
4354 (init_decl_processing): Handle TI types.
4355 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
4356
1eeed24e
JL
4357 * mips.c (block_move_loop): Test Pmode == DImode instead of
4358 TARGET_MIPS64.
4359 (expand_block_move, save_restore_insns): Likewise.
4360 (function_prologue, mips_expand_prologue): Likewise.
4361 (mips_expand_epilogue): Likewise.
4362 * mips.h (POINTER_SIZE): Allow specific targets to override.
4363 (Pmode): Allow specific targets to override.
4364 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
4365 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
4366 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
4367 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
4368 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
4369 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
4370 * mips.md (indirect, tablejump & casesi support): Test for
4371 Pmode == DImode instead of TARGET_MIPS64.
4372 (call patterns): Likewise.
4373
d2f5ef70
KG
4374Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4375
4376 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
4377 for gen_rtx(MEM, ...).
4378
cb85a2f3
RH
4379Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
4380
4381 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
4382 to not be so gross, and to properly function with PIC.
4383
bb27e6c9
JW
4384Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
4385
99b13ed3
JW
4386 * frame.c (heapsort): Rename to frame_heapsort.
4387
bb27e6c9
JW
4388 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
4389
a9a05945
DE
4390Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
4391
4392 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
4393
dc0f0eb8
JW
4394Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
4395
4396 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
4397 operands during and after reload.
4398
95707627
R
4399Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4400
ba70e85a
JR
4401 * final.c (shorten_branches, init_insn_lengths): Move code
4402 to free label_align, uid_shuid, insn_lengths, insn_addresses
4403 and uid_align from the former function into the latter one;
4404 Add code to clear these variables.
4405 * sh.h (label_align): Remove declaration.
95707627 4406
0cd355fe
MM
4407Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
4408
763d7ce8
MM
4409 * gcc.c (lang_specific_driver): Declare prototype properly so
4410 fatal can be passed to it without error.
4411
f55b1ca8
MM
4412 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
4413 * configure: Regenerate.
4414 * config.in: Add #undef's for strchr and strrchr.
4415
4416 * protoize.c (toplevel): If we have rindex, but not strrchr, map
4417 rindex to strrchr.
4418 (file_could_be_converted): Use strrchr, not rindex since rindex is
4419 not defined on Linux systems when _POSIX_SOURCE is defined.
4420 (file_normally_convertible): Ditto.
4421 (process_aux_info_file): Ditto.
4422 (main): Ditto.
4423
0cd355fe
MM
4424 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
4425 a constant to an integer register, don't split the insns that do
4426 the simple AND and OR operations, rather just split each word, and
4427 let the normal movsi define split handle it further.
4428
a0798779
R
4429Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4430
4431 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
4432 (split_branches): Call init_insn_lengths.
4433
ced8dd8c
MM
4434Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
4435
4436 * i386.c: Include expr.h to get the change_address prototype
4437 declared.
b57062ca 4438
f37eb5cb
L
4439Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
4440
4441 * reg-stack.c (subst_asm_stack_regs): Change to return the last
4442 new insn generated by this function.
4443 (subst_stack_regs): Likewise.
4444 (convert_regs): Record the last newly generated insn and use
4445 it for change_stack () instead of INSN.
4446
49fb8382
MH
4447Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
4448
4449 * fix-header.c (enum special_file): Undefine enumerators if they
4450 are already defined by include files.
4451 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
4452 macro with '__' to not pollute user namespace.
4453
c6a754f2
RH
4454Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
4455
4456 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
4457
399cc148
JL
4458Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
4459
4460 * version.c: Bump for snapshot.
4461
84b77fba
JW
4462Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
4463
07415a17
JL
4464 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
4465
84b77fba
JW
4466 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
4467 Add missing -Dpentium* options.
4468 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
4469 instead of CPP_CPU_DEFAULT.
4470 (EXTRA_SPECS): Add entry for cpp_cpu_default.
4471
db72d7a1
DE
4472Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
4473
4474 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
4475 negative in a stackless frame.
4476 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
4477 in stackless frame size. Support 64-bit stackless frame size.
4478 Combine fpmem offset calculations and don't add total_size to
4479 offset if not pushing a stack frame.
4480
a1ecb5ca
JW
4481Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
4482
4483 * regmove.c (fixup_match_1): In three places, in flag_exceptions
4484 check, change p to q.
4485
a2a05b0a
JW
4486Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
4487
4488 * gcc.c (lang_specific_driver): Add new parm type to prototype.
4489 (added_libraries): New file scope static variable.
4490 (process_command): Initialize added_libraries. Pass it to
4491 lang_specific_driver.
4492 (main): Use added_libraries in check for no input files.
b57062ca 4493
284d86e9
JC
4494Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
4495
4496 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
4497 code generation. Use 64 bit instructions in 32 bit mode when
4498 possible. Use V9 return instruction. UltraSPARC optimizations.
4499
4500 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
4501
43be8193
JL
4502Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
4503
ea8693a4
JL
4504 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
4505 just pass zero. That will work regardless of the size of HARD_REG_SET.
4506
43be8193
JL
4507 * libgcc2.c (__floatdisf): Fix a couple typos.
4508
45df6aea
JW
4509Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
4510
4511 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
4512
6cca74ab
GM
4513Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
4514
4515 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
4516
77e6b0eb
JC
4517Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
4518
4519 * emit-rtl.c (operand_subword_force): If a register can not be
4520 accessed by words, copy it to a pseudo register.
4521
27f4cfdb
JW
4522Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
4523
4524 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
4525
f4a73984
MM
4526Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
4527
4528 * tree.h (mark_seen_cases): Delete declaration.
4529
00769100
JL
4530Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
4531
4532 * stmt.c (mark_seen_cases): Make static and add prototype.
4533
2467749d
KG
4534Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4535
4536 * frame.c: Include stdlib.h and unistd.h to possibly get various
4537 function prototypes. The fixproto script guarantees these header
4538 files exist on the target system.
4539 * libgcc2.c: Likewise.
b57062ca 4540
2467749d
KG
4541 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
4542 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
4543 function parameters.
4544 * libgcc2.c (__udiv_w_sdiv): Likewise.
4545
74c5186c
JL
4546Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
4547
ac546323
JL
4548 * varasm.c (asm_output_bss): Add prototype.
4549 (asm_output_aligned_bss): Likewise.
4550
4551 * unroll.c (verify_addresses): Add prototype.
4552
4553 * toplev.c: Add many prototypes. Too many to mention here.
4554
4555 * stmt.c (check_seenlabel): Add prototype.
4556
4557 * rtlanal.c (reg_set_p_1): Add prototype.
4558 (reg_set_last_1): Likewise.
4559
4560 * reorg.c (find_dead_or_set_registers): Add prototype.
b57062ca 4561
ac546323
JL
4562 * regmove (try_auto_increment): Add prototype.
4563
4564 * reg-stack.c (pop_stack): Add prototype.
4565
4566 * recog.c (validate_replace_rtx_1): Add prototype.
4567 (find_cosntant_term_loc): Likewise.
4568
a777ae13
JL
4569 * loop.c (regs_patch_p): Add prototype.
4570 (add_label_notes, count_nonfixed_reads): Likewise.
4571 (find_single_use_in_loop): Likewise.
4572 (express_from): Surround prototype with #ifdef.
4573 (giv_sort): Similarly.
4574
4575 * jump.c (mark_modified_reg): Add prototype.
4576
4577 * haifa-sched.c (is_prisky): Add prototype.
4578 (queue_to_ready): Likewise.
4579
4580 * genextract.c (gen_insn): Add prototype.
4581
4582 * genemit.c (max_operand_1): Add prototype.
4583 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
4584 (gen_expand, gen_explit, output_add_clobbers): Likewise.
4585 (output_init_mov_optab): Likewise.
4586
4587 * genattrtab.c (attr_hash_add_rtx): Add prototype.
4588 (attr_hash_add_string, write_length_unit_log): Likewise.
4589
4590 * genattr.c (init_range): Add prototype.
4591
4592 * combine.c (sets_function_arg_p): Add prototype.
4593
4594 * expr.c (store_constructor_field): Add prototype.
4595 (get_memory_usage_from_modifier): Likewise
4596
4597 * expmed.c (synth_mult): Add prototype.
4598 (choose_multiplier, invert_mod2n): Likewise.
4599
242c13b0
JL
4600 * except.c (push_eh_entry): Add prototype.
4601 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
4602 (call_get_eh_context, start_dynamic_cleanup): Likewise.
4603 (start_dynamic_handler, can_throw): Likewise.
4604 (output_exception_table_entry, scan_region): Likewise.
4605 (eh_regs, set_insn_eh_region): Likewise.
4606
1ad4f46b
JL
4607 * dwarfout.c (decl_class_context): Add prototype.
4608 (output_inheritance_die, type_ok_for_scope): Likewise.
4609
e822c593
JL
4610 * c-lex.c (skip_white_space_on_line): Add prototype.
4611
70fec650
JL
4612 * alias.c (record_set): Add prototype.
4613 (find_base_term, base_alias_check): Likewise.
b57062ca 4614
1ac4f799
JL
4615 * function.c (assign_outer_stack_local): Make static and add prototype.
4616
a2e68776
JL
4617 * haifa-sched.c (build_control_flow): Accept raw data as inputs
4618 instead of computing it locally. Callers changed.
4619 (find_rgns): Several new arguments. Callers changed.
4620 Generally clean up and comment better. Use dominators to
4621 identify reducible loops. Convert some flag arrays to bitmaps.
4622 Convert most of the code to work on pred/succ lists instead of
4623 an edge table. Add comments for future improvements.
4624 (schedule_insns): Allocate temporary tables for flow data, call
4625 routines to compute flow data and pass it along to children as
4626 arguments.
4627 (debug_control_flow): Delete. Use dump_bb_data instead.
4628
97b1ef1c
JL
4629 * basic-block.h (compute_dominators): Declare.
4630
74c5186c
JL
4631 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
4632 functions.
4633 * basic-block.h: Declare them.
4634
7ce55772
JW
4635Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
4636
4637 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
4638 no operands.
4639
e88caebd
APB
4640Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
4641
4642 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
4643 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
4644 node is non NULL. Cache last file name and file name identifier node.
4645
a62e870c
MM
46461998-04-15 Mark Mitchell <mmitchell@usa.net>
4647
4648 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
4649 the length of an array, not TREE_TYPE.
4650
5e89e58b
JL
4651Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
4652
4653 * flow.c (sbitmap_union_of_successors): New function.
4654 * basic-block.h (sbitmap_union_of_successors): Declare it.
4655
df6faf79
JW
4656Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
4657
4658 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
4659 Set gnu_ld to gnu_ld_flag inside main loop.
4660 (gas): Likewise.
4661
5c60e5c0
DB
4662Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
4663
4664 * toplev.c (compile_file): Call init_parse using new interface.
4665 (init_lex): Remove declaration.
4666
4667 * c-lex.c (init_parse): Now returns char* containing filename.
4668
2872409d
JL
4669Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
4670
4671 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
4672
4db83042
MM
4673Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
4674
4675 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
4676 (gen{extract,peep,opinit,output}): Ditto.
4677
4678 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
4679 global definition so print-rtl.o can be linked in.
4680 * gen{peep,recog}.c (insn_attr_name): Ditto.
4681
9aeba741
RP
4682Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
4683
4684 * fixincludes: discard empty C++ comments, as found in sys/time.h
4685 on hpux-11.0.
4686
7878eae7
AS
4687Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4688
4689 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
4690 operand.
4691
fcb7cb6c
JL
4692Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
4693
4694 * emit-rtl.c (operand_subword): Rework slightly to avoid
4695 bogus warning from previous change.
4696
47747e53
RH
4697Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
4698
4699 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
4700 Nov 8 find_replacement change. Move decls of get_unaligned_address
4701 * alpha.h: ... here.
4702
8450a694
JC
4703Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
4704
7940255d
JC
4705 * function.c (assign_parms): Initialize unsignedp before passing
4706 its pointer to promote_mode.
4707
8450a694
JC
4708 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
4709 (write_test_expr): Allow MATCH_INSN.
4710
c70afde1
PE
4711Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
4712
4713 * install.texi: Update section on warnings that can be safely ignored.
4714
cf877a42
JW
4715Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
4716
4717 * mips.md (reload_outdi): Change the scratch mode from DImode to
4718 TImode. New variable scratch, used instead of operand[2] in template.
4719 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
4720
996d9dac
MM
4721Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
4722
4723 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
4724
de2d990f
KW
4725Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
4726
4727 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
4728
d5daf098
JL
4729Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
4730
6862dfac
JL
4731 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
4732 (ASM_FINISH_DECLARE_OBJECT): Likewise.
4733
b7cb92ad
JL
4734 * Idea and part of the patch from HJ.
4735 * Makefile.in: auto-host.h renamed from auto-config.h. All references
4736 changed.
4737 (distclean): Remove auto-build.h too.
4738 * configure.in: Rename host autoconf generated file to auto-host.h.
4739 If host != build, then run autoconf to generate auto-build.h for
4740 the build machine and include it in build_xm_files.
4741 Check for wait.h and sys/wait.h.
4742
d5daf098
JL
4743 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
4744 TRULY_NOOP_TRUNCATION.
4745
7d02bbef
JM
4746Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
4747
4748 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
4749
4754172c
CM
4750Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
4751
4752 * invoke.texi (ld options) Include memset requirements
4753 for options -nodstdlib and -nodefaultlibs.
4754
bb72a084
PE
47551998-04-12 Paul Eggert <eggert@twinsun.com>
4756
4757 This change is from an idea suggested by Arthur David Olson.
4758
4759 * c-common.c (decl_attributes, record_function_format,
4760 check_format_info, init_function_format_info):
4761 Add support for strftime format checking.
4762 (enum format_type): New type.
4763 (record_function_format): Now static, and takes value of type
4764 enum format_type instead of int.
4765 (time_char_table): New constant.
4766 (struct function_format_info): format_type member renamed from is_scan.
4767 (check_format_info): Use `warning' rather than sprintf followed by
4768 `warning', to avoid mishandling `%' in warnings.
4769 Change `pedwarn' to `warning', since these warnings do not necessarily
4770 mean the program does not conform to the C Standard, as the code
4771 need not be executed.
4772
4773 * c-tree.h (record_function_format): Remove decl; no longer extern.
4774
4775 * extend.texi: Add documentation for strftime format checking.
4776
1be12a4a
JL
4777Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
4778
71922625
JL
4779 * mips/ecoffl.h: Do not include mips.h.
4780 * mips/elf.h: Likewise.
4781
1be12a4a
JL
4782 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
4783 * mips/ecoff.h: Include "mips/mips.h".
4784
9fe69077
JL
4785Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
4786
4787 * version.c: Bump for snapshot.
4788
c6a26dc4
JL
4789Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
4790
4791 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
4792 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
4793 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
4794 between loop optimization passes.
4795 * rtl.h: Updated appropriately.
4796
bbb81923
JL
4797Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
4798
4799 Reinstall this patch from Jason.
4800 * function.c (push_function_context_to): Don't call init_emit.
4801
29cb1e1f
NC
4802Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
4803
4804 * rtl.c (read_skip_spaces): Prevent infinite loops upon
4805 encountering unterminated comments.
4806
3f518020
JL
4807Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
4808
4809 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
4810 64x32 cross builds.
4b104d6e
JL
4811
4812 * configure.in: Handle --with-fast-fixincludes.
4813 (fixincludes): If --with-fast-fixincludes, then use a different
4814 fixincludes program by default.
4815 * Makefile.in (fixinc.sh): New rule.
4816
b76c90cf
L
4817Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
4818
4819 * i386.md (movqi+1): Handle invalid QI register.
4820 (movsf_push-1): Likewise.
4821
2e076ddf
NC
4822Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
4823
4824 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
4825 addresses.
4826 symbolic_memort_operand(), call32_operand(), int8_operand(),
4827 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
4828 Not used.
4829 uint16_operand(): Made static.
4830
b1d6ccb8
JL
4831Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
4832
4833 * calls.c (expand_call): Fix typo.
4834
e56e519d
DB
4835Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
4836
4837 * c-lex.c (finput): New global.
4838 (init_parse): Always included. Handle !USE_CPPLIB using
4839 code originally in compile_file.
4840 (finish_parse): Update for CPPLIB.
4841 * toplev.c (init_parse, finish_parse): Declare.
4842 (finput): Delete variable. Now in front-ends.
4843 (compile_file): Remove code which is now handled by init_parse
4844 which is unconditionally called. Similarly for finish_parse.
4845
85d7aed9
GK
4846Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
4847
4848 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
4849 ASM_WEAKEN_LABEL): Add.
4850
574badbc
RH
4851Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
4852
4853 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
4854 * configure.in (alpha-*-linux*): Use them.
4855
bf1e5319 4856Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
b57062ca 4857
bf1e5319
APB
4858 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
4859 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
4860 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
4861 (build_expr_wfl): New prototype declaration.
4862 * tree.c (build_expr_wfl): New function, to build
4863 EXPR_WITH_FILE_LOCATION nodes.
4864 (copy_node): Don't zero TREE_CHAIN if copying a
4865 EXPR_WITH_FILE_LOCATION node.
4866 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
4867 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
4868
ee5254ff
JL
4869Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
4870
62db76ee
JL
4871 * configure.in (v850): Use t-v850.
4872 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
4873
10a998b0
JL
4874 * protoize.c (creat, read, write): Do not declare.
4875
e105f02c
JL
4876 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
4877 refer to the CODE_LABEL before a dispatch table.
4878
56b2d7a7
JL
4879 * invoke.texi: Add ARC options.
4880
c74c0cff
JL
4881 * gcc.c (proces_command): Improve error message for -o with
4882 either -c or -S.
4883
2d58da15
JL
4884 * i386/x-cygwin32 (CLIB): Link in advapi32.
4885
40ef2fc5
JL
4886 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
4887 (ASM_IDENTIFY_LANGUAGE): Likewise.
4888
df89b5e7
JL
4889 * i386.md (movqi recognizer): Don't perfom byte increment into
4890 a NON_QI_REG_P.
4891
f09ff199
JL
4892 * configure.in (x86-dg-dgux): Run fixinc.dgux.
4893
df89b5e7 4894 * i370.h: Fix typo in GEN_INT changes.
f962b99f 4895
c3709629
JL
4896 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
4897 of an empty arglist in prototype.
4898
ee5254ff
JL
4899 * Makefile.in: Remove bytecode crud that crept back in after the
4900 gcc2 merge.
4901
0806342b
BK
49021998-04-08 Brendan Kehoe <brendan@cygnus.com>
4903
4904 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
4905 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
4906
6f734908
RE
4907Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
4908
4909 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4910
56c0e996
BS
4911Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
4912
4913 * c-lex.c (is_class_name): Delete declaration.
4914 (whitespace_cr): Make static and add prototype.
4915 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
4916 yylex, get_directive_line): Turn declarations into prototypes.
4917 (position_after_whitespace, check_newline, yyerror,, is_class_name,
4918 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
4919 prototypes.
4920 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
4921 prototypes.
4922 * gencodes.c (gen_insn): Add prototype.
4923 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
4924 gen_peephole): Add prototypes.
4925 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
4926 prototypes.
4927 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
4928 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
4929 genheader, gencode): Add prototypes.
4930 * genopinit.c (gen_insn): Add prototype.
4931 * genoutput.c (output_prologue, output_epilogue, scan_operands,
4932 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
4933 gen_expand, gen_split, n_occurrences): Add prototypes.
4934 * genpeep.c (gen_peephole): Add prototype.
4935 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
4936 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
4937 labels_in_range_p, count_loop_regs_set, note_addr_stored,
4938 loop_reg_used_before_p, scan_loop, replace_call_address,
4939 skip_consec_insns, libcall_benefit, ignore_some_movables,
4940 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
4941 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
4942 check_final_value, record_giv, update_giv_derive, basic_induction_var,
4943 simplify_giv_expr, general_induction_var, consec_sets_giv,
4944 check_dbra_loop, express_from, combine_givs_p, combine_givs,
4945 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
4946 last_use_this_basic_block, record_initial, update_reg_last_use,
4947 iteration_info, analyze_loop_iterations, insert_bct,
4948 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
4949 into prototypes.
4950
cc46ae8e
JL
4951Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
4952
4953 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4954
e7d075bf
KR
49551998-04-07 Ken Raeburn <raeburn@cygnus.com>
4956
4957 * config/mips/mips.c (siginfo): Deleted.
4958 (override_options): Don't install SIGINFO signal handler.
4959
668d07be
JW
4960Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
4961
4962 * loop.c (check_dbra_loop): When normalize comparison_val, add check
4963 to verify it is non-negative.
4964
cd36edbd
RH
4965Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
4966
4967 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
4968 (alpha_expand_block_clear): Likewise.
4969
e814ca97
RH
4970Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
4971
4972 * tree.h (sizetype_tab): Fix previous change for K&R.
4973
f1d9e6d2
JL
4974Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
4975
4976 * version.c: Bump for snapshot.
4977
22ec3928
RE
4978Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
4979
4980 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
4981 Add USG and POSIX to xm_defines.
4982
10da1131
BM
4983Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
4984
4985 * gcc.c: Add linker spec.
4986 (link_command_spec): Use %(linker) instead of ld.
4987 (main): If collect2 is requested as the linker, see if it exists;
4988 if not, use ld instead.
4989
4990 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
4991 (ld:) Deleted.
4992 (install-collect2): Install as collect2, not ld.
4993
4994 * configure.in(will_use_collect2): It's named collect2 now.
4995
4996 * collect2: Remove checks to see if we were invoked recursively.
4997 (collect_execute): Use _spawnvp under cygwin32.
4998
a8afd67b
JW
4999Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
5000
5001 * haifa-sched.c (build_control_flow): Set unreachable for block whose
5002 only predecessor is itself.
5003
944fc8ab
KG
5004Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5005
5006 * c-parse.in: Include system.h, and remove stuff now made redundant.
5007 * cccp.c: Likewise.
5008 * cexp.y: Likewise.
5009 * protoize.c: Likewise. Properly check for cpp stringification.
5010
5011 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
b57062ca 5012 Depend on system.h.
944fc8ab
KG
5013
5014 * objc/Make-lang.in (objc-parse.o): Likewise.
5015
3286ab57
KG
5016Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5017
5018 * gansidecl.h: Check if compiler supports __attribute__. Provide
5019 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
5020 __attribute__ when its available. Also provide definitions for
5021 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
5022 terms of ATTRIBUTE_PRINTF.
b57062ca 5023
3286ab57
KG
5024 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
5025 of __attribute__.
5026
d276f2bb
CM
5027Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
5028
5029 * combine.c (can_combine_p): Include successor in volatile test.
5030
64ad9df2
R
5031Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5032
5033 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
5034 offset_unsigned.
5035
dc544d2c
JL
5036Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
5037
5038 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
5039 in prototype and definition.
b57062ca 5040
38c413cd
JL
5041Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
5042
5043 * version.c: Bump for snapshot.
5044
59dd0a31
RH
5045Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
5046
b57062ca 5047 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
59dd0a31
RH
5048 alpha_expand_unaligned_store_words.
5049
f31fce3f
JW
5050Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
5051
5052 * i386.md (movsf_push, movsf_mem): Remove.
5053 (movsf_push): Rename from movsf_push_nomove and move in front of
5054 movsf. Use nonmemory_operand predicate and don't bother checking
5055 TARGET_MOVE.
5056 (movsf_push_memory): New pattern.
5057 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
5058 both operands refer to memory then force operand[1] into a register.
5059 (movsf_normal): Change to unnamed pattern.
5060 Likewise for movdf, movxf, and friends.
5061
27ebc03e
JL
5062Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
5063
5064 * version.c: Bump for snapshot.
5065
6ecd4e53 5066Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
98bd9f0f 5067
6ecd4e53 5068 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
98bd9f0f 5069
b57062ca 5070Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
ac08ebd0 5071
6ecd4e53 5072 * configure.in (mips-wrs-vxworks): New target.
ac08ebd0 5073
6ecd4e53 5074Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
f4a788ac 5075
f3978531
JL
5076 * expmed.c (synth_mult): The value -1, has no zeros, so it can
5077 never have the form ...011.
5078
f4a788ac
JL
5079 * version.c: Bump for snapshot.
5080
5cb6195d
RH
5081Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
5082
5083 * i386.c (asm_output_function_prefix, load_pic_register):
5084 Use ASM_GENERATE_INTERNAL_LABEL properly.
5085 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
5086 (print_operand): Ignore it.
5087 (load_pic_register): Use it for the got load call.
5088 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
5089 (prologue_get_pc_and_set_got): Likewise.
5090 * i386.h: Update print_operand docs.
5091
ce193852
RH
5092Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
5093
5094 * i386.md (ffssi, ffshi): Rewrite as define_expands.
5095 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
5096 * i386.c (notice_update_cc): Recognize unspec 5.
5097
0022a940
DMT
5098Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
5099
5100 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
5101 * alpha.c (print_operand): Handle it.
5102 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
5103 for ALPHA_TP_INSN.
5104 (fix_truncdfdi2): Likewise.
5105
896cced4
RH
5106Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
5107
5108 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
5109 of these into a single struct, with additional [us]sizetype entries.
5110 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
5111 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
5112 an array.
5113
8983c716
RH
5114Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
5115
5116 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
5117
4ed43ff8
RH
5118Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
5119
5120 * haifa-sched.c (split_block_insns): Don't supress insn splitting
5121 on subsequent passes.
5122
5123 * alpha.c (hard_fp_register_operand): New function.
5124 * alpha.h (PREDICATE_CODES): Add it.
5125 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
5126 f<-m case and accompanying define_split.
5127 (trapb): Use a unique unspec_volatile number.
5128
8e7bc3cd
RH
5129Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
5130
5131 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
5132 from gcc2 merge.
5133
e5e809f4
JL
5134Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
5135
5136 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
5137 for details.
5138
5139 * haifa-sched.c: Mirror recent changes from gcc2.
5140
516c2342
JL
5141Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
5142
e9eaed43
JL
5143 * Makefile.in (insn*.o): Depend on system.h.
5144
516c2342
JL
5145 * pa.c (output_global_address): Initialize base.
5146 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
5147
7cc34889
MS
51481998-04-03 Mike Stump <mrs@wrs.com>
5149
5150 * gthr.h: Support systems that don't have weak, but have threads.
5151 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
5152 * gthr-vxworks.h: New file.
5153 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
5154
52c18286
JW
5155Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
5156
5157 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
5158
c1ac292d
VM
51591998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
5160
5161 * ginclude/va-i960.h (va_end): Change void * to void.
5162
4cb1caaf
KG
5163Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5164
5165 * Makefile.in (choose-temp.o): Depend on system.h.
5166
5167 * choose-temp.c: Include system.h when IN_GCC.
5168
a9a2595b
JR
5169Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
5170 Richard Henderson <rth@cygnus.com>
5171
5172 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
5173 (move_replacements): New function.
5174 * reload.h: Prototype it.
b57062ca 5175
a9a2595b 5176 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
b57062ca 5177
79363e2f
RH
5178Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
5179
5180 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
5181 Run fixincludes.
5182
4901a643
RH
5183 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
5184 (gen_highpart): Likewise.
ce4d78eb
RH
5185 * final.c (alter_subreg): Allow the target to hook by-mode subreg
5186 hard register number changes.
b57062ca 5187
715f9c99
JL
5188Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
5189
4e86caed
JL
5190 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
5191 rnbitsize, rnmode and rinner.
5192 (make_range): Initialize type.
5193 (fold): Initialize arg0, arg1 and varop.
5194
5195 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
5196 and regnor.
5197 (expand_function_start): Initialize last_ptr.
5198
5199 * stor-layout.c (layout_record): Initialize desired_align.
5200 (get_best_mode): Initialize unit.
5201
5202 * tree.c (copy_node): Initialize length.
5203
aefdd5ab
JL
5204 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
5205
5206 * caller-save.c (insert_save_restore): Initialize pat, code and
5207 numregs.
5208
5209 * emit-rtl.c (push_to_sequence): Initialize top.
5210 (push_topmost_sequence): Likewise.
5211
5212 * genattrtab.c (simplify_by_exploding): Initialize defval.
5213
5214 * profile.c (branch_prob): Initialize dest.
5215
5216 * rtl.h (note_stores): Remove duplicate prototype.
5217 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
5218
5219 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
5220 strings that are not actually lengths.
5221
729da3f5
JL
5222 * genattrtab.c: Make generated file use system.h, instead of
5223 including stdio.h, etc directly.
5224 * genextract.c, genopinit.c, genoutput.c: Likewise.
5225 * genpeep.c, genrecog.c: Likewise
5226
5227 * genoutput.c (process_template): Mark operands in the generated
5228 function as potentially unused if compiling with GNU CC.
5229
2a8034f8
JL
5230 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
5231
715f9c99
JL
5232 * pa.md (reload peepholes): Remove unused variable "mode".
5233
75d3a15b
NC
5234Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
5235
5236 * config/arm/thumb.h: Add super interworking support.
5237 * config/arm/thumb.c: Add super interworking support.
5238 * config/arm/thumb.md: Add super interworking support.
75d3a15b
NC
5239 * config/arm/lib1funcs.asm: Add interworking support.
5240 * config/arm/lib1thumb.asm: Add super interworking support.
75d3a15b
NC
5241 * config/arm/t-semi: Add interworking support.
5242 * config/arm/t-thumb: Add interworking support.
75d3a15b 5243 * config/arm/README-interworking: New file.
b57062ca 5244
63959c22
JW
5245Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
5246
5247 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
5248 (MD_STARTFILE_PREFIX): Unset.
5249
c651e1e0
MM
52501998-04-01 Mark Mitchell <mmitchell@usa.net>
5251
5252 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
5253 entity in a local scope.
5254
5255 * fold-const.c (fold): Call truthvalue_conversion for values which
5256 are folded to boolean type.
5257
3a598fbe
JL
5258Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
5259
5260 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
5261 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
5262 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
5263 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
5264 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
5265 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
5266 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
5267 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
5268 * md.texi: Likewise.
5269
b5026c50
MH
5270Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
5271
5272 * fixincludes (limits.h): Fix nested comments in Motorola's
5273 limits.h and sys/limits.h.
5274
c8d86b9a
JW
5275Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
5276
1a7cb241
JW
5277 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
5278 as dest of expand_binop call.
5279
221a9f65
JW
5280 * alpha.md (extzv): Correct check for valid operand[2] values.
5281
a7ebd547
JW
5282 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
5283 branch.
5284
c8d86b9a
JW
5285 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
5286
97be8f06
SC
5287Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
5288
5289 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
5290 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
b57062ca 5291
97be8f06
SC
5292 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
5293 cygwin32 can override this to allow both unix and win32 style PATHs.
5294
5295 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
5296 style environment paths.
b57062ca 5297
b04cd507
KG
5298Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5299
5300 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
5301 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
5302 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
5303 system.h.
b57062ca 5304
b04cd507
KG
5305 * cpphash.c: Include config.h.
5306 * cppalloc.c: Include system.h. Add parameters to various
5307 function prototypes.
5308 * cpperror.c: Likewise.
5309 * cppexp.c: Likewise.
5310 * cpphash.c: Likewise.
5311 * cpplib.c: Likewise.
5312 * cppmain.c: Likewise.
5313 * fix-header.c: Likewise.
5314 * gcov.c: Likewise.
5315 * gen-protos.c: Likewise.
5316 * gengenrtl.c: Likewise.
5317 * halfpic.c: Likewise.
5318 * hash.c: Likewise.
5319 * scan-decls.c: Likewise.
5320 * scan.c: Likewise.
5321
1aa5d112
JW
5322Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
5323
5324 * README.gnat: Add lang_print_xnode definition.
5325
e18db50d
AS
5326Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5327
5328 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
5329 fmovecr on the 68060.
5330
c0d45032
JL
5331Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
5332
5333 * genemit.c (DONE): Rework so that it works in the true arm if
5334 an if-else conditional.
5335 (FAIL): Likewise.
5336
31ed227b
JL
5337Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
5338
c3670418
JL
5339 * rs6000.c: Do not include stdioh or ctype.h anymore.
5340
234042f4
JL
5341 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
5342 $(RTL_H).
5343 (stor-layout.o): Likewise.
5344 * c-typeck.c: Include rtl.h and expr.h.
5345 * stor-layout.c: Likewise.
5346
72e19470
JL
5347 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
5348 All callers changed.
5349 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
5350 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
5351 All callers changed.
5352
40c3a857
JL
5353 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
5354
c80150b7
JL
5355 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
5356
31ed227b
JL
5357 * tree.h (lang_print_xnode): Provide prototype.
5358
fe776296
JL
5359Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
5360
5361 * version.c: Bump for snapshot.
5362
f1b03ce1
JL
5363Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
5364
3ac2735b
JL
5365 * objc/sendmsg.c (__objc_block_forward): Add braces for return
5366 value if INVISIBLE_STRUCT_RETURN.
5367
f2b147f7
JL
5368 * pa.c (arith_double_operand): Fix parens.
5369
c4fa3460
JL
5370 * haifa-sched.c (print_pattern): Correct arg to sprintf.
5371
f1b03ce1
JL
5372 * Makefile.in (libgcc1.null): Make return type for __foo void.
5373
2e61a5a5
JL
5374Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
5375
ba0b8436
JL
5376 * pa.h: Add declarations for many functions defined in pa.c.
5377
67ac5957
JL
5378 * genpeep.c (main): Remove unused variable 'i' from the generated
5379 file.
5380
c38d8c5b
JL
5381 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
5382 (gen_split): Likewise.
5383 (main): Rework generated definitions of DONE and FAIL so that they
5384 no longer use gotos. Avoids warnings about unused labels.
5385
d6e6c585
JL
5386 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
5387 unused "junk" variable.
5388
2e61a5a5
JL
5389 * genattrtab.c (write_complex_function): Add a default case in
5390 generated switch statement to keep -W -Wall quiet.
5391
0b26e56d
NC
5392Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
5393
157a620e
NC
5394 * invoke.texi: Document more ARM and Thumb command line options.
5395
0b26e56d
NC
5396 * config/arm/xm-thumb.h: New file.
5397
600a4ce7
CB
5398Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
5399
5400 * stmt.c (expand_expr_stmt): Must generate code for
5401 statements within an expression (gcc's `({ ... )}')
5402 even if -fsyntax-only.
5403
4d1d8045
BS
5404Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5405 Jeffrey A Law (law@cygnus.com)
5406
5407 * basic-block.h (basic_block_computed_jump_target): Declare.
5408 * flags.h: (current_function_has_computed_jump): Declare.
5409 * flow.c: (basic_block_computed_jump_target): Define.
5410 (flow_analysis): Allocate it. Set current_function_has_computed_jump
5411 to 0.
5412 (find_basic_blocks): Set current_function_has_computed_jump and
5413 elements of basic_block_computed_jump_target to 1 as appropriate.
5414 * function.c: (current_function_has_computed_jump): Define.
5415 * global.c (global_conflicts): Don't allocate pseudos into stack regs
5416 at the start of a block that is reachable by a computed jump.
5417 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
5418 immediately.
5419 (subst_stack_regs): Undo change from Sep 4 1997.
5420 (uses_reg_or_mem): Now unused, deleted.
5421 * stupid.c (stupid_life_analysis): Compute
5422 current_function_has_computed_jump.
5423 (stupid_find_reg): Don't allocate stack regs if the function has a
5424 computed goto.
5425 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
5426 the current function has a computed jump. Use the global value
5427 instead.
5428
56f28b73
JL
5429Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
5430
5431 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
5432 (DWARF2_UNWIND_INFO): Define to zero.
5433
6ed4bb9a
MM
5434Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
5435
5436 * gcc.c (set_std_prefix): Add declaration.
5437 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
5438 suffix, and update the standard prefix prefix.c uses.
5439
5440 * prefix.c (std_prefix): New global to hold default prefix value.
5441 (get_key_value): Change to use std_prefix instead of PREFIX.
5442 (translate_name): Ditto.
5443 (update_path): Ditto.
5444 (get_key_value): Release allocated scratch storage.
5445 (set_std_prefix): New function to reset the standard prefix.
5446
1f3fa20e
R
5447Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5448
7daa142b 5449 * sh.c (find_barrier): Fix calculations for alignment increase.
1f3fa20e 5450
d8a0154e
MH
5451Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
5452
5453 * Makefile.in (stmp-fixinc): If we're actually fixing include
5454 files, copy gcc's assert.h into the fixed include dir.
5455 * fixincludes (assert.h): Avoid any attempts to fix a probably
5456 broken system specific assert.h file.
5457 * fixproto (stdlib.h): Make sure, it'll contain a definition of
5458 size_t.
5459
64d3b4ca
JL
5460Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
5461
5462 * regclass.c (reg_scan_mark_refs): Be more selective about
5463 when we mark a register with REGNO_POINTER_FLAG.
5464
e6e52be0
R
5465Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5466
5467 reload inheritance improvement:
5468 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
5469 Change meaning: index is now hard reg number.
5470 (reg_reloaded_valid, reg_reloaded_dead): New variables.
5471 (reload_spill_index): Content is now a hard reg number.
5472 (reload_as_needed): Change to fit new variable meaning.
5473 (forget_old_reloads_1, allocate_reload_reg): Likewise.
5474 (choose_reload_regs, emit_reload_insns): Likewise.
5475
812f2051
R
5476Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5477
5478 * regclass.c (record_reg_classes): '?' increases cost by two.
5479
5480 * reload.c (find_reloads): Double previous costs. Output
5481 reloads cost one unit extra.
5482
5483 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
5484 boiled down to && ! 0.
5485
5486 * reload.c (find_equiv_reg): Also consider a goal offset from the
5487 frame pointer to be constant.
5488
04d02ece
R
5489Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5490
5491 * sh.h (OPTIMIZATION_OPTIONS): Define.
5492
6f28d3e9
RH
5493Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
5494
5495 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
5496
b09fa787
JL
5497Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
5498
5499 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
5500
a16b4c9c
JW
5501Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
5502
5503 * c-common.c (check_format_info): Initialize type, is_type. New local
5504 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
5505 when pedantic if used with integral format specifier.
5506
c4d38ccb
MM
5507Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
5508
5509 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
5510 direction.
5511 (function_arg_padding): Declare.
5512
5513 * rs6000.c: Include system.h.
5514 (function_arg_padding): Change return type to int, cast enum's to
5515 int.
5516
5517 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
5518 * collect2.c (scan_prog_file): Add explicit braces to avoid
5519 ambiguous `else'.
b57062ca 5520
c4d38ccb
MM
5521 * dbxout.c (dbxout_type_fields): Add braces around empty body in
5522 an if-statement.
5523 (dbxout_type): Likewise.
b57062ca 5524
c4d38ccb
MM
5525 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
5526 `ptt_size' from int to size_t.
5527 (rs6000_file_start): Likewise for `i'.
5528 (rs6000_replace_regno): Add default case in enumeration switch.
5529 (output_epilog): Remove unused variable `i'.
5530 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
5531 and `reg2'.
b57062ca 5532
c4d38ccb
MM
5533 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
5534 initializer.
5535 (get_issue_rate, non_logical_cint_operand): Add prototype.
5536 (rs6000_output_load_toc_table): Ditto.
b57062ca 5537
c4d38ccb
MM
5538 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
5539 `else'.
b57062ca 5540
e98e406f
NC
5541Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
5542
5543 * config/arm/thumb.c: New File. Support for ARM's Thumb
b57062ca 5544 instruction set.
e98e406f
NC
5545 * config/arm/thumb.h: New File. Thumb definitions.
5546 * config/arm/thumb.md: New File. Thumb machine description.
5547 * config/arm/tcoff.h: New File. Thumb COFF support.
5548 * config/arm/t-thumb: New File. Thumb makefile fragment.
5549 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
5550
5551 * configure.in: Add Thumb-coff target.
5552 * configure: Add Thumb-coff target.
5553 * config.sub: Add Thumb-coff target.
5554
8cf619da
JW
5555Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
5556
5557 * loop.c (scan_loop): Initialize move_insn_first to zero.
5558
fe0714d3
JS
5559Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
5560
5561 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
5562 * config/i386/rtems.h: Likewise.
5563 * config/i960/rtems.h: Likewise.
5564 * config/m68k/rtems.h: Likewise.
5565 * config/mips/rtems64.h: Likewise.
5566 * config/pa/rtems.h: Likewise.
5567 * config/rs6000/rtems.h: Likewise.
5568 * config/sh/rtems.h: Likewise.
5569 * config/sparc/rtems.h: Likewise.
5570
428be702
RK
5571Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5572
5573 * pa.c (emit_move_sequence): If in reload, call find_replacement.
5574
ae8c5963
NC
5575Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
5576
2ea9a965
NC
5577 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
5578
ae8c5963
NC
5579 * collect2.c (find_a_file): Add debugging.
5580 (find_a_file): Test for win32 style absolute paths if
5581 DIR_SERPARATOR is defined.
5582 (prefix_from_string): Add debugging.
5583 (main): Test for debug command line switch at start of program
b57062ca 5584 execution.
ae8c5963 5585 (main): Use GET_ENVIRONMENT rather than getenv().
72cf6902
NC
5586 (prefix_from_env): Use GET_ENVIRONMENT.
5587
050367a3
MM
55881998-03-24 Mark Mitchell <mmitchell@usa.net>
5589
5590 * cplus-dem.c (optable): Add sizeof.
5591 (demangle_template_value_parm): New function containing code
5592 previously found in demangle_template.
b57062ca 5593 (demangle_integral_value): New function which handles complicated
050367a3
MM
5594 integral expressions.
5595 (demangle_template): Use them.
5596
0b93b64e
KG
5597Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5598
5599 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
5600 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
5601 genattrtab.o, genoutput.o): Depend on system.h.
b57062ca 5602
0b93b64e
KG
5603 * genattr.c: Include system.h. Add arguments to various function
5604 prototypes. Remove redundant prototype of read_rtx().
5605 * genattrtab.c: Likewise.
5606 * gencodes.c: Likewise.
5607 * genconfig.c: Likewise.
5608 * genemit.c: Likewise.
5609 * genextract.c: Likewise.
5610 * genflags.c: Likewise.
5611 * genopinit.c: Likewise.
5612 * genoutput.c: Likewise.
5613 * genpeep.c: Likewise.
5614 * genrecog.c: Likewise.
5615
bc289659
ML
56161998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
5617
5618 * c-lang.c (lang_print_xnode): New function.
5619 * objc/objc-act.c (lang_print_xnode): Likewise.
5620 * print-tree.c (print_node): Call it
5621
990ac8d7
L
5622Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
5623
5624 * c-parse.in: Recognize protocol qualifiers in class
5625 definitions for objc.
5626 Include "output.h".
5627 (yyerror): Remove redundant decl.
5628 (yyprint): Fix prototype.
5629
65d98182
JL
5630Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
5631
47a0b68f
JL
5632 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
5633
65d98182
JL
5634 * stmt.c (unroll_block_trees): Free block_vector if needed.
5635
3cac0a21
PDM
5636Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
5637
4b8bef1d
PDM
5638 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
5639 (zero_extendsidi2): Avoid useless copy.
5640 (iordi_zext): New pattern.
5641 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
5642 operand 2.
5643 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
5644
3cac0a21
PDM
5645 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
5646 (ashldi3): Allow constant shift count in range ]32,63].
5647 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
5648
4da05956
MM
56491998-03-22 Mark Mitchell <mmitchell@usa.net>
5650
5651 * tree.h (IS_EXPR_CODE_CLASS): New macro.
5652
545f2aab
JL
5653Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
5654
5655 * h8300.h (CONST_COSTS): Remove definition.
5656 (DEFAULT_RTX_COSTS): Define.
5657
eef15f9f
JS
5658Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
5659
5660 * config/sh/rtems.h: Switched from ELF to COFF.
5661
4bca6986
R
5662Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5663
5664 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
5665
8ca77a11
JL
5666Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
5667
5668 * version.c: Bump for snapshot.
5669
e09e14e9
NC
5670Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
5671 Geoff Noer <noer@cygnus.com>
5672
5673 * Makefile.in: Various fixes for building cygwin32 native toolchains.
5674
35d541d4
NC
5675 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
5676 * objc/Make-lang.in: Likewise.
5677
4a0cf2aa
NC
5678 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
5679
535b86ce
G
5680Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
5681
5682 * configure.in: Handle with-PACKAGE=no correctly
5683
670ee920
KG
5684Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5685
5686 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
5687 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
5688 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
5689 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
5690 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
5691 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
5692 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
5693 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
5694 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
5695 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
5696 on system.h.
5697
5698 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
5699 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
5700 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
5701 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
5702 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
5703 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
5704 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
5705 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
5706 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
5707 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
5708 xcoffout.c: Include system.h. Organize include ordering so
5709 that stdarg/varargs comes before other system headers. Remove
5710 spurious casts of functions assured of a prototype in system.h.
5711
7aa74e4c
SC
5712Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
5713
5714 * reg-stack.c (pop_stack): Define. Pops any register on the
5715 regstack and adjusts regstack.
5716 (compare_for_stack_reg): Use pop_stack.
b57062ca 5717
d005a5a4
JL
5718Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
5719
5720 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
5721 config too.
5722
ba3ad5e0
PDM
5723Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
5724
09b4ce12
PDM
5725 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
5726
ba3ad5e0
PDM
5727 * fold-const.c (fold): Replace sign-extension of a zero extended
5728 value by a single zero extension.
5729
6e1f1f93
JM
5730Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
5731
5732 * except.c (init_eh): Do nothing.
5733 (save_eh_status): Call init_eh_for_function, not init_eh.
5734 * function.c (push_function_context_to): Don't call init_emit.
5735
838b0e4e
MM
5736Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
5737
5738 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
5739 and EABI.
5740
ecb06768
KG
5741Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5742
5743 * final.c (shorten_branches): Add parentheses around +/- in
5744 operand of &.
5745
5746 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
5747
dfba7a1b
MH
5748Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
5749
5750 * regclass.c (memory_move_secondary_cost): Wrap uses of
5751 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
5752 with #ifdef tests.
5753
4faca093
MH
5754Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
5755
5756 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
5757
5758 * flow.c (life_analysis): #include <sys/types.h> to make sure
5759 size_t is defined.
5760 * cplus-dem.c (demangle_function_name): Likewise.
5761
af7da199
MH
5762Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
5763
5764 * final.c (insn_noperands): Change type to unsigned int.
5765 (final_scan_insn): Likewise for noperands;
5766 properly check operand number boundaries.
5767
10a25232
RH
5768Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
5769
5770 * alpha.md (extzv): Don't reject register operands. Fix
5771 mode of operand 1.
5772
99d1a24c
RH
5773Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
5774
5775 * dbxout.c (dbxout_function_end): Fix last change. The correct
5776 predicate is ASM_OUTPUT_SECTION_NAME.
5777
5bac82c5
JW
5778Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
5779
5780 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
5781 (ashlsi): Use match_dup 1 instead of match_operand 2.
5782
52de9b6c
RK
5783Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5784
5785 * fold-const.c (operand_equal_for_comparison_p): See if equal
5786 when nop conversions are removed.
5787
7c00d1fe
RK
5788Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5789
5790 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
5791 don't use ORIGINAL_TARGET unless REG.
5792
343665b9
R
5793Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5794
5795 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
5796
1a61c29f
JW
5797Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
5798
5799 * loop.c (struct movable): New field move_insn_first.
5800 (scan_loop): In consec sets code, set it. Clear it otherwise.
5801 (move_movables): In consec sets code, use it. Copy REG_NOTES from
5802 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
5803 out code.
5804
cbe36725
RH
5805Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
5806
5807 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
5808 is large, and the system doesn't provide atoll or atoq.
b57062ca 5809 (atoll): New.
cbe36725
RH
5810
5811 * alpha/xm-vms.h (HAVE_ATOLL): Define.
5812 Reported by Klaus Kaempf <kkaempf@progis.de>.
b57062ca 5813
081f5e7e
KG
5814Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5815
5816 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
5817 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
5818
5819 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
b57062ca 5820 test !ACCUMULATE_OUTGOING_ARGS.
081f5e7e
KG
5821
5822 * collect2.c (write_c_file_glob): Wrap function definition in
5823 macro test !LD_INIT_SWITCH.
5824
5825 * combine.c (try_combine): Wrap variables `cc_use' and
5826 `compare_mode' in macro test EXTRA_CC_MODES.
5827
5828 * cpplib.c (do_ident): Remove unused variable `len'.
5829 (skip_if_group): Remove unused variables `at_beg_of_line' and
5830 `after_ident'.
5831 (cpp_get_token): Remove unused variable `dummy'.
5832
5833 * dbxout.c (scope_labelno): Move static variable definition inside
5834 the one function scope where it is used.
5835 (dbxout_function_end): Wrap prototype and definition in
5836 macro test !NO_DBX_FUNCTION_END.
5837
5838 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
5839 in macro test !MIPS_DEBUGGING_INFO.
5840
5841 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
5842 into the scope where it is used. Wrap empty else-statement body
5843 in braces.
5844
5845 * fix-header.c: Fix typo in comment.
5846 (inf_skip_spaces): Cast results of INF_UNGET to (void).
5847 (check_protection, main): Likewise.
5848
5849 * flow.c (find_basic_blocks_1): Remove dangling comment text.
5850
5851 * function.c (contains): Wrap prototype and definition in macro
5852 test HAVE_prologue || HAVE_epilogue.
5853 (fixup_var_refs_1): Remove unused variable `width'.
5854
5855 * gen-protos.c (main): Remove unused variable `optr'.
5856
5857 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
5858
5859 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
5860 (__sjpopnthrow): Remove unused variable `jmpbuf'.
5861 (__throw): Remove unused variable `val'.
5862
5863 * protoize.c: Check for a previously existing definition before
b57062ca 5864 defining *_OK macros.
081f5e7e
KG
5865
5866 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
5867
76ce4776
R
5868Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5869
5870 * vax.h (ADDR_VEC_ALIGN): Define.
5871
e29ef920
MM
5872Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
5873
5874 * gcc.c (default_arg): Don't wander off the end of allocated
5875 memory.
5876
dbf55e53
MM
5877 (From Geoffrey Keating <geoffk@ozemail.com.au>)
5878 * rs6000.c (small_data_operand): Ensure that any address
b57062ca 5879 referenced relative to the small data area is inside the SDA.
dbf55e53 5880
883482b2 5881Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
b57062ca 5882
883482b2
JW
5883 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
5884
9ad82ff8 5885Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
a0b61d14
AM
5886
5887 * except.h (in_same_eh_region): New prototype.
5888 (free_insn_eh_region, init_insn_eh_region): New prototypes.
5889 * except.c (insn_eh_region, maximum_uid): New static variables.
5890 (set_insn_eh_region): New static function to set region numbers.
5891 (free_insn_eh_region): New function to free EH region table.
5892 (init_insn_eh_region): New function to initialize EH region table.
5893 (in_same_eh_region): New function used to determine if two rtl
5894 instructions are in the same exception region or not.
5895 * final.c (final): Initialize the table indicating which instructions
5896 belong in which exception region.
5897 * genpeep.c (main): Add "except.h" to include file list in generated
b57062ca
UD
5898 file insn-peep.c.
5899 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
5900 peepholes involving calls and unconditional branches.
a0b61d14 5901
66bd0128
JW
5902Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
5903
5904 * README.gnat: New file.
5905
1d8eaa6b
AS
5906Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5907
5908 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
5909 "recog.h" for offsettable_memref_p.
5910 (legitimize_pic_address): Remove unused variable `offset'.
5911 (notice_update_cc): Change return type to void. Add default label
5912 to switch.
5913 (standard_68881_constant_p): Remove unused variable mode.
5914 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
5915 (const_int_cost): Explicitly declare as returning int.
5916 (output_dbcc_and_branch): Change return type to void.
5917
5918 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
5919 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
5920 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
5921
60ba47b4
JL
5922Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
5923
5924 * version.c: Bump for snapshot.
5925
68137318
AS
5926Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5927
5928 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
5929 check for 'M' constraint.
5930
7a50f126
JW
5931Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
5932
5933 * cccp.c (create_definition): If pedantic, call pedwarn for macro
5934 varargs feature.
5935
57dbca5e
BS
5936Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
5937
5938 * i386.c (ix86_logical_operator): New function.
5939 (split_di): Ensure that when a MEM is split, the resulting MEMs have
5940 SImode.
5941 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
5942 to implement them.
5943
8625fab5
KG
5944Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5945 Richard Earnshaw <rearnsha@arm.com>
5946 Nick Clifton <nickc@cygnus.com>
b57062ca 5947
8625fab5 5948 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
b57062ca 5949
8625fab5 5950 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
b57062ca 5951
8625fab5
KG
5952 * cse.c (rtx_cost): Provide a default case in an enumeration
5953 switch, and call DEFAULT_RTX_COSTS if it's defined.
b57062ca 5954
6ce22dac
MH
5955Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
5956
5957 * basic-block.h (compute_preds_succs): Change return type in
5958 prototype to void.
5959 * flow.c (compute_preds_succs): Likewise in function definition.
5960
5961 * regmove.c (find_matches): Cast char used as array index to unsigned char
5962 to supress warning.
5963
9c318306
MH
5964Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
5965
5966 * i386.h (RTX_COSTS): Insert braces around nested if.
5967 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
5968 elements.
5969
5970 * gcc.c (default_compilers): Properly put brackets around array elements in
5971 initializer.
5972
5973 * getopt.c (_getopt_internal): Add explicit braces around nested if;
5974 reformatted.
5975
5976 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
5977 (record_reg_life_pat): Add explicit parens around && and || in expression.
5978 (stack_reg_life_analysis): Add parens around assignment used as expression.
5979 (convert_regs): Likewise.
5980
56c5d8bf
MH
5981Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
5982
5983 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
5984 change callers accordingly.
5985
5986 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
5987 and definition; change all callers accordingly.
5988
5989 * except.c (init_eh): Avoid assignment of unused return value of
5990 build_pointer_type; cast it to void, instead, and remove unused
5991 variable type.
5992
5993 * gcc.c (lang_specific_driver): Define prototype only #ifdef
5994 LANG_SPECIFIC_DRIVER.
5995 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
5996
5997 * genoutput.c (output_epilogue): Initialize next_name to 0.
5998
5999 * real.c (efrexp): #if 0 prototype and function definition.
6000 (eremain): Likewise.
6001 (uditoe): Likewise.
6002 (ditoe): Likewise.
6003 (etoudi): Likewise.
6004 (etodi): Likewise.
6005 (esqrt): Likewise.
6006
6007 * reload.c (push_secondary_reload): Define prototype only
6008 #ifdef HAVE_SECONDARY_RELOADS.
6009
6010 * varasm.c (assemble_static_space): Define rounded only
6011 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
6012
4fce8e83
MH
6013Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
6014
6015 * i386.md (andsi): Add default case in enumeration switch.
6016 (iorsi3): Likewise.
6017 (iorhi3): Likewise.
6018 (xorsi3): Likewise.
6019
85066503
MH
6020Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
6021
6022 * c-decl (finish_struct): Change type of min_align to unsigned.
6023
6024 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
6025 remove unused variable len.
6026
6027 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
6028 comment indicating this is proper behaviour.
6029 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
6030 reg >= 0.
6031 (based_loc_descr): Likewise.
6032
6033 * enquire.c (bitpattern): Change type of variable i to unsigned.
6034
6035 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
6036
6037 * flow.c (life_analysis): Change type of variable i to size_t;
6038 remove unused variable insn.
6039
6040 * gcc.c (translate_options): Change type of variables optlen, arglen and
6041 complen to size_t.
6042 (input_filename_length): Change type to size_t.
6043 (do_spec_1): Change type of variable bufsize to size_t.
6044 (main): Change type of variables i and j to size_t;
6045 remove subblock local definition of variable i.
6046 (lookup_compiler): Change type of second argument to size_t;
6047 change type of variable i to size_t.
6048
6049 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
b57062ca 6050
85066503
MH
6051 * genopinit.c (get_insn): Change type of variable pindex to size_t.
6052
6053 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
6054
6055 * global.c (global_alloc): Change type of variable i to size_t.
6056
6057 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
6058
6059 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
6060 (expand_end_case): Change type of variable count to size_t.
6061
6062 * toplev.c (main): Change type of variable j to size_t.
6063 (set_target_switch): Change type of variable j to size_t.
6064 (print_switch_values): Change type of variable j to size_t;
6065 remove unused variable flags.
6066
6067 * varasm.c (assemble_variable): Change type of variable align to size_t.
6068 (const_hash_rtx): Change type of variable i to size_t.
6069
6d89b990
MM
60701998-03-11 Mark Mitchell <mmitchell@usa.net>
6071
6072 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
6073 TREE_VEC if that's what it really is.
6074
01c7f350
MM
6075Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
6076
6077 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
6078 as per ISO C spec.
6079
754d1a92
TT
6080Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
6081
6082 * gthr.h: Changed the comment about return values.
6083 * gthr-solaris.h (__gthread_once): Do not use errno; return the
b57062ca 6084 error number instead of -1.
754d1a92
TT
6085 (__gthread_key_create): Any non-zero return value is an error.
6086 * libgcc2.c (eh_context_initialize): Check for non-zero return
6087 value from __gthread_once.
6088 Check that the value of get_eh_context was really changed.
6089
77008a44
R
6090Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6091
6092 * sh.h (LOOP_ALIGN): Only align when optimizing.
6093 * sh.c (find_barrier): Clear inc for CODE_LABELs.
6094 When not optimizing, calculate alignment for BARRIERs directly.
6095
a8aa4e0b
R
6096Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6097
6098 * final.c (shorten_branches): Remove conditionalizing on
6099 SHORTEN_WITH_ADJUST_INSN_LENGTH
6100 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
6101
832544bd
JL
6102Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
6103
6104 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
6105 an unconditional jump around deleted blocks.
6106
bdd3e6ab
JW
6107Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
6108
11a932c0
JW
6109 * profile.c (branch_prob): If see computed goto, call fatal instead of
6110 abort.
6111
eeb54a49 6112 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
b57062ca 6113
35011dd5
JW
6114 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
6115 Patch from Bruno Haible.
6116
bdd3e6ab
JW
6117 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
6118 (assign_parms): Set aggregate if hide_last_arg and last_named.
6119
af035616
R
6120Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6121
6122 * final.c (shorten_branches): Initialize insn_addresses.
6123
97e3c422
R
6124Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6125
6126 * sh.h (MUST_PASS_IN_STACK): Define.
6127
5e75ef4a
JL
6128Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
6129
6130 * final.c (shorten_branches): Fix minor logic error in
6131 ADDR_DIFF_VEC shortening support.
6132
99613661
JL
6133Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
6134
6135 * version.c: Bump for snapshot.
6136
8ea2b111
JL
6137Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
6138
168cbdf9
JL
6139 * haifa-sched.c (is_cfg_nonregular): Change return type to
6140 an int. No longer compute "estimated" number of edges. Use
6141 computed_jump_p instead of duplicating the code. Fixup/add
6142 some comments.
6143 (build_control_flow): Returns a value indicating an irregularity
6144 in the cfg was detected. Count the number of edges in the cfg.
6145 allocate various edge tables.
6146 (find_rgns): No longer look for unreachable blocks.
6147 (schedule_insns): Do not allocate memory for edge tables here.
6148 Free memory for edge tables before returning. Do not perform
6149 cross block scheduling if build_control_flow returns nonzero.
6150 * flow.c (compute_preds_succs): More accurately determine when
6151 a block drops in.
6152
52becdc0
JL
6153 * basic-block.h (free_basic_block_vargs): Provide prototype.
6154
8ea2b111
JL
6155 * cccp.c (main): Fix dumb mistakes in last change.
6156
33f7f353
JR
6157Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6158
6159 * rtl.h (addr_diff_vec_flags): New typedef.
6160 (union rtunion_def): New member rt_addr_diff_vec_flags.
6161 (ADDR_DIFF_VEC_FLAGS): New macro.
6162
6163 * sh.c (output_branch): Fix offset overflow problems.
6164
6165 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
6166 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
6167 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
6168 * stmt.c (expand_end_case): Supply new arguments to
6169 gen_rtx_ADDR_DIFF_VEC.
6170 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
6171 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
6172 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
6173 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
6174 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
6175 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
6176 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
6177 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
6178 * i386/freebsd.h, i386/linux.h : Likewise.
6179 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
6180 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
6181 * m68k/mot3300.h, m68k/sgs.h : Likewise.
6182 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
6183 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
6184 (CASE_VECTOR_SHORTEN_MODE): Define.
6185 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
6186 (med_branch_p, braf_branch_p): Don't declare.
6187 (mdep_reorg_phase, barrier_align): Declare.
6188 (ADJUST_INSN_LENGTH): Remove alignment handling.
6189 * sh.c (uid_align, uid_align_max): Deleted.
6190 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
6191 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
6192 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
6193 (output_far_jump): Don't use braf_branch_p.
6194 (output_branchy_insn): Don't use branch_offset.
6195 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
6196 Remove paired barrier stuff.
6197 Don't use cache_align_p.
6198 Take alignment insns into account.
6199 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
6200 the addr_diff_vec.
6201 (barrier_align, branch_dest): New function.
6202 (machine_dependent_reorg, split_branches): Remove infrastructure
6203 for branch shortening that is now provided in the backend.
6204 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
6205 (braf_branch_p, braf_cbranch_p): Likewise.
6206 (attribute length): Use new attributes.
6207 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
6208 (addr_diff_vec_adjust): Delete.
6209 (align_2): Now a define_expand.
6210 (align_log): Now length 0.
6211
170a16c7
MM
6212Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
6213
6214 * m32r.md (right): Correctly check for length == 2, not 1.
6215
688f0603
KG
6216Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6217
6218 * mips/mips.h: Prototype `machine_dependent_reorg'.
6219 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
6220
19cbe68d
JR
6221Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
6222
6223 * final.c (shorten_branches): Restore accidentally removed code.
6224
8add77ce
AS
6225Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6226
6227 * configure.in: Remove duplicate uses of AC_PROG_CC and
6228 AC_PROG_MAKE_SET.
6229
fbb5ed67
RH
6230Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
6231
6232 * configure.in (target_cpu_default2): Correct typo for alphapca56.
6233
5ece9746
JL
6234Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
6235 Doug Evans (devans@cygnus.com)
6236
6237 * haifa-sched.c (build_jmp_edges): Delete dead function.
6238 (build_control_flow): Use cfg routines from flow.c
6239 (schedule_insns): Remove debugging code accidentally checked
6240 in earlier today.
6241
6242 * basic-block.h: Add external integer list structures, typdefs,
6243 accessor macros and function declarations. Simlarly for
6244 basic block pred/succ support and simple bitmap stuff.
6245 * flow.c: Add functions for integer list, basic block pred/succ
6246 support and simple bitmap support.
6247 (compute_dominators): New function to compute dominators and
6248 post dominators.
6249 (find_basic_blocks): Split into two functions.
6250 (life_analysis): Likewise.
6251 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
6252 the life_analysis from toplev.c
6253 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
6254 life_analysis instead of flow_analysis.
6255
ac9b3c97
R
6256Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6257
6258 * jump.c (jump_optimize): Call mark_jump_label also for deleted
6259 insns.
6260 (mark_jump_label): Don't increment ref counts for deleted insns.
6261
6e92f4b6
KG
6262Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6263
6264 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
b57062ca 6265
6e92f4b6
KG
6266 * mips/mips.c: Include stdlib.h and unistd.h.
6267 (mips_asm_file_end): Add braces around empty body in an if-statement.
6268 (function_prologue): Wrap variable `fnname' in
6269 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
6270 (mips_select_rtx_section, mips_select_section): Declare as void.
b57062ca 6271
6e92f4b6
KG
6272 * mips/mips.h: Add prototypes for extern functions in mips.c.
6273 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
6274 (ENCODE_SECTION_INFO): Add braces around empty body in an
6275 if-statement.
b57062ca 6276
6e92f4b6
KG
6277 * mips/mips.md (movdi): Add parentheses around && within ||.
6278 (movsf, movdf): Likewise.
6279 (branch_zero, branch_zero_di): Add default case in
6280 enumeration switch.
b57062ca 6281
6e92f4b6 6282
9ba3994a
RH
6283Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
6284
6285 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
6286 real constants, since they can't be changed.
6287 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6288 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
6289 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6290 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6291 * alpha/vms.h (TARGET_OPEN_VMS): New.
6292 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
6293
5ec105cd
RH
6294Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
6295
6296 * reload.c (find_reloads): Always force (subreg (mem)) to be
6297 reloaded if WORD_REGISTER_OPERATIONS.
6298
ebb7b10b
RH
6299Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
6300
6301 * haifa-sched.c (free_list): Rename from free_pnd_lst.
6302 (free_pending_lists): Rename free_pnd_lst uses.
6303 (remove_dependence): Place expunged element on unused_insn_list.
6304 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
6305 gen_rtx_*_LIST and alloc_rtx to use them.
6306 (compute_block_backward_dependences): Free the reg_last_* lists.
6307
cb37ce62
JL
6308Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
6309
6310 * cccp.c (main): Avoid undefined behavior when setting pend_includes
6311 and pend_files.
6312
ce514f57
FS
6313Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6314
b57062ca 6315 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
ce514f57
FS
6316 USE_GNULIBC_1 is defined
6317 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
6318 includes the t-linux-gnulibc1 fragment
6319
89a5e42b
JW
6320Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
6321
6322 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
6323
1dd8faa8
R
6324Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6325
6326 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
6327
e2faec75
R
6328Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6329
6330 * final.c (shorten_branches): Tag the loop alignment onto the
6331 first label after NOTE_INSN_LOOP_BEG even if there is an
6332 intervening insn.
6333
de7987a6
R
6334Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6335
26024475
R
6336 * final.c (insn_current_reference_address):
6337 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
6338 proper alignment chain.
6339
de7987a6
R
6340 * final.c (max_labelno): New static variable.
6341 (final_scan_insn): Check max_labelno before outputting an
6342 alignment for a label.
de7987a6
R
6343 (shorten_branches): Remove unused variable length_align.
6344
27d8f9ea
KG
6345Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6346
6347 * sparc.c (ultrasparc_adjust_cost): Add default case in
6348 enumeration switch.
b57062ca 6349
27d8f9ea
KG
6350 * sparc.h: Add prototypes for extern functions defined in
6351 sparc.c.
6352
bd334356
NC
6353Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
6354
6355 * toplev.c: Only generate <name>.dbr file when dumping RTL if
b57062ca 6356 DEALY_SLOTS is defined.
bd334356 6357
1838fe6d
MH
6358Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
6359
6360 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
6361 in call to fill_slots_from_thread.
6362
b0021153
RH
6363Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
6364
b57062ca 6365 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
b0021153
RH
6366 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
6367
687d0ab6 6368Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
fc470718
R
6369
6370 * final.c (insn_last_address, insn_current_align, uid_align):
6371 New variables.
6372 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
6373 (insn_current_reference_address): Likewise.
6374 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
6375 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
6376 (label_to_alignment): New function.
6377 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
6378 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
6379 insn_current_reference_address instead of insn_current_address.
6380 (or_attr_value, write_length_unit_log): New functions.
6381 (main): Call write_length_unit_log.
6382 (write_const_num_delay_slots): Output extra '\n'.
6383 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
6384 replace with:
6385 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
6386 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
6387 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
6388 (LOOP_ALIGN).
6389 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
6390 (LABEL_ALIGN_AFTER_BARRIER).
6391 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
6392 * ns32k/tek6000.h: Likewise.
6393 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
6394 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
6395 ASM_OUTPUT_ALIGN_CODE.
6396
54f00917
JL
6397Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
6398
6399 * version.c: Bump for snapshot.
6400
38630f7e
JL
6401Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
6402
6403 * version.c: Bump for snapshot.
6404
ab63953e
JL
6405Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
6406
6407 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
b57062ca 6408 if condition code of jump conflicts with opposite_needed.
ab63953e
JL
6409
6410 * reorg.c (fill_slots_from_thread): Mark resources referenced in
6411 opposite_needed thread. Return delay_list even when cannot get
6412 any more delay insns from end of subroutine.
6413
6414Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
6415
6416 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
6417 All callers changed.
6418
6419Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
72dd050a
BH
6420
6421 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
6422 end_fde_sort): New functions for fast sorting of an FDE array.
6423 (fde_insert): Simplified.
6424 (add_fdes): Change argument list.
6425 (frame_init): Use the new functions.
6426
de153e82
JL
6427Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
6428
925b1f33
JL
6429 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
6430
c7271385
JL
6431 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
6432
de153e82
JL
6433 * fold-const.c (fold_range_test): Always return a value.
6434
81023100
MK
6435Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
6436
6437 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
6438 data in the text section unless READONLY_DATA_SECTION is defined.
6439
818e50a5
JL
6440Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
6441
6442 * c-parse.in (undeclared variable error): Tweak error message to
6443 be clearer.
6444
c93dc3ac
JL
6445Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
6446
6447 * version.c: Bump for snapshot.
6448
90ca38bb
MM
64491998-02-28 Mark Mitchell <mmitchell@usa.net>
6450
6451 * final.c (final_scan_insn): Undo overzealous removal of `set'.
6452
3d85c12e
KG
6453Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6454
5feca984
KG
6455 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
6456 case, add parentheses to specify the proper order of precedence in
6457 the if-statement.
b57062ca 6458
5feca984 6459
51723711
KG
6460 * c-aux-info.c: Include string.h/strings.h.
6461
6462 * pa.c: Include stdlib.h.
6463 (pa_combine_instructions): Prototype the function.
6464 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
6465 (reloc_needed): Add default case for enumeration switch.
6466 (remove_useless_addtr_insns): Remove unused variable `all'.
6467 (hppa_expand_prologue): Add explicit braces to avoid
6468 ambiguous `else'.
6469 (output_function_epilogue): Remove unused variable `i'.
6470 (output_millicode_call): Remove unused variable `link'.
6471 (shadd_constant_p, forward_branch_p): Make the function static.
6472 (following_call): Explicitly declare to return int.
6473 (pa_reorg): Declare as void.
6474 (pa_combine_instructions): Declare as static void. Add
6475 parentheses around && within ||.
b57062ca 6476
51723711
KG
6477 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
6478 following_call, function_label_operand, lhs_lshift_cint_operand
6479 and zdepi_cint_p.
6480
6481 * pa.md: Add parentheses around && within ||.
6482
6483 * cppalloc.c: Include stdlib.h.
6484
6485 * cpperror.c (cpp_print_containing_files): Remove unused variable
6486 `i'. Fix format specifier in fprintf.
6487
6488 * cse.c (cse_around_loop): Add explicit braces to avoid
6489 ambiguous `else'.
6490 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
6491
6492 * expr.c (expand_expr): Add parentheses around && within ||.
6493
6494 * final.c (app_enable): Replace fprintf with fputs where there are
6495 no format specifiers and no trailing argument after the string.
6496 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
6497 (app_disable): Likewise.
6498 (final_end_function): Likewise.
6499 (final_scan_insn): Likewise. Remove unused variable `set'.
6500 (profile_function): Wrap empty if-statement body in {} brackets.
6501
6502 * function.c: Include stdlib.h.
6503 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
6504 (reposition_prologue_and_epilogue_notes): Add parentheses
6505 around assignment used as truth value.
6506
6507 * integrate.c (expand_inline_function): Wrap variable
6508 `cc0_insn' in macro HAVE_cc0.
6509
6510 * jump.c (jump_optimize): Wrap variable `q' in macro
6511 HAVE_cc0. Remove unused variable `prev1'.
6512
6513 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
6514 within ||. Fix format specifier in fprintf.
6515 (__bb_init_prg): Add parentheses around assignment used as
6516 truth value.
6517
6518 * local-alloc.c: Include stdlib.h.
6519 (requires_inout): Add parentheses around assignment used
6520 as truth value.
6521
6522 * loop.c (analyze_loop_iterations): Wrap prototype and definition
6523 in macro HAVE_decrement_and_branch_on_count.
6524 (insert_bct, instrument_loop_bct): Likewise.
6525 (move_movables): Add parentheses around assignment used as
6526 truth value.
6527 (consec_sets_invariant_p): Likewise.
6528 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
6529
6530 * objc/objc-act.c: Include stdlib.h.
6531 (lookup_method_in_protocol_list): Wrap empty else-statement body
6532 in braces.
6533 (lookup_protocol_in_reflist): Likewise.
6534 (objc_add_static_instance): Remove unused variables `decl_expr'
6535 and `decl_spec'.
6536 (get_objc_string_decl): Remove unused variable `decl'.
6537 (generate_static_references): Remove unused variables `idecl' and
6538 `instance'.
6539 (check_protocols): Wrap empty else-statement body in braces.
b57062ca 6540
51723711
KG
6541 * protoize.c: Include stdlib.h.
6542 (substr): Add parentheses around assignment used as truth value.
6543 (abspath): Likewise.
6544 (shortpath): Likewise.
6545
6546 * regmove.c (fixup_match_1): Add parentheses around assignment
6547 used as truth value.
6548
6549 * reload.c (push_secondary_reload): Remove unused variable `i'.
6550 (find_reloads): Add parentheses around assignment used as truth
6551 value.
6552
6553 * reload1.c: Include stdlib.h.
6554
6555 * rtl.h: Correct typo in prototype of offsettable_memref_p.
6556
6557 * stmt.c (add_case_node): Add parentheses around assignment used
6558 as truth value.
6559 (case_tree2list): Likewise.
6560
6561 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
6562 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
6563 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
6564 (merge_attributes): Add explicit braces to avoid ambiguous
6565 `else'.
6566
6567 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
6568 macro HAVE_cc0.
b57062ca 6569
51723711 6570 * varasm.c: Include stdlib.h.
b57062ca 6571
51723711 6572
c5801053
KG
6573 * system.h: Remove sys/stat.h.
6574 * gcc.c: Add sys/stat.h.
6575
3d85c12e
KG
6576 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
6577 * genattrtab.c: Likewise.
6578 * genconfig.c: Likewise.
6579 * genemit.c: Likewise.
6580 * genextract.c: Likewise.
6581 * genflags.c: Likewise.
6582 * genopinit.c: Likewise.
6583 * genoutput.c: Likewise.
6584 * genpeep.c: Likewise.
6585 * genrecog.c: Likewise.
6586 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
6587
0fd12b04
AS
6588Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6589
bd762873
AS
6590 * invoke.texi: Use @itemx for a secondary item in a @table.
6591
0fd12b04
AS
6592 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
6593 zero.
6594
c3cf395b
ILT
6595Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
6596
6597 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
6598
b94b5c16
JL
6599Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
6600
6601 * i386.c (struct machine_function): Add new fields for PIC stuff.
6602 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
6603 and pic_label_name.
6604 (restore_386_machine_status): Corresponding changes.
6605 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
6606
8dfafd99
JL
6607Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
6608
6609 * c-parse.y (undeclared variable error): Tweak error message
6610 to be clearer.
6611
bb8ebb7f
RH
6612Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
6613
6614 * flags.h (g_switch_value, g_switch_set): Declare.
6615 * alpha.c (override_options): Set g_switch_value=8 if not set.
6616 * alpha/elf.h (CC1_SPEC): New.
6617 (ASM_SPEC): New.
6618 (LINK_SPEC): Pass along the -G value we were given.
6619 (LOCAL_ASM_OP): Remove.
6620 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
6621 (MAX_OFILE_ALIGNMENT): New.
6622 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
6623 (EXTRA_SECTIONS): Add sbss and sdata.
6624 (SECTION_FUNCTION_TEMPLATE): New.
6625 (EXTRA_SECTION_FUNCTIONS): Use it.
6626 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
6627 (SELECT_SECTION): Use sdata when small enough.
6628 * alpha/linux.h (ASM_SPEC): Remove.
b57062ca 6629
bb8ebb7f 6630
3e07bdbd
BH
6631Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6632 * config.sub (sco5): Fix typo.
6633
9d1ebd25
MH
6634Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
6635
6636 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
6637 set to empty.
6638 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
6639 * config/alpha/t-linux: Remove file.
6640 * config/sparc/t-linux: Remove file.
6641 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
6642 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
6643 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
6644 for tmake_file.
6645 (alpha*-*-linux-gnu*): Likewise.
6646 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
6647 (sparc-*-linux-gnu*): Likewise.
84bc3b4f
RL
6648
6649Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
6650 * collect2.c (ldd_file_name): Bracket declaration with same
6651 manifests as use.
6652 (full_real_ld_suffix): Deleted. Variable was calloced and
6653 written into, but never read.
6654
9e89df50
MS
66551998-02-23 Mike Stump <mrs@wrs.com>
6656
6657 * configure.in: Add support for i386-wrs-vxworks configuration.
6658 * i386/vxi386.h: New file.
6659
1160f9ec
BH
6660Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6661
6662 * tree.c (contains_placeholder_p): Ensure function always returns
6663 a value.
6664 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
6665 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
6666
328da75c
JL
6667Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
6668
6669 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
6670
deabc777
PE
66711998-02-22 Paul Eggert <eggert@twinsun.com>
6672
6673 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
6674 Define this new symbol.
6675 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
6676 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
6677 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
6678
0e84e8fb
JW
6679Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
6680
6681 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
6682 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
6683
9c37957a
RH
6684Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
6685
6686 * objc/Object.m (-error): Call objc_verror with our va_list.
6687
e3c49f52
DE
6688Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6689
6690 * collect2.c (scan_prog_file): Completely cover uses of variable
6691 `exports' with macro COLLECT_EXPORT_LIST.
6692
6693Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
d935d60e
JL
6694
6695 * version.c: Bump for snapshot.
6696
3c674857
MM
6697Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
6698
6699 * sched.c (schedule_block): Remove code to get arguments from hard
6700 regs into pseudos early. Same as Aug 25, 1997 change to
6701 haifa-sched.c.
6702
c2d731c4
JM
67031998-02-20 Jason Merrill <jason@yorick.cygnus.com>
6704
6705 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
6706
7d02bbef
JM
67071998-02-16 Mark Mitchell <mmitchell@usa.net>
6708
6709 * toplev.c (rest_of_compilation): Do not defer the output of a
6710 nested function.
6711
9766dbcf
MT
6712Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
6713
6714 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
6715 continuation character (line 243).
6716
01a7aaea
AS
6717Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6718
6719 * genrecog.c (main): Remove duplicated sentence in emitted comment.
6720
db126753
DE
6721Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
6722 David Edelsohn <edelsohn@mhpcc.edu>
6723
6724 * collect2.c (XCOFF_SCAN_LIBS): Remove.
6725 (export_flag): New variable.
6726 (export_file): #ifdef COLLECT_EXPORT_LIST.
6727 (import_file, exports, imports, undefined): New variables.
6728 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
6729 (dump_list, dump_prefix_list, is_in_list): New functions.
6730 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
6731 (write_import_file, resolve_lib_name): New functions.
6732 (use_import_list, ignore_library): Same.
6733 (collect_exit): maybe_unlink import_file and #ifdef.
6734 (handler): Same.
6735 (main): New variable importf, #ifdef exportf. Move parsing of
6736 -shared before general argument parsing. Resolve AIX library
6737 paths and import libgcc.a symbols. Treat .so shared libraries the
6738 same as objects and .a libraries. Create alias for object_lst and
6739 increment it instead of original pointer. Scan AIX libraries as
6740 objects earlier instead of using scan_libraries. Perform AIX
6741 tlink later to resolve templates instead of forking ld.
6742 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
6743 (GCC_UNDEF_SYMBOL): New macro.
6744 (scan_prog_file): Loop for members of AIX libraries. Handle
6745 export/import of ctors/dtors.
6746 (aix_std_libs): New variable.
6747 (scan_libraries, XCOFF): Delete.
6748
6749Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
6750
6751 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
6752
e642002f
MS
67531998-02-19 Mike Stump <mrs@wrs.com>
6754
6755 * Makefile.in: Use $tooldir for sys-include to match toplevel
6756 configure.
6757
aff48bca
JL
6758Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
6759 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6760
6761 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
6762
6763 * emit-rtl.c (hard-reg-set.h): Include.
b57062ca 6764 (get_lowpart_common): Don't make new REG for hard reg in a
aff48bca
JL
6765 class that cannot change size.
6766 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
6767
6768 * combine.c: Revert previous patch.
6769
0a9bdce3
PE
67701998-02-19 Paul Eggert <eggert@twinsun.com>
6771
6772 * config/sparc/sol2-sld.h: New file.
6773 * configure.in (sparc-*-solaris2*): Use it when using the
6774 system linker.
6775
3875b31d
JL
6776Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
6777
6778 * loop.c (force_movables): Fix typo.
6779
bb5fa67f
MH
6780Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
6781
6782 * m88k.h: Change file pattern to match reality.
6783
7f83c0e7
JL
6784Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
6785
6786 * varasm.c (output_constant_pool): Fix dumb thinko in last
6787 change.
dffc0da4
JL
6788
6789 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
6790 a function name to a section name.
6791
d9525bec
BK
67921998-02-18 Doug Evans <devans@cygnus.com>
6793
6794 * tree.h (merge_machine_{type,decl}_attributes): Declare.
6795 (split_specs_attrs, strip_attrs): Add prototypes.
6796 * tree.c (merge_machine_{type,decl}_attributes): New functions.
6797 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
6798 Update olddecl's attributes too.
6799 * c-common.c (strip_attrs): New function.
6800 * c-typeck.c (common_type): Call merge_machine_type_attributes.
6801 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
6802 (make_decl_rtl): Likewise.
6803
68041998-02-18 Jim Wilson <wilson@cygnus.com>
6805
6806 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
6807
f9a366ac
JL
6808Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
6809
6810 Remove this change until we can fix it correctly.
6811 * collect2.c: Bracket declaration of 'exportf' and
6812 'full_real_ld_suffix'.
6813
206ae7cf
BS
6814Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6815
6816 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
6817
0a7ed33c
BS
6818Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6819
6820 * c-common.c (c_expand_start_cond, c_expand_end_cond,
6821 c_expand_start_else): Don't warn about non-ambiguous else even if
6822 braces are missing.
6823
68c9728a 6824Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
0a7ed33c 6825
68c9728a
RL
6826 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
6827 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
6828 instead.
6829
15941d29
RH
6830Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
6831
6832 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
6833 simplifying a subreg of a hard reg.
6834 (expand_compound_operation): Likewise.
6835 (force_to_mode): Likewise.
6836
5835e573
KG
6837Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6838
2fde567e
KG
6839 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
6840 (lshift_double): Add parentheses around + or - inside shift.
6841 (rshift_double): Likewise.
6842 (size_int_wide): Explicitly set type of `bit_p' to `int'.
6843
6844 * Makefile.in (fold-const.o): Depend on system.h.
6845
8e85ff2c
KG
6846 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
6847 change to gcc.c.
6848
5835e573
KG
6849 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
6850 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
6851 (sched_note_set): Remove unused parameter `b', all callers changed.
6852 (schedule_block): Likewise for `rgn'.
6853 (split_hard_reg_notes): Likewise for `orig_insn'.
6854 (check_live): Likewise for `trg'.
6855 (update_live): Likewise.
6856 (check_live_1): Explcitly declare variable `i' as int.
6857 (update_live_1): Likewise.
6858 (insn_issue_delay): Remove unused variable `link'.
6859 (sched_analyze_2): Add default case in enumeration switch.
6860 (schedule_insns): Remove unused variable `i'.
6861
6862 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
6863
b1a0c816
JL
6864Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
6865
6866 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
6867 a dangling else clause.
6868
365ca18b
GK
6869Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
6870
6871 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
6872 pointer for the stack pointer in MIPS16 and 64BIT.
6873
feb60352
R
6874Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6875
6876 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
6877 * emit-rtl.c (force_line_numbers, restore_line_number_status):
6878 New functions.
6879 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
6880 (expand_start_case): Adjust to this change.
6881 (check_seenlabel): New function.
6882 (pushcase, pushcase_range, expand_endcase): Use it.
6883
93f83bd5
R
6884Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6885
6886 * i386.md (adddi3): Add =!r,0,0,X alternative.
6887
b9af8fb0
DE
6888Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
6889
6890 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
6891 * x-aix31 (INSTALL): Delete.
6892
a4dee8a5
GK
6893Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
6894
b57062ca 6895 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
a4dee8a5
GK
6896 tsize changes to something other than zero.
6897
8898f8a1
GK
6898Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
6899
6900 * ginclude/va-mips.h: Replace casts of pointers to int with
6901 casts of pointers to __PTRDIFF_TYPE__.
6902
9ba7a303
JC
6903Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
6904
6905 * loop.c (strength_reduce, record_biv, record_giv): Use
6906 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
6907
b7f6588d
JM
69081998-02-16 Jason Merrill <jason@yorick.cygnus.com>
6909
6910 * tree.c (first_rtl_op): New fn.
6911 (unsave_expr_now): Use it.
6912 * print-tree.c (print_node): Likewise.
6913 * tree.c (has_cleanups): New fn.
6914 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
6915 conservative about pushing the cleanup point down.
6916 * tree.h: Declare them.
6917
8e7336f8
JL
6918Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
6919
6920 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
6921 (flag_schedule_reverse_after_reload): Likewise.
6922 (f_options): Remove reverse scheduling support.
6923 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
6924 (flag_schedule_reverse_after_reload): Likewise.
6925 * haifa-sched.c (rank_for_schedule): Remove support for reverse
6926 scheduling.
b57062ca 6927
79e11844
KG
6928Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6929
17248a6b
KG
6930 * gcc.c: Get system includes, prototypes and macros via "system.h"
6931 instead of doing it manually. Change all calls of the ctype
6932 macros to custom versions defined in "system.h".
6933
79e11844
KG
6934 * system.h: Fix return type of bcmp prototype from `void' to `int'.
6935 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
6936 Add a prototype for getenv.
6937
c9b4de06
JW
6938Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
6939
6940 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
6941
9f8f10de
JC
6942Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
6943
6944 * alias.c: Include <stdlib.h> and <string.h>.
6945 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
6946
d757d141
JL
6947Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
6948
6949 * version.c: Bump for snapshot.
6950
7a0a1f09
RE
6951Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
6952
6953 * arm.md (movsfcc): Also validate operands[3] when compiling hard
6954 float.
6955 (movdfcc): Only accept fpu_add_operand for operands[3].
6956
99e90438
RE
6957 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
6958 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
6959
29a82058
JL
6960Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
6961
6962 * varasm.c (output_constant_pool): Bring back 'done' label inside
6963 an appropriate #ifdef.
6964
b57062ca 6965 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
29a82058
JL
6966 appropriate #ifdef.
6967 (bitmap_copy, bitmap_operation): Likewise.
6968 * combine.c (combinable_i3pat): Similarly for 'src'.
6969 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
6970 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
6971 * regclass.c (copy_cost): Similarly for 'secondary_class'.
6972 * reload.c (make_memloc): Simliarly for 'i'.
6973 (find_reloads_address_1): Similarly for 'link'.
6974 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
6975 (emit_reload_insns): Similarly for 'second_reloadreg'.
6976 * unroll.c (iteration_info): Similarly for 'v'.
6977
6978 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
6979 * calls.c (expand_call): Similarly for 'i'.
6980 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
6981 * fold-const.c (strip_compund_expr): Similarly for 'type'.
6982 * function.c (fixup_var_refs_1): Similarly for 'width'.
6983 (fixup_memory_subreg): Similarly for 'saved'.
6984 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
6985 (setjmp_protect): Similarly for 'sub'.
6986 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
6987 * loop.c (record_giv): Similarly for 'p'.
6988 (combine_givs): Similarly for 'temp_iv'.
6989 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
6990 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
6991 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
6992 * unroll.c (unroll_loop): Similarly for 'copy'.
6993 (iteration_info): Similarly for 'b'.
6994 * varasm.c (assemble_string): Similarly for 'i'.
6995 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
6996
7d02bbef
JM
69971998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
6998
6999 * c-lang.c (lang_print_xnode): New function.
7000 * objc/objc-act.c (lang_print_xnode): Likewise.
7001 * print-tree.c (print_node): Call it
7002
e3e7774e
JW
7003Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
7004
7005 * dwarf2out.c (decl_scope_node): New type.
7006 (decl_scope_table): Change type to use it.
7007 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
7008 (push_decl_scope): Use new type. New locals containing_scope, i.
7009 Add code to handle setting previous field.
7010 (scope_die_for): Change type of local i to int. Add code to use
7011 previous field.
7012 (dwarf2out_init): Use new type.
7013
442f0a30
JM
70141998-02-13 Jason Merrill <jason@yorick.cygnus.com>
7015
7016 * except.c (emit_throw): Lose throw_used.
7017
fcdc0d6e
R
7018Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7019
7020 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
7021 was deleted.
7022 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
7023
b7673cdb
JL
7024Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
7025
7026 * genextract.c (main): Fix typo.
7027
9e4767ca 7028Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
69d4ca36 7029
b57062ca 7030 * c-lang.c (finish_file): Bracket declaration of static_ctors,
69d4ca36
RL
7031 static_dtors.
7032
7033 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
7034 'old_stack_arg_under_construction'
b57062ca 7035 (emit_library_call): Bracket declaration of 'upper_bound',
69d4ca36
RL
7036 'lower_bound', 'i', 'reg_parm_stack_space'
7037 (emit_library_call_value): Likewise.
b57062ca 7038 (store_one_arg):
69d4ca36
RL
7039
7040 * collect2.c: include <unistd.h> when appropriate.
7041 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
7042
7043 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
b57062ca 7044
69d4ca36
RL
7045 * explow.c (plus_constant_for_output_wide): Remove unused variable
7046 'code'.
b57062ca 7047 (memory_address): Remove unused variable 'orig_x'.
69d4ca36
RL
7048
7049 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
7050 (write_const_num_delay_slots): Remove unused variable 'i'.
7051
7052 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
7053 (gen_insn): Remove unused variable 'obstack_ptr'.
7054
7055 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
7056 'j', 'tmp', 'i'.
7057 (__bb_exit_trace_func): Remove unused variable 'e'.
7058
7059 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
7060 'funexp'.
7061 (expand_unop): Remove unused variable 'funexp'.
b57062ca 7062 (expand_complex_abs): Remove unused variable 'funexp'.
69d4ca36
RL
7063 (init_optabs): Bracket declaration of 'j'.
7064 (init_complex_libfuncs): Deleted. Dead static function.
b57062ca 7065
69d4ca36
RL
7066 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
7067
7068 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
7069 (reg_to_stack): 'initialized', 'before_function_beg'
7070 explictly type as ints instead of defaulting.
7071 (emit_swap_insn): Remove unused variable 'i2'.
7072 (compare_for_stack_reg): Remove unused variable 'src_note'.
7073
7074 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
7075
7076 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
7077
7078 * stmt.c (add_case_node): Add parens for assignment used as truth.
7079 (all_cases_count): Remove unused variable 'count_high'.
7080 (mark_seen_cases): Remove unused variable 'i'.
7081 (check_for_full_enumeration_handling): Remove unused variable 't'.
7082 Bracket declaration of 'all_values', 'l'.
b57062ca 7083
69d4ca36
RL
7084 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
7085
b57062ca
UD
7086 * varasm.c (assemble_string): Remove unused variable 'i'.
7087 (immed_double_const): Remove unused variable 'in_current_obstack'.
69d4ca36
RL
7088 (immed_real_const_1): Likewise.
7089 (output_constant_pool): Remove unreferenced label 'done'.
7090 (output_constant): Remove unused variable 'x'.
b57062ca 7091
69d4ca36
RL
7092 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
7093 a string.
7094
7095 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
7096 as truth.
7097
e3258cef
R
7098Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7099
7100 * combine.c (can_combine_p): Handle USEs in PARALLELs.
7101
1398405b
L
7102Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
7103
7104 * config/linux.h (LIB_SPEC): Add -lc for -shared if
7105 USE_GNULIBC_1 is not defined.
7106 * config/sparc/linux.h; Ditto.
7107
7108 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
7109
7110 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
7111 USE_GNULIBC_1 is not defined.
7112
03453a9f
FS
7113Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7114
7115 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
7116 for -mcall-linux
7117
aca69483 7118Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 7119
aca69483
KG
7120 * system.h: New file to get common systems includes and various
7121 definitions and declarations based on autoconf macros.
7122
5e0e0f03
JL
7123Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
7124
7125 * cccp.c (new_include_prefix): Correctly handle -I./.
7126
89e9f3a8
MM
7127Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
7128
7129 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
7130
8bd6ecc2 7131Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
89e9f3a8 7132
b57062ca 7133 * expr.c (expand_assignment): Correct typo exposed by -Wall.
8bd6ecc2
RL
7134 offset should have been a truth value, not an assignment.
7135
614bb5d4
JL
7136Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
7137
7138 * cse.c (delete_dead_from_cse): If a libcall produces a constant
7139 result and that result can be substituted into SET_SRC of the
7140 insn with the REG_RETVAL note, then perform the substitution
7141 and delete the libcall.
7142
00bb4b62
GK
7143Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
7144
b57062ca 7145 * mips.md (trucndihi2,truncdiqi2): Change these to support
00bb4b62
GK
7146 mips16.
7147
3871c609
GK
7148Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
7149
7150 * mips/mips.c (movdi_operand): Direct referances to symbols
7151 that arn't mips16 consts in mips16 mode arn't valid operands.
7152
7153 * mips/mips.c (mips_move_2words): Add gprel handling.
7154
2e72fa6a
GK
7155Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
7156
b57062ca 7157 * mips.md (extendsidi2): Allow extension to/from a non-mips16
2e72fa6a
GK
7158 register.
7159
a4910340
ML
7160Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
7161
7162 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
7163 <strings.h>.
7164
cc1e5b9a
KG
7165Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7166
7167 * Makefile.in (WARN_CFLAGS): New variable.
7168 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
7169
53949fac
MM
71701998-02-11 Mark Mitchell <mmitchell@usa.net>
7171
7172 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
7173 falling through default case in switch.
7174 (i386_aligned_p): Likewise.
7175
9504c31c
LI
7176Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
7177
7178 * mips/mips.h (mips_abi_string): Correct typo in comment.
7179
7e4e0956
GK
7180Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
7181
7182 * mips/mips.md (movdi): These PLUS's need to be Pmode.
7183
8fb3ae15
KG
7184Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7185
7186 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
7187 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
7188 indirectly via expr.h.
7189
a2d53b28
RH
7190Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
7191
7192 * stor-layout.c (layout_type): Do upper - lower in the native type,
7193 so as to properly handle negative indices.
7194
381127e8
RL
7195Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
7196
7197 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
7198 (expand_eh_region_start_tree): Remove unused variable 'note'.
7199 (exception_optimize): Remove unused variable 'regions'.
7200 (expand_builtin_eh_stub): Remove unused variable 'temp'.
7201 (copy_eh_entry): Deleted. Dead function.
7202
b57062ca 7203 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
381127e8
RL
7204 'last' with same #if HAVE_load_multiple as use of it.
7205 (move_block_from_reg): Likewise.
7206 (emit_move_insn_1): Remove unused variable 'insns'.
b57062ca
UD
7207 (store_constructor): Bracket declaration of startb, endb with
7208 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
381127e8 7209 'target', and 'xtarget'.
b57062ca 7210 (expand_builtin_setjmp): Remove unused variables 'op0',
381127e8 7211 'next_arg_reg', 'old_inhibit_defer_pop'.
b57062ca 7212 (expand_builtin): Remove unused variable 'offset'.
381127e8
RL
7213 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
7214 (emit_queue): Add parens for assignment used as conditional.
7215 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
7216
00c79232
ML
7217Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
7218
b57062ca 7219 * i386.c: Added include for recog.h.
00c79232
ML
7220 (override_options): Removed unused variable p. Initialized regno to
7221 avoid warning.
7222 (order_regs_for_local_alloc): Initialized regno to avoid warning.
7223 (legitimize_address): Likewise for 'other'.
7224 (i386_aligned_reg_p): Added default case with abort ().
7225 (print_operand): Likewise.
7226 (reg_mentioned_in_mem): Likewise.
7227 (ix86_expand_binary_operator): Removed unused variables i & insn.
7228 (ix86_expand_unary_operator): Removed unused variable insn.
7229 (output_fp_cc0_set): Removed unused variable unordered_label.
7230
f64cecad
JC
7231Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
7232
7233 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
7234 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
7235 and format string match.
7236
0200b5ed
JL
7237Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
7238
7239 * flow.c (life_analysis): Do not conside the stack pointer live at
7240 the end of a function if the fucntio ncalls alloca.
7241 (mark_used_regs): Similarly.
7242
74ccf2c2
JC
72431998-02-10 John F Carr <jfc@mit.edu>
7244
7245 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
7246 1, fzero on alternative 8.
7247
60e2d0ca
RK
7248Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7249
7250 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
7251
2fd0af53
R
7252Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7253
7254 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
7255 SUBREGs of CONST_INTs.
7256
a96c3544
JC
7257Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
7258
7259 * mips.c (print_operand, function_prologue): Make printf format
7260 match argument type.
7261
2514cbc9
KG
7262Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7263
7264 * alpha.c (alpha_return_addr): Remove unused variable `first'.
7265 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
7266 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
7267
72b0c616
RK
7268Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7269
7270 * loop.c (strength_reduce): When placing increment for auto-inc
7271 case, do comparison in loop order.
b57062ca 7272
2e0dd623
JC
7273Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
7274
7275 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
7276 not a HOST_WIDE_INT.
7277
7278 * calls.c (expand_call): Change test of expand_inline_function
7279 return value to stop compiler warning.
7280
7281 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
7282
7bf825d2
JW
7283Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
7284 Jeff Law (law@cygnus.com)
7285
7286 * regmove.c: Fix various minor formatting problems.
7287 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
7288 is true. Make end of basic block tests consistent through regmove.c.
7289 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
7290 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
7291
7d4679ea
KG
7292Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7293
7294 * gansidecl.h: Check for a conflicting macro definition before
7295 attempting to prototype bcopy, bcmp or bzero.
7296
b515ab3d
JL
7297Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
7298
060fbabf
JL
7299 * expr.c (clear_pending_stack_adjust): Handle case where a function
7300 calls alloca, but the user has specified -fomit-fframe-pointer.
7301
b515ab3d
JL
7302 * function.c (assign_parms): Fix typo in last change.
7303
ccd043a9
RL
7304Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
7305
ededb2fc
RL
7306 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
7307 <fcntl.h>.
7308 (free_path_suffix): Remove unreferenced static function.
7309 (process_command): Remove unused variable temp.
7310 (default_arg): Remove unused variable i.
7311 (do_spec_1): Add parens for assignment used as truth value.
7312 (main): Likewise.
7313 (validate_all_switches): Likewise.
7314 (main): Remove unused variables i, first_time>
7315
ccd043a9
RL
7316 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
7317
7318 * calls.c (expand_call): Remove unused variables funtree,
7319 n_regs, and tmpmode.
7320
7321 * dbxout.c, except.c: Include <string.h>/<strings.h>.
7322
7323 * explow.c: (plus_constant_for_output_wide) Removed unused
7324 variable all_constant.
7325
7326 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
7327 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
7328 genrecog.c, global.c, integrate.c , stupid.c : Include
7329 <stdlib.h>.
7330
7331 * genextract.c: (walk_rtx) Remove unused variable link.
7332
7333 * genrecog.c: (concat) Remove unreferenced static function.
7334
7335 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
7336
b57062ca
UD
7337 * stmt.c: Include <stdlib.h>.
7338 (expand_asm_operands): Remove unused variable val1.
ccd043a9
RL
7339 (expand_return): Remove unused variable block.
7340 (pushcase): Remove unused variables l and n.
7341 (pushcaserange): Likewise.
7342
7343 * unroll.c (unroll_loop): Remove unused variable temp.
7344
6553db01
GM
7345Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
7346
7347 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
7348
8479e1db
KG
7349Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7350
7351 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
7352 functions for whether they support the %p format specifier.
7353 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
7354 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
7355 * configure, config.in: Rebuild.
7356
bf9c83fe
JW
7357Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
7358
7359 * function.c (assign_parms): New variable named_arg, with value
7360 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
7361
09e4daf5
GK
7362Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
7363
b57062ca 7364 * mips/t-r3900: New - same as t-ecoff but eliminate
09e4daf5
GK
7365 multilibs: mips1 and mips3.
7366 * configure.in (tx39*): Use new mips/t-r3900.
7367 * configure: Rebuild.
7368 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
7369
b57d9225
JM
73701998-02-06 Jason Merrill <jason@yorick.cygnus.com>
7371
7372 * dwarf2out.c: Add old_args_size.
7373 (dwarf2out_args_size): Use it.
7374 (dwarf2out_begin_prologue): Initialize it.
7375 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
7376 pushed args until we see a call.
7377 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
7378 before outputting them.
7379
73801998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
7381
7382 * cplus-dem.c (demangle_template_template_parm): New function.
7383 (demangle_template): Handle template template parameters.
7384
259620a8
MM
73851998-02-02 Mark Mitchell <mmitchell@usa.net>
7386
7387 * calls.c (expand_call): Don't confuse member functions named
7388 realloc, setjmp, and so forth with the standard library
7389 functions of the same names.
7390
78418280
JL
7391Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
7392
7393 * stmt.c (expand_asm_operands): Correctly identify asm statements
94e5565f 7394 no output operands.
78418280 7395
6d819282 7396Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 7397
6d819282
MK
7398 * c-common.c (decl_attributes): Flag unrecognized attribute
7399 functions as warnings instead of as errors.
7400
aec98e42
ML
74011998-02-05 Marc Lehmann <pcg@goof.com>
7402
7403 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
7404 when -Os is specified.
7405 * toplev.c (main): Don't disable flag_inline_functions anymore when
7406 -Os is in effect.
7407
1230327b
R
7408Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7409
7410 * regmove.c: Update.
7411 * flags.h (flag_regmove): Declare.
7412 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
7413 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
7414 Moved into regmove; changed caller.
7415 * toplev.c (rest_of_compilation): Call regmove_optimize also for
7416 expensive_optimizations.
7417
1aca1e76
JL
7418Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
7419
7420 * version.c: Bump for snapshot.
7421
2993ce4c
R
7422Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7423 Undo this change (the problem was actually in reload):
7424 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7425
7426 * sh.md (movqi_i+1): New peephole.
7427
0340ed6c
JL
7428Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
7429
e535528b
JL
7430 * jump.c (jump_optimize): Lose calls to modified_in_p they are
7431 not needed anymore due to changes elsewhere in jump.c.
7432
0340ed6c
JL
7433 * jump.c (jump_optimize): Fix first arg to modified_in_p in
7434 previous change.
7435
6fd1c67b
RH
7436Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
7437
7438 * expr.c (expand_builtin_setjmp): Accept two new arguments for
7439 the labels to branch to on first and subsequent executions. Don't
7440 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
7441 and provide it with the jmp_buf. Use only one of
7442 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
7443 and provide the former with the target label.
7444 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
7445 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
7446 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
7447 insn to replace all of the normal nonlocal_goto code. Don't play
7448 with __dummy. Correct arguments to nonlocal_goto.
7449 * expr.h (expand_builtin_setjmp): Update prototype.
7450 * except.c (start_dynamic_handler): When using builtin_setjmp,
7451 generate more accurate flow information.
7452
7453 * alpha.md (nonlocal_goto_receiver_osf): Delete.
7454 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
7455 (builtin_longjmp, builtin_setjmp_receiver): New.
7456 * sparc.md (update_return): Disambiguate unspec number.
7457 (nonlocal_goto): Rearrange arguments to match caller in except.c.
7458 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
7459 jmp_buf operand.
7460 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
7461 (builtin_setjmp_setup*, builtin_longjmp): New.
7462
95936d18
JC
7463Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
7464
7465 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
7466
c120c689
JW
7467Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
7468
7469 * vmsconfig.com: Remove bytecode references.
7470
1a56b81f
AS
74711998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7472
91193900
AS
7473 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
7474 -fno-sjlj-exceptions works for a target that defines
7475 DWARF2_UNWIND_INFO as zero.
7476
1a56b81f
AS
7477 * regmove.c (fixup_match_1): Undo last change which removed some
7478 "useless" code, and add a comment explaining this.
7479
e4b3de45
GK
7480Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
7481
7482 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
7483 to TARGET_LONG64.
7484
2aabb736
KK
7485Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
7486
7487 * makefile.vms: Remove bytecode references.
7488 Create genrtl files.
7489
7457661d
MH
7490Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
7491
7492 * jump.c (jump_optimize): Allow conditional loading of floating point
7493 constants and constants from memory. Reinstalled modified_in_p tests.
7494
460f50dc
R
7495Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7496
7497 * loop.c (get_condition): Handle sign-extended constants.
7498
7a6df7f9
HPN
7499Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
7500
db771a3c
HPN
7501 * expr.c (emit_push_insn): Add code to use movstrti if present.
7502
7a6df7f9
HPN
7503 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
7504 and movstrqi as in emit_block_move ().
7505
ceb6edf2
TM
7506Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
7507
7508 * config/m68k/x-next: Remove /NextDeveloper/Headers from
7509 the directories to fixinclude - /usr/include is a link
7510 to it and hence its contents are fixed by default.
7511
9cddeb31
FS
7512Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7513
7514 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
7515
d2f05a0a
KK
7516Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
7517
7518 * cccp.c (main): Predefine __VMS_VER on VMS.
7519
f8dac6eb
R
7520Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7521
7522 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
7523 * fold-const.c (size_int): Replace with
7524 (size_int_wide).
7525 (make_bit_field_ref): Use bitsize_int for bit position.
7526 * stor-layout.c (sizetype): Delete.
7527 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
7528 (layout_record, layout_union, layout_type):
7529 Use bitsize_int for bit size.
7530 (set_sizetype): New function.
7531 (make_signed_type, make_unsigned_type): Use it.
7532 * c-decl.c (init_decl_processing): Likewise.
7533 * tree.h (size_int): Don't delcare, #define.
7534 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
7535 (set_sizetype): Declare.
7536 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
7537 Define.
7538 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
7539 Convert result to sizetype.
7540 (really_start_incremental_init, push_init_level):
7541 Set type of constructor_bit_index to sbitsizetype.
7542 (push_init_level): Use unsigned arithmetic to determine padding.
7543 (output_init_element): Likewise.
7544
b577a8ff
JL
7545Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
7546
7547 * combine.c (simplify_shift_const): Fix typo in last change.
7548
6e0ef100
JC
7549Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
7550
7551 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
7552 is (truncate (lshiftrt)).
7553
4208b40f
RH
7554Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
7555
7556 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
7557 Make sure result winds up in TGT.
7558 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
7559 src to be other than DImode.
7560 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
7561 (alpha_expand_unaligned_store_words): Likewise.
7562 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
7563 that source and destination are separately optimized for alignment.
7564 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
7565
82301b88
JL
7566Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
7567
7568 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
7569 with handling of -32768.
7570
a81fb89e
KG
7571Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7572
7573 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
7574 shell variable argument instead of only hard coded functions.
7575 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
7576
7577 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
7578 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
7579 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
7580 declarations for bcopy, bcmp and bzero.
7581
7582 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
7583
7584 * gansidecl.h: If we have bcopy but don't declare it, then do so.
7585 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
7586 bzero, index and rindex if they aren't already present.
7587
eed90b2c
JL
7588Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
7589
b57062ca 7590 * toplev.c (close_dump_file): Wrap function prototype for
eed90b2c
JL
7591 argument "func" in PROTO.
7592 (dump_rtl): Likewise.
7593
bfd6bc60
JC
7594Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
7595
7596 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
7597 MASK_V8PLUS.
7598 (output_function_epilogue): Omit epilogue if nothing drops through.
7599 (output_move_double): Supress int ldd usage on ultrasparc and v9.
7600 (registers_ok_for_ldd_peep): Likewise.
7601 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
7602 (ultrasparc_adjust_cost): New function.
7603 (sparc_issue_rate): New function.
7604 * sparc.h (MASK_VIS, TARGET_VIS): New
7605 (MASK_V8PLUS, TARGET_V8PLUS): New.
7606 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
7607 (TARGET_SWITCHES): Add vis and v8plus.
7608 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
7609 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
7610 (RTX_COSTS): Use TARGET_HARD_MUL
7611 (ADJUST_COST): Call ultrasparc_adjust_cost.
7612 (ISSUE_RATE): New.
7613 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
7614 of load & fp appropritely.
7615 (supersparc function units): Adjust for Haifa.
7616 (ultrasparc function units): Likewise.
7617 (get_pc_via_rdpc): All v9, not just arch64.
7618 (movdi_v8plus, movdi_v8plus+1): New.
7619 (adddi3_sp32+1): New.
7620 (subdi3_sp32+1): New.
7621 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
7622 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
7623 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
7624 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
7625 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
7626 (ldd peepholes): Suppress for v9.
7627 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
7628 (return_subsi): Revmove.
7629
4b526a9a
JC
7630Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
7631
7632 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
7633 save/restore MEM rtl.
7634
64a438d6
JL
7635Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
7636
7637 * configure.in: Check for declaration of abort.
9c893359 7638 * acconfig.h: Corresponding changes.
64a438d6
JL
7639 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
7640 be declared.
7641
f266c82f
JL
7642Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
7643
7644 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
7645 uses it.
7646
31fa4410
JL
7647Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
7648
7649 * version.c: Bump for snapshot.
7650
0ee31ab1
JL
7651Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
7652
7653 * configure.in: Check for atoq and atoll.
7654 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
7655 proper routine for converting ascii into long long values.
7656
eeeb91c5
KK
7657Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
7658
9d21ee77
KK
7659 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
7660
7661 * vmsconfig.com: Remove bytecode references.
7662
7663 * alpha/vms.h (PREFIX): Define.
7664
7665 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
7666
eeeb91c5
KK
7667 * am-alpha.h: Don't include alloca for OPEN_VMS.
7668
7669 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
7670
7671 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
7672 (GCC_INCLUDE_DIR): Define
7673
7674 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
7675 * makefile.vms: New file.
7676
7677 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
7678
7679 * alpha.c (output_prolog): Output '.name' directive
7680 for minimal traceback information.
7681
7682 * alpha.c (output_prolog): Don't prepend entry point symbols
7683 with '$' on OPEN_VMS.
7684
76d31c63
JL
7685Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
7686 Jeffrey A Law (law@cygnus.com)
7687
7688 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
7689 HOST_WIDE_INT.
7690
7691 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
7692 as needed.
7693 * genemit.c (gen_exp): Likewise.
7694 * genpeep.c (match_rtx): Likewise.
7695 * genrecog.c (write_tree_1): Likewise.
7696
7697 * c-lex.c (yyprint): Use proper format string based upon
7698 disposition of HOST_BITS_PER_WIDE_INT.
7699 (yylex): Put casts in right place for args to build_int_2.
7700
7701Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
7702
7703 * combine.c: Fix typos in Jan27 changes.
7704
1b7555bd
OR
7705Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
7706
7707 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
7708 (LINK_SPEC): Likewise.
7709 (STARTFILE_SPEC): Likewise.
7710
21ca87b8
MS
77111998-01-28 Mike Stump <mrs@wrs.com>
7712
7713 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
7714 reload completes.
7715 * genattrtab.c (reload_completed): Define.
7716
7717 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
7718 comments.
7719
d2c92f5a
R
7720Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7721
7722 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
7723 SUBREG_REG if the word count is unchanged, also in the input reload
7724 case. Disable non-applicable sanity checks.
7725
90ad3ab7
JL
7726Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
7727
7728 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
7729
7fad712c
ILT
7730Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
7731
7732 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
7733
2290e0ec
PB
7734Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
7735
1aea01ea
PB
7736 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
7737 is a TREE_VEC before trying to use it for baseclasses.
7738 (Chill uses the same field for a different purpose.)
7739
2290e0ec
PB
7740 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
7741
16980900
LT
7742Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
7743
4c46bad0 7744 * config.sub: More accurate determination of HP processor types.
16980900 7745
5e9defae
KG
7746Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7747
7748 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
7749 prototype for `handle_sysv_pragma', and make it static. Add
7750 parentheses around assignment used as truth value.
7751
7752 * combine.c (combine_instructions): Protect variable `prev' with
7753 macro HAVE_cc0.
7754 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
7755 (extract_left_shift): Add parentheses around operand of &.
7756 (merge_outer_ops): Avoid an empty body in an else-statement.
7757 (gen_rtx_combine): Remove unused variable `i'.
b57062ca 7758
5e9defae
KG
7759 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
7760 function monstartup `void'. Likewise for internal_mcount. Add
7761 `static void' prototype for moncontrol. Reconcile sprintf format
b57062ca 7762 vs. args.
5e9defae
KG
7763
7764 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
7765 Make return type of function_arg_slotno explicitly `int'.
7766 (reg_unused_after): Add parentheses around assignment used as
7767 truth value.
7768 (save_regs): Add explicit braces to avoid ambiguous `else'.
7769 (function_arg_slotno): Add parentheses around && within ||.
7770 (function_arg_pass_by_reference): Likewise.
7771 (sparc_flat_output_function_prologue): Reconcile fprintf format
7772 vs. args.
7773
7774 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
7775 assignment used as truth value.
7776
7777 * cplus-dem.c: Include <stdlib.h>.
7778 (demangle_signature): Avoid an empty body in an else-statement.
7779 (do_type): Remove unused variable `lvl'.
b57062ca 7780
5e9defae
KG
7781 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
7782 Include <string.h>/<strings.h>.
7783 (cpp_lex): Remove unused variable `namelen'.
7784 (cpp_lex): Explicitly declare `num_chars' as an int.
7785
7786 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
7787 <unistd.h> instead. Explicitly declare is_system_include
7788 returning int.
b57062ca 7789 (make_assertion): Remove unused variable `kt'.
5e9defae
KG
7790 (cpp_expand_to_buffer): Hide variable `obuf'.
7791 (output_line_command): Remove unused variables, `line_end',
7792 `line_cmd_buf' and `len'.
7793 (macarg): Remove unused variable `arg_start'.
7794 (special_symbol): Remove unused variable `i'. Add parentheses
b57062ca 7795 around assignment used as truth value.
5e9defae 7796 (do_include): Remove unused variables `pcfname' and `retried',
b57062ca 7797 hide `pcf' and `pcfbuflimit'.
5e9defae
KG
7798 (do_line): Remove unused variable `i'.
7799 (finclude): Hide variable `missing_newline'.
7800 (cpp_handle_options): Remove unused variable `j'.
7801 (read_token_list): Remove unused variable `eofp'.
7802 (cpp_error_with_line): Remove unused variable `i'.
7803 (cpp_warning_with_line): Likewise.
7804 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
7805 (cpp_error_from_errno): Remove unused variable `i'.
7806
7807 * cse.c (invalidate): Add parentheses around assignment used as
7808 truth value.
7809 (find_best_addr): Move declaration of variable `our_cost' inside
7810 the conditional macro where its used.
7811 (fold_rtx): Avoid an empty body in an if-statement.
7812 (cse_insn): Wrap variables `this_insn_cc0_mode' and
7813 `this_insn_cc0' in macro HAVE_cc0.
b57062ca 7814
5e9defae
KG
7815 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
7816 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
7817 (output_uleb128): Likewise.
7818 (output_sleb128): Likewise.
7819 (output_cfi): Likewise.
7820 (output_call_frame_info): Remove unused variables `j', `fde_size'
7821 and `fde_pad'.
7822 (comp_unit_has_inlines): Hide declaration as per rest of file.
7823 (size_of_line_prolog): Correct typo in prototype.
7824 (add_arange): Likewise.
7825 (output_aranges): Likewise.
7826 (add_name_and_src_coords_attributes): Likewise.
7827 (gen_array_type_die): Likewise.
7828 (gen_inlined_subroutine_die): Likewise.
7829 (equate_decl_number_to_die): Remove unused variable `i'.
7830 (print_die): Reconcile format vs. args in fprintf's.
7831 (print_dwarf_line_table): Likewise.
7832 (output_die): Likewise.
7833 (output_line_info): Likewise.
7834 (add_subscript_info): Avoid an empty body in an else-statement.
7835 (gen_subprogram_die): Remove unused variable `fp_loc'.
7836
7837 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
7838 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
7839 macro. Protect `src_coords_attribute' prototype with
7840 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
7841 prototype as in the rest of the file. Likewise for
7842 `output_pointer_type_die' and `output_reference_type_die'. Remove
7843 prototype for `type_of_for_scope'.
7844 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
7845 (type_attribute): Add explicit braces to avoid ambiguous `else'.
b57062ca 7846
5e9defae
KG
7847 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
7848 (shorten_branches): Protect declaration of tmp_length with
7849 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
7850 (profile_function): Protect declaration of `sval' and `cxt'
7851 variables with appropriate macros.
7852 (final_scan_insn): Likewise for `note' variable. Add explicit
7853 braces to avoid empty body in an if-statement.
7854 (output_asm_insn): Move variable `i' inside macro conditional
7855 where it is used. Add parentheses around assignment used as truth
7856 value.
7857 (asm_fprintf) Likewise, likewise.
b57062ca 7858
5e9defae
KG
7859 * fix-header.c (main): Remove unused variable `done'. Protect
7860 declaration of `i' with FIXPROTO_IGNORE_LIST.
7861
7862 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
7863
7864 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
7865 `ind'.
7866
7867 * profile.c: Include <string.h>/<strings.h>.
7868 (instrument_arcs): Remove unused variables `note', `inverted',
7869 `zero' and `neg_one'.
7870 (branch_prob): Avoid empty body in an if-statement.
7871
7872 * regclass.c: Include <stdlib.h>.
7873 (reg_alternate_class): Explicitly declare parameter `regno'.
7874
7875 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
7876 parentheses around assignment used as truth value.
7877 (find_matches): Remove unused variables `output_operand' and
7878 `matching_operand'.
7879 (fixup_match_1): Remove statement with no effect: "if (0) ;".
7880
7881 * scan.c (sstring_append): Explicitly declare `count' as int.
7882 (scan_string): Explicitly declare parameter `init' as int.
7883
7884 * sched.c: Include <stdlib.h>.
7885 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
7886 (rank_for_schedule): Add parentheses around assignment used as
7887 truth value.
7888 (schedule_block): Likewise.
7889 (regno_use_in): Likewise.
7890 (schedule_insns): Remove unused variable `i'.
7891
7892 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
7893 (v_message_with_decl): Remove unused variable `n'.
7894 (botch): Explicitly declare parameter `s' as char *.
7895 (main): Add parentheses around assignment used as truth value.
7896
7897 * tree.c (make_node): Protect the variable `kind' with the
7898 GATHER_STATISTICS macro.
7899 (real_value_from_int_cst): Move variable `e' inside conditional
7900 macro area where it is used.
7901 (tree_last): Add parentheses around assignment used as truth value.
7902 (build1): Protect the variable `kind' with the GATHER_STATISTICS
7903 macro.
7904 (print_obstack_statistics): Reconcile format vs. args in fprintf.
7905 Protect variables `i', `total_nodes', and `total_bytes' with the
7906 GATHER_STATISTICS macro.
7907
4b6bb562
MS
7908Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
7909
7910 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
7911 some comments regarding use of dead_or_set_p.
7912
e95f0195
TV
7913Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
7914
7915 * fixincludes: Tweak fix for struct exception in math.h
7916
c3499f00
GK
7917Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
7918
7919 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
b57062ca 7920 Change mode of registers used to add/sub from
c3499f00
GK
7921 hard_frame_pointer_rtx from word_mode to Pmode.
7922
01898d58
NC
7923Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
7924
6db34dd4
NC
7925 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
7926 asm_output_aligned_bss() instead of asm_output_bss().
7927
01898d58
NC
7928 * toplev.c (rest_of_compilation): Replace references to
7929 stack_reg_dump_file and dbr_sched_dump_file with references to
b57062ca 7930 rtl_dump_file.
01898d58 7931
7b6ffd11
KI
7932Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
7933
7934 * tlink.c (scan_linker_output): Call fclose() for opened files.
7935
60593797
RH
7936Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
7937
7938 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
7939 compiling with -fpic -- we want to be able to override symbols
7940 properly.
7941 (alpha_expand_block_move): Fix thinko in last change.
7942
7943 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
7944 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
7945 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
b57062ca 7946
5e4aab97
RH
7947Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
7948
7949 * alpha.md (abssf, absdf): Revert last change.
7950
69145bcc
JC
7951Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
7952
7953 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
7954 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
7955
4926b75a
JL
7956Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
7957
7958 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
7959 a CONST_INT into SFmode.
7960
c6aded7c
AG
7961Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
7962
7963 * flags.h: New flag (optimize_size).
7964 * toplev.c (main): Parse -Os option and set optimize_space
7965 accordingly.
b57062ca 7966 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
c6aded7c
AG
7967 __OPTIMIZE_SIZE__ when compiling with -Os.
7968 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
7969 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
7970 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
7971 to macro.
7972 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
7973
3698f44e
MH
7974Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
7975
7976 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
7977 stuff only if MCT_TEXT is #define'd.
7978
ac8a456a
MO
7979Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
7980
7981 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
7982 configurations.
7983
032713aa
NC
7984Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
7985
7986 * toplev.c: Add -dM command line option to dump RTL after the
7987 machine dependent reorganisation pass, if there is one.
7988 Reorganise RTL dump code, so that only one file handle is
b57062ca 7989 needed.
032713aa 7990
ec2be682
BK
7991Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
7992
7993 * except.c (check_exception_handler_labels): Disable warning when
7994 flag_syntax_only.
7995
e232b7b3
JW
7996Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
7997
7998 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
7999
2a851b5c
R
8000Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8001
8002 * c-decl.c (grokdeclarator): Get parameter tags from
8003 last_function_parm_tags.
8004 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
8005 traversing the parameter types.
8006 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
8007
808fbfac
JL
8008Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
8009
8010 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
8011 the default case.
8012 (get_shift_alg): Fix typo.
8013
15389075
RH
8014Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
8015
8016 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
8017
83c8ddef
RH
8018Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
8019
8020 * toplev.c (get_run_time): Make sure each case gets its variables.
8021
db81d74a
RH
8022Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
8023
8024 * configure.in (build_xm_file): Add auto-config.h if host=build.
8025 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
8026 (build_xm_file_list): Likewise.
8027 * configure: Rebuild.
b57062ca 8028
f745c7a2
AB
8029Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
8030
8031 * recog.c (validate_replace_rtx_1): Only perform substitutions
8032 of arguments to commutative and comparison operators once.
8033
963f4057
KG
8034Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8035
91a51951
KG
8036 * sparc.c (output_cbranch): Add default case in
8037 enumeration switch.
b57062ca 8038
91a51951
KG
8039 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
8040 (emit_delay_sequence): Eliminate unused parameter, all callers
8041 changed.
8042 (fill_simple_delay_slots): Likewise.
8043 (fill_slots_from_thread): Likewise.
8044 (fill_eager_delay_slots): Likewise.
8045 (mark_referenced_resources): Add default case in enumeration switch.
8046 (mark_set_resources): Likewise.
8047 (rare_destination): Likewise.
8048 (mostly_true_jump): Likewise.
8049 (find_dead_or_set_registers): Likewise.
8050 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
8051 (update_reg_unused_notes): Remove unused variable `p'.
8052 (mark_target_live_regs): Remove unused variables `next' and
8053 `jump_count'.
8054 (fill_simple_delay_slots): Remove unused variable `j'.
8055 (fill_slots_from_thread): Add parentheses around assignment used
8056 as truth value.
8057 (dbr_schedule): Likewise.
8058
963f4057
KG
8059 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
8060 (objc.stage2, objc.stage3, objc.stage4): Likewise.
8061
e82ad93d
MT
8062Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
8063
8064 * cse.c (simplify_ternary_operation): Don't try to simplify
8065 IF_THEN_ELSE expressions (created by combine) that don't use
8066 relational operators.
8067
b4b04bf9
JL
8068Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
8069
ed1ecb19
JL
8070 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
8071 simplifications.
8072
b4b04bf9
JL
8073 * crtstuff.c (init_dummy): Keep the epilogue in the init
8074 section for non-ELF systems.
8075
deeef0ac
R
8076Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8077
8078 * sh.md (movqi_i+1): New peephole.
8079
03566575
JW
8080Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
8081
8082 * Makefile.in: Remove remaining bytecode stuff.
8083 * emit-rtl.c, expr.c: Likewise.
8084
eb96c120
NC
8085Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
8086
8087 * toplev.c (lang_options): Add unknown-pragma options.
8088
f03204e9
PB
8089Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
8090
8091 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
8092 special (and incomplete) handling for Chill arrays.
8093
4e762a38
JC
8094Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
8095
8096 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
8097 to get clock rate.
8098
c3499f00 8099Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
319f217e
GK
8100
8101 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
8102
19f673eb
SS
81031998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
8104
8105 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
8106 .frame directive instead of FRAME_POINTER_REGNUM.
8107
74cf1c6d
RK
8108Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
8109
8110 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
8111 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
8112 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
8113 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
8114 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
8115 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
8116 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
8117 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
8118 mcpu32 or m5200.
8119 * longlong.h: Replace __mc68332__ with __mcpu32__.
8120
e1402e7d
JL
8121Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
8122
8123 * version.c: Bump for snapshot.
8124
6d49a073
JW
8125Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
8126
8127 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
8128 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
8129 * reload1.c (eliminate_regs): Likewise.
8130
c485e6a0
JL
8131Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
8132
8133 * regmove.c (find_matches): Initialize matches->earlyclobber too.
8134
84303d9a
RH
8135Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
8136
8137 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
8138 (negsf2, negdf2): Use proper subtract in IEEE mode.
8139
b93a436e
JL
8140Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
8141
27766f0e
JL
8142 * Makefile.in: Remove more bytecode stuff.
8143 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
8144 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
8145 * f/install.texi, objc/Make-lang.in: Likewise.
8146
b93a436e
JL
8147 * Makefile.in: Remove all bytecode support.
8148 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
8149 * emit-rtl.c: Remove all bytecode support.
8150 * expr.c, expr.h function.c, integrate.c: Likewise.
8151 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
8152 * tree.h, varasm.c: Likewise.
424e713c
JL
8153 * config/m68k/m68k.h: Likewise.
8154 * bi-*, bc-*, bytecode*: Delete bytecode related files.
c9804136 8155 * modemap.def: Likewise.
b93a436e 8156
7e07e3ba
GK
8157Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
8158
8159 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
8160 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
8161
685885b7
RH
8162Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
8163
8164 * i386.md (push): Prohibit symbolic constants if flag_pic.
8165 (movsi+1): Likewise for move to non-register.
8166
5830e3a0
JW
8167Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
8168
11ea364a
JW
8169 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
8170 (print_operand): Handle 0xffffffff on 32 bit host.
8171
a851212a
JW
8172 * configure.in (thread_file): Rename uses before main loop to
8173 target_thread_file. Initialize to empty in main loop. Set thread_file
8174 to target_thread_file after main loop if not set.
8175 * configure: Rebuild.
8176
5830e3a0
JW
8177 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
8178 (add_values_to_cover): Revert last change (which had no ChangeLog
8179 entry).
8180 (simplify_with_current_value_aux): Handle CONST_INT.
8181
829e1aaf
AS
8182Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8183
8184 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
8185
76844337
RH
8186Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
8187
8188 * configure.in: Add cpp stringify test.
8189 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
8190 * gengenrtl.c: Use it.
8191 * configure, config.in: Rebuild.
8192
a3f80023
AS
8193Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8194
8195 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
8196
c5d0345e
RH
8197Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
8198
8199 * configure.in: Find declaration for sbrk.
8200 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
8201 * config.in, configure: Rebuild.
8202 * mips-tfile.c: Properly protect declaration of sbrk and free.
8203 * toplev.c: Properly protect declaration of sbrk.
8204
bb02e7ea
RH
8205Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
8206
8207 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
8208
30c2fa75
JL
8209Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
8210
8211 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
8212
a0372c94
MS
8213Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
8214
8215 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
8216
c9ec4f99
DM
8217Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
8218
0e9ff885
DM
8219 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
8220 constant offset computations from objects with known alignment in
8221 the presence of STACK_BIAS.
8222
7bcac048
DM
8223 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
8224 necessary.
8225 (const_hash): Hash val is unsigned long.
8226 (SYMHASH): Likewise.
8227
8228 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
8229
8230 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
8231 char pointer, not HOST_WIDE_INT.
8232 (print_node): Likewise. Also hash is unsigned long not
8233 HOST_WIDE_INT.
8234
8235 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
8236
c9ec4f99
DM
8237 * explow.c (optimize_save_area_alloca): New function for targets
8238 where SETJMP_VIA_SAVE_AREA is true.
8239 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
8240 compute the amount of stack space needed should we find later that
8241 setjmp is never called by this function, stuff rtl for this inside
8242 a REG_NOTE of the final SET of stack_pointer_rtx.
8243 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
8244 current_function_calls_alloca, call optimize_save_area_alloca.
8245
ca097615
JW
8246Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
8247
8248 * i386.md: Remove redundant integer push patterns.
8249 Don't bother checking for TARGET_PUSH_MEMORY when
8250 pushing constants or registers.
8251
a3105a89
MK
8252Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8253 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
b57062ca 8254
a3105a89
MK
8255 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
8256 (pwait): New function for mingw32.
8257
8258 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
8259 pipe support is broken for now.
8260
51549d76
LI
82611998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
8262
ffc3503d
JL
8263 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
8264 between frame_pointer_rtx, hard_frame_pointer_rtx, and
8265 arg_pointer_rtx is respected in initialization.
8266 (init_emit_once): Use gen_rtx_raw_REG() to create
8267 return_address_pointer_rtx.
8268
51549d76
LI
8269 * reorg.c: #include "expr.h" for rtx prototypes.
8270 * Makefile.in (reorg.o): Depend on expr.h
8271
b24a815b
PN
8272Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
8273
8274 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
8275 local_prefix to sub-make invocations.
8276
1e7b997a
DM
8277Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
8278
8279 * objc-parse.c: Recognize protocol qualifiers in class definitions.
8280
340fb41f
JL
8281Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
8282
ffc3503d
JL
8283 * rtl.h: Fix typos.
8284
aef28d1d 8285 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6885fc87 8286 * configure.in: Check for atol.
aef28d1d
JL
8287 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
8288
4399e7a3
JL
8289 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
8290
72ec635f
JL
8291 * loop.c (find_and_verify_loops): When attempting to move insns from
8292 inside the loop outside the loop, create a BARRIER if no suitable
8293 one was found.
8294
1be6e437
JL
8295 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
8296 favor of an equivalent change from gcc-2.8.
8297
340fb41f
JL
8298 * i386/x-sco5 (CC): Remove trailing whitespace.
8299
982255c8 8300Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 8301
982255c8
KG
8302 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
8303 (accessor_from_format): Likewise.
8304 (xmalloc): New function for use when linking with alloca.o.
8305
db8abea3
BH
8306Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8307
8308 * frame.c (find_fde): Correct FDE's upper bound.
8309
5d483f63
RH
8310Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
8311
8312 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
8313
9a960e6b
JL
8314Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
8315
8316 * calls.c (expand_call): Move #ifdef code out of macro argument
8317 lists.
8318 (emit_library_call, emit_library_call_value): Likewise.
8319
a4b18346
JL
8320Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
8321
8322 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
8323
a252996a
JL
8324Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
8325
8326 * version.c: Bump for snapshot.
8327
38a448ca
RH
8328Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
8329
8330 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
8331 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
8332 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
8333 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
8334 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
8335 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
8336 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
8337 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
8338 * unroll.c, varasm.c: Likewise.
8339 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
8340
8341Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
60db002d
GK
8342
8343 * mips.h: Fix some type-o's from a previous change.
8344
a8decb2c
JL
8345Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
8346
b57062ca 8347 * loop.c (check_dbra_loop): Make sure initial value is a
a8decb2c
JL
8348 CONST_INT before trying to normalize it.
8349
0e2b736c
RL
8350Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
8351
8352 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
8353
a3aa3d8c
HB
8354Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
8355
8356 * cppexp.c: Include gansidecl.h
8357
8b496c8d
ILT
8358Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
8359
8360 * svr4.h (LINK_SPEC): Never specify -h.
8361 * ptx4.h (LINK_SPEC): Likewise.
8362 * rs6000/sysv4.h (LINK_SPEC): Likewise.
8363 * sparc/sol2.h (LINK_SPEC): Likewise.
8364
c995fea1
RH
8365Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
8366
8d47dfc5
RH
8367 * c-typeck.c (comptypes): Exit early on NULL input.
8368
c995fea1
RH
8369 * haifa-sched.c (schedule_insns): Correctly remove inter-block
8370 dependencies after reload.
8371
88ea0ad1
FS
8372Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
8373
8374 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
8375
f5e86959
JL
8376Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
8377
8378 * alpha/vms.h (DIR_SEPARATOR): define
8379
8380Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6c32c807
BH
8381
8382 * Makefile.in (stamp-proto): Remove.
8383 (protoize.o, unprotoize.o): Straightforward compile.
8384 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
8385
93006f8c
MK
8386Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8387
8388 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
8389 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
8390
e4c4f8df
JL
8391Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
8392
8393 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
8394 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
8395 * sparc/netbsd.h, vax/netbsd.h: Likewise.
8396
4aa0c2a5
SS
8397Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
8398
8399 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
8400
c43143f6
JW
8401Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
8402
8403 * configure.in (target_cpu_default, target_cpu_default2): Use double
8404 quotes around them when testing their value.
8405 * configure: Rebuilt.
b57062ca 8406
4b8140a6
JC
8407Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
8408
8409 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
8410 to allocate rtx.
8411 (gendef): Call obstack_alloc_rtx.
8412
82de9b28 8413Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
fe07d4c1
RL
8414
8415 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
8416 for now.
8417
23092526 8418Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 8419
23092526
MK
8420 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
8421 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
8422 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
8423
b57062ca 8424Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
32318600
JW
8425
8426 * mips.md (return_internal): Change mode from SImode to VOIDmode.
8427
ef720b21
KJ
8428Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
8429
8430 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
8431 "-static".
8432
cde21847
SC
8433Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
8434
8435 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
8436 suffix from operand 3.
8437
184bb750
R
8438Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8439 Jeffrey A Law (law@cygnus.com)
8440
8441 * regmove.c: New implementation of regmove pass.
8442 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
8443 decls, make them have external linkage. Return a value from
8444 optimize_reg_copy_1.
8445 * reload.h (count_occurrences): Add decl.
8446 * reload1.c (count_occurrences): Delete decl, make it have external
8447 linkage.
8448 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
8449
3f9e9508 8450Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
b57062ca 8451
3f9e9508
JL
8452 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
8453 if it is not defined.
b57062ca 8454
3b80f6ca
RH
8455Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
8456
8457 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
8458 * emit-rtl.c (gen_rtx): Move special code to ...
8459 (gen_rtx_CONST_INT): New function.
8460 (gen_rtx_REG): New function.
8461 (*): Update all calls to gen_rtx.
8462 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
8463 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
8464 (GEN_INT): Call gen_rtx_CONST_INT.
8465 * gengenrtl.c: New file.
8466
1c72c7f6
JC
8467Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
8468
8469 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
8470 (base_alias_check): If no base found for address call canon_rtx and
8471 try again.
8472
8fa4e1b4
JL
8473Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
8474
8475 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
8476 arguments for mips16.
8477 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
8478 Don't lose if tsize is zero after handling large stack for mips16.
8479 * mips.md (return): For trivial return, return address is in $31.
8480
eb774d8d
NS
8481Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
8482
8483 * mips/mips16.S: Various changes to make it work with -msingle-float
8484 and -EL.
8485
2bcb2ab3
GK
8486Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
8487 Ian Lance Taylor <ian@cygnus.com>
8488 Jeff Law <law@cygnus.com>
8489
8490 * mips.c, mips.h, mips.md: First cut at merging in mips16
8491 support. Major modifications throughout all three files.
8492
db0d1ed9
SS
8493Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
8494
8495 * configure.in: Make gthr-default.h a forwarding header instead of
8496 a symlink.
8497
79873958
KG
8498Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8499
86e011ad
KG
8500 * gcov-io.h: Include sys/types.h to ensure we get size_t.
8501
79873958
KG
8502 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
8503
35a42f5f
JW
8504Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
8505 Jeffrey A Law (law@cygnus.com)
8506
8507 * crtstuff.c (__frame_dummy): New function for irix6.
8508 (__do_global_ctors): Call __frame_dummy for irix6.
8509 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
8510
ef86d2ee
WL
8511Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
8512
8513 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
8514
6c174fc0
RH
8515Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
8516
8517 * c-decl.c (init_decl_processing): Provide proper fallback symbol
8518 for __builtin_memset.
8519 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
8520 not INTEGER_CST. Assert arg 3 is a constant.
8521
8522 * alpha.c (mode_width_operand): Accept 64-bit modes.
8523 (mode_mask_operand): Likewise.
8524 (print_operand): Likewise for 'M' and 'U' codes.
8525 (alpha_expand_unaligned_load): New function.
8526 (alpha_expand_unaligned_store): Likewise.
8527 (alpha_expand_unaligned_load_words): Likewise.
8528 (alpha_expand_unaligned_store_words): Likewise.
8529 (alpha_expand_block_move): Likewise.
8530 (alpha_expand_block_clear): Likewise.
8531 * alpha.h (MOVE_RATIO): New define.
8532 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
8533 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
8534
8535 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
8536 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
8537
8fbf199e
RH
8538Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
8539
8540 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
8541 * configure: Update.
8542
2d490e3e
JL
8543Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
8544
aa2ae679
JL
8545 * emit-rtl.c (operand_subword): Correctly handle extracting a word
8546 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
8547
2d490e3e
JL
8548 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
8549 for first argument.
8550
6e26218f
ILT
8551Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
8552
8553 * configure.in: Set and subsitute host_exeext. Use it when creating
8554 the assembler and linker symlinks.
8555 * configure: Rebuild.
8556 * Makefile.in (exeext): Set to @host_exeext@.
8557 (build_exeext): New variable, set to @build_exeext@.
8558 (FLAGS_TO_PASS): Pass down build_exeext.
8559 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
8560 programs.
8561
1b31097e
JL
8562Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
8563
8564 * mn10200.md (addsi3, subsi3): Fix thinkos.
8565
194faace
RH
8566Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
8567
8568 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
8569 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
8570 unix always, since we want to be able to thunk to functions in a
8571 shared library from an application.
8572
975602f8
ILT
8573Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
8574
8575 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
8576 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
8577
0eb1ad44
JL
8578Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
8579
8580 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
8581 offset's mode is not ptr_mode, convert it.
8582
eff0f7ac
MM
8583Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
8584
8585 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
8586 compiling if it was already defined.
8587
2c3a56ad
JL
8588Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
8589
8590 * flow.c (find_basic_blocks): Don't create a new basic block
8591 for calls in a LIBCALL block.
8592
fc97718f
DE
8593Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
8594
8595 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
8596
5b5a2a1e
JL
8597Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
8598
8599 * cse.c (rtx_cost): Remove conflicting default case.
8600
128f7968
RH
8601Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
8602
8603 * configure.in: Move default enabling of Haifa out of for loop.
8604 * configure: Rebuild.
8605
e81b4fbe
JL
8606Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
8607
8608 * version.c: Bump for snapshot.
8609
f24af81b
TT
86101997-12-25 Teemu Torma <tot@trema.com>
8611
8612 * Makefile.in (GTHREAD_FLAGS): New var.
8613 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
8614 (distclean): Remove gthr-default.h.
8615
8616 * configure.in: Accept dce as a thread package.
8617 Check for thread.h and pthread.h.
8618 Link gthr-default.h to appropriate thread file and set
8619 gthread_flags.
8620 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
8621 include multilib definitions from pa/t-dce-thr.
8622 (sparc-*-solaris2*): Enable threads by default, if thread.h or
8623 pthread.h is found, preferring posix threads over solaris ones.
8624
8625 * config/pa/t-dce-thr: New file.
8626 * config/pa/t-pa: Removed multilibs.
8627 * config/sparc/t-sol2: Ditto.
b57062ca 8628
f24af81b
TT
8629 * gthr.h: New file.
8630 * gthr-single.h: New file.
8631 * gthr-posix.h: New file.
8632 * gthr-solaris.h: New file.
8633 * gthr-dce.h: New file.
8634 * libgcc-thr.h: Removed.
8635 * objc/thr-dce.c: New file copied from thr-decosf1.c.
8636
8637 * frame.c: Include gthr.h instead of libgcc-thr.h.
8638 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
8639 (eh_context_initialize): If __gthread_once fails, use static eh
8640 context.
8641 (eh_context_free): Call __gthread_key_dtor.
8642
d9a4ee00
JL
8643Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
8644
8645 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
8646
04bd620d
JW
8647Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
8648
556c714b 8649 * cse.c (max_insn_uid): New variable.
556c714b
JW
8650 (cse_around_loop): Use max_insn_uid.
8651 (cse_main): Set max_insn_uid.
8652
04bd620d
JW
8653 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
8654 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
8655 -mlong64, and -mgp{32,64} options.
8656 * mips.c (mips_abi): Change type to int.
8657 * mips.h (enum mips_abi_type): Delete.
8658 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
8659 (mips_abi): Change type to int.
8660
439d5a35
JC
8661Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
8662
8663 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
8664 optimization is now always enabled.
8665
8666 * calls.c (expand_call): Recognize C++ operator new as malloc-like
8667 function.
8668
8669 * alias.c (memrefs_conflict_p): Eliminate tests now done by
8670 base_alias_check.
8671 (*_dependence): Call canon_rtx before base_alias_check.
8672 (init_alias_once): New function to precompute set of registers which
8673 can hold Pmode function arguments.
8674
8675 * rtl.h: Declare init_alias_once.
8676
8677 * toplev.c (compile_file): Call init_alias_once.
8678
280e521f
JL
8679Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
8680
8681 * tree.c (restore_tree_status): Do not dereference a null pointer.
8682
95b8c0c8
PE
8683Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
8684
8685 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
8686 RLIMIT_STACK. This maintains consistency with the recent, similar
8687 patch to cccp.c and toplev.c.
8688
71d9b493
RH
8689Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
8690
8691 * genattrtab.c (expand_units): For large nr opclasses, expand
8692 function_units_used with ORX to prevent blowups. Tag with FFS.
8693 (num_unit_opclasses): New variable.
8694 (gen_unit): Update it.
8695 (enum operator): Add ORX_OP.
8696 (operate_exp): Treat ORX as or, except don't expand across an if.
8697 Reuse number rtx's after operating on them.
8698 (check_attr_value): Accept IOR, AND, & FFS.
8699 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
8700 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
8701 (write_expr_attr_cache, write_toplevel_expr): New functions.
8702 (write_attr_get): Handle FFS-tagged expressions.
8703 (make_canonical): Don't expand const attributes.
8704 (convert_const_symbol_ref): Dike out.
8705 (evaluate_eq_attr): Handle SYMBOL_REF.
8706 (main): Don't emit get_attr_foo for const attributes.
8707
8708 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
8709 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
8710 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
b57062ca
UD
8711 * alpha.md: Redo all of the scheduling, adding EV6 support, and
8712 combining function units where possible.
71d9b493
RH
8713 (attr "type"): Split loads, stores, cmov into int/fp. Combine
8714 multiplies and divides. Add EV6 sqrt, ftoi, itof.
8715 (attr "opsize"): New attribute.
8716 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
8717 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
8718 to control register allocation.
8719 (movsi2-1, movdi2-1): Likewise.
8720
b0435cf4 8721Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
b57062ca 8722
b0435cf4
RH
8723 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
8724 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
8725 Move OSF/1 specific defines out.
8726 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
8727 Move Linux specific defines out.
8728 (LINK_SPEC): Genericize.
8729 (ASM_FILE_START): Emit .arch if using more than the base insn set.
8730 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
8731 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
8732 (HANDLE_SYSV_PRAGMA): Define.
8733 * alpha/osf.h: New file.
8734 * alpha/linux.h: Split. Retain file-format independant defines.
8735 Import Linux bits from elf.h.
8736 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
8737 (FUNCTION_PROFILER): _mcount takes its address in $28.
8738 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
8739 * alpha/linux-ecoff.h: New file.
8740 * alpha/linux-elf.h: New file.
8741 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
8742 * alpha/win-nt.h (TARGET_DEFAULT): Define.
8743 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
8744 Add new headers as appropriate.
b57062ca 8745
b0435cf4
RH
8746 * configure.in (alpha*): Enable Haifa by default.
8747 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
8748 * configure: Rebuild.
b57062ca 8749
5768f211
RH
8750Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
8751
8752 * Makefile.in (clean): Remove the stages with their objects here ...
8753 (distclean): ... instead of here.
8754
9e04c65a 8755Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 8756
9e04c65a
KG
8757 * cse.c (rtx_cost): Add default case in enumeration switch.
8758 * fix-header.c (recognized_macro): Likewise.
8759 (recognized_extern): Likewise.
8760 (write_rbrac): Likewise.
8761 * objc/objc-act.c (encode_aggregate): Likewise.
8762 (gen_declarator): Likewise.
8763 (gen_declspecs): Likewise.
8764
1d88b804
JL
8765Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
8766
8767 * haifa-sched.c (create_reg_dead_note): Detect and handle another
8768 case where we kill more regs after sched than were killed before
8769 sched.
8770 * sched.c (create_reg_dead_note): Similarly.
8771
bbeba0ba
JL
8772Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
8773
8774 * c-pragma.c: Include flags.h.
8775
05853640
MK
8776Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
8777
8778 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
8779 about system headers.
8780 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
8781 and also to resolve symbols in prefix.c.
8782
8783 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
8784 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
8785 when the definitions in auto-config.h is not visible.
8786 (HAVE_BZERO): Likewise.
8787 (HAVE_BCMP): Likewise.
8788 (HAVE_RINDEX): Likewise.
8789 (HAVE_INDEX): Likewise.
8790
44201dba
JL
8791Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
8792
8793 * pa.c (emit_move_sequence): Handle a function label source
8794 operand.
8795
d300e551
NC
8796Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
8797
8798 * c-pragma.c (handle_pragma_token): Generate warning messages
8799 about unknown pragmas if warn_unknown_pragmas is set.
8800
8801 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
8802 line option to set variable: warn_unknown_pragmas.
8803
d3245704
MH
8804Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
8805
8806 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
8807 definition.
8808 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
8809
5198352e
JL
8810Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
8811
8812 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
8813 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
8814 generate more fine grained floating point emulation libraries.
8815 * config/fp-bit.c: Add protecting #ifdef to all functions so
8816 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
8817 then compile all suitable functions.
8818 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
8819 underscores to avoid namespace pollution.
8820 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
8821 (FPBIT): Define.
8822 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
8823 (FPBIT): Define.
8824 (DPBIT): Define.
8825
9f1ff8e8 8826Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1d300e19
KG
8827 Jeff Law <law@cygnus.com>
8828
8829 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
8830 of the declaration.
8831 * c-decl.c (finish_decl): Use parentheses around && within ||.
8832 * rtl.c: Include stdlib.h.
8833 (read_skip_spaces): Add parentheses around assignments used as
8834 truth values.
8835 (read_rtx): Initialize list_rtx.
8836 * cppexp.c (parse_number): Use || when operands are truth values.
8837 * alias.c (find_base_value): Add default case.
8838 (memrefs_conflict): Likewise.
8839 * combine.c (sets_function_arg_p): Likewise.
8840 * genemit.c (gen_exp): Likewise.
8841 * local-alloc.c (contains_replace_regs): Likewise.
8842 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
8843 * fold-const.c (fold_convert): Use "&&" for truth values.
8844 (fold): Add default case.
8845 * sdbout.c (sdbout_field_types): Fix typo in declaration.
8846 (sdbout_one_type): Add default case.
8847 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
8848 (some_operand): Add default case.
8849 (input_operand): Likewise.
8850 (signed_comparison_operator): Likewise.
8851 (divmod_operator): Likewise.
8852 (alpha_set_memflags_1): Likewise.
8853 * reload1.c (reload_cse_simplify_operands): Ensure function
8854 always returns a value.
8855 * scan-decls.c (scan_decls): Likewise.
8856 * c-lex.c (skip_white_space): Fix typo in declaraion.
8857 * c-typeck.c (comp_target_types): Add parentheses around assignment
8858 used as truth value.
8859 (print_spelling): Likewise.
8860 (constructor_implicit, constructor_result): Remove unused variables.
8861 * collect2.c (scan_library): Protect prototype with
8862 #ifdef SCAN_LIBRARIES.
8863 * emit-rtl.c (find_line_note): Fix typo in declaration.
b57062ca 8864 * final.c (asm_insn_count): Protect prototype with
1d300e19
KG
8865 #ifdef HAVE_ATTR_length.
8866 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
8867 (try_pre_increment_1, try_pre_increment): Likewise.
8868 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
8869 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
8870 * gcov-io.h (__store_long, __write_long, __read_long): Fix
8871 unsigned/signed comparisons.
8872 * gcov.c (read_files): Remove unused "first_type" variable.
8873 (scan _for_source_files): Initialize s_ptr.
8874 (function_summary): Eliminate "%lf" formatting, use %ld for
8875 longs.
8876 (output_data): Initialize branch_probs and last_line_num.
8877 Eliminate "%lf" formatting, use "%ld" for longs.
8878
18543a22
ILT
8879Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
8880
afba61d1
ILT
8881 * mips16.S: New file.
8882
8883 * libgcc2.c (varargs): Handle mips16.
8884
18543a22
ILT
8885 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
8886 expression.
8887 * stmt.c (expand_end_case): Likewise.
8888 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
8889 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
33f7f353 8890 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
18543a22 8891
dbf3231e
AS
8892Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8893
8894 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
8895 the build directory.
8896 (libobjc.a): Update dependency list.
8897 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
8898 directory.
8899 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
8900 (objc.mostlyclean): Remove runtime-info.h.
8901
e1ee5cdc
RH
8902Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
8903
8904 * tree.c (build_range_type): Allow creation of ranges with no maximum.
8905 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
8906 * dwarf2out.c (add_subscript_info): Likewise.
8907 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
8908 * sdbout.c (plain_type_1): Likewise.
8909 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
8910 Likewise.
8911 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
8912 Likewise.
8913
dfe91418 8914Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 8915
dfe91418
JL
8916 * mips.c (fatal): Remove declaration.
8917
89181997-12-18 Mark Mitchell <mmitchell@usa.net>
8919
8920 * integrate.c (get_label_from_map): New function.
8921 (expand_inline_function): Use it. Initialize the label_map to
8922 NULL_RTX instead of gen_label_rtx.
8923 (copy_rtx_and_substitute): Use get_label_from_map.
8924 * integrate.h (get_label_from_map): New function.
8925 (set_label_from_map): New macro.
8926 * unroll.c (unroll_loop): Use them.
8927 (copy_loop_body): Ditto.
8928
337e2b69
ILT
8929Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
8930
8931 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
8932 (INIT_TARGET_OPTABS): Define.
8933 * mips/ecoff.h: Include gofast.h before mips.h.
8934 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
8935 * mips/elf64.h: Likewise.
8936 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
8937
02531345
JM
8938Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
8939
8940 * except.c: Remove register_exception_table{,_p}.
8941
913b5d54
GK
8942Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
8943
efb84aa5
GK
8944 * unroll.c (calculate_giv_inc): Handle constant increment found in
8945 a MEM with an appropriate REG_EQUAL note.
8946
bb1b857a
GK
8947 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
8948
913b5d54
GK
8949 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
8950 frame pointer in the prologue.
8951
80aab652
RL
8952Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
8953
8954 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
8955 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
8956
f5c4bc60 8957Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
b57062ca 8958
f5c4bc60
BM
8959 * config/m68k/m68k.c (output_function_prologue): Typecast
8960 dwarf2out_cfi_label to (char *).
8961 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
b57062ca 8962
8dcb5295
RH
8963Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
8964
8965 * sparc.md (jump): Don't use the annul bit around an empty loop.
8966 Patch from Kevin.Kelly@East.Sun.COM.
8967
a99503b1
SC
8968Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
8969
b57062ca 8970 * jump.c: (jump_optimize): Don't use the return register as a
a99503b1
SC
8971 source1 of a conditional move.
8972
e13c943c
RH
8973Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
8974
8975 * sparc.c (DF_MODES): Or the mask not the bit number.
8976 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
8977
be3d27d6
CI
8978Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
8979
8980 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
8981
f184a264
MH
8982Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
8983
ade7386a
MH
8984 * fixincludes (size_t): Add support for Motorola's stdlib.h
8985 which fails to provide a definition for size_t.
8986 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
8987 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
8988 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
8989
f184a264
MH
8990 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
8991 prevent unresolved externals in libio.
8992 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
8993
afc96791
L
8994Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
8995
8996 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
8997 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
8998 (LIB_SPEC): Updated for glibc 2.
8999
e9818f3c
JL
9000Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
9001
9002 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
9003 * ginclude/varargs.h: Likewise.
9004
a3fd4e75 9005Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
9006
9007 * version.c: Bump for snapshot.
9008
a3fd4e75
JL
9009Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
9010
9011 * frame.h (__register_frame, __register_frame_table,
9012 __deregister_frame): New.
9013 * frame.c (__register_frame, __register_frame_table,
9014 __deregister_frame): New.
9015 * frame.c (__deregister_frame_info): Return void *.
9016 * frame.h (__deregister_frame_info): Ditto.
9017 * collect2.c (__deregister_frame_info): Ditto.
9018
166cdf4a
RH
9019Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
9020
9021 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
9022
bcbbac26
RH
9023Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
9024
9025 * alpha.c (alpha_cpu_name): New variable.
9026 (alpha_mlat_string): Likewise.
9027 (alpha_memory_latency): Likewise.
9028 (override_options): Handle -mmemory-latency.
9029 (alpha_adjust_cost): Adjust load cost for latency.
9030 * alpha.h (TARGET_OPTIONS): Add meory-latency.
9031 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
9032 TARGET_CIX into account.
9033 (MEMORY_MOVE_COST): Define in terms of memory_latency.
9034 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
9035
9036 * alpha.h (ASM_COMMENT_START): New macro.
9037
9038Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
9039
9040 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
9041 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
9042
9043 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
9044 SUBREG_REG if the word count is unchanged.
9045 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
9046 subregs of identical word size for push_reload.
9047
a701efba
MM
9048Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
9049
9050 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
9051 if all we're doing is dealing with -Wreturn-type.
9052
5e21ac7a
RH
9053Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
9054
9055 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
9056 Use and 255 instead of zapnot 1, since it schedules better.
9057
296f8acc
JL
9058Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
9059
9060 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
9061 it as volatile.
9062
6d8ccdbb
JL
9063Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
9064
9065 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
9066 dependency we delete. Properly update prev for multiple consecutive
9067 deletions.
9068 (priority): Skip deleted dependence.
9069
14e83f2e
PB
9070Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
9071
9072 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
9073
100d81d4
JM
9074Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9075
9b8d9d6b
JM
9076 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
9077 determining when a new basic block starts.
9078
74c3447c
JM
9079 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
9080
9081 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
9082 * pa.md (iorsi3): Add missing args to *_operand calls.
9083
100d81d4
JM
9084 * except.c (call_get_eh_context): Don't mess with sequences.
9085 (emit_eh_context): Include the call in the sequence here.
9086
5a5ab947
PE
90871997-12-11 Paul Eggert <eggert@twinsun.com>
9088
9089 * collect2.c (write_c_file_glob): Allocate initial frame object
9090 in static storage and pass its address.
9091
01eb7f9a
JM
9092Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9093
9094 * except.c (call_get_eh_context): Don't take a parm.
9095 Put the call at the top of the function.
9096 (emit_eh_context): Adjust.
9097 (get_eh_context): Replace with former use_eh_context.
9098 (get_eh_context_once, get_saved_pc_ref): Remove.
9099 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
9100 * except.h: Adjust.
9101 * integrate.c (expand_inline_function): Adjust.
9102 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
9103
d19814a3
ML
9104Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
9105
9106 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
9107 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
9108
7567d496
MH
9109Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
9110
ade7386a 9111 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496 9112 layout on sysV88.
b57062ca 9113 (hypot): Provide a fake for hypot which is broken on
7567d496
MH
9114 m88k-motorola-sysv3.
9115
0a6969ad
JC
9116Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
9117
9118 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
9119 tree_code_name from pointers to arrays.
9120 * tree.c: Remove standard_tree_code_* variables, no longer used.
9121 * print-tree.c: Remove declaration of tree_code_name.
9122
9123 * cp/lex.c (init_lex): Update for tree_code_* changes.
9124 * objc/objc-act.c (init_objc): Likewise.
9125
9126 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
9127 changes.
9128
c55dcc7d
FF
9129Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
9130
9131 * config.sub: Add support for BeOS target.
9132 * configure.in: Likewise.
9133 * ginclude/stdarg.h: Likewise.
9134 * ginclude/stddef.h: Likewise.
9135 * ginclude/varargs.h: Likewise.
9136 * rs6000/beos.h: New file for BeOS.
9137 * rs6000/t-beos: Likewise.
9138 * rs6000/x-beos: Likewise.
9139 * rs6000/xm-beos.h: Likewise.
9140 * toplev.c (get_run_time): Just return 0 on BeOS.
9141
9cf3ae46
JL
9142Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
9143 Toon Moene (toon@moene.indiv.nluug.nl)
9144
9145 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
9146 old and broken Sun3 assemblers. Newer versions handle large
9147 offsets correctly as does the GNU assembler.
9148
7cc273ad
L
9149Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9150
9151 * objc/objc-act.c (lang_report_error_function): Disable.
9152 * objc/objc-parse.y: Include "output.h".
9153 (yyerror): Remove redundant decl.
9154 (yyprint): Fix prototype.
9155 (apply_args_register_offset): Remove redundant decl.
9156 (get_file_function_name): Likewise.
9157
74d7ab55
JM
9158Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
9159
9160 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
9161 a new basic block.
9162 (find_basic_blocks_1): Likewise.
9163
0776059e
JM
9164Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9165
9166 * except.c (use_eh_context): Don't copy_rtx a REG.
9167 (emit_throw): Lose old unwinder support.
9168 (expand_internal_throw): Likewise.
9169 * libgcc2.c (struct eh_context): Likewise.
9170 (new_eh_context): Likewise.
9171 (__get_eh_info): Lose redundant cast.
9172 (__get_dynamic_handler_chain): Likewise.
9173 (__get_saved_pc): Lose.
9174 Lose all old unwinder support code.
9175
154bba13
TT
9176Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
9177
9178 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
b57062ca 9179
154bba13
TT
9180 * integrate.c (expand_inline_function): If the inline fn uses eh
9181 context, make sure that the current fn has one.
9182 * toplev.c (rest_of_compilation): Call emit_eh_context.
9183 * except.c (use_eh_context): New fn.
9184 (get_eh_context_once): New fn.
9185 (call_get_eh_context): New fn.
9186 (emit_eh_context): New fn.
9187 (get_eh_context): Call either get_eh_context_once or
9188 call_get_eh_context, depending on what we have.
9189 (get_dynamic_handler_chain): Call get_eh_context_once.
9190 * except.h: Prototypes for fns above.
9191 * optabs.c (get_eh_context_libfunc): Removed.
9192 (init_optabs): Don't initialize it.
9193 * expr.h (get_eh_context_libfunc): Removed.
9194 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
9195 * config/pa/pa.h (CPP_SPEC): Support for -threads.
9196 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
9197 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9198 New multilib for -threads.
9199 * config/sparc/t-sol2: Added multilibs for -threads and
9200 made -pthreads alias to it.
9201 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
9202 Added -threads and -pthreads options.
9203 * libgcc-thr.h: New file.
9204 * libgcc2.c: (__get_cpp_eh_context): Removed.
9205 (struct cpp_eh_context): Removed.
9206 (struct eh_context): Replaced cpp_eh_context with generic language
b57062ca 9207 specific pointer.
154bba13
TT
9208 (__get_eh_info): New function.
9209 (__throw): Check eh_context::info.
9210 (__sjthrow): Ditto.
9211 * libgcc2.c: Include libgcc-thr.h.
9212 (new_eh_context, __get_eh_context,
9213 eh_pthread_initialize, eh_context_initialize, eh_context_static,
9214 eh_context_specific, eh_context_free): New functions.
9215 (get_eh_context, eh_context_key): New variables.
9216 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
9217 get_eh_context to get the context.
9218 (longjmp): Move the declaration inside
9219 #ifdef DONT_USE_BUILTIN_SETJMP.
9220 * frame.c: Include libgcc-thr.h.
9221 (object_mutex): Mutex to protect the object list.
9222 (find_fde, __register_frame, __register_frame_table,
9223 __deregister_frame): Hold the lock while accessing objects.
9224 * except.h (get_eh_context): Declare.
9225 * except.c (current_function_ehc): Define.
9226 (current_function_dhc, current_function_dcc): Removed.
9227 (get_eh_context): New function.
9228 (get_dynamic_handler_chain): Use get_eh_context.
9229 (get_saved_pc_ref): Ditto.
9230 (get_dynamic_cleanup_chain): Removed references to
9231 current_function_dcc.
9232 (save_eh_status, restore_eh_status): Save and restore
9233 current_function_ehc instead.
9234 * optabs.c (get_eh_context_libfunc): New variable.
9235 (init_optabs): Initialize it.
9236 * expr.h: Declare get_eh_context_libfunc.
9237 * function.h (struct function): Replaced dhc and dcc with ehc.
9238 * except.c (get_saved_pc_ref): New functions.
9239 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
9240 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
9241 of eh_saved_pc.
9242 (end_eh_unwinder): Likewise.
9243 (init_eh): Remove initialization of eh_saved_pc.
9244 * optabs.c (get_saved_pc_libfunc): New variable.
9245 (init_optabs): Initialize it.
9246 * expr.h: Declare get_saved_pc_libfunc.
9247 * except.h (eh_saved_pc_rtx): Deleted.
9248 (get_saved_pc_ref): Declared.
9249
9250 From Scott Snyder <snyder@d0sgif.fnal.gov>:
9251 * libgcc2.c (__get_saved_pc): New.
9252 (__eh_type, __eh_pc): Deleted.
9253 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
9254 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
9255 this fcn.
9256
68d75312
JC
9257Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
9258
b16d8734
JC
9259 * sparc/sol2.h: Use 64 bit multiply and divide functions in
9260 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
9261 as 0.
9262
68d75312
JC
9263 * rtl.h (global_rtl): New variable, replacing separate variables for
9264 commonly used rtl.
9265 (const_int_rtx): Now array of rtx_def, not rtx.
9266 * emit-rtl.c: Update for new rtl data structures.
9267 * genattrtab.c: Define global_rtl.
9268
44517326 9269Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 9270
44517326
DE
9271 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
9272 default.
f40421ce 9273
8587487b
AG
9274Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
9275
9276 * crtstuff.c (__do_global_ctors): Fix typo.
9277
08ce3276
MH
9278Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
9279
9280 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9281 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9282
c229cba9
DE
9283Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
9284
9285 * rs6000.h (FUNCTION_ARG_PADDING): Define.
9286 * rs6000.c (function_arg_padding): New function.
9287
b2c59d0b
MH
9288Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
9289
9290 * m68k.c: Include tree.h only once.
9291
c1132c27
RK
9292Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9293
9294 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
9295
ac957f13
JL
9296Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
9297
9298 * Partially cleaned up prototyping code from HJ.
a1d061a1 9299 * tree.h: Add many prototypes.
ac957f13
JL
9300 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
9301 All references changed.
9302 * rtl.h: Protect from multiple inclusions. Add many prototypes.
b57062ca 9303
f40421ce 9304Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
9305
9306 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
9307 string functions like strlen.
9308
0a232106
MH
9309Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
9310
9311 * configure.in: Check for functions getrlimit and setrlimit.
9312 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9313 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9314
25b76cc1
JS
9315Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
9316
9317 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
9318
26250081
RH
9319Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
9320
9321 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
9322 Fix merge problems.
9323
9324 * alpha.c (override_options): Don't know about scheduling for EV6.
9325 * alpha.md (ev5 function units): Don't overload as ev6.
9326
9327 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
9328 * alpha.md (define_attr type): Add mvi.
9329 (ev5_e0): Define sceduling parameters for it.
9330 (TARGET_MAX insns): Type is mvi not shift.
9331
7120f213
RH
9332Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
9333
9334 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
9335
afa80947
R
9336Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9337
9338 * cstamp-h, auto-config.h: Delete.
9339
51ca169b
JL
9340Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
9341
9342 * version.c: Bump for snapshot.
9343
16169366
JL
9344Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
9345
9346 * cccp.c: Fix typo brought over in merge.
9347
efeb5d4f 9348 * Merge in changes from gcc-2.8.
0fe09481 9349
da932f04
JL
9350Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
9351
9352 * m68k.c: Include tree.h for dwarf2out_cfi_label.
9353
9354 * gcc.c (process_command): Do not take address of function fatal when
9355 calling lang_specific_driver.
9356
9357Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
9358
b57062ca 9359 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
da932f04
JL
9360 doesn't work with it yet, so set it to 0.
9361 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
9362
9363Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9364
9365 * cse.c (cse_insn): Check for invalid entries when taking references.
9366
81797aba
JL
9367Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9368
9369 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
9370 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
9371 * toplev.c (rest_of_compilation): Pass it. Remove code to
9372 save / clear / restore flag_unroll_{,all_}loops.
9373
9374Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
9375
9376 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
9377
9378Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
9379
9380 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
9381
5dfa7520
JM
9382Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
9383
d07daca1
JM
9384 * except.c (get_dynamic_handler_chain): Only make the call once per
9385 function.
9386
5dfa7520
JM
9387 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
9388
4d7b7169
R
9389Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9390
9391 * sh.c (final_prescan_insn): Use local label prefix
9392 when emitting .uses pseudo-ops.
9393
e701eb4d
JM
9394Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9395
9396 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
9397 * except.c: Lose outer_context_label_stack.
9398 (expand_eh_region_end): Rethrow from outer_context here.
9399 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
9400 (expand_internal_throw): Take no args.
9401 (expand_internal_throw_indirect): Lose.
9402 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
9403 (expand_start_all_catch): Start a rethrow region.
9404 (expand_end_all_catch): End it.
9405 (expand_rethrow): New fn.
9406 * except.h: Reflect above changes.
9407 * flow.c: Revert change of Nov 27.
9408
6a242b6a
JL
9409Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
9410
9411 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
9412
9762d48d
JM
9413Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9414
9415 * except.c (expand_fixup_region_end): New fn.
9416 (expand_fixup_region_start): Likewise.
9417 (expand_eh_region_start_tree): Store cleanup into finalization here.
9418 * stmt.c (expand_cleanups): Use them to protect fixups.
9419
868e82ab
GK
9420Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
9421
9422 * mips/mips.md (muldi3_r4000): Broaden the output template
9423 and attribute assignments to handle three operand dmult;
9424 rename to muldi3_internal2.
9425 (muldi3): Call the new muldi3_internal2 for R4000, and
9426 any GENERATE_MULT3 chip.
9427
716cc7f7
JM
9428Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
9429
9430 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
9431
9fb82071
JW
9432Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
9433
9434 * unroll.c (find_splittable_givs): Remove last change. Handle givs
9435 with a dest_reg that was created by loop.
9436
f2d76545
JL
9437Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
9438
9439 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
9440
9441 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
9442
b4dfb707
JL
9443Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
9444
9445 * configure.in: Fix NCR entries.
9446
80c2681c
JL
9447Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
9448
586a5f99
JL
9449 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
9450 nested exceptions correctly.
9451
80c2681c
JL
9452 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
9453 that was created by loop.
9454
f45ebe47
JL
9455Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9456
9457 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
9458
9459 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
9460
034e84c4
MM
9461Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
9462
8fbd2dc7
MM
9463 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
9464 (print_operand): Use SMALL_DATA_REG for the register involved in
9465 small data relocations.
9466 (print_operand_address): Ditto.
9467
9468 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
9469 -dynamic linker is not used.
9470
a226df46
MM
9471 * rs6000.md (call insns): For local calls, use @local suffix under
9472 System V. Don't use @plt under Solaris.
9473
034e84c4
MM
9474 * rs6000.c (output_function_profiler): Put label address in r0, and
9475 store LR in 4(sp) for System V/eabi.
9476
9477 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
9478 byte boundary, and maintain stack backchain.
9479
f2d76545
JL
9480Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9481
9482 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9483 fix_truncsfdi2): Change *.
9484
33e5c8c3
JM
9485Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
9486
9487 * toplev.c (main): Complain about -gdwarfn.
9488
f45ebe47
JL
9489Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
9490
b57062ca 9491 * dwarfout.c (output_type): If finalizing, write out nested types
f45ebe47
JL
9492 of types we've already written.
9493
92dcf4c8
MM
9494Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
9495
9496 (patches originally from Geoffrey Keating)
9497 * rs6000.c (function_arg): Excess floating point arguments don't
9498 go into GPR registers after exhausting FP registers under the
9499 System V.4 ABI.
9500 (function_arg_partial_nregs): Ditto.
9501
9502 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
9503 suffix to calls.
9504
f4744807
JM
9505Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
9506
9507 * integrate.c (output_inline_function): Just unset DECL_INLINE.
9508
9509Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
9510
9511 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
9512 proper alignment.
9513
9514 * libgcc2.c (__throw): Initialize HANDLER.
9515
0609f021
JW
9516Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9517
9518 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9519 fix_truncsfdi2): Change *X to ?*X.
9520
c905c108
RH
9521Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
9522
9523 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
9524
5041a61c
JL
9525Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
9526
9527 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
9528
bb727b5a
JM
9529Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
9530
9531 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
9532
9533Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
9534
9535 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
9536 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
9537 * expr.h: Likewise.
9538
f45ebe47
JL
9539Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
9540
9541 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
9542 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
9543 gas and not using the new HP assembler.
9544
ef85603e
JL
9545Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
9546
9547 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
9548 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
9549
6cc1f5cb
AC
9550Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
9551
9552 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
9553 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
9554 definition.
9555
72eb1038
BH
9556Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
9557
9558 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
9559
1418bb67
JM
9560Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
9561
9562 * except.h: Add outer_context_label_stack.
9563 * except.c: Likewise.
9564 (expand_start_all_catch): Push the outer_context for the try block
9565 onto outer_context_label_stack.
9566 (expand_end_all_catch): Use it and pop it.
9567
9dab7833
RL
9568Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
9569
9570 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
9571
858e4e8c
RH
9572Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
9573
9574 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
9575
a21d14e9
KK
9576Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
9577
9578 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
9579 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
9580
ced78d8b
JM
9581Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
9582
9583 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
b57062ca 9584 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
ced78d8b
JM
9585 __builtin_delete, and __builtin_vec_delete.
9586
9587 * except.c (output_exception_table): Don't bother with
9588 __EXCEPTION_END__.
9589
a09ff88b
JL
9590Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
9591
1b8b89f1
JL
9592 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
9593 is an in/out operand.
9594 (zero extended variants of stwm/stwm patterns): Similarly.
9595
a09ff88b
JL
9596 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
9597
7bb9fb0e
JM
9598Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
9599
9600 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
9601 Use assemble_name.
9602 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
9603 (output_call_frame_info): Emit a \n after using it.
9604
9101297d
DL
9605Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
9606
9607 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
9608
2ed2af28
PDM
9609Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
9610
9611 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
9612 (ASM_OUTPUT_DWARF_VALUE4): New macro.
9613 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
9614 defined.
9615 (output_call_frame_info): Do not output forward label differences
9616 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
9617 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
9618
4dff12bf
R
9619Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9620
9621 * sh.md (attribute "type"): Add nil.
9622 (movsi_ie): y/y alternative is type nil.
9623 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
9624 alternatives.
9625 (movsf_ie+1): Delete.
9626
218c2cdb
JW
9627Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
9628
9629 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
9630 large_int, emit two insns instead of one splitable insn.
9631 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
9632 from cfa_temp_value, use cfa_offset. Add assert checking that
9633 cfa_reg is SP.
9634
d5b79362
TT
9635Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
9636
9637 * cccp.c (deps_output): Properly quote file names for make.
9638
de1ea87a
JL
9639Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
9640
9641 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
9642
cb0112a7
RL
9643Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
9644
9645 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
9646
85c3ba60
JL
9647Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
9648
9649 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
9650 return.
9651 (cse_end_of_basic_block): Similarly.
ef720b21 9652
9155d500
KJ
9653Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
9654
9655 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
9656 (SELECT_RTX_SECTION): Define.
9657 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
9658
4931312c
MH
9659Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
9660
9661 * Makefile.in (compare, compare-lean): Define $stage for each
9662 shell command.
9663 (gnucompare, gnucompare-lean): Likewise.
9664
8dfe3c62
RH
9665Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
9666
9667 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
9668
9669 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
9670 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
9671
874a8709
FF
9672Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
9673
9674 * dwarfout.c (byte_size_attribute): Add local var upper_bound
9675 and add case to handle STRING_TYPE.
9676 * dwarfout.c (output_string_type_die): Fix code to generate
9677 correct string length attribute for fixed length strings.
9678 Still needs support for varying length strings.
9679
ea466196
JL
9680Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
9681
9682 * toplev.c (get_run_time): Do something sensible for cygwin32.
9683
202f590e
RH
9684Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
9685
f35bcbc5
RH
9686 * expr.c (expand_builtin_setjmp): Set
9687 current_function_has_nonlocal_label.
9688 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
9689 call-saved registers across calls.
9690
9691 * alpha.md (exception_receiver): Remove.
9692 (nonlocal_goto_receiver_osf): New
9693 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
9694 (nonlocal_goto_receiver): New, select _osf or _vms.
9695
531ea24e
RH
9696 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
9697 keep them from being propogated to the object file.
9698 (alpha_write_linkage): Likewise.
9699 * alpha.md (call_vms): Likewise.
9700 (call_value_vms): Likewise.
9701 (unnamed osf call insns): Likewise.
9702
9703 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
9704 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
9705
202f590e
RH
9706 * alpha.c (call_operand): Any reg is valid for WinNT.
9707 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
9708 (anon nt calls): Add 'R' alternative.
9709 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
9710 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
9711
238ad62b
JL
9712Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
9713
f78b5ca1
JL
9714 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
9715
238ad62b
JL
9716 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
9717 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9718 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9719
da275344
MM
9720Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
9721
9722 * reload1.c (new_spill_reg): Improve fixed or forbidden register
9723 spill error message.
9724
1f1e1545
KG
9725Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9726
9727 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
9728 use varargs.h. Wrap header with <>, not "".
9729
daa4b717
JL
9730Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
9731
9732 * integrate.c (save_for_inline_copying): Add return value from
9733 savealloc.
9734
9bb5394e
BK
9735Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
9736
9737 * fixincludes: Be a little more restrictive on what we will
9738 substitute to replace definitions of MAXINT for HPUX.
9739
9571f69b
MM
9740Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
9741
9742 * dbxout.c (dbxout_symbol_location): Don't assume that variables
9743 whose address is the stack or argument pointers are indirect
9744 pointers.
9745
b57062ca
UD
97461997-11-13 Paul Eggert <eggert@twinsun.com>
9747
e7cbb6b6
PE
9748 * cccp.c, cpplib.c (compare_defs):
9749 Don't complain about arg name respellings unless pedantic.
b57062ca
UD
9750 * cpplib.c (compare_defs): Accept pfile as new arg.
9751 All callers changed.
e7cbb6b6 9752
9f29ca78
R
9753Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9754
9755 * fold-const.c (fold_truthop): Fix bug in last change.
9756
41c9120b
PE
97571997-11-13 Paul Eggert <eggert@twinsun.com>
9758
9759 Fix some confusion with IEEE minus zero.
9760
9761 * real.h (REAL_VALUES_IDENTICAL): New macro.
9762
9763 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
9764 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
9765 identical to 0.0.
9766 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
9767 same tree structure as 0.0.
9768
9769 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
9770 macro instead of doing it by hand.
9771
323d8e7b
JL
9772Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
9773
9774 * v850/lib1funcs.asm: Minor whitespace changes.
9775 * v850.c: Fix minor formatting problems in many places.
9776 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
9777
13529ea4
JW
9778Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
9779
9780 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
9781 xplus1 when xplus0 is not a register.
9782
759c135e
JL
9783Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
9784
8930b063
JL
9785 * flow.c (find_basic_blocks): During marking phase, if we encounter
9786 an insn with a REG_LABEL note, make the target block live and
9787 create an edge from the insn to the target block. Do not make
9788 edges from all blocks to the target block.
9789
0be28489
JL
9790 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
9791
759c135e
JL
9792 * confiugre.in: Tweak NCR entries.
9793 * configure: Rebuilt.
9794
47ad8c61
MM
9795Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
9796
9797 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
9798 pick apart floating point values, instead of using CONST_DOUBLE_LOW
9799 and CONST_DOUBLE_HIGH.
9800
9801 * rs6000.md (define_splits for DF constants): Use the appropriate
9802 REAL_VALUE_* interface to pick apart DF floating point constants in
9803 a machine independent fashion.
9804
5a6b3365
R
9805Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9806
9807 * fold-const.c (fold_truthop): When changing a one-bit comparison
9808 against zero into a comparison against mask, do a proper sign
9809 extension.
9810
2ec1535d
JL
9811Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
9812
3a88cbd1
JL
9813 * except.c: Do not include "assert.h".
9814 (save_eh_status): Turn asserts into conditional aborts.
9815 (restore_eh_status, scan_region): Likewise.
9816 * dwarfout.c: Do not include "assert.h".
9817 (bit_offset_attribute): Turn asserts into conditional aborts.
9818 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
9819 (output_inlined_structure_type_die): Likewise.
9820 (output_inlined_union_type_die): Likewise
9821 (output_tagged_type_instantiation): Likewise.
9822 (dwarfout_file_scope_decl): Likewise.
9823 * dwarf2out.c: Do not include "assert.h"
9824 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
9825 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
9826 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
9827 (add_bit_size_attribute, scope_die_for): Likewise.
9828 (output_pending_types_for_scope): Likewise.
9829 (get_inlined_enumeration_type_die): Likewise.
9830 (get_inlined_structure_type_die): Likewise.
9831 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
9832 (gen_tagged_type_instantiation_die): Likewise.
9833
2ec1535d
JL
9834 * flow.c (find_basic_blocks): Refine further to get a more correct
9835 cfg, especially in the presense of exception handling, computed
9836 gotos, and other non-trivial cases. Call abort if an inaccuracy
9837 is detected in the cfg.
9838
a6124a42
R
9839Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9840
9841 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
9842
9843 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
9844 (skip_white_space): Use whitespace_cr.
9845 (check_newline): Handle whitespace more consistently.
9846
8f3189a4
JW
9847Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
9848
9849 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
9850 * i386/xm-cygwin32.h (POSIX): Define.
9851
6d1350cd
GK
9852Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
9853
9854 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
9855 is available elsewhere.
9856
d1f4474e
DE
9857Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
9858
9859 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
9860 what the instruction can handle.
9861
c7ae64f2
JM
9862Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
9863
9864 * stmt.c (expand_decl_cleanup_no_eh): New fn.
9865
9866 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
9867
ea64ef27
JL
9868Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
9869
9870 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
9871 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
9872
47ad8c61
MM
9873Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
9874
9875 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
9876 swap instruction order.
9877
0ff27f58
JL
9878Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
9879
9880 * fixinc.svr4 (__STDC__): Add another case.
9881
7091039c
R
9882Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9883
9884 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
9885 addresses in the epilogue delay slot.
9886
553914ad
MH
9887Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
9888
9889 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
9890 in generated `specs' file.
9891
64fde701
JW
9892Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
9893
9894 * flags.h (flag_rerun_loop_opt): Declare.
9895 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
9896 * toplev.c (flag_rerum_loop_opt): Delete static.
9897
1245df60
R
9898Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9899
1245df60
R
9900 Bring over from FSF:
9901
9902 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9903
9904 * va-sh.h (__va_arg_sh1): Define.
9905 (va_arg): Use it.
9906 SH3E doesn't use any integer registers for subsequent arguments
9907 once a non-float value was passed in the stack.
9908 * sh.c (machine_dependent_reorg): If optimizing, put explicit
9909 alignment in front label for ADDR_DIFF_VEC.
9910 * sh.h (PASS_IN_REG_P): Fix SH3E case.
9911 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
9912
9913 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9914
9915 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
9916 svr4.h.
9917
9918 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9919
9920 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
9921 put an use_sfunc_addr before each sfunc.
9922 * sh.md (use_sfunc_addr, dummy_jump): New insns.
9923 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
9924
9925 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9926
9927 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
9928
97991933
JM
9929Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
9930
9931 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
9932 linked once FDEs.
9933
eaf407a5
JL
9934Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
9935
9936 * alias.c (find_base_value): Only return the known base value for
9937 pseudo registers.
9938
4f9ca067
JW
9939Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
9940
9941 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
9942 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
9943 to pattern.
9944 (prologue_get_pc_and_set_got): New pattern.
9945
f4e31cf5
RH
9946Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
9947
9948 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
9949 for SUBREG, just fall through.
9950
9951 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
9952
9953 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
9954
f754c4a1
JL
9955Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
9956
3ed18aeb
JL
9957 * fixincludes: Fix "hypot" prototype in NeXT math.h.
9958
3fe40e05
JL
9959 * Makefile.in (USE_ALLOCA): Always include alloca.o.
9960 (USE_HOST_ALLOCA): Likewise.
9961
f754c4a1
JL
9962 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
9963 and LABEL_REFS fields.
9964 * rtl.h (LABEL_REFS): Update.
9965
ab00eb0a
JW
9966Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
9967
ff3467a9
JW
9968 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
9969 sets i2dest. When calling distribute_notes for i3dest_killed, pass
9970 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
9971 sets i1dest.
9972
4911814e
JW
9973 * mips.md (insv, extzv, extv): Add change_address call.
9974 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
9975
474eff88
JW
9976 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
9977
3feffdfe
JW
9978 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
9979
ab00eb0a
JW
9980 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
9981 save_restore_insns if no FP and GP will be restored.
7636d567 9982
31c8581d
JW
9983 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
9984 Convert CCmode to word_mode before calling GET_MODE_SIZE.
9985
7636d567
JW
9986 * acconfig.h (HAVE_INTTYPES_H): Undef.
9987 * configure.in (inttypes.h): Check for conflicts between sys/types.h
9988 and inttypes.h, and verify that intmax_t is defined.
9989 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
9990 * config/mips/x-iris3: Likewise.
9991
73774bc7
JL
9992Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
9993
9994 * alias.c (find_base_value): When copying arguments, return the
9995 tenative value for a hard register.
9996
645ebf37
DE
9997Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
9998
9999 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
10000 (yylex): Record wide strings using target endianness, not host.
10001
f7620587
JL
10002Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
10003
10004 * mn10200.h (ASM_OUTPUT_BSS): Delete.
10005 (ASM_OUTPUT_ALIGNED_BSS): New macro
10006 * mn10300.h (ASM_OUTPUT_BSS): Delete.
10007 (ASM_OUTPUT_ALIGNED_BSS): New macro.
10008 * v850.h (ASM_OUTPUT_BSS): Delete.
10009 (ASM_OUTPUT_ALIGNED_BSS): New macro.
10010
1686f1a2 10011Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
b57062ca 10012
1686f1a2
R
10013 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
10014
f6857708
JL
10015Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
10016
10017 * configure.in (sco5): Use cpio to install header files.
10018
e566af04
MH
10019Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
10020
10021 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
10022 14 char length.
10023 * configure: Rebuild.
10024
cbd44549
RL
10025Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
10026
10027 * i386/sco5.h: enable -gstabs once again.
10028
56636818
JL
10029Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
10030
10031 * arm.c (output_move_double): Allocate 3 entries in otherops array.
10032
9ad8a5f0
MS
10033Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
10034
10035 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
10036 notes for sjlj exceptions too.
10037 (expand_eh_region_end): Similarly for EH_REGION_END notes.
10038 (exception_optimize): Optimize EH regions for sjlj exceptions too.
10039 * final.c (final_scan_insn): Don't output labels for EH REGION
10040 notes if doing sjlj exceptions.
10041
f8671389
JL
10042Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
10043
8072f69c
JL
10044 * alias.c (init_alias_analysis): Handle -fno-alias-check when
10045 optimizing correctly.
10046
6cad9e32
JL
10047 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
10048 or set current_function_calls_setjmp anymore.
10049
f8671389
JL
10050 * flow.c (find_basic_blocks): If we delete the label for an
10051 exception handler, remove it from the EH label list and remove
10052 the EH_BEGIN/EH_END notes for that EH region.
10053
a886ae74
JM
10054Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
10055
10056 * flow.c (find_basic_blocks): Generate correct flow control
10057 information when exception handling notes are present.
10058
c2c85462
JL
10059Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
10060
10061 * dwarf2out.c (output_call_frame_info): Fix length argument
10062 to ASM_OUTPUT_ASCII.
10063 (output_die, output_pubnames, output_line_info): Likewise.
10064
8c316ae2
JL
10065Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
10066
27ca375a
JL
10067 * version.c: Bump for snapshot.
10068
8d4e65a6
JL
10069 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
10070 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
10071 flag_debug_asm is on.
10072 (output_die, output_pubnames, output_line_info): Likewise.
10073
ec907dd8
JL
10074 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
10075 and static_chain_rtx into the potential base values array if
10076 they are registers.
10077
10078 * alias.c (new_reg_base_value): New array of potential base values.
10079 (unique_id): Now file scoped static.
10080 (find_base_value, case REG): Return the value in reg_base_value
10081 array for the REG if it exists. Else, return the value from
10082 new_reg_base_value if copying args and REG is a hard register.
10083 (find_base_value, case PLUS): If either operand of the PLUS is
10084 a REG, try to get its base value. Handle base + index and
10085 index + base.
10086 (record_set): Use new_reg_base_value instead of reg_base_value.
10087 (init_alias_analysis): Allocate space for new_reg_base_value too.
10088 Rework code to iterate over the insns propagating base value
10089 information until nothing changes.
10090
8c316ae2
JL
10091 * global.c (global_alloc): Free the conflict matrix after
10092 reload has finished.
10093
6874c264
JM
10094Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
10095
10096 * libgcc2.c (L_eh): Define __eh_pc.
10097 Replace __eh_type with generic pointer __eh_info.
10098
59fe8c2c
R
10099Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
10100
10101 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
10102 use copy_to_reg if address is not a general_operand.
10103
d1271ded
R
10104Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10105
10106 * profile.c (output_func_start_profiler): Clear flag_inline_functions
10107 for the duration of the call to rest_of_compilation.
10108
ac52b80b
DE
10109Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
10110
10111 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
10112 Set extra_parts.
10113 (sparc*-*-*): Recognize --with-cpu=v9.
10114 * sparc/elf.h: New file.
10115 * sparc/t-elf: New file.
10116
f8912297
JL
10117Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
10118
10119 * mn10300.c (const_8bit_operand): New function.
10120 (mask_ok_for_mem_btst): New funtion.
10121 * mn10300.md (btst patterns with mem operands): Use new functions
10122 to avoid creating btst instructions with invalid operands.
10123
05ef204d
MM
10124Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
10125
10126 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
10127 are running on PowerPC Linux.
10128
feecabdf
GK
10129Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
10130
10131 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
10132 if not previously defined.
10133
de957303
DE
10134Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
10135
10136 * function.c (assign_parms): Correct mode of stack_parm if
10137 entry_parm underwent a mode conversion.
10138
ba3b3878
BK
101391997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
10140
10141 * global.c (global_alloc): Use xmalloc instead of alloca for
10142 CONFLICTS, since max_allocno * allocno_row_words alone can be more
10143 than 2.5Mb sometimes.
10144
d540ae2c
RH
10145Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
10146
10147 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
10148 DEST for the spill, adjust mode of SRC to compensate.
10149
42f4929d
RH
10150Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
10151
10152 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
10153 since any_memory_operand() allows pseudos during reload.
10154 (reload_inhi, reload_outqi, reload_outhi): Likewise.
10155
08417478
JW
10156Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
10157
10158 * m68k.md (btst patterns): Add 5200 support.
10159
750e8348
TM
10160Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
10161
10162 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
10163 optimizations, look inside dividend to determine if the expression
10164 can be simplified by using EXACT_DIV_EXPR.
10165
ede19932
JM
10166Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
10167
10168 From Brendan:
10169 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
10170
66d91cb9
RH
10171Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
10172
10173 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
10174
4f3f5e9f
RH
10175Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
10176
10177 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
10178 on a CLOBBER.
10179
f3352b9e
RH
10180Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
10181
10182 * alpha.md (movqi, movhi): Make sure new insns created during reload
10183 won't need reloading themselves.
10184 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
10185
0cecc190
JL
10186Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
10187
10188 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
10189
a09ba5a2
RH
10190Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
10191
10192 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
10193 Patch from Klaus Kaempf <kkaempf@progis.de>.
10194
7581a30f
JW
10195Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
10196
10197 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
10198 to an element in a constant string.
10199
d84e64d4
JM
10200Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
10201
10202 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
10203 bit PC-relative offset. The exception range table pointer is now in
10204 the CIE.
10205 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
10206 (count_fdes, add_fdes, get_cie): Adjust.
10207 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
10208
10209 From H.J. Lu:
10210 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
10211
96286722
RH
10212Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
10213
10214 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
10215 like stack_pointer_rtx.
10216
e85988b5
MH
10217Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
10218
361e618f
MH
10219 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
10220 targets using "$@" to provide support for similar but not identical
10221 targets without having to duplicate code.
10222 (bootstrap4): New goal.
10223
e85988b5
MH
10224 * Makefile.in (compare, compare-lean, compare3): Combined to one
10225 ruleset determining actions to be performed via $@.
10226 (compare4, compare4-lean): New targets.
10227 (gnucompare, gnucompare3): Combined to one ruleset determining
10228 actions to be performed via $@. Also, note which files failed
10229 the comparison test in .bad_compare.
10230 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
10231
91585c63
TM
10232Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
10233
10234 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
10235 if the dividend is a multiple of the divisor.
10236
da0af5a5
JL
10237Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
10238
7337c67f
JL
10239 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
10240
adb9effb 10241 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 10242 and POS_DEC.
6d849a2a
JL
10243
10244 * alias.c (true_dependence): Fix typo.
10245
6d6d0fa0
JL
10246 * toplev.c (flag_rerun_loop_opt): New variable.
10247 (f_options): Handle -frerun-loop-opt.
10248 (rest_of_compilation): If -frerun-loop-opt, then run the loop
10249 optimizer twice.
10250 (main): Enable -frerun-loop-opt by default for -O2 or greater.
10251
da0af5a5
JL
10252 * loop.c (simplify_giv_expr): Adding two invariants results
10253 in an invariant.
10254
ca0f2220
RH
10255Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
10256
b57062ca 10257 * expr.c (get_inner_reference): Remove the array bias after
ca0f2220
RH
10258 converting the index to Pmode.
10259
a6f7ba17
JL
10260Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
10261
10262 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
10263 (TARGET_MULT_BUG): Define.
10264 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
10265 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
10266
17ad8a3b
JL
10267Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
10268
10269 * mn10200.c (indirect_memory_operand): Delete unused function.
10270 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
10271 * mn10200.md (bset, bclr insns): Handle output in a reg too.
10272
e16b49d3
RH
10273Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
10274
10275 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
10276 the callee's ldgp, we must do it ourselves, and we use the jsr tag
10277 for more than scheduling.
10278
27f65411
DE
10279Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
10280
10281 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
10282
e9ad4573
JL
10283Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
10284
10285 * mn10300.c (symbolic_operand, legitimize_address): New functions.
10286 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
10287 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
10288
66724f0a
JL
10289Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
10290
10291 * version.c: Bump for snapshot.
10292
c401498b
R
10293Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10294
10295 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
10296 for FILENAME.
10297
b22b9b3e
JL
10298Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
10299
56bf1fd9
JL
10300 * toplev.c (flag_exceptions): Default value is 2.
10301 (compile_file): If flag_exceptions still has the value 2, then
10302 set it to 0.
10303
a04232e5
JL
10304 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
10305 (rs6000_save_machine_status): Save pic_offset_table_rtx.
10306 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
10307
0bd83abd
JL
10308 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
10309 are shared.
10310
b22b9b3e
JL
10311 * rs6000.md (*movsi_got_internal_mem): New pattern.
10312 (*movsi_got_internal_mem splitter): New define_split.
10313
c1e385db
JW
10314Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
10315
10316 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
10317
1a986152
GK
10318Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10319
10320 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
10321 only need to save LR.
10322
5d29a95f
JL
10323Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
10324
c6ee9150
JL
10325 * mn10300.md (movqi, movhi): Avoid using address registers as
10326 destinations unless absolutely necessary.
10327
d5255ba2
JL
10328 * mn10200.c (expand_prologue): Fix typo.
10329
9d2128b8
JL
10330 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
10331 addresses.
10332 * mn10200.md (neghi2): Provide an alternative which works if
10333 the input and output register are the same.
10334
576e5acc
JL
10335 * mn10300.c (print_operand): Handle 'S'.
10336 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
10337 shift amount in last alternative
10338
5d29a95f
JL
10339 * mn10300.c (expand_epilogue): Rework to handle register restores
10340 in "ret" and "retf" instructions correctly.
10341
3bf1b082
JW
10342Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
10343
10344 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
10345 extzv for memory operands.
10346
10347 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
10348 redundant conditional moves to single operand.
10349
ddbd8d36
NC
10350Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
10351
10352 * v850.h: Move define of __v850__ from CPP_PREDEFINES
10353 to CPP_SPEC.
b57062ca 10354
ddbd8d36
NC
10355 * xm-v850.h: Use __v850 rather than __v850__ to
10356 identify v850 port.
10357
a944a4eb
JW
10358Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
10359
10360 * mips/mips.c (compute_frame_size): Not a leaf function if
10361 profile_flag set.
10362
2d5b6dea
GK
10363Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10364
10365 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
10366
f0a9fa6c
DE
10367Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
10368
10369 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
10370 (DEFAULT_ARCH32_P): New macro.
10371 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
10372 (enum cmodel): Declare.
10373 (sparc_cmodel_string,sparc_cmodel): Declare.
10374 (SPARC_DEFAULT_CMODEL): Provide default.
10375 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
10376 (TARGET_FULLANY): Deleted.
10377 (TARGET_CM_MEDMID): New macro.
10378 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
10379 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10380 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
10381 (CPP_SPEC): Rewrite.
10382 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10383 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
10384 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10385 (ASM_SPEC): Add %(asm_arch).
10386 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
10387 Rename asm_default to asm_cpu_default.
10388 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
10389 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
10390 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
10391 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
10392 (MASK_INT64,MASK_LONG64): Delete.
10393 (MASK_ARCH64): Renamed to MASK_64BIT.
10394 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
10395 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
10396 (TARGET_SWITCHES): Always provide 64 bit options.
10397 (ARCH64_SWITCHES): Delete.
10398 (TARGET_OPTIONS): New option -mcmodel=.
10399 (INT_TYPE_SIZE): Always 32.
10400 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
10401 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
10402 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
10403 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
10404 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
10405 CPP_SPEC.
10406 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10407 * sparc/linux.h: Likewise.
10408 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
10409 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10410 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
10411 (SPARC_DEFAULT_CMODEL): Define.
10412 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10413 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10414 (LONG_DOUBLE_TYPE_SIZE): Define.
10415 (ASM_SPEC): Add %(asm_arch).
10416 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10417 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10418 (TARGET_CPU_DEFAULT): Add ultrasparc case.
10419 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
10420 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
10421 (SPARC_DEFAULT_CMODEL): Define.
10422 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
10423 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
10424 MASK_LONG64, MASK_MEDANY.
10425 (SPARC_DEFAULT_CMODEL): Define.
10426 (CPP_PREDEFINES): Delete.
10427 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10428 (ASM_SPEC): Add %(asm_arch).
10429 (LONG_DOUBLE_TYPE_SIZE): Define.
10430 (DWARF2_DEBUGGING_INFO): Define.
10431 * sparc/splet.h (CPP_SPEC): Delete.
10432 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10433 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
10434 (BLOCK_PROFILER): Likewise.
10435 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
10436 (sparc_override_options): Handle code model selection.
10437 (sparc_init_expanders): Renamed from sparc64_init_expanders.
10438 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
10439 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
10440 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
10441 (sethi_di_fullany): Delete.
10442
a3b0df2d
KK
10443Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
10444 Jeff Law <law@cygnus.com>
10445 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10446
3a133c72
KK
10447 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
10448 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
10449 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
10450 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
10451 * alpha/alpha.md (arg_home): Likewise.
10452
a3b0df2d
KK
10453 * alpha/alpha.c (vmskrunch): Delete
10454 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
10455 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
10456 truncate to 64 characters.
10457
10458 * make-l2.com: Support openVMS/Alpha.
10459
10460 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
10461
7d4f2e6c
R
10462Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10463
10464 * longlong.h (count_leading_zeros): Add missing casts to USItype.
10465
decd44ac
JL
10466Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
10467
10468 * i386/bsd386.h (ASM_COMMENT_START): Define.
10469
d1485032
JM
10470Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
10471
10472 * tree.c (restore_tree_status): Also free up temporary storage
10473 when we finish a toplevel function.
10474 (dump_tree_statistics): Print stats for backend obstacks.
10475
6bd35f86
DE
10476Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
10477
10478 * expr.c (use_group_regs): Don't call use_reg for MEMs.
10479
d1485032
JM
10480Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
10481
10482 * libgcc2.c (__throw): Don't copy the return address.
10483 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
10484
10485 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
10486 * toplev.c (main): Initialize exceptions_via_longjmp.
10487
10488 * tree.c: Add extra_inline_obstacks.
10489 (save_tree_status): Use it.
10490 (restore_tree_status): If this is a toplevel inline obstack and we
10491 didn't want to save anything on it, recycle it.
10492 (print_inline_obstack_statistics): New fn.
b57062ca 10493 * function.c (pop_function_context_from): Pass context to
d1485032
JM
10494 restore_tree_status.
10495 * obstack.h (obstack_empty_p): New macro.
10496
6981eacf
JL
10497Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
10498
10499 * i386/freebsd.h (ASM_COMMENT_START): Fix.
10500
1933ec7e
JW
10501Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
10502
10503 * v850.c (ep_memory_offset): New function.
10504 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
10505
10506 * v850.h (CONST_OK_FOR_*): Add and correct comments.
10507 (CONSTANT_ADDRESS_P): Add comment.
10508 (EXTRA_CONSTRAINT): Define 'U'.
10509 * v850.md: Add comments on bit field instructions.
10510 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
b57062ca 10511 (lshrsi3): Use N not J constraint.
1933ec7e
JW
10512
10513 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
10514
10515 * v850.c (reg_or_0_operand): Call register_operand.
10516 (reg_or_int5_operand): Likewise.
10517 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
10518 (TARGET_SWITCHES): Add "big-switch".
10519 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
10520 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
10521 (CASE_DROPS_THROUGH): Comment out.
10522 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
10523 * v850.md (cmpsi): Delete compare mode.
10524 (casesi): New pattern.
10525
10526 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
10527 * v850.md (ashlsi3): Use SImode not QImode for shift count.
10528 (lshrsi3): Likewise.
10529
10530 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
10531 unreachable switch statement after 'b' support. Remove "b" from
10532 strings for 'b' support.
10533 * v850.md (branch_normal, branch_invert): Change %b to b%b.
10534
13c2de98
JL
10535Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
10536
10537 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
10538 empty line if @inhibit_libc@ is empty.
10539
b2167bee
RL
10540Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
10541
10542 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
10543 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
10544 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10545 (DWARF2_UNWIND_INFO): Let this track object file format.
10546 (EXTRA_SECTIONS): Add in_eh.
10547 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
10548 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10549
bf2a2c6b
DM
10550Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
10551
10552 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
10553 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
10554 TARGET_MEDANY.
f4f8e370
DE
10555 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
10556 (output_double_int): Output DI mode values correctly when
10557 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
10558 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
10559 fmovd so it works if a quad float ends up in one of the upper 32
10560 float regs.
7e37212e
DM
10561 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
10562 necessary for PIC support on sparc64.
bf2a2c6b 10563
9ff84e67
DE
10564Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
10565
10566 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
10567 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
10568 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
10569 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
10570 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
10571 (SPARC_FP_ARG_FIRST): New macro.
10572 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
10573 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
10574 (NPARM_REGS): There are 32 fp argument registers now.
10575 (FUNCTION_ARG_REGNO_P): Likewise.
10576 (FIRST_PARM_OFFSET): Update to new v9 abi.
10577 (REG_PARM_STACK_SPACE): Define for arch64.
10578 (enum sparc_arg_class): Delete.
10579 (sparc_arg_count,sparc_n_named_args): Delete.
10580 (struct sparc_args): Redefine and use for arch32 as well as arch64.
10581 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
10582 (FUNCTION_ARG_ADVANCE): Rewrite.
10583 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
10584 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
10585 (FUNCTION_ARG_CALLEE_COPIES): Delete.
10586 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
10587 (STRICT_ARGUMENT_NAMING): Define.
10588 (doublemove_string): Declare.
10589 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
10590 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
10591 (doublemove_string): New function.
10592 (output_move_quad): Clean up some of the arch64 support.
10593 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
10594 Don't add 8 bytes of reserved space if arch64.
10595 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
10596 (init_cumulative_args): New function.
10597 (function_arg_slotno): New static function.
10598 (function_arg,function_arg_partial_nregs): New functions.
10599 (function_arg_{pass_by_reference,advance}): New functions.
10600 (function_arg_padding): New function.
c1215820 10601 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 10602
b8fb2d72
CI
10603Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
10604
f22376c7
CI
10605 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
10606 for hard regs to determine base and index registers.
10607
b8fb2d72
CI
10608 * reload.c (debug_reload_to_stream): New function. Specify stream
10609 into which to write debug info.
10610 (debug_reload): Modify to call debug_reload_to_stream with stderr.
10611
b79ee7eb
RH
10612Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
10613
10614 * combine.c (can_combine_p): Don't combine with an asm whose
10615 output is a hard register.
10616
5c19a356
MS
10617Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
10618
10619 * c-decl.c (start_struct): Ensure that structs with forward
10620 declarations are in fact packed when -fpack-struct is given.
10621
10622 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
10623 we are packing a structure. This allows a structure with only
10624 bytes to be aligned on a byte boundary and have no padding on a
10625 m68k.
10626
02bef6da
RK
10627Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10628
10629 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
10630
9ecc37f0
RH
10631Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
10632
10633 * alpha.c (alpha_return_addr_rtx): New variable.
10634 (alpha_save_machine_status): New; save it.
10635 (alpha_restore_machine_status): New; restore it.
10636 (alpha_init_expanders): New; clear it.
10637 (alpha_return_addr): New; set it.
10638 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
10639 is overly conservative, so search the insns explicitly.
10640 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
10641 (alpha_sa_size [VMS && !VMS]): Likewise.
10642 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
10643 (INIT_EXPANDERS): New definition.
b57062ca 10644
9ecc37f0
RH
10645 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
10646 (output_prolog [!VMS]): Use them.
10647
10648 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
b57062ca 10649 (alpha_does_function_need_gp): ... a new function. Refine the
9ecc37f0
RH
10650 CALL_INSN test to just TYPE_JSR.
10651 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
10652
bda2ffef
JL
10653Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
10654
10655 * version.c: Bump for snapshot.
10656
96b63cd7
RK
10657Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10658
10659 * pa.c (move_operand): Respect -mdisable-indexing.
10660 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
10661
f192bf8b
DE
10662Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
10663
10664 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
10665 PPC601.
10666 (umulsidi3,umulsi3_highpart): Ditto.
10667 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
10668
2ea844d3
RH
10669Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
10670
10671 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
10672 (alpha_handle_trap_shadows): ... a new function. Handle the entire
10673 function in one go. Emit RTL for trapb, instead of printf directly.
10674 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
10675 (trap_pending): Kill global variable.
10676 (output_epilog): Don't call final_prescan_insn.
10677 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
10678 * alpha.h (FINAL_PRESCAN_INSN): Remove.
10679 (MACHINE_DEPENENT_REORG): Define.
10680 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
10681 (trapb): New insn.
10682
74835ed8
RH
10683Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
10684
10685 Tune Haifa scheduler for Alpha:
10686 * alpha.h (ISSUE_RATE): Define.
10687 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
10688 EV4 adjustments to EV5.
10689 * alpha.md: Remove all scaling from function unit delays. Rework
10690 EV5 function units to match the CPU.
10691 (umuldi3_highpart): EV5 added the IMULH insn class.
10692
cdc0de30
JL
10693Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
10694
10695 * pa.c (following_call): Fail if the CALL_INSN is an indirect
10696 call.
10697
041c97f2
MM
10698Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
10699
10700 * cplus-dem.c (demangle_signature): Don't look for return types on
10701 constructors. Handle member template constructors.
10702
f0632762
JM
10703Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
10704
10705 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 10706 * tree.h: Declare them.
f0632762 10707
dec88383
DE
10708Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
10709
10710 * configure.in: Handle --with-newlib.
10711 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
10712
10713 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
10714
0e1f3f5e
JL
10715Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
10716
10717 * config/ptx4.h: Fix typo.
10718
12504ae0
JL
10719Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
10720
10721 * version.c: Bump for snapshot.
10722
5643c767
MH
10723Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
10724
10725 * aclocal.m4: Substitute INSTALL.
10726 * configure: Re-built.
10727
aa0c1401
JL
10728Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
10729
f644bd14
JL
10730 * integrate.c (save_for_inline_copying): Avoid undefined pointer
10731 operations.
10732 (expand_inline_function): Likewise.
10733
aa0c1401
JL
10734 * dwarf2out.c (output_call_frame_info): Reinstate last change
10735 using flag_debug_asm check instead of flag_verbose_asm.
10736
6c2df6c9
JW
10737Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
10738
10739 * dwarf2out.c (output_call_frame_info): Remove last change.
10740
13ab2b83
AS
107411997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10742
10743 * frame.c (__frame_state_for): Execute the FDE insns until the
10744 current pc value is strictly bigger than the target pc value.
10745
066c2fea
JM
10746Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
10747
b57062ca 10748 * regclass.c (init_reg_modes): If we can't find a mode for the
066c2fea
JM
10749 register, use the previous one.
10750
2f308fec
RH
10751Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
10752
10753 * haifa-sched.c (print_block_visualization): Call fprintf directly,
10754 don't sprintf through an alloca'ed buffer.
10755
43984e29
TK
10756Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
10757
10758 * reload.c (decompose): Always initialize val.base.
10759
e9e30253
MH
10760Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
10761
10762 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
10763 instead of aborting.
10764 * dwarf2out.c (output_call_frame_info): Call app_enable and
10765 app_disable to let GNU as accept the generated comments.
10766
496651db
MM
10767Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
10768
10769 * tree.h (get_file_function_name): Add declaration.
10770 * dwarf2out.c (output_call_frame_info): No need to cast
10771 get_file_function_name call anymore.
10772 * profile.c (toplevel): Remove get_file_function_name
10773 declaration.
10774 * c-lang.c (finish_file): Ditto.
10775
e6347456
CS
10776Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
10777
10778 * Makefile.in (program_transform_name): Let autoconf substitute
10779 the correct value.
10780
1447b516
JL
10781Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
10782
10783 * haifa-sched.c (schedule_block): If the first real insn in a
10784 block has any special notes attached to it, remove them.
10785
1a42ead7
RH
10786Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
10787
10788 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
10789
4b6140f1
MH
10790Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
10791
10792 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
10793
dc84d7bc
JL
10794Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
10795
10796 * Makefile.in (check-g77): New test target.
10797 (CHECK-TARGETS): Add check-g77.
10798
c0da11c4
JM
10799Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
10800
10801 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
10802
d8d64559
MM
10803Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
10804
10805 * flow.c (print_rtl_with_bb): Cast alloca return value for
10806 in_bb_p.
10807
e414ab29
RH
10808Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
10809
b57062ca 10810 * i386.h (RETURN_ADDR_RTX): New definition that works for
e414ab29
RH
10811 __builtin_return_address(0) and -fomit-frame-pointer.
10812
15039abe
JW
10813Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
10814
10815 Bring over from FSF.
10816 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
10817
b57062ca 10818 * mips.c (function_arg): Handle passing a struct
15039abe
JW
10819 containing a double in a DFmode register without the PARALLEL.
10820
281de624
ILT
10821Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
10822
d8d64559 10823 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 10824
d8d64559 10825 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
10826 (from Paul Eggert <eggert@twinsun.com>).
10827
3cbdd5fc
PDM
10828Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10829
10830 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
10831 optimisation for f/expr.o and f/stb.o.
10832
135d84b8
JL
10833Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
10834
10835 * cse.c (this_insn_cc0_mode): Initialize.
10836
55d89719
TK
10837Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
10838
d3878e49
TK
10839 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
10840
10841 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 10842
e9d0757e
RH
10843Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
10844
10845 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
10846 that pair will dual-issue on the 21164 and plus+beq won't.
10847 (bne): Likewise for cmpeq+beq.
10848
3f34faec
JW
10849Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
10850
10851 * except.c (find_exception_handler_labels): Correct argument to free.
10852
3226dac5 10853Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
10854
10855 * except.c (find_exception_handler_labels): Free LABELS when we're
10856 done.
10857
3a6eabfa
JL
10858Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
10859
10860 * version.c: Bump for snapshot.
10861
974c50f9
JM
10862Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
10863
10864 * flow.c (find_basic_blocks): Mark calls as potentially jumping
10865 to the EH labels.
10866
9b16d2c4
JL
10867Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
10868
10869 * configure.in: Substitute for "install" too.
10870 * configure: Rebuilt.
10871
b1e3ddfd
AJ
10872Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
10873
10874 * Makefile.in (bootstrap-lean, compare-lean): New targets.
10875
6662a38d
RH
10876Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
10877
c02f035f
RH
10878 * alias.c (base_alias_check): Two symbols can conflict if they
10879 are accessed via AND.
10880 (memrefs_conflict_p): Likewise.
10881
7a14fdc5
RH
10882 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
10883 after flushing argument registers to the stack.
10884
6662a38d
RH
10885 * Makefile.in (mostlyclean): Remove .regmove files.
10886
f3447109
JM
10887Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
10888
10889 * libgcc2.c (__throw): Fix thinko.
10890
37f6b6bf
MM
10891Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
10892
10893 * cplus-dem.c (demangle_template): Add new parameter. Handle new
10894 template-function mangling.
10895 (consume_count_with_underscores): New function.
10896 (demangle_signature): Handle new name-mangling scheme.
10897
adfc539e
PDM
10898Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10899
10900 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
10901 start and end.
10902
92cbe4d2
JL
10903Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
10904
10905 * frame.c: Remove last change.
10906 * dwarf2.h: Remove last change.
10907 * tree.h: Add declarations of DWARF2 unwind info support
10908 functions.
10909
2f3ca9e7
JM
10910Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
10911
10912 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
10913 * tree.h (built_in_function): Likewise.
10914 * expr.c (expand_builtin): Likewise.
10915 * except.h: Likewise.
10916 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
10917 * libgcc2.c (copy_reg): New fn.
10918 (__throw): Use it.
10919
407cb092
PE
10920Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
10921
10922 * c-typeck.c (build_binary_op): Warn about comparing signed vs
10923 unsigned if -W is specified and -Wno-sign-compare is not.
10924 * c-decl.c (warn_sign_compare): Initialize to -1.
10925 (c_decode_option): -Wall no longer implies -Wsign-compare.
10926
3ba10494
AS
10927Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10928
a7cc7f29
AS
10929 * frame.c: Include gansidecl.h for PROTO.
10930 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
10931 defined. Don't declare dwarf2out_cfi_label here.
10932 * dwarf2.h: Add declarations of DWARF2 unwind info support
10933 functions.
10934 * m68k.c: Include dwarf2.h.
10935 (output_function_prologue): Add dwarf2 support.
10936 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
10937 (INCOMING_FRAME_SP_OFFSET): Likewise.
10938
3ba10494
AS
10939 * integrate.c (expand_inline_function): Make sure there is at
10940 least one insn that can be used as an insertion point.
10941
c5cec899
JM
10942Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
10943
10944 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
10945
e166cb18
JL
10946Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
10947
10948 * version.c: Bump for snapshot.
10949
01a94cba
DE
10950Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
10951
10952 Bring over from FSF.
10953
10954 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
10955
10956 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
10957 (get_pc_via_rdpc): Renamed from get_pc_sp64.
10958 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
10959
10960 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
10961
10962 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
10963 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
10964 -malign-functions=.
10965 (sparc_align_{loops,jumps,funcs}_string): Declare.
10966 (sparc_align_{loops,jumps,funcs}): Declare.
10967 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
10968 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
10969 (STACK_BIAS): Define.
10970 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
10971 test.
10972 (SPARC_SETHI_P): New macro.
10973 (CONST_OK_FOR_LETTER_P): Use it.
10974 (ASM_OUTPUT_ALIGN_CODE): Define.
10975 (ASM_OUTPUT_LOOP_ALIGN): Define.
10976 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
10977 (sparc_align_{loops,jumps,funcs}): New globals.
10978 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
10979 -malign-functions=.
10980 (move_operand): Use SPARC_SETHI_P.
10981 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
10982 perform test.
10983 (arith11_double_operand): Likewise.
10984 (arith10_double_operand): Likewise.
10985 (finalize_pic): Finish sparc64 support.
10986 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
10987 64 bit constants if able.
10988 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
10989 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
10990 ! TARGET_FPU.
10991 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
10992 (get_pc_sp32): Use for sparc64 as well.
10993 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
10994 (sethi_di_sp64_const): Likewise.
10995 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
10996 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
10997 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
10998
10999 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
11000
11001 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
11002 * sparc/linux.h (COMMENT_BEGIN): Likewise.
11003 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
11004
11005 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
11006
11007 Add sparc64 linux support.
11008 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
11009 to xm_file list on 32-bit sparc-linux.
11010 * sparc/xm-sp64.h: New file.
11011 * sparc/linux64.h: New file.
11012 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
11013 Don't include xm-sparc.h.
11014 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
11015 * glimits.h (LONG_MAX): Handle sparc64.
11016
11017 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
11018
11019 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
11020 * sparc.h (ASM_COMMENT_START): Define.
11021 * sparc.c (output_function_prologue): Use it.
11022 (sparc_flat_output_function_{epi,pro}logue): Likewise.
11023
11024 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
11025
11026 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
11027 use sparc.h's copies.
11028 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
11029 ascii form as well.
11030
11031 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11032
11033 * sparc.c (dwarf2out_cfi_label): Add declaration.
11034 (save_regs, output_function_prologue): Remove cast for it.
11035 (sparc_flat_{save_restore,output_function_prologue): Likewise.
11036 ({save,restore}_regs): No longer inline.
11037
ce2157a1
JL
11038Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11039
11040 * fold-const.c (make_range): Correctly handle cases of converting
11041 from unsigned to signed type.
11042
11043Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
11044
11045 * fold-const.c (merge_ranges): Make sure that if one range is subset
11046 of another, it will always be the second range. Correct (+,-) case to
11047 account for this.
11048
c5cec899
JM
11049Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
11050
11051 * final.c (final_end_function): Also do dwarf2 thing if
11052 DWARF2_DEBUGGING_INFO.
11053 (final_start_function): Likewise.
11054
c107334d
DM
11055Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
11056
e13a25d5
DM
11057 * expmed.c (expand_divmod): If compute_mode is not the same as
11058 mode, handle the case where convert_modes() causes op1 to no
11059 longer be a CONST_INT.
11060
c107334d
DM
11061 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
11062 note holding get_jump_flags() calculation to all JUMP_INSNs.
11063 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
11064 * rtl.c (reg_note_name): Add new note types.
11065
8d7532d9
JL
11066Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
11067
0774afd7 11068 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 11069
7019d00e
L
11070Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11071
11072 * loop.c (indirect_jump_in_function_p): Return 0
11073 by default.
11074
b9dfb357
JL
11075Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
11076
11077 * rs6000/xm-rs6000.h: Fix thinko in last change.
11078 * rs6000/xm-sysv4.h: Likewise.
11079
4b7e467b
JW
11080Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
11081
11082 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
11083
8c8e6faa
JL
11084Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
11085
11086 * reg-stack.c (find_blocks): Fix thinko in last change.
11087
078e983e
AS
110881997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11089
11090 * m68k.c (output_function_prologue): Add dwarf2 support.
11091
11092 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
11093 INCOMING_FRAME_SP_OFFSET): New definitions.
b57062ca 11094
d7027667
DM
11095Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
11096
9524f769
DM
11097 * combine.c (try_combine): Use NULL_RTX instead of '0' where
11098 appropriate in calls to gen_rtx().
11099 * cse.c (cse_main): Likewise.
11100 * emit-rtl.c (gen_label_rtx): Likewise.
11101 * expr.c (init_expr_once): Likewise.
11102 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
11103 sched_analyze, init_rgn_data_dependences,
11104 compute_block_backward_dependences): Likewise.
11105 * sched.c (schedule_insns): Likewise.
11106 * varasm.c (immed_double_const): Likewise.
11107
d7027667
DM
11108 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
11109 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
11110
fbf8b71c
KJ
11111Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
11112
11113 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
11114 (MULTILIB_DEFAULTS): Define.
11115 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
11116 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
11117 (LIBGCC_SPEC): Likewise.
11118 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
11119 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
11120 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
11121 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
11122 (EXTRA_PARTS, TAROUTOPTS): Delete.
11123 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
11124 (MULTILIB_OPTIONS): Define.
11125 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
11126 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
11127
c14a951f
JL
11128Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
11129
11130 * version.c: Bump for snapshot.
11131
7014927a
JL
11132Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
11133
37aa45a2
JL
11134 * loop.c (loop_number): Delete function. Change all references
11135 to use uid_loop_num array.
11136 * loop.h (loop_number): Delete declaration.
11137 * unroll.c (unroll_loop): Change "loop_number" references to
11138 use uid_loop_num instead.
11139
b47404d1
JL
11140 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
11141 conditional.
11142 (loop_unroll_iter): Remove unused variable and all references.
11143 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
11144 (insert_bct): Fix minor formatting problems.
11145 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
11146 (loop_unroll_iter): Removed unused decl.
11147 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
11148 Always record the unrolling factor.
11149
cb3bb2a7
JL
11150 * cse.c (simplify_relational_operation): Set h0u just like h0s.
11151 Similarly for h1u and h1s.
11152
d5ff3a2e 11153 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
11154 (find_basic_blocks): Use computed_jump_p to determine if a
11155 particular JUMP_INSN is a computed jump.
11156 * reg-stack.c (find_blocks): Use computed_jump_p to determine
11157 if a particular JUMP_INSN is a computed jump.
11158 * rtlanal.c (jmp_uses_reg_or_mem): New function.
11159 (computed_jump_p): Likewise.
11160 * rtl.h (computed_jump_p): Declare.
11161 * genattrtab.c (pc_rtx): Define and initialize.
11162 * loop.c (loop_optimize): Always determine if the current
11163 function has a computed jump.
11164 (indirect_jump_in_function_p): Use computed_jump_p to determine
11165 if a particular JUMP_INSN is a computed jump.
11166
7014927a
JL
11167 * loop.c (fix_bct_param): Delete unused function.
11168 (check_bct_param): Likewise.
11169
6d53d7c2
JM
11170Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
11171
11172 * frame.c (__deregister_frame): Check properly for initialized object.
11173
5a5e9503 11174Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
11175
11176 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
11177
272299b9
R
11178Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11179
cc5e1642
R
11180 * jump.c (thread_jumps): check can_reverse_comparison_p before
11181 threading a reversed-condition jump.
11182
272299b9
R
11183 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
11184 * haifa-sched.c (update_flow_info): Likewise.
11185
18511014
JL
11186Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
11187
e6493727
JL
11188 * Makefile.in (BOOT_CFLAGS): Use -O2.
11189
1e467e19
JL
11190 * configure.in (strtoul, bsearch): Have autoconf check for these
11191 functions.
11192 * configure, config.in: Rebuilt.
11193
18511014
JL
11194 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
11195 * mips/mips.h (alloca): Likewise.
11196 * rs6000/xm-rs6000.h (alloca): Likewise.
11197 * rs6000/xm-sysv4.h: Likewise.
11198
6020d360
JM
11199Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
11200
11201 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
11202 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
11203 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
11204
11205 * except.c (end_eh_unwinder): Subtract 1 from return address.
11206 * libgcc2.c (__throw): Likewise.
11207 (find_exception_handler): Don't change PC here. Compare end with >.
11208
b24bcfb3 11209Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
b57062ca 11210
b24bcfb3
NC
11211 * v850.c (compute_register_save_size): Correct register
11212 number.
11213 * v850.md (save_interrupt, return_interrupt): Correct
11214 register number.
11215 * v850/lib1funcs.asm (save_interrupt): Correct register number.
11216 (return_interrupt): Use stack pointer, not element pointer.
11217
93cf819d
BK
112181997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
11219
11220 * configure.in, configure: Make sure to create the stage* and include
11221 symbolic links in each subdirectory.
11222
f0501149
JL
11223Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
11224
11225 * pa.md (reload_peepholes): Don't allow addresses with side
11226 effects for the memory operand.
11227
4f870c04
JM
11228Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
11229
11230 * libgcc2.c (find_exception_handler): Subtract one from our PC when
11231 looking for a handler, to avoid hitting the beginning of the next
11232 region.
11233
11234 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
11235
4eb66248
JL
11236Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
11237
11238 * mips/abi64.h (LONG_MAX_SPEC): Define.
11239 * mips.h (LONG_MAX_SPEC): Define.
11240 (CPP_SPEC): Include long_max_spec.
11241 (EXTRA_SPECS): Include long_max_spec.
11242
44158507
JL
11243Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
11244
11245 * v850.c (construct_save_jarl): Fix thinko in last change.
11246
bf520cd9
JL
11247Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
11248
11249 * version.c: Bump for snapshot.
11250
255fe733
JM
11251Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
11252
c0727e2a
JM
11253 * libgcc2.c (find_exception_handler): Not found is -1.
11254
255fe733
JM
11255 * integrate.c (expand_inline_function): Move expand_start_bindings
11256 after expanding the arguments.
11257
21002281
JW
11258Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
11259
11260 * expr.c (expand_expr): Remove previous incorrect change.
11261 If target and slot has no DECL_RTL, then call mark_addressable
11262 again for the slot after we give it RTL.
11263
e693cc28 11264Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 11265
e693cc28
UD
11266 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
11267 again for the slot after we give it RTL.
f633220c 11268
145870b5
NC
11269Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
11270
84e75068 11271 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
11272 pattern_is_ok_for_epilogue, construct_restore_jr,
11273 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
11274
84e75068 11275 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
11276 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
11277 predicates.
11278
84e75068 11279 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
11280 match_parallel pattern.
11281
76143254
JL
11282Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
11283
11284 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
11285 * configure.in: Use EGCS_PROG_INSTALL.
11286
4401bf24
JL
11287Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
11288
11289 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
11290 extern inline function.
11291
11292Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
11293
11294 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
11295 (concat_loc_descriptor): New function.
11296 (loc_descriptor): Call it.
11297 (add_AT_location_description): Also elide the descriptor if both
11298 halves of a CONCAT are pseudos.
11299 (add_location_or_const_value_attribute): Recognize CONCAT too.
11300
0d24ff5d
RH
11301Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
11302
4bb43724
RH
11303 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
11304
0d24ff5d
RH
11305 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
11306 out-or-range reg_offset.
11307 (output_epilog): Likewise.
11308
05ef8897
JL
11309Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
11310
11311 * cse.c (simplify_relational_operation): If MODE specifies a
11312 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
11313 is derived from the sign bit of the low word.
11314
ca55abae
JM
11315Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
11316
11317 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
11318
11319 * dwarf2.h: Add DW_CFA_GNU_args_size.
11320 * frame.c (execute_cfa_insn): Likewise.
11321 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
11322 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
11323 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
11324 insn, hand it off to dwarf2out_stack_adjust.
11325 (dwarf2out_begin_prologue): Initialize args_size.
11326 * frame.h (struct frame_state): Add args_size.
11327 * libgcc2.c (__throw): Use args_size.
11328 * final.c (final_scan_insn): If we push args, hand off all insns
11329 to dwarf2out_frame_debug.
11330 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
11331
11332 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
11333 Handle epilogue restore of SP from FP.
b57062ca 11334 * emit-rtl.c (gen_sequence): Still generate a sequence if the
ca55abae
JM
11335 lone insn has RTX_FRAME_RELATED_P set.
11336
11337 * frame.c (extract_cie_info): Handle "e" augmentation.
11338 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
11339 absence of UNALIGNED_*_ASM_OP.
11340 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
11341 (output_call_frame_info): Use "e" instead of "z" for augmentation.
11342 Don't emit augmentation fields length.
11343 (dwarf2out_do_frame): Move outside of #ifdefs.
11344 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
11345 opcodes.
11346
11347 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
11348 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
11349 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
11350 * sparc/sun4gas.h: New file.
11351 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
11352
b57062ca 11353 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
ca55abae
JM
11354 __register_frame_table and __deregister_frame.
11355
1d77fa53
BK
113561997-09-15 Brendan Kehoe <brendan@cygnus.com>
11357
11358 * except.c (find_exception_handler_labels): Use xmalloc instead of
11359 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
11360 in some cases.
11361
8be52aaa
JL
11362Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
11363
11364 * Makefile.in: Various changes to build info files
11365 in the object tree rather than the source tree.
11366
a3ee3246
JL
11367Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
11368
11369 * fixinc.math: New file to fix math.h on some systems.
11370 * configure.in (freebsd, netbsd): Use fixinc.math on these
11371 systems.
11372 * configure: Rebuilt.
11373
124da275
JL
11374Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
11375
11376 * regmove.c (regmove_optimize): If we end up moving the
11377 original insn due to lifetime overlaps, make sure to move
11378 REG_NOTES too.
11379
fca9d4b0
MH
11380Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
11381
11382 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
11383
326ee7a3
JL
11384Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
11385
11386 * haifa-sched.c (add_branch_dependences): Make each insn in
11387 a SCHED_GROUP_P block explicitly depend on the previous insn.
11388
ca55abae
JM
11389Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
11390
11391 * except.h: Prototype dwarf2 hooks.
11392 * expr.c: Adjust.
11393
5188d2b2
JW
11394Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
11395
11396 * configure.in (native_prefix): Delete.
11397 (mips-dec-netbsd): Don't set prefix.
11398 (*linux*): Don't set prefix.
11399
2e384318
FF
11400Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
11401
70988851
FF
11402 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
11403 defined. If not defined, include <sys/varargs.h> if
11404 HAVE_SYS_VARARGS_H is defined.
11405 * configure.in: Test for varargs.h and sys/varargs.h.
11406 * configure: Regenerate with autoconf.
11407 * config.in: Regenerate with autoheader.
11408
2e384318
FF
11409 * cpplib.c (quote_string): Cast first arg of sprintf call
11410 from "unsigned char *" to "char *".
11411 (output_line_command): Ditto.
11412 (macroexpand): Ditto.
11413 (do_line): Cast atoi arg from "unsigned char *" to "char *".
11414
3fb2f401
JL
11415Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
11416
f2e4e16f
JL
11417 * version.c: Bump for snapshot.
11418
3fb2f401
JL
11419 * Makefile.in (compare): Exit with nonzero status if there
11420 are comparison failures. Note which files failed the
11421 comparison test in .bad_compare.
11422
d26cb668
L
11423Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11424
11425 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
11426
ac64120e
JW
11427Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
11428
11429 * Makefile.in (LN, LN_S): New macros, use where appropriate.
11430 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
11431 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
11432 * configure: Regenerated.
11433
11434Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
11435
11436 * loop.c (strength_reduce): Fix typo.
11437
db87ec0b
JW
11438Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
11439
11440 * m88k/m88k.c (struct option): Rename to struct options.
11441 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
11442 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
11443 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
11444 __DOLPHIN__ or sysV88.
11445
04395f96
JW
11446Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
11447
11448 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
11449 create new subreg.
11450
becdcf6d
JL
11451Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
11452
11453 * config.sub: Accept 'amigados' for backward compatability.
11454
04395f96 11455Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
11456
11457 * Makefile.in (testsuite/site.exp): New target.
11458 (check-gcc, check-g++): Depend on testsuite/site.exp.
11459 Don't stop for failure.
11460
ca55abae
JM
11461Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
11462
11463 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
11464 if DWARF2_UNWIND_INFO.
11465
11466Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
11467
11468 Add support for exception handling using DWARF 2 frame unwind info.
11469 Currently works on SPARC and MIPS, and almost on x86.
b57062ca 11470
ca55abae
JM
11471 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
11472 next_stack_level, in_reg_window): Helper fns.
11473 (__throw): Implement for DWARF2_UNWIND_INFO.
11474
11475 * expr.c (expand_builtin): Handle builtins used by __throw.
11476 * tree.h (enum built_in_function): Add builtins used by __throw.
11477 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
11478 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
11479 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
11480 (expand_builtin_extract_return_addr): Likewise.
11481 (expand_builtin_frob_return_addr): Likewise.
11482 (expand_builtin_set_return_addr_reg): Likewise.
11483 (expand_builtin_eh_stub): Likewise.
11484 (expand_builtin_set_eh_regs): Likewise.
11485 (eh_regs): Choose two call-clobbered registers for passing back values.
11486
11487 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
11488 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
11489 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
11490 (stmp-multilib): Likewise.
11491 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
11492
11493 * except.c: #include "defaults.h".
11494 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
11495 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
11496 (register_exception_table_p): New fn.
11497 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
11498 (end_eh_unwinder): Likewise.
11499
b57062ca 11500 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
ca55abae
JM
11501 call __register_frame and __deregister_frame as needed.
11502 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
11503 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
11504 EH_FRAME_SECTION_ASM_OP.
11505 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
11506 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
11507 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
11508
11509 * dwarf2out.c (output_call_frame_info): If no support for
11510 EXCEPTION_SECTION, mark the start of the frame info with a
11511 collectable tag.
11512 * collect2.c (frame_tables): New list.
11513 (is_ctor_dtor): Recognise frame entries.
11514 (scan_prog_file): Likewise.
11515 (main): Pass -fno-exceptions to sub-compile. Also do collection
11516 if there are any frame entries.
11517 (write_c_file_stat): Call __register_frame_table and
11518 __deregister_frame as needed.
11519 (write_c_file_glob): Likewise.
11520
b57062ca 11521 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
ca55abae
JM
11522 Also require unaligned reloc support.
11523 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11524 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
11525 * sparc/sysv4.h: Not here.
11526
11527 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
11528 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
11529 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
11530
11531 * libgcc2.c (L_eh): Reorganize, moving code shared by different
11532 EH implementations to the top.
11533 (find_exception_handler): Split out. Start from 0. Compare against
11534 end with >=.
11535 (__find_first_exception_table_match): Use it.
11536 * except.c (output_exception_table): Don't do anything if there's
11537 no table. Don't output a first entry of zeroes.
11538 (eh_outer_context): Adjust properly.
11539 (add_eh_table_entry): Use xrealloc.
11540 * toplev.c (compile_file): Just call output_exception_table.
11541
11542Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
11543
11544 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
11545
11546Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
11547
11548 * except.c (eh_outer_context): Do masking using expand_and.
11549
b4d940a2
JL
11550Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
11551
11552 Add port done awhile ago for the ARC cpu.
11553 * arc/arc.h: New file.
11554 * arc/arc.c: New file.
11555 * arc/arc.md: New file.
11556 * arc/initfini.c: New file.
11557 * arc/lib1funcs.asm: New file.
11558 * arc/t-arc: New file.
11559 * arc/xm-arc.h: New file.
11560 * ginclude/va-arc.h: New file.
11561 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
11562 * ginclude/varargs.h: Likewise.
11563 * Makefile.in (USER_H): Add va-arc.h.
11564 * configure.in (arc-*-elf*): Recognize.
11565 * longlong.h: Add ARC support.
11566
11567Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
11568
11569 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
11570 when clearing non-BLKmode data.
11571
10211581
JL
11572Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
11573
9dfc6eba
MH
11574 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
11575 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
11576
55259219
MH
11577 * xm-m88k.h (USG): Only define if it hasn't already been defined.
11578
11579 * Makefile.in (risky-stage1): Delete gratutious whitespace.
11580
ee291069
MH
11581 * Makefile.in (clean): Delete libgcc1-test.
11582
10211581
JL
11583 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
11584
11585Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
11586
11587 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
11588 template.
11589
ca55abae
JM
11590Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11591
11592 * dwarf2out.c (output_call_frame_info): Call named_section.
11593
8f3d79e0
JL
11594Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
11595
11596 * haifa-sched.c (print_value): Fix last change.
11597
ca55abae
JM
11598Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
11599
11600 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
11601 write_symbols.
11602
11603Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
11604
11605 * mips.c (function_prologue): Set up the CFA when ABI_32.
11606
11607 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
11608 for dwarf2 unwind info.
11609 (output_function_prologue, sparc_flat_output_function_prologue): Same.
11610
11611 * final.c (final_end_function): Check dwarf2out_do_frame instead
11612 of DWARF2_DEBUG for dwarf2 unwind info.
11613 (final_scan_insn): Likewise.
11614 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
11615 (final): Not here.
11616
11617 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
11618 count > 0.
11619
11620 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
11621
74aca74b
NC
11622Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
11623
11624 * v850.h (ASM_SPEC): Pass on target processor.
11625 (CPP_PREDEFINES): Only define if not already specified.
11626 (TARGET_VERSION): Only define if not already specified.
11627 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
11628 processor.
11629 (EXTRA_SWITCHES): Extra entries in the switches array.
11630 (TARGET_DEFAULT): Set default target processor.
11631
c0b04148
JW
11632Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
11633
11634 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
11635 cases, add %# and %/, and add : to make them into extended asms.
11636
52b7724b
WL
11637Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
11638
11639 * alias.c (init_alias_analysis): Clean up incompatible pointer
11640 type warning in bzero.
11641 * regmove.c (regmove_optimize): Ditto.
11642 * haifa-sched.c (find_rgns): Ditto.
11643
11644 * haifa-sched.c (print_value): Clean up ptr->int cast
11645 warnings.
11646
0c82f6bf
FF
11647Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
11648
11649 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
11650 * install.texi (Configurations): Ditto.
11651 * config.sub: Ditto.
11652
1fed1f51
WL
11653Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
11654
11655 * Makefile.in (sdbout.o): Depend on insn-config.h.
11656
239e68f6
JW
11657Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
11658
11659 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
11660 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
11661
267c09ab
JM
11662Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
11663
11664 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
11665 prologue insn, only the first elt is significant.
11666 (output_call_frame_info): For exception handling, always use 4-byte
11667 fields as specified by the dwarf2 spec.
11668 Don't skip trivial FDEs.
11669
db7cafb0
JL
11670Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
11671
11672 * version.c: Bump for snapshot.
11673
11674Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
11675
11676 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
11677 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
11678 when op1_is_pow2.
11679
11680Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
11681
bf520cd9
JL
11682 * final.c (shorten_branches): During first pass, assume worst
11683 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
11684
11685 * Makefile.in (distclean): Remove various things left around
11686 by running the testsuite.
11687
7ed46111
MH
11688Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
11689
11690 * configure.in (out_file): Emit definition to config.status in order
11691 to have a defined value for configure.lang.
11692 * configure: Re-built.
11693
e41cea70
JJH
11694Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
11695
bf520cd9 11696 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
11697 for ld-new.
11698 * configure: Rebuilt.
11699
1aeb1f6f
JW
11700Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
11701
11702 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
11703
770a0113
CK
11704Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
11705
11706 * sparc/sparc.md: Add ultrasparc scheduling support.
11707 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
11708
f5ffa999
PDM
11709Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
11710
11711 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
11712 as initial value for real_label_map.
11713 (copy_for_inline): Likewise.
11714
acceac1a
R
11715Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11716
11717 * sched.c (update_flow_info) When looking if to set found_split_dest
11718 or found_orig_dest, look at all parts of a PARALLEL.
11719 * haifa-sched.c (update_flow_info): Likewise.
11720
f84271d9
JL
11721Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
11722
11723 * v850: New directory for v850 port.
11724 * v850/lib1funcs.asm: New file.
11725 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
11726 * ginclude/va-v850.h: New file.
11727 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
11728 * configure.in (mn10200-*-*): New target.
11729 * configure: Rebuilt.
11730 * config.sub: Handle v850-elf.
b57062ca 11731 * Makefile.in (USER_H): Add va-mn10200.h.
f84271d9
JL
11732 * invoke.texi: Document v850 stuff.
11733
89cc6098
JW
11734Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
11735
04940ba5
JW
11736 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
11737 has integer TYPE_{MAX,MIN}_VALUE before using them.
11738
89cc6098
JW
11739 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
11740 __HPUX_ASM__ versions.
11741
c74f7db8
JL
11742Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
11743
bf520cd9 11744 * install.sh: Delete duplicate install script.
c74f7db8 11745
914ec131
SC
11746Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
11747
11748 * reg-stack.c (subst_stack_regs): Pop the stack register for a
11749 computed goto which sets the same stack register.
11750
11751 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
11752 destination are both on the regstack.
11753 (subst_stack_regs_pat): Put the destination at the top of the regstack.
11754
c1090daa
JW
11755Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
11756
d5d1738a
JW
11757 * mips.md (nonlocal_goto_receiver): Define.
11758
f4da7881
JW
11759 * profile.c (output_arc_profiler): Check next_insert_after for non
11760 NULL before deferencing it.
11761
c1090daa
JW
11762 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
11763
da594c94
JL
11764Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
11765
11766 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
11767
3e28fe44
MM
11768Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
11769
11770 * toplev.c (rest_of_compilation): For passes starting with
11771 flow_analysis, use print_rtl_with_bb instead of print_rtl.
11772
11773 * print-rtl.c (print_rtl_single): Print a single rtl value to a
11774 file.
11775
11776 * flow.c (print_rtl_with_bb): Print which insns start and end
11777 basic blocks. For the start of a basic block, also print the live
11778 information.
11779
7053ca72
JW
11780Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
11781
417b0fa2
JW
11782 * toplev.c (main): Change #elif to #else/#ifdef
11783
7053ca72
JW
11784 * tlink.c: Include ctype.h.
11785 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
11786
f05a8b25
MM
11787Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
11788
11789 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 11790 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 11791
02d7a569
JS
11792Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
11793
11794 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
11795
6030b6af
JW
11796Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
11797
11798 * profile.c (output_arc_profiler): Verify next_insert_after is an
11799 INSN before and after skipping a stack pop.
11800
04da53bd
R
11801Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11802
11803 * final.c (shorten_branches): Don't count the lengths of deleted
11804 instructions.
11805
780532a4
JL
11806Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
11807
11808 * version.c: Bump for snapshot.
11809
22fa5b8a
MM
11810Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
11811
11812 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
11813 two bitmaps ANDed together.
11814 (bitmap_print): Declare.
11815
11816 * bitmap.c (function_obstack): Don't declare any more.
11817 (bitmap_obstack): Obstack for allocating links from.
11818 (bitmap_obstack_init): New static to say whether to initialize
11819 bitmap_obstack.
11820 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
11821 (bitmap_release_memory): Free all memory allocated from
11822 bitmap_obstack.
11823
11824 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
11825 EXECUTE_IF_AND_IN_BITMAP.
11826
57163df0
JW
11827Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
11828
fa8b6024
JW
11829 * alias.c (true_dependence): Address with AND can alias scalars.
11830 (anti_dependence, output_dependence): Likewise.
b57062ca 11831
57163df0
JW
11832 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
11833
8aa4e786
JS
11834Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
11835
11836 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
11837 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
11838 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
11839 definitions. Use -qrtems instead of -mrtems.
11840
feb21122
RL
11841Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
11842
11843 * xm-sco5.h (sys_siglist): Define.
11844 (SYS_SIGLIST_DECLARED): Likewise.
11845
704af6a1
JL
11846Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
11847
11848 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
11849
127cd405
TG
11850Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
11851
11852 * except.c (eh_outer_context): Expand masking operation using
11853 expand_binop.
11854
8cf02b47
JW
11855Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
11856
11857 * alpha.md (floatdisf2-1): New pattern.
11858
49dad301
JL
11859Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
11860
068f1cb8
JL
11861 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
11862 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 11863 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
11864 * gcc.texi: Note that if you define sys_siglist that you should
11865 also define SYS_SIGLIST_DECLARED.
11866
49dad301
JL
11867 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
11868 are relative to the next instruction, not the current instruction.
11869
a1729519
JW
11870Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
11871
11872 * local-alloc.c (contains_replace_regs): New function.
11873 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
11874 verify that there is no existing REG_EQUIV note, and add a call to
11875 contains_place_regs.
11876
290c8b1f
L
11877Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11878
11879 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
11880 (STARTFILE_SPEC): Always use crtbegin.o%s
11881 (ENDFILE_SPEC): Always use crtend.o%s.
11882
a6a503ed
JW
11883Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
11884
11885 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
11886 is passed in.
11887 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
11888 SFmode for 64 bit hosts.
b57062ca 11889
a94729bc
PH
11890Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
11891
11892 * fixincludes: Permits spaces between # and define. Discard C++
11893 comments in sys/pci.h on HP/UX 10.20.
11894
c9e03727
JL
11895Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
11896
11897 * version.c: Bump for snapshot.
11898
2eddfed1
JL
11899 * pa.c (restore_unscaled_index_insn_codes): New function.
11900 (record_unscaled_index_insn_codes): Likewise.
11901 (output_function_prologue): Call restore_unscaled_index_insn_codes.
11902 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
11903 (pa_reorg): Call record_unscaled_index_insn_codes.
11904
c9e03727
JL
11905 * haifa-sched.c (move_insn): Handle notes correctly for insns
11906 with SCHED_GROUP_P set.
b57062ca 11907
a5d6a95b
L
11908Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11909
11910 * alpha/xm-linux.h (USE_BFD): Undef before define.
11911
bc4ddc77
JW
11912Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
11913
11914 * cse.c (cse_insn): Don't record BLKmode values.
11915
f3e0ca6c
SW
11916Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
11917
11918 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
11919
e3512ac2
JL
11920Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
11921
a63d08e6
JL
11922 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
11923 * collect2.c (sys_errlist): Likewise.
11924 * cpplib.c (sys_errlist): Likewise.
11925 * gcc.c (sys_errlist): Likewise.
11926 * protoize (sys_errlist): Likewise.
11927 * configure.in: Check for strerror.
11928 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
11929 * xm-gnu.h (HAVE_STRERROR): Likewise.
11930 * xm-linux.h (HAVE_STRERROR): Likewise.
11931 * xm-netbsd.h (HAVE_STRERROR): Likewise.
11932 * xm-bsd386.h (HAVE_STRERROR): Likewise.
11933 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
11934 * xm-dos.h (HAVE_STRERROR): Likewise.
11935 * xm-mingw32.h (HAVE_STRERROR): Likewise.
11936 * xm-pa.h (HAVE_STRERROR): Likewise.
11937 * xm-papro.h (HAVE_STRERROR): Likewise.
11938 * xm-sysv4.h (HAVE_STRERROR): Likewise.
11939 * configure, config.in: Rebuilt.
11940
db814993
JL
11941 * Makefile.in: Add several missing "else true" clauses.
11942
e3512ac2
JL
11943 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
11944 * mips-tfile.c: Likewise.
11945 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
11946 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
11947 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
11948 * configure.in: Check for sys_siglist declaration.
11949 * configure, config.in: Rebuilt.
11950
5d84b57e
JS
11951Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
11952
b57062ca 11953 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
5d84b57e
JS
11954 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
11955 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
11956 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
11957 * rs6000/sysv4.h (extra_subtarget_switches): Added new
11958 macro EXTRA_SUBTARGET_SWITCHES.
11959 * configure.in (sh*-*-rtems*): New target.
11960 * sh/rtems.h: New file.
11961 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
11962 * configure: Rebuilt.
11963
2599dcc7
JW
11964Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
11965
11966 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
11967
3b7e5ef4
DE
11968Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
11969
11970 * rs6000.md: Make DF fused-add operations pay attention to
11971 -mno-fused-add.
11972
5cd5f4a7
JW
11973Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
11974
11975 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
11976
63e7fe9b
JL
11977Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
11978
11979 * pa.md (reload_peepholes): Make sure operand is a REG before
11980 examining REGNO. Allow general registers too.
11981
eb7b11fd
JW
11982Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
11983
11984 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
11985
c760091a
PT
11986Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
11987
5cd5f4a7 11988 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
11989 to reallocate abbrev_die_table.
11990
57583338
JW
11991Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
11992
11993 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
11994
eae4b970
AS
119951997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11996
4f91a0f8
AS
11997 * Makefile.in (config.status): Depend on version.c
11998
eae4b970
AS
11999 * expr.h (insn_gen_function): Reenable prototype.
12000
12001 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
12002 first parameter.
12003
00fc09e1
JW
12004Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
12005
12006 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
12007
2601ebca
JL
12008Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
12009
12010 * version.c: Bump for latest snapshot.
12011
12012 * bc-optab.c: Conditionally include stdlib.h.
12013 (free): Provide a declaration if NEED_DECLARATION_FREE.
12014 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
12015 * rtl.h (free): Remove declaration.
12016 * tree.h (free): Remvoe declaration.
12017
12018 * configure: Rebuilt.
12019
e5eb27e5
JL
12020Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
12021
12022 * flags.h (flag_move_all_movables): Declare.
12023 (flag_reduce_all_givs): Likewise.
12024 * loop.c (move_movables): Handle flag_move_all_movables.
12025 (strength_reduce): Handle flag_reduce_all_givs.
12026 * toplev.c (flag_move_all_movables): Define.
12027 (flag_reduce_all_givs): Likewise.
12028 (f_options): Add -fmove-all-movables and -freduce-all-givs.
12029 * invoke.texi: Document new options, including alias stuff that
12030 wasn't included last time.
12031
d995a6dc
BM
12032Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
12033
12034 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
12035 * t-mn10200: Ditto.
12036 * t-vxsparc: Ditto.
12037 * t-vxworks68: Ditto.
12038 * t-vxworks960: Ditto.
12039 * t-vx29k: Ditto.
12040
ba64ca33
RH
12041Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
12042
12043 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
12044 if not already defined, and USE_C_ALLOCA not defined.
12045
ca20876d
JW
12046Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
12047
7818d6fc
JW
12048 * config.guess: Replace with script that uses ../config.guess.
12049
ca20876d
JW
12050 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
12051 if USE_GNULIBC_1 is not defined.
12052
704a6306
RH
12053Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
12054
12055 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
12056 * config.guess: Recognize alpha-linux-gnulibc1.
12057 * configure.in (alpha-*-linux-gnulibc1): New target.
12058 (alpha-*-linux-gnu*): Don't build crtbegin/end.
12059
67f68fd2
JW
12060Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
12061
12062 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
12063 last change.
12064
88016fb7
DE
12065Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
12066
12067 * loop.c (combine_movables): Earlier insns don't match later ones.
12068
bba17b29
L
12069Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12070
12071 * config/linux.h (CC1_SPEC): Define it only if not defined.
12072
12073 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
12074 <linux.h>
12075
12076 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
12077 USE_GNULIBC_1 is not defined.
12078
33d2808b 12079 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
12080
12081 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
12082 as 1 if USE_GNULIBC_1 is not defined.
12083
ed4044e0
JL
12084Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
12085
f345de42
JL
12086 * reorg.c (dbr_schedule): Allow current_function_return_rtx
12087 to be something other than a REG.
12088 * function.c (expand_function_end): Fix current_function_return_rtx
12089 if it was a pseudo.
12090
ed4044e0
JL
12091 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
12092 * x-netbsd: Likewise
12093 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
12094 (INSTALL_HEADERS): Delete.
12095 * x-dguxbcs: Likewise.
12096 * x-hp3bsd44: Likewise
12097 * x-pa: Likewise.
12098
47d36400
BS
12099Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
12100
12101 * i386.md (pop): pop increments the stack pointer.
12102 (prologue_set_stack_ptr): New pattern.
12103 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
12104 instead of subsi3.
12105
fc79eafe
JW
12106Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
12107
12108 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
12109 address where an offsettable address is required.
12110
c5da853f
MH
12111Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
12112
12113 * loop.c (check_final_value): Don't miss a biv increment in a
12114 parallel.
12115
d4ef15f2
JW
12116Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
12117
12118 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
12119 TYPE_DECL_IS_STUB instead of DECL_NAME.
12120
10549cbd
JW
12121Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12122
12123 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
12124
12125Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
12126
12127 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
12128
484df988
JL
12129Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
12130
12131 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
12132 (find_post_sched_live): Likewise.
12133
12134 * haifa-sched.c (schedule_block): Remove old code to get arguments
12135 from hard regs into pseudos early.
12136
39dfb55a
JL
12137Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
12138
12139 * version.c: Bump for new snapshot.
12140
12141 * local-alloc.c (update_equiv_regs): All the target to reject
12142 promotion of some REG_EQUAL to REG_EQUIV notes.
12143 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
12144
12145 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
12146 secondary reloads.
12147
12148 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
12149 store of the argument registers.
12150
12151Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
12152
12153 * fold-const.c (multiple_of_p): New function.
12154 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
12155
d78778eb
JL
12156Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
12157
12158 * expr.h (insn_gen_function): Temporarily remove prototype.
12159
feb9ea1a
JW
12160Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
12161
12162 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
12163 filenames. Use sed to extract base filename for install.
12164
b6ffe602
JC
12165Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
12166
12167 * unroll.c (find_splittable_givs): Only share if two givs have the
12168 same add and multiply values.
12169
2ebfd230
JW
12170Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
12171
12172 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
12173 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
12174
251ffdee
JL
12175Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
12176
12177 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
12178 around branch tables.
12179 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
12180 and .end_brtab directives if TARGET_GAS.
12181
19372aa1
JW
12182Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
12183
27314274
JW
12184 * alias.c (true_dependence): Pass x_addr not x to varies.
12185
19372aa1
JW
12186 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
12187 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
12188 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
12189 declarations.
12190 * config.in, configure: Regenerate.
12191
2a2c8203
JC
12192Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
12193
12194 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
12195 LO_SUM.
12196 (record_set): Handle LO_SUM like PLUS.
12197 (init_alias_analysis): When following chains of base addresses,
12198 do not stop on reaching a hard register.
12199
d80357b7
JL
12200Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
12201
12202 * version.c: Bump for new snapshot.
12203
b4f32d7b
JW
12204Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
12205
12206 * alpha.h (ARCH_ASM_FILE_START): Define.
12207 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
12208 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
12209
ca363bb6
JL
12210Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
12211
12212 * Makefile.in (install-common): Put gcov comment at start of line.
12213
7557aa98
JL
12214Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
12215
12216 * alias.c (init_alias_analysis): When simplifying the reg_base_value
12217 array, simplify entries for hard registers too.
12218
c34e3ae4
DL
12219Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
12220
12221 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
12222 list.
12223
e3eef942
JW
12224Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
12225
12226 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
12227 block_stack before dereferencing it.
12228
12229Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
12230
12231 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
12232
04f41951
JM
12233Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
12234
12235 * cplus-dem.c: Add 'extern' to prepends_underscore.
12236
e933cbe0
JL
12237Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
12238
62d65906
JL
12239 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
12240 (get_issue_rate): Delete.
12241 * pa.h (ISSUE_RATE): Define.
12242
2da05a5b
JL
12243 * configure.in: Turn on haifa by default for the PA.
12244 * configure: Rebuilt.
12245 * pa.c (override_options): Accept -mschedule=7200 option.
12246 (pa_adjust_cost): No longer need to scale costs for newer
12247 processors.
12248 * pa.h (enum processor_type): Add PROCESSOR_7200.
12249 * pa.md: Revamp scheduling parameters to work better with
12250 haifa. Add scheduling parameters for the 7200.
12251
4f64eaca
JL
12252 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
12253 insns too.
12254 (schedule_block): When adjusting basic_block_{head,end}, account
12255 for movement of SCHED_GROUP_P insns too.
12256
12257 * haifa-sched.c (debug_dependencies): Fix thinko.
12258
e933cbe0
JL
12259 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
12260 (site.exp, check, check-g++, check-gcc): New targets.
12261
4f64eaca 12262 * haifa-sched.c: Make lots of variables static.
61822835 12263
e9576d2c
L
12264Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12265
12266 * expr.h, real.h: Finish prototyping.
12267
61822835
JL
12268Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
12269
12270 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
12271 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
12272 * reload1.c: Undo bugfix from Aug 11.
12273
f24b370a
MM
12274Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
12275
12276 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
12277 quotes around the name.
12278 * configure: Regenerate.
12279
1c4c5851
JW
12280Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
12281
12282 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
12283
71abb567
MH
12284Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
12285
12286 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
12287 to sub-makes to avoid building more passes than the user might have
12288 requested on the command line.
12289
6042434a
DL
12290Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
12291
12292 * configure.in: Expurgate `broken_install' (install is
12293 autoconfed).
12294
12295 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
12296 relevant).
12297
38ea060f
JL
12298Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
12299
12300 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
12301 functions and declarations.
12302 (analyze_loop_iterations): Use condjump_p.
12303 (insert_bct): Likewise. Use exact_log2.
b57062ca 12304
f187056f
JL
12305Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
12306
12307 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
12308 (schedule_region): Likewise.
12309 (schedule_insns): Likewise.
12310
12311 * PROJECTS: Update with Haifa stuff.
12312
9af06254
JL
12313Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
12314
12315 * version.c: Change the version string to look like:
11c21791 12316 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 12317
0945e937
JL
12318 * loop.c (is_conditional_branch): Make definition match declaration.
12319
9af06254
JL
12320 * gcc.c: Take out experimental snapshot warning message.
12321
ebc25a17
MM
12322Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
12323
12324 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
12325 print out the names of the notes. Print out the name of the insn
12326 that is not a note, and not an {,CALL_,JUMP_}INSN.
12327
610ce97e
JM
12328Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
12329
12330 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
12331 again for the slot after we give it RTL.
12332
992d1248
DE
12333Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
12334
12335 * configure.in (haifa configury): Fix typo.
12336 * configure: Regenerate.
12337
7bb6fbd1
JL
12338Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
12339
12340 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
12341
12342 * gcc.info*: Rebuilt.
12343
12344 * COPYING.g77, README.g77: New files.
12345 * real.c (ereal_unto_float, ereal_unto_double): New functions.
12346 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
12347 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
12348
8c660648
JL
12349Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
12350
12351 * Integrate Haifa instruction scheduler.
12352 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
12353 to sched with $(SCHED_CFLAGS.
12354 * configure.in: Handle --enable-haifa.
12355 * configure: Rebuilt.
12356 * flags.h: Add new flags for haifa instruction scheduler.
12357 * genattrtab.c (expand_units): For haifa, don't subtract one
12358 when computing blockage.
12359 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
12360 (flag_schedule_speculative): Ditto.
12361 (flag_schedule_speculative_load): Ditto.
12362 (flag_schedule_speculative_load_dangerous): Ditto.
12363 (flag_schedule_reverse_before_reload): Ditto.
12364 (flag_schedule_reverse_after_reload): Ditto.
12365 (flag_branch_on_count_reg): Ditto.
12366 (f_options): Add Haifa switches.
12367 (main): Turn off some Haifa options if appropriate macro is
12368 defined. Process Haifa switches.
12369 * unroll.c (iteration_info): No longer static, since Haifa
12370 scheduler uses it.
12371 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
12372 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
12373 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
12374 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
12375 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
12376 storage for the Haifa scheduler.
12377 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
12378 LABEL_NEXTREF.
12379 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
12380 are defined, call analyze_loop_iterations and insert_bct to use
12381 countdown loops.
12382 (record_giv): Refine test for jumps out of loops if HAIFA is
12383 defined.
12384 (analyze_loop_iterations): New function to identify if we can use
12385 a countdown loop.
12386 (insert_bct): Insert countdown loop.
12387 (instrument_loop_bct): Low level code to insert countdown loop.
12388 (loop_number): Calculate UID of loop.
12389 (indirect_jump_in_function_p): Return true if an indirect jump is
12390 in the function.
12391 (is_power_of_2): Return true if value is a power of 2.
12392 (is_conditional_branch): Return true if insn is a conditional
12393 jump.
12394 (fix_bct_param): Process -fbct-{min,max}-N switches.
12395 (check_bct_param): Return true if loop should be instrumented.
12396 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
12397 (loop_optimize): Initialize.
12398 (get_condition_for_loop): Ditto.
12399 * loop.c (strength_reduce): Inside of code that uses #ifdef
12400 HAVE_decrement_and_branch_on_count code, test it to make sure the
12401 condition is true.
12402 (instrument_loop_bct): Ditto.
12403 * haifa-sched.c: New file.
b57062ca 12404
8c660648
JL
12405
12406 * Integrate regmove pass.
12407 * Makefile.in (OBJS): Add regmove.o
12408 (regmove.o): Add dependencies.
12409 * flow.c (find_use_as_address): No longer static.
12410 * rtl.h (find_use_as_address): Declare.
12411 * toplev.c (regmove_dump, flag_regmove): Define.
12412 (f_options): Add -fregmove.
12413 (regmove_dump_file, regmove_time): Define.
12414 (fatal_insn): Close the regmove dump file.
12415 (compile_file): Initialize regmove_time; open/close the regmove dump
12416 file as needed. Print regmove time as needed.
12417 (rest_of_compilation): Run regmove pass if requested, dump
12418 RTL after regmove if requested.
12419 (main): If -O2 or more, turn on regmove. Handle dump switches.
12420 * regmove.c: New file.
b57062ca 12421
aa32d841
JL
12422Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
12423
12424 * Integrate tlink patch from jason@cygnus.com
12425 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
12426 (process_command): Increment n_switches for them. Don't discard
12427 their args. Validate them.
12428 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
12429 From Rohan Lenard.
12430 (process_command): Set include_prefixes from COMPILER_PATH.
12431 (main): Set COLLECT_GCC_OPTIONS sooner.
12432 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
12433 * tlink.c, hash.c, hash.h: New files.
12434 * Makefile.in (USE_COLLECT2): Always use collect2.
12435 (collect2): Depend on and link in hash.o and tlink.o.
12436 (tlink.o, hash.o): Add dependencies.
12437
5fa39bfe
JL
12438Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
12439
9ae8ffe7
JL
12440 * Integrate alias analysis changes from jfc@mit.edu
12441 * Makefile.in (OBJS): Add alias.o
12442 (alias.o): Add dependencies.
12443 * alias.c: New file.
12444 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 12445 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
12446 (schedule_insns): Always call init_alias_analysis.
12447 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
12448 mark return value from such functions as a pointer and keep track of
12449 them for alias analysis. If a return value from a function is a
12450 pointer, mark it as such.
12451 * combine.c (distribute_notes): Handle REG_NOALIAS.
12452 * cse.c (struct write_data): Delete. No longer needed.
12453 (invalidate): Don't call set_nonvarying_address_components anymore.
12454 Use true_dependence to decide if an entry should be removed from
12455 the hash table.
12456 (invalidate_memory): Remove WRITES argument, simplify appropriately.
12457 Fix all callers.
12458 (note_mem_written): Similarly for WRITE_PTR argument.
12459 (invalidate_from_clobbers): Similarly for W argument.
12460 (invalidate_for_call): Remove memory elements from the hash table.
12461 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
12462 (cse_rtx_varies_p): New function. Derived from old
12463 cse_rtx_addr_varies_p.
12464 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
12465 Don't call note_mem_written anymore. Stack pushes invalidate the stack
12466 pointer if PUSH_ROUNDING is defined. No longer need to call
12467 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
12468 (skipped_writes_memory): Remove variable.
12469 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
12470 (invalidate_skipped_block): Simplify for new alias analysis code.
12471 (cse_set_around_loop): Likewise.
12472 (cse_main): Call init_alias_analysis.
12473 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
12474 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
12475 (f_options): Add new alias checking arguments.
12476 (main): Set flag_alias_check when optimizing.
12477 * local_alloc (validate_equiv_mem_from_store): Add new arguments
12478 to true_dependence.
12479 (memref_referenced_p): Likewise.
12480 * loop.c (NUM_STORES): Increase to 30.
12481 (prescan_loop): Only non-constant calls set unknown_address_altered.
12482 (invariant_p): Add new arguments to true_dependence.
12483 (record_giv): Initialize unrolled and shared fields.
12484 (emit_iv_add_mult): Call record_base_value as needed.
12485 * loop.h (struct induction): Add unrolled and shared fields.
12486 * unroll.c (unroll_loop): Call record_base_value as needed.
12487 (copy_loop_body): Likewise.
12488 (final_biv_value): Likewise.
12489 (final_giv_value): Likewise.
12490 (find_splittable_regs): Likewise. Only create one new pseudo
12491 if we have multiple address GIVs that were combined with the same
12492 dst_reg GIV. Note when a new register is created due to unrolling.
12493 * rtl.c (reg_note_name): Add REG_NOALIAS.
12494 * rtl.h (enum reg_note): Similarly.
12495 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
12496 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
12497 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
12498 (true_dependence, read_dependence, anti_dependence): Likewise.
12499 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
12500 (mark_user_reg, mark_reg_pointer): Likewise.
12501
12502
12503 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe 12504 to bootstrap again.
38e01259 12505 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
5fa39bfe
JL
12506 OPERAND_ADDRESS when computing how many registers an insn needs.
12507 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
12508 conflict.
12509 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
12510 OPADDR_ADDR reload.
12511 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
12512 in reload_reg_use_in_op_addr do not reach the end.
12513 do not reach the end.
12514 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
12515 RELOAD_FOR_OPERAND_ADDRESS.
12516
12517Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
12518
2dcfcb56 12519 * egcs project officially starts.
52267fcb
JM
12520
12521Local Variables:
12522add-log-time-format: current-time-string
12523End:
This page took 1.665326 seconds and 5 git commands to generate.