]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
509d95a7 1Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
2
3 * Makefile.in (install-info): Don't use $realfile. Ignore
4 possible errors from the install-info program.
5
571fc94e 6Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
7
8 * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
9
60edd1aa 10Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com>
11
12 * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
13 (MODES_TIEABLE_P): Tie SImode and HImode.
14
d5a0e714 151998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
16
17 * invoke.texi (Optimize Options): Fix typo.
18
c18f65bc 19Wed Jul 1 22:25:43 1998 Jim Wilson <wilson@cygnus.com>
20
21 * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
22 the zero'th block.
23
86303d72 24Wed Jul 1 23:12:58 1998 Ken Raeburn <raeburn@cygnus.com>
25
26 * h8300.c (print_operand): Delete %L support.
27 * h8300.md (branch_true, branch_false): Use %= with a prefix
28 instead of %L for local branch labels.
29
906a8d5b 30Wed Jul 1 21:27:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
31
32 * reload1.c (emit_reload_insns): Use proper register classes for
33 SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
34
45700efb 35Wed Jul 1 21:17:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
36
37 * reload.c (find_reloads): If there are multiple
38 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
39 one operand, change RELOAD_FOR_INPADDR_ADDRESS /
40 RELOAD_FOR_OUTADDR_ADDRESS for all but the first
41 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
42
d00c8ea9 43Wed Jul 1 17:23:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
44
45 * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
46 using its PATTERN.
47
6ede8018 48Wed Jul 1 05:04:41 1998 Richard Henderson <rth@cygnus.com>
49
50 * expr.c (emit_group_load, emit_group_store): Rewrite considering
51 the size and alignment of the structure being manipulated.
52 * expr.c, calls.c, function.c: Update all callers.
53 * expr.h: Update prototypes.
54 * cse.c (invalidate): Cope with parallels.
55
5382622f 56Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com>
57
58 * sparc.c (function_arg_record_value): Take a MODE arg with which to
59 create the PARALLEL. Update all callers.
60
1018b897 61Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com>
62
63 * expr.c (expand_assignment, store_constructor, expand_expr): Use
64 convert_memory_address instead of convert_to_mode when possible.
65
96297568 66Wed Jul 1 03:48:00 1998 Richard Henderson <rth@cygnus.com>
67
68 * alpha.c (alpha_initialize_trampoline): Take arguments describing
69 the layout. Use ptr_mode. Disable hint generation. Use gen_imb.
70 * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
71 (TRANSFER_FROM_TRAMPOLINE): Move ...
72 * alpha/osf.h: ... here.
73 * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
74 (TRANSFER_FROM_TRAMPOLINE): Remove undef.
75 * alpha/win-nt.h: Likewise.
76 * alpha/vxworks.h: Likewise.
77
78 * alpha/linux.h: Revert gcc2 merge lossage.
79
dc1e274c 80Wed Jul 1 10:56:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
81
82 * c-decl.c (grokdeclarator): Don't warn about implicit int in
83 `typedef foo = bar'.
84
9ed88ba2 85Wed Jul 1 02:12:33 1998 Robert Lipe <robertl@dgii.com>
86
87 * i386.c (asm_output_function_prefix): Make 686 function
88 prologues not issue .types for non-global lables.
89
50127a6e 90Tue Jun 30 23:46:53 1998 Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
91
92 * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
93 (WCHAR_TYPE_SIZE): Update appropriately.
94
0bdf27e3 95Tue Jun 30 23:16:39 1998 Jeffrey A Law (law@cygnus.com)
96
a2b73329 97 * flow.c (recompute_reg_usage): Does not return a value.
98 * rtl.h (recompute_reg_usage): Update prototype.
99
0bdf27e3 100 * jump.c (jump_optimize): Show that the jump chain is not
101 valid when not optimizing.
102
6fa98783 103Tue Jun 30 16:01:01 1998 Richard Henderson <rth@cygnus.com>
104
105 * rtl.def (CONSTANT_P_RTX): New.
106 * rtl.h (CONSTANT_P): Recognize it.
107 * cse.c (fold_rtx): Eliminate it.
108 * expr.c (can_handle_constant_p): New variable.
109 (init_expr_once): Initialize it.
110 (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
111 immediately recognizable as a constant.
112
113 * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
114 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
115 (sext_add_operand, and_operand, or_operand): Likewise.
116 (reg_or_cint_operand, some_operand, input_operand): Likewise.
117 * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
118
bb8f747e 1191998-06-30 Benjamin Kosnik <bkoz@bliss.nabi.net>
120
121 * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
122
436f5383 123Tue Jun 30 14:03:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
124
125 * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
126 argument, which is typically preprocessor code used to draw in
127 additional header files when looking for a function declaration.
128 (GCC_NEED_DECLARATIONS): Likewise.
129
130 * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
131 and setrlimit, search for them in sys/resource.h.
132
133 * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
134 NEED_DECLARATION_SETRLIMIT.
135
136 * system.h: Prototype getrlimit/setrlimit if necessary.
137
9873126b 138Tue Jun 30 10:54:48 1998 Mark Mitchell <mark@markmitchell.com>
139
e26bf699 140 * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
141 upon.
9873126b 142
ff750663 143Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
144
145 * rs6000/sysv4.h (asm output): add tabs for asm directives.
146
147Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
148
149 * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
150
2e9695c1 151Tue Jun 30 08:59:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
152
153 * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
154 Don't define NULL here. Also, remove all vestiges of autoconf
155 based checks for bcmp/bcopy/bzero/index/rindex.
156
157 * system.h: Immediately after including stdio.h, check for and if
158 necessary provide a default definition of NULL.
159
f52d59ea 160Tue Jun 30 08:22:05 1998 Michael Meissner <meissner@cygnus.com>
161
162 * reload1.c (reload_cse_simplify_operands): Call
163 fatal_insn_not_found, not abort.
164
e8b04076 165Tue Jun 30 02:34:02 1998 Jeffrey A Law (law@cygnus.com)
166
167 * choose-temp.c (make_temp_file): Accept new argument for the
168 file suffix to use. Allocate space for it and add it to the
169 template.
170 * mkstemp.c (mkstemps): Renamed from mkstemp. Accept new argument
171 for the length of the suffix. Update template struture checks
172 to handle optinal suffix.
173 * collect2.c (make_temp_file): Update prototype.
174 (main): Put proper suffixes on temporary files.
175 * gcc.c (make_temp_file): Update prototype.
176 (do_spec_1): Put proper suffixes on temporary files.
177
f36f8122 178Tue Jun 30 00:56:19 1998 Bruno Haible <haible@ilog.fr>
179
180 * invoke.texi: Document new implicit structure initialization
181 warning.
182
ad851752 183Mon Jun 29 22:12:06 1998 Jeffrey A Law (law@cygnus.com)
184
9e042f31 185 * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
186 details.
187
ad851752 188 * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
189
02da6382 190Mon Jun 29 20:12:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
191
192 * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
193
194 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
195 void since it is evaluated in a comma list.
196
197 * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
198 argument as a long and cast `NUM' to long to ensure it is of the
199 proper width. Wrap macro arguments in parens when they appear in
200 the expansion.
201
202 * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
203
204 * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
205 (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
206 function argument return type.
207 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
208 REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
209
210 * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
211 cpp_message.
212
213 * dbxout.c: Fix the comments after an #endif to reflect the actual
214 condition tested in the preceding #if.
215
216 * except.c (find_all_handler_type_matches): Switch to old-style
217 function definition.
218
219 * expr.c (expand_builtin): Remove unused variable `type' twice.
220
221 * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
222 to an unsigned long.
223
224 * haifa-sched.c (print_insn_chain): Remove unused function.
225
226 * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
227 definition.
228
229 * toplev.c: When testing whether to include dbxout.h, also include
230 it when XCOFF_DEBUGGING_INFO is defined.
231
232 * unroll.c (unroll_loop): Add parentheses around assignment used
233 as truth value.
234
29df6a8d 235Mon Jun 29 12:18:00 1998 Catherine Moore <clm@cygnus.com>
236
237 * config/lb1spc.asm (.div, .udiv): Replace routines.
238
1fc8a202 239Mon Jun 29 09:44:24 1998 Mark Mitchell <mark@markmitchell.com>
240
241 * rtl.h: Update comment about special gen_rtx variants.
242 * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
243
1526a87c 244Sun Jun 28 20:58:51 1998 Jeffrey A Law (law@cygnus.com)
245
246 * choose-temp.c (choose_temp_base): Restore original variant of
247 this function for compatibility.
248 (make_temp_file): This is the new, preferred interface to create
249 temporary files.
250 * collect2.c (choose_temp_base): Delete declaration.
251 (make_temp_file): Declare.
252 (temp_filename_length, temp_filename): Delete.
253 (main): Use make_temp_file to get temporary files. Use --lang-c
254 to force the resulting ctort/dtor file to be compiled with the C
255 compiler. Make sure to remove temporary files on all exit paths.
256 * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
257 defined.
258 (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
259 not defined.
260 (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
261
ccb1060c 262Sun Jun 28 08:57:09 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
263
264 * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
265 getwd.
266
267 * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
268 NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
269
270 * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
271 (my_strerror): Add prototype and make it static.
272
273 * collect2.c: Likewise.
274
275 * cpplib.c: Likewise.
276
277 * gcc.c: Likewise, but keep `my_strerror' extern.
278
279 * protoize.c: Likewise.
280
281 * pexecute.c (my_strerror): Add argument to prototype.
282
283 * system.h: Add prototypes for getcwd, getwd and strerror. Add
284 extern decls for sys_nerr and sys_errlist. Make abort decl
285 explicitly extern.
286
287 * getpwd.c: Remove decls for getwd and getcwd.
288
0e74463e 289Sun Jun 28 02:11:16 PDT 1998 Jeff Law (law@cygnus.com)
290
291 * version.c: Bump for snapshot.
292
88bcc884 293Sat Jun 27 23:32:25 1998 Richard Henderson <rth@cygnus.com>
294
295 * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
296 of rtx_unsafe_p. Use modified_between_p instead of reg_set_between_p.
297 Allow FP moves to be optimized.
298 (rtx_unsafe_p): Delete.
299
81e24149 300Sat Jun 27 23:02:04 1998 Richard Henderson <rth@cygnus.com>
301
302 * objc/archive.c: Remove <string.h> prototypes.
303
1051d196 304Sat Jun 27 22:37:05 1998 Jeffrey A Law (law@cygnus.com)
305
93d89723 306 * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
307
1051d196 308 * Makefile.in (gencheck): Remove $(TREE_H) dependency.
309
f0df1c47 310Sat Jun 27 20:20:00 1998 John Carr <jfc@mit.edu>
311
312 * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
313 * dsp16xx.c (next_cc_user_unsigned): New function.
314 Remove save_next_cc_user_code.
315 (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
316 * dsp16xx.md: Call next_cc_user_unsigned instead of using
317 save_next_cc_user_code.
318 Use gen_rtx_* functions instead of gen_rtx.
319
320Sat Jun 27 20:18:34 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
321
322 * rs6000.c: Add trap_comparison_operator to PREDICATE_CODES.
323
23f5e759 324Sat Jun 27 16:45:42 1998 Jeffrey A Law (law@cygnus.com)
325
326 * flow.c (count_reg_sets): New function.
327 (count_reg_sets_1, count_ref_references): Likewise.
328 (recompute_reg_usage): Likewise.
329 * rtl.h (recompute_reg_usage): Add prototype.
330 * toplev.c (rest_of_compilation): Call recompute_reg_usage just
331 before local register allocation.
332
26b1b50d 333Sat Jun 27 13:15:30 1998 Richard Henderson <rth@cygnus.com>
334
335 * alpha.md (negsf, negdf): Revert Jan 22 change.
336
ae262a47 337Sat Jun 27 07:35:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
338
d501fe1a 339 * mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t.
340 (mkstemp): Remove size specifier for variable `letters'. Call
341 gettimeofday, not __gettimeofday.
342
ae262a47 343 * Makefile.in (EXPR_H): New dependency variable.
344 (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
345 (c-iterate.o): Likewise.
346 (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
347 (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
348 (toplev.o): Likewise. Also depend on $(RECOG_H) instead of recog.h.
349 (varasm.o): Depend on $(EXPR_H) instead of expr.h.
350 (function.o): Likewise.
351 (stmt.o): Likewise.
352 (except.o): Likewise.
353 (expr.o): Likewise.
354 (calls.o): Likewise.
355 (expmed.o): Likewise.
356 (explow.o): Likewise.
357 (optabs.o): Likewise.
358 (sdbout.o): Likewise.
359 (dwarf2out.o): Likewise.
360 (emit-rtl.o): Likewise.
361 (integrate.o): Likewise.
362 (jump.o): Likewise.
363 (cse.o): Likewise.
364 (gcse.o): Likewise. Also depend on $(BASIC_BLOCK_H) instead of
365 basic-block.h.
366 (loop.o): Depend on $(EXPR_H) instead of expr.h.
367 (unroll.o): Likewise.
368 (combine.o): Likewise.
369 (reload.o): Likewise.
370 (reload1.o): Likewise.
371 (caller-save.o): Likewise.
372 (reorg.o): Likewise.
373 (alias.o): Don't depend on insn-codes.h.
374 (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
375 (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
376 (insn-opinit.o): Likewise.
377
07a3679c 378Sat Jun 27 01:35:14 1998 Jeffrey A Law (law@cygnus.com)
379
380 * choose-temp.c (choose_temp_base): Remove MPW bits. Use mkstemp
381 instead of mktemp.
382 * gcc.c (MKTEMP_EACH_FILE): Define.
383 (main): No need to call choose_temp_base if we are going to
384 use choose_temp_base to create each file later.
385 * mkstemp.c: New file. Adapted from glibc.
386 * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
387 (mkstemp.o): Add dependencies.
388
389 * configure.in (gettimeofday): Check for its existance.
390 * config.in (HAVE_GETTIMEOFDAY): Define.
391 * configure: Rebuilt.
392
103b29f7 3931998-06-26 Michael Meissner <meissner@cygnus.com>
394
395 * rs6000.md (ne 0, non power case): Add missing & constraint.
dc383ea9 396 Name pattern ne0.
397 (negative abs insns): Add pattern names.
103b29f7 398
89980492 399Fri Jun 26 17:36:42 1998 Dave Love <d.love@dl.ac.uk>
400
401 * Makefile.in (install-info): Run install-info program in separate
402 loop.
403
663b9536 404Fri Jun 26 16:03:15 1998 Michael Meissner <meissner@cygnus.com>
405
406 * haifa-sched.c (schedule_block): Add hooks for the machine
407 description to reorder the ready list, and update how many more
408 instructions can be issued this cycle.
409 * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
410
b8430a2d 411Fri Jun 26 11:54:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
412
413 * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
414 Explicitly mark the constant being compared against as unsigned.
415 * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
416 Fully initialize final members.
417 (mem_aligned_8): Explicit init of offset to zero.
418 (output_function_prologue): Explicit init of n_regs to zero.
419 (output_function_epilogue): Likewise, and mark arg size as
420 unused.
421 (init_cumulative_args): Mark libname and indirect as unused.
422 (function_arg_pass_by_reference): Likewise for cum and named.
423 (sparc_builtin_saveregs): Likewise for arglist.
424 (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
425
ae175e8f 426Fri Jun 26 06:58:54 1998 Richard Earnshaw (rearnsha@arm.com)
427
428 * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
429 if reloading a MEM.
430
431 * arm.h (arm_adjust_cost): Renamed bogus prototype from
432 arm_adjust_code.
433 (bad_signed_byte_operand): Add prototype.
434 * arm.c (arm_override_options): Make I unsigned.
435 (const_ok_for_arm): Add casts to the constants.
436 (load_multiple_operation): Don't redeclare elt in sub-block.
437 (arm_gen_movstrqi): Delete external declaration of optimize.
438 (gen_compare_reg): Declare parameter fp.
439
440 * arm.c (final_prescan_insn): Only initialize scanbody if the insn
441 has a pattern.
442
769ea120 443Fri Jun 26 09:31:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
444
445 * alpha.c: Include system.h and toplev.h.
446 (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
447 (const48_operand): Likewise.
448 (mode_width_operand): Likewise.
449 (mode_mask_operand): Likewise.
450 (mul8_operand): Likewise.
451 (current_file_function_operand): Likewise.
452 (signed_comparison_operator): Likewise.
453 (divmod_operator): Likewise.
454 (any_memory_operand): Likewise.
455 (alpha_return_addr): Likewise for parameter `frame'.
456 (alpha_builtin_saveregs): Likewise for parameter `arglist'.
457 (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
458 `attributes'.
459 (alpha_start_function): Likewise for parameter `decl'. Use
460 HOST_WIDE_INT_PRINT_DEC in call to fprintf. Fix various format
461 specifiers. Remove unused variables `lab' and `name'.
462 (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
463 (check_float_value): Likewise for parameter `overflow'.
464 (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
465
466 * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
467 taking an argument.
468 (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
469 (ASM_OUTPUT_CHAR): Likewise.
470 (ASM_OUTPUT_BYTE): Likewise.
471 (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
472 fprintf.
473 (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
474 Add prototypes for functions in alpha.c.
475
476 * alpha.md (ashldi3): Add default case in switch.
477
9f49ee4a 4781998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
479
480 * Makefile.in (gcc_version, gcc_version_trigger): New macros.
481 (version): Initialize from $(gcc_version).
482
483 * configure.in (version): Rename to gcc_version.
484 (gcc_version_trigger): New variable; call AC_SUBST for it and
485 emit it into the generated config.status.
486 * configure: Regenerate.
487
5eb945de 488Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com>
489
490 * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
491 nodes that are not expressions.
492
b5ba9f3a 493Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com>
494
495 * invoke.texi (-fstrict-aliasing): Document.
496 * rtl.texi (MEM_ALIAS_SET): Document.
497
498 * flags.h (flag_strict_aliasing): Declare.
499 * toplev.c (flag_strict_aliasing): Define.
500 (f_options): Add -strict-aliasing.
501 (main): Set flag_strict_aliasing if -O2 or higher.
502
503 * tree.h (tree_type): Add alias_set field.
504 (TYPE_ALIAS_SET): New macro.
505 (TYPE_ALIAS_SET_KNOWN_P): Likewise.
506 (get_alias_set): Declare.
507 * tree.c (lang_get_alias_set): Define.
508 (make_node): Initialize TYPE_ALIAS_SET.
509 (get_alias_set): New function.
510 * print-tree.c (print_node): Dump the alias set for a type.
511
512 * c-tree.h (c_get_alias_set): Declare.
513 * c-common.c (c_get_alias_set): New function.
514 * c-decl.c (init_decl_processing): Set lang_get_alias_set.
515
516 * expr.c (protect_from_queue): Propogage alias sets.
517 (expand_assignment): Calculate alias set for new MEMs.
518 (expand_expr): Likewise.
519 * function.c (put_var_into_stack): Likewise.
520 (put_reg_into_stack): Likewise.
521 (gen_mem_addressof): Likewise.
522 (assign_parms): Likewise.
523 * stmt.c (expand_decl): Likewise.
524 * varasm.c (make_decl_rtl): Eliminate redundant clearing of
525 DECL_RTL. Calculate alias set for new MEMs.
526
527 * rtl.def (REG): Add dummy operand.
528 (MEM): Add extra operand to store the MEM_ALIAS_SET.
529 * rtl.h (MEM_ALIAS_SET): New macro.
530 (gen_rtx_MEM): Declare.
531 * emit-rtl.c (gen_rtx_MEM): New function.
532 * gengenrtl.c (sepcial_rtx): Make MEMs special.
533
534 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
535 (DIFFERENT_ALIAS_SETS_P): Likewise.
536 (canon_rtx): Propogate the alias set to the new MEM.
537 (true_dependence): Check the alias sets.
538 (anti_dependence): Likewise.
539 (output_dependence): Likewise.
540 * explow.c (stabilize): Progoate alias sets.
541 * integrate.c (copy_rtx_and_substitute): Likewise.
542 * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
543 in an unpredictable state. Propogate alias sets.
544 * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
545 we have no alias information.
546
a85413a6 547Thu Jun 25 16:59:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
548
549 * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
550 (find_all_handler_type_matches): Add function prototype.
551 * eh-common.h (CATCH_ALL_TYPE): Definition added.
552 * except.c (find_all_handler_type_matches): Add function to find all
553 runtime type info in the exception table.
554 (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
555
600e851b 556Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
557
558 * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
559
560 * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
561 `yhigh' and `bit' into the scope in which they are used.
562 (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
563 `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
564
565 * rs6000.c: Move include of output.h below tree.h. Include toplev.h.
566 (any_operand): Mark unused parameters `op' and `mode' with
567 ATTRIBUTE_UNUSED.
568 (count_register_operand): Likewise for parameter `mode'.
569 (fpmem_operand): Likewise.
570 (short_cint_operand): Likewise.
571 (u_short_cint_operand): Likewise.
572 (non_short_cint_operand): Likewise.
573 (got_operand): Likewise.
574 (got_no_const_operand): Likewise.
575 (non_add_cint_operand): Likewise.
576 (non_logical_cint_operand): Likewise.
577 (mask_operand): Likewise.
578 (current_file_function_operand): Likewise.
579 (small_data_operand): Likewise for parameters `op' and `mode' but
580 only when !TARGET_ELF.
581 (init_cumulative_args): Mark parameters `libname' with
582 ATTRIBUTE_UNUSED.
583 (function_arg_pass_by_reference): Likewise for parameters `cum',
584 `mode' and `named'.
585 (expand_builtin_saveregs): Likewise for parameter `args'.
586 (load_multiple_operation): Likewise for parameter `mode'.
587 (store_multiple_operation): Likewise.
588 (branch_comparison_operator): Likewise.
589 (secondary_reload_class): Likewise.
590 (print_operand): Add parentheses around & operation.
591 (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
592 (output_epilog): Likewise. Cast argument to fprintf to int.
593 (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
594 (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
595 `attributes', `identifier' and `args'.
596 (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
597 (rs6000_comp_type_attributes): Likewise for parameters `type1' and
598 `type2'.
599 (rs6000_set_default_type_attributes): Likewise for parameter `type'.
600
601 * rs6000.h (RTX_COSTS): Add parentheses around & operation.
602 (toc_section, private_data_section, trap_comparison_operator): Add
603 prototypes.
604
605 * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
606 prototypes.
607
608 * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
609
610 * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
611 xcoffout_begin_block, xcoffout_end_epilogue,
612 xcoffout_end_function, xcoffout_end_block,
613 xcoff_output_standard_types, xcoffout_declare_function,
614 xcoffout_source_line): Add prototypes.
615
7b5135fd 616Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
617
618 * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
619 noticed by grahams@rcp.co.uk.
620
f068da9d 621Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
622
623 * gcc.c (default_compilers): Use new | syntax to eliminate
624 string concatenation.
625
2cf1388a 626Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com>
627
628 * alpha.c (alpha_function_name): Delete.
629 (alpha_ra_ever_killed): Notice current_function_is_thunk.
630 (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
631 (alpha_start_function): Reorg from output_prologue.
632 (alpha_end_function): Reorg from output_epilogue.
633 * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
634 (ASM_DECLARE_FUNCTION_SIZE): New.
635 (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
636 (PROFILE_BEFORE_PROLOGUE): Set.
637 (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
638 * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
639
de449218 640Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com)
641
642 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
643
6441998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
25d55d72 645
646 * expr.c (expand_assignment): Rework address calculation for structure
647 field members to expose more invariant computations to the loop
648 optimizer.
649 (expand_expr): Likewise.
650
05fcb634 651Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com)
652
653 * local-alloc.c (block_alloc): Do not try to avoid false dependencies
654 when SMALL_REGISTER_CLASSES is nonzero.
655
0491e240 656Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de>
657
658 * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
659
825253e8 660Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu>
661
662 * expr.c (get_memory_rtx): New function.
663 (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
664 string functions.
665
666 * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
667
e02c6d1f 668 * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
669 * expr.c: Likewise.
670 * explow.c: Likewise.
671 * combine.c: Likewise.
672 * reload1.c: Likewise.
673 * gcse.c: Likewise.
674
b74d8389 675Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com>
676
677 * README.gnat: Add patch for new lang_decode_options interface.
678
8753e6e9 679Wed Jun 24 09:14:04 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
680
681 * except.c (start_catch_handler): Do nothing if EH is not on.
682
c08022a1 6831998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
684
685 * configure.in (gxx_include_dir): Initialize default value depending on
9f49ee4a 686 new flag --enable-version-specific-runtime-libs; remove superfluous
687 default initialization afterwards.
c08022a1 688 * configure: Regenerate.
689
d504e33c 690Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
691
692 * toplev.c (rest_of_compilation): Revert May 15 change.
693
9c74cd6d 694Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
695
696 * reload.c (find_reloads): Fix check for failure to match any
697 alternative, to account for Mar 26 change in initial "best" cost.
698
c5ab46b6 699Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com>
700
701 * cpplib.c (do_line): Typo broke #line directive.
702 (cpp_message_from_errno): New function.
703 (cpp_error_from_errno): Call cpp_message_from_errno.
704 * cpplib.h (cpp_message_from_errno): New function.
705
9e2ffae5 706Tue Jun 23 13:38:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
707
708 * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
709 functions to return exception descriptor information.
710 (find_exception_handler): Pass match_info field to runtime matcher,
711 not a descriptor table entry.
712
2e9be983 713Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk>
714
715 * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
716 accompany previous Makefile.in (install-info) change.
717
9e2ffae5 718Tue Jun 23 10:06:07 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
64db8f62 719
720 * eh-common.h (struct __eh_info): Remove coerced value field.
721 * libgcc2.c (find_exception_handler): Don't set coerced_value field.
722 * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
723 POINTER_SIZE instead of Pmode.
724 (expand_start_all_catch): Call start_catch_handler() if we are not
725 using new style exceptions.
726
664bdb13 727Tue Jun 23 06:45:00 1998 Catherine Moore <clm@cygnus.com>
728
729 * varasm.c (assemble_variable): Remove reference to warn_bss_align.
730
2e533a5d 731Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
732
733 * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
734 extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
735 subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
736 splits and peepholes): Change remaining generic gen_rtx calls to
737 specific genrtl ones.
5a5d82d2 738 * config/sparc/sparc.c: Likewise.
739
ae70654c 740Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
741
742 * gcc.c (handle_braces): Recognize | between options as an or.
743
ccae6af3 744Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com)
745
d3d76ad3 746 * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
747 * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
748
ccae6af3 749 * i386.md (exception_receiver): Define.
750
322b2436 751Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
752
fc56a674 753 * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
754 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
755 (install-common): Use them.
756
322b2436 757 * gcse.c (add_label_notes): New function.
758 (pre_insert_insn): Call it.
759 * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
760 pass the label to set_label_in_map.
761
3ddf4cda 762Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
763
764 * Makefile.in (install-info): Fix typpo in previous change.
765
3688f016 766Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
767
768 * varasm.c (assemble_variable): Emit alignment warning.
769
ad6c9a58 770Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
771
772 * Makefile.in (varasm.o): Depend on sdbout.h.
773 (sdbout.o): Depend on toplev.h.
774
775 * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
776 use %ld specifier.
777
778 * final.c (shorten_branches): Cast first arg of `bzero' to char *.
779
780 * genextract.c (main): When creating insn-extract.c, mark variable
781 `i' with ATTRIBUTE_UNUSED.
782
783 * genpeep.c (main): When creating insn-peep.c, mark variables
784 `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
785
786 * objc/init.c (__objc_tree_print): Wrap function definition in
787 macro `DEBUG'.
788
789 * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
790 and use %ld specifier.
791 (adorn_decl): Likewise, twice.
792
77d71bdb 793 * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
794
795 * sdbout.c: Include output.h and toplev.h.
796 (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
797 `a'. Cast `a' to HOST_WIDE_INT to force it to always be so.
798 (PUT_SDB_SIZE): Likewise.
799
800 * sdbout.h (sdbout_mark_begin_function): Add prototype.
801
802 * stmt.c (check_for_full_enumeration_handling): Cast argument of
803 `warning' to long and use %ld specifier.
804
805 * toplev.c (main): Likewise for `fprintf'.
806
807 * toplev.h (output_file_directive): Add prototype.
808
809 * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
810 call to `fprintf'.
811 (precondition_loop_p): Likewise.
812
813 * varasm.c Include sdbout.h.
814 (assemble_static_space): Move sometimes-unused variable `rounded'
815 into the scope in which it is used.
25830405 816
817 * mips.c (gpr_mode): Don't say `static' twice.
818
819 * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
820
821 * objc/objc-act.c (init_selector): Hide prototype and definition.
822
823 * optabs.c (gen_cond_trap): Remove unused variable `icode'.
824
825 * regmove.c (copy_src_to_dest): Likewise for `i'.
77d71bdb 826
f5cef950 827 * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
828 (add_ext_symbol): Likewise.
829 (add_file): Likewise.
830 (parse_def): Likewise.
831 (write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix
832 remaining format specifiers and arguments.
833 (write_object): Likewise, several times.
834 (read_seek): Likewise.
835 (out_of_bounds): Likewise.
836 (allocate_cluster): Likewise.
837 (xmalloc): Likewise.
838 (xcalloc): Likewise.
839 (xrealloc): Likewise.
840 (xfree): Likewise.
841
842 * mips-tdump.c (print_symbol): Likewise.
843
5209724b 844Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
845
846 * Makefile.in (install-info): Use install-info program if
847 available, per GNU standard.
848
bca09c45 849Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
850
ebc9033c 851 * invoke.texi: Document -mrelax for the mn10300 and mn10200.
852
90a70252 853 * basic-block.h (init_regset_vector): Delete declaration.
854 * flow.c (init_regset_vector): Make it static and add a prototype.
855
6d6a1312 856 * bitmap.h (debug_bitmap): Declare.
857
bca09c45 858 * haifa-sched.c (debug_ready_list): Make static.
859
860 * toplev.h (fancy_abort): Declare.
861
a3d78730 862Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
863
6d6a1312 864 * basic-block.h (init_regset_vector): New declaration.
865
3588212a 866 * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
867
f41a3237 868 * global.c: Include machmode.h amd move hard-reg-set.h before
869 rtl.h.
870
b1f9bec1 871 * haifa-sched.c (insn_issue_delay, birthing_insn_p,
872 adjust_priority, print_insn_chaino): New declaration.
873 (schedule_insns): Remove declaration.
874 (init_target_units, get_visual_tbl_length,
875 init_block_visualization): Add prototype.
876
3d6c336a 877 * integrate.c (pushdecl, poplevel): Remove declaration.
878
bca09c45 879 * rtl.h (expand_expr): Remove declaration.
880
a3d78730 881 * loop.c (oballoc): Remove declaration.
882 (replace_call_address): Add prototype.
883
49fecab3 884Sun Jun 21 01:08:17 PDT 1998 Jeff Law (law@cygnus.com)
885
886 * version.c: Bump for snapshot.
887
7640e8c3 888Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
889
890 * i386.c (output_fp_conditional_move): Don't bother handling
891 (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
892 prevent this from happening.
893
894 * i386.md (nonlocal_goto_receiver): Delete.
895
ef99c8e6 896Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
897
8aed3df8 898 * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
899 -DCRTSTUFFS_O.
900 (INSTALL): cd $(srcdir) before make.
901
ef99c8e6 902 * flow.c (allocate_for_life_analysis, init_regset_vector):
903 Remove declaration.
904
905 * function.h (get_first_block_beg): New declaration.
906
907 * gbl-ctors.h (__do_global_dtors): Add prototype.
908
909 * gcov-io.h (__fetch_long): New declaration.
910 (__store_long): Likewise.
911 (__read_long): Likewise.
912 (__write_long): Likewise.
913
914 * gcov.c (print_usage): New declaration.
915
916 * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
917
dd2b8fbf 918Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
919
b1924c4b 920 * calls.c (expand_call): Initialize "src" and "dest".
921 * stmt.c (expand_return): Likewise.
922 * expmed.c (extract_split_bit_field): Similarly for "result"
923 * gcse.c (compute_hash_table): Mark first arg as unused.
924 * jump.c (jump_optimize): Initialize reversep.
925 * tree.c (make_node): Initialize length.
926
6c00ca1e 927 * c-common.c (check_format_info): Initialize length_char and
928 fci to keep -Wall quiet.
929
be582769 930 * except.c (jumpif_rtx): Put declaration and definition
931 inside a suitable #ifdef.
932 (jumpifnot_rtx): Delete dead function.
933
07031524 934 * i386.h (output_int_conditional_move): Declare.
935 (output_fp_conditional_move): Likewise.
c3b77a56 936 (ix86_can_use_return_insn_p): Likewise.
07031524 937
dd2b8fbf 938 * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
939
ce1fd7fc 940Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
941
942 * alias.c: Include toplev.h
943 * caller-save.c: Include toplev.h
944 * combine.c: Include toplev.h
945 * flow.c Include toplev.h
946 * global.c: Include toplev.h
947 * jump.c: Include toplev.h
948 * local-alloc.c: Include toplev.h
949 * loop.c: Include toplev.h
950 * regmove.c: Include toplev.h
951 * stupid.c: Include toplev.h
952 * unroll.c: Include toplev.h
953 * Makefile.in: Add toplev.h dependencies.
954
808037a7 955Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
956
957 * regmove.c (copy_src_to_dest): Add decl for loop_depth.
30b54926 958
959 * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
960 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
961 Add parens to various macros.
962
03632119 963Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
964
965 * c-typeck.c (pop_init_level): Warn about implicit zero initialization
966 of struct members.
967
d71e2ae5 968Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
969
970 * varasm.c (assemble_start_function): Add weak_global_object_name.
971 * tree.c (get_file_function_name): Use it.
972
38bb3dbf 973Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
974
861503e2 975 * except.c (jumpif_rtx): Make static and add prototype.
976 (jumpifnot_rtx): Likewise.
977
a7f2d33e 978 * README.gnat: Add a build patch from Fred Fish.
979
38bb3dbf 980 * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
981
b68a7d80 982 * Makefile.in (c-iterate.o): Depend on expr.h.
983
e9d1b907 984Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
985
a29697c8 986 * except.h (emit_unwinder, end_eh_unwinder): Removed.
987
a7f2d33e 988 * dwarfout.c (getpwd): Add prototype.
989 (is_pseudo_reg, type_main_variant, is_tagged_type,
990 is_redundant_typedef): New declaration.
991 (output_decl): Add prototype for FUNC.
992 (type_main_variant): Make it static.
993 (is_tagged_type): Likewise.
994 (is_redundant_typedef): Likewise.
995
7090ae15 996 * expr.c (do_jump_by_parts_greater_rtx): Removed.
997 (truthvalue_conversion): Likewise.
998
b68a7d80 999 * c-iterate.c: Include "expr.h".
1000 (expand_expr): Use proper values when calling the function.
1001
72ad8419 1002 * explow.c (emit_stack_save): Add prototype for FCN.
1003 (emit_stack_restore): Likewise.
1004
36a47dff 1005 * dwarf2out.c (getpwd): Add prototype.
1006
c1bdff72 1007 * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
1008
1366bedb 1009 * c-typeck.c (c_expand_asm_operands): Use proper values when calling
c1bdff72 1010 expand_expr.
1366bedb 1011
25b48e97 1012 * c-lex.c (yyprint): Add prototype.
1013 (check_newline, build_objc_string): Remove declaration.
1014
eea57b92 1015 * c-tree.h (comptypes_record_hook): Removed.
1016 (finish_incomplete_decl): New prototype.
1017
1361ef57 1018 * alias.c (find_base_value): Add prototype.
1019 (true_dependence): Add prototype for function argument.
1020
e9d1b907 1021 * c-aux-info.c (xmalloc): Remove declaration.
1022
8525c6b6 1023Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
1024
1025 * i386.c: Include system.h. Remove redundant includes.
1026 (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
1027 (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
1028 'identifier', 'args'.
1029 (i386_valid_type_attribute_p): Likewise for 'attributes'.
1030 (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
1031 (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
1032 and 'named'.
1033 (symbolic_operand): Likewise for 'mode'.
1034 (call_insn_operand): Likewise.
1035 (expander_call_insn_operand): Likewise.
1036 (ix86_logical_operator): Likewise.
1037 (ix86_binary_operator_ok): Likewise.
1038 (emit_pic_move): Likewise.
1039 (VOIDmode_compare_op): Likewise.
1040 (is_mul): Likewise.
1041 (str_immediate_operand): Likewise.
1042 (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
1043 (asm_output_function_prefix): Likewise for 'name'.
1044 (function_prologue): Likewise for 'file', and 'size'.
1045 (function_epilogue): Likewise.
1046
738afe39 10471998-06-19 Jim Wilson <wilson@cygnus.com>
1048
1049 * loop.h (struct induction): Clarify comment for unrolled field.
1050 * unroll.c (find_splittable_givs): Move set of unrolled field
1051 after address validity check.
1052
5336930c 1053Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
1054
1055 * config/fp-bit.c (INLINE): Only define if not already defined.
1056
bd07cdfb 10571998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
1058
1059 * Makefile.in (installdirs): Loop over directories in $(libsubdir)
1060 creating probably missing ones, instead of single if statements.
1061
a0748b7d 1062Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1063
1064 * c-common.c (truthvalue_conversion): Protect side effects in the
1065 expression when splitting a complex value.
1066 * fold-const.c (fold): Likewise.
1067
bb8591d1 1068Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
1069
1070 * cccp.c (hack_vms_include_specification): rewrite to handle
1071 '#include <dir/file.h>' correctly.
1072
7f2abdb9 1073Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
1074
1075 * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
1076
917fa896 1077Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
1078
c8dbca82 1079 * i386.c (notice_update_cc): Integer conditional moves don't
1080 affect cc0.
1081
917fa896 1082 * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
1083 to support LT, LE, GE, and GT signed integer comparisons.
1084 (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
1085 movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
1086 is LT, LE, GE, or GT.
1087 (movdicc): Remove code resulting from an earlier patch which
1088 didn't apply correctly.
1089
0c7bc7b9 1090Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1091
1092 * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
1093 consider a MEM in FP mode as equal.
1094
00149e9e 1095Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
1096
1097 * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
1098 duplicate declarations of a function.
1099
acc17750 1100Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
1101
1102 * config/float-i386.h: New.
1103
1104 * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
1105
d56876f5 1106Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
1107
1108 * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
1109 indexed arrays. Call free at the end of the function for them.
1110 * haifa-sched.c (schedule_insns): Likewise.
1111
97c8b249 1112Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
1113
1114 * dwarf2out.c (size_of_string): Do count backslashes.
1115
129899f3 1116Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
1117
1118 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
1119 addressing when one register is the frame pointer or stack
1120 pointer. Disallow REG+CONST addressing in HI mode.
1121
5596d410 1122Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1123
1124 * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
1125 RELOAD_FOR_INSN.
1126
a986b5e0 1127Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1128
1129 * Makefile.in (c-lang.o): Depend on output.h.
1130
1131 * c-lang.c: Include output.h.
1132
1133 * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
1134
1135 * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
1136
1137 * genrecog.c (write_subroutine): When writing insn-recog.c, mark
1138 variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
1139 with ATTRIBUTE_UNUSED.
1140
1141 * regmove.c (copy_src_to_dest): Make function static to match its
1142 prototype.
1143
1144 * reload1.c Include hard-reg-set.h before rtl.h to get macro
1145 HARD_CONST. Include machmode.h before hard-reg-set.h.
1146
1147 * rtl.h: Prototype `retry_global_alloc' and wrap with macro
1148 HARD_CONST to protect usage of typedef HARD_REG_SET.
1149
1150 * tree.c: Prototype `_obstack_allocated_p'.
1151
1152 * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
1153 BSS_SECTION_ASM_OP.
1154
b1ca791d 1155Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1156
1157 * pa.c: Include system.h and toplev.h. Remove redundant code.
1158 (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1159 (symbolic_operand): Likewise.
1160 (symbolic_memory_operand): Likewise.
1161 (pic_label_operand): Likewise.
1162 (fp_reg_operand): Likewise.
1163 (pre_cint_operand): Likewise.
1164 (post_cint_operand): Likewise.
1165 (ireg_or_int5_operand): Likewise.
1166 (int5_operand): Likewise.
1167 (uint5_operand): Likewise.
1168 (int11_operand): Likewise.
1169 (uint32_operand): Likewise.
1170 (ior_operand): Likewise.
1171 (lhs_lshift_cint_operand): Likewise.
1172 (pc_or_label_operand): Likewise.
1173 (legitimize_pic_address): Likewise.
1174 (hppa_legitimize_address): Likewise for parameter `old'.
1175 (output_block_move): Likewise for parameter `size_is_constant'.
1176 (output_function_prologue): Likewise for parameter `size'.
1177 (output_function_epilogue): Likewise.
1178 (return_addr_rtx): Likewise for parameter `count'.
1179 (output_mul_insn): Likewise for parameter `unsignedp'.
1180 (hppa_builtin_saveregs): Likewise for parameter `arglist'.
1181 (output_bb): Likewise for parameter `operands'.
1182 (output_bvb): Likewise.
1183 (function_label_operand): Likewise for parameter `mode'.
1184 (plus_xor_ior_operator): Likewise.
1185 (shadd_operand): Likewise.
1186 (non_hard_reg_operand): Likewise.
1187 (eq_neq_comparison_operator): Likewise.
1188 (movb_comparison_operator): Likewise.
1189 (pa_combine_instructions): Likewise for parameter `insns'.
1190
1191 * pa.h: Add prototypes for functions `output_deferred_plabels',
1192 `override_options', `output_ascii', `output_function_prologue',
1193 `output_function_epilogue', `print_operand',
1194 `symbolic_expression_p', `reloc_needed', `compute_frame_size',
1195 `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
1196 `pa_adjust_cost', `pa_adjust_insn_length' and
1197 `secondary_reload_class'.
1198
b6c9bc9a 1199Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
1200
1201 * configure.in: Don't turn on collect2 unconditionally.
1202
7e2d02d8 1203Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
1204
1205 * cse.c (cse_basic_block): Don't include NOTE insns in the count
1206 that is used to decide whether or not it is time to erase the
1207 equivalence table.
1208
39065151 1209Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1210
1211 * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
1212
9e5192ed 1213Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
1214
1215 * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
1216 (sched_analyze_2): Allow scheduling TRAP_IF.
1217
1218 * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
1219
1220 * rtl.h (TRAP_CODE): New macro.
1221
1222 * rtl.def (TRAP_IF): Change second operand type to rtx.
1223
1224 * optabs.c (gen_cond_trap): New function.
1225 (init_traps): New function.
1226 (init_optabs): Call init_traps.
1227 * expr.h: Declare gen_cond_trap.
1228
1229 * jump.c (jump_optimize): Optimize jumps to and around traps.
1230
1231 * sparc.md: Define trap instructions.
1232
1233 * rs6000.md: Define trap instructions.
1234 * rs6000.c (print_operand): New code 'V' for trap condition.
1235 (trap_comparison_operator): New function.
1236
1237 * m88k.md: Update use of TRAP_IF.
1238
1239 * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
1240 * c-decl.c (init_decl_processing): New builtin __builtin_trap.
1241 * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
1242
1243 * expr.c (expand_builtin): Error if __builtin_longjmp second argument
1244 is not 1.
1245
3e82d236 1246Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com>
1247
1248 * reload1.c (spill_hard_reg): Check mode of register when
1249 spilling from scratch_list.
1250
ff109a61 1251Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1252
1253 * except.c (add_new_handler): fix bug in finding last region handler.
1254 * libgcc2.c (find_exception_handler): Pass exception table pointer
1255 to runtime type matcher, not the match info field.
1256
d945b22b 1257Wed Jun 17 15:57:48 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1258
1259 * eh-common.h (struct eh_context): Add comment for hidden use of
1260 field dynamic_handler_chain.
1261 * except.c (get_dynamic_handler_chain): Comment on, and use the
1262 correct offset of the dynamic_handler_chain field.
1263
4c55d5ef 12641998-06-17 12:46:56 1998 Jim Wilson <wilson@cygnus.com>
1265
1266 * mips/iris6.h (LINK_SPEC): Add -woff 131.
1267
fb6d4b71 12681998-06-17 Jason Merrill <jason@yorick.cygnus.com>
1269
1270 * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
1271
1272 * configure.in: Don't disable collect2 when we have GNU ld.
1273
0f397a06 1274Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
1275
d6d65bd2 1276 * fold-const.c (make_range): Do not widen the type of the expression.
1277
32a0589f 1278 * expr.c (check_max_integer_computation_mode): New function.
1279 (expand_expr): Avoid integer computations in modes wider than
1280 MAX_INTEGER_COMPUTATION_MODE.
1281 * fold-const.c (fold): Likewise.
1282 * tree.h (check_max_integer_computation_mode): Declare.
1283 * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
1284
5783e52b 1285 * configure.in (nm): Make a link to "nm" in the build tree too.
1286
0f397a06 1287 * mn10300.md (andsi3): Fix typo.
1288
8f1dda78 1289Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
1290
1291 * reload1.c (reload_cse_regs): Call bzero instead of looping.
1292
1bfb8e27 1293Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
1294
1295 * dwarf2out.c (stripattributes): Prepend '*' to the section name.
1296
b9a5aa8e 1297Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
1298
1299 * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
1300 (output_prologue, output_epilogue): Merge VMS and OSF versions;
1301 Remove anything related to the actual code generation.
1302 (output_end_prologue): New function.
1303 (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
1304 (alpha_does_function_need_gp): Return false for VMS.
1305 (alpha_function_needs_gp): Make static.
1306 (add_long_const): Delete.
1307 (summarize_insn): Don't assume a SUBREG is of a REG.
1308 Prototype all static functions. Rename VMS-specific global
1309 variables vms_*.
1310 * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
1311 (FUNCTION_BOUNDARY): Align to cache line.
1312 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
1313 (FUNCTION_END_PROLOGUE): New macro.
1314 * alpha.md (attribute length): New. Mark all insns.
1315 (return_internal, prologue_stack_probe_loop) New patterns.
1316 (prologue, init_fp, epilogue): New patterns.
1317 Disable peepholes.
1318 * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
1319
4610e089 1320Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
1321
1322 * toplev.c (lang_options): Add -trigraphs option for cpplib.
1323
99ce348f 1324Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1325
1326 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
1327 is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
1328 is earlier than RELOAD_FOR_INPUT_ADDRESS.
1329
9f986847 1330Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
1331
1332 * libgcc1-test.c (memcpy): Define.
1333
8b74461c 1334Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
1335
1336 * genattrtab.c (struct attr_desc): Change int flags to bit
1337 fields. Add bit fields for this being function_units_used
1338 or *_blockage_range attributes.
1339 (write_unit_name): New function to print a function unit name
1340 given unit #.
1341 (expand_units): Indicate whether this is function_units_used or
1342 *_blockage_range attributes.
1343 (write_toplevel_expr): Print function_units_used and
1344 *_blockage_range attributes in a more friendly fashion.
1345 (make_internal_attr): Indicate whether this attribute is either
1346 function_units_used or *_blockage_range.
1347
2f08c02a 1348Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
1349 Jim Wilson <wilson@cygnus.com>
c275e147 1350
2f08c02a 1351 * regmove.c (copy_src_to_dest): Do not copy src to dest if either
1352 the source or destination is special.
c275e147 1353
2f08c02a 1354Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
9239e336 1355
2f08c02a 1356 * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
9239e336 1357
8255a208 1358Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
1359
1360 * version.c: Bump for snapshot.
1361
4c1ffd78 1362Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
1363
1364 * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
1365 redefining it.
1366
5ad65c06 1367Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
1368
1369 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
b12ebeb9 1370 (ENDFILE_SPEC): Add -lgloss.
5ad65c06 1371
ef5f0198 1372Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1373
1374 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1375 (large_int): Likewise.
1376 (pc_or_label_operand): Likewise.
1377 (call_insn_operand): Likewise.
1378 (consttable_operand): Likewise.
1379 (m16_uimm3_b): Likewise.
1380 (m16_simm4_1): Likewise.
1381 (m16_nsimm4_1): Likewise.
1382 (m16_simm5_1): Likewise.
1383 (m16_nsimm5_1): Likewise.
1384 (m16_uimm5_4): Likewise.
1385 (m16_nuimm5_4): Likewise.
1386 (m16_simm8_1): Likewise.
1387 (m16_nsimm8_1): Likewise.
1388 (m16_uimm8_1): Likewise.
1389 (m16_nuimm8_1): Likewise.
1390 (m16_uimm8_m1_1): Likewise.
1391 (m16_uimm8_4): Likewise.
1392 (m16_nuimm8_4): Likewise.
1393 (m16_simm8_8): Likewise.
1394 (m16_nsimm8_8): Likewise.
1395 (m16_usym8_4): Likewise.
1396 (m16_usym5_4): Likewise.
1397 (mips_move_1word): Change type of variable `i' from int to size_t.
1398 (mips_move_2words): Likewise.
1399 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
1400 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
1401 (function_arg): Likewise.
1402 (function_arg_partial_nregs): Mark parameter `named' with
1403 ATTRIBUTE_UNUSED.
1404 (override_options): Use ISDIGIT instead of isdigit.
1405 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
1406 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
1407 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
1408 function `fatal' to long before printing. Use
1409 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
1410 times in this function.
1411 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
1412 (function_epilogue): Likewise for parameters `file' and `size'.
1413 Print an int with "%d" not "%ld".
1414 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
1415 (mips_function_value): Likewise for parameter `func'.
1416 (function_arg_pass_by_reference): Likewise for parameters `cum'
1417 and `named'.
1418 (extend_operator): Likewise for parameter `mode'
1419 (highpart_shift_operator): Likewise.
1420
1421 * mips.md (mul_acc_si): Remove unused variable `macc'.
1422
57d47a6d 1423Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
1424
1425 * fold-const.c (fold): Revert last change. It breaks constant
1426 expressions somehow.
1427
c89676f9 1428Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1429
1430 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
1431 prevent operands from being evaluated twice.
1432
8fca79ac 1433Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
1434
1435 * toplev.c (lang_options): Add -remap as a preprocessor option.
1436
58abfc39 1437Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
1438
1439 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
1440 which set CC_REVERSED since reload should ensure that
1441 the operands are already the correct type.
1442
461896e5 1443Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
1444
1445 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
1446 calling gen_rtx_SET.
1447
779b7d35 1448Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
1449
1450 * config/rs6000/x-aix43 (AR): Delete.
1451 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
1452
f34db41e 1453Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
1454
1455 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
1456
26763f36 1457Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
1458
1459 * mips.c (override_options): Replace word_mode with explicit
1460 TARGET_64BIT check.
1461
403003d7 1462Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
1463
1464 * regmove.c (regmove_optimize): If we can't replace the
1465 destination in an insn that sets the source, generate an explicit
1466 move of the source to the destination.
1467 (copy_src_to_dest): New function.
1468 (toplevel): Include basic-block.h
1469
1470 * Makefile.in (regmove.o): Add basic-block.h dependencies.
1471
df037ff5 1472Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
1473
1474 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
1475
cdd56452 1476Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
1477
1478 * rtl.h (rtx_def): Improve documentation.
1479 (MEM_IN_STRUCT_P): Likewise.
1480
08977d58 1481Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
1482
1483 * c-decl.c (start_decl): Correct test for -Wmain.
1484
3b922cfa 1485 * c-decl.c (grokdeclarator): Remove unused variable "last".
1486
01aa2dde 1487Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
1488
1489 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
1490 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
1491 Delete code storing value in static_chain_rtx.
1492 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
1493 to second expand_expr call.
1494
e884af4a 1495Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
1496
1497 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
1498
be69511d 1499Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
1500
1501 * cppmain.c (fatal): New function.
1502 * configure.in (cpp_main): New configuration variable.
1503 * configure: Regenerated.
08977d58 1504 * Makefile.in (CCCP): Use a configuration variable to select basex
1505 for cccp.
be69511d 1506 (cppmain$(exeext)): Add @extra_cpp_objs@.
1507
11ce684d 1508Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
1509
1510 * objc/objc-act.c: Add cpplib declarations.
1511 (lang_decode_option): Initialize cpplib if necessary.
1512 (lang_decode_option): New argc/argv interface.
1513 * tree.h (lang_decode_option): New argc/argv interface.
1514 * toplev.c (lang_options): Add cpp options.
1515 (main): New interface for lang_decode_option.
1516 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
1517 unless -E, -M or -MM is specified.
1518 * cpplib.h (cpp_handle_option): New function.
1519 * cpplib.c (cpp_handle_option): New function.
1520 (cpp_handle_options): Now calls cpp_handle_option.
1521 * c-tree.h (c_decode_option): New argc/argv interface.
1522 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
1523 * c-lang.c (lang_decode_option): New argc/argv interface.
1524 * c-decl.c: Add cpplib declarations.
1525 (c_decode_option): New argc/argv interface.
1526 (c_decode_option): Call cpp_handle_option.
1527 (c_decode_option): Now returns number of strings processed.
1528
53a1869c 1529Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
1530
1531 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
1532 changes. Abort if the undo fails.
1533
abce7dcd 15341998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
1535
1536 * config/rs6000/rs6000.c (output_prolog): Change locations and
1537 directions of saving and restoring arguments of main on the stack.
1538
1162c62d 1539Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
1540
1541 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
1542 for each alternative. Do not replace a CONST_INT with a REG unless
1543 the reg is cheaper.
1544
c16f995d 1545Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
1546
55a5bb0f 1547 * decl.c (init_decl_processing): Fix typo.
1548
a94a1c90 1549 * mips.c (gpr_mode): New variable.
1550 (override_options): Initialize gpr_mode.
1551 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1552 determine size and offset of general purpose registers save slots.
1553 (save_restore_insns, mips_expand_prologue): Similarly.
1554
c16f995d 1555 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
1556 between constant representations when we have (SUBREG (REG)) with
1557 REG equivalent to a constant.
1558
9bbc06f2 1559Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
1560
1561 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
1562
7ebc607f 1563Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
1564
1565 * fold-const.c (fold): Even with otherwise constant trees, look for
1566 opportunities to combine integer constants.
1567
ff51038d 1568Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
1569
edd4be93 1570 * i386.c (notice_update_cc): Clear cc_status.value2 in the
1571 case of UNSPEC 5 (bsf).
1572
ff51038d 1573 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
1574 conditional move instructions don't support signed integer
1575 comparisons.
1576
c81605a5 1577Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
1578
1579 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
1580 overlfows.
1581
1582 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
1583 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
1584 <glctr@abc.it>.
1585
c50af1d9 1586Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1587
1588 * except.c (expand_start_catch): Rename to start_catch_handler.
1589 (expand_end_catch): Delete function.
1590 (expand_end_all_catch): Remove catch status that expand_end_catch
1591 use to do.
1592 * except.h (expand_start_catch): Rename prototype.
1593 (expand_end_catch): Delete prototype.
1594
11c9a227 1595Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
1596
1597 * invoke.texi: Add documentation for -mips4 and -mabi=*.
1598
5ed6f5a8 1599Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
1600
1601 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
1602 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
1603 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
1604
cd7a3644 1605Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
1606
1607 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
1608 as the threshold to permit splitting memory operations.
1609
a69e7f5f 1610Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
1611
ff51038d 1612 * mips.c (gpr_mode): New variable.
1613 (override_options): Initialize gpr_mode.
1614 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1615 determine size and offset of general purpose registers save slots.
1616 (save_restore_insns, mips_expand_prologue): Similarly.
1617
a69e7f5f 1618 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
1619 (LIBGCC2_CFLAGS): Remove -fexceptions.
1620 (LIB2FUNCS): Remove "_eh".
1621 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
1622 it with -fexceptions.
1623
1624 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
1625 * local-alloc.c (block_alloc): Avoid creating false
1626 dependencies for targets which use instruction scheduling.
1627
9a722f13 1628Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
1629
1630 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
1631 (ASM_FINISH_DECLARE_OBJECT): Define;
1632 * mips/elf64.h: Likewise.
1633
34b0aceb 1634Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
6146b46b 1635
34b0aceb 1636 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
839be5c4 1637
34b0aceb 1638Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
7f36e371 1639
1640 * version.c: Bump for snapshot.
1641
1e374eb0 1642Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
1643
1644 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
1645 (mulsidi3_ppc64): Delete.
1646
ebd9163c 1647Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1648
1649 * Makefile.in (varasm.o): Depend on dbxout.h.
1650 (cse.o): Depend on toplev.h and output.h.
1651 (gcse.o): Depend on output.h.
1652
1653 * mips.c: Include system.h and toplev.h and remove redundant code.
1654 Include output.h after tree.h so all its prototypes get activated.
1655 * mips.md (table_jump): Remove unused variable `dest'.
1656
1657 * sparc.h: Add prototype for `v8plus_regcmp_op'.
1658
1659 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
1660 with __attribute__ ((__unused__)).
1661 (__frame_dummy): Provide prototype before use, wrap it with
1662 EH_FRAME_SECTION_ASM_OP.
1663
1664 * cse.c: Move inclusion of <setjmp.h> above local headers.
1665 Include toplev.h and output.h.
1666
1667 * dbxout.h: Add prototype for `dbxout_begin_function'.
1668
1669 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
1670 ASM_OUTPUT_MAX_SKIP_ALIGN.
1671
1672 * gcse.c: Include system.h and output.h.
1673 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
1674 Make extern instead of static.
1675 (compute_can_copy): Only declare variables `reg' and `insn' when
1676 AVOID_CCMODE_COPIES is not defined.
1677 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
1678 (hash_scan_clobber): Likewise for `x' and `insn'.
1679 (hash_scan_call): Likewise.
1680 (record_last_set_info): Likewise for `setter'.
1681 (mark_call): Likewise for `pat'.
1682 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
1683
1684 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
1685 length parameter so that it multiplies the number of elements by
1686 the sizeof(element).
1687
1688 * output.h: Add prototype for `weak_finish'.
1689
1690 * recog.h: Likewise for `validate_replace_src'.
1691
1692 * rtl.h: Likewise for `optimize_save_area_alloca',
1693 `fix_sched_param', `purge_addressof', `gcse_main',
1694 `regmove_optimize', `dbr_schedule', `branch_prob' and
1695 `end_branch_prob'.
1696
1697 * toplev.h: Likewise for `set_float_handler' and
1698 `output_quoted_string'.
1699
1700 * varasm.c: Include dbxout.h.
1701
cadc074f 1702Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
1703
1704 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
1705 GP_REG_P. Use gr_regs instead of GR_REGS.
1706
503a38ef 1707Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
1708 Jeff Law <law@cygnus.com>
1709
1710 * Revamped multiply support for MIPS chips.
1711 * mips.c (extend_operator): New function.
1712 (highpart_shift_operator): Likewise.
1713 * mips.h: Declare new functions.
1714 (PREDICATE_CODES): Add support for new predicates.
1715 * mips.md (mulsi3 expander): Simplify.
1716 (mulsi_mult3): Add another constraint alternative. Support
1717 3 operand multiply instructions as found on various mips
1718 parts.
1719 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
1720 (mul_acc_si): New pattern and associated splitters.
1721 (mulsidi3 expander): Rework to use mulsidi3_64bit and
1722 mulsidi3_internal.
1723 (umulsidi3): New expander.
1724 (mulsidi3_internal): Accept either sign or zero extended
1725 operands and generate code as appropriate appropriately.
1726 (mulsidi3_64bit): Similarly.
1727 (smulsi3_highpart): Turn into an expander and generate code
1728 to match new patterns.
1729 (umulsi3_highpart): Likewise.
1730 (xmulsi3_highpart_internal): New pattern.
1731 (maddi patterns): Delete. Replace with:
1732 (mul_acc_di, mul-acc_64bit_di): New patterns.
1733
173f0bec 1734Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1735
1736 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
1737 flag_new_exceptions runtime flag.
1738 (struct old_exception_table): New struct which represents what
1739 the exception table looks like without the new model.
1740 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
1741 flag that this is a new style table.
1742 * except.h: Remove compile time flag NEW_EH_MODEL.
1743 (expand_builtin_eh_stub_old): New prototype.
1744 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
1745 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
1746 * c-decl.c (init_decl_processing): Add new builtin function
1747 __builtin_eh_stub_old.
1748 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
1749 * flags.h (flag_new_exceptions): New runtime flag.
1750 * toplev.c (flag_new_exceptions): Initialize default to 0,
1751 -fnew-exceptions sets to 1.
1752 * except.c (output_exception_table_entry): Output New style exception
1753 identifier into table, and replace compile time flag NEW_EH_MODEL
1754 with runtime flag flag_new_exceptions.
1755 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
1756 (expand_builtin_eh_stub_old): Duplicates original functionality of
1757 expand_builtin_eh_stub.
1758 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
1759 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
1760 (old_find_exception_handler): New func, same as find_exception_handler
1761 except it works on the old style exception table.
1762 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
1763 of identifier in the exception table, and call appropriate routines.
1764
41124432 1765Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
1766
1767 * function.c: Define current_function_cannot_inline.
1768 (push_function_context_to): Save it.
1769 (pop_function_context_from): Restore it.
1770 * function.h (struct function): Provide it a home.
1771 * output.h: Declare it.
1772 * integrate.c (function_cannot_inline_p): Check it.
1773
8b59469a 1774Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
27cffc89 1775
8b59469a 1776 * expr.c (force_operand): Detect PIC address loads before
1777 splitting arithmetic.
af01199a 1778
8b59469a 1779Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
87efb83a 1780
1781 * version.c: Bump for snapshot.
1782
c099910c 1783Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
1784
1785 * tree.c (tree_class_check): Add braces to eliminate ambigious
1786 else warning.
1787 (tree_check): Likewise.
1788
9b2415b5 1789Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
1790
1791 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
1792 stack is the destination for conditional move insn.
1793
f3cce032 1794Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
1795
1796 * tree.h (TREE_VEC_END): Cast unused value to void.
1797
1798 * i386.c (print_operand): Use %lx for long operand.
1799
1dc5f36f 1800Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
1801
1802 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
1803
aaf02cb6 1804Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
1805
1806 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
1807 conversion functions.
1808
7e87204a 1809Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
1810
1811 * toplev.c (flag_exceptions): Default to 0.
1812 (compile_file): Remove flag_exceptions == 2 hack.
1813 (main): Call lang_init_options.
1814 * tree.h: Declare it.
1815 * c-lang.c: Implement it.
1816 * objc/objc-act.c: Likewise.
1817
13c06a53 1818Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
1819
1820 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
1821 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
1822 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
1823 (output_function_profiler): Use asm_fprintf and fputs.
1824
1704bc4a 1825Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1826
1827 * gencheck.c: Remove redundant stdio.h include. Add a definition
1828 of xmalloc for when we are forced to link with alloca.o.
1829
1830 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
1831 instead of `1U'.
1832
1833 * fold-const.c (constant_boolean_node): Make definition static to
1834 match the prototype.
1835
320c53c4 1836Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
1837
1838 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
1839 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
1840 (do_spec, input_filename, input_filename_length): Make public.
1841 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
1842 Call lang_specific_pre_link befor elinking.
1843
02aef853 1844Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
1845
1846 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
1847 the insn which has the most insns dependent on it.
1848
1b7137cc 1849Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
1850
1851 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
1852
426e9bc7 1853Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
1854
1855 * alpha.md (insxh-1): New insxl pattern for combine.
1856
aaf17c05 1857Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
1858
1859 * i386/i386.c (output_fp_conditional_move): New function
1860 to output floating point conditional move.
1861 (output_int_conditional_move): New function to output integer
1862 conditional move.
1863
1864 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
1865 output_int_conditional_move () to output int conditional move.
1866 (movsfcc+5, movdfcc+5, movxfcc+5): Call
1867 output_fp_conditional_move () to output floating point
1868 conditional move.
1869
1870 * i386/i386.c (put_condition_code): In INT mode, check
1871 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
1872
1020180f 1873Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
1874
1875 * dbxout.c (dbxout_type): Output arrays of bits as if
1876 they were bitstrings for Chill
1877
8cda90b9 1878Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
1879
1880 * tree.c (get_inner_array_type): New function.
1881 * tree.h (get_inner_array_type): Prototype.
1882 * expr.h (STACK_SAVEAREA_MODE): New macro.
1883 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
1884 STACK_SAVEAREA_MODE.
1885 (expand_builtin_longjmp): Likewise.
1886 * explow.c (emit_stack_save): Likewise.
1887 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
1888
1889 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
1890 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
1891 * rs6000/aix43.h: New file.
1892 * rs6000/t-aix43: New file.
1893 * rs6000/x-aix41: New file.
1894 * rs6000/x-aix43: New file.
1895 * configure.in (rs6000-ibm-aix*): Use them.
1896 * rs6000/powerpc.h: Delete.
1897 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
1898 * rs6000/netware.h: and here.
1899 * rs6000/win-nt.h: and here.
1900
1901 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
1902 MASK_POWERPC64.
1903 (rs6000_override_options): Ignore flag_pic for AIX.
1904 (rs6000_immed_double_const): Delete.
1905 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
1906 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
1907 (num_insns_constant): mask64_operand() is 2 insns.
1908 (logical_operand): Don't assume 32-bit CONST_INT.
1909 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
1910 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
1911 (mask_constant): HOST_WIDE_INT parameter.
1912 (non_and_cint_operand): Delete.
1913 (mask64_operand): New function.
1914 (and64_operand): New function.
1915 (function_arg_advance): DImode arguments do not need special
1916 alignment when 64-bit.
1917 (function_arg): Likewise.
1918 (setup_incoming_varargs): Reverse reg_size assignment.
1919 (print_operand): HOST_WIDE_INT second parameter.
1920 (print_operand, 'B'): New case.
1921 (print_operand, 'M'): Fix typo in lossage string.
1922 (print_operandm 'S'): New case.
1923 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
1924 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
1925 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
1926 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
1927 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
1928 (rs6000_allocate_stack_space): Use {cal|la}.
1929 (output_epilog): Use {cal|la}
1930 (output_function_profiler): Add call glue to mcount call.
1931 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
1932
1933 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
1934 (STACK_BOUNDARY): Depend on TARGET_32BIT.
1935 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
1936 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
1937 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
1938 64-bit mask operand.
1939 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
1940 (STACK_SAVEAREA_MODE): New macro.
1941 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
1942 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
1943 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
1944 (ASM_FILE_START): Emit 64-bit ABI directive.
1945 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
1946 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
1947 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
1948 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
1949
1950 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
1951 Restore define_splits.
1952 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
1953 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
1954 Do not specify base register operand mode.
1955 (floatsidf2_loadaddr): Do not specify base register operand mode.
1956 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
1957 register; do not specify mode. Remove !TARGET_POWERPC64 final
1958 constraint.
1959 (floatsidf2_load): Do not specify base register operand mode. Remove
1960 !TARGET_POWERPC64 final constraint.
1961 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
1962 base register operand mode.
1963 (adddi3): Split large constants early.
1964 (absdi3): Shift by 63, not 31.
1965 (*mulsidi3_ppc64): New pattern.
1966 (rotldi3): Add masking combiner patterns.
1967 (anddi3): Add rldic{r,l} masking. Remove split of large constants
1968 because PPC insns zero-extend.
1969 (iordi3, xordi3): Split large constants early.
1970 (movsi matcher): Remove S and T constraints.
1971 (movsf const_double): create SImode constant from TARGET_DOUBLE.
1972 (movdf_hardfloat32): Add default abort() case.
1973 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
1974 (movdi): Remove 64-bit constant generator. Try to convert
1975 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
1976 (movdi_32): Add default abort() case.
1977 (movdi_64): Add numerous ways to split 64-bit constants.
1978 Make catch-all define_split more optimal and never FAIL.
1979 (movti_ppc64): Add default abort() case.
1980 (allocate_stack): Remove operand modes. Use Pmode.
1981 (restore_stack_block): Remove operand modes. Generate Pmode
1982 temporary.
1983 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
1984 temporary. Save area is double Pmode.
1985 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
1986 (call, call_value): Do not specify address operand mode. Choose
1987 appropriate AIX ABI.
1988 (*call_local64, *ret_call_local64): New patterns.
1989 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
1990 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
1991 (compare): Materialize DImode truthvalues.
1992
67e40adc 1993Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
1994
1995 * expr.c (safe_from_p): Avoid combinatorial explosion
1996 over duplicate SAVE_EXPRs by ensuring we never recurse
1997 on one that has already been visited.
1998
fa3d660c 1999Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
2000
2001 * loop.c (check_dbra_loop): Initialise final_value before
2002 normalizing the loop.
2003
2f013d29 2004Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2005
2006 * reload1.c (reload_reg_free_for_value_p): New arguments out and
2007 reloadnum. Changed all callers.
2008
89f7f2db 20091998-06-03 Ulrich Drepper <drepper@cygnus.com>
2010
2011 * system.h: Add _() and N_() macros in preparation for gettext.
2012
edc8f998 2013Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2014
33b8b501 2015 * c-common.c (check_format_info): Put back check for C9x `hh'
2016 length modifier. Warn about %n format writing into const. Remove
2017 obsolete comment.
89f7f2db 2018 (format_char_info): Fix comments.
33b8b501 2019
edc8f998 2020 * configure.in: Set float_format to m68k for all m68k targets that
2021 do not override LONG_DOUBLE_TYPE_SIZE.
2022 * config/float-m68k.h: New file.
2023
652ec7fa 2024Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
2025
2026 * jump.c (jump_optimize): Remove debug messages accidentally left in
2027 with the previous change.
2028
d0ddddf7 2029Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
2030
2031 * expr.c (store_expr): Revert stray patch associated with
2032 1998-05-23 commit.
2033
18681e6f 2034Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
2035
2036 * jump.c (rtx_unsafe_p): New function.
2037 (jump_optimize): Use it on if/then/else transformations and
2038 conditional move transformations.
2039
a67ad12d 2040Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2041
2042 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
2043 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
2044 Cope with CONST being out of range for the bitfield.
2045
7908d3b3 2046Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
2047
2048 * expr.c (emit_move_insn_1): When moving complex values in several
2049 steps, emit a CLOBBER to show the destination dies.
2050
d4020575 2051Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
2052
16ee23c7 2053 * Makefile.in (site.exp): Use the object testsuite directory as
2054 the temporary directory.
2055
d4020575 2056 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
2057 address of an ADDRESSOF rtx.
2058
5e300ff6 20591998-06-02 Mike Stump <mrs@wrs.com>
2060
2061 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
2062 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
2063 * i960.md (ret, flush_register_windows): Define.
2064 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
2065 work yet.
2066 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
2067
74721983 2068Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
2069
2070 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
2071 around an OSF/1 library bug wrt sign-extension of inputs.
2072
8e7a4d2a 2073Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
2074
2075 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
2076
ad9b9575 2077Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
89f7f2db 2078
ad9b9575 2079 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
2080
2081 * varasm.c (assemble_variable): Augment alignment warning.
2082
f7391c06 2083Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
2084
2085 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
2086 in the presence of IEEE negative 0's.
2087
a6979111 2088Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
2089
2090 * reload.c (find_reloads): Record the existing mode if
2091 operand_mode == VOIDmode before replacing a register with
2092 a constant.
2093 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
2094 i386_compare_op1 to const0_rtx for the benefit of the
2095 conditional move patterns.
2096 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
2097 based on suggestions from Jim Wilson.
2098
ac0b7d1a 2099Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
2100
2101 * version.c: Bump for snapshot.
2102
45f08132 2103Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
2104
2105 * Makefile.in (fixinc.sh): Update rules again.
2106
cdc15fa3 2107Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
2108
2109 * extend.texi: Bring back reference to trampoline paper.
2110
2111Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
2112
2113 * Makefile.in (USER_H): Add stdbool.h.
2114 * ginclude/stdbool.h: New file.
2115
ce8a8c79 2116Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
2117
2d9da7e1 2118 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
2119 of a non-note insn.
2120
ce8a8c79 2121 * gcse.c (pre_delete): Fix code to determine the mode of
2122 the reaching pseudo register.
2123
1a237d7e 2124Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
2125
2126 * Makefile.in (GEN): Add gencheck
2127 (STAGESTUFF): Add tree-check.h and gencheck.
2128
ba679b21 2129Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
2130
2131 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
2132 (fixinc.sh): Set some additional environment variables before
2133 calling mkfixinc.sh.
2134
e0aa7204 2135Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
2136
2137 * reload.c (find_reloads): Do not force a reloads of match_operators.
89f7f2db 2138
444be12c 2139Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2140
2141 * except.h (remove_handler): Add new prototype.
2142 * except.c (remove_handler): New function to remove handlers
2143 from an exception region.
2144 * flow.c (find_basic_blocks_1): Remove handlers from regions when
2145 handler label is deleted; remove exception regions with no handlers.
2146
bd3b1088 2147Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
2148
2149 * except.h (rtx): Define rtx type correctly if needed.
2150 * function.h (rtx): Ditto.
2151 (tree): Define tree type correctly if needed.
2152
2153 * c-pragma.c (toplevel): Include rtl.h.
2154
2155 * stor-layout.c (toplevel): Move include of rtl.h before
2156 except.h.
2157
2158 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
2159 (tree.o): Add except.h dependency.
89f7f2db 2160
b8e08dca 2161Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
2162
94eedc3c 2163 * reload1.c: Revert accidental checkin.
2164
b8e08dca 2165 * configure.lang: Fix thinko when adding a definition for
2166 target_alias to the Makefile.
2167
76807817 2168Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
2169
89f7f2db 2170 * config/sparc/lb1spc.asm (.rem and .urem): Replace
76807817 2171 routines.
2172
997e4174 2173Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
2174
2175 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
2176 variable warnings. Don't generate scratch registers if only
2177 counting insns.
2178 (find_barrier): Eliminate unused variable SRC.
2179
41a3e380 21801998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
2181
2182 * toplev.h (rtx_def): Provide global declaration to avoid
2183 `limited scope' warnings.
2184
580b113f 2185Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
2186
2187 * Makefile.in (gencheck.o): Use HOST_CC.
2188 * i386/t-mingw32: New file.
2189 * configure.in (i386-*-mingw32*): Use.
2190
3fc2009e 2191Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
2192
2193 * arm.c (bad_signed_byte_operand): New predicate function.
2194 * arm.h (PREDICATE_CODES): Add it to the list.
2195 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
2196 can't handle.
2197 (define_split): Two new splits for above insns.
2198
ecd3fcc7 2199 * arm.c: Include toplev.h.
2200 (arm_override_options): Add parentheses around use of tune_flags.
2201 (arm_split_constant): Remove unused variable.
2202 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
2203 (output_func_prologue, arm_expand_prologue): Likewise.
2204 (arm_canonicalize_comparison): Make I unsigned; rework constants
2205 accordignly. Add missing paratheses around << operation.
2206 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
2207 clause.
2208 ({load,store}_multiple_sequence): Initialize BASE_REG.
2209 (select_dominance_cc_mode): Add DEFAULT clauses.
2210 (broken_move): Return zero if the destination is not a register.
2211 (arm_reorg): Move unused REGNO declaration into the dead code.
2212 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
2213
4d06589a 2214Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
2215
2216 * version.c: Bump for snapshot.
2217
d9c33e22 2218Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
2219
2220 * version.c: Bump for snapshot.
2221
8bece746 2222Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
2223
2224 * cpperror.c (v_cpp_message): Remove static prototype.
2225 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
2226 * cpplib.h (v_cpp_message): Add protoptype.
2227 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
2228
06806829 2229Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
2230
2231 * version.c: Bump for snapshot.
2232
257f1835 2233Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
2234
2235 * version.c: Bump for snapshot.
2236
cb264b86 22371998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2238
2239 * m68k.h: Declare more functions used in macros.
2240 (REG_CLASS_CONTENTS): Completely embrace initializer.
2241 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
2242 about returning no value.
2243 * cse.c (find_best_addr): Declare p and found_better only if
2244 needed.
2245 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
2246 * dwarfout.c (string_length_attribute): #if 0 away.
2247 * function.c (expand_function_end): Define varible blktramp only
2248 if needed.
2249 * jump.c (find_insert_position): Define only if !HAVE_cc0.
2250 * loop.c (combine_givs_p): Define variable tem only if needed.
2251 * real.c: Comment out unused functions eabs, eround,
2252 e{24,53,64,113}toasc and eiinfin.
2253
2254
f7a6018d 2255Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
2256
2257 * Makefile.in (boostrap2-lean, bootstrap3-lean,
2258 bootstrap4-lean): New targets.
2259
5151e3fc 2260Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
2261
2262 * warn_summary, test_summary: Moved into the contrib directory.
2263
fb01e319 22641998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
2265
d54b81e0 2266 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
2267 of the Makefile.
2268 (FLOAT_H_TEST): Likewise.
2269 (ENQUIRE): Likewise.
2270 (float.h-nat): Likewise.
2271 (float.h-cross): Likewise.
2272 (enquire): Likewise.
2273 (enquire.o): Likewise.
2274 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
2275 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
2276 no-op.
2277 (FLOAT_H): Remove old float.h-nat version; move current definition
2278 to CROSS_FLOAT_H location.
2279 (all.cross): Remove comments about enquire stuff.
2280
7c4fe5b5 2281 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
2282 (rest.encap): Likewise.
d54b81e0 2283 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
7c4fe5b5 2284
fb01e319 2285 * toplev.h (tree_node): Provide global declaration to avoid
2286 `limited scope' warnings.
2287
12e82623 2288Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
2289
2290 * test_summary: Display section breaks for each entry
2291 in a multilibbed target's output.
2292
33ef2f52 22931998-05-23 Richard Henderson <rth@cygnus.com>
2294
2295 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
2296 offset's mode is not ptr_mode, convert it.
2297
3fd3b688 22981998-05-22 Jason Merrill <jason@yorick.cygnus.com>
2299
2300 * fold-const.c (ssize_binop): New fn.
2301 * tree.h: Declare it.
2302
c37c80b7 2303Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
2304
89f7f2db 2305 * genextract.c (print_path): Handle zero-length path as a special
c37c80b7 2306 case.
2307
fee10e05 2308Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
2309
2310 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
2311
6b5be7f8 2312Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2313
2314 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
2315 (shorten_branches, final_scan_insn): Test value of
2316 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
2317 is defined.
2318 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
2319 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
8578e637 2320 * arm/tcoff.h: Likewise.
6b5be7f8 2321 * i386/386bsd.h: Likewise.
2322 * i386/freebsd-elf.h: Likewise.
2323 * i386/freebsd.h: Likewise.
2324 * i386/netbsd.h: Likewise.
2325 * i386/ptx4-i.h: Likewise.
2326 * i386/sysv4.h: Likewise.
2327 * pa/pa.h: Likewise.
2328 * rs6000/linux.h: Likewise.
2329 * rs6000/rs6000.h: Likewise.
2330 * sh/sh.h: Likewise.
2331 * sparc/sp64-elf.h: Likewise.
2332 * v850/v850.h: Likewise.
2333 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
2334 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
2335
66bb8168 2336Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2337
2338 * regmove.c (gen_add3_insn): New function.
2339 (fixup_match_2): Use it instead of calling gen_addsi3.
2340
23c04f6b 2341Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
2342
3bcd23c4 2343 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
2344
23c04f6b 2345 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
2346 address.
2347
3e207e38 2348Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
2349
2350 * Makefile.in (TREE_H): Add tree-check.h.
2351 (tree-check.h, gencheck): New targets.
2352 * gencheck.c: New file.
2353 * tree.c (tree_check, tree_class_check): New functions.
2354 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
2355 (TYPE_CHECK, DECL_CHECK): Define.
2356 Modify all access macros to use generated checking macros.
2357
3245cd4f 2358Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
2359
2360 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
2361 * configure.in: Check for it.
2362 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
2363 * final.c (uid_align, uid_shuid, label_align): Make static.
2364 (label_align): Change type to struct label_alignment pointer.
2365 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
2366 (LABEL_TO_MAX_SKIP): Define.
2367 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
2368 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
2369 (shorten_branches): Record the maximum bytes to skip when
2370 aligning a label.
2371 (final_scan_insn): Use the maximum bytes to skip when aligning a label
2372 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
2373 * i386.h (LOOP_ALIGN_MAX_SKIP,
2374 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
2375 * i386.c (override_options): i386_align_jumps and i386_align_loops
2376 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
2377 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
2378
aff4ad88 23791998-05-21 Mark Mitchell <mmitchell@usa.net>
2380
2381 * cplus-dem.c (do_type): Handle volatile qualification.
89f7f2db 2382
2971fc86 2383Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
2384
2385 * function.c (init_function_start): Don't call emit_line_note if
2386 lineno is 0. (Can happen when compiling Java .class files.)
2387
cfaa75fa 2388Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2389
2390 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
2391 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
2392
a6b1267b 2393Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2394
2395 * combine.c (nonzero_bits): For paradoxical subregs, take
2396 LOAD_EXTENDED_OP into account.
2397
a654e028 2398Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
2399
2400 * configure.in (extra_c_objs): add prefix.o.
2401 (extra_cxx_objs): extra objects for C++ with cpplib.
2402 * configure: Regenerate.
2403
2404 * c-tree.h: (get_directive_line): Different prototype for cpplib.
2405 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
2406
2407 * c-lex.h: (get_directive_line): Not needed here for cpplib.
2408
2409 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
2410 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
2411
2412 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
2413 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
2414
9b4c8c82 2415Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2416
2417 * gengenrtl.c (type_from_format, accessor_from_format): Change
2418 type of parameter `c' from `char' to `int'.
2419
cb9e886d 2420Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
2421
29c8dfb2 2422 * warn_summary, test_summary: New scripts from
2423 Kaveh Ghazi and Alexandre Oliva respectively.
2424
cb9e886d 2425 * gcse.c (current_function_calls_longjmp): Declare.
2426
21638aad 24271998-05-20 Jason Merrill <jason@yorick.cygnus.com>
2428
2429 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
2430
18aa2adf 2431Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
2432 Jeff Law (law@cygnus.com)
2433
2434 * Global CSE and constant/copy propagation.
2435 * Makefile.in (OBJS): Add gcse.o
2436 (STAGESTUFF): Add *.gcse.
2437 (gcse.o): Add dependencies.
2438 (mostlyclean): Remove *.gcse and */*.gcse.
2439 * gcse.c: New file.
2440 * loop.c (loop_optimize): Move call to init_alias_analysis.
2441 * recog.c (validate_replace_src): New function.
2442 * toplev.c (gcse_dump): New global variable.
2443 (flag_gcse, gcse_time): Likewise.
2444 (compile_file): Initialize gcse_time and clean out the gcse dump
2445 file if necessary.
2446 (rest_of_compilation): Call gcse_main as requested. Dump RTL
2447 after gcse if requested.
2448 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
2449 dumps for -da.
2450 * gcc.texi: Add gcse related internal documentation.
2451 * invoke.texi: Note new command line options for gcse.
2452 * tm.texi: Document AVOID_CCMODE_COPIES.
2453 * mips.h (AVOID_CCMODE_COPIES): Define.
2454
6ce07cb7 2455Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
2456
2457 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
2458 exists.
bcc35674 2459 (stmp-fixproto): Simlarly for running fixproto.
6ce07cb7 2460 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
2461
0b13790a 2462Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
2463
2464 * config/mips/mips.c (double_memory_operand): Accept any MEM during
2465 reload when TARGET_64BIT.
2466
f4607638 2467Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
2468
2469 Finish incomplete change started by Kenner.
2470 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
2471 (powerpcle-*-cygwin32): Delete xm_defines.
2472 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
2473 HAVE_STAB_H instead of NO_STAB_H.
2474 * config/xm-linux.h (NO_STAB_H): Delete.
2475 (HAVE_STAB_H): Undefine.
2476 * config/i386/xm-go32.h (NO_STAB_H): Delete.
2477
7a588fdf 24781998-05-19 Jim Wilson <wilson@cygnus.com>
2479
2480 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
2481 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
2482
f6dbff37 2483Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
2484
2485 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
2486
88148277 2487Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2488
2489 * reload1.c (reload_reg_free_for_value_p): New function.
2490 (allocate_reload_reg, choose_reload_regs): Use it.
2491
73c455d6 2492Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
2493
2494 * except.c (expand_start_catch): Correct logic for when to
2495 generate a new handler label, and when to use the old one.
2496
0e93a6ac 2497Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2498
2499 * Makefile.in (print-rtl.o): Depend on bitmap.h.
2500 (dbxout.o): Depend on toplev.h.
2501 ($(SCHED_PREFIX)sched.o): Likewise.
2502 ($(out_object_file)): Likewise for system.h and toplev.h.
2503 (cppmain.o): Depend on gansidecl.h.
2504 (cpplib.o): Likewise.
2505 (cpperror.o): Likewise.
2506 (cppexp.o): Likewise.
2507 (cpphash.o): Likewise.
2508 (cppalloc.o): Likewise.
2509 (fix-header.o): Depend on cpplib.h and cpphash.h.
2510 (scan-decls.o): Depend on gansidecl.h.
2511
2512 * basic-block.h (free_regset_vector): Add prototype.
2513
2514 * cccp.c (check_precompiled): Mark parameter `fname' with
2515 ATTRIBUTE_UNUSED.
2516 (do_assert): Likewise for `op' and `keyword'.
2517 (do_unassert): Likewise.
2518 (do_line): Likewise for `keyword'.
2519 (do_error): Likewise for `op' and `keyword'.
2520 (do_warning): Likewise.
2521 (do_ident): Likewise for `keyword'.
2522 (do_pragma): Likewise for `limit', `op' and `keyword'.
2523 (do_sccs): Likewise.
2524 (do_if): Likewise for `keyword'.
2525 (do_elif): Likewise.
2526 (do_else): Likewise.
2527 (do_endif): Likewise.
2528
2529 * collect2.c (getenv): Remove redundant prototype.
2530 (collect_exit, collect_execute, dump_file): Likewise.
2531 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
2532 (dump_prefix_list): Hide prototype and definition.
2533
2534 * sparc.c: Include toplev.h.
2535 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2536 (symbolic_memory_operand): Likewise.
2537 (sp64_medium_pic_operand): Likewise.
2538 (data_segment_operand): Likewise.
2539 (text_segment_operand): Likewise.
2540 (splittable_symbolic_memory_operand): Likewise.
2541 (splittable_immediate_memory_operand): Likewise.
2542 (eq_or_neq): Likewise.
2543 (normal_comp_operator): Likewise.
2544 (noov_compare_op): Likewise.
2545 (v9_regcmp_op): Likewise.
2546 (v8plus_regcmp_op): Likewise.
2547 (extend_op): Likewise.
2548 (cc_arithop): Likewise.
2549 (cc_arithopn): Likewise.
2550 (small_int): Likewise.
2551 (uns_small_int): Likewise.
2552 (clobbered_register): Likewise.
2553 (legitimize_pic_address): Likewise.
2554 (delay_operand): Likewise.
2555 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
2556
2557 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
2558 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
2559
2560 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
2561
2562 * cppalloc.c: Include gansidecl.h.
2563
2564 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
2565 (cpp_file_line_for_message): Mark parameter `pfile' with
2566 ATTRIBUTE_UNUSED.
2567 (v_cpp_message): New function.
2568 (cpp_message): Use it. Also convert to variable arguments.
2569 (cpp_fatal): Likewise.
2570 (cpp_pfatal_with_name): Constify parameter `name'.
2571
2572 * cppexp.c: Move gansidecl.h before cpplib.h.
2573 * cpphash.c: Likewise.
2574 * cpphash.h (hashf, delete_macro): Add prototypes.
2575
2576 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
2577 cpplib.h. Don't include errno.h.
2578 (update_path): Add arguments to prototype.
2579 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
2580 cpp_print_containing_files): Remove redundant prototypes.
2581 (cpp_hash_cleanup, add_import, append_include_chain,
2582 make_assertion, path_include, initialize_builtins,
2583 initialize_char_syntax, finclude, validate_else, comp_def_part,
2584 lookup_import, redundant_include_p, is_system_include,
2585 read_name_map, read_filename_string, open_include_file,
2586 check_macro_name, compare_defs, compare_token_lists,
2587 eval_if_expression, change_newlines): Add prototype arguments.
2588 (hashf): Remove redundant prototype.
2589 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
2590 conditional_skip, skip_if_group): Add prototype arguments.
2591 (fdopen): Remove redundant prototype.
2592 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
2593 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
2594 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
2595 (struct directive): Add prototype arguments to function pointer
2596 member `func'.
2597 (handle_directive): Add missing arguments to call to `do_line'.
2598 (do_include): Mark parameters `unused1' and `unused2' with
2599 ATTRIBUTE_UNUSED.
2600 (do_line): Likewise for `keyword' and new parameters `unused1' and
2601 `unused2'.
2602 (do_error): Likewise for `keyword'.
2603 (do_warning): Likewise. Also add missing argument `pfile' in call
2604 to cpp_pedwarn.
2605 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
89f7f2db 2606 ATTRIBUTE_UNUSED.
0e93a6ac 2607 (do_ident): Likewise for `keyword', `buf' and `limit'.
2608 (do_pragma): Likewise. Also add missing arguments in call to do_once.
2609 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
89f7f2db 2610 ATTRIBUTE_UNUSED.
0e93a6ac 2611 (do_if): Likewise for `keyword'.
2612 (do_elif): Likewise.
2613 (eval_if_expression): Likewise for `buf' and `length'.
2614 (do_xifdef): Likewise for `unused1' and `unused2'.
2615 (do_else): Likewise for `keyword', `buf' and `limit'.
2616 (do_endif): Likewise.
2617 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
2618 (cpp_handle_options): Remove superfluous NULL argument in call to
2619 cpp_fatal.
2620 (cpp_handle_options): Likewise.
2621 (do_assert): Mark parameter `keyword', `buf' and `limit' with
2622 ATTRIBUTE_UNUSED.
2623 (do_unassert): Likewise.
2624 (cpp_print_file_and_line): Add missing argument `pfile' in call to
2625 cpp_file_line_for_message.
2626 (v_cpp_error): New function.
2627 (cpp_error): Use it. Also accept variable arguments.
2628 (v_cpp_warning): New function.
2629 (cpp_warning): Use it. Also accept variable arguments.
2630 (cpp_pedwarn): Accept variable arguments.
2631 (v_cpp_error_with_line): New function
2632 (cpp_error_with_line): Use it. Accept variable arguments.
2633 (v_cpp_warning_with_line): New function.
2634 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
2635 definition.
2636 (cpp_pedwarn_with_line): Accept variable arguments.
2637 (cpp_pedwarn_with_file_and_line): Likewise.
2638 (cpp_error_from_errno): Constify parameter `name'. Add missing
2639 argument `pfile' in call to cpp_file_line_for_message.
2640 (cpp_perror_with_name): Constify parameter `name'.
2641
2642 * cpplib.h: Define PARAMS() in terms of PROTO().
2643 (fatal): Remove redundant prototype.
2644 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
2645 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
89f7f2db 2646 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
0e93a6ac 2647 cpp_fatal, cpp_message, cpp_pfatal_with_name,
2648 cpp_file_line_for_message, cpp_print_containing_files): Add
2649 arguments to prototypes.
2650 (scan_decls, cpp_finish): Add prototypes.
2651
2652 * cppmain.c: Include gansidecl.h.
2653 (main): Remove unused variable `i'.
89f7f2db 2654
0e93a6ac 2655 * dbxout.c: Include toplev.h.
2656
2657 * demangle.h (do_tlink, collect_execute, collect_exit,
2658 collect_wait, dump_file, file_exists): Add prototype.
2659
2660 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
2661 prototype and definition.
2662 (gen_unspecified_parameters_die): Don't assign results of call to
2663 function new_die() to unused variable `parm_die'.
2664 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
2665 (dwarf2out_define): Likewise for `lineno' and `buffer'.
2666
2667 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
2668 prototype and definition.
2669 (output_die): Add prototype arguments to function pointer arg.
2670 (output_unspecified_parameters_die): Mark parameter `arg' with
2671 ATTRIBUTE_UNUSED.
2672
2673 * except.c (output_exception_table_entry): Remove unused variable
2674 `eh_entry'.
2675
2676 * except.h (expand_fixup_region_start, expand_fixup_region_end):
2677 Add prototypes.
2678
2679 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
2680
2681 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
2682
2683 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
2684 before cpplib.h, include cpphash.h, remove redundant prototype of
2685 cpp_fatal, don't define `const', add a prototype for `fatal'.
2686 (cpp_file_line_for_message): Add missing arguments `pfile'.
2687 (v_cpp_message): New function.
2688 (cpp_message): Use it.
2689 (v_fatal): New function.
2690 (fatal, cpp_fatal): Use it.
2691 (cpp_pfatal_with_name): Constify parameter `name'.
2692
2693 * flow.c (free_regset_vector): Remove redundant prototype.
2694
2695 * function.c (round_down): Wrap prototype and definition with
2696 macro ARGS_GROW_DOWNWARD.
2697 (record_insns): Wrap prototype and definition with
2698 defined (HAVE_prologue) || defined (HAVE_epilogue).
2699
2700 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
2701
2702 * gen-protos.c: Include gansidecl.h.
2703 (hashf): Don't make it static, constify parameter `name'.
2704
2705 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
2706 specifier %s in calls to function `fatal'.
2707
2708 * haifa-sched.c: Include toplev.h.
2709 (find_rgns): Remove unused variable `j'.
2710
2711 * integrate.c (note_modified_parmregs): Mark parameter `x' with
2712 ATTRIBUTE_UNUSED.
2713 (mark_stores): Likewise.
2714
2715 * jump.c (mark_modified_reg): Likewise.
2716
2717 * output.h (insn_current_reference_address): Add prototype.
2718 (eh_frame_section): Likewise.
2719
2720 * print-rtl.c: Include bitmap.h.
2721
2722 * reload1.c (reload): Wrap variables `note' and `next' in macro
2723 PRESERVE_DEATH_INFO_REGNO_P.
2724 (forget_old_reloads_1): Mark parameter `ignored' with
2725 ATTRIBUTE_UNUSED.
2726 (choose_reload_regs): Remove unused variable `in'.
2727 (reload_cse_invalidate_mem): Mark parameter `ignore' with
2728 ATTRIBUTE_UNUSED.
2729 (reload_cse_check_clobber): Likewise.
2730
2731 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
2732 (mark_elimination): Fix typo in prototype.
2733
2734 * scan-decls.c: Include gansidecl.h.
2735
2736 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
89f7f2db 2737
fe3e0d9f 2738Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
2739
2740 * function.c (identify_blocks): Fix thinko when setting the
2741 block number for NOTE_INSN_BLOCK_END.
2742
1d7caf49 2743Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
2744
7edb0c33 2745 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
89f7f2db 2746 ___udivsi3.
7edb0c33 2747
2748 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
89f7f2db 2749 underscores for the prefixes to the names of the maths functions.
7edb0c33 2750
1d7caf49 2751 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
2752 comment explaining why.
2753
cec6c892 2754Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
2755
2756 * tree.h (TYPE_SIZE_UNIT): New.
2757 (struct tree_type): Add size_unit member.
2758 * stor-layout.c (layout_type): Initialize it.
2759 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
2760 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
2761
0ba112d7 2762Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
2763
2764 * stor-layout.c (layout_record): Fix off-by-one error when checking
2765 length of the TYPE_BINFO vector.
2766
061faeff 2767Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
2768
2769 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
2770 function parameter passed in memory.
2771
744d3441 2772Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
2773
2774 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
2775 Prototypes for externally used functions in respective C files.
2776 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
2777 final.c: Include above files.
2778 * Makefile.in (toplev.o): Add dependency for above four headers.
2779 (final.o): Likewise.
2780 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
2781 respective header files.
2782
fbf120a6 2783Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
2784
fbc57885 2785 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
2786 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
2787 the build tree if they exist.
2788 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
2789 appropriately.
2790 (objdir): Let configure substitute value.
2791 (FLOAT_H): Let configure select a pre-built version from the
2792 config subdir.
2793 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
2794 * configure.in: Substitute for objdir.
2795
11d80b02 2796 * Makefile.in (build_canonical, host_canonical): Let configure
2797 substitute values for these variables.
2798 * configure.in: Substitute for build_canonical, host_canonical
2799 and target_subdir in generated Makefile.
2800
b8ca2ce4 2801 * output.h (find_basic_blocks): Declare.
2802 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
2803
fbf120a6 2804 * Makefile.in (BISON): Use bison from the build tree if it exists.
2805 (FLEX): Similarly.
2806
42fe96d7 2807Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
2808
2809 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
2810 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
2811 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
2812 command line arguments to see if an executable is not being
2813 created, and if so - do not append the suffix.
2814
2815 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
2816 driver macro.
2817
f7d6703c 2818Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
2819
2820 * i386.h (ALIGN_DFmode): Delete.
2821 (CONSTANT_ALIGNMENT): Define.
2822 * varasm.c (force_const_mem): Use it.
2823
4899654e 2824Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
2825
2826 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
2827 using it with swap_condition, not before.
2828
4958fe6e 2829Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
2830
2831 * alias.c (mode_alias_check): Delete.
2832 (true_dependence, anti_dependence, output_dependence): Revert April 21
2833 change.
2834
7627283b 2835Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
2836
40503984 2837 * toplev.c (output_lang_identify): Enable prototype and definition.
7627283b 2838
1b2319e6 2839Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
2840
2841 * version.c: Bump for snapshot.
2842
c298fff9 2843Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
2844
2845 * alpha/osf.h (HAVE_STAMP_H): Define.
2846 * alpha.c: Use it.
2847 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
2848 * configure.in (alpha*-*-netbsd*): New.
2849 Based on patches from Paul H. Anderson <pha@pdq.com>.
2850
2851 * configure.in (alpha*-*-linux-*): Kill xm_defines.
2852 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
2853 * alpha/xm-linux.h: Remove file.
2854
c9452941 2855Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
2856
2857 * dbxout.c (dbxout_parms): If mode of type of parameter living
2858 in memory doesn't match mode of DECL_RTL, make big endian correction.
2859
20ce4eda 2860Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
2861
2862 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
2863
2da94e1f 2864Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
2865
2866 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
2867 * stor-layout.c (layout_record): Set it.
2868
2869Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
2870
2871 * toplev.c (rest_of_compilation): Don't defer nested functions.
2872
cdd06e4d 2873Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
2874
2875 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
2876 to an 8-byte boundary if info_ptr->fpmem_p.
2877
3b5f953e 2878Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
2879
2880 * loop.c (basic_induction_var): Added test preventing
2881 CCmode parameter passed to convert_modes().
2882
e8832c23 2883Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
2884
2885 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
2886 input_filename and lineno around expand_expr call. Set them to values
2887 in WFL before expand_expr call.
2888
18d395a4 2889Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
2890
2891 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
2892
b4af30fd 2893Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
2894
2895 * fold-const.c (constant_boolean_node): New function.
2896 (fold): Use it.
2897
f8641a34 2898Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2899
2900 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
2901 Abort if trying to split kind 3 or 4 outside of combine.
2902
38941582 2903Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
2904
2905 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
2906
262f598f 2907Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
2908
2909 * objc/Make-lang.in (OBJC_O): Add missing exeext.
2910 (libobjc.a, runtime-info.h): Likewise.
2911
ed45e834 2912Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
2913
2914 * i386.h (DATA_ALIGNMENT): Define.
2915
fb4ed7f4 2916Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2917
2918 * reload1.c (delete_output_reload): Ignore single USE that
2919 was emitted for the pseudo use of this INSN.
2920 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
2921 remains, we can always delete OUTPUT_RELOAD_INSN.
2922
ca37753f 2923Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
2924
2925 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
2926
3147dd6b 2927Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
2928
2929 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
2930
011a7f23 2931Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2932
2933 * eh-common.h: New file for basic EH data structures.
2934 * except.h: Various prototypes and structures for NEW_EH_MODEL
2935 * function.h (struct function): Add a struct eh_stack for the catch
2936 clause stack.
89f7f2db 2937 * except.c (gen_exception_label): New function to generate an
011a7f23 2938 exception label.
2939 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
2940 (push_entry): New function to push an existing entry onto a stack.
89f7f2db 2941 (receive_exception_label): New function to emit the code required
011a7f23 2942 at the start of all catch blocks.
2943 (struct func_eh_entry): New structure for maintaining handlers
2944 associated with EH regions.
2945 (new_eh_region_entry): New function to register an EH region.
2946 (add_new_handler): New function to register a handler with a region.
2947 (get_new_handler): Creates anew handler entry for registering.
2948 (find_func_region): New function to convert a NOTE eh region number
2949 to an Eh region index.
2950 (get_first_handler): New function to get the first handler in a region.
2951 (clear_function_eh_region): New function to release memory.
2952 (duplicate_handlers): New function to duplicate a list of handlers.
2953 (expand_eh_region_end): Create a new region entry node as well.
2954 (expand_leftover_cleanups): Call receive_exception_label() and
2955 register the cleanup as a handler to the current region.
2956 (expand_start_catch): New function to start a catch clause.
2957 (expand_end_catch): New function to end a catch clause.
2958 (expand_start_all_catch): restructure to not do the equivilent of
2959 what expand_start_catch() does now. Push the exception region being
2960 handled onto the catch stack.
2961 (output_exception_table_entry): Issue an entry for each handler
2962 associated with a region.
2963 (set_exception_lang_code): New function for setting the language code.
2964 (set_exception_version_code): New function to set the version number.
2965 (output_exception_table): Output version and language codes.
2966 (find_exception_handler_labels): Find handler labels using new scheme.
2967 (is_exception_handler_label): New function, returns 1 if label is
2968 present as a handler in some exception region.
2969 (check_exception_handler_labels): Use the new scheme.
2970 (init_eh_for_function): Initialize the catch stack.
2971 (save_eh_status): Save the catch stack.
2972 (restore_eh_status): Restore the catch stack.
2973 (scan_region): Don't remove unreferenced handler label. Flow does it.
2974 (get_reg_for_handler): New function to get the eh_context pointer
2975 passed by __throw.
2976 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
2977 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
2978 entry when processing END region rather that START region.
2979 * flow.c (find_basic_blocks_1): Find all potential handler regions
2980 now that we don't automatically know what the labels might be.
2981 Let scan_region() remove unreferenced EH BEGIN/END labels.
2982 * integrate.c (get_label_from_map): Put inlined labels onto the
2983 permanent obstack since we dont know which ones might be exception
2984 labels.
2985 (save_for_inline_copying): Make new copies of all the handlers.
2986 (expand_inline_function): Make new copies of all the handlers.
2987 * libgcc2.c: Remove local struct decls, and include eh-common.h.
89f7f2db 2988 (find_exception_handler): With NEW_EH_MODEL the first matching
011a7f23 2989 region we find is the right one. Add eh_info as a new parameter.
2990 (__throw): Pass eh_info to find_exception_handler. Set handler
2991 and pass use different regs under NEW_EH_MODEL.
2992
6f1bf8a1 2993Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
2994
2995 * i960.h (hard_regno_mode_ok): Changed to function from array of
2996 unsigned.
2997 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
2998 * i960.c (hard_regno_mode_ok): Changed to function from array of
2999 unsigned.
3000
524613c6 3001Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3002
3003 * reload.c (remove_replacements): New function.
3004 * reload.h (remove_replacements): Declare.
3005 * reload1.c (choose_reload_regs): Disable some reloads that
3006 belong to inherited reloads.
3007
d70eda17 3008Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3009
4283c46c 3010 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
3011
d70eda17 3012 * reload1.c (merge_assigned_reloads): When merging, reset
3013 reload_spill_index for the eliminated reload.
3014
000b95c4 3015Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
3016
3017 * haifa-sched.c (schedule_insns): Fix merge goof.
3018
164b4b15 30191998-05-13 Jim Wilson <wilson@cygnus.com>
3020
3021 * varasm.c (make_decl_rtl): Revert April 1 change.
3022 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
3023 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
3024 Get function name from the SYMBOL_REF in the DECL_RTL, not from
3025 DECL_ASSEMBLER_NAME.
3026 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
3027 DECL_ASSEMBLER_NAME.
3028
bd7b71e0 3029Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
3030
3031 * i386.c (notice_update_cc, output_float_compare): Disable
3032 TARGET_CMOVE support.
3033
fca32370 3034Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
a3426c4c 3035 Jeff Law <law@cygnus.com>
3036
49a945b8 3037 * rtlanal.c (find_reg_note): Ignore notes that are not on on
3038 insns of class 'i'.
3039 (find_regno_note): Likewise.
3040
a6cb55bb 3041 * Makefile.in (stor-layout.o): Depend on except.h
3042 (varasm.o, function.o): Likewise.
3043 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
3044
a3426c4c 3045 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
3046 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
3047 ($(HOST_PREFIX_1)rtl.o): Likewise.
3048 ($(HOST_PREFIX_1)bitmap.o): New host object.
3049 * emit-rtl.c (toplevel): Include bitmap.h.
3050 (gen_rtx): Handle 't' and 'b' nodes.
3051 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
3052 Print block number for block begin/end notes. Print 't' type
3053 nodes as a pointer. Know that the 3rd argument of live range
3054 start/stop notes is really a range_info rtx. If type is 'b', print
3055 out argument as a bitmap.
3056 * rtl.c: Include bitmap.c.
3057 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
3058 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
3059 * rtl.def (RANGE_LIVE): New node to hold live information while we
3060 recalculate the basic blocks.
3061 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
89f7f2db 3062 (RANGE_VAR): New node, to hold information saved in symbol node for New
a3426c4c 3063 communicating live range information to the debug output functions.
3064 * rtl.h (rtunion_def): Add rttree and rtbit fields.
3065 (XBITMAP, XTREE): New accessor macros.
3066 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
3067 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
3068 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
3069 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
3070 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
3071 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
3072 (RANGE_INFO_*): Likewise.
3073 * sched.c (sched_analyze): Keep live range start/stop notes.
3074 (unlink_other_notes): Likewise.
3075 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
3076 (unlink_other_notes): Likewise.
3077 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
3078 (BLOCK_LIVE_RANGE_FLAG): Likewise.
3079 (DECL_LIVE_RANGE_RTL): Likewise.
3080 (struct tree_block): Add live_range_flag, live_range_var_flag,
3081 live_range_start and live_range_end.
3082 (struct tree_decl): Add live_range_rtl field.
3083 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
3084 (accessor_from_format): Likewise.
fca32370 3085
3086 * haifa-sched.c (schedule_block): Make verbose output line up.
abd73739 3087 Also add a blank line in printing the individual ready lists.
fca32370 3088
40f73743 3089Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3090
3091 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
3092 (c-lex.o): Depend on output.h.
3093 (c-common.o): Likewise.
3094 (stmt.o): Likewise.
3095 (calls.o): Likewise.
3096 (integrate.o): Depend on toplev.h.
3097 (regclass.o): Depend on output.h.
3098 (final.o): Depend on reload.h.
3099
3100 * c-common.c: Include output.h.
3101 (check_format_info): Remove unused variable `integral_format'.
3102
3103 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
3104 `indent' with ATTRIBUTE_UNUSED.
3105 (print_lang_type): Likewise.
3106 (maybe_build_cleanup): Likewise for parameter `decl'.
3107 (copy_lang_decl): Likewise for parameter `node'.
3108
3109 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
3110 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3111 with ATTRIBUTE_UNUSED.
3112 (lookup_interface): Likewise for parameter `arg'.
3113 (is_class_name): Likewise.
3114 (maybe_objc_check_decl): Likewise for parameter `decl'.
3115 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
3116 `reflexive'.
3117 (maybe_objc_method_name): Likewise for parameter `decl'.
3118 (build_objc_string): Likewise for parameters `len' and `str'.
3119
3120 * c-lex.c: Include output.h.
3121
3122 * c-lex.h (position_after_white_space): Correct typo in prototype.
3123
3124 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
3125 c_expand_end_cond, init_iterators): Add prototypes.
3126
3127 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
3128 with ATTRIBUTE_UNUSED.
3129
3130 * calls.c: Include output.h.
3131
3132 * cccp.c (pipe_closed): Mark parameter `signo' with
3133 ATTRIBUTE_UNUSED.
3134
3135 * combine.c: Move inclusion of expr.h to after insn-config.h.
3136
3137 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
3138 as empty, rather define as ((void)0).
3139
3140 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
3141 Add parentheses around assignment used as truth value.
3142
3143 * cplus-dem.c (squangle_mop_up): Change return type to void.
3144 (internal_cplus_demangle): Remove unused parameter `options'.
3145 All callers changed.
3146 (cplus_demangle_opname): Remove function wide variable `int i' and
3147 replace with `size_t i' at each location where it is used.
3148 (cplus_demangle_opname): change type of `i' from int to size_t.
3149
3150 * cppexp.c (right_shift): Mark parameter `pfile' with
3151 ATTRIBUTE_UNUSED.
3152
3153 * cpphash.c (cpp_lookup): Likewise.
3154 (cpp_hash_cleanup): Likewise.
3155
3156 * cpplib.c (parse_name): Add a prototype and make it static.
3157 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
3158 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
3159 (macro_cleanup): Likewise for parameter `pfile'.
3160 (file_cleanup): Likewise.
3161
3162 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
3163 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
3164
3165 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
3166 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
3167
3168 * cse.c (cse_check_loop_start): Mark parameter `set' with
3169 ATTRIBUTE_UNUSED.
3170
3171 * dbxout.c (flag_minimal_debug, have_used_extensions,
3172 source_label_number): Move inside macro wrapper check against
3173 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
3174
3175 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
3176
3177 * except.h (doing_eh): Provide prototype.
3178
3179 * expr.c: Move inclusion of expr.h to after insn-config.h.
3180
3181 * final.c: Include reload.h.
3182 (shorten_branches): Cast the first argument of bzero to char *.
3183
3184 * fix-header.c (cpp_print_containing_files): Mark parameter
3185 `pfile' with ATTRIBUTE_UNUSED.
3186 (cpp_fatal): Likewise.
3187
3188 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
3189 to char *.
3190
3191 * genattrtab.c (make_length_attrs): Change the type of variable
3192 `i' from int to size_t.
3193 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
3194 (one_fn): Likewise.
89f7f2db 3195
40f73743 3196 * genextract.c (main): When generating insn-extract.c, mark
3197 variable `junk' with ATTRIBUTE_UNUSED.
3198
3199 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
3200 argument of bzero to char*.
3201
3202 * integrate.c: Include toplev.h.
3203
3204 * libgcc2.c: Wrap `struct exception_table' and
3205 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
3206
3207 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
89f7f2db 3208
40f73743 3209 * objc/objc-act.c: Include toplev.h.
3210 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3211 with ATTRIBUTE_UNUSED.
3212 (finish_protocol): Likewise for parameter `protocol'.
3213
3214 * output.h (declare_weak): Add prototype.
3215 (decode_reg_name): Don't wrap with TREE_CODE macro.
3216 (assemble_alias): Add prototype.
3217
3218 * regclass.c: Include output.h.
3219
3220 * reload.h (reloads_conflict): Add prototype.
3221
3222 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
3223 output_func_start_profiler): Add prototypes.
3224
3225 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
3226 ATTRIBUTE_UNUSED.
3227
3228 * scan-decls.c: Include scan.h.
3229
3230 * scan.h (recognized_function, recognized_extern): Add prototypes.
3231
3232 * stmt.c: Include output.h.
3233
3234 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
3235 (output_lang_identify): Hide prototype and definition.
3236 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
3237 (pipe_closed): Likewise.
3238
3239 * toplev.h (count_error, strip_off_ending, error_for_asm,
3240 warning_for_asm): Add prototypes.
3241
485205d1 3242Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
485205d1 3243
70a7a217 3244 * toplev.c (rest_of_compilation): "Charge" final for any time
3245 doing various cleanup operations after finishing compilation
3246 of a function.
3247
89f7f2db 3248 * flow.c (dump_flow_info): Also print number of sets and
2fe63c7b 3249 whether or not the pseudo is a user variable.
3250
485205d1 3251 * flow.c (reg_n_max): New global variable.
3252 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
3253 Delete regno_max variable.
3254 * regs.h (REG_N_CHECK): Define.
3255 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
3256 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
3257 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
3258
8d820937 3259Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
3260
3261 * acconfig.h (ENABLE_CHECKING): Undefine.
3262 * configure.in (--enable-checking): New option.
3263
bb89c1cf 3264Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3265
3266 * reload1.c (merge_assigned_reloads): Can merge
3267 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
3268 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
3269
a0560243 3270Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
3271
3272 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
3273
7f060acf 3274Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3275
3276 * reload1.c (gen_reload): Create REG_EQUIV notes.
3277
2284a315 3278Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3279
3280 * reload1.c (reload): Fix check for USEs to use code of pattern.
3281 (choose_reload_regs): Remove dead variable use_insn.
3282
89479b7a 3283Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
3284
89f7f2db 3285 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
89479b7a 3286
3e016693 3287Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
3288
3289 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
3290 already defined.
3291 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
3292 (insn_{unit,issue_delay}): Ditto.
3293 (blockage_range): Ditto.
3294 (actual_hazard{,_this_instance}): Ditto.
3295 (schedule_unit): Ditto.
3296 (potential_hazard): Ditto.
3297 (insn_cost): Ditto.
3298 (swap_sort): Ditto.
3299 (queue_insn): Ditto.
3300 (birthing_insn_p): Ditto.
3301 (adjust_priority): Ditto.
3302 (get_block_head_tail): Ditto.
3303 (init_rgn_data_dependences): Ditto.
3304
5ae9fd5c 3305Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
3306
3307 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
3308
c84a4504 3309Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
3310
3311 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
3312
2b20af29 3313Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
3314
3315 * config/mips/mips.md (dslot): Move after definition of "cpu"
3316 attribute. Handle r3900 case.
3317
42aaf0b7 3318Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3319
3320 * system.h: Define the STRINGIFY macro here.
3321 * protoize.c: Not here.
3322 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
3323
e13a110e 3324Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
3325
89f7f2db 3326 * varasm.c (assemble_variable): Compute the alignment of the data
e13a110e 3327 earlier so that both initialized and uninitialized variables are
3328 effected by DATA_ALIGNMENT.
3329 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
3330
060a006e 3331Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
3332
3333 * mips.c: Prototype static functions.
3334
f8db4c24 3335Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
3336
41b0d1e7 3337 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
3338 Add explanatory comments.
3339
f8db4c24 3340 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
3341
e45d09a4 3342Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
3343
3344 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
3345
c299f6ed 3346Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
3347
3348 * varasm.c (make_decl_rtl): Disable April 1 change.
3349
b2ccd5ad 3350Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
3351
3352 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
3353
39344852 3354Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
3355
3356 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
3357 * alpha.c (print_operand): Handle it.
89f7f2db 3358 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
39344852 3359 related define_splits. Also add peepholes for SImode reload
3360 plus sign_extend lossage.
3361
f74abef1 3362Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3363
3364 * genattr.c: Include stdarg.h/varargs.h. Change function
3365 `fatal' to use variable arguments instead of faking it with
3366 integer parameters. Provide a prototype which also
3367 checks the format specifiers using ATTRIBUTE_PRINTF_1.
3368
3369 * genattrtab.c: Likewise.
3370 * gencodes.c: Likewise.
3371 * genconfig.c: Likewise.
3372 * genemit.c: Likewise.
3373 * genextract.c: Likewise.
3374 * genflags.c: Likewise.
3375 * genopinit.c: Likewise.
3376 * genpeep.c: Likewise.
3377 * genrecog.c: Likewise.
3378 * genoutput.c: Likewise. Similarly for function `error'.
3379
8564ad21 3380Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3381
3382 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
3383 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
3384 * configure.in: Use GCC_C_VOLATILE.
3385 * system.h (volatile): Define as empty if no volatile support is
3386 available.
3387
3388Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
3389
3390 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
3391 generated fucntion.
3392
3a2a3a7f 3393Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
3394
3395 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
3396 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
3397 the body of beq; additionally set the mode of the branch to CCmode for
89f7f2db 3398 FP compares and not fast_math.
3a2a3a7f 3399 (alpha_emit_conditional_move): Always use a compare insn for FP
3400 when not fast_math, as well as setting CCmode on the cmov.
3401 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
3402
3403 * machmode.h (COMPLEX_MODE_P): New macro.
3404
e6219104 3405Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
3406
3407 * haifa-sched.c (print_exp): Fix typo.
3408
262ff342 3409Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
3410
3411 * version.c: Bump for snapshot.
3412
09dde37f 3413Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
3414
3415 * final.c (final_scan_insn): Call fatal_insn instead of abort if
3416 we could not split an insn when required to.
3417
7dbe3569 3418 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
3419 level insns.
3420 (peepholes): Disable peepholes that call dead_or_set_p.
3421 (movsi): Rewrite to handle addresses better after last change.
3422 Add define_split to split load of addresses in large/medium modes.
3423 (prologue): Call m32r_expand_prologue.
3424 (movsi_{push,pop}): Generators for push/pop.
3425 (movsi): Support PRE_{INC,DEC}, POST_INC.
3426 (mov{di,df}): Rewrite. Always split the insns.
3427 (movsf): Add define_split to get register load in correct mode.
3428 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
3429 (attributes): Rewrite attributes so that type indicates both the
3430 type and the length of the insn directly.
3431 (all insns): Change to use new type attributes.
3432 (debug): New attribute to convey whether -mdebug was used.
3433 (opt_space): New attribute to convey whether -Os was used.
3434 (function units): Loads are 3 cycles, not 2. Better classify all
3435 insns into short/long.
3436 (load/store/extend insns): Add separate case for load/store
3437 indirect operations without an offset.
3438 (divsi3): Division is a long operation, not short.
3439
3440 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
3441 modes > 1 word.
3442 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
3443 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
3444 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
3445 operands with PRE_{INC,DEC}, POST_INC.
3446 (FUNCTION_PROFILER): Call abort instead of doing nothing.
3447 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
3448 SImode variables.
3449 (gen_split_move_double): Declare.
3450 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
3451
3452 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
3453 emit_move_insn, build up SET's directly.
3454 (toplevel): Include system.h, not stdio.h.
3455 (move_double_src_operand): Allow any DF or DI mode constant.
3456 (gen_split_move_double): Split moves of DI or DF values into the
3457 appropriate moves, loads, or stores. Don't handle use of auto
3458 inc/dec if using dead index. Do handle overlapping moves, etc.
3459 (m32r_frame_info): Remove prologue_size field.
3460 (m32r_compute_frame_size): Don't calculate prologue size.
3461 (m32r_output_function_prologue): Change to pretty much a NOP.
3462 (m32r_expand_prologue): Expand prologue as a series of INSNs.
3463 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
3464 (m32r_print_operand_address): Ditto.
89f7f2db 3465
323c781a 3466Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
3467
3468 * reload1.c (emit_reload_insns): When performing expensive
3469 optimizations, do not output the last reload insn if OLD is
3470 not the dest of NSN and is in the src and is clobbered by INSN.
3471
fe102f29 3472Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3473
3474 * Makefile.in (genrtl.o): Depend on system.h.
3475 * gengenrtl.c (gencode): When creating genrtl.c, have it
3476 include system.h.
3477
f7879a29 3478Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3479
3480 * config/m68k/t-linux: Remove extra stuff already included in
3481 config/t-linux.
3482
4f774d68 3483Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
3484
3485 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
3486 curses.h if it contains `typedef char bool;', as suggested by
3487 Manfred Hollstein <manfred@s-direktnet.de>.
3488
3489 * configure.in: Rename fixinc.math to fixinc.wrap.
3490
3b006e25 3491Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
3492
623feb20 3493 * gcc.c (read_specs): Handle missing blank line at end of specs file.
3494
3b006e25 3495 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
3496 movdfcc_1): Disable.
3497
2faa5090 3498Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
3499
3500 * configure.in (enable_threads): Rename to enable_threads_flag before
3501 main loop. Set enable_threads to enable_threads_flag inside main
3502 loop.
3503
a59c4ea3 3504Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
3505
3506 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
3507 multiple times.
3508
b8a373b2 3509Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3510
3511 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
89f7f2db 3512
b8a373b2 3513 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
3514 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
3515 (AC_CHECK_FUNCS): Remove unused check for vprintf.
89f7f2db 3516
b8a373b2 3517 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
3518 (cccp.o): Depend on gansidecl.h.
3519 (cexp.o): Likewise.
3520
3521 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
3522 per the rest of gcc source.
3523 * cexp.y: Likewise. Include gansidecl.h and remove all code made
3524 redundant.
3525
3526 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
3527 used when vfprintf is missing.
3528 * cexp.y: Likewise.
3529 * gcc.c: Likewise.
3530 * genattrtab.c: Likewise.
3531 * mips-tfile.c: Likewise.
3532 * toplev.c: Likewise.
3533
3534 * vfprintf.c: New file.
3535 * doprint.c: New file.
3536
c0ea7101 3537Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
3538
3539 * config/linux.h (ASM_COMMENT_START): Remove from here,
3540 * config/linux-aout.h (ASM_COMMENT_START): and here,
3541 * config/i386/linux.h (ASM_COMMENT_START): to here,
3542 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
3543 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
3544 here as '#' too.
3545
03a04b74 3546Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3547
3548 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
89f7f2db 3549 constant.
03a04b74 3550
0268b6e3 3551Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
3552
3553 * Makefile.in (dwarfout.o) Add toplev.h dependency.
3554 * dwarfout.c, i386.c: Include toplev.h
3555 * toplev.h: (pfatal_with_name) Add prototype.
3556
8d12f02c 3557Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
3558
3559 * Makefile.in: Fix .SUFFIXES.
3560
79ad453f 3561Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
3562
3563 * config/linux.h (ASM_COMMENT_START): Define as "#".
3564 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
3565
e9baf5cb 3566Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
3567
d4a91d04 3568 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
3569 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
3570
c3ab7bd5 3571 * toplev.c: Include toplev.h.
3572 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
3573 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
3574 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
3575 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
3576 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
3577 toplev.h dependency.
89f7f2db 3578
a27b277e 3579 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
3580 HARD_FRAME_POINTER_REGNUM.
3581
e9baf5cb 3582 * expr.c (target_temp_slot_level): Delete duplicate definition.
3583
29eb1224 3584Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
3585
57a54889 3586 * stmt.c (mark_seen_cases): Make it have external linkage again.
5dba877e 3587 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
3588 has been included.
57a54889 3589
367d6562 3590 * haifa-sched.c (print_value, case SUBREG): Fix typo.
3591
aab8940b 3592 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
3593 * i386.h (REG_CLASS_CONTENTS): Similarly.
3594
cc13a078 3595 * toplev.c (-fsched-max): Delete flag.
3596 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
3597 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
3598 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
3599 conditionals.
3600
3601 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
3602 inner loops which are not reducible.
3603
1372759f 3604 * loop.c (regs_match_p): Fix typo in prototype.
3605
29eb1224 3606 * regmove.c (try_auto_increment): Wrap declaration inside an
3607 #ifdef AUTO_INC_DEC.
3608
2a50b207 3609Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
3610
3611 * final.c (output_operand_lossage): Call fatal with the operand
3612 lossage message instead of calling abort.
3613
cc404a47 3614Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3615
3616 * c-common.c: Convert to using ctype macros defined in system.h.
3617 * c-lex.c: Likewise.
3618 * cccp.c: Likewise.
3619 * collect2.c: Likewise.
3620 * rs6000.c: Likewise.
3621 * cpplib.c: Likewise.
3622 * fix-header.c: Likewise.
3623 * gcc.c: Likewise.
3624 * gen-protos.c: Likewise.
3625 * pexecute.c: Likewise.
3626 * protoize.c: Likewise.
3627 * rtl.c: Likewise.
3628 * scan.c: Likewise.
3629 * stmt.c: Likewise.
3630 * tlink.c: Likewise.
89f7f2db 3631 * toplev.c: Likewise.
cc404a47 3632
bf02c19b 3633Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
3634
89f7f2db 3635 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
bf02c19b 3636 Replace -gdwarf-2 with -g0.
3637
47003e2a 3638Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3639
3640 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
3641 * mips-tdump.c: Include system.h, remove redundant headers.
3642 * mips-tfile.c: Likewise. Also, convert all ctype function calls
3643 to calls of the macro versions defined in system.h.
3644
3645 * objc/Make-lang.in (objc-act.o): Depend on system.h.
3646 * objc/objc-act.c: Include system.h, remove redundant headers.
3647
b3819e2e 3648Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3649
3650 * configure.in (AC_CHECK_FUNCS): Add isascii.
3651 (GCC_NEED_DECLARATIONS): Add atof.
3652
3653 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
3654 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
3655
f11c33a2 3656Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3657
3658 * system.h: Wrap time.h and sys/file.h in autoconf checks.
3659 Provide default definitions for O_RDONLY and O_WRONLY here.
3660
3661 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
3662
bf5b2fb0 36631998-05-06 Mark Mitchell <mmitchell@usa.net>
3664
3665 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
3666
510d85d1 3667Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
3668
3669 * toplev.h: New file. Protypes for functions in toplev.c.
3670 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
89f7f2db 3671 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
3672 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
3673 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
3674 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
3675 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
510d85d1 3676 varasm.c: include it.
3677
9a77f087 3678Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
3679 Jim Wilson (wilson@cygnus.com)
3680
3681 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
3682 blocks. Check for 1 successor which is the EXIT_BLOCK.
3683
3684 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
3685 unreachable loops with more than one block.
3686
e2d66f50 3687Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
3688
3689 * fix-header.c (write_rbrac): Add "abort" to functions which need to
3690 be protected.
3691
c5aa1e92 3692Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
3693
3694 * Check in merge from gcc2. See ChangeLog.12 for details.
3695
aaf0e425 3696Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
3697
2d47efb6 3698 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
3699 accept 'a' flag. 'S' does accept 'a' flag.
3700 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
3701 and `a' flag.
3702
aaf0e425 3703 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
3704
135ec678 3705Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3706
3707 * config/m68k/m68k.h: Declare functions from m68k.c used in
3708 macros and machine description.
3709 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
3710 long values.
3711 (ASM_OUTPUT_FLOAT): Likewise.
3712 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3713
e1ec5e2d 3714Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
3715
3716 * tree.def: Add NAMESPACE_DECL.
3717 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
3718 * dwarf2out.c (push_decl_scope): Likewise.
3719 (scope_die_for): Likewise.
3720 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
3721 how to get next context level.
3722
2a90ad25 3723Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
3724
3725 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
3726 case.
3727
60d599be 3728Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
3729
38aee53a 3730 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
3731
60d599be 3732 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
3733 for any insns skipped at the start of a block because they were
3734 redundant.
3735
3ad08967 3736Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
3737
3738 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
3739
73be5127 37401998-05-04 Ulrich Drepper <drepper@cygnus.com>
3741
3742 * c-common.c (format_char_info): Add new field hhlen.
3743 (print_char_table, scan_char_table, time_char_table): Initialize
3744 hhlen field appropriately.
3745 (char_format_info): Recognize hh modifier and lookup correct char
3746 table entry.
3747
981ac425 3748Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
3749
3750 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
3751 reference if this is a store.
3752
512a87ea 3753Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
3754
3755 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
3756
a2ff5e97 3757Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
3758
3759 Make UnixWare 7 bootstrap support work with final shipping product.
73be5127 3760 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
a2ff5e97 3761 Pick up xm-siglist and xm-alloca.
3762 (xm_defines): Add USG so dbxout will build.
3763 * configure: Regenerate.
3764
7e87204a 3765Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
8e1581a1 3766
3767 Support for official Sparc V9 ABI:
3768 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
3769 Care for flag_pcc_struct_return default.
3770 (output_move_quad): Rewrite to move by halves on v9 and in the
3771 proper direction.
3772 (move_quad_direction): New function.
3773 (output_fp_move_quad): Use it to determine the direction of copy.
3774 (function_arg_slotno): Return -1 for FP reg overflow as well.
3775 (function_arg_record_value*): New functions.
3776 (function_arg): Use them. Streamline unprototyped parameter passing.
3777 (function_arg_pass_by_reference): Pass TCmode by reference.
3778 (function_value): New function.
3779 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
3780 long long in 64-bit mode.
3781 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
3782 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
3783 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
3784 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
3785 (BASE_INCOMING_ARG_REG): Likewise.
3786 (FUNCTION_VALUE): Call function_value.
3787 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
3788 * sparc.md (movdi_sp32_v9): Disable for arch64.
3789 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
3790 (call_value_address_sp64): Remove register class constraints.
3791 (call_value_symbolic_sp64): Likewise.
3792 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
3793 v9 case to 32-bit constants.
3794 (goto_handler_and_restore_v9): Provide a version for arch64.
3795 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
3796 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
3797 (CPP_PREDEFINES): New.
3798 * sparc/sp64-elf.h: Likewise.
3799 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
3800 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
3801 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
3802
f22a4952 3803Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
3804
3805 * version.c: Bump for snapshot.
3806
6aed5e78 3807Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3808
3809 * reload.c (find_reloads): Emit USEs to mark where a pseudo
c9d86437 3810 is reloaded with the MEM of its stack slot.
6aed5e78 3811 * reload1.c (cannot_omit_stores): Delete.
3812 (reload): Don't initialize it.
3813 Don't apply avoid_return_reg logic to USEs.
3814 When done, remove USEs that have a REG_EQUAL note on them.
3815 (emit_reload_insns): Handle case where we have inherited a MEM.
2284a315 3816 (choose_reload_regs): Likewise.
6aed5e78 3817 (delete_output_reload): Don't use cannot_omit_stores.
3818
069f16fd 3819Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
3820
3821 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
3822
2fc42822 3823Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
3824
3825 * haifa-sched.c (print_{exp,value}): Various changes to make the
3826 debug output easier to read. Also, use only one buffer, and make
3827 sure the buffer we are passed in doesn't overflow.
3828 (safe_concat): Concatenate to a buffer without overflow.
3829
40503984 3830Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2fc42822 3831
3832 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
3833 with the prototype.
73be5127 3834
690cd57b 3835Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3836
3837 * sched.c (new_insn_dead_notes): Check if the register was
3838 used in the original instruction.
3839 * haifa-sched.c (new_insn_dead_notes): Likewise.
3840
af299a06 3841Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
3842
3843 * dwarf2out.c (scope_die_for): If could not find proper scope,
3844 check for and handle tagged type with incorrect TYPE_CONTEXT.
3845
653b1824 3846Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
3847
3848 * calls.c (expand_call): Fix recognition of C++ operator new.
3849
3850 * alias.c (mode_alias_check): Disable type based alias detection.
3851
f1a9771e 3852Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
3853
3854 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
3855 ASM_OUTPUT_WEAK_ALIAS): Define.
3856 * config/mips/elf64.h: Same.
3857 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
3858 ASM_WEAKEN_LABEL): Removed.
3859
97423782 3860Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3861
3862 * calls.c (expand_call): Bump the length limit on the specially
3863 recognized function names to 17.
3864
8aa5639c 3865Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
3866
5599571a 3867 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
3868 when undefining macros at the end.
3869
b4ffe23a 3870 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
3871 val or len has TREE_SIDE_EFFECTS set.
3872
8aa5639c 3873 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
3874 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
3875 (smuldi3_highpart): Call const v8plus routine.
3876 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
3877 (const_smulsi3_highpart_v8plus): New pattern.
3878 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
3879 (umulsidi3): Call const v8plus routine.
3880 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
3881 routine.
3882 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
3883 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
3884
868d8e32 3885Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
3886
3887 * m32r.c (*_oper{and|ator}): Change enum arguments and return
3888 values to int, so they can be prototyped even in files that don't
3889 include rtl.h.
3890 ({small,large}_insn_p): Ditto.
3891 (m32r_select_cc_mode): Ditto.
3892 (gen_compare): Ditto.
3893 (function_arg_partial_nregs): Ditto.
3894 (m32r_setup_incoming_varargs): Ditto.
3895 (init_reg_tables): Add prototype.
3896 (m32r_frame_info): Add prolog_size field.
3897 (m32r_compute_frame_size): Calculate the size of the prologue.
3898 (m32r_first_insn_address): Return prologue size.
3899 (m32r_output_function_prologue): Calculate frame size before
3900 printing out information. Print out the prologue size.
3901
3902 * m32r.h: Prototype all functions in m32r.c.
3903 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
3904
3905 * m32r.md (bcc functions): Cast enum's to int.
3906
3907 * m32r.c (conditional_move_operand): Silence a debug message.
3908 ({small,long}_insn): New predicates.
73be5127 3909
868d8e32 3910 * m32r.h (TARGET_M32R): New macro.
3911 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
3912 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
3913 was selected.
3914 (ISSUE_RATE): Define as 2.
3915
3916 * m32r.md (insn_size): New attribute.
3917 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
3918 short.
3919 (m32r): New attribute.
3920
3921 * configure.in (enable_haifa): Switch m32r to Haifa by default.
3922 * configure: Regenerate.
3923
3924 (Changes from Nick Clifton <nickc@cygnus.com>)
3925 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
3926 the equivalent of a negated 'I' constraint.
3927 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
3928 optimisation to work.
3929
3930 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
3931 than 'I' since the value is negated.
3932 (peephole): Add peephole optimisation to cope with optimization of
3933 divide and subtracts of the same operands.
3934
3935 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
73be5127 3936 * m32r.h: Ditto.
868d8e32 3937 * m32r.md: Ditto.
3938
3939 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
3940 predicates.
3941
feea8680 3942Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
3943
3944 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
3945
d2232111 3946Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
3947
3948 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
3949 frame_pointer_rtx not FRAME_POINTER_REGNUM.
3950
0a40b133 3951Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
3952
667a0198 3953 * reg-stack.c: Revert last patch (Apr 20).
3954 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
3955
4fdf5b93 3956 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
3957
0a40b133 3958 * loop.c (check_dbra_loop): New locals jump, first_compare, and
3959 compare_and_branch. Call get_condition to set first_compare.
3960 Set compare_and_branch to number of compare/branch instructions.
3961 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
3962 Replace '2' with compare_and_branch.
3963
6e7ee99b 3964Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
3965
3966 * cplus-dem.c (demangle_qualified): Replace missing else.
3967
7d175685 3968Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3969
3970 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
3971
ba46e0eb 3972Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3973
3974 * sh.c (sh_expand_prologue, sh_expand_epilogue):
3975 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
3976 * sh.h (STACK_BOUNDARY): Likewise.
3977
35b7d8f7 3978Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3979
3980 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3981
f5e86f05 3982Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
3983
97fce000 3984 * system.h (abort): If abort is not defined, and neither is
3985 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
3986 reporting the line and filename of the error.
3987
3988 * .gdbinit: Add breakpoints on exit and fancy_abort.
3989
f0a37a15 3990 * final.c (split_double): Avoid a compiler warning if
3991 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
3992
f5e86f05 3993 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
3994 for calling jump_optimize.
3995
3996 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
3997 macros, rather than 0/1's.
3998
1241c8ad 3999Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
4000
4001 * alpha.h (CONST_COSTS): Zero is always free.
4002 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
4003
0fc087a4 4004Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4005
4006 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
4007 length in the name of a virtual table.
4008
2e3f4ad1 4009Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
4010
4011 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
4012
7ca888dc 4013Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
4014
4015 * version.c: Bump for snapshot.
4016
dd1399ef 4017Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
4018
4019 * fold-const.c (fold_convert): Fix typo.
4020
1a6c3add 4021Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
4022
4023 * alias.c (alias_invariant): New variable.
4024 (record_base_value): New argument INVARIANT.
4025 (memrefs_conflict_p): If a register has an entry in the alias_invariant
4026 array, try substituting that value for the register.
4027
4028 * rtl.h: Declare record_base_value.
4029
4030 * loop.c, unroll.c: Update callers of record_base_value.
4031
4032 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
4033 ZERO_EXTEND do not affect base values.
4034
c1aa7038 4035Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
4036
9bf3e679 4037 * dbxout.c (dbxout_type): Fix typo.
4038 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
4039
c1aa7038 4040 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
4041
92cb002f 4042Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
4043
4044 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
4045 if the argument is the address of a structure or array.
4046
4047 * configure.in: Enable Haifa scheduler by default for SPARC.
4048
1bcf6e17 4049Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4050
4051 * cse.c (cse_set_around_loop): Don't do optimization when
4052 new pseudos are created.
4053
a0f6aa91 4054Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
4055
4056 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
4057 appropriately.
4058 (dbxout_type_method_1, dbxout_type): Likewise.
4059 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
4060 (dbxout_type): Fix check for when to print a type range in
4061 octal vs decimal.
4062
250fc29e 4063Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4064
4065 * (gen_shl_and, in case 1): Fix comparison with mask.
4066
df3b1fab 4067Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
4068
4069 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
4070 pointer as second register in REG+REG pair.
4071
39d2d9d5 4072Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4073
4074 * c-common.c (check_format_info): Don't check for the 'x' format
4075 character twice, instead check for 'x' and 'X'
4076
81582565 4077Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
4078
4079 * Makefile.in (libgcc2.ready): Add explicit dependancy from
4080 $(STMP_FIXPROTO) to ensure all necessary include files have
4081 been created and to guarantee proper parallel builds.
4082
75c2fa85 4083Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4084
4085 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
4086 register for stdarg functions.
4087 * sh.h (current_function_varargs): Declare.
4088 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
4089
3ef373de 40901998-04-23 Jim Wilson <wilson@cygnus.com>
4091
3b0dba17 4092 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
4093 inhibit_libc is defined.
4094
3ef373de 4095 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
4096
c3b641a2 4097Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
4098
4099 * profile.c (tablejump_entry_p): New function.
4100 (branch_prob): Add code to recognize MIPS tablejump entry branch.
4101 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
4102
eda0daf8 4103Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
4104
4105 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
4106 found, rather than at end of the loop, after the insn has been
73be5127 4107 changed.
eda0daf8 4108
4b9cbc29 4109Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4110
4111 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
4112 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
4113
839634a0 4114Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
4115
4116 * loop.c (note_addr_stored): Correct function to take 2 arguments,
4117 instead of 1.
4118
4119 * rtl.def (MATCH_INSN2): Add new matching pattern.
73be5127 4120 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
839634a0 4121
a0d52dee 4122Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
4123
4124 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
4125 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
73be5127 4126
a0d52dee 4127 * final.c (split_double): Sign extend both halves of a split CONST_INT.
4128
680076cc 4129Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
4130
4131 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
4132
fa4f3779 4133Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4134
4135 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
4136 (cplus_demangle_opname): Call mop_up_squangle.
73be5127 4137 (cplus_demangle): Initialize squangle info, then call
fa4f3779 4138 internal_cplus_demangle. (Most code moved there as well)
73be5127 4139 (internal_cplus_demangle): New function, performs most of what use
fa4f3779 4140 to be done in cplus_demangle, but is only called with this file.
4141 (squangle_mop_up): New function to clean up B and K code data.
4142 (mop_up): set pointers to NULL after freeing.
73be5127 4143 (demangle_signature, demangle_template, demangle_class): Add
fa4f3779 4144 switch elements to handle K and B codes.
4145 (demangle_prefix, gnu_special, demangle_qualified): Add
4146 code to handle K and B codes.
4147 (do_type, demangle_fund_type): Handle B and K codes.
4148 (remember_Ktype): New function to store K info.
4149 (register_Btype, remember_Btype): New functions for B codes.
4150 (forget_B_and_K_types): New function to destroy B and K info.
4151
11e6f544 41521998-04-21 Jim Wilson <wilson@cygnus.com>
4153
4154 * stmt.c (check_seenlabel): When search for line number note for
4155 warning, handle case where there is no such note.
4156
904202c3 4157Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
4158
4159 * genemit.c (gen_exp): Allow machine description to set mode of
4160 MATCH_OP_DUP.
4161
e65eb3c3 4162Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
4163
4164 * alias.c (mode_alias_check): New function.
4165 (true_dependence, anti_dependence, output_dependence): Call
4166 mode_alias_check.
4167
7a9d1fec 4168Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
4169
289a2129 4170 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
4171 (MIPS_STACK_ALIGN): Similarly.
4172
6274009c 4173 * c-common.c (type_for_mode): Handle TI types.
4174 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
4175 (init_decl_processing): Handle TI types.
4176 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
4177
7a9d1fec 4178 * mips.c (block_move_loop): Test Pmode == DImode instead of
4179 TARGET_MIPS64.
4180 (expand_block_move, save_restore_insns): Likewise.
4181 (function_prologue, mips_expand_prologue): Likewise.
4182 (mips_expand_epilogue): Likewise.
4183 * mips.h (POINTER_SIZE): Allow specific targets to override.
4184 (Pmode): Allow specific targets to override.
4185 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
4186 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
4187 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
4188 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
4189 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
4190 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
4191 * mips.md (indirect, tablejump & casesi support): Test for
4192 Pmode == DImode instead of TARGET_MIPS64.
4193 (call patterns): Likewise.
4194
23fb03c5 4195Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4196
4197 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
4198 for gen_rtx(MEM, ...).
4199
21f469d2 4200Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
4201
4202 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
4203 to not be so gross, and to properly function with PIC.
4204
2a54391a 4205Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
4206
1e530549 4207 * frame.c (heapsort): Rename to frame_heapsort.
4208
2a54391a 4209 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
4210
c21ce3f8 4211Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
4212
4213 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
4214
b4becd84 4215Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
4216
4217 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
4218 operands during and after reload.
4219
dd348f62 4220Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4221
26648ef9 4222 * final.c (shorten_branches, init_insn_lengths): Move code
4223 to free label_align, uid_shuid, insn_lengths, insn_addresses
4224 and uid_align from the former function into the latter one;
4225 Add code to clear these variables.
4226 * sh.h (label_align): Remove declaration.
dd348f62 4227
85b34d4d 4228Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
4229
5badb76f 4230 * gcc.c (lang_specific_driver): Declare prototype properly so
4231 fatal can be passed to it without error.
4232
22bd04e0 4233 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
4234 * configure: Regenerate.
4235 * config.in: Add #undef's for strchr and strrchr.
4236
4237 * protoize.c (toplevel): If we have rindex, but not strrchr, map
4238 rindex to strrchr.
4239 (file_could_be_converted): Use strrchr, not rindex since rindex is
4240 not defined on Linux systems when _POSIX_SOURCE is defined.
4241 (file_normally_convertible): Ditto.
4242 (process_aux_info_file): Ditto.
4243 (main): Ditto.
4244
85b34d4d 4245 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
4246 a constant to an integer register, don't split the insns that do
4247 the simple AND and OR operations, rather just split each word, and
4248 let the normal movsi define split handle it further.
4249
bd967f88 4250Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4251
4252 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
4253 (split_branches): Call init_insn_lengths.
4254
59d409c8 4255Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
4256
4257 * i386.c: Include expr.h to get the change_address prototype
4258 declared.
73be5127 4259
6f3ee61d 4260Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
4261
4262 * reg-stack.c (subst_asm_stack_regs): Change to return the last
4263 new insn generated by this function.
4264 (subst_stack_regs): Likewise.
4265 (convert_regs): Record the last newly generated insn and use
4266 it for change_stack () instead of INSN.
4267
a552b9eb 4268Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
4269
4270 * fix-header.c (enum special_file): Undefine enumerators if they
4271 are already defined by include files.
4272 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
4273 macro with '__' to not pollute user namespace.
4274
b7b55f8b 4275Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
4276
4277 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
4278
532c63ce 4279Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
4280
4281 * version.c: Bump for snapshot.
4282
4bdfefa7 4283Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
4284
3bbe0aa4 4285 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
4286
4bdfefa7 4287 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
4288 Add missing -Dpentium* options.
4289 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
4290 instead of CPP_CPU_DEFAULT.
4291 (EXTRA_SPECS): Add entry for cpp_cpu_default.
4292
f7125f38 4293Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
4294
4295 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
4296 negative in a stackless frame.
4297 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
4298 in stackless frame size. Support 64-bit stackless frame size.
4299 Combine fpmem offset calculations and don't add total_size to
4300 offset if not pushing a stack frame.
4301
2eadeca8 4302Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
4303
4304 * regmove.c (fixup_match_1): In three places, in flag_exceptions
4305 check, change p to q.
4306
9e56255a 4307Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
4308
4309 * gcc.c (lang_specific_driver): Add new parm type to prototype.
4310 (added_libraries): New file scope static variable.
4311 (process_command): Initialize added_libraries. Pass it to
4312 lang_specific_driver.
4313 (main): Use added_libraries in check for no input files.
73be5127 4314
367242d3 4315Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
4316
4317 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
4318 code generation. Use 64 bit instructions in 32 bit mode when
4319 possible. Use V9 return instruction. UltraSPARC optimizations.
4320
4321 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
4322
4c983b1e 4323Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
4324
bd09ab5d 4325 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
4326 just pass zero. That will work regardless of the size of HARD_REG_SET.
4327
4c983b1e 4328 * libgcc2.c (__floatdisf): Fix a couple typos.
4329
a2641446 4330Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
4331
4332 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
4333
6ec4ccb1 4334Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
4335
4336 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
4337
ac825d29 4338Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
4339
4340 * emit-rtl.c (operand_subword_force): If a register can not be
4341 accessed by words, copy it to a pseudo register.
4342
1ad985ea 4343Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
4344
4345 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
4346
17f32387 4347Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
4348
4349 * tree.h (mark_seen_cases): Delete declaration.
4350
8662582f 4351Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
4352
4353 * stmt.c (mark_seen_cases): Make static and add prototype.
4354
8c304688 4355Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4356
4357 * frame.c: Include stdlib.h and unistd.h to possibly get various
4358 function prototypes. The fixproto script guarantees these header
4359 files exist on the target system.
4360 * libgcc2.c: Likewise.
73be5127 4361
8c304688 4362 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
4363 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
4364 function parameters.
4365 * libgcc2.c (__udiv_w_sdiv): Likewise.
4366
eea01f05 4367Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
4368
bd3b72d2 4369 * varasm.c (asm_output_bss): Add prototype.
4370 (asm_output_aligned_bss): Likewise.
4371
4372 * unroll.c (verify_addresses): Add prototype.
4373
4374 * toplev.c: Add many prototypes. Too many to mention here.
4375
4376 * stmt.c (check_seenlabel): Add prototype.
4377
4378 * rtlanal.c (reg_set_p_1): Add prototype.
4379 (reg_set_last_1): Likewise.
4380
4381 * reorg.c (find_dead_or_set_registers): Add prototype.
73be5127 4382
bd3b72d2 4383 * regmove (try_auto_increment): Add prototype.
4384
4385 * reg-stack.c (pop_stack): Add prototype.
4386
4387 * recog.c (validate_replace_rtx_1): Add prototype.
4388 (find_cosntant_term_loc): Likewise.
4389
761d81cb 4390 * loop.c (regs_patch_p): Add prototype.
4391 (add_label_notes, count_nonfixed_reads): Likewise.
4392 (find_single_use_in_loop): Likewise.
4393 (express_from): Surround prototype with #ifdef.
4394 (giv_sort): Similarly.
4395
4396 * jump.c (mark_modified_reg): Add prototype.
4397
4398 * haifa-sched.c (is_prisky): Add prototype.
4399 (queue_to_ready): Likewise.
4400
4401 * genextract.c (gen_insn): Add prototype.
4402
4403 * genemit.c (max_operand_1): Add prototype.
4404 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
4405 (gen_expand, gen_explit, output_add_clobbers): Likewise.
4406 (output_init_mov_optab): Likewise.
4407
4408 * genattrtab.c (attr_hash_add_rtx): Add prototype.
4409 (attr_hash_add_string, write_length_unit_log): Likewise.
4410
4411 * genattr.c (init_range): Add prototype.
4412
4413 * combine.c (sets_function_arg_p): Add prototype.
4414
4415 * expr.c (store_constructor_field): Add prototype.
4416 (get_memory_usage_from_modifier): Likewise
4417
4418 * expmed.c (synth_mult): Add prototype.
4419 (choose_multiplier, invert_mod2n): Likewise.
4420
5c4826b3 4421 * except.c (push_eh_entry): Add prototype.
4422 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
4423 (call_get_eh_context, start_dynamic_cleanup): Likewise.
4424 (start_dynamic_handler, can_throw): Likewise.
4425 (output_exception_table_entry, scan_region): Likewise.
4426 (eh_regs, set_insn_eh_region): Likewise.
4427
37e83a04 4428 * dwarfout.c (decl_class_context): Add prototype.
4429 (output_inheritance_die, type_ok_for_scope): Likewise.
4430
3e69b88a 4431 * c-lex.c (skip_white_space_on_line): Add prototype.
4432
3a9ace0b 4433 * alias.c (record_set): Add prototype.
4434 (find_base_term, base_alias_check): Likewise.
73be5127 4435
b107d6b7 4436 * function.c (assign_outer_stack_local): Make static and add prototype.
4437
f3d4729a 4438 * haifa-sched.c (build_control_flow): Accept raw data as inputs
4439 instead of computing it locally. Callers changed.
4440 (find_rgns): Several new arguments. Callers changed.
4441 Generally clean up and comment better. Use dominators to
4442 identify reducible loops. Convert some flag arrays to bitmaps.
4443 Convert most of the code to work on pred/succ lists instead of
4444 an edge table. Add comments for future improvements.
4445 (schedule_insns): Allocate temporary tables for flow data, call
4446 routines to compute flow data and pass it along to children as
4447 arguments.
4448 (debug_control_flow): Delete. Use dump_bb_data instead.
4449
92b38186 4450 * basic-block.h (compute_dominators): Declare.
4451
eea01f05 4452 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
4453 functions.
4454 * basic-block.h: Declare them.
4455
43683684 4456Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
4457
4458 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
4459 no operands.
4460
e206bafd 4461Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
4462
4463 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
4464 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
4465 node is non NULL. Cache last file name and file name identifier node.
4466
2695dec0 44671998-04-15 Mark Mitchell <mmitchell@usa.net>
4468
4469 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
4470 the length of an array, not TREE_TYPE.
4471
a05974ba 4472Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
4473
4474 * flow.c (sbitmap_union_of_successors): New function.
4475 * basic-block.h (sbitmap_union_of_successors): Declare it.
4476
c4f70bb2 4477Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
4478
4479 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
4480 Set gnu_ld to gnu_ld_flag inside main loop.
4481 (gas): Likewise.
4482
6fc80a89 4483Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
4484
4485 * toplev.c (compile_file): Call init_parse using new interface.
4486 (init_lex): Remove declaration.
4487
4488 * c-lex.c (init_parse): Now returns char* containing filename.
4489
14d14c01 4490Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
4491
4492 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
4493
497b2a29 4494Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
4495
4496 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
4497 (gen{extract,peep,opinit,output}): Ditto.
4498
4499 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
4500 global definition so print-rtl.o can be linked in.
4501 * gen{peep,recog}.c (insn_attr_name): Ditto.
4502
4965df10 4503Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
4504
4505 * fixincludes: discard empty C++ comments, as found in sys/time.h
4506 on hpux-11.0.
4507
05b6e83e 4508Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4509
4510 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
4511 operand.
4512
94b1b2e8 4513Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
4514
4515 * emit-rtl.c (operand_subword): Rework slightly to avoid
4516 bogus warning from previous change.
4517
649f4457 4518Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
4519
4520 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
4521 Nov 8 find_replacement change. Move decls of get_unaligned_address
4522 * alpha.h: ... here.
4523
5da465aa 4524Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
4525
17ebcb41 4526 * function.c (assign_parms): Initialize unsignedp before passing
4527 its pointer to promote_mode.
4528
5da465aa 4529 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
4530 (write_test_expr): Allow MATCH_INSN.
4531
5a2d437e 4532Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
4533
4534 * install.texi: Update section on warnings that can be safely ignored.
4535
ecd7f435 4536Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
4537
4538 * mips.md (reload_outdi): Change the scratch mode from DImode to
4539 TImode. New variable scratch, used instead of operand[2] in template.
4540 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
4541
abf8a363 4542Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
4543
4544 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
4545
7a183cb0 4546Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
4547
4548 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
4549
485672fb 4550Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
4551
b864f974 4552 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
4553 (ASM_FINISH_DECLARE_OBJECT): Likewise.
4554
764fc592 4555 * Idea and part of the patch from HJ.
4556 * Makefile.in: auto-host.h renamed from auto-config.h. All references
4557 changed.
4558 (distclean): Remove auto-build.h too.
4559 * configure.in: Rename host autoconf generated file to auto-host.h.
4560 If host != build, then run autoconf to generate auto-build.h for
4561 the build machine and include it in build_xm_files.
4562 Check for wait.h and sys/wait.h.
4563
485672fb 4564 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
4565 TRULY_NOOP_TRUNCATION.
4566
d6c9423f 4567Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
4568
4569 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
4570
dc96127a 4571Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
4572
4573 * invoke.texi (ld options) Include memset requirements
4574 for options -nodstdlib and -nodefaultlibs.
4575
d1f11193 45761998-04-12 Paul Eggert <eggert@twinsun.com>
4577
4578 This change is from an idea suggested by Arthur David Olson.
4579
4580 * c-common.c (decl_attributes, record_function_format,
4581 check_format_info, init_function_format_info):
4582 Add support for strftime format checking.
4583 (enum format_type): New type.
4584 (record_function_format): Now static, and takes value of type
4585 enum format_type instead of int.
4586 (time_char_table): New constant.
4587 (struct function_format_info): format_type member renamed from is_scan.
4588 (check_format_info): Use `warning' rather than sprintf followed by
4589 `warning', to avoid mishandling `%' in warnings.
4590 Change `pedwarn' to `warning', since these warnings do not necessarily
4591 mean the program does not conform to the C Standard, as the code
4592 need not be executed.
4593
4594 * c-tree.h (record_function_format): Remove decl; no longer extern.
4595
4596 * extend.texi: Add documentation for strftime format checking.
4597
cba0c052 4598Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
4599
aa45319d 4600 * mips/ecoffl.h: Do not include mips.h.
4601 * mips/elf.h: Likewise.
4602
cba0c052 4603 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
4604 * mips/ecoff.h: Include "mips/mips.h".
4605
9f02f04d 4606Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
4607
4608 * version.c: Bump for snapshot.
4609
33752533 4610Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
4611
4612 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
4613 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
4614 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
4615 between loop optimization passes.
4616 * rtl.h: Updated appropriately.
4617
0407b839 4618Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
4619
4620 Reinstall this patch from Jason.
4621 * function.c (push_function_context_to): Don't call init_emit.
4622
92aca920 4623Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
4624
4625 * rtl.c (read_skip_spaces): Prevent infinite loops upon
4626 encountering unterminated comments.
4627
5418f2a8 4628Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
4629
4630 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
4631 64x32 cross builds.
13520caa 4632
4633 * configure.in: Handle --with-fast-fixincludes.
4634 (fixincludes): If --with-fast-fixincludes, then use a different
4635 fixincludes program by default.
4636 * Makefile.in (fixinc.sh): New rule.
4637
02ec1ea9 4638Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
4639
4640 * i386.md (movqi+1): Handle invalid QI register.
4641 (movsf_push-1): Likewise.
4642
8ec9afef 4643Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
4644
4645 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
4646 addresses.
4647 symbolic_memort_operand(), call32_operand(), int8_operand(),
4648 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
4649 Not used.
4650 uint16_operand(): Made static.
4651
9f552790 4652Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
4653
4654 * calls.c (expand_call): Fix typo.
4655
4e92a8df 4656Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
4657
4658 * c-lex.c (finput): New global.
4659 (init_parse): Always included. Handle !USE_CPPLIB using
4660 code originally in compile_file.
4661 (finish_parse): Update for CPPLIB.
4662 * toplev.c (init_parse, finish_parse): Declare.
4663 (finput): Delete variable. Now in front-ends.
4664 (compile_file): Remove code which is now handled by init_parse
4665 which is unconditionally called. Similarly for finish_parse.
4666
da2310a9 4667Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
4668
4669 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
4670 ASM_WEAKEN_LABEL): Add.
4671
bbf90eb4 4672Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
4673
4674 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
4675 * configure.in (alpha-*-linux*): Use them.
4676
dae7d8ad 4677Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
73be5127 4678
dae7d8ad 4679 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
4680 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
4681 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
4682 (build_expr_wfl): New prototype declaration.
4683 * tree.c (build_expr_wfl): New function, to build
4684 EXPR_WITH_FILE_LOCATION nodes.
4685 (copy_node): Don't zero TREE_CHAIN if copying a
4686 EXPR_WITH_FILE_LOCATION node.
4687 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
4688 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
4689
823f5e65 4690Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
4691
a2bdec1e 4692 * configure.in (v850): Use t-v850.
4693 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
4694
6d3044eb 4695 * protoize.c (creat, read, write): Do not declare.
4696
295fce46 4697 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
4698 refer to the CODE_LABEL before a dispatch table.
4699
0344a81c 4700 * invoke.texi: Add ARC options.
4701
aa01fa7e 4702 * gcc.c (proces_command): Improve error message for -o with
4703 either -c or -S.
4704
c6b29d69 4705 * i386/x-cygwin32 (CLIB): Link in advapi32.
4706
cfc971e4 4707 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
4708 (ASM_IDENTIFY_LANGUAGE): Likewise.
4709
f2fc64d2 4710 * i386.md (movqi recognizer): Don't perfom byte increment into
4711 a NON_QI_REG_P.
4712
947b64c2 4713 * configure.in (x86-dg-dgux): Run fixinc.dgux.
4714
f2fc64d2 4715 * i370.h: Fix typo in GEN_INT changes.
0e0a04e8 4716
2ab68953 4717 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
4718 of an empty arglist in prototype.
4719
823f5e65 4720 * Makefile.in: Remove bytecode crud that crept back in after the
4721 gcc2 merge.
4722
956fde7e 47231998-04-08 Brendan Kehoe <brendan@cygnus.com>
4724
4725 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
4726 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
4727
cec75ea2 4728Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
4729
4730 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4731
12693c81 4732Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
4733
4734 * c-lex.c (is_class_name): Delete declaration.
4735 (whitespace_cr): Make static and add prototype.
4736 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
4737 yylex, get_directive_line): Turn declarations into prototypes.
4738 (position_after_whitespace, check_newline, yyerror,, is_class_name,
4739 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
4740 prototypes.
4741 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
4742 prototypes.
4743 * gencodes.c (gen_insn): Add prototype.
4744 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
4745 gen_peephole): Add prototypes.
4746 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
4747 prototypes.
4748 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
4749 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
4750 genheader, gencode): Add prototypes.
4751 * genopinit.c (gen_insn): Add prototype.
4752 * genoutput.c (output_prologue, output_epilogue, scan_operands,
4753 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
4754 gen_expand, gen_split, n_occurrences): Add prototypes.
4755 * genpeep.c (gen_peephole): Add prototype.
4756 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
4757 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
4758 labels_in_range_p, count_loop_regs_set, note_addr_stored,
4759 loop_reg_used_before_p, scan_loop, replace_call_address,
4760 skip_consec_insns, libcall_benefit, ignore_some_movables,
4761 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
4762 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
4763 check_final_value, record_giv, update_giv_derive, basic_induction_var,
4764 simplify_giv_expr, general_induction_var, consec_sets_giv,
4765 check_dbra_loop, express_from, combine_givs_p, combine_givs,
4766 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
4767 last_use_this_basic_block, record_initial, update_reg_last_use,
4768 iteration_info, analyze_loop_iterations, insert_bct,
4769 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
4770 into prototypes.
4771
6f4e707e 4772Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
4773
4774 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4775
881d3b0a 47761998-04-07 Ken Raeburn <raeburn@cygnus.com>
4777
4778 * config/mips/mips.c (siginfo): Deleted.
4779 (override_options): Don't install SIGINFO signal handler.
4780
c8e5b8a3 4781Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
4782
4783 * loop.c (check_dbra_loop): When normalize comparison_val, add check
4784 to verify it is non-negative.
4785
7597afe9 4786Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
4787
4788 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
4789 (alpha_expand_block_clear): Likewise.
4790
dd710359 4791Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
4792
4793 * tree.h (sizetype_tab): Fix previous change for K&R.
4794
a9d2459d 4795Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
4796
4797 * version.c: Bump for snapshot.
4798
40cc7245 4799Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
4800
4801 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
4802 Add USG and POSIX to xm_defines.
4803
0c787992 4804Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
4805
4806 * gcc.c: Add linker spec.
4807 (link_command_spec): Use %(linker) instead of ld.
4808 (main): If collect2 is requested as the linker, see if it exists;
4809 if not, use ld instead.
4810
4811 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
4812 (ld:) Deleted.
4813 (install-collect2): Install as collect2, not ld.
4814
4815 * configure.in(will_use_collect2): It's named collect2 now.
4816
4817 * collect2: Remove checks to see if we were invoked recursively.
4818 (collect_execute): Use _spawnvp under cygwin32.
4819
a94a5a60 4820Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
4821
4822 * haifa-sched.c (build_control_flow): Set unreachable for block whose
4823 only predecessor is itself.
4824
92247933 4825Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4826
4827 * c-parse.in: Include system.h, and remove stuff now made redundant.
4828 * cccp.c: Likewise.
4829 * cexp.y: Likewise.
4830 * protoize.c: Likewise. Properly check for cpp stringification.
4831
4832 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
73be5127 4833 Depend on system.h.
92247933 4834
4835 * objc/Make-lang.in (objc-parse.o): Likewise.
4836
cd5ffd88 4837Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4838
4839 * gansidecl.h: Check if compiler supports __attribute__. Provide
4840 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
4841 __attribute__ when its available. Also provide definitions for
4842 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
4843 terms of ATTRIBUTE_PRINTF.
73be5127 4844
cd5ffd88 4845 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
4846 of __attribute__.
4847
72611874 4848Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
4849
4850 * combine.c (can_combine_p): Include successor in volatile test.
4851
a8c876a4 4852Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4853
4854 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
4855 offset_unsigned.
4856
8bba9cb4 4857Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
4858
4859 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
4860 in prototype and definition.
73be5127 4861
5ecb1a0a 4862Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
4863
4864 * version.c: Bump for snapshot.
4865
0258d436 4866Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
4867
73be5127 4868 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
0258d436 4869 alpha_expand_unaligned_store_words.
4870
26290661 4871Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
4872
4873 * i386.md (movsf_push, movsf_mem): Remove.
4874 (movsf_push): Rename from movsf_push_nomove and move in front of
4875 movsf. Use nonmemory_operand predicate and don't bother checking
4876 TARGET_MOVE.
4877 (movsf_push_memory): New pattern.
4878 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
4879 both operands refer to memory then force operand[1] into a register.
4880 (movsf_normal): Change to unnamed pattern.
4881 Likewise for movdf, movxf, and friends.
4882
209d9728 4883Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
4884
4885 * version.c: Bump for snapshot.
4886
0bdfa546 4887Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
d9b282d9 4888
0bdfa546 4889 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
d9b282d9 4890
73be5127 4891Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
ebf4f703 4892
0bdfa546 4893 * configure.in (mips-wrs-vxworks): New target.
ebf4f703 4894
0bdfa546 4895Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
10fa3a4c 4896
1536731d 4897 * expmed.c (synth_mult): The value -1, has no zeros, so it can
4898 never have the form ...011.
4899
10fa3a4c 4900 * version.c: Bump for snapshot.
4901
57124607 4902Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
4903
4904 * i386.c (asm_output_function_prefix, load_pic_register):
4905 Use ASM_GENERATE_INTERNAL_LABEL properly.
4906 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
4907 (print_operand): Ignore it.
4908 (load_pic_register): Use it for the got load call.
4909 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
4910 (prologue_get_pc_and_set_got): Likewise.
4911 * i386.h: Update print_operand docs.
4912
55183fbd 4913Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
4914
4915 * i386.md (ffssi, ffshi): Rewrite as define_expands.
4916 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
4917 * i386.c (notice_update_cc): Recognize unspec 5.
4918
b5ea3193 4919Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
4920
4921 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
4922 * alpha.c (print_operand): Handle it.
4923 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
4924 for ALPHA_TP_INSN.
4925 (fix_truncdfdi2): Likewise.
4926
a32bb500 4927Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
4928
4929 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
4930 of these into a single struct, with additional [us]sizetype entries.
4931 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
4932 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
4933 an array.
4934
10c2bede 4935Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
4936
4937 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
4938
f62714a1 4939Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
4940
4941 * haifa-sched.c (split_block_insns): Don't supress insn splitting
4942 on subsequent passes.
4943
4944 * alpha.c (hard_fp_register_operand): New function.
4945 * alpha.h (PREDICATE_CODES): Add it.
4946 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
4947 f<-m case and accompanying define_split.
4948 (trapb): Use a unique unspec_volatile number.
4949
96036851 4950Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
4951
4952 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
4953 from gcc2 merge.
4954
997d68fe 4955Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
4956
4957 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
4958 for details.
4959
4960 * haifa-sched.c: Mirror recent changes from gcc2.
4961
33ae0dba 4962Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
4963
1cd80523 4964 * Makefile.in (insn*.o): Depend on system.h.
4965
33ae0dba 4966 * pa.c (output_global_address): Initialize base.
4967 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
4968
26fbb0d3 49691998-04-03 Mike Stump <mrs@wrs.com>
4970
4971 * gthr.h: Support systems that don't have weak, but have threads.
4972 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
4973 * gthr-vxworks.h: New file.
4974 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
4975
e8edd295 4976Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
4977
4978 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
4979
8584d07f 49801998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
4981
4982 * ginclude/va-i960.h (va_end): Change void * to void.
4983
b7621d13 4984Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4985
4986 * Makefile.in (choose-temp.o): Depend on system.h.
4987
4988 * choose-temp.c: Include system.h when IN_GCC.
4989
f64bc32a 4990Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
4991 Richard Henderson <rth@cygnus.com>
4992
4993 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
4994 (move_replacements): New function.
4995 * reload.h: Prototype it.
73be5127 4996
f64bc32a 4997 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
73be5127 4998
13bfd88b 4999Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
5000
5001 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
5002 Run fixincludes.
5003
cfff67e2 5004 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
5005 (gen_highpart): Likewise.
f31c6cbf 5006 * final.c (alter_subreg): Allow the target to hook by-mode subreg
5007 hard register number changes.
73be5127 5008
c1763c9d 5009Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
5010
93b6a460 5011 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
5012 rnbitsize, rnmode and rinner.
5013 (make_range): Initialize type.
5014 (fold): Initialize arg0, arg1 and varop.
5015
5016 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
5017 and regnor.
5018 (expand_function_start): Initialize last_ptr.
5019
5020 * stor-layout.c (layout_record): Initialize desired_align.
5021 (get_best_mode): Initialize unit.
5022
5023 * tree.c (copy_node): Initialize length.
5024
2041cfd9 5025 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
5026
5027 * caller-save.c (insert_save_restore): Initialize pat, code and
5028 numregs.
5029
5030 * emit-rtl.c (push_to_sequence): Initialize top.
5031 (push_topmost_sequence): Likewise.
5032
5033 * genattrtab.c (simplify_by_exploding): Initialize defval.
5034
5035 * profile.c (branch_prob): Initialize dest.
5036
5037 * rtl.h (note_stores): Remove duplicate prototype.
5038 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
5039
5040 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
5041 strings that are not actually lengths.
5042
9aaa1fcc 5043 * genattrtab.c: Make generated file use system.h, instead of
5044 including stdio.h, etc directly.
5045 * genextract.c, genopinit.c, genoutput.c: Likewise.
5046 * genpeep.c, genrecog.c: Likewise
5047
5048 * genoutput.c (process_template): Mark operands in the generated
5049 function as potentially unused if compiling with GNU CC.
5050
d5382b2f 5051 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
5052
c1763c9d 5053 * pa.md (reload peepholes): Remove unused variable "mode".
5054
cbdb96b9 5055Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
5056
5057 * config/arm/thumb.h: Add super interworking support.
5058 * config/arm/thumb.c: Add super interworking support.
5059 * config/arm/thumb.md: Add super interworking support.
cbdb96b9 5060 * config/arm/lib1funcs.asm: Add interworking support.
5061 * config/arm/lib1thumb.asm: Add super interworking support.
cbdb96b9 5062 * config/arm/t-semi: Add interworking support.
5063 * config/arm/t-thumb: Add interworking support.
cbdb96b9 5064 * config/arm/README-interworking: New file.
73be5127 5065
16f18c1b 5066Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
5067
5068 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
5069 (MD_STARTFILE_PREFIX): Unset.
5070
ea56eec5 50711998-04-01 Mark Mitchell <mmitchell@usa.net>
5072
5073 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
5074 entity in a local scope.
5075
5076 * fold-const.c (fold): Call truthvalue_conversion for values which
5077 are folded to boolean type.
5078
cc51d498 5079Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
5080
5081 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
5082 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
5083 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
5084 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
5085 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
5086 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
5087 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
5088 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
5089 * md.texi: Likewise.
5090
19c470b7 5091Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
5092
5093 * fixincludes (limits.h): Fix nested comments in Motorola's
5094 limits.h and sys/limits.h.
5095
27d9a61d 5096Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
5097
ba4a7733 5098 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
5099 as dest of expand_binop call.
5100
18919de7 5101 * alpha.md (extzv): Correct check for valid operand[2] values.
5102
0f954aef 5103 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
5104 branch.
5105
27d9a61d 5106 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
5107
de0ead4e 5108Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
5109
5110 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
5111 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
73be5127 5112
de0ead4e 5113 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
5114 cygwin32 can override this to allow both unix and win32 style PATHs.
5115
5116 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
5117 style environment paths.
73be5127 5118
1486870d 5119Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5120
5121 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
5122 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
5123 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
5124 system.h.
73be5127 5125
1486870d 5126 * cpphash.c: Include config.h.
5127 * cppalloc.c: Include system.h. Add parameters to various
5128 function prototypes.
5129 * cpperror.c: Likewise.
5130 * cppexp.c: Likewise.
5131 * cpphash.c: Likewise.
5132 * cpplib.c: Likewise.
5133 * cppmain.c: Likewise.
5134 * fix-header.c: Likewise.
5135 * gcov.c: Likewise.
5136 * gen-protos.c: Likewise.
5137 * gengenrtl.c: Likewise.
5138 * halfpic.c: Likewise.
5139 * hash.c: Likewise.
5140 * scan-decls.c: Likewise.
5141 * scan.c: Likewise.
5142
70f75771 5143Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
5144
5145 * README.gnat: Add lang_print_xnode definition.
5146
50d9d0ec 5147Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5148
5149 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
5150 fmovecr on the 68060.
5151
5c926150 5152Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
5153
5154 * genemit.c (DONE): Rework so that it works in the true arm if
5155 an if-else conditional.
5156 (FAIL): Likewise.
5157
df43607f 5158Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
5159
a4a9db92 5160 * rs6000.c: Do not include stdioh or ctype.h anymore.
5161
c091e5a4 5162 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
5163 $(RTL_H).
5164 (stor-layout.o): Likewise.
5165 * c-typeck.c: Include rtl.h and expr.h.
5166 * stor-layout.c: Likewise.
5167
ba513e8f 5168 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
5169 All callers changed.
5170 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
5171 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
5172 All callers changed.
5173
82dc74ff 5174 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
5175
546033aa 5176 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
5177
df43607f 5178 * tree.h (lang_print_xnode): Provide prototype.
5179
9c3cfc5f 5180Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
5181
5182 * version.c: Bump for snapshot.
5183
144546c5 5184Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
5185
47f7e076 5186 * objc/sendmsg.c (__objc_block_forward): Add braces for return
5187 value if INVISIBLE_STRUCT_RETURN.
5188
1fe9d310 5189 * pa.c (arith_double_operand): Fix parens.
5190
f23d04d5 5191 * haifa-sched.c (print_pattern): Correct arg to sprintf.
5192
144546c5 5193 * Makefile.in (libgcc1.null): Make return type for __foo void.
5194
4568a727 5195Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
5196
ffb41172 5197 * pa.h: Add declarations for many functions defined in pa.c.
5198
c2838538 5199 * genpeep.c (main): Remove unused variable 'i' from the generated
5200 file.
5201
fcc3f9a4 5202 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
5203 (gen_split): Likewise.
5204 (main): Rework generated definitions of DONE and FAIL so that they
5205 no longer use gotos. Avoids warnings about unused labels.
5206
3672a135 5207 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
5208 unused "junk" variable.
5209
4568a727 5210 * genattrtab.c (write_complex_function): Add a default case in
5211 generated switch statement to keep -W -Wall quiet.
5212
1270fcb5 5213Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
5214
e9089066 5215 * invoke.texi: Document more ARM and Thumb command line options.
5216
1270fcb5 5217 * config/arm/xm-thumb.h: New file.
5218
e833d08a 5219Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
5220
5221 * stmt.c (expand_expr_stmt): Must generate code for
5222 statements within an expression (gcc's `({ ... )}')
5223 even if -fsyntax-only.
5224
f24e9d92 5225Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5226 Jeffrey A Law (law@cygnus.com)
5227
5228 * basic-block.h (basic_block_computed_jump_target): Declare.
5229 * flags.h: (current_function_has_computed_jump): Declare.
5230 * flow.c: (basic_block_computed_jump_target): Define.
5231 (flow_analysis): Allocate it. Set current_function_has_computed_jump
5232 to 0.
5233 (find_basic_blocks): Set current_function_has_computed_jump and
5234 elements of basic_block_computed_jump_target to 1 as appropriate.
5235 * function.c: (current_function_has_computed_jump): Define.
5236 * global.c (global_conflicts): Don't allocate pseudos into stack regs
5237 at the start of a block that is reachable by a computed jump.
5238 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
5239 immediately.
5240 (subst_stack_regs): Undo change from Sep 4 1997.
5241 (uses_reg_or_mem): Now unused, deleted.
5242 * stupid.c (stupid_life_analysis): Compute
5243 current_function_has_computed_jump.
5244 (stupid_find_reg): Don't allocate stack regs if the function has a
5245 computed goto.
5246 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
5247 the current function has a computed jump. Use the global value
5248 instead.
5249
178f13e6 5250Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
5251
5252 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
5253 (DWARF2_UNWIND_INFO): Define to zero.
5254
055237ef 5255Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
5256
5257 * gcc.c (set_std_prefix): Add declaration.
5258 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
5259 suffix, and update the standard prefix prefix.c uses.
5260
5261 * prefix.c (std_prefix): New global to hold default prefix value.
5262 (get_key_value): Change to use std_prefix instead of PREFIX.
5263 (translate_name): Ditto.
5264 (update_path): Ditto.
5265 (get_key_value): Release allocated scratch storage.
5266 (set_std_prefix): New function to reset the standard prefix.
5267
c4ca1067 5268Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5269
7c9ff87b 5270 * sh.c (find_barrier): Fix calculations for alignment increase.
c4ca1067 5271
6855a615 5272Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
5273
5274 * Makefile.in (stmp-fixinc): If we're actually fixing include
5275 files, copy gcc's assert.h into the fixed include dir.
5276 * fixincludes (assert.h): Avoid any attempts to fix a probably
5277 broken system specific assert.h file.
5278 * fixproto (stdlib.h): Make sure, it'll contain a definition of
5279 size_t.
5280
584afdda 5281Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
5282
5283 * regclass.c (reg_scan_mark_refs): Be more selective about
5284 when we mark a register with REGNO_POINTER_FLAG.
5285
a5e95c30 5286Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5287
5288 reload inheritance improvement:
5289 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
5290 Change meaning: index is now hard reg number.
5291 (reg_reloaded_valid, reg_reloaded_dead): New variables.
5292 (reload_spill_index): Content is now a hard reg number.
5293 (reload_as_needed): Change to fit new variable meaning.
5294 (forget_old_reloads_1, allocate_reload_reg): Likewise.
5295 (choose_reload_regs, emit_reload_insns): Likewise.
5296
c988df6a 5297Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5298
5299 * regclass.c (record_reg_classes): '?' increases cost by two.
5300
5301 * reload.c (find_reloads): Double previous costs. Output
5302 reloads cost one unit extra.
5303
5304 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
5305 boiled down to && ! 0.
5306
5307 * reload.c (find_equiv_reg): Also consider a goal offset from the
5308 frame pointer to be constant.
5309
a39fad2b 5310Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5311
5312 * sh.h (OPTIMIZATION_OPTIONS): Define.
5313
0d79d92d 5314Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
5315
5316 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
5317
43048d2c 5318Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
5319
5320 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
5321
7ad3893d 5322Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
5323
5324 * c-common.c (check_format_info): Initialize type, is_type. New local
5325 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
5326 when pedantic if used with integral format specifier.
5327
a665c153 5328Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
5329
5330 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
5331 direction.
5332 (function_arg_padding): Declare.
5333
5334 * rs6000.c: Include system.h.
5335 (function_arg_padding): Change return type to int, cast enum's to
5336 int.
5337
5338 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
5339 * collect2.c (scan_prog_file): Add explicit braces to avoid
5340 ambiguous `else'.
73be5127 5341
a665c153 5342 * dbxout.c (dbxout_type_fields): Add braces around empty body in
5343 an if-statement.
5344 (dbxout_type): Likewise.
73be5127 5345
a665c153 5346 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
5347 `ptt_size' from int to size_t.
5348 (rs6000_file_start): Likewise for `i'.
5349 (rs6000_replace_regno): Add default case in enumeration switch.
5350 (output_epilog): Remove unused variable `i'.
5351 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
5352 and `reg2'.
73be5127 5353
a665c153 5354 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
5355 initializer.
5356 (get_issue_rate, non_logical_cint_operand): Add prototype.
5357 (rs6000_output_load_toc_table): Ditto.
73be5127 5358
a665c153 5359 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
5360 `else'.
73be5127 5361
0579e60e 5362Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
5363
5364 * config/arm/thumb.c: New File. Support for ARM's Thumb
73be5127 5365 instruction set.
0579e60e 5366 * config/arm/thumb.h: New File. Thumb definitions.
5367 * config/arm/thumb.md: New File. Thumb machine description.
5368 * config/arm/tcoff.h: New File. Thumb COFF support.
5369 * config/arm/t-thumb: New File. Thumb makefile fragment.
5370 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
5371
5372 * configure.in: Add Thumb-coff target.
5373 * configure: Add Thumb-coff target.
5374 * config.sub: Add Thumb-coff target.
5375
c3ff27c6 5376Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
5377
5378 * loop.c (scan_loop): Initialize move_insn_first to zero.
5379
8c7d0644 5380Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
5381
5382 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
5383 * config/i386/rtems.h: Likewise.
5384 * config/i960/rtems.h: Likewise.
5385 * config/m68k/rtems.h: Likewise.
5386 * config/mips/rtems64.h: Likewise.
5387 * config/pa/rtems.h: Likewise.
5388 * config/rs6000/rtems.h: Likewise.
5389 * config/sh/rtems.h: Likewise.
5390 * config/sparc/rtems.h: Likewise.
5391
4a155b0f 5392Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5393
5394 * pa.c (emit_move_sequence): If in reload, call find_replacement.
5395
e8d8647e 5396Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
5397
0f11bb5d 5398 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
5399
e8d8647e 5400 * collect2.c (find_a_file): Add debugging.
5401 (find_a_file): Test for win32 style absolute paths if
5402 DIR_SERPARATOR is defined.
5403 (prefix_from_string): Add debugging.
5404 (main): Test for debug command line switch at start of program
73be5127 5405 execution.
e8d8647e 5406 (main): Use GET_ENVIRONMENT rather than getenv().
c1316769 5407 (prefix_from_env): Use GET_ENVIRONMENT.
5408
c906a2a7 54091998-03-24 Mark Mitchell <mmitchell@usa.net>
5410
5411 * cplus-dem.c (optable): Add sizeof.
5412 (demangle_template_value_parm): New function containing code
5413 previously found in demangle_template.
73be5127 5414 (demangle_integral_value): New function which handles complicated
c906a2a7 5415 integral expressions.
5416 (demangle_template): Use them.
5417
5ce88198 5418Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5419
5420 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
5421 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
5422 genattrtab.o, genoutput.o): Depend on system.h.
73be5127 5423
5ce88198 5424 * genattr.c: Include system.h. Add arguments to various function
5425 prototypes. Remove redundant prototype of read_rtx().
5426 * genattrtab.c: Likewise.
5427 * gencodes.c: Likewise.
5428 * genconfig.c: Likewise.
5429 * genemit.c: Likewise.
5430 * genextract.c: Likewise.
5431 * genflags.c: Likewise.
5432 * genopinit.c: Likewise.
5433 * genoutput.c: Likewise.
5434 * genpeep.c: Likewise.
5435 * genrecog.c: Likewise.
5436
c83f9123 54371998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
5438
5439 * c-lang.c (lang_print_xnode): New function.
5440 * objc/objc-act.c (lang_print_xnode): Likewise.
5441 * print-tree.c (print_node): Call it
5442
8c866b45 5443Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
5444
5445 * c-parse.in: Recognize protocol qualifiers in class
5446 definitions for objc.
5447 Include "output.h".
5448 (yyerror): Remove redundant decl.
5449 (yyprint): Fix prototype.
5450
c9bc806e 5451Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
5452
2b63b351 5453 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
5454
c9bc806e 5455 * stmt.c (unroll_block_trees): Free block_vector if needed.
5456
c58f67a9 5457Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
5458
43b24f37 5459 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
5460 (zero_extendsidi2): Avoid useless copy.
5461 (iordi_zext): New pattern.
5462 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
5463 operand 2.
5464 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
5465
c58f67a9 5466 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
5467 (ashldi3): Allow constant shift count in range ]32,63].
5468 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
5469
14ac2afb 54701998-03-22 Mark Mitchell <mmitchell@usa.net>
5471
5472 * tree.h (IS_EXPR_CODE_CLASS): New macro.
5473
a6735248 5474Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
5475
5476 * h8300.h (CONST_COSTS): Remove definition.
5477 (DEFAULT_RTX_COSTS): Define.
5478
4375fc7b 5479Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
5480
5481 * config/sh/rtems.h: Switched from ELF to COFF.
5482
eb08498b 5483Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5484
5485 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
5486
7ca8cd5c 5487Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
5488
5489 * version.c: Bump for snapshot.
5490
7f6a6499 5491Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
5492 Geoff Noer <noer@cygnus.com>
5493
5494 * Makefile.in: Various fixes for building cygwin32 native toolchains.
5495
42c222e7 5496 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
5497 * objc/Make-lang.in: Likewise.
5498
e7d29f83 5499 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
5500
08dafb06 5501Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
5502
5503 * configure.in: Handle with-PACKAGE=no correctly
5504
405711de 5505Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5506
5507 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
5508 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
5509 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
5510 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
5511 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
5512 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
5513 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
5514 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
5515 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
5516 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
5517 on system.h.
5518
5519 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
5520 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
5521 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
5522 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
5523 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
5524 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
5525 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
5526 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
5527 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
5528 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
5529 xcoffout.c: Include system.h. Organize include ordering so
5530 that stdarg/varargs comes before other system headers. Remove
5531 spurious casts of functions assured of a prototype in system.h.
5532
a97edd5b 5533Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
5534
5535 * reg-stack.c (pop_stack): Define. Pops any register on the
5536 regstack and adjusts regstack.
5537 (compare_for_stack_reg): Use pop_stack.
73be5127 5538
b86bf1e1 5539Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
5540
5541 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
5542 config too.
5543
6800ce58 5544Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
5545
140312ca 5546 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
5547
6800ce58 5548 * fold-const.c (fold): Replace sign-extension of a zero extended
5549 value by a single zero extension.
5550
514acc40 5551Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
5552
5553 * except.c (init_eh): Do nothing.
5554 (save_eh_status): Call init_eh_for_function, not init_eh.
5555 * function.c (push_function_context_to): Don't call init_emit.
5556
33cca7a3 5557Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
5558
5559 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
5560 and EABI.
5561
3c5c852a 5562Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5563
5564 * final.c (shorten_branches): Add parentheses around +/- in
5565 operand of &.
5566
5567 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
5568
09e8ab9c 5569Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
5570
5571 * regclass.c (memory_move_secondary_cost): Wrap uses of
5572 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
5573 with #ifdef tests.
5574
ef1012be 5575Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
5576
5577 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
5578
5579 * flow.c (life_analysis): #include <sys/types.h> to make sure
5580 size_t is defined.
5581 * cplus-dem.c (demangle_function_name): Likewise.
5582
52120666 5583Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
5584
5585 * final.c (insn_noperands): Change type to unsigned int.
5586 (final_scan_insn): Likewise for noperands;
5587 properly check operand number boundaries.
5588
36bfa378 5589Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
5590
5591 * alpha.md (extzv): Don't reject register operands. Fix
5592 mode of operand 1.
5593
ffe3b811 5594Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
5595
5596 * dbxout.c (dbxout_function_end): Fix last change. The correct
5597 predicate is ASM_OUTPUT_SECTION_NAME.
5598
4577e3d6 5599Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
5600
5601 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
5602 (ashlsi): Use match_dup 1 instead of match_operand 2.
5603
df7caa7b 5604Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5605
5606 * fold-const.c (operand_equal_for_comparison_p): See if equal
5607 when nop conversions are removed.
5608
e500743d 5609Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5610
5611 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
5612 don't use ORIGINAL_TARGET unless REG.
5613
95fc1048 5614Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5615
5616 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
5617
aea4708b 5618Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
5619
5620 * loop.c (struct movable): New field move_insn_first.
5621 (scan_loop): In consec sets code, set it. Clear it otherwise.
5622 (move_movables): In consec sets code, use it. Copy REG_NOTES from
5623 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
5624 out code.
5625
bf5df944 5626Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
5627
5628 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
5629 is large, and the system doesn't provide atoll or atoq.
73be5127 5630 (atoll): New.
bf5df944 5631
5632 * alpha/xm-vms.h (HAVE_ATOLL): Define.
5633 Reported by Klaus Kaempf <kkaempf@progis.de>.
73be5127 5634
73439ee0 5635Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5636
5637 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
5638 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
5639
5640 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
73be5127 5641 test !ACCUMULATE_OUTGOING_ARGS.
73439ee0 5642
5643 * collect2.c (write_c_file_glob): Wrap function definition in
5644 macro test !LD_INIT_SWITCH.
5645
5646 * combine.c (try_combine): Wrap variables `cc_use' and
5647 `compare_mode' in macro test EXTRA_CC_MODES.
5648
5649 * cpplib.c (do_ident): Remove unused variable `len'.
5650 (skip_if_group): Remove unused variables `at_beg_of_line' and
5651 `after_ident'.
5652 (cpp_get_token): Remove unused variable `dummy'.
5653
5654 * dbxout.c (scope_labelno): Move static variable definition inside
5655 the one function scope where it is used.
5656 (dbxout_function_end): Wrap prototype and definition in
5657 macro test !NO_DBX_FUNCTION_END.
5658
5659 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
5660 in macro test !MIPS_DEBUGGING_INFO.
5661
5662 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
5663 into the scope where it is used. Wrap empty else-statement body
5664 in braces.
5665
5666 * fix-header.c: Fix typo in comment.
5667 (inf_skip_spaces): Cast results of INF_UNGET to (void).
5668 (check_protection, main): Likewise.
5669
5670 * flow.c (find_basic_blocks_1): Remove dangling comment text.
5671
5672 * function.c (contains): Wrap prototype and definition in macro
5673 test HAVE_prologue || HAVE_epilogue.
5674 (fixup_var_refs_1): Remove unused variable `width'.
5675
5676 * gen-protos.c (main): Remove unused variable `optr'.
5677
5678 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
5679
5680 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
5681 (__sjpopnthrow): Remove unused variable `jmpbuf'.
5682 (__throw): Remove unused variable `val'.
5683
5684 * protoize.c: Check for a previously existing definition before
73be5127 5685 defining *_OK macros.
73439ee0 5686
5687 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
5688
42cfc9f4 5689Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5690
5691 * vax.h (ADDR_VEC_ALIGN): Define.
5692
618c6dbb 5693Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
5694
5695 * gcc.c (default_arg): Don't wander off the end of allocated
5696 memory.
5697
e1e10dd9 5698 (From Geoffrey Keating <geoffk@ozemail.com.au>)
5699 * rs6000.c (small_data_operand): Ensure that any address
73be5127 5700 referenced relative to the small data area is inside the SDA.
e1e10dd9 5701
bafcfa9b 5702Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
73be5127 5703
bafcfa9b 5704 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
5705
599798b9 5706Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
2ab694df 5707
5708 * except.h (in_same_eh_region): New prototype.
5709 (free_insn_eh_region, init_insn_eh_region): New prototypes.
5710 * except.c (insn_eh_region, maximum_uid): New static variables.
5711 (set_insn_eh_region): New static function to set region numbers.
5712 (free_insn_eh_region): New function to free EH region table.
5713 (init_insn_eh_region): New function to initialize EH region table.
5714 (in_same_eh_region): New function used to determine if two rtl
5715 instructions are in the same exception region or not.
5716 * final.c (final): Initialize the table indicating which instructions
5717 belong in which exception region.
5718 * genpeep.c (main): Add "except.h" to include file list in generated
73be5127 5719 file insn-peep.c.
5720 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
5721 peepholes involving calls and unconditional branches.
2ab694df 5722
64bf1a52 5723Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
5724
5725 * README.gnat: New file.
5726
e6b2f841 5727Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5728
5729 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
5730 "recog.h" for offsettable_memref_p.
5731 (legitimize_pic_address): Remove unused variable `offset'.
5732 (notice_update_cc): Change return type to void. Add default label
5733 to switch.
5734 (standard_68881_constant_p): Remove unused variable mode.
5735 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
5736 (const_int_cost): Explicitly declare as returning int.
5737 (output_dbcc_and_branch): Change return type to void.
5738
5739 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
5740 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
5741 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
5742
9a84f89b 5743Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
5744
5745 * version.c: Bump for snapshot.
5746
6f07163d 5747Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5748
5749 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
5750 check for 'M' constraint.
5751
85727860 5752Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
5753
5754 * cccp.c (create_definition): If pedantic, call pedwarn for macro
5755 varargs feature.
5756
61bc4049 5757Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
5758
5759 * i386.c (ix86_logical_operator): New function.
5760 (split_di): Ensure that when a MEM is split, the resulting MEMs have
5761 SImode.
5762 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
5763 to implement them.
5764
f729da53 5765Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5766 Richard Earnshaw <rearnsha@arm.com>
5767 Nick Clifton <nickc@cygnus.com>
73be5127 5768
f729da53 5769 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
73be5127 5770
f729da53 5771 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
73be5127 5772
f729da53 5773 * cse.c (rtx_cost): Provide a default case in an enumeration
5774 switch, and call DEFAULT_RTX_COSTS if it's defined.
73be5127 5775
5825ace9 5776Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
5777
5778 * basic-block.h (compute_preds_succs): Change return type in
5779 prototype to void.
5780 * flow.c (compute_preds_succs): Likewise in function definition.
5781
5782 * regmove.c (find_matches): Cast char used as array index to unsigned char
5783 to supress warning.
5784
8ac2b0ed 5785Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
5786
5787 * i386.h (RTX_COSTS): Insert braces around nested if.
5788 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
5789 elements.
5790
5791 * gcc.c (default_compilers): Properly put brackets around array elements in
5792 initializer.
5793
5794 * getopt.c (_getopt_internal): Add explicit braces around nested if;
5795 reformatted.
5796
5797 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
5798 (record_reg_life_pat): Add explicit parens around && and || in expression.
5799 (stack_reg_life_analysis): Add parens around assignment used as expression.
5800 (convert_regs): Likewise.
5801
a02dfde2 5802Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
5803
5804 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
5805 change callers accordingly.
5806
5807 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
5808 and definition; change all callers accordingly.
5809
5810 * except.c (init_eh): Avoid assignment of unused return value of
5811 build_pointer_type; cast it to void, instead, and remove unused
5812 variable type.
5813
5814 * gcc.c (lang_specific_driver): Define prototype only #ifdef
5815 LANG_SPECIFIC_DRIVER.
5816 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
5817
5818 * genoutput.c (output_epilogue): Initialize next_name to 0.
5819
5820 * real.c (efrexp): #if 0 prototype and function definition.
5821 (eremain): Likewise.
5822 (uditoe): Likewise.
5823 (ditoe): Likewise.
5824 (etoudi): Likewise.
5825 (etodi): Likewise.
5826 (esqrt): Likewise.
5827
5828 * reload.c (push_secondary_reload): Define prototype only
5829 #ifdef HAVE_SECONDARY_RELOADS.
5830
5831 * varasm.c (assemble_static_space): Define rounded only
5832 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
5833
4887cb59 5834Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
5835
5836 * i386.md (andsi): Add default case in enumeration switch.
5837 (iorsi3): Likewise.
5838 (iorhi3): Likewise.
5839 (xorsi3): Likewise.
5840
8a1f692f 5841Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
5842
5843 * c-decl (finish_struct): Change type of min_align to unsigned.
5844
5845 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
5846 remove unused variable len.
5847
5848 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
5849 comment indicating this is proper behaviour.
5850 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
5851 reg >= 0.
5852 (based_loc_descr): Likewise.
5853
5854 * enquire.c (bitpattern): Change type of variable i to unsigned.
5855
5856 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
5857
5858 * flow.c (life_analysis): Change type of variable i to size_t;
5859 remove unused variable insn.
5860
5861 * gcc.c (translate_options): Change type of variables optlen, arglen and
5862 complen to size_t.
5863 (input_filename_length): Change type to size_t.
5864 (do_spec_1): Change type of variable bufsize to size_t.
5865 (main): Change type of variables i and j to size_t;
5866 remove subblock local definition of variable i.
5867 (lookup_compiler): Change type of second argument to size_t;
5868 change type of variable i to size_t.
5869
5870 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
73be5127 5871
8a1f692f 5872 * genopinit.c (get_insn): Change type of variable pindex to size_t.
5873
5874 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
5875
5876 * global.c (global_alloc): Change type of variable i to size_t.
5877
5878 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
5879
5880 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
5881 (expand_end_case): Change type of variable count to size_t.
5882
5883 * toplev.c (main): Change type of variable j to size_t.
5884 (set_target_switch): Change type of variable j to size_t.
5885 (print_switch_values): Change type of variable j to size_t;
5886 remove unused variable flags.
5887
5888 * varasm.c (assemble_variable): Change type of variable align to size_t.
5889 (const_hash_rtx): Change type of variable i to size_t.
5890
871b7da1 58911998-03-11 Mark Mitchell <mmitchell@usa.net>
5892
5893 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
5894 TREE_VEC if that's what it really is.
5895
554c2575 5896Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
5897
5898 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
5899 as per ISO C spec.
5900
f8809366 5901Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
5902
5903 * gthr.h: Changed the comment about return values.
5904 * gthr-solaris.h (__gthread_once): Do not use errno; return the
73be5127 5905 error number instead of -1.
f8809366 5906 (__gthread_key_create): Any non-zero return value is an error.
5907 * libgcc2.c (eh_context_initialize): Check for non-zero return
5908 value from __gthread_once.
5909 Check that the value of get_eh_context was really changed.
5910
887884c5 5911Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5912
5913 * sh.h (LOOP_ALIGN): Only align when optimizing.
5914 * sh.c (find_barrier): Clear inc for CODE_LABELs.
5915 When not optimizing, calculate alignment for BARRIERs directly.
5916
b08f66de 5917Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5918
5919 * final.c (shorten_branches): Remove conditionalizing on
5920 SHORTEN_WITH_ADJUST_INSN_LENGTH
5921 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
5922
ab09c7e5 5923Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
5924
5925 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
5926 an unconditional jump around deleted blocks.
5927
0ea3849f 5928Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
5929
98690ee6 5930 * profile.c (branch_prob): If see computed goto, call fatal instead of
5931 abort.
5932
98534de8 5933 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
73be5127 5934
599fb33d 5935 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
5936 Patch from Bruno Haible.
5937
0ea3849f 5938 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
5939 (assign_parms): Set aggregate if hide_last_arg and last_named.
5940
24fcb0a5 5941Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5942
5943 * final.c (shorten_branches): Initialize insn_addresses.
5944
760892b8 5945Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5946
5947 * sh.h (MUST_PASS_IN_STACK): Define.
5948
e7b305d0 5949Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
5950
5951 * final.c (shorten_branches): Fix minor logic error in
5952 ADDR_DIFF_VEC shortening support.
5953
aaadb588 5954Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
5955
5956 * version.c: Bump for snapshot.
5957
2e2857d2 5958Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
5959
df6c1c81 5960 * haifa-sched.c (is_cfg_nonregular): Change return type to
5961 an int. No longer compute "estimated" number of edges. Use
5962 computed_jump_p instead of duplicating the code. Fixup/add
5963 some comments.
5964 (build_control_flow): Returns a value indicating an irregularity
5965 in the cfg was detected. Count the number of edges in the cfg.
5966 allocate various edge tables.
5967 (find_rgns): No longer look for unreachable blocks.
5968 (schedule_insns): Do not allocate memory for edge tables here.
5969 Free memory for edge tables before returning. Do not perform
5970 cross block scheduling if build_control_flow returns nonzero.
5971 * flow.c (compute_preds_succs): More accurately determine when
5972 a block drops in.
5973
9ed8bc90 5974 * basic-block.h (free_basic_block_vargs): Provide prototype.
5975
2e2857d2 5976 * cccp.c (main): Fix dumb mistakes in last change.
5977
9eaab178 5978Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5979
5980 * rtl.h (addr_diff_vec_flags): New typedef.
5981 (union rtunion_def): New member rt_addr_diff_vec_flags.
5982 (ADDR_DIFF_VEC_FLAGS): New macro.
5983
5984 * sh.c (output_branch): Fix offset overflow problems.
5985
5986 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
5987 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
5988 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
5989 * stmt.c (expand_end_case): Supply new arguments to
5990 gen_rtx_ADDR_DIFF_VEC.
5991 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
5992 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
5993 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
5994 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
5995 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
5996 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
5997 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
5998 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
5999 * i386/freebsd.h, i386/linux.h : Likewise.
6000 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
6001 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
6002 * m68k/mot3300.h, m68k/sgs.h : Likewise.
6003 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
6004 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
6005 (CASE_VECTOR_SHORTEN_MODE): Define.
6006 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
6007 (med_branch_p, braf_branch_p): Don't declare.
6008 (mdep_reorg_phase, barrier_align): Declare.
6009 (ADJUST_INSN_LENGTH): Remove alignment handling.
6010 * sh.c (uid_align, uid_align_max): Deleted.
6011 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
6012 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
6013 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
6014 (output_far_jump): Don't use braf_branch_p.
6015 (output_branchy_insn): Don't use branch_offset.
6016 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
6017 Remove paired barrier stuff.
6018 Don't use cache_align_p.
6019 Take alignment insns into account.
6020 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
6021 the addr_diff_vec.
6022 (barrier_align, branch_dest): New function.
6023 (machine_dependent_reorg, split_branches): Remove infrastructure
6024 for branch shortening that is now provided in the backend.
6025 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
6026 (braf_branch_p, braf_cbranch_p): Likewise.
6027 (attribute length): Use new attributes.
6028 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
6029 (addr_diff_vec_adjust): Delete.
6030 (align_2): Now a define_expand.
6031 (align_log): Now length 0.
6032
2ccb1f81 6033Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
6034
6035 * m32r.md (right): Correctly check for length == 2, not 1.
6036
0b081aca 6037Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6038
6039 * mips/mips.h: Prototype `machine_dependent_reorg'.
6040 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
6041
2c0777b9 6042Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
6043
6044 * final.c (shorten_branches): Restore accidentally removed code.
6045
45b3252a 6046Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6047
6048 * configure.in: Remove duplicate uses of AC_PROG_CC and
6049 AC_PROG_MAKE_SET.
6050
6a47246b 6051Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
6052
6053 * configure.in (target_cpu_default2): Correct typo for alphapca56.
6054
61e82936 6055Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
6056 Doug Evans (devans@cygnus.com)
6057
6058 * haifa-sched.c (build_jmp_edges): Delete dead function.
6059 (build_control_flow): Use cfg routines from flow.c
6060 (schedule_insns): Remove debugging code accidentally checked
6061 in earlier today.
6062
6063 * basic-block.h: Add external integer list structures, typdefs,
6064 accessor macros and function declarations. Simlarly for
6065 basic block pred/succ support and simple bitmap stuff.
6066 * flow.c: Add functions for integer list, basic block pred/succ
6067 support and simple bitmap support.
6068 (compute_dominators): New function to compute dominators and
6069 post dominators.
6070 (find_basic_blocks): Split into two functions.
6071 (life_analysis): Likewise.
6072 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
6073 the life_analysis from toplev.c
6074 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
6075 life_analysis instead of flow_analysis.
6076
943e16d8 6077Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6078
6079 * jump.c (jump_optimize): Call mark_jump_label also for deleted
6080 insns.
6081 (mark_jump_label): Don't increment ref counts for deleted insns.
6082
54e73e2c 6083Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6084
6085 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
73be5127 6086
54e73e2c 6087 * mips/mips.c: Include stdlib.h and unistd.h.
6088 (mips_asm_file_end): Add braces around empty body in an if-statement.
6089 (function_prologue): Wrap variable `fnname' in
6090 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
6091 (mips_select_rtx_section, mips_select_section): Declare as void.
73be5127 6092
54e73e2c 6093 * mips/mips.h: Add prototypes for extern functions in mips.c.
6094 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
6095 (ENCODE_SECTION_INFO): Add braces around empty body in an
6096 if-statement.
73be5127 6097
54e73e2c 6098 * mips/mips.md (movdi): Add parentheses around && within ||.
6099 (movsf, movdf): Likewise.
6100 (branch_zero, branch_zero_di): Add default case in
6101 enumeration switch.
73be5127 6102
54e73e2c 6103
4affb66c 6104Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
6105
6106 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
6107 real constants, since they can't be changed.
6108 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6109 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
6110 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6111 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6112 * alpha/vms.h (TARGET_OPEN_VMS): New.
6113 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
6114
d743d4f7 6115Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
6116
6117 * reload.c (find_reloads): Always force (subreg (mem)) to be
6118 reloaded if WORD_REGISTER_OPERATIONS.
6119
7ce0700a 6120Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
6121
6122 * haifa-sched.c (free_list): Rename from free_pnd_lst.
6123 (free_pending_lists): Rename free_pnd_lst uses.
6124 (remove_dependence): Place expunged element on unused_insn_list.
6125 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
6126 gen_rtx_*_LIST and alloc_rtx to use them.
6127 (compute_block_backward_dependences): Free the reg_last_* lists.
6128
48aa9528 6129Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
6130
6131 * cccp.c (main): Avoid undefined behavior when setting pend_includes
6132 and pend_files.
6133
0198c84e 6134Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6135
73be5127 6136 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
0198c84e 6137 USE_GNULIBC_1 is defined
6138 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
6139 includes the t-linux-gnulibc1 fragment
6140
6e8d740f 6141Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
6142
6143 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
6144
3e97b49e 6145Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6146
6147 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
6148
a80ce1a1 6149Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6150
6151 * final.c (shorten_branches): Tag the loop alignment onto the
6152 first label after NOTE_INSN_LOOP_BEG even if there is an
6153 intervening insn.
6154
f554d413 6155Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6156
a990bd38 6157 * final.c (insn_current_reference_address):
6158 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
6159 proper alignment chain.
6160
f554d413 6161 * final.c (max_labelno): New static variable.
6162 (final_scan_insn): Check max_labelno before outputting an
6163 alignment for a label.
f554d413 6164 (shorten_branches): Remove unused variable length_align.
6165
3477da80 6166Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6167
6168 * sparc.c (ultrasparc_adjust_cost): Add default case in
6169 enumeration switch.
73be5127 6170
3477da80 6171 * sparc.h: Add prototypes for extern functions defined in
6172 sparc.c.
6173
30646a5d 6174Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
6175
6176 * toplev.c: Only generate <name>.dbr file when dumping RTL if
73be5127 6177 DEALY_SLOTS is defined.
30646a5d 6178
aced526c 6179Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
6180
6181 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
6182 in call to fill_slots_from_thread.
6183
69aea2b6 6184Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
6185
73be5127 6186 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
69aea2b6 6187 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
6188
c5cc74ca 6189Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
21d55c67 6190
6191 * final.c (insn_last_address, insn_current_align, uid_align):
6192 New variables.
6193 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
6194 (insn_current_reference_address): Likewise.
6195 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
6196 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
6197 (label_to_alignment): New function.
6198 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
6199 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
6200 insn_current_reference_address instead of insn_current_address.
6201 (or_attr_value, write_length_unit_log): New functions.
6202 (main): Call write_length_unit_log.
6203 (write_const_num_delay_slots): Output extra '\n'.
6204 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
6205 replace with:
6206 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
6207 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
6208 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
6209 (LOOP_ALIGN).
6210 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
6211 (LABEL_ALIGN_AFTER_BARRIER).
6212 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
6213 * ns32k/tek6000.h: Likewise.
6214 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
6215 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
6216 ASM_OUTPUT_ALIGN_CODE.
6217
d27f543b 6218Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
6219
6220 * version.c: Bump for snapshot.
6221
de6ca2c9 6222Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
6223
6224 * version.c: Bump for snapshot.
6225
37c4d6c2 6226Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
6227
6228 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
73be5127 6229 if condition code of jump conflicts with opposite_needed.
37c4d6c2 6230
6231 * reorg.c (fill_slots_from_thread): Mark resources referenced in
6232 opposite_needed thread. Return delay_list even when cannot get
6233 any more delay insns from end of subroutine.
6234
6235Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
6236
6237 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
6238 All callers changed.
6239
6240Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
30f345ee 6241
6242 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
6243 end_fde_sort): New functions for fast sorting of an FDE array.
6244 (fde_insert): Simplified.
6245 (add_fdes): Change argument list.
6246 (frame_init): Use the new functions.
6247
831e3af4 6248Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
6249
a88b53d0 6250 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
6251
ca46b259 6252 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
6253
831e3af4 6254 * fold-const.c (fold_range_test): Always return a value.
6255
8a3289d2 6256Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
6257
6258 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
6259 data in the text section unless READONLY_DATA_SECTION is defined.
6260
04fa5ba8 6261Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
6262
6263 * c-parse.in (undeclared variable error): Tweak error message to
6264 be clearer.
6265
3c85a72e 6266Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
6267
6268 * version.c: Bump for snapshot.
6269
c9bf9e88 62701998-02-28 Mark Mitchell <mmitchell@usa.net>
6271
6272 * final.c (final_scan_insn): Undo overzealous removal of `set'.
6273
c23a8f92 6274Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6275
15bade22 6276 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
6277 case, add parentheses to specify the proper order of precedence in
6278 the if-statement.
73be5127 6279
15bade22 6280
7d27e4c9 6281 * c-aux-info.c: Include string.h/strings.h.
6282
6283 * pa.c: Include stdlib.h.
6284 (pa_combine_instructions): Prototype the function.
6285 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
6286 (reloc_needed): Add default case for enumeration switch.
6287 (remove_useless_addtr_insns): Remove unused variable `all'.
6288 (hppa_expand_prologue): Add explicit braces to avoid
6289 ambiguous `else'.
6290 (output_function_epilogue): Remove unused variable `i'.
6291 (output_millicode_call): Remove unused variable `link'.
6292 (shadd_constant_p, forward_branch_p): Make the function static.
6293 (following_call): Explicitly declare to return int.
6294 (pa_reorg): Declare as void.
6295 (pa_combine_instructions): Declare as static void. Add
6296 parentheses around && within ||.
73be5127 6297
7d27e4c9 6298 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
6299 following_call, function_label_operand, lhs_lshift_cint_operand
6300 and zdepi_cint_p.
6301
6302 * pa.md: Add parentheses around && within ||.
6303
6304 * cppalloc.c: Include stdlib.h.
6305
6306 * cpperror.c (cpp_print_containing_files): Remove unused variable
6307 `i'. Fix format specifier in fprintf.
6308
6309 * cse.c (cse_around_loop): Add explicit braces to avoid
6310 ambiguous `else'.
6311 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
6312
6313 * expr.c (expand_expr): Add parentheses around && within ||.
6314
6315 * final.c (app_enable): Replace fprintf with fputs where there are
6316 no format specifiers and no trailing argument after the string.
6317 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
6318 (app_disable): Likewise.
6319 (final_end_function): Likewise.
6320 (final_scan_insn): Likewise. Remove unused variable `set'.
6321 (profile_function): Wrap empty if-statement body in {} brackets.
6322
6323 * function.c: Include stdlib.h.
6324 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
6325 (reposition_prologue_and_epilogue_notes): Add parentheses
6326 around assignment used as truth value.
6327
6328 * integrate.c (expand_inline_function): Wrap variable
6329 `cc0_insn' in macro HAVE_cc0.
6330
6331 * jump.c (jump_optimize): Wrap variable `q' in macro
6332 HAVE_cc0. Remove unused variable `prev1'.
6333
6334 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
6335 within ||. Fix format specifier in fprintf.
6336 (__bb_init_prg): Add parentheses around assignment used as
6337 truth value.
6338
6339 * local-alloc.c: Include stdlib.h.
6340 (requires_inout): Add parentheses around assignment used
6341 as truth value.
6342
6343 * loop.c (analyze_loop_iterations): Wrap prototype and definition
6344 in macro HAVE_decrement_and_branch_on_count.
6345 (insert_bct, instrument_loop_bct): Likewise.
6346 (move_movables): Add parentheses around assignment used as
6347 truth value.
6348 (consec_sets_invariant_p): Likewise.
6349 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
6350
6351 * objc/objc-act.c: Include stdlib.h.
6352 (lookup_method_in_protocol_list): Wrap empty else-statement body
6353 in braces.
6354 (lookup_protocol_in_reflist): Likewise.
6355 (objc_add_static_instance): Remove unused variables `decl_expr'
6356 and `decl_spec'.
6357 (get_objc_string_decl): Remove unused variable `decl'.
6358 (generate_static_references): Remove unused variables `idecl' and
6359 `instance'.
6360 (check_protocols): Wrap empty else-statement body in braces.
73be5127 6361
7d27e4c9 6362 * protoize.c: Include stdlib.h.
6363 (substr): Add parentheses around assignment used as truth value.
6364 (abspath): Likewise.
6365 (shortpath): Likewise.
6366
6367 * regmove.c (fixup_match_1): Add parentheses around assignment
6368 used as truth value.
6369
6370 * reload.c (push_secondary_reload): Remove unused variable `i'.
6371 (find_reloads): Add parentheses around assignment used as truth
6372 value.
6373
6374 * reload1.c: Include stdlib.h.
6375
6376 * rtl.h: Correct typo in prototype of offsettable_memref_p.
6377
6378 * stmt.c (add_case_node): Add parentheses around assignment used
6379 as truth value.
6380 (case_tree2list): Likewise.
6381
6382 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
6383 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
6384 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
6385 (merge_attributes): Add explicit braces to avoid ambiguous
6386 `else'.
6387
6388 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
6389 macro HAVE_cc0.
73be5127 6390
7d27e4c9 6391 * varasm.c: Include stdlib.h.
73be5127 6392
7d27e4c9 6393
6ea4b6a8 6394 * system.h: Remove sys/stat.h.
6395 * gcc.c: Add sys/stat.h.
6396
c23a8f92 6397 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
6398 * genattrtab.c: Likewise.
6399 * genconfig.c: Likewise.
6400 * genemit.c: Likewise.
6401 * genextract.c: Likewise.
6402 * genflags.c: Likewise.
6403 * genopinit.c: Likewise.
6404 * genoutput.c: Likewise.
6405 * genpeep.c: Likewise.
6406 * genrecog.c: Likewise.
6407 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
6408
2de5355b 6409Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6410
f1d1bead 6411 * invoke.texi: Use @itemx for a secondary item in a @table.
6412
2de5355b 6413 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
6414 zero.
6415
ea400bb5 6416Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
6417
6418 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
6419
036ce8cb 6420Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
6421
6422 * i386.c (struct machine_function): Add new fields for PIC stuff.
6423 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
6424 and pic_label_name.
6425 (restore_386_machine_status): Corresponding changes.
6426 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
6427
dbcd9370 6428Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
6429
6430 * c-parse.y (undeclared variable error): Tweak error message
6431 to be clearer.
6432
a9fa9190 6433Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
6434
6435 * flags.h (g_switch_value, g_switch_set): Declare.
6436 * alpha.c (override_options): Set g_switch_value=8 if not set.
6437 * alpha/elf.h (CC1_SPEC): New.
6438 (ASM_SPEC): New.
6439 (LINK_SPEC): Pass along the -G value we were given.
6440 (LOCAL_ASM_OP): Remove.
6441 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
6442 (MAX_OFILE_ALIGNMENT): New.
6443 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
6444 (EXTRA_SECTIONS): Add sbss and sdata.
6445 (SECTION_FUNCTION_TEMPLATE): New.
6446 (EXTRA_SECTION_FUNCTIONS): Use it.
6447 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
6448 (SELECT_SECTION): Use sdata when small enough.
6449 * alpha/linux.h (ASM_SPEC): Remove.
73be5127 6450
a9fa9190 6451
83536831 6452Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6453 * config.sub (sco5): Fix typo.
6454
974dc5c6 6455Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
6456
6457 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
6458 set to empty.
6459 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
6460 * config/alpha/t-linux: Remove file.
6461 * config/sparc/t-linux: Remove file.
6462 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
6463 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
6464 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
6465 for tmake_file.
6466 (alpha*-*-linux-gnu*): Likewise.
6467 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
6468 (sparc-*-linux-gnu*): Likewise.
579f88d2 6469
6470Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
6471 * collect2.c (ldd_file_name): Bracket declaration with same
6472 manifests as use.
6473 (full_real_ld_suffix): Deleted. Variable was calloced and
6474 written into, but never read.
6475
aee6eb43 64761998-02-23 Mike Stump <mrs@wrs.com>
6477
6478 * configure.in: Add support for i386-wrs-vxworks configuration.
6479 * i386/vxi386.h: New file.
6480
a43854ee 6481Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6482
6483 * tree.c (contains_placeholder_p): Ensure function always returns
6484 a value.
6485 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
6486 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
6487
9625de3c 6488Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
6489
6490 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
6491
0c10f15a 64921998-02-22 Paul Eggert <eggert@twinsun.com>
6493
6494 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
6495 Define this new symbol.
6496 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
6497 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
6498 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
6499
6e0e526b 6500Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
6501
6502 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
6503 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
6504
47f17659 6505Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
6506
6507 * objc/Object.m (-error): Call objc_verror with our va_list.
6508
e7abd8c1 6509Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6510
6511 * collect2.c (scan_prog_file): Completely cover uses of variable
6512 `exports' with macro COLLECT_EXPORT_LIST.
6513
6514Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
1d320110 6515
6516 * version.c: Bump for snapshot.
6517
576cf8e7 6518Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
6519
6520 * sched.c (schedule_block): Remove code to get arguments from hard
6521 regs into pseudos early. Same as Aug 25, 1997 change to
6522 haifa-sched.c.
6523
1a2eb5e5 65241998-02-20 Jason Merrill <jason@yorick.cygnus.com>
6525
6526 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
6527
d6c9423f 65281998-02-16 Mark Mitchell <mmitchell@usa.net>
6529
6530 * toplev.c (rest_of_compilation): Do not defer the output of a
6531 nested function.
6532
2ab4626e 6533Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
6534
6535 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
6536 continuation character (line 243).
6537
2d80deda 6538Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6539
6540 * genrecog.c (main): Remove duplicated sentence in emitted comment.
6541
d1058090 6542Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
6543 David Edelsohn <edelsohn@mhpcc.edu>
6544
6545 * collect2.c (XCOFF_SCAN_LIBS): Remove.
6546 (export_flag): New variable.
6547 (export_file): #ifdef COLLECT_EXPORT_LIST.
6548 (import_file, exports, imports, undefined): New variables.
6549 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
6550 (dump_list, dump_prefix_list, is_in_list): New functions.
6551 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
6552 (write_import_file, resolve_lib_name): New functions.
6553 (use_import_list, ignore_library): Same.
6554 (collect_exit): maybe_unlink import_file and #ifdef.
6555 (handler): Same.
6556 (main): New variable importf, #ifdef exportf. Move parsing of
6557 -shared before general argument parsing. Resolve AIX library
6558 paths and import libgcc.a symbols. Treat .so shared libraries the
6559 same as objects and .a libraries. Create alias for object_lst and
6560 increment it instead of original pointer. Scan AIX libraries as
6561 objects earlier instead of using scan_libraries. Perform AIX
6562 tlink later to resolve templates instead of forking ld.
6563 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
6564 (GCC_UNDEF_SYMBOL): New macro.
6565 (scan_prog_file): Loop for members of AIX libraries. Handle
6566 export/import of ctors/dtors.
6567 (aix_std_libs): New variable.
6568 (scan_libraries, XCOFF): Delete.
6569
6570Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
6571
6572 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
6573
29cae1c1 65741998-02-19 Mike Stump <mrs@wrs.com>
6575
6576 * Makefile.in: Use $tooldir for sys-include to match toplevel
6577 configure.
6578
c6b6c51f 6579Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
6580 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6581
6582 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
6583
6584 * emit-rtl.c (hard-reg-set.h): Include.
73be5127 6585 (get_lowpart_common): Don't make new REG for hard reg in a
c6b6c51f 6586 class that cannot change size.
6587 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
6588
6589 * combine.c: Revert previous patch.
6590
8526b981 65911998-02-19 Paul Eggert <eggert@twinsun.com>
6592
6593 * config/sparc/sol2-sld.h: New file.
6594 * configure.in (sparc-*-solaris2*): Use it when using the
6595 system linker.
6596
fbeaeaad 6597Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
6598
6599 * loop.c (force_movables): Fix typo.
6600
e50e7919 6601Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
6602
6603 * m88k.h: Change file pattern to match reality.
6604
697d72bb 6605Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
6606
6607 * varasm.c (output_constant_pool): Fix dumb thinko in last
6608 change.
ff9f581e 6609
6610 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
6611 a function name to a section name.
6612
0bf60c2b 66131998-02-18 Doug Evans <devans@cygnus.com>
6614
6615 * tree.h (merge_machine_{type,decl}_attributes): Declare.
6616 (split_specs_attrs, strip_attrs): Add prototypes.
6617 * tree.c (merge_machine_{type,decl}_attributes): New functions.
6618 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
6619 Update olddecl's attributes too.
6620 * c-common.c (strip_attrs): New function.
6621 * c-typeck.c (common_type): Call merge_machine_type_attributes.
6622 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
6623 (make_decl_rtl): Likewise.
6624
66251998-02-18 Jim Wilson <wilson@cygnus.com>
6626
6627 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
6628
f9d6a7e2 6629Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
6630
6631 Remove this change until we can fix it correctly.
6632 * collect2.c: Bracket declaration of 'exportf' and
6633 'full_real_ld_suffix'.
6634
7369c81f 6635Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6636
6637 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
6638
9fc84d48 6639Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6640
6641 * c-common.c (c_expand_start_cond, c_expand_end_cond,
6642 c_expand_start_else): Don't warn about non-ambiguous else even if
6643 braces are missing.
6644
89b29321 6645Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
9fc84d48 6646
89b29321 6647 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
6648 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
6649 instead.
6650
8835ecf0 6651Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
6652
6653 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
6654 simplifying a subreg of a hard reg.
6655 (expand_compound_operation): Likewise.
6656 (force_to_mode): Likewise.
6657
46c1a957 6658Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6659
5ee8fe30 6660 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
6661 (lshift_double): Add parentheses around + or - inside shift.
6662 (rshift_double): Likewise.
6663 (size_int_wide): Explicitly set type of `bit_p' to `int'.
6664
6665 * Makefile.in (fold-const.o): Depend on system.h.
6666
5ae2e30a 6667 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
6668 change to gcc.c.
6669
46c1a957 6670 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
6671 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
6672 (sched_note_set): Remove unused parameter `b', all callers changed.
6673 (schedule_block): Likewise for `rgn'.
6674 (split_hard_reg_notes): Likewise for `orig_insn'.
6675 (check_live): Likewise for `trg'.
6676 (update_live): Likewise.
6677 (check_live_1): Explcitly declare variable `i' as int.
6678 (update_live_1): Likewise.
6679 (insn_issue_delay): Remove unused variable `link'.
6680 (sched_analyze_2): Add default case in enumeration switch.
6681 (schedule_insns): Remove unused variable `i'.
6682
6683 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
6684
1d60621b 6685Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
6686
6687 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
6688 a dangling else clause.
6689
ff1fa9b6 6690Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
6691
6692 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
6693 pointer for the stack pointer in MIPS16 and 64BIT.
6694
80600102 6695Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6696
6697 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
6698 * emit-rtl.c (force_line_numbers, restore_line_number_status):
6699 New functions.
6700 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
6701 (expand_start_case): Adjust to this change.
6702 (check_seenlabel): New function.
6703 (pushcase, pushcase_range, expand_endcase): Use it.
6704
f357ade3 6705Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6706
6707 * i386.md (adddi3): Add =!r,0,0,X alternative.
6708
634a253e 6709Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
6710
6711 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
6712 * x-aix31 (INSTALL): Delete.
6713
8f5fe404 6714Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
6715
73be5127 6716 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
8f5fe404 6717 tsize changes to something other than zero.
6718
3e7678f8 6719Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
6720
6721 * ginclude/va-mips.h: Replace casts of pointers to int with
6722 casts of pointers to __PTRDIFF_TYPE__.
6723
ec200d5e 6724Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
6725
6726 * loop.c (strength_reduce, record_biv, record_giv): Use
6727 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
6728
bc280274 67291998-02-16 Jason Merrill <jason@yorick.cygnus.com>
6730
6731 * tree.c (first_rtl_op): New fn.
6732 (unsave_expr_now): Use it.
6733 * print-tree.c (print_node): Likewise.
6734 * tree.c (has_cleanups): New fn.
6735 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
6736 conservative about pushing the cleanup point down.
6737 * tree.h: Declare them.
6738
12c2cca5 6739Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
6740
6741 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
6742 (flag_schedule_reverse_after_reload): Likewise.
6743 (f_options): Remove reverse scheduling support.
6744 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
6745 (flag_schedule_reverse_after_reload): Likewise.
6746 * haifa-sched.c (rank_for_schedule): Remove support for reverse
6747 scheduling.
73be5127 6748
fe879f7c 6749Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6750
fe8833f8 6751 * gcc.c: Get system includes, prototypes and macros via "system.h"
6752 instead of doing it manually. Change all calls of the ctype
6753 macros to custom versions defined in "system.h".
6754
fe879f7c 6755 * system.h: Fix return type of bcmp prototype from `void' to `int'.
6756 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
6757 Add a prototype for getenv.
6758
e73a0ac8 6759Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
6760
6761 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
6762
0748e093 6763Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
6764
6765 * alias.c: Include <stdlib.h> and <string.h>.
6766 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
6767
3fb6d5cc 6768Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
6769
6770 * version.c: Bump for snapshot.
6771
f082f1c4 6772Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
6773
6774 * arm.md (movsfcc): Also validate operands[3] when compiling hard
6775 float.
6776 (movdfcc): Only accept fpu_add_operand for operands[3].
6777
d205453b 6778 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
6779 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
6780
7bd36830 6781Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
6782
6783 * varasm.c (output_constant_pool): Bring back 'done' label inside
6784 an appropriate #ifdef.
6785
73be5127 6786 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
7bd36830 6787 appropriate #ifdef.
6788 (bitmap_copy, bitmap_operation): Likewise.
6789 * combine.c (combinable_i3pat): Similarly for 'src'.
6790 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
6791 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
6792 * regclass.c (copy_cost): Similarly for 'secondary_class'.
6793 * reload.c (make_memloc): Simliarly for 'i'.
6794 (find_reloads_address_1): Similarly for 'link'.
6795 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
6796 (emit_reload_insns): Similarly for 'second_reloadreg'.
6797 * unroll.c (iteration_info): Similarly for 'v'.
6798
6799 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
6800 * calls.c (expand_call): Similarly for 'i'.
6801 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
6802 * fold-const.c (strip_compund_expr): Similarly for 'type'.
6803 * function.c (fixup_var_refs_1): Similarly for 'width'.
6804 (fixup_memory_subreg): Similarly for 'saved'.
6805 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
6806 (setjmp_protect): Similarly for 'sub'.
6807 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
6808 * loop.c (record_giv): Similarly for 'p'.
6809 (combine_givs): Similarly for 'temp_iv'.
6810 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
6811 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
6812 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
6813 * unroll.c (unroll_loop): Similarly for 'copy'.
6814 (iteration_info): Similarly for 'b'.
6815 * varasm.c (assemble_string): Similarly for 'i'.
6816 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
6817
d6c9423f 68181998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
6819
6820 * c-lang.c (lang_print_xnode): New function.
6821 * objc/objc-act.c (lang_print_xnode): Likewise.
6822 * print-tree.c (print_node): Call it
6823
2812fcfa 6824Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
6825
6826 * dwarf2out.c (decl_scope_node): New type.
6827 (decl_scope_table): Change type to use it.
6828 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
6829 (push_decl_scope): Use new type. New locals containing_scope, i.
6830 Add code to handle setting previous field.
6831 (scope_die_for): Change type of local i to int. Add code to use
6832 previous field.
6833 (dwarf2out_init): Use new type.
6834
247b4287 68351998-02-13 Jason Merrill <jason@yorick.cygnus.com>
6836
6837 * except.c (emit_throw): Lose throw_used.
6838
2e389341 6839Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6840
6841 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
6842 was deleted.
6843 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
6844
23d33b75 6845Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
6846
6847 * genextract.c (main): Fix typo.
6848
889a5002 6849Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
4e396ed6 6850
73be5127 6851 * c-lang.c (finish_file): Bracket declaration of static_ctors,
4e396ed6 6852 static_dtors.
6853
6854 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
6855 'old_stack_arg_under_construction'
73be5127 6856 (emit_library_call): Bracket declaration of 'upper_bound',
4e396ed6 6857 'lower_bound', 'i', 'reg_parm_stack_space'
6858 (emit_library_call_value): Likewise.
73be5127 6859 (store_one_arg):
4e396ed6 6860
6861 * collect2.c: include <unistd.h> when appropriate.
6862 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
6863
6864 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
73be5127 6865
4e396ed6 6866 * explow.c (plus_constant_for_output_wide): Remove unused variable
6867 'code'.
73be5127 6868 (memory_address): Remove unused variable 'orig_x'.
4e396ed6 6869
6870 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
6871 (write_const_num_delay_slots): Remove unused variable 'i'.
6872
6873 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
6874 (gen_insn): Remove unused variable 'obstack_ptr'.
6875
6876 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
6877 'j', 'tmp', 'i'.
6878 (__bb_exit_trace_func): Remove unused variable 'e'.
6879
6880 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
6881 'funexp'.
6882 (expand_unop): Remove unused variable 'funexp'.
73be5127 6883 (expand_complex_abs): Remove unused variable 'funexp'.
4e396ed6 6884 (init_optabs): Bracket declaration of 'j'.
6885 (init_complex_libfuncs): Deleted. Dead static function.
73be5127 6886
4e396ed6 6887 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
6888
6889 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
6890 (reg_to_stack): 'initialized', 'before_function_beg'
6891 explictly type as ints instead of defaulting.
6892 (emit_swap_insn): Remove unused variable 'i2'.
6893 (compare_for_stack_reg): Remove unused variable 'src_note'.
6894
6895 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
6896
6897 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
6898
6899 * stmt.c (add_case_node): Add parens for assignment used as truth.
6900 (all_cases_count): Remove unused variable 'count_high'.
6901 (mark_seen_cases): Remove unused variable 'i'.
6902 (check_for_full_enumeration_handling): Remove unused variable 't'.
6903 Bracket declaration of 'all_values', 'l'.
73be5127 6904
4e396ed6 6905 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
6906
73be5127 6907 * varasm.c (assemble_string): Remove unused variable 'i'.
6908 (immed_double_const): Remove unused variable 'in_current_obstack'.
4e396ed6 6909 (immed_real_const_1): Likewise.
6910 (output_constant_pool): Remove unreferenced label 'done'.
6911 (output_constant): Remove unused variable 'x'.
73be5127 6912
4e396ed6 6913 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
6914 a string.
6915
6916 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
6917 as truth.
6918
20beb951 6919Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6920
6921 * combine.c (can_combine_p): Handle USEs in PARALLELs.
6922
fc9a9922 6923Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
6924
6925 * config/linux.h (LIB_SPEC): Add -lc for -shared if
6926 USE_GNULIBC_1 is not defined.
6927 * config/sparc/linux.h; Ditto.
6928
6929 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
6930
6931 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
6932 USE_GNULIBC_1 is not defined.
6933
ea04cc5c 6934Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6935
6936 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
6937 for -mcall-linux
6938
073609a4 6939Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
73be5127 6940
073609a4 6941 * system.h: New file to get common systems includes and various
6942 definitions and declarations based on autoconf macros.
6943
16e77b5c 6944Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
6945
6946 * cccp.c (new_include_prefix): Correctly handle -I./.
6947
f28e7160 6948Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
6949
6950 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
6951
29a5501f 6952Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
f28e7160 6953
73be5127 6954 * expr.c (expand_assignment): Correct typo exposed by -Wall.
29a5501f 6955 offset should have been a truth value, not an assignment.
6956
a1950ec3 6957Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
6958
6959 * cse.c (delete_dead_from_cse): If a libcall produces a constant
6960 result and that result can be substituted into SET_SRC of the
6961 insn with the REG_RETVAL note, then perform the substitution
6962 and delete the libcall.
6963
0e1ea2d2 6964Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
6965
73be5127 6966 * mips.md (trucndihi2,truncdiqi2): Change these to support
0e1ea2d2 6967 mips16.
6968
cb30d8cb 6969Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
6970
6971 * mips/mips.c (movdi_operand): Direct referances to symbols
6972 that arn't mips16 consts in mips16 mode arn't valid operands.
6973
6974 * mips/mips.c (mips_move_2words): Add gprel handling.
6975
c133071e 6976Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
6977
73be5127 6978 * mips.md (extendsidi2): Allow extension to/from a non-mips16
c133071e 6979 register.
6980
e454c5e7 6981Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
6982
6983 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
6984 <strings.h>.
6985
a727632e 6986Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6987
6988 * Makefile.in (WARN_CFLAGS): New variable.
6989 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
6990
8912b231 69911998-02-11 Mark Mitchell <mmitchell@usa.net>
6992
6993 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
6994 falling through default case in switch.
6995 (i386_aligned_p): Likewise.
6996
9de199b7 6997Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
6998
6999 * mips/mips.h (mips_abi_string): Correct typo in comment.
7000
91b468f6 7001Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
7002
7003 * mips/mips.md (movdi): These PLUS's need to be Pmode.
7004
26966038 7005Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7006
7007 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
7008 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
7009 indirectly via expr.h.
7010
b16be378 7011Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
7012
7013 * stor-layout.c (layout_type): Do upper - lower in the native type,
7014 so as to properly handle negative indices.
7015
0c22b90f 7016Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
7017
7018 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
7019 (expand_eh_region_start_tree): Remove unused variable 'note'.
7020 (exception_optimize): Remove unused variable 'regions'.
7021 (expand_builtin_eh_stub): Remove unused variable 'temp'.
7022 (copy_eh_entry): Deleted. Dead function.
7023
73be5127 7024 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
0c22b90f 7025 'last' with same #if HAVE_load_multiple as use of it.
7026 (move_block_from_reg): Likewise.
7027 (emit_move_insn_1): Remove unused variable 'insns'.
73be5127 7028 (store_constructor): Bracket declaration of startb, endb with
7029 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
0c22b90f 7030 'target', and 'xtarget'.
73be5127 7031 (expand_builtin_setjmp): Remove unused variables 'op0',
0c22b90f 7032 'next_arg_reg', 'old_inhibit_defer_pop'.
73be5127 7033 (expand_builtin): Remove unused variable 'offset'.
0c22b90f 7034 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
7035 (emit_queue): Add parens for assignment used as conditional.
7036 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
7037
afe7ec58 7038Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
7039
73be5127 7040 * i386.c: Added include for recog.h.
afe7ec58 7041 (override_options): Removed unused variable p. Initialized regno to
7042 avoid warning.
7043 (order_regs_for_local_alloc): Initialized regno to avoid warning.
7044 (legitimize_address): Likewise for 'other'.
7045 (i386_aligned_reg_p): Added default case with abort ().
7046 (print_operand): Likewise.
7047 (reg_mentioned_in_mem): Likewise.
7048 (ix86_expand_binary_operator): Removed unused variables i & insn.
7049 (ix86_expand_unary_operator): Removed unused variable insn.
7050 (output_fp_cc0_set): Removed unused variable unordered_label.
7051
5c6cf936 7052Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
7053
7054 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
7055 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
7056 and format string match.
7057
79a120e3 7058Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
7059
7060 * flow.c (life_analysis): Do not conside the stack pointer live at
7061 the end of a function if the fucntio ncalls alloca.
7062 (mark_used_regs): Similarly.
7063
7d35dc00 70641998-02-10 John F Carr <jfc@mit.edu>
7065
7066 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
7067 1, fzero on alternative 8.
7068
454dcb1d 7069Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7070
7071 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
7072
0eff3d7c 7073Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7074
7075 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
7076 SUBREGs of CONST_INTs.
7077
6f40c414 7078Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
7079
7080 * mips.c (print_operand, function_prologue): Make printf format
7081 match argument type.
7082
21df4113 7083Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7084
7085 * alpha.c (alpha_return_addr): Remove unused variable `first'.
7086 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
7087 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
7088
ed8b9855 7089Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7090
7091 * loop.c (strength_reduce): When placing increment for auto-inc
7092 case, do comparison in loop order.
73be5127 7093
4438e886 7094Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
7095
7096 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
7097 not a HOST_WIDE_INT.
7098
7099 * calls.c (expand_call): Change test of expand_inline_function
7100 return value to stop compiler warning.
7101
7102 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
7103
9ea31f2a 7104Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
7105 Jeff Law (law@cygnus.com)
7106
7107 * regmove.c: Fix various minor formatting problems.
7108 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
7109 is true. Make end of basic block tests consistent through regmove.c.
7110 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
7111 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
7112
21bc7ab9 7113Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7114
7115 * gansidecl.h: Check for a conflicting macro definition before
7116 attempting to prototype bcopy, bcmp or bzero.
7117
0df0b12b 7118Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
7119
c68850d6 7120 * expr.c (clear_pending_stack_adjust): Handle case where a function
7121 calls alloca, but the user has specified -fomit-fframe-pointer.
7122
0df0b12b 7123 * function.c (assign_parms): Fix typo in last change.
7124
3ef9782d 7125Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
7126
00e598e3 7127 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
7128 <fcntl.h>.
7129 (free_path_suffix): Remove unreferenced static function.
7130 (process_command): Remove unused variable temp.
7131 (default_arg): Remove unused variable i.
7132 (do_spec_1): Add parens for assignment used as truth value.
7133 (main): Likewise.
7134 (validate_all_switches): Likewise.
7135 (main): Remove unused variables i, first_time>
7136
3ef9782d 7137 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
7138
7139 * calls.c (expand_call): Remove unused variables funtree,
7140 n_regs, and tmpmode.
7141
7142 * dbxout.c, except.c: Include <string.h>/<strings.h>.
7143
7144 * explow.c: (plus_constant_for_output_wide) Removed unused
7145 variable all_constant.
7146
7147 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
7148 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
7149 genrecog.c, global.c, integrate.c , stupid.c : Include
7150 <stdlib.h>.
7151
7152 * genextract.c: (walk_rtx) Remove unused variable link.
7153
7154 * genrecog.c: (concat) Remove unreferenced static function.
7155
7156 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
7157
73be5127 7158 * stmt.c: Include <stdlib.h>.
7159 (expand_asm_operands): Remove unused variable val1.
3ef9782d 7160 (expand_return): Remove unused variable block.
7161 (pushcase): Remove unused variables l and n.
7162 (pushcaserange): Likewise.
7163
7164 * unroll.c (unroll_loop): Remove unused variable temp.
7165
620542d5 7166Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
7167
7168 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
7169
32fbfe1a 7170Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7171
7172 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
7173 functions for whether they support the %p format specifier.
7174 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
7175 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
7176 * configure, config.in: Rebuild.
7177
6c74237c 7178Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
7179
7180 * function.c (assign_parms): New variable named_arg, with value
7181 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
7182
cef0b7b2 7183Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
7184
73be5127 7185 * mips/t-r3900: New - same as t-ecoff but eliminate
cef0b7b2 7186 multilibs: mips1 and mips3.
7187 * configure.in (tx39*): Use new mips/t-r3900.
7188 * configure: Rebuild.
7189 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
7190
08532d4f 71911998-02-06 Jason Merrill <jason@yorick.cygnus.com>
7192
7193 * dwarf2out.c: Add old_args_size.
7194 (dwarf2out_args_size): Use it.
7195 (dwarf2out_begin_prologue): Initialize it.
7196 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
7197 pushed args until we see a call.
7198 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
7199 before outputting them.
7200
72011998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
7202
7203 * cplus-dem.c (demangle_template_template_parm): New function.
7204 (demangle_template): Handle template template parameters.
7205
01b84a93 72061998-02-02 Mark Mitchell <mmitchell@usa.net>
7207
7208 * calls.c (expand_call): Don't confuse member functions named
7209 realloc, setjmp, and so forth with the standard library
7210 functions of the same names.
7211
ab12bb63 7212Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
7213
7214 * stmt.c (expand_asm_operands): Correctly identify asm statements
ac375dfc 7215 no output operands.
ab12bb63 7216
31f820d2 7217Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
73be5127 7218
31f820d2 7219 * c-common.c (decl_attributes): Flag unrecognized attribute
7220 functions as warnings instead of as errors.
7221
1befb664 72221998-02-05 Marc Lehmann <pcg@goof.com>
7223
7224 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
7225 when -Os is specified.
7226 * toplev.c (main): Don't disable flag_inline_functions anymore when
7227 -Os is in effect.
7228
97bcb74e 7229Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7230
7231 * regmove.c: Update.
7232 * flags.h (flag_regmove): Declare.
7233 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
7234 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
7235 Moved into regmove; changed caller.
7236 * toplev.c (rest_of_compilation): Call regmove_optimize also for
7237 expensive_optimizations.
7238
cbf98946 7239Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
7240
7241 * version.c: Bump for snapshot.
7242
303eaf24 7243Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7244 Undo this change (the problem was actually in reload):
7245 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7246
7247 * sh.md (movqi_i+1): New peephole.
7248
6dbf903d 7249Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
7250
6c3f4a94 7251 * jump.c (jump_optimize): Lose calls to modified_in_p they are
7252 not needed anymore due to changes elsewhere in jump.c.
7253
6dbf903d 7254 * jump.c (jump_optimize): Fix first arg to modified_in_p in
7255 previous change.
7256
0d179e03 7257Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
7258
7259 * expr.c (expand_builtin_setjmp): Accept two new arguments for
7260 the labels to branch to on first and subsequent executions. Don't
7261 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
7262 and provide it with the jmp_buf. Use only one of
7263 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
7264 and provide the former with the target label.
7265 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
7266 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
7267 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
7268 insn to replace all of the normal nonlocal_goto code. Don't play
7269 with __dummy. Correct arguments to nonlocal_goto.
7270 * expr.h (expand_builtin_setjmp): Update prototype.
7271 * except.c (start_dynamic_handler): When using builtin_setjmp,
7272 generate more accurate flow information.
7273
7274 * alpha.md (nonlocal_goto_receiver_osf): Delete.
7275 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
7276 (builtin_longjmp, builtin_setjmp_receiver): New.
7277 * sparc.md (update_return): Disambiguate unspec number.
7278 (nonlocal_goto): Rearrange arguments to match caller in except.c.
7279 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
7280 jmp_buf operand.
7281 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
7282 (builtin_setjmp_setup*, builtin_longjmp): New.
7283
0722b5c9 7284Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
7285
7286 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
7287
bf91fc5d 7288Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
7289
7290 * vmsconfig.com: Remove bytecode references.
7291
ef3ec561 72921998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7293
56daab87 7294 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
7295 -fno-sjlj-exceptions works for a target that defines
7296 DWARF2_UNWIND_INFO as zero.
7297
ef3ec561 7298 * regmove.c (fixup_match_1): Undo last change which removed some
7299 "useless" code, and add a comment explaining this.
7300
d6759ef7 7301Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
7302
7303 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
7304 to TARGET_LONG64.
7305
1755b1af 7306Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
7307
7308 * makefile.vms: Remove bytecode references.
7309 Create genrtl files.
7310
7e847180 7311Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
7312
7313 * jump.c (jump_optimize): Allow conditional loading of floating point
7314 constants and constants from memory. Reinstalled modified_in_p tests.
7315
4354a41d 7316Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7317
7318 * loop.c (get_condition): Handle sign-extended constants.
7319
235dc907 7320Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
7321
702dbdd1 7322 * expr.c (emit_push_insn): Add code to use movstrti if present.
7323
235dc907 7324 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
7325 and movstrqi as in emit_block_move ().
7326
330b25e9 7327Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
7328
7329 * config/m68k/x-next: Remove /NextDeveloper/Headers from
7330 the directories to fixinclude - /usr/include is a link
7331 to it and hence its contents are fixed by default.
7332
09d17c86 7333Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7334
7335 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
7336
dfb371d8 7337Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
7338
7339 * cccp.c (main): Predefine __VMS_VER on VMS.
7340
30384dcf 7341Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7342
7343 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
7344 * fold-const.c (size_int): Replace with
7345 (size_int_wide).
7346 (make_bit_field_ref): Use bitsize_int for bit position.
7347 * stor-layout.c (sizetype): Delete.
7348 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
7349 (layout_record, layout_union, layout_type):
7350 Use bitsize_int for bit size.
7351 (set_sizetype): New function.
7352 (make_signed_type, make_unsigned_type): Use it.
7353 * c-decl.c (init_decl_processing): Likewise.
7354 * tree.h (size_int): Don't delcare, #define.
7355 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
7356 (set_sizetype): Declare.
7357 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
7358 Define.
7359 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
7360 Convert result to sizetype.
7361 (really_start_incremental_init, push_init_level):
7362 Set type of constructor_bit_index to sbitsizetype.
7363 (push_init_level): Use unsigned arithmetic to determine padding.
7364 (output_init_element): Likewise.
7365
c78e7915 7366Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
7367
7368 * combine.c (simplify_shift_const): Fix typo in last change.
7369
1ecdc043 7370Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
7371
7372 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
7373 is (truncate (lshiftrt)).
7374
2cc46ade 7375Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
7376
7377 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
7378 Make sure result winds up in TGT.
7379 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
7380 src to be other than DImode.
7381 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
7382 (alpha_expand_unaligned_store_words): Likewise.
7383 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
7384 that source and destination are separately optimized for alignment.
7385 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
7386
fe2de9d4 7387Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
7388
7389 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
7390 with handling of -32768.
7391
4211624c 7392Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7393
7394 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
7395 shell variable argument instead of only hard coded functions.
7396 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
7397
7398 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
7399 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
7400 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
7401 declarations for bcopy, bcmp and bzero.
7402
7403 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
7404
7405 * gansidecl.h: If we have bcopy but don't declare it, then do so.
7406 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
7407 bzero, index and rindex if they aren't already present.
7408
913b1dc0 7409Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
7410
73be5127 7411 * toplev.c (close_dump_file): Wrap function prototype for
913b1dc0 7412 argument "func" in PROTO.
7413 (dump_rtl): Likewise.
7414
f618d313 7415Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
7416
7417 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
7418 MASK_V8PLUS.
7419 (output_function_epilogue): Omit epilogue if nothing drops through.
7420 (output_move_double): Supress int ldd usage on ultrasparc and v9.
7421 (registers_ok_for_ldd_peep): Likewise.
7422 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
7423 (ultrasparc_adjust_cost): New function.
7424 (sparc_issue_rate): New function.
7425 * sparc.h (MASK_VIS, TARGET_VIS): New
7426 (MASK_V8PLUS, TARGET_V8PLUS): New.
7427 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
7428 (TARGET_SWITCHES): Add vis and v8plus.
7429 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
7430 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
7431 (RTX_COSTS): Use TARGET_HARD_MUL
7432 (ADJUST_COST): Call ultrasparc_adjust_cost.
7433 (ISSUE_RATE): New.
7434 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
7435 of load & fp appropritely.
7436 (supersparc function units): Adjust for Haifa.
7437 (ultrasparc function units): Likewise.
7438 (get_pc_via_rdpc): All v9, not just arch64.
7439 (movdi_v8plus, movdi_v8plus+1): New.
7440 (adddi3_sp32+1): New.
7441 (subdi3_sp32+1): New.
7442 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
7443 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
7444 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
7445 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
7446 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
7447 (ldd peepholes): Suppress for v9.
7448 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
7449 (return_subsi): Revmove.
7450
6ad6bfa0 7451Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
7452
7453 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
7454 save/restore MEM rtl.
7455
372657a6 7456Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
7457
7458 * configure.in: Check for declaration of abort.
152dbc50 7459 * acconfig.h: Corresponding changes.
372657a6 7460 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
7461 be declared.
7462
1dc9b753 7463Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
7464
7465 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
7466 uses it.
7467
8e6baaa5 7468Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
7469
7470 * version.c: Bump for snapshot.
7471
e1930fd4 7472Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
7473
7474 * configure.in: Check for atoq and atoll.
7475 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
7476 proper routine for converting ascii into long long values.
7477
3a36dff3 7478Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
7479
64779155 7480 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
7481
7482 * vmsconfig.com: Remove bytecode references.
7483
7484 * alpha/vms.h (PREFIX): Define.
7485
7486 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
7487
3a36dff3 7488 * am-alpha.h: Don't include alloca for OPEN_VMS.
7489
7490 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
7491
7492 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
7493 (GCC_INCLUDE_DIR): Define
7494
7495 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
7496 * makefile.vms: New file.
7497
7498 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
7499
7500 * alpha.c (output_prolog): Output '.name' directive
7501 for minimal traceback information.
7502
7503 * alpha.c (output_prolog): Don't prepend entry point symbols
7504 with '$' on OPEN_VMS.
7505
13a0a8d8 7506Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
7507 Jeffrey A Law (law@cygnus.com)
7508
7509 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
7510 HOST_WIDE_INT.
7511
7512 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
7513 as needed.
7514 * genemit.c (gen_exp): Likewise.
7515 * genpeep.c (match_rtx): Likewise.
7516 * genrecog.c (write_tree_1): Likewise.
7517
7518 * c-lex.c (yyprint): Use proper format string based upon
7519 disposition of HOST_BITS_PER_WIDE_INT.
7520 (yylex): Put casts in right place for args to build_int_2.
7521
7522Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
7523
7524 * combine.c: Fix typos in Jan27 changes.
7525
0fe8dc76 7526Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
7527
7528 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
7529 (LINK_SPEC): Likewise.
7530 (STARTFILE_SPEC): Likewise.
7531
08b06814 75321998-01-28 Mike Stump <mrs@wrs.com>
7533
7534 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
7535 reload completes.
7536 * genattrtab.c (reload_completed): Define.
7537
7538 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
7539 comments.
7540
50cbc1ef 7541Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7542
7543 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
7544 SUBREG_REG if the word count is unchanged, also in the input reload
7545 case. Disable non-applicable sanity checks.
7546
05327bc5 7547Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
7548
7549 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
7550
e3df69d1 7551Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
7552
7553 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
7554
0e497de6 7555Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
7556
74b70abf 7557 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
7558 is a TREE_VEC before trying to use it for baseclasses.
7559 (Chill uses the same field for a different purpose.)
7560
0e497de6 7561 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
7562
d8fe37e0 7563Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
7564
fe3ee2c7 7565 * config.sub: More accurate determination of HP processor types.
d8fe37e0 7566
07e64d6e 7567Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7568
7569 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
7570 prototype for `handle_sysv_pragma', and make it static. Add
7571 parentheses around assignment used as truth value.
7572
7573 * combine.c (combine_instructions): Protect variable `prev' with
7574 macro HAVE_cc0.
7575 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
7576 (extract_left_shift): Add parentheses around operand of &.
7577 (merge_outer_ops): Avoid an empty body in an else-statement.
7578 (gen_rtx_combine): Remove unused variable `i'.
73be5127 7579
07e64d6e 7580 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
7581 function monstartup `void'. Likewise for internal_mcount. Add
7582 `static void' prototype for moncontrol. Reconcile sprintf format
73be5127 7583 vs. args.
07e64d6e 7584
7585 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
7586 Make return type of function_arg_slotno explicitly `int'.
7587 (reg_unused_after): Add parentheses around assignment used as
7588 truth value.
7589 (save_regs): Add explicit braces to avoid ambiguous `else'.
7590 (function_arg_slotno): Add parentheses around && within ||.
7591 (function_arg_pass_by_reference): Likewise.
7592 (sparc_flat_output_function_prologue): Reconcile fprintf format
7593 vs. args.
7594
7595 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
7596 assignment used as truth value.
7597
7598 * cplus-dem.c: Include <stdlib.h>.
7599 (demangle_signature): Avoid an empty body in an else-statement.
7600 (do_type): Remove unused variable `lvl'.
73be5127 7601
07e64d6e 7602 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
7603 Include <string.h>/<strings.h>.
7604 (cpp_lex): Remove unused variable `namelen'.
7605 (cpp_lex): Explicitly declare `num_chars' as an int.
7606
7607 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
7608 <unistd.h> instead. Explicitly declare is_system_include
7609 returning int.
73be5127 7610 (make_assertion): Remove unused variable `kt'.
07e64d6e 7611 (cpp_expand_to_buffer): Hide variable `obuf'.
7612 (output_line_command): Remove unused variables, `line_end',
7613 `line_cmd_buf' and `len'.
7614 (macarg): Remove unused variable `arg_start'.
7615 (special_symbol): Remove unused variable `i'. Add parentheses
73be5127 7616 around assignment used as truth value.
07e64d6e 7617 (do_include): Remove unused variables `pcfname' and `retried',
73be5127 7618 hide `pcf' and `pcfbuflimit'.
07e64d6e 7619 (do_line): Remove unused variable `i'.
7620 (finclude): Hide variable `missing_newline'.
7621 (cpp_handle_options): Remove unused variable `j'.
7622 (read_token_list): Remove unused variable `eofp'.
7623 (cpp_error_with_line): Remove unused variable `i'.
7624 (cpp_warning_with_line): Likewise.
7625 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
7626 (cpp_error_from_errno): Remove unused variable `i'.
7627
7628 * cse.c (invalidate): Add parentheses around assignment used as
7629 truth value.
7630 (find_best_addr): Move declaration of variable `our_cost' inside
7631 the conditional macro where its used.
7632 (fold_rtx): Avoid an empty body in an if-statement.
7633 (cse_insn): Wrap variables `this_insn_cc0_mode' and
7634 `this_insn_cc0' in macro HAVE_cc0.
73be5127 7635
07e64d6e 7636 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
7637 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
7638 (output_uleb128): Likewise.
7639 (output_sleb128): Likewise.
7640 (output_cfi): Likewise.
7641 (output_call_frame_info): Remove unused variables `j', `fde_size'
7642 and `fde_pad'.
7643 (comp_unit_has_inlines): Hide declaration as per rest of file.
7644 (size_of_line_prolog): Correct typo in prototype.
7645 (add_arange): Likewise.
7646 (output_aranges): Likewise.
7647 (add_name_and_src_coords_attributes): Likewise.
7648 (gen_array_type_die): Likewise.
7649 (gen_inlined_subroutine_die): Likewise.
7650 (equate_decl_number_to_die): Remove unused variable `i'.
7651 (print_die): Reconcile format vs. args in fprintf's.
7652 (print_dwarf_line_table): Likewise.
7653 (output_die): Likewise.
7654 (output_line_info): Likewise.
7655 (add_subscript_info): Avoid an empty body in an else-statement.
7656 (gen_subprogram_die): Remove unused variable `fp_loc'.
7657
7658 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
7659 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
7660 macro. Protect `src_coords_attribute' prototype with
7661 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
7662 prototype as in the rest of the file. Likewise for
7663 `output_pointer_type_die' and `output_reference_type_die'. Remove
7664 prototype for `type_of_for_scope'.
7665 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
7666 (type_attribute): Add explicit braces to avoid ambiguous `else'.
73be5127 7667
07e64d6e 7668 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
7669 (shorten_branches): Protect declaration of tmp_length with
7670 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
7671 (profile_function): Protect declaration of `sval' and `cxt'
7672 variables with appropriate macros.
7673 (final_scan_insn): Likewise for `note' variable. Add explicit
7674 braces to avoid empty body in an if-statement.
7675 (output_asm_insn): Move variable `i' inside macro conditional
7676 where it is used. Add parentheses around assignment used as truth
7677 value.
7678 (asm_fprintf) Likewise, likewise.
73be5127 7679
07e64d6e 7680 * fix-header.c (main): Remove unused variable `done'. Protect
7681 declaration of `i' with FIXPROTO_IGNORE_LIST.
7682
7683 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
7684
7685 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
7686 `ind'.
7687
7688 * profile.c: Include <string.h>/<strings.h>.
7689 (instrument_arcs): Remove unused variables `note', `inverted',
7690 `zero' and `neg_one'.
7691 (branch_prob): Avoid empty body in an if-statement.
7692
7693 * regclass.c: Include <stdlib.h>.
7694 (reg_alternate_class): Explicitly declare parameter `regno'.
7695
7696 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
7697 parentheses around assignment used as truth value.
7698 (find_matches): Remove unused variables `output_operand' and
7699 `matching_operand'.
7700 (fixup_match_1): Remove statement with no effect: "if (0) ;".
7701
7702 * scan.c (sstring_append): Explicitly declare `count' as int.
7703 (scan_string): Explicitly declare parameter `init' as int.
7704
7705 * sched.c: Include <stdlib.h>.
7706 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
7707 (rank_for_schedule): Add parentheses around assignment used as
7708 truth value.
7709 (schedule_block): Likewise.
7710 (regno_use_in): Likewise.
7711 (schedule_insns): Remove unused variable `i'.
7712
7713 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
7714 (v_message_with_decl): Remove unused variable `n'.
7715 (botch): Explicitly declare parameter `s' as char *.
7716 (main): Add parentheses around assignment used as truth value.
7717
7718 * tree.c (make_node): Protect the variable `kind' with the
7719 GATHER_STATISTICS macro.
7720 (real_value_from_int_cst): Move variable `e' inside conditional
7721 macro area where it is used.
7722 (tree_last): Add parentheses around assignment used as truth value.
7723 (build1): Protect the variable `kind' with the GATHER_STATISTICS
7724 macro.
7725 (print_obstack_statistics): Reconcile format vs. args in fprintf.
7726 Protect variables `i', `total_nodes', and `total_bytes' with the
7727 GATHER_STATISTICS macro.
7728
719faff4 7729Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
7730
7731 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
7732 some comments regarding use of dead_or_set_p.
7733
fc7a3327 7734Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
7735
7736 * fixincludes: Tweak fix for struct exception in math.h
7737
9ee71682 7738Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
7739
7740 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
73be5127 7741 Change mode of registers used to add/sub from
9ee71682 7742 hard_frame_pointer_rtx from word_mode to Pmode.
7743
2bfa4982 7744Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
7745
c365e683 7746 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
7747 asm_output_aligned_bss() instead of asm_output_bss().
7748
2bfa4982 7749 * toplev.c (rest_of_compilation): Replace references to
7750 stack_reg_dump_file and dbr_sched_dump_file with references to
73be5127 7751 rtl_dump_file.
2bfa4982 7752
30c1e454 7753Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
7754
7755 * tlink.c (scan_linker_output): Call fclose() for opened files.
7756
6f9a435a 7757Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
7758
7759 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
7760 compiling with -fpic -- we want to be able to override symbols
7761 properly.
7762 (alpha_expand_block_move): Fix thinko in last change.
7763
7764 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
7765 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
7766 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
73be5127 7767
7669a823 7768Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
7769
7770 * alpha.md (abssf, absdf): Revert last change.
7771
72d3660f 7772Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
7773
7774 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
7775 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
7776
719b0316 7777Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
7778
7779 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
7780 a CONST_INT into SFmode.
7781
57361983 7782Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
7783
7784 * flags.h: New flag (optimize_size).
7785 * toplev.c (main): Parse -Os option and set optimize_space
7786 accordingly.
73be5127 7787 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
57361983 7788 __OPTIMIZE_SIZE__ when compiling with -Os.
7789 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
7790 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
7791 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
7792 to macro.
7793 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
7794
aaa36d7c 7795Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
7796
7797 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
7798 stuff only if MCT_TEXT is #define'd.
7799
2c5b29ac 7800Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
7801
7802 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
7803 configurations.
7804
7291115d 7805Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
7806
7807 * toplev.c: Add -dM command line option to dump RTL after the
7808 machine dependent reorganisation pass, if there is one.
7809 Reorganise RTL dump code, so that only one file handle is
73be5127 7810 needed.
7291115d 7811
578b6aa9 7812Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
7813
7814 * except.c (check_exception_handler_labels): Disable warning when
7815 flag_syntax_only.
7816
b69d3439 7817Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
7818
7819 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
7820
4ad6aeba 7821Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7822
7823 * c-decl.c (grokdeclarator): Get parameter tags from
7824 last_function_parm_tags.
7825 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
7826 traversing the parameter types.
7827 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
7828
737a5d5b 7829Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
7830
7831 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
7832 the default case.
7833 (get_shift_alg): Fix typo.
7834
6cf26464 7835Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
7836
7837 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
7838
71e8e32d 7839Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
7840
7841 * toplev.c (get_run_time): Make sure each case gets its variables.
7842
58b16c1a 7843Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
7844
7845 * configure.in (build_xm_file): Add auto-config.h if host=build.
7846 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
7847 (build_xm_file_list): Likewise.
7848 * configure: Rebuild.
73be5127 7849
6d9a3d97 7850Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
7851
7852 * recog.c (validate_replace_rtx_1): Only perform substitutions
7853 of arguments to commutative and comparison operators once.
7854
b2779d7f 7855Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7856
b44bc055 7857 * sparc.c (output_cbranch): Add default case in
7858 enumeration switch.
73be5127 7859
b44bc055 7860 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
7861 (emit_delay_sequence): Eliminate unused parameter, all callers
7862 changed.
7863 (fill_simple_delay_slots): Likewise.
7864 (fill_slots_from_thread): Likewise.
7865 (fill_eager_delay_slots): Likewise.
7866 (mark_referenced_resources): Add default case in enumeration switch.
7867 (mark_set_resources): Likewise.
7868 (rare_destination): Likewise.
7869 (mostly_true_jump): Likewise.
7870 (find_dead_or_set_registers): Likewise.
7871 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
7872 (update_reg_unused_notes): Remove unused variable `p'.
7873 (mark_target_live_regs): Remove unused variables `next' and
7874 `jump_count'.
7875 (fill_simple_delay_slots): Remove unused variable `j'.
7876 (fill_slots_from_thread): Add parentheses around assignment used
7877 as truth value.
7878 (dbr_schedule): Likewise.
7879
b2779d7f 7880 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
7881 (objc.stage2, objc.stage3, objc.stage4): Likewise.
7882
97836da7 7883Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
7884
7885 * cse.c (simplify_ternary_operation): Don't try to simplify
7886 IF_THEN_ELSE expressions (created by combine) that don't use
7887 relational operators.
7888
fe5bd16a 7889Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
7890
c627b28a 7891 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
7892 simplifications.
7893
fe5bd16a 7894 * crtstuff.c (init_dummy): Keep the epilogue in the init
7895 section for non-ELF systems.
7896
45b8431c 7897Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7898
7899 * sh.md (movqi_i+1): New peephole.
7900
069889bc 7901Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
7902
7903 * Makefile.in: Remove remaining bytecode stuff.
7904 * emit-rtl.c, expr.c: Likewise.
7905
69cff024 7906Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
7907
7908 * toplev.c (lang_options): Add unknown-pragma options.
7909
fb30808c 7910Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
7911
7912 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
7913 special (and incomplete) handling for Chill arrays.
7914
55116d0e 7915Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
7916
7917 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
7918 to get clock rate.
7919
9ee71682 7920Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
d2f10e31 7921
7922 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
7923
19ac78af 79241998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
7925
7926 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
7927 .frame directive instead of FRAME_POINTER_REGNUM.
7928
c083a38f 7929Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
7930
7931 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
7932 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
7933 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
7934 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
7935 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
7936 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
7937 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
7938 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
7939 mcpu32 or m5200.
7940 * longlong.h: Replace __mc68332__ with __mcpu32__.
7941
9e51fe5e 7942Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
7943
7944 * version.c: Bump for snapshot.
7945
ebbb4987 7946Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
7947
7948 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
7949 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
7950 * reload1.c (eliminate_regs): Likewise.
7951
4e80caa9 7952Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
7953
7954 * regmove.c (find_matches): Initialize matches->earlyclobber too.
7955
9256967a 7956Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
7957
7958 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
7959 (negsf2, negdf2): Use proper subtract in IEEE mode.
7960
b54842d8 7961Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
7962
fa5144f7 7963 * Makefile.in: Remove more bytecode stuff.
7964 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
7965 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
7966 * f/install.texi, objc/Make-lang.in: Likewise.
7967
b54842d8 7968 * Makefile.in: Remove all bytecode support.
7969 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
7970 * emit-rtl.c: Remove all bytecode support.
7971 * expr.c, expr.h function.c, integrate.c: Likewise.
7972 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
7973 * tree.h, varasm.c: Likewise.
53cdb04c 7974 * config/m68k/m68k.h: Likewise.
7975 * bi-*, bc-*, bytecode*: Delete bytecode related files.
2f7ce20a 7976 * modemap.def: Likewise.
b54842d8 7977
9478f898 7978Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
7979
7980 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
7981 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
7982
2f69e5cb 7983Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
7984
7985 * i386.md (push): Prohibit symbolic constants if flag_pic.
7986 (movsi+1): Likewise for move to non-register.
7987
fd198dc9 7988Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
7989
46fe4beb 7990 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
7991 (print_operand): Handle 0xffffffff on 32 bit host.
7992
040921ae 7993 * configure.in (thread_file): Rename uses before main loop to
7994 target_thread_file. Initialize to empty in main loop. Set thread_file
7995 to target_thread_file after main loop if not set.
7996 * configure: Rebuild.
7997
fd198dc9 7998 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
7999 (add_values_to_cover): Revert last change (which had no ChangeLog
8000 entry).
8001 (simplify_with_current_value_aux): Handle CONST_INT.
8002
bc68fcb4 8003Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8004
8005 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
8006
8c5c997d 8007Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
8008
8009 * configure.in: Add cpp stringify test.
8010 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
8011 * gengenrtl.c: Use it.
8012 * configure, config.in: Rebuild.
8013
7cc452c1 8014Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8015
8016 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
8017
bf2449f9 8018Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
8019
8020 * configure.in: Find declaration for sbrk.
8021 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
8022 * config.in, configure: Rebuild.
8023 * mips-tfile.c: Properly protect declaration of sbrk and free.
8024 * toplev.c: Properly protect declaration of sbrk.
8025
fad0a39b 8026Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
8027
8028 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
8029
89c667eb 8030Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
8031
8032 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
8033
8fe3f4f2 8034Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
8035
8036 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
8037
ae5e3e3f 8038Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
8039
8df08577 8040 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
8041 constant offset computations from objects with known alignment in
8042 the presence of STACK_BIAS.
8043
7040045e 8044 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
8045 necessary.
8046 (const_hash): Hash val is unsigned long.
8047 (SYMHASH): Likewise.
8048
8049 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
8050
8051 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
8052 char pointer, not HOST_WIDE_INT.
8053 (print_node): Likewise. Also hash is unsigned long not
8054 HOST_WIDE_INT.
8055
8056 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
8057
ae5e3e3f 8058 * explow.c (optimize_save_area_alloca): New function for targets
8059 where SETJMP_VIA_SAVE_AREA is true.
8060 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
8061 compute the amount of stack space needed should we find later that
8062 setjmp is never called by this function, stuff rtl for this inside
8063 a REG_NOTE of the final SET of stack_pointer_rtx.
8064 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
8065 current_function_calls_alloca, call optimize_save_area_alloca.
8066
25938e6a 8067Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
8068
8069 * i386.md: Remove redundant integer push patterns.
8070 Don't bother checking for TARGET_PUSH_MEMORY when
8071 pushing constants or registers.
8072
5418252c 8073Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8074 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
73be5127 8075
5418252c 8076 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
8077 (pwait): New function for mingw32.
8078
8079 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
8080 pipe support is broken for now.
8081
d8369235 80821998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
8083
8703605e 8084 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
8085 between frame_pointer_rtx, hard_frame_pointer_rtx, and
8086 arg_pointer_rtx is respected in initialization.
8087 (init_emit_once): Use gen_rtx_raw_REG() to create
8088 return_address_pointer_rtx.
8089
d8369235 8090 * reorg.c: #include "expr.h" for rtx prototypes.
8091 * Makefile.in (reorg.o): Depend on expr.h
8092
c4c3e69b 8093Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
8094
8095 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
8096 local_prefix to sub-make invocations.
8097
368c3291 8098Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
8099
8100 * objc-parse.c: Recognize protocol qualifiers in class definitions.
8101
89b00045 8102Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
8103
8703605e 8104 * rtl.h: Fix typos.
8105
38c99733 8106 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
2c99f836 8107 * configure.in: Check for atol.
38c99733 8108 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
8109
851dcab9 8110 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
8111
bc770d21 8112 * loop.c (find_and_verify_loops): When attempting to move insns from
8113 inside the loop outside the loop, create a BARRIER if no suitable
8114 one was found.
8115
99d0c1d3 8116 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
8117 favor of an equivalent change from gcc-2.8.
8118
89b00045 8119 * i386/x-sco5 (CC): Remove trailing whitespace.
8120
55dc3798 8121Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
73be5127 8122
55dc3798 8123 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
8124 (accessor_from_format): Likewise.
8125 (xmalloc): New function for use when linking with alloca.o.
8126
f9012b51 8127Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8128
8129 * frame.c (find_fde): Correct FDE's upper bound.
8130
dacecdaa 8131Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
8132
8133 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
8134
296688c0 8135Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
8136
8137 * calls.c (expand_call): Move #ifdef code out of macro argument
8138 lists.
8139 (emit_library_call, emit_library_call_value): Likewise.
8140
78fe6007 8141Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
8142
8143 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
8144
3304909d 8145Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
8146
8147 * version.c: Bump for snapshot.
8148
941522d6 8149Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
8150
8151 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
8152 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
8153 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
8154 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
8155 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
8156 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
8157 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
8158 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
8159 * unroll.c, varasm.c: Likewise.
8160 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
8161
8162Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
4b2eb577 8163
8164 * mips.h: Fix some type-o's from a previous change.
8165
00c62112 8166Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
8167
73be5127 8168 * loop.c (check_dbra_loop): Make sure initial value is a
00c62112 8169 CONST_INT before trying to normalize it.
8170
0ce4e497 8171Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
8172
8173 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
8174
b289a391 8175Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
8176
8177 * cppexp.c: Include gansidecl.h
8178
9c5ae247 8179Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
8180
8181 * svr4.h (LINK_SPEC): Never specify -h.
8182 * ptx4.h (LINK_SPEC): Likewise.
8183 * rs6000/sysv4.h (LINK_SPEC): Likewise.
8184 * sparc/sol2.h (LINK_SPEC): Likewise.
8185
31b9b749 8186Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
8187
6b4e4ff6 8188 * c-typeck.c (comptypes): Exit early on NULL input.
8189
31b9b749 8190 * haifa-sched.c (schedule_insns): Correctly remove inter-block
8191 dependencies after reload.
8192
42fd72e0 8193Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
8194
8195 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
8196
769ad2ce 8197Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
8198
8199 * alpha/vms.h (DIR_SEPARATOR): define
8200
8201Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
122c82ed 8202
8203 * Makefile.in (stamp-proto): Remove.
8204 (protoize.o, unprotoize.o): Straightforward compile.
8205 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
8206
91e538d5 8207Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8208
8209 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
8210 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
8211
be0954e6 8212Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
8213
8214 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
8215 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
8216 * sparc/netbsd.h, vax/netbsd.h: Likewise.
8217
365942d8 8218Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
8219
8220 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
8221
75caa75b 8222Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
8223
8224 * configure.in (target_cpu_default, target_cpu_default2): Use double
8225 quotes around them when testing their value.
8226 * configure: Rebuilt.
73be5127 8227
173f0adf 8228Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
8229
8230 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
8231 to allocate rtx.
8232 (gendef): Call obstack_alloc_rtx.
8233
8be60d84 8234Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
53202fac 8235
8236 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
8237 for now.
8238
34aaebf3 8239Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
73be5127 8240
34aaebf3 8241 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
8242 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
8243 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
8244
73be5127 8245Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
cb58c17a 8246
8247 * mips.md (return_internal): Change mode from SImode to VOIDmode.
8248
e389205e 8249Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
8250
8251 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
8252 "-static".
8253
7aa918a2 8254Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
8255
8256 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
8257 suffix from operand 3.
8258
57fc958f 8259Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8260 Jeffrey A Law (law@cygnus.com)
8261
8262 * regmove.c: New implementation of regmove pass.
8263 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
8264 decls, make them have external linkage. Return a value from
8265 optimize_reg_copy_1.
8266 * reload.h (count_occurrences): Add decl.
8267 * reload1.c (count_occurrences): Delete decl, make it have external
8268 linkage.
8269 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
8270
4295dae4 8271Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
73be5127 8272
4295dae4 8273 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
8274 if it is not defined.
73be5127 8275
3ad7bb1c 8276Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
8277
8278 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
8279 * emit-rtl.c (gen_rtx): Move special code to ...
8280 (gen_rtx_CONST_INT): New function.
8281 (gen_rtx_REG): New function.
8282 (*): Update all calls to gen_rtx.
8283 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
8284 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
8285 (GEN_INT): Call gen_rtx_CONST_INT.
8286 * gengenrtl.c: New file.
8287
3ad3a0ed 8288Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
8289
8290 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
8291 (base_alias_check): If no base found for address call canon_rtx and
8292 try again.
8293
d3eeb4f4 8294Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
8295
8296 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
8297 arguments for mips16.
8298 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
8299 Don't lose if tsize is zero after handling large stack for mips16.
8300 * mips.md (return): For trivial return, return address is in $31.
8301
823b9ac6 8302Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
8303
8304 * mips/mips16.S: Various changes to make it work with -msingle-float
8305 and -EL.
8306
4ddcf2b2 8307Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
8308 Ian Lance Taylor <ian@cygnus.com>
8309 Jeff Law <law@cygnus.com>
8310
8311 * mips.c, mips.h, mips.md: First cut at merging in mips16
8312 support. Major modifications throughout all three files.
8313
f877a6f9 8314Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
8315
8316 * configure.in: Make gthr-default.h a forwarding header instead of
8317 a symlink.
8318
50ba03b5 8319Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8320
1043b406 8321 * gcov-io.h: Include sys/types.h to ensure we get size_t.
8322
50ba03b5 8323 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
8324
72ac783d 8325Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
8326 Jeffrey A Law (law@cygnus.com)
8327
8328 * crtstuff.c (__frame_dummy): New function for irix6.
8329 (__do_global_ctors): Call __frame_dummy for irix6.
8330 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
8331
1fce2e8a 8332Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
8333
8334 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
8335
34377880 8336Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
8337
8338 * c-decl.c (init_decl_processing): Provide proper fallback symbol
8339 for __builtin_memset.
8340 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
8341 not INTEGER_CST. Assert arg 3 is a constant.
8342
8343 * alpha.c (mode_width_operand): Accept 64-bit modes.
8344 (mode_mask_operand): Likewise.
8345 (print_operand): Likewise for 'M' and 'U' codes.
8346 (alpha_expand_unaligned_load): New function.
8347 (alpha_expand_unaligned_store): Likewise.
8348 (alpha_expand_unaligned_load_words): Likewise.
8349 (alpha_expand_unaligned_store_words): Likewise.
8350 (alpha_expand_block_move): Likewise.
8351 (alpha_expand_block_clear): Likewise.
8352 * alpha.h (MOVE_RATIO): New define.
8353 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
8354 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
8355
8356 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
8357 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
8358
bba1c400 8359Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
8360
8361 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
8362 * configure: Update.
8363
9cef77f4 8364Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
8365
587a9fdf 8366 * emit-rtl.c (operand_subword): Correctly handle extracting a word
8367 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
8368
9cef77f4 8369 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
8370 for first argument.
8371
2aa3e87b 8372Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
8373
8374 * configure.in: Set and subsitute host_exeext. Use it when creating
8375 the assembler and linker symlinks.
8376 * configure: Rebuild.
8377 * Makefile.in (exeext): Set to @host_exeext@.
8378 (build_exeext): New variable, set to @build_exeext@.
8379 (FLAGS_TO_PASS): Pass down build_exeext.
8380 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
8381 programs.
8382
03252d17 8383Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
8384
8385 * mn10200.md (addsi3, subsi3): Fix thinkos.
8386
a6385be1 8387Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
8388
8389 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
8390 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
8391 unix always, since we want to be able to thunk to functions in a
8392 shared library from an application.
8393
fd47501d 8394Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
8395
8396 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
8397 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
8398
13d0ac20 8399Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
8400
8401 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
8402 offset's mode is not ptr_mode, convert it.
8403
31f146d8 8404Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
8405
8406 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
8407 compiling if it was already defined.
8408
12144423 8409Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
8410
8411 * flow.c (find_basic_blocks): Don't create a new basic block
8412 for calls in a LIBCALL block.
8413
acad6414 8414Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
8415
8416 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
8417
83cac79d 8418Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
8419
8420 * cse.c (rtx_cost): Remove conflicting default case.
8421
867240c6 8422Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
8423
8424 * configure.in: Move default enabling of Haifa out of for loop.
8425 * configure: Rebuild.
8426
31e14e29 8427Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
8428
8429 * version.c: Bump for snapshot.
8430
58febf9e 84311997-12-25 Teemu Torma <tot@trema.com>
8432
8433 * Makefile.in (GTHREAD_FLAGS): New var.
8434 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
8435 (distclean): Remove gthr-default.h.
8436
8437 * configure.in: Accept dce as a thread package.
8438 Check for thread.h and pthread.h.
8439 Link gthr-default.h to appropriate thread file and set
8440 gthread_flags.
8441 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
8442 include multilib definitions from pa/t-dce-thr.
8443 (sparc-*-solaris2*): Enable threads by default, if thread.h or
8444 pthread.h is found, preferring posix threads over solaris ones.
8445
8446 * config/pa/t-dce-thr: New file.
8447 * config/pa/t-pa: Removed multilibs.
8448 * config/sparc/t-sol2: Ditto.
73be5127 8449
58febf9e 8450 * gthr.h: New file.
8451 * gthr-single.h: New file.
8452 * gthr-posix.h: New file.
8453 * gthr-solaris.h: New file.
8454 * gthr-dce.h: New file.
8455 * libgcc-thr.h: Removed.
8456 * objc/thr-dce.c: New file copied from thr-decosf1.c.
8457
8458 * frame.c: Include gthr.h instead of libgcc-thr.h.
8459 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
8460 (eh_context_initialize): If __gthread_once fails, use static eh
8461 context.
8462 (eh_context_free): Call __gthread_key_dtor.
8463
04144be4 8464Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
8465
8466 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
8467
ef9c575c 8468Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
8469
65fc4db1 8470 * cse.c (max_insn_uid): New variable.
65fc4db1 8471 (cse_around_loop): Use max_insn_uid.
8472 (cse_main): Set max_insn_uid.
8473
ef9c575c 8474 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
8475 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
8476 -mlong64, and -mgp{32,64} options.
8477 * mips.c (mips_abi): Change type to int.
8478 * mips.h (enum mips_abi_type): Delete.
8479 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
8480 (mips_abi): Change type to int.
8481
46afcf63 8482Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
8483
8484 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
8485 optimization is now always enabled.
8486
8487 * calls.c (expand_call): Recognize C++ operator new as malloc-like
8488 function.
8489
8490 * alias.c (memrefs_conflict_p): Eliminate tests now done by
8491 base_alias_check.
8492 (*_dependence): Call canon_rtx before base_alias_check.
8493 (init_alias_once): New function to precompute set of registers which
8494 can hold Pmode function arguments.
8495
8496 * rtl.h: Declare init_alias_once.
8497
8498 * toplev.c (compile_file): Call init_alias_once.
8499
8f4384c2 8500Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
8501
8502 * tree.c (restore_tree_status): Do not dereference a null pointer.
8503
25f6aa19 8504Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
8505
8506 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
8507 RLIMIT_STACK. This maintains consistency with the recent, similar
8508 patch to cccp.c and toplev.c.
8509
e7a69d05 8510Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
8511
8512 * genattrtab.c (expand_units): For large nr opclasses, expand
8513 function_units_used with ORX to prevent blowups. Tag with FFS.
8514 (num_unit_opclasses): New variable.
8515 (gen_unit): Update it.
8516 (enum operator): Add ORX_OP.
8517 (operate_exp): Treat ORX as or, except don't expand across an if.
8518 Reuse number rtx's after operating on them.
8519 (check_attr_value): Accept IOR, AND, & FFS.
8520 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
8521 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
8522 (write_expr_attr_cache, write_toplevel_expr): New functions.
8523 (write_attr_get): Handle FFS-tagged expressions.
8524 (make_canonical): Don't expand const attributes.
8525 (convert_const_symbol_ref): Dike out.
8526 (evaluate_eq_attr): Handle SYMBOL_REF.
8527 (main): Don't emit get_attr_foo for const attributes.
8528
8529 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
8530 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
8531 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
73be5127 8532 * alpha.md: Redo all of the scheduling, adding EV6 support, and
8533 combining function units where possible.
e7a69d05 8534 (attr "type"): Split loads, stores, cmov into int/fp. Combine
8535 multiplies and divides. Add EV6 sqrt, ftoi, itof.
8536 (attr "opsize"): New attribute.
8537 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
8538 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
8539 to control register allocation.
8540 (movsi2-1, movdi2-1): Likewise.
8541
3024b95b 8542Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
73be5127 8543
3024b95b 8544 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
8545 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
8546 Move OSF/1 specific defines out.
8547 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
8548 Move Linux specific defines out.
8549 (LINK_SPEC): Genericize.
8550 (ASM_FILE_START): Emit .arch if using more than the base insn set.
8551 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
8552 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
8553 (HANDLE_SYSV_PRAGMA): Define.
8554 * alpha/osf.h: New file.
8555 * alpha/linux.h: Split. Retain file-format independant defines.
8556 Import Linux bits from elf.h.
8557 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
8558 (FUNCTION_PROFILER): _mcount takes its address in $28.
8559 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
8560 * alpha/linux-ecoff.h: New file.
8561 * alpha/linux-elf.h: New file.
8562 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
8563 * alpha/win-nt.h (TARGET_DEFAULT): Define.
8564 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
8565 Add new headers as appropriate.
73be5127 8566
3024b95b 8567 * configure.in (alpha*): Enable Haifa by default.
8568 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
8569 * configure: Rebuild.
73be5127 8570
119f80e4 8571Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
8572
8573 * Makefile.in (clean): Remove the stages with their objects here ...
8574 (distclean): ... instead of here.
8575
65ba74c3 8576Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
73be5127 8577
65ba74c3 8578 * cse.c (rtx_cost): Add default case in enumeration switch.
8579 * fix-header.c (recognized_macro): Likewise.
8580 (recognized_extern): Likewise.
8581 (write_rbrac): Likewise.
8582 * objc/objc-act.c (encode_aggregate): Likewise.
8583 (gen_declarator): Likewise.
8584 (gen_declspecs): Likewise.
8585
68b497b4 8586Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
8587
8588 * haifa-sched.c (create_reg_dead_note): Detect and handle another
8589 case where we kill more regs after sched than were killed before
8590 sched.
8591 * sched.c (create_reg_dead_note): Similarly.
8592
04d78161 8593Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
8594
8595 * c-pragma.c: Include flags.h.
8596
3402c120 8597Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
8598
8599 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
8600 about system headers.
8601 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
8602 and also to resolve symbols in prefix.c.
8603
8604 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
8605 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
8606 when the definitions in auto-config.h is not visible.
8607 (HAVE_BZERO): Likewise.
8608 (HAVE_BCMP): Likewise.
8609 (HAVE_RINDEX): Likewise.
8610 (HAVE_INDEX): Likewise.
8611
37a75d53 8612Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
8613
8614 * pa.c (emit_move_sequence): Handle a function label source
8615 operand.
8616
73f0c687 8617Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
8618
8619 * c-pragma.c (handle_pragma_token): Generate warning messages
8620 about unknown pragmas if warn_unknown_pragmas is set.
8621
8622 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
8623 line option to set variable: warn_unknown_pragmas.
8624
70ef40af 8625Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
8626
8627 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
8628 definition.
8629 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
8630
04ddb594 8631Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
8632
8633 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
8634 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
8635 generate more fine grained floating point emulation libraries.
8636 * config/fp-bit.c: Add protecting #ifdef to all functions so
8637 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
8638 then compile all suitable functions.
8639 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
8640 underscores to avoid namespace pollution.
8641 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
8642 (FPBIT): Define.
8643 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
8644 (FPBIT): Define.
8645 (DPBIT): Define.
8646
ff938b86 8647Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
99c14947 8648 Jeff Law <law@cygnus.com>
8649
8650 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
8651 of the declaration.
8652 * c-decl.c (finish_decl): Use parentheses around && within ||.
8653 * rtl.c: Include stdlib.h.
8654 (read_skip_spaces): Add parentheses around assignments used as
8655 truth values.
8656 (read_rtx): Initialize list_rtx.
8657 * cppexp.c (parse_number): Use || when operands are truth values.
8658 * alias.c (find_base_value): Add default case.
8659 (memrefs_conflict): Likewise.
8660 * combine.c (sets_function_arg_p): Likewise.
8661 * genemit.c (gen_exp): Likewise.
8662 * local-alloc.c (contains_replace_regs): Likewise.
8663 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
8664 * fold-const.c (fold_convert): Use "&&" for truth values.
8665 (fold): Add default case.
8666 * sdbout.c (sdbout_field_types): Fix typo in declaration.
8667 (sdbout_one_type): Add default case.
8668 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
8669 (some_operand): Add default case.
8670 (input_operand): Likewise.
8671 (signed_comparison_operator): Likewise.
8672 (divmod_operator): Likewise.
8673 (alpha_set_memflags_1): Likewise.
8674 * reload1.c (reload_cse_simplify_operands): Ensure function
8675 always returns a value.
8676 * scan-decls.c (scan_decls): Likewise.
8677 * c-lex.c (skip_white_space): Fix typo in declaraion.
8678 * c-typeck.c (comp_target_types): Add parentheses around assignment
8679 used as truth value.
8680 (print_spelling): Likewise.
8681 (constructor_implicit, constructor_result): Remove unused variables.
8682 * collect2.c (scan_library): Protect prototype with
8683 #ifdef SCAN_LIBRARIES.
8684 * emit-rtl.c (find_line_note): Fix typo in declaration.
73be5127 8685 * final.c (asm_insn_count): Protect prototype with
99c14947 8686 #ifdef HAVE_ATTR_length.
8687 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
8688 (try_pre_increment_1, try_pre_increment): Likewise.
8689 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
8690 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
8691 * gcov-io.h (__store_long, __write_long, __read_long): Fix
8692 unsigned/signed comparisons.
8693 * gcov.c (read_files): Remove unused "first_type" variable.
8694 (scan _for_source_files): Initialize s_ptr.
8695 (function_summary): Eliminate "%lf" formatting, use %ld for
8696 longs.
8697 (output_data): Initialize branch_probs and last_line_num.
8698 Eliminate "%lf" formatting, use "%ld" for longs.
8699
25d1d1e9 8700Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
8701
c866d7d4 8702 * mips16.S: New file.
8703
8704 * libgcc2.c (varargs): Handle mips16.
8705
25d1d1e9 8706 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
8707 expression.
8708 * stmt.c (expand_end_case): Likewise.
8709 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
8710 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
9eaab178 8711 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
25d1d1e9 8712
4ac1f788 8713Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8714
8715 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
8716 the build directory.
8717 (libobjc.a): Update dependency list.
8718 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
8719 directory.
8720 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
8721 (objc.mostlyclean): Remove runtime-info.h.
8722
f52483b5 8723Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
8724
8725 * tree.c (build_range_type): Allow creation of ranges with no maximum.
8726 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
8727 * dwarf2out.c (add_subscript_info): Likewise.
8728 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
8729 * sdbout.c (plain_type_1): Likewise.
8730 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
8731 Likewise.
8732 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
8733 Likewise.
8734
9269754d 8735Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
73be5127 8736
9269754d 8737 * mips.c (fatal): Remove declaration.
8738
87391997-12-18 Mark Mitchell <mmitchell@usa.net>
8740
8741 * integrate.c (get_label_from_map): New function.
8742 (expand_inline_function): Use it. Initialize the label_map to
8743 NULL_RTX instead of gen_label_rtx.
8744 (copy_rtx_and_substitute): Use get_label_from_map.
8745 * integrate.h (get_label_from_map): New function.
8746 (set_label_from_map): New macro.
8747 * unroll.c (unroll_loop): Use them.
8748 (copy_loop_body): Ditto.
8749
c1008170 8750Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
8751
8752 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
8753 (INIT_TARGET_OPTABS): Define.
8754 * mips/ecoff.h: Include gofast.h before mips.h.
8755 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
8756 * mips/elf64.h: Likewise.
8757 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
8758
f64b1d68 8759Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
8760
8761 * except.c: Remove register_exception_table{,_p}.
8762
ee87c442 8763Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
8764
9342f8f0 8765 * unroll.c (calculate_giv_inc): Handle constant increment found in
8766 a MEM with an appropriate REG_EQUAL note.
8767
562c48ae 8768 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
8769
ee87c442 8770 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
8771 frame pointer in the prologue.
8772
ea067c76 8773Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
8774
8775 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
8776 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
8777
9658eb66 8778Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
73be5127 8779
9658eb66 8780 * config/m68k/m68k.c (output_function_prologue): Typecast
8781 dwarf2out_cfi_label to (char *).
8782 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
73be5127 8783
f8945e7a 8784Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
8785
8786 * sparc.md (jump): Don't use the annul bit around an empty loop.
8787 Patch from Kevin.Kelly@East.Sun.COM.
8788
1f9ca44e 8789Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
8790
73be5127 8791 * jump.c: (jump_optimize): Don't use the return register as a
1f9ca44e 8792 source1 of a conditional move.
8793
3745be7b 8794Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
8795
8796 * sparc.c (DF_MODES): Or the mask not the bit number.
8797 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
8798
43a36bab 8799Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
8800
8801 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
8802
35cd6ce9 8803Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
8804
0cacc072 8805 * fixincludes (size_t): Add support for Motorola's stdlib.h
8806 which fails to provide a definition for size_t.
8807 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
8808 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
8809 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
8810
35cd6ce9 8811 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
8812 prevent unresolved externals in libio.
8813 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
8814
d06ad4c1 8815Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
8816
8817 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
8818 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
8819 (LIB_SPEC): Updated for glibc 2.
8820
8f264256 8821Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
8822
8823 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
8824 * ginclude/varargs.h: Likewise.
8825
cd236c08 8826Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
f9ae41a2 8827
8828 * version.c: Bump for snapshot.
8829
cd236c08 8830Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
8831
8832 * frame.h (__register_frame, __register_frame_table,
8833 __deregister_frame): New.
8834 * frame.c (__register_frame, __register_frame_table,
8835 __deregister_frame): New.
8836 * frame.c (__deregister_frame_info): Return void *.
8837 * frame.h (__deregister_frame_info): Ditto.
8838 * collect2.c (__deregister_frame_info): Ditto.
8839
d58b6b22 8840Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
8841
8842 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
8843
07c1a295 8844Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
8845
8846 * alpha.c (alpha_cpu_name): New variable.
8847 (alpha_mlat_string): Likewise.
8848 (alpha_memory_latency): Likewise.
8849 (override_options): Handle -mmemory-latency.
8850 (alpha_adjust_cost): Adjust load cost for latency.
8851 * alpha.h (TARGET_OPTIONS): Add meory-latency.
8852 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
8853 TARGET_CIX into account.
8854 (MEMORY_MOVE_COST): Define in terms of memory_latency.
8855 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
8856
8857 * alpha.h (ASM_COMMENT_START): New macro.
8858
8859Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
6182a80f 8860
8861 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
8862 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
8863
8864 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
8865 SUBREG_REG if the word count is unchanged.
8866 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
8867 subregs of identical word size for push_reload.
8868
2948450d 8869Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
8870
8871 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
8872 if all we're doing is dealing with -Wreturn-type.
8873
895f7982 8874Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
8875
8876 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
8877 Use and 255 instead of zapnot 1, since it schedules better.
8878
69bbada3 8879Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
8880
8881 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
8882 it as volatile.
8883
c4fa4c4d 8884Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
8885
8886 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
8887 dependency we delete. Properly update prev for multiple consecutive
8888 deletions.
8889 (priority): Skip deleted dependence.
8890
58df2942 8891Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
8892
8893 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
8894
30618d5e 8895Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
8896
4a918900 8897 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
8898 determining when a new basic block starts.
8899
62728fae 8900 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
8901
8902 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
8903 * pa.md (iorsi3): Add missing args to *_operand calls.
8904
30618d5e 8905 * except.c (call_get_eh_context): Don't mess with sequences.
8906 (emit_eh_context): Include the call in the sequence here.
8907
285cf8b8 89081997-12-11 Paul Eggert <eggert@twinsun.com>
8909
8910 * collect2.c (write_c_file_glob): Allocate initial frame object
8911 in static storage and pass its address.
8912
1a74f959 8913Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
8914
8915 * except.c (call_get_eh_context): Don't take a parm.
8916 Put the call at the top of the function.
8917 (emit_eh_context): Adjust.
8918 (get_eh_context): Replace with former use_eh_context.
8919 (get_eh_context_once, get_saved_pc_ref): Remove.
8920 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
8921 * except.h: Adjust.
8922 * integrate.c (expand_inline_function): Adjust.
8923 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
8924
ccd8c1fd 8925Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
8926
8927 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
8928 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
8929
f20b87e8 8930Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
8931
0cacc072 8932 * fixincludes (strlen,strspn,strcspn return value): Handle different
f20b87e8 8933 layout on sysV88.
73be5127 8934 (hypot): Provide a fake for hypot which is broken on
f20b87e8 8935 m88k-motorola-sysv3.
8936
b4dae43c 8937Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
8938
8939 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
8940 tree_code_name from pointers to arrays.
8941 * tree.c: Remove standard_tree_code_* variables, no longer used.
8942 * print-tree.c: Remove declaration of tree_code_name.
8943
8944 * cp/lex.c (init_lex): Update for tree_code_* changes.
8945 * objc/objc-act.c (init_objc): Likewise.
8946
8947 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
8948 changes.
8949
79013643 8950Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
8951
8952 * config.sub: Add support for BeOS target.
8953 * configure.in: Likewise.
8954 * ginclude/stdarg.h: Likewise.
8955 * ginclude/stddef.h: Likewise.
8956 * ginclude/varargs.h: Likewise.
8957 * rs6000/beos.h: New file for BeOS.
8958 * rs6000/t-beos: Likewise.
8959 * rs6000/x-beos: Likewise.
8960 * rs6000/xm-beos.h: Likewise.
8961 * toplev.c (get_run_time): Just return 0 on BeOS.
8962
351d26ea 8963Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
8964 Toon Moene (toon@moene.indiv.nluug.nl)
8965
8966 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
8967 old and broken Sun3 assemblers. Newer versions handle large
8968 offsets correctly as does the GNU assembler.
8969
ebcbb79c 8970Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8971
8972 * objc/objc-act.c (lang_report_error_function): Disable.
8973 * objc/objc-parse.y: Include "output.h".
8974 (yyerror): Remove redundant decl.
8975 (yyprint): Fix prototype.
8976 (apply_args_register_offset): Remove redundant decl.
8977 (get_file_function_name): Likewise.
8978
a9ea090e 8979Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
8980
8981 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
8982 a new basic block.
8983 (find_basic_blocks_1): Likewise.
8984
725cde8f 8985Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
8986
8987 * except.c (use_eh_context): Don't copy_rtx a REG.
8988 (emit_throw): Lose old unwinder support.
8989 (expand_internal_throw): Likewise.
8990 * libgcc2.c (struct eh_context): Likewise.
8991 (new_eh_context): Likewise.
8992 (__get_eh_info): Lose redundant cast.
8993 (__get_dynamic_handler_chain): Likewise.
8994 (__get_saved_pc): Lose.
8995 Lose all old unwinder support code.
8996
732992fa 8997Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
8998
8999 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
73be5127 9000
732992fa 9001 * integrate.c (expand_inline_function): If the inline fn uses eh
9002 context, make sure that the current fn has one.
9003 * toplev.c (rest_of_compilation): Call emit_eh_context.
9004 * except.c (use_eh_context): New fn.
9005 (get_eh_context_once): New fn.
9006 (call_get_eh_context): New fn.
9007 (emit_eh_context): New fn.
9008 (get_eh_context): Call either get_eh_context_once or
9009 call_get_eh_context, depending on what we have.
9010 (get_dynamic_handler_chain): Call get_eh_context_once.
9011 * except.h: Prototypes for fns above.
9012 * optabs.c (get_eh_context_libfunc): Removed.
9013 (init_optabs): Don't initialize it.
9014 * expr.h (get_eh_context_libfunc): Removed.
9015 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
9016 * config/pa/pa.h (CPP_SPEC): Support for -threads.
9017 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
9018 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9019 New multilib for -threads.
9020 * config/sparc/t-sol2: Added multilibs for -threads and
9021 made -pthreads alias to it.
9022 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
9023 Added -threads and -pthreads options.
9024 * libgcc-thr.h: New file.
9025 * libgcc2.c: (__get_cpp_eh_context): Removed.
9026 (struct cpp_eh_context): Removed.
9027 (struct eh_context): Replaced cpp_eh_context with generic language
73be5127 9028 specific pointer.
732992fa 9029 (__get_eh_info): New function.
9030 (__throw): Check eh_context::info.
9031 (__sjthrow): Ditto.
9032 * libgcc2.c: Include libgcc-thr.h.
9033 (new_eh_context, __get_eh_context,
9034 eh_pthread_initialize, eh_context_initialize, eh_context_static,
9035 eh_context_specific, eh_context_free): New functions.
9036 (get_eh_context, eh_context_key): New variables.
9037 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
9038 get_eh_context to get the context.
9039 (longjmp): Move the declaration inside
9040 #ifdef DONT_USE_BUILTIN_SETJMP.
9041 * frame.c: Include libgcc-thr.h.
9042 (object_mutex): Mutex to protect the object list.
9043 (find_fde, __register_frame, __register_frame_table,
9044 __deregister_frame): Hold the lock while accessing objects.
9045 * except.h (get_eh_context): Declare.
9046 * except.c (current_function_ehc): Define.
9047 (current_function_dhc, current_function_dcc): Removed.
9048 (get_eh_context): New function.
9049 (get_dynamic_handler_chain): Use get_eh_context.
9050 (get_saved_pc_ref): Ditto.
9051 (get_dynamic_cleanup_chain): Removed references to
9052 current_function_dcc.
9053 (save_eh_status, restore_eh_status): Save and restore
9054 current_function_ehc instead.
9055 * optabs.c (get_eh_context_libfunc): New variable.
9056 (init_optabs): Initialize it.
9057 * expr.h: Declare get_eh_context_libfunc.
9058 * function.h (struct function): Replaced dhc and dcc with ehc.
9059 * except.c (get_saved_pc_ref): New functions.
9060 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
9061 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
9062 of eh_saved_pc.
9063 (end_eh_unwinder): Likewise.
9064 (init_eh): Remove initialization of eh_saved_pc.
9065 * optabs.c (get_saved_pc_libfunc): New variable.
9066 (init_optabs): Initialize it.
9067 * expr.h: Declare get_saved_pc_libfunc.
9068 * except.h (eh_saved_pc_rtx): Deleted.
9069 (get_saved_pc_ref): Declared.
9070
9071 From Scott Snyder <snyder@d0sgif.fnal.gov>:
9072 * libgcc2.c (__get_saved_pc): New.
9073 (__eh_type, __eh_pc): Deleted.
9074 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
9075 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
9076 this fcn.
9077
1a60f06a 9078Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
9079
9d479c1b 9080 * sparc/sol2.h: Use 64 bit multiply and divide functions in
9081 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
9082 as 0.
9083
1a60f06a 9084 * rtl.h (global_rtl): New variable, replacing separate variables for
9085 commonly used rtl.
9086 (const_int_rtx): Now array of rtx_def, not rtx.
9087 * emit-rtl.c: Update for new rtl data structures.
9088 * genattrtab.c: Define global_rtl.
9089
4dba034c 9090Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
ef08e594 9091
4dba034c 9092 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
9093 default.
ef08e594 9094
085073c7 9095Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
9096
9097 * crtstuff.c (__do_global_ctors): Fix typo.
9098
a6b6c865 9099Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
9100
9101 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9102 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9103
030a4821 9104Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
9105
9106 * rs6000.h (FUNCTION_ARG_PADDING): Define.
9107 * rs6000.c (function_arg_padding): New function.
9108
716d251c 9109Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
9110
9111 * m68k.c: Include tree.h only once.
9112
5ae9f41f 9113Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9114
9115 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
9116
bc33205e 9117Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
9118
9119 * Partially cleaned up prototyping code from HJ.
f52f7b9e 9120 * tree.h: Add many prototypes.
bc33205e 9121 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
9122 All references changed.
9123 * rtl.h: Protect from multiple inclusions. Add many prototypes.
73be5127 9124
ef08e594 9125Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
bc33205e 9126
9127 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
9128 string functions like strlen.
9129
24302624 9130Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
9131
9132 * configure.in: Check for functions getrlimit and setrlimit.
9133 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9134 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9135
05bdc491 9136Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
9137
9138 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
9139
d2832bd8 9140Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
9141
9142 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
9143 Fix merge problems.
9144
9145 * alpha.c (override_options): Don't know about scheduling for EV6.
9146 * alpha.md (ev5 function units): Don't overload as ev6.
9147
9148 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
9149 * alpha.md (define_attr type): Add mvi.
9150 (ev5_e0): Define sceduling parameters for it.
9151 (TARGET_MAX insns): Type is mvi not shift.
9152
e4356a4b 9153Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
9154
9155 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
9156
4d8bf9e6 9157Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9158
9159 * cstamp-h, auto-config.h: Delete.
9160
a3ea7198 9161Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
9162
9163 * version.c: Bump for snapshot.
9164
5efb4727 9165Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
9166
9167 * cccp.c: Fix typo brought over in merge.
9168
cc62d0fa 9169 * Merge in changes from gcc-2.8.
02508ab9 9170
7720c877 9171Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
9172
9173 * m68k.c: Include tree.h for dwarf2out_cfi_label.
9174
9175 * gcc.c (process_command): Do not take address of function fatal when
9176 calling lang_specific_driver.
9177
9178Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
9179
73be5127 9180 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
7720c877 9181 doesn't work with it yet, so set it to 0.
9182 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
9183
9184Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9185
9186 * cse.c (cse_insn): Check for invalid entries when taking references.
9187
45a10898 9188Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9189
9190 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
9191 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
9192 * toplev.c (rest_of_compilation): Pass it. Remove code to
9193 save / clear / restore flag_unroll_{,all_}loops.
9194
9195Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
9196
9197 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
9198
9199Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
9200
9201 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
9202
c401b398 9203Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
9204
42b203cd 9205 * except.c (get_dynamic_handler_chain): Only make the call once per
9206 function.
9207
c401b398 9208 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
9209
64916c76 9210Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9211
9212 * sh.c (final_prescan_insn): Use local label prefix
9213 when emitting .uses pseudo-ops.
9214
23ceb7b2 9215Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9216
9217 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
9218 * except.c: Lose outer_context_label_stack.
9219 (expand_eh_region_end): Rethrow from outer_context here.
9220 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
9221 (expand_internal_throw): Take no args.
9222 (expand_internal_throw_indirect): Lose.
9223 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
9224 (expand_start_all_catch): Start a rethrow region.
9225 (expand_end_all_catch): End it.
9226 (expand_rethrow): New fn.
9227 * except.h: Reflect above changes.
9228 * flow.c: Revert change of Nov 27.
9229
7ba3aec4 9230Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
9231
9232 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
9233
506b6864 9234Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9235
9236 * except.c (expand_fixup_region_end): New fn.
9237 (expand_fixup_region_start): Likewise.
9238 (expand_eh_region_start_tree): Store cleanup into finalization here.
9239 * stmt.c (expand_cleanups): Use them to protect fixups.
9240
52c044b2 9241Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
9242
9243 * mips/mips.md (muldi3_r4000): Broaden the output template
9244 and attribute assignments to handle three operand dmult;
9245 rename to muldi3_internal2.
9246 (muldi3): Call the new muldi3_internal2 for R4000, and
9247 any GENERATE_MULT3 chip.
9248
81ffae90 9249Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
9250
9251 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
9252
91f09a1b 9253Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
9254
9255 * unroll.c (find_splittable_givs): Remove last change. Handle givs
9256 with a dest_reg that was created by loop.
9257
c0a49bd7 9258Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
9259
9260 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
9261
9262 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
9263
633ab3b6 9264Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
9265
9266 * configure.in: Fix NCR entries.
9267
c4fdf892 9268Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
9269
439d8358 9270 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
9271 nested exceptions correctly.
9272
c4fdf892 9273 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
9274 that was created by loop.
9275
934b828a 9276Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9277
9278 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
9279
9280 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
9281
0dc80f60 9282Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
9283
4aab7421 9284 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
9285 (print_operand): Use SMALL_DATA_REG for the register involved in
9286 small data relocations.
9287 (print_operand_address): Ditto.
9288
9289 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
9290 -dynamic linker is not used.
9291
cb0f7e45 9292 * rs6000.md (call insns): For local calls, use @local suffix under
9293 System V. Don't use @plt under Solaris.
9294
0dc80f60 9295 * rs6000.c (output_function_profiler): Put label address in r0, and
9296 store LR in 4(sp) for System V/eabi.
9297
9298 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
9299 byte boundary, and maintain stack backchain.
9300
c0a49bd7 9301Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9302
9303 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9304 fix_truncsfdi2): Change *.
9305
c5f82e23 9306Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
9307
9308 * toplev.c (main): Complain about -gdwarfn.
9309
934b828a 9310Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
9311
73be5127 9312 * dwarfout.c (output_type): If finalizing, write out nested types
934b828a 9313 of types we've already written.
9314
a3c228aa 9315Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
9316
9317 (patches originally from Geoffrey Keating)
9318 * rs6000.c (function_arg): Excess floating point arguments don't
9319 go into GPR registers after exhausting FP registers under the
9320 System V.4 ABI.
9321 (function_arg_partial_nregs): Ditto.
9322
9323 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
9324 suffix to calls.
9325
4da943d6 9326Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
9327
9328 * integrate.c (output_inline_function): Just unset DECL_INLINE.
9329
9330Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
9331
9332 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
9333 proper alignment.
9334
9335 * libgcc2.c (__throw): Initialize HANDLER.
9336
4d14e187 9337Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9338
9339 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9340 fix_truncsfdi2): Change *X to ?*X.
9341
260a0e44 9342Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
9343
9344 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
9345
dade0711 9346Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
9347
9348 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
9349
c96dd0ff 9350Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
9351
9352 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
9353
9354Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
9355
9356 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
9357 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
9358 * expr.h: Likewise.
9359
934b828a 9360Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
9361
9362 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
9363 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
9364 gas and not using the new HP assembler.
9365
ccb6700d 9366Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
9367
9368 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
9369 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
9370
2c55c152 9371Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
9372
9373 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
9374 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
9375 definition.
9376
9c8f1831 9377Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
9378
9379 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
9380
2f2bc719 9381Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
9382
9383 * except.h: Add outer_context_label_stack.
9384 * except.c: Likewise.
9385 (expand_start_all_catch): Push the outer_context for the try block
9386 onto outer_context_label_stack.
9387 (expand_end_all_catch): Use it and pop it.
9388
8cb9a1ca 9389Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
9390
9391 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
9392
3bc2043a 9393Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
9394
9395 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
9396
88c08cc1 9397Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
9398
9399 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
9400 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
9401
4b7a79e2 9402Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
9403
9404 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
73be5127 9405 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
4b7a79e2 9406 __builtin_delete, and __builtin_vec_delete.
9407
9408 * except.c (output_exception_table): Don't bother with
9409 __EXCEPTION_END__.
9410
3807c59e 9411Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
9412
aa7cb294 9413 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
9414 is an in/out operand.
9415 (zero extended variants of stwm/stwm patterns): Similarly.
9416
3807c59e 9417 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
9418
3450f436 9419Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
9420
9421 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
9422 Use assemble_name.
9423 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
9424 (output_call_frame_info): Emit a \n after using it.
9425
034af093 9426Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
9427
9428 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
9429
7cac9eff 9430Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
9431
9432 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
9433 (ASM_OUTPUT_DWARF_VALUE4): New macro.
9434 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
9435 defined.
9436 (output_call_frame_info): Do not output forward label differences
9437 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
9438 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
9439
1083186b 9440Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9441
9442 * sh.md (attribute "type"): Add nil.
9443 (movsi_ie): y/y alternative is type nil.
9444 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
9445 alternatives.
9446 (movsf_ie+1): Delete.
9447
f62ccc66 9448Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
9449
9450 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
9451 large_int, emit two insns instead of one splitable insn.
9452 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
9453 from cfa_temp_value, use cfa_offset. Add assert checking that
9454 cfa_reg is SP.
9455
0dca3fc5 9456Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
9457
9458 * cccp.c (deps_output): Properly quote file names for make.
9459
6b298319 9460Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
9461
9462 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
9463
81dd4c0f 9464Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
9465
9466 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
9467
fa3c3edf 9468Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
9469
9470 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
9471 return.
9472 (cse_end_of_basic_block): Similarly.
e389205e 9473
b9779656 9474Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
9475
9476 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
9477 (SELECT_RTX_SECTION): Define.
9478 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
9479
77333ad9 9480Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
9481
9482 * Makefile.in (compare, compare-lean): Define $stage for each
9483 shell command.
9484 (gnucompare, gnucompare-lean): Likewise.
9485
0aae1539 9486Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
9487
9488 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
9489
9490 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
9491 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
9492
a2ad7eb8 9493Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
9494
9495 * dwarfout.c (byte_size_attribute): Add local var upper_bound
9496 and add case to handle STRING_TYPE.
9497 * dwarfout.c (output_string_type_die): Fix code to generate
9498 correct string length attribute for fixed length strings.
9499 Still needs support for varying length strings.
9500
1dca5754 9501Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
9502
9503 * toplev.c (get_run_time): Do something sensible for cygwin32.
9504
500ed12e 9505Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
9506
22278f3b 9507 * expr.c (expand_builtin_setjmp): Set
9508 current_function_has_nonlocal_label.
9509 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
9510 call-saved registers across calls.
9511
9512 * alpha.md (exception_receiver): Remove.
9513 (nonlocal_goto_receiver_osf): New
9514 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
9515 (nonlocal_goto_receiver): New, select _osf or _vms.
9516
73fe3a56 9517 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
9518 keep them from being propogated to the object file.
9519 (alpha_write_linkage): Likewise.
9520 * alpha.md (call_vms): Likewise.
9521 (call_value_vms): Likewise.
9522 (unnamed osf call insns): Likewise.
9523
9524 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
9525 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
9526
500ed12e 9527 * alpha.c (call_operand): Any reg is valid for WinNT.
9528 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
9529 (anon nt calls): Add 'R' alternative.
9530 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
9531 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
9532
44e00f80 9533Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
9534
a4e41de7 9535 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
9536
44e00f80 9537 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
9538 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9539 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9540
fca03663 9541Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
9542
9543 * reload1.c (new_spill_reg): Improve fixed or forbidden register
9544 spill error message.
9545
373628c0 9546Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9547
9548 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
9549 use varargs.h. Wrap header with <>, not "".
9550
5e14ded0 9551Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
9552
9553 * integrate.c (save_for_inline_copying): Add return value from
9554 savealloc.
9555
19fcab3a 9556Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
9557
9558 * fixincludes: Be a little more restrictive on what we will
9559 substitute to replace definitions of MAXINT for HPUX.
9560
bca4bea0 9561Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
9562
9563 * dbxout.c (dbxout_symbol_location): Don't assume that variables
9564 whose address is the stack or argument pointers are indirect
9565 pointers.
9566
73be5127 95671997-11-13 Paul Eggert <eggert@twinsun.com>
9568
40a5e060 9569 * cccp.c, cpplib.c (compare_defs):
9570 Don't complain about arg name respellings unless pedantic.
73be5127 9571 * cpplib.c (compare_defs): Accept pfile as new arg.
9572 All callers changed.
40a5e060 9573
10bb5826 9574Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9575
9576 * fold-const.c (fold_truthop): Fix bug in last change.
9577
62aa7862 95781997-11-13 Paul Eggert <eggert@twinsun.com>
9579
9580 Fix some confusion with IEEE minus zero.
9581
9582 * real.h (REAL_VALUES_IDENTICAL): New macro.
9583
9584 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
9585 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
9586 identical to 0.0.
9587 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
9588 same tree structure as 0.0.
9589
9590 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
9591 macro instead of doing it by hand.
9592
a59e9a3a 9593Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
9594
9595 * v850/lib1funcs.asm: Minor whitespace changes.
9596 * v850.c: Fix minor formatting problems in many places.
9597 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
9598
afa42b44 9599Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
9600
9601 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
9602 xplus1 when xplus0 is not a register.
9603
6f91f807 9604Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
9605
c83fe97e 9606 * flow.c (find_basic_blocks): During marking phase, if we encounter
9607 an insn with a REG_LABEL note, make the target block live and
9608 create an edge from the insn to the target block. Do not make
9609 edges from all blocks to the target block.
9610
aea70fbe 9611 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
9612
6f91f807 9613 * confiugre.in: Tweak NCR entries.
9614 * configure: Rebuilt.
9615
4b61997d 9616Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
9617
9618 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
9619 pick apart floating point values, instead of using CONST_DOUBLE_LOW
9620 and CONST_DOUBLE_HIGH.
9621
9622 * rs6000.md (define_splits for DF constants): Use the appropriate
9623 REAL_VALUE_* interface to pick apart DF floating point constants in
9624 a machine independent fashion.
9625
c6107ab0 9626Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9627
9628 * fold-const.c (fold_truthop): When changing a one-bit comparison
9629 against zero into a comparison against mask, do a proper sign
9630 extension.
9631
f11893d3 9632Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
9633
7e2bfe1e 9634 * except.c: Do not include "assert.h".
9635 (save_eh_status): Turn asserts into conditional aborts.
9636 (restore_eh_status, scan_region): Likewise.
9637 * dwarfout.c: Do not include "assert.h".
9638 (bit_offset_attribute): Turn asserts into conditional aborts.
9639 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
9640 (output_inlined_structure_type_die): Likewise.
9641 (output_inlined_union_type_die): Likewise
9642 (output_tagged_type_instantiation): Likewise.
9643 (dwarfout_file_scope_decl): Likewise.
9644 * dwarf2out.c: Do not include "assert.h"
9645 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
9646 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
9647 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
9648 (add_bit_size_attribute, scope_die_for): Likewise.
9649 (output_pending_types_for_scope): Likewise.
9650 (get_inlined_enumeration_type_die): Likewise.
9651 (get_inlined_structure_type_die): Likewise.
9652 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
9653 (gen_tagged_type_instantiation_die): Likewise.
9654
f11893d3 9655 * flow.c (find_basic_blocks): Refine further to get a more correct
9656 cfg, especially in the presense of exception handling, computed
9657 gotos, and other non-trivial cases. Call abort if an inaccuracy
9658 is detected in the cfg.
9659
2fbc2baa 9660Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9661
9662 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
9663
9664 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
9665 (skip_white_space): Use whitespace_cr.
9666 (check_newline): Handle whitespace more consistently.
9667
a0b716c0 9668Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
9669
9670 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
9671 * i386/xm-cygwin32.h (POSIX): Define.
9672
dd1c2713 9673Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
9674
9675 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
9676 is available elsewhere.
9677
6f038332 9678Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
9679
9680 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
9681 what the instruction can handle.
9682
edf8c644 9683Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
9684
9685 * stmt.c (expand_decl_cleanup_no_eh): New fn.
9686
9687 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
9688
37b864db 9689Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
9690
9691 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
9692 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
9693
4b61997d 9694Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
9695
9696 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
9697 swap instruction order.
9698
87e089e1 9699Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
9700
9701 * fixinc.svr4 (__STDC__): Add another case.
9702
1f9c29d2 9703Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9704
9705 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
9706 addresses in the epilogue delay slot.
9707
b44a7bcd 9708Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
9709
9710 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
9711 in generated `specs' file.
9712
943e2912 9713Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
9714
9715 * flags.h (flag_rerun_loop_opt): Declare.
9716 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
9717 * toplev.c (flag_rerum_loop_opt): Delete static.
9718
8ded0752 9719Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9720
8ded0752 9721 Bring over from FSF:
9722
9723 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9724
9725 * va-sh.h (__va_arg_sh1): Define.
9726 (va_arg): Use it.
9727 SH3E doesn't use any integer registers for subsequent arguments
9728 once a non-float value was passed in the stack.
9729 * sh.c (machine_dependent_reorg): If optimizing, put explicit
9730 alignment in front label for ADDR_DIFF_VEC.
9731 * sh.h (PASS_IN_REG_P): Fix SH3E case.
9732 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
9733
9734 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9735
9736 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
9737 svr4.h.
9738
9739 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9740
9741 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
9742 put an use_sfunc_addr before each sfunc.
9743 * sh.md (use_sfunc_addr, dummy_jump): New insns.
9744 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
9745
9746 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9747
9748 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
9749
c39a621a 9750Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
9751
9752 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
9753 linked once FDEs.
9754
ebd13eec 9755Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
9756
9757 * alias.c (find_base_value): Only return the known base value for
9758 pseudo registers.
9759
afcc6a69 9760Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
9761
9762 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
9763 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
9764 to pattern.
9765 (prologue_get_pc_and_set_got): New pattern.
9766
a886cc41 9767Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
9768
9769 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
9770 for SUBREG, just fall through.
9771
9772 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
9773
9774 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
9775
bb09b94c 9776Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
9777
2167e321 9778 * fixincludes: Fix "hypot" prototype in NeXT math.h.
9779
c1f5b841 9780 * Makefile.in (USE_ALLOCA): Always include alloca.o.
9781 (USE_HOST_ALLOCA): Likewise.
9782
bb09b94c 9783 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
9784 and LABEL_REFS fields.
9785 * rtl.h (LABEL_REFS): Update.
9786
0a37678d 9787Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
9788
14367663 9789 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
9790 sets i2dest. When calling distribute_notes for i3dest_killed, pass
9791 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
9792 sets i1dest.
9793
c3e22fe4 9794 * mips.md (insv, extzv, extv): Add change_address call.
9795 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
9796
e3e26d53 9797 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
9798
ef0677d0 9799 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
9800
0a37678d 9801 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
9802 save_restore_insns if no FP and GP will be restored.
a3477a0e 9803
259235e4 9804 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
9805 Convert CCmode to word_mode before calling GET_MODE_SIZE.
9806
a3477a0e 9807 * acconfig.h (HAVE_INTTYPES_H): Undef.
9808 * configure.in (inttypes.h): Check for conflicts between sys/types.h
9809 and inttypes.h, and verify that intmax_t is defined.
9810 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
9811 * config/mips/x-iris3: Likewise.
9812
1a538f67 9813Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
9814
9815 * alias.c (find_base_value): When copying arguments, return the
9816 tenative value for a hard register.
9817
b2b67f2a 9818Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
9819
9820 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
9821 (yylex): Record wide strings using target endianness, not host.
9822
4a95b954 9823Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
9824
9825 * mn10200.h (ASM_OUTPUT_BSS): Delete.
9826 (ASM_OUTPUT_ALIGNED_BSS): New macro
9827 * mn10300.h (ASM_OUTPUT_BSS): Delete.
9828 (ASM_OUTPUT_ALIGNED_BSS): New macro.
9829 * v850.h (ASM_OUTPUT_BSS): Delete.
9830 (ASM_OUTPUT_ALIGNED_BSS): New macro.
9831
4926b405 9832Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
73be5127 9833
4926b405 9834 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
9835
b8c567a1 9836Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
9837
9838 * configure.in (sco5): Use cpio to install header files.
9839
45d37aff 9840Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
9841
9842 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
9843 14 char length.
9844 * configure: Rebuild.
9845
53d6ee66 9846Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
9847
9848 * i386/sco5.h: enable -gstabs once again.
9849
6019008a 9850Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
9851
9852 * arm.c (output_move_double): Allocate 3 entries in otherops array.
9853
16992142 9854Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
9855
9856 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
9857 notes for sjlj exceptions too.
9858 (expand_eh_region_end): Similarly for EH_REGION_END notes.
9859 (exception_optimize): Optimize EH regions for sjlj exceptions too.
9860 * final.c (final_scan_insn): Don't output labels for EH REGION
9861 notes if doing sjlj exceptions.
9862
589503c9 9863Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
9864
f0ad0992 9865 * alias.c (init_alias_analysis): Handle -fno-alias-check when
9866 optimizing correctly.
9867
acd96917 9868 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
9869 or set current_function_calls_setjmp anymore.
9870
589503c9 9871 * flow.c (find_basic_blocks): If we delete the label for an
9872 exception handler, remove it from the EH label list and remove
9873 the EH_BEGIN/EH_END notes for that EH region.
9874
b50078ca 9875Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
9876
9877 * flow.c (find_basic_blocks): Generate correct flow control
9878 information when exception handling notes are present.
9879
6cf63093 9880Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
9881
9882 * dwarf2out.c (output_call_frame_info): Fix length argument
9883 to ASM_OUTPUT_ASCII.
9884 (output_die, output_pubnames, output_line_info): Likewise.
9885
d561366f 9886Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
9887
412fadac 9888 * version.c: Bump for snapshot.
9889
c8b8c5cc 9890 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
9891 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
9892 flag_debug_asm is on.
9893 (output_die, output_pubnames, output_line_info): Likewise.
9894
06c5c535 9895 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
9896 and static_chain_rtx into the potential base values array if
9897 they are registers.
9898
9899 * alias.c (new_reg_base_value): New array of potential base values.
9900 (unique_id): Now file scoped static.
9901 (find_base_value, case REG): Return the value in reg_base_value
9902 array for the REG if it exists. Else, return the value from
9903 new_reg_base_value if copying args and REG is a hard register.
9904 (find_base_value, case PLUS): If either operand of the PLUS is
9905 a REG, try to get its base value. Handle base + index and
9906 index + base.
9907 (record_set): Use new_reg_base_value instead of reg_base_value.
9908 (init_alias_analysis): Allocate space for new_reg_base_value too.
9909 Rework code to iterate over the insns propagating base value
9910 information until nothing changes.
9911
d561366f 9912 * global.c (global_alloc): Free the conflict matrix after
9913 reload has finished.
9914
def90d1d 9915Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
9916
9917 * libgcc2.c (L_eh): Define __eh_pc.
9918 Replace __eh_type with generic pointer __eh_info.
9919
49d768f2 9920Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
9921
9922 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
9923 use copy_to_reg if address is not a general_operand.
9924
b1ea9667 9925Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9926
9927 * profile.c (output_func_start_profiler): Clear flag_inline_functions
9928 for the duration of the call to rest_of_compilation.
9929
32ccfba4 9930Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
9931
9932 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
9933 Set extra_parts.
9934 (sparc*-*-*): Recognize --with-cpu=v9.
9935 * sparc/elf.h: New file.
9936 * sparc/t-elf: New file.
9937
9d3b5b5e 9938Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
9939
9940 * mn10300.c (const_8bit_operand): New function.
9941 (mask_ok_for_mem_btst): New funtion.
9942 * mn10300.md (btst patterns with mem operands): Use new functions
9943 to avoid creating btst instructions with invalid operands.
9944
951d4a35 9945Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
9946
9947 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
9948 are running on PowerPC Linux.
9949
80f269e3 9950Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
9951
9952 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
9953 if not previously defined.
9954
c9d15328 9955Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
9956
9957 * function.c (assign_parms): Correct mode of stack_parm if
9958 entry_parm underwent a mode conversion.
9959
46142c2d 99601997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
9961
9962 * global.c (global_alloc): Use xmalloc instead of alloca for
9963 CONFLICTS, since max_allocno * allocno_row_words alone can be more
9964 than 2.5Mb sometimes.
9965
7aaa8f0f 9966Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
9967
9968 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
9969 DEST for the spill, adjust mode of SRC to compensate.
9970
eec3a142 9971Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
9972
9973 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
9974 since any_memory_operand() allows pseudos during reload.
9975 (reload_inhi, reload_outqi, reload_outhi): Likewise.
9976
d0ee5aa9 9977Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
9978
9979 * m68k.md (btst patterns): Add 5200 support.
9980
0c782bca 9981Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
9982
9983 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
9984 optimizations, look inside dividend to determine if the expression
9985 can be simplified by using EXACT_DIV_EXPR.
9986
474253a1 9987Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
9988
9989 From Brendan:
9990 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
9991
b49cacb7 9992Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
9993
9994 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
9995
609d4083 9996Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
9997
9998 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
9999 on a CLOBBER.
10000
5de9640c 10001Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
10002
10003 * alpha.md (movqi, movhi): Make sure new insns created during reload
10004 won't need reloading themselves.
10005 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
10006
d8231291 10007Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
10008
10009 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
10010
03790bc4 10011Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
10012
10013 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
10014 Patch from Klaus Kaempf <kkaempf@progis.de>.
10015
bc7e8dbe 10016Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
10017
10018 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
10019 to an element in a constant string.
10020
8cbabea5 10021Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
10022
10023 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
10024 bit PC-relative offset. The exception range table pointer is now in
10025 the CIE.
10026 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
10027 (count_fdes, add_fdes, get_cie): Adjust.
10028 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
10029
10030 From H.J. Lu:
10031 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
10032
575af86f 10033Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
10034
10035 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
10036 like stack_pointer_rtx.
10037
d7fba489 10038Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
10039
58622ee7 10040 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
10041 targets using "$@" to provide support for similar but not identical
10042 targets without having to duplicate code.
10043 (bootstrap4): New goal.
10044
d7fba489 10045 * Makefile.in (compare, compare-lean, compare3): Combined to one
10046 ruleset determining actions to be performed via $@.
10047 (compare4, compare4-lean): New targets.
10048 (gnucompare, gnucompare3): Combined to one ruleset determining
10049 actions to be performed via $@. Also, note which files failed
10050 the comparison test in .bad_compare.
10051 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
10052
a433cd39 10053Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
10054
10055 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
10056 if the dividend is a multiple of the divisor.
10057
9c4e7a6b 10058Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
10059
cce804d3 10060 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
10061
837a59c1 10062 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
22dfec7d 10063 and POS_DEC.
22dfec7d 10064
10065 * alias.c (true_dependence): Fix typo.
10066
e073091f 10067 * toplev.c (flag_rerun_loop_opt): New variable.
10068 (f_options): Handle -frerun-loop-opt.
10069 (rest_of_compilation): If -frerun-loop-opt, then run the loop
10070 optimizer twice.
10071 (main): Enable -frerun-loop-opt by default for -O2 or greater.
10072
9c4e7a6b 10073 * loop.c (simplify_giv_expr): Adding two invariants results
10074 in an invariant.
10075
d81b6e00 10076Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
10077
73be5127 10078 * expr.c (get_inner_reference): Remove the array bias after
d81b6e00 10079 converting the index to Pmode.
10080
ed25da0d 10081Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
10082
10083 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
10084 (TARGET_MULT_BUG): Define.
10085 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
10086 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
10087
7b5173bf 10088Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
10089
10090 * mn10200.c (indirect_memory_operand): Delete unused function.
10091 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
10092 * mn10200.md (bset, bclr insns): Handle output in a reg too.
10093
7600d697 10094Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
10095
10096 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
10097 the callee's ldgp, we must do it ourselves, and we use the jsr tag
10098 for more than scheduling.
10099
95271d56 10100Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
10101
10102 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
10103
c4cd8f6a 10104Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
10105
10106 * mn10300.c (symbolic_operand, legitimize_address): New functions.
10107 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
10108 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
10109
9ea36bcb 10110Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
10111
10112 * version.c: Bump for snapshot.
10113
7fce9088 10114Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10115
10116 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
10117 for FILENAME.
10118
1cdf4fe0 10119Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
10120
10465756 10121 * toplev.c (flag_exceptions): Default value is 2.
10122 (compile_file): If flag_exceptions still has the value 2, then
10123 set it to 0.
10124
40b0f214 10125 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
10126 (rs6000_save_machine_status): Save pic_offset_table_rtx.
10127 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
10128
25bebb3b 10129 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
10130 are shared.
10131
1cdf4fe0 10132 * rs6000.md (*movsi_got_internal_mem): New pattern.
10133 (*movsi_got_internal_mem splitter): New define_split.
10134
bdce0b7f 10135Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
10136
10137 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
10138
f0900825 10139Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10140
10141 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
10142 only need to save LR.
10143
461cabcc 10144Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
10145
9d0b3edc 10146 * mn10300.md (movqi, movhi): Avoid using address registers as
10147 destinations unless absolutely necessary.
10148
6be872e0 10149 * mn10200.c (expand_prologue): Fix typo.
10150
778db4c4 10151 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
10152 addresses.
10153 * mn10200.md (neghi2): Provide an alternative which works if
10154 the input and output register are the same.
10155
63e678f2 10156 * mn10300.c (print_operand): Handle 'S'.
10157 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
10158 shift amount in last alternative
10159
461cabcc 10160 * mn10300.c (expand_epilogue): Rework to handle register restores
10161 in "ret" and "retf" instructions correctly.
10162
ea704d46 10163Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
10164
10165 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
10166 extzv for memory operands.
10167
10168 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
10169 redundant conditional moves to single operand.
10170
e692c2c6 10171Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
10172
10173 * v850.h: Move define of __v850__ from CPP_PREDEFINES
10174 to CPP_SPEC.
73be5127 10175
e692c2c6 10176 * xm-v850.h: Use __v850 rather than __v850__ to
10177 identify v850 port.
10178
415f6b3d 10179Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
10180
10181 * mips/mips.c (compute_frame_size): Not a leaf function if
10182 profile_flag set.
10183
365411b2 10184Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10185
10186 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
10187
2a8603ac 10188Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
10189
10190 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
10191 (DEFAULT_ARCH32_P): New macro.
10192 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
10193 (enum cmodel): Declare.
10194 (sparc_cmodel_string,sparc_cmodel): Declare.
10195 (SPARC_DEFAULT_CMODEL): Provide default.
10196 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
10197 (TARGET_FULLANY): Deleted.
10198 (TARGET_CM_MEDMID): New macro.
10199 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
10200 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10201 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
10202 (CPP_SPEC): Rewrite.
10203 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10204 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
10205 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10206 (ASM_SPEC): Add %(asm_arch).
10207 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
10208 Rename asm_default to asm_cpu_default.
10209 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
10210 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
10211 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
10212 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
10213 (MASK_INT64,MASK_LONG64): Delete.
10214 (MASK_ARCH64): Renamed to MASK_64BIT.
10215 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
10216 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
10217 (TARGET_SWITCHES): Always provide 64 bit options.
10218 (ARCH64_SWITCHES): Delete.
10219 (TARGET_OPTIONS): New option -mcmodel=.
10220 (INT_TYPE_SIZE): Always 32.
10221 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
10222 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
10223 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
10224 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
10225 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
10226 CPP_SPEC.
10227 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10228 * sparc/linux.h: Likewise.
10229 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
10230 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10231 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
10232 (SPARC_DEFAULT_CMODEL): Define.
10233 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10234 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10235 (LONG_DOUBLE_TYPE_SIZE): Define.
10236 (ASM_SPEC): Add %(asm_arch).
10237 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10238 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10239 (TARGET_CPU_DEFAULT): Add ultrasparc case.
10240 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
10241 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
10242 (SPARC_DEFAULT_CMODEL): Define.
10243 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
10244 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
10245 MASK_LONG64, MASK_MEDANY.
10246 (SPARC_DEFAULT_CMODEL): Define.
10247 (CPP_PREDEFINES): Delete.
10248 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10249 (ASM_SPEC): Add %(asm_arch).
10250 (LONG_DOUBLE_TYPE_SIZE): Define.
10251 (DWARF2_DEBUGGING_INFO): Define.
10252 * sparc/splet.h (CPP_SPEC): Delete.
10253 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10254 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
10255 (BLOCK_PROFILER): Likewise.
10256 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
10257 (sparc_override_options): Handle code model selection.
10258 (sparc_init_expanders): Renamed from sparc64_init_expanders.
10259 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
10260 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
10261 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
10262 (sethi_di_fullany): Delete.
10263
2ba221c7 10264Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
10265 Jeff Law <law@cygnus.com>
10266 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10267
cb420d20 10268 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
10269 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
10270 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
10271 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
10272 * alpha/alpha.md (arg_home): Likewise.
10273
2ba221c7 10274 * alpha/alpha.c (vmskrunch): Delete
10275 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
10276 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
10277 truncate to 64 characters.
10278
10279 * make-l2.com: Support openVMS/Alpha.
10280
10281 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
10282
b718f158 10283Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10284
10285 * longlong.h (count_leading_zeros): Add missing casts to USItype.
10286
c645ed15 10287Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
10288
10289 * i386/bsd386.h (ASM_COMMENT_START): Define.
10290
73eac312 10291Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
10292
10293 * tree.c (restore_tree_status): Also free up temporary storage
10294 when we finish a toplevel function.
10295 (dump_tree_statistics): Print stats for backend obstacks.
10296
2f373e5d 10297Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
10298
10299 * expr.c (use_group_regs): Don't call use_reg for MEMs.
10300
73eac312 10301Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
10302
10303 * libgcc2.c (__throw): Don't copy the return address.
10304 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
10305
10306 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
10307 * toplev.c (main): Initialize exceptions_via_longjmp.
10308
10309 * tree.c: Add extra_inline_obstacks.
10310 (save_tree_status): Use it.
10311 (restore_tree_status): If this is a toplevel inline obstack and we
10312 didn't want to save anything on it, recycle it.
10313 (print_inline_obstack_statistics): New fn.
73be5127 10314 * function.c (pop_function_context_from): Pass context to
73eac312 10315 restore_tree_status.
10316 * obstack.h (obstack_empty_p): New macro.
10317
2b2b523c 10318Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
10319
10320 * i386/freebsd.h (ASM_COMMENT_START): Fix.
10321
d0ab67df 10322Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
10323
10324 * v850.c (ep_memory_offset): New function.
10325 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
10326
10327 * v850.h (CONST_OK_FOR_*): Add and correct comments.
10328 (CONSTANT_ADDRESS_P): Add comment.
10329 (EXTRA_CONSTRAINT): Define 'U'.
10330 * v850.md: Add comments on bit field instructions.
10331 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
73be5127 10332 (lshrsi3): Use N not J constraint.
d0ab67df 10333
10334 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
10335
10336 * v850.c (reg_or_0_operand): Call register_operand.
10337 (reg_or_int5_operand): Likewise.
10338 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
10339 (TARGET_SWITCHES): Add "big-switch".
10340 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
10341 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
10342 (CASE_DROPS_THROUGH): Comment out.
10343 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
10344 * v850.md (cmpsi): Delete compare mode.
10345 (casesi): New pattern.
10346
10347 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
10348 * v850.md (ashlsi3): Use SImode not QImode for shift count.
10349 (lshrsi3): Likewise.
10350
10351 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
10352 unreachable switch statement after 'b' support. Remove "b" from
10353 strings for 'b' support.
10354 * v850.md (branch_normal, branch_invert): Change %b to b%b.
10355
df6f6dba 10356Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
10357
10358 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
10359 empty line if @inhibit_libc@ is empty.
10360
91be0192 10361Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
10362
10363 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
10364 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
10365 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10366 (DWARF2_UNWIND_INFO): Let this track object file format.
10367 (EXTRA_SECTIONS): Add in_eh.
10368 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
10369 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10370
f3a4b84e 10371Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
10372
10373 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
2fa8914c 10374 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
10375 TARGET_MEDANY.
3dfa76c2 10376 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
10377 (output_double_int): Output DI mode values correctly when
10378 HOST_BITS_PER_WIDE_INT is 64.
cd4e6eaa 10379 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
10380 fmovd so it works if a quad float ends up in one of the upper 32
10381 float regs.
b2069596 10382 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
10383 necessary for PIC support on sparc64.
f3a4b84e 10384
70fbeb89 10385Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
10386
10387 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
10388 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
10389 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
10390 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
10391 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
10392 (SPARC_FP_ARG_FIRST): New macro.
10393 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
10394 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
10395 (NPARM_REGS): There are 32 fp argument registers now.
10396 (FUNCTION_ARG_REGNO_P): Likewise.
10397 (FIRST_PARM_OFFSET): Update to new v9 abi.
10398 (REG_PARM_STACK_SPACE): Define for arch64.
10399 (enum sparc_arg_class): Delete.
10400 (sparc_arg_count,sparc_n_named_args): Delete.
10401 (struct sparc_args): Redefine and use for arch32 as well as arch64.
10402 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
10403 (FUNCTION_ARG_ADVANCE): Rewrite.
10404 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
10405 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
10406 (FUNCTION_ARG_CALLEE_COPIES): Delete.
10407 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
10408 (STRICT_ARGUMENT_NAMING): Define.
10409 (doublemove_string): Declare.
10410 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
10411 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
10412 (doublemove_string): New function.
10413 (output_move_quad): Clean up some of the arch64 support.
10414 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
10415 Don't add 8 bytes of reserved space if arch64.
10416 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
10417 (init_cumulative_args): New function.
10418 (function_arg_slotno): New static function.
10419 (function_arg,function_arg_partial_nregs): New functions.
10420 (function_arg_{pass_by_reference,advance}): New functions.
10421 (function_arg_padding): New function.
6fa37ca2 10422 * ginclude/va-sparc.h: Rewrite v9 support.
70fbeb89 10423
2d35393b 10424Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
10425
b0f6c01a 10426 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
10427 for hard regs to determine base and index registers.
10428
2d35393b 10429 * reload.c (debug_reload_to_stream): New function. Specify stream
10430 into which to write debug info.
10431 (debug_reload): Modify to call debug_reload_to_stream with stderr.
10432
5ba0e4da 10433Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
10434
10435 * combine.c (can_combine_p): Don't combine with an asm whose
10436 output is a hard register.
10437
3af966eb 10438Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
10439
10440 * c-decl.c (start_struct): Ensure that structs with forward
10441 declarations are in fact packed when -fpack-struct is given.
10442
10443 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
10444 we are packing a structure. This allows a structure with only
10445 bytes to be aligned on a byte boundary and have no padding on a
10446 m68k.
10447
546c566e 10448Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10449
10450 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
10451
0c0464e6 10452Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
10453
10454 * alpha.c (alpha_return_addr_rtx): New variable.
10455 (alpha_save_machine_status): New; save it.
10456 (alpha_restore_machine_status): New; restore it.
10457 (alpha_init_expanders): New; clear it.
10458 (alpha_return_addr): New; set it.
10459 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
10460 is overly conservative, so search the insns explicitly.
10461 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
10462 (alpha_sa_size [VMS && !VMS]): Likewise.
10463 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
10464 (INIT_EXPANDERS): New definition.
73be5127 10465
0c0464e6 10466 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
10467 (output_prolog [!VMS]): Use them.
10468
10469 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
73be5127 10470 (alpha_does_function_need_gp): ... a new function. Refine the
0c0464e6 10471 CALL_INSN test to just TYPE_JSR.
10472 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
10473
45fe8dd7 10474Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
10475
10476 * version.c: Bump for snapshot.
10477
822c8a6c 10478Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10479
10480 * pa.c (move_operand): Respect -mdisable-indexing.
10481 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
10482
927e2eef 10483Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
10484
10485 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
10486 PPC601.
10487 (umulsidi3,umulsi3_highpart): Ditto.
10488 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
10489
18adf4f6 10490Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
10491
10492 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
10493 (alpha_handle_trap_shadows): ... a new function. Handle the entire
10494 function in one go. Emit RTL for trapb, instead of printf directly.
10495 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
10496 (trap_pending): Kill global variable.
10497 (output_epilog): Don't call final_prescan_insn.
10498 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
10499 * alpha.h (FINAL_PRESCAN_INSN): Remove.
10500 (MACHINE_DEPENENT_REORG): Define.
10501 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
10502 (trapb): New insn.
10503
3680ac41 10504Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
10505
10506 Tune Haifa scheduler for Alpha:
10507 * alpha.h (ISSUE_RATE): Define.
10508 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
10509 EV4 adjustments to EV5.
10510 * alpha.md: Remove all scaling from function unit delays. Rework
10511 EV5 function units to match the CPU.
10512 (umuldi3_highpart): EV5 added the IMULH insn class.
10513
1d2e016c 10514Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
10515
10516 * pa.c (following_call): Fail if the CALL_INSN is an indirect
10517 call.
10518
413c3c71 10519Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
10520
10521 * cplus-dem.c (demangle_signature): Don't look for return types on
10522 constructors. Handle member template constructors.
10523
256c255e 10524Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
10525
10526 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
c1ff99e3 10527 * tree.h: Declare them.
256c255e 10528
533a0af2 10529Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
10530
10531 * configure.in: Handle --with-newlib.
10532 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
10533
10534 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
10535
a30b2ff3 10536Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
10537
10538 * config/ptx4.h: Fix typo.
10539
b4aebc76 10540Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
10541
10542 * version.c: Bump for snapshot.
10543
68a39da2 10544Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
10545
10546 * aclocal.m4: Substitute INSTALL.
10547 * configure: Re-built.
10548
009a56ab 10549Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
10550
1d07764e 10551 * integrate.c (save_for_inline_copying): Avoid undefined pointer
10552 operations.
10553 (expand_inline_function): Likewise.
10554
009a56ab 10555 * dwarf2out.c (output_call_frame_info): Reinstate last change
10556 using flag_debug_asm check instead of flag_verbose_asm.
10557
32c8cd9a 10558Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
10559
10560 * dwarf2out.c (output_call_frame_info): Remove last change.
10561
6a2a3ea4 105621997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10563
10564 * frame.c (__frame_state_for): Execute the FDE insns until the
10565 current pc value is strictly bigger than the target pc value.
10566
0868ea21 10567Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
10568
73be5127 10569 * regclass.c (init_reg_modes): If we can't find a mode for the
0868ea21 10570 register, use the previous one.
10571
999ed239 10572Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
10573
10574 * haifa-sched.c (print_block_visualization): Call fprintf directly,
10575 don't sprintf through an alloca'ed buffer.
10576
aee20967 10577Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
10578
10579 * reload.c (decompose): Always initialize val.base.
10580
e638b749 10581Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
10582
10583 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
10584 instead of aborting.
10585 * dwarf2out.c (output_call_frame_info): Call app_enable and
10586 app_disable to let GNU as accept the generated comments.
10587
c0c62896 10588Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
10589
10590 * tree.h (get_file_function_name): Add declaration.
10591 * dwarf2out.c (output_call_frame_info): No need to cast
10592 get_file_function_name call anymore.
10593 * profile.c (toplevel): Remove get_file_function_name
10594 declaration.
10595 * c-lang.c (finish_file): Ditto.
10596
3271658e 10597Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
10598
10599 * Makefile.in (program_transform_name): Let autoconf substitute
10600 the correct value.
10601
58099d72 10602Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
10603
10604 * haifa-sched.c (schedule_block): If the first real insn in a
10605 block has any special notes attached to it, remove them.
10606
2340cac6 10607Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
10608
10609 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
10610
5b9533e4 10611Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
10612
10613 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
10614
4230ead8 10615Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
10616
10617 * Makefile.in (check-g77): New test target.
10618 (CHECK-TARGETS): Add check-g77.
10619
ccab09fd 10620Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
10621
10622 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
10623
33c53a1c 10624Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
10625
10626 * flow.c (print_rtl_with_bb): Cast alloca return value for
10627 in_bb_p.
10628
0870676d 10629Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
10630
73be5127 10631 * i386.h (RETURN_ADDR_RTX): New definition that works for
0870676d 10632 __builtin_return_address(0) and -fomit-frame-pointer.
10633
14c3eb18 10634Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
10635
10636 Bring over from FSF.
10637 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
10638
73be5127 10639 * mips.c (function_arg): Handle passing a struct
14c3eb18 10640 containing a double in a DFmode register without the PARALLEL.
10641
a73a2af1 10642Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
10643
33c53a1c 10644 * pexecute.c: Use spawn if __CYGWIN32__.
a73a2af1 10645
33c53a1c 10646 * pexecute.c: Include "config.h" first, as per autoconf manual
a73a2af1 10647 (from Paul Eggert <eggert@twinsun.com>).
10648
7aa8585d 10649Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10650
10651 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
10652 optimisation for f/expr.o and f/stb.o.
10653
797a3923 10654Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
10655
10656 * cse.c (this_insn_cc0_mode): Initialize.
10657
e7d7ef5a 10658Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
10659
4154ebc6 10660 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
10661
10662 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
e7d7ef5a 10663
564f523a 10664Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
10665
10666 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
10667 that pair will dual-issue on the 21164 and plus+beq won't.
10668 (bne): Likewise for cmpeq+beq.
10669
154a3a80 10670Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
10671
10672 * except.c (find_exception_handler_labels): Correct argument to free.
10673
bd1b45bc 10674Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
acfc13c6 10675
10676 * except.c (find_exception_handler_labels): Free LABELS when we're
10677 done.
10678
96004f0c 10679Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
10680
10681 * version.c: Bump for snapshot.
10682
6ce4911d 10683Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
10684
10685 * flow.c (find_basic_blocks): Mark calls as potentially jumping
10686 to the EH labels.
10687
d9db3eb3 10688Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
10689
10690 * configure.in: Substitute for "install" too.
10691 * configure: Rebuilt.
10692
732395de 10693Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
10694
10695 * Makefile.in (bootstrap-lean, compare-lean): New targets.
10696
b4c5e619 10697Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
10698
1e38bf49 10699 * alias.c (base_alias_check): Two symbols can conflict if they
10700 are accessed via AND.
10701 (memrefs_conflict_p): Likewise.
10702
629216ce 10703 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
10704 after flushing argument registers to the stack.
10705
b4c5e619 10706 * Makefile.in (mostlyclean): Remove .regmove files.
10707
61a2823b 10708Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
10709
10710 * libgcc2.c (__throw): Fix thinko.
10711
c424009d 10712Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
10713
10714 * cplus-dem.c (demangle_template): Add new parameter. Handle new
10715 template-function mangling.
10716 (consume_count_with_underscores): New function.
10717 (demangle_signature): Handle new name-mangling scheme.
10718
5673e443 10719Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10720
10721 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
10722 start and end.
10723
8abd613e 10724Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
10725
10726 * frame.c: Remove last change.
10727 * dwarf2.h: Remove last change.
10728 * tree.h: Add declarations of DWARF2 unwind info support
10729 functions.
10730
5ff00a1d 10731Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
10732
10733 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
10734 * tree.h (built_in_function): Likewise.
10735 * expr.c (expand_builtin): Likewise.
10736 * except.h: Likewise.
10737 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
10738 * libgcc2.c (copy_reg): New fn.
10739 (__throw): Use it.
10740
aa1c7fa8 10741Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
10742
10743 * c-typeck.c (build_binary_op): Warn about comparing signed vs
10744 unsigned if -W is specified and -Wno-sign-compare is not.
10745 * c-decl.c (warn_sign_compare): Initialize to -1.
10746 (c_decode_option): -Wall no longer implies -Wsign-compare.
10747
205306a7 10748Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10749
2c133160 10750 * frame.c: Include gansidecl.h for PROTO.
10751 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
10752 defined. Don't declare dwarf2out_cfi_label here.
10753 * dwarf2.h: Add declarations of DWARF2 unwind info support
10754 functions.
10755 * m68k.c: Include dwarf2.h.
10756 (output_function_prologue): Add dwarf2 support.
10757 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
10758 (INCOMING_FRAME_SP_OFFSET): Likewise.
10759
205306a7 10760 * integrate.c (expand_inline_function): Make sure there is at
10761 least one insn that can be used as an insertion point.
10762
d46edc80 10763Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
10764
10765 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
10766
34310bbd 10767Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
10768
10769 * version.c: Bump for snapshot.
10770
00c74f77 10771Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
10772
10773 Bring over from FSF.
10774
10775 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
10776
10777 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
10778 (get_pc_via_rdpc): Renamed from get_pc_sp64.
10779 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
10780
10781 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
10782
10783 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
10784 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
10785 -malign-functions=.
10786 (sparc_align_{loops,jumps,funcs}_string): Declare.
10787 (sparc_align_{loops,jumps,funcs}): Declare.
10788 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
10789 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
10790 (STACK_BIAS): Define.
10791 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
10792 test.
10793 (SPARC_SETHI_P): New macro.
10794 (CONST_OK_FOR_LETTER_P): Use it.
10795 (ASM_OUTPUT_ALIGN_CODE): Define.
10796 (ASM_OUTPUT_LOOP_ALIGN): Define.
10797 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
10798 (sparc_align_{loops,jumps,funcs}): New globals.
10799 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
10800 -malign-functions=.
10801 (move_operand): Use SPARC_SETHI_P.
10802 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
10803 perform test.
10804 (arith11_double_operand): Likewise.
10805 (arith10_double_operand): Likewise.
10806 (finalize_pic): Finish sparc64 support.
10807 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
10808 64 bit constants if able.
10809 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
10810 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
10811 ! TARGET_FPU.
10812 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
10813 (get_pc_sp32): Use for sparc64 as well.
10814 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
10815 (sethi_di_sp64_const): Likewise.
10816 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
10817 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
10818 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
10819
10820 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
10821
10822 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
10823 * sparc/linux.h (COMMENT_BEGIN): Likewise.
10824 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
10825
10826 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
10827
10828 Add sparc64 linux support.
10829 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
10830 to xm_file list on 32-bit sparc-linux.
10831 * sparc/xm-sp64.h: New file.
10832 * sparc/linux64.h: New file.
10833 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
10834 Don't include xm-sparc.h.
10835 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
10836 * glimits.h (LONG_MAX): Handle sparc64.
10837
10838 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
10839
10840 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
10841 * sparc.h (ASM_COMMENT_START): Define.
10842 * sparc.c (output_function_prologue): Use it.
10843 (sparc_flat_output_function_{epi,pro}logue): Likewise.
10844
10845 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
10846
10847 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
10848 use sparc.h's copies.
10849 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
10850 ascii form as well.
10851
10852 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10853
10854 * sparc.c (dwarf2out_cfi_label): Add declaration.
10855 (save_regs, output_function_prologue): Remove cast for it.
10856 (sparc_flat_{save_restore,output_function_prologue): Likewise.
10857 ({save,restore}_regs): No longer inline.
10858
4cd44a59 10859Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10860
10861 * fold-const.c (make_range): Correctly handle cases of converting
10862 from unsigned to signed type.
10863
10864Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
10865
10866 * fold-const.c (merge_ranges): Make sure that if one range is subset
10867 of another, it will always be the second range. Correct (+,-) case to
10868 account for this.
10869
d46edc80 10870Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
10871
10872 * final.c (final_end_function): Also do dwarf2 thing if
10873 DWARF2_DEBUGGING_INFO.
10874 (final_start_function): Likewise.
10875
48163999 10876Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
10877
6d9d382f 10878 * expmed.c (expand_divmod): If compute_mode is not the same as
10879 mode, handle the case where convert_modes() causes op1 to no
10880 longer be a CONST_INT.
10881
48163999 10882 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
10883 note holding get_jump_flags() calculation to all JUMP_INSNs.
10884 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
10885 * rtl.c (reg_note_name): Add new note types.
10886
76fb26f9 10887Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
10888
4283b6e6 10889 * rtlanal.c (computed_jump_p): Fix typo in last change.
76fb26f9 10890
ba0d241e 10891Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10892
10893 * loop.c (indirect_jump_in_function_p): Return 0
10894 by default.
10895
e2f6f9e2 10896Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
10897
10898 * rs6000/xm-rs6000.h: Fix thinko in last change.
10899 * rs6000/xm-sysv4.h: Likewise.
10900
14d4204b 10901Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
10902
10903 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
10904
d93e376a 10905Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
10906
10907 * reg-stack.c (find_blocks): Fix thinko in last change.
10908
357cfda2 109091997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10910
10911 * m68k.c (output_function_prologue): Add dwarf2 support.
10912
10913 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
10914 INCOMING_FRAME_SP_OFFSET): New definitions.
73be5127 10915
14da4b1e 10916Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
10917
7583374b 10918 * combine.c (try_combine): Use NULL_RTX instead of '0' where
10919 appropriate in calls to gen_rtx().
10920 * cse.c (cse_main): Likewise.
10921 * emit-rtl.c (gen_label_rtx): Likewise.
10922 * expr.c (init_expr_once): Likewise.
10923 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
10924 sched_analyze, init_rgn_data_dependences,
10925 compute_block_backward_dependences): Likewise.
10926 * sched.c (schedule_insns): Likewise.
10927 * varasm.c (immed_double_const): Likewise.
10928
14da4b1e 10929 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
10930 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
10931
1b8dd783 10932Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
10933
10934 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
10935 (MULTILIB_DEFAULTS): Define.
10936 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
10937 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
10938 (LIBGCC_SPEC): Likewise.
10939 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
10940 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
10941 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
10942 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
10943 (EXTRA_PARTS, TAROUTOPTS): Delete.
10944 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
10945 (MULTILIB_OPTIONS): Define.
10946 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
10947 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
10948
f4aab597 10949Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
10950
10951 * version.c: Bump for snapshot.
10952
9ed2716b 10953Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
10954
159aae92 10955 * loop.c (loop_number): Delete function. Change all references
10956 to use uid_loop_num array.
10957 * loop.h (loop_number): Delete declaration.
10958 * unroll.c (unroll_loop): Change "loop_number" references to
10959 use uid_loop_num instead.
10960
aac70b8a 10961 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
10962 conditional.
10963 (loop_unroll_iter): Remove unused variable and all references.
10964 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
10965 (insert_bct): Fix minor formatting problems.
10966 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
10967 (loop_unroll_iter): Removed unused decl.
10968 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
10969 Always record the unrolling factor.
10970
a45af9ed 10971 * cse.c (simplify_relational_operation): Set h0u just like h0s.
10972 Similarly for h1u and h1s.
10973
bb0a4409 10974 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
ca6d6e84 10975 (find_basic_blocks): Use computed_jump_p to determine if a
10976 particular JUMP_INSN is a computed jump.
10977 * reg-stack.c (find_blocks): Use computed_jump_p to determine
10978 if a particular JUMP_INSN is a computed jump.
10979 * rtlanal.c (jmp_uses_reg_or_mem): New function.
10980 (computed_jump_p): Likewise.
10981 * rtl.h (computed_jump_p): Declare.
10982 * genattrtab.c (pc_rtx): Define and initialize.
10983 * loop.c (loop_optimize): Always determine if the current
10984 function has a computed jump.
10985 (indirect_jump_in_function_p): Use computed_jump_p to determine
10986 if a particular JUMP_INSN is a computed jump.
10987
9ed2716b 10988 * loop.c (fix_bct_param): Delete unused function.
10989 (check_bct_param): Likewise.
10990
7dba319d 10991Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
10992
10993 * frame.c (__deregister_frame): Check properly for initialized object.
10994
08a8fc50 10995Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
573cc688 10996
10997 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
10998
96b614c0 10999Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11000
22ff742e 11001 * jump.c (thread_jumps): check can_reverse_comparison_p before
11002 threading a reversed-condition jump.
11003
96b614c0 11004 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
11005 * haifa-sched.c (update_flow_info): Likewise.
11006
fe274e28 11007Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
11008
86373592 11009 * Makefile.in (BOOT_CFLAGS): Use -O2.
11010
e82a1ee4 11011 * configure.in (strtoul, bsearch): Have autoconf check for these
11012 functions.
11013 * configure, config.in: Rebuilt.
11014
fe274e28 11015 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
11016 * mips/mips.h (alloca): Likewise.
11017 * rs6000/xm-rs6000.h (alloca): Likewise.
11018 * rs6000/xm-sysv4.h: Likewise.
11019
24db2725 11020Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
11021
11022 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
11023 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
11024 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
11025
11026 * except.c (end_eh_unwinder): Subtract 1 from return address.
11027 * libgcc2.c (__throw): Likewise.
11028 (find_exception_handler): Don't change PC here. Compare end with >.
11029
a1e077bd 11030Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
73be5127 11031
a1e077bd 11032 * v850.c (compute_register_save_size): Correct register
11033 number.
11034 * v850.md (save_interrupt, return_interrupt): Correct
11035 register number.
11036 * v850/lib1funcs.asm (save_interrupt): Correct register number.
11037 (return_interrupt): Use stack pointer, not element pointer.
11038
55b0dbe2 110391997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
11040
11041 * configure.in, configure: Make sure to create the stage* and include
11042 symbolic links in each subdirectory.
11043
cb8e5f79 11044Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
11045
11046 * pa.md (reload_peepholes): Don't allow addresses with side
11047 effects for the memory operand.
11048
72dd70cc 11049Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
11050
11051 * libgcc2.c (find_exception_handler): Subtract one from our PC when
11052 looking for a handler, to avoid hitting the beginning of the next
11053 region.
11054
11055 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
11056
729952af 11057Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
11058
11059 * mips/abi64.h (LONG_MAX_SPEC): Define.
11060 * mips.h (LONG_MAX_SPEC): Define.
11061 (CPP_SPEC): Include long_max_spec.
11062 (EXTRA_SPECS): Include long_max_spec.
11063
47a2c9bd 11064Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
11065
11066 * v850.c (construct_save_jarl): Fix thinko in last change.
11067
72ee28ed 11068Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
11069
11070 * version.c: Bump for snapshot.
11071
520ce99a 11072Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
11073
76fdac58 11074 * libgcc2.c (find_exception_handler): Not found is -1.
11075
520ce99a 11076 * integrate.c (expand_inline_function): Move expand_start_bindings
11077 after expanding the arguments.
11078
4d22520d 11079Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
11080
11081 * expr.c (expand_expr): Remove previous incorrect change.
11082 If target and slot has no DECL_RTL, then call mark_addressable
11083 again for the slot after we give it RTL.
11084
a6bb47e0 11085Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
e864e0d4 11086
a6bb47e0 11087 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
11088 again for the slot after we give it RTL.
e864e0d4 11089
65c7acad 11090Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
11091
54facc1e 11092 * v850.c (register_is_ok_for_epilogue,
65c7acad 11093 pattern_is_ok_for_epilogue, construct_restore_jr,
11094 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
11095
54facc1e 11096 * v850.h (pattern_is_ok_for_prologue,
65c7acad 11097 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
11098 predicates.
11099
54facc1e 11100 * v850.md: Replace prologue and epilogue patterns with a
65c7acad 11101 match_parallel pattern.
11102
e59dfa37 11103Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
11104
11105 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
11106 * configure.in: Use EGCS_PROG_INSTALL.
11107
fe829d4e 11108Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
11109
11110 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
11111 extern inline function.
11112
11113Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
11114
11115 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
11116 (concat_loc_descriptor): New function.
11117 (loc_descriptor): Call it.
11118 (add_AT_location_description): Also elide the descriptor if both
11119 halves of a CONCAT are pseudos.
11120 (add_location_or_const_value_attribute): Recognize CONCAT too.
11121
15d5236f 11122Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
11123
bf07abdf 11124 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
11125
15d5236f 11126 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
11127 out-or-range reg_offset.
11128 (output_epilog): Likewise.
11129
cccce9a1 11130Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
11131
11132 * cse.c (simplify_relational_operation): If MODE specifies a
11133 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
11134 is derived from the sign bit of the low word.
11135
447a9eb9 11136Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
11137
11138 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
11139
11140 * dwarf2.h: Add DW_CFA_GNU_args_size.
11141 * frame.c (execute_cfa_insn): Likewise.
11142 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
11143 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
11144 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
11145 insn, hand it off to dwarf2out_stack_adjust.
11146 (dwarf2out_begin_prologue): Initialize args_size.
11147 * frame.h (struct frame_state): Add args_size.
11148 * libgcc2.c (__throw): Use args_size.
11149 * final.c (final_scan_insn): If we push args, hand off all insns
11150 to dwarf2out_frame_debug.
11151 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
11152
11153 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
11154 Handle epilogue restore of SP from FP.
73be5127 11155 * emit-rtl.c (gen_sequence): Still generate a sequence if the
447a9eb9 11156 lone insn has RTX_FRAME_RELATED_P set.
11157
11158 * frame.c (extract_cie_info): Handle "e" augmentation.
11159 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
11160 absence of UNALIGNED_*_ASM_OP.
11161 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
11162 (output_call_frame_info): Use "e" instead of "z" for augmentation.
11163 Don't emit augmentation fields length.
11164 (dwarf2out_do_frame): Move outside of #ifdefs.
11165 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
11166 opcodes.
11167
11168 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
11169 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
11170 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
11171 * sparc/sun4gas.h: New file.
11172 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
11173
73be5127 11174 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
447a9eb9 11175 __register_frame_table and __deregister_frame.
11176
66f7d2f4 111771997-09-15 Brendan Kehoe <brendan@cygnus.com>
11178
11179 * except.c (find_exception_handler_labels): Use xmalloc instead of
11180 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
11181 in some cases.
11182
17b258fe 11183Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
11184
11185 * Makefile.in: Various changes to build info files
11186 in the object tree rather than the source tree.
11187
b63bd52c 11188Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
11189
11190 * fixinc.math: New file to fix math.h on some systems.
11191 * configure.in (freebsd, netbsd): Use fixinc.math on these
11192 systems.
11193 * configure: Rebuilt.
11194
24f08c72 11195Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
11196
11197 * regmove.c (regmove_optimize): If we end up moving the
11198 original insn due to lifetime overlaps, make sure to move
11199 REG_NOTES too.
11200
74086405 11201Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
11202
11203 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
11204
1de381a0 11205Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
11206
11207 * haifa-sched.c (add_branch_dependences): Make each insn in
11208 a SCHED_GROUP_P block explicitly depend on the previous insn.
11209
447a9eb9 11210Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
11211
11212 * except.h: Prototype dwarf2 hooks.
11213 * expr.c: Adjust.
11214
93d131e3 11215Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
11216
11217 * configure.in (native_prefix): Delete.
11218 (mips-dec-netbsd): Don't set prefix.
11219 (*linux*): Don't set prefix.
11220
945e4193 11221Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
11222
1b3028bc 11223 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
11224 defined. If not defined, include <sys/varargs.h> if
11225 HAVE_SYS_VARARGS_H is defined.
11226 * configure.in: Test for varargs.h and sys/varargs.h.
11227 * configure: Regenerate with autoconf.
11228 * config.in: Regenerate with autoheader.
11229
945e4193 11230 * cpplib.c (quote_string): Cast first arg of sprintf call
11231 from "unsigned char *" to "char *".
11232 (output_line_command): Ditto.
11233 (macroexpand): Ditto.
11234 (do_line): Cast atoi arg from "unsigned char *" to "char *".
11235
20becaef 11236Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
11237
8d37f2b9 11238 * version.c: Bump for snapshot.
11239
20becaef 11240 * Makefile.in (compare): Exit with nonzero status if there
11241 are comparison failures. Note which files failed the
11242 comparison test in .bad_compare.
11243
90dd0c93 11244Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11245
11246 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
11247
ea4a6c81 11248Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
11249
11250 * Makefile.in (LN, LN_S): New macros, use where appropriate.
11251 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
11252 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
11253 * configure: Regenerated.
11254
11255Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
11256
11257 * loop.c (strength_reduce): Fix typo.
11258
183c280a 11259Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
11260
11261 * m88k/m88k.c (struct option): Rename to struct options.
11262 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
11263 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
11264 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
11265 __DOLPHIN__ or sysV88.
11266
fe148309 11267Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
11268
11269 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
11270 create new subreg.
11271
b496f822 11272Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
11273
11274 * config.sub: Accept 'amigados' for backward compatability.
11275
fe148309 11276Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
20ab2c9c 11277
11278 * Makefile.in (testsuite/site.exp): New target.
11279 (check-gcc, check-g++): Depend on testsuite/site.exp.
11280 Don't stop for failure.
11281
447a9eb9 11282Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
11283
11284 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
11285 if DWARF2_UNWIND_INFO.
11286
11287Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
11288
11289 Add support for exception handling using DWARF 2 frame unwind info.
11290 Currently works on SPARC and MIPS, and almost on x86.
73be5127 11291
447a9eb9 11292 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
11293 next_stack_level, in_reg_window): Helper fns.
11294 (__throw): Implement for DWARF2_UNWIND_INFO.
11295
11296 * expr.c (expand_builtin): Handle builtins used by __throw.
11297 * tree.h (enum built_in_function): Add builtins used by __throw.
11298 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
11299 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
11300 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
11301 (expand_builtin_extract_return_addr): Likewise.
11302 (expand_builtin_frob_return_addr): Likewise.
11303 (expand_builtin_set_return_addr_reg): Likewise.
11304 (expand_builtin_eh_stub): Likewise.
11305 (expand_builtin_set_eh_regs): Likewise.
11306 (eh_regs): Choose two call-clobbered registers for passing back values.
11307
11308 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
11309 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
11310 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
11311 (stmp-multilib): Likewise.
11312 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
11313
11314 * except.c: #include "defaults.h".
11315 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
11316 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
11317 (register_exception_table_p): New fn.
11318 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
11319 (end_eh_unwinder): Likewise.
11320
73be5127 11321 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
447a9eb9 11322 call __register_frame and __deregister_frame as needed.
11323 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
11324 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
11325 EH_FRAME_SECTION_ASM_OP.
11326 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
11327 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
11328 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
11329
11330 * dwarf2out.c (output_call_frame_info): If no support for
11331 EXCEPTION_SECTION, mark the start of the frame info with a
11332 collectable tag.
11333 * collect2.c (frame_tables): New list.
11334 (is_ctor_dtor): Recognise frame entries.
11335 (scan_prog_file): Likewise.
11336 (main): Pass -fno-exceptions to sub-compile. Also do collection
11337 if there are any frame entries.
11338 (write_c_file_stat): Call __register_frame_table and
11339 __deregister_frame as needed.
11340 (write_c_file_glob): Likewise.
11341
73be5127 11342 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
447a9eb9 11343 Also require unaligned reloc support.
11344 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11345 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
11346 * sparc/sysv4.h: Not here.
11347
11348 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
11349 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
11350 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
11351
11352 * libgcc2.c (L_eh): Reorganize, moving code shared by different
11353 EH implementations to the top.
11354 (find_exception_handler): Split out. Start from 0. Compare against
11355 end with >=.
11356 (__find_first_exception_table_match): Use it.
11357 * except.c (output_exception_table): Don't do anything if there's
11358 no table. Don't output a first entry of zeroes.
11359 (eh_outer_context): Adjust properly.
11360 (add_eh_table_entry): Use xrealloc.
11361 * toplev.c (compile_file): Just call output_exception_table.
11362
11363Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
11364
11365 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
11366
11367Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
11368
11369 * except.c (eh_outer_context): Do masking using expand_and.
11370
399e3dbb 11371Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
11372
11373 Add port done awhile ago for the ARC cpu.
11374 * arc/arc.h: New file.
11375 * arc/arc.c: New file.
11376 * arc/arc.md: New file.
11377 * arc/initfini.c: New file.
11378 * arc/lib1funcs.asm: New file.
11379 * arc/t-arc: New file.
11380 * arc/xm-arc.h: New file.
11381 * ginclude/va-arc.h: New file.
11382 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
11383 * ginclude/varargs.h: Likewise.
11384 * Makefile.in (USER_H): Add va-arc.h.
11385 * configure.in (arc-*-elf*): Recognize.
11386 * longlong.h: Add ARC support.
11387
11388Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
11389
11390 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
11391 when clearing non-BLKmode data.
11392
9260e4eb 11393Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
11394
db0433b5 11395 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
11396 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
11397
d26a9c5d 11398 * xm-m88k.h (USG): Only define if it hasn't already been defined.
11399
11400 * Makefile.in (risky-stage1): Delete gratutious whitespace.
11401
c09ccbc2 11402 * Makefile.in (clean): Delete libgcc1-test.
11403
9260e4eb 11404 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
11405
11406Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
21571b7c 11407
11408 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
11409 template.
11410
447a9eb9 11411Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11412
11413 * dwarf2out.c (output_call_frame_info): Call named_section.
11414
049e93b5 11415Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
11416
11417 * haifa-sched.c (print_value): Fix last change.
11418
447a9eb9 11419Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
11420
11421 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
11422 write_symbols.
11423
11424Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
11425
11426 * mips.c (function_prologue): Set up the CFA when ABI_32.
11427
11428 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
11429 for dwarf2 unwind info.
11430 (output_function_prologue, sparc_flat_output_function_prologue): Same.
11431
11432 * final.c (final_end_function): Check dwarf2out_do_frame instead
11433 of DWARF2_DEBUG for dwarf2 unwind info.
11434 (final_scan_insn): Likewise.
11435 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
11436 (final): Not here.
11437
11438 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
11439 count > 0.
11440
11441 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
11442
9a7baf1d 11443Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
11444
11445 * v850.h (ASM_SPEC): Pass on target processor.
11446 (CPP_PREDEFINES): Only define if not already specified.
11447 (TARGET_VERSION): Only define if not already specified.
11448 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
11449 processor.
11450 (EXTRA_SWITCHES): Extra entries in the switches array.
11451 (TARGET_DEFAULT): Set default target processor.
11452
7181098e 11453Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
11454
11455 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
11456 cases, add %# and %/, and add : to make them into extended asms.
11457
afc66b71 11458Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
11459
11460 * alias.c (init_alias_analysis): Clean up incompatible pointer
11461 type warning in bzero.
11462 * regmove.c (regmove_optimize): Ditto.
11463 * haifa-sched.c (find_rgns): Ditto.
11464
11465 * haifa-sched.c (print_value): Clean up ptr->int cast
11466 warnings.
11467
d99ec4a1 11468Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
11469
11470 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
11471 * install.texi (Configurations): Ditto.
11472 * config.sub: Ditto.
11473
1a4c478d 11474Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
11475
11476 * Makefile.in (sdbout.o): Depend on insn-config.h.
11477
2b73d604 11478Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
11479
11480 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
11481 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
11482
87860d74 11483Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
11484
11485 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
11486 prologue insn, only the first elt is significant.
11487 (output_call_frame_info): For exception handling, always use 4-byte
11488 fields as specified by the dwarf2 spec.
11489 Don't skip trivial FDEs.
11490
03b70ee3 11491Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
11492
11493 * version.c: Bump for snapshot.
11494
11495Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
11496
11497 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
11498 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
11499 when op1_is_pow2.
11500
11501Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
11502
72ee28ed 11503 * final.c (shorten_branches): During first pass, assume worst
11504 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
03b70ee3 11505
11506 * Makefile.in (distclean): Remove various things left around
11507 by running the testsuite.
11508
767603d4 11509Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
11510
11511 * configure.in (out_file): Emit definition to config.status in order
11512 to have a defined value for configure.lang.
11513 * configure: Re-built.
11514
86342ef2 11515Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
11516
72ee28ed 11517 * configure.in: Make symlink to as-new rather than as.new. Similarly
86342ef2 11518 for ld-new.
11519 * configure: Rebuilt.
11520
43cf8c6a 11521Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
11522
11523 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
11524
429fcb02 11525Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
11526
11527 * sparc/sparc.md: Add ultrasparc scheduling support.
11528 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
11529
acd76c41 11530Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
11531
11532 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
11533 as initial value for real_label_map.
11534 (copy_for_inline): Likewise.
11535
55c17244 11536Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11537
11538 * sched.c (update_flow_info) When looking if to set found_split_dest
11539 or found_orig_dest, look at all parts of a PARALLEL.
11540 * haifa-sched.c (update_flow_info): Likewise.
11541
148549fa 11542Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
11543
11544 * v850: New directory for v850 port.
11545 * v850/lib1funcs.asm: New file.
11546 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
11547 * ginclude/va-v850.h: New file.
11548 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
11549 * configure.in (mn10200-*-*): New target.
11550 * configure: Rebuilt.
11551 * config.sub: Handle v850-elf.
73be5127 11552 * Makefile.in (USER_H): Add va-mn10200.h.
148549fa 11553 * invoke.texi: Document v850 stuff.
11554
1f13bc4e 11555Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
11556
2950e87f 11557 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
11558 has integer TYPE_{MAX,MIN}_VALUE before using them.
11559
1f13bc4e 11560 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
11561 __HPUX_ASM__ versions.
11562
befb7493 11563Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
11564
72ee28ed 11565 * install.sh: Delete duplicate install script.
befb7493 11566
3c8249d9 11567Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
11568
11569 * reg-stack.c (subst_stack_regs): Pop the stack register for a
11570 computed goto which sets the same stack register.
11571
11572 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
11573 destination are both on the regstack.
11574 (subst_stack_regs_pat): Put the destination at the top of the regstack.
11575
c6afe445 11576Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
11577
3a069d20 11578 * mips.md (nonlocal_goto_receiver): Define.
11579
2e1d7505 11580 * profile.c (output_arc_profiler): Check next_insert_after for non
11581 NULL before deferencing it.
11582
c6afe445 11583 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
11584
8cb7a7f1 11585Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
11586
11587 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
11588
f34a52ce 11589Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
11590
11591 * toplev.c (rest_of_compilation): For passes starting with
11592 flow_analysis, use print_rtl_with_bb instead of print_rtl.
11593
11594 * print-rtl.c (print_rtl_single): Print a single rtl value to a
11595 file.
11596
11597 * flow.c (print_rtl_with_bb): Print which insns start and end
11598 basic blocks. For the start of a basic block, also print the live
11599 information.
11600
cb60b1d7 11601Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
11602
5e2106da 11603 * toplev.c (main): Change #elif to #else/#ifdef
11604
cb60b1d7 11605 * tlink.c: Include ctype.h.
11606 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
11607
473b9178 11608Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
11609
11610 * bitmap.c: Conditionally include stdlib.h.
72ee28ed 11611 (free): Provide a declaration if NEED_DECLARATION_FREE.
473b9178 11612
af36182d 11613Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
11614
11615 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
11616
34f8abb9 11617Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
11618
11619 * profile.c (output_arc_profiler): Verify next_insert_after is an
11620 INSN before and after skipping a stack pop.
11621
1e72441c 11622Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11623
11624 * final.c (shorten_branches): Don't count the lengths of deleted
11625 instructions.
11626
86b40226 11627Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
11628
11629 * version.c: Bump for snapshot.
11630
23ec99a1 11631Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
11632
11633 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
11634 two bitmaps ANDed together.
11635 (bitmap_print): Declare.
11636
11637 * bitmap.c (function_obstack): Don't declare any more.
11638 (bitmap_obstack): Obstack for allocating links from.
11639 (bitmap_obstack_init): New static to say whether to initialize
11640 bitmap_obstack.
11641 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
11642 (bitmap_release_memory): Free all memory allocated from
11643 bitmap_obstack.
11644
11645 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
11646 EXECUTE_IF_AND_IN_BITMAP.
11647
3239e2b6 11648Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
11649
88ad5a4e 11650 * alias.c (true_dependence): Address with AND can alias scalars.
11651 (anti_dependence, output_dependence): Likewise.
73be5127 11652
3239e2b6 11653 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
11654
7975ee2f 11655Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
11656
11657 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
11658 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
11659 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
11660 definitions. Use -qrtems instead of -mrtems.
11661
1070b468 11662Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
11663
11664 * xm-sco5.h (sys_siglist): Define.
11665 (SYS_SIGLIST_DECLARED): Likewise.
11666
de253fa3 11667Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
11668
11669 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
11670
06e23541 11671Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
11672
11673 * except.c (eh_outer_context): Expand masking operation using
11674 expand_binop.
11675
37e52b32 11676Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
11677
11678 * alpha.md (floatdisf2-1): New pattern.
11679
fed129f0 11680Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
11681
02cd79b8 11682 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
11683 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
7aff6202 11684 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
02cd79b8 11685 * gcc.texi: Note that if you define sys_siglist that you should
11686 also define SYS_SIGLIST_DECLARED.
11687
fed129f0 11688 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
11689 are relative to the next instruction, not the current instruction.
11690
0355c7bd 11691Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
11692
11693 * local-alloc.c (contains_replace_regs): New function.
11694 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
11695 verify that there is no existing REG_EQUIV note, and add a call to
11696 contains_place_regs.
11697
1364ba4a 11698Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11699
11700 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
11701 (STARTFILE_SPEC): Always use crtbegin.o%s
11702 (ENDFILE_SPEC): Always use crtend.o%s.
11703
e21bed9e 11704Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
11705
11706 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
11707 is passed in.
11708 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
11709 SFmode for 64 bit hosts.
73be5127 11710
8d36ca82 11711Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
11712
11713 * fixincludes: Permits spaces between # and define. Discard C++
11714 comments in sys/pci.h on HP/UX 10.20.
11715
44f831ee 11716Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
11717
11718 * version.c: Bump for snapshot.
11719
9d3ddb8f 11720 * pa.c (restore_unscaled_index_insn_codes): New function.
11721 (record_unscaled_index_insn_codes): Likewise.
11722 (output_function_prologue): Call restore_unscaled_index_insn_codes.
11723 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
11724 (pa_reorg): Call record_unscaled_index_insn_codes.
11725
44f831ee 11726 * haifa-sched.c (move_insn): Handle notes correctly for insns
11727 with SCHED_GROUP_P set.
73be5127 11728
66d29d3e 11729Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11730
11731 * alpha/xm-linux.h (USE_BFD): Undef before define.
11732
6510de05 11733Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
11734
11735 * cse.c (cse_insn): Don't record BLKmode values.
11736
82eadb13 11737Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
11738
11739 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
11740
8f41eb1c 11741Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
11742
9f7e7c7c 11743 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
11744 * collect2.c (sys_errlist): Likewise.
11745 * cpplib.c (sys_errlist): Likewise.
11746 * gcc.c (sys_errlist): Likewise.
11747 * protoize (sys_errlist): Likewise.
11748 * configure.in: Check for strerror.
11749 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
11750 * xm-gnu.h (HAVE_STRERROR): Likewise.
11751 * xm-linux.h (HAVE_STRERROR): Likewise.
11752 * xm-netbsd.h (HAVE_STRERROR): Likewise.
11753 * xm-bsd386.h (HAVE_STRERROR): Likewise.
11754 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
11755 * xm-dos.h (HAVE_STRERROR): Likewise.
11756 * xm-mingw32.h (HAVE_STRERROR): Likewise.
11757 * xm-pa.h (HAVE_STRERROR): Likewise.
11758 * xm-papro.h (HAVE_STRERROR): Likewise.
11759 * xm-sysv4.h (HAVE_STRERROR): Likewise.
11760 * configure, config.in: Rebuilt.
11761
7561ae90 11762 * Makefile.in: Add several missing "else true" clauses.
11763
8f41eb1c 11764 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
11765 * mips-tfile.c: Likewise.
11766 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
11767 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
11768 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
11769 * configure.in: Check for sys_siglist declaration.
11770 * configure, config.in: Rebuilt.
11771
6c8e3918 11772Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
11773
73be5127 11774 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
6c8e3918 11775 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
11776 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
11777 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
11778 * rs6000/sysv4.h (extra_subtarget_switches): Added new
11779 macro EXTRA_SUBTARGET_SWITCHES.
11780 * configure.in (sh*-*-rtems*): New target.
11781 * sh/rtems.h: New file.
11782 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
11783 * configure: Rebuilt.
11784
c1c664b2 11785Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
11786
11787 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
11788
1037b640 11789Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
11790
11791 * rs6000.md: Make DF fused-add operations pay attention to
11792 -mno-fused-add.
11793
75b00407 11794Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
11795
11796 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
11797
c13e6dce 11798Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
11799
11800 * pa.md (reload_peepholes): Make sure operand is a REG before
11801 examining REGNO. Allow general registers too.
11802
13609b99 11803Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
11804
11805 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
11806
293a9337 11807Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
11808
75b00407 11809 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
293a9337 11810 to reallocate abbrev_die_table.
11811
befbf177 11812Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
11813
11814 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
11815
3595eac3 118161997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11817
9bec654d 11818 * Makefile.in (config.status): Depend on version.c
11819
3595eac3 11820 * expr.h (insn_gen_function): Reenable prototype.
11821
11822 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
11823 first parameter.
11824
a0e4f704 11825Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
11826
11827 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
11828
c04e22d1 11829Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
11830
11831 * version.c: Bump for latest snapshot.
11832
11833 * bc-optab.c: Conditionally include stdlib.h.
11834 (free): Provide a declaration if NEED_DECLARATION_FREE.
11835 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
11836 * rtl.h (free): Remove declaration.
11837 * tree.h (free): Remvoe declaration.
11838
11839 * configure: Rebuilt.
11840
a539e2e6 11841Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
11842
11843 * flags.h (flag_move_all_movables): Declare.
11844 (flag_reduce_all_givs): Likewise.
11845 * loop.c (move_movables): Handle flag_move_all_movables.
11846 (strength_reduce): Handle flag_reduce_all_givs.
11847 * toplev.c (flag_move_all_movables): Define.
11848 (flag_reduce_all_givs): Likewise.
11849 (f_options): Add -fmove-all-movables and -freduce-all-givs.
11850 * invoke.texi: Document new options, including alias stuff that
11851 wasn't included last time.
11852
92dab6c6 11853Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
11854
11855 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
11856 * t-mn10200: Ditto.
11857 * t-vxsparc: Ditto.
11858 * t-vxworks68: Ditto.
11859 * t-vxworks960: Ditto.
11860 * t-vx29k: Ditto.
11861
e9043ba2 11862Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
11863
11864 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
11865 if not already defined, and USE_C_ALLOCA not defined.
11866
dadde3e1 11867Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
11868
01a35b7f 11869 * config.guess: Replace with script that uses ../config.guess.
11870
dadde3e1 11871 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
11872 if USE_GNULIBC_1 is not defined.
11873
b111783f 11874Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
11875
11876 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
11877 * config.guess: Recognize alpha-linux-gnulibc1.
11878 * configure.in (alpha-*-linux-gnulibc1): New target.
11879 (alpha-*-linux-gnu*): Don't build crtbegin/end.
11880
f0aabb3f 11881Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
11882
11883 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
11884 last change.
11885
163c015f 11886Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
11887
11888 * loop.c (combine_movables): Earlier insns don't match later ones.
11889
8940b033 11890Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11891
11892 * config/linux.h (CC1_SPEC): Define it only if not defined.
11893
11894 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
11895 <linux.h>
11896
11897 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
11898 USE_GNULIBC_1 is not defined.
11899
fb030991 11900 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
8940b033 11901
11902 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
11903 as 1 if USE_GNULIBC_1 is not defined.
11904
111e968e 11905Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
11906
8020aac4 11907 * reorg.c (dbr_schedule): Allow current_function_return_rtx
11908 to be something other than a REG.
11909 * function.c (expand_function_end): Fix current_function_return_rtx
11910 if it was a pseudo.
11911
111e968e 11912 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
11913 * x-netbsd: Likewise
11914 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
11915 (INSTALL_HEADERS): Delete.
11916 * x-dguxbcs: Likewise.
11917 * x-hp3bsd44: Likewise
11918 * x-pa: Likewise.
11919
acf1be22 11920Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
11921
11922 * i386.md (pop): pop increments the stack pointer.
11923 (prologue_set_stack_ptr): New pattern.
11924 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
11925 instead of subsi3.
11926
7840126a 11927Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
11928
11929 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
11930 address where an offsettable address is required.
11931
1ac6c5ae 11932Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
11933
11934 * loop.c (check_final_value): Don't miss a biv increment in a
11935 parallel.
11936
eae9063c 11937Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
11938
11939 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
11940 TYPE_DECL_IS_STUB instead of DECL_NAME.
11941
4b206a78 11942Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11943
11944 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
11945
11946Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
11947
11948 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
11949
6106ad68 11950Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
11951
11952 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
11953 (find_post_sched_live): Likewise.
11954
11955 * haifa-sched.c (schedule_block): Remove old code to get arguments
11956 from hard regs into pseudos early.
11957
76a0ced5 11958Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
11959
11960 * version.c: Bump for new snapshot.
11961
11962 * local-alloc.c (update_equiv_regs): All the target to reject
11963 promotion of some REG_EQUAL to REG_EQUIV notes.
11964 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
11965
11966 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
11967 secondary reloads.
11968
11969 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
11970 store of the argument registers.
11971
11972Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
11973
11974 * fold-const.c (multiple_of_p): New function.
11975 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
11976
505ff4bc 11977Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
11978
11979 * expr.h (insn_gen_function): Temporarily remove prototype.
11980
dff6b323 11981Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
11982
11983 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
11984 filenames. Use sed to extract base filename for install.
11985
2bea1cf9 11986Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
11987
11988 * unroll.c (find_splittable_givs): Only share if two givs have the
11989 same add and multiply values.
11990
3238d63f 11991Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
11992
11993 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
11994 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
11995
9239127b 11996Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
11997
11998 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
11999 around branch tables.
12000 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
12001 and .end_brtab directives if TARGET_GAS.
12002
5887d455 12003Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
12004
7ce02faf 12005 * alias.c (true_dependence): Pass x_addr not x to varies.
12006
5887d455 12007 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
12008 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
12009 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
12010 declarations.
12011 * config.in, configure: Regenerate.
12012
e7c893ba 12013Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
12014
12015 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
12016 LO_SUM.
12017 (record_set): Handle LO_SUM like PLUS.
12018 (init_alias_analysis): When following chains of base addresses,
12019 do not stop on reaching a hard register.
12020
0e48f4ff 12021Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
12022
12023 * version.c: Bump for new snapshot.
12024
7cfafa87 12025Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
12026
12027 * alpha.h (ARCH_ASM_FILE_START): Define.
12028 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
12029 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
12030
e2a2be99 12031Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
12032
12033 * Makefile.in (install-common): Put gcov comment at start of line.
12034
942e3e65 12035Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
12036
12037 * alias.c (init_alias_analysis): When simplifying the reg_base_value
12038 array, simplify entries for hard registers too.
12039
d3f704ff 12040Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
12041
12042 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
12043 list.
12044
ea975fc3 12045Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
12046
12047 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
12048 block_stack before dereferencing it.
12049
12050Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
8f1e890f 12051
12052 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
12053
826f89b4 12054Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
12055
12056 * cplus-dem.c: Add 'extern' to prepends_underscore.
12057
6c08487b 12058Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
12059
ff741e90 12060 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
12061 (get_issue_rate): Delete.
12062 * pa.h (ISSUE_RATE): Define.
12063
b4e0d953 12064 * configure.in: Turn on haifa by default for the PA.
12065 * configure: Rebuilt.
12066 * pa.c (override_options): Accept -mschedule=7200 option.
12067 (pa_adjust_cost): No longer need to scale costs for newer
12068 processors.
12069 * pa.h (enum processor_type): Add PROCESSOR_7200.
12070 * pa.md: Revamp scheduling parameters to work better with
12071 haifa. Add scheduling parameters for the 7200.
12072
792e0542 12073 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
12074 insns too.
12075 (schedule_block): When adjusting basic_block_{head,end}, account
12076 for movement of SCHED_GROUP_P insns too.
12077
12078 * haifa-sched.c (debug_dependencies): Fix thinko.
12079
6c08487b 12080 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
12081 (site.exp, check, check-g++, check-gcc): New targets.
12082
792e0542 12083 * haifa-sched.c: Make lots of variables static.
dc58fc4f 12084
caca85bd 12085Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12086
12087 * expr.h, real.h: Finish prototyping.
12088
dc58fc4f 12089Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
12090
12091 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
12092 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
12093 * reload1.c: Undo bugfix from Aug 11.
12094
cb84fe36 12095Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
12096
12097 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
12098 quotes around the name.
12099 * configure: Regenerate.
12100
0d0b968b 12101Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
12102
12103 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
12104
93ed8bee 12105Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
12106
12107 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
12108 to sub-makes to avoid building more passes than the user might have
12109 requested on the command line.
12110
9d8b937d 12111Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
12112
12113 * configure.in: Expurgate `broken_install' (install is
12114 autoconfed).
12115
12116 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
12117 relevant).
12118
ae9b1d6b 12119Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
12120
12121 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
12122 functions and declarations.
12123 (analyze_loop_iterations): Use condjump_p.
12124 (insert_bct): Likewise. Use exact_log2.
73be5127 12125
96af47da 12126Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
12127
12128 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
12129 (schedule_region): Likewise.
12130 (schedule_insns): Likewise.
12131
12132 * PROJECTS: Update with Haifa stuff.
12133
5022a9c4 12134Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
12135
12136 * version.c: Change the version string to look like:
c6f3deb9 12137 egcs-2.90.00 970814 (gcc2-970802 experimental).
5022a9c4 12138
0860b765 12139 * loop.c (is_conditional_branch): Make definition match declaration.
12140
5022a9c4 12141 * gcc.c: Take out experimental snapshot warning message.
12142
be75aa64 12143Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
12144
12145 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
12146 print out the names of the notes. Print out the name of the insn
12147 that is not a note, and not an {,CALL_,JUMP_}INSN.
12148
db3b49b1 12149Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
12150
12151 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
12152 again for the slot after we give it RTL.
12153
a78c14ed 12154Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
12155
12156 * configure.in (haifa configury): Fix typo.
12157 * configure: Regenerate.
12158
72227be3 12159Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
12160
12161 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
12162
12163 * gcc.info*: Rebuilt.
12164
12165 * COPYING.g77, README.g77: New files.
12166 * real.c (ereal_unto_float, ereal_unto_double): New functions.
12167 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
12168 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
12169
3eb9a99d 12170Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
12171
12172 * Integrate Haifa instruction scheduler.
12173 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
12174 to sched with $(SCHED_CFLAGS.
12175 * configure.in: Handle --enable-haifa.
12176 * configure: Rebuilt.
12177 * flags.h: Add new flags for haifa instruction scheduler.
12178 * genattrtab.c (expand_units): For haifa, don't subtract one
12179 when computing blockage.
12180 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
12181 (flag_schedule_speculative): Ditto.
12182 (flag_schedule_speculative_load): Ditto.
12183 (flag_schedule_speculative_load_dangerous): Ditto.
12184 (flag_schedule_reverse_before_reload): Ditto.
12185 (flag_schedule_reverse_after_reload): Ditto.
12186 (flag_branch_on_count_reg): Ditto.
12187 (f_options): Add Haifa switches.
12188 (main): Turn off some Haifa options if appropriate macro is
12189 defined. Process Haifa switches.
12190 * unroll.c (iteration_info): No longer static, since Haifa
12191 scheduler uses it.
12192 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
12193 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
12194 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
12195 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
12196 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
12197 storage for the Haifa scheduler.
12198 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
12199 LABEL_NEXTREF.
12200 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
12201 are defined, call analyze_loop_iterations and insert_bct to use
12202 countdown loops.
12203 (record_giv): Refine test for jumps out of loops if HAIFA is
12204 defined.
12205 (analyze_loop_iterations): New function to identify if we can use
12206 a countdown loop.
12207 (insert_bct): Insert countdown loop.
12208 (instrument_loop_bct): Low level code to insert countdown loop.
12209 (loop_number): Calculate UID of loop.
12210 (indirect_jump_in_function_p): Return true if an indirect jump is
12211 in the function.
12212 (is_power_of_2): Return true if value is a power of 2.
12213 (is_conditional_branch): Return true if insn is a conditional
12214 jump.
12215 (fix_bct_param): Process -fbct-{min,max}-N switches.
12216 (check_bct_param): Return true if loop should be instrumented.
12217 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
12218 (loop_optimize): Initialize.
12219 (get_condition_for_loop): Ditto.
12220 * loop.c (strength_reduce): Inside of code that uses #ifdef
12221 HAVE_decrement_and_branch_on_count code, test it to make sure the
12222 condition is true.
12223 (instrument_loop_bct): Ditto.
12224 * haifa-sched.c: New file.
73be5127 12225
3eb9a99d 12226
12227 * Integrate regmove pass.
12228 * Makefile.in (OBJS): Add regmove.o
12229 (regmove.o): Add dependencies.
12230 * flow.c (find_use_as_address): No longer static.
12231 * rtl.h (find_use_as_address): Declare.
12232 * toplev.c (regmove_dump, flag_regmove): Define.
12233 (f_options): Add -fregmove.
12234 (regmove_dump_file, regmove_time): Define.
12235 (fatal_insn): Close the regmove dump file.
12236 (compile_file): Initialize regmove_time; open/close the regmove dump
12237 file as needed. Print regmove time as needed.
12238 (rest_of_compilation): Run regmove pass if requested, dump
12239 RTL after regmove if requested.
12240 (main): If -O2 or more, turn on regmove. Handle dump switches.
12241 * regmove.c: New file.
73be5127 12242
94ca3aab 12243Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
12244
12245 * Integrate tlink patch from jason@cygnus.com
12246 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
12247 (process_command): Increment n_switches for them. Don't discard
12248 their args. Validate them.
12249 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
12250 From Rohan Lenard.
12251 (process_command): Set include_prefixes from COMPILER_PATH.
12252 (main): Set COLLECT_GCC_OPTIONS sooner.
12253 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
12254 * tlink.c, hash.c, hash.h: New files.
12255 * Makefile.in (USE_COLLECT2): Always use collect2.
12256 (collect2): Depend on and link in hash.o and tlink.o.
12257 (tlink.o, hash.o): Add dependencies.
12258
4b9aed89 12259Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
12260
ea0cb7ae 12261 * Integrate alias analysis changes from jfc@mit.edu
12262 * Makefile.in (OBJS): Add alias.o
12263 (alias.o): Add dependencies.
12264 * alias.c: New file.
12265 * sched.c: Remove alias analysis code. It lives in alias.c now.
ea0cb7ae 12266 (sched_analyze_2): Add new arguments to true_dependence.
ea0cb7ae 12267 (schedule_insns): Always call init_alias_analysis.
12268 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
12269 mark return value from such functions as a pointer and keep track of
12270 them for alias analysis. If a return value from a function is a
12271 pointer, mark it as such.
12272 * combine.c (distribute_notes): Handle REG_NOALIAS.
12273 * cse.c (struct write_data): Delete. No longer needed.
12274 (invalidate): Don't call set_nonvarying_address_components anymore.
12275 Use true_dependence to decide if an entry should be removed from
12276 the hash table.
12277 (invalidate_memory): Remove WRITES argument, simplify appropriately.
12278 Fix all callers.
12279 (note_mem_written): Similarly for WRITE_PTR argument.
12280 (invalidate_from_clobbers): Similarly for W argument.
12281 (invalidate_for_call): Remove memory elements from the hash table.
12282 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
12283 (cse_rtx_varies_p): New function. Derived from old
12284 cse_rtx_addr_varies_p.
12285 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
12286 Don't call note_mem_written anymore. Stack pushes invalidate the stack
12287 pointer if PUSH_ROUNDING is defined. No longer need to call
12288 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
12289 (skipped_writes_memory): Remove variable.
12290 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
12291 (invalidate_skipped_block): Simplify for new alias analysis code.
12292 (cse_set_around_loop): Likewise.
12293 (cse_main): Call init_alias_analysis.
12294 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
12295 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
12296 (f_options): Add new alias checking arguments.
12297 (main): Set flag_alias_check when optimizing.
12298 * local_alloc (validate_equiv_mem_from_store): Add new arguments
12299 to true_dependence.
12300 (memref_referenced_p): Likewise.
12301 * loop.c (NUM_STORES): Increase to 30.
12302 (prescan_loop): Only non-constant calls set unknown_address_altered.
12303 (invariant_p): Add new arguments to true_dependence.
12304 (record_giv): Initialize unrolled and shared fields.
12305 (emit_iv_add_mult): Call record_base_value as needed.
12306 * loop.h (struct induction): Add unrolled and shared fields.
12307 * unroll.c (unroll_loop): Call record_base_value as needed.
12308 (copy_loop_body): Likewise.
12309 (final_biv_value): Likewise.
12310 (final_giv_value): Likewise.
12311 (find_splittable_regs): Likewise. Only create one new pseudo
12312 if we have multiple address GIVs that were combined with the same
12313 dst_reg GIV. Note when a new register is created due to unrolling.
12314 * rtl.c (reg_note_name): Add REG_NOALIAS.
12315 * rtl.h (enum reg_note): Similarly.
12316 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
12317 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
12318 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
12319 (true_dependence, read_dependence, anti_dependence): Likewise.
12320 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
12321 (mark_user_reg, mark_reg_pointer): Likewise.
12322
12323
12324 * Integrate reload bugfix from Wilon which enables the PA port
4b9aed89 12325 to bootstrap again.
3398e91d 12326 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
4b9aed89 12327 OPERAND_ADDRESS when computing how many registers an insn needs.
12328 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
12329 conflict.
12330 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
12331 OPADDR_ADDR reload.
12332 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
12333 in reload_reg_use_in_op_addr do not reach the end.
12334 do not reach the end.
12335 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
12336 RELOAD_FOR_OPERAND_ADDRESS.
12337
12338Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
12339
ff3fd4e4 12340 * egcs project officially starts.
f3cce032 12341
12342Local Variables:
12343add-log-time-format: current-time-string
12344End: