300e41c420df5efcf78c4859a9ab1145dfdaf165
[gcc.git] / gcc / ChangeLog
1 Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
2
3 * version.c: Bump for snapshot.
4
5 Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
6
7 * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
8 redefining it.
9
10 Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
11
12 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
13 (ENDFILE_SPEC): Add -lgloss.
14
15 Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16
17 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
18 (large_int): Likewise.
19 (pc_or_label_operand): Likewise.
20 (call_insn_operand): Likewise.
21 (consttable_operand): Likewise.
22 (m16_uimm3_b): Likewise.
23 (m16_simm4_1): Likewise.
24 (m16_nsimm4_1): Likewise.
25 (m16_simm5_1): Likewise.
26 (m16_nsimm5_1): Likewise.
27 (m16_uimm5_4): Likewise.
28 (m16_nuimm5_4): Likewise.
29 (m16_simm8_1): Likewise.
30 (m16_nsimm8_1): Likewise.
31 (m16_uimm8_1): Likewise.
32 (m16_nuimm8_1): Likewise.
33 (m16_uimm8_m1_1): Likewise.
34 (m16_uimm8_4): Likewise.
35 (m16_nuimm8_4): Likewise.
36 (m16_simm8_8): Likewise.
37 (m16_nsimm8_8): Likewise.
38 (m16_usym8_4): Likewise.
39 (m16_usym5_4): Likewise.
40 (mips_move_1word): Change type of variable `i' from int to size_t.
41 (mips_move_2words): Likewise.
42 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
43 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
44 (function_arg): Likewise.
45 (function_arg_partial_nregs): Mark parameter `named' with
46 ATTRIBUTE_UNUSED.
47 (override_options): Use ISDIGIT instead of isdigit.
48 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
49 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
50 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
51 function `fatal' to long before printing. Use
52 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
53 times in this function.
54 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
55 (function_epilogue): Likewise for parameters `file' and `size'.
56 Print an int with "%d" not "%ld".
57 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
58 (mips_function_value): Likewise for parameter `func'.
59 (function_arg_pass_by_reference): Likewise for parameters `cum'
60 and `named'.
61 (extend_operator): Likewise for parameter `mode'
62 (highpart_shift_operator): Likewise.
63
64 * mips.md (mul_acc_si): Remove unused variable `macc'.
65
66 Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
67
68 * fold-const.c (fold): Revert last change. It breaks constant
69 expressions somehow.
70
71 Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
72
73 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
74 prevent operands from being evaluated twice.
75
76 Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
77
78 * toplev.c (lang_options): Add -remap as a preprocessor option.
79
80 Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
81
82 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
83 which set CC_REVERSED since reload should ensure that
84 the operands are already the correct type.
85
86 Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
87
88 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
89 calling gen_rtx_SET.
90
91 Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
92
93 * config/rs6000/x-aix43 (AR): Delete.
94 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
95
96 Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
97
98 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
99
100 Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
101
102 * mips.c (override_options): Replace word_mode with explicit
103 TARGET_64BIT check.
104
105 Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
106
107 * regmove.c (regmove_optimize): If we can't replace the
108 destination in an insn that sets the source, generate an explicit
109 move of the source to the destination.
110 (copy_src_to_dest): New function.
111 (toplevel): Include basic-block.h
112
113 * Makefile.in (regmove.o): Add basic-block.h dependencies.
114
115 Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
116
117 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
118
119 Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
120
121 * rtl.h (rtx_def): Improve documentation.
122 (MEM_IN_STRUCT_P): Likewise.
123
124 Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
125
126 * c-decl.c (start_decl): Correct test for -Wmain.
127
128 * c-decl.c (grokdeclarator): Remove unused variable "last".
129
130 Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
131
132 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
133 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
134 Delete code storing value in static_chain_rtx.
135 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
136 to second expand_expr call.
137
138 Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
139
140 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
141
142 Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
143
144 * cppmain.c (fatal): New function.
145 * configure.in (cpp_main): New configuration variable.
146 * configure: Regenerated.
147 * Makefile.in (CCCP): Use a configuration variable to select basex
148 for cccp.
149 (cppmain$(exeext)): Add @extra_cpp_objs@.
150
151 Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
152
153 * objc/objc-act.c: Add cpplib declarations.
154 (lang_decode_option): Initialize cpplib if necessary.
155 (lang_decode_option): New argc/argv interface.
156 * tree.h (lang_decode_option): New argc/argv interface.
157 * toplev.c (lang_options): Add cpp options.
158 (main): New interface for lang_decode_option.
159 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
160 unless -E, -M or -MM is specified.
161 * cpplib.h (cpp_handle_option): New function.
162 * cpplib.c (cpp_handle_option): New function.
163 (cpp_handle_options): Now calls cpp_handle_option.
164 * c-tree.h (c_decode_option): New argc/argv interface.
165 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
166 * c-lang.c (lang_decode_option): New argc/argv interface.
167 * c-decl.c: Add cpplib declarations.
168 (c_decode_option): New argc/argv interface.
169 (c_decode_option): Call cpp_handle_option.
170 (c_decode_option): Now returns number of strings processed.
171
172 Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
173
174 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
175 changes. Abort if the undo fails.
176
177 Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
178
179 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
180 for each alternative. Do not replace a CONST_INT with a REG unless
181 the reg is cheaper.
182
183 Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
184
185 * decl.c (init_decl_processing): Fix typo.
186
187 * mips.c (gpr_mode): New variable.
188 (override_options): Initialize gpr_mode.
189 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
190 determine size and offset of general purpose registers save slots.
191 (save_restore_insns, mips_expand_prologue): Similarly.
192
193 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
194 between constant representations when we have (SUBREG (REG)) with
195 REG equivalent to a constant.
196
197 Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
198
199 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
200
201 Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
202
203 * fold-const.c (fold): Even with otherwise constant trees, look for
204 opportunities to combine integer constants.
205
206 Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
207
208 * i386.c (notice_update_cc): Clear cc_status.value2 in the
209 case of UNSPEC 5 (bsf).
210
211 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
212 conditional move instructions don't support signed integer
213 comparisons.
214
215 Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
216
217 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
218 overlfows.
219
220 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
221 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
222 <glctr@abc.it>.
223
224 Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
225
226 * except.c (expand_start_catch): Rename to start_catch_handler.
227 (expand_end_catch): Delete function.
228 (expand_end_all_catch): Remove catch status that expand_end_catch
229 use to do.
230 * except.h (expand_start_catch): Rename prototype.
231 (expand_end_catch): Delete prototype.
232
233 Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
234
235 * invoke.texi: Add documentation for -mips4 and -mabi=*.
236
237 Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
238
239 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
240 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
241 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
242
243 Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
244
245 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
246 as the threshold to permit splitting memory operations.
247
248 Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
249
250 * mips.c (gpr_mode): New variable.
251 (override_options): Initialize gpr_mode.
252 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
253 determine size and offset of general purpose registers save slots.
254 (save_restore_insns, mips_expand_prologue): Similarly.
255
256 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
257 (LIBGCC2_CFLAGS): Remove -fexceptions.
258 (LIB2FUNCS): Remove "_eh".
259 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
260 it with -fexceptions.
261
262 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
263 * local-alloc.c (block_alloc): Avoid creating false
264 dependencies for targets which use instruction scheduling.
265
266 Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
267
268 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
269 (ASM_FINISH_DECLARE_OBJECT): Define;
270 * mips/elf64.h: Likewise.
271
272 Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
273
274 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
275
276 Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
277
278 * version.c: Bump for snapshot.
279
280 Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
281
282 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
283 (mulsidi3_ppc64): Delete.
284
285 Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
286
287 * Makefile.in (varasm.o): Depend on dbxout.h.
288 (cse.o): Depend on toplev.h and output.h.
289 (gcse.o): Depend on output.h.
290
291 * mips.c: Include system.h and toplev.h and remove redundant code.
292 Include output.h after tree.h so all its prototypes get activated.
293 * mips.md (table_jump): Remove unused variable `dest'.
294
295 * sparc.h: Add prototype for `v8plus_regcmp_op'.
296
297 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
298 with __attribute__ ((__unused__)).
299 (__frame_dummy): Provide prototype before use, wrap it with
300 EH_FRAME_SECTION_ASM_OP.
301
302 * cse.c: Move inclusion of <setjmp.h> above local headers.
303 Include toplev.h and output.h.
304
305 * dbxout.h: Add prototype for `dbxout_begin_function'.
306
307 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
308 ASM_OUTPUT_MAX_SKIP_ALIGN.
309
310 * gcse.c: Include system.h and output.h.
311 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
312 Make extern instead of static.
313 (compute_can_copy): Only declare variables `reg' and `insn' when
314 AVOID_CCMODE_COPIES is not defined.
315 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
316 (hash_scan_clobber): Likewise for `x' and `insn'.
317 (hash_scan_call): Likewise.
318 (record_last_set_info): Likewise for `setter'.
319 (mark_call): Likewise for `pat'.
320 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
321
322 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
323 length parameter so that it multiplies the number of elements by
324 the sizeof(element).
325
326 * output.h: Add prototype for `weak_finish'.
327
328 * recog.h: Likewise for `validate_replace_src'.
329
330 * rtl.h: Likewise for `optimize_save_area_alloca',
331 `fix_sched_param', `purge_addressof', `gcse_main',
332 `regmove_optimize', `dbr_schedule', `branch_prob' and
333 `end_branch_prob'.
334
335 * toplev.h: Likewise for `set_float_handler' and
336 `output_quoted_string'.
337
338 * varasm.c: Include dbxout.h.
339
340 Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
341
342 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
343 GP_REG_P. Use gr_regs instead of GR_REGS.
344
345 Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
346 Jeff Law <law@cygnus.com>
347
348 * Revamped multiply support for MIPS chips.
349 * mips.c (extend_operator): New function.
350 (highpart_shift_operator): Likewise.
351 * mips.h: Declare new functions.
352 (PREDICATE_CODES): Add support for new predicates.
353 * mips.md (mulsi3 expander): Simplify.
354 (mulsi_mult3): Add another constraint alternative. Support
355 3 operand multiply instructions as found on various mips
356 parts.
357 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
358 (mul_acc_si): New pattern and associated splitters.
359 (mulsidi3 expander): Rework to use mulsidi3_64bit and
360 mulsidi3_internal.
361 (umulsidi3): New expander.
362 (mulsidi3_internal): Accept either sign or zero extended
363 operands and generate code as appropriate appropriately.
364 (mulsidi3_64bit): Similarly.
365 (smulsi3_highpart): Turn into an expander and generate code
366 to match new patterns.
367 (umulsi3_highpart): Likewise.
368 (xmulsi3_highpart_internal): New pattern.
369 (maddi patterns): Delete. Replace with:
370 (mul_acc_di, mul-acc_64bit_di): New patterns.
371
372 Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
373
374 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
375 flag_new_exceptions runtime flag.
376 (struct old_exception_table): New struct which represents what
377 the exception table looks like without the new model.
378 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
379 flag that this is a new style table.
380 * except.h: Remove compile time flag NEW_EH_MODEL.
381 (expand_builtin_eh_stub_old): New prototype.
382 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
383 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
384 * c-decl.c (init_decl_processing): Add new builtin function
385 __builtin_eh_stub_old.
386 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
387 * flags.h (flag_new_exceptions): New runtime flag.
388 * toplev.c (flag_new_exceptions): Initialize default to 0,
389 -fnew-exceptions sets to 1.
390 * except.c (output_exception_table_entry): Output New style exception
391 identifier into table, and replace compile time flag NEW_EH_MODEL
392 with runtime flag flag_new_exceptions.
393 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
394 (expand_builtin_eh_stub_old): Duplicates original functionality of
395 expand_builtin_eh_stub.
396 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
397 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
398 (old_find_exception_handler): New func, same as find_exception_handler
399 except it works on the old style exception table.
400 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
401 of identifier in the exception table, and call appropriate routines.
402
403 Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
404
405 * function.c: Define current_function_cannot_inline.
406 (push_function_context_to): Save it.
407 (pop_function_context_from): Restore it.
408 * function.h (struct function): Provide it a home.
409 * output.h: Declare it.
410 * integrate.c (function_cannot_inline_p): Check it.
411
412 Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
413
414 * expr.c (force_operand): Detect PIC address loads before
415 splitting arithmetic.
416
417 Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
418
419 * version.c: Bump for snapshot.
420
421 Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
422
423 * tree.c (tree_class_check): Add braces to eliminate ambigious
424 else warning.
425 (tree_check): Likewise.
426
427 Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
428
429 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
430 stack is the destination for conditional move insn.
431
432 Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
433
434 * tree.h (TREE_VEC_END): Cast unused value to void.
435
436 * i386.c (print_operand): Use %lx for long operand.
437
438 Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
439
440 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
441
442 Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
443
444 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
445 conversion functions.
446
447 Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
448
449 * toplev.c (flag_exceptions): Default to 0.
450 (compile_file): Remove flag_exceptions == 2 hack.
451 (main): Call lang_init_options.
452 * tree.h: Declare it.
453 * c-lang.c: Implement it.
454 * objc/objc-act.c: Likewise.
455
456 Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
457
458 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
459 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
460 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
461 (output_function_profiler): Use asm_fprintf and fputs.
462
463 Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
464
465 * gencheck.c: Remove redundant stdio.h include. Add a definition
466 of xmalloc for when we are forced to link with alloca.o.
467
468 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
469 instead of `1U'.
470
471 * fold-const.c (constant_boolean_node): Make definition static to
472 match the prototype.
473
474 Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
475
476 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
477 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
478 (do_spec, input_filename, input_filename_length): Make public.
479 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
480 Call lang_specific_pre_link befor elinking.
481
482 Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
483
484 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
485 the insn which has the most insns dependent on it.
486
487 Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
488
489 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
490
491 Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
492
493 * alpha.md (insxh-1): New insxl pattern for combine.
494
495 Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
496
497 * i386/i386.c (output_fp_conditional_move): New function
498 to output floating point conditional move.
499 (output_int_conditional_move): New function to output integer
500 conditional move.
501
502 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
503 output_int_conditional_move () to output int conditional move.
504 (movsfcc+5, movdfcc+5, movxfcc+5): Call
505 output_fp_conditional_move () to output floating point
506 conditional move.
507
508 * i386/i386.c (put_condition_code): In INT mode, check
509 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
510
511 Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
512
513 * dbxout.c (dbxout_type): Output arrays of bits as if
514 they were bitstrings for Chill
515
516 Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
517
518 * tree.c (get_inner_array_type): New function.
519 * tree.h (get_inner_array_type): Prototype.
520 * expr.h (STACK_SAVEAREA_MODE): New macro.
521 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
522 STACK_SAVEAREA_MODE.
523 (expand_builtin_longjmp): Likewise.
524 * explow.c (emit_stack_save): Likewise.
525 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
526
527 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
528 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
529 * rs6000/aix43.h: New file.
530 * rs6000/t-aix43: New file.
531 * rs6000/x-aix41: New file.
532 * rs6000/x-aix43: New file.
533 * configure.in (rs6000-ibm-aix*): Use them.
534 * rs6000/powerpc.h: Delete.
535 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
536 * rs6000/netware.h: and here.
537 * rs6000/win-nt.h: and here.
538
539 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
540 MASK_POWERPC64.
541 (rs6000_override_options): Ignore flag_pic for AIX.
542 (rs6000_immed_double_const): Delete.
543 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
544 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
545 (num_insns_constant): mask64_operand() is 2 insns.
546 (logical_operand): Don't assume 32-bit CONST_INT.
547 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
548 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
549 (mask_constant): HOST_WIDE_INT parameter.
550 (non_and_cint_operand): Delete.
551 (mask64_operand): New function.
552 (and64_operand): New function.
553 (function_arg_advance): DImode arguments do not need special
554 alignment when 64-bit.
555 (function_arg): Likewise.
556 (setup_incoming_varargs): Reverse reg_size assignment.
557 (print_operand): HOST_WIDE_INT second parameter.
558 (print_operand, 'B'): New case.
559 (print_operand, 'M'): Fix typo in lossage string.
560 (print_operandm 'S'): New case.
561 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
562 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
563 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
564 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
565 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
566 (rs6000_allocate_stack_space): Use {cal|la}.
567 (output_epilog): Use {cal|la}
568 (output_function_profiler): Add call glue to mcount call.
569 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
570
571 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
572 (STACK_BOUNDARY): Depend on TARGET_32BIT.
573 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
574 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
575 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
576 64-bit mask operand.
577 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
578 (STACK_SAVEAREA_MODE): New macro.
579 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
580 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
581 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
582 (ASM_FILE_START): Emit 64-bit ABI directive.
583 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
584 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
585 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
586 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
587
588 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
589 Restore define_splits.
590 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
591 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
592 Do not specify base register operand mode.
593 (floatsidf2_loadaddr): Do not specify base register operand mode.
594 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
595 register; do not specify mode. Remove !TARGET_POWERPC64 final
596 constraint.
597 (floatsidf2_load): Do not specify base register operand mode. Remove
598 !TARGET_POWERPC64 final constraint.
599 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
600 base register operand mode.
601 (adddi3): Split large constants early.
602 (absdi3): Shift by 63, not 31.
603 (*mulsidi3_ppc64): New pattern.
604 (rotldi3): Add masking combiner patterns.
605 (anddi3): Add rldic{r,l} masking. Remove split of large constants
606 because PPC insns zero-extend.
607 (iordi3, xordi3): Split large constants early.
608 (movsi matcher): Remove S and T constraints.
609 (movsf const_double): create SImode constant from TARGET_DOUBLE.
610 (movdf_hardfloat32): Add default abort() case.
611 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
612 (movdi): Remove 64-bit constant generator. Try to convert
613 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
614 (movdi_32): Add default abort() case.
615 (movdi_64): Add numerous ways to split 64-bit constants.
616 Make catch-all define_split more optimal and never FAIL.
617 (movti_ppc64): Add default abort() case.
618 (allocate_stack): Remove operand modes. Use Pmode.
619 (restore_stack_block): Remove operand modes. Generate Pmode
620 temporary.
621 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
622 temporary. Save area is double Pmode.
623 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
624 (call, call_value): Do not specify address operand mode. Choose
625 appropriate AIX ABI.
626 (*call_local64, *ret_call_local64): New patterns.
627 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
628 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
629 (compare): Materialize DImode truthvalues.
630
631 Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
632
633 * expr.c (safe_from_p): Avoid combinatorial explosion
634 over duplicate SAVE_EXPRs by ensuring we never recurse
635 on one that has already been visited.
636
637 Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
638
639 * loop.c (check_dbra_loop): Initialise final_value before
640 normalizing the loop.
641
642 Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
643
644 * reload1.c (reload_reg_free_for_value_p): New arguments out and
645 reloadnum. Changed all callers.
646
647 1998-06-03 Ulrich Drepper <drepper@cygnus.com>
648
649 * system.h: Add _() and N_() macros in preparation for gettext.
650
651 Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
652
653 * c-common.c (check_format_info): Put back check for C9x `hh'
654 length modifier. Warn about %n format writing into const. Remove
655 obsolete comment.
656 (format_char_info): Fix comments.
657
658 * configure.in: Set float_format to m68k for all m68k targets that
659 do not override LONG_DOUBLE_TYPE_SIZE.
660 * config/float-m68k.h: New file.
661
662 Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
663
664 * jump.c (jump_optimize): Remove debug messages accidentally left in
665 with the previous change.
666
667 Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
668
669 * expr.c (store_expr): Revert stray patch associated with
670 1998-05-23 commit.
671
672 Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
673
674 * jump.c (rtx_unsafe_p): New function.
675 (jump_optimize): Use it on if/then/else transformations and
676 conditional move transformations.
677
678 Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
679
680 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
681 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
682 Cope with CONST being out of range for the bitfield.
683
684 Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
685
686 * expr.c (emit_move_insn_1): When moving complex values in several
687 steps, emit a CLOBBER to show the destination dies.
688
689 Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
690
691 * Makefile.in (site.exp): Use the object testsuite directory as
692 the temporary directory.
693
694 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
695 address of an ADDRESSOF rtx.
696
697 1998-06-02 Mike Stump <mrs@wrs.com>
698
699 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
700 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
701 * i960.md (ret, flush_register_windows): Define.
702 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
703 work yet.
704 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
705
706 Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
707
708 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
709 around an OSF/1 library bug wrt sign-extension of inputs.
710
711 Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
712
713 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
714
715 Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
716
717 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
718
719 * varasm.c (assemble_variable): Augment alignment warning.
720
721 Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
722
723 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
724 in the presence of IEEE negative 0's.
725
726 Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
727
728 * reload.c (find_reloads): Record the existing mode if
729 operand_mode == VOIDmode before replacing a register with
730 a constant.
731 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
732 i386_compare_op1 to const0_rtx for the benefit of the
733 conditional move patterns.
734 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
735 based on suggestions from Jim Wilson.
736
737 Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
738
739 * version.c: Bump for snapshot.
740
741 Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
742
743 * Makefile.in (fixinc.sh): Update rules again.
744
745 Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
746
747 * extend.texi: Bring back reference to trampoline paper.
748
749 Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
750
751 * Makefile.in (USER_H): Add stdbool.h.
752 * ginclude/stdbool.h: New file.
753
754 Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
755
756 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
757 of a non-note insn.
758
759 * gcse.c (pre_delete): Fix code to determine the mode of
760 the reaching pseudo register.
761
762 Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
763
764 * Makefile.in (GEN): Add gencheck
765 (STAGESTUFF): Add tree-check.h and gencheck.
766
767 Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
768
769 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
770 (fixinc.sh): Set some additional environment variables before
771 calling mkfixinc.sh.
772
773 Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
774
775 * reload.c (find_reloads): Do not force a reloads of match_operators.
776
777 Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
778
779 * except.h (remove_handler): Add new prototype.
780 * except.c (remove_handler): New function to remove handlers
781 from an exception region.
782 * flow.c (find_basic_blocks_1): Remove handlers from regions when
783 handler label is deleted; remove exception regions with no handlers.
784
785 Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
786
787 * except.h (rtx): Define rtx type correctly if needed.
788 * function.h (rtx): Ditto.
789 (tree): Define tree type correctly if needed.
790
791 * c-pragma.c (toplevel): Include rtl.h.
792
793 * stor-layout.c (toplevel): Move include of rtl.h before
794 except.h.
795
796 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
797 (tree.o): Add except.h dependency.
798
799 Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
800
801 * reload1.c: Revert accidental checkin.
802
803 * configure.lang: Fix thinko when adding a definition for
804 target_alias to the Makefile.
805
806 Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
807
808 * config/sparc/lb1spc.asm (.rem and .urem): Replace
809 routines.
810
811 Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
812
813 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
814 variable warnings. Don't generate scratch registers if only
815 counting insns.
816 (find_barrier): Eliminate unused variable SRC.
817
818 1998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
819
820 * toplev.h (rtx_def): Provide global declaration to avoid
821 `limited scope' warnings.
822
823 Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
824
825 * Makefile.in (gencheck.o): Use HOST_CC.
826 * i386/t-mingw32: New file.
827 * configure.in (i386-*-mingw32*): Use.
828
829 Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
830
831 * arm.c (bad_signed_byte_operand): New predicate function.
832 * arm.h (PREDICATE_CODES): Add it to the list.
833 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
834 can't handle.
835 (define_split): Two new splits for above insns.
836
837 * arm.c: Include toplev.h.
838 (arm_override_options): Add parentheses around use of tune_flags.
839 (arm_split_constant): Remove unused variable.
840 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
841 (output_func_prologue, arm_expand_prologue): Likewise.
842 (arm_canonicalize_comparison): Make I unsigned; rework constants
843 accordignly. Add missing paratheses around << operation.
844 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
845 clause.
846 ({load,store}_multiple_sequence): Initialize BASE_REG.
847 (select_dominance_cc_mode): Add DEFAULT clauses.
848 (broken_move): Return zero if the destination is not a register.
849 (arm_reorg): Move unused REGNO declaration into the dead code.
850 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
851
852 Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
853
854 * version.c: Bump for snapshot.
855
856 Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
857
858 * version.c: Bump for snapshot.
859
860 Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
861
862 * cpperror.c (v_cpp_message): Remove static prototype.
863 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
864 * cpplib.h (v_cpp_message): Add protoptype.
865 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
866
867 Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
868
869 * version.c: Bump for snapshot.
870
871 Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
872
873 * version.c: Bump for snapshot.
874
875 1998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
876
877 * m68k.h: Declare more functions used in macros.
878 (REG_CLASS_CONTENTS): Completely embrace initializer.
879 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
880 about returning no value.
881 * cse.c (find_best_addr): Declare p and found_better only if
882 needed.
883 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
884 * dwarfout.c (string_length_attribute): #if 0 away.
885 * function.c (expand_function_end): Define varible blktramp only
886 if needed.
887 * jump.c (find_insert_position): Define only if !HAVE_cc0.
888 * loop.c (combine_givs_p): Define variable tem only if needed.
889 * real.c: Comment out unused functions eabs, eround,
890 e{24,53,64,113}toasc and eiinfin.
891
892
893 Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
894
895 * Makefile.in (boostrap2-lean, bootstrap3-lean,
896 bootstrap4-lean): New targets.
897
898 Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
899
900 * warn_summary, test_summary: Moved into the contrib directory.
901
902 1998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
903
904 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
905 of the Makefile.
906 (FLOAT_H_TEST): Likewise.
907 (ENQUIRE): Likewise.
908 (float.h-nat): Likewise.
909 (float.h-cross): Likewise.
910 (enquire): Likewise.
911 (enquire.o): Likewise.
912 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
913 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
914 no-op.
915 (FLOAT_H): Remove old float.h-nat version; move current definition
916 to CROSS_FLOAT_H location.
917 (all.cross): Remove comments about enquire stuff.
918
919 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
920 (rest.encap): Likewise.
921 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
922
923 * toplev.h (tree_node): Provide global declaration to avoid
924 `limited scope' warnings.
925
926 Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
927
928 * test_summary: Display section breaks for each entry
929 in a multilibbed target's output.
930
931 1998-05-23 Richard Henderson <rth@cygnus.com>
932
933 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
934 offset's mode is not ptr_mode, convert it.
935
936 1998-05-22 Jason Merrill <jason@yorick.cygnus.com>
937
938 * fold-const.c (ssize_binop): New fn.
939 * tree.h: Declare it.
940
941 Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
942
943 * genextract.c (print_path): Handle zero-length path as a special
944 case.
945
946 Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
947
948 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
949
950 Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
951
952 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
953 (shorten_branches, final_scan_insn): Test value of
954 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
955 is defined.
956 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
957 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
958 * arm/tcoff.h: Likewise.
959 * i386/386bsd.h: Likewise.
960 * i386/freebsd-elf.h: Likewise.
961 * i386/freebsd.h: Likewise.
962 * i386/netbsd.h: Likewise.
963 * i386/ptx4-i.h: Likewise.
964 * i386/sysv4.h: Likewise.
965 * pa/pa.h: Likewise.
966 * rs6000/linux.h: Likewise.
967 * rs6000/rs6000.h: Likewise.
968 * sh/sh.h: Likewise.
969 * sparc/sp64-elf.h: Likewise.
970 * v850/v850.h: Likewise.
971 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
972 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
973
974 Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
975
976 * regmove.c (gen_add3_insn): New function.
977 (fixup_match_2): Use it instead of calling gen_addsi3.
978
979 Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
980
981 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
982
983 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
984 address.
985
986 Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
987
988 * Makefile.in (TREE_H): Add tree-check.h.
989 (tree-check.h, gencheck): New targets.
990 * gencheck.c: New file.
991 * tree.c (tree_check, tree_class_check): New functions.
992 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
993 (TYPE_CHECK, DECL_CHECK): Define.
994 Modify all access macros to use generated checking macros.
995
996 Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
997
998 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
999 * configure.in: Check for it.
1000 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
1001 * final.c (uid_align, uid_shuid, label_align): Make static.
1002 (label_align): Change type to struct label_alignment pointer.
1003 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
1004 (LABEL_TO_MAX_SKIP): Define.
1005 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
1006 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
1007 (shorten_branches): Record the maximum bytes to skip when
1008 aligning a label.
1009 (final_scan_insn): Use the maximum bytes to skip when aligning a label
1010 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1011 * i386.h (LOOP_ALIGN_MAX_SKIP,
1012 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
1013 * i386.c (override_options): i386_align_jumps and i386_align_loops
1014 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1015 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
1016
1017 1998-05-21 Mark Mitchell <mmitchell@usa.net>
1018
1019 * cplus-dem.c (do_type): Handle volatile qualification.
1020
1021 Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
1022
1023 * function.c (init_function_start): Don't call emit_line_note if
1024 lineno is 0. (Can happen when compiling Java .class files.)
1025
1026 Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1027
1028 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
1029 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
1030
1031 Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1032
1033 * combine.c (nonzero_bits): For paradoxical subregs, take
1034 LOAD_EXTENDED_OP into account.
1035
1036 Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
1037
1038 * configure.in (extra_c_objs): add prefix.o.
1039 (extra_cxx_objs): extra objects for C++ with cpplib.
1040 * configure: Regenerate.
1041
1042 * c-tree.h: (get_directive_line): Different prototype for cpplib.
1043 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
1044
1045 * c-lex.h: (get_directive_line): Not needed here for cpplib.
1046
1047 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
1048 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
1049
1050 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
1051 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
1052
1053 Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1054
1055 * gengenrtl.c (type_from_format, accessor_from_format): Change
1056 type of parameter `c' from `char' to `int'.
1057
1058 Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
1059
1060 * warn_summary, test_summary: New scripts from
1061 Kaveh Ghazi and Alexandre Oliva respectively.
1062
1063 * gcse.c (current_function_calls_longjmp): Declare.
1064
1065 1998-05-20 Jason Merrill <jason@yorick.cygnus.com>
1066
1067 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
1068
1069 Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
1070 Jeff Law (law@cygnus.com)
1071
1072 * Global CSE and constant/copy propagation.
1073 * Makefile.in (OBJS): Add gcse.o
1074 (STAGESTUFF): Add *.gcse.
1075 (gcse.o): Add dependencies.
1076 (mostlyclean): Remove *.gcse and */*.gcse.
1077 * gcse.c: New file.
1078 * loop.c (loop_optimize): Move call to init_alias_analysis.
1079 * recog.c (validate_replace_src): New function.
1080 * toplev.c (gcse_dump): New global variable.
1081 (flag_gcse, gcse_time): Likewise.
1082 (compile_file): Initialize gcse_time and clean out the gcse dump
1083 file if necessary.
1084 (rest_of_compilation): Call gcse_main as requested. Dump RTL
1085 after gcse if requested.
1086 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
1087 dumps for -da.
1088 * gcc.texi: Add gcse related internal documentation.
1089 * invoke.texi: Note new command line options for gcse.
1090 * tm.texi: Document AVOID_CCMODE_COPIES.
1091 * mips.h (AVOID_CCMODE_COPIES): Define.
1092
1093 Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
1094
1095 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
1096 exists.
1097 (stmp-fixproto): Simlarly for running fixproto.
1098 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
1099
1100 Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
1101
1102 * config/mips/mips.c (double_memory_operand): Accept any MEM during
1103 reload when TARGET_64BIT.
1104
1105 Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
1106
1107 Finish incomplete change started by Kenner.
1108 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
1109 (powerpcle-*-cygwin32): Delete xm_defines.
1110 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
1111 HAVE_STAB_H instead of NO_STAB_H.
1112 * config/xm-linux.h (NO_STAB_H): Delete.
1113 (HAVE_STAB_H): Undefine.
1114 * config/i386/xm-go32.h (NO_STAB_H): Delete.
1115
1116 1998-05-19 Jim Wilson <wilson@cygnus.com>
1117
1118 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
1119 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
1120
1121 Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
1122
1123 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
1124
1125 Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1126
1127 * reload1.c (reload_reg_free_for_value_p): New function.
1128 (allocate_reload_reg, choose_reload_regs): Use it.
1129
1130 Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1131
1132 * except.c (expand_start_catch): Correct logic for when to
1133 generate a new handler label, and when to use the old one.
1134
1135 Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1136
1137 * Makefile.in (print-rtl.o): Depend on bitmap.h.
1138 (dbxout.o): Depend on toplev.h.
1139 ($(SCHED_PREFIX)sched.o): Likewise.
1140 ($(out_object_file)): Likewise for system.h and toplev.h.
1141 (cppmain.o): Depend on gansidecl.h.
1142 (cpplib.o): Likewise.
1143 (cpperror.o): Likewise.
1144 (cppexp.o): Likewise.
1145 (cpphash.o): Likewise.
1146 (cppalloc.o): Likewise.
1147 (fix-header.o): Depend on cpplib.h and cpphash.h.
1148 (scan-decls.o): Depend on gansidecl.h.
1149
1150 * basic-block.h (free_regset_vector): Add prototype.
1151
1152 * cccp.c (check_precompiled): Mark parameter `fname' with
1153 ATTRIBUTE_UNUSED.
1154 (do_assert): Likewise for `op' and `keyword'.
1155 (do_unassert): Likewise.
1156 (do_line): Likewise for `keyword'.
1157 (do_error): Likewise for `op' and `keyword'.
1158 (do_warning): Likewise.
1159 (do_ident): Likewise for `keyword'.
1160 (do_pragma): Likewise for `limit', `op' and `keyword'.
1161 (do_sccs): Likewise.
1162 (do_if): Likewise for `keyword'.
1163 (do_elif): Likewise.
1164 (do_else): Likewise.
1165 (do_endif): Likewise.
1166
1167 * collect2.c (getenv): Remove redundant prototype.
1168 (collect_exit, collect_execute, dump_file): Likewise.
1169 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
1170 (dump_prefix_list): Hide prototype and definition.
1171
1172 * sparc.c: Include toplev.h.
1173 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1174 (symbolic_memory_operand): Likewise.
1175 (sp64_medium_pic_operand): Likewise.
1176 (data_segment_operand): Likewise.
1177 (text_segment_operand): Likewise.
1178 (splittable_symbolic_memory_operand): Likewise.
1179 (splittable_immediate_memory_operand): Likewise.
1180 (eq_or_neq): Likewise.
1181 (normal_comp_operator): Likewise.
1182 (noov_compare_op): Likewise.
1183 (v9_regcmp_op): Likewise.
1184 (v8plus_regcmp_op): Likewise.
1185 (extend_op): Likewise.
1186 (cc_arithop): Likewise.
1187 (cc_arithopn): Likewise.
1188 (small_int): Likewise.
1189 (uns_small_int): Likewise.
1190 (clobbered_register): Likewise.
1191 (legitimize_pic_address): Likewise.
1192 (delay_operand): Likewise.
1193 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
1194
1195 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
1196 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
1197
1198 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
1199
1200 * cppalloc.c: Include gansidecl.h.
1201
1202 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
1203 (cpp_file_line_for_message): Mark parameter `pfile' with
1204 ATTRIBUTE_UNUSED.
1205 (v_cpp_message): New function.
1206 (cpp_message): Use it. Also convert to variable arguments.
1207 (cpp_fatal): Likewise.
1208 (cpp_pfatal_with_name): Constify parameter `name'.
1209
1210 * cppexp.c: Move gansidecl.h before cpplib.h.
1211 * cpphash.c: Likewise.
1212 * cpphash.h (hashf, delete_macro): Add prototypes.
1213
1214 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
1215 cpplib.h. Don't include errno.h.
1216 (update_path): Add arguments to prototype.
1217 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
1218 cpp_print_containing_files): Remove redundant prototypes.
1219 (cpp_hash_cleanup, add_import, append_include_chain,
1220 make_assertion, path_include, initialize_builtins,
1221 initialize_char_syntax, finclude, validate_else, comp_def_part,
1222 lookup_import, redundant_include_p, is_system_include,
1223 read_name_map, read_filename_string, open_include_file,
1224 check_macro_name, compare_defs, compare_token_lists,
1225 eval_if_expression, change_newlines): Add prototype arguments.
1226 (hashf): Remove redundant prototype.
1227 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
1228 conditional_skip, skip_if_group): Add prototype arguments.
1229 (fdopen): Remove redundant prototype.
1230 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
1231 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
1232 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
1233 (struct directive): Add prototype arguments to function pointer
1234 member `func'.
1235 (handle_directive): Add missing arguments to call to `do_line'.
1236 (do_include): Mark parameters `unused1' and `unused2' with
1237 ATTRIBUTE_UNUSED.
1238 (do_line): Likewise for `keyword' and new parameters `unused1' and
1239 `unused2'.
1240 (do_error): Likewise for `keyword'.
1241 (do_warning): Likewise. Also add missing argument `pfile' in call
1242 to cpp_pedwarn.
1243 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
1244 ATTRIBUTE_UNUSED.
1245 (do_ident): Likewise for `keyword', `buf' and `limit'.
1246 (do_pragma): Likewise. Also add missing arguments in call to do_once.
1247 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
1248 ATTRIBUTE_UNUSED.
1249 (do_if): Likewise for `keyword'.
1250 (do_elif): Likewise.
1251 (eval_if_expression): Likewise for `buf' and `length'.
1252 (do_xifdef): Likewise for `unused1' and `unused2'.
1253 (do_else): Likewise for `keyword', `buf' and `limit'.
1254 (do_endif): Likewise.
1255 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
1256 (cpp_handle_options): Remove superfluous NULL argument in call to
1257 cpp_fatal.
1258 (cpp_handle_options): Likewise.
1259 (do_assert): Mark parameter `keyword', `buf' and `limit' with
1260 ATTRIBUTE_UNUSED.
1261 (do_unassert): Likewise.
1262 (cpp_print_file_and_line): Add missing argument `pfile' in call to
1263 cpp_file_line_for_message.
1264 (v_cpp_error): New function.
1265 (cpp_error): Use it. Also accept variable arguments.
1266 (v_cpp_warning): New function.
1267 (cpp_warning): Use it. Also accept variable arguments.
1268 (cpp_pedwarn): Accept variable arguments.
1269 (v_cpp_error_with_line): New function
1270 (cpp_error_with_line): Use it. Accept variable arguments.
1271 (v_cpp_warning_with_line): New function.
1272 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
1273 definition.
1274 (cpp_pedwarn_with_line): Accept variable arguments.
1275 (cpp_pedwarn_with_file_and_line): Likewise.
1276 (cpp_error_from_errno): Constify parameter `name'. Add missing
1277 argument `pfile' in call to cpp_file_line_for_message.
1278 (cpp_perror_with_name): Constify parameter `name'.
1279
1280 * cpplib.h: Define PARAMS() in terms of PROTO().
1281 (fatal): Remove redundant prototype.
1282 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
1283 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
1284 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
1285 cpp_fatal, cpp_message, cpp_pfatal_with_name,
1286 cpp_file_line_for_message, cpp_print_containing_files): Add
1287 arguments to prototypes.
1288 (scan_decls, cpp_finish): Add prototypes.
1289
1290 * cppmain.c: Include gansidecl.h.
1291 (main): Remove unused variable `i'.
1292
1293 * dbxout.c: Include toplev.h.
1294
1295 * demangle.h (do_tlink, collect_execute, collect_exit,
1296 collect_wait, dump_file, file_exists): Add prototype.
1297
1298 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
1299 prototype and definition.
1300 (gen_unspecified_parameters_die): Don't assign results of call to
1301 function new_die() to unused variable `parm_die'.
1302 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
1303 (dwarf2out_define): Likewise for `lineno' and `buffer'.
1304
1305 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
1306 prototype and definition.
1307 (output_die): Add prototype arguments to function pointer arg.
1308 (output_unspecified_parameters_die): Mark parameter `arg' with
1309 ATTRIBUTE_UNUSED.
1310
1311 * except.c (output_exception_table_entry): Remove unused variable
1312 `eh_entry'.
1313
1314 * except.h (expand_fixup_region_start, expand_fixup_region_end):
1315 Add prototypes.
1316
1317 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
1318
1319 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
1320
1321 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
1322 before cpplib.h, include cpphash.h, remove redundant prototype of
1323 cpp_fatal, don't define `const', add a prototype for `fatal'.
1324 (cpp_file_line_for_message): Add missing arguments `pfile'.
1325 (v_cpp_message): New function.
1326 (cpp_message): Use it.
1327 (v_fatal): New function.
1328 (fatal, cpp_fatal): Use it.
1329 (cpp_pfatal_with_name): Constify parameter `name'.
1330
1331 * flow.c (free_regset_vector): Remove redundant prototype.
1332
1333 * function.c (round_down): Wrap prototype and definition with
1334 macro ARGS_GROW_DOWNWARD.
1335 (record_insns): Wrap prototype and definition with
1336 defined (HAVE_prologue) || defined (HAVE_epilogue).
1337
1338 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
1339
1340 * gen-protos.c: Include gansidecl.h.
1341 (hashf): Don't make it static, constify parameter `name'.
1342
1343 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
1344 specifier %s in calls to function `fatal'.
1345
1346 * haifa-sched.c: Include toplev.h.
1347 (find_rgns): Remove unused variable `j'.
1348
1349 * integrate.c (note_modified_parmregs): Mark parameter `x' with
1350 ATTRIBUTE_UNUSED.
1351 (mark_stores): Likewise.
1352
1353 * jump.c (mark_modified_reg): Likewise.
1354
1355 * output.h (insn_current_reference_address): Add prototype.
1356 (eh_frame_section): Likewise.
1357
1358 * print-rtl.c: Include bitmap.h.
1359
1360 * reload1.c (reload): Wrap variables `note' and `next' in macro
1361 PRESERVE_DEATH_INFO_REGNO_P.
1362 (forget_old_reloads_1): Mark parameter `ignored' with
1363 ATTRIBUTE_UNUSED.
1364 (choose_reload_regs): Remove unused variable `in'.
1365 (reload_cse_invalidate_mem): Mark parameter `ignore' with
1366 ATTRIBUTE_UNUSED.
1367 (reload_cse_check_clobber): Likewise.
1368
1369 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
1370 (mark_elimination): Fix typo in prototype.
1371
1372 * scan-decls.c: Include gansidecl.h.
1373
1374 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
1375
1376 Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
1377
1378 * function.c (identify_blocks): Fix thinko when setting the
1379 block number for NOTE_INSN_BLOCK_END.
1380
1381 Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
1382
1383 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
1384 ___udivsi3.
1385
1386 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
1387 underscores for the prefixes to the names of the maths functions.
1388
1389 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
1390 comment explaining why.
1391
1392 Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
1393
1394 * tree.h (TYPE_SIZE_UNIT): New.
1395 (struct tree_type): Add size_unit member.
1396 * stor-layout.c (layout_type): Initialize it.
1397 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
1398 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
1399
1400 Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
1401
1402 * stor-layout.c (layout_record): Fix off-by-one error when checking
1403 length of the TYPE_BINFO vector.
1404
1405 Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
1406
1407 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
1408 function parameter passed in memory.
1409
1410 Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
1411
1412 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
1413 Prototypes for externally used functions in respective C files.
1414 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
1415 final.c: Include above files.
1416 * Makefile.in (toplev.o): Add dependency for above four headers.
1417 (final.o): Likewise.
1418 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
1419 respective header files.
1420
1421 Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
1422
1423 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
1424 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
1425 the build tree if they exist.
1426 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
1427 appropriately.
1428 (objdir): Let configure substitute value.
1429 (FLOAT_H): Let configure select a pre-built version from the
1430 config subdir.
1431 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
1432 * configure.in: Substitute for objdir.
1433
1434 * Makefile.in (build_canonical, host_canonical): Let configure
1435 substitute values for these variables.
1436 * configure.in: Substitute for build_canonical, host_canonical
1437 and target_subdir in generated Makefile.
1438
1439 * output.h (find_basic_blocks): Declare.
1440 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
1441
1442 * Makefile.in (BISON): Use bison from the build tree if it exists.
1443 (FLEX): Similarly.
1444
1445 Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
1446
1447 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
1448 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
1449 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
1450 command line arguments to see if an executable is not being
1451 created, and if so - do not append the suffix.
1452
1453 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
1454 driver macro.
1455
1456 Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
1457
1458 * i386.h (ALIGN_DFmode): Delete.
1459 (CONSTANT_ALIGNMENT): Define.
1460 * varasm.c (force_const_mem): Use it.
1461
1462 Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
1463
1464 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
1465 using it with swap_condition, not before.
1466
1467 Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
1468
1469 * alias.c (mode_alias_check): Delete.
1470 (true_dependence, anti_dependence, output_dependence): Revert April 21
1471 change.
1472
1473 Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
1474
1475 * toplev.c (output_lang_identify): Enable prototype and definition.
1476
1477 Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
1478
1479 * version.c: Bump for snapshot.
1480
1481 Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
1482
1483 * alpha/osf.h (HAVE_STAMP_H): Define.
1484 * alpha.c: Use it.
1485 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
1486 * configure.in (alpha*-*-netbsd*): New.
1487 Based on patches from Paul H. Anderson <pha@pdq.com>.
1488
1489 * configure.in (alpha*-*-linux-*): Kill xm_defines.
1490 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
1491 * alpha/xm-linux.h: Remove file.
1492
1493 Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
1494
1495 * dbxout.c (dbxout_parms): If mode of type of parameter living
1496 in memory doesn't match mode of DECL_RTL, make big endian correction.
1497
1498 Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
1499
1500 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
1501
1502 Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
1503
1504 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
1505 * stor-layout.c (layout_record): Set it.
1506
1507 Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
1508
1509 * toplev.c (rest_of_compilation): Don't defer nested functions.
1510
1511 Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
1512
1513 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
1514 to an 8-byte boundary if info_ptr->fpmem_p.
1515
1516 Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
1517
1518 * loop.c (basic_induction_var): Added test preventing
1519 CCmode parameter passed to convert_modes().
1520
1521 Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
1522
1523 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
1524 input_filename and lineno around expand_expr call. Set them to values
1525 in WFL before expand_expr call.
1526
1527 Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
1528
1529 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
1530
1531 Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
1532
1533 * fold-const.c (constant_boolean_node): New function.
1534 (fold): Use it.
1535
1536 Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1537
1538 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
1539 Abort if trying to split kind 3 or 4 outside of combine.
1540
1541 Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
1542
1543 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
1544
1545 Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
1546
1547 * objc/Make-lang.in (OBJC_O): Add missing exeext.
1548 (libobjc.a, runtime-info.h): Likewise.
1549
1550 Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
1551
1552 * i386.h (DATA_ALIGNMENT): Define.
1553
1554 Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1555
1556 * reload1.c (delete_output_reload): Ignore single USE that
1557 was emitted for the pseudo use of this INSN.
1558 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
1559 remains, we can always delete OUTPUT_RELOAD_INSN.
1560
1561 Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
1562
1563 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
1564
1565 Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
1566
1567 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
1568
1569 Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1570
1571 * eh-common.h: New file for basic EH data structures.
1572 * except.h: Various prototypes and structures for NEW_EH_MODEL
1573 * function.h (struct function): Add a struct eh_stack for the catch
1574 clause stack.
1575 * except.c (gen_exception_label): New function to generate an
1576 exception label.
1577 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
1578 (push_entry): New function to push an existing entry onto a stack.
1579 (receive_exception_label): New function to emit the code required
1580 at the start of all catch blocks.
1581 (struct func_eh_entry): New structure for maintaining handlers
1582 associated with EH regions.
1583 (new_eh_region_entry): New function to register an EH region.
1584 (add_new_handler): New function to register a handler with a region.
1585 (get_new_handler): Creates anew handler entry for registering.
1586 (find_func_region): New function to convert a NOTE eh region number
1587 to an Eh region index.
1588 (get_first_handler): New function to get the first handler in a region.
1589 (clear_function_eh_region): New function to release memory.
1590 (duplicate_handlers): New function to duplicate a list of handlers.
1591 (expand_eh_region_end): Create a new region entry node as well.
1592 (expand_leftover_cleanups): Call receive_exception_label() and
1593 register the cleanup as a handler to the current region.
1594 (expand_start_catch): New function to start a catch clause.
1595 (expand_end_catch): New function to end a catch clause.
1596 (expand_start_all_catch): restructure to not do the equivilent of
1597 what expand_start_catch() does now. Push the exception region being
1598 handled onto the catch stack.
1599 (output_exception_table_entry): Issue an entry for each handler
1600 associated with a region.
1601 (set_exception_lang_code): New function for setting the language code.
1602 (set_exception_version_code): New function to set the version number.
1603 (output_exception_table): Output version and language codes.
1604 (find_exception_handler_labels): Find handler labels using new scheme.
1605 (is_exception_handler_label): New function, returns 1 if label is
1606 present as a handler in some exception region.
1607 (check_exception_handler_labels): Use the new scheme.
1608 (init_eh_for_function): Initialize the catch stack.
1609 (save_eh_status): Save the catch stack.
1610 (restore_eh_status): Restore the catch stack.
1611 (scan_region): Don't remove unreferenced handler label. Flow does it.
1612 (get_reg_for_handler): New function to get the eh_context pointer
1613 passed by __throw.
1614 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
1615 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
1616 entry when processing END region rather that START region.
1617 * flow.c (find_basic_blocks_1): Find all potential handler regions
1618 now that we don't automatically know what the labels might be.
1619 Let scan_region() remove unreferenced EH BEGIN/END labels.
1620 * integrate.c (get_label_from_map): Put inlined labels onto the
1621 permanent obstack since we dont know which ones might be exception
1622 labels.
1623 (save_for_inline_copying): Make new copies of all the handlers.
1624 (expand_inline_function): Make new copies of all the handlers.
1625 * libgcc2.c: Remove local struct decls, and include eh-common.h.
1626 (find_exception_handler): With NEW_EH_MODEL the first matching
1627 region we find is the right one. Add eh_info as a new parameter.
1628 (__throw): Pass eh_info to find_exception_handler. Set handler
1629 and pass use different regs under NEW_EH_MODEL.
1630
1631 Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
1632
1633 * i960.h (hard_regno_mode_ok): Changed to function from array of
1634 unsigned.
1635 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
1636 * i960.c (hard_regno_mode_ok): Changed to function from array of
1637 unsigned.
1638
1639 Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1640
1641 * reload.c (remove_replacements): New function.
1642 * reload.h (remove_replacements): Declare.
1643 * reload1.c (choose_reload_regs): Disable some reloads that
1644 belong to inherited reloads.
1645
1646 Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1647
1648 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
1649
1650 * reload1.c (merge_assigned_reloads): When merging, reset
1651 reload_spill_index for the eliminated reload.
1652
1653 Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
1654
1655 * haifa-sched.c (schedule_insns): Fix merge goof.
1656
1657 1998-05-13 Jim Wilson <wilson@cygnus.com>
1658
1659 * varasm.c (make_decl_rtl): Revert April 1 change.
1660 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
1661 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
1662 Get function name from the SYMBOL_REF in the DECL_RTL, not from
1663 DECL_ASSEMBLER_NAME.
1664 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
1665 DECL_ASSEMBLER_NAME.
1666
1667 Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
1668
1669 * i386.c (notice_update_cc, output_float_compare): Disable
1670 TARGET_CMOVE support.
1671
1672 Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
1673 Jeff Law <law@cygnus.com>
1674
1675 * rtlanal.c (find_reg_note): Ignore notes that are not on on
1676 insns of class 'i'.
1677 (find_regno_note): Likewise.
1678
1679 * Makefile.in (stor-layout.o): Depend on except.h
1680 (varasm.o, function.o): Likewise.
1681 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
1682
1683 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
1684 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
1685 ($(HOST_PREFIX_1)rtl.o): Likewise.
1686 ($(HOST_PREFIX_1)bitmap.o): New host object.
1687 * emit-rtl.c (toplevel): Include bitmap.h.
1688 (gen_rtx): Handle 't' and 'b' nodes.
1689 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
1690 Print block number for block begin/end notes. Print 't' type
1691 nodes as a pointer. Know that the 3rd argument of live range
1692 start/stop notes is really a range_info rtx. If type is 'b', print
1693 out argument as a bitmap.
1694 * rtl.c: Include bitmap.c.
1695 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
1696 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
1697 * rtl.def (RANGE_LIVE): New node to hold live information while we
1698 recalculate the basic blocks.
1699 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
1700 (RANGE_VAR): New node, to hold information saved in symbol node for New
1701 communicating live range information to the debug output functions.
1702 * rtl.h (rtunion_def): Add rttree and rtbit fields.
1703 (XBITMAP, XTREE): New accessor macros.
1704 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
1705 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
1706 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
1707 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
1708 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
1709 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
1710 (RANGE_INFO_*): Likewise.
1711 * sched.c (sched_analyze): Keep live range start/stop notes.
1712 (unlink_other_notes): Likewise.
1713 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
1714 (unlink_other_notes): Likewise.
1715 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
1716 (BLOCK_LIVE_RANGE_FLAG): Likewise.
1717 (DECL_LIVE_RANGE_RTL): Likewise.
1718 (struct tree_block): Add live_range_flag, live_range_var_flag,
1719 live_range_start and live_range_end.
1720 (struct tree_decl): Add live_range_rtl field.
1721 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
1722 (accessor_from_format): Likewise.
1723
1724 * haifa-sched.c (schedule_block): Make verbose output line up.
1725 Also add a blank line in printing the individual ready lists.
1726
1727 Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1728
1729 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
1730 (c-lex.o): Depend on output.h.
1731 (c-common.o): Likewise.
1732 (stmt.o): Likewise.
1733 (calls.o): Likewise.
1734 (integrate.o): Depend on toplev.h.
1735 (regclass.o): Depend on output.h.
1736 (final.o): Depend on reload.h.
1737
1738 * c-common.c: Include output.h.
1739 (check_format_info): Remove unused variable `integral_format'.
1740
1741 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
1742 `indent' with ATTRIBUTE_UNUSED.
1743 (print_lang_type): Likewise.
1744 (maybe_build_cleanup): Likewise for parameter `decl'.
1745 (copy_lang_decl): Likewise for parameter `node'.
1746
1747 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
1748 (lang_print_xnode): Mark parameters `file', `node' and `indent'
1749 with ATTRIBUTE_UNUSED.
1750 (lookup_interface): Likewise for parameter `arg'.
1751 (is_class_name): Likewise.
1752 (maybe_objc_check_decl): Likewise for parameter `decl'.
1753 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
1754 `reflexive'.
1755 (maybe_objc_method_name): Likewise for parameter `decl'.
1756 (build_objc_string): Likewise for parameters `len' and `str'.
1757
1758 * c-lex.c: Include output.h.
1759
1760 * c-lex.h (position_after_white_space): Correct typo in prototype.
1761
1762 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
1763 c_expand_end_cond, init_iterators): Add prototypes.
1764
1765 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
1766 with ATTRIBUTE_UNUSED.
1767
1768 * calls.c: Include output.h.
1769
1770 * cccp.c (pipe_closed): Mark parameter `signo' with
1771 ATTRIBUTE_UNUSED.
1772
1773 * combine.c: Move inclusion of expr.h to after insn-config.h.
1774
1775 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
1776 as empty, rather define as ((void)0).
1777
1778 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
1779 Add parentheses around assignment used as truth value.
1780
1781 * cplus-dem.c (squangle_mop_up): Change return type to void.
1782 (internal_cplus_demangle): Remove unused parameter `options'.
1783 All callers changed.
1784 (cplus_demangle_opname): Remove function wide variable `int i' and
1785 replace with `size_t i' at each location where it is used.
1786 (cplus_demangle_opname): change type of `i' from int to size_t.
1787
1788 * cppexp.c (right_shift): Mark parameter `pfile' with
1789 ATTRIBUTE_UNUSED.
1790
1791 * cpphash.c (cpp_lookup): Likewise.
1792 (cpp_hash_cleanup): Likewise.
1793
1794 * cpplib.c (parse_name): Add a prototype and make it static.
1795 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
1796 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
1797 (macro_cleanup): Likewise for parameter `pfile'.
1798 (file_cleanup): Likewise.
1799
1800 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
1801 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
1802
1803 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
1804 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
1805
1806 * cse.c (cse_check_loop_start): Mark parameter `set' with
1807 ATTRIBUTE_UNUSED.
1808
1809 * dbxout.c (flag_minimal_debug, have_used_extensions,
1810 source_label_number): Move inside macro wrapper check against
1811 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
1812
1813 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
1814
1815 * except.h (doing_eh): Provide prototype.
1816
1817 * expr.c: Move inclusion of expr.h to after insn-config.h.
1818
1819 * final.c: Include reload.h.
1820 (shorten_branches): Cast the first argument of bzero to char *.
1821
1822 * fix-header.c (cpp_print_containing_files): Mark parameter
1823 `pfile' with ATTRIBUTE_UNUSED.
1824 (cpp_fatal): Likewise.
1825
1826 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
1827 to char *.
1828
1829 * genattrtab.c (make_length_attrs): Change the type of variable
1830 `i' from int to size_t.
1831 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
1832 (one_fn): Likewise.
1833
1834 * genextract.c (main): When generating insn-extract.c, mark
1835 variable `junk' with ATTRIBUTE_UNUSED.
1836
1837 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
1838 argument of bzero to char*.
1839
1840 * integrate.c: Include toplev.h.
1841
1842 * libgcc2.c: Wrap `struct exception_table' and
1843 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
1844
1845 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
1846
1847 * objc/objc-act.c: Include toplev.h.
1848 (lang_print_xnode): Mark parameters `file', `node' and `indent'
1849 with ATTRIBUTE_UNUSED.
1850 (finish_protocol): Likewise for parameter `protocol'.
1851
1852 * output.h (declare_weak): Add prototype.
1853 (decode_reg_name): Don't wrap with TREE_CODE macro.
1854 (assemble_alias): Add prototype.
1855
1856 * regclass.c: Include output.h.
1857
1858 * reload.h (reloads_conflict): Add prototype.
1859
1860 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
1861 output_func_start_profiler): Add prototypes.
1862
1863 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
1864 ATTRIBUTE_UNUSED.
1865
1866 * scan-decls.c: Include scan.h.
1867
1868 * scan.h (recognized_function, recognized_extern): Add prototypes.
1869
1870 * stmt.c: Include output.h.
1871
1872 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
1873 (output_lang_identify): Hide prototype and definition.
1874 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
1875 (pipe_closed): Likewise.
1876
1877 * toplev.h (count_error, strip_off_ending, error_for_asm,
1878 warning_for_asm): Add prototypes.
1879
1880 Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
1881
1882 * toplev.c (rest_of_compilation): "Charge" final for any time
1883 doing various cleanup operations after finishing compilation
1884 of a function.
1885
1886 * flow.c (dump_flow_info): Also print number of sets and
1887 whether or not the pseudo is a user variable.
1888
1889 * flow.c (reg_n_max): New global variable.
1890 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
1891 Delete regno_max variable.
1892 * regs.h (REG_N_CHECK): Define.
1893 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
1894 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
1895 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
1896
1897 Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
1898
1899 * acconfig.h (ENABLE_CHECKING): Undefine.
1900 * configure.in (--enable-checking): New option.
1901
1902 Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1903
1904 * reload1.c (merge_assigned_reloads): Can merge
1905 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
1906 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
1907
1908 Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
1909
1910 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
1911
1912 Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1913
1914 * reload1.c (gen_reload): Create REG_EQUIV notes.
1915
1916 Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1917
1918 * reload1.c (reload): Fix check for USEs to use code of pattern.
1919 (choose_reload_regs): Remove dead variable use_insn.
1920
1921 Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
1922
1923 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
1924
1925 Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
1926
1927 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
1928 already defined.
1929 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
1930 (insn_{unit,issue_delay}): Ditto.
1931 (blockage_range): Ditto.
1932 (actual_hazard{,_this_instance}): Ditto.
1933 (schedule_unit): Ditto.
1934 (potential_hazard): Ditto.
1935 (insn_cost): Ditto.
1936 (swap_sort): Ditto.
1937 (queue_insn): Ditto.
1938 (birthing_insn_p): Ditto.
1939 (adjust_priority): Ditto.
1940 (get_block_head_tail): Ditto.
1941 (init_rgn_data_dependences): Ditto.
1942
1943 Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
1944
1945 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
1946
1947 Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
1948
1949 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
1950
1951 Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
1952
1953 * config/mips/mips.md (dslot): Move after definition of "cpu"
1954 attribute. Handle r3900 case.
1955
1956 Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1957
1958 * system.h: Define the STRINGIFY macro here.
1959 * protoize.c: Not here.
1960 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
1961
1962 Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
1963
1964 * varasm.c (assemble_variable): Compute the alignment of the data
1965 earlier so that both initialized and uninitialized variables are
1966 effected by DATA_ALIGNMENT.
1967 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
1968
1969 Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
1970
1971 * mips.c: Prototype static functions.
1972
1973 Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
1974
1975 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
1976 Add explanatory comments.
1977
1978 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
1979
1980 Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
1981
1982 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
1983
1984 Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
1985
1986 * varasm.c (make_decl_rtl): Disable April 1 change.
1987
1988 Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
1989
1990 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
1991
1992 Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
1993
1994 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
1995 * alpha.c (print_operand): Handle it.
1996 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
1997 related define_splits. Also add peepholes for SImode reload
1998 plus sign_extend lossage.
1999
2000 Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2001
2002 * genattr.c: Include stdarg.h/varargs.h. Change function
2003 `fatal' to use variable arguments instead of faking it with
2004 integer parameters. Provide a prototype which also
2005 checks the format specifiers using ATTRIBUTE_PRINTF_1.
2006
2007 * genattrtab.c: Likewise.
2008 * gencodes.c: Likewise.
2009 * genconfig.c: Likewise.
2010 * genemit.c: Likewise.
2011 * genextract.c: Likewise.
2012 * genflags.c: Likewise.
2013 * genopinit.c: Likewise.
2014 * genpeep.c: Likewise.
2015 * genrecog.c: Likewise.
2016 * genoutput.c: Likewise. Similarly for function `error'.
2017
2018 Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2019
2020 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
2021 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
2022 * configure.in: Use GCC_C_VOLATILE.
2023 * system.h (volatile): Define as empty if no volatile support is
2024 available.
2025
2026 Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
2027
2028 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
2029 generated fucntion.
2030
2031 Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
2032
2033 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
2034 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
2035 the body of beq; additionally set the mode of the branch to CCmode for
2036 FP compares and not fast_math.
2037 (alpha_emit_conditional_move): Always use a compare insn for FP
2038 when not fast_math, as well as setting CCmode on the cmov.
2039 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
2040
2041 * machmode.h (COMPLEX_MODE_P): New macro.
2042
2043 Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
2044
2045 * haifa-sched.c (print_exp): Fix typo.
2046
2047 Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
2048
2049 * version.c: Bump for snapshot.
2050
2051 Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
2052
2053 * final.c (final_scan_insn): Call fatal_insn instead of abort if
2054 we could not split an insn when required to.
2055
2056 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
2057 level insns.
2058 (peepholes): Disable peepholes that call dead_or_set_p.
2059 (movsi): Rewrite to handle addresses better after last change.
2060 Add define_split to split load of addresses in large/medium modes.
2061 (prologue): Call m32r_expand_prologue.
2062 (movsi_{push,pop}): Generators for push/pop.
2063 (movsi): Support PRE_{INC,DEC}, POST_INC.
2064 (mov{di,df}): Rewrite. Always split the insns.
2065 (movsf): Add define_split to get register load in correct mode.
2066 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
2067 (attributes): Rewrite attributes so that type indicates both the
2068 type and the length of the insn directly.
2069 (all insns): Change to use new type attributes.
2070 (debug): New attribute to convey whether -mdebug was used.
2071 (opt_space): New attribute to convey whether -Os was used.
2072 (function units): Loads are 3 cycles, not 2. Better classify all
2073 insns into short/long.
2074 (load/store/extend insns): Add separate case for load/store
2075 indirect operations without an offset.
2076 (divsi3): Division is a long operation, not short.
2077
2078 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
2079 modes > 1 word.
2080 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
2081 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
2082 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
2083 operands with PRE_{INC,DEC}, POST_INC.
2084 (FUNCTION_PROFILER): Call abort instead of doing nothing.
2085 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
2086 SImode variables.
2087 (gen_split_move_double): Declare.
2088 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
2089
2090 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
2091 emit_move_insn, build up SET's directly.
2092 (toplevel): Include system.h, not stdio.h.
2093 (move_double_src_operand): Allow any DF or DI mode constant.
2094 (gen_split_move_double): Split moves of DI or DF values into the
2095 appropriate moves, loads, or stores. Don't handle use of auto
2096 inc/dec if using dead index. Do handle overlapping moves, etc.
2097 (m32r_frame_info): Remove prologue_size field.
2098 (m32r_compute_frame_size): Don't calculate prologue size.
2099 (m32r_output_function_prologue): Change to pretty much a NOP.
2100 (m32r_expand_prologue): Expand prologue as a series of INSNs.
2101 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
2102 (m32r_print_operand_address): Ditto.
2103
2104 Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
2105
2106 * reload1.c (emit_reload_insns): When performing expensive
2107 optimizations, do not output the last reload insn if OLD is
2108 not the dest of NSN and is in the src and is clobbered by INSN.
2109
2110 Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2111
2112 * Makefile.in (genrtl.o): Depend on system.h.
2113 * gengenrtl.c (gencode): When creating genrtl.c, have it
2114 include system.h.
2115
2116 Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2117
2118 * config/m68k/t-linux: Remove extra stuff already included in
2119 config/t-linux.
2120
2121 Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
2122
2123 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
2124 curses.h if it contains `typedef char bool;', as suggested by
2125 Manfred Hollstein <manfred@s-direktnet.de>.
2126
2127 * configure.in: Rename fixinc.math to fixinc.wrap.
2128
2129 Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
2130
2131 * gcc.c (read_specs): Handle missing blank line at end of specs file.
2132
2133 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
2134 movdfcc_1): Disable.
2135
2136 Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
2137
2138 * configure.in (enable_threads): Rename to enable_threads_flag before
2139 main loop. Set enable_threads to enable_threads_flag inside main
2140 loop.
2141
2142 Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
2143
2144 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
2145 multiple times.
2146
2147 Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2148
2149 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
2150
2151 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
2152 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
2153 (AC_CHECK_FUNCS): Remove unused check for vprintf.
2154
2155 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
2156 (cccp.o): Depend on gansidecl.h.
2157 (cexp.o): Likewise.
2158
2159 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
2160 per the rest of gcc source.
2161 * cexp.y: Likewise. Include gansidecl.h and remove all code made
2162 redundant.
2163
2164 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
2165 used when vfprintf is missing.
2166 * cexp.y: Likewise.
2167 * gcc.c: Likewise.
2168 * genattrtab.c: Likewise.
2169 * mips-tfile.c: Likewise.
2170 * toplev.c: Likewise.
2171
2172 * vfprintf.c: New file.
2173 * doprint.c: New file.
2174
2175 Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
2176
2177 * config/linux.h (ASM_COMMENT_START): Remove from here,
2178 * config/linux-aout.h (ASM_COMMENT_START): and here,
2179 * config/i386/linux.h (ASM_COMMENT_START): to here,
2180 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
2181 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
2182 here as '#' too.
2183
2184 Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2185
2186 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
2187 constant.
2188
2189 Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
2190
2191 * Makefile.in (dwarfout.o) Add toplev.h dependency.
2192 * dwarfout.c, i386.c: Include toplev.h
2193 * toplev.h: (pfatal_with_name) Add prototype.
2194
2195 Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
2196
2197 * Makefile.in: Fix .SUFFIXES.
2198
2199 Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
2200
2201 * config/linux.h (ASM_COMMENT_START): Define as "#".
2202 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
2203
2204 Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
2205
2206 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
2207 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
2208
2209 * toplev.c: Include toplev.h.
2210 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
2211 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
2212 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
2213 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
2214 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
2215 toplev.h dependency.
2216
2217 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
2218 HARD_FRAME_POINTER_REGNUM.
2219
2220 * expr.c (target_temp_slot_level): Delete duplicate definition.
2221
2222 Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
2223
2224 * stmt.c (mark_seen_cases): Make it have external linkage again.
2225 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
2226 has been included.
2227
2228 * haifa-sched.c (print_value, case SUBREG): Fix typo.
2229
2230 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
2231 * i386.h (REG_CLASS_CONTENTS): Similarly.
2232
2233 * toplev.c (-fsched-max): Delete flag.
2234 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
2235 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
2236 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
2237 conditionals.
2238
2239 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
2240 inner loops which are not reducible.
2241
2242 * loop.c (regs_match_p): Fix typo in prototype.
2243
2244 * regmove.c (try_auto_increment): Wrap declaration inside an
2245 #ifdef AUTO_INC_DEC.
2246
2247 Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
2248
2249 * final.c (output_operand_lossage): Call fatal with the operand
2250 lossage message instead of calling abort.
2251
2252 Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2253
2254 * c-common.c: Convert to using ctype macros defined in system.h.
2255 * c-lex.c: Likewise.
2256 * cccp.c: Likewise.
2257 * collect2.c: Likewise.
2258 * rs6000.c: Likewise.
2259 * cpplib.c: Likewise.
2260 * fix-header.c: Likewise.
2261 * gcc.c: Likewise.
2262 * gen-protos.c: Likewise.
2263 * pexecute.c: Likewise.
2264 * protoize.c: Likewise.
2265 * rtl.c: Likewise.
2266 * scan.c: Likewise.
2267 * stmt.c: Likewise.
2268 * tlink.c: Likewise.
2269 * toplev.c: Likewise.
2270
2271 Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
2272
2273 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
2274 Replace -gdwarf-2 with -g0.
2275
2276 Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2277
2278 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
2279 * mips-tdump.c: Include system.h, remove redundant headers.
2280 * mips-tfile.c: Likewise. Also, convert all ctype function calls
2281 to calls of the macro versions defined in system.h.
2282
2283 * objc/Make-lang.in (objc-act.o): Depend on system.h.
2284 * objc/objc-act.c: Include system.h, remove redundant headers.
2285
2286 Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2287
2288 * configure.in (AC_CHECK_FUNCS): Add isascii.
2289 (GCC_NEED_DECLARATIONS): Add atof.
2290
2291 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
2292 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
2293
2294 Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2295
2296 * system.h: Wrap time.h and sys/file.h in autoconf checks.
2297 Provide default definitions for O_RDONLY and O_WRONLY here.
2298
2299 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
2300
2301 1998-05-06 Mark Mitchell <mmitchell@usa.net>
2302
2303 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
2304
2305 Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
2306
2307 * toplev.h: New file. Protypes for functions in toplev.c.
2308 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
2309 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
2310 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
2311 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
2312 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
2313 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
2314 varasm.c: include it.
2315
2316 Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
2317 Jim Wilson (wilson@cygnus.com)
2318
2319 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
2320 blocks. Check for 1 successor which is the EXIT_BLOCK.
2321
2322 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
2323 unreachable loops with more than one block.
2324
2325 Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
2326
2327 * fix-header.c (write_rbrac): Add "abort" to functions which need to
2328 be protected.
2329
2330 Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
2331
2332 * Check in merge from gcc2. See ChangeLog.12 for details.
2333
2334 Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
2335
2336 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
2337 accept 'a' flag. 'S' does accept 'a' flag.
2338 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
2339 and `a' flag.
2340
2341 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
2342
2343 Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2344
2345 * config/m68k/m68k.h: Declare functions from m68k.c used in
2346 macros and machine description.
2347 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
2348 long values.
2349 (ASM_OUTPUT_FLOAT): Likewise.
2350 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2351
2352 Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
2353
2354 * tree.def: Add NAMESPACE_DECL.
2355 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
2356 * dwarf2out.c (push_decl_scope): Likewise.
2357 (scope_die_for): Likewise.
2358 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
2359 how to get next context level.
2360
2361 Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
2362
2363 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
2364 case.
2365
2366 Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
2367
2368 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
2369
2370 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
2371 for any insns skipped at the start of a block because they were
2372 redundant.
2373
2374 Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
2375
2376 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
2377
2378 1998-05-04 Ulrich Drepper <drepper@cygnus.com>
2379
2380 * c-common.c (format_char_info): Add new field hhlen.
2381 (print_char_table, scan_char_table, time_char_table): Initialize
2382 hhlen field appropriately.
2383 (char_format_info): Recognize hh modifier and lookup correct char
2384 table entry.
2385
2386 Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
2387
2388 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
2389 reference if this is a store.
2390
2391 Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
2392
2393 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
2394
2395 Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
2396
2397 Make UnixWare 7 bootstrap support work with final shipping product.
2398 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
2399 Pick up xm-siglist and xm-alloca.
2400 (xm_defines): Add USG so dbxout will build.
2401 * configure: Regenerate.
2402
2403 Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
2404
2405 Support for official Sparc V9 ABI:
2406 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
2407 Care for flag_pcc_struct_return default.
2408 (output_move_quad): Rewrite to move by halves on v9 and in the
2409 proper direction.
2410 (move_quad_direction): New function.
2411 (output_fp_move_quad): Use it to determine the direction of copy.
2412 (function_arg_slotno): Return -1 for FP reg overflow as well.
2413 (function_arg_record_value*): New functions.
2414 (function_arg): Use them. Streamline unprototyped parameter passing.
2415 (function_arg_pass_by_reference): Pass TCmode by reference.
2416 (function_value): New function.
2417 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
2418 long long in 64-bit mode.
2419 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
2420 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
2421 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
2422 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
2423 (BASE_INCOMING_ARG_REG): Likewise.
2424 (FUNCTION_VALUE): Call function_value.
2425 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
2426 * sparc.md (movdi_sp32_v9): Disable for arch64.
2427 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
2428 (call_value_address_sp64): Remove register class constraints.
2429 (call_value_symbolic_sp64): Likewise.
2430 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
2431 v9 case to 32-bit constants.
2432 (goto_handler_and_restore_v9): Provide a version for arch64.
2433 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
2434 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
2435 (CPP_PREDEFINES): New.
2436 * sparc/sp64-elf.h: Likewise.
2437 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
2438 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
2439 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
2440
2441 Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
2442
2443 * version.c: Bump for snapshot.
2444
2445 Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2446
2447 * reload.c (find_reloads): Emit USEs to mark where a pseudo
2448 is reloaded with the MEM of its stack slot.
2449 * reload1.c (cannot_omit_stores): Delete.
2450 (reload): Don't initialize it.
2451 Don't apply avoid_return_reg logic to USEs.
2452 When done, remove USEs that have a REG_EQUAL note on them.
2453 (emit_reload_insns): Handle case where we have inherited a MEM.
2454 (choose_reload_regs): Likewise.
2455 (delete_output_reload): Don't use cannot_omit_stores.
2456
2457 Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
2458
2459 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
2460
2461 Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
2462
2463 * haifa-sched.c (print_{exp,value}): Various changes to make the
2464 debug output easier to read. Also, use only one buffer, and make
2465 sure the buffer we are passed in doesn't overflow.
2466 (safe_concat): Concatenate to a buffer without overflow.
2467
2468 Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2469
2470 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
2471 with the prototype.
2472
2473 Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2474
2475 * sched.c (new_insn_dead_notes): Check if the register was
2476 used in the original instruction.
2477 * haifa-sched.c (new_insn_dead_notes): Likewise.
2478
2479 Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
2480
2481 * dwarf2out.c (scope_die_for): If could not find proper scope,
2482 check for and handle tagged type with incorrect TYPE_CONTEXT.
2483
2484 Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
2485
2486 * calls.c (expand_call): Fix recognition of C++ operator new.
2487
2488 * alias.c (mode_alias_check): Disable type based alias detection.
2489
2490 Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
2491
2492 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
2493 ASM_OUTPUT_WEAK_ALIAS): Define.
2494 * config/mips/elf64.h: Same.
2495 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2496 ASM_WEAKEN_LABEL): Removed.
2497
2498 Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2499
2500 * calls.c (expand_call): Bump the length limit on the specially
2501 recognized function names to 17.
2502
2503 Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
2504
2505 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
2506 when undefining macros at the end.
2507
2508 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
2509 val or len has TREE_SIDE_EFFECTS set.
2510
2511 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
2512 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
2513 (smuldi3_highpart): Call const v8plus routine.
2514 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
2515 (const_smulsi3_highpart_v8plus): New pattern.
2516 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
2517 (umulsidi3): Call const v8plus routine.
2518 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
2519 routine.
2520 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
2521 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
2522
2523 Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
2524
2525 * m32r.c (*_oper{and|ator}): Change enum arguments and return
2526 values to int, so they can be prototyped even in files that don't
2527 include rtl.h.
2528 ({small,large}_insn_p): Ditto.
2529 (m32r_select_cc_mode): Ditto.
2530 (gen_compare): Ditto.
2531 (function_arg_partial_nregs): Ditto.
2532 (m32r_setup_incoming_varargs): Ditto.
2533 (init_reg_tables): Add prototype.
2534 (m32r_frame_info): Add prolog_size field.
2535 (m32r_compute_frame_size): Calculate the size of the prologue.
2536 (m32r_first_insn_address): Return prologue size.
2537 (m32r_output_function_prologue): Calculate frame size before
2538 printing out information. Print out the prologue size.
2539
2540 * m32r.h: Prototype all functions in m32r.c.
2541 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
2542
2543 * m32r.md (bcc functions): Cast enum's to int.
2544
2545 * m32r.c (conditional_move_operand): Silence a debug message.
2546 ({small,long}_insn): New predicates.
2547
2548 * m32r.h (TARGET_M32R): New macro.
2549 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
2550 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
2551 was selected.
2552 (ISSUE_RATE): Define as 2.
2553
2554 * m32r.md (insn_size): New attribute.
2555 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
2556 short.
2557 (m32r): New attribute.
2558
2559 * configure.in (enable_haifa): Switch m32r to Haifa by default.
2560 * configure: Regenerate.
2561
2562 (Changes from Nick Clifton <nickc@cygnus.com>)
2563 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
2564 the equivalent of a negated 'I' constraint.
2565 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
2566 optimisation to work.
2567
2568 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
2569 than 'I' since the value is negated.
2570 (peephole): Add peephole optimisation to cope with optimization of
2571 divide and subtracts of the same operands.
2572
2573 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
2574 * m32r.h: Ditto.
2575 * m32r.md: Ditto.
2576
2577 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
2578 predicates.
2579
2580 Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
2581
2582 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
2583
2584 Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
2585
2586 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
2587 frame_pointer_rtx not FRAME_POINTER_REGNUM.
2588
2589 Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
2590
2591 * reg-stack.c: Revert last patch (Apr 20).
2592 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
2593
2594 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
2595
2596 * loop.c (check_dbra_loop): New locals jump, first_compare, and
2597 compare_and_branch. Call get_condition to set first_compare.
2598 Set compare_and_branch to number of compare/branch instructions.
2599 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
2600 Replace '2' with compare_and_branch.
2601
2602 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2603
2604 * cplus-dem.c (demangle_qualified): Replace missing else.
2605
2606 Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2607
2608 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
2609
2610 Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2611
2612 * sh.c (sh_expand_prologue, sh_expand_epilogue):
2613 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
2614 * sh.h (STACK_BOUNDARY): Likewise.
2615
2616 Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2617
2618 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2619
2620 Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
2621
2622 * system.h (abort): If abort is not defined, and neither is
2623 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
2624 reporting the line and filename of the error.
2625
2626 * .gdbinit: Add breakpoints on exit and fancy_abort.
2627
2628 * final.c (split_double): Avoid a compiler warning if
2629 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
2630
2631 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
2632 for calling jump_optimize.
2633
2634 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
2635 macros, rather than 0/1's.
2636
2637 Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
2638
2639 * alpha.h (CONST_COSTS): Zero is always free.
2640 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
2641
2642 Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2643
2644 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
2645 length in the name of a virtual table.
2646
2647 Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
2648
2649 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
2650
2651 Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
2652
2653 * version.c: Bump for snapshot.
2654
2655 Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
2656
2657 * fold-const.c (fold_convert): Fix typo.
2658
2659 Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
2660
2661 * alias.c (alias_invariant): New variable.
2662 (record_base_value): New argument INVARIANT.
2663 (memrefs_conflict_p): If a register has an entry in the alias_invariant
2664 array, try substituting that value for the register.
2665
2666 * rtl.h: Declare record_base_value.
2667
2668 * loop.c, unroll.c: Update callers of record_base_value.
2669
2670 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
2671 ZERO_EXTEND do not affect base values.
2672
2673 Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
2674
2675 * dbxout.c (dbxout_type): Fix typo.
2676 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
2677
2678 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
2679
2680 Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
2681
2682 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
2683 if the argument is the address of a structure or array.
2684
2685 * configure.in: Enable Haifa scheduler by default for SPARC.
2686
2687 Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2688
2689 * cse.c (cse_set_around_loop): Don't do optimization when
2690 new pseudos are created.
2691
2692 Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
2693
2694 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
2695 appropriately.
2696 (dbxout_type_method_1, dbxout_type): Likewise.
2697 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
2698 (dbxout_type): Fix check for when to print a type range in
2699 octal vs decimal.
2700
2701 Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2702
2703 * (gen_shl_and, in case 1): Fix comparison with mask.
2704
2705 Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
2706
2707 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
2708 pointer as second register in REG+REG pair.
2709
2710 Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2711
2712 * c-common.c (check_format_info): Don't check for the 'x' format
2713 character twice, instead check for 'x' and 'X'
2714
2715 Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
2716
2717 * Makefile.in (libgcc2.ready): Add explicit dependancy from
2718 $(STMP_FIXPROTO) to ensure all necessary include files have
2719 been created and to guarantee proper parallel builds.
2720
2721 Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2722
2723 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
2724 register for stdarg functions.
2725 * sh.h (current_function_varargs): Declare.
2726 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
2727
2728 1998-04-23 Jim Wilson <wilson@cygnus.com>
2729
2730 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
2731 inhibit_libc is defined.
2732
2733 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
2734
2735 Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
2736
2737 * profile.c (tablejump_entry_p): New function.
2738 (branch_prob): Add code to recognize MIPS tablejump entry branch.
2739 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
2740
2741 Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
2742
2743 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
2744 found, rather than at end of the loop, after the insn has been
2745 changed.
2746
2747 Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2748
2749 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
2750 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
2751
2752 Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
2753
2754 * loop.c (note_addr_stored): Correct function to take 2 arguments,
2755 instead of 1.
2756
2757 * rtl.def (MATCH_INSN2): Add new matching pattern.
2758 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
2759
2760 Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
2761
2762 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
2763 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
2764
2765 * final.c (split_double): Sign extend both halves of a split CONST_INT.
2766
2767 Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
2768
2769 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
2770
2771 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2772
2773 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
2774 (cplus_demangle_opname): Call mop_up_squangle.
2775 (cplus_demangle): Initialize squangle info, then call
2776 internal_cplus_demangle. (Most code moved there as well)
2777 (internal_cplus_demangle): New function, performs most of what use
2778 to be done in cplus_demangle, but is only called with this file.
2779 (squangle_mop_up): New function to clean up B and K code data.
2780 (mop_up): set pointers to NULL after freeing.
2781 (demangle_signature, demangle_template, demangle_class): Add
2782 switch elements to handle K and B codes.
2783 (demangle_prefix, gnu_special, demangle_qualified): Add
2784 code to handle K and B codes.
2785 (do_type, demangle_fund_type): Handle B and K codes.
2786 (remember_Ktype): New function to store K info.
2787 (register_Btype, remember_Btype): New functions for B codes.
2788 (forget_B_and_K_types): New function to destroy B and K info.
2789
2790 1998-04-21 Jim Wilson <wilson@cygnus.com>
2791
2792 * stmt.c (check_seenlabel): When search for line number note for
2793 warning, handle case where there is no such note.
2794
2795 Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
2796
2797 * genemit.c (gen_exp): Allow machine description to set mode of
2798 MATCH_OP_DUP.
2799
2800 Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
2801
2802 * alias.c (mode_alias_check): New function.
2803 (true_dependence, anti_dependence, output_dependence): Call
2804 mode_alias_check.
2805
2806 Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
2807
2808 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
2809 (MIPS_STACK_ALIGN): Similarly.
2810
2811 * c-common.c (type_for_mode): Handle TI types.
2812 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
2813 (init_decl_processing): Handle TI types.
2814 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
2815
2816 * mips.c (block_move_loop): Test Pmode == DImode instead of
2817 TARGET_MIPS64.
2818 (expand_block_move, save_restore_insns): Likewise.
2819 (function_prologue, mips_expand_prologue): Likewise.
2820 (mips_expand_epilogue): Likewise.
2821 * mips.h (POINTER_SIZE): Allow specific targets to override.
2822 (Pmode): Allow specific targets to override.
2823 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
2824 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
2825 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
2826 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
2827 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2828 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2829 * mips.md (indirect, tablejump & casesi support): Test for
2830 Pmode == DImode instead of TARGET_MIPS64.
2831 (call patterns): Likewise.
2832
2833 Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2834
2835 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
2836 for gen_rtx(MEM, ...).
2837
2838 Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
2839
2840 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
2841 to not be so gross, and to properly function with PIC.
2842
2843 Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
2844
2845 * frame.c (heapsort): Rename to frame_heapsort.
2846
2847 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
2848
2849 Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
2850
2851 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
2852
2853 Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
2854
2855 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
2856 operands during and after reload.
2857
2858 Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2859
2860 * final.c (shorten_branches, init_insn_lengths): Move code
2861 to free label_align, uid_shuid, insn_lengths, insn_addresses
2862 and uid_align from the former function into the latter one;
2863 Add code to clear these variables.
2864 * sh.h (label_align): Remove declaration.
2865
2866 Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
2867
2868 * gcc.c (lang_specific_driver): Declare prototype properly so
2869 fatal can be passed to it without error.
2870
2871 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
2872 * configure: Regenerate.
2873 * config.in: Add #undef's for strchr and strrchr.
2874
2875 * protoize.c (toplevel): If we have rindex, but not strrchr, map
2876 rindex to strrchr.
2877 (file_could_be_converted): Use strrchr, not rindex since rindex is
2878 not defined on Linux systems when _POSIX_SOURCE is defined.
2879 (file_normally_convertible): Ditto.
2880 (process_aux_info_file): Ditto.
2881 (main): Ditto.
2882
2883 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
2884 a constant to an integer register, don't split the insns that do
2885 the simple AND and OR operations, rather just split each word, and
2886 let the normal movsi define split handle it further.
2887
2888 Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2889
2890 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
2891 (split_branches): Call init_insn_lengths.
2892
2893 Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
2894
2895 * i386.c: Include expr.h to get the change_address prototype
2896 declared.
2897
2898 Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
2899
2900 * reg-stack.c (subst_asm_stack_regs): Change to return the last
2901 new insn generated by this function.
2902 (subst_stack_regs): Likewise.
2903 (convert_regs): Record the last newly generated insn and use
2904 it for change_stack () instead of INSN.
2905
2906 Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
2907
2908 * fix-header.c (enum special_file): Undefine enumerators if they
2909 are already defined by include files.
2910 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
2911 macro with '__' to not pollute user namespace.
2912
2913 Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
2914
2915 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
2916
2917 Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
2918
2919 * version.c: Bump for snapshot.
2920
2921 Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
2922
2923 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
2924
2925 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
2926 Add missing -Dpentium* options.
2927 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
2928 instead of CPP_CPU_DEFAULT.
2929 (EXTRA_SPECS): Add entry for cpp_cpu_default.
2930
2931 Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
2932
2933 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
2934 negative in a stackless frame.
2935 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
2936 in stackless frame size. Support 64-bit stackless frame size.
2937 Combine fpmem offset calculations and don't add total_size to
2938 offset if not pushing a stack frame.
2939
2940 Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
2941
2942 * regmove.c (fixup_match_1): In three places, in flag_exceptions
2943 check, change p to q.
2944
2945 Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
2946
2947 * gcc.c (lang_specific_driver): Add new parm type to prototype.
2948 (added_libraries): New file scope static variable.
2949 (process_command): Initialize added_libraries. Pass it to
2950 lang_specific_driver.
2951 (main): Use added_libraries in check for no input files.
2952
2953 Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
2954
2955 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
2956 code generation. Use 64 bit instructions in 32 bit mode when
2957 possible. Use V9 return instruction. UltraSPARC optimizations.
2958
2959 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
2960
2961 Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
2962
2963 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
2964 just pass zero. That will work regardless of the size of HARD_REG_SET.
2965
2966 * libgcc2.c (__floatdisf): Fix a couple typos.
2967
2968 Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
2969
2970 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
2971
2972 Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
2973
2974 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
2975
2976 Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
2977
2978 * emit-rtl.c (operand_subword_force): If a register can not be
2979 accessed by words, copy it to a pseudo register.
2980
2981 Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
2982
2983 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
2984
2985 Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
2986
2987 * tree.h (mark_seen_cases): Delete declaration.
2988
2989 Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
2990
2991 * stmt.c (mark_seen_cases): Make static and add prototype.
2992
2993 Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2994
2995 * frame.c: Include stdlib.h and unistd.h to possibly get various
2996 function prototypes. The fixproto script guarantees these header
2997 files exist on the target system.
2998 * libgcc2.c: Likewise.
2999
3000 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
3001 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
3002 function parameters.
3003 * libgcc2.c (__udiv_w_sdiv): Likewise.
3004
3005 Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
3006
3007 * varasm.c (asm_output_bss): Add prototype.
3008 (asm_output_aligned_bss): Likewise.
3009
3010 * unroll.c (verify_addresses): Add prototype.
3011
3012 * toplev.c: Add many prototypes. Too many to mention here.
3013
3014 * stmt.c (check_seenlabel): Add prototype.
3015
3016 * rtlanal.c (reg_set_p_1): Add prototype.
3017 (reg_set_last_1): Likewise.
3018
3019 * reorg.c (find_dead_or_set_registers): Add prototype.
3020
3021 * regmove (try_auto_increment): Add prototype.
3022
3023 * reg-stack.c (pop_stack): Add prototype.
3024
3025 * recog.c (validate_replace_rtx_1): Add prototype.
3026 (find_cosntant_term_loc): Likewise.
3027
3028 * loop.c (regs_patch_p): Add prototype.
3029 (add_label_notes, count_nonfixed_reads): Likewise.
3030 (find_single_use_in_loop): Likewise.
3031 (express_from): Surround prototype with #ifdef.
3032 (giv_sort): Similarly.
3033
3034 * jump.c (mark_modified_reg): Add prototype.
3035
3036 * haifa-sched.c (is_prisky): Add prototype.
3037 (queue_to_ready): Likewise.
3038
3039 * genextract.c (gen_insn): Add prototype.
3040
3041 * genemit.c (max_operand_1): Add prototype.
3042 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
3043 (gen_expand, gen_explit, output_add_clobbers): Likewise.
3044 (output_init_mov_optab): Likewise.
3045
3046 * genattrtab.c (attr_hash_add_rtx): Add prototype.
3047 (attr_hash_add_string, write_length_unit_log): Likewise.
3048
3049 * genattr.c (init_range): Add prototype.
3050
3051 * combine.c (sets_function_arg_p): Add prototype.
3052
3053 * expr.c (store_constructor_field): Add prototype.
3054 (get_memory_usage_from_modifier): Likewise
3055
3056 * expmed.c (synth_mult): Add prototype.
3057 (choose_multiplier, invert_mod2n): Likewise.
3058
3059 * except.c (push_eh_entry): Add prototype.
3060 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
3061 (call_get_eh_context, start_dynamic_cleanup): Likewise.
3062 (start_dynamic_handler, can_throw): Likewise.
3063 (output_exception_table_entry, scan_region): Likewise.
3064 (eh_regs, set_insn_eh_region): Likewise.
3065
3066 * dwarfout.c (decl_class_context): Add prototype.
3067 (output_inheritance_die, type_ok_for_scope): Likewise.
3068
3069 * c-lex.c (skip_white_space_on_line): Add prototype.
3070
3071 * alias.c (record_set): Add prototype.
3072 (find_base_term, base_alias_check): Likewise.
3073
3074 * function.c (assign_outer_stack_local): Make static and add prototype.
3075
3076 * haifa-sched.c (build_control_flow): Accept raw data as inputs
3077 instead of computing it locally. Callers changed.
3078 (find_rgns): Several new arguments. Callers changed.
3079 Generally clean up and comment better. Use dominators to
3080 identify reducible loops. Convert some flag arrays to bitmaps.
3081 Convert most of the code to work on pred/succ lists instead of
3082 an edge table. Add comments for future improvements.
3083 (schedule_insns): Allocate temporary tables for flow data, call
3084 routines to compute flow data and pass it along to children as
3085 arguments.
3086 (debug_control_flow): Delete. Use dump_bb_data instead.
3087
3088 * basic-block.h (compute_dominators): Declare.
3089
3090 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
3091 functions.
3092 * basic-block.h: Declare them.
3093
3094 Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
3095
3096 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
3097 no operands.
3098
3099 Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
3100
3101 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
3102 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
3103 node is non NULL. Cache last file name and file name identifier node.
3104
3105 1998-04-15 Mark Mitchell <mmitchell@usa.net>
3106
3107 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
3108 the length of an array, not TREE_TYPE.
3109
3110 Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
3111
3112 * flow.c (sbitmap_union_of_successors): New function.
3113 * basic-block.h (sbitmap_union_of_successors): Declare it.
3114
3115 Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
3116
3117 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
3118 Set gnu_ld to gnu_ld_flag inside main loop.
3119 (gas): Likewise.
3120
3121 Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
3122
3123 * toplev.c (compile_file): Call init_parse using new interface.
3124 (init_lex): Remove declaration.
3125
3126 * c-lex.c (init_parse): Now returns char* containing filename.
3127
3128 Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
3129
3130 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
3131
3132 Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
3133
3134 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
3135 (gen{extract,peep,opinit,output}): Ditto.
3136
3137 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
3138 global definition so print-rtl.o can be linked in.
3139 * gen{peep,recog}.c (insn_attr_name): Ditto.
3140
3141 Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
3142
3143 * fixincludes: discard empty C++ comments, as found in sys/time.h
3144 on hpux-11.0.
3145
3146 Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3147
3148 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
3149 operand.
3150
3151 Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
3152
3153 * emit-rtl.c (operand_subword): Rework slightly to avoid
3154 bogus warning from previous change.
3155
3156 Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
3157
3158 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
3159 Nov 8 find_replacement change. Move decls of get_unaligned_address
3160 * alpha.h: ... here.
3161
3162 Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
3163
3164 * function.c (assign_parms): Initialize unsignedp before passing
3165 its pointer to promote_mode.
3166
3167 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
3168 (write_test_expr): Allow MATCH_INSN.
3169
3170 Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
3171
3172 * install.texi: Update section on warnings that can be safely ignored.
3173
3174 Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
3175
3176 * mips.md (reload_outdi): Change the scratch mode from DImode to
3177 TImode. New variable scratch, used instead of operand[2] in template.
3178 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
3179
3180 Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
3181
3182 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
3183
3184 Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
3185
3186 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
3187
3188 Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
3189
3190 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
3191 (ASM_FINISH_DECLARE_OBJECT): Likewise.
3192
3193 * Idea and part of the patch from HJ.
3194 * Makefile.in: auto-host.h renamed from auto-config.h. All references
3195 changed.
3196 (distclean): Remove auto-build.h too.
3197 * configure.in: Rename host autoconf generated file to auto-host.h.
3198 If host != build, then run autoconf to generate auto-build.h for
3199 the build machine and include it in build_xm_files.
3200 Check for wait.h and sys/wait.h.
3201
3202 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
3203 TRULY_NOOP_TRUNCATION.
3204
3205 Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
3206
3207 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
3208
3209 Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
3210
3211 * invoke.texi (ld options) Include memset requirements
3212 for options -nodstdlib and -nodefaultlibs.
3213
3214 1998-04-12 Paul Eggert <eggert@twinsun.com>
3215
3216 This change is from an idea suggested by Arthur David Olson.
3217
3218 * c-common.c (decl_attributes, record_function_format,
3219 check_format_info, init_function_format_info):
3220 Add support for strftime format checking.
3221 (enum format_type): New type.
3222 (record_function_format): Now static, and takes value of type
3223 enum format_type instead of int.
3224 (time_char_table): New constant.
3225 (struct function_format_info): format_type member renamed from is_scan.
3226 (check_format_info): Use `warning' rather than sprintf followed by
3227 `warning', to avoid mishandling `%' in warnings.
3228 Change `pedwarn' to `warning', since these warnings do not necessarily
3229 mean the program does not conform to the C Standard, as the code
3230 need not be executed.
3231
3232 * c-tree.h (record_function_format): Remove decl; no longer extern.
3233
3234 * extend.texi: Add documentation for strftime format checking.
3235
3236 Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
3237
3238 * mips/ecoffl.h: Do not include mips.h.
3239 * mips/elf.h: Likewise.
3240
3241 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
3242 * mips/ecoff.h: Include "mips/mips.h".
3243
3244 Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
3245
3246 * version.c: Bump for snapshot.
3247
3248 Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
3249
3250 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
3251 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
3252 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
3253 between loop optimization passes.
3254 * rtl.h: Updated appropriately.
3255
3256 Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
3257
3258 Reinstall this patch from Jason.
3259 * function.c (push_function_context_to): Don't call init_emit.
3260
3261 Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
3262
3263 * rtl.c (read_skip_spaces): Prevent infinite loops upon
3264 encountering unterminated comments.
3265
3266 Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
3267
3268 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
3269 64x32 cross builds.
3270
3271 * configure.in: Handle --with-fast-fixincludes.
3272 (fixincludes): If --with-fast-fixincludes, then use a different
3273 fixincludes program by default.
3274 * Makefile.in (fixinc.sh): New rule.
3275
3276 Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
3277
3278 * i386.md (movqi+1): Handle invalid QI register.
3279 (movsf_push-1): Likewise.
3280
3281 Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
3282
3283 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
3284 addresses.
3285 symbolic_memort_operand(), call32_operand(), int8_operand(),
3286 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
3287 Not used.
3288 uint16_operand(): Made static.
3289
3290 Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
3291
3292 * calls.c (expand_call): Fix typo.
3293
3294 Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
3295
3296 * c-lex.c (finput): New global.
3297 (init_parse): Always included. Handle !USE_CPPLIB using
3298 code originally in compile_file.
3299 (finish_parse): Update for CPPLIB.
3300 * toplev.c (init_parse, finish_parse): Declare.
3301 (finput): Delete variable. Now in front-ends.
3302 (compile_file): Remove code which is now handled by init_parse
3303 which is unconditionally called. Similarly for finish_parse.
3304
3305 Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
3306
3307 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
3308 ASM_WEAKEN_LABEL): Add.
3309
3310 Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
3311
3312 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
3313 * configure.in (alpha-*-linux*): Use them.
3314
3315 Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
3316
3317 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
3318 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
3319 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
3320 (build_expr_wfl): New prototype declaration.
3321 * tree.c (build_expr_wfl): New function, to build
3322 EXPR_WITH_FILE_LOCATION nodes.
3323 (copy_node): Don't zero TREE_CHAIN if copying a
3324 EXPR_WITH_FILE_LOCATION node.
3325 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
3326 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
3327
3328 Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
3329
3330 * configure.in (v850): Use t-v850.
3331 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
3332
3333 * protoize.c (creat, read, write): Do not declare.
3334
3335 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
3336 refer to the CODE_LABEL before a dispatch table.
3337
3338 * invoke.texi: Add ARC options.
3339
3340 * gcc.c (proces_command): Improve error message for -o with
3341 either -c or -S.
3342
3343 * i386/x-cygwin32 (CLIB): Link in advapi32.
3344
3345 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
3346 (ASM_IDENTIFY_LANGUAGE): Likewise.
3347
3348 * i386.md (movqi recognizer): Don't perfom byte increment into
3349 a NON_QI_REG_P.
3350
3351 * configure.in (x86-dg-dgux): Run fixinc.dgux.
3352
3353 * i370.h: Fix typo in GEN_INT changes.
3354
3355 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
3356 of an empty arglist in prototype.
3357
3358 * Makefile.in: Remove bytecode crud that crept back in after the
3359 gcc2 merge.
3360
3361 1998-04-08 Brendan Kehoe <brendan@cygnus.com>
3362
3363 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
3364 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
3365
3366 Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
3367
3368 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3369
3370 Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
3371
3372 * c-lex.c (is_class_name): Delete declaration.
3373 (whitespace_cr): Make static and add prototype.
3374 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
3375 yylex, get_directive_line): Turn declarations into prototypes.
3376 (position_after_whitespace, check_newline, yyerror,, is_class_name,
3377 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
3378 prototypes.
3379 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
3380 prototypes.
3381 * gencodes.c (gen_insn): Add prototype.
3382 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
3383 gen_peephole): Add prototypes.
3384 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
3385 prototypes.
3386 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
3387 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
3388 genheader, gencode): Add prototypes.
3389 * genopinit.c (gen_insn): Add prototype.
3390 * genoutput.c (output_prologue, output_epilogue, scan_operands,
3391 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
3392 gen_expand, gen_split, n_occurrences): Add prototypes.
3393 * genpeep.c (gen_peephole): Add prototype.
3394 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
3395 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
3396 labels_in_range_p, count_loop_regs_set, note_addr_stored,
3397 loop_reg_used_before_p, scan_loop, replace_call_address,
3398 skip_consec_insns, libcall_benefit, ignore_some_movables,
3399 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
3400 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
3401 check_final_value, record_giv, update_giv_derive, basic_induction_var,
3402 simplify_giv_expr, general_induction_var, consec_sets_giv,
3403 check_dbra_loop, express_from, combine_givs_p, combine_givs,
3404 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
3405 last_use_this_basic_block, record_initial, update_reg_last_use,
3406 iteration_info, analyze_loop_iterations, insert_bct,
3407 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
3408 into prototypes.
3409
3410 Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
3411
3412 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3413
3414 1998-04-07 Ken Raeburn <raeburn@cygnus.com>
3415
3416 * config/mips/mips.c (siginfo): Deleted.
3417 (override_options): Don't install SIGINFO signal handler.
3418
3419 Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
3420
3421 * loop.c (check_dbra_loop): When normalize comparison_val, add check
3422 to verify it is non-negative.
3423
3424 Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
3425
3426 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
3427 (alpha_expand_block_clear): Likewise.
3428
3429 Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
3430
3431 * tree.h (sizetype_tab): Fix previous change for K&R.
3432
3433 Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
3434
3435 * version.c: Bump for snapshot.
3436
3437 Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
3438
3439 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
3440 Add USG and POSIX to xm_defines.
3441
3442 Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
3443
3444 * gcc.c: Add linker spec.
3445 (link_command_spec): Use %(linker) instead of ld.
3446 (main): If collect2 is requested as the linker, see if it exists;
3447 if not, use ld instead.
3448
3449 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
3450 (ld:) Deleted.
3451 (install-collect2): Install as collect2, not ld.
3452
3453 * configure.in(will_use_collect2): It's named collect2 now.
3454
3455 * collect2: Remove checks to see if we were invoked recursively.
3456 (collect_execute): Use _spawnvp under cygwin32.
3457
3458 Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
3459
3460 * haifa-sched.c (build_control_flow): Set unreachable for block whose
3461 only predecessor is itself.
3462
3463 Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3464
3465 * c-parse.in: Include system.h, and remove stuff now made redundant.
3466 * cccp.c: Likewise.
3467 * cexp.y: Likewise.
3468 * protoize.c: Likewise. Properly check for cpp stringification.
3469
3470 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
3471 Depend on system.h.
3472
3473 * objc/Make-lang.in (objc-parse.o): Likewise.
3474
3475 Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3476
3477 * gansidecl.h: Check if compiler supports __attribute__. Provide
3478 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
3479 __attribute__ when its available. Also provide definitions for
3480 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
3481 terms of ATTRIBUTE_PRINTF.
3482
3483 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
3484 of __attribute__.
3485
3486 Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
3487
3488 * combine.c (can_combine_p): Include successor in volatile test.
3489
3490 Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3491
3492 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
3493 offset_unsigned.
3494
3495 Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
3496
3497 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
3498 in prototype and definition.
3499
3500 Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
3501
3502 * version.c: Bump for snapshot.
3503
3504 Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
3505
3506 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
3507 alpha_expand_unaligned_store_words.
3508
3509 Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
3510
3511 * i386.md (movsf_push, movsf_mem): Remove.
3512 (movsf_push): Rename from movsf_push_nomove and move in front of
3513 movsf. Use nonmemory_operand predicate and don't bother checking
3514 TARGET_MOVE.
3515 (movsf_push_memory): New pattern.
3516 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
3517 both operands refer to memory then force operand[1] into a register.
3518 (movsf_normal): Change to unnamed pattern.
3519 Likewise for movdf, movxf, and friends.
3520
3521 Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
3522
3523 * version.c: Bump for snapshot.
3524
3525 Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
3526
3527 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
3528
3529 Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
3530
3531 * configure.in (mips-wrs-vxworks): New target.
3532
3533 Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
3534
3535 * expmed.c (synth_mult): The value -1, has no zeros, so it can
3536 never have the form ...011.
3537
3538 * version.c: Bump for snapshot.
3539
3540 Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
3541
3542 * i386.c (asm_output_function_prefix, load_pic_register):
3543 Use ASM_GENERATE_INTERNAL_LABEL properly.
3544 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
3545 (print_operand): Ignore it.
3546 (load_pic_register): Use it for the got load call.
3547 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
3548 (prologue_get_pc_and_set_got): Likewise.
3549 * i386.h: Update print_operand docs.
3550
3551 Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
3552
3553 * i386.md (ffssi, ffshi): Rewrite as define_expands.
3554 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
3555 * i386.c (notice_update_cc): Recognize unspec 5.
3556
3557 Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
3558
3559 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
3560 * alpha.c (print_operand): Handle it.
3561 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
3562 for ALPHA_TP_INSN.
3563 (fix_truncdfdi2): Likewise.
3564
3565 Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
3566
3567 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
3568 of these into a single struct, with additional [us]sizetype entries.
3569 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
3570 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
3571 an array.
3572
3573 Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
3574
3575 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
3576
3577 Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
3578
3579 * haifa-sched.c (split_block_insns): Don't supress insn splitting
3580 on subsequent passes.
3581
3582 * alpha.c (hard_fp_register_operand): New function.
3583 * alpha.h (PREDICATE_CODES): Add it.
3584 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
3585 f<-m case and accompanying define_split.
3586 (trapb): Use a unique unspec_volatile number.
3587
3588 Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
3589
3590 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
3591 from gcc2 merge.
3592
3593 Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
3594
3595 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
3596 for details.
3597
3598 * haifa-sched.c: Mirror recent changes from gcc2.
3599
3600 Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
3601
3602 * Makefile.in (insn*.o): Depend on system.h.
3603
3604 * pa.c (output_global_address): Initialize base.
3605 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
3606
3607 1998-04-03 Mike Stump <mrs@wrs.com>
3608
3609 * gthr.h: Support systems that don't have weak, but have threads.
3610 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
3611 * gthr-vxworks.h: New file.
3612 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
3613
3614 Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
3615
3616 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
3617
3618 1998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
3619
3620 * ginclude/va-i960.h (va_end): Change void * to void.
3621
3622 Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3623
3624 * Makefile.in (choose-temp.o): Depend on system.h.
3625
3626 * choose-temp.c: Include system.h when IN_GCC.
3627
3628 Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
3629 Richard Henderson <rth@cygnus.com>
3630
3631 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
3632 (move_replacements): New function.
3633 * reload.h: Prototype it.
3634
3635 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
3636
3637 Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
3638
3639 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
3640 Run fixincludes.
3641
3642 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
3643 (gen_highpart): Likewise.
3644 * final.c (alter_subreg): Allow the target to hook by-mode subreg
3645 hard register number changes.
3646
3647 Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
3648
3649 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
3650 rnbitsize, rnmode and rinner.
3651 (make_range): Initialize type.
3652 (fold): Initialize arg0, arg1 and varop.
3653
3654 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
3655 and regnor.
3656 (expand_function_start): Initialize last_ptr.
3657
3658 * stor-layout.c (layout_record): Initialize desired_align.
3659 (get_best_mode): Initialize unit.
3660
3661 * tree.c (copy_node): Initialize length.
3662
3663 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
3664
3665 * caller-save.c (insert_save_restore): Initialize pat, code and
3666 numregs.
3667
3668 * emit-rtl.c (push_to_sequence): Initialize top.
3669 (push_topmost_sequence): Likewise.
3670
3671 * genattrtab.c (simplify_by_exploding): Initialize defval.
3672
3673 * profile.c (branch_prob): Initialize dest.
3674
3675 * rtl.h (note_stores): Remove duplicate prototype.
3676 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
3677
3678 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
3679 strings that are not actually lengths.
3680
3681 * genattrtab.c: Make generated file use system.h, instead of
3682 including stdio.h, etc directly.
3683 * genextract.c, genopinit.c, genoutput.c: Likewise.
3684 * genpeep.c, genrecog.c: Likewise
3685
3686 * genoutput.c (process_template): Mark operands in the generated
3687 function as potentially unused if compiling with GNU CC.
3688
3689 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
3690
3691 * pa.md (reload peepholes): Remove unused variable "mode".
3692
3693 Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
3694
3695 * config/arm/thumb.h: Add super interworking support.
3696 * config/arm/thumb.c: Add super interworking support.
3697 * config/arm/thumb.md: Add super interworking support.
3698 * config/arm/lib1funcs.asm: Add interworking support.
3699 * config/arm/lib1thumb.asm: Add super interworking support.
3700 * config/arm/t-semi: Add interworking support.
3701 * config/arm/t-thumb: Add interworking support.
3702 * config/arm/README-interworking: New file.
3703
3704 Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
3705
3706 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
3707 (MD_STARTFILE_PREFIX): Unset.
3708
3709 1998-04-01 Mark Mitchell <mmitchell@usa.net>
3710
3711 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
3712 entity in a local scope.
3713
3714 * fold-const.c (fold): Call truthvalue_conversion for values which
3715 are folded to boolean type.
3716
3717 Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
3718
3719 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
3720 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
3721 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
3722 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
3723 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
3724 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
3725 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
3726 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
3727 * md.texi: Likewise.
3728
3729 Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
3730
3731 * fixincludes (limits.h): Fix nested comments in Motorola's
3732 limits.h and sys/limits.h.
3733
3734 Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
3735
3736 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
3737 as dest of expand_binop call.
3738
3739 * alpha.md (extzv): Correct check for valid operand[2] values.
3740
3741 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
3742 branch.
3743
3744 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
3745
3746 Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
3747
3748 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
3749 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
3750
3751 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
3752 cygwin32 can override this to allow both unix and win32 style PATHs.
3753
3754 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
3755 style environment paths.
3756
3757 Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3758
3759 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
3760 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
3761 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
3762 system.h.
3763
3764 * cpphash.c: Include config.h.
3765 * cppalloc.c: Include system.h. Add parameters to various
3766 function prototypes.
3767 * cpperror.c: Likewise.
3768 * cppexp.c: Likewise.
3769 * cpphash.c: Likewise.
3770 * cpplib.c: Likewise.
3771 * cppmain.c: Likewise.
3772 * fix-header.c: Likewise.
3773 * gcov.c: Likewise.
3774 * gen-protos.c: Likewise.
3775 * gengenrtl.c: Likewise.
3776 * halfpic.c: Likewise.
3777 * hash.c: Likewise.
3778 * scan-decls.c: Likewise.
3779 * scan.c: Likewise.
3780
3781 Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
3782
3783 * README.gnat: Add lang_print_xnode definition.
3784
3785 Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3786
3787 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
3788 fmovecr on the 68060.
3789
3790 Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
3791
3792 * genemit.c (DONE): Rework so that it works in the true arm if
3793 an if-else conditional.
3794 (FAIL): Likewise.
3795
3796 Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
3797
3798 * rs6000.c: Do not include stdioh or ctype.h anymore.
3799
3800 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
3801 $(RTL_H).
3802 (stor-layout.o): Likewise.
3803 * c-typeck.c: Include rtl.h and expr.h.
3804 * stor-layout.c: Likewise.
3805
3806 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
3807 All callers changed.
3808 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
3809 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
3810 All callers changed.
3811
3812 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
3813
3814 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
3815
3816 * tree.h (lang_print_xnode): Provide prototype.
3817
3818 Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
3819
3820 * version.c: Bump for snapshot.
3821
3822 Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
3823
3824 * objc/sendmsg.c (__objc_block_forward): Add braces for return
3825 value if INVISIBLE_STRUCT_RETURN.
3826
3827 * pa.c (arith_double_operand): Fix parens.
3828
3829 * haifa-sched.c (print_pattern): Correct arg to sprintf.
3830
3831 * Makefile.in (libgcc1.null): Make return type for __foo void.
3832
3833 Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
3834
3835 * pa.h: Add declarations for many functions defined in pa.c.
3836
3837 * genpeep.c (main): Remove unused variable 'i' from the generated
3838 file.
3839
3840 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
3841 (gen_split): Likewise.
3842 (main): Rework generated definitions of DONE and FAIL so that they
3843 no longer use gotos. Avoids warnings about unused labels.
3844
3845 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
3846 unused "junk" variable.
3847
3848 * genattrtab.c (write_complex_function): Add a default case in
3849 generated switch statement to keep -W -Wall quiet.
3850
3851 Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
3852
3853 * invoke.texi: Document more ARM and Thumb command line options.
3854
3855 * config/arm/xm-thumb.h: New file.
3856
3857 Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
3858
3859 * stmt.c (expand_expr_stmt): Must generate code for
3860 statements within an expression (gcc's `({ ... )}')
3861 even if -fsyntax-only.
3862
3863 Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3864 Jeffrey A Law (law@cygnus.com)
3865
3866 * basic-block.h (basic_block_computed_jump_target): Declare.
3867 * flags.h: (current_function_has_computed_jump): Declare.
3868 * flow.c: (basic_block_computed_jump_target): Define.
3869 (flow_analysis): Allocate it. Set current_function_has_computed_jump
3870 to 0.
3871 (find_basic_blocks): Set current_function_has_computed_jump and
3872 elements of basic_block_computed_jump_target to 1 as appropriate.
3873 * function.c: (current_function_has_computed_jump): Define.
3874 * global.c (global_conflicts): Don't allocate pseudos into stack regs
3875 at the start of a block that is reachable by a computed jump.
3876 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
3877 immediately.
3878 (subst_stack_regs): Undo change from Sep 4 1997.
3879 (uses_reg_or_mem): Now unused, deleted.
3880 * stupid.c (stupid_life_analysis): Compute
3881 current_function_has_computed_jump.
3882 (stupid_find_reg): Don't allocate stack regs if the function has a
3883 computed goto.
3884 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
3885 the current function has a computed jump. Use the global value
3886 instead.
3887
3888 Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
3889
3890 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
3891 (DWARF2_UNWIND_INFO): Define to zero.
3892
3893 Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
3894
3895 * gcc.c (set_std_prefix): Add declaration.
3896 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
3897 suffix, and update the standard prefix prefix.c uses.
3898
3899 * prefix.c (std_prefix): New global to hold default prefix value.
3900 (get_key_value): Change to use std_prefix instead of PREFIX.
3901 (translate_name): Ditto.
3902 (update_path): Ditto.
3903 (get_key_value): Release allocated scratch storage.
3904 (set_std_prefix): New function to reset the standard prefix.
3905
3906 Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3907
3908 * sh.c (find_barrier): Fix calculations for alignment increase.
3909
3910 Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
3911
3912 * Makefile.in (stmp-fixinc): If we're actually fixing include
3913 files, copy gcc's assert.h into the fixed include dir.
3914 * fixincludes (assert.h): Avoid any attempts to fix a probably
3915 broken system specific assert.h file.
3916 * fixproto (stdlib.h): Make sure, it'll contain a definition of
3917 size_t.
3918
3919 Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
3920
3921 * regclass.c (reg_scan_mark_refs): Be more selective about
3922 when we mark a register with REGNO_POINTER_FLAG.
3923
3924 Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3925
3926 reload inheritance improvement:
3927 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
3928 Change meaning: index is now hard reg number.
3929 (reg_reloaded_valid, reg_reloaded_dead): New variables.
3930 (reload_spill_index): Content is now a hard reg number.
3931 (reload_as_needed): Change to fit new variable meaning.
3932 (forget_old_reloads_1, allocate_reload_reg): Likewise.
3933 (choose_reload_regs, emit_reload_insns): Likewise.
3934
3935 Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3936
3937 * regclass.c (record_reg_classes): '?' increases cost by two.
3938
3939 * reload.c (find_reloads): Double previous costs. Output
3940 reloads cost one unit extra.
3941
3942 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
3943 boiled down to && ! 0.
3944
3945 * reload.c (find_equiv_reg): Also consider a goal offset from the
3946 frame pointer to be constant.
3947
3948 Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3949
3950 * sh.h (OPTIMIZATION_OPTIONS): Define.
3951
3952 Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
3953
3954 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
3955
3956 Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
3957
3958 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
3959
3960 Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
3961
3962 * c-common.c (check_format_info): Initialize type, is_type. New local
3963 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
3964 when pedantic if used with integral format specifier.
3965
3966 Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
3967
3968 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
3969 direction.
3970 (function_arg_padding): Declare.
3971
3972 * rs6000.c: Include system.h.
3973 (function_arg_padding): Change return type to int, cast enum's to
3974 int.
3975
3976 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
3977 * collect2.c (scan_prog_file): Add explicit braces to avoid
3978 ambiguous `else'.
3979
3980 * dbxout.c (dbxout_type_fields): Add braces around empty body in
3981 an if-statement.
3982 (dbxout_type): Likewise.
3983
3984 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
3985 `ptt_size' from int to size_t.
3986 (rs6000_file_start): Likewise for `i'.
3987 (rs6000_replace_regno): Add default case in enumeration switch.
3988 (output_epilog): Remove unused variable `i'.
3989 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
3990 and `reg2'.
3991
3992 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
3993 initializer.
3994 (get_issue_rate, non_logical_cint_operand): Add prototype.
3995 (rs6000_output_load_toc_table): Ditto.
3996
3997 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
3998 `else'.
3999
4000 Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
4001
4002 * config/arm/thumb.c: New File. Support for ARM's Thumb
4003 instruction set.
4004 * config/arm/thumb.h: New File. Thumb definitions.
4005 * config/arm/thumb.md: New File. Thumb machine description.
4006 * config/arm/tcoff.h: New File. Thumb COFF support.
4007 * config/arm/t-thumb: New File. Thumb makefile fragment.
4008 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
4009
4010 * configure.in: Add Thumb-coff target.
4011 * configure: Add Thumb-coff target.
4012 * config.sub: Add Thumb-coff target.
4013
4014 Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
4015
4016 * loop.c (scan_loop): Initialize move_insn_first to zero.
4017
4018 Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
4019
4020 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
4021 * config/i386/rtems.h: Likewise.
4022 * config/i960/rtems.h: Likewise.
4023 * config/m68k/rtems.h: Likewise.
4024 * config/mips/rtems64.h: Likewise.
4025 * config/pa/rtems.h: Likewise.
4026 * config/rs6000/rtems.h: Likewise.
4027 * config/sh/rtems.h: Likewise.
4028 * config/sparc/rtems.h: Likewise.
4029
4030 Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4031
4032 * pa.c (emit_move_sequence): If in reload, call find_replacement.
4033
4034 Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
4035
4036 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
4037
4038 * collect2.c (find_a_file): Add debugging.
4039 (find_a_file): Test for win32 style absolute paths if
4040 DIR_SERPARATOR is defined.
4041 (prefix_from_string): Add debugging.
4042 (main): Test for debug command line switch at start of program
4043 execution.
4044 (main): Use GET_ENVIRONMENT rather than getenv().
4045 (prefix_from_env): Use GET_ENVIRONMENT.
4046
4047 1998-03-24 Mark Mitchell <mmitchell@usa.net>
4048
4049 * cplus-dem.c (optable): Add sizeof.
4050 (demangle_template_value_parm): New function containing code
4051 previously found in demangle_template.
4052 (demangle_integral_value): New function which handles complicated
4053 integral expressions.
4054 (demangle_template): Use them.
4055
4056 Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4057
4058 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
4059 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
4060 genattrtab.o, genoutput.o): Depend on system.h.
4061
4062 * genattr.c: Include system.h. Add arguments to various function
4063 prototypes. Remove redundant prototype of read_rtx().
4064 * genattrtab.c: Likewise.
4065 * gencodes.c: Likewise.
4066 * genconfig.c: Likewise.
4067 * genemit.c: Likewise.
4068 * genextract.c: Likewise.
4069 * genflags.c: Likewise.
4070 * genopinit.c: Likewise.
4071 * genoutput.c: Likewise.
4072 * genpeep.c: Likewise.
4073 * genrecog.c: Likewise.
4074
4075 1998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
4076
4077 * c-lang.c (lang_print_xnode): New function.
4078 * objc/objc-act.c (lang_print_xnode): Likewise.
4079 * print-tree.c (print_node): Call it
4080
4081 Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
4082
4083 * c-parse.in: Recognize protocol qualifiers in class
4084 definitions for objc.
4085 Include "output.h".
4086 (yyerror): Remove redundant decl.
4087 (yyprint): Fix prototype.
4088
4089 Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
4090
4091 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
4092
4093 * stmt.c (unroll_block_trees): Free block_vector if needed.
4094
4095 Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
4096
4097 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
4098 (zero_extendsidi2): Avoid useless copy.
4099 (iordi_zext): New pattern.
4100 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
4101 operand 2.
4102 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
4103
4104 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
4105 (ashldi3): Allow constant shift count in range ]32,63].
4106 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
4107
4108 1998-03-22 Mark Mitchell <mmitchell@usa.net>
4109
4110 * tree.h (IS_EXPR_CODE_CLASS): New macro.
4111
4112 Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
4113
4114 * h8300.h (CONST_COSTS): Remove definition.
4115 (DEFAULT_RTX_COSTS): Define.
4116
4117 Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
4118
4119 * config/sh/rtems.h: Switched from ELF to COFF.
4120
4121 Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4122
4123 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
4124
4125 Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
4126
4127 * version.c: Bump for snapshot.
4128
4129 Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
4130 Geoff Noer <noer@cygnus.com>
4131
4132 * Makefile.in: Various fixes for building cygwin32 native toolchains.
4133
4134 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
4135 * objc/Make-lang.in: Likewise.
4136
4137 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
4138
4139 Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
4140
4141 * configure.in: Handle with-PACKAGE=no correctly
4142
4143 Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4144
4145 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
4146 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
4147 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
4148 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
4149 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
4150 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
4151 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
4152 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
4153 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
4154 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
4155 on system.h.
4156
4157 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
4158 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
4159 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
4160 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
4161 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
4162 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
4163 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
4164 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
4165 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
4166 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
4167 xcoffout.c: Include system.h. Organize include ordering so
4168 that stdarg/varargs comes before other system headers. Remove
4169 spurious casts of functions assured of a prototype in system.h.
4170
4171 Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
4172
4173 * reg-stack.c (pop_stack): Define. Pops any register on the
4174 regstack and adjusts regstack.
4175 (compare_for_stack_reg): Use pop_stack.
4176
4177 Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
4178
4179 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
4180 config too.
4181
4182 Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
4183
4184 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
4185
4186 * fold-const.c (fold): Replace sign-extension of a zero extended
4187 value by a single zero extension.
4188
4189 Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
4190
4191 * except.c (init_eh): Do nothing.
4192 (save_eh_status): Call init_eh_for_function, not init_eh.
4193 * function.c (push_function_context_to): Don't call init_emit.
4194
4195 Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
4196
4197 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
4198 and EABI.
4199
4200 Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4201
4202 * final.c (shorten_branches): Add parentheses around +/- in
4203 operand of &.
4204
4205 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
4206
4207 Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
4208
4209 * regclass.c (memory_move_secondary_cost): Wrap uses of
4210 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
4211 with #ifdef tests.
4212
4213 Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
4214
4215 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
4216
4217 * flow.c (life_analysis): #include <sys/types.h> to make sure
4218 size_t is defined.
4219 * cplus-dem.c (demangle_function_name): Likewise.
4220
4221 Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
4222
4223 * final.c (insn_noperands): Change type to unsigned int.
4224 (final_scan_insn): Likewise for noperands;
4225 properly check operand number boundaries.
4226
4227 Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
4228
4229 * alpha.md (extzv): Don't reject register operands. Fix
4230 mode of operand 1.
4231
4232 Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
4233
4234 * dbxout.c (dbxout_function_end): Fix last change. The correct
4235 predicate is ASM_OUTPUT_SECTION_NAME.
4236
4237 Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
4238
4239 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
4240 (ashlsi): Use match_dup 1 instead of match_operand 2.
4241
4242 Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4243
4244 * fold-const.c (operand_equal_for_comparison_p): See if equal
4245 when nop conversions are removed.
4246
4247 Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4248
4249 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
4250 don't use ORIGINAL_TARGET unless REG.
4251
4252 Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4253
4254 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
4255
4256 Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
4257
4258 * loop.c (struct movable): New field move_insn_first.
4259 (scan_loop): In consec sets code, set it. Clear it otherwise.
4260 (move_movables): In consec sets code, use it. Copy REG_NOTES from
4261 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
4262 out code.
4263
4264 Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
4265
4266 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
4267 is large, and the system doesn't provide atoll or atoq.
4268 (atoll): New.
4269
4270 * alpha/xm-vms.h (HAVE_ATOLL): Define.
4271 Reported by Klaus Kaempf <kkaempf@progis.de>.
4272
4273 Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4274
4275 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
4276 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
4277
4278 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
4279 test !ACCUMULATE_OUTGOING_ARGS.
4280
4281 * collect2.c (write_c_file_glob): Wrap function definition in
4282 macro test !LD_INIT_SWITCH.
4283
4284 * combine.c (try_combine): Wrap variables `cc_use' and
4285 `compare_mode' in macro test EXTRA_CC_MODES.
4286
4287 * cpplib.c (do_ident): Remove unused variable `len'.
4288 (skip_if_group): Remove unused variables `at_beg_of_line' and
4289 `after_ident'.
4290 (cpp_get_token): Remove unused variable `dummy'.
4291
4292 * dbxout.c (scope_labelno): Move static variable definition inside
4293 the one function scope where it is used.
4294 (dbxout_function_end): Wrap prototype and definition in
4295 macro test !NO_DBX_FUNCTION_END.
4296
4297 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
4298 in macro test !MIPS_DEBUGGING_INFO.
4299
4300 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
4301 into the scope where it is used. Wrap empty else-statement body
4302 in braces.
4303
4304 * fix-header.c: Fix typo in comment.
4305 (inf_skip_spaces): Cast results of INF_UNGET to (void).
4306 (check_protection, main): Likewise.
4307
4308 * flow.c (find_basic_blocks_1): Remove dangling comment text.
4309
4310 * function.c (contains): Wrap prototype and definition in macro
4311 test HAVE_prologue || HAVE_epilogue.
4312 (fixup_var_refs_1): Remove unused variable `width'.
4313
4314 * gen-protos.c (main): Remove unused variable `optr'.
4315
4316 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
4317
4318 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
4319 (__sjpopnthrow): Remove unused variable `jmpbuf'.
4320 (__throw): Remove unused variable `val'.
4321
4322 * protoize.c: Check for a previously existing definition before
4323 defining *_OK macros.
4324
4325 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
4326
4327 Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4328
4329 * vax.h (ADDR_VEC_ALIGN): Define.
4330
4331 Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
4332
4333 * gcc.c (default_arg): Don't wander off the end of allocated
4334 memory.
4335
4336 (From Geoffrey Keating <geoffk@ozemail.com.au>)
4337 * rs6000.c (small_data_operand): Ensure that any address
4338 referenced relative to the small data area is inside the SDA.
4339
4340 Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
4341
4342 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
4343
4344 Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
4345
4346 * except.h (in_same_eh_region): New prototype.
4347 (free_insn_eh_region, init_insn_eh_region): New prototypes.
4348 * except.c (insn_eh_region, maximum_uid): New static variables.
4349 (set_insn_eh_region): New static function to set region numbers.
4350 (free_insn_eh_region): New function to free EH region table.
4351 (init_insn_eh_region): New function to initialize EH region table.
4352 (in_same_eh_region): New function used to determine if two rtl
4353 instructions are in the same exception region or not.
4354 * final.c (final): Initialize the table indicating which instructions
4355 belong in which exception region.
4356 * genpeep.c (main): Add "except.h" to include file list in generated
4357 file insn-peep.c.
4358 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
4359 peepholes involving calls and unconditional branches.
4360
4361 Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
4362
4363 * README.gnat: New file.
4364
4365 Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4366
4367 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
4368 "recog.h" for offsettable_memref_p.
4369 (legitimize_pic_address): Remove unused variable `offset'.
4370 (notice_update_cc): Change return type to void. Add default label
4371 to switch.
4372 (standard_68881_constant_p): Remove unused variable mode.
4373 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
4374 (const_int_cost): Explicitly declare as returning int.
4375 (output_dbcc_and_branch): Change return type to void.
4376
4377 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
4378 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
4379 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
4380
4381 Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
4382
4383 * version.c: Bump for snapshot.
4384
4385 Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4386
4387 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
4388 check for 'M' constraint.
4389
4390 Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
4391
4392 * cccp.c (create_definition): If pedantic, call pedwarn for macro
4393 varargs feature.
4394
4395 Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
4396
4397 * i386.c (ix86_logical_operator): New function.
4398 (split_di): Ensure that when a MEM is split, the resulting MEMs have
4399 SImode.
4400 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
4401 to implement them.
4402
4403 Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4404 Richard Earnshaw <rearnsha@arm.com>
4405 Nick Clifton <nickc@cygnus.com>
4406
4407 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
4408
4409 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
4410
4411 * cse.c (rtx_cost): Provide a default case in an enumeration
4412 switch, and call DEFAULT_RTX_COSTS if it's defined.
4413
4414 Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
4415
4416 * basic-block.h (compute_preds_succs): Change return type in
4417 prototype to void.
4418 * flow.c (compute_preds_succs): Likewise in function definition.
4419
4420 * regmove.c (find_matches): Cast char used as array index to unsigned char
4421 to supress warning.
4422
4423 Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
4424
4425 * i386.h (RTX_COSTS): Insert braces around nested if.
4426 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
4427 elements.
4428
4429 * gcc.c (default_compilers): Properly put brackets around array elements in
4430 initializer.
4431
4432 * getopt.c (_getopt_internal): Add explicit braces around nested if;
4433 reformatted.
4434
4435 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
4436 (record_reg_life_pat): Add explicit parens around && and || in expression.
4437 (stack_reg_life_analysis): Add parens around assignment used as expression.
4438 (convert_regs): Likewise.
4439
4440 Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
4441
4442 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
4443 change callers accordingly.
4444
4445 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
4446 and definition; change all callers accordingly.
4447
4448 * except.c (init_eh): Avoid assignment of unused return value of
4449 build_pointer_type; cast it to void, instead, and remove unused
4450 variable type.
4451
4452 * gcc.c (lang_specific_driver): Define prototype only #ifdef
4453 LANG_SPECIFIC_DRIVER.
4454 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
4455
4456 * genoutput.c (output_epilogue): Initialize next_name to 0.
4457
4458 * real.c (efrexp): #if 0 prototype and function definition.
4459 (eremain): Likewise.
4460 (uditoe): Likewise.
4461 (ditoe): Likewise.
4462 (etoudi): Likewise.
4463 (etodi): Likewise.
4464 (esqrt): Likewise.
4465
4466 * reload.c (push_secondary_reload): Define prototype only
4467 #ifdef HAVE_SECONDARY_RELOADS.
4468
4469 * varasm.c (assemble_static_space): Define rounded only
4470 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
4471
4472 Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
4473
4474 * i386.md (andsi): Add default case in enumeration switch.
4475 (iorsi3): Likewise.
4476 (iorhi3): Likewise.
4477 (xorsi3): Likewise.
4478
4479 Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
4480
4481 * c-decl (finish_struct): Change type of min_align to unsigned.
4482
4483 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
4484 remove unused variable len.
4485
4486 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
4487 comment indicating this is proper behaviour.
4488 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
4489 reg >= 0.
4490 (based_loc_descr): Likewise.
4491
4492 * enquire.c (bitpattern): Change type of variable i to unsigned.
4493
4494 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
4495
4496 * flow.c (life_analysis): Change type of variable i to size_t;
4497 remove unused variable insn.
4498
4499 * gcc.c (translate_options): Change type of variables optlen, arglen and
4500 complen to size_t.
4501 (input_filename_length): Change type to size_t.
4502 (do_spec_1): Change type of variable bufsize to size_t.
4503 (main): Change type of variables i and j to size_t;
4504 remove subblock local definition of variable i.
4505 (lookup_compiler): Change type of second argument to size_t;
4506 change type of variable i to size_t.
4507
4508 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
4509
4510 * genopinit.c (get_insn): Change type of variable pindex to size_t.
4511
4512 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
4513
4514 * global.c (global_alloc): Change type of variable i to size_t.
4515
4516 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
4517
4518 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
4519 (expand_end_case): Change type of variable count to size_t.
4520
4521 * toplev.c (main): Change type of variable j to size_t.
4522 (set_target_switch): Change type of variable j to size_t.
4523 (print_switch_values): Change type of variable j to size_t;
4524 remove unused variable flags.
4525
4526 * varasm.c (assemble_variable): Change type of variable align to size_t.
4527 (const_hash_rtx): Change type of variable i to size_t.
4528
4529 1998-03-11 Mark Mitchell <mmitchell@usa.net>
4530
4531 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
4532 TREE_VEC if that's what it really is.
4533
4534 Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
4535
4536 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
4537 as per ISO C spec.
4538
4539 Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
4540
4541 * gthr.h: Changed the comment about return values.
4542 * gthr-solaris.h (__gthread_once): Do not use errno; return the
4543 error number instead of -1.
4544 (__gthread_key_create): Any non-zero return value is an error.
4545 * libgcc2.c (eh_context_initialize): Check for non-zero return
4546 value from __gthread_once.
4547 Check that the value of get_eh_context was really changed.
4548
4549 Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4550
4551 * sh.h (LOOP_ALIGN): Only align when optimizing.
4552 * sh.c (find_barrier): Clear inc for CODE_LABELs.
4553 When not optimizing, calculate alignment for BARRIERs directly.
4554
4555 Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4556
4557 * final.c (shorten_branches): Remove conditionalizing on
4558 SHORTEN_WITH_ADJUST_INSN_LENGTH
4559 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
4560
4561 Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
4562
4563 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
4564 an unconditional jump around deleted blocks.
4565
4566 Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
4567
4568 * profile.c (branch_prob): If see computed goto, call fatal instead of
4569 abort.
4570
4571 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
4572
4573 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
4574 Patch from Bruno Haible.
4575
4576 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
4577 (assign_parms): Set aggregate if hide_last_arg and last_named.
4578
4579 Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4580
4581 * final.c (shorten_branches): Initialize insn_addresses.
4582
4583 Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4584
4585 * sh.h (MUST_PASS_IN_STACK): Define.
4586
4587 Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
4588
4589 * final.c (shorten_branches): Fix minor logic error in
4590 ADDR_DIFF_VEC shortening support.
4591
4592 Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
4593
4594 * version.c: Bump for snapshot.
4595
4596 Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
4597
4598 * haifa-sched.c (is_cfg_nonregular): Change return type to
4599 an int. No longer compute "estimated" number of edges. Use
4600 computed_jump_p instead of duplicating the code. Fixup/add
4601 some comments.
4602 (build_control_flow): Returns a value indicating an irregularity
4603 in the cfg was detected. Count the number of edges in the cfg.
4604 allocate various edge tables.
4605 (find_rgns): No longer look for unreachable blocks.
4606 (schedule_insns): Do not allocate memory for edge tables here.
4607 Free memory for edge tables before returning. Do not perform
4608 cross block scheduling if build_control_flow returns nonzero.
4609 * flow.c (compute_preds_succs): More accurately determine when
4610 a block drops in.
4611
4612 * basic-block.h (free_basic_block_vargs): Provide prototype.
4613
4614 * cccp.c (main): Fix dumb mistakes in last change.
4615
4616 Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4617
4618 * rtl.h (addr_diff_vec_flags): New typedef.
4619 (union rtunion_def): New member rt_addr_diff_vec_flags.
4620 (ADDR_DIFF_VEC_FLAGS): New macro.
4621
4622 * sh.c (output_branch): Fix offset overflow problems.
4623
4624 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
4625 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
4626 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
4627 * stmt.c (expand_end_case): Supply new arguments to
4628 gen_rtx_ADDR_DIFF_VEC.
4629 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
4630 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
4631 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
4632 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
4633 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
4634 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
4635 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
4636 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
4637 * i386/freebsd.h, i386/linux.h : Likewise.
4638 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
4639 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
4640 * m68k/mot3300.h, m68k/sgs.h : Likewise.
4641 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
4642 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
4643 (CASE_VECTOR_SHORTEN_MODE): Define.
4644 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
4645 (med_branch_p, braf_branch_p): Don't declare.
4646 (mdep_reorg_phase, barrier_align): Declare.
4647 (ADJUST_INSN_LENGTH): Remove alignment handling.
4648 * sh.c (uid_align, uid_align_max): Deleted.
4649 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
4650 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
4651 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
4652 (output_far_jump): Don't use braf_branch_p.
4653 (output_branchy_insn): Don't use branch_offset.
4654 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
4655 Remove paired barrier stuff.
4656 Don't use cache_align_p.
4657 Take alignment insns into account.
4658 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
4659 the addr_diff_vec.
4660 (barrier_align, branch_dest): New function.
4661 (machine_dependent_reorg, split_branches): Remove infrastructure
4662 for branch shortening that is now provided in the backend.
4663 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
4664 (braf_branch_p, braf_cbranch_p): Likewise.
4665 (attribute length): Use new attributes.
4666 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
4667 (addr_diff_vec_adjust): Delete.
4668 (align_2): Now a define_expand.
4669 (align_log): Now length 0.
4670
4671 Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
4672
4673 * m32r.md (right): Correctly check for length == 2, not 1.
4674
4675 Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4676
4677 * mips/mips.h: Prototype `machine_dependent_reorg'.
4678 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
4679
4680 Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
4681
4682 * final.c (shorten_branches): Restore accidentally removed code.
4683
4684 Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4685
4686 * configure.in: Remove duplicate uses of AC_PROG_CC and
4687 AC_PROG_MAKE_SET.
4688
4689 Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
4690
4691 * configure.in (target_cpu_default2): Correct typo for alphapca56.
4692
4693 Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
4694 Doug Evans (devans@cygnus.com)
4695
4696 * haifa-sched.c (build_jmp_edges): Delete dead function.
4697 (build_control_flow): Use cfg routines from flow.c
4698 (schedule_insns): Remove debugging code accidentally checked
4699 in earlier today.
4700
4701 * basic-block.h: Add external integer list structures, typdefs,
4702 accessor macros and function declarations. Simlarly for
4703 basic block pred/succ support and simple bitmap stuff.
4704 * flow.c: Add functions for integer list, basic block pred/succ
4705 support and simple bitmap support.
4706 (compute_dominators): New function to compute dominators and
4707 post dominators.
4708 (find_basic_blocks): Split into two functions.
4709 (life_analysis): Likewise.
4710 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
4711 the life_analysis from toplev.c
4712 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
4713 life_analysis instead of flow_analysis.
4714
4715 Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4716
4717 * jump.c (jump_optimize): Call mark_jump_label also for deleted
4718 insns.
4719 (mark_jump_label): Don't increment ref counts for deleted insns.
4720
4721 Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4722
4723 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
4724
4725 * mips/mips.c: Include stdlib.h and unistd.h.
4726 (mips_asm_file_end): Add braces around empty body in an if-statement.
4727 (function_prologue): Wrap variable `fnname' in
4728 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
4729 (mips_select_rtx_section, mips_select_section): Declare as void.
4730
4731 * mips/mips.h: Add prototypes for extern functions in mips.c.
4732 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
4733 (ENCODE_SECTION_INFO): Add braces around empty body in an
4734 if-statement.
4735
4736 * mips/mips.md (movdi): Add parentheses around && within ||.
4737 (movsf, movdf): Likewise.
4738 (branch_zero, branch_zero_di): Add default case in
4739 enumeration switch.
4740
4741
4742 Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
4743
4744 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
4745 real constants, since they can't be changed.
4746 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4747 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
4748 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4749 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4750 * alpha/vms.h (TARGET_OPEN_VMS): New.
4751 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
4752
4753 Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
4754
4755 * reload.c (find_reloads): Always force (subreg (mem)) to be
4756 reloaded if WORD_REGISTER_OPERATIONS.
4757
4758 Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
4759
4760 * haifa-sched.c (free_list): Rename from free_pnd_lst.
4761 (free_pending_lists): Rename free_pnd_lst uses.
4762 (remove_dependence): Place expunged element on unused_insn_list.
4763 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
4764 gen_rtx_*_LIST and alloc_rtx to use them.
4765 (compute_block_backward_dependences): Free the reg_last_* lists.
4766
4767 Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
4768
4769 * cccp.c (main): Avoid undefined behavior when setting pend_includes
4770 and pend_files.
4771
4772 Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
4773
4774 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
4775 USE_GNULIBC_1 is defined
4776 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
4777 includes the t-linux-gnulibc1 fragment
4778
4779 Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
4780
4781 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
4782
4783 Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4784
4785 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
4786
4787 Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4788
4789 * final.c (shorten_branches): Tag the loop alignment onto the
4790 first label after NOTE_INSN_LOOP_BEG even if there is an
4791 intervening insn.
4792
4793 Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4794
4795 * final.c (insn_current_reference_address):
4796 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
4797 proper alignment chain.
4798
4799 * final.c (max_labelno): New static variable.
4800 (final_scan_insn): Check max_labelno before outputting an
4801 alignment for a label.
4802 (shorten_branches): Remove unused variable length_align.
4803
4804 Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4805
4806 * sparc.c (ultrasparc_adjust_cost): Add default case in
4807 enumeration switch.
4808
4809 * sparc.h: Add prototypes for extern functions defined in
4810 sparc.c.
4811
4812 Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
4813
4814 * toplev.c: Only generate <name>.dbr file when dumping RTL if
4815 DEALY_SLOTS is defined.
4816
4817 Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
4818
4819 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
4820 in call to fill_slots_from_thread.
4821
4822 Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
4823
4824 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
4825 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
4826
4827 Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4828
4829 * final.c (insn_last_address, insn_current_align, uid_align):
4830 New variables.
4831 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
4832 (insn_current_reference_address): Likewise.
4833 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
4834 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
4835 (label_to_alignment): New function.
4836 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
4837 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
4838 insn_current_reference_address instead of insn_current_address.
4839 (or_attr_value, write_length_unit_log): New functions.
4840 (main): Call write_length_unit_log.
4841 (write_const_num_delay_slots): Output extra '\n'.
4842 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
4843 replace with:
4844 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
4845 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
4846 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
4847 (LOOP_ALIGN).
4848 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
4849 (LABEL_ALIGN_AFTER_BARRIER).
4850 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
4851 * ns32k/tek6000.h: Likewise.
4852 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
4853 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
4854 ASM_OUTPUT_ALIGN_CODE.
4855
4856 Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
4857
4858 * version.c: Bump for snapshot.
4859
4860 Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
4861
4862 * version.c: Bump for snapshot.
4863
4864 Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
4865
4866 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
4867 if condition code of jump conflicts with opposite_needed.
4868
4869 * reorg.c (fill_slots_from_thread): Mark resources referenced in
4870 opposite_needed thread. Return delay_list even when cannot get
4871 any more delay insns from end of subroutine.
4872
4873 Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
4874
4875 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
4876 All callers changed.
4877
4878 Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4879
4880 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
4881 end_fde_sort): New functions for fast sorting of an FDE array.
4882 (fde_insert): Simplified.
4883 (add_fdes): Change argument list.
4884 (frame_init): Use the new functions.
4885
4886 Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
4887
4888 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
4889
4890 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
4891
4892 * fold-const.c (fold_range_test): Always return a value.
4893
4894 Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
4895
4896 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
4897 data in the text section unless READONLY_DATA_SECTION is defined.
4898
4899 Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
4900
4901 * c-parse.in (undeclared variable error): Tweak error message to
4902 be clearer.
4903
4904 Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
4905
4906 * version.c: Bump for snapshot.
4907
4908 1998-02-28 Mark Mitchell <mmitchell@usa.net>
4909
4910 * final.c (final_scan_insn): Undo overzealous removal of `set'.
4911
4912 Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4913
4914 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
4915 case, add parentheses to specify the proper order of precedence in
4916 the if-statement.
4917
4918
4919 * c-aux-info.c: Include string.h/strings.h.
4920
4921 * pa.c: Include stdlib.h.
4922 (pa_combine_instructions): Prototype the function.
4923 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
4924 (reloc_needed): Add default case for enumeration switch.
4925 (remove_useless_addtr_insns): Remove unused variable `all'.
4926 (hppa_expand_prologue): Add explicit braces to avoid
4927 ambiguous `else'.
4928 (output_function_epilogue): Remove unused variable `i'.
4929 (output_millicode_call): Remove unused variable `link'.
4930 (shadd_constant_p, forward_branch_p): Make the function static.
4931 (following_call): Explicitly declare to return int.
4932 (pa_reorg): Declare as void.
4933 (pa_combine_instructions): Declare as static void. Add
4934 parentheses around && within ||.
4935
4936 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
4937 following_call, function_label_operand, lhs_lshift_cint_operand
4938 and zdepi_cint_p.
4939
4940 * pa.md: Add parentheses around && within ||.
4941
4942 * cppalloc.c: Include stdlib.h.
4943
4944 * cpperror.c (cpp_print_containing_files): Remove unused variable
4945 `i'. Fix format specifier in fprintf.
4946
4947 * cse.c (cse_around_loop): Add explicit braces to avoid
4948 ambiguous `else'.
4949 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
4950
4951 * expr.c (expand_expr): Add parentheses around && within ||.
4952
4953 * final.c (app_enable): Replace fprintf with fputs where there are
4954 no format specifiers and no trailing argument after the string.
4955 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
4956 (app_disable): Likewise.
4957 (final_end_function): Likewise.
4958 (final_scan_insn): Likewise. Remove unused variable `set'.
4959 (profile_function): Wrap empty if-statement body in {} brackets.
4960
4961 * function.c: Include stdlib.h.
4962 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
4963 (reposition_prologue_and_epilogue_notes): Add parentheses
4964 around assignment used as truth value.
4965
4966 * integrate.c (expand_inline_function): Wrap variable
4967 `cc0_insn' in macro HAVE_cc0.
4968
4969 * jump.c (jump_optimize): Wrap variable `q' in macro
4970 HAVE_cc0. Remove unused variable `prev1'.
4971
4972 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
4973 within ||. Fix format specifier in fprintf.
4974 (__bb_init_prg): Add parentheses around assignment used as
4975 truth value.
4976
4977 * local-alloc.c: Include stdlib.h.
4978 (requires_inout): Add parentheses around assignment used
4979 as truth value.
4980
4981 * loop.c (analyze_loop_iterations): Wrap prototype and definition
4982 in macro HAVE_decrement_and_branch_on_count.
4983 (insert_bct, instrument_loop_bct): Likewise.
4984 (move_movables): Add parentheses around assignment used as
4985 truth value.
4986 (consec_sets_invariant_p): Likewise.
4987 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
4988
4989 * objc/objc-act.c: Include stdlib.h.
4990 (lookup_method_in_protocol_list): Wrap empty else-statement body
4991 in braces.
4992 (lookup_protocol_in_reflist): Likewise.
4993 (objc_add_static_instance): Remove unused variables `decl_expr'
4994 and `decl_spec'.
4995 (get_objc_string_decl): Remove unused variable `decl'.
4996 (generate_static_references): Remove unused variables `idecl' and
4997 `instance'.
4998 (check_protocols): Wrap empty else-statement body in braces.
4999
5000 * protoize.c: Include stdlib.h.
5001 (substr): Add parentheses around assignment used as truth value.
5002 (abspath): Likewise.
5003 (shortpath): Likewise.
5004
5005 * regmove.c (fixup_match_1): Add parentheses around assignment
5006 used as truth value.
5007
5008 * reload.c (push_secondary_reload): Remove unused variable `i'.
5009 (find_reloads): Add parentheses around assignment used as truth
5010 value.
5011
5012 * reload1.c: Include stdlib.h.
5013
5014 * rtl.h: Correct typo in prototype of offsettable_memref_p.
5015
5016 * stmt.c (add_case_node): Add parentheses around assignment used
5017 as truth value.
5018 (case_tree2list): Likewise.
5019
5020 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
5021 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
5022 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
5023 (merge_attributes): Add explicit braces to avoid ambiguous
5024 `else'.
5025
5026 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
5027 macro HAVE_cc0.
5028
5029 * varasm.c: Include stdlib.h.
5030
5031
5032 * system.h: Remove sys/stat.h.
5033 * gcc.c: Add sys/stat.h.
5034
5035 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
5036 * genattrtab.c: Likewise.
5037 * genconfig.c: Likewise.
5038 * genemit.c: Likewise.
5039 * genextract.c: Likewise.
5040 * genflags.c: Likewise.
5041 * genopinit.c: Likewise.
5042 * genoutput.c: Likewise.
5043 * genpeep.c: Likewise.
5044 * genrecog.c: Likewise.
5045 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
5046
5047 Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5048
5049 * invoke.texi: Use @itemx for a secondary item in a @table.
5050
5051 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
5052 zero.
5053
5054 Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
5055
5056 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
5057
5058 Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
5059
5060 * i386.c (struct machine_function): Add new fields for PIC stuff.
5061 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
5062 and pic_label_name.
5063 (restore_386_machine_status): Corresponding changes.
5064 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
5065
5066 Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
5067
5068 * c-parse.y (undeclared variable error): Tweak error message
5069 to be clearer.
5070
5071 Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
5072
5073 * flags.h (g_switch_value, g_switch_set): Declare.
5074 * alpha.c (override_options): Set g_switch_value=8 if not set.
5075 * alpha/elf.h (CC1_SPEC): New.
5076 (ASM_SPEC): New.
5077 (LINK_SPEC): Pass along the -G value we were given.
5078 (LOCAL_ASM_OP): Remove.
5079 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
5080 (MAX_OFILE_ALIGNMENT): New.
5081 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
5082 (EXTRA_SECTIONS): Add sbss and sdata.
5083 (SECTION_FUNCTION_TEMPLATE): New.
5084 (EXTRA_SECTION_FUNCTIONS): Use it.
5085 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
5086 (SELECT_SECTION): Use sdata when small enough.
5087 * alpha/linux.h (ASM_SPEC): Remove.
5088
5089
5090 Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5091 * config.sub (sco5): Fix typo.
5092
5093 Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
5094
5095 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
5096 set to empty.
5097 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
5098 * config/alpha/t-linux: Remove file.
5099 * config/sparc/t-linux: Remove file.
5100 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
5101 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
5102 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
5103 for tmake_file.
5104 (alpha*-*-linux-gnu*): Likewise.
5105 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
5106 (sparc-*-linux-gnu*): Likewise.
5107
5108 Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
5109 * collect2.c (ldd_file_name): Bracket declaration with same
5110 manifests as use.
5111 (full_real_ld_suffix): Deleted. Variable was calloced and
5112 written into, but never read.
5113
5114 1998-02-23 Mike Stump <mrs@wrs.com>
5115
5116 * configure.in: Add support for i386-wrs-vxworks configuration.
5117 * i386/vxi386.h: New file.
5118
5119 Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5120
5121 * tree.c (contains_placeholder_p): Ensure function always returns
5122 a value.
5123 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
5124 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
5125
5126 Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
5127
5128 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
5129
5130 1998-02-22 Paul Eggert <eggert@twinsun.com>
5131
5132 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
5133 Define this new symbol.
5134 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
5135 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
5136 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
5137
5138 Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
5139
5140 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
5141 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
5142
5143 Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
5144
5145 * objc/Object.m (-error): Call objc_verror with our va_list.
5146
5147 Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5148
5149 * collect2.c (scan_prog_file): Completely cover uses of variable
5150 `exports' with macro COLLECT_EXPORT_LIST.
5151
5152 Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
5153
5154 * version.c: Bump for snapshot.
5155
5156 Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
5157
5158 * sched.c (schedule_block): Remove code to get arguments from hard
5159 regs into pseudos early. Same as Aug 25, 1997 change to
5160 haifa-sched.c.
5161
5162 1998-02-20 Jason Merrill <jason@yorick.cygnus.com>
5163
5164 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
5165
5166 1998-02-16 Mark Mitchell <mmitchell@usa.net>
5167
5168 * toplev.c (rest_of_compilation): Do not defer the output of a
5169 nested function.
5170
5171 Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
5172
5173 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
5174 continuation character (line 243).
5175
5176 Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5177
5178 * genrecog.c (main): Remove duplicated sentence in emitted comment.
5179
5180 Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
5181 David Edelsohn <edelsohn@mhpcc.edu>
5182
5183 * collect2.c (XCOFF_SCAN_LIBS): Remove.
5184 (export_flag): New variable.
5185 (export_file): #ifdef COLLECT_EXPORT_LIST.
5186 (import_file, exports, imports, undefined): New variables.
5187 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
5188 (dump_list, dump_prefix_list, is_in_list): New functions.
5189 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
5190 (write_import_file, resolve_lib_name): New functions.
5191 (use_import_list, ignore_library): Same.
5192 (collect_exit): maybe_unlink import_file and #ifdef.
5193 (handler): Same.
5194 (main): New variable importf, #ifdef exportf. Move parsing of
5195 -shared before general argument parsing. Resolve AIX library
5196 paths and import libgcc.a symbols. Treat .so shared libraries the
5197 same as objects and .a libraries. Create alias for object_lst and
5198 increment it instead of original pointer. Scan AIX libraries as
5199 objects earlier instead of using scan_libraries. Perform AIX
5200 tlink later to resolve templates instead of forking ld.
5201 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
5202 (GCC_UNDEF_SYMBOL): New macro.
5203 (scan_prog_file): Loop for members of AIX libraries. Handle
5204 export/import of ctors/dtors.
5205 (aix_std_libs): New variable.
5206 (scan_libraries, XCOFF): Delete.
5207
5208 Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
5209
5210 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
5211
5212 1998-02-19 Mike Stump <mrs@wrs.com>
5213
5214 * Makefile.in: Use $tooldir for sys-include to match toplevel
5215 configure.
5216
5217 Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
5218 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5219
5220 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
5221
5222 * emit-rtl.c (hard-reg-set.h): Include.
5223 (get_lowpart_common): Don't make new REG for hard reg in a
5224 class that cannot change size.
5225 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
5226
5227 * combine.c: Revert previous patch.
5228
5229 1998-02-19 Paul Eggert <eggert@twinsun.com>
5230
5231 * config/sparc/sol2-sld.h: New file.
5232 * configure.in (sparc-*-solaris2*): Use it when using the
5233 system linker.
5234
5235 Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
5236
5237 * loop.c (force_movables): Fix typo.
5238
5239 Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
5240
5241 * m88k.h: Change file pattern to match reality.
5242
5243 Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
5244
5245 * varasm.c (output_constant_pool): Fix dumb thinko in last
5246 change.
5247
5248 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
5249 a function name to a section name.
5250
5251 1998-02-18 Doug Evans <devans@cygnus.com>
5252
5253 * tree.h (merge_machine_{type,decl}_attributes): Declare.
5254 (split_specs_attrs, strip_attrs): Add prototypes.
5255 * tree.c (merge_machine_{type,decl}_attributes): New functions.
5256 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
5257 Update olddecl's attributes too.
5258 * c-common.c (strip_attrs): New function.
5259 * c-typeck.c (common_type): Call merge_machine_type_attributes.
5260 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
5261 (make_decl_rtl): Likewise.
5262
5263 1998-02-18 Jim Wilson <wilson@cygnus.com>
5264
5265 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
5266
5267 Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
5268
5269 Remove this change until we can fix it correctly.
5270 * collect2.c: Bracket declaration of 'exportf' and
5271 'full_real_ld_suffix'.
5272
5273 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
5274
5275 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
5276
5277 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
5278
5279 * c-common.c (c_expand_start_cond, c_expand_end_cond,
5280 c_expand_start_else): Don't warn about non-ambiguous else even if
5281 braces are missing.
5282
5283 Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
5284
5285 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5286 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
5287 instead.
5288
5289 Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
5290
5291 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
5292 simplifying a subreg of a hard reg.
5293 (expand_compound_operation): Likewise.
5294 (force_to_mode): Likewise.
5295
5296 Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5297
5298 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
5299 (lshift_double): Add parentheses around + or - inside shift.
5300 (rshift_double): Likewise.
5301 (size_int_wide): Explicitly set type of `bit_p' to `int'.
5302
5303 * Makefile.in (fold-const.o): Depend on system.h.
5304
5305 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
5306 change to gcc.c.
5307
5308 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
5309 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
5310 (sched_note_set): Remove unused parameter `b', all callers changed.
5311 (schedule_block): Likewise for `rgn'.
5312 (split_hard_reg_notes): Likewise for `orig_insn'.
5313 (check_live): Likewise for `trg'.
5314 (update_live): Likewise.
5315 (check_live_1): Explcitly declare variable `i' as int.
5316 (update_live_1): Likewise.
5317 (insn_issue_delay): Remove unused variable `link'.
5318 (sched_analyze_2): Add default case in enumeration switch.
5319 (schedule_insns): Remove unused variable `i'.
5320
5321 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
5322
5323 Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
5324
5325 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
5326 a dangling else clause.
5327
5328 Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
5329
5330 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
5331 pointer for the stack pointer in MIPS16 and 64BIT.
5332
5333 Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5334
5335 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
5336 * emit-rtl.c (force_line_numbers, restore_line_number_status):
5337 New functions.
5338 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
5339 (expand_start_case): Adjust to this change.
5340 (check_seenlabel): New function.
5341 (pushcase, pushcase_range, expand_endcase): Use it.
5342
5343 Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5344
5345 * i386.md (adddi3): Add =!r,0,0,X alternative.
5346
5347 Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
5348
5349 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
5350 * x-aix31 (INSTALL): Delete.
5351
5352 Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
5353
5354 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
5355 tsize changes to something other than zero.
5356
5357 Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
5358
5359 * ginclude/va-mips.h: Replace casts of pointers to int with
5360 casts of pointers to __PTRDIFF_TYPE__.
5361
5362 Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
5363
5364 * loop.c (strength_reduce, record_biv, record_giv): Use
5365 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
5366
5367 1998-02-16 Jason Merrill <jason@yorick.cygnus.com>
5368
5369 * tree.c (first_rtl_op): New fn.
5370 (unsave_expr_now): Use it.
5371 * print-tree.c (print_node): Likewise.
5372 * tree.c (has_cleanups): New fn.
5373 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
5374 conservative about pushing the cleanup point down.
5375 * tree.h: Declare them.
5376
5377 Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
5378
5379 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
5380 (flag_schedule_reverse_after_reload): Likewise.
5381 (f_options): Remove reverse scheduling support.
5382 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
5383 (flag_schedule_reverse_after_reload): Likewise.
5384 * haifa-sched.c (rank_for_schedule): Remove support for reverse
5385 scheduling.
5386
5387 Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5388
5389 * gcc.c: Get system includes, prototypes and macros via "system.h"
5390 instead of doing it manually. Change all calls of the ctype
5391 macros to custom versions defined in "system.h".
5392
5393 * system.h: Fix return type of bcmp prototype from `void' to `int'.
5394 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
5395 Add a prototype for getenv.
5396
5397 Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
5398
5399 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
5400
5401 Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
5402
5403 * alias.c: Include <stdlib.h> and <string.h>.
5404 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
5405
5406 Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
5407
5408 * version.c: Bump for snapshot.
5409
5410 Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
5411
5412 * arm.md (movsfcc): Also validate operands[3] when compiling hard
5413 float.
5414 (movdfcc): Only accept fpu_add_operand for operands[3].
5415
5416 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
5417 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
5418
5419 Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
5420
5421 * varasm.c (output_constant_pool): Bring back 'done' label inside
5422 an appropriate #ifdef.
5423
5424 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
5425 appropriate #ifdef.
5426 (bitmap_copy, bitmap_operation): Likewise.
5427 * combine.c (combinable_i3pat): Similarly for 'src'.
5428 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
5429 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
5430 * regclass.c (copy_cost): Similarly for 'secondary_class'.
5431 * reload.c (make_memloc): Simliarly for 'i'.
5432 (find_reloads_address_1): Similarly for 'link'.
5433 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
5434 (emit_reload_insns): Similarly for 'second_reloadreg'.
5435 * unroll.c (iteration_info): Similarly for 'v'.
5436
5437 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
5438 * calls.c (expand_call): Similarly for 'i'.
5439 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
5440 * fold-const.c (strip_compund_expr): Similarly for 'type'.
5441 * function.c (fixup_var_refs_1): Similarly for 'width'.
5442 (fixup_memory_subreg): Similarly for 'saved'.
5443 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
5444 (setjmp_protect): Similarly for 'sub'.
5445 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
5446 * loop.c (record_giv): Similarly for 'p'.
5447 (combine_givs): Similarly for 'temp_iv'.
5448 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
5449 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
5450 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
5451 * unroll.c (unroll_loop): Similarly for 'copy'.
5452 (iteration_info): Similarly for 'b'.
5453 * varasm.c (assemble_string): Similarly for 'i'.
5454 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
5455
5456 1998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
5457
5458 * c-lang.c (lang_print_xnode): New function.
5459 * objc/objc-act.c (lang_print_xnode): Likewise.
5460 * print-tree.c (print_node): Call it
5461
5462 Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
5463
5464 * dwarf2out.c (decl_scope_node): New type.
5465 (decl_scope_table): Change type to use it.
5466 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
5467 (push_decl_scope): Use new type. New locals containing_scope, i.
5468 Add code to handle setting previous field.
5469 (scope_die_for): Change type of local i to int. Add code to use
5470 previous field.
5471 (dwarf2out_init): Use new type.
5472
5473 1998-02-13 Jason Merrill <jason@yorick.cygnus.com>
5474
5475 * except.c (emit_throw): Lose throw_used.
5476
5477 Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5478
5479 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
5480 was deleted.
5481 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
5482
5483 Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
5484
5485 * genextract.c (main): Fix typo.
5486
5487 Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
5488
5489 * c-lang.c (finish_file): Bracket declaration of static_ctors,
5490 static_dtors.
5491
5492 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
5493 'old_stack_arg_under_construction'
5494 (emit_library_call): Bracket declaration of 'upper_bound',
5495 'lower_bound', 'i', 'reg_parm_stack_space'
5496 (emit_library_call_value): Likewise.
5497 (store_one_arg):
5498
5499 * collect2.c: include <unistd.h> when appropriate.
5500 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
5501
5502 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
5503
5504 * explow.c (plus_constant_for_output_wide): Remove unused variable
5505 'code'.
5506 (memory_address): Remove unused variable 'orig_x'.
5507
5508 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
5509 (write_const_num_delay_slots): Remove unused variable 'i'.
5510
5511 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
5512 (gen_insn): Remove unused variable 'obstack_ptr'.
5513
5514 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
5515 'j', 'tmp', 'i'.
5516 (__bb_exit_trace_func): Remove unused variable 'e'.
5517
5518 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
5519 'funexp'.
5520 (expand_unop): Remove unused variable 'funexp'.
5521 (expand_complex_abs): Remove unused variable 'funexp'.
5522 (init_optabs): Bracket declaration of 'j'.
5523 (init_complex_libfuncs): Deleted. Dead static function.
5524
5525 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
5526
5527 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
5528 (reg_to_stack): 'initialized', 'before_function_beg'
5529 explictly type as ints instead of defaulting.
5530 (emit_swap_insn): Remove unused variable 'i2'.
5531 (compare_for_stack_reg): Remove unused variable 'src_note'.
5532
5533 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
5534
5535 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
5536
5537 * stmt.c (add_case_node): Add parens for assignment used as truth.
5538 (all_cases_count): Remove unused variable 'count_high'.
5539 (mark_seen_cases): Remove unused variable 'i'.
5540 (check_for_full_enumeration_handling): Remove unused variable 't'.
5541 Bracket declaration of 'all_values', 'l'.
5542
5543 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
5544
5545 * varasm.c (assemble_string): Remove unused variable 'i'.
5546 (immed_double_const): Remove unused variable 'in_current_obstack'.
5547 (immed_real_const_1): Likewise.
5548 (output_constant_pool): Remove unreferenced label 'done'.
5549 (output_constant): Remove unused variable 'x'.
5550
5551 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
5552 a string.
5553
5554 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
5555 as truth.
5556
5557 Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5558
5559 * combine.c (can_combine_p): Handle USEs in PARALLELs.
5560
5561 Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
5562
5563 * config/linux.h (LIB_SPEC): Add -lc for -shared if
5564 USE_GNULIBC_1 is not defined.
5565 * config/sparc/linux.h; Ditto.
5566
5567 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
5568
5569 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
5570 USE_GNULIBC_1 is not defined.
5571
5572 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5573
5574 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
5575 for -mcall-linux
5576
5577 Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5578
5579 * system.h: New file to get common systems includes and various
5580 definitions and declarations based on autoconf macros.
5581
5582 Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
5583
5584 * cccp.c (new_include_prefix): Correctly handle -I./.
5585
5586 Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
5587
5588 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
5589
5590 Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
5591
5592 * expr.c (expand_assignment): Correct typo exposed by -Wall.
5593 offset should have been a truth value, not an assignment.
5594
5595 Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
5596
5597 * cse.c (delete_dead_from_cse): If a libcall produces a constant
5598 result and that result can be substituted into SET_SRC of the
5599 insn with the REG_RETVAL note, then perform the substitution
5600 and delete the libcall.
5601
5602 Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
5603
5604 * mips.md (trucndihi2,truncdiqi2): Change these to support
5605 mips16.
5606
5607 Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
5608
5609 * mips/mips.c (movdi_operand): Direct referances to symbols
5610 that arn't mips16 consts in mips16 mode arn't valid operands.
5611
5612 * mips/mips.c (mips_move_2words): Add gprel handling.
5613
5614 Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
5615
5616 * mips.md (extendsidi2): Allow extension to/from a non-mips16
5617 register.
5618
5619 Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
5620
5621 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
5622 <strings.h>.
5623
5624 Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5625
5626 * Makefile.in (WARN_CFLAGS): New variable.
5627 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
5628
5629 1998-02-11 Mark Mitchell <mmitchell@usa.net>
5630
5631 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
5632 falling through default case in switch.
5633 (i386_aligned_p): Likewise.
5634
5635 Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
5636
5637 * mips/mips.h (mips_abi_string): Correct typo in comment.
5638
5639 Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
5640
5641 * mips/mips.md (movdi): These PLUS's need to be Pmode.
5642
5643 Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5644
5645 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
5646 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
5647 indirectly via expr.h.
5648
5649 Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
5650
5651 * stor-layout.c (layout_type): Do upper - lower in the native type,
5652 so as to properly handle negative indices.
5653
5654 Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
5655
5656 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
5657 (expand_eh_region_start_tree): Remove unused variable 'note'.
5658 (exception_optimize): Remove unused variable 'regions'.
5659 (expand_builtin_eh_stub): Remove unused variable 'temp'.
5660 (copy_eh_entry): Deleted. Dead function.
5661
5662 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
5663 'last' with same #if HAVE_load_multiple as use of it.
5664 (move_block_from_reg): Likewise.
5665 (emit_move_insn_1): Remove unused variable 'insns'.
5666 (store_constructor): Bracket declaration of startb, endb with
5667 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
5668 'target', and 'xtarget'.
5669 (expand_builtin_setjmp): Remove unused variables 'op0',
5670 'next_arg_reg', 'old_inhibit_defer_pop'.
5671 (expand_builtin): Remove unused variable 'offset'.
5672 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
5673 (emit_queue): Add parens for assignment used as conditional.
5674 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
5675
5676 Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
5677
5678 * i386.c: Added include for recog.h.
5679 (override_options): Removed unused variable p. Initialized regno to
5680 avoid warning.
5681 (order_regs_for_local_alloc): Initialized regno to avoid warning.
5682 (legitimize_address): Likewise for 'other'.
5683 (i386_aligned_reg_p): Added default case with abort ().
5684 (print_operand): Likewise.
5685 (reg_mentioned_in_mem): Likewise.
5686 (ix86_expand_binary_operator): Removed unused variables i & insn.
5687 (ix86_expand_unary_operator): Removed unused variable insn.
5688 (output_fp_cc0_set): Removed unused variable unordered_label.
5689
5690 Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
5691
5692 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
5693 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
5694 and format string match.
5695
5696 Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
5697
5698 * flow.c (life_analysis): Do not conside the stack pointer live at
5699 the end of a function if the fucntio ncalls alloca.
5700 (mark_used_regs): Similarly.
5701
5702 1998-02-10 John F Carr <jfc@mit.edu>
5703
5704 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
5705 1, fzero on alternative 8.
5706
5707 Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5708
5709 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
5710
5711 Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5712
5713 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
5714 SUBREGs of CONST_INTs.
5715
5716 Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
5717
5718 * mips.c (print_operand, function_prologue): Make printf format
5719 match argument type.
5720
5721 Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5722
5723 * alpha.c (alpha_return_addr): Remove unused variable `first'.
5724 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
5725 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
5726
5727 Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5728
5729 * loop.c (strength_reduce): When placing increment for auto-inc
5730 case, do comparison in loop order.
5731
5732 Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
5733
5734 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
5735 not a HOST_WIDE_INT.
5736
5737 * calls.c (expand_call): Change test of expand_inline_function
5738 return value to stop compiler warning.
5739
5740 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
5741
5742 Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
5743 Jeff Law (law@cygnus.com)
5744
5745 * regmove.c: Fix various minor formatting problems.
5746 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
5747 is true. Make end of basic block tests consistent through regmove.c.
5748 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
5749 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
5750
5751 Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5752
5753 * gansidecl.h: Check for a conflicting macro definition before
5754 attempting to prototype bcopy, bcmp or bzero.
5755
5756 Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
5757
5758 * expr.c (clear_pending_stack_adjust): Handle case where a function
5759 calls alloca, but the user has specified -fomit-fframe-pointer.
5760
5761 * function.c (assign_parms): Fix typo in last change.
5762
5763 Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
5764
5765 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
5766 <fcntl.h>.
5767 (free_path_suffix): Remove unreferenced static function.
5768 (process_command): Remove unused variable temp.
5769 (default_arg): Remove unused variable i.
5770 (do_spec_1): Add parens for assignment used as truth value.
5771 (main): Likewise.
5772 (validate_all_switches): Likewise.
5773 (main): Remove unused variables i, first_time>
5774
5775 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
5776
5777 * calls.c (expand_call): Remove unused variables funtree,
5778 n_regs, and tmpmode.
5779
5780 * dbxout.c, except.c: Include <string.h>/<strings.h>.
5781
5782 * explow.c: (plus_constant_for_output_wide) Removed unused
5783 variable all_constant.
5784
5785 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
5786 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
5787 genrecog.c, global.c, integrate.c , stupid.c : Include
5788 <stdlib.h>.
5789
5790 * genextract.c: (walk_rtx) Remove unused variable link.
5791
5792 * genrecog.c: (concat) Remove unreferenced static function.
5793
5794 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
5795
5796 * stmt.c: Include <stdlib.h>.
5797 (expand_asm_operands): Remove unused variable val1.
5798 (expand_return): Remove unused variable block.
5799 (pushcase): Remove unused variables l and n.
5800 (pushcaserange): Likewise.
5801
5802 * unroll.c (unroll_loop): Remove unused variable temp.
5803
5804 Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
5805
5806 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
5807
5808 Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5809
5810 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
5811 functions for whether they support the %p format specifier.
5812 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
5813 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
5814 * configure, config.in: Rebuild.
5815
5816 Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
5817
5818 * function.c (assign_parms): New variable named_arg, with value
5819 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
5820
5821 Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
5822
5823 * mips/t-r3900: New - same as t-ecoff but eliminate
5824 multilibs: mips1 and mips3.
5825 * configure.in (tx39*): Use new mips/t-r3900.
5826 * configure: Rebuild.
5827 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
5828
5829 1998-02-06 Jason Merrill <jason@yorick.cygnus.com>
5830
5831 * dwarf2out.c: Add old_args_size.
5832 (dwarf2out_args_size): Use it.
5833 (dwarf2out_begin_prologue): Initialize it.
5834 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
5835 pushed args until we see a call.
5836 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
5837 before outputting them.
5838
5839 1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
5840
5841 * cplus-dem.c (demangle_template_template_parm): New function.
5842 (demangle_template): Handle template template parameters.
5843
5844 1998-02-02 Mark Mitchell <mmitchell@usa.net>
5845
5846 * calls.c (expand_call): Don't confuse member functions named
5847 realloc, setjmp, and so forth with the standard library
5848 functions of the same names.
5849
5850 Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
5851
5852 * stmt.c (expand_asm_operands): Correctly identify asm statements
5853 no output operands.
5854
5855 Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
5856
5857 * c-common.c (decl_attributes): Flag unrecognized attribute
5858 functions as warnings instead of as errors.
5859
5860 1998-02-05 Marc Lehmann <pcg@goof.com>
5861
5862 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
5863 when -Os is specified.
5864 * toplev.c (main): Don't disable flag_inline_functions anymore when
5865 -Os is in effect.
5866
5867 Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5868
5869 * regmove.c: Update.
5870 * flags.h (flag_regmove): Declare.
5871 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
5872 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
5873 Moved into regmove; changed caller.
5874 * toplev.c (rest_of_compilation): Call regmove_optimize also for
5875 expensive_optimizations.
5876
5877 Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
5878
5879 * version.c: Bump for snapshot.
5880
5881 Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5882 Undo this change (the problem was actually in reload):
5883 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5884
5885 * sh.md (movqi_i+1): New peephole.
5886
5887 Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
5888
5889 * jump.c (jump_optimize): Lose calls to modified_in_p they are
5890 not needed anymore due to changes elsewhere in jump.c.
5891
5892 * jump.c (jump_optimize): Fix first arg to modified_in_p in
5893 previous change.
5894
5895 Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
5896
5897 * expr.c (expand_builtin_setjmp): Accept two new arguments for
5898 the labels to branch to on first and subsequent executions. Don't
5899 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
5900 and provide it with the jmp_buf. Use only one of
5901 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
5902 and provide the former with the target label.
5903 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
5904 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
5905 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
5906 insn to replace all of the normal nonlocal_goto code. Don't play
5907 with __dummy. Correct arguments to nonlocal_goto.
5908 * expr.h (expand_builtin_setjmp): Update prototype.
5909 * except.c (start_dynamic_handler): When using builtin_setjmp,
5910 generate more accurate flow information.
5911
5912 * alpha.md (nonlocal_goto_receiver_osf): Delete.
5913 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
5914 (builtin_longjmp, builtin_setjmp_receiver): New.
5915 * sparc.md (update_return): Disambiguate unspec number.
5916 (nonlocal_goto): Rearrange arguments to match caller in except.c.
5917 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
5918 jmp_buf operand.
5919 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
5920 (builtin_setjmp_setup*, builtin_longjmp): New.
5921
5922 Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
5923
5924 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
5925
5926 Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
5927
5928 * vmsconfig.com: Remove bytecode references.
5929
5930 1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5931
5932 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
5933 -fno-sjlj-exceptions works for a target that defines
5934 DWARF2_UNWIND_INFO as zero.
5935
5936 * regmove.c (fixup_match_1): Undo last change which removed some
5937 "useless" code, and add a comment explaining this.
5938
5939 Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
5940
5941 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
5942 to TARGET_LONG64.
5943
5944 Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
5945
5946 * makefile.vms: Remove bytecode references.
5947 Create genrtl files.
5948
5949 Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
5950
5951 * jump.c (jump_optimize): Allow conditional loading of floating point
5952 constants and constants from memory. Reinstalled modified_in_p tests.
5953
5954 Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5955
5956 * loop.c (get_condition): Handle sign-extended constants.
5957
5958 Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
5959
5960 * expr.c (emit_push_insn): Add code to use movstrti if present.
5961
5962 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
5963 and movstrqi as in emit_block_move ().
5964
5965 Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
5966
5967 * config/m68k/x-next: Remove /NextDeveloper/Headers from
5968 the directories to fixinclude - /usr/include is a link
5969 to it and hence its contents are fixed by default.
5970
5971 Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5972
5973 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
5974
5975 Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
5976
5977 * cccp.c (main): Predefine __VMS_VER on VMS.
5978
5979 Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5980
5981 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
5982 * fold-const.c (size_int): Replace with
5983 (size_int_wide).
5984 (make_bit_field_ref): Use bitsize_int for bit position.
5985 * stor-layout.c (sizetype): Delete.
5986 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
5987 (layout_record, layout_union, layout_type):
5988 Use bitsize_int for bit size.
5989 (set_sizetype): New function.
5990 (make_signed_type, make_unsigned_type): Use it.
5991 * c-decl.c (init_decl_processing): Likewise.
5992 * tree.h (size_int): Don't delcare, #define.
5993 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
5994 (set_sizetype): Declare.
5995 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
5996 Define.
5997 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
5998 Convert result to sizetype.
5999 (really_start_incremental_init, push_init_level):
6000 Set type of constructor_bit_index to sbitsizetype.
6001 (push_init_level): Use unsigned arithmetic to determine padding.
6002 (output_init_element): Likewise.
6003
6004 Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
6005
6006 * combine.c (simplify_shift_const): Fix typo in last change.
6007
6008 Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
6009
6010 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
6011 is (truncate (lshiftrt)).
6012
6013 Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
6014
6015 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
6016 Make sure result winds up in TGT.
6017 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
6018 src to be other than DImode.
6019 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
6020 (alpha_expand_unaligned_store_words): Likewise.
6021 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
6022 that source and destination are separately optimized for alignment.
6023 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
6024
6025 Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
6026
6027 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
6028 with handling of -32768.
6029
6030 Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6031
6032 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
6033 shell variable argument instead of only hard coded functions.
6034 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
6035
6036 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
6037 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
6038 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
6039 declarations for bcopy, bcmp and bzero.
6040
6041 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
6042
6043 * gansidecl.h: If we have bcopy but don't declare it, then do so.
6044 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
6045 bzero, index and rindex if they aren't already present.
6046
6047 Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
6048
6049 * toplev.c (close_dump_file): Wrap function prototype for
6050 argument "func" in PROTO.
6051 (dump_rtl): Likewise.
6052
6053 Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
6054
6055 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
6056 MASK_V8PLUS.
6057 (output_function_epilogue): Omit epilogue if nothing drops through.
6058 (output_move_double): Supress int ldd usage on ultrasparc and v9.
6059 (registers_ok_for_ldd_peep): Likewise.
6060 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
6061 (ultrasparc_adjust_cost): New function.
6062 (sparc_issue_rate): New function.
6063 * sparc.h (MASK_VIS, TARGET_VIS): New
6064 (MASK_V8PLUS, TARGET_V8PLUS): New.
6065 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
6066 (TARGET_SWITCHES): Add vis and v8plus.
6067 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
6068 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
6069 (RTX_COSTS): Use TARGET_HARD_MUL
6070 (ADJUST_COST): Call ultrasparc_adjust_cost.
6071 (ISSUE_RATE): New.
6072 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
6073 of load & fp appropritely.
6074 (supersparc function units): Adjust for Haifa.
6075 (ultrasparc function units): Likewise.
6076 (get_pc_via_rdpc): All v9, not just arch64.
6077 (movdi_v8plus, movdi_v8plus+1): New.
6078 (adddi3_sp32+1): New.
6079 (subdi3_sp32+1): New.
6080 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
6081 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
6082 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
6083 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
6084 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
6085 (ldd peepholes): Suppress for v9.
6086 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
6087 (return_subsi): Revmove.
6088
6089 Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
6090
6091 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
6092 save/restore MEM rtl.
6093
6094 Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
6095
6096 * configure.in: Check for declaration of abort.
6097 * acconfig.h: Corresponding changes.
6098 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
6099 be declared.
6100
6101 Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
6102
6103 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
6104 uses it.
6105
6106 Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
6107
6108 * version.c: Bump for snapshot.
6109
6110 Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
6111
6112 * configure.in: Check for atoq and atoll.
6113 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
6114 proper routine for converting ascii into long long values.
6115
6116 Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
6117
6118 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
6119
6120 * vmsconfig.com: Remove bytecode references.
6121
6122 * alpha/vms.h (PREFIX): Define.
6123
6124 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
6125
6126 * am-alpha.h: Don't include alloca for OPEN_VMS.
6127
6128 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
6129
6130 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
6131 (GCC_INCLUDE_DIR): Define
6132
6133 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
6134 * makefile.vms: New file.
6135
6136 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
6137
6138 * alpha.c (output_prolog): Output '.name' directive
6139 for minimal traceback information.
6140
6141 * alpha.c (output_prolog): Don't prepend entry point symbols
6142 with '$' on OPEN_VMS.
6143
6144 Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
6145 Jeffrey A Law (law@cygnus.com)
6146
6147 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
6148 HOST_WIDE_INT.
6149
6150 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
6151 as needed.
6152 * genemit.c (gen_exp): Likewise.
6153 * genpeep.c (match_rtx): Likewise.
6154 * genrecog.c (write_tree_1): Likewise.
6155
6156 * c-lex.c (yyprint): Use proper format string based upon
6157 disposition of HOST_BITS_PER_WIDE_INT.
6158 (yylex): Put casts in right place for args to build_int_2.
6159
6160 Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
6161
6162 * combine.c: Fix typos in Jan27 changes.
6163
6164 Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
6165
6166 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
6167 (LINK_SPEC): Likewise.
6168 (STARTFILE_SPEC): Likewise.
6169
6170 1998-01-28 Mike Stump <mrs@wrs.com>
6171
6172 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
6173 reload completes.
6174 * genattrtab.c (reload_completed): Define.
6175
6176 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
6177 comments.
6178
6179 Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6180
6181 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
6182 SUBREG_REG if the word count is unchanged, also in the input reload
6183 case. Disable non-applicable sanity checks.
6184
6185 Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
6186
6187 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
6188
6189 Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
6190
6191 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
6192
6193 Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
6194
6195 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
6196 is a TREE_VEC before trying to use it for baseclasses.
6197 (Chill uses the same field for a different purpose.)
6198
6199 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
6200
6201 Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
6202
6203 * config.sub: More accurate determination of HP processor types.
6204
6205 Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6206
6207 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
6208 prototype for `handle_sysv_pragma', and make it static. Add
6209 parentheses around assignment used as truth value.
6210
6211 * combine.c (combine_instructions): Protect variable `prev' with
6212 macro HAVE_cc0.
6213 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
6214 (extract_left_shift): Add parentheses around operand of &.
6215 (merge_outer_ops): Avoid an empty body in an else-statement.
6216 (gen_rtx_combine): Remove unused variable `i'.
6217
6218 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
6219 function monstartup `void'. Likewise for internal_mcount. Add
6220 `static void' prototype for moncontrol. Reconcile sprintf format
6221 vs. args.
6222
6223 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
6224 Make return type of function_arg_slotno explicitly `int'.
6225 (reg_unused_after): Add parentheses around assignment used as
6226 truth value.
6227 (save_regs): Add explicit braces to avoid ambiguous `else'.
6228 (function_arg_slotno): Add parentheses around && within ||.
6229 (function_arg_pass_by_reference): Likewise.
6230 (sparc_flat_output_function_prologue): Reconcile fprintf format
6231 vs. args.
6232
6233 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
6234 assignment used as truth value.
6235
6236 * cplus-dem.c: Include <stdlib.h>.
6237 (demangle_signature): Avoid an empty body in an else-statement.
6238 (do_type): Remove unused variable `lvl'.
6239
6240 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
6241 Include <string.h>/<strings.h>.
6242 (cpp_lex): Remove unused variable `namelen'.
6243 (cpp_lex): Explicitly declare `num_chars' as an int.
6244
6245 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
6246 <unistd.h> instead. Explicitly declare is_system_include
6247 returning int.
6248 (make_assertion): Remove unused variable `kt'.
6249 (cpp_expand_to_buffer): Hide variable `obuf'.
6250 (output_line_command): Remove unused variables, `line_end',
6251 `line_cmd_buf' and `len'.
6252 (macarg): Remove unused variable `arg_start'.
6253 (special_symbol): Remove unused variable `i'. Add parentheses
6254 around assignment used as truth value.
6255 (do_include): Remove unused variables `pcfname' and `retried',
6256 hide `pcf' and `pcfbuflimit'.
6257 (do_line): Remove unused variable `i'.
6258 (finclude): Hide variable `missing_newline'.
6259 (cpp_handle_options): Remove unused variable `j'.
6260 (read_token_list): Remove unused variable `eofp'.
6261 (cpp_error_with_line): Remove unused variable `i'.
6262 (cpp_warning_with_line): Likewise.
6263 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
6264 (cpp_error_from_errno): Remove unused variable `i'.
6265
6266 * cse.c (invalidate): Add parentheses around assignment used as
6267 truth value.
6268 (find_best_addr): Move declaration of variable `our_cost' inside
6269 the conditional macro where its used.
6270 (fold_rtx): Avoid an empty body in an if-statement.
6271 (cse_insn): Wrap variables `this_insn_cc0_mode' and
6272 `this_insn_cc0' in macro HAVE_cc0.
6273
6274 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
6275 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
6276 (output_uleb128): Likewise.
6277 (output_sleb128): Likewise.
6278 (output_cfi): Likewise.
6279 (output_call_frame_info): Remove unused variables `j', `fde_size'
6280 and `fde_pad'.
6281 (comp_unit_has_inlines): Hide declaration as per rest of file.
6282 (size_of_line_prolog): Correct typo in prototype.
6283 (add_arange): Likewise.
6284 (output_aranges): Likewise.
6285 (add_name_and_src_coords_attributes): Likewise.
6286 (gen_array_type_die): Likewise.
6287 (gen_inlined_subroutine_die): Likewise.
6288 (equate_decl_number_to_die): Remove unused variable `i'.
6289 (print_die): Reconcile format vs. args in fprintf's.
6290 (print_dwarf_line_table): Likewise.
6291 (output_die): Likewise.
6292 (output_line_info): Likewise.
6293 (add_subscript_info): Avoid an empty body in an else-statement.
6294 (gen_subprogram_die): Remove unused variable `fp_loc'.
6295
6296 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
6297 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
6298 macro. Protect `src_coords_attribute' prototype with
6299 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
6300 prototype as in the rest of the file. Likewise for
6301 `output_pointer_type_die' and `output_reference_type_die'. Remove
6302 prototype for `type_of_for_scope'.
6303 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
6304 (type_attribute): Add explicit braces to avoid ambiguous `else'.
6305
6306 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
6307 (shorten_branches): Protect declaration of tmp_length with
6308 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
6309 (profile_function): Protect declaration of `sval' and `cxt'
6310 variables with appropriate macros.
6311 (final_scan_insn): Likewise for `note' variable. Add explicit
6312 braces to avoid empty body in an if-statement.
6313 (output_asm_insn): Move variable `i' inside macro conditional
6314 where it is used. Add parentheses around assignment used as truth
6315 value.
6316 (asm_fprintf) Likewise, likewise.
6317
6318 * fix-header.c (main): Remove unused variable `done'. Protect
6319 declaration of `i' with FIXPROTO_IGNORE_LIST.
6320
6321 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
6322
6323 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
6324 `ind'.
6325
6326 * profile.c: Include <string.h>/<strings.h>.
6327 (instrument_arcs): Remove unused variables `note', `inverted',
6328 `zero' and `neg_one'.
6329 (branch_prob): Avoid empty body in an if-statement.
6330
6331 * regclass.c: Include <stdlib.h>.
6332 (reg_alternate_class): Explicitly declare parameter `regno'.
6333
6334 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
6335 parentheses around assignment used as truth value.
6336 (find_matches): Remove unused variables `output_operand' and
6337 `matching_operand'.
6338 (fixup_match_1): Remove statement with no effect: "if (0) ;".
6339
6340 * scan.c (sstring_append): Explicitly declare `count' as int.
6341 (scan_string): Explicitly declare parameter `init' as int.
6342
6343 * sched.c: Include <stdlib.h>.
6344 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
6345 (rank_for_schedule): Add parentheses around assignment used as
6346 truth value.
6347 (schedule_block): Likewise.
6348 (regno_use_in): Likewise.
6349 (schedule_insns): Remove unused variable `i'.
6350
6351 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
6352 (v_message_with_decl): Remove unused variable `n'.
6353 (botch): Explicitly declare parameter `s' as char *.
6354 (main): Add parentheses around assignment used as truth value.
6355
6356 * tree.c (make_node): Protect the variable `kind' with the
6357 GATHER_STATISTICS macro.
6358 (real_value_from_int_cst): Move variable `e' inside conditional
6359 macro area where it is used.
6360 (tree_last): Add parentheses around assignment used as truth value.
6361 (build1): Protect the variable `kind' with the GATHER_STATISTICS
6362 macro.
6363 (print_obstack_statistics): Reconcile format vs. args in fprintf.
6364 Protect variables `i', `total_nodes', and `total_bytes' with the
6365 GATHER_STATISTICS macro.
6366
6367 Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
6368
6369 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
6370 some comments regarding use of dead_or_set_p.
6371
6372 Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
6373
6374 * fixincludes: Tweak fix for struct exception in math.h
6375
6376 Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
6377
6378 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
6379 Change mode of registers used to add/sub from
6380 hard_frame_pointer_rtx from word_mode to Pmode.
6381
6382 Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
6383
6384 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
6385 asm_output_aligned_bss() instead of asm_output_bss().
6386
6387 * toplev.c (rest_of_compilation): Replace references to
6388 stack_reg_dump_file and dbr_sched_dump_file with references to
6389 rtl_dump_file.
6390
6391 Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
6392
6393 * tlink.c (scan_linker_output): Call fclose() for opened files.
6394
6395 Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
6396
6397 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
6398 compiling with -fpic -- we want to be able to override symbols
6399 properly.
6400 (alpha_expand_block_move): Fix thinko in last change.
6401
6402 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
6403 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
6404 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
6405
6406 Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
6407
6408 * alpha.md (abssf, absdf): Revert last change.
6409
6410 Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
6411
6412 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
6413 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
6414
6415 Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
6416
6417 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
6418 a CONST_INT into SFmode.
6419
6420 Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
6421
6422 * flags.h: New flag (optimize_size).
6423 * toplev.c (main): Parse -Os option and set optimize_space
6424 accordingly.
6425 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
6426 __OPTIMIZE_SIZE__ when compiling with -Os.
6427 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
6428 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
6429 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
6430 to macro.
6431 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
6432
6433 Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
6434
6435 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
6436 stuff only if MCT_TEXT is #define'd.
6437
6438 Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
6439
6440 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
6441 configurations.
6442
6443 Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
6444
6445 * toplev.c: Add -dM command line option to dump RTL after the
6446 machine dependent reorganisation pass, if there is one.
6447 Reorganise RTL dump code, so that only one file handle is
6448 needed.
6449
6450 Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
6451
6452 * except.c (check_exception_handler_labels): Disable warning when
6453 flag_syntax_only.
6454
6455 Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
6456
6457 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
6458
6459 Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6460
6461 * c-decl.c (grokdeclarator): Get parameter tags from
6462 last_function_parm_tags.
6463 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
6464 traversing the parameter types.
6465 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
6466
6467 Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
6468
6469 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
6470 the default case.
6471 (get_shift_alg): Fix typo.
6472
6473 Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
6474
6475 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
6476
6477 Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
6478
6479 * toplev.c (get_run_time): Make sure each case gets its variables.
6480
6481 Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
6482
6483 * configure.in (build_xm_file): Add auto-config.h if host=build.
6484 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
6485 (build_xm_file_list): Likewise.
6486 * configure: Rebuild.
6487
6488 Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
6489
6490 * recog.c (validate_replace_rtx_1): Only perform substitutions
6491 of arguments to commutative and comparison operators once.
6492
6493 Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6494
6495 * sparc.c (output_cbranch): Add default case in
6496 enumeration switch.
6497
6498 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
6499 (emit_delay_sequence): Eliminate unused parameter, all callers
6500 changed.
6501 (fill_simple_delay_slots): Likewise.
6502 (fill_slots_from_thread): Likewise.
6503 (fill_eager_delay_slots): Likewise.
6504 (mark_referenced_resources): Add default case in enumeration switch.
6505 (mark_set_resources): Likewise.
6506 (rare_destination): Likewise.
6507 (mostly_true_jump): Likewise.
6508 (find_dead_or_set_registers): Likewise.
6509 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
6510 (update_reg_unused_notes): Remove unused variable `p'.
6511 (mark_target_live_regs): Remove unused variables `next' and
6512 `jump_count'.
6513 (fill_simple_delay_slots): Remove unused variable `j'.
6514 (fill_slots_from_thread): Add parentheses around assignment used
6515 as truth value.
6516 (dbr_schedule): Likewise.
6517
6518 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
6519 (objc.stage2, objc.stage3, objc.stage4): Likewise.
6520
6521 Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
6522
6523 * cse.c (simplify_ternary_operation): Don't try to simplify
6524 IF_THEN_ELSE expressions (created by combine) that don't use
6525 relational operators.
6526
6527 Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
6528
6529 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
6530 simplifications.
6531
6532 * crtstuff.c (init_dummy): Keep the epilogue in the init
6533 section for non-ELF systems.
6534
6535 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6536
6537 * sh.md (movqi_i+1): New peephole.
6538
6539 Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
6540
6541 * Makefile.in: Remove remaining bytecode stuff.
6542 * emit-rtl.c, expr.c: Likewise.
6543
6544 Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
6545
6546 * toplev.c (lang_options): Add unknown-pragma options.
6547
6548 Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
6549
6550 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
6551 special (and incomplete) handling for Chill arrays.
6552
6553 Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
6554
6555 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
6556 to get clock rate.
6557
6558 Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
6559
6560 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
6561
6562 1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
6563
6564 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
6565 .frame directive instead of FRAME_POINTER_REGNUM.
6566
6567 Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
6568
6569 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
6570 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
6571 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
6572 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
6573 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
6574 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
6575 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
6576 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
6577 mcpu32 or m5200.
6578 * longlong.h: Replace __mc68332__ with __mcpu32__.
6579
6580 Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
6581
6582 * version.c: Bump for snapshot.
6583
6584 Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
6585
6586 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
6587 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
6588 * reload1.c (eliminate_regs): Likewise.
6589
6590 Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
6591
6592 * regmove.c (find_matches): Initialize matches->earlyclobber too.
6593
6594 Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
6595
6596 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
6597 (negsf2, negdf2): Use proper subtract in IEEE mode.
6598
6599 Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
6600
6601 * Makefile.in: Remove more bytecode stuff.
6602 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
6603 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
6604 * f/install.texi, objc/Make-lang.in: Likewise.
6605
6606 * Makefile.in: Remove all bytecode support.
6607 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
6608 * emit-rtl.c: Remove all bytecode support.
6609 * expr.c, expr.h function.c, integrate.c: Likewise.
6610 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
6611 * tree.h, varasm.c: Likewise.
6612 * config/m68k/m68k.h: Likewise.
6613 * bi-*, bc-*, bytecode*: Delete bytecode related files.
6614 * modemap.def: Likewise.
6615
6616 Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
6617
6618 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
6619 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
6620
6621 Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
6622
6623 * i386.md (push): Prohibit symbolic constants if flag_pic.
6624 (movsi+1): Likewise for move to non-register.
6625
6626 Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
6627
6628 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
6629 (print_operand): Handle 0xffffffff on 32 bit host.
6630
6631 * configure.in (thread_file): Rename uses before main loop to
6632 target_thread_file. Initialize to empty in main loop. Set thread_file
6633 to target_thread_file after main loop if not set.
6634 * configure: Rebuild.
6635
6636 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
6637 (add_values_to_cover): Revert last change (which had no ChangeLog
6638 entry).
6639 (simplify_with_current_value_aux): Handle CONST_INT.
6640
6641 Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6642
6643 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
6644
6645 Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
6646
6647 * configure.in: Add cpp stringify test.
6648 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
6649 * gengenrtl.c: Use it.
6650 * configure, config.in: Rebuild.
6651
6652 Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6653
6654 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
6655
6656 Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
6657
6658 * configure.in: Find declaration for sbrk.
6659 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
6660 * config.in, configure: Rebuild.
6661 * mips-tfile.c: Properly protect declaration of sbrk and free.
6662 * toplev.c: Properly protect declaration of sbrk.
6663
6664 Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
6665
6666 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
6667
6668 Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
6669
6670 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
6671
6672 Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
6673
6674 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
6675
6676 Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
6677
6678 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
6679 constant offset computations from objects with known alignment in
6680 the presence of STACK_BIAS.
6681
6682 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
6683 necessary.
6684 (const_hash): Hash val is unsigned long.
6685 (SYMHASH): Likewise.
6686
6687 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
6688
6689 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
6690 char pointer, not HOST_WIDE_INT.
6691 (print_node): Likewise. Also hash is unsigned long not
6692 HOST_WIDE_INT.
6693
6694 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
6695
6696 * explow.c (optimize_save_area_alloca): New function for targets
6697 where SETJMP_VIA_SAVE_AREA is true.
6698 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
6699 compute the amount of stack space needed should we find later that
6700 setjmp is never called by this function, stuff rtl for this inside
6701 a REG_NOTE of the final SET of stack_pointer_rtx.
6702 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
6703 current_function_calls_alloca, call optimize_save_area_alloca.
6704
6705 Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
6706
6707 * i386.md: Remove redundant integer push patterns.
6708 Don't bother checking for TARGET_PUSH_MEMORY when
6709 pushing constants or registers.
6710
6711 Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
6712 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
6713
6714 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
6715 (pwait): New function for mingw32.
6716
6717 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
6718 pipe support is broken for now.
6719
6720 1998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
6721
6722 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
6723 between frame_pointer_rtx, hard_frame_pointer_rtx, and
6724 arg_pointer_rtx is respected in initialization.
6725 (init_emit_once): Use gen_rtx_raw_REG() to create
6726 return_address_pointer_rtx.
6727
6728 * reorg.c: #include "expr.h" for rtx prototypes.
6729 * Makefile.in (reorg.o): Depend on expr.h
6730
6731 Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
6732
6733 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
6734 local_prefix to sub-make invocations.
6735
6736 Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
6737
6738 * objc-parse.c: Recognize protocol qualifiers in class definitions.
6739
6740 Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
6741
6742 * rtl.h: Fix typos.
6743
6744 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6745 * configure.in: Check for atol.
6746 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
6747
6748 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
6749
6750 * loop.c (find_and_verify_loops): When attempting to move insns from
6751 inside the loop outside the loop, create a BARRIER if no suitable
6752 one was found.
6753
6754 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
6755 favor of an equivalent change from gcc-2.8.
6756
6757 * i386/x-sco5 (CC): Remove trailing whitespace.
6758
6759 Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6760
6761 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
6762 (accessor_from_format): Likewise.
6763 (xmalloc): New function for use when linking with alloca.o.
6764
6765 Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6766
6767 * frame.c (find_fde): Correct FDE's upper bound.
6768
6769 Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
6770
6771 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
6772
6773 Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
6774
6775 * calls.c (expand_call): Move #ifdef code out of macro argument
6776 lists.
6777 (emit_library_call, emit_library_call_value): Likewise.
6778
6779 Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
6780
6781 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
6782
6783 Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
6784
6785 * version.c: Bump for snapshot.
6786
6787 Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
6788
6789 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
6790 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
6791 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
6792 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
6793 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
6794 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
6795 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
6796 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
6797 * unroll.c, varasm.c: Likewise.
6798 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
6799
6800 Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
6801
6802 * mips.h: Fix some type-o's from a previous change.
6803
6804 Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
6805
6806 * loop.c (check_dbra_loop): Make sure initial value is a
6807 CONST_INT before trying to normalize it.
6808
6809 Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
6810
6811 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
6812
6813 Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
6814
6815 * cppexp.c: Include gansidecl.h
6816
6817 Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
6818
6819 * svr4.h (LINK_SPEC): Never specify -h.
6820 * ptx4.h (LINK_SPEC): Likewise.
6821 * rs6000/sysv4.h (LINK_SPEC): Likewise.
6822 * sparc/sol2.h (LINK_SPEC): Likewise.
6823
6824 Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
6825
6826 * c-typeck.c (comptypes): Exit early on NULL input.
6827
6828 * haifa-sched.c (schedule_insns): Correctly remove inter-block
6829 dependencies after reload.
6830
6831 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6832
6833 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
6834
6835 Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
6836
6837 * alpha/vms.h (DIR_SEPARATOR): define
6838
6839 Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6840
6841 * Makefile.in (stamp-proto): Remove.
6842 (protoize.o, unprotoize.o): Straightforward compile.
6843 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
6844
6845 Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
6846
6847 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
6848 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
6849
6850 Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
6851
6852 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
6853 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
6854 * sparc/netbsd.h, vax/netbsd.h: Likewise.
6855
6856 Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
6857
6858 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
6859
6860 Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
6861
6862 * configure.in (target_cpu_default, target_cpu_default2): Use double
6863 quotes around them when testing their value.
6864 * configure: Rebuilt.
6865
6866 Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
6867
6868 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
6869 to allocate rtx.
6870 (gendef): Call obstack_alloc_rtx.
6871
6872 Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
6873
6874 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
6875 for now.
6876
6877 Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
6878
6879 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
6880 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
6881 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
6882
6883 Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
6884
6885 * mips.md (return_internal): Change mode from SImode to VOIDmode.
6886
6887 Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
6888
6889 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
6890 "-static".
6891
6892 Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
6893
6894 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
6895 suffix from operand 3.
6896
6897 Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6898 Jeffrey A Law (law@cygnus.com)
6899
6900 * regmove.c: New implementation of regmove pass.
6901 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
6902 decls, make them have external linkage. Return a value from
6903 optimize_reg_copy_1.
6904 * reload.h (count_occurrences): Add decl.
6905 * reload1.c (count_occurrences): Delete decl, make it have external
6906 linkage.
6907 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
6908
6909 Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
6910
6911 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
6912 if it is not defined.
6913
6914 Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
6915
6916 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
6917 * emit-rtl.c (gen_rtx): Move special code to ...
6918 (gen_rtx_CONST_INT): New function.
6919 (gen_rtx_REG): New function.
6920 (*): Update all calls to gen_rtx.
6921 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
6922 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
6923 (GEN_INT): Call gen_rtx_CONST_INT.
6924 * gengenrtl.c: New file.
6925
6926 Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
6927
6928 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
6929 (base_alias_check): If no base found for address call canon_rtx and
6930 try again.
6931
6932 Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
6933
6934 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
6935 arguments for mips16.
6936 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
6937 Don't lose if tsize is zero after handling large stack for mips16.
6938 * mips.md (return): For trivial return, return address is in $31.
6939
6940 Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
6941
6942 * mips/mips16.S: Various changes to make it work with -msingle-float
6943 and -EL.
6944
6945 Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
6946 Ian Lance Taylor <ian@cygnus.com>
6947 Jeff Law <law@cygnus.com>
6948
6949 * mips.c, mips.h, mips.md: First cut at merging in mips16
6950 support. Major modifications throughout all three files.
6951
6952 Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
6953
6954 * configure.in: Make gthr-default.h a forwarding header instead of
6955 a symlink.
6956
6957 Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6958
6959 * gcov-io.h: Include sys/types.h to ensure we get size_t.
6960
6961 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
6962
6963 Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
6964 Jeffrey A Law (law@cygnus.com)
6965
6966 * crtstuff.c (__frame_dummy): New function for irix6.
6967 (__do_global_ctors): Call __frame_dummy for irix6.
6968 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
6969
6970 Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
6971
6972 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
6973
6974 Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
6975
6976 * c-decl.c (init_decl_processing): Provide proper fallback symbol
6977 for __builtin_memset.
6978 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
6979 not INTEGER_CST. Assert arg 3 is a constant.
6980
6981 * alpha.c (mode_width_operand): Accept 64-bit modes.
6982 (mode_mask_operand): Likewise.
6983 (print_operand): Likewise for 'M' and 'U' codes.
6984 (alpha_expand_unaligned_load): New function.
6985 (alpha_expand_unaligned_store): Likewise.
6986 (alpha_expand_unaligned_load_words): Likewise.
6987 (alpha_expand_unaligned_store_words): Likewise.
6988 (alpha_expand_block_move): Likewise.
6989 (alpha_expand_block_clear): Likewise.
6990 * alpha.h (MOVE_RATIO): New define.
6991 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
6992 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
6993
6994 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
6995 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
6996
6997 Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
6998
6999 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
7000 * configure: Update.
7001
7002 Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
7003
7004 * emit-rtl.c (operand_subword): Correctly handle extracting a word
7005 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
7006
7007 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
7008 for first argument.
7009
7010 Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
7011
7012 * configure.in: Set and subsitute host_exeext. Use it when creating
7013 the assembler and linker symlinks.
7014 * configure: Rebuild.
7015 * Makefile.in (exeext): Set to @host_exeext@.
7016 (build_exeext): New variable, set to @build_exeext@.
7017 (FLAGS_TO_PASS): Pass down build_exeext.
7018 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
7019 programs.
7020
7021 Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
7022
7023 * mn10200.md (addsi3, subsi3): Fix thinkos.
7024
7025 Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
7026
7027 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
7028 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
7029 unix always, since we want to be able to thunk to functions in a
7030 shared library from an application.
7031
7032 Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
7033
7034 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
7035 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
7036
7037 Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
7038
7039 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
7040 offset's mode is not ptr_mode, convert it.
7041
7042 Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
7043
7044 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
7045 compiling if it was already defined.
7046
7047 Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
7048
7049 * flow.c (find_basic_blocks): Don't create a new basic block
7050 for calls in a LIBCALL block.
7051
7052 Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
7053
7054 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
7055
7056 Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
7057
7058 * cse.c (rtx_cost): Remove conflicting default case.
7059
7060 Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
7061
7062 * configure.in: Move default enabling of Haifa out of for loop.
7063 * configure: Rebuild.
7064
7065 Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
7066
7067 * version.c: Bump for snapshot.
7068
7069 1997-12-25 Teemu Torma <tot@trema.com>
7070
7071 * Makefile.in (GTHREAD_FLAGS): New var.
7072 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
7073 (distclean): Remove gthr-default.h.
7074
7075 * configure.in: Accept dce as a thread package.
7076 Check for thread.h and pthread.h.
7077 Link gthr-default.h to appropriate thread file and set
7078 gthread_flags.
7079 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
7080 include multilib definitions from pa/t-dce-thr.
7081 (sparc-*-solaris2*): Enable threads by default, if thread.h or
7082 pthread.h is found, preferring posix threads over solaris ones.
7083
7084 * config/pa/t-dce-thr: New file.
7085 * config/pa/t-pa: Removed multilibs.
7086 * config/sparc/t-sol2: Ditto.
7087
7088 * gthr.h: New file.
7089 * gthr-single.h: New file.
7090 * gthr-posix.h: New file.
7091 * gthr-solaris.h: New file.
7092 * gthr-dce.h: New file.
7093 * libgcc-thr.h: Removed.
7094 * objc/thr-dce.c: New file copied from thr-decosf1.c.
7095
7096 * frame.c: Include gthr.h instead of libgcc-thr.h.
7097 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
7098 (eh_context_initialize): If __gthread_once fails, use static eh
7099 context.
7100 (eh_context_free): Call __gthread_key_dtor.
7101
7102 Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
7103
7104 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
7105
7106 Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
7107
7108 * cse.c (max_insn_uid): New variable.
7109 (cse_around_loop): Use max_insn_uid.
7110 (cse_main): Set max_insn_uid.
7111
7112 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
7113 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
7114 -mlong64, and -mgp{32,64} options.
7115 * mips.c (mips_abi): Change type to int.
7116 * mips.h (enum mips_abi_type): Delete.
7117 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
7118 (mips_abi): Change type to int.
7119
7120 Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
7121
7122 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
7123 optimization is now always enabled.
7124
7125 * calls.c (expand_call): Recognize C++ operator new as malloc-like
7126 function.
7127
7128 * alias.c (memrefs_conflict_p): Eliminate tests now done by
7129 base_alias_check.
7130 (*_dependence): Call canon_rtx before base_alias_check.
7131 (init_alias_once): New function to precompute set of registers which
7132 can hold Pmode function arguments.
7133
7134 * rtl.h: Declare init_alias_once.
7135
7136 * toplev.c (compile_file): Call init_alias_once.
7137
7138 Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
7139
7140 * tree.c (restore_tree_status): Do not dereference a null pointer.
7141
7142 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
7143
7144 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
7145 RLIMIT_STACK. This maintains consistency with the recent, similar
7146 patch to cccp.c and toplev.c.
7147
7148 Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
7149
7150 * genattrtab.c (expand_units): For large nr opclasses, expand
7151 function_units_used with ORX to prevent blowups. Tag with FFS.
7152 (num_unit_opclasses): New variable.
7153 (gen_unit): Update it.
7154 (enum operator): Add ORX_OP.
7155 (operate_exp): Treat ORX as or, except don't expand across an if.
7156 Reuse number rtx's after operating on them.
7157 (check_attr_value): Accept IOR, AND, & FFS.
7158 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
7159 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
7160 (write_expr_attr_cache, write_toplevel_expr): New functions.
7161 (write_attr_get): Handle FFS-tagged expressions.
7162 (make_canonical): Don't expand const attributes.
7163 (convert_const_symbol_ref): Dike out.
7164 (evaluate_eq_attr): Handle SYMBOL_REF.
7165 (main): Don't emit get_attr_foo for const attributes.
7166
7167 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
7168 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
7169 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
7170 * alpha.md: Redo all of the scheduling, adding EV6 support, and
7171 combining function units where possible.
7172 (attr "type"): Split loads, stores, cmov into int/fp. Combine
7173 multiplies and divides. Add EV6 sqrt, ftoi, itof.
7174 (attr "opsize"): New attribute.
7175 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
7176 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
7177 to control register allocation.
7178 (movsi2-1, movdi2-1): Likewise.
7179
7180 Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
7181
7182 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
7183 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
7184 Move OSF/1 specific defines out.
7185 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
7186 Move Linux specific defines out.
7187 (LINK_SPEC): Genericize.
7188 (ASM_FILE_START): Emit .arch if using more than the base insn set.
7189 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
7190 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
7191 (HANDLE_SYSV_PRAGMA): Define.
7192 * alpha/osf.h: New file.
7193 * alpha/linux.h: Split. Retain file-format independant defines.
7194 Import Linux bits from elf.h.
7195 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
7196 (FUNCTION_PROFILER): _mcount takes its address in $28.
7197 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
7198 * alpha/linux-ecoff.h: New file.
7199 * alpha/linux-elf.h: New file.
7200 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
7201 * alpha/win-nt.h (TARGET_DEFAULT): Define.
7202 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
7203 Add new headers as appropriate.
7204
7205 * configure.in (alpha*): Enable Haifa by default.
7206 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
7207 * configure: Rebuild.
7208
7209 Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
7210
7211 * Makefile.in (clean): Remove the stages with their objects here ...
7212 (distclean): ... instead of here.
7213
7214 Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7215
7216 * cse.c (rtx_cost): Add default case in enumeration switch.
7217 * fix-header.c (recognized_macro): Likewise.
7218 (recognized_extern): Likewise.
7219 (write_rbrac): Likewise.
7220 * objc/objc-act.c (encode_aggregate): Likewise.
7221 (gen_declarator): Likewise.
7222 (gen_declspecs): Likewise.
7223
7224 Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
7225
7226 * haifa-sched.c (create_reg_dead_note): Detect and handle another
7227 case where we kill more regs after sched than were killed before
7228 sched.
7229 * sched.c (create_reg_dead_note): Similarly.
7230
7231 Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
7232
7233 * c-pragma.c: Include flags.h.
7234
7235 Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
7236
7237 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
7238 about system headers.
7239 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
7240 and also to resolve symbols in prefix.c.
7241
7242 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
7243 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
7244 when the definitions in auto-config.h is not visible.
7245 (HAVE_BZERO): Likewise.
7246 (HAVE_BCMP): Likewise.
7247 (HAVE_RINDEX): Likewise.
7248 (HAVE_INDEX): Likewise.
7249
7250 Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
7251
7252 * pa.c (emit_move_sequence): Handle a function label source
7253 operand.
7254
7255 Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
7256
7257 * c-pragma.c (handle_pragma_token): Generate warning messages
7258 about unknown pragmas if warn_unknown_pragmas is set.
7259
7260 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
7261 line option to set variable: warn_unknown_pragmas.
7262
7263 Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
7264
7265 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
7266 definition.
7267 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
7268
7269 Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
7270
7271 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
7272 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
7273 generate more fine grained floating point emulation libraries.
7274 * config/fp-bit.c: Add protecting #ifdef to all functions so
7275 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
7276 then compile all suitable functions.
7277 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
7278 underscores to avoid namespace pollution.
7279 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
7280 (FPBIT): Define.
7281 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
7282 (FPBIT): Define.
7283 (DPBIT): Define.
7284
7285 Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7286 Jeff Law <law@cygnus.com>
7287
7288 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
7289 of the declaration.
7290 * c-decl.c (finish_decl): Use parentheses around && within ||.
7291 * rtl.c: Include stdlib.h.
7292 (read_skip_spaces): Add parentheses around assignments used as
7293 truth values.
7294 (read_rtx): Initialize list_rtx.
7295 * cppexp.c (parse_number): Use || when operands are truth values.
7296 * alias.c (find_base_value): Add default case.
7297 (memrefs_conflict): Likewise.
7298 * combine.c (sets_function_arg_p): Likewise.
7299 * genemit.c (gen_exp): Likewise.
7300 * local-alloc.c (contains_replace_regs): Likewise.
7301 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
7302 * fold-const.c (fold_convert): Use "&&" for truth values.
7303 (fold): Add default case.
7304 * sdbout.c (sdbout_field_types): Fix typo in declaration.
7305 (sdbout_one_type): Add default case.
7306 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
7307 (some_operand): Add default case.
7308 (input_operand): Likewise.
7309 (signed_comparison_operator): Likewise.
7310 (divmod_operator): Likewise.
7311 (alpha_set_memflags_1): Likewise.
7312 * reload1.c (reload_cse_simplify_operands): Ensure function
7313 always returns a value.
7314 * scan-decls.c (scan_decls): Likewise.
7315 * c-lex.c (skip_white_space): Fix typo in declaraion.
7316 * c-typeck.c (comp_target_types): Add parentheses around assignment
7317 used as truth value.
7318 (print_spelling): Likewise.
7319 (constructor_implicit, constructor_result): Remove unused variables.
7320 * collect2.c (scan_library): Protect prototype with
7321 #ifdef SCAN_LIBRARIES.
7322 * emit-rtl.c (find_line_note): Fix typo in declaration.
7323 * final.c (asm_insn_count): Protect prototype with
7324 #ifdef HAVE_ATTR_length.
7325 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
7326 (try_pre_increment_1, try_pre_increment): Likewise.
7327 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
7328 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
7329 * gcov-io.h (__store_long, __write_long, __read_long): Fix
7330 unsigned/signed comparisons.
7331 * gcov.c (read_files): Remove unused "first_type" variable.
7332 (scan _for_source_files): Initialize s_ptr.
7333 (function_summary): Eliminate "%lf" formatting, use %ld for
7334 longs.
7335 (output_data): Initialize branch_probs and last_line_num.
7336 Eliminate "%lf" formatting, use "%ld" for longs.
7337
7338 Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
7339
7340 * mips16.S: New file.
7341
7342 * libgcc2.c (varargs): Handle mips16.
7343
7344 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
7345 expression.
7346 * stmt.c (expand_end_case): Likewise.
7347 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
7348 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
7349 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
7350
7351 Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7352
7353 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
7354 the build directory.
7355 (libobjc.a): Update dependency list.
7356 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
7357 directory.
7358 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
7359 (objc.mostlyclean): Remove runtime-info.h.
7360
7361 Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
7362
7363 * tree.c (build_range_type): Allow creation of ranges with no maximum.
7364 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
7365 * dwarf2out.c (add_subscript_info): Likewise.
7366 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
7367 * sdbout.c (plain_type_1): Likewise.
7368 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
7369 Likewise.
7370 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
7371 Likewise.
7372
7373 Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7374
7375 * mips.c (fatal): Remove declaration.
7376
7377 1997-12-18 Mark Mitchell <mmitchell@usa.net>
7378
7379 * integrate.c (get_label_from_map): New function.
7380 (expand_inline_function): Use it. Initialize the label_map to
7381 NULL_RTX instead of gen_label_rtx.
7382 (copy_rtx_and_substitute): Use get_label_from_map.
7383 * integrate.h (get_label_from_map): New function.
7384 (set_label_from_map): New macro.
7385 * unroll.c (unroll_loop): Use them.
7386 (copy_loop_body): Ditto.
7387
7388 Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
7389
7390 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
7391 (INIT_TARGET_OPTABS): Define.
7392 * mips/ecoff.h: Include gofast.h before mips.h.
7393 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
7394 * mips/elf64.h: Likewise.
7395 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
7396
7397 Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
7398
7399 * except.c: Remove register_exception_table{,_p}.
7400
7401 Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
7402
7403 * unroll.c (calculate_giv_inc): Handle constant increment found in
7404 a MEM with an appropriate REG_EQUAL note.
7405
7406 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
7407
7408 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
7409 frame pointer in the prologue.
7410
7411 Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
7412
7413 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
7414 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
7415
7416 Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
7417
7418 * config/m68k/m68k.c (output_function_prologue): Typecast
7419 dwarf2out_cfi_label to (char *).
7420 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
7421
7422 Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
7423
7424 * sparc.md (jump): Don't use the annul bit around an empty loop.
7425 Patch from Kevin.Kelly@East.Sun.COM.
7426
7427 Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
7428
7429 * jump.c: (jump_optimize): Don't use the return register as a
7430 source1 of a conditional move.
7431
7432 Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
7433
7434 * sparc.c (DF_MODES): Or the mask not the bit number.
7435 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
7436
7437 Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
7438
7439 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
7440
7441 Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
7442
7443 * fixincludes (size_t): Add support for Motorola's stdlib.h
7444 which fails to provide a definition for size_t.
7445 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
7446 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
7447 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
7448
7449 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
7450 prevent unresolved externals in libio.
7451 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
7452
7453 Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
7454
7455 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
7456 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
7457 (LIB_SPEC): Updated for glibc 2.
7458
7459 Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
7460
7461 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
7462 * ginclude/varargs.h: Likewise.
7463
7464 Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
7465
7466 * version.c: Bump for snapshot.
7467
7468 Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
7469
7470 * frame.h (__register_frame, __register_frame_table,
7471 __deregister_frame): New.
7472 * frame.c (__register_frame, __register_frame_table,
7473 __deregister_frame): New.
7474 * frame.c (__deregister_frame_info): Return void *.
7475 * frame.h (__deregister_frame_info): Ditto.
7476 * collect2.c (__deregister_frame_info): Ditto.
7477
7478 Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
7479
7480 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
7481
7482 Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
7483
7484 * alpha.c (alpha_cpu_name): New variable.
7485 (alpha_mlat_string): Likewise.
7486 (alpha_memory_latency): Likewise.
7487 (override_options): Handle -mmemory-latency.
7488 (alpha_adjust_cost): Adjust load cost for latency.
7489 * alpha.h (TARGET_OPTIONS): Add meory-latency.
7490 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
7491 TARGET_CIX into account.
7492 (MEMORY_MOVE_COST): Define in terms of memory_latency.
7493 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
7494
7495 * alpha.h (ASM_COMMENT_START): New macro.
7496
7497 Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
7498
7499 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
7500 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
7501
7502 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
7503 SUBREG_REG if the word count is unchanged.
7504 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
7505 subregs of identical word size for push_reload.
7506
7507 Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
7508
7509 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
7510 if all we're doing is dealing with -Wreturn-type.
7511
7512 Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
7513
7514 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
7515 Use and 255 instead of zapnot 1, since it schedules better.
7516
7517 Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
7518
7519 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
7520 it as volatile.
7521
7522 Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
7523
7524 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
7525 dependency we delete. Properly update prev for multiple consecutive
7526 deletions.
7527 (priority): Skip deleted dependence.
7528
7529 Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
7530
7531 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
7532
7533 Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
7534
7535 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
7536 determining when a new basic block starts.
7537
7538 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
7539
7540 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
7541 * pa.md (iorsi3): Add missing args to *_operand calls.
7542
7543 * except.c (call_get_eh_context): Don't mess with sequences.
7544 (emit_eh_context): Include the call in the sequence here.
7545
7546 1997-12-11 Paul Eggert <eggert@twinsun.com>
7547
7548 * collect2.c (write_c_file_glob): Allocate initial frame object
7549 in static storage and pass its address.
7550
7551 Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
7552
7553 * except.c (call_get_eh_context): Don't take a parm.
7554 Put the call at the top of the function.
7555 (emit_eh_context): Adjust.
7556 (get_eh_context): Replace with former use_eh_context.
7557 (get_eh_context_once, get_saved_pc_ref): Remove.
7558 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
7559 * except.h: Adjust.
7560 * integrate.c (expand_inline_function): Adjust.
7561 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
7562
7563 Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
7564
7565 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
7566 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
7567
7568 Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
7569
7570 * fixincludes (strlen,strspn,strcspn return value): Handle different
7571 layout on sysV88.
7572 (hypot): Provide a fake for hypot which is broken on
7573 m88k-motorola-sysv3.
7574
7575 Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
7576
7577 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
7578 tree_code_name from pointers to arrays.
7579 * tree.c: Remove standard_tree_code_* variables, no longer used.
7580 * print-tree.c: Remove declaration of tree_code_name.
7581
7582 * cp/lex.c (init_lex): Update for tree_code_* changes.
7583 * objc/objc-act.c (init_objc): Likewise.
7584
7585 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
7586 changes.
7587
7588 Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
7589
7590 * config.sub: Add support for BeOS target.
7591 * configure.in: Likewise.
7592 * ginclude/stdarg.h: Likewise.
7593 * ginclude/stddef.h: Likewise.
7594 * ginclude/varargs.h: Likewise.
7595 * rs6000/beos.h: New file for BeOS.
7596 * rs6000/t-beos: Likewise.
7597 * rs6000/x-beos: Likewise.
7598 * rs6000/xm-beos.h: Likewise.
7599 * toplev.c (get_run_time): Just return 0 on BeOS.
7600
7601 Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
7602 Toon Moene (toon@moene.indiv.nluug.nl)
7603
7604 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
7605 old and broken Sun3 assemblers. Newer versions handle large
7606 offsets correctly as does the GNU assembler.
7607
7608 Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
7609
7610 * objc/objc-act.c (lang_report_error_function): Disable.
7611 * objc/objc-parse.y: Include "output.h".
7612 (yyerror): Remove redundant decl.
7613 (yyprint): Fix prototype.
7614 (apply_args_register_offset): Remove redundant decl.
7615 (get_file_function_name): Likewise.
7616
7617 Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
7618
7619 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
7620 a new basic block.
7621 (find_basic_blocks_1): Likewise.
7622
7623 Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
7624
7625 * except.c (use_eh_context): Don't copy_rtx a REG.
7626 (emit_throw): Lose old unwinder support.
7627 (expand_internal_throw): Likewise.
7628 * libgcc2.c (struct eh_context): Likewise.
7629 (new_eh_context): Likewise.
7630 (__get_eh_info): Lose redundant cast.
7631 (__get_dynamic_handler_chain): Likewise.
7632 (__get_saved_pc): Lose.
7633 Lose all old unwinder support code.
7634
7635 Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
7636
7637 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
7638
7639 * integrate.c (expand_inline_function): If the inline fn uses eh
7640 context, make sure that the current fn has one.
7641 * toplev.c (rest_of_compilation): Call emit_eh_context.
7642 * except.c (use_eh_context): New fn.
7643 (get_eh_context_once): New fn.
7644 (call_get_eh_context): New fn.
7645 (emit_eh_context): New fn.
7646 (get_eh_context): Call either get_eh_context_once or
7647 call_get_eh_context, depending on what we have.
7648 (get_dynamic_handler_chain): Call get_eh_context_once.
7649 * except.h: Prototypes for fns above.
7650 * optabs.c (get_eh_context_libfunc): Removed.
7651 (init_optabs): Don't initialize it.
7652 * expr.h (get_eh_context_libfunc): Removed.
7653 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
7654 * config/pa/pa.h (CPP_SPEC): Support for -threads.
7655 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
7656 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
7657 New multilib for -threads.
7658 * config/sparc/t-sol2: Added multilibs for -threads and
7659 made -pthreads alias to it.
7660 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
7661 Added -threads and -pthreads options.
7662 * libgcc-thr.h: New file.
7663 * libgcc2.c: (__get_cpp_eh_context): Removed.
7664 (struct cpp_eh_context): Removed.
7665 (struct eh_context): Replaced cpp_eh_context with generic language
7666 specific pointer.
7667 (__get_eh_info): New function.
7668 (__throw): Check eh_context::info.
7669 (__sjthrow): Ditto.
7670 * libgcc2.c: Include libgcc-thr.h.
7671 (new_eh_context, __get_eh_context,
7672 eh_pthread_initialize, eh_context_initialize, eh_context_static,
7673 eh_context_specific, eh_context_free): New functions.
7674 (get_eh_context, eh_context_key): New variables.
7675 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
7676 get_eh_context to get the context.
7677 (longjmp): Move the declaration inside
7678 #ifdef DONT_USE_BUILTIN_SETJMP.
7679 * frame.c: Include libgcc-thr.h.
7680 (object_mutex): Mutex to protect the object list.
7681 (find_fde, __register_frame, __register_frame_table,
7682 __deregister_frame): Hold the lock while accessing objects.
7683 * except.h (get_eh_context): Declare.
7684 * except.c (current_function_ehc): Define.
7685 (current_function_dhc, current_function_dcc): Removed.
7686 (get_eh_context): New function.
7687 (get_dynamic_handler_chain): Use get_eh_context.
7688 (get_saved_pc_ref): Ditto.
7689 (get_dynamic_cleanup_chain): Removed references to
7690 current_function_dcc.
7691 (save_eh_status, restore_eh_status): Save and restore
7692 current_function_ehc instead.
7693 * optabs.c (get_eh_context_libfunc): New variable.
7694 (init_optabs): Initialize it.
7695 * expr.h: Declare get_eh_context_libfunc.
7696 * function.h (struct function): Replaced dhc and dcc with ehc.
7697 * except.c (get_saved_pc_ref): New functions.
7698 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
7699 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
7700 of eh_saved_pc.
7701 (end_eh_unwinder): Likewise.
7702 (init_eh): Remove initialization of eh_saved_pc.
7703 * optabs.c (get_saved_pc_libfunc): New variable.
7704 (init_optabs): Initialize it.
7705 * expr.h: Declare get_saved_pc_libfunc.
7706 * except.h (eh_saved_pc_rtx): Deleted.
7707 (get_saved_pc_ref): Declared.
7708
7709 From Scott Snyder <snyder@d0sgif.fnal.gov>:
7710 * libgcc2.c (__get_saved_pc): New.
7711 (__eh_type, __eh_pc): Deleted.
7712 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
7713 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
7714 this fcn.
7715
7716 Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
7717
7718 * sparc/sol2.h: Use 64 bit multiply and divide functions in
7719 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
7720 as 0.
7721
7722 * rtl.h (global_rtl): New variable, replacing separate variables for
7723 commonly used rtl.
7724 (const_int_rtx): Now array of rtx_def, not rtx.
7725 * emit-rtl.c: Update for new rtl data structures.
7726 * genattrtab.c: Define global_rtl.
7727
7728 Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
7729
7730 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
7731 default.
7732
7733 Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
7734
7735 * crtstuff.c (__do_global_ctors): Fix typo.
7736
7737 Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
7738
7739 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
7740 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
7741
7742 Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
7743
7744 * rs6000.h (FUNCTION_ARG_PADDING): Define.
7745 * rs6000.c (function_arg_padding): New function.
7746
7747 Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
7748
7749 * m68k.c: Include tree.h only once.
7750
7751 Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7752
7753 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
7754
7755 Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
7756
7757 * Partially cleaned up prototyping code from HJ.
7758 * tree.h: Add many prototypes.
7759 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
7760 All references changed.
7761 * rtl.h: Protect from multiple inclusions. Add many prototypes.
7762
7763 Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
7764
7765 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
7766 string functions like strlen.
7767
7768 Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
7769
7770 * configure.in: Check for functions getrlimit and setrlimit.
7771 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
7772 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
7773
7774 Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
7775
7776 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
7777
7778 Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
7779
7780 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
7781 Fix merge problems.
7782
7783 * alpha.c (override_options): Don't know about scheduling for EV6.
7784 * alpha.md (ev5 function units): Don't overload as ev6.
7785
7786 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
7787 * alpha.md (define_attr type): Add mvi.
7788 (ev5_e0): Define sceduling parameters for it.
7789 (TARGET_MAX insns): Type is mvi not shift.
7790
7791 Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
7792
7793 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
7794
7795 Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7796
7797 * cstamp-h, auto-config.h: Delete.
7798
7799 Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
7800
7801 * version.c: Bump for snapshot.
7802
7803 Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
7804
7805 * cccp.c: Fix typo brought over in merge.
7806
7807 * Merge in changes from gcc-2.8.
7808
7809 Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
7810
7811 * m68k.c: Include tree.h for dwarf2out_cfi_label.
7812
7813 * gcc.c (process_command): Do not take address of function fatal when
7814 calling lang_specific_driver.
7815
7816 Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
7817
7818 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
7819 doesn't work with it yet, so set it to 0.
7820 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
7821
7822 Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
7823
7824 * cse.c (cse_insn): Check for invalid entries when taking references.
7825
7826 Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7827
7828 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
7829 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
7830 * toplev.c (rest_of_compilation): Pass it. Remove code to
7831 save / clear / restore flag_unroll_{,all_}loops.
7832
7833 Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
7834
7835 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
7836
7837 Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
7838
7839 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
7840
7841 Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
7842
7843 * except.c (get_dynamic_handler_chain): Only make the call once per
7844 function.
7845
7846 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
7847
7848 Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7849
7850 * sh.c (final_prescan_insn): Use local label prefix
7851 when emitting .uses pseudo-ops.
7852
7853 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
7854
7855 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
7856 * except.c: Lose outer_context_label_stack.
7857 (expand_eh_region_end): Rethrow from outer_context here.
7858 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
7859 (expand_internal_throw): Take no args.
7860 (expand_internal_throw_indirect): Lose.
7861 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
7862 (expand_start_all_catch): Start a rethrow region.
7863 (expand_end_all_catch): End it.
7864 (expand_rethrow): New fn.
7865 * except.h: Reflect above changes.
7866 * flow.c: Revert change of Nov 27.
7867
7868 Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
7869
7870 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
7871
7872 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
7873
7874 * except.c (expand_fixup_region_end): New fn.
7875 (expand_fixup_region_start): Likewise.
7876 (expand_eh_region_start_tree): Store cleanup into finalization here.
7877 * stmt.c (expand_cleanups): Use them to protect fixups.
7878
7879 Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
7880
7881 * mips/mips.md (muldi3_r4000): Broaden the output template
7882 and attribute assignments to handle three operand dmult;
7883 rename to muldi3_internal2.
7884 (muldi3): Call the new muldi3_internal2 for R4000, and
7885 any GENERATE_MULT3 chip.
7886
7887 Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
7888
7889 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
7890
7891 Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
7892
7893 * unroll.c (find_splittable_givs): Remove last change. Handle givs
7894 with a dest_reg that was created by loop.
7895
7896 Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
7897
7898 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
7899
7900 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
7901
7902 Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
7903
7904 * configure.in: Fix NCR entries.
7905
7906 Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
7907
7908 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
7909 nested exceptions correctly.
7910
7911 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
7912 that was created by loop.
7913
7914 Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
7915
7916 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
7917
7918 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
7919
7920 Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
7921
7922 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
7923 (print_operand): Use SMALL_DATA_REG for the register involved in
7924 small data relocations.
7925 (print_operand_address): Ditto.
7926
7927 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
7928 -dynamic linker is not used.
7929
7930 * rs6000.md (call insns): For local calls, use @local suffix under
7931 System V. Don't use @plt under Solaris.
7932
7933 * rs6000.c (output_function_profiler): Put label address in r0, and
7934 store LR in 4(sp) for System V/eabi.
7935
7936 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
7937 byte boundary, and maintain stack backchain.
7938
7939 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7940
7941 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7942 fix_truncsfdi2): Change *.
7943
7944 Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
7945
7946 * toplev.c (main): Complain about -gdwarfn.
7947
7948 Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
7949
7950 * dwarfout.c (output_type): If finalizing, write out nested types
7951 of types we've already written.
7952
7953 Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
7954
7955 (patches originally from Geoffrey Keating)
7956 * rs6000.c (function_arg): Excess floating point arguments don't
7957 go into GPR registers after exhausting FP registers under the
7958 System V.4 ABI.
7959 (function_arg_partial_nregs): Ditto.
7960
7961 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
7962 suffix to calls.
7963
7964 Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
7965
7966 * integrate.c (output_inline_function): Just unset DECL_INLINE.
7967
7968 Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
7969
7970 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
7971 proper alignment.
7972
7973 * libgcc2.c (__throw): Initialize HANDLER.
7974
7975 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7976
7977 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7978 fix_truncsfdi2): Change *X to ?*X.
7979
7980 Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
7981
7982 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
7983
7984 Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
7985
7986 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
7987
7988 Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
7989
7990 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
7991
7992 Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
7993
7994 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
7995 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
7996 * expr.h: Likewise.
7997
7998 Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
7999
8000 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
8001 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
8002 gas and not using the new HP assembler.
8003
8004 Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
8005
8006 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
8007 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
8008
8009 Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
8010
8011 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
8012 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
8013 definition.
8014
8015 Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8016
8017 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
8018
8019 Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
8020
8021 * except.h: Add outer_context_label_stack.
8022 * except.c: Likewise.
8023 (expand_start_all_catch): Push the outer_context for the try block
8024 onto outer_context_label_stack.
8025 (expand_end_all_catch): Use it and pop it.
8026
8027 Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
8028
8029 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
8030
8031 Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
8032
8033 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
8034
8035 Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
8036
8037 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
8038 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
8039
8040 Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
8041
8042 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
8043 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
8044 __builtin_delete, and __builtin_vec_delete.
8045
8046 * except.c (output_exception_table): Don't bother with
8047 __EXCEPTION_END__.
8048
8049 Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
8050
8051 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
8052 is an in/out operand.
8053 (zero extended variants of stwm/stwm patterns): Similarly.
8054
8055 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
8056
8057 Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
8058
8059 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
8060 Use assemble_name.
8061 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
8062 (output_call_frame_info): Emit a \n after using it.
8063
8064 Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
8065
8066 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
8067
8068 Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
8069
8070 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
8071 (ASM_OUTPUT_DWARF_VALUE4): New macro.
8072 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
8073 defined.
8074 (output_call_frame_info): Do not output forward label differences
8075 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
8076 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
8077
8078 Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8079
8080 * sh.md (attribute "type"): Add nil.
8081 (movsi_ie): y/y alternative is type nil.
8082 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
8083 alternatives.
8084 (movsf_ie+1): Delete.
8085
8086 Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
8087
8088 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
8089 large_int, emit two insns instead of one splitable insn.
8090 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
8091 from cfa_temp_value, use cfa_offset. Add assert checking that
8092 cfa_reg is SP.
8093
8094 Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
8095
8096 * cccp.c (deps_output): Properly quote file names for make.
8097
8098 Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
8099
8100 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
8101
8102 Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
8103
8104 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
8105
8106 Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
8107
8108 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
8109 return.
8110 (cse_end_of_basic_block): Similarly.
8111
8112 Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
8113
8114 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
8115 (SELECT_RTX_SECTION): Define.
8116 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
8117
8118 Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
8119
8120 * Makefile.in (compare, compare-lean): Define $stage for each
8121 shell command.
8122 (gnucompare, gnucompare-lean): Likewise.
8123
8124 Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
8125
8126 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
8127
8128 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
8129 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
8130
8131 Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
8132
8133 * dwarfout.c (byte_size_attribute): Add local var upper_bound
8134 and add case to handle STRING_TYPE.
8135 * dwarfout.c (output_string_type_die): Fix code to generate
8136 correct string length attribute for fixed length strings.
8137 Still needs support for varying length strings.
8138
8139 Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
8140
8141 * toplev.c (get_run_time): Do something sensible for cygwin32.
8142
8143 Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
8144
8145 * expr.c (expand_builtin_setjmp): Set
8146 current_function_has_nonlocal_label.
8147 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
8148 call-saved registers across calls.
8149
8150 * alpha.md (exception_receiver): Remove.
8151 (nonlocal_goto_receiver_osf): New
8152 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
8153 (nonlocal_goto_receiver): New, select _osf or _vms.
8154
8155 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
8156 keep them from being propogated to the object file.
8157 (alpha_write_linkage): Likewise.
8158 * alpha.md (call_vms): Likewise.
8159 (call_value_vms): Likewise.
8160 (unnamed osf call insns): Likewise.
8161
8162 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
8163 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
8164
8165 * alpha.c (call_operand): Any reg is valid for WinNT.
8166 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
8167 (anon nt calls): Add 'R' alternative.
8168 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
8169 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
8170
8171 Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
8172
8173 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
8174
8175 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
8176 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
8177 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
8178
8179 Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
8180
8181 * reload1.c (new_spill_reg): Improve fixed or forbidden register
8182 spill error message.
8183
8184 Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8185
8186 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
8187 use varargs.h. Wrap header with <>, not "".
8188
8189 Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
8190
8191 * integrate.c (save_for_inline_copying): Add return value from
8192 savealloc.
8193
8194 Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
8195
8196 * fixincludes: Be a little more restrictive on what we will
8197 substitute to replace definitions of MAXINT for HPUX.
8198
8199 Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
8200
8201 * dbxout.c (dbxout_symbol_location): Don't assume that variables
8202 whose address is the stack or argument pointers are indirect
8203 pointers.
8204
8205 1997-11-13 Paul Eggert <eggert@twinsun.com>
8206
8207 * cccp.c, cpplib.c (compare_defs):
8208 Don't complain about arg name respellings unless pedantic.
8209 * cpplib.c (compare_defs): Accept pfile as new arg.
8210 All callers changed.
8211
8212 Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8213
8214 * fold-const.c (fold_truthop): Fix bug in last change.
8215
8216 1997-11-13 Paul Eggert <eggert@twinsun.com>
8217
8218 Fix some confusion with IEEE minus zero.
8219
8220 * real.h (REAL_VALUES_IDENTICAL): New macro.
8221
8222 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
8223 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
8224 identical to 0.0.
8225 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
8226 same tree structure as 0.0.
8227
8228 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
8229 macro instead of doing it by hand.
8230
8231 Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
8232
8233 * v850/lib1funcs.asm: Minor whitespace changes.
8234 * v850.c: Fix minor formatting problems in many places.
8235 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
8236
8237 Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
8238
8239 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
8240 xplus1 when xplus0 is not a register.
8241
8242 Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
8243
8244 * flow.c (find_basic_blocks): During marking phase, if we encounter
8245 an insn with a REG_LABEL note, make the target block live and
8246 create an edge from the insn to the target block. Do not make
8247 edges from all blocks to the target block.
8248
8249 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
8250
8251 * confiugre.in: Tweak NCR entries.
8252 * configure: Rebuilt.
8253
8254 Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
8255
8256 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
8257 pick apart floating point values, instead of using CONST_DOUBLE_LOW
8258 and CONST_DOUBLE_HIGH.
8259
8260 * rs6000.md (define_splits for DF constants): Use the appropriate
8261 REAL_VALUE_* interface to pick apart DF floating point constants in
8262 a machine independent fashion.
8263
8264 Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8265
8266 * fold-const.c (fold_truthop): When changing a one-bit comparison
8267 against zero into a comparison against mask, do a proper sign
8268 extension.
8269
8270 Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
8271
8272 * except.c: Do not include "assert.h".
8273 (save_eh_status): Turn asserts into conditional aborts.
8274 (restore_eh_status, scan_region): Likewise.
8275 * dwarfout.c: Do not include "assert.h".
8276 (bit_offset_attribute): Turn asserts into conditional aborts.
8277 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
8278 (output_inlined_structure_type_die): Likewise.
8279 (output_inlined_union_type_die): Likewise
8280 (output_tagged_type_instantiation): Likewise.
8281 (dwarfout_file_scope_decl): Likewise.
8282 * dwarf2out.c: Do not include "assert.h"
8283 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
8284 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
8285 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
8286 (add_bit_size_attribute, scope_die_for): Likewise.
8287 (output_pending_types_for_scope): Likewise.
8288 (get_inlined_enumeration_type_die): Likewise.
8289 (get_inlined_structure_type_die): Likewise.
8290 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
8291 (gen_tagged_type_instantiation_die): Likewise.
8292
8293 * flow.c (find_basic_blocks): Refine further to get a more correct
8294 cfg, especially in the presense of exception handling, computed
8295 gotos, and other non-trivial cases. Call abort if an inaccuracy
8296 is detected in the cfg.
8297
8298 Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8299
8300 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
8301
8302 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
8303 (skip_white_space): Use whitespace_cr.
8304 (check_newline): Handle whitespace more consistently.
8305
8306 Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
8307
8308 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
8309 * i386/xm-cygwin32.h (POSIX): Define.
8310
8311 Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
8312
8313 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
8314 is available elsewhere.
8315
8316 Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
8317
8318 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
8319 what the instruction can handle.
8320
8321 Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
8322
8323 * stmt.c (expand_decl_cleanup_no_eh): New fn.
8324
8325 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
8326
8327 Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
8328
8329 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
8330 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
8331
8332 Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
8333
8334 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
8335 swap instruction order.
8336
8337 Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
8338
8339 * fixinc.svr4 (__STDC__): Add another case.
8340
8341 Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8342
8343 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
8344 addresses in the epilogue delay slot.
8345
8346 Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
8347
8348 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
8349 in generated `specs' file.
8350
8351 Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
8352
8353 * flags.h (flag_rerun_loop_opt): Declare.
8354 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
8355 * toplev.c (flag_rerum_loop_opt): Delete static.
8356
8357 Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8358
8359 Bring over from FSF:
8360
8361 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8362
8363 * va-sh.h (__va_arg_sh1): Define.
8364 (va_arg): Use it.
8365 SH3E doesn't use any integer registers for subsequent arguments
8366 once a non-float value was passed in the stack.
8367 * sh.c (machine_dependent_reorg): If optimizing, put explicit
8368 alignment in front label for ADDR_DIFF_VEC.
8369 * sh.h (PASS_IN_REG_P): Fix SH3E case.
8370 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
8371
8372 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8373
8374 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
8375 svr4.h.
8376
8377 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8378
8379 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
8380 put an use_sfunc_addr before each sfunc.
8381 * sh.md (use_sfunc_addr, dummy_jump): New insns.
8382 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
8383
8384 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8385
8386 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
8387
8388 Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
8389
8390 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
8391 linked once FDEs.
8392
8393 Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
8394
8395 * alias.c (find_base_value): Only return the known base value for
8396 pseudo registers.
8397
8398 Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
8399
8400 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
8401 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
8402 to pattern.
8403 (prologue_get_pc_and_set_got): New pattern.
8404
8405 Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
8406
8407 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
8408 for SUBREG, just fall through.
8409
8410 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
8411
8412 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
8413
8414 Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
8415
8416 * fixincludes: Fix "hypot" prototype in NeXT math.h.
8417
8418 * Makefile.in (USE_ALLOCA): Always include alloca.o.
8419 (USE_HOST_ALLOCA): Likewise.
8420
8421 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
8422 and LABEL_REFS fields.
8423 * rtl.h (LABEL_REFS): Update.
8424
8425 Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
8426
8427 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
8428 sets i2dest. When calling distribute_notes for i3dest_killed, pass
8429 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
8430 sets i1dest.
8431
8432 * mips.md (insv, extzv, extv): Add change_address call.
8433 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
8434
8435 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
8436
8437 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
8438
8439 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
8440 save_restore_insns if no FP and GP will be restored.
8441
8442 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
8443 Convert CCmode to word_mode before calling GET_MODE_SIZE.
8444
8445 * acconfig.h (HAVE_INTTYPES_H): Undef.
8446 * configure.in (inttypes.h): Check for conflicts between sys/types.h
8447 and inttypes.h, and verify that intmax_t is defined.
8448 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
8449 * config/mips/x-iris3: Likewise.
8450
8451 Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
8452
8453 * alias.c (find_base_value): When copying arguments, return the
8454 tenative value for a hard register.
8455
8456 Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
8457
8458 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
8459 (yylex): Record wide strings using target endianness, not host.
8460
8461 Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
8462
8463 * mn10200.h (ASM_OUTPUT_BSS): Delete.
8464 (ASM_OUTPUT_ALIGNED_BSS): New macro
8465 * mn10300.h (ASM_OUTPUT_BSS): Delete.
8466 (ASM_OUTPUT_ALIGNED_BSS): New macro.
8467 * v850.h (ASM_OUTPUT_BSS): Delete.
8468 (ASM_OUTPUT_ALIGNED_BSS): New macro.
8469
8470 Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8471
8472 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
8473
8474 Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
8475
8476 * configure.in (sco5): Use cpio to install header files.
8477
8478 Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
8479
8480 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
8481 14 char length.
8482 * configure: Rebuild.
8483
8484 Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
8485
8486 * i386/sco5.h: enable -gstabs once again.
8487
8488 Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
8489
8490 * arm.c (output_move_double): Allocate 3 entries in otherops array.
8491
8492 Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
8493
8494 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
8495 notes for sjlj exceptions too.
8496 (expand_eh_region_end): Similarly for EH_REGION_END notes.
8497 (exception_optimize): Optimize EH regions for sjlj exceptions too.
8498 * final.c (final_scan_insn): Don't output labels for EH REGION
8499 notes if doing sjlj exceptions.
8500
8501 Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
8502
8503 * alias.c (init_alias_analysis): Handle -fno-alias-check when
8504 optimizing correctly.
8505
8506 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
8507 or set current_function_calls_setjmp anymore.
8508
8509 * flow.c (find_basic_blocks): If we delete the label for an
8510 exception handler, remove it from the EH label list and remove
8511 the EH_BEGIN/EH_END notes for that EH region.
8512
8513 Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
8514
8515 * flow.c (find_basic_blocks): Generate correct flow control
8516 information when exception handling notes are present.
8517
8518 Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
8519
8520 * dwarf2out.c (output_call_frame_info): Fix length argument
8521 to ASM_OUTPUT_ASCII.
8522 (output_die, output_pubnames, output_line_info): Likewise.
8523
8524 Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
8525
8526 * version.c: Bump for snapshot.
8527
8528 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
8529 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
8530 flag_debug_asm is on.
8531 (output_die, output_pubnames, output_line_info): Likewise.
8532
8533 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
8534 and static_chain_rtx into the potential base values array if
8535 they are registers.
8536
8537 * alias.c (new_reg_base_value): New array of potential base values.
8538 (unique_id): Now file scoped static.
8539 (find_base_value, case REG): Return the value in reg_base_value
8540 array for the REG if it exists. Else, return the value from
8541 new_reg_base_value if copying args and REG is a hard register.
8542 (find_base_value, case PLUS): If either operand of the PLUS is
8543 a REG, try to get its base value. Handle base + index and
8544 index + base.
8545 (record_set): Use new_reg_base_value instead of reg_base_value.
8546 (init_alias_analysis): Allocate space for new_reg_base_value too.
8547 Rework code to iterate over the insns propagating base value
8548 information until nothing changes.
8549
8550 * global.c (global_alloc): Free the conflict matrix after
8551 reload has finished.
8552
8553 Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
8554
8555 * libgcc2.c (L_eh): Define __eh_pc.
8556 Replace __eh_type with generic pointer __eh_info.
8557
8558 Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
8559
8560 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
8561 use copy_to_reg if address is not a general_operand.
8562
8563 Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8564
8565 * profile.c (output_func_start_profiler): Clear flag_inline_functions
8566 for the duration of the call to rest_of_compilation.
8567
8568 Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
8569
8570 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
8571 Set extra_parts.
8572 (sparc*-*-*): Recognize --with-cpu=v9.
8573 * sparc/elf.h: New file.
8574 * sparc/t-elf: New file.
8575
8576 Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
8577
8578 * mn10300.c (const_8bit_operand): New function.
8579 (mask_ok_for_mem_btst): New funtion.
8580 * mn10300.md (btst patterns with mem operands): Use new functions
8581 to avoid creating btst instructions with invalid operands.
8582
8583 Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
8584
8585 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
8586 are running on PowerPC Linux.
8587
8588 Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
8589
8590 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
8591 if not previously defined.
8592
8593 Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
8594
8595 * function.c (assign_parms): Correct mode of stack_parm if
8596 entry_parm underwent a mode conversion.
8597
8598 1997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
8599
8600 * global.c (global_alloc): Use xmalloc instead of alloca for
8601 CONFLICTS, since max_allocno * allocno_row_words alone can be more
8602 than 2.5Mb sometimes.
8603
8604 Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
8605
8606 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
8607 DEST for the spill, adjust mode of SRC to compensate.
8608
8609 Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
8610
8611 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
8612 since any_memory_operand() allows pseudos during reload.
8613 (reload_inhi, reload_outqi, reload_outhi): Likewise.
8614
8615 Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
8616
8617 * m68k.md (btst patterns): Add 5200 support.
8618
8619 Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
8620
8621 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
8622 optimizations, look inside dividend to determine if the expression
8623 can be simplified by using EXACT_DIV_EXPR.
8624
8625 Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
8626
8627 From Brendan:
8628 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
8629
8630 Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
8631
8632 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
8633
8634 Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
8635
8636 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
8637 on a CLOBBER.
8638
8639 Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
8640
8641 * alpha.md (movqi, movhi): Make sure new insns created during reload
8642 won't need reloading themselves.
8643 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
8644
8645 Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
8646
8647 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
8648
8649 Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
8650
8651 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
8652 Patch from Klaus Kaempf <kkaempf@progis.de>.
8653
8654 Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
8655
8656 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
8657 to an element in a constant string.
8658
8659 Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
8660
8661 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
8662 bit PC-relative offset. The exception range table pointer is now in
8663 the CIE.
8664 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
8665 (count_fdes, add_fdes, get_cie): Adjust.
8666 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
8667
8668 From H.J. Lu:
8669 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
8670
8671 Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
8672
8673 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
8674 like stack_pointer_rtx.
8675
8676 Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
8677
8678 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
8679 targets using "$@" to provide support for similar but not identical
8680 targets without having to duplicate code.
8681 (bootstrap4): New goal.
8682
8683 * Makefile.in (compare, compare-lean, compare3): Combined to one
8684 ruleset determining actions to be performed via $@.
8685 (compare4, compare4-lean): New targets.
8686 (gnucompare, gnucompare3): Combined to one ruleset determining
8687 actions to be performed via $@. Also, note which files failed
8688 the comparison test in .bad_compare.
8689 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
8690
8691 Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
8692
8693 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
8694 if the dividend is a multiple of the divisor.
8695
8696 Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
8697
8698 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
8699
8700 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
8701 and POS_DEC.
8702
8703 * alias.c (true_dependence): Fix typo.
8704
8705 * toplev.c (flag_rerun_loop_opt): New variable.
8706 (f_options): Handle -frerun-loop-opt.
8707 (rest_of_compilation): If -frerun-loop-opt, then run the loop
8708 optimizer twice.
8709 (main): Enable -frerun-loop-opt by default for -O2 or greater.
8710
8711 * loop.c (simplify_giv_expr): Adding two invariants results
8712 in an invariant.
8713
8714 Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
8715
8716 * expr.c (get_inner_reference): Remove the array bias after
8717 converting the index to Pmode.
8718
8719 Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
8720
8721 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
8722 (TARGET_MULT_BUG): Define.
8723 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
8724 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
8725
8726 Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
8727
8728 * mn10200.c (indirect_memory_operand): Delete unused function.
8729 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
8730 * mn10200.md (bset, bclr insns): Handle output in a reg too.
8731
8732 Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
8733
8734 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
8735 the callee's ldgp, we must do it ourselves, and we use the jsr tag
8736 for more than scheduling.
8737
8738 Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
8739
8740 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
8741
8742 Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
8743
8744 * mn10300.c (symbolic_operand, legitimize_address): New functions.
8745 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
8746 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
8747
8748 Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
8749
8750 * version.c: Bump for snapshot.
8751
8752 Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8753
8754 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
8755 for FILENAME.
8756
8757 Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
8758
8759 * toplev.c (flag_exceptions): Default value is 2.
8760 (compile_file): If flag_exceptions still has the value 2, then
8761 set it to 0.
8762
8763 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
8764 (rs6000_save_machine_status): Save pic_offset_table_rtx.
8765 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
8766
8767 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
8768 are shared.
8769
8770 * rs6000.md (*movsi_got_internal_mem): New pattern.
8771 (*movsi_got_internal_mem splitter): New define_split.
8772
8773 Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
8774
8775 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
8776
8777 Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
8778
8779 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
8780 only need to save LR.
8781
8782 Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
8783
8784 * mn10300.md (movqi, movhi): Avoid using address registers as
8785 destinations unless absolutely necessary.
8786
8787 * mn10200.c (expand_prologue): Fix typo.
8788
8789 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
8790 addresses.
8791 * mn10200.md (neghi2): Provide an alternative which works if
8792 the input and output register are the same.
8793
8794 * mn10300.c (print_operand): Handle 'S'.
8795 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
8796 shift amount in last alternative
8797
8798 * mn10300.c (expand_epilogue): Rework to handle register restores
8799 in "ret" and "retf" instructions correctly.
8800
8801 Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
8802
8803 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
8804 extzv for memory operands.
8805
8806 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
8807 redundant conditional moves to single operand.
8808
8809 Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
8810
8811 * v850.h: Move define of __v850__ from CPP_PREDEFINES
8812 to CPP_SPEC.
8813
8814 * xm-v850.h: Use __v850 rather than __v850__ to
8815 identify v850 port.
8816
8817 Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
8818
8819 * mips/mips.c (compute_frame_size): Not a leaf function if
8820 profile_flag set.
8821
8822 Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
8823
8824 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
8825
8826 Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
8827
8828 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
8829 (DEFAULT_ARCH32_P): New macro.
8830 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
8831 (enum cmodel): Declare.
8832 (sparc_cmodel_string,sparc_cmodel): Declare.
8833 (SPARC_DEFAULT_CMODEL): Provide default.
8834 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
8835 (TARGET_FULLANY): Deleted.
8836 (TARGET_CM_MEDMID): New macro.
8837 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
8838 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8839 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
8840 (CPP_SPEC): Rewrite.
8841 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8842 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
8843 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8844 (ASM_SPEC): Add %(asm_arch).
8845 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
8846 Rename asm_default to asm_cpu_default.
8847 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
8848 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
8849 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
8850 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
8851 (MASK_INT64,MASK_LONG64): Delete.
8852 (MASK_ARCH64): Renamed to MASK_64BIT.
8853 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
8854 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
8855 (TARGET_SWITCHES): Always provide 64 bit options.
8856 (ARCH64_SWITCHES): Delete.
8857 (TARGET_OPTIONS): New option -mcmodel=.
8858 (INT_TYPE_SIZE): Always 32.
8859 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
8860 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
8861 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
8862 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
8863 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
8864 CPP_SPEC.
8865 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8866 * sparc/linux.h: Likewise.
8867 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
8868 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8869 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
8870 (SPARC_DEFAULT_CMODEL): Define.
8871 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8872 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8873 (LONG_DOUBLE_TYPE_SIZE): Define.
8874 (ASM_SPEC): Add %(asm_arch).
8875 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8876 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8877 (TARGET_CPU_DEFAULT): Add ultrasparc case.
8878 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
8879 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
8880 (SPARC_DEFAULT_CMODEL): Define.
8881 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
8882 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
8883 MASK_LONG64, MASK_MEDANY.
8884 (SPARC_DEFAULT_CMODEL): Define.
8885 (CPP_PREDEFINES): Delete.
8886 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8887 (ASM_SPEC): Add %(asm_arch).
8888 (LONG_DOUBLE_TYPE_SIZE): Define.
8889 (DWARF2_DEBUGGING_INFO): Define.
8890 * sparc/splet.h (CPP_SPEC): Delete.
8891 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8892 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
8893 (BLOCK_PROFILER): Likewise.
8894 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
8895 (sparc_override_options): Handle code model selection.
8896 (sparc_init_expanders): Renamed from sparc64_init_expanders.
8897 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
8898 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
8899 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
8900 (sethi_di_fullany): Delete.
8901
8902 Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
8903 Jeff Law <law@cygnus.com>
8904 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8905
8906 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
8907 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
8908 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
8909 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
8910 * alpha/alpha.md (arg_home): Likewise.
8911
8912 * alpha/alpha.c (vmskrunch): Delete
8913 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
8914 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
8915 truncate to 64 characters.
8916
8917 * make-l2.com: Support openVMS/Alpha.
8918
8919 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
8920
8921 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8922
8923 * longlong.h (count_leading_zeros): Add missing casts to USItype.
8924
8925 Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
8926
8927 * i386/bsd386.h (ASM_COMMENT_START): Define.
8928
8929 Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
8930
8931 * tree.c (restore_tree_status): Also free up temporary storage
8932 when we finish a toplevel function.
8933 (dump_tree_statistics): Print stats for backend obstacks.
8934
8935 Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
8936
8937 * expr.c (use_group_regs): Don't call use_reg for MEMs.
8938
8939 Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
8940
8941 * libgcc2.c (__throw): Don't copy the return address.
8942 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
8943
8944 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
8945 * toplev.c (main): Initialize exceptions_via_longjmp.
8946
8947 * tree.c: Add extra_inline_obstacks.
8948 (save_tree_status): Use it.
8949 (restore_tree_status): If this is a toplevel inline obstack and we
8950 didn't want to save anything on it, recycle it.
8951 (print_inline_obstack_statistics): New fn.
8952 * function.c (pop_function_context_from): Pass context to
8953 restore_tree_status.
8954 * obstack.h (obstack_empty_p): New macro.
8955
8956 Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
8957
8958 * i386/freebsd.h (ASM_COMMENT_START): Fix.
8959
8960 Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
8961
8962 * v850.c (ep_memory_offset): New function.
8963 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
8964
8965 * v850.h (CONST_OK_FOR_*): Add and correct comments.
8966 (CONSTANT_ADDRESS_P): Add comment.
8967 (EXTRA_CONSTRAINT): Define 'U'.
8968 * v850.md: Add comments on bit field instructions.
8969 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
8970 (lshrsi3): Use N not J constraint.
8971
8972 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
8973
8974 * v850.c (reg_or_0_operand): Call register_operand.
8975 (reg_or_int5_operand): Likewise.
8976 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
8977 (TARGET_SWITCHES): Add "big-switch".
8978 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
8979 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
8980 (CASE_DROPS_THROUGH): Comment out.
8981 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
8982 * v850.md (cmpsi): Delete compare mode.
8983 (casesi): New pattern.
8984
8985 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
8986 * v850.md (ashlsi3): Use SImode not QImode for shift count.
8987 (lshrsi3): Likewise.
8988
8989 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
8990 unreachable switch statement after 'b' support. Remove "b" from
8991 strings for 'b' support.
8992 * v850.md (branch_normal, branch_invert): Change %b to b%b.
8993
8994 Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
8995
8996 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
8997 empty line if @inhibit_libc@ is empty.
8998
8999 Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
9000
9001 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
9002 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
9003 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
9004 (DWARF2_UNWIND_INFO): Let this track object file format.
9005 (EXTRA_SECTIONS): Add in_eh.
9006 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
9007 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
9008
9009 Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
9010
9011 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
9012 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
9013 TARGET_MEDANY.
9014 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
9015 (output_double_int): Output DI mode values correctly when
9016 HOST_BITS_PER_WIDE_INT is 64.
9017 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
9018 fmovd so it works if a quad float ends up in one of the upper 32
9019 float regs.
9020 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
9021 necessary for PIC support on sparc64.
9022
9023 Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
9024
9025 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
9026 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
9027 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
9028 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
9029 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
9030 (SPARC_FP_ARG_FIRST): New macro.
9031 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
9032 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
9033 (NPARM_REGS): There are 32 fp argument registers now.
9034 (FUNCTION_ARG_REGNO_P): Likewise.
9035 (FIRST_PARM_OFFSET): Update to new v9 abi.
9036 (REG_PARM_STACK_SPACE): Define for arch64.
9037 (enum sparc_arg_class): Delete.
9038 (sparc_arg_count,sparc_n_named_args): Delete.
9039 (struct sparc_args): Redefine and use for arch32 as well as arch64.
9040 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
9041 (FUNCTION_ARG_ADVANCE): Rewrite.
9042 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
9043 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
9044 (FUNCTION_ARG_CALLEE_COPIES): Delete.
9045 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
9046 (STRICT_ARGUMENT_NAMING): Define.
9047 (doublemove_string): Declare.
9048 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
9049 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
9050 (doublemove_string): New function.
9051 (output_move_quad): Clean up some of the arch64 support.
9052 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
9053 Don't add 8 bytes of reserved space if arch64.
9054 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
9055 (init_cumulative_args): New function.
9056 (function_arg_slotno): New static function.
9057 (function_arg,function_arg_partial_nregs): New functions.
9058 (function_arg_{pass_by_reference,advance}): New functions.
9059 (function_arg_padding): New function.
9060 * ginclude/va-sparc.h: Rewrite v9 support.
9061
9062 Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9063
9064 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
9065 for hard regs to determine base and index registers.
9066
9067 * reload.c (debug_reload_to_stream): New function. Specify stream
9068 into which to write debug info.
9069 (debug_reload): Modify to call debug_reload_to_stream with stderr.
9070
9071 Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
9072
9073 * combine.c (can_combine_p): Don't combine with an asm whose
9074 output is a hard register.
9075
9076 Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
9077
9078 * c-decl.c (start_struct): Ensure that structs with forward
9079 declarations are in fact packed when -fpack-struct is given.
9080
9081 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
9082 we are packing a structure. This allows a structure with only
9083 bytes to be aligned on a byte boundary and have no padding on a
9084 m68k.
9085
9086 Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9087
9088 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
9089
9090 Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
9091
9092 * alpha.c (alpha_return_addr_rtx): New variable.
9093 (alpha_save_machine_status): New; save it.
9094 (alpha_restore_machine_status): New; restore it.
9095 (alpha_init_expanders): New; clear it.
9096 (alpha_return_addr): New; set it.
9097 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
9098 is overly conservative, so search the insns explicitly.
9099 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
9100 (alpha_sa_size [VMS && !VMS]): Likewise.
9101 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
9102 (INIT_EXPANDERS): New definition.
9103
9104 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
9105 (output_prolog [!VMS]): Use them.
9106
9107 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
9108 (alpha_does_function_need_gp): ... a new function. Refine the
9109 CALL_INSN test to just TYPE_JSR.
9110 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
9111
9112 Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
9113
9114 * version.c: Bump for snapshot.
9115
9116 Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9117
9118 * pa.c (move_operand): Respect -mdisable-indexing.
9119 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
9120
9121 Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
9122
9123 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
9124 PPC601.
9125 (umulsidi3,umulsi3_highpart): Ditto.
9126 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
9127
9128 Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
9129
9130 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
9131 (alpha_handle_trap_shadows): ... a new function. Handle the entire
9132 function in one go. Emit RTL for trapb, instead of printf directly.
9133 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
9134 (trap_pending): Kill global variable.
9135 (output_epilog): Don't call final_prescan_insn.
9136 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
9137 * alpha.h (FINAL_PRESCAN_INSN): Remove.
9138 (MACHINE_DEPENENT_REORG): Define.
9139 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
9140 (trapb): New insn.
9141
9142 Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
9143
9144 Tune Haifa scheduler for Alpha:
9145 * alpha.h (ISSUE_RATE): Define.
9146 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
9147 EV4 adjustments to EV5.
9148 * alpha.md: Remove all scaling from function unit delays. Rework
9149 EV5 function units to match the CPU.
9150 (umuldi3_highpart): EV5 added the IMULH insn class.
9151
9152 Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
9153
9154 * pa.c (following_call): Fail if the CALL_INSN is an indirect
9155 call.
9156
9157 Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
9158
9159 * cplus-dem.c (demangle_signature): Don't look for return types on
9160 constructors. Handle member template constructors.
9161
9162 Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
9163
9164 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
9165 * tree.h: Declare them.
9166
9167 Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
9168
9169 * configure.in: Handle --with-newlib.
9170 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
9171
9172 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
9173
9174 Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
9175
9176 * config/ptx4.h: Fix typo.
9177
9178 Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
9179
9180 * version.c: Bump for snapshot.
9181
9182 Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
9183
9184 * aclocal.m4: Substitute INSTALL.
9185 * configure: Re-built.
9186
9187 Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
9188
9189 * integrate.c (save_for_inline_copying): Avoid undefined pointer
9190 operations.
9191 (expand_inline_function): Likewise.
9192
9193 * dwarf2out.c (output_call_frame_info): Reinstate last change
9194 using flag_debug_asm check instead of flag_verbose_asm.
9195
9196 Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
9197
9198 * dwarf2out.c (output_call_frame_info): Remove last change.
9199
9200 1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9201
9202 * frame.c (__frame_state_for): Execute the FDE insns until the
9203 current pc value is strictly bigger than the target pc value.
9204
9205 Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
9206
9207 * regclass.c (init_reg_modes): If we can't find a mode for the
9208 register, use the previous one.
9209
9210 Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
9211
9212 * haifa-sched.c (print_block_visualization): Call fprintf directly,
9213 don't sprintf through an alloca'ed buffer.
9214
9215 Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
9216
9217 * reload.c (decompose): Always initialize val.base.
9218
9219 Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
9220
9221 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
9222 instead of aborting.
9223 * dwarf2out.c (output_call_frame_info): Call app_enable and
9224 app_disable to let GNU as accept the generated comments.
9225
9226 Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
9227
9228 * tree.h (get_file_function_name): Add declaration.
9229 * dwarf2out.c (output_call_frame_info): No need to cast
9230 get_file_function_name call anymore.
9231 * profile.c (toplevel): Remove get_file_function_name
9232 declaration.
9233 * c-lang.c (finish_file): Ditto.
9234
9235 Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
9236
9237 * Makefile.in (program_transform_name): Let autoconf substitute
9238 the correct value.
9239
9240 Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
9241
9242 * haifa-sched.c (schedule_block): If the first real insn in a
9243 block has any special notes attached to it, remove them.
9244
9245 Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
9246
9247 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
9248
9249 Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
9250
9251 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
9252
9253 Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
9254
9255 * Makefile.in (check-g77): New test target.
9256 (CHECK-TARGETS): Add check-g77.
9257
9258 Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
9259
9260 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
9261
9262 Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
9263
9264 * flow.c (print_rtl_with_bb): Cast alloca return value for
9265 in_bb_p.
9266
9267 Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
9268
9269 * i386.h (RETURN_ADDR_RTX): New definition that works for
9270 __builtin_return_address(0) and -fomit-frame-pointer.
9271
9272 Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
9273
9274 Bring over from FSF.
9275 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
9276
9277 * mips.c (function_arg): Handle passing a struct
9278 containing a double in a DFmode register without the PARALLEL.
9279
9280 Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
9281
9282 * pexecute.c: Use spawn if __CYGWIN32__.
9283
9284 * pexecute.c: Include "config.h" first, as per autoconf manual
9285 (from Paul Eggert <eggert@twinsun.com>).
9286
9287 Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
9288
9289 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
9290 optimisation for f/expr.o and f/stb.o.
9291
9292 Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
9293
9294 * cse.c (this_insn_cc0_mode): Initialize.
9295
9296 Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
9297
9298 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
9299
9300 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
9301
9302 Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
9303
9304 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
9305 that pair will dual-issue on the 21164 and plus+beq won't.
9306 (bne): Likewise for cmpeq+beq.
9307
9308 Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
9309
9310 * except.c (find_exception_handler_labels): Correct argument to free.
9311
9312 Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
9313
9314 * except.c (find_exception_handler_labels): Free LABELS when we're
9315 done.
9316
9317 Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
9318
9319 * version.c: Bump for snapshot.
9320
9321 Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
9322
9323 * flow.c (find_basic_blocks): Mark calls as potentially jumping
9324 to the EH labels.
9325
9326 Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
9327
9328 * configure.in: Substitute for "install" too.
9329 * configure: Rebuilt.
9330
9331 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
9332
9333 * Makefile.in (bootstrap-lean, compare-lean): New targets.
9334
9335 Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
9336
9337 * alias.c (base_alias_check): Two symbols can conflict if they
9338 are accessed via AND.
9339 (memrefs_conflict_p): Likewise.
9340
9341 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
9342 after flushing argument registers to the stack.
9343
9344 * Makefile.in (mostlyclean): Remove .regmove files.
9345
9346 Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9347
9348 * libgcc2.c (__throw): Fix thinko.
9349
9350 Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
9351
9352 * cplus-dem.c (demangle_template): Add new parameter. Handle new
9353 template-function mangling.
9354 (consume_count_with_underscores): New function.
9355 (demangle_signature): Handle new name-mangling scheme.
9356
9357 Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
9358
9359 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
9360 start and end.
9361
9362 Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
9363
9364 * frame.c: Remove last change.
9365 * dwarf2.h: Remove last change.
9366 * tree.h: Add declarations of DWARF2 unwind info support
9367 functions.
9368
9369 Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
9370
9371 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
9372 * tree.h (built_in_function): Likewise.
9373 * expr.c (expand_builtin): Likewise.
9374 * except.h: Likewise.
9375 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
9376 * libgcc2.c (copy_reg): New fn.
9377 (__throw): Use it.
9378
9379 Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
9380
9381 * c-typeck.c (build_binary_op): Warn about comparing signed vs
9382 unsigned if -W is specified and -Wno-sign-compare is not.
9383 * c-decl.c (warn_sign_compare): Initialize to -1.
9384 (c_decode_option): -Wall no longer implies -Wsign-compare.
9385
9386 Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9387
9388 * frame.c: Include gansidecl.h for PROTO.
9389 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
9390 defined. Don't declare dwarf2out_cfi_label here.
9391 * dwarf2.h: Add declarations of DWARF2 unwind info support
9392 functions.
9393 * m68k.c: Include dwarf2.h.
9394 (output_function_prologue): Add dwarf2 support.
9395 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
9396 (INCOMING_FRAME_SP_OFFSET): Likewise.
9397
9398 * integrate.c (expand_inline_function): Make sure there is at
9399 least one insn that can be used as an insertion point.
9400
9401 Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
9402
9403 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
9404
9405 Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
9406
9407 * version.c: Bump for snapshot.
9408
9409 Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
9410
9411 Bring over from FSF.
9412
9413 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
9414
9415 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
9416 (get_pc_via_rdpc): Renamed from get_pc_sp64.
9417 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
9418
9419 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
9420
9421 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
9422 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
9423 -malign-functions=.
9424 (sparc_align_{loops,jumps,funcs}_string): Declare.
9425 (sparc_align_{loops,jumps,funcs}): Declare.
9426 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
9427 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
9428 (STACK_BIAS): Define.
9429 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
9430 test.
9431 (SPARC_SETHI_P): New macro.
9432 (CONST_OK_FOR_LETTER_P): Use it.
9433 (ASM_OUTPUT_ALIGN_CODE): Define.
9434 (ASM_OUTPUT_LOOP_ALIGN): Define.
9435 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
9436 (sparc_align_{loops,jumps,funcs}): New globals.
9437 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
9438 -malign-functions=.
9439 (move_operand): Use SPARC_SETHI_P.
9440 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
9441 perform test.
9442 (arith11_double_operand): Likewise.
9443 (arith10_double_operand): Likewise.
9444 (finalize_pic): Finish sparc64 support.
9445 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
9446 64 bit constants if able.
9447 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
9448 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
9449 ! TARGET_FPU.
9450 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
9451 (get_pc_sp32): Use for sparc64 as well.
9452 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
9453 (sethi_di_sp64_const): Likewise.
9454 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
9455 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
9456 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
9457
9458 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
9459
9460 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
9461 * sparc/linux.h (COMMENT_BEGIN): Likewise.
9462 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
9463
9464 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
9465
9466 Add sparc64 linux support.
9467 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
9468 to xm_file list on 32-bit sparc-linux.
9469 * sparc/xm-sp64.h: New file.
9470 * sparc/linux64.h: New file.
9471 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
9472 Don't include xm-sparc.h.
9473 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
9474 * glimits.h (LONG_MAX): Handle sparc64.
9475
9476 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
9477
9478 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
9479 * sparc.h (ASM_COMMENT_START): Define.
9480 * sparc.c (output_function_prologue): Use it.
9481 (sparc_flat_output_function_{epi,pro}logue): Likewise.
9482
9483 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
9484
9485 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
9486 use sparc.h's copies.
9487 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
9488 ascii form as well.
9489
9490 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9491
9492 * sparc.c (dwarf2out_cfi_label): Add declaration.
9493 (save_regs, output_function_prologue): Remove cast for it.
9494 (sparc_flat_{save_restore,output_function_prologue): Likewise.
9495 ({save,restore}_regs): No longer inline.
9496
9497 Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9498
9499 * fold-const.c (make_range): Correctly handle cases of converting
9500 from unsigned to signed type.
9501
9502 Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
9503
9504 * fold-const.c (merge_ranges): Make sure that if one range is subset
9505 of another, it will always be the second range. Correct (+,-) case to
9506 account for this.
9507
9508 Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
9509
9510 * final.c (final_end_function): Also do dwarf2 thing if
9511 DWARF2_DEBUGGING_INFO.
9512 (final_start_function): Likewise.
9513
9514 Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
9515
9516 * expmed.c (expand_divmod): If compute_mode is not the same as
9517 mode, handle the case where convert_modes() causes op1 to no
9518 longer be a CONST_INT.
9519
9520 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
9521 note holding get_jump_flags() calculation to all JUMP_INSNs.
9522 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
9523 * rtl.c (reg_note_name): Add new note types.
9524
9525 Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
9526
9527 * rtlanal.c (computed_jump_p): Fix typo in last change.
9528
9529 Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9530
9531 * loop.c (indirect_jump_in_function_p): Return 0
9532 by default.
9533
9534 Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
9535
9536 * rs6000/xm-rs6000.h: Fix thinko in last change.
9537 * rs6000/xm-sysv4.h: Likewise.
9538
9539 Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
9540
9541 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
9542
9543 Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
9544
9545 * reg-stack.c (find_blocks): Fix thinko in last change.
9546
9547 1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9548
9549 * m68k.c (output_function_prologue): Add dwarf2 support.
9550
9551 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
9552 INCOMING_FRAME_SP_OFFSET): New definitions.
9553
9554 Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
9555
9556 * combine.c (try_combine): Use NULL_RTX instead of '0' where
9557 appropriate in calls to gen_rtx().
9558 * cse.c (cse_main): Likewise.
9559 * emit-rtl.c (gen_label_rtx): Likewise.
9560 * expr.c (init_expr_once): Likewise.
9561 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
9562 sched_analyze, init_rgn_data_dependences,
9563 compute_block_backward_dependences): Likewise.
9564 * sched.c (schedule_insns): Likewise.
9565 * varasm.c (immed_double_const): Likewise.
9566
9567 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
9568 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
9569
9570 Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
9571
9572 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
9573 (MULTILIB_DEFAULTS): Define.
9574 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
9575 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
9576 (LIBGCC_SPEC): Likewise.
9577 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
9578 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
9579 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
9580 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
9581 (EXTRA_PARTS, TAROUTOPTS): Delete.
9582 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
9583 (MULTILIB_OPTIONS): Define.
9584 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
9585 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
9586
9587 Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
9588
9589 * version.c: Bump for snapshot.
9590
9591 Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
9592
9593 * loop.c (loop_number): Delete function. Change all references
9594 to use uid_loop_num array.
9595 * loop.h (loop_number): Delete declaration.
9596 * unroll.c (unroll_loop): Change "loop_number" references to
9597 use uid_loop_num instead.
9598
9599 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
9600 conditional.
9601 (loop_unroll_iter): Remove unused variable and all references.
9602 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
9603 (insert_bct): Fix minor formatting problems.
9604 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
9605 (loop_unroll_iter): Removed unused decl.
9606 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
9607 Always record the unrolling factor.
9608
9609 * cse.c (simplify_relational_operation): Set h0u just like h0s.
9610 Similarly for h1u and h1s.
9611
9612 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
9613 (find_basic_blocks): Use computed_jump_p to determine if a
9614 particular JUMP_INSN is a computed jump.
9615 * reg-stack.c (find_blocks): Use computed_jump_p to determine
9616 if a particular JUMP_INSN is a computed jump.
9617 * rtlanal.c (jmp_uses_reg_or_mem): New function.
9618 (computed_jump_p): Likewise.
9619 * rtl.h (computed_jump_p): Declare.
9620 * genattrtab.c (pc_rtx): Define and initialize.
9621 * loop.c (loop_optimize): Always determine if the current
9622 function has a computed jump.
9623 (indirect_jump_in_function_p): Use computed_jump_p to determine
9624 if a particular JUMP_INSN is a computed jump.
9625
9626 * loop.c (fix_bct_param): Delete unused function.
9627 (check_bct_param): Likewise.
9628
9629 Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
9630
9631 * frame.c (__deregister_frame): Check properly for initialized object.
9632
9633 Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9634
9635 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
9636
9637 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9638
9639 * jump.c (thread_jumps): check can_reverse_comparison_p before
9640 threading a reversed-condition jump.
9641
9642 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
9643 * haifa-sched.c (update_flow_info): Likewise.
9644
9645 Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
9646
9647 * Makefile.in (BOOT_CFLAGS): Use -O2.
9648
9649 * configure.in (strtoul, bsearch): Have autoconf check for these
9650 functions.
9651 * configure, config.in: Rebuilt.
9652
9653 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
9654 * mips/mips.h (alloca): Likewise.
9655 * rs6000/xm-rs6000.h (alloca): Likewise.
9656 * rs6000/xm-sysv4.h: Likewise.
9657
9658 Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
9659
9660 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
9661 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
9662 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
9663
9664 * except.c (end_eh_unwinder): Subtract 1 from return address.
9665 * libgcc2.c (__throw): Likewise.
9666 (find_exception_handler): Don't change PC here. Compare end with >.
9667
9668 Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
9669
9670 * v850.c (compute_register_save_size): Correct register
9671 number.
9672 * v850.md (save_interrupt, return_interrupt): Correct
9673 register number.
9674 * v850/lib1funcs.asm (save_interrupt): Correct register number.
9675 (return_interrupt): Use stack pointer, not element pointer.
9676
9677 1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
9678
9679 * configure.in, configure: Make sure to create the stage* and include
9680 symbolic links in each subdirectory.
9681
9682 Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
9683
9684 * pa.md (reload_peepholes): Don't allow addresses with side
9685 effects for the memory operand.
9686
9687 Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
9688
9689 * libgcc2.c (find_exception_handler): Subtract one from our PC when
9690 looking for a handler, to avoid hitting the beginning of the next
9691 region.
9692
9693 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
9694
9695 Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
9696
9697 * mips/abi64.h (LONG_MAX_SPEC): Define.
9698 * mips.h (LONG_MAX_SPEC): Define.
9699 (CPP_SPEC): Include long_max_spec.
9700 (EXTRA_SPECS): Include long_max_spec.
9701
9702 Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
9703
9704 * v850.c (construct_save_jarl): Fix thinko in last change.
9705
9706 Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
9707
9708 * version.c: Bump for snapshot.
9709
9710 Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
9711
9712 * libgcc2.c (find_exception_handler): Not found is -1.
9713
9714 * integrate.c (expand_inline_function): Move expand_start_bindings
9715 after expanding the arguments.
9716
9717 Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
9718
9719 * expr.c (expand_expr): Remove previous incorrect change.
9720 If target and slot has no DECL_RTL, then call mark_addressable
9721 again for the slot after we give it RTL.
9722
9723 Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
9724
9725 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
9726 again for the slot after we give it RTL.
9727
9728 Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
9729
9730 * v850.c (register_is_ok_for_epilogue,
9731 pattern_is_ok_for_epilogue, construct_restore_jr,
9732 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
9733
9734 * v850.h (pattern_is_ok_for_prologue,
9735 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
9736 predicates.
9737
9738 * v850.md: Replace prologue and epilogue patterns with a
9739 match_parallel pattern.
9740
9741 Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
9742
9743 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
9744 * configure.in: Use EGCS_PROG_INSTALL.
9745
9746 Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
9747
9748 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
9749 extern inline function.
9750
9751 Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
9752
9753 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
9754 (concat_loc_descriptor): New function.
9755 (loc_descriptor): Call it.
9756 (add_AT_location_description): Also elide the descriptor if both
9757 halves of a CONCAT are pseudos.
9758 (add_location_or_const_value_attribute): Recognize CONCAT too.
9759
9760 Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
9761
9762 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
9763
9764 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
9765 out-or-range reg_offset.
9766 (output_epilog): Likewise.
9767
9768 Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
9769
9770 * cse.c (simplify_relational_operation): If MODE specifies a
9771 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
9772 is derived from the sign bit of the low word.
9773
9774 Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
9775
9776 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
9777
9778 * dwarf2.h: Add DW_CFA_GNU_args_size.
9779 * frame.c (execute_cfa_insn): Likewise.
9780 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
9781 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
9782 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
9783 insn, hand it off to dwarf2out_stack_adjust.
9784 (dwarf2out_begin_prologue): Initialize args_size.
9785 * frame.h (struct frame_state): Add args_size.
9786 * libgcc2.c (__throw): Use args_size.
9787 * final.c (final_scan_insn): If we push args, hand off all insns
9788 to dwarf2out_frame_debug.
9789 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
9790
9791 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
9792 Handle epilogue restore of SP from FP.
9793 * emit-rtl.c (gen_sequence): Still generate a sequence if the
9794 lone insn has RTX_FRAME_RELATED_P set.
9795
9796 * frame.c (extract_cie_info): Handle "e" augmentation.
9797 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
9798 absence of UNALIGNED_*_ASM_OP.
9799 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
9800 (output_call_frame_info): Use "e" instead of "z" for augmentation.
9801 Don't emit augmentation fields length.
9802 (dwarf2out_do_frame): Move outside of #ifdefs.
9803 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
9804 opcodes.
9805
9806 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
9807 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
9808 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
9809 * sparc/sun4gas.h: New file.
9810 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
9811
9812 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
9813 __register_frame_table and __deregister_frame.
9814
9815 1997-09-15 Brendan Kehoe <brendan@cygnus.com>
9816
9817 * except.c (find_exception_handler_labels): Use xmalloc instead of
9818 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
9819 in some cases.
9820
9821 Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
9822
9823 * Makefile.in: Various changes to build info files
9824 in the object tree rather than the source tree.
9825
9826 Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
9827
9828 * fixinc.math: New file to fix math.h on some systems.
9829 * configure.in (freebsd, netbsd): Use fixinc.math on these
9830 systems.
9831 * configure: Rebuilt.
9832
9833 Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
9834
9835 * regmove.c (regmove_optimize): If we end up moving the
9836 original insn due to lifetime overlaps, make sure to move
9837 REG_NOTES too.
9838
9839 Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
9840
9841 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
9842
9843 Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
9844
9845 * haifa-sched.c (add_branch_dependences): Make each insn in
9846 a SCHED_GROUP_P block explicitly depend on the previous insn.
9847
9848 Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9849
9850 * except.h: Prototype dwarf2 hooks.
9851 * expr.c: Adjust.
9852
9853 Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
9854
9855 * configure.in (native_prefix): Delete.
9856 (mips-dec-netbsd): Don't set prefix.
9857 (*linux*): Don't set prefix.
9858
9859 Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
9860
9861 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
9862 defined. If not defined, include <sys/varargs.h> if
9863 HAVE_SYS_VARARGS_H is defined.
9864 * configure.in: Test for varargs.h and sys/varargs.h.
9865 * configure: Regenerate with autoconf.
9866 * config.in: Regenerate with autoheader.
9867
9868 * cpplib.c (quote_string): Cast first arg of sprintf call
9869 from "unsigned char *" to "char *".
9870 (output_line_command): Ditto.
9871 (macroexpand): Ditto.
9872 (do_line): Cast atoi arg from "unsigned char *" to "char *".
9873
9874 Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
9875
9876 * version.c: Bump for snapshot.
9877
9878 * Makefile.in (compare): Exit with nonzero status if there
9879 are comparison failures. Note which files failed the
9880 comparison test in .bad_compare.
9881
9882 Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9883
9884 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
9885
9886 Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
9887
9888 * Makefile.in (LN, LN_S): New macros, use where appropriate.
9889 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
9890 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
9891 * configure: Regenerated.
9892
9893 Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
9894
9895 * loop.c (strength_reduce): Fix typo.
9896
9897 Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
9898
9899 * m88k/m88k.c (struct option): Rename to struct options.
9900 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
9901 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
9902 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
9903 __DOLPHIN__ or sysV88.
9904
9905 Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
9906
9907 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
9908 create new subreg.
9909
9910 Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
9911
9912 * config.sub: Accept 'amigados' for backward compatability.
9913
9914 Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9915
9916 * Makefile.in (testsuite/site.exp): New target.
9917 (check-gcc, check-g++): Depend on testsuite/site.exp.
9918 Don't stop for failure.
9919
9920 Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
9921
9922 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
9923 if DWARF2_UNWIND_INFO.
9924
9925 Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
9926
9927 Add support for exception handling using DWARF 2 frame unwind info.
9928 Currently works on SPARC and MIPS, and almost on x86.
9929
9930 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
9931 next_stack_level, in_reg_window): Helper fns.
9932 (__throw): Implement for DWARF2_UNWIND_INFO.
9933
9934 * expr.c (expand_builtin): Handle builtins used by __throw.
9935 * tree.h (enum built_in_function): Add builtins used by __throw.
9936 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
9937 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
9938 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
9939 (expand_builtin_extract_return_addr): Likewise.
9940 (expand_builtin_frob_return_addr): Likewise.
9941 (expand_builtin_set_return_addr_reg): Likewise.
9942 (expand_builtin_eh_stub): Likewise.
9943 (expand_builtin_set_eh_regs): Likewise.
9944 (eh_regs): Choose two call-clobbered registers for passing back values.
9945
9946 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
9947 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
9948 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
9949 (stmp-multilib): Likewise.
9950 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
9951
9952 * except.c: #include "defaults.h".
9953 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
9954 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
9955 (register_exception_table_p): New fn.
9956 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
9957 (end_eh_unwinder): Likewise.
9958
9959 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
9960 call __register_frame and __deregister_frame as needed.
9961 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
9962 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
9963 EH_FRAME_SECTION_ASM_OP.
9964 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
9965 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
9966 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
9967
9968 * dwarf2out.c (output_call_frame_info): If no support for
9969 EXCEPTION_SECTION, mark the start of the frame info with a
9970 collectable tag.
9971 * collect2.c (frame_tables): New list.
9972 (is_ctor_dtor): Recognise frame entries.
9973 (scan_prog_file): Likewise.
9974 (main): Pass -fno-exceptions to sub-compile. Also do collection
9975 if there are any frame entries.
9976 (write_c_file_stat): Call __register_frame_table and
9977 __deregister_frame as needed.
9978 (write_c_file_glob): Likewise.
9979
9980 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
9981 Also require unaligned reloc support.
9982 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9983 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
9984 * sparc/sysv4.h: Not here.
9985
9986 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
9987 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
9988 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
9989
9990 * libgcc2.c (L_eh): Reorganize, moving code shared by different
9991 EH implementations to the top.
9992 (find_exception_handler): Split out. Start from 0. Compare against
9993 end with >=.
9994 (__find_first_exception_table_match): Use it.
9995 * except.c (output_exception_table): Don't do anything if there's
9996 no table. Don't output a first entry of zeroes.
9997 (eh_outer_context): Adjust properly.
9998 (add_eh_table_entry): Use xrealloc.
9999 * toplev.c (compile_file): Just call output_exception_table.
10000
10001 Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
10002
10003 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
10004
10005 Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
10006
10007 * except.c (eh_outer_context): Do masking using expand_and.
10008
10009 Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
10010
10011 Add port done awhile ago for the ARC cpu.
10012 * arc/arc.h: New file.
10013 * arc/arc.c: New file.
10014 * arc/arc.md: New file.
10015 * arc/initfini.c: New file.
10016 * arc/lib1funcs.asm: New file.
10017 * arc/t-arc: New file.
10018 * arc/xm-arc.h: New file.
10019 * ginclude/va-arc.h: New file.
10020 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
10021 * ginclude/varargs.h: Likewise.
10022 * Makefile.in (USER_H): Add va-arc.h.
10023 * configure.in (arc-*-elf*): Recognize.
10024 * longlong.h: Add ARC support.
10025
10026 Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
10027
10028 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
10029 when clearing non-BLKmode data.
10030
10031 Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
10032
10033 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
10034 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
10035
10036 * xm-m88k.h (USG): Only define if it hasn't already been defined.
10037
10038 * Makefile.in (risky-stage1): Delete gratutious whitespace.
10039
10040 * Makefile.in (clean): Delete libgcc1-test.
10041
10042 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
10043
10044 Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
10045
10046 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
10047 template.
10048
10049 Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10050
10051 * dwarf2out.c (output_call_frame_info): Call named_section.
10052
10053 Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
10054
10055 * haifa-sched.c (print_value): Fix last change.
10056
10057 Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
10058
10059 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
10060 write_symbols.
10061
10062 Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
10063
10064 * mips.c (function_prologue): Set up the CFA when ABI_32.
10065
10066 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
10067 for dwarf2 unwind info.
10068 (output_function_prologue, sparc_flat_output_function_prologue): Same.
10069
10070 * final.c (final_end_function): Check dwarf2out_do_frame instead
10071 of DWARF2_DEBUG for dwarf2 unwind info.
10072 (final_scan_insn): Likewise.
10073 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
10074 (final): Not here.
10075
10076 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
10077 count > 0.
10078
10079 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
10080
10081 Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
10082
10083 * v850.h (ASM_SPEC): Pass on target processor.
10084 (CPP_PREDEFINES): Only define if not already specified.
10085 (TARGET_VERSION): Only define if not already specified.
10086 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
10087 processor.
10088 (EXTRA_SWITCHES): Extra entries in the switches array.
10089 (TARGET_DEFAULT): Set default target processor.
10090
10091 Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
10092
10093 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
10094 cases, add %# and %/, and add : to make them into extended asms.
10095
10096 Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
10097
10098 * alias.c (init_alias_analysis): Clean up incompatible pointer
10099 type warning in bzero.
10100 * regmove.c (regmove_optimize): Ditto.
10101 * haifa-sched.c (find_rgns): Ditto.
10102
10103 * haifa-sched.c (print_value): Clean up ptr->int cast
10104 warnings.
10105
10106 Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
10107
10108 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
10109 * install.texi (Configurations): Ditto.
10110 * config.sub: Ditto.
10111
10112 Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
10113
10114 * Makefile.in (sdbout.o): Depend on insn-config.h.
10115
10116 Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
10117
10118 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
10119 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
10120
10121 Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
10122
10123 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
10124 prologue insn, only the first elt is significant.
10125 (output_call_frame_info): For exception handling, always use 4-byte
10126 fields as specified by the dwarf2 spec.
10127 Don't skip trivial FDEs.
10128
10129 Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
10130
10131 * version.c: Bump for snapshot.
10132
10133 Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
10134
10135 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
10136 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
10137 when op1_is_pow2.
10138
10139 Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
10140
10141 * final.c (shorten_branches): During first pass, assume worst
10142 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
10143
10144 * Makefile.in (distclean): Remove various things left around
10145 by running the testsuite.
10146
10147 Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
10148
10149 * configure.in (out_file): Emit definition to config.status in order
10150 to have a defined value for configure.lang.
10151 * configure: Re-built.
10152
10153 Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
10154
10155 * configure.in: Make symlink to as-new rather than as.new. Similarly
10156 for ld-new.
10157 * configure: Rebuilt.
10158
10159 Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
10160
10161 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
10162
10163 Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
10164
10165 * sparc/sparc.md: Add ultrasparc scheduling support.
10166 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
10167
10168 Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10169
10170 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
10171 as initial value for real_label_map.
10172 (copy_for_inline): Likewise.
10173
10174 Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10175
10176 * sched.c (update_flow_info) When looking if to set found_split_dest
10177 or found_orig_dest, look at all parts of a PARALLEL.
10178 * haifa-sched.c (update_flow_info): Likewise.
10179
10180 Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
10181
10182 * v850: New directory for v850 port.
10183 * v850/lib1funcs.asm: New file.
10184 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
10185 * ginclude/va-v850.h: New file.
10186 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
10187 * configure.in (mn10200-*-*): New target.
10188 * configure: Rebuilt.
10189 * config.sub: Handle v850-elf.
10190 * Makefile.in (USER_H): Add va-mn10200.h.
10191 * invoke.texi: Document v850 stuff.
10192
10193 Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
10194
10195 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
10196 has integer TYPE_{MAX,MIN}_VALUE before using them.
10197
10198 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
10199 __HPUX_ASM__ versions.
10200
10201 Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
10202
10203 * install.sh: Delete duplicate install script.
10204
10205 Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
10206
10207 * reg-stack.c (subst_stack_regs): Pop the stack register for a
10208 computed goto which sets the same stack register.
10209
10210 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
10211 destination are both on the regstack.
10212 (subst_stack_regs_pat): Put the destination at the top of the regstack.
10213
10214 Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
10215
10216 * mips.md (nonlocal_goto_receiver): Define.
10217
10218 * profile.c (output_arc_profiler): Check next_insert_after for non
10219 NULL before deferencing it.
10220
10221 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
10222
10223 Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
10224
10225 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
10226
10227 Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
10228
10229 * toplev.c (rest_of_compilation): For passes starting with
10230 flow_analysis, use print_rtl_with_bb instead of print_rtl.
10231
10232 * print-rtl.c (print_rtl_single): Print a single rtl value to a
10233 file.
10234
10235 * flow.c (print_rtl_with_bb): Print which insns start and end
10236 basic blocks. For the start of a basic block, also print the live
10237 information.
10238
10239 Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
10240
10241 * toplev.c (main): Change #elif to #else/#ifdef
10242
10243 * tlink.c: Include ctype.h.
10244 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
10245
10246 Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
10247
10248 * bitmap.c: Conditionally include stdlib.h.
10249 (free): Provide a declaration if NEED_DECLARATION_FREE.
10250
10251 Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
10252
10253 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
10254
10255 Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
10256
10257 * profile.c (output_arc_profiler): Verify next_insert_after is an
10258 INSN before and after skipping a stack pop.
10259
10260 Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10261
10262 * final.c (shorten_branches): Don't count the lengths of deleted
10263 instructions.
10264
10265 Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
10266
10267 * version.c: Bump for snapshot.
10268
10269 Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
10270
10271 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
10272 two bitmaps ANDed together.
10273 (bitmap_print): Declare.
10274
10275 * bitmap.c (function_obstack): Don't declare any more.
10276 (bitmap_obstack): Obstack for allocating links from.
10277 (bitmap_obstack_init): New static to say whether to initialize
10278 bitmap_obstack.
10279 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
10280 (bitmap_release_memory): Free all memory allocated from
10281 bitmap_obstack.
10282
10283 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
10284 EXECUTE_IF_AND_IN_BITMAP.
10285
10286 Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
10287
10288 * alias.c (true_dependence): Address with AND can alias scalars.
10289 (anti_dependence, output_dependence): Likewise.
10290
10291 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
10292
10293 Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
10294
10295 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
10296 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
10297 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
10298 definitions. Use -qrtems instead of -mrtems.
10299
10300 Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
10301
10302 * xm-sco5.h (sys_siglist): Define.
10303 (SYS_SIGLIST_DECLARED): Likewise.
10304
10305 Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
10306
10307 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
10308
10309 Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
10310
10311 * except.c (eh_outer_context): Expand masking operation using
10312 expand_binop.
10313
10314 Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
10315
10316 * alpha.md (floatdisf2-1): New pattern.
10317
10318 Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
10319
10320 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
10321 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
10322 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
10323 * gcc.texi: Note that if you define sys_siglist that you should
10324 also define SYS_SIGLIST_DECLARED.
10325
10326 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
10327 are relative to the next instruction, not the current instruction.
10328
10329 Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
10330
10331 * local-alloc.c (contains_replace_regs): New function.
10332 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
10333 verify that there is no existing REG_EQUIV note, and add a call to
10334 contains_place_regs.
10335
10336 Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10337
10338 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
10339 (STARTFILE_SPEC): Always use crtbegin.o%s
10340 (ENDFILE_SPEC): Always use crtend.o%s.
10341
10342 Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
10343
10344 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
10345 is passed in.
10346 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
10347 SFmode for 64 bit hosts.
10348
10349 Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
10350
10351 * fixincludes: Permits spaces between # and define. Discard C++
10352 comments in sys/pci.h on HP/UX 10.20.
10353
10354 Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
10355
10356 * version.c: Bump for snapshot.
10357
10358 * pa.c (restore_unscaled_index_insn_codes): New function.
10359 (record_unscaled_index_insn_codes): Likewise.
10360 (output_function_prologue): Call restore_unscaled_index_insn_codes.
10361 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
10362 (pa_reorg): Call record_unscaled_index_insn_codes.
10363
10364 * haifa-sched.c (move_insn): Handle notes correctly for insns
10365 with SCHED_GROUP_P set.
10366
10367 Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10368
10369 * alpha/xm-linux.h (USE_BFD): Undef before define.
10370
10371 Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
10372
10373 * cse.c (cse_insn): Don't record BLKmode values.
10374
10375 Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
10376
10377 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
10378
10379 Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
10380
10381 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
10382 * collect2.c (sys_errlist): Likewise.
10383 * cpplib.c (sys_errlist): Likewise.
10384 * gcc.c (sys_errlist): Likewise.
10385 * protoize (sys_errlist): Likewise.
10386 * configure.in: Check for strerror.
10387 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
10388 * xm-gnu.h (HAVE_STRERROR): Likewise.
10389 * xm-linux.h (HAVE_STRERROR): Likewise.
10390 * xm-netbsd.h (HAVE_STRERROR): Likewise.
10391 * xm-bsd386.h (HAVE_STRERROR): Likewise.
10392 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
10393 * xm-dos.h (HAVE_STRERROR): Likewise.
10394 * xm-mingw32.h (HAVE_STRERROR): Likewise.
10395 * xm-pa.h (HAVE_STRERROR): Likewise.
10396 * xm-papro.h (HAVE_STRERROR): Likewise.
10397 * xm-sysv4.h (HAVE_STRERROR): Likewise.
10398 * configure, config.in: Rebuilt.
10399
10400 * Makefile.in: Add several missing "else true" clauses.
10401
10402 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
10403 * mips-tfile.c: Likewise.
10404 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
10405 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
10406 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
10407 * configure.in: Check for sys_siglist declaration.
10408 * configure, config.in: Rebuilt.
10409
10410 Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
10411
10412 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
10413 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
10414 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
10415 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
10416 * rs6000/sysv4.h (extra_subtarget_switches): Added new
10417 macro EXTRA_SUBTARGET_SWITCHES.
10418 * configure.in (sh*-*-rtems*): New target.
10419 * sh/rtems.h: New file.
10420 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
10421 * configure: Rebuilt.
10422
10423 Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
10424
10425 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
10426
10427 Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
10428
10429 * rs6000.md: Make DF fused-add operations pay attention to
10430 -mno-fused-add.
10431
10432 Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
10433
10434 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
10435
10436 Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
10437
10438 * pa.md (reload_peepholes): Make sure operand is a REG before
10439 examining REGNO. Allow general registers too.
10440
10441 Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
10442
10443 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
10444
10445 Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
10446
10447 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
10448 to reallocate abbrev_die_table.
10449
10450 Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
10451
10452 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
10453
10454 1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10455
10456 * Makefile.in (config.status): Depend on version.c
10457
10458 * expr.h (insn_gen_function): Reenable prototype.
10459
10460 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
10461 first parameter.
10462
10463 Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
10464
10465 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
10466
10467 Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
10468
10469 * version.c: Bump for latest snapshot.
10470
10471 * bc-optab.c: Conditionally include stdlib.h.
10472 (free): Provide a declaration if NEED_DECLARATION_FREE.
10473 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
10474 * rtl.h (free): Remove declaration.
10475 * tree.h (free): Remvoe declaration.
10476
10477 * configure: Rebuilt.
10478
10479 Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
10480
10481 * flags.h (flag_move_all_movables): Declare.
10482 (flag_reduce_all_givs): Likewise.
10483 * loop.c (move_movables): Handle flag_move_all_movables.
10484 (strength_reduce): Handle flag_reduce_all_givs.
10485 * toplev.c (flag_move_all_movables): Define.
10486 (flag_reduce_all_givs): Likewise.
10487 (f_options): Add -fmove-all-movables and -freduce-all-givs.
10488 * invoke.texi: Document new options, including alias stuff that
10489 wasn't included last time.
10490
10491 Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
10492
10493 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
10494 * t-mn10200: Ditto.
10495 * t-vxsparc: Ditto.
10496 * t-vxworks68: Ditto.
10497 * t-vxworks960: Ditto.
10498 * t-vx29k: Ditto.
10499
10500 Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
10501
10502 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
10503 if not already defined, and USE_C_ALLOCA not defined.
10504
10505 Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
10506
10507 * config.guess: Replace with script that uses ../config.guess.
10508
10509 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
10510 if USE_GNULIBC_1 is not defined.
10511
10512 Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
10513
10514 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
10515 * config.guess: Recognize alpha-linux-gnulibc1.
10516 * configure.in (alpha-*-linux-gnulibc1): New target.
10517 (alpha-*-linux-gnu*): Don't build crtbegin/end.
10518
10519 Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
10520
10521 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
10522 last change.
10523
10524 Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
10525
10526 * loop.c (combine_movables): Earlier insns don't match later ones.
10527
10528 Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10529
10530 * config/linux.h (CC1_SPEC): Define it only if not defined.
10531
10532 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
10533 <linux.h>
10534
10535 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
10536 USE_GNULIBC_1 is not defined.
10537
10538 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
10539
10540 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
10541 as 1 if USE_GNULIBC_1 is not defined.
10542
10543 Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
10544
10545 * reorg.c (dbr_schedule): Allow current_function_return_rtx
10546 to be something other than a REG.
10547 * function.c (expand_function_end): Fix current_function_return_rtx
10548 if it was a pseudo.
10549
10550 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
10551 * x-netbsd: Likewise
10552 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
10553 (INSTALL_HEADERS): Delete.
10554 * x-dguxbcs: Likewise.
10555 * x-hp3bsd44: Likewise
10556 * x-pa: Likewise.
10557
10558 Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
10559
10560 * i386.md (pop): pop increments the stack pointer.
10561 (prologue_set_stack_ptr): New pattern.
10562 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
10563 instead of subsi3.
10564
10565 Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
10566
10567 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
10568 address where an offsettable address is required.
10569
10570 Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
10571
10572 * loop.c (check_final_value): Don't miss a biv increment in a
10573 parallel.
10574
10575 Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
10576
10577 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
10578 TYPE_DECL_IS_STUB instead of DECL_NAME.
10579
10580 Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10581
10582 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
10583
10584 Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
10585
10586 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
10587
10588 Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
10589
10590 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
10591 (find_post_sched_live): Likewise.
10592
10593 * haifa-sched.c (schedule_block): Remove old code to get arguments
10594 from hard regs into pseudos early.
10595
10596 Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
10597
10598 * version.c: Bump for new snapshot.
10599
10600 * local-alloc.c (update_equiv_regs): All the target to reject
10601 promotion of some REG_EQUAL to REG_EQUIV notes.
10602 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
10603
10604 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
10605 secondary reloads.
10606
10607 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
10608 store of the argument registers.
10609
10610 Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
10611
10612 * fold-const.c (multiple_of_p): New function.
10613 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
10614
10615 Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
10616
10617 * expr.h (insn_gen_function): Temporarily remove prototype.
10618
10619 Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
10620
10621 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
10622 filenames. Use sed to extract base filename for install.
10623
10624 Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
10625
10626 * unroll.c (find_splittable_givs): Only share if two givs have the
10627 same add and multiply values.
10628
10629 Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
10630
10631 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
10632 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
10633
10634 Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
10635
10636 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
10637 around branch tables.
10638 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
10639 and .end_brtab directives if TARGET_GAS.
10640
10641 Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
10642
10643 * alias.c (true_dependence): Pass x_addr not x to varies.
10644
10645 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
10646 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
10647 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
10648 declarations.
10649 * config.in, configure: Regenerate.
10650
10651 Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
10652
10653 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
10654 LO_SUM.
10655 (record_set): Handle LO_SUM like PLUS.
10656 (init_alias_analysis): When following chains of base addresses,
10657 do not stop on reaching a hard register.
10658
10659 Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
10660
10661 * version.c: Bump for new snapshot.
10662
10663 Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
10664
10665 * alpha.h (ARCH_ASM_FILE_START): Define.
10666 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
10667 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
10668
10669 Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
10670
10671 * Makefile.in (install-common): Put gcov comment at start of line.
10672
10673 Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
10674
10675 * alias.c (init_alias_analysis): When simplifying the reg_base_value
10676 array, simplify entries for hard registers too.
10677
10678 Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
10679
10680 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
10681 list.
10682
10683 Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
10684
10685 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
10686 block_stack before dereferencing it.
10687
10688 Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
10689
10690 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
10691
10692 Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
10693
10694 * cplus-dem.c: Add 'extern' to prepends_underscore.
10695
10696 Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
10697
10698 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
10699 (get_issue_rate): Delete.
10700 * pa.h (ISSUE_RATE): Define.
10701
10702 * configure.in: Turn on haifa by default for the PA.
10703 * configure: Rebuilt.
10704 * pa.c (override_options): Accept -mschedule=7200 option.
10705 (pa_adjust_cost): No longer need to scale costs for newer
10706 processors.
10707 * pa.h (enum processor_type): Add PROCESSOR_7200.
10708 * pa.md: Revamp scheduling parameters to work better with
10709 haifa. Add scheduling parameters for the 7200.
10710
10711 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
10712 insns too.
10713 (schedule_block): When adjusting basic_block_{head,end}, account
10714 for movement of SCHED_GROUP_P insns too.
10715
10716 * haifa-sched.c (debug_dependencies): Fix thinko.
10717
10718 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
10719 (site.exp, check, check-g++, check-gcc): New targets.
10720
10721 * haifa-sched.c: Make lots of variables static.
10722
10723 Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10724
10725 * expr.h, real.h: Finish prototyping.
10726
10727 Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
10728
10729 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
10730 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
10731 * reload1.c: Undo bugfix from Aug 11.
10732
10733 Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
10734
10735 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
10736 quotes around the name.
10737 * configure: Regenerate.
10738
10739 Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
10740
10741 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
10742
10743 Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
10744
10745 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
10746 to sub-makes to avoid building more passes than the user might have
10747 requested on the command line.
10748
10749 Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
10750
10751 * configure.in: Expurgate `broken_install' (install is
10752 autoconfed).
10753
10754 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
10755 relevant).
10756
10757 Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
10758
10759 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
10760 functions and declarations.
10761 (analyze_loop_iterations): Use condjump_p.
10762 (insert_bct): Likewise. Use exact_log2.
10763
10764 Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
10765
10766 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
10767 (schedule_region): Likewise.
10768 (schedule_insns): Likewise.
10769
10770 * PROJECTS: Update with Haifa stuff.
10771
10772 Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
10773
10774 * version.c: Change the version string to look like:
10775 egcs-2.90.00 970814 (gcc2-970802 experimental).
10776
10777 * loop.c (is_conditional_branch): Make definition match declaration.
10778
10779 * gcc.c: Take out experimental snapshot warning message.
10780
10781 Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
10782
10783 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
10784 print out the names of the notes. Print out the name of the insn
10785 that is not a note, and not an {,CALL_,JUMP_}INSN.
10786
10787 Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
10788
10789 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
10790 again for the slot after we give it RTL.
10791
10792 Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
10793
10794 * configure.in (haifa configury): Fix typo.
10795 * configure: Regenerate.
10796
10797 Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
10798
10799 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
10800
10801 * gcc.info*: Rebuilt.
10802
10803 * COPYING.g77, README.g77: New files.
10804 * real.c (ereal_unto_float, ereal_unto_double): New functions.
10805 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
10806 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
10807
10808 Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
10809
10810 * Integrate Haifa instruction scheduler.
10811 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
10812 to sched with $(SCHED_CFLAGS.
10813 * configure.in: Handle --enable-haifa.
10814 * configure: Rebuilt.
10815 * flags.h: Add new flags for haifa instruction scheduler.
10816 * genattrtab.c (expand_units): For haifa, don't subtract one
10817 when computing blockage.
10818 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
10819 (flag_schedule_speculative): Ditto.
10820 (flag_schedule_speculative_load): Ditto.
10821 (flag_schedule_speculative_load_dangerous): Ditto.
10822 (flag_schedule_reverse_before_reload): Ditto.
10823 (flag_schedule_reverse_after_reload): Ditto.
10824 (flag_branch_on_count_reg): Ditto.
10825 (f_options): Add Haifa switches.
10826 (main): Turn off some Haifa options if appropriate macro is
10827 defined. Process Haifa switches.
10828 * unroll.c (iteration_info): No longer static, since Haifa
10829 scheduler uses it.
10830 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
10831 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
10832 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
10833 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
10834 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
10835 storage for the Haifa scheduler.
10836 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
10837 LABEL_NEXTREF.
10838 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
10839 are defined, call analyze_loop_iterations and insert_bct to use
10840 countdown loops.
10841 (record_giv): Refine test for jumps out of loops if HAIFA is
10842 defined.
10843 (analyze_loop_iterations): New function to identify if we can use
10844 a countdown loop.
10845 (insert_bct): Insert countdown loop.
10846 (instrument_loop_bct): Low level code to insert countdown loop.
10847 (loop_number): Calculate UID of loop.
10848 (indirect_jump_in_function_p): Return true if an indirect jump is
10849 in the function.
10850 (is_power_of_2): Return true if value is a power of 2.
10851 (is_conditional_branch): Return true if insn is a conditional
10852 jump.
10853 (fix_bct_param): Process -fbct-{min,max}-N switches.
10854 (check_bct_param): Return true if loop should be instrumented.
10855 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
10856 (loop_optimize): Initialize.
10857 (get_condition_for_loop): Ditto.
10858 * loop.c (strength_reduce): Inside of code that uses #ifdef
10859 HAVE_decrement_and_branch_on_count code, test it to make sure the
10860 condition is true.
10861 (instrument_loop_bct): Ditto.
10862 * haifa-sched.c: New file.
10863
10864
10865 * Integrate regmove pass.
10866 * Makefile.in (OBJS): Add regmove.o
10867 (regmove.o): Add dependencies.
10868 * flow.c (find_use_as_address): No longer static.
10869 * rtl.h (find_use_as_address): Declare.
10870 * toplev.c (regmove_dump, flag_regmove): Define.
10871 (f_options): Add -fregmove.
10872 (regmove_dump_file, regmove_time): Define.
10873 (fatal_insn): Close the regmove dump file.
10874 (compile_file): Initialize regmove_time; open/close the regmove dump
10875 file as needed. Print regmove time as needed.
10876 (rest_of_compilation): Run regmove pass if requested, dump
10877 RTL after regmove if requested.
10878 (main): If -O2 or more, turn on regmove. Handle dump switches.
10879 * regmove.c: New file.
10880
10881 Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
10882
10883 * Integrate tlink patch from jason@cygnus.com
10884 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
10885 (process_command): Increment n_switches for them. Don't discard
10886 their args. Validate them.
10887 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
10888 From Rohan Lenard.
10889 (process_command): Set include_prefixes from COMPILER_PATH.
10890 (main): Set COLLECT_GCC_OPTIONS sooner.
10891 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
10892 * tlink.c, hash.c, hash.h: New files.
10893 * Makefile.in (USE_COLLECT2): Always use collect2.
10894 (collect2): Depend on and link in hash.o and tlink.o.
10895 (tlink.o, hash.o): Add dependencies.
10896
10897 Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
10898
10899 * Integrate alias analysis changes from jfc@mit.edu
10900 * Makefile.in (OBJS): Add alias.o
10901 (alias.o): Add dependencies.
10902 * alias.c: New file.
10903 * sched.c: Remove alias analysis code. It lives in alias.c now.
10904 (sched_analyze_2): Add new arguments to true_dependence.
10905 (schedule_insns): Always call init_alias_analysis.
10906 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
10907 mark return value from such functions as a pointer and keep track of
10908 them for alias analysis. If a return value from a function is a
10909 pointer, mark it as such.
10910 * combine.c (distribute_notes): Handle REG_NOALIAS.
10911 * cse.c (struct write_data): Delete. No longer needed.
10912 (invalidate): Don't call set_nonvarying_address_components anymore.
10913 Use true_dependence to decide if an entry should be removed from
10914 the hash table.
10915 (invalidate_memory): Remove WRITES argument, simplify appropriately.
10916 Fix all callers.
10917 (note_mem_written): Similarly for WRITE_PTR argument.
10918 (invalidate_from_clobbers): Similarly for W argument.
10919 (invalidate_for_call): Remove memory elements from the hash table.
10920 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
10921 (cse_rtx_varies_p): New function. Derived from old
10922 cse_rtx_addr_varies_p.
10923 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
10924 Don't call note_mem_written anymore. Stack pushes invalidate the stack
10925 pointer if PUSH_ROUNDING is defined. No longer need to call
10926 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
10927 (skipped_writes_memory): Remove variable.
10928 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
10929 (invalidate_skipped_block): Simplify for new alias analysis code.
10930 (cse_set_around_loop): Likewise.
10931 (cse_main): Call init_alias_analysis.
10932 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
10933 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
10934 (f_options): Add new alias checking arguments.
10935 (main): Set flag_alias_check when optimizing.
10936 * local_alloc (validate_equiv_mem_from_store): Add new arguments
10937 to true_dependence.
10938 (memref_referenced_p): Likewise.
10939 * loop.c (NUM_STORES): Increase to 30.
10940 (prescan_loop): Only non-constant calls set unknown_address_altered.
10941 (invariant_p): Add new arguments to true_dependence.
10942 (record_giv): Initialize unrolled and shared fields.
10943 (emit_iv_add_mult): Call record_base_value as needed.
10944 * loop.h (struct induction): Add unrolled and shared fields.
10945 * unroll.c (unroll_loop): Call record_base_value as needed.
10946 (copy_loop_body): Likewise.
10947 (final_biv_value): Likewise.
10948 (final_giv_value): Likewise.
10949 (find_splittable_regs): Likewise. Only create one new pseudo
10950 if we have multiple address GIVs that were combined with the same
10951 dst_reg GIV. Note when a new register is created due to unrolling.
10952 * rtl.c (reg_note_name): Add REG_NOALIAS.
10953 * rtl.h (enum reg_note): Similarly.
10954 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
10955 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
10956 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
10957 (true_dependence, read_dependence, anti_dependence): Likewise.
10958 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
10959 (mark_user_reg, mark_reg_pointer): Likewise.
10960
10961
10962 * Integrate reload bugfix from Wilon which enables the PA port
10963 to bootstrap again.
10964 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
10965 OPERAND_ADDRESS when computing how many registers an insn needs.
10966 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
10967 conflict.
10968 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
10969 OPADDR_ADDR reload.
10970 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
10971 in reload_reg_use_in_op_addr do not reach the end.
10972 do not reach the end.
10973 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
10974 RELOAD_FOR_OPERAND_ADDRESS.
10975
10976 Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
10977
10978 * egcs project officially starts.
10979
10980 Local Variables:
10981 add-log-time-format: current-time-string
10982 End: