]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Undo June 11th change
[gcc.git] / gcc / ChangeLog
CommitLineData
a7db2896
MM
1Mon Jun 15 15:33:45 1998 Michael Meissner <meissner@cygnus.com>
2
3 * regmove.c: Undo June 11th change for now.
4
d61d494a
JL
5Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
6
7 * version.c: Bump for snapshot.
8
a08432bd
KW
9Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
10
11 * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
12 redefining it.
13
a4ea8d97
DE
14Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
15
16 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
416db271 17 (ENDFILE_SPEC): Add -lgloss.
a4ea8d97 18
38831dfe
KG
19Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20
21 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
22 (large_int): Likewise.
23 (pc_or_label_operand): Likewise.
24 (call_insn_operand): Likewise.
25 (consttable_operand): Likewise.
26 (m16_uimm3_b): Likewise.
27 (m16_simm4_1): Likewise.
28 (m16_nsimm4_1): Likewise.
29 (m16_simm5_1): Likewise.
30 (m16_nsimm5_1): Likewise.
31 (m16_uimm5_4): Likewise.
32 (m16_nuimm5_4): Likewise.
33 (m16_simm8_1): Likewise.
34 (m16_nsimm8_1): Likewise.
35 (m16_uimm8_1): Likewise.
36 (m16_nuimm8_1): Likewise.
37 (m16_uimm8_m1_1): Likewise.
38 (m16_uimm8_4): Likewise.
39 (m16_nuimm8_4): Likewise.
40 (m16_simm8_8): Likewise.
41 (m16_nsimm8_8): Likewise.
42 (m16_usym8_4): Likewise.
43 (m16_usym5_4): Likewise.
44 (mips_move_1word): Change type of variable `i' from int to size_t.
45 (mips_move_2words): Likewise.
46 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
47 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
48 (function_arg): Likewise.
49 (function_arg_partial_nregs): Mark parameter `named' with
50 ATTRIBUTE_UNUSED.
51 (override_options): Use ISDIGIT instead of isdigit.
52 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
53 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
54 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
55 function `fatal' to long before printing. Use
56 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
57 times in this function.
58 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
59 (function_epilogue): Likewise for parameters `file' and `size'.
60 Print an int with "%d" not "%ld".
61 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
62 (mips_function_value): Likewise for parameter `func'.
63 (function_arg_pass_by_reference): Likewise for parameters `cum'
64 and `named'.
65 (extend_operator): Likewise for parameter `mode'
66 (highpart_shift_operator): Likewise.
67
68 * mips.md (mul_acc_si): Remove unused variable `macc'.
69
77a45a2e
RH
70Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
71
72 * fold-const.c (fold): Revert last change. It breaks constant
73 expressions somehow.
74
8d62b411
AS
75Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
76
77 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
78 prevent operands from being evaluated twice.
79
cac45626
SO
80Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
81
82 * toplev.c (lang_options): Add -remap as a preprocessor option.
83
9bc6d2c2
JW
84Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
85
86 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
87 which set CC_REVERSED since reload should ensure that
88 the operands are already the correct type.
89
fb95c8c9
JW
90Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
91
92 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
93 calling gen_rtx_SET.
94
95009288
DE
95Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
96
97 * config/rs6000/x-aix43 (AR): Delete.
98 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
99
bf6f78d1
DS
100Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
101
102 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
103
45cc4c09
JW
104Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
105
106 * mips.c (override_options): Replace word_mode with explicit
107 TARGET_64BIT check.
108
ecb75b7a
MM
109Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
110
111 * regmove.c (regmove_optimize): If we can't replace the
112 destination in an insn that sets the source, generate an explicit
113 move of the source to the destination.
114 (copy_src_to_dest): New function.
115 (toplevel): Include basic-block.h
116
117 * Makefile.in (regmove.o): Add basic-block.h dependencies.
118
8e34149d
DB
119Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
120
121 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
122
8358a974
MM
123Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
124
125 * rtl.h (rtx_def): Improve documentation.
126 (MEM_IN_STRUCT_P): Likewise.
127
e80716de
GS
128Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
129
130 * c-decl.c (start_decl): Correct test for -Wmain.
131
b3fbc9ad
GS
132 * c-decl.c (grokdeclarator): Remove unused variable "last".
133
3e2b9a3d
JW
134Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
135
136 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
137 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
138 Delete code storing value in static_chain_rtx.
139 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
140 to second expand_expr call.
141
748b909e
MM
142Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
143
144 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
145
e061d1ce
DB
146Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
147
148 * cppmain.c (fatal): New function.
149 * configure.in (cpp_main): New configuration variable.
150 * configure: Regenerated.
e80716de
GS
151 * Makefile.in (CCCP): Use a configuration variable to select basex
152 for cccp.
e061d1ce
DB
153 (cppmain$(exeext)): Add @extra_cpp_objs@.
154
a0d85b75
DB
155Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
156
157 * objc/objc-act.c: Add cpplib declarations.
158 (lang_decode_option): Initialize cpplib if necessary.
159 (lang_decode_option): New argc/argv interface.
160 * tree.h (lang_decode_option): New argc/argv interface.
161 * toplev.c (lang_options): Add cpp options.
162 (main): New interface for lang_decode_option.
163 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
164 unless -E, -M or -MM is specified.
165 * cpplib.h (cpp_handle_option): New function.
166 * cpplib.c (cpp_handle_option): New function.
167 (cpp_handle_options): Now calls cpp_handle_option.
168 * c-tree.h (c_decode_option): New argc/argv interface.
169 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
170 * c-lang.c (lang_decode_option): New argc/argv interface.
171 * c-decl.c: Add cpplib declarations.
172 (c_decode_option): New argc/argv interface.
173 (c_decode_option): Call cpp_handle_option.
174 (c_decode_option): Now returns number of strings processed.
175
95193030
RE
176Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
177
178 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
179 changes. Abort if the undo fails.
180
e74e8c84
VM
1811998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
182
183 * config/rs6000/rs6000.c (output_prolog): Change locations and
184 directions of saving and restoring arguments of main on the stack.
185
0254c561
JC
186Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
187
188 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
189 for each alternative. Do not replace a CONST_INT with a REG unless
190 the reg is cheaper.
191
0365438d
JL
192Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
193
07fb7f79
JL
194 * decl.c (init_decl_processing): Fix typo.
195
bfed8dac
JL
196 * mips.c (gpr_mode): New variable.
197 (override_options): Initialize gpr_mode.
198 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
199 determine size and offset of general purpose registers save slots.
200 (save_restore_insns, mips_expand_prologue): Similarly.
201
0365438d
JL
202 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
203 between constant representations when we have (SUBREG (REG)) with
204 REG equivalent to a constant.
205
e6bcfef9
JS
206Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
207
208 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
209
ac1fdb22
RH
210Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
211
212 * fold-const.c (fold): Even with otherwise constant trees, look for
213 opportunities to combine integer constants.
214
1c5d60f5
JW
215Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
216
9d932d43
JW
217 * i386.c (notice_update_cc): Clear cc_status.value2 in the
218 case of UNSPEC 5 (bsf).
219
1c5d60f5
JW
220 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
221 conditional move instructions don't support signed integer
222 comparisons.
223
f1be41ad
NC
224Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
225
226 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
227 overlfows.
228
229 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
230 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
231 <glctr@abc.it>.
232
0d3453df
AM
233Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
234
235 * except.c (expand_start_catch): Rename to start_catch_handler.
236 (expand_end_catch): Delete function.
237 (expand_end_all_catch): Remove catch status that expand_end_catch
238 use to do.
239 * except.h (expand_start_catch): Rename prototype.
240 (expand_end_catch): Delete prototype.
241
3398f47f
MM
242Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
243
244 * invoke.texi: Add documentation for -mips4 and -mabi=*.
245
6805ef53
KK
246Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
247
248 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
249 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
250 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
251
9ae4ec46
JC
252Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
253
254 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
255 as the threshold to permit splitting memory operations.
256
624a8b3a
JL
257Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
258
1c5d60f5
JW
259 * mips.c (gpr_mode): New variable.
260 (override_options): Initialize gpr_mode.
261 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
262 determine size and offset of general purpose registers save slots.
263 (save_restore_insns, mips_expand_prologue): Similarly.
264
624a8b3a
JL
265 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
266 (LIBGCC2_CFLAGS): Remove -fexceptions.
267 (LIB2FUNCS): Remove "_eh".
268 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
269 it with -fexceptions.
270
271 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
272 * local-alloc.c (block_alloc): Avoid creating false
273 dependencies for targets which use instruction scheduling.
274
674576f1
RH
275Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
276
277 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
278 (ASM_FINISH_DECLARE_OBJECT): Define;
279 * mips/elf64.h: Likewise.
280
5dd57225 281Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
602ad236 282
5dd57225 283 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
b8211569 284
5dd57225 285Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
ac4bac77
JL
286
287 * version.c: Bump for snapshot.
288
a2f270cc
DE
289Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
290
291 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
292 (mulsidi3_ppc64): Delete.
293
50b2596f
KG
294Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
295
296 * Makefile.in (varasm.o): Depend on dbxout.h.
297 (cse.o): Depend on toplev.h and output.h.
298 (gcse.o): Depend on output.h.
299
300 * mips.c: Include system.h and toplev.h and remove redundant code.
301 Include output.h after tree.h so all its prototypes get activated.
302 * mips.md (table_jump): Remove unused variable `dest'.
303
304 * sparc.h: Add prototype for `v8plus_regcmp_op'.
305
306 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
307 with __attribute__ ((__unused__)).
308 (__frame_dummy): Provide prototype before use, wrap it with
309 EH_FRAME_SECTION_ASM_OP.
310
311 * cse.c: Move inclusion of <setjmp.h> above local headers.
312 Include toplev.h and output.h.
313
314 * dbxout.h: Add prototype for `dbxout_begin_function'.
315
316 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
317 ASM_OUTPUT_MAX_SKIP_ALIGN.
318
319 * gcse.c: Include system.h and output.h.
320 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
321 Make extern instead of static.
322 (compute_can_copy): Only declare variables `reg' and `insn' when
323 AVOID_CCMODE_COPIES is not defined.
324 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
325 (hash_scan_clobber): Likewise for `x' and `insn'.
326 (hash_scan_call): Likewise.
327 (record_last_set_info): Likewise for `setter'.
328 (mark_call): Likewise for `pat'.
329 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
330
331 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
332 length parameter so that it multiplies the number of elements by
333 the sizeof(element).
334
335 * output.h: Add prototype for `weak_finish'.
336
337 * recog.h: Likewise for `validate_replace_src'.
338
339 * rtl.h: Likewise for `optimize_save_area_alloca',
340 `fix_sched_param', `purge_addressof', `gcse_main',
341 `regmove_optimize', `dbr_schedule', `branch_prob' and
342 `end_branch_prob'.
343
344 * toplev.h: Likewise for `set_float_handler' and
345 `output_quoted_string'.
346
347 * varasm.c: Include dbxout.h.
348
33d7a521
JW
349Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
350
351 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
352 GP_REG_P. Use gr_regs instead of GR_REGS.
353
cb923660
KR
354Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
355 Jeff Law <law@cygnus.com>
356
357 * Revamped multiply support for MIPS chips.
358 * mips.c (extend_operator): New function.
359 (highpart_shift_operator): Likewise.
360 * mips.h: Declare new functions.
361 (PREDICATE_CODES): Add support for new predicates.
362 * mips.md (mulsi3 expander): Simplify.
363 (mulsi_mult3): Add another constraint alternative. Support
364 3 operand multiply instructions as found on various mips
365 parts.
366 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
367 (mul_acc_si): New pattern and associated splitters.
368 (mulsidi3 expander): Rework to use mulsidi3_64bit and
369 mulsidi3_internal.
370 (umulsidi3): New expander.
371 (mulsidi3_internal): Accept either sign or zero extended
372 operands and generate code as appropriate appropriately.
373 (mulsidi3_64bit): Similarly.
374 (smulsi3_highpart): Turn into an expander and generate code
375 to match new patterns.
376 (umulsi3_highpart): Likewise.
377 (xmulsi3_highpart_internal): New pattern.
378 (maddi patterns): Delete. Replace with:
379 (mul_acc_di, mul-acc_64bit_di): New patterns.
380
a1622f83
AM
381Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
382
383 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
384 flag_new_exceptions runtime flag.
385 (struct old_exception_table): New struct which represents what
386 the exception table looks like without the new model.
387 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
388 flag that this is a new style table.
389 * except.h: Remove compile time flag NEW_EH_MODEL.
390 (expand_builtin_eh_stub_old): New prototype.
391 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
392 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
393 * c-decl.c (init_decl_processing): Add new builtin function
394 __builtin_eh_stub_old.
395 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
396 * flags.h (flag_new_exceptions): New runtime flag.
397 * toplev.c (flag_new_exceptions): Initialize default to 0,
398 -fnew-exceptions sets to 1.
399 * except.c (output_exception_table_entry): Output New style exception
400 identifier into table, and replace compile time flag NEW_EH_MODEL
401 with runtime flag flag_new_exceptions.
402 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
403 (expand_builtin_eh_stub_old): Duplicates original functionality of
404 expand_builtin_eh_stub.
405 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
406 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
407 (old_find_exception_handler): New func, same as find_exception_handler
408 except it works on the old style exception table.
409 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
410 of identifier in the exception table, and call appropriate routines.
411
aeb302bb
JM
412Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
413
414 * function.c: Define current_function_cannot_inline.
415 (push_function_context_to): Save it.
416 (pop_function_context_from): Restore it.
417 * function.h (struct function): Provide it a home.
418 * output.h: Declare it.
419 * integrate.c (function_cannot_inline_p): Check it.
420
8b015896 421Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
9a14a3ab 422
8b015896
RH
423 * expr.c (force_operand): Detect PIC address loads before
424 splitting arithmetic.
2b4065a4 425
8b015896 426Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
209c9866
JL
427
428 * version.c: Bump for snapshot.
429
79990a39
GS
430Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
431
432 * tree.c (tree_class_check): Add braces to eliminate ambigious
433 else warning.
434 (tree_check): Likewise.
435
49fa02d9
L
436Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
437
438 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
439 stack is the destination for conditional move insn.
440
52267fcb
JM
441Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
442
443 * tree.h (TREE_VEC_END): Cast unused value to void.
444
445 * i386.c (print_operand): Use %lx for long operand.
446
2b01d264
RH
447Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
448
449 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
450
cb9e12a7
JC
451Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
452
453 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
454 conversion functions.
455
b53beeb2
RH
456Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
457
458 * toplev.c (flag_exceptions): Default to 0.
459 (compile_file): Remove flag_exceptions == 2 hack.
460 (main): Call lang_init_options.
461 * tree.h: Declare it.
462 * c-lang.c: Implement it.
463 * objc/objc-act.c: Likewise.
464
dfdfa60f
DE
465Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
466
467 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
468 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
469 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
470 (output_function_profiler): Use asm_fprintf and fputs.
471
83e0821b
KG
472Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
473
474 * gencheck.c: Remove redundant stdio.h include. Add a definition
475 of xmalloc for when we are forced to link with alloca.o.
476
477 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
478 instead of `1U'.
479
480 * fold-const.c (constant_boolean_node): Make definition static to
481 match the prototype.
482
6ff0d2a0
PB
483Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
484
485 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
486 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
487 (do_spec, input_filename, input_filename_length): Make public.
488 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
489 Call lang_specific_pre_link befor elinking.
490
2db45993
JL
491Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
492
493 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
494 the insn which has the most insns dependent on it.
495
74186471
JC
496Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
497
498 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
499
989f090c
RH
500Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
501
502 * alpha.md (insxh-1): New insxl pattern for combine.
503
b657fc39
L
504Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
505
506 * i386/i386.c (output_fp_conditional_move): New function
507 to output floating point conditional move.
508 (output_int_conditional_move): New function to output integer
509 conditional move.
510
511 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
512 output_int_conditional_move () to output int conditional move.
513 (movsfcc+5, movdfcc+5, movxfcc+5): Call
514 output_fp_conditional_move () to output floating point
515 conditional move.
516
517 * i386/i386.c (put_condition_code): In INT mode, check
518 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
519
202fe2d6
DB
520Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
521
522 * dbxout.c (dbxout_type): Output arrays of bits as if
523 they were bitstrings for Chill
524
a260abc9
DE
525Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
526
527 * tree.c (get_inner_array_type): New function.
528 * tree.h (get_inner_array_type): Prototype.
529 * expr.h (STACK_SAVEAREA_MODE): New macro.
530 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
531 STACK_SAVEAREA_MODE.
532 (expand_builtin_longjmp): Likewise.
533 * explow.c (emit_stack_save): Likewise.
534 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
535
536 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
537 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
538 * rs6000/aix43.h: New file.
539 * rs6000/t-aix43: New file.
540 * rs6000/x-aix41: New file.
541 * rs6000/x-aix43: New file.
542 * configure.in (rs6000-ibm-aix*): Use them.
543 * rs6000/powerpc.h: Delete.
544 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
545 * rs6000/netware.h: and here.
546 * rs6000/win-nt.h: and here.
547
548 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
549 MASK_POWERPC64.
550 (rs6000_override_options): Ignore flag_pic for AIX.
551 (rs6000_immed_double_const): Delete.
552 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
553 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
554 (num_insns_constant): mask64_operand() is 2 insns.
555 (logical_operand): Don't assume 32-bit CONST_INT.
556 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
557 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
558 (mask_constant): HOST_WIDE_INT parameter.
559 (non_and_cint_operand): Delete.
560 (mask64_operand): New function.
561 (and64_operand): New function.
562 (function_arg_advance): DImode arguments do not need special
563 alignment when 64-bit.
564 (function_arg): Likewise.
565 (setup_incoming_varargs): Reverse reg_size assignment.
566 (print_operand): HOST_WIDE_INT second parameter.
567 (print_operand, 'B'): New case.
568 (print_operand, 'M'): Fix typo in lossage string.
569 (print_operandm 'S'): New case.
570 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
571 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
572 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
573 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
574 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
575 (rs6000_allocate_stack_space): Use {cal|la}.
576 (output_epilog): Use {cal|la}
577 (output_function_profiler): Add call glue to mcount call.
578 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
579
580 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
581 (STACK_BOUNDARY): Depend on TARGET_32BIT.
582 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
583 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
584 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
585 64-bit mask operand.
586 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
587 (STACK_SAVEAREA_MODE): New macro.
588 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
589 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
590 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
591 (ASM_FILE_START): Emit 64-bit ABI directive.
592 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
593 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
594 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
595 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
596
597 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
598 Restore define_splits.
599 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
600 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
601 Do not specify base register operand mode.
602 (floatsidf2_loadaddr): Do not specify base register operand mode.
603 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
604 register; do not specify mode. Remove !TARGET_POWERPC64 final
605 constraint.
606 (floatsidf2_load): Do not specify base register operand mode. Remove
607 !TARGET_POWERPC64 final constraint.
608 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
609 base register operand mode.
610 (adddi3): Split large constants early.
611 (absdi3): Shift by 63, not 31.
612 (*mulsidi3_ppc64): New pattern.
613 (rotldi3): Add masking combiner patterns.
614 (anddi3): Add rldic{r,l} masking. Remove split of large constants
615 because PPC insns zero-extend.
616 (iordi3, xordi3): Split large constants early.
617 (movsi matcher): Remove S and T constraints.
618 (movsf const_double): create SImode constant from TARGET_DOUBLE.
619 (movdf_hardfloat32): Add default abort() case.
620 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
621 (movdi): Remove 64-bit constant generator. Try to convert
622 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
623 (movdi_32): Add default abort() case.
624 (movdi_64): Add numerous ways to split 64-bit constants.
625 Make catch-all define_split more optimal and never FAIL.
626 (movti_ppc64): Add default abort() case.
627 (allocate_stack): Remove operand modes. Use Pmode.
628 (restore_stack_block): Remove operand modes. Generate Pmode
629 temporary.
630 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
631 temporary. Save area is double Pmode.
632 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
633 (call, call_value): Do not specify address operand mode. Choose
634 appropriate AIX ABI.
635 (*call_local64, *ret_call_local64): New patterns.
636 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
637 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
638 (compare): Materialize DImode truthvalues.
639
ff439b5f
CB
640Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
641
642 * expr.c (safe_from_p): Avoid combinatorial explosion
643 over duplicate SAVE_EXPRs by ensuring we never recurse
644 on one that has already been visited.
645
7d2a46a8
GS
646Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
647
648 * loop.c (check_dbra_loop): Initialise final_value before
649 normalizing the loop.
650
f5470689
R
651Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
652
653 * reload1.c (reload_reg_free_for_value_p): New arguments out and
654 reloadnum. Changed all callers.
655
9b91d8f4
UD
6561998-06-03 Ulrich Drepper <drepper@cygnus.com>
657
658 * system.h: Add _() and N_() macros in preparation for gettext.
659
7fdc2757
AS
660Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
661
bc516719
AS
662 * c-common.c (check_format_info): Put back check for C9x `hh'
663 length modifier. Warn about %n format writing into const. Remove
664 obsolete comment.
9b91d8f4 665 (format_char_info): Fix comments.
bc516719 666
7fdc2757
AS
667 * configure.in: Set float_format to m68k for all m68k targets that
668 do not override LONG_DOUBLE_TYPE_SIZE.
669 * config/float-m68k.h: New file.
670
dc2a47ed
RH
671Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
672
673 * jump.c (jump_optimize): Remove debug messages accidentally left in
674 with the previous change.
675
f0348c25
RH
676Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
677
678 * expr.c (store_expr): Revert stray patch associated with
679 1998-05-23 commit.
680
4f4f436f
RH
681Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
682
683 * jump.c (rtx_unsafe_p): New function.
684 (jump_optimize): Use it on if/then/else transformations and
685 conditional move transformations.
686
df0e526f
AS
687Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
688
689 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
690 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
691 Cope with CONST being out of range for the bitfield.
692
2638126a
BS
693Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
694
695 * expr.c (emit_move_insn_1): When moving complex values in several
696 steps, emit a CLOBBER to show the destination dies.
697
6c8538cc
JL
698Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
699
ccdb9251
JL
700 * Makefile.in (site.exp): Use the object testsuite directory as
701 the temporary directory.
702
6c8538cc
JL
703 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
704 address of an ADDRESSOF rtx.
705
0bc02db4
MS
7061998-06-02 Mike Stump <mrs@wrs.com>
707
708 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
709 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
710 * i960.md (ret, flush_register_windows): Define.
711 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
712 work yet.
713 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
714
d46f7484
RH
715Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
716
717 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
718 around an OSF/1 library bug wrt sign-extension of inputs.
719
e3c81d20
RH
720Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
721
722 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
723
44ec7e59 724Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
9b91d8f4 725
44ec7e59
CM
726 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
727
728 * varasm.c (assemble_variable): Augment alignment warning.
729
9224220f
MM
730Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
731
732 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
733 in the presence of IEEE negative 0's.
734
726e2d54
JW
735Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
736
737 * reload.c (find_reloads): Record the existing mode if
738 operand_mode == VOIDmode before replacing a register with
739 a constant.
740 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
741 i386_compare_op1 to const0_rtx for the benefit of the
742 conditional move patterns.
743 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
744 based on suggestions from Jim Wilson.
745
97f959a5
JL
746Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
747
748 * version.c: Bump for snapshot.
749
b5662334
BK
750Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
751
752 * Makefile.in (fixinc.sh): Update rules again.
753
674032e2
JL
754Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
755
756 * extend.texi: Bring back reference to trampoline paper.
757
758Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
759
760 * Makefile.in (USER_H): Add stdbool.h.
761 * ginclude/stdbool.h: New file.
762
d3903c22
JL
763Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
764
c71407f9
JL
765 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
766 of a non-note insn.
767
d3903c22
JL
768 * gcse.c (pre_delete): Fix code to determine the mode of
769 the reaching pseudo register.
770
8376d400
BS
771Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
772
773 * Makefile.in (GEN): Add gencheck
774 (STAGESTUFF): Add tree-check.h and gencheck.
775
71d085b0
BK
776Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
777
778 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
779 (fixinc.sh): Set some additional environment variables before
780 calling mkfixinc.sh.
781
f4d1453e
JL
782Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
783
784 * reload.c (find_reloads): Do not force a reloads of match_operators.
9b91d8f4 785
9f8e6243
AM
786Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
787
788 * except.h (remove_handler): Add new prototype.
789 * except.c (remove_handler): New function to remove handlers
790 from an exception region.
791 * flow.c (find_basic_blocks_1): Remove handlers from regions when
792 handler label is deleted; remove exception regions with no handlers.
793
d05a5492
MM
794Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
795
796 * except.h (rtx): Define rtx type correctly if needed.
797 * function.h (rtx): Ditto.
798 (tree): Define tree type correctly if needed.
799
800 * c-pragma.c (toplevel): Include rtl.h.
801
802 * stor-layout.c (toplevel): Move include of rtl.h before
803 except.h.
804
805 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
806 (tree.o): Add except.h dependency.
9b91d8f4 807
ed385fd9
JL
808Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
809
5bc80b30
JL
810 * reload1.c: Revert accidental checkin.
811
ed385fd9
JL
812 * configure.lang: Fix thinko when adding a definition for
813 target_alias to the Makefile.
814
00c26dc2
CM
815Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
816
9b91d8f4 817 * config/sparc/lb1spc.asm (.rem and .urem): Replace
00c26dc2
CM
818 routines.
819
d499463f
RE
820Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
821
822 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
823 variable warnings. Don't generate scratch registers if only
824 counting insns.
825 (find_barrier): Eliminate unused variable SRC.
826
62fe00be
MH
8271998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
828
829 * toplev.h (rtx_def): Provide global declaration to avoid
830 `limited scope' warnings.
831
1a4bf22f
MK
832Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
833
834 * Makefile.in (gencheck.o): Use HOST_CC.
835 * i386/t-mingw32: New file.
836 * configure.in (i386-*-mingw32*): Use.
837
4d818c85
RE
838Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
839
840 * arm.c (bad_signed_byte_operand): New predicate function.
841 * arm.h (PREDICATE_CODES): Add it to the list.
842 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
843 can't handle.
844 (define_split): Two new splits for above insns.
845
ad076f4e
RE
846 * arm.c: Include toplev.h.
847 (arm_override_options): Add parentheses around use of tune_flags.
848 (arm_split_constant): Remove unused variable.
849 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
850 (output_func_prologue, arm_expand_prologue): Likewise.
851 (arm_canonicalize_comparison): Make I unsigned; rework constants
852 accordignly. Add missing paratheses around << operation.
853 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
854 clause.
855 ({load,store}_multiple_sequence): Initialize BASE_REG.
856 (select_dominance_cc_mode): Add DEFAULT clauses.
857 (broken_move): Return zero if the destination is not a register.
858 (arm_reorg): Move unused REGNO declaration into the dead code.
859 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
860
a1ec8ea1
JL
861Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
862
863 * version.c: Bump for snapshot.
864
c7f58590
JL
865Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
866
867 * version.c: Bump for snapshot.
868
33b019ad
DB
869Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
870
871 * cpperror.c (v_cpp_message): Remove static prototype.
872 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
873 * cpplib.h (v_cpp_message): Add protoptype.
874 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
875
61819ba5
JL
876Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
877
878 * version.c: Bump for snapshot.
879
f5c57ba7
JL
880Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
881
882 * version.c: Bump for snapshot.
883
7a87758d
AS
8841998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
885
886 * m68k.h: Declare more functions used in macros.
887 (REG_CLASS_CONTENTS): Completely embrace initializer.
888 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
889 about returning no value.
890 * cse.c (find_best_addr): Declare p and found_better only if
891 needed.
892 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
893 * dwarfout.c (string_length_attribute): #if 0 away.
894 * function.c (expand_function_end): Define varible blktramp only
895 if needed.
896 * jump.c (find_insert_position): Define only if !HAVE_cc0.
897 * loop.c (combine_givs_p): Define variable tem only if needed.
898 * real.c: Comment out unused functions eabs, eround,
899 e{24,53,64,113}toasc and eiinfin.
900
901
10ad38ca
AO
902Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
903
904 * Makefile.in (boostrap2-lean, bootstrap3-lean,
905 bootstrap4-lean): New targets.
906
57fec042
JL
907Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
908
909 * warn_summary, test_summary: Moved into the contrib directory.
910
97263b8c
MH
9111998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
912
e7f62ad3
MH
913 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
914 of the Makefile.
915 (FLOAT_H_TEST): Likewise.
916 (ENQUIRE): Likewise.
917 (float.h-nat): Likewise.
918 (float.h-cross): Likewise.
919 (enquire): Likewise.
920 (enquire.o): Likewise.
921 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
922 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
923 no-op.
924 (FLOAT_H): Remove old float.h-nat version; move current definition
925 to CROSS_FLOAT_H location.
926 (all.cross): Remove comments about enquire stuff.
927
8d45987f
MH
928 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
929 (rest.encap): Likewise.
e7f62ad3 930 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
8d45987f 931
97263b8c
MH
932 * toplev.h (tree_node): Provide global declaration to avoid
933 `limited scope' warnings.
934
a8c24967
RL
935Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
936
937 * test_summary: Display section breaks for each entry
938 in a multilibbed target's output.
939
bd070e1a
RH
9401998-05-23 Richard Henderson <rth@cygnus.com>
941
942 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
943 offset's mode is not ptr_mode, convert it.
944
697073d9
JM
9451998-05-22 Jason Merrill <jason@yorick.cygnus.com>
946
947 * fold-const.c (ssize_binop): New fn.
948 * tree.h: Declare it.
949
07704a9a
RE
950Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
951
9b91d8f4 952 * genextract.c (print_path): Handle zero-length path as a special
07704a9a
RE
953 case.
954
911c3b7d
HPN
955Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
956
957 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
958
75197b37
BS
959Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
960
961 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
962 (shorten_branches, final_scan_insn): Test value of
963 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
964 is defined.
965 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
966 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
28ec9418 967 * arm/tcoff.h: Likewise.
75197b37
BS
968 * i386/386bsd.h: Likewise.
969 * i386/freebsd-elf.h: Likewise.
970 * i386/freebsd.h: Likewise.
971 * i386/netbsd.h: Likewise.
972 * i386/ptx4-i.h: Likewise.
973 * i386/sysv4.h: Likewise.
974 * pa/pa.h: Likewise.
975 * rs6000/linux.h: Likewise.
976 * rs6000/rs6000.h: Likewise.
977 * sh/sh.h: Likewise.
978 * sparc/sp64-elf.h: Likewise.
979 * v850/v850.h: Likewise.
980 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
981 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
982
1a29f703
R
983Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
984
985 * regmove.c (gen_add3_insn): New function.
986 (fixup_match_2): Use it instead of calling gen_addsi3.
987
aee21ba9
JL
988Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
989
37433f49
JL
990 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
991
aee21ba9
JL
992 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
993 address.
994
12b195d9
ML
995Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
996
997 * Makefile.in (TREE_H): Add tree-check.h.
998 (tree-check.h, gencheck): New targets.
999 * gencheck.c: New file.
1000 * tree.c (tree_check, tree_class_check): New functions.
1001 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
1002 (TYPE_CHECK, DECL_CHECK): Define.
1003 Modify all access macros to use generated checking macros.
1004
9e423e6d
JW
1005Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
1006
1007 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
1008 * configure.in: Check for it.
1009 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
1010 * final.c (uid_align, uid_shuid, label_align): Make static.
1011 (label_align): Change type to struct label_alignment pointer.
1012 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
1013 (LABEL_TO_MAX_SKIP): Define.
1014 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
1015 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
1016 (shorten_branches): Record the maximum bytes to skip when
1017 aligning a label.
1018 (final_scan_insn): Use the maximum bytes to skip when aligning a label
1019 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1020 * i386.h (LOOP_ALIGN_MAX_SKIP,
1021 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
1022 * i386.c (override_options): i386_align_jumps and i386_align_loops
1023 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1024 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
1025
1cc75298
MM
10261998-05-21 Mark Mitchell <mmitchell@usa.net>
1027
1028 * cplus-dem.c (do_type): Handle volatile qualification.
9b91d8f4 1029
178ca02d
PB
1030Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
1031
1032 * function.c (init_function_start): Don't call emit_line_note if
1033 lineno is 0. (Can happen when compiling Java .class files.)
1034
cecbf6e2
R
1035Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1036
1037 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
1038 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
1039
b52ce03d
R
1040Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1041
1042 * combine.c (nonzero_bits): For paradoxical subregs, take
1043 LOAD_EXTENDED_OP into account.
1044
c8724862
DB
1045Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
1046
1047 * configure.in (extra_c_objs): add prefix.o.
1048 (extra_cxx_objs): extra objects for C++ with cpplib.
1049 * configure: Regenerate.
1050
1051 * c-tree.h: (get_directive_line): Different prototype for cpplib.
1052 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
1053
1054 * c-lex.h: (get_directive_line): Not needed here for cpplib.
1055
1056 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
1057 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
1058
1059 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
1060 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
1061
fd97443c
KG
1062Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1063
1064 * gengenrtl.c (type_from_format, accessor_from_format): Change
1065 type of parameter `c' from `char' to `int'.
1066
0e4347ce
JL
1067Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
1068
2a3edac9
JL
1069 * warn_summary, test_summary: New scripts from
1070 Kaveh Ghazi and Alexandre Oliva respectively.
1071
0e4347ce
JL
1072 * gcse.c (current_function_calls_longjmp): Declare.
1073
4e5a8d7b
JM
10741998-05-20 Jason Merrill <jason@yorick.cygnus.com>
1075
1076 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
1077
7506f491
DE
1078Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
1079 Jeff Law (law@cygnus.com)
1080
1081 * Global CSE and constant/copy propagation.
1082 * Makefile.in (OBJS): Add gcse.o
1083 (STAGESTUFF): Add *.gcse.
1084 (gcse.o): Add dependencies.
1085 (mostlyclean): Remove *.gcse and */*.gcse.
1086 * gcse.c: New file.
1087 * loop.c (loop_optimize): Move call to init_alias_analysis.
1088 * recog.c (validate_replace_src): New function.
1089 * toplev.c (gcse_dump): New global variable.
1090 (flag_gcse, gcse_time): Likewise.
1091 (compile_file): Initialize gcse_time and clean out the gcse dump
1092 file if necessary.
1093 (rest_of_compilation): Call gcse_main as requested. Dump RTL
1094 after gcse if requested.
1095 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
1096 dumps for -da.
1097 * gcc.texi: Add gcse related internal documentation.
1098 * invoke.texi: Note new command line options for gcse.
1099 * tm.texi: Document AVOID_CCMODE_COPIES.
1100 * mips.h (AVOID_CCMODE_COPIES): Define.
1101
40859b41
JL
1102Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
1103
1104 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
1105 exists.
aef1617c 1106 (stmp-fixproto): Simlarly for running fixproto.
40859b41
JL
1107 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
1108
f85c8be7
JW
1109Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
1110
1111 * config/mips/mips.c (double_memory_operand): Accept any MEM during
1112 reload when TARGET_64BIT.
1113
c7391272
JW
1114Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
1115
1116 Finish incomplete change started by Kenner.
1117 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
1118 (powerpcle-*-cygwin32): Delete xm_defines.
1119 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
1120 HAVE_STAB_H instead of NO_STAB_H.
1121 * config/xm-linux.h (NO_STAB_H): Delete.
1122 (HAVE_STAB_H): Undefine.
1123 * config/i386/xm-go32.h (NO_STAB_H): Delete.
1124
af02da67
JW
11251998-05-19 Jim Wilson <wilson@cygnus.com>
1126
1127 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
1128 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
1129
79edd21c
TV
1130Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
1131
1132 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
1133
6e684430
R
1134Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1135
1136 * reload1.c (reload_reg_free_for_value_p): New function.
1137 (allocate_reload_reg, choose_reload_regs): Use it.
1138
7ecb5d27
AM
1139Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1140
1141 * except.c (expand_start_catch): Correct logic for when to
1142 generate a new handler label, and when to use the old one.
1143
487a6e06
KG
1144Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1145
1146 * Makefile.in (print-rtl.o): Depend on bitmap.h.
1147 (dbxout.o): Depend on toplev.h.
1148 ($(SCHED_PREFIX)sched.o): Likewise.
1149 ($(out_object_file)): Likewise for system.h and toplev.h.
1150 (cppmain.o): Depend on gansidecl.h.
1151 (cpplib.o): Likewise.
1152 (cpperror.o): Likewise.
1153 (cppexp.o): Likewise.
1154 (cpphash.o): Likewise.
1155 (cppalloc.o): Likewise.
1156 (fix-header.o): Depend on cpplib.h and cpphash.h.
1157 (scan-decls.o): Depend on gansidecl.h.
1158
1159 * basic-block.h (free_regset_vector): Add prototype.
1160
1161 * cccp.c (check_precompiled): Mark parameter `fname' with
1162 ATTRIBUTE_UNUSED.
1163 (do_assert): Likewise for `op' and `keyword'.
1164 (do_unassert): Likewise.
1165 (do_line): Likewise for `keyword'.
1166 (do_error): Likewise for `op' and `keyword'.
1167 (do_warning): Likewise.
1168 (do_ident): Likewise for `keyword'.
1169 (do_pragma): Likewise for `limit', `op' and `keyword'.
1170 (do_sccs): Likewise.
1171 (do_if): Likewise for `keyword'.
1172 (do_elif): Likewise.
1173 (do_else): Likewise.
1174 (do_endif): Likewise.
1175
1176 * collect2.c (getenv): Remove redundant prototype.
1177 (collect_exit, collect_execute, dump_file): Likewise.
1178 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
1179 (dump_prefix_list): Hide prototype and definition.
1180
1181 * sparc.c: Include toplev.h.
1182 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1183 (symbolic_memory_operand): Likewise.
1184 (sp64_medium_pic_operand): Likewise.
1185 (data_segment_operand): Likewise.
1186 (text_segment_operand): Likewise.
1187 (splittable_symbolic_memory_operand): Likewise.
1188 (splittable_immediate_memory_operand): Likewise.
1189 (eq_or_neq): Likewise.
1190 (normal_comp_operator): Likewise.
1191 (noov_compare_op): Likewise.
1192 (v9_regcmp_op): Likewise.
1193 (v8plus_regcmp_op): Likewise.
1194 (extend_op): Likewise.
1195 (cc_arithop): Likewise.
1196 (cc_arithopn): Likewise.
1197 (small_int): Likewise.
1198 (uns_small_int): Likewise.
1199 (clobbered_register): Likewise.
1200 (legitimize_pic_address): Likewise.
1201 (delay_operand): Likewise.
1202 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
1203
1204 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
1205 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
1206
1207 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
1208
1209 * cppalloc.c: Include gansidecl.h.
1210
1211 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
1212 (cpp_file_line_for_message): Mark parameter `pfile' with
1213 ATTRIBUTE_UNUSED.
1214 (v_cpp_message): New function.
1215 (cpp_message): Use it. Also convert to variable arguments.
1216 (cpp_fatal): Likewise.
1217 (cpp_pfatal_with_name): Constify parameter `name'.
1218
1219 * cppexp.c: Move gansidecl.h before cpplib.h.
1220 * cpphash.c: Likewise.
1221 * cpphash.h (hashf, delete_macro): Add prototypes.
1222
1223 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
1224 cpplib.h. Don't include errno.h.
1225 (update_path): Add arguments to prototype.
1226 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
1227 cpp_print_containing_files): Remove redundant prototypes.
1228 (cpp_hash_cleanup, add_import, append_include_chain,
1229 make_assertion, path_include, initialize_builtins,
1230 initialize_char_syntax, finclude, validate_else, comp_def_part,
1231 lookup_import, redundant_include_p, is_system_include,
1232 read_name_map, read_filename_string, open_include_file,
1233 check_macro_name, compare_defs, compare_token_lists,
1234 eval_if_expression, change_newlines): Add prototype arguments.
1235 (hashf): Remove redundant prototype.
1236 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
1237 conditional_skip, skip_if_group): Add prototype arguments.
1238 (fdopen): Remove redundant prototype.
1239 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
1240 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
1241 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
1242 (struct directive): Add prototype arguments to function pointer
1243 member `func'.
1244 (handle_directive): Add missing arguments to call to `do_line'.
1245 (do_include): Mark parameters `unused1' and `unused2' with
1246 ATTRIBUTE_UNUSED.
1247 (do_line): Likewise for `keyword' and new parameters `unused1' and
1248 `unused2'.
1249 (do_error): Likewise for `keyword'.
1250 (do_warning): Likewise. Also add missing argument `pfile' in call
1251 to cpp_pedwarn.
1252 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
9b91d8f4 1253 ATTRIBUTE_UNUSED.
487a6e06
KG
1254 (do_ident): Likewise for `keyword', `buf' and `limit'.
1255 (do_pragma): Likewise. Also add missing arguments in call to do_once.
1256 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
9b91d8f4 1257 ATTRIBUTE_UNUSED.
487a6e06
KG
1258 (do_if): Likewise for `keyword'.
1259 (do_elif): Likewise.
1260 (eval_if_expression): Likewise for `buf' and `length'.
1261 (do_xifdef): Likewise for `unused1' and `unused2'.
1262 (do_else): Likewise for `keyword', `buf' and `limit'.
1263 (do_endif): Likewise.
1264 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
1265 (cpp_handle_options): Remove superfluous NULL argument in call to
1266 cpp_fatal.
1267 (cpp_handle_options): Likewise.
1268 (do_assert): Mark parameter `keyword', `buf' and `limit' with
1269 ATTRIBUTE_UNUSED.
1270 (do_unassert): Likewise.
1271 (cpp_print_file_and_line): Add missing argument `pfile' in call to
1272 cpp_file_line_for_message.
1273 (v_cpp_error): New function.
1274 (cpp_error): Use it. Also accept variable arguments.
1275 (v_cpp_warning): New function.
1276 (cpp_warning): Use it. Also accept variable arguments.
1277 (cpp_pedwarn): Accept variable arguments.
1278 (v_cpp_error_with_line): New function
1279 (cpp_error_with_line): Use it. Accept variable arguments.
1280 (v_cpp_warning_with_line): New function.
1281 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
1282 definition.
1283 (cpp_pedwarn_with_line): Accept variable arguments.
1284 (cpp_pedwarn_with_file_and_line): Likewise.
1285 (cpp_error_from_errno): Constify parameter `name'. Add missing
1286 argument `pfile' in call to cpp_file_line_for_message.
1287 (cpp_perror_with_name): Constify parameter `name'.
1288
1289 * cpplib.h: Define PARAMS() in terms of PROTO().
1290 (fatal): Remove redundant prototype.
1291 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
1292 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
9b91d8f4 1293 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
487a6e06
KG
1294 cpp_fatal, cpp_message, cpp_pfatal_with_name,
1295 cpp_file_line_for_message, cpp_print_containing_files): Add
1296 arguments to prototypes.
1297 (scan_decls, cpp_finish): Add prototypes.
1298
1299 * cppmain.c: Include gansidecl.h.
1300 (main): Remove unused variable `i'.
9b91d8f4 1301
487a6e06
KG
1302 * dbxout.c: Include toplev.h.
1303
1304 * demangle.h (do_tlink, collect_execute, collect_exit,
1305 collect_wait, dump_file, file_exists): Add prototype.
1306
1307 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
1308 prototype and definition.
1309 (gen_unspecified_parameters_die): Don't assign results of call to
1310 function new_die() to unused variable `parm_die'.
1311 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
1312 (dwarf2out_define): Likewise for `lineno' and `buffer'.
1313
1314 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
1315 prototype and definition.
1316 (output_die): Add prototype arguments to function pointer arg.
1317 (output_unspecified_parameters_die): Mark parameter `arg' with
1318 ATTRIBUTE_UNUSED.
1319
1320 * except.c (output_exception_table_entry): Remove unused variable
1321 `eh_entry'.
1322
1323 * except.h (expand_fixup_region_start, expand_fixup_region_end):
1324 Add prototypes.
1325
1326 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
1327
1328 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
1329
1330 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
1331 before cpplib.h, include cpphash.h, remove redundant prototype of
1332 cpp_fatal, don't define `const', add a prototype for `fatal'.
1333 (cpp_file_line_for_message): Add missing arguments `pfile'.
1334 (v_cpp_message): New function.
1335 (cpp_message): Use it.
1336 (v_fatal): New function.
1337 (fatal, cpp_fatal): Use it.
1338 (cpp_pfatal_with_name): Constify parameter `name'.
1339
1340 * flow.c (free_regset_vector): Remove redundant prototype.
1341
1342 * function.c (round_down): Wrap prototype and definition with
1343 macro ARGS_GROW_DOWNWARD.
1344 (record_insns): Wrap prototype and definition with
1345 defined (HAVE_prologue) || defined (HAVE_epilogue).
1346
1347 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
1348
1349 * gen-protos.c: Include gansidecl.h.
1350 (hashf): Don't make it static, constify parameter `name'.
1351
1352 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
1353 specifier %s in calls to function `fatal'.
1354
1355 * haifa-sched.c: Include toplev.h.
1356 (find_rgns): Remove unused variable `j'.
1357
1358 * integrate.c (note_modified_parmregs): Mark parameter `x' with
1359 ATTRIBUTE_UNUSED.
1360 (mark_stores): Likewise.
1361
1362 * jump.c (mark_modified_reg): Likewise.
1363
1364 * output.h (insn_current_reference_address): Add prototype.
1365 (eh_frame_section): Likewise.
1366
1367 * print-rtl.c: Include bitmap.h.
1368
1369 * reload1.c (reload): Wrap variables `note' and `next' in macro
1370 PRESERVE_DEATH_INFO_REGNO_P.
1371 (forget_old_reloads_1): Mark parameter `ignored' with
1372 ATTRIBUTE_UNUSED.
1373 (choose_reload_regs): Remove unused variable `in'.
1374 (reload_cse_invalidate_mem): Mark parameter `ignore' with
1375 ATTRIBUTE_UNUSED.
1376 (reload_cse_check_clobber): Likewise.
1377
1378 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
1379 (mark_elimination): Fix typo in prototype.
1380
1381 * scan-decls.c: Include gansidecl.h.
1382
1383 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
9b91d8f4 1384
c7fdfd49
JL
1385Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
1386
1387 * function.c (identify_blocks): Fix thinko when setting the
1388 block number for NOTE_INSN_BLOCK_END.
1389
53f2d033
NC
1390Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
1391
f122eb7a 1392 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
9b91d8f4 1393 ___udivsi3.
f122eb7a
NC
1394
1395 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
9b91d8f4 1396 underscores for the prefixes to the names of the maths functions.
f122eb7a 1397
53f2d033
NC
1398 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
1399 comment explaining why.
1400
ead17059
RH
1401Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
1402
1403 * tree.h (TYPE_SIZE_UNIT): New.
1404 (struct tree_type): Add size_unit member.
1405 * stor-layout.c (layout_type): Initialize it.
1406 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
1407 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
1408
069b95ce
RE
1409Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
1410
1411 * stor-layout.c (layout_record): Fix off-by-one error when checking
1412 length of the TYPE_BINFO vector.
1413
972a4adb
NC
1414Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
1415
1416 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
1417 function parameter passed in memory.
1418
76ead72b
RL
1419Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
1420
1421 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
1422 Prototypes for externally used functions in respective C files.
1423 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
1424 final.c: Include above files.
1425 * Makefile.in (toplev.o): Add dependency for above four headers.
1426 (final.o): Likewise.
1427 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
1428 respective header files.
1429
b0ccd8de
JL
1430Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
1431
7e717196
JL
1432 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
1433 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
1434 the build tree if they exist.
1435 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
1436 appropriately.
1437 (objdir): Let configure substitute value.
1438 (FLOAT_H): Let configure select a pre-built version from the
1439 config subdir.
1440 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
1441 * configure.in: Substitute for objdir.
1442
88111b26
JL
1443 * Makefile.in (build_canonical, host_canonical): Let configure
1444 substitute values for these variables.
1445 * configure.in: Substitute for build_canonical, host_canonical
1446 and target_subdir in generated Makefile.
1447
d8af60bf
JL
1448 * output.h (find_basic_blocks): Declare.
1449 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
1450
b0ccd8de
JL
1451 * Makefile.in (BISON): Use bison from the build tree if it exists.
1452 (FLEX): Similarly.
1453
88117d44
NC
1454Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
1455
1456 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
1457 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
1458 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
1459 command line arguments to see if an executable is not being
1460 created, and if so - do not append the suffix.
1461
1462 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
1463 driver macro.
1464
e5e8a8bf
JW
1465Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
1466
1467 * i386.h (ALIGN_DFmode): Delete.
1468 (CONSTANT_ALIGNMENT): Define.
1469 * varasm.c (force_const_mem): Use it.
1470
b771b6b4
RH
1471Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
1472
1473 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
1474 using it with swap_condition, not before.
1475
0211b6ab
JW
1476Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
1477
1478 * alias.c (mode_alias_check): Delete.
1479 (true_dependence, anti_dependence, output_dependence): Revert April 21
1480 change.
1481
c5991f68
KW
1482Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
1483
3fe4d12a 1484 * toplev.c (output_lang_identify): Enable prototype and definition.
c5991f68 1485
18f315a4
JL
1486Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
1487
1488 * version.c: Bump for snapshot.
1489
2a831d01
RH
1490Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
1491
1492 * alpha/osf.h (HAVE_STAMP_H): Define.
1493 * alpha.c: Use it.
1494 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
1495 * configure.in (alpha*-*-netbsd*): New.
1496 Based on patches from Paul H. Anderson <pha@pdq.com>.
1497
1498 * configure.in (alpha*-*-linux-*): Kill xm_defines.
1499 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
1500 * alpha/xm-linux.h: Remove file.
1501
620422fd
DE
1502Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
1503
1504 * dbxout.c (dbxout_parms): If mode of type of parameter living
1505 in memory doesn't match mode of DECL_RTL, make big endian correction.
1506
d2f2cb19
JW
1507Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
1508
1509 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
1510
bbc0e641
JM
1511Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
1512
1513 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
1514 * stor-layout.c (layout_record): Set it.
1515
1516Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
1517
1518 * toplev.c (rest_of_compilation): Don't defer nested functions.
1519
92834d7d
BM
1520Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
1521
1522 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
1523 to an 8-byte boundary if info_ptr->fpmem_p.
1524
829002bb
BM
1525Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
1526
1527 * loop.c (basic_induction_var): Added test preventing
1528 CCmode parameter passed to convert_modes().
1529
b24f65cd
APB
1530Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
1531
1532 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
1533 input_filename and lineno around expand_expr call. Set them to values
1534 in WFL before expand_expr call.
1535
b09293cc
BK
1536Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
1537
1538 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
1539
f628873f
MM
1540Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
1541
1542 * fold-const.c (constant_boolean_node): New function.
1543 (fold): Use it.
1544
61fb6bac
R
1545Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1546
1547 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
1548 Abort if trying to split kind 3 or 4 outside of combine.
1549
8f9661dd
JL
1550Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
1551
1552 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
1553
b22284e1
MK
1554Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
1555
1556 * objc/Make-lang.in (OBJC_O): Add missing exeext.
1557 (libobjc.a, runtime-info.h): Likewise.
1558
8a022443
JW
1559Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
1560
1561 * i386.h (DATA_ALIGNMENT): Define.
1562
aa6498c2
R
1563Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1564
1565 * reload1.c (delete_output_reload): Ignore single USE that
1566 was emitted for the pseudo use of this INSN.
1567 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
1568 remains, we can always delete OUTPUT_RELOAD_INSN.
1569
41372177
JW
1570Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
1571
1572 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
1573
ddc5654a
JL
1574Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
1575
1576 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
1577
9a0d1e1b
AM
1578Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1579
1580 * eh-common.h: New file for basic EH data structures.
1581 * except.h: Various prototypes and structures for NEW_EH_MODEL
1582 * function.h (struct function): Add a struct eh_stack for the catch
1583 clause stack.
9b91d8f4 1584 * except.c (gen_exception_label): New function to generate an
9a0d1e1b
AM
1585 exception label.
1586 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
1587 (push_entry): New function to push an existing entry onto a stack.
9b91d8f4 1588 (receive_exception_label): New function to emit the code required
9a0d1e1b
AM
1589 at the start of all catch blocks.
1590 (struct func_eh_entry): New structure for maintaining handlers
1591 associated with EH regions.
1592 (new_eh_region_entry): New function to register an EH region.
1593 (add_new_handler): New function to register a handler with a region.
1594 (get_new_handler): Creates anew handler entry for registering.
1595 (find_func_region): New function to convert a NOTE eh region number
1596 to an Eh region index.
1597 (get_first_handler): New function to get the first handler in a region.
1598 (clear_function_eh_region): New function to release memory.
1599 (duplicate_handlers): New function to duplicate a list of handlers.
1600 (expand_eh_region_end): Create a new region entry node as well.
1601 (expand_leftover_cleanups): Call receive_exception_label() and
1602 register the cleanup as a handler to the current region.
1603 (expand_start_catch): New function to start a catch clause.
1604 (expand_end_catch): New function to end a catch clause.
1605 (expand_start_all_catch): restructure to not do the equivilent of
1606 what expand_start_catch() does now. Push the exception region being
1607 handled onto the catch stack.
1608 (output_exception_table_entry): Issue an entry for each handler
1609 associated with a region.
1610 (set_exception_lang_code): New function for setting the language code.
1611 (set_exception_version_code): New function to set the version number.
1612 (output_exception_table): Output version and language codes.
1613 (find_exception_handler_labels): Find handler labels using new scheme.
1614 (is_exception_handler_label): New function, returns 1 if label is
1615 present as a handler in some exception region.
1616 (check_exception_handler_labels): Use the new scheme.
1617 (init_eh_for_function): Initialize the catch stack.
1618 (save_eh_status): Save the catch stack.
1619 (restore_eh_status): Restore the catch stack.
1620 (scan_region): Don't remove unreferenced handler label. Flow does it.
1621 (get_reg_for_handler): New function to get the eh_context pointer
1622 passed by __throw.
1623 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
1624 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
1625 entry when processing END region rather that START region.
1626 * flow.c (find_basic_blocks_1): Find all potential handler regions
1627 now that we don't automatically know what the labels might be.
1628 Let scan_region() remove unreferenced EH BEGIN/END labels.
1629 * integrate.c (get_label_from_map): Put inlined labels onto the
1630 permanent obstack since we dont know which ones might be exception
1631 labels.
1632 (save_for_inline_copying): Make new copies of all the handlers.
1633 (expand_inline_function): Make new copies of all the handlers.
1634 * libgcc2.c: Remove local struct decls, and include eh-common.h.
9b91d8f4 1635 (find_exception_handler): With NEW_EH_MODEL the first matching
9a0d1e1b
AM
1636 region we find is the right one. Add eh_info as a new parameter.
1637 (__throw): Pass eh_info to find_exception_handler. Set handler
1638 and pass use different regs under NEW_EH_MODEL.
1639
2129b081
JW
1640Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
1641
1642 * i960.h (hard_regno_mode_ok): Changed to function from array of
1643 unsigned.
1644 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
1645 * i960.c (hard_regno_mode_ok): Changed to function from array of
1646 unsigned.
1647
029b38ff
R
1648Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1649
1650 * reload.c (remove_replacements): New function.
1651 * reload.h (remove_replacements): Declare.
1652 * reload1.c (choose_reload_regs): Disable some reloads that
1653 belong to inherited reloads.
1654
efdb3590
R
1655Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1656
9dd07f87
R
1657 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
1658
efdb3590
R
1659 * reload1.c (merge_assigned_reloads): When merging, reset
1660 reload_spill_index for the eliminated reload.
1661
5d27de7d
JL
1662Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
1663
1664 * haifa-sched.c (schedule_insns): Fix merge goof.
1665
92d4501f
JW
16661998-05-13 Jim Wilson <wilson@cygnus.com>
1667
1668 * varasm.c (make_decl_rtl): Revert April 1 change.
1669 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
1670 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
1671 Get function name from the SYMBOL_REF in the DECL_RTL, not from
1672 DECL_ASSEMBLER_NAME.
1673 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
1674 DECL_ASSEMBLER_NAME.
1675
d6cc54f6
JW
1676Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
1677
1678 * i386.c (notice_update_cc, output_float_compare): Disable
1679 TARGET_CMOVE support.
1680
6d3352d9 1681Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
0dfa1860
MM
1682 Jeff Law <law@cygnus.com>
1683
ae78d276
MM
1684 * rtlanal.c (find_reg_note): Ignore notes that are not on on
1685 insns of class 'i'.
1686 (find_regno_note): Likewise.
1687
82ce5b75
MM
1688 * Makefile.in (stor-layout.o): Depend on except.h
1689 (varasm.o, function.o): Likewise.
1690 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
1691
0dfa1860
MM
1692 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
1693 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
1694 ($(HOST_PREFIX_1)rtl.o): Likewise.
1695 ($(HOST_PREFIX_1)bitmap.o): New host object.
1696 * emit-rtl.c (toplevel): Include bitmap.h.
1697 (gen_rtx): Handle 't' and 'b' nodes.
1698 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
1699 Print block number for block begin/end notes. Print 't' type
1700 nodes as a pointer. Know that the 3rd argument of live range
1701 start/stop notes is really a range_info rtx. If type is 'b', print
1702 out argument as a bitmap.
1703 * rtl.c: Include bitmap.c.
1704 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
1705 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
1706 * rtl.def (RANGE_LIVE): New node to hold live information while we
1707 recalculate the basic blocks.
1708 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
9b91d8f4 1709 (RANGE_VAR): New node, to hold information saved in symbol node for New
0dfa1860
MM
1710 communicating live range information to the debug output functions.
1711 * rtl.h (rtunion_def): Add rttree and rtbit fields.
1712 (XBITMAP, XTREE): New accessor macros.
1713 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
1714 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
1715 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
1716 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
1717 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
1718 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
1719 (RANGE_INFO_*): Likewise.
1720 * sched.c (sched_analyze): Keep live range start/stop notes.
1721 (unlink_other_notes): Likewise.
1722 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
1723 (unlink_other_notes): Likewise.
1724 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
1725 (BLOCK_LIVE_RANGE_FLAG): Likewise.
1726 (DECL_LIVE_RANGE_RTL): Likewise.
1727 (struct tree_block): Add live_range_flag, live_range_var_flag,
1728 live_range_start and live_range_end.
1729 (struct tree_decl): Add live_range_rtl field.
1730 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
1731 (accessor_from_format): Likewise.
6d3352d9
MM
1732
1733 * haifa-sched.c (schedule_block): Make verbose output line up.
47312d84 1734 Also add a blank line in printing the individual ready lists.
6d3352d9 1735
63e76c87
KG
1736Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1737
1738 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
1739 (c-lex.o): Depend on output.h.
1740 (c-common.o): Likewise.
1741 (stmt.o): Likewise.
1742 (calls.o): Likewise.
1743 (integrate.o): Depend on toplev.h.
1744 (regclass.o): Depend on output.h.
1745 (final.o): Depend on reload.h.
1746
1747 * c-common.c: Include output.h.
1748 (check_format_info): Remove unused variable `integral_format'.
1749
1750 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
1751 `indent' with ATTRIBUTE_UNUSED.
1752 (print_lang_type): Likewise.
1753 (maybe_build_cleanup): Likewise for parameter `decl'.
1754 (copy_lang_decl): Likewise for parameter `node'.
1755
1756 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
1757 (lang_print_xnode): Mark parameters `file', `node' and `indent'
1758 with ATTRIBUTE_UNUSED.
1759 (lookup_interface): Likewise for parameter `arg'.
1760 (is_class_name): Likewise.
1761 (maybe_objc_check_decl): Likewise for parameter `decl'.
1762 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
1763 `reflexive'.
1764 (maybe_objc_method_name): Likewise for parameter `decl'.
1765 (build_objc_string): Likewise for parameters `len' and `str'.
1766
1767 * c-lex.c: Include output.h.
1768
1769 * c-lex.h (position_after_white_space): Correct typo in prototype.
1770
1771 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
1772 c_expand_end_cond, init_iterators): Add prototypes.
1773
1774 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
1775 with ATTRIBUTE_UNUSED.
1776
1777 * calls.c: Include output.h.
1778
1779 * cccp.c (pipe_closed): Mark parameter `signo' with
1780 ATTRIBUTE_UNUSED.
1781
1782 * combine.c: Move inclusion of expr.h to after insn-config.h.
1783
1784 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
1785 as empty, rather define as ((void)0).
1786
1787 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
1788 Add parentheses around assignment used as truth value.
1789
1790 * cplus-dem.c (squangle_mop_up): Change return type to void.
1791 (internal_cplus_demangle): Remove unused parameter `options'.
1792 All callers changed.
1793 (cplus_demangle_opname): Remove function wide variable `int i' and
1794 replace with `size_t i' at each location where it is used.
1795 (cplus_demangle_opname): change type of `i' from int to size_t.
1796
1797 * cppexp.c (right_shift): Mark parameter `pfile' with
1798 ATTRIBUTE_UNUSED.
1799
1800 * cpphash.c (cpp_lookup): Likewise.
1801 (cpp_hash_cleanup): Likewise.
1802
1803 * cpplib.c (parse_name): Add a prototype and make it static.
1804 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
1805 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
1806 (macro_cleanup): Likewise for parameter `pfile'.
1807 (file_cleanup): Likewise.
1808
1809 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
1810 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
1811
1812 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
1813 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
1814
1815 * cse.c (cse_check_loop_start): Mark parameter `set' with
1816 ATTRIBUTE_UNUSED.
1817
1818 * dbxout.c (flag_minimal_debug, have_used_extensions,
1819 source_label_number): Move inside macro wrapper check against
1820 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
1821
1822 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
1823
1824 * except.h (doing_eh): Provide prototype.
1825
1826 * expr.c: Move inclusion of expr.h to after insn-config.h.
1827
1828 * final.c: Include reload.h.
1829 (shorten_branches): Cast the first argument of bzero to char *.
1830
1831 * fix-header.c (cpp_print_containing_files): Mark parameter
1832 `pfile' with ATTRIBUTE_UNUSED.
1833 (cpp_fatal): Likewise.
1834
1835 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
1836 to char *.
1837
1838 * genattrtab.c (make_length_attrs): Change the type of variable
1839 `i' from int to size_t.
1840 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
1841 (one_fn): Likewise.
9b91d8f4 1842
63e76c87
KG
1843 * genextract.c (main): When generating insn-extract.c, mark
1844 variable `junk' with ATTRIBUTE_UNUSED.
1845
1846 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
1847 argument of bzero to char*.
1848
1849 * integrate.c: Include toplev.h.
1850
1851 * libgcc2.c: Wrap `struct exception_table' and
1852 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
1853
1854 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
9b91d8f4 1855
63e76c87
KG
1856 * objc/objc-act.c: Include toplev.h.
1857 (lang_print_xnode): Mark parameters `file', `node' and `indent'
1858 with ATTRIBUTE_UNUSED.
1859 (finish_protocol): Likewise for parameter `protocol'.
1860
1861 * output.h (declare_weak): Add prototype.
1862 (decode_reg_name): Don't wrap with TREE_CODE macro.
1863 (assemble_alias): Add prototype.
1864
1865 * regclass.c: Include output.h.
1866
1867 * reload.h (reloads_conflict): Add prototype.
1868
1869 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
1870 output_func_start_profiler): Add prototypes.
1871
1872 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
1873 ATTRIBUTE_UNUSED.
1874
1875 * scan-decls.c: Include scan.h.
1876
1877 * scan.h (recognized_function, recognized_extern): Add prototypes.
1878
1879 * stmt.c: Include output.h.
1880
1881 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
1882 (output_lang_identify): Hide prototype and definition.
1883 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
1884 (pipe_closed): Likewise.
1885
1886 * toplev.h (count_error, strip_off_ending, error_for_asm,
1887 warning_for_asm): Add prototypes.
1888
a494747c 1889Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
a494747c 1890
32e705c4
MM
1891 * toplev.c (rest_of_compilation): "Charge" final for any time
1892 doing various cleanup operations after finishing compilation
1893 of a function.
1894
9b91d8f4 1895 * flow.c (dump_flow_info): Also print number of sets and
6fc4610b
MM
1896 whether or not the pseudo is a user variable.
1897
a494747c
MM
1898 * flow.c (reg_n_max): New global variable.
1899 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
1900 Delete regno_max variable.
1901 * regs.h (REG_N_CHECK): Define.
1902 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
1903 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
1904 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
1905
21622caf
JL
1906Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
1907
1908 * acconfig.h (ENABLE_CHECKING): Undefine.
1909 * configure.in (--enable-checking): New option.
1910
d668e863
R
1911Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1912
1913 * reload1.c (merge_assigned_reloads): Can merge
1914 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
1915 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
1916
b706d7f2
JW
1917Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
1918
1919 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
1920
4117a96b
R
1921Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1922
1923 * reload1.c (gen_reload): Create REG_EQUIV notes.
1924
4d3eb414
R
1925Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1926
1927 * reload1.c (reload): Fix check for USEs to use code of pattern.
1928 (choose_reload_regs): Remove dead variable use_insn.
1929
b10c8966
JL
1930Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
1931
9b91d8f4 1932 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
b10c8966 1933
cbb13457
MM
1934Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
1935
1936 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
1937 already defined.
1938 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
1939 (insn_{unit,issue_delay}): Ditto.
1940 (blockage_range): Ditto.
1941 (actual_hazard{,_this_instance}): Ditto.
1942 (schedule_unit): Ditto.
1943 (potential_hazard): Ditto.
1944 (insn_cost): Ditto.
1945 (swap_sort): Ditto.
1946 (queue_insn): Ditto.
1947 (birthing_insn_p): Ditto.
1948 (adjust_priority): Ditto.
1949 (get_block_head_tail): Ditto.
1950 (init_rgn_data_dependences): Ditto.
1951
1478d88a
KK
1952Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
1953
1954 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
1955
a688e0b7
GK
1956Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
1957
1958 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
1959
ec350bdd
GK
1960Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
1961
1962 * config/mips/mips.md (dslot): Move after definition of "cpu"
1963 attribute. Handle r3900 case.
1964
d4ba0ead
KG
1965Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1966
1967 * system.h: Define the STRINGIFY macro here.
1968 * protoize.c: Not here.
1969 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
1970
8a198bd2
JW
1971Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
1972
9b91d8f4 1973 * varasm.c (assemble_variable): Compute the alignment of the data
8a198bd2
JW
1974 earlier so that both initialized and uninitialized variables are
1975 effected by DATA_ALIGNMENT.
1976 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
1977
eace3df1
JL
1978Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
1979
1980 * mips.c: Prototype static functions.
1981
a9e95099
JW
1982Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
1983
b1a7d591
JW
1984 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
1985 Add explanatory comments.
1986
a9e95099
JW
1987 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
1988
0f177d7c
RH
1989Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
1990
1991 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
1992
28233641
JW
1993Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
1994
1995 * varasm.c (make_decl_rtl): Disable April 1 change.
1996
e55a5ea6
RH
1997Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
1998
1999 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
2000
e83015a9
RH
2001Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
2002
2003 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
2004 * alpha.c (print_operand): Handle it.
9b91d8f4 2005 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
e83015a9
RH
2006 related define_splits. Also add peepholes for SImode reload
2007 plus sign_extend lossage.
2008
320e7c40
KG
2009Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2010
2011 * genattr.c: Include stdarg.h/varargs.h. Change function
2012 `fatal' to use variable arguments instead of faking it with
2013 integer parameters. Provide a prototype which also
2014 checks the format specifiers using ATTRIBUTE_PRINTF_1.
2015
2016 * genattrtab.c: Likewise.
2017 * gencodes.c: Likewise.
2018 * genconfig.c: Likewise.
2019 * genemit.c: Likewise.
2020 * genextract.c: Likewise.
2021 * genflags.c: Likewise.
2022 * genopinit.c: Likewise.
2023 * genpeep.c: Likewise.
2024 * genrecog.c: Likewise.
2025 * genoutput.c: Likewise. Similarly for function `error'.
2026
e9b4fabf
JL
2027Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2028
2029 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
2030 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
2031 * configure.in: Use GCC_C_VOLATILE.
2032 * system.h (volatile): Define as empty if no volatile support is
2033 available.
2034
2035Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
2036
2037 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
2038 generated fucntion.
2039
f283421d
RH
2040Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
2041
2042 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
2043 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
2044 the body of beq; additionally set the mode of the branch to CCmode for
9b91d8f4 2045 FP compares and not fast_math.
f283421d
RH
2046 (alpha_emit_conditional_move): Always use a compare insn for FP
2047 when not fast_math, as well as setting CCmode on the cmov.
2048 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
2049
2050 * machmode.h (COMPLEX_MODE_P): New macro.
2051
53c0919d
RH
2052Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
2053
2054 * haifa-sched.c (print_exp): Fix typo.
2055
23d297ab
JL
2056Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
2057
2058 * version.c: Bump for snapshot.
2059
cf879efa
MM
2060Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
2061
2062 * final.c (final_scan_insn): Call fatal_insn instead of abort if
2063 we could not split an insn when required to.
2064
5b8ae21f
MM
2065 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
2066 level insns.
2067 (peepholes): Disable peepholes that call dead_or_set_p.
2068 (movsi): Rewrite to handle addresses better after last change.
2069 Add define_split to split load of addresses in large/medium modes.
2070 (prologue): Call m32r_expand_prologue.
2071 (movsi_{push,pop}): Generators for push/pop.
2072 (movsi): Support PRE_{INC,DEC}, POST_INC.
2073 (mov{di,df}): Rewrite. Always split the insns.
2074 (movsf): Add define_split to get register load in correct mode.
2075 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
2076 (attributes): Rewrite attributes so that type indicates both the
2077 type and the length of the insn directly.
2078 (all insns): Change to use new type attributes.
2079 (debug): New attribute to convey whether -mdebug was used.
2080 (opt_space): New attribute to convey whether -Os was used.
2081 (function units): Loads are 3 cycles, not 2. Better classify all
2082 insns into short/long.
2083 (load/store/extend insns): Add separate case for load/store
2084 indirect operations without an offset.
2085 (divsi3): Division is a long operation, not short.
2086
2087 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
2088 modes > 1 word.
2089 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
2090 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
2091 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
2092 operands with PRE_{INC,DEC}, POST_INC.
2093 (FUNCTION_PROFILER): Call abort instead of doing nothing.
2094 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
2095 SImode variables.
2096 (gen_split_move_double): Declare.
2097 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
2098
2099 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
2100 emit_move_insn, build up SET's directly.
2101 (toplevel): Include system.h, not stdio.h.
2102 (move_double_src_operand): Allow any DF or DI mode constant.
2103 (gen_split_move_double): Split moves of DI or DF values into the
2104 appropriate moves, loads, or stores. Don't handle use of auto
2105 inc/dec if using dead index. Do handle overlapping moves, etc.
2106 (m32r_frame_info): Remove prologue_size field.
2107 (m32r_compute_frame_size): Don't calculate prologue size.
2108 (m32r_output_function_prologue): Change to pretty much a NOP.
2109 (m32r_expand_prologue): Expand prologue as a series of INSNs.
2110 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
2111 (m32r_print_operand_address): Ditto.
9b91d8f4 2112
d7c2e385
L
2113Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
2114
2115 * reload1.c (emit_reload_insns): When performing expensive
2116 optimizations, do not output the last reload insn if OLD is
2117 not the dest of NSN and is in the src and is clobbered by INSN.
2118
560bd19e
KG
2119Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2120
2121 * Makefile.in (genrtl.o): Depend on system.h.
2122 * gengenrtl.c (gencode): When creating genrtl.c, have it
2123 include system.h.
2124
0d33d22e
AS
2125Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2126
2127 * config/m68k/t-linux: Remove extra stuff already included in
2128 config/t-linux.
2129
dea4ae0d
MH
2130Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
2131
2132 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
2133 curses.h if it contains `typedef char bool;', as suggested by
2134 Manfred Hollstein <manfred@s-direktnet.de>.
2135
2136 * configure.in: Rename fixinc.math to fixinc.wrap.
2137
02e56202
JW
2138Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
2139
bbeb7b65
JW
2140 * gcc.c (read_specs): Handle missing blank line at end of specs file.
2141
02e56202
JW
2142 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
2143 movdfcc_1): Disable.
2144
e445171e
JW
2145Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
2146
2147 * configure.in (enable_threads): Rename to enable_threads_flag before
2148 main loop. Set enable_threads to enable_threads_flag inside main
2149 loop.
2150
a1b5a7e1
MM
2151Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
2152
2153 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
2154 multiple times.
2155
76b4b31e
KG
2156Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2157
2158 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
9b91d8f4 2159
76b4b31e
KG
2160 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
2161 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
2162 (AC_CHECK_FUNCS): Remove unused check for vprintf.
9b91d8f4 2163
76b4b31e
KG
2164 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
2165 (cccp.o): Depend on gansidecl.h.
2166 (cexp.o): Likewise.
2167
2168 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
2169 per the rest of gcc source.
2170 * cexp.y: Likewise. Include gansidecl.h and remove all code made
2171 redundant.
2172
2173 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
2174 used when vfprintf is missing.
2175 * cexp.y: Likewise.
2176 * gcc.c: Likewise.
2177 * genattrtab.c: Likewise.
2178 * mips-tfile.c: Likewise.
2179 * toplev.c: Likewise.
2180
2181 * vfprintf.c: New file.
2182 * doprint.c: New file.
2183
bebc4663
JL
2184Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
2185
2186 * config/linux.h (ASM_COMMENT_START): Remove from here,
2187 * config/linux-aout.h (ASM_COMMENT_START): and here,
2188 * config/i386/linux.h (ASM_COMMENT_START): to here,
2189 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
2190 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
2191 here as '#' too.
2192
436bf9fb
AS
2193Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2194
2195 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
9b91d8f4 2196 constant.
436bf9fb 2197
f103890b
RL
2198Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
2199
2200 * Makefile.in (dwarfout.o) Add toplev.h dependency.
2201 * dwarfout.c, i386.c: Include toplev.h
2202 * toplev.h: (pfatal_with_name) Add prototype.
2203
024b5658
JM
2204Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
2205
2206 * Makefile.in: Fix .SUFFIXES.
2207
410c3875
AM
2208Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
2209
2210 * config/linux.h (ASM_COMMENT_START): Define as "#".
2211 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
2212
7e073314
JW
2213Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
2214
71ebb3b8
JW
2215 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
2216 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
2217
a0c8e1b2
JW
2218 * toplev.c: Include toplev.h.
2219 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
2220 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
2221 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
2222 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
2223 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
2224 toplev.h dependency.
9b91d8f4 2225
1b15c5de
JW
2226 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
2227 HARD_FRAME_POINTER_REGNUM.
2228
7e073314
JW
2229 * expr.c (target_temp_slot_level): Delete duplicate definition.
2230
d06eab0d
JL
2231Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
2232
df03cab5 2233 * stmt.c (mark_seen_cases): Make it have external linkage again.
0586a4ce
JL
2234 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
2235 has been included.
df03cab5 2236
6b879bcc
JL
2237 * haifa-sched.c (print_value, case SUBREG): Fix typo.
2238
6b28fd63
JL
2239 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
2240 * i386.h (REG_CLASS_CONTENTS): Similarly.
2241
cc132865
JL
2242 * toplev.c (-fsched-max): Delete flag.
2243 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
2244 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
2245 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
2246 conditionals.
2247
2248 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
2249 inner loops which are not reducible.
2250
fd4a1ca5
JL
2251 * loop.c (regs_match_p): Fix typo in prototype.
2252
d06eab0d
JL
2253 * regmove.c (try_auto_increment): Wrap declaration inside an
2254 #ifdef AUTO_INC_DEC.
2255
31bfbf1f
MM
2256Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
2257
2258 * final.c (output_operand_lossage): Call fatal with the operand
2259 lossage message instead of calling abort.
2260
e9a780ec
KG
2261Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2262
2263 * c-common.c: Convert to using ctype macros defined in system.h.
2264 * c-lex.c: Likewise.
2265 * cccp.c: Likewise.
2266 * collect2.c: Likewise.
2267 * rs6000.c: Likewise.
2268 * cpplib.c: Likewise.
2269 * fix-header.c: Likewise.
2270 * gcc.c: Likewise.
2271 * gen-protos.c: Likewise.
2272 * pexecute.c: Likewise.
2273 * protoize.c: Likewise.
2274 * rtl.c: Likewise.
2275 * scan.c: Likewise.
2276 * stmt.c: Likewise.
2277 * tlink.c: Likewise.
9b91d8f4 2278 * toplev.c: Likewise.
e9a780ec 2279
d4c3e60e
GK
2280Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
2281
9b91d8f4 2282 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
d4c3e60e
GK
2283 Replace -gdwarf-2 with -g0.
2284
90fbb8c9
KG
2285Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2286
2287 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
2288 * mips-tdump.c: Include system.h, remove redundant headers.
2289 * mips-tfile.c: Likewise. Also, convert all ctype function calls
2290 to calls of the macro versions defined in system.h.
2291
2292 * objc/Make-lang.in (objc-act.o): Depend on system.h.
2293 * objc/objc-act.c: Include system.h, remove redundant headers.
2294
8f81384f
KG
2295Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2296
2297 * configure.in (AC_CHECK_FUNCS): Add isascii.
2298 (GCC_NEED_DECLARATIONS): Add atof.
2299
2300 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
2301 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
2302
e572c0c6
KG
2303Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2304
2305 * system.h: Wrap time.h and sys/file.h in autoconf checks.
2306 Provide default definitions for O_RDONLY and O_WRONLY here.
2307
2308 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
2309
8830da36
MM
23101998-05-06 Mark Mitchell <mmitchell@usa.net>
2311
2312 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
2313
c5ff95e6
RL
2314Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
2315
2316 * toplev.h: New file. Protypes for functions in toplev.c.
2317 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
9b91d8f4
UD
2318 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
2319 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
2320 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
2321 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
2322 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
c5ff95e6
RL
2323 varasm.c: include it.
2324
15ebe47d
JL
2325Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
2326 Jim Wilson (wilson@cygnus.com)
2327
2328 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
2329 blocks. Check for 1 successor which is the EXIT_BLOCK.
2330
2331 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
2332 unreachable loops with more than one block.
2333
dbbfa8c8
MH
2334Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
2335
2336 * fix-header.c (write_rbrac): Add "abort" to functions which need to
2337 be protected.
2338
f5963e61
JL
2339Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
2340
2341 * Check in merge from gcc2. See ChangeLog.12 for details.
2342
3d90c2b5
JW
2343Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
2344
c6a9dea8
JW
2345 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
2346 accept 'a' flag. 'S' does accept 'a' flag.
2347 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
2348 and `a' flag.
2349
3d90c2b5
JW
2350 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
2351
97b57a81
AS
2352Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2353
2354 * config/m68k/m68k.h: Declare functions from m68k.c used in
2355 macros and machine description.
2356 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
2357 long values.
2358 (ASM_OUTPUT_FLOAT): Likewise.
2359 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2360
c5c63738
JM
2361Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
2362
2363 * tree.def: Add NAMESPACE_DECL.
2364 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
2365 * dwarf2out.c (push_decl_scope): Likewise.
2366 (scope_die_for): Likewise.
2367 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
2368 how to get next context level.
2369
2e14a41b
JW
2370Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
2371
2372 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
2373 case.
2374
f78c792c
JL
2375Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
2376
8b05263d
JL
2377 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
2378
f78c792c
JL
2379 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
2380 for any insns skipped at the start of a block because they were
2381 redundant.
2382
4330b0e7
JW
2383Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
2384
2385 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
2386
b57062ca
UD
23871998-05-04 Ulrich Drepper <drepper@cygnus.com>
2388
2389 * c-common.c (format_char_info): Add new field hhlen.
2390 (print_char_table, scan_char_table, time_char_table): Initialize
2391 hhlen field appropriately.
2392 (char_format_info): Recognize hh modifier and lookup correct char
2393 table entry.
2394
06eaa86f
JW
2395Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
2396
2397 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
2398 reference if this is a store.
2399
9ed5dc54
RH
2400Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
2401
2402 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
2403
fb6d9312
RL
2404Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
2405
2406 Make UnixWare 7 bootstrap support work with final shipping product.
b57062ca 2407 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
fb6d9312
RL
2408 Pick up xm-siglist and xm-alloca.
2409 (xm_defines): Add USG so dbxout will build.
2410 * configure: Regenerate.
2411
b53beeb2 2412Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
82d6b402
RH
2413
2414 Support for official Sparc V9 ABI:
2415 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
2416 Care for flag_pcc_struct_return default.
2417 (output_move_quad): Rewrite to move by halves on v9 and in the
2418 proper direction.
2419 (move_quad_direction): New function.
2420 (output_fp_move_quad): Use it to determine the direction of copy.
2421 (function_arg_slotno): Return -1 for FP reg overflow as well.
2422 (function_arg_record_value*): New functions.
2423 (function_arg): Use them. Streamline unprototyped parameter passing.
2424 (function_arg_pass_by_reference): Pass TCmode by reference.
2425 (function_value): New function.
2426 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
2427 long long in 64-bit mode.
2428 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
2429 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
2430 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
2431 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
2432 (BASE_INCOMING_ARG_REG): Likewise.
2433 (FUNCTION_VALUE): Call function_value.
2434 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
2435 * sparc.md (movdi_sp32_v9): Disable for arch64.
2436 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
2437 (call_value_address_sp64): Remove register class constraints.
2438 (call_value_symbolic_sp64): Likewise.
2439 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
2440 v9 case to 32-bit constants.
2441 (goto_handler_and_restore_v9): Provide a version for arch64.
2442 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
2443 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
2444 (CPP_PREDEFINES): New.
2445 * sparc/sp64-elf.h: Likewise.
2446 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
2447 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
2448 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
2449
e40abc32
JL
2450Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
2451
2452 * version.c: Bump for snapshot.
2453
b60a8416
R
2454Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2455
2456 * reload.c (find_reloads): Emit USEs to mark where a pseudo
1e89ac8a 2457 is reloaded with the MEM of its stack slot.
b60a8416
R
2458 * reload1.c (cannot_omit_stores): Delete.
2459 (reload): Don't initialize it.
2460 Don't apply avoid_return_reg logic to USEs.
2461 When done, remove USEs that have a REG_EQUAL note on them.
2462 (emit_reload_insns): Handle case where we have inherited a MEM.
4d3eb414 2463 (choose_reload_regs): Likewise.
b60a8416
R
2464 (delete_output_reload): Don't use cannot_omit_stores.
2465
c1879238
JW
2466Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
2467
2468 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
2469
459b3825
MM
2470Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
2471
2472 * haifa-sched.c (print_{exp,value}): Various changes to make the
2473 debug output easier to read. Also, use only one buffer, and make
2474 sure the buffer we are passed in doesn't overflow.
2475 (safe_concat): Concatenate to a buffer without overflow.
2476
3fe4d12a 2477Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
459b3825
MM
2478
2479 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
2480 with the prototype.
b57062ca 2481
93da030f
R
2482Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2483
2484 * sched.c (new_insn_dead_notes): Check if the register was
2485 used in the original instruction.
2486 * haifa-sched.c (new_insn_dead_notes): Likewise.
2487
0c84c618
JW
2488Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
2489
2490 * dwarf2out.c (scope_die_for): If could not find proper scope,
2491 check for and handle tagged type with incorrect TYPE_CONTEXT.
2492
bf5f0e90
JC
2493Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
2494
2495 * calls.c (expand_call): Fix recognition of C++ operator new.
2496
2497 * alias.c (mode_alias_check): Disable type based alias detection.
2498
a0281dae
GK
2499Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
2500
2501 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
2502 ASM_OUTPUT_WEAK_ALIAS): Define.
2503 * config/mips/elf64.h: Same.
2504 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2505 ASM_WEAKEN_LABEL): Removed.
2506
55666054
AS
2507Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2508
2509 * calls.c (expand_call): Bump the length limit on the specially
2510 recognized function names to 17.
2511
2cea586a
JW
2512Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
2513
f60d6248
JW
2514 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
2515 when undefining macros at the end.
2516
bf931ec8
JW
2517 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
2518 val or len has TREE_SIDE_EFFECTS set.
2519
2cea586a
JW
2520 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
2521 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
2522 (smuldi3_highpart): Call const v8plus routine.
2523 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
2524 (const_smulsi3_highpart_v8plus): New pattern.
2525 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
2526 (umulsidi3): Call const v8plus routine.
2527 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
2528 routine.
2529 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
2530 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
2531
2b7972b0
MM
2532Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
2533
2534 * m32r.c (*_oper{and|ator}): Change enum arguments and return
2535 values to int, so they can be prototyped even in files that don't
2536 include rtl.h.
2537 ({small,large}_insn_p): Ditto.
2538 (m32r_select_cc_mode): Ditto.
2539 (gen_compare): Ditto.
2540 (function_arg_partial_nregs): Ditto.
2541 (m32r_setup_incoming_varargs): Ditto.
2542 (init_reg_tables): Add prototype.
2543 (m32r_frame_info): Add prolog_size field.
2544 (m32r_compute_frame_size): Calculate the size of the prologue.
2545 (m32r_first_insn_address): Return prologue size.
2546 (m32r_output_function_prologue): Calculate frame size before
2547 printing out information. Print out the prologue size.
2548
2549 * m32r.h: Prototype all functions in m32r.c.
2550 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
2551
2552 * m32r.md (bcc functions): Cast enum's to int.
2553
2554 * m32r.c (conditional_move_operand): Silence a debug message.
2555 ({small,long}_insn): New predicates.
b57062ca 2556
2b7972b0
MM
2557 * m32r.h (TARGET_M32R): New macro.
2558 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
2559 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
2560 was selected.
2561 (ISSUE_RATE): Define as 2.
2562
2563 * m32r.md (insn_size): New attribute.
2564 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
2565 short.
2566 (m32r): New attribute.
2567
2568 * configure.in (enable_haifa): Switch m32r to Haifa by default.
2569 * configure: Regenerate.
2570
2571 (Changes from Nick Clifton <nickc@cygnus.com>)
2572 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
2573 the equivalent of a negated 'I' constraint.
2574 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
2575 optimisation to work.
2576
2577 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
2578 than 'I' since the value is negated.
2579 (peephole): Add peephole optimisation to cope with optimization of
2580 divide and subtracts of the same operands.
2581
2582 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
b57062ca 2583 * m32r.h: Ditto.
2b7972b0
MM
2584 * m32r.md: Ditto.
2585
2586 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
2587 predicates.
2588
bd55c374
MH
2589Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
2590
2591 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
2592
3a6bd8c0
NC
2593Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
2594
2595 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
2596 frame_pointer_rtx not FRAME_POINTER_REGNUM.
2597
0628fde6
JW
2598Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
2599
561cf7b1
JW
2600 * reg-stack.c: Revert last patch (Apr 20).
2601 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
2602
1688d6d2
JW
2603 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
2604
0628fde6
JW
2605 * loop.c (check_dbra_loop): New locals jump, first_compare, and
2606 compare_and_branch. Call get_condition to set first_compare.
2607 Set compare_and_branch to number of compare/branch instructions.
2608 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
2609 Replace '2' with compare_and_branch.
2610
07623417
AM
2611Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2612
2613 * cplus-dem.c (demangle_qualified): Replace missing else.
2614
97d6fd65
R
2615Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2616
2617 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
2618
3d5a0820
R
2619Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2620
2621 * sh.c (sh_expand_prologue, sh_expand_epilogue):
2622 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
2623 * sh.h (STACK_BOUNDARY): Likewise.
2624
ef41dabb
R
2625Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2626
2627 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2628
14bf4a33
MM
2629Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
2630
22c4957e
MM
2631 * system.h (abort): If abort is not defined, and neither is
2632 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
2633 reporting the line and filename of the error.
2634
2635 * .gdbinit: Add breakpoints on exit and fancy_abort.
2636
563c063f
MM
2637 * final.c (split_double): Avoid a compiler warning if
2638 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
2639
14bf4a33
MM
2640 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
2641 for calling jump_optimize.
2642
2643 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
2644 macros, rather than 0/1's.
2645
5d02ee66
RH
2646Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
2647
2648 * alpha.h (CONST_COSTS): Zero is always free.
2649 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
2650
7bf40741
AS
2651Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2652
2653 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
2654 length in the name of a virtual table.
2655
556ccd9b
RH
2656Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
2657
2658 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
2659
1206d294
JL
2660Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
2661
2662 * version.c: Bump for snapshot.
2663
4f242db3
JL
2664Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
2665
2666 * fold-const.c (fold_convert): Fix typo.
2667
de12be17
JC
2668Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
2669
2670 * alias.c (alias_invariant): New variable.
2671 (record_base_value): New argument INVARIANT.
2672 (memrefs_conflict_p): If a register has an entry in the alias_invariant
2673 array, try substituting that value for the register.
2674
2675 * rtl.h: Declare record_base_value.
2676
2677 * loop.c, unroll.c: Update callers of record_base_value.
2678
2679 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
2680 ZERO_EXTEND do not affect base values.
2681
fe81dd69
JL
2682Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
2683
fb2c5c00
JL
2684 * dbxout.c (dbxout_type): Fix typo.
2685 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
2686
fe81dd69
JL
2687 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
2688
87d1ea79
JC
2689Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
2690
2691 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
2692 if the argument is the address of a structure or array.
2693
2694 * configure.in: Enable Haifa scheduler by default for SPARC.
2695
e89d3e6f
R
2696Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2697
2698 * cse.c (cse_set_around_loop): Don't do optimization when
2699 new pseudos are created.
2700
442f4018
JL
2701Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
2702
2703 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
2704 appropriately.
2705 (dbxout_type_method_1, dbxout_type): Likewise.
2706 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
2707 (dbxout_type): Fix check for when to print a type range in
2708 octal vs decimal.
2709
7174c937
R
2710Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2711
2712 * (gen_shl_and, in case 1): Fix comparison with mask.
2713
0b812758
NC
2714Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
2715
2716 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
2717 pointer as second register in REG+REG pair.
2718
753a73c8
KG
2719Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2720
2721 * c-common.c (check_format_info): Don't check for the 'x' format
2722 character twice, instead check for 'x' and 'X'
2723
4a1991b3
MH
2724Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
2725
2726 * Makefile.in (libgcc2.ready): Add explicit dependancy from
2727 $(STMP_FIXPROTO) to ensure all necessary include files have
2728 been created and to guarantee proper parallel builds.
2729
aec373f1
R
2730Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2731
2732 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
2733 register for stdarg functions.
2734 * sh.h (current_function_varargs): Declare.
2735 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
2736
f5880dbe
JW
27371998-04-23 Jim Wilson <wilson@cygnus.com>
2738
f1f53f0b
JW
2739 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
2740 inhibit_libc is defined.
2741
f5880dbe
JW
2742 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
2743
8ade1519
JW
2744Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
2745
2746 * profile.c (tablejump_entry_p): New function.
2747 (branch_prob): Add code to recognize MIPS tablejump entry branch.
2748 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
2749
a2538ff7
NC
2750Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
2751
2752 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
2753 found, rather than at end of the loop, after the insn has been
b57062ca 2754 changed.
a2538ff7 2755
d0c42859
R
2756Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2757
2758 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
2759 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
2760
693e265f
MM
2761Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
2762
2763 * loop.c (note_addr_stored): Correct function to take 2 arguments,
2764 instead of 1.
2765
2766 * rtl.def (MATCH_INSN2): Add new matching pattern.
b57062ca 2767 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
693e265f 2768
27eef9ce
JC
2769Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
2770
2771 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
2772 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
b57062ca 2773
27eef9ce
JC
2774 * final.c (split_double): Sign extend both halves of a split CONST_INT.
2775
d972dd33
JL
2776Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
2777
2778 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
2779
5e5199e8
AM
2780Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2781
2782 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
2783 (cplus_demangle_opname): Call mop_up_squangle.
b57062ca 2784 (cplus_demangle): Initialize squangle info, then call
5e5199e8 2785 internal_cplus_demangle. (Most code moved there as well)
b57062ca 2786 (internal_cplus_demangle): New function, performs most of what use
5e5199e8
AM
2787 to be done in cplus_demangle, but is only called with this file.
2788 (squangle_mop_up): New function to clean up B and K code data.
2789 (mop_up): set pointers to NULL after freeing.
b57062ca 2790 (demangle_signature, demangle_template, demangle_class): Add
5e5199e8
AM
2791 switch elements to handle K and B codes.
2792 (demangle_prefix, gnu_special, demangle_qualified): Add
2793 code to handle K and B codes.
2794 (do_type, demangle_fund_type): Handle B and K codes.
2795 (remember_Ktype): New function to store K info.
2796 (register_Btype, remember_Btype): New functions for B codes.
2797 (forget_B_and_K_types): New function to destroy B and K info.
2798
0dacbd0e
JW
27991998-04-21 Jim Wilson <wilson@cygnus.com>
2800
2801 * stmt.c (check_seenlabel): When search for line number note for
2802 warning, handle case where there is no such note.
2803
4ceb7595
JC
2804Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
2805
2806 * genemit.c (gen_exp): Allow machine description to set mode of
2807 MATCH_OP_DUP.
2808
d09c9385
JC
2809Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
2810
2811 * alias.c (mode_alias_check): New function.
2812 (true_dependence, anti_dependence, output_dependence): Call
2813 mode_alias_check.
2814
1eeed24e
JL
2815Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
2816
d1c17572
JL
2817 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
2818 (MIPS_STACK_ALIGN): Similarly.
2819
a6d7e156
JL
2820 * c-common.c (type_for_mode): Handle TI types.
2821 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
2822 (init_decl_processing): Handle TI types.
2823 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
2824
1eeed24e
JL
2825 * mips.c (block_move_loop): Test Pmode == DImode instead of
2826 TARGET_MIPS64.
2827 (expand_block_move, save_restore_insns): Likewise.
2828 (function_prologue, mips_expand_prologue): Likewise.
2829 (mips_expand_epilogue): Likewise.
2830 * mips.h (POINTER_SIZE): Allow specific targets to override.
2831 (Pmode): Allow specific targets to override.
2832 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
2833 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
2834 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
2835 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
2836 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2837 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2838 * mips.md (indirect, tablejump & casesi support): Test for
2839 Pmode == DImode instead of TARGET_MIPS64.
2840 (call patterns): Likewise.
2841
d2f5ef70
KG
2842Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2843
2844 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
2845 for gen_rtx(MEM, ...).
2846
cb85a2f3
RH
2847Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
2848
2849 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
2850 to not be so gross, and to properly function with PIC.
2851
bb27e6c9
JW
2852Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
2853
99b13ed3
JW
2854 * frame.c (heapsort): Rename to frame_heapsort.
2855
bb27e6c9
JW
2856 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
2857
a9a05945
DE
2858Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
2859
2860 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
2861
dc0f0eb8
JW
2862Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
2863
2864 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
2865 operands during and after reload.
2866
95707627
R
2867Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2868
ba70e85a
JR
2869 * final.c (shorten_branches, init_insn_lengths): Move code
2870 to free label_align, uid_shuid, insn_lengths, insn_addresses
2871 and uid_align from the former function into the latter one;
2872 Add code to clear these variables.
2873 * sh.h (label_align): Remove declaration.
95707627 2874
0cd355fe
MM
2875Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
2876
763d7ce8
MM
2877 * gcc.c (lang_specific_driver): Declare prototype properly so
2878 fatal can be passed to it without error.
2879
f55b1ca8
MM
2880 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
2881 * configure: Regenerate.
2882 * config.in: Add #undef's for strchr and strrchr.
2883
2884 * protoize.c (toplevel): If we have rindex, but not strrchr, map
2885 rindex to strrchr.
2886 (file_could_be_converted): Use strrchr, not rindex since rindex is
2887 not defined on Linux systems when _POSIX_SOURCE is defined.
2888 (file_normally_convertible): Ditto.
2889 (process_aux_info_file): Ditto.
2890 (main): Ditto.
2891
0cd355fe
MM
2892 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
2893 a constant to an integer register, don't split the insns that do
2894 the simple AND and OR operations, rather just split each word, and
2895 let the normal movsi define split handle it further.
2896
a0798779
R
2897Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2898
2899 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
2900 (split_branches): Call init_insn_lengths.
2901
ced8dd8c
MM
2902Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
2903
2904 * i386.c: Include expr.h to get the change_address prototype
2905 declared.
b57062ca 2906
f37eb5cb
L
2907Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
2908
2909 * reg-stack.c (subst_asm_stack_regs): Change to return the last
2910 new insn generated by this function.
2911 (subst_stack_regs): Likewise.
2912 (convert_regs): Record the last newly generated insn and use
2913 it for change_stack () instead of INSN.
2914
49fb8382
MH
2915Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
2916
2917 * fix-header.c (enum special_file): Undefine enumerators if they
2918 are already defined by include files.
2919 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
2920 macro with '__' to not pollute user namespace.
2921
c6a754f2
RH
2922Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
2923
2924 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
2925
399cc148
JL
2926Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
2927
2928 * version.c: Bump for snapshot.
2929
84b77fba
JW
2930Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
2931
07415a17
JL
2932 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
2933
84b77fba
JW
2934 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
2935 Add missing -Dpentium* options.
2936 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
2937 instead of CPP_CPU_DEFAULT.
2938 (EXTRA_SPECS): Add entry for cpp_cpu_default.
2939
db72d7a1
DE
2940Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
2941
2942 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
2943 negative in a stackless frame.
2944 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
2945 in stackless frame size. Support 64-bit stackless frame size.
2946 Combine fpmem offset calculations and don't add total_size to
2947 offset if not pushing a stack frame.
2948
a1ecb5ca
JW
2949Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
2950
2951 * regmove.c (fixup_match_1): In three places, in flag_exceptions
2952 check, change p to q.
2953
a2a05b0a
JW
2954Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
2955
2956 * gcc.c (lang_specific_driver): Add new parm type to prototype.
2957 (added_libraries): New file scope static variable.
2958 (process_command): Initialize added_libraries. Pass it to
2959 lang_specific_driver.
2960 (main): Use added_libraries in check for no input files.
b57062ca 2961
284d86e9
JC
2962Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
2963
2964 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
2965 code generation. Use 64 bit instructions in 32 bit mode when
2966 possible. Use V9 return instruction. UltraSPARC optimizations.
2967
2968 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
2969
43be8193
JL
2970Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
2971
ea8693a4
JL
2972 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
2973 just pass zero. That will work regardless of the size of HARD_REG_SET.
2974
43be8193
JL
2975 * libgcc2.c (__floatdisf): Fix a couple typos.
2976
45df6aea
JW
2977Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
2978
2979 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
2980
6cca74ab
GM
2981Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
2982
2983 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
2984
77e6b0eb
JC
2985Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
2986
2987 * emit-rtl.c (operand_subword_force): If a register can not be
2988 accessed by words, copy it to a pseudo register.
2989
27f4cfdb
JW
2990Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
2991
2992 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
2993
f4a73984
MM
2994Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
2995
2996 * tree.h (mark_seen_cases): Delete declaration.
2997
00769100
JL
2998Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
2999
3000 * stmt.c (mark_seen_cases): Make static and add prototype.
3001
2467749d
KG
3002Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3003
3004 * frame.c: Include stdlib.h and unistd.h to possibly get various
3005 function prototypes. The fixproto script guarantees these header
3006 files exist on the target system.
3007 * libgcc2.c: Likewise.
b57062ca 3008
2467749d
KG
3009 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
3010 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
3011 function parameters.
3012 * libgcc2.c (__udiv_w_sdiv): Likewise.
3013
74c5186c
JL
3014Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
3015
ac546323
JL
3016 * varasm.c (asm_output_bss): Add prototype.
3017 (asm_output_aligned_bss): Likewise.
3018
3019 * unroll.c (verify_addresses): Add prototype.
3020
3021 * toplev.c: Add many prototypes. Too many to mention here.
3022
3023 * stmt.c (check_seenlabel): Add prototype.
3024
3025 * rtlanal.c (reg_set_p_1): Add prototype.
3026 (reg_set_last_1): Likewise.
3027
3028 * reorg.c (find_dead_or_set_registers): Add prototype.
b57062ca 3029
ac546323
JL
3030 * regmove (try_auto_increment): Add prototype.
3031
3032 * reg-stack.c (pop_stack): Add prototype.
3033
3034 * recog.c (validate_replace_rtx_1): Add prototype.
3035 (find_cosntant_term_loc): Likewise.
3036
a777ae13
JL
3037 * loop.c (regs_patch_p): Add prototype.
3038 (add_label_notes, count_nonfixed_reads): Likewise.
3039 (find_single_use_in_loop): Likewise.
3040 (express_from): Surround prototype with #ifdef.
3041 (giv_sort): Similarly.
3042
3043 * jump.c (mark_modified_reg): Add prototype.
3044
3045 * haifa-sched.c (is_prisky): Add prototype.
3046 (queue_to_ready): Likewise.
3047
3048 * genextract.c (gen_insn): Add prototype.
3049
3050 * genemit.c (max_operand_1): Add prototype.
3051 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
3052 (gen_expand, gen_explit, output_add_clobbers): Likewise.
3053 (output_init_mov_optab): Likewise.
3054
3055 * genattrtab.c (attr_hash_add_rtx): Add prototype.
3056 (attr_hash_add_string, write_length_unit_log): Likewise.
3057
3058 * genattr.c (init_range): Add prototype.
3059
3060 * combine.c (sets_function_arg_p): Add prototype.
3061
3062 * expr.c (store_constructor_field): Add prototype.
3063 (get_memory_usage_from_modifier): Likewise
3064
3065 * expmed.c (synth_mult): Add prototype.
3066 (choose_multiplier, invert_mod2n): Likewise.
3067
242c13b0
JL
3068 * except.c (push_eh_entry): Add prototype.
3069 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
3070 (call_get_eh_context, start_dynamic_cleanup): Likewise.
3071 (start_dynamic_handler, can_throw): Likewise.
3072 (output_exception_table_entry, scan_region): Likewise.
3073 (eh_regs, set_insn_eh_region): Likewise.
3074
1ad4f46b
JL
3075 * dwarfout.c (decl_class_context): Add prototype.
3076 (output_inheritance_die, type_ok_for_scope): Likewise.
3077
e822c593
JL
3078 * c-lex.c (skip_white_space_on_line): Add prototype.
3079
70fec650
JL
3080 * alias.c (record_set): Add prototype.
3081 (find_base_term, base_alias_check): Likewise.
b57062ca 3082
1ac4f799
JL
3083 * function.c (assign_outer_stack_local): Make static and add prototype.
3084
a2e68776
JL
3085 * haifa-sched.c (build_control_flow): Accept raw data as inputs
3086 instead of computing it locally. Callers changed.
3087 (find_rgns): Several new arguments. Callers changed.
3088 Generally clean up and comment better. Use dominators to
3089 identify reducible loops. Convert some flag arrays to bitmaps.
3090 Convert most of the code to work on pred/succ lists instead of
3091 an edge table. Add comments for future improvements.
3092 (schedule_insns): Allocate temporary tables for flow data, call
3093 routines to compute flow data and pass it along to children as
3094 arguments.
3095 (debug_control_flow): Delete. Use dump_bb_data instead.
3096
97b1ef1c
JL
3097 * basic-block.h (compute_dominators): Declare.
3098
74c5186c
JL
3099 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
3100 functions.
3101 * basic-block.h: Declare them.
3102
7ce55772
JW
3103Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
3104
3105 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
3106 no operands.
3107
e88caebd
APB
3108Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
3109
3110 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
3111 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
3112 node is non NULL. Cache last file name and file name identifier node.
3113
a62e870c
MM
31141998-04-15 Mark Mitchell <mmitchell@usa.net>
3115
3116 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
3117 the length of an array, not TREE_TYPE.
3118
5e89e58b
JL
3119Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
3120
3121 * flow.c (sbitmap_union_of_successors): New function.
3122 * basic-block.h (sbitmap_union_of_successors): Declare it.
3123
df6faf79
JW
3124Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
3125
3126 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
3127 Set gnu_ld to gnu_ld_flag inside main loop.
3128 (gas): Likewise.
3129
5c60e5c0
DB
3130Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
3131
3132 * toplev.c (compile_file): Call init_parse using new interface.
3133 (init_lex): Remove declaration.
3134
3135 * c-lex.c (init_parse): Now returns char* containing filename.
3136
2872409d
JL
3137Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
3138
3139 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
3140
4db83042
MM
3141Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
3142
3143 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
3144 (gen{extract,peep,opinit,output}): Ditto.
3145
3146 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
3147 global definition so print-rtl.o can be linked in.
3148 * gen{peep,recog}.c (insn_attr_name): Ditto.
3149
9aeba741
RP
3150Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
3151
3152 * fixincludes: discard empty C++ comments, as found in sys/time.h
3153 on hpux-11.0.
3154
7878eae7
AS
3155Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3156
3157 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
3158 operand.
3159
fcb7cb6c
JL
3160Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
3161
3162 * emit-rtl.c (operand_subword): Rework slightly to avoid
3163 bogus warning from previous change.
3164
47747e53
RH
3165Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
3166
3167 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
3168 Nov 8 find_replacement change. Move decls of get_unaligned_address
3169 * alpha.h: ... here.
3170
8450a694
JC
3171Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
3172
7940255d
JC
3173 * function.c (assign_parms): Initialize unsignedp before passing
3174 its pointer to promote_mode.
3175
8450a694
JC
3176 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
3177 (write_test_expr): Allow MATCH_INSN.
3178
c70afde1
PE
3179Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
3180
3181 * install.texi: Update section on warnings that can be safely ignored.
3182
cf877a42
JW
3183Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
3184
3185 * mips.md (reload_outdi): Change the scratch mode from DImode to
3186 TImode. New variable scratch, used instead of operand[2] in template.
3187 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
3188
996d9dac
MM
3189Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
3190
3191 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
3192
de2d990f
KW
3193Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
3194
3195 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
3196
d5daf098
JL
3197Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
3198
6862dfac
JL
3199 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
3200 (ASM_FINISH_DECLARE_OBJECT): Likewise.
3201
b7cb92ad
JL
3202 * Idea and part of the patch from HJ.
3203 * Makefile.in: auto-host.h renamed from auto-config.h. All references
3204 changed.
3205 (distclean): Remove auto-build.h too.
3206 * configure.in: Rename host autoconf generated file to auto-host.h.
3207 If host != build, then run autoconf to generate auto-build.h for
3208 the build machine and include it in build_xm_files.
3209 Check for wait.h and sys/wait.h.
3210
d5daf098
JL
3211 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
3212 TRULY_NOOP_TRUNCATION.
3213
7d02bbef
JM
3214Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
3215
3216 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
3217
4754172c
CM
3218Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
3219
3220 * invoke.texi (ld options) Include memset requirements
3221 for options -nodstdlib and -nodefaultlibs.
3222
bb72a084
PE
32231998-04-12 Paul Eggert <eggert@twinsun.com>
3224
3225 This change is from an idea suggested by Arthur David Olson.
3226
3227 * c-common.c (decl_attributes, record_function_format,
3228 check_format_info, init_function_format_info):
3229 Add support for strftime format checking.
3230 (enum format_type): New type.
3231 (record_function_format): Now static, and takes value of type
3232 enum format_type instead of int.
3233 (time_char_table): New constant.
3234 (struct function_format_info): format_type member renamed from is_scan.
3235 (check_format_info): Use `warning' rather than sprintf followed by
3236 `warning', to avoid mishandling `%' in warnings.
3237 Change `pedwarn' to `warning', since these warnings do not necessarily
3238 mean the program does not conform to the C Standard, as the code
3239 need not be executed.
3240
3241 * c-tree.h (record_function_format): Remove decl; no longer extern.
3242
3243 * extend.texi: Add documentation for strftime format checking.
3244
1be12a4a
JL
3245Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
3246
71922625
JL
3247 * mips/ecoffl.h: Do not include mips.h.
3248 * mips/elf.h: Likewise.
3249
1be12a4a
JL
3250 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
3251 * mips/ecoff.h: Include "mips/mips.h".
3252
9fe69077
JL
3253Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
3254
3255 * version.c: Bump for snapshot.
3256
c6a26dc4
JL
3257Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
3258
3259 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
3260 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
3261 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
3262 between loop optimization passes.
3263 * rtl.h: Updated appropriately.
3264
bbb81923
JL
3265Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
3266
3267 Reinstall this patch from Jason.
3268 * function.c (push_function_context_to): Don't call init_emit.
3269
29cb1e1f
NC
3270Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
3271
3272 * rtl.c (read_skip_spaces): Prevent infinite loops upon
3273 encountering unterminated comments.
3274
3f518020
JL
3275Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
3276
3277 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
3278 64x32 cross builds.
4b104d6e
JL
3279
3280 * configure.in: Handle --with-fast-fixincludes.
3281 (fixincludes): If --with-fast-fixincludes, then use a different
3282 fixincludes program by default.
3283 * Makefile.in (fixinc.sh): New rule.
3284
b76c90cf
L
3285Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
3286
3287 * i386.md (movqi+1): Handle invalid QI register.
3288 (movsf_push-1): Likewise.
3289
2e076ddf
NC
3290Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
3291
3292 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
3293 addresses.
3294 symbolic_memort_operand(), call32_operand(), int8_operand(),
3295 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
3296 Not used.
3297 uint16_operand(): Made static.
3298
b1d6ccb8
JL
3299Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
3300
3301 * calls.c (expand_call): Fix typo.
3302
e56e519d
DB
3303Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
3304
3305 * c-lex.c (finput): New global.
3306 (init_parse): Always included. Handle !USE_CPPLIB using
3307 code originally in compile_file.
3308 (finish_parse): Update for CPPLIB.
3309 * toplev.c (init_parse, finish_parse): Declare.
3310 (finput): Delete variable. Now in front-ends.
3311 (compile_file): Remove code which is now handled by init_parse
3312 which is unconditionally called. Similarly for finish_parse.
3313
85d7aed9
GK
3314Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
3315
3316 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
3317 ASM_WEAKEN_LABEL): Add.
3318
574badbc
RH
3319Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
3320
3321 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
3322 * configure.in (alpha-*-linux*): Use them.
3323
bf1e5319 3324Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
b57062ca 3325
bf1e5319
APB
3326 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
3327 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
3328 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
3329 (build_expr_wfl): New prototype declaration.
3330 * tree.c (build_expr_wfl): New function, to build
3331 EXPR_WITH_FILE_LOCATION nodes.
3332 (copy_node): Don't zero TREE_CHAIN if copying a
3333 EXPR_WITH_FILE_LOCATION node.
3334 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
3335 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
3336
ee5254ff
JL
3337Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
3338
62db76ee
JL
3339 * configure.in (v850): Use t-v850.
3340 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
3341
10a998b0
JL
3342 * protoize.c (creat, read, write): Do not declare.
3343
e105f02c
JL
3344 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
3345 refer to the CODE_LABEL before a dispatch table.
3346
56b2d7a7
JL
3347 * invoke.texi: Add ARC options.
3348
c74c0cff
JL
3349 * gcc.c (proces_command): Improve error message for -o with
3350 either -c or -S.
3351
2d58da15
JL
3352 * i386/x-cygwin32 (CLIB): Link in advapi32.
3353
40ef2fc5
JL
3354 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
3355 (ASM_IDENTIFY_LANGUAGE): Likewise.
3356
df89b5e7
JL
3357 * i386.md (movqi recognizer): Don't perfom byte increment into
3358 a NON_QI_REG_P.
3359
f09ff199
JL
3360 * configure.in (x86-dg-dgux): Run fixinc.dgux.
3361
df89b5e7 3362 * i370.h: Fix typo in GEN_INT changes.
f962b99f 3363
c3709629
JL
3364 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
3365 of an empty arglist in prototype.
3366
ee5254ff
JL
3367 * Makefile.in: Remove bytecode crud that crept back in after the
3368 gcc2 merge.
3369
0806342b
BK
33701998-04-08 Brendan Kehoe <brendan@cygnus.com>
3371
3372 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
3373 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
3374
6f734908
RE
3375Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
3376
3377 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3378
56c0e996
BS
3379Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
3380
3381 * c-lex.c (is_class_name): Delete declaration.
3382 (whitespace_cr): Make static and add prototype.
3383 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
3384 yylex, get_directive_line): Turn declarations into prototypes.
3385 (position_after_whitespace, check_newline, yyerror,, is_class_name,
3386 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
3387 prototypes.
3388 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
3389 prototypes.
3390 * gencodes.c (gen_insn): Add prototype.
3391 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
3392 gen_peephole): Add prototypes.
3393 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
3394 prototypes.
3395 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
3396 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
3397 genheader, gencode): Add prototypes.
3398 * genopinit.c (gen_insn): Add prototype.
3399 * genoutput.c (output_prologue, output_epilogue, scan_operands,
3400 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
3401 gen_expand, gen_split, n_occurrences): Add prototypes.
3402 * genpeep.c (gen_peephole): Add prototype.
3403 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
3404 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
3405 labels_in_range_p, count_loop_regs_set, note_addr_stored,
3406 loop_reg_used_before_p, scan_loop, replace_call_address,
3407 skip_consec_insns, libcall_benefit, ignore_some_movables,
3408 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
3409 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
3410 check_final_value, record_giv, update_giv_derive, basic_induction_var,
3411 simplify_giv_expr, general_induction_var, consec_sets_giv,
3412 check_dbra_loop, express_from, combine_givs_p, combine_givs,
3413 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
3414 last_use_this_basic_block, record_initial, update_reg_last_use,
3415 iteration_info, analyze_loop_iterations, insert_bct,
3416 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
3417 into prototypes.
3418
cc46ae8e
JL
3419Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
3420
3421 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3422
e7d075bf
KR
34231998-04-07 Ken Raeburn <raeburn@cygnus.com>
3424
3425 * config/mips/mips.c (siginfo): Deleted.
3426 (override_options): Don't install SIGINFO signal handler.
3427
668d07be
JW
3428Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
3429
3430 * loop.c (check_dbra_loop): When normalize comparison_val, add check
3431 to verify it is non-negative.
3432
cd36edbd
RH
3433Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
3434
3435 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
3436 (alpha_expand_block_clear): Likewise.
3437
e814ca97
RH
3438Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
3439
3440 * tree.h (sizetype_tab): Fix previous change for K&R.
3441
f1d9e6d2
JL
3442Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
3443
3444 * version.c: Bump for snapshot.
3445
22ec3928
RE
3446Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
3447
3448 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
3449 Add USG and POSIX to xm_defines.
3450
10da1131
BM
3451Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
3452
3453 * gcc.c: Add linker spec.
3454 (link_command_spec): Use %(linker) instead of ld.
3455 (main): If collect2 is requested as the linker, see if it exists;
3456 if not, use ld instead.
3457
3458 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
3459 (ld:) Deleted.
3460 (install-collect2): Install as collect2, not ld.
3461
3462 * configure.in(will_use_collect2): It's named collect2 now.
3463
3464 * collect2: Remove checks to see if we were invoked recursively.
3465 (collect_execute): Use _spawnvp under cygwin32.
3466
a8afd67b
JW
3467Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
3468
3469 * haifa-sched.c (build_control_flow): Set unreachable for block whose
3470 only predecessor is itself.
3471
944fc8ab
KG
3472Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3473
3474 * c-parse.in: Include system.h, and remove stuff now made redundant.
3475 * cccp.c: Likewise.
3476 * cexp.y: Likewise.
3477 * protoize.c: Likewise. Properly check for cpp stringification.
3478
3479 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
b57062ca 3480 Depend on system.h.
944fc8ab
KG
3481
3482 * objc/Make-lang.in (objc-parse.o): Likewise.
3483
3286ab57
KG
3484Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3485
3486 * gansidecl.h: Check if compiler supports __attribute__. Provide
3487 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
3488 __attribute__ when its available. Also provide definitions for
3489 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
3490 terms of ATTRIBUTE_PRINTF.
b57062ca 3491
3286ab57
KG
3492 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
3493 of __attribute__.
3494
d276f2bb
CM
3495Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
3496
3497 * combine.c (can_combine_p): Include successor in volatile test.
3498
64ad9df2
R
3499Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3500
3501 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
3502 offset_unsigned.
3503
dc544d2c
JL
3504Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
3505
3506 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
3507 in prototype and definition.
b57062ca 3508
38c413cd
JL
3509Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
3510
3511 * version.c: Bump for snapshot.
3512
59dd0a31
RH
3513Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
3514
b57062ca 3515 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
59dd0a31
RH
3516 alpha_expand_unaligned_store_words.
3517
f31fce3f
JW
3518Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
3519
3520 * i386.md (movsf_push, movsf_mem): Remove.
3521 (movsf_push): Rename from movsf_push_nomove and move in front of
3522 movsf. Use nonmemory_operand predicate and don't bother checking
3523 TARGET_MOVE.
3524 (movsf_push_memory): New pattern.
3525 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
3526 both operands refer to memory then force operand[1] into a register.
3527 (movsf_normal): Change to unnamed pattern.
3528 Likewise for movdf, movxf, and friends.
3529
27ebc03e
JL
3530Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
3531
3532 * version.c: Bump for snapshot.
3533
6ecd4e53 3534Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
98bd9f0f 3535
6ecd4e53 3536 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
98bd9f0f 3537
b57062ca 3538Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
ac08ebd0 3539
6ecd4e53 3540 * configure.in (mips-wrs-vxworks): New target.
ac08ebd0 3541
6ecd4e53 3542Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
f4a788ac 3543
f3978531
JL
3544 * expmed.c (synth_mult): The value -1, has no zeros, so it can
3545 never have the form ...011.
3546
f4a788ac
JL
3547 * version.c: Bump for snapshot.
3548
5cb6195d
RH
3549Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
3550
3551 * i386.c (asm_output_function_prefix, load_pic_register):
3552 Use ASM_GENERATE_INTERNAL_LABEL properly.
3553 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
3554 (print_operand): Ignore it.
3555 (load_pic_register): Use it for the got load call.
3556 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
3557 (prologue_get_pc_and_set_got): Likewise.
3558 * i386.h: Update print_operand docs.
3559
ce193852
RH
3560Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
3561
3562 * i386.md (ffssi, ffshi): Rewrite as define_expands.
3563 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
3564 * i386.c (notice_update_cc): Recognize unspec 5.
3565
0022a940
DMT
3566Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
3567
3568 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
3569 * alpha.c (print_operand): Handle it.
3570 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
3571 for ALPHA_TP_INSN.
3572 (fix_truncdfdi2): Likewise.
3573
896cced4
RH
3574Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
3575
3576 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
3577 of these into a single struct, with additional [us]sizetype entries.
3578 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
3579 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
3580 an array.
3581
8983c716
RH
3582Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
3583
3584 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
3585
4ed43ff8
RH
3586Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
3587
3588 * haifa-sched.c (split_block_insns): Don't supress insn splitting
3589 on subsequent passes.
3590
3591 * alpha.c (hard_fp_register_operand): New function.
3592 * alpha.h (PREDICATE_CODES): Add it.
3593 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
3594 f<-m case and accompanying define_split.
3595 (trapb): Use a unique unspec_volatile number.
3596
8e7bc3cd
RH
3597Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
3598
3599 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
3600 from gcc2 merge.
3601
e5e809f4
JL
3602Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
3603
3604 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
3605 for details.
3606
3607 * haifa-sched.c: Mirror recent changes from gcc2.
3608
516c2342
JL
3609Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
3610
e9eaed43
JL
3611 * Makefile.in (insn*.o): Depend on system.h.
3612
516c2342
JL
3613 * pa.c (output_global_address): Initialize base.
3614 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
3615
7cc34889
MS
36161998-04-03 Mike Stump <mrs@wrs.com>
3617
3618 * gthr.h: Support systems that don't have weak, but have threads.
3619 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
3620 * gthr-vxworks.h: New file.
3621 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
3622
52c18286
JW
3623Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
3624
3625 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
3626
c1ac292d
VM
36271998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
3628
3629 * ginclude/va-i960.h (va_end): Change void * to void.
3630
4cb1caaf
KG
3631Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3632
3633 * Makefile.in (choose-temp.o): Depend on system.h.
3634
3635 * choose-temp.c: Include system.h when IN_GCC.
3636
a9a2595b
JR
3637Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
3638 Richard Henderson <rth@cygnus.com>
3639
3640 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
3641 (move_replacements): New function.
3642 * reload.h: Prototype it.
b57062ca 3643
a9a2595b 3644 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
b57062ca 3645
79363e2f
RH
3646Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
3647
3648 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
3649 Run fixincludes.
3650
4901a643
RH
3651 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
3652 (gen_highpart): Likewise.
ce4d78eb
RH
3653 * final.c (alter_subreg): Allow the target to hook by-mode subreg
3654 hard register number changes.
b57062ca 3655
715f9c99
JL
3656Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
3657
4e86caed
JL
3658 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
3659 rnbitsize, rnmode and rinner.
3660 (make_range): Initialize type.
3661 (fold): Initialize arg0, arg1 and varop.
3662
3663 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
3664 and regnor.
3665 (expand_function_start): Initialize last_ptr.
3666
3667 * stor-layout.c (layout_record): Initialize desired_align.
3668 (get_best_mode): Initialize unit.
3669
3670 * tree.c (copy_node): Initialize length.
3671
aefdd5ab
JL
3672 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
3673
3674 * caller-save.c (insert_save_restore): Initialize pat, code and
3675 numregs.
3676
3677 * emit-rtl.c (push_to_sequence): Initialize top.
3678 (push_topmost_sequence): Likewise.
3679
3680 * genattrtab.c (simplify_by_exploding): Initialize defval.
3681
3682 * profile.c (branch_prob): Initialize dest.
3683
3684 * rtl.h (note_stores): Remove duplicate prototype.
3685 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
3686
3687 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
3688 strings that are not actually lengths.
3689
729da3f5
JL
3690 * genattrtab.c: Make generated file use system.h, instead of
3691 including stdio.h, etc directly.
3692 * genextract.c, genopinit.c, genoutput.c: Likewise.
3693 * genpeep.c, genrecog.c: Likewise
3694
3695 * genoutput.c (process_template): Mark operands in the generated
3696 function as potentially unused if compiling with GNU CC.
3697
2a8034f8
JL
3698 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
3699
715f9c99
JL
3700 * pa.md (reload peepholes): Remove unused variable "mode".
3701
75d3a15b
NC
3702Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
3703
3704 * config/arm/thumb.h: Add super interworking support.
3705 * config/arm/thumb.c: Add super interworking support.
3706 * config/arm/thumb.md: Add super interworking support.
75d3a15b
NC
3707 * config/arm/lib1funcs.asm: Add interworking support.
3708 * config/arm/lib1thumb.asm: Add super interworking support.
75d3a15b
NC
3709 * config/arm/t-semi: Add interworking support.
3710 * config/arm/t-thumb: Add interworking support.
75d3a15b 3711 * config/arm/README-interworking: New file.
b57062ca 3712
63959c22
JW
3713Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
3714
3715 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
3716 (MD_STARTFILE_PREFIX): Unset.
3717
c651e1e0
MM
37181998-04-01 Mark Mitchell <mmitchell@usa.net>
3719
3720 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
3721 entity in a local scope.
3722
3723 * fold-const.c (fold): Call truthvalue_conversion for values which
3724 are folded to boolean type.
3725
3a598fbe
JL
3726Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
3727
3728 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
3729 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
3730 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
3731 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
3732 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
3733 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
3734 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
3735 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
3736 * md.texi: Likewise.
3737
b5026c50
MH
3738Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
3739
3740 * fixincludes (limits.h): Fix nested comments in Motorola's
3741 limits.h and sys/limits.h.
3742
c8d86b9a
JW
3743Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
3744
1a7cb241
JW
3745 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
3746 as dest of expand_binop call.
3747
221a9f65
JW
3748 * alpha.md (extzv): Correct check for valid operand[2] values.
3749
a7ebd547
JW
3750 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
3751 branch.
3752
c8d86b9a
JW
3753 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
3754
97be8f06
SC
3755Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
3756
3757 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
3758 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
b57062ca 3759
97be8f06
SC
3760 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
3761 cygwin32 can override this to allow both unix and win32 style PATHs.
3762
3763 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
3764 style environment paths.
b57062ca 3765
b04cd507
KG
3766Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3767
3768 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
3769 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
3770 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
3771 system.h.
b57062ca 3772
b04cd507
KG
3773 * cpphash.c: Include config.h.
3774 * cppalloc.c: Include system.h. Add parameters to various
3775 function prototypes.
3776 * cpperror.c: Likewise.
3777 * cppexp.c: Likewise.
3778 * cpphash.c: Likewise.
3779 * cpplib.c: Likewise.
3780 * cppmain.c: Likewise.
3781 * fix-header.c: Likewise.
3782 * gcov.c: Likewise.
3783 * gen-protos.c: Likewise.
3784 * gengenrtl.c: Likewise.
3785 * halfpic.c: Likewise.
3786 * hash.c: Likewise.
3787 * scan-decls.c: Likewise.
3788 * scan.c: Likewise.
3789
1aa5d112
JW
3790Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
3791
3792 * README.gnat: Add lang_print_xnode definition.
3793
e18db50d
AS
3794Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3795
3796 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
3797 fmovecr on the 68060.
3798
c0d45032
JL
3799Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
3800
3801 * genemit.c (DONE): Rework so that it works in the true arm if
3802 an if-else conditional.
3803 (FAIL): Likewise.
3804
31ed227b
JL
3805Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
3806
c3670418
JL
3807 * rs6000.c: Do not include stdioh or ctype.h anymore.
3808
234042f4
JL
3809 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
3810 $(RTL_H).
3811 (stor-layout.o): Likewise.
3812 * c-typeck.c: Include rtl.h and expr.h.
3813 * stor-layout.c: Likewise.
3814
72e19470
JL
3815 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
3816 All callers changed.
3817 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
3818 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
3819 All callers changed.
3820
40c3a857
JL
3821 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
3822
c80150b7
JL
3823 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
3824
31ed227b
JL
3825 * tree.h (lang_print_xnode): Provide prototype.
3826
fe776296
JL
3827Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
3828
3829 * version.c: Bump for snapshot.
3830
f1b03ce1
JL
3831Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
3832
3ac2735b
JL
3833 * objc/sendmsg.c (__objc_block_forward): Add braces for return
3834 value if INVISIBLE_STRUCT_RETURN.
3835
f2b147f7
JL
3836 * pa.c (arith_double_operand): Fix parens.
3837
c4fa3460
JL
3838 * haifa-sched.c (print_pattern): Correct arg to sprintf.
3839
f1b03ce1
JL
3840 * Makefile.in (libgcc1.null): Make return type for __foo void.
3841
2e61a5a5
JL
3842Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
3843
ba0b8436
JL
3844 * pa.h: Add declarations for many functions defined in pa.c.
3845
67ac5957
JL
3846 * genpeep.c (main): Remove unused variable 'i' from the generated
3847 file.
3848
c38d8c5b
JL
3849 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
3850 (gen_split): Likewise.
3851 (main): Rework generated definitions of DONE and FAIL so that they
3852 no longer use gotos. Avoids warnings about unused labels.
3853
d6e6c585
JL
3854 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
3855 unused "junk" variable.
3856
2e61a5a5
JL
3857 * genattrtab.c (write_complex_function): Add a default case in
3858 generated switch statement to keep -W -Wall quiet.
3859
0b26e56d
NC
3860Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
3861
157a620e
NC
3862 * invoke.texi: Document more ARM and Thumb command line options.
3863
0b26e56d
NC
3864 * config/arm/xm-thumb.h: New file.
3865
600a4ce7
CB
3866Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
3867
3868 * stmt.c (expand_expr_stmt): Must generate code for
3869 statements within an expression (gcc's `({ ... )}')
3870 even if -fsyntax-only.
3871
4d1d8045
BS
3872Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3873 Jeffrey A Law (law@cygnus.com)
3874
3875 * basic-block.h (basic_block_computed_jump_target): Declare.
3876 * flags.h: (current_function_has_computed_jump): Declare.
3877 * flow.c: (basic_block_computed_jump_target): Define.
3878 (flow_analysis): Allocate it. Set current_function_has_computed_jump
3879 to 0.
3880 (find_basic_blocks): Set current_function_has_computed_jump and
3881 elements of basic_block_computed_jump_target to 1 as appropriate.
3882 * function.c: (current_function_has_computed_jump): Define.
3883 * global.c (global_conflicts): Don't allocate pseudos into stack regs
3884 at the start of a block that is reachable by a computed jump.
3885 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
3886 immediately.
3887 (subst_stack_regs): Undo change from Sep 4 1997.
3888 (uses_reg_or_mem): Now unused, deleted.
3889 * stupid.c (stupid_life_analysis): Compute
3890 current_function_has_computed_jump.
3891 (stupid_find_reg): Don't allocate stack regs if the function has a
3892 computed goto.
3893 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
3894 the current function has a computed jump. Use the global value
3895 instead.
3896
56f28b73
JL
3897Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
3898
3899 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
3900 (DWARF2_UNWIND_INFO): Define to zero.
3901
6ed4bb9a
MM
3902Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
3903
3904 * gcc.c (set_std_prefix): Add declaration.
3905 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
3906 suffix, and update the standard prefix prefix.c uses.
3907
3908 * prefix.c (std_prefix): New global to hold default prefix value.
3909 (get_key_value): Change to use std_prefix instead of PREFIX.
3910 (translate_name): Ditto.
3911 (update_path): Ditto.
3912 (get_key_value): Release allocated scratch storage.
3913 (set_std_prefix): New function to reset the standard prefix.
3914
1f3fa20e
R
3915Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3916
7daa142b 3917 * sh.c (find_barrier): Fix calculations for alignment increase.
1f3fa20e 3918
d8a0154e
MH
3919Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
3920
3921 * Makefile.in (stmp-fixinc): If we're actually fixing include
3922 files, copy gcc's assert.h into the fixed include dir.
3923 * fixincludes (assert.h): Avoid any attempts to fix a probably
3924 broken system specific assert.h file.
3925 * fixproto (stdlib.h): Make sure, it'll contain a definition of
3926 size_t.
3927
64d3b4ca
JL
3928Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
3929
3930 * regclass.c (reg_scan_mark_refs): Be more selective about
3931 when we mark a register with REGNO_POINTER_FLAG.
3932
e6e52be0
R
3933Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3934
3935 reload inheritance improvement:
3936 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
3937 Change meaning: index is now hard reg number.
3938 (reg_reloaded_valid, reg_reloaded_dead): New variables.
3939 (reload_spill_index): Content is now a hard reg number.
3940 (reload_as_needed): Change to fit new variable meaning.
3941 (forget_old_reloads_1, allocate_reload_reg): Likewise.
3942 (choose_reload_regs, emit_reload_insns): Likewise.
3943
812f2051
R
3944Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3945
3946 * regclass.c (record_reg_classes): '?' increases cost by two.
3947
3948 * reload.c (find_reloads): Double previous costs. Output
3949 reloads cost one unit extra.
3950
3951 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
3952 boiled down to && ! 0.
3953
3954 * reload.c (find_equiv_reg): Also consider a goal offset from the
3955 frame pointer to be constant.
3956
04d02ece
R
3957Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3958
3959 * sh.h (OPTIMIZATION_OPTIONS): Define.
3960
6f28d3e9
RH
3961Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
3962
3963 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
3964
b09fa787
JL
3965Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
3966
3967 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
3968
a16b4c9c
JW
3969Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
3970
3971 * c-common.c (check_format_info): Initialize type, is_type. New local
3972 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
3973 when pedantic if used with integral format specifier.
3974
c4d38ccb
MM
3975Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
3976
3977 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
3978 direction.
3979 (function_arg_padding): Declare.
3980
3981 * rs6000.c: Include system.h.
3982 (function_arg_padding): Change return type to int, cast enum's to
3983 int.
3984
3985 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
3986 * collect2.c (scan_prog_file): Add explicit braces to avoid
3987 ambiguous `else'.
b57062ca 3988
c4d38ccb
MM
3989 * dbxout.c (dbxout_type_fields): Add braces around empty body in
3990 an if-statement.
3991 (dbxout_type): Likewise.
b57062ca 3992
c4d38ccb
MM
3993 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
3994 `ptt_size' from int to size_t.
3995 (rs6000_file_start): Likewise for `i'.
3996 (rs6000_replace_regno): Add default case in enumeration switch.
3997 (output_epilog): Remove unused variable `i'.
3998 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
3999 and `reg2'.
b57062ca 4000
c4d38ccb
MM
4001 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
4002 initializer.
4003 (get_issue_rate, non_logical_cint_operand): Add prototype.
4004 (rs6000_output_load_toc_table): Ditto.
b57062ca 4005
c4d38ccb
MM
4006 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
4007 `else'.
b57062ca 4008
e98e406f
NC
4009Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
4010
4011 * config/arm/thumb.c: New File. Support for ARM's Thumb
b57062ca 4012 instruction set.
e98e406f
NC
4013 * config/arm/thumb.h: New File. Thumb definitions.
4014 * config/arm/thumb.md: New File. Thumb machine description.
4015 * config/arm/tcoff.h: New File. Thumb COFF support.
4016 * config/arm/t-thumb: New File. Thumb makefile fragment.
4017 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
4018
4019 * configure.in: Add Thumb-coff target.
4020 * configure: Add Thumb-coff target.
4021 * config.sub: Add Thumb-coff target.
4022
8cf619da
JW
4023Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
4024
4025 * loop.c (scan_loop): Initialize move_insn_first to zero.
4026
fe0714d3
JS
4027Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
4028
4029 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
4030 * config/i386/rtems.h: Likewise.
4031 * config/i960/rtems.h: Likewise.
4032 * config/m68k/rtems.h: Likewise.
4033 * config/mips/rtems64.h: Likewise.
4034 * config/pa/rtems.h: Likewise.
4035 * config/rs6000/rtems.h: Likewise.
4036 * config/sh/rtems.h: Likewise.
4037 * config/sparc/rtems.h: Likewise.
4038
428be702
RK
4039Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4040
4041 * pa.c (emit_move_sequence): If in reload, call find_replacement.
4042
ae8c5963
NC
4043Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
4044
2ea9a965
NC
4045 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
4046
ae8c5963
NC
4047 * collect2.c (find_a_file): Add debugging.
4048 (find_a_file): Test for win32 style absolute paths if
4049 DIR_SERPARATOR is defined.
4050 (prefix_from_string): Add debugging.
4051 (main): Test for debug command line switch at start of program
b57062ca 4052 execution.
ae8c5963 4053 (main): Use GET_ENVIRONMENT rather than getenv().
72cf6902
NC
4054 (prefix_from_env): Use GET_ENVIRONMENT.
4055
050367a3
MM
40561998-03-24 Mark Mitchell <mmitchell@usa.net>
4057
4058 * cplus-dem.c (optable): Add sizeof.
4059 (demangle_template_value_parm): New function containing code
4060 previously found in demangle_template.
b57062ca 4061 (demangle_integral_value): New function which handles complicated
050367a3
MM
4062 integral expressions.
4063 (demangle_template): Use them.
4064
0b93b64e
KG
4065Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4066
4067 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
4068 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
4069 genattrtab.o, genoutput.o): Depend on system.h.
b57062ca 4070
0b93b64e
KG
4071 * genattr.c: Include system.h. Add arguments to various function
4072 prototypes. Remove redundant prototype of read_rtx().
4073 * genattrtab.c: Likewise.
4074 * gencodes.c: Likewise.
4075 * genconfig.c: Likewise.
4076 * genemit.c: Likewise.
4077 * genextract.c: Likewise.
4078 * genflags.c: Likewise.
4079 * genopinit.c: Likewise.
4080 * genoutput.c: Likewise.
4081 * genpeep.c: Likewise.
4082 * genrecog.c: Likewise.
4083
bc289659
ML
40841998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
4085
4086 * c-lang.c (lang_print_xnode): New function.
4087 * objc/objc-act.c (lang_print_xnode): Likewise.
4088 * print-tree.c (print_node): Call it
4089
990ac8d7
L
4090Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
4091
4092 * c-parse.in: Recognize protocol qualifiers in class
4093 definitions for objc.
4094 Include "output.h".
4095 (yyerror): Remove redundant decl.
4096 (yyprint): Fix prototype.
4097
65d98182
JL
4098Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
4099
47a0b68f
JL
4100 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
4101
65d98182
JL
4102 * stmt.c (unroll_block_trees): Free block_vector if needed.
4103
3cac0a21
PDM
4104Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
4105
4b8bef1d
PDM
4106 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
4107 (zero_extendsidi2): Avoid useless copy.
4108 (iordi_zext): New pattern.
4109 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
4110 operand 2.
4111 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
4112
3cac0a21
PDM
4113 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
4114 (ashldi3): Allow constant shift count in range ]32,63].
4115 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
4116
4da05956
MM
41171998-03-22 Mark Mitchell <mmitchell@usa.net>
4118
4119 * tree.h (IS_EXPR_CODE_CLASS): New macro.
4120
545f2aab
JL
4121Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
4122
4123 * h8300.h (CONST_COSTS): Remove definition.
4124 (DEFAULT_RTX_COSTS): Define.
4125
eef15f9f
JS
4126Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
4127
4128 * config/sh/rtems.h: Switched from ELF to COFF.
4129
4bca6986
R
4130Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4131
4132 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
4133
8ca77a11
JL
4134Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
4135
4136 * version.c: Bump for snapshot.
4137
e09e14e9
NC
4138Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
4139 Geoff Noer <noer@cygnus.com>
4140
4141 * Makefile.in: Various fixes for building cygwin32 native toolchains.
4142
35d541d4
NC
4143 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
4144 * objc/Make-lang.in: Likewise.
4145
4a0cf2aa
NC
4146 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
4147
535b86ce
G
4148Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
4149
4150 * configure.in: Handle with-PACKAGE=no correctly
4151
670ee920
KG
4152Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4153
4154 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
4155 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
4156 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
4157 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
4158 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
4159 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
4160 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
4161 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
4162 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
4163 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
4164 on system.h.
4165
4166 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
4167 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
4168 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
4169 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
4170 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
4171 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
4172 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
4173 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
4174 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
4175 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
4176 xcoffout.c: Include system.h. Organize include ordering so
4177 that stdarg/varargs comes before other system headers. Remove
4178 spurious casts of functions assured of a prototype in system.h.
4179
7aa74e4c
SC
4180Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
4181
4182 * reg-stack.c (pop_stack): Define. Pops any register on the
4183 regstack and adjusts regstack.
4184 (compare_for_stack_reg): Use pop_stack.
b57062ca 4185
d005a5a4
JL
4186Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
4187
4188 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
4189 config too.
4190
ba3ad5e0
PDM
4191Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
4192
09b4ce12
PDM
4193 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
4194
ba3ad5e0
PDM
4195 * fold-const.c (fold): Replace sign-extension of a zero extended
4196 value by a single zero extension.
4197
6e1f1f93
JM
4198Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
4199
4200 * except.c (init_eh): Do nothing.
4201 (save_eh_status): Call init_eh_for_function, not init_eh.
4202 * function.c (push_function_context_to): Don't call init_emit.
4203
838b0e4e
MM
4204Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
4205
4206 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
4207 and EABI.
4208
ecb06768
KG
4209Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4210
4211 * final.c (shorten_branches): Add parentheses around +/- in
4212 operand of &.
4213
4214 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
4215
dfba7a1b
MH
4216Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
4217
4218 * regclass.c (memory_move_secondary_cost): Wrap uses of
4219 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
4220 with #ifdef tests.
4221
4faca093
MH
4222Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
4223
4224 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
4225
4226 * flow.c (life_analysis): #include <sys/types.h> to make sure
4227 size_t is defined.
4228 * cplus-dem.c (demangle_function_name): Likewise.
4229
af7da199
MH
4230Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
4231
4232 * final.c (insn_noperands): Change type to unsigned int.
4233 (final_scan_insn): Likewise for noperands;
4234 properly check operand number boundaries.
4235
10a25232
RH
4236Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
4237
4238 * alpha.md (extzv): Don't reject register operands. Fix
4239 mode of operand 1.
4240
99d1a24c
RH
4241Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
4242
4243 * dbxout.c (dbxout_function_end): Fix last change. The correct
4244 predicate is ASM_OUTPUT_SECTION_NAME.
4245
5bac82c5
JW
4246Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
4247
4248 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
4249 (ashlsi): Use match_dup 1 instead of match_operand 2.
4250
52de9b6c
RK
4251Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4252
4253 * fold-const.c (operand_equal_for_comparison_p): See if equal
4254 when nop conversions are removed.
4255
7c00d1fe
RK
4256Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4257
4258 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
4259 don't use ORIGINAL_TARGET unless REG.
4260
343665b9
R
4261Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4262
4263 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
4264
1a61c29f
JW
4265Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
4266
4267 * loop.c (struct movable): New field move_insn_first.
4268 (scan_loop): In consec sets code, set it. Clear it otherwise.
4269 (move_movables): In consec sets code, use it. Copy REG_NOTES from
4270 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
4271 out code.
4272
cbe36725
RH
4273Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
4274
4275 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
4276 is large, and the system doesn't provide atoll or atoq.
b57062ca 4277 (atoll): New.
cbe36725
RH
4278
4279 * alpha/xm-vms.h (HAVE_ATOLL): Define.
4280 Reported by Klaus Kaempf <kkaempf@progis.de>.
b57062ca 4281
081f5e7e
KG
4282Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4283
4284 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
4285 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
4286
4287 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
b57062ca 4288 test !ACCUMULATE_OUTGOING_ARGS.
081f5e7e
KG
4289
4290 * collect2.c (write_c_file_glob): Wrap function definition in
4291 macro test !LD_INIT_SWITCH.
4292
4293 * combine.c (try_combine): Wrap variables `cc_use' and
4294 `compare_mode' in macro test EXTRA_CC_MODES.
4295
4296 * cpplib.c (do_ident): Remove unused variable `len'.
4297 (skip_if_group): Remove unused variables `at_beg_of_line' and
4298 `after_ident'.
4299 (cpp_get_token): Remove unused variable `dummy'.
4300
4301 * dbxout.c (scope_labelno): Move static variable definition inside
4302 the one function scope where it is used.
4303 (dbxout_function_end): Wrap prototype and definition in
4304 macro test !NO_DBX_FUNCTION_END.
4305
4306 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
4307 in macro test !MIPS_DEBUGGING_INFO.
4308
4309 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
4310 into the scope where it is used. Wrap empty else-statement body
4311 in braces.
4312
4313 * fix-header.c: Fix typo in comment.
4314 (inf_skip_spaces): Cast results of INF_UNGET to (void).
4315 (check_protection, main): Likewise.
4316
4317 * flow.c (find_basic_blocks_1): Remove dangling comment text.
4318
4319 * function.c (contains): Wrap prototype and definition in macro
4320 test HAVE_prologue || HAVE_epilogue.
4321 (fixup_var_refs_1): Remove unused variable `width'.
4322
4323 * gen-protos.c (main): Remove unused variable `optr'.
4324
4325 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
4326
4327 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
4328 (__sjpopnthrow): Remove unused variable `jmpbuf'.
4329 (__throw): Remove unused variable `val'.
4330
4331 * protoize.c: Check for a previously existing definition before
b57062ca 4332 defining *_OK macros.
081f5e7e
KG
4333
4334 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
4335
76ce4776
R
4336Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4337
4338 * vax.h (ADDR_VEC_ALIGN): Define.
4339
e29ef920
MM
4340Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
4341
4342 * gcc.c (default_arg): Don't wander off the end of allocated
4343 memory.
4344
dbf55e53
MM
4345 (From Geoffrey Keating <geoffk@ozemail.com.au>)
4346 * rs6000.c (small_data_operand): Ensure that any address
b57062ca 4347 referenced relative to the small data area is inside the SDA.
dbf55e53 4348
883482b2 4349Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
b57062ca 4350
883482b2
JW
4351 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
4352
9ad82ff8 4353Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
a0b61d14
AM
4354
4355 * except.h (in_same_eh_region): New prototype.
4356 (free_insn_eh_region, init_insn_eh_region): New prototypes.
4357 * except.c (insn_eh_region, maximum_uid): New static variables.
4358 (set_insn_eh_region): New static function to set region numbers.
4359 (free_insn_eh_region): New function to free EH region table.
4360 (init_insn_eh_region): New function to initialize EH region table.
4361 (in_same_eh_region): New function used to determine if two rtl
4362 instructions are in the same exception region or not.
4363 * final.c (final): Initialize the table indicating which instructions
4364 belong in which exception region.
4365 * genpeep.c (main): Add "except.h" to include file list in generated
b57062ca
UD
4366 file insn-peep.c.
4367 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
4368 peepholes involving calls and unconditional branches.
a0b61d14 4369
66bd0128
JW
4370Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
4371
4372 * README.gnat: New file.
4373
1d8eaa6b
AS
4374Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4375
4376 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
4377 "recog.h" for offsettable_memref_p.
4378 (legitimize_pic_address): Remove unused variable `offset'.
4379 (notice_update_cc): Change return type to void. Add default label
4380 to switch.
4381 (standard_68881_constant_p): Remove unused variable mode.
4382 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
4383 (const_int_cost): Explicitly declare as returning int.
4384 (output_dbcc_and_branch): Change return type to void.
4385
4386 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
4387 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
4388 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
4389
60ba47b4
JL
4390Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
4391
4392 * version.c: Bump for snapshot.
4393
68137318
AS
4394Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4395
4396 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
4397 check for 'M' constraint.
4398
7a50f126
JW
4399Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
4400
4401 * cccp.c (create_definition): If pedantic, call pedwarn for macro
4402 varargs feature.
4403
57dbca5e
BS
4404Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
4405
4406 * i386.c (ix86_logical_operator): New function.
4407 (split_di): Ensure that when a MEM is split, the resulting MEMs have
4408 SImode.
4409 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
4410 to implement them.
4411
8625fab5
KG
4412Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4413 Richard Earnshaw <rearnsha@arm.com>
4414 Nick Clifton <nickc@cygnus.com>
b57062ca 4415
8625fab5 4416 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
b57062ca 4417
8625fab5 4418 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
b57062ca 4419
8625fab5
KG
4420 * cse.c (rtx_cost): Provide a default case in an enumeration
4421 switch, and call DEFAULT_RTX_COSTS if it's defined.
b57062ca 4422
6ce22dac
MH
4423Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
4424
4425 * basic-block.h (compute_preds_succs): Change return type in
4426 prototype to void.
4427 * flow.c (compute_preds_succs): Likewise in function definition.
4428
4429 * regmove.c (find_matches): Cast char used as array index to unsigned char
4430 to supress warning.
4431
9c318306
MH
4432Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
4433
4434 * i386.h (RTX_COSTS): Insert braces around nested if.
4435 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
4436 elements.
4437
4438 * gcc.c (default_compilers): Properly put brackets around array elements in
4439 initializer.
4440
4441 * getopt.c (_getopt_internal): Add explicit braces around nested if;
4442 reformatted.
4443
4444 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
4445 (record_reg_life_pat): Add explicit parens around && and || in expression.
4446 (stack_reg_life_analysis): Add parens around assignment used as expression.
4447 (convert_regs): Likewise.
4448
56c5d8bf
MH
4449Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
4450
4451 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
4452 change callers accordingly.
4453
4454 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
4455 and definition; change all callers accordingly.
4456
4457 * except.c (init_eh): Avoid assignment of unused return value of
4458 build_pointer_type; cast it to void, instead, and remove unused
4459 variable type.
4460
4461 * gcc.c (lang_specific_driver): Define prototype only #ifdef
4462 LANG_SPECIFIC_DRIVER.
4463 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
4464
4465 * genoutput.c (output_epilogue): Initialize next_name to 0.
4466
4467 * real.c (efrexp): #if 0 prototype and function definition.
4468 (eremain): Likewise.
4469 (uditoe): Likewise.
4470 (ditoe): Likewise.
4471 (etoudi): Likewise.
4472 (etodi): Likewise.
4473 (esqrt): Likewise.
4474
4475 * reload.c (push_secondary_reload): Define prototype only
4476 #ifdef HAVE_SECONDARY_RELOADS.
4477
4478 * varasm.c (assemble_static_space): Define rounded only
4479 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
4480
4fce8e83
MH
4481Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
4482
4483 * i386.md (andsi): Add default case in enumeration switch.
4484 (iorsi3): Likewise.
4485 (iorhi3): Likewise.
4486 (xorsi3): Likewise.
4487
85066503
MH
4488Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
4489
4490 * c-decl (finish_struct): Change type of min_align to unsigned.
4491
4492 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
4493 remove unused variable len.
4494
4495 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
4496 comment indicating this is proper behaviour.
4497 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
4498 reg >= 0.
4499 (based_loc_descr): Likewise.
4500
4501 * enquire.c (bitpattern): Change type of variable i to unsigned.
4502
4503 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
4504
4505 * flow.c (life_analysis): Change type of variable i to size_t;
4506 remove unused variable insn.
4507
4508 * gcc.c (translate_options): Change type of variables optlen, arglen and
4509 complen to size_t.
4510 (input_filename_length): Change type to size_t.
4511 (do_spec_1): Change type of variable bufsize to size_t.
4512 (main): Change type of variables i and j to size_t;
4513 remove subblock local definition of variable i.
4514 (lookup_compiler): Change type of second argument to size_t;
4515 change type of variable i to size_t.
4516
4517 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
b57062ca 4518
85066503
MH
4519 * genopinit.c (get_insn): Change type of variable pindex to size_t.
4520
4521 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
4522
4523 * global.c (global_alloc): Change type of variable i to size_t.
4524
4525 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
4526
4527 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
4528 (expand_end_case): Change type of variable count to size_t.
4529
4530 * toplev.c (main): Change type of variable j to size_t.
4531 (set_target_switch): Change type of variable j to size_t.
4532 (print_switch_values): Change type of variable j to size_t;
4533 remove unused variable flags.
4534
4535 * varasm.c (assemble_variable): Change type of variable align to size_t.
4536 (const_hash_rtx): Change type of variable i to size_t.
4537
6d89b990
MM
45381998-03-11 Mark Mitchell <mmitchell@usa.net>
4539
4540 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
4541 TREE_VEC if that's what it really is.
4542
01c7f350
MM
4543Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
4544
4545 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
4546 as per ISO C spec.
4547
754d1a92
TT
4548Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
4549
4550 * gthr.h: Changed the comment about return values.
4551 * gthr-solaris.h (__gthread_once): Do not use errno; return the
b57062ca 4552 error number instead of -1.
754d1a92
TT
4553 (__gthread_key_create): Any non-zero return value is an error.
4554 * libgcc2.c (eh_context_initialize): Check for non-zero return
4555 value from __gthread_once.
4556 Check that the value of get_eh_context was really changed.
4557
77008a44
R
4558Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4559
4560 * sh.h (LOOP_ALIGN): Only align when optimizing.
4561 * sh.c (find_barrier): Clear inc for CODE_LABELs.
4562 When not optimizing, calculate alignment for BARRIERs directly.
4563
a8aa4e0b
R
4564Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4565
4566 * final.c (shorten_branches): Remove conditionalizing on
4567 SHORTEN_WITH_ADJUST_INSN_LENGTH
4568 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
4569
832544bd
JL
4570Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
4571
4572 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
4573 an unconditional jump around deleted blocks.
4574
bdd3e6ab
JW
4575Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
4576
11a932c0
JW
4577 * profile.c (branch_prob): If see computed goto, call fatal instead of
4578 abort.
4579
eeb54a49 4580 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
b57062ca 4581
35011dd5
JW
4582 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
4583 Patch from Bruno Haible.
4584
bdd3e6ab
JW
4585 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
4586 (assign_parms): Set aggregate if hide_last_arg and last_named.
4587
af035616
R
4588Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4589
4590 * final.c (shorten_branches): Initialize insn_addresses.
4591
97e3c422
R
4592Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4593
4594 * sh.h (MUST_PASS_IN_STACK): Define.
4595
5e75ef4a
JL
4596Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
4597
4598 * final.c (shorten_branches): Fix minor logic error in
4599 ADDR_DIFF_VEC shortening support.
4600
99613661
JL
4601Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
4602
4603 * version.c: Bump for snapshot.
4604
8ea2b111
JL
4605Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
4606
168cbdf9
JL
4607 * haifa-sched.c (is_cfg_nonregular): Change return type to
4608 an int. No longer compute "estimated" number of edges. Use
4609 computed_jump_p instead of duplicating the code. Fixup/add
4610 some comments.
4611 (build_control_flow): Returns a value indicating an irregularity
4612 in the cfg was detected. Count the number of edges in the cfg.
4613 allocate various edge tables.
4614 (find_rgns): No longer look for unreachable blocks.
4615 (schedule_insns): Do not allocate memory for edge tables here.
4616 Free memory for edge tables before returning. Do not perform
4617 cross block scheduling if build_control_flow returns nonzero.
4618 * flow.c (compute_preds_succs): More accurately determine when
4619 a block drops in.
4620
52becdc0
JL
4621 * basic-block.h (free_basic_block_vargs): Provide prototype.
4622
8ea2b111
JL
4623 * cccp.c (main): Fix dumb mistakes in last change.
4624
33f7f353
JR
4625Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4626
4627 * rtl.h (addr_diff_vec_flags): New typedef.
4628 (union rtunion_def): New member rt_addr_diff_vec_flags.
4629 (ADDR_DIFF_VEC_FLAGS): New macro.
4630
4631 * sh.c (output_branch): Fix offset overflow problems.
4632
4633 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
4634 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
4635 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
4636 * stmt.c (expand_end_case): Supply new arguments to
4637 gen_rtx_ADDR_DIFF_VEC.
4638 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
4639 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
4640 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
4641 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
4642 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
4643 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
4644 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
4645 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
4646 * i386/freebsd.h, i386/linux.h : Likewise.
4647 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
4648 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
4649 * m68k/mot3300.h, m68k/sgs.h : Likewise.
4650 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
4651 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
4652 (CASE_VECTOR_SHORTEN_MODE): Define.
4653 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
4654 (med_branch_p, braf_branch_p): Don't declare.
4655 (mdep_reorg_phase, barrier_align): Declare.
4656 (ADJUST_INSN_LENGTH): Remove alignment handling.
4657 * sh.c (uid_align, uid_align_max): Deleted.
4658 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
4659 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
4660 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
4661 (output_far_jump): Don't use braf_branch_p.
4662 (output_branchy_insn): Don't use branch_offset.
4663 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
4664 Remove paired barrier stuff.
4665 Don't use cache_align_p.
4666 Take alignment insns into account.
4667 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
4668 the addr_diff_vec.
4669 (barrier_align, branch_dest): New function.
4670 (machine_dependent_reorg, split_branches): Remove infrastructure
4671 for branch shortening that is now provided in the backend.
4672 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
4673 (braf_branch_p, braf_cbranch_p): Likewise.
4674 (attribute length): Use new attributes.
4675 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
4676 (addr_diff_vec_adjust): Delete.
4677 (align_2): Now a define_expand.
4678 (align_log): Now length 0.
4679
170a16c7
MM
4680Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
4681
4682 * m32r.md (right): Correctly check for length == 2, not 1.
4683
688f0603
KG
4684Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4685
4686 * mips/mips.h: Prototype `machine_dependent_reorg'.
4687 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
4688
19cbe68d
JR
4689Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
4690
4691 * final.c (shorten_branches): Restore accidentally removed code.
4692
8add77ce
AS
4693Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4694
4695 * configure.in: Remove duplicate uses of AC_PROG_CC and
4696 AC_PROG_MAKE_SET.
4697
fbb5ed67
RH
4698Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
4699
4700 * configure.in (target_cpu_default2): Correct typo for alphapca56.
4701
5ece9746
JL
4702Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
4703 Doug Evans (devans@cygnus.com)
4704
4705 * haifa-sched.c (build_jmp_edges): Delete dead function.
4706 (build_control_flow): Use cfg routines from flow.c
4707 (schedule_insns): Remove debugging code accidentally checked
4708 in earlier today.
4709
4710 * basic-block.h: Add external integer list structures, typdefs,
4711 accessor macros and function declarations. Simlarly for
4712 basic block pred/succ support and simple bitmap stuff.
4713 * flow.c: Add functions for integer list, basic block pred/succ
4714 support and simple bitmap support.
4715 (compute_dominators): New function to compute dominators and
4716 post dominators.
4717 (find_basic_blocks): Split into two functions.
4718 (life_analysis): Likewise.
4719 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
4720 the life_analysis from toplev.c
4721 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
4722 life_analysis instead of flow_analysis.
4723
ac9b3c97
R
4724Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4725
4726 * jump.c (jump_optimize): Call mark_jump_label also for deleted
4727 insns.
4728 (mark_jump_label): Don't increment ref counts for deleted insns.
4729
6e92f4b6
KG
4730Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4731
4732 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
b57062ca 4733
6e92f4b6
KG
4734 * mips/mips.c: Include stdlib.h and unistd.h.
4735 (mips_asm_file_end): Add braces around empty body in an if-statement.
4736 (function_prologue): Wrap variable `fnname' in
4737 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
4738 (mips_select_rtx_section, mips_select_section): Declare as void.
b57062ca 4739
6e92f4b6
KG
4740 * mips/mips.h: Add prototypes for extern functions in mips.c.
4741 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
4742 (ENCODE_SECTION_INFO): Add braces around empty body in an
4743 if-statement.
b57062ca 4744
6e92f4b6
KG
4745 * mips/mips.md (movdi): Add parentheses around && within ||.
4746 (movsf, movdf): Likewise.
4747 (branch_zero, branch_zero_di): Add default case in
4748 enumeration switch.
b57062ca 4749
6e92f4b6 4750
9ba3994a
RH
4751Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
4752
4753 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
4754 real constants, since they can't be changed.
4755 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4756 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
4757 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4758 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4759 * alpha/vms.h (TARGET_OPEN_VMS): New.
4760 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
4761
5ec105cd
RH
4762Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
4763
4764 * reload.c (find_reloads): Always force (subreg (mem)) to be
4765 reloaded if WORD_REGISTER_OPERATIONS.
4766
ebb7b10b
RH
4767Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
4768
4769 * haifa-sched.c (free_list): Rename from free_pnd_lst.
4770 (free_pending_lists): Rename free_pnd_lst uses.
4771 (remove_dependence): Place expunged element on unused_insn_list.
4772 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
4773 gen_rtx_*_LIST and alloc_rtx to use them.
4774 (compute_block_backward_dependences): Free the reg_last_* lists.
4775
cb37ce62
JL
4776Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
4777
4778 * cccp.c (main): Avoid undefined behavior when setting pend_includes
4779 and pend_files.
4780
ce514f57
FS
4781Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
4782
b57062ca 4783 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
ce514f57
FS
4784 USE_GNULIBC_1 is defined
4785 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
4786 includes the t-linux-gnulibc1 fragment
4787
89a5e42b
JW
4788Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
4789
4790 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
4791
1dd8faa8
R
4792Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4793
4794 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
4795
e2faec75
R
4796Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4797
4798 * final.c (shorten_branches): Tag the loop alignment onto the
4799 first label after NOTE_INSN_LOOP_BEG even if there is an
4800 intervening insn.
4801
de7987a6
R
4802Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4803
26024475
R
4804 * final.c (insn_current_reference_address):
4805 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
4806 proper alignment chain.
4807
de7987a6
R
4808 * final.c (max_labelno): New static variable.
4809 (final_scan_insn): Check max_labelno before outputting an
4810 alignment for a label.
de7987a6
R
4811 (shorten_branches): Remove unused variable length_align.
4812
27d8f9ea
KG
4813Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4814
4815 * sparc.c (ultrasparc_adjust_cost): Add default case in
4816 enumeration switch.
b57062ca 4817
27d8f9ea
KG
4818 * sparc.h: Add prototypes for extern functions defined in
4819 sparc.c.
4820
bd334356
NC
4821Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
4822
4823 * toplev.c: Only generate <name>.dbr file when dumping RTL if
b57062ca 4824 DEALY_SLOTS is defined.
bd334356 4825
1838fe6d
MH
4826Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
4827
4828 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
4829 in call to fill_slots_from_thread.
4830
b0021153
RH
4831Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
4832
b57062ca 4833 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
b0021153
RH
4834 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
4835
687d0ab6 4836Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
fc470718
R
4837
4838 * final.c (insn_last_address, insn_current_align, uid_align):
4839 New variables.
4840 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
4841 (insn_current_reference_address): Likewise.
4842 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
4843 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
4844 (label_to_alignment): New function.
4845 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
4846 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
4847 insn_current_reference_address instead of insn_current_address.
4848 (or_attr_value, write_length_unit_log): New functions.
4849 (main): Call write_length_unit_log.
4850 (write_const_num_delay_slots): Output extra '\n'.
4851 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
4852 replace with:
4853 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
4854 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
4855 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
4856 (LOOP_ALIGN).
4857 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
4858 (LABEL_ALIGN_AFTER_BARRIER).
4859 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
4860 * ns32k/tek6000.h: Likewise.
4861 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
4862 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
4863 ASM_OUTPUT_ALIGN_CODE.
4864
54f00917
JL
4865Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
4866
4867 * version.c: Bump for snapshot.
4868
38630f7e
JL
4869Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
4870
4871 * version.c: Bump for snapshot.
4872
ab63953e
JL
4873Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
4874
4875 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
b57062ca 4876 if condition code of jump conflicts with opposite_needed.
ab63953e
JL
4877
4878 * reorg.c (fill_slots_from_thread): Mark resources referenced in
4879 opposite_needed thread. Return delay_list even when cannot get
4880 any more delay insns from end of subroutine.
4881
4882Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
4883
4884 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
4885 All callers changed.
4886
4887Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
72dd050a
BH
4888
4889 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
4890 end_fde_sort): New functions for fast sorting of an FDE array.
4891 (fde_insert): Simplified.
4892 (add_fdes): Change argument list.
4893 (frame_init): Use the new functions.
4894
de153e82
JL
4895Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
4896
925b1f33
JL
4897 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
4898
c7271385
JL
4899 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
4900
de153e82
JL
4901 * fold-const.c (fold_range_test): Always return a value.
4902
81023100
MK
4903Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
4904
4905 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
4906 data in the text section unless READONLY_DATA_SECTION is defined.
4907
818e50a5
JL
4908Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
4909
4910 * c-parse.in (undeclared variable error): Tweak error message to
4911 be clearer.
4912
c93dc3ac
JL
4913Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
4914
4915 * version.c: Bump for snapshot.
4916
90ca38bb
MM
49171998-02-28 Mark Mitchell <mmitchell@usa.net>
4918
4919 * final.c (final_scan_insn): Undo overzealous removal of `set'.
4920
3d85c12e
KG
4921Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4922
5feca984
KG
4923 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
4924 case, add parentheses to specify the proper order of precedence in
4925 the if-statement.
b57062ca 4926
5feca984 4927
51723711
KG
4928 * c-aux-info.c: Include string.h/strings.h.
4929
4930 * pa.c: Include stdlib.h.
4931 (pa_combine_instructions): Prototype the function.
4932 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
4933 (reloc_needed): Add default case for enumeration switch.
4934 (remove_useless_addtr_insns): Remove unused variable `all'.
4935 (hppa_expand_prologue): Add explicit braces to avoid
4936 ambiguous `else'.
4937 (output_function_epilogue): Remove unused variable `i'.
4938 (output_millicode_call): Remove unused variable `link'.
4939 (shadd_constant_p, forward_branch_p): Make the function static.
4940 (following_call): Explicitly declare to return int.
4941 (pa_reorg): Declare as void.
4942 (pa_combine_instructions): Declare as static void. Add
4943 parentheses around && within ||.
b57062ca 4944
51723711
KG
4945 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
4946 following_call, function_label_operand, lhs_lshift_cint_operand
4947 and zdepi_cint_p.
4948
4949 * pa.md: Add parentheses around && within ||.
4950
4951 * cppalloc.c: Include stdlib.h.
4952
4953 * cpperror.c (cpp_print_containing_files): Remove unused variable
4954 `i'. Fix format specifier in fprintf.
4955
4956 * cse.c (cse_around_loop): Add explicit braces to avoid
4957 ambiguous `else'.
4958 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
4959
4960 * expr.c (expand_expr): Add parentheses around && within ||.
4961
4962 * final.c (app_enable): Replace fprintf with fputs where there are
4963 no format specifiers and no trailing argument after the string.
4964 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
4965 (app_disable): Likewise.
4966 (final_end_function): Likewise.
4967 (final_scan_insn): Likewise. Remove unused variable `set'.
4968 (profile_function): Wrap empty if-statement body in {} brackets.
4969
4970 * function.c: Include stdlib.h.
4971 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
4972 (reposition_prologue_and_epilogue_notes): Add parentheses
4973 around assignment used as truth value.
4974
4975 * integrate.c (expand_inline_function): Wrap variable
4976 `cc0_insn' in macro HAVE_cc0.
4977
4978 * jump.c (jump_optimize): Wrap variable `q' in macro
4979 HAVE_cc0. Remove unused variable `prev1'.
4980
4981 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
4982 within ||. Fix format specifier in fprintf.
4983 (__bb_init_prg): Add parentheses around assignment used as
4984 truth value.
4985
4986 * local-alloc.c: Include stdlib.h.
4987 (requires_inout): Add parentheses around assignment used
4988 as truth value.
4989
4990 * loop.c (analyze_loop_iterations): Wrap prototype and definition
4991 in macro HAVE_decrement_and_branch_on_count.
4992 (insert_bct, instrument_loop_bct): Likewise.
4993 (move_movables): Add parentheses around assignment used as
4994 truth value.
4995 (consec_sets_invariant_p): Likewise.
4996 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
4997
4998 * objc/objc-act.c: Include stdlib.h.
4999 (lookup_method_in_protocol_list): Wrap empty else-statement body
5000 in braces.
5001 (lookup_protocol_in_reflist): Likewise.
5002 (objc_add_static_instance): Remove unused variables `decl_expr'
5003 and `decl_spec'.
5004 (get_objc_string_decl): Remove unused variable `decl'.
5005 (generate_static_references): Remove unused variables `idecl' and
5006 `instance'.
5007 (check_protocols): Wrap empty else-statement body in braces.
b57062ca 5008
51723711
KG
5009 * protoize.c: Include stdlib.h.
5010 (substr): Add parentheses around assignment used as truth value.
5011 (abspath): Likewise.
5012 (shortpath): Likewise.
5013
5014 * regmove.c (fixup_match_1): Add parentheses around assignment
5015 used as truth value.
5016
5017 * reload.c (push_secondary_reload): Remove unused variable `i'.
5018 (find_reloads): Add parentheses around assignment used as truth
5019 value.
5020
5021 * reload1.c: Include stdlib.h.
5022
5023 * rtl.h: Correct typo in prototype of offsettable_memref_p.
5024
5025 * stmt.c (add_case_node): Add parentheses around assignment used
5026 as truth value.
5027 (case_tree2list): Likewise.
5028
5029 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
5030 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
5031 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
5032 (merge_attributes): Add explicit braces to avoid ambiguous
5033 `else'.
5034
5035 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
5036 macro HAVE_cc0.
b57062ca 5037
51723711 5038 * varasm.c: Include stdlib.h.
b57062ca 5039
51723711 5040
c5801053
KG
5041 * system.h: Remove sys/stat.h.
5042 * gcc.c: Add sys/stat.h.
5043
3d85c12e
KG
5044 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
5045 * genattrtab.c: Likewise.
5046 * genconfig.c: Likewise.
5047 * genemit.c: Likewise.
5048 * genextract.c: Likewise.
5049 * genflags.c: Likewise.
5050 * genopinit.c: Likewise.
5051 * genoutput.c: Likewise.
5052 * genpeep.c: Likewise.
5053 * genrecog.c: Likewise.
5054 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
5055
0fd12b04
AS
5056Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5057
bd762873
AS
5058 * invoke.texi: Use @itemx for a secondary item in a @table.
5059
0fd12b04
AS
5060 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
5061 zero.
5062
c3cf395b
ILT
5063Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
5064
5065 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
5066
b94b5c16
JL
5067Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
5068
5069 * i386.c (struct machine_function): Add new fields for PIC stuff.
5070 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
5071 and pic_label_name.
5072 (restore_386_machine_status): Corresponding changes.
5073 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
5074
8dfafd99
JL
5075Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
5076
5077 * c-parse.y (undeclared variable error): Tweak error message
5078 to be clearer.
5079
bb8ebb7f
RH
5080Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
5081
5082 * flags.h (g_switch_value, g_switch_set): Declare.
5083 * alpha.c (override_options): Set g_switch_value=8 if not set.
5084 * alpha/elf.h (CC1_SPEC): New.
5085 (ASM_SPEC): New.
5086 (LINK_SPEC): Pass along the -G value we were given.
5087 (LOCAL_ASM_OP): Remove.
5088 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
5089 (MAX_OFILE_ALIGNMENT): New.
5090 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
5091 (EXTRA_SECTIONS): Add sbss and sdata.
5092 (SECTION_FUNCTION_TEMPLATE): New.
5093 (EXTRA_SECTION_FUNCTIONS): Use it.
5094 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
5095 (SELECT_SECTION): Use sdata when small enough.
5096 * alpha/linux.h (ASM_SPEC): Remove.
b57062ca 5097
bb8ebb7f 5098
3e07bdbd
BH
5099Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5100 * config.sub (sco5): Fix typo.
5101
9d1ebd25
MH
5102Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
5103
5104 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
5105 set to empty.
5106 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
5107 * config/alpha/t-linux: Remove file.
5108 * config/sparc/t-linux: Remove file.
5109 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
5110 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
5111 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
5112 for tmake_file.
5113 (alpha*-*-linux-gnu*): Likewise.
5114 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
5115 (sparc-*-linux-gnu*): Likewise.
84bc3b4f
RL
5116
5117Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
5118 * collect2.c (ldd_file_name): Bracket declaration with same
5119 manifests as use.
5120 (full_real_ld_suffix): Deleted. Variable was calloced and
5121 written into, but never read.
5122
9e89df50
MS
51231998-02-23 Mike Stump <mrs@wrs.com>
5124
5125 * configure.in: Add support for i386-wrs-vxworks configuration.
5126 * i386/vxi386.h: New file.
5127
1160f9ec
BH
5128Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5129
5130 * tree.c (contains_placeholder_p): Ensure function always returns
5131 a value.
5132 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
5133 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
5134
328da75c
JL
5135Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
5136
5137 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
5138
deabc777
PE
51391998-02-22 Paul Eggert <eggert@twinsun.com>
5140
5141 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
5142 Define this new symbol.
5143 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
5144 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
5145 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
5146
0e84e8fb
JW
5147Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
5148
5149 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
5150 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
5151
9c37957a
RH
5152Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
5153
5154 * objc/Object.m (-error): Call objc_verror with our va_list.
5155
e3c49f52
DE
5156Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5157
5158 * collect2.c (scan_prog_file): Completely cover uses of variable
5159 `exports' with macro COLLECT_EXPORT_LIST.
5160
5161Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
d935d60e
JL
5162
5163 * version.c: Bump for snapshot.
5164
3c674857
MM
5165Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
5166
5167 * sched.c (schedule_block): Remove code to get arguments from hard
5168 regs into pseudos early. Same as Aug 25, 1997 change to
5169 haifa-sched.c.
5170
c2d731c4
JM
51711998-02-20 Jason Merrill <jason@yorick.cygnus.com>
5172
5173 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
5174
7d02bbef
JM
51751998-02-16 Mark Mitchell <mmitchell@usa.net>
5176
5177 * toplev.c (rest_of_compilation): Do not defer the output of a
5178 nested function.
5179
9766dbcf
MT
5180Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
5181
5182 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
5183 continuation character (line 243).
5184
01a7aaea
AS
5185Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5186
5187 * genrecog.c (main): Remove duplicated sentence in emitted comment.
5188
db126753
DE
5189Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
5190 David Edelsohn <edelsohn@mhpcc.edu>
5191
5192 * collect2.c (XCOFF_SCAN_LIBS): Remove.
5193 (export_flag): New variable.
5194 (export_file): #ifdef COLLECT_EXPORT_LIST.
5195 (import_file, exports, imports, undefined): New variables.
5196 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
5197 (dump_list, dump_prefix_list, is_in_list): New functions.
5198 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
5199 (write_import_file, resolve_lib_name): New functions.
5200 (use_import_list, ignore_library): Same.
5201 (collect_exit): maybe_unlink import_file and #ifdef.
5202 (handler): Same.
5203 (main): New variable importf, #ifdef exportf. Move parsing of
5204 -shared before general argument parsing. Resolve AIX library
5205 paths and import libgcc.a symbols. Treat .so shared libraries the
5206 same as objects and .a libraries. Create alias for object_lst and
5207 increment it instead of original pointer. Scan AIX libraries as
5208 objects earlier instead of using scan_libraries. Perform AIX
5209 tlink later to resolve templates instead of forking ld.
5210 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
5211 (GCC_UNDEF_SYMBOL): New macro.
5212 (scan_prog_file): Loop for members of AIX libraries. Handle
5213 export/import of ctors/dtors.
5214 (aix_std_libs): New variable.
5215 (scan_libraries, XCOFF): Delete.
5216
5217Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
5218
5219 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
5220
e642002f
MS
52211998-02-19 Mike Stump <mrs@wrs.com>
5222
5223 * Makefile.in: Use $tooldir for sys-include to match toplevel
5224 configure.
5225
aff48bca
JL
5226Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
5227 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5228
5229 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
5230
5231 * emit-rtl.c (hard-reg-set.h): Include.
b57062ca 5232 (get_lowpart_common): Don't make new REG for hard reg in a
aff48bca
JL
5233 class that cannot change size.
5234 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
5235
5236 * combine.c: Revert previous patch.
5237
0a9bdce3
PE
52381998-02-19 Paul Eggert <eggert@twinsun.com>
5239
5240 * config/sparc/sol2-sld.h: New file.
5241 * configure.in (sparc-*-solaris2*): Use it when using the
5242 system linker.
5243
3875b31d
JL
5244Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
5245
5246 * loop.c (force_movables): Fix typo.
5247
bb5fa67f
MH
5248Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
5249
5250 * m88k.h: Change file pattern to match reality.
5251
7f83c0e7
JL
5252Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
5253
5254 * varasm.c (output_constant_pool): Fix dumb thinko in last
5255 change.
dffc0da4
JL
5256
5257 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
5258 a function name to a section name.
5259
d9525bec
BK
52601998-02-18 Doug Evans <devans@cygnus.com>
5261
5262 * tree.h (merge_machine_{type,decl}_attributes): Declare.
5263 (split_specs_attrs, strip_attrs): Add prototypes.
5264 * tree.c (merge_machine_{type,decl}_attributes): New functions.
5265 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
5266 Update olddecl's attributes too.
5267 * c-common.c (strip_attrs): New function.
5268 * c-typeck.c (common_type): Call merge_machine_type_attributes.
5269 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
5270 (make_decl_rtl): Likewise.
5271
52721998-02-18 Jim Wilson <wilson@cygnus.com>
5273
5274 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
5275
f9a366ac
JL
5276Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
5277
5278 Remove this change until we can fix it correctly.
5279 * collect2.c: Bracket declaration of 'exportf' and
5280 'full_real_ld_suffix'.
5281
206ae7cf
BS
5282Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
5283
5284 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
5285
0a7ed33c
BS
5286Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
5287
5288 * c-common.c (c_expand_start_cond, c_expand_end_cond,
5289 c_expand_start_else): Don't warn about non-ambiguous else even if
5290 braces are missing.
5291
68c9728a 5292Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
0a7ed33c 5293
68c9728a
RL
5294 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5295 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
5296 instead.
5297
15941d29
RH
5298Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
5299
5300 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
5301 simplifying a subreg of a hard reg.
5302 (expand_compound_operation): Likewise.
5303 (force_to_mode): Likewise.
5304
5835e573
KG
5305Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5306
2fde567e
KG
5307 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
5308 (lshift_double): Add parentheses around + or - inside shift.
5309 (rshift_double): Likewise.
5310 (size_int_wide): Explicitly set type of `bit_p' to `int'.
5311
5312 * Makefile.in (fold-const.o): Depend on system.h.
5313
8e85ff2c
KG
5314 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
5315 change to gcc.c.
5316
5835e573
KG
5317 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
5318 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
5319 (sched_note_set): Remove unused parameter `b', all callers changed.
5320 (schedule_block): Likewise for `rgn'.
5321 (split_hard_reg_notes): Likewise for `orig_insn'.
5322 (check_live): Likewise for `trg'.
5323 (update_live): Likewise.
5324 (check_live_1): Explcitly declare variable `i' as int.
5325 (update_live_1): Likewise.
5326 (insn_issue_delay): Remove unused variable `link'.
5327 (sched_analyze_2): Add default case in enumeration switch.
5328 (schedule_insns): Remove unused variable `i'.
5329
5330 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
5331
b1a0c816
JL
5332Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
5333
5334 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
5335 a dangling else clause.
5336
365ca18b
GK
5337Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
5338
5339 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
5340 pointer for the stack pointer in MIPS16 and 64BIT.
5341
feb60352
R
5342Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5343
5344 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
5345 * emit-rtl.c (force_line_numbers, restore_line_number_status):
5346 New functions.
5347 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
5348 (expand_start_case): Adjust to this change.
5349 (check_seenlabel): New function.
5350 (pushcase, pushcase_range, expand_endcase): Use it.
5351
93f83bd5
R
5352Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5353
5354 * i386.md (adddi3): Add =!r,0,0,X alternative.
5355
b9af8fb0
DE
5356Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
5357
5358 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
5359 * x-aix31 (INSTALL): Delete.
5360
a4dee8a5
GK
5361Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
5362
b57062ca 5363 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
a4dee8a5
GK
5364 tsize changes to something other than zero.
5365
8898f8a1
GK
5366Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
5367
5368 * ginclude/va-mips.h: Replace casts of pointers to int with
5369 casts of pointers to __PTRDIFF_TYPE__.
5370
9ba7a303
JC
5371Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
5372
5373 * loop.c (strength_reduce, record_biv, record_giv): Use
5374 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
5375
b7f6588d
JM
53761998-02-16 Jason Merrill <jason@yorick.cygnus.com>
5377
5378 * tree.c (first_rtl_op): New fn.
5379 (unsave_expr_now): Use it.
5380 * print-tree.c (print_node): Likewise.
5381 * tree.c (has_cleanups): New fn.
5382 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
5383 conservative about pushing the cleanup point down.
5384 * tree.h: Declare them.
5385
8e7336f8
JL
5386Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
5387
5388 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
5389 (flag_schedule_reverse_after_reload): Likewise.
5390 (f_options): Remove reverse scheduling support.
5391 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
5392 (flag_schedule_reverse_after_reload): Likewise.
5393 * haifa-sched.c (rank_for_schedule): Remove support for reverse
5394 scheduling.
b57062ca 5395
79e11844
KG
5396Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5397
17248a6b
KG
5398 * gcc.c: Get system includes, prototypes and macros via "system.h"
5399 instead of doing it manually. Change all calls of the ctype
5400 macros to custom versions defined in "system.h".
5401
79e11844
KG
5402 * system.h: Fix return type of bcmp prototype from `void' to `int'.
5403 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
5404 Add a prototype for getenv.
5405
c9b4de06
JW
5406Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
5407
5408 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
5409
9f8f10de
JC
5410Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
5411
5412 * alias.c: Include <stdlib.h> and <string.h>.
5413 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
5414
d757d141
JL
5415Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
5416
5417 * version.c: Bump for snapshot.
5418
7a0a1f09
RE
5419Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
5420
5421 * arm.md (movsfcc): Also validate operands[3] when compiling hard
5422 float.
5423 (movdfcc): Only accept fpu_add_operand for operands[3].
5424
99e90438
RE
5425 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
5426 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
5427
29a82058
JL
5428Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
5429
5430 * varasm.c (output_constant_pool): Bring back 'done' label inside
5431 an appropriate #ifdef.
5432
b57062ca 5433 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
29a82058
JL
5434 appropriate #ifdef.
5435 (bitmap_copy, bitmap_operation): Likewise.
5436 * combine.c (combinable_i3pat): Similarly for 'src'.
5437 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
5438 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
5439 * regclass.c (copy_cost): Similarly for 'secondary_class'.
5440 * reload.c (make_memloc): Simliarly for 'i'.
5441 (find_reloads_address_1): Similarly for 'link'.
5442 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
5443 (emit_reload_insns): Similarly for 'second_reloadreg'.
5444 * unroll.c (iteration_info): Similarly for 'v'.
5445
5446 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
5447 * calls.c (expand_call): Similarly for 'i'.
5448 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
5449 * fold-const.c (strip_compund_expr): Similarly for 'type'.
5450 * function.c (fixup_var_refs_1): Similarly for 'width'.
5451 (fixup_memory_subreg): Similarly for 'saved'.
5452 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
5453 (setjmp_protect): Similarly for 'sub'.
5454 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
5455 * loop.c (record_giv): Similarly for 'p'.
5456 (combine_givs): Similarly for 'temp_iv'.
5457 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
5458 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
5459 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
5460 * unroll.c (unroll_loop): Similarly for 'copy'.
5461 (iteration_info): Similarly for 'b'.
5462 * varasm.c (assemble_string): Similarly for 'i'.
5463 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
5464
7d02bbef
JM
54651998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
5466
5467 * c-lang.c (lang_print_xnode): New function.
5468 * objc/objc-act.c (lang_print_xnode): Likewise.
5469 * print-tree.c (print_node): Call it
5470
e3e7774e
JW
5471Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
5472
5473 * dwarf2out.c (decl_scope_node): New type.
5474 (decl_scope_table): Change type to use it.
5475 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
5476 (push_decl_scope): Use new type. New locals containing_scope, i.
5477 Add code to handle setting previous field.
5478 (scope_die_for): Change type of local i to int. Add code to use
5479 previous field.
5480 (dwarf2out_init): Use new type.
5481
442f0a30
JM
54821998-02-13 Jason Merrill <jason@yorick.cygnus.com>
5483
5484 * except.c (emit_throw): Lose throw_used.
5485
fcdc0d6e
R
5486Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5487
5488 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
5489 was deleted.
5490 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
5491
b7673cdb
JL
5492Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
5493
5494 * genextract.c (main): Fix typo.
5495
9e4767ca 5496Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
69d4ca36 5497
b57062ca 5498 * c-lang.c (finish_file): Bracket declaration of static_ctors,
69d4ca36
RL
5499 static_dtors.
5500
5501 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
5502 'old_stack_arg_under_construction'
b57062ca 5503 (emit_library_call): Bracket declaration of 'upper_bound',
69d4ca36
RL
5504 'lower_bound', 'i', 'reg_parm_stack_space'
5505 (emit_library_call_value): Likewise.
b57062ca 5506 (store_one_arg):
69d4ca36
RL
5507
5508 * collect2.c: include <unistd.h> when appropriate.
5509 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
5510
5511 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
b57062ca 5512
69d4ca36
RL
5513 * explow.c (plus_constant_for_output_wide): Remove unused variable
5514 'code'.
b57062ca 5515 (memory_address): Remove unused variable 'orig_x'.
69d4ca36
RL
5516
5517 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
5518 (write_const_num_delay_slots): Remove unused variable 'i'.
5519
5520 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
5521 (gen_insn): Remove unused variable 'obstack_ptr'.
5522
5523 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
5524 'j', 'tmp', 'i'.
5525 (__bb_exit_trace_func): Remove unused variable 'e'.
5526
5527 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
5528 'funexp'.
5529 (expand_unop): Remove unused variable 'funexp'.
b57062ca 5530 (expand_complex_abs): Remove unused variable 'funexp'.
69d4ca36
RL
5531 (init_optabs): Bracket declaration of 'j'.
5532 (init_complex_libfuncs): Deleted. Dead static function.
b57062ca 5533
69d4ca36
RL
5534 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
5535
5536 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
5537 (reg_to_stack): 'initialized', 'before_function_beg'
5538 explictly type as ints instead of defaulting.
5539 (emit_swap_insn): Remove unused variable 'i2'.
5540 (compare_for_stack_reg): Remove unused variable 'src_note'.
5541
5542 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
5543
5544 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
5545
5546 * stmt.c (add_case_node): Add parens for assignment used as truth.
5547 (all_cases_count): Remove unused variable 'count_high'.
5548 (mark_seen_cases): Remove unused variable 'i'.
5549 (check_for_full_enumeration_handling): Remove unused variable 't'.
5550 Bracket declaration of 'all_values', 'l'.
b57062ca 5551
69d4ca36
RL
5552 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
5553
b57062ca
UD
5554 * varasm.c (assemble_string): Remove unused variable 'i'.
5555 (immed_double_const): Remove unused variable 'in_current_obstack'.
69d4ca36
RL
5556 (immed_real_const_1): Likewise.
5557 (output_constant_pool): Remove unreferenced label 'done'.
5558 (output_constant): Remove unused variable 'x'.
b57062ca 5559
69d4ca36
RL
5560 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
5561 a string.
5562
5563 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
5564 as truth.
5565
e3258cef
R
5566Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5567
5568 * combine.c (can_combine_p): Handle USEs in PARALLELs.
5569
1398405b
L
5570Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
5571
5572 * config/linux.h (LIB_SPEC): Add -lc for -shared if
5573 USE_GNULIBC_1 is not defined.
5574 * config/sparc/linux.h; Ditto.
5575
5576 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
5577
5578 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
5579 USE_GNULIBC_1 is not defined.
5580
03453a9f
FS
5581Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5582
5583 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
5584 for -mcall-linux
5585
aca69483 5586Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 5587
aca69483
KG
5588 * system.h: New file to get common systems includes and various
5589 definitions and declarations based on autoconf macros.
5590
5e0e0f03
JL
5591Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
5592
5593 * cccp.c (new_include_prefix): Correctly handle -I./.
5594
89e9f3a8
MM
5595Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
5596
5597 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
5598
8bd6ecc2 5599Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
89e9f3a8 5600
b57062ca 5601 * expr.c (expand_assignment): Correct typo exposed by -Wall.
8bd6ecc2
RL
5602 offset should have been a truth value, not an assignment.
5603
614bb5d4
JL
5604Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
5605
5606 * cse.c (delete_dead_from_cse): If a libcall produces a constant
5607 result and that result can be substituted into SET_SRC of the
5608 insn with the REG_RETVAL note, then perform the substitution
5609 and delete the libcall.
5610
00bb4b62
GK
5611Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
5612
b57062ca 5613 * mips.md (trucndihi2,truncdiqi2): Change these to support
00bb4b62
GK
5614 mips16.
5615
3871c609
GK
5616Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
5617
5618 * mips/mips.c (movdi_operand): Direct referances to symbols
5619 that arn't mips16 consts in mips16 mode arn't valid operands.
5620
5621 * mips/mips.c (mips_move_2words): Add gprel handling.
5622
2e72fa6a
GK
5623Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
5624
b57062ca 5625 * mips.md (extendsidi2): Allow extension to/from a non-mips16
2e72fa6a
GK
5626 register.
5627
a4910340
ML
5628Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
5629
5630 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
5631 <strings.h>.
5632
cc1e5b9a
KG
5633Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5634
5635 * Makefile.in (WARN_CFLAGS): New variable.
5636 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
5637
53949fac
MM
56381998-02-11 Mark Mitchell <mmitchell@usa.net>
5639
5640 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
5641 falling through default case in switch.
5642 (i386_aligned_p): Likewise.
5643
9504c31c
LI
5644Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
5645
5646 * mips/mips.h (mips_abi_string): Correct typo in comment.
5647
7e4e0956
GK
5648Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
5649
5650 * mips/mips.md (movdi): These PLUS's need to be Pmode.
5651
8fb3ae15
KG
5652Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5653
5654 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
5655 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
5656 indirectly via expr.h.
5657
a2d53b28
RH
5658Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
5659
5660 * stor-layout.c (layout_type): Do upper - lower in the native type,
5661 so as to properly handle negative indices.
5662
381127e8
RL
5663Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
5664
5665 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
5666 (expand_eh_region_start_tree): Remove unused variable 'note'.
5667 (exception_optimize): Remove unused variable 'regions'.
5668 (expand_builtin_eh_stub): Remove unused variable 'temp'.
5669 (copy_eh_entry): Deleted. Dead function.
5670
b57062ca 5671 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
381127e8
RL
5672 'last' with same #if HAVE_load_multiple as use of it.
5673 (move_block_from_reg): Likewise.
5674 (emit_move_insn_1): Remove unused variable 'insns'.
b57062ca
UD
5675 (store_constructor): Bracket declaration of startb, endb with
5676 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
381127e8 5677 'target', and 'xtarget'.
b57062ca 5678 (expand_builtin_setjmp): Remove unused variables 'op0',
381127e8 5679 'next_arg_reg', 'old_inhibit_defer_pop'.
b57062ca 5680 (expand_builtin): Remove unused variable 'offset'.
381127e8
RL
5681 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
5682 (emit_queue): Add parens for assignment used as conditional.
5683 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
5684
00c79232
ML
5685Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
5686
b57062ca 5687 * i386.c: Added include for recog.h.
00c79232
ML
5688 (override_options): Removed unused variable p. Initialized regno to
5689 avoid warning.
5690 (order_regs_for_local_alloc): Initialized regno to avoid warning.
5691 (legitimize_address): Likewise for 'other'.
5692 (i386_aligned_reg_p): Added default case with abort ().
5693 (print_operand): Likewise.
5694 (reg_mentioned_in_mem): Likewise.
5695 (ix86_expand_binary_operator): Removed unused variables i & insn.
5696 (ix86_expand_unary_operator): Removed unused variable insn.
5697 (output_fp_cc0_set): Removed unused variable unordered_label.
5698
f64cecad
JC
5699Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
5700
5701 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
5702 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
5703 and format string match.
5704
0200b5ed
JL
5705Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
5706
5707 * flow.c (life_analysis): Do not conside the stack pointer live at
5708 the end of a function if the fucntio ncalls alloca.
5709 (mark_used_regs): Similarly.
5710
74ccf2c2
JC
57111998-02-10 John F Carr <jfc@mit.edu>
5712
5713 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
5714 1, fzero on alternative 8.
5715
60e2d0ca
RK
5716Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5717
5718 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
5719
2fd0af53
R
5720Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5721
5722 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
5723 SUBREGs of CONST_INTs.
5724
a96c3544
JC
5725Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
5726
5727 * mips.c (print_operand, function_prologue): Make printf format
5728 match argument type.
5729
2514cbc9
KG
5730Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5731
5732 * alpha.c (alpha_return_addr): Remove unused variable `first'.
5733 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
5734 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
5735
72b0c616
RK
5736Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5737
5738 * loop.c (strength_reduce): When placing increment for auto-inc
5739 case, do comparison in loop order.
b57062ca 5740
2e0dd623
JC
5741Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
5742
5743 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
5744 not a HOST_WIDE_INT.
5745
5746 * calls.c (expand_call): Change test of expand_inline_function
5747 return value to stop compiler warning.
5748
5749 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
5750
7bf825d2
JW
5751Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
5752 Jeff Law (law@cygnus.com)
5753
5754 * regmove.c: Fix various minor formatting problems.
5755 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
5756 is true. Make end of basic block tests consistent through regmove.c.
5757 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
5758 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
5759
7d4679ea
KG
5760Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5761
5762 * gansidecl.h: Check for a conflicting macro definition before
5763 attempting to prototype bcopy, bcmp or bzero.
5764
b515ab3d
JL
5765Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
5766
060fbabf
JL
5767 * expr.c (clear_pending_stack_adjust): Handle case where a function
5768 calls alloca, but the user has specified -fomit-fframe-pointer.
5769
b515ab3d
JL
5770 * function.c (assign_parms): Fix typo in last change.
5771
ccd043a9
RL
5772Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
5773
ededb2fc
RL
5774 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
5775 <fcntl.h>.
5776 (free_path_suffix): Remove unreferenced static function.
5777 (process_command): Remove unused variable temp.
5778 (default_arg): Remove unused variable i.
5779 (do_spec_1): Add parens for assignment used as truth value.
5780 (main): Likewise.
5781 (validate_all_switches): Likewise.
5782 (main): Remove unused variables i, first_time>
5783
ccd043a9
RL
5784 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
5785
5786 * calls.c (expand_call): Remove unused variables funtree,
5787 n_regs, and tmpmode.
5788
5789 * dbxout.c, except.c: Include <string.h>/<strings.h>.
5790
5791 * explow.c: (plus_constant_for_output_wide) Removed unused
5792 variable all_constant.
5793
5794 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
5795 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
5796 genrecog.c, global.c, integrate.c , stupid.c : Include
5797 <stdlib.h>.
5798
5799 * genextract.c: (walk_rtx) Remove unused variable link.
5800
5801 * genrecog.c: (concat) Remove unreferenced static function.
5802
5803 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
5804
b57062ca
UD
5805 * stmt.c: Include <stdlib.h>.
5806 (expand_asm_operands): Remove unused variable val1.
ccd043a9
RL
5807 (expand_return): Remove unused variable block.
5808 (pushcase): Remove unused variables l and n.
5809 (pushcaserange): Likewise.
5810
5811 * unroll.c (unroll_loop): Remove unused variable temp.
5812
6553db01
GM
5813Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
5814
5815 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
5816
8479e1db
KG
5817Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5818
5819 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
5820 functions for whether they support the %p format specifier.
5821 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
5822 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
5823 * configure, config.in: Rebuild.
5824
bf9c83fe
JW
5825Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
5826
5827 * function.c (assign_parms): New variable named_arg, with value
5828 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
5829
09e4daf5
GK
5830Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
5831
b57062ca 5832 * mips/t-r3900: New - same as t-ecoff but eliminate
09e4daf5
GK
5833 multilibs: mips1 and mips3.
5834 * configure.in (tx39*): Use new mips/t-r3900.
5835 * configure: Rebuild.
5836 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
5837
b57d9225
JM
58381998-02-06 Jason Merrill <jason@yorick.cygnus.com>
5839
5840 * dwarf2out.c: Add old_args_size.
5841 (dwarf2out_args_size): Use it.
5842 (dwarf2out_begin_prologue): Initialize it.
5843 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
5844 pushed args until we see a call.
5845 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
5846 before outputting them.
5847
58481998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
5849
5850 * cplus-dem.c (demangle_template_template_parm): New function.
5851 (demangle_template): Handle template template parameters.
5852
259620a8
MM
58531998-02-02 Mark Mitchell <mmitchell@usa.net>
5854
5855 * calls.c (expand_call): Don't confuse member functions named
5856 realloc, setjmp, and so forth with the standard library
5857 functions of the same names.
5858
78418280
JL
5859Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
5860
5861 * stmt.c (expand_asm_operands): Correctly identify asm statements
94e5565f 5862 no output operands.
78418280 5863
6d819282 5864Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 5865
6d819282
MK
5866 * c-common.c (decl_attributes): Flag unrecognized attribute
5867 functions as warnings instead of as errors.
5868
aec98e42
ML
58691998-02-05 Marc Lehmann <pcg@goof.com>
5870
5871 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
5872 when -Os is specified.
5873 * toplev.c (main): Don't disable flag_inline_functions anymore when
5874 -Os is in effect.
5875
1230327b
R
5876Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5877
5878 * regmove.c: Update.
5879 * flags.h (flag_regmove): Declare.
5880 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
5881 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
5882 Moved into regmove; changed caller.
5883 * toplev.c (rest_of_compilation): Call regmove_optimize also for
5884 expensive_optimizations.
5885
1aca1e76
JL
5886Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
5887
5888 * version.c: Bump for snapshot.
5889
2993ce4c
R
5890Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5891 Undo this change (the problem was actually in reload):
5892 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5893
5894 * sh.md (movqi_i+1): New peephole.
5895
0340ed6c
JL
5896Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
5897
e535528b
JL
5898 * jump.c (jump_optimize): Lose calls to modified_in_p they are
5899 not needed anymore due to changes elsewhere in jump.c.
5900
0340ed6c
JL
5901 * jump.c (jump_optimize): Fix first arg to modified_in_p in
5902 previous change.
5903
6fd1c67b
RH
5904Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
5905
5906 * expr.c (expand_builtin_setjmp): Accept two new arguments for
5907 the labels to branch to on first and subsequent executions. Don't
5908 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
5909 and provide it with the jmp_buf. Use only one of
5910 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
5911 and provide the former with the target label.
5912 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
5913 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
5914 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
5915 insn to replace all of the normal nonlocal_goto code. Don't play
5916 with __dummy. Correct arguments to nonlocal_goto.
5917 * expr.h (expand_builtin_setjmp): Update prototype.
5918 * except.c (start_dynamic_handler): When using builtin_setjmp,
5919 generate more accurate flow information.
5920
5921 * alpha.md (nonlocal_goto_receiver_osf): Delete.
5922 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
5923 (builtin_longjmp, builtin_setjmp_receiver): New.
5924 * sparc.md (update_return): Disambiguate unspec number.
5925 (nonlocal_goto): Rearrange arguments to match caller in except.c.
5926 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
5927 jmp_buf operand.
5928 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
5929 (builtin_setjmp_setup*, builtin_longjmp): New.
5930
95936d18
JC
5931Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
5932
5933 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
5934
c120c689
JW
5935Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
5936
5937 * vmsconfig.com: Remove bytecode references.
5938
1a56b81f
AS
59391998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5940
91193900
AS
5941 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
5942 -fno-sjlj-exceptions works for a target that defines
5943 DWARF2_UNWIND_INFO as zero.
5944
1a56b81f
AS
5945 * regmove.c (fixup_match_1): Undo last change which removed some
5946 "useless" code, and add a comment explaining this.
5947
e4b3de45
GK
5948Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
5949
5950 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
5951 to TARGET_LONG64.
5952
2aabb736
KK
5953Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
5954
5955 * makefile.vms: Remove bytecode references.
5956 Create genrtl files.
5957
7457661d
MH
5958Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
5959
5960 * jump.c (jump_optimize): Allow conditional loading of floating point
5961 constants and constants from memory. Reinstalled modified_in_p tests.
5962
460f50dc
R
5963Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5964
5965 * loop.c (get_condition): Handle sign-extended constants.
5966
7a6df7f9
HPN
5967Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
5968
db771a3c
HPN
5969 * expr.c (emit_push_insn): Add code to use movstrti if present.
5970
7a6df7f9
HPN
5971 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
5972 and movstrqi as in emit_block_move ().
5973
ceb6edf2
TM
5974Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
5975
5976 * config/m68k/x-next: Remove /NextDeveloper/Headers from
5977 the directories to fixinclude - /usr/include is a link
5978 to it and hence its contents are fixed by default.
5979
9cddeb31
FS
5980Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5981
5982 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
5983
d2f05a0a
KK
5984Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
5985
5986 * cccp.c (main): Predefine __VMS_VER on VMS.
5987
f8dac6eb
R
5988Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5989
5990 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
5991 * fold-const.c (size_int): Replace with
5992 (size_int_wide).
5993 (make_bit_field_ref): Use bitsize_int for bit position.
5994 * stor-layout.c (sizetype): Delete.
5995 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
5996 (layout_record, layout_union, layout_type):
5997 Use bitsize_int for bit size.
5998 (set_sizetype): New function.
5999 (make_signed_type, make_unsigned_type): Use it.
6000 * c-decl.c (init_decl_processing): Likewise.
6001 * tree.h (size_int): Don't delcare, #define.
6002 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
6003 (set_sizetype): Declare.
6004 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
6005 Define.
6006 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
6007 Convert result to sizetype.
6008 (really_start_incremental_init, push_init_level):
6009 Set type of constructor_bit_index to sbitsizetype.
6010 (push_init_level): Use unsigned arithmetic to determine padding.
6011 (output_init_element): Likewise.
6012
b577a8ff
JL
6013Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
6014
6015 * combine.c (simplify_shift_const): Fix typo in last change.
6016
6e0ef100
JC
6017Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
6018
6019 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
6020 is (truncate (lshiftrt)).
6021
4208b40f
RH
6022Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
6023
6024 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
6025 Make sure result winds up in TGT.
6026 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
6027 src to be other than DImode.
6028 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
6029 (alpha_expand_unaligned_store_words): Likewise.
6030 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
6031 that source and destination are separately optimized for alignment.
6032 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
6033
82301b88
JL
6034Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
6035
6036 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
6037 with handling of -32768.
6038
a81fb89e
KG
6039Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6040
6041 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
6042 shell variable argument instead of only hard coded functions.
6043 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
6044
6045 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
6046 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
6047 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
6048 declarations for bcopy, bcmp and bzero.
6049
6050 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
6051
6052 * gansidecl.h: If we have bcopy but don't declare it, then do so.
6053 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
6054 bzero, index and rindex if they aren't already present.
6055
eed90b2c
JL
6056Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
6057
b57062ca 6058 * toplev.c (close_dump_file): Wrap function prototype for
eed90b2c
JL
6059 argument "func" in PROTO.
6060 (dump_rtl): Likewise.
6061
bfd6bc60
JC
6062Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
6063
6064 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
6065 MASK_V8PLUS.
6066 (output_function_epilogue): Omit epilogue if nothing drops through.
6067 (output_move_double): Supress int ldd usage on ultrasparc and v9.
6068 (registers_ok_for_ldd_peep): Likewise.
6069 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
6070 (ultrasparc_adjust_cost): New function.
6071 (sparc_issue_rate): New function.
6072 * sparc.h (MASK_VIS, TARGET_VIS): New
6073 (MASK_V8PLUS, TARGET_V8PLUS): New.
6074 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
6075 (TARGET_SWITCHES): Add vis and v8plus.
6076 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
6077 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
6078 (RTX_COSTS): Use TARGET_HARD_MUL
6079 (ADJUST_COST): Call ultrasparc_adjust_cost.
6080 (ISSUE_RATE): New.
6081 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
6082 of load & fp appropritely.
6083 (supersparc function units): Adjust for Haifa.
6084 (ultrasparc function units): Likewise.
6085 (get_pc_via_rdpc): All v9, not just arch64.
6086 (movdi_v8plus, movdi_v8plus+1): New.
6087 (adddi3_sp32+1): New.
6088 (subdi3_sp32+1): New.
6089 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
6090 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
6091 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
6092 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
6093 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
6094 (ldd peepholes): Suppress for v9.
6095 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
6096 (return_subsi): Revmove.
6097
4b526a9a
JC
6098Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
6099
6100 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
6101 save/restore MEM rtl.
6102
64a438d6
JL
6103Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
6104
6105 * configure.in: Check for declaration of abort.
9c893359 6106 * acconfig.h: Corresponding changes.
64a438d6
JL
6107 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
6108 be declared.
6109
f266c82f
JL
6110Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
6111
6112 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
6113 uses it.
6114
31fa4410
JL
6115Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
6116
6117 * version.c: Bump for snapshot.
6118
0ee31ab1
JL
6119Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
6120
6121 * configure.in: Check for atoq and atoll.
6122 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
6123 proper routine for converting ascii into long long values.
6124
eeeb91c5
KK
6125Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
6126
9d21ee77
KK
6127 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
6128
6129 * vmsconfig.com: Remove bytecode references.
6130
6131 * alpha/vms.h (PREFIX): Define.
6132
6133 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
6134
eeeb91c5
KK
6135 * am-alpha.h: Don't include alloca for OPEN_VMS.
6136
6137 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
6138
6139 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
6140 (GCC_INCLUDE_DIR): Define
6141
6142 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
6143 * makefile.vms: New file.
6144
6145 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
6146
6147 * alpha.c (output_prolog): Output '.name' directive
6148 for minimal traceback information.
6149
6150 * alpha.c (output_prolog): Don't prepend entry point symbols
6151 with '$' on OPEN_VMS.
6152
76d31c63
JL
6153Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
6154 Jeffrey A Law (law@cygnus.com)
6155
6156 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
6157 HOST_WIDE_INT.
6158
6159 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
6160 as needed.
6161 * genemit.c (gen_exp): Likewise.
6162 * genpeep.c (match_rtx): Likewise.
6163 * genrecog.c (write_tree_1): Likewise.
6164
6165 * c-lex.c (yyprint): Use proper format string based upon
6166 disposition of HOST_BITS_PER_WIDE_INT.
6167 (yylex): Put casts in right place for args to build_int_2.
6168
6169Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
6170
6171 * combine.c: Fix typos in Jan27 changes.
6172
1b7555bd
OR
6173Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
6174
6175 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
6176 (LINK_SPEC): Likewise.
6177 (STARTFILE_SPEC): Likewise.
6178
21ca87b8
MS
61791998-01-28 Mike Stump <mrs@wrs.com>
6180
6181 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
6182 reload completes.
6183 * genattrtab.c (reload_completed): Define.
6184
6185 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
6186 comments.
6187
d2c92f5a
R
6188Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6189
6190 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
6191 SUBREG_REG if the word count is unchanged, also in the input reload
6192 case. Disable non-applicable sanity checks.
6193
90ad3ab7
JL
6194Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
6195
6196 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
6197
7fad712c
ILT
6198Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
6199
6200 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
6201
2290e0ec
PB
6202Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
6203
1aea01ea
PB
6204 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
6205 is a TREE_VEC before trying to use it for baseclasses.
6206 (Chill uses the same field for a different purpose.)
6207
2290e0ec
PB
6208 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
6209
16980900
LT
6210Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
6211
4c46bad0 6212 * config.sub: More accurate determination of HP processor types.
16980900 6213
5e9defae
KG
6214Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6215
6216 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
6217 prototype for `handle_sysv_pragma', and make it static. Add
6218 parentheses around assignment used as truth value.
6219
6220 * combine.c (combine_instructions): Protect variable `prev' with
6221 macro HAVE_cc0.
6222 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
6223 (extract_left_shift): Add parentheses around operand of &.
6224 (merge_outer_ops): Avoid an empty body in an else-statement.
6225 (gen_rtx_combine): Remove unused variable `i'.
b57062ca 6226
5e9defae
KG
6227 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
6228 function monstartup `void'. Likewise for internal_mcount. Add
6229 `static void' prototype for moncontrol. Reconcile sprintf format
b57062ca 6230 vs. args.
5e9defae
KG
6231
6232 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
6233 Make return type of function_arg_slotno explicitly `int'.
6234 (reg_unused_after): Add parentheses around assignment used as
6235 truth value.
6236 (save_regs): Add explicit braces to avoid ambiguous `else'.
6237 (function_arg_slotno): Add parentheses around && within ||.
6238 (function_arg_pass_by_reference): Likewise.
6239 (sparc_flat_output_function_prologue): Reconcile fprintf format
6240 vs. args.
6241
6242 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
6243 assignment used as truth value.
6244
6245 * cplus-dem.c: Include <stdlib.h>.
6246 (demangle_signature): Avoid an empty body in an else-statement.
6247 (do_type): Remove unused variable `lvl'.
b57062ca 6248
5e9defae
KG
6249 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
6250 Include <string.h>/<strings.h>.
6251 (cpp_lex): Remove unused variable `namelen'.
6252 (cpp_lex): Explicitly declare `num_chars' as an int.
6253
6254 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
6255 <unistd.h> instead. Explicitly declare is_system_include
6256 returning int.
b57062ca 6257 (make_assertion): Remove unused variable `kt'.
5e9defae
KG
6258 (cpp_expand_to_buffer): Hide variable `obuf'.
6259 (output_line_command): Remove unused variables, `line_end',
6260 `line_cmd_buf' and `len'.
6261 (macarg): Remove unused variable `arg_start'.
6262 (special_symbol): Remove unused variable `i'. Add parentheses
b57062ca 6263 around assignment used as truth value.
5e9defae 6264 (do_include): Remove unused variables `pcfname' and `retried',
b57062ca 6265 hide `pcf' and `pcfbuflimit'.
5e9defae
KG
6266 (do_line): Remove unused variable `i'.
6267 (finclude): Hide variable `missing_newline'.
6268 (cpp_handle_options): Remove unused variable `j'.
6269 (read_token_list): Remove unused variable `eofp'.
6270 (cpp_error_with_line): Remove unused variable `i'.
6271 (cpp_warning_with_line): Likewise.
6272 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
6273 (cpp_error_from_errno): Remove unused variable `i'.
6274
6275 * cse.c (invalidate): Add parentheses around assignment used as
6276 truth value.
6277 (find_best_addr): Move declaration of variable `our_cost' inside
6278 the conditional macro where its used.
6279 (fold_rtx): Avoid an empty body in an if-statement.
6280 (cse_insn): Wrap variables `this_insn_cc0_mode' and
6281 `this_insn_cc0' in macro HAVE_cc0.
b57062ca 6282
5e9defae
KG
6283 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
6284 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
6285 (output_uleb128): Likewise.
6286 (output_sleb128): Likewise.
6287 (output_cfi): Likewise.
6288 (output_call_frame_info): Remove unused variables `j', `fde_size'
6289 and `fde_pad'.
6290 (comp_unit_has_inlines): Hide declaration as per rest of file.
6291 (size_of_line_prolog): Correct typo in prototype.
6292 (add_arange): Likewise.
6293 (output_aranges): Likewise.
6294 (add_name_and_src_coords_attributes): Likewise.
6295 (gen_array_type_die): Likewise.
6296 (gen_inlined_subroutine_die): Likewise.
6297 (equate_decl_number_to_die): Remove unused variable `i'.
6298 (print_die): Reconcile format vs. args in fprintf's.
6299 (print_dwarf_line_table): Likewise.
6300 (output_die): Likewise.
6301 (output_line_info): Likewise.
6302 (add_subscript_info): Avoid an empty body in an else-statement.
6303 (gen_subprogram_die): Remove unused variable `fp_loc'.
6304
6305 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
6306 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
6307 macro. Protect `src_coords_attribute' prototype with
6308 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
6309 prototype as in the rest of the file. Likewise for
6310 `output_pointer_type_die' and `output_reference_type_die'. Remove
6311 prototype for `type_of_for_scope'.
6312 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
6313 (type_attribute): Add explicit braces to avoid ambiguous `else'.
b57062ca 6314
5e9defae
KG
6315 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
6316 (shorten_branches): Protect declaration of tmp_length with
6317 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
6318 (profile_function): Protect declaration of `sval' and `cxt'
6319 variables with appropriate macros.
6320 (final_scan_insn): Likewise for `note' variable. Add explicit
6321 braces to avoid empty body in an if-statement.
6322 (output_asm_insn): Move variable `i' inside macro conditional
6323 where it is used. Add parentheses around assignment used as truth
6324 value.
6325 (asm_fprintf) Likewise, likewise.
b57062ca 6326
5e9defae
KG
6327 * fix-header.c (main): Remove unused variable `done'. Protect
6328 declaration of `i' with FIXPROTO_IGNORE_LIST.
6329
6330 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
6331
6332 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
6333 `ind'.
6334
6335 * profile.c: Include <string.h>/<strings.h>.
6336 (instrument_arcs): Remove unused variables `note', `inverted',
6337 `zero' and `neg_one'.
6338 (branch_prob): Avoid empty body in an if-statement.
6339
6340 * regclass.c: Include <stdlib.h>.
6341 (reg_alternate_class): Explicitly declare parameter `regno'.
6342
6343 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
6344 parentheses around assignment used as truth value.
6345 (find_matches): Remove unused variables `output_operand' and
6346 `matching_operand'.
6347 (fixup_match_1): Remove statement with no effect: "if (0) ;".
6348
6349 * scan.c (sstring_append): Explicitly declare `count' as int.
6350 (scan_string): Explicitly declare parameter `init' as int.
6351
6352 * sched.c: Include <stdlib.h>.
6353 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
6354 (rank_for_schedule): Add parentheses around assignment used as
6355 truth value.
6356 (schedule_block): Likewise.
6357 (regno_use_in): Likewise.
6358 (schedule_insns): Remove unused variable `i'.
6359
6360 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
6361 (v_message_with_decl): Remove unused variable `n'.
6362 (botch): Explicitly declare parameter `s' as char *.
6363 (main): Add parentheses around assignment used as truth value.
6364
6365 * tree.c (make_node): Protect the variable `kind' with the
6366 GATHER_STATISTICS macro.
6367 (real_value_from_int_cst): Move variable `e' inside conditional
6368 macro area where it is used.
6369 (tree_last): Add parentheses around assignment used as truth value.
6370 (build1): Protect the variable `kind' with the GATHER_STATISTICS
6371 macro.
6372 (print_obstack_statistics): Reconcile format vs. args in fprintf.
6373 Protect variables `i', `total_nodes', and `total_bytes' with the
6374 GATHER_STATISTICS macro.
6375
4b6bb562
MS
6376Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
6377
6378 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
6379 some comments regarding use of dead_or_set_p.
6380
e95f0195
TV
6381Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
6382
6383 * fixincludes: Tweak fix for struct exception in math.h
6384
c3499f00
GK
6385Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
6386
6387 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
b57062ca 6388 Change mode of registers used to add/sub from
c3499f00
GK
6389 hard_frame_pointer_rtx from word_mode to Pmode.
6390
01898d58
NC
6391Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
6392
6db34dd4
NC
6393 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
6394 asm_output_aligned_bss() instead of asm_output_bss().
6395
01898d58
NC
6396 * toplev.c (rest_of_compilation): Replace references to
6397 stack_reg_dump_file and dbr_sched_dump_file with references to
b57062ca 6398 rtl_dump_file.
01898d58 6399
7b6ffd11
KI
6400Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
6401
6402 * tlink.c (scan_linker_output): Call fclose() for opened files.
6403
60593797
RH
6404Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
6405
6406 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
6407 compiling with -fpic -- we want to be able to override symbols
6408 properly.
6409 (alpha_expand_block_move): Fix thinko in last change.
6410
6411 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
6412 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
6413 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
b57062ca 6414
5e4aab97
RH
6415Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
6416
6417 * alpha.md (abssf, absdf): Revert last change.
6418
69145bcc
JC
6419Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
6420
6421 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
6422 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
6423
4926b75a
JL
6424Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
6425
6426 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
6427 a CONST_INT into SFmode.
6428
c6aded7c
AG
6429Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
6430
6431 * flags.h: New flag (optimize_size).
6432 * toplev.c (main): Parse -Os option and set optimize_space
6433 accordingly.
b57062ca 6434 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
c6aded7c
AG
6435 __OPTIMIZE_SIZE__ when compiling with -Os.
6436 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
6437 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
6438 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
6439 to macro.
6440 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
6441
3698f44e
MH
6442Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
6443
6444 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
6445 stuff only if MCT_TEXT is #define'd.
6446
ac8a456a
MO
6447Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
6448
6449 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
6450 configurations.
6451
032713aa
NC
6452Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
6453
6454 * toplev.c: Add -dM command line option to dump RTL after the
6455 machine dependent reorganisation pass, if there is one.
6456 Reorganise RTL dump code, so that only one file handle is
b57062ca 6457 needed.
032713aa 6458
ec2be682
BK
6459Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
6460
6461 * except.c (check_exception_handler_labels): Disable warning when
6462 flag_syntax_only.
6463
e232b7b3
JW
6464Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
6465
6466 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
6467
2a851b5c
R
6468Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6469
6470 * c-decl.c (grokdeclarator): Get parameter tags from
6471 last_function_parm_tags.
6472 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
6473 traversing the parameter types.
6474 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
6475
808fbfac
JL
6476Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
6477
6478 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
6479 the default case.
6480 (get_shift_alg): Fix typo.
6481
15389075
RH
6482Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
6483
6484 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
6485
83c8ddef
RH
6486Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
6487
6488 * toplev.c (get_run_time): Make sure each case gets its variables.
6489
db81d74a
RH
6490Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
6491
6492 * configure.in (build_xm_file): Add auto-config.h if host=build.
6493 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
6494 (build_xm_file_list): Likewise.
6495 * configure: Rebuild.
b57062ca 6496
f745c7a2
AB
6497Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
6498
6499 * recog.c (validate_replace_rtx_1): Only perform substitutions
6500 of arguments to commutative and comparison operators once.
6501
963f4057
KG
6502Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6503
91a51951
KG
6504 * sparc.c (output_cbranch): Add default case in
6505 enumeration switch.
b57062ca 6506
91a51951
KG
6507 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
6508 (emit_delay_sequence): Eliminate unused parameter, all callers
6509 changed.
6510 (fill_simple_delay_slots): Likewise.
6511 (fill_slots_from_thread): Likewise.
6512 (fill_eager_delay_slots): Likewise.
6513 (mark_referenced_resources): Add default case in enumeration switch.
6514 (mark_set_resources): Likewise.
6515 (rare_destination): Likewise.
6516 (mostly_true_jump): Likewise.
6517 (find_dead_or_set_registers): Likewise.
6518 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
6519 (update_reg_unused_notes): Remove unused variable `p'.
6520 (mark_target_live_regs): Remove unused variables `next' and
6521 `jump_count'.
6522 (fill_simple_delay_slots): Remove unused variable `j'.
6523 (fill_slots_from_thread): Add parentheses around assignment used
6524 as truth value.
6525 (dbr_schedule): Likewise.
6526
963f4057
KG
6527 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
6528 (objc.stage2, objc.stage3, objc.stage4): Likewise.
6529
e82ad93d
MT
6530Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
6531
6532 * cse.c (simplify_ternary_operation): Don't try to simplify
6533 IF_THEN_ELSE expressions (created by combine) that don't use
6534 relational operators.
6535
b4b04bf9
JL
6536Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
6537
ed1ecb19
JL
6538 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
6539 simplifications.
6540
b4b04bf9
JL
6541 * crtstuff.c (init_dummy): Keep the epilogue in the init
6542 section for non-ELF systems.
6543
deeef0ac
R
6544Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6545
6546 * sh.md (movqi_i+1): New peephole.
6547
03566575
JW
6548Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
6549
6550 * Makefile.in: Remove remaining bytecode stuff.
6551 * emit-rtl.c, expr.c: Likewise.
6552
eb96c120
NC
6553Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
6554
6555 * toplev.c (lang_options): Add unknown-pragma options.
6556
f03204e9
PB
6557Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
6558
6559 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
6560 special (and incomplete) handling for Chill arrays.
6561
4e762a38
JC
6562Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
6563
6564 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
6565 to get clock rate.
6566
c3499f00 6567Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
319f217e
GK
6568
6569 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
6570
19f673eb
SS
65711998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
6572
6573 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
6574 .frame directive instead of FRAME_POINTER_REGNUM.
6575
74cf1c6d
RK
6576Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
6577
6578 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
6579 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
6580 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
6581 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
6582 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
6583 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
6584 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
6585 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
6586 mcpu32 or m5200.
6587 * longlong.h: Replace __mc68332__ with __mcpu32__.
6588
e1402e7d
JL
6589Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
6590
6591 * version.c: Bump for snapshot.
6592
6d49a073
JW
6593Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
6594
6595 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
6596 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
6597 * reload1.c (eliminate_regs): Likewise.
6598
c485e6a0
JL
6599Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
6600
6601 * regmove.c (find_matches): Initialize matches->earlyclobber too.
6602
84303d9a
RH
6603Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
6604
6605 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
6606 (negsf2, negdf2): Use proper subtract in IEEE mode.
6607
b93a436e
JL
6608Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
6609
27766f0e
JL
6610 * Makefile.in: Remove more bytecode stuff.
6611 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
6612 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
6613 * f/install.texi, objc/Make-lang.in: Likewise.
6614
b93a436e
JL
6615 * Makefile.in: Remove all bytecode support.
6616 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
6617 * emit-rtl.c: Remove all bytecode support.
6618 * expr.c, expr.h function.c, integrate.c: Likewise.
6619 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
6620 * tree.h, varasm.c: Likewise.
424e713c
JL
6621 * config/m68k/m68k.h: Likewise.
6622 * bi-*, bc-*, bytecode*: Delete bytecode related files.
c9804136 6623 * modemap.def: Likewise.
b93a436e 6624
7e07e3ba
GK
6625Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
6626
6627 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
6628 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
6629
685885b7
RH
6630Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
6631
6632 * i386.md (push): Prohibit symbolic constants if flag_pic.
6633 (movsi+1): Likewise for move to non-register.
6634
5830e3a0
JW
6635Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
6636
11ea364a
JW
6637 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
6638 (print_operand): Handle 0xffffffff on 32 bit host.
6639
a851212a
JW
6640 * configure.in (thread_file): Rename uses before main loop to
6641 target_thread_file. Initialize to empty in main loop. Set thread_file
6642 to target_thread_file after main loop if not set.
6643 * configure: Rebuild.
6644
5830e3a0
JW
6645 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
6646 (add_values_to_cover): Revert last change (which had no ChangeLog
6647 entry).
6648 (simplify_with_current_value_aux): Handle CONST_INT.
6649
829e1aaf
AS
6650Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6651
6652 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
6653
76844337
RH
6654Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
6655
6656 * configure.in: Add cpp stringify test.
6657 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
6658 * gengenrtl.c: Use it.
6659 * configure, config.in: Rebuild.
6660
a3f80023
AS
6661Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6662
6663 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
6664
c5d0345e
RH
6665Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
6666
6667 * configure.in: Find declaration for sbrk.
6668 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
6669 * config.in, configure: Rebuild.
6670 * mips-tfile.c: Properly protect declaration of sbrk and free.
6671 * toplev.c: Properly protect declaration of sbrk.
6672
bb02e7ea
RH
6673Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
6674
6675 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
6676
30c2fa75
JL
6677Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
6678
6679 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
6680
a0372c94
MS
6681Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
6682
6683 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
6684
c9ec4f99
DM
6685Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
6686
0e9ff885
DM
6687 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
6688 constant offset computations from objects with known alignment in
6689 the presence of STACK_BIAS.
6690
7bcac048
DM
6691 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
6692 necessary.
6693 (const_hash): Hash val is unsigned long.
6694 (SYMHASH): Likewise.
6695
6696 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
6697
6698 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
6699 char pointer, not HOST_WIDE_INT.
6700 (print_node): Likewise. Also hash is unsigned long not
6701 HOST_WIDE_INT.
6702
6703 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
6704
c9ec4f99
DM
6705 * explow.c (optimize_save_area_alloca): New function for targets
6706 where SETJMP_VIA_SAVE_AREA is true.
6707 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
6708 compute the amount of stack space needed should we find later that
6709 setjmp is never called by this function, stuff rtl for this inside
6710 a REG_NOTE of the final SET of stack_pointer_rtx.
6711 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
6712 current_function_calls_alloca, call optimize_save_area_alloca.
6713
ca097615
JW
6714Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
6715
6716 * i386.md: Remove redundant integer push patterns.
6717 Don't bother checking for TARGET_PUSH_MEMORY when
6718 pushing constants or registers.
6719
a3105a89
MK
6720Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
6721 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
b57062ca 6722
a3105a89
MK
6723 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
6724 (pwait): New function for mingw32.
6725
6726 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
6727 pipe support is broken for now.
6728
51549d76
LI
67291998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
6730
ffc3503d
JL
6731 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
6732 between frame_pointer_rtx, hard_frame_pointer_rtx, and
6733 arg_pointer_rtx is respected in initialization.
6734 (init_emit_once): Use gen_rtx_raw_REG() to create
6735 return_address_pointer_rtx.
6736
51549d76
LI
6737 * reorg.c: #include "expr.h" for rtx prototypes.
6738 * Makefile.in (reorg.o): Depend on expr.h
6739
b24a815b
PN
6740Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
6741
6742 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
6743 local_prefix to sub-make invocations.
6744
1e7b997a
DM
6745Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
6746
6747 * objc-parse.c: Recognize protocol qualifiers in class definitions.
6748
340fb41f
JL
6749Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
6750
ffc3503d
JL
6751 * rtl.h: Fix typos.
6752
aef28d1d 6753 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6885fc87 6754 * configure.in: Check for atol.
aef28d1d
JL
6755 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
6756
4399e7a3
JL
6757 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
6758
72ec635f
JL
6759 * loop.c (find_and_verify_loops): When attempting to move insns from
6760 inside the loop outside the loop, create a BARRIER if no suitable
6761 one was found.
6762
1be6e437
JL
6763 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
6764 favor of an equivalent change from gcc-2.8.
6765
340fb41f
JL
6766 * i386/x-sco5 (CC): Remove trailing whitespace.
6767
982255c8 6768Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 6769
982255c8
KG
6770 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
6771 (accessor_from_format): Likewise.
6772 (xmalloc): New function for use when linking with alloca.o.
6773
db8abea3
BH
6774Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6775
6776 * frame.c (find_fde): Correct FDE's upper bound.
6777
5d483f63
RH
6778Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
6779
6780 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
6781
9a960e6b
JL
6782Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
6783
6784 * calls.c (expand_call): Move #ifdef code out of macro argument
6785 lists.
6786 (emit_library_call, emit_library_call_value): Likewise.
6787
a4b18346
JL
6788Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
6789
6790 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
6791
a252996a
JL
6792Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
6793
6794 * version.c: Bump for snapshot.
6795
38a448ca
RH
6796Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
6797
6798 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
6799 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
6800 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
6801 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
6802 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
6803 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
6804 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
6805 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
6806 * unroll.c, varasm.c: Likewise.
6807 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
6808
6809Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
60db002d
GK
6810
6811 * mips.h: Fix some type-o's from a previous change.
6812
a8decb2c
JL
6813Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
6814
b57062ca 6815 * loop.c (check_dbra_loop): Make sure initial value is a
a8decb2c
JL
6816 CONST_INT before trying to normalize it.
6817
0e2b736c
RL
6818Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
6819
6820 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
6821
a3aa3d8c
HB
6822Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
6823
6824 * cppexp.c: Include gansidecl.h
6825
8b496c8d
ILT
6826Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
6827
6828 * svr4.h (LINK_SPEC): Never specify -h.
6829 * ptx4.h (LINK_SPEC): Likewise.
6830 * rs6000/sysv4.h (LINK_SPEC): Likewise.
6831 * sparc/sol2.h (LINK_SPEC): Likewise.
6832
c995fea1
RH
6833Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
6834
8d47dfc5
RH
6835 * c-typeck.c (comptypes): Exit early on NULL input.
6836
c995fea1
RH
6837 * haifa-sched.c (schedule_insns): Correctly remove inter-block
6838 dependencies after reload.
6839
88ea0ad1
FS
6840Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6841
6842 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
6843
f5e86959
JL
6844Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
6845
6846 * alpha/vms.h (DIR_SEPARATOR): define
6847
6848Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6c32c807
BH
6849
6850 * Makefile.in (stamp-proto): Remove.
6851 (protoize.o, unprotoize.o): Straightforward compile.
6852 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
6853
93006f8c
MK
6854Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
6855
6856 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
6857 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
6858
e4c4f8df
JL
6859Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
6860
6861 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
6862 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
6863 * sparc/netbsd.h, vax/netbsd.h: Likewise.
6864
4aa0c2a5
SS
6865Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
6866
6867 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
6868
c43143f6
JW
6869Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
6870
6871 * configure.in (target_cpu_default, target_cpu_default2): Use double
6872 quotes around them when testing their value.
6873 * configure: Rebuilt.
b57062ca 6874
4b8140a6
JC
6875Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
6876
6877 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
6878 to allocate rtx.
6879 (gendef): Call obstack_alloc_rtx.
6880
82de9b28 6881Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
fe07d4c1
RL
6882
6883 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
6884 for now.
6885
23092526 6886Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 6887
23092526
MK
6888 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
6889 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
6890 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
6891
b57062ca 6892Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
32318600
JW
6893
6894 * mips.md (return_internal): Change mode from SImode to VOIDmode.
6895
ef720b21
KJ
6896Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
6897
6898 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
6899 "-static".
6900
cde21847
SC
6901Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
6902
6903 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
6904 suffix from operand 3.
6905
184bb750
R
6906Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6907 Jeffrey A Law (law@cygnus.com)
6908
6909 * regmove.c: New implementation of regmove pass.
6910 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
6911 decls, make them have external linkage. Return a value from
6912 optimize_reg_copy_1.
6913 * reload.h (count_occurrences): Add decl.
6914 * reload1.c (count_occurrences): Delete decl, make it have external
6915 linkage.
6916 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
6917
3f9e9508 6918Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
b57062ca 6919
3f9e9508
JL
6920 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
6921 if it is not defined.
b57062ca 6922
3b80f6ca
RH
6923Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
6924
6925 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
6926 * emit-rtl.c (gen_rtx): Move special code to ...
6927 (gen_rtx_CONST_INT): New function.
6928 (gen_rtx_REG): New function.
6929 (*): Update all calls to gen_rtx.
6930 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
6931 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
6932 (GEN_INT): Call gen_rtx_CONST_INT.
6933 * gengenrtl.c: New file.
6934
1c72c7f6
JC
6935Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
6936
6937 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
6938 (base_alias_check): If no base found for address call canon_rtx and
6939 try again.
6940
8fa4e1b4
JL
6941Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
6942
6943 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
6944 arguments for mips16.
6945 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
6946 Don't lose if tsize is zero after handling large stack for mips16.
6947 * mips.md (return): For trivial return, return address is in $31.
6948
eb774d8d
NS
6949Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
6950
6951 * mips/mips16.S: Various changes to make it work with -msingle-float
6952 and -EL.
6953
2bcb2ab3
GK
6954Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
6955 Ian Lance Taylor <ian@cygnus.com>
6956 Jeff Law <law@cygnus.com>
6957
6958 * mips.c, mips.h, mips.md: First cut at merging in mips16
6959 support. Major modifications throughout all three files.
6960
db0d1ed9
SS
6961Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
6962
6963 * configure.in: Make gthr-default.h a forwarding header instead of
6964 a symlink.
6965
79873958
KG
6966Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6967
86e011ad
KG
6968 * gcov-io.h: Include sys/types.h to ensure we get size_t.
6969
79873958
KG
6970 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
6971
35a42f5f
JW
6972Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
6973 Jeffrey A Law (law@cygnus.com)
6974
6975 * crtstuff.c (__frame_dummy): New function for irix6.
6976 (__do_global_ctors): Call __frame_dummy for irix6.
6977 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
6978
ef86d2ee
WL
6979Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
6980
6981 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
6982
6c174fc0
RH
6983Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
6984
6985 * c-decl.c (init_decl_processing): Provide proper fallback symbol
6986 for __builtin_memset.
6987 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
6988 not INTEGER_CST. Assert arg 3 is a constant.
6989
6990 * alpha.c (mode_width_operand): Accept 64-bit modes.
6991 (mode_mask_operand): Likewise.
6992 (print_operand): Likewise for 'M' and 'U' codes.
6993 (alpha_expand_unaligned_load): New function.
6994 (alpha_expand_unaligned_store): Likewise.
6995 (alpha_expand_unaligned_load_words): Likewise.
6996 (alpha_expand_unaligned_store_words): Likewise.
6997 (alpha_expand_block_move): Likewise.
6998 (alpha_expand_block_clear): Likewise.
6999 * alpha.h (MOVE_RATIO): New define.
7000 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
7001 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
7002
7003 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
7004 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
7005
8fbf199e
RH
7006Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
7007
7008 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
7009 * configure: Update.
7010
2d490e3e
JL
7011Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
7012
aa2ae679
JL
7013 * emit-rtl.c (operand_subword): Correctly handle extracting a word
7014 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
7015
2d490e3e
JL
7016 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
7017 for first argument.
7018
6e26218f
ILT
7019Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
7020
7021 * configure.in: Set and subsitute host_exeext. Use it when creating
7022 the assembler and linker symlinks.
7023 * configure: Rebuild.
7024 * Makefile.in (exeext): Set to @host_exeext@.
7025 (build_exeext): New variable, set to @build_exeext@.
7026 (FLAGS_TO_PASS): Pass down build_exeext.
7027 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
7028 programs.
7029
1b31097e
JL
7030Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
7031
7032 * mn10200.md (addsi3, subsi3): Fix thinkos.
7033
194faace
RH
7034Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
7035
7036 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
7037 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
7038 unix always, since we want to be able to thunk to functions in a
7039 shared library from an application.
7040
975602f8
ILT
7041Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
7042
7043 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
7044 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
7045
0eb1ad44
JL
7046Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
7047
7048 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
7049 offset's mode is not ptr_mode, convert it.
7050
eff0f7ac
MM
7051Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
7052
7053 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
7054 compiling if it was already defined.
7055
2c3a56ad
JL
7056Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
7057
7058 * flow.c (find_basic_blocks): Don't create a new basic block
7059 for calls in a LIBCALL block.
7060
fc97718f
DE
7061Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
7062
7063 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
7064
5b5a2a1e
JL
7065Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
7066
7067 * cse.c (rtx_cost): Remove conflicting default case.
7068
128f7968
RH
7069Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
7070
7071 * configure.in: Move default enabling of Haifa out of for loop.
7072 * configure: Rebuild.
7073
e81b4fbe
JL
7074Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
7075
7076 * version.c: Bump for snapshot.
7077
f24af81b
TT
70781997-12-25 Teemu Torma <tot@trema.com>
7079
7080 * Makefile.in (GTHREAD_FLAGS): New var.
7081 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
7082 (distclean): Remove gthr-default.h.
7083
7084 * configure.in: Accept dce as a thread package.
7085 Check for thread.h and pthread.h.
7086 Link gthr-default.h to appropriate thread file and set
7087 gthread_flags.
7088 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
7089 include multilib definitions from pa/t-dce-thr.
7090 (sparc-*-solaris2*): Enable threads by default, if thread.h or
7091 pthread.h is found, preferring posix threads over solaris ones.
7092
7093 * config/pa/t-dce-thr: New file.
7094 * config/pa/t-pa: Removed multilibs.
7095 * config/sparc/t-sol2: Ditto.
b57062ca 7096
f24af81b
TT
7097 * gthr.h: New file.
7098 * gthr-single.h: New file.
7099 * gthr-posix.h: New file.
7100 * gthr-solaris.h: New file.
7101 * gthr-dce.h: New file.
7102 * libgcc-thr.h: Removed.
7103 * objc/thr-dce.c: New file copied from thr-decosf1.c.
7104
7105 * frame.c: Include gthr.h instead of libgcc-thr.h.
7106 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
7107 (eh_context_initialize): If __gthread_once fails, use static eh
7108 context.
7109 (eh_context_free): Call __gthread_key_dtor.
7110
d9a4ee00
JL
7111Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
7112
7113 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
7114
04bd620d
JW
7115Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
7116
556c714b 7117 * cse.c (max_insn_uid): New variable.
556c714b
JW
7118 (cse_around_loop): Use max_insn_uid.
7119 (cse_main): Set max_insn_uid.
7120
04bd620d
JW
7121 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
7122 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
7123 -mlong64, and -mgp{32,64} options.
7124 * mips.c (mips_abi): Change type to int.
7125 * mips.h (enum mips_abi_type): Delete.
7126 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
7127 (mips_abi): Change type to int.
7128
439d5a35
JC
7129Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
7130
7131 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
7132 optimization is now always enabled.
7133
7134 * calls.c (expand_call): Recognize C++ operator new as malloc-like
7135 function.
7136
7137 * alias.c (memrefs_conflict_p): Eliminate tests now done by
7138 base_alias_check.
7139 (*_dependence): Call canon_rtx before base_alias_check.
7140 (init_alias_once): New function to precompute set of registers which
7141 can hold Pmode function arguments.
7142
7143 * rtl.h: Declare init_alias_once.
7144
7145 * toplev.c (compile_file): Call init_alias_once.
7146
280e521f
JL
7147Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
7148
7149 * tree.c (restore_tree_status): Do not dereference a null pointer.
7150
95b8c0c8
PE
7151Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
7152
7153 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
7154 RLIMIT_STACK. This maintains consistency with the recent, similar
7155 patch to cccp.c and toplev.c.
7156
71d9b493
RH
7157Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
7158
7159 * genattrtab.c (expand_units): For large nr opclasses, expand
7160 function_units_used with ORX to prevent blowups. Tag with FFS.
7161 (num_unit_opclasses): New variable.
7162 (gen_unit): Update it.
7163 (enum operator): Add ORX_OP.
7164 (operate_exp): Treat ORX as or, except don't expand across an if.
7165 Reuse number rtx's after operating on them.
7166 (check_attr_value): Accept IOR, AND, & FFS.
7167 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
7168 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
7169 (write_expr_attr_cache, write_toplevel_expr): New functions.
7170 (write_attr_get): Handle FFS-tagged expressions.
7171 (make_canonical): Don't expand const attributes.
7172 (convert_const_symbol_ref): Dike out.
7173 (evaluate_eq_attr): Handle SYMBOL_REF.
7174 (main): Don't emit get_attr_foo for const attributes.
7175
7176 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
7177 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
7178 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
b57062ca
UD
7179 * alpha.md: Redo all of the scheduling, adding EV6 support, and
7180 combining function units where possible.
71d9b493
RH
7181 (attr "type"): Split loads, stores, cmov into int/fp. Combine
7182 multiplies and divides. Add EV6 sqrt, ftoi, itof.
7183 (attr "opsize"): New attribute.
7184 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
7185 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
7186 to control register allocation.
7187 (movsi2-1, movdi2-1): Likewise.
7188
b0435cf4 7189Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
b57062ca 7190
b0435cf4
RH
7191 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
7192 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
7193 Move OSF/1 specific defines out.
7194 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
7195 Move Linux specific defines out.
7196 (LINK_SPEC): Genericize.
7197 (ASM_FILE_START): Emit .arch if using more than the base insn set.
7198 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
7199 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
7200 (HANDLE_SYSV_PRAGMA): Define.
7201 * alpha/osf.h: New file.
7202 * alpha/linux.h: Split. Retain file-format independant defines.
7203 Import Linux bits from elf.h.
7204 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
7205 (FUNCTION_PROFILER): _mcount takes its address in $28.
7206 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
7207 * alpha/linux-ecoff.h: New file.
7208 * alpha/linux-elf.h: New file.
7209 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
7210 * alpha/win-nt.h (TARGET_DEFAULT): Define.
7211 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
7212 Add new headers as appropriate.
b57062ca 7213
b0435cf4
RH
7214 * configure.in (alpha*): Enable Haifa by default.
7215 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
7216 * configure: Rebuild.
b57062ca 7217
5768f211
RH
7218Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
7219
7220 * Makefile.in (clean): Remove the stages with their objects here ...
7221 (distclean): ... instead of here.
7222
9e04c65a 7223Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 7224
9e04c65a
KG
7225 * cse.c (rtx_cost): Add default case in enumeration switch.
7226 * fix-header.c (recognized_macro): Likewise.
7227 (recognized_extern): Likewise.
7228 (write_rbrac): Likewise.
7229 * objc/objc-act.c (encode_aggregate): Likewise.
7230 (gen_declarator): Likewise.
7231 (gen_declspecs): Likewise.
7232
1d88b804
JL
7233Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
7234
7235 * haifa-sched.c (create_reg_dead_note): Detect and handle another
7236 case where we kill more regs after sched than were killed before
7237 sched.
7238 * sched.c (create_reg_dead_note): Similarly.
7239
bbeba0ba
JL
7240Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
7241
7242 * c-pragma.c: Include flags.h.
7243
05853640
MK
7244Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
7245
7246 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
7247 about system headers.
7248 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
7249 and also to resolve symbols in prefix.c.
7250
7251 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
7252 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
7253 when the definitions in auto-config.h is not visible.
7254 (HAVE_BZERO): Likewise.
7255 (HAVE_BCMP): Likewise.
7256 (HAVE_RINDEX): Likewise.
7257 (HAVE_INDEX): Likewise.
7258
44201dba
JL
7259Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
7260
7261 * pa.c (emit_move_sequence): Handle a function label source
7262 operand.
7263
d300e551
NC
7264Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
7265
7266 * c-pragma.c (handle_pragma_token): Generate warning messages
7267 about unknown pragmas if warn_unknown_pragmas is set.
7268
7269 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
7270 line option to set variable: warn_unknown_pragmas.
7271
d3245704
MH
7272Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
7273
7274 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
7275 definition.
7276 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
7277
5198352e
JL
7278Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
7279
7280 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
7281 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
7282 generate more fine grained floating point emulation libraries.
7283 * config/fp-bit.c: Add protecting #ifdef to all functions so
7284 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
7285 then compile all suitable functions.
7286 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
7287 underscores to avoid namespace pollution.
7288 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
7289 (FPBIT): Define.
7290 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
7291 (FPBIT): Define.
7292 (DPBIT): Define.
7293
9f1ff8e8 7294Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1d300e19
KG
7295 Jeff Law <law@cygnus.com>
7296
7297 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
7298 of the declaration.
7299 * c-decl.c (finish_decl): Use parentheses around && within ||.
7300 * rtl.c: Include stdlib.h.
7301 (read_skip_spaces): Add parentheses around assignments used as
7302 truth values.
7303 (read_rtx): Initialize list_rtx.
7304 * cppexp.c (parse_number): Use || when operands are truth values.
7305 * alias.c (find_base_value): Add default case.
7306 (memrefs_conflict): Likewise.
7307 * combine.c (sets_function_arg_p): Likewise.
7308 * genemit.c (gen_exp): Likewise.
7309 * local-alloc.c (contains_replace_regs): Likewise.
7310 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
7311 * fold-const.c (fold_convert): Use "&&" for truth values.
7312 (fold): Add default case.
7313 * sdbout.c (sdbout_field_types): Fix typo in declaration.
7314 (sdbout_one_type): Add default case.
7315 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
7316 (some_operand): Add default case.
7317 (input_operand): Likewise.
7318 (signed_comparison_operator): Likewise.
7319 (divmod_operator): Likewise.
7320 (alpha_set_memflags_1): Likewise.
7321 * reload1.c (reload_cse_simplify_operands): Ensure function
7322 always returns a value.
7323 * scan-decls.c (scan_decls): Likewise.
7324 * c-lex.c (skip_white_space): Fix typo in declaraion.
7325 * c-typeck.c (comp_target_types): Add parentheses around assignment
7326 used as truth value.
7327 (print_spelling): Likewise.
7328 (constructor_implicit, constructor_result): Remove unused variables.
7329 * collect2.c (scan_library): Protect prototype with
7330 #ifdef SCAN_LIBRARIES.
7331 * emit-rtl.c (find_line_note): Fix typo in declaration.
b57062ca 7332 * final.c (asm_insn_count): Protect prototype with
1d300e19
KG
7333 #ifdef HAVE_ATTR_length.
7334 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
7335 (try_pre_increment_1, try_pre_increment): Likewise.
7336 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
7337 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
7338 * gcov-io.h (__store_long, __write_long, __read_long): Fix
7339 unsigned/signed comparisons.
7340 * gcov.c (read_files): Remove unused "first_type" variable.
7341 (scan _for_source_files): Initialize s_ptr.
7342 (function_summary): Eliminate "%lf" formatting, use %ld for
7343 longs.
7344 (output_data): Initialize branch_probs and last_line_num.
7345 Eliminate "%lf" formatting, use "%ld" for longs.
7346
18543a22
ILT
7347Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
7348
afba61d1
ILT
7349 * mips16.S: New file.
7350
7351 * libgcc2.c (varargs): Handle mips16.
7352
18543a22
ILT
7353 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
7354 expression.
7355 * stmt.c (expand_end_case): Likewise.
7356 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
7357 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
33f7f353 7358 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
18543a22 7359
dbf3231e
AS
7360Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7361
7362 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
7363 the build directory.
7364 (libobjc.a): Update dependency list.
7365 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
7366 directory.
7367 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
7368 (objc.mostlyclean): Remove runtime-info.h.
7369
e1ee5cdc
RH
7370Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
7371
7372 * tree.c (build_range_type): Allow creation of ranges with no maximum.
7373 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
7374 * dwarf2out.c (add_subscript_info): Likewise.
7375 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
7376 * sdbout.c (plain_type_1): Likewise.
7377 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
7378 Likewise.
7379 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
7380 Likewise.
7381
dfe91418 7382Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 7383
dfe91418
JL
7384 * mips.c (fatal): Remove declaration.
7385
73861997-12-18 Mark Mitchell <mmitchell@usa.net>
7387
7388 * integrate.c (get_label_from_map): New function.
7389 (expand_inline_function): Use it. Initialize the label_map to
7390 NULL_RTX instead of gen_label_rtx.
7391 (copy_rtx_and_substitute): Use get_label_from_map.
7392 * integrate.h (get_label_from_map): New function.
7393 (set_label_from_map): New macro.
7394 * unroll.c (unroll_loop): Use them.
7395 (copy_loop_body): Ditto.
7396
337e2b69
ILT
7397Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
7398
7399 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
7400 (INIT_TARGET_OPTABS): Define.
7401 * mips/ecoff.h: Include gofast.h before mips.h.
7402 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
7403 * mips/elf64.h: Likewise.
7404 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
7405
02531345
JM
7406Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
7407
7408 * except.c: Remove register_exception_table{,_p}.
7409
913b5d54
GK
7410Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
7411
efb84aa5
GK
7412 * unroll.c (calculate_giv_inc): Handle constant increment found in
7413 a MEM with an appropriate REG_EQUAL note.
7414
bb1b857a
GK
7415 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
7416
913b5d54
GK
7417 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
7418 frame pointer in the prologue.
7419
80aab652
RL
7420Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
7421
7422 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
7423 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
7424
f5c4bc60 7425Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
b57062ca 7426
f5c4bc60
BM
7427 * config/m68k/m68k.c (output_function_prologue): Typecast
7428 dwarf2out_cfi_label to (char *).
7429 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
b57062ca 7430
8dcb5295
RH
7431Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
7432
7433 * sparc.md (jump): Don't use the annul bit around an empty loop.
7434 Patch from Kevin.Kelly@East.Sun.COM.
7435
a99503b1
SC
7436Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
7437
b57062ca 7438 * jump.c: (jump_optimize): Don't use the return register as a
a99503b1
SC
7439 source1 of a conditional move.
7440
e13c943c
RH
7441Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
7442
7443 * sparc.c (DF_MODES): Or the mask not the bit number.
7444 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
7445
be3d27d6
CI
7446Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
7447
7448 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
7449
f184a264
MH
7450Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
7451
ade7386a
MH
7452 * fixincludes (size_t): Add support for Motorola's stdlib.h
7453 which fails to provide a definition for size_t.
7454 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
7455 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
7456 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
7457
f184a264
MH
7458 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
7459 prevent unresolved externals in libio.
7460 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
7461
afc96791
L
7462Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
7463
7464 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
7465 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
7466 (LIB_SPEC): Updated for glibc 2.
7467
e9818f3c
JL
7468Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
7469
7470 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
7471 * ginclude/varargs.h: Likewise.
7472
a3fd4e75 7473Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
7474
7475 * version.c: Bump for snapshot.
7476
a3fd4e75
JL
7477Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
7478
7479 * frame.h (__register_frame, __register_frame_table,
7480 __deregister_frame): New.
7481 * frame.c (__register_frame, __register_frame_table,
7482 __deregister_frame): New.
7483 * frame.c (__deregister_frame_info): Return void *.
7484 * frame.h (__deregister_frame_info): Ditto.
7485 * collect2.c (__deregister_frame_info): Ditto.
7486
166cdf4a
RH
7487Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
7488
7489 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
7490
bcbbac26
RH
7491Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
7492
7493 * alpha.c (alpha_cpu_name): New variable.
7494 (alpha_mlat_string): Likewise.
7495 (alpha_memory_latency): Likewise.
7496 (override_options): Handle -mmemory-latency.
7497 (alpha_adjust_cost): Adjust load cost for latency.
7498 * alpha.h (TARGET_OPTIONS): Add meory-latency.
7499 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
7500 TARGET_CIX into account.
7501 (MEMORY_MOVE_COST): Define in terms of memory_latency.
7502 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
7503
7504 * alpha.h (ASM_COMMENT_START): New macro.
7505
7506Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
7507
7508 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
7509 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
7510
7511 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
7512 SUBREG_REG if the word count is unchanged.
7513 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
7514 subregs of identical word size for push_reload.
7515
a701efba
MM
7516Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
7517
7518 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
7519 if all we're doing is dealing with -Wreturn-type.
7520
5e21ac7a
RH
7521Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
7522
7523 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
7524 Use and 255 instead of zapnot 1, since it schedules better.
7525
296f8acc
JL
7526Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
7527
7528 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
7529 it as volatile.
7530
6d8ccdbb
JL
7531Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
7532
7533 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
7534 dependency we delete. Properly update prev for multiple consecutive
7535 deletions.
7536 (priority): Skip deleted dependence.
7537
14e83f2e
PB
7538Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
7539
7540 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
7541
100d81d4
JM
7542Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
7543
9b8d9d6b
JM
7544 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
7545 determining when a new basic block starts.
7546
74c3447c
JM
7547 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
7548
7549 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
7550 * pa.md (iorsi3): Add missing args to *_operand calls.
7551
100d81d4
JM
7552 * except.c (call_get_eh_context): Don't mess with sequences.
7553 (emit_eh_context): Include the call in the sequence here.
7554
5a5ab947
PE
75551997-12-11 Paul Eggert <eggert@twinsun.com>
7556
7557 * collect2.c (write_c_file_glob): Allocate initial frame object
7558 in static storage and pass its address.
7559
01eb7f9a
JM
7560Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
7561
7562 * except.c (call_get_eh_context): Don't take a parm.
7563 Put the call at the top of the function.
7564 (emit_eh_context): Adjust.
7565 (get_eh_context): Replace with former use_eh_context.
7566 (get_eh_context_once, get_saved_pc_ref): Remove.
7567 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
7568 * except.h: Adjust.
7569 * integrate.c (expand_inline_function): Adjust.
7570 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
7571
d19814a3
ML
7572Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
7573
7574 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
7575 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
7576
7567d496
MH
7577Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
7578
ade7386a 7579 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496 7580 layout on sysV88.
b57062ca 7581 (hypot): Provide a fake for hypot which is broken on
7567d496
MH
7582 m88k-motorola-sysv3.
7583
0a6969ad
JC
7584Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
7585
7586 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
7587 tree_code_name from pointers to arrays.
7588 * tree.c: Remove standard_tree_code_* variables, no longer used.
7589 * print-tree.c: Remove declaration of tree_code_name.
7590
7591 * cp/lex.c (init_lex): Update for tree_code_* changes.
7592 * objc/objc-act.c (init_objc): Likewise.
7593
7594 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
7595 changes.
7596
c55dcc7d
FF
7597Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
7598
7599 * config.sub: Add support for BeOS target.
7600 * configure.in: Likewise.
7601 * ginclude/stdarg.h: Likewise.
7602 * ginclude/stddef.h: Likewise.
7603 * ginclude/varargs.h: Likewise.
7604 * rs6000/beos.h: New file for BeOS.
7605 * rs6000/t-beos: Likewise.
7606 * rs6000/x-beos: Likewise.
7607 * rs6000/xm-beos.h: Likewise.
7608 * toplev.c (get_run_time): Just return 0 on BeOS.
7609
9cf3ae46
JL
7610Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
7611 Toon Moene (toon@moene.indiv.nluug.nl)
7612
7613 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
7614 old and broken Sun3 assemblers. Newer versions handle large
7615 offsets correctly as does the GNU assembler.
7616
7cc273ad
L
7617Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
7618
7619 * objc/objc-act.c (lang_report_error_function): Disable.
7620 * objc/objc-parse.y: Include "output.h".
7621 (yyerror): Remove redundant decl.
7622 (yyprint): Fix prototype.
7623 (apply_args_register_offset): Remove redundant decl.
7624 (get_file_function_name): Likewise.
7625
74d7ab55
JM
7626Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
7627
7628 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
7629 a new basic block.
7630 (find_basic_blocks_1): Likewise.
7631
0776059e
JM
7632Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
7633
7634 * except.c (use_eh_context): Don't copy_rtx a REG.
7635 (emit_throw): Lose old unwinder support.
7636 (expand_internal_throw): Likewise.
7637 * libgcc2.c (struct eh_context): Likewise.
7638 (new_eh_context): Likewise.
7639 (__get_eh_info): Lose redundant cast.
7640 (__get_dynamic_handler_chain): Likewise.
7641 (__get_saved_pc): Lose.
7642 Lose all old unwinder support code.
7643
154bba13
TT
7644Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
7645
7646 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
b57062ca 7647
154bba13
TT
7648 * integrate.c (expand_inline_function): If the inline fn uses eh
7649 context, make sure that the current fn has one.
7650 * toplev.c (rest_of_compilation): Call emit_eh_context.
7651 * except.c (use_eh_context): New fn.
7652 (get_eh_context_once): New fn.
7653 (call_get_eh_context): New fn.
7654 (emit_eh_context): New fn.
7655 (get_eh_context): Call either get_eh_context_once or
7656 call_get_eh_context, depending on what we have.
7657 (get_dynamic_handler_chain): Call get_eh_context_once.
7658 * except.h: Prototypes for fns above.
7659 * optabs.c (get_eh_context_libfunc): Removed.
7660 (init_optabs): Don't initialize it.
7661 * expr.h (get_eh_context_libfunc): Removed.
7662 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
7663 * config/pa/pa.h (CPP_SPEC): Support for -threads.
7664 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
7665 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
7666 New multilib for -threads.
7667 * config/sparc/t-sol2: Added multilibs for -threads and
7668 made -pthreads alias to it.
7669 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
7670 Added -threads and -pthreads options.
7671 * libgcc-thr.h: New file.
7672 * libgcc2.c: (__get_cpp_eh_context): Removed.
7673 (struct cpp_eh_context): Removed.
7674 (struct eh_context): Replaced cpp_eh_context with generic language
b57062ca 7675 specific pointer.
154bba13
TT
7676 (__get_eh_info): New function.
7677 (__throw): Check eh_context::info.
7678 (__sjthrow): Ditto.
7679 * libgcc2.c: Include libgcc-thr.h.
7680 (new_eh_context, __get_eh_context,
7681 eh_pthread_initialize, eh_context_initialize, eh_context_static,
7682 eh_context_specific, eh_context_free): New functions.
7683 (get_eh_context, eh_context_key): New variables.
7684 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
7685 get_eh_context to get the context.
7686 (longjmp): Move the declaration inside
7687 #ifdef DONT_USE_BUILTIN_SETJMP.
7688 * frame.c: Include libgcc-thr.h.
7689 (object_mutex): Mutex to protect the object list.
7690 (find_fde, __register_frame, __register_frame_table,
7691 __deregister_frame): Hold the lock while accessing objects.
7692 * except.h (get_eh_context): Declare.
7693 * except.c (current_function_ehc): Define.
7694 (current_function_dhc, current_function_dcc): Removed.
7695 (get_eh_context): New function.
7696 (get_dynamic_handler_chain): Use get_eh_context.
7697 (get_saved_pc_ref): Ditto.
7698 (get_dynamic_cleanup_chain): Removed references to
7699 current_function_dcc.
7700 (save_eh_status, restore_eh_status): Save and restore
7701 current_function_ehc instead.
7702 * optabs.c (get_eh_context_libfunc): New variable.
7703 (init_optabs): Initialize it.
7704 * expr.h: Declare get_eh_context_libfunc.
7705 * function.h (struct function): Replaced dhc and dcc with ehc.
7706 * except.c (get_saved_pc_ref): New functions.
7707 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
7708 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
7709 of eh_saved_pc.
7710 (end_eh_unwinder): Likewise.
7711 (init_eh): Remove initialization of eh_saved_pc.
7712 * optabs.c (get_saved_pc_libfunc): New variable.
7713 (init_optabs): Initialize it.
7714 * expr.h: Declare get_saved_pc_libfunc.
7715 * except.h (eh_saved_pc_rtx): Deleted.
7716 (get_saved_pc_ref): Declared.
7717
7718 From Scott Snyder <snyder@d0sgif.fnal.gov>:
7719 * libgcc2.c (__get_saved_pc): New.
7720 (__eh_type, __eh_pc): Deleted.
7721 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
7722 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
7723 this fcn.
7724
68d75312
JC
7725Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
7726
b16d8734
JC
7727 * sparc/sol2.h: Use 64 bit multiply and divide functions in
7728 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
7729 as 0.
7730
68d75312
JC
7731 * rtl.h (global_rtl): New variable, replacing separate variables for
7732 commonly used rtl.
7733 (const_int_rtx): Now array of rtx_def, not rtx.
7734 * emit-rtl.c: Update for new rtl data structures.
7735 * genattrtab.c: Define global_rtl.
7736
44517326 7737Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 7738
44517326
DE
7739 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
7740 default.
f40421ce 7741
8587487b
AG
7742Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
7743
7744 * crtstuff.c (__do_global_ctors): Fix typo.
7745
08ce3276
MH
7746Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
7747
7748 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
7749 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
7750
c229cba9
DE
7751Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
7752
7753 * rs6000.h (FUNCTION_ARG_PADDING): Define.
7754 * rs6000.c (function_arg_padding): New function.
7755
b2c59d0b
MH
7756Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
7757
7758 * m68k.c: Include tree.h only once.
7759
c1132c27
RK
7760Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7761
7762 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
7763
ac957f13
JL
7764Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
7765
7766 * Partially cleaned up prototyping code from HJ.
a1d061a1 7767 * tree.h: Add many prototypes.
ac957f13
JL
7768 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
7769 All references changed.
7770 * rtl.h: Protect from multiple inclusions. Add many prototypes.
b57062ca 7771
f40421ce 7772Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
7773
7774 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
7775 string functions like strlen.
7776
0a232106
MH
7777Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
7778
7779 * configure.in: Check for functions getrlimit and setrlimit.
7780 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
7781 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
7782
25b76cc1
JS
7783Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
7784
7785 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
7786
26250081
RH
7787Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
7788
7789 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
7790 Fix merge problems.
7791
7792 * alpha.c (override_options): Don't know about scheduling for EV6.
7793 * alpha.md (ev5 function units): Don't overload as ev6.
7794
7795 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
7796 * alpha.md (define_attr type): Add mvi.
7797 (ev5_e0): Define sceduling parameters for it.
7798 (TARGET_MAX insns): Type is mvi not shift.
7799
7120f213
RH
7800Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
7801
7802 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
7803
afa80947
R
7804Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7805
7806 * cstamp-h, auto-config.h: Delete.
7807
51ca169b
JL
7808Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
7809
7810 * version.c: Bump for snapshot.
7811
16169366
JL
7812Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
7813
7814 * cccp.c: Fix typo brought over in merge.
7815
efeb5d4f 7816 * Merge in changes from gcc-2.8.
0fe09481 7817
da932f04
JL
7818Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
7819
7820 * m68k.c: Include tree.h for dwarf2out_cfi_label.
7821
7822 * gcc.c (process_command): Do not take address of function fatal when
7823 calling lang_specific_driver.
7824
7825Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
7826
b57062ca 7827 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
da932f04
JL
7828 doesn't work with it yet, so set it to 0.
7829 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
7830
7831Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
7832
7833 * cse.c (cse_insn): Check for invalid entries when taking references.
7834
81797aba
JL
7835Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7836
7837 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
7838 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
7839 * toplev.c (rest_of_compilation): Pass it. Remove code to
7840 save / clear / restore flag_unroll_{,all_}loops.
7841
7842Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
7843
7844 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
7845
7846Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
7847
7848 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
7849
5dfa7520
JM
7850Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
7851
d07daca1
JM
7852 * except.c (get_dynamic_handler_chain): Only make the call once per
7853 function.
7854
5dfa7520
JM
7855 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
7856
4d7b7169
R
7857Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7858
7859 * sh.c (final_prescan_insn): Use local label prefix
7860 when emitting .uses pseudo-ops.
7861
e701eb4d
JM
7862Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
7863
7864 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
7865 * except.c: Lose outer_context_label_stack.
7866 (expand_eh_region_end): Rethrow from outer_context here.
7867 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
7868 (expand_internal_throw): Take no args.
7869 (expand_internal_throw_indirect): Lose.
7870 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
7871 (expand_start_all_catch): Start a rethrow region.
7872 (expand_end_all_catch): End it.
7873 (expand_rethrow): New fn.
7874 * except.h: Reflect above changes.
7875 * flow.c: Revert change of Nov 27.
7876
6a242b6a
JL
7877Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
7878
7879 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
7880
9762d48d
JM
7881Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
7882
7883 * except.c (expand_fixup_region_end): New fn.
7884 (expand_fixup_region_start): Likewise.
7885 (expand_eh_region_start_tree): Store cleanup into finalization here.
7886 * stmt.c (expand_cleanups): Use them to protect fixups.
7887
868e82ab
GK
7888Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
7889
7890 * mips/mips.md (muldi3_r4000): Broaden the output template
7891 and attribute assignments to handle three operand dmult;
7892 rename to muldi3_internal2.
7893 (muldi3): Call the new muldi3_internal2 for R4000, and
7894 any GENERATE_MULT3 chip.
7895
716cc7f7
JM
7896Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
7897
7898 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
7899
9fb82071
JW
7900Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
7901
7902 * unroll.c (find_splittable_givs): Remove last change. Handle givs
7903 with a dest_reg that was created by loop.
7904
f2d76545
JL
7905Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
7906
7907 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
7908
7909 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
7910
b4dfb707
JL
7911Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
7912
7913 * configure.in: Fix NCR entries.
7914
80c2681c
JL
7915Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
7916
586a5f99
JL
7917 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
7918 nested exceptions correctly.
7919
80c2681c
JL
7920 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
7921 that was created by loop.
7922
f45ebe47
JL
7923Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
7924
7925 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
7926
7927 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
7928
034e84c4
MM
7929Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
7930
8fbd2dc7
MM
7931 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
7932 (print_operand): Use SMALL_DATA_REG for the register involved in
7933 small data relocations.
7934 (print_operand_address): Ditto.
7935
7936 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
7937 -dynamic linker is not used.
7938
a226df46
MM
7939 * rs6000.md (call insns): For local calls, use @local suffix under
7940 System V. Don't use @plt under Solaris.
7941
034e84c4
MM
7942 * rs6000.c (output_function_profiler): Put label address in r0, and
7943 store LR in 4(sp) for System V/eabi.
7944
7945 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
7946 byte boundary, and maintain stack backchain.
7947
f2d76545
JL
7948Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7949
7950 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7951 fix_truncsfdi2): Change *.
7952
33e5c8c3
JM
7953Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
7954
7955 * toplev.c (main): Complain about -gdwarfn.
7956
f45ebe47
JL
7957Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
7958
b57062ca 7959 * dwarfout.c (output_type): If finalizing, write out nested types
f45ebe47
JL
7960 of types we've already written.
7961
92dcf4c8
MM
7962Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
7963
7964 (patches originally from Geoffrey Keating)
7965 * rs6000.c (function_arg): Excess floating point arguments don't
7966 go into GPR registers after exhausting FP registers under the
7967 System V.4 ABI.
7968 (function_arg_partial_nregs): Ditto.
7969
7970 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
7971 suffix to calls.
7972
f4744807
JM
7973Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
7974
7975 * integrate.c (output_inline_function): Just unset DECL_INLINE.
7976
7977Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
7978
7979 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
7980 proper alignment.
7981
7982 * libgcc2.c (__throw): Initialize HANDLER.
7983
0609f021
JW
7984Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7985
7986 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7987 fix_truncsfdi2): Change *X to ?*X.
7988
c905c108
RH
7989Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
7990
7991 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
7992
5041a61c
JL
7993Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
7994
7995 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
7996
bb727b5a
JM
7997Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
7998
7999 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
8000
8001Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
8002
8003 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
8004 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
8005 * expr.h: Likewise.
8006
f45ebe47
JL
8007Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
8008
8009 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
8010 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
8011 gas and not using the new HP assembler.
8012
ef85603e
JL
8013Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
8014
8015 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
8016 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
8017
6cc1f5cb
AC
8018Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
8019
8020 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
8021 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
8022 definition.
8023
72eb1038
BH
8024Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8025
8026 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
8027
1418bb67
JM
8028Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
8029
8030 * except.h: Add outer_context_label_stack.
8031 * except.c: Likewise.
8032 (expand_start_all_catch): Push the outer_context for the try block
8033 onto outer_context_label_stack.
8034 (expand_end_all_catch): Use it and pop it.
8035
9dab7833
RL
8036Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
8037
8038 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
8039
858e4e8c
RH
8040Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
8041
8042 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
8043
a21d14e9
KK
8044Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
8045
8046 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
8047 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
8048
ced78d8b
JM
8049Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
8050
8051 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
b57062ca 8052 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
ced78d8b
JM
8053 __builtin_delete, and __builtin_vec_delete.
8054
8055 * except.c (output_exception_table): Don't bother with
8056 __EXCEPTION_END__.
8057
a09ff88b
JL
8058Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
8059
1b8b89f1
JL
8060 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
8061 is an in/out operand.
8062 (zero extended variants of stwm/stwm patterns): Similarly.
8063
a09ff88b
JL
8064 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
8065
7bb9fb0e
JM
8066Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
8067
8068 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
8069 Use assemble_name.
8070 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
8071 (output_call_frame_info): Emit a \n after using it.
8072
9101297d
DL
8073Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
8074
8075 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
8076
2ed2af28
PDM
8077Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
8078
8079 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
8080 (ASM_OUTPUT_DWARF_VALUE4): New macro.
8081 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
8082 defined.
8083 (output_call_frame_info): Do not output forward label differences
8084 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
8085 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
8086
4dff12bf
R
8087Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8088
8089 * sh.md (attribute "type"): Add nil.
8090 (movsi_ie): y/y alternative is type nil.
8091 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
8092 alternatives.
8093 (movsf_ie+1): Delete.
8094
218c2cdb
JW
8095Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
8096
8097 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
8098 large_int, emit two insns instead of one splitable insn.
8099 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
8100 from cfa_temp_value, use cfa_offset. Add assert checking that
8101 cfa_reg is SP.
8102
d5b79362
TT
8103Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
8104
8105 * cccp.c (deps_output): Properly quote file names for make.
8106
de1ea87a
JL
8107Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
8108
8109 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
8110
cb0112a7
RL
8111Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
8112
8113 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
8114
85c3ba60
JL
8115Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
8116
8117 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
8118 return.
8119 (cse_end_of_basic_block): Similarly.
ef720b21 8120
9155d500
KJ
8121Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
8122
8123 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
8124 (SELECT_RTX_SECTION): Define.
8125 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
8126
4931312c
MH
8127Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
8128
8129 * Makefile.in (compare, compare-lean): Define $stage for each
8130 shell command.
8131 (gnucompare, gnucompare-lean): Likewise.
8132
8dfe3c62
RH
8133Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
8134
8135 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
8136
8137 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
8138 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
8139
874a8709
FF
8140Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
8141
8142 * dwarfout.c (byte_size_attribute): Add local var upper_bound
8143 and add case to handle STRING_TYPE.
8144 * dwarfout.c (output_string_type_die): Fix code to generate
8145 correct string length attribute for fixed length strings.
8146 Still needs support for varying length strings.
8147
ea466196
JL
8148Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
8149
8150 * toplev.c (get_run_time): Do something sensible for cygwin32.
8151
202f590e
RH
8152Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
8153
f35bcbc5
RH
8154 * expr.c (expand_builtin_setjmp): Set
8155 current_function_has_nonlocal_label.
8156 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
8157 call-saved registers across calls.
8158
8159 * alpha.md (exception_receiver): Remove.
8160 (nonlocal_goto_receiver_osf): New
8161 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
8162 (nonlocal_goto_receiver): New, select _osf or _vms.
8163
531ea24e
RH
8164 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
8165 keep them from being propogated to the object file.
8166 (alpha_write_linkage): Likewise.
8167 * alpha.md (call_vms): Likewise.
8168 (call_value_vms): Likewise.
8169 (unnamed osf call insns): Likewise.
8170
8171 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
8172 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
8173
202f590e
RH
8174 * alpha.c (call_operand): Any reg is valid for WinNT.
8175 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
8176 (anon nt calls): Add 'R' alternative.
8177 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
8178 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
8179
238ad62b
JL
8180Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
8181
f78b5ca1
JL
8182 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
8183
238ad62b
JL
8184 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
8185 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
8186 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
8187
da275344
MM
8188Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
8189
8190 * reload1.c (new_spill_reg): Improve fixed or forbidden register
8191 spill error message.
8192
1f1e1545
KG
8193Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8194
8195 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
8196 use varargs.h. Wrap header with <>, not "".
8197
daa4b717
JL
8198Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
8199
8200 * integrate.c (save_for_inline_copying): Add return value from
8201 savealloc.
8202
9bb5394e
BK
8203Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
8204
8205 * fixincludes: Be a little more restrictive on what we will
8206 substitute to replace definitions of MAXINT for HPUX.
8207
9571f69b
MM
8208Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
8209
8210 * dbxout.c (dbxout_symbol_location): Don't assume that variables
8211 whose address is the stack or argument pointers are indirect
8212 pointers.
8213
b57062ca
UD
82141997-11-13 Paul Eggert <eggert@twinsun.com>
8215
e7cbb6b6
PE
8216 * cccp.c, cpplib.c (compare_defs):
8217 Don't complain about arg name respellings unless pedantic.
b57062ca
UD
8218 * cpplib.c (compare_defs): Accept pfile as new arg.
8219 All callers changed.
e7cbb6b6 8220
9f29ca78
R
8221Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8222
8223 * fold-const.c (fold_truthop): Fix bug in last change.
8224
41c9120b
PE
82251997-11-13 Paul Eggert <eggert@twinsun.com>
8226
8227 Fix some confusion with IEEE minus zero.
8228
8229 * real.h (REAL_VALUES_IDENTICAL): New macro.
8230
8231 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
8232 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
8233 identical to 0.0.
8234 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
8235 same tree structure as 0.0.
8236
8237 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
8238 macro instead of doing it by hand.
8239
323d8e7b
JL
8240Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
8241
8242 * v850/lib1funcs.asm: Minor whitespace changes.
8243 * v850.c: Fix minor formatting problems in many places.
8244 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
8245
13529ea4
JW
8246Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
8247
8248 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
8249 xplus1 when xplus0 is not a register.
8250
759c135e
JL
8251Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
8252
8930b063
JL
8253 * flow.c (find_basic_blocks): During marking phase, if we encounter
8254 an insn with a REG_LABEL note, make the target block live and
8255 create an edge from the insn to the target block. Do not make
8256 edges from all blocks to the target block.
8257
0be28489
JL
8258 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
8259
759c135e
JL
8260 * confiugre.in: Tweak NCR entries.
8261 * configure: Rebuilt.
8262
47ad8c61
MM
8263Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
8264
8265 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
8266 pick apart floating point values, instead of using CONST_DOUBLE_LOW
8267 and CONST_DOUBLE_HIGH.
8268
8269 * rs6000.md (define_splits for DF constants): Use the appropriate
8270 REAL_VALUE_* interface to pick apart DF floating point constants in
8271 a machine independent fashion.
8272
5a6b3365
R
8273Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8274
8275 * fold-const.c (fold_truthop): When changing a one-bit comparison
8276 against zero into a comparison against mask, do a proper sign
8277 extension.
8278
2ec1535d
JL
8279Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
8280
3a88cbd1
JL
8281 * except.c: Do not include "assert.h".
8282 (save_eh_status): Turn asserts into conditional aborts.
8283 (restore_eh_status, scan_region): Likewise.
8284 * dwarfout.c: Do not include "assert.h".
8285 (bit_offset_attribute): Turn asserts into conditional aborts.
8286 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
8287 (output_inlined_structure_type_die): Likewise.
8288 (output_inlined_union_type_die): Likewise
8289 (output_tagged_type_instantiation): Likewise.
8290 (dwarfout_file_scope_decl): Likewise.
8291 * dwarf2out.c: Do not include "assert.h"
8292 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
8293 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
8294 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
8295 (add_bit_size_attribute, scope_die_for): Likewise.
8296 (output_pending_types_for_scope): Likewise.
8297 (get_inlined_enumeration_type_die): Likewise.
8298 (get_inlined_structure_type_die): Likewise.
8299 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
8300 (gen_tagged_type_instantiation_die): Likewise.
8301
2ec1535d
JL
8302 * flow.c (find_basic_blocks): Refine further to get a more correct
8303 cfg, especially in the presense of exception handling, computed
8304 gotos, and other non-trivial cases. Call abort if an inaccuracy
8305 is detected in the cfg.
8306
a6124a42
R
8307Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8308
8309 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
8310
8311 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
8312 (skip_white_space): Use whitespace_cr.
8313 (check_newline): Handle whitespace more consistently.
8314
8f3189a4
JW
8315Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
8316
8317 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
8318 * i386/xm-cygwin32.h (POSIX): Define.
8319
6d1350cd
GK
8320Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
8321
8322 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
8323 is available elsewhere.
8324
d1f4474e
DE
8325Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
8326
8327 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
8328 what the instruction can handle.
8329
c7ae64f2
JM
8330Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
8331
8332 * stmt.c (expand_decl_cleanup_no_eh): New fn.
8333
8334 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
8335
ea64ef27
JL
8336Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
8337
8338 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
8339 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
8340
47ad8c61
MM
8341Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
8342
8343 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
8344 swap instruction order.
8345
0ff27f58
JL
8346Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
8347
8348 * fixinc.svr4 (__STDC__): Add another case.
8349
7091039c
R
8350Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8351
8352 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
8353 addresses in the epilogue delay slot.
8354
553914ad
MH
8355Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
8356
8357 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
8358 in generated `specs' file.
8359
64fde701
JW
8360Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
8361
8362 * flags.h (flag_rerun_loop_opt): Declare.
8363 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
8364 * toplev.c (flag_rerum_loop_opt): Delete static.
8365
1245df60
R
8366Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8367
1245df60
R
8368 Bring over from FSF:
8369
8370 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8371
8372 * va-sh.h (__va_arg_sh1): Define.
8373 (va_arg): Use it.
8374 SH3E doesn't use any integer registers for subsequent arguments
8375 once a non-float value was passed in the stack.
8376 * sh.c (machine_dependent_reorg): If optimizing, put explicit
8377 alignment in front label for ADDR_DIFF_VEC.
8378 * sh.h (PASS_IN_REG_P): Fix SH3E case.
8379 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
8380
8381 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8382
8383 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
8384 svr4.h.
8385
8386 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8387
8388 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
8389 put an use_sfunc_addr before each sfunc.
8390 * sh.md (use_sfunc_addr, dummy_jump): New insns.
8391 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
8392
8393 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8394
8395 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
8396
97991933
JM
8397Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
8398
8399 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
8400 linked once FDEs.
8401
eaf407a5
JL
8402Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
8403
8404 * alias.c (find_base_value): Only return the known base value for
8405 pseudo registers.
8406
4f9ca067
JW
8407Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
8408
8409 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
8410 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
8411 to pattern.
8412 (prologue_get_pc_and_set_got): New pattern.
8413
f4e31cf5
RH
8414Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
8415
8416 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
8417 for SUBREG, just fall through.
8418
8419 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
8420
8421 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
8422
f754c4a1
JL
8423Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
8424
3ed18aeb
JL
8425 * fixincludes: Fix "hypot" prototype in NeXT math.h.
8426
3fe40e05
JL
8427 * Makefile.in (USE_ALLOCA): Always include alloca.o.
8428 (USE_HOST_ALLOCA): Likewise.
8429
f754c4a1
JL
8430 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
8431 and LABEL_REFS fields.
8432 * rtl.h (LABEL_REFS): Update.
8433
ab00eb0a
JW
8434Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
8435
ff3467a9
JW
8436 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
8437 sets i2dest. When calling distribute_notes for i3dest_killed, pass
8438 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
8439 sets i1dest.
8440
4911814e
JW
8441 * mips.md (insv, extzv, extv): Add change_address call.
8442 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
8443
474eff88
JW
8444 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
8445
3feffdfe
JW
8446 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
8447
ab00eb0a
JW
8448 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
8449 save_restore_insns if no FP and GP will be restored.
7636d567 8450
31c8581d
JW
8451 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
8452 Convert CCmode to word_mode before calling GET_MODE_SIZE.
8453
7636d567
JW
8454 * acconfig.h (HAVE_INTTYPES_H): Undef.
8455 * configure.in (inttypes.h): Check for conflicts between sys/types.h
8456 and inttypes.h, and verify that intmax_t is defined.
8457 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
8458 * config/mips/x-iris3: Likewise.
8459
73774bc7
JL
8460Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
8461
8462 * alias.c (find_base_value): When copying arguments, return the
8463 tenative value for a hard register.
8464
645ebf37
DE
8465Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
8466
8467 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
8468 (yylex): Record wide strings using target endianness, not host.
8469
f7620587
JL
8470Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
8471
8472 * mn10200.h (ASM_OUTPUT_BSS): Delete.
8473 (ASM_OUTPUT_ALIGNED_BSS): New macro
8474 * mn10300.h (ASM_OUTPUT_BSS): Delete.
8475 (ASM_OUTPUT_ALIGNED_BSS): New macro.
8476 * v850.h (ASM_OUTPUT_BSS): Delete.
8477 (ASM_OUTPUT_ALIGNED_BSS): New macro.
8478
1686f1a2 8479Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
b57062ca 8480
1686f1a2
R
8481 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
8482
f6857708
JL
8483Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
8484
8485 * configure.in (sco5): Use cpio to install header files.
8486
e566af04
MH
8487Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
8488
8489 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
8490 14 char length.
8491 * configure: Rebuild.
8492
cbd44549
RL
8493Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
8494
8495 * i386/sco5.h: enable -gstabs once again.
8496
56636818
JL
8497Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
8498
8499 * arm.c (output_move_double): Allocate 3 entries in otherops array.
8500
9ad8a5f0
MS
8501Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
8502
8503 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
8504 notes for sjlj exceptions too.
8505 (expand_eh_region_end): Similarly for EH_REGION_END notes.
8506 (exception_optimize): Optimize EH regions for sjlj exceptions too.
8507 * final.c (final_scan_insn): Don't output labels for EH REGION
8508 notes if doing sjlj exceptions.
8509
f8671389
JL
8510Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
8511
8072f69c
JL
8512 * alias.c (init_alias_analysis): Handle -fno-alias-check when
8513 optimizing correctly.
8514
6cad9e32
JL
8515 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
8516 or set current_function_calls_setjmp anymore.
8517
f8671389
JL
8518 * flow.c (find_basic_blocks): If we delete the label for an
8519 exception handler, remove it from the EH label list and remove
8520 the EH_BEGIN/EH_END notes for that EH region.
8521
a886ae74
JM
8522Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
8523
8524 * flow.c (find_basic_blocks): Generate correct flow control
8525 information when exception handling notes are present.
8526
c2c85462
JL
8527Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
8528
8529 * dwarf2out.c (output_call_frame_info): Fix length argument
8530 to ASM_OUTPUT_ASCII.
8531 (output_die, output_pubnames, output_line_info): Likewise.
8532
8c316ae2
JL
8533Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
8534
27ca375a
JL
8535 * version.c: Bump for snapshot.
8536
8d4e65a6
JL
8537 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
8538 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
8539 flag_debug_asm is on.
8540 (output_die, output_pubnames, output_line_info): Likewise.
8541
ec907dd8
JL
8542 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
8543 and static_chain_rtx into the potential base values array if
8544 they are registers.
8545
8546 * alias.c (new_reg_base_value): New array of potential base values.
8547 (unique_id): Now file scoped static.
8548 (find_base_value, case REG): Return the value in reg_base_value
8549 array for the REG if it exists. Else, return the value from
8550 new_reg_base_value if copying args and REG is a hard register.
8551 (find_base_value, case PLUS): If either operand of the PLUS is
8552 a REG, try to get its base value. Handle base + index and
8553 index + base.
8554 (record_set): Use new_reg_base_value instead of reg_base_value.
8555 (init_alias_analysis): Allocate space for new_reg_base_value too.
8556 Rework code to iterate over the insns propagating base value
8557 information until nothing changes.
8558
8c316ae2
JL
8559 * global.c (global_alloc): Free the conflict matrix after
8560 reload has finished.
8561
6874c264
JM
8562Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
8563
8564 * libgcc2.c (L_eh): Define __eh_pc.
8565 Replace __eh_type with generic pointer __eh_info.
8566
59fe8c2c
R
8567Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
8568
8569 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
8570 use copy_to_reg if address is not a general_operand.
8571
d1271ded
R
8572Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8573
8574 * profile.c (output_func_start_profiler): Clear flag_inline_functions
8575 for the duration of the call to rest_of_compilation.
8576
ac52b80b
DE
8577Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
8578
8579 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
8580 Set extra_parts.
8581 (sparc*-*-*): Recognize --with-cpu=v9.
8582 * sparc/elf.h: New file.
8583 * sparc/t-elf: New file.
8584
f8912297
JL
8585Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
8586
8587 * mn10300.c (const_8bit_operand): New function.
8588 (mask_ok_for_mem_btst): New funtion.
8589 * mn10300.md (btst patterns with mem operands): Use new functions
8590 to avoid creating btst instructions with invalid operands.
8591
05ef204d
MM
8592Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
8593
8594 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
8595 are running on PowerPC Linux.
8596
feecabdf
GK
8597Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
8598
8599 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
8600 if not previously defined.
8601
de957303
DE
8602Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
8603
8604 * function.c (assign_parms): Correct mode of stack_parm if
8605 entry_parm underwent a mode conversion.
8606
ba3b3878
BK
86071997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
8608
8609 * global.c (global_alloc): Use xmalloc instead of alloca for
8610 CONFLICTS, since max_allocno * allocno_row_words alone can be more
8611 than 2.5Mb sometimes.
8612
d540ae2c
RH
8613Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
8614
8615 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
8616 DEST for the spill, adjust mode of SRC to compensate.
8617
42f4929d
RH
8618Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
8619
8620 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
8621 since any_memory_operand() allows pseudos during reload.
8622 (reload_inhi, reload_outqi, reload_outhi): Likewise.
8623
08417478
JW
8624Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
8625
8626 * m68k.md (btst patterns): Add 5200 support.
8627
750e8348
TM
8628Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
8629
8630 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
8631 optimizations, look inside dividend to determine if the expression
8632 can be simplified by using EXACT_DIV_EXPR.
8633
ede19932
JM
8634Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
8635
8636 From Brendan:
8637 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
8638
66d91cb9
RH
8639Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
8640
8641 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
8642
4f3f5e9f
RH
8643Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
8644
8645 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
8646 on a CLOBBER.
8647
f3352b9e
RH
8648Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
8649
8650 * alpha.md (movqi, movhi): Make sure new insns created during reload
8651 won't need reloading themselves.
8652 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
8653
0cecc190
JL
8654Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
8655
8656 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
8657
a09ba5a2
RH
8658Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
8659
8660 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
8661 Patch from Klaus Kaempf <kkaempf@progis.de>.
8662
7581a30f
JW
8663Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
8664
8665 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
8666 to an element in a constant string.
8667
d84e64d4
JM
8668Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
8669
8670 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
8671 bit PC-relative offset. The exception range table pointer is now in
8672 the CIE.
8673 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
8674 (count_fdes, add_fdes, get_cie): Adjust.
8675 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
8676
8677 From H.J. Lu:
8678 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
8679
96286722
RH
8680Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
8681
8682 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
8683 like stack_pointer_rtx.
8684
e85988b5
MH
8685Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
8686
361e618f
MH
8687 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
8688 targets using "$@" to provide support for similar but not identical
8689 targets without having to duplicate code.
8690 (bootstrap4): New goal.
8691
e85988b5
MH
8692 * Makefile.in (compare, compare-lean, compare3): Combined to one
8693 ruleset determining actions to be performed via $@.
8694 (compare4, compare4-lean): New targets.
8695 (gnucompare, gnucompare3): Combined to one ruleset determining
8696 actions to be performed via $@. Also, note which files failed
8697 the comparison test in .bad_compare.
8698 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
8699
91585c63
TM
8700Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
8701
8702 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
8703 if the dividend is a multiple of the divisor.
8704
da0af5a5
JL
8705Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
8706
7337c67f
JL
8707 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
8708
adb9effb 8709 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 8710 and POS_DEC.
6d849a2a
JL
8711
8712 * alias.c (true_dependence): Fix typo.
8713
6d6d0fa0
JL
8714 * toplev.c (flag_rerun_loop_opt): New variable.
8715 (f_options): Handle -frerun-loop-opt.
8716 (rest_of_compilation): If -frerun-loop-opt, then run the loop
8717 optimizer twice.
8718 (main): Enable -frerun-loop-opt by default for -O2 or greater.
8719
da0af5a5
JL
8720 * loop.c (simplify_giv_expr): Adding two invariants results
8721 in an invariant.
8722
ca0f2220
RH
8723Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
8724
b57062ca 8725 * expr.c (get_inner_reference): Remove the array bias after
ca0f2220
RH
8726 converting the index to Pmode.
8727
a6f7ba17
JL
8728Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
8729
8730 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
8731 (TARGET_MULT_BUG): Define.
8732 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
8733 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
8734
17ad8a3b
JL
8735Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
8736
8737 * mn10200.c (indirect_memory_operand): Delete unused function.
8738 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
8739 * mn10200.md (bset, bclr insns): Handle output in a reg too.
8740
e16b49d3
RH
8741Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
8742
8743 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
8744 the callee's ldgp, we must do it ourselves, and we use the jsr tag
8745 for more than scheduling.
8746
27f65411
DE
8747Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
8748
8749 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
8750
e9ad4573
JL
8751Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
8752
8753 * mn10300.c (symbolic_operand, legitimize_address): New functions.
8754 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
8755 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
8756
66724f0a
JL
8757Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
8758
8759 * version.c: Bump for snapshot.
8760
c401498b
R
8761Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8762
8763 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
8764 for FILENAME.
8765
b22b9b3e
JL
8766Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
8767
56bf1fd9
JL
8768 * toplev.c (flag_exceptions): Default value is 2.
8769 (compile_file): If flag_exceptions still has the value 2, then
8770 set it to 0.
8771
a04232e5
JL
8772 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
8773 (rs6000_save_machine_status): Save pic_offset_table_rtx.
8774 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
8775
0bd83abd
JL
8776 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
8777 are shared.
8778
b22b9b3e
JL
8779 * rs6000.md (*movsi_got_internal_mem): New pattern.
8780 (*movsi_got_internal_mem splitter): New define_split.
8781
c1e385db
JW
8782Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
8783
8784 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
8785
1a986152
GK
8786Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
8787
8788 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
8789 only need to save LR.
8790
5d29a95f
JL
8791Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
8792
c6ee9150
JL
8793 * mn10300.md (movqi, movhi): Avoid using address registers as
8794 destinations unless absolutely necessary.
8795
d5255ba2
JL
8796 * mn10200.c (expand_prologue): Fix typo.
8797
9d2128b8
JL
8798 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
8799 addresses.
8800 * mn10200.md (neghi2): Provide an alternative which works if
8801 the input and output register are the same.
8802
576e5acc
JL
8803 * mn10300.c (print_operand): Handle 'S'.
8804 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
8805 shift amount in last alternative
8806
5d29a95f
JL
8807 * mn10300.c (expand_epilogue): Rework to handle register restores
8808 in "ret" and "retf" instructions correctly.
8809
3bf1b082
JW
8810Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
8811
8812 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
8813 extzv for memory operands.
8814
8815 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
8816 redundant conditional moves to single operand.
8817
ddbd8d36
NC
8818Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
8819
8820 * v850.h: Move define of __v850__ from CPP_PREDEFINES
8821 to CPP_SPEC.
b57062ca 8822
ddbd8d36
NC
8823 * xm-v850.h: Use __v850 rather than __v850__ to
8824 identify v850 port.
8825
a944a4eb
JW
8826Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
8827
8828 * mips/mips.c (compute_frame_size): Not a leaf function if
8829 profile_flag set.
8830
2d5b6dea
GK
8831Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
8832
8833 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
8834
f0a9fa6c
DE
8835Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
8836
8837 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
8838 (DEFAULT_ARCH32_P): New macro.
8839 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
8840 (enum cmodel): Declare.
8841 (sparc_cmodel_string,sparc_cmodel): Declare.
8842 (SPARC_DEFAULT_CMODEL): Provide default.
8843 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
8844 (TARGET_FULLANY): Deleted.
8845 (TARGET_CM_MEDMID): New macro.
8846 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
8847 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8848 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
8849 (CPP_SPEC): Rewrite.
8850 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8851 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
8852 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8853 (ASM_SPEC): Add %(asm_arch).
8854 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
8855 Rename asm_default to asm_cpu_default.
8856 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
8857 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
8858 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
8859 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
8860 (MASK_INT64,MASK_LONG64): Delete.
8861 (MASK_ARCH64): Renamed to MASK_64BIT.
8862 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
8863 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
8864 (TARGET_SWITCHES): Always provide 64 bit options.
8865 (ARCH64_SWITCHES): Delete.
8866 (TARGET_OPTIONS): New option -mcmodel=.
8867 (INT_TYPE_SIZE): Always 32.
8868 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
8869 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
8870 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
8871 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
8872 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
8873 CPP_SPEC.
8874 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8875 * sparc/linux.h: Likewise.
8876 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
8877 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8878 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
8879 (SPARC_DEFAULT_CMODEL): Define.
8880 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8881 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8882 (LONG_DOUBLE_TYPE_SIZE): Define.
8883 (ASM_SPEC): Add %(asm_arch).
8884 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8885 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8886 (TARGET_CPU_DEFAULT): Add ultrasparc case.
8887 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
8888 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
8889 (SPARC_DEFAULT_CMODEL): Define.
8890 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
8891 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
8892 MASK_LONG64, MASK_MEDANY.
8893 (SPARC_DEFAULT_CMODEL): Define.
8894 (CPP_PREDEFINES): Delete.
8895 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8896 (ASM_SPEC): Add %(asm_arch).
8897 (LONG_DOUBLE_TYPE_SIZE): Define.
8898 (DWARF2_DEBUGGING_INFO): Define.
8899 * sparc/splet.h (CPP_SPEC): Delete.
8900 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8901 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
8902 (BLOCK_PROFILER): Likewise.
8903 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
8904 (sparc_override_options): Handle code model selection.
8905 (sparc_init_expanders): Renamed from sparc64_init_expanders.
8906 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
8907 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
8908 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
8909 (sethi_di_fullany): Delete.
8910
a3b0df2d
KK
8911Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
8912 Jeff Law <law@cygnus.com>
8913 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8914
3a133c72
KK
8915 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
8916 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
8917 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
8918 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
8919 * alpha/alpha.md (arg_home): Likewise.
8920
a3b0df2d
KK
8921 * alpha/alpha.c (vmskrunch): Delete
8922 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
8923 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
8924 truncate to 64 characters.
8925
8926 * make-l2.com: Support openVMS/Alpha.
8927
8928 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
8929
7d4f2e6c
R
8930Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8931
8932 * longlong.h (count_leading_zeros): Add missing casts to USItype.
8933
decd44ac
JL
8934Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
8935
8936 * i386/bsd386.h (ASM_COMMENT_START): Define.
8937
d1485032
JM
8938Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
8939
8940 * tree.c (restore_tree_status): Also free up temporary storage
8941 when we finish a toplevel function.
8942 (dump_tree_statistics): Print stats for backend obstacks.
8943
6bd35f86
DE
8944Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
8945
8946 * expr.c (use_group_regs): Don't call use_reg for MEMs.
8947
d1485032
JM
8948Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
8949
8950 * libgcc2.c (__throw): Don't copy the return address.
8951 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
8952
8953 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
8954 * toplev.c (main): Initialize exceptions_via_longjmp.
8955
8956 * tree.c: Add extra_inline_obstacks.
8957 (save_tree_status): Use it.
8958 (restore_tree_status): If this is a toplevel inline obstack and we
8959 didn't want to save anything on it, recycle it.
8960 (print_inline_obstack_statistics): New fn.
b57062ca 8961 * function.c (pop_function_context_from): Pass context to
d1485032
JM
8962 restore_tree_status.
8963 * obstack.h (obstack_empty_p): New macro.
8964
6981eacf
JL
8965Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
8966
8967 * i386/freebsd.h (ASM_COMMENT_START): Fix.
8968
1933ec7e
JW
8969Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
8970
8971 * v850.c (ep_memory_offset): New function.
8972 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
8973
8974 * v850.h (CONST_OK_FOR_*): Add and correct comments.
8975 (CONSTANT_ADDRESS_P): Add comment.
8976 (EXTRA_CONSTRAINT): Define 'U'.
8977 * v850.md: Add comments on bit field instructions.
8978 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
b57062ca 8979 (lshrsi3): Use N not J constraint.
1933ec7e
JW
8980
8981 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
8982
8983 * v850.c (reg_or_0_operand): Call register_operand.
8984 (reg_or_int5_operand): Likewise.
8985 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
8986 (TARGET_SWITCHES): Add "big-switch".
8987 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
8988 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
8989 (CASE_DROPS_THROUGH): Comment out.
8990 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
8991 * v850.md (cmpsi): Delete compare mode.
8992 (casesi): New pattern.
8993
8994 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
8995 * v850.md (ashlsi3): Use SImode not QImode for shift count.
8996 (lshrsi3): Likewise.
8997
8998 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
8999 unreachable switch statement after 'b' support. Remove "b" from
9000 strings for 'b' support.
9001 * v850.md (branch_normal, branch_invert): Change %b to b%b.
9002
13c2de98
JL
9003Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
9004
9005 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
9006 empty line if @inhibit_libc@ is empty.
9007
b2167bee
RL
9008Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
9009
9010 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
9011 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
9012 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
9013 (DWARF2_UNWIND_INFO): Let this track object file format.
9014 (EXTRA_SECTIONS): Add in_eh.
9015 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
9016 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
9017
bf2a2c6b
DM
9018Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
9019
9020 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
9021 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
9022 TARGET_MEDANY.
f4f8e370
DE
9023 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
9024 (output_double_int): Output DI mode values correctly when
9025 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
9026 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
9027 fmovd so it works if a quad float ends up in one of the upper 32
9028 float regs.
7e37212e
DM
9029 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
9030 necessary for PIC support on sparc64.
bf2a2c6b 9031
9ff84e67
DE
9032Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
9033
9034 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
9035 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
9036 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
9037 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
9038 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
9039 (SPARC_FP_ARG_FIRST): New macro.
9040 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
9041 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
9042 (NPARM_REGS): There are 32 fp argument registers now.
9043 (FUNCTION_ARG_REGNO_P): Likewise.
9044 (FIRST_PARM_OFFSET): Update to new v9 abi.
9045 (REG_PARM_STACK_SPACE): Define for arch64.
9046 (enum sparc_arg_class): Delete.
9047 (sparc_arg_count,sparc_n_named_args): Delete.
9048 (struct sparc_args): Redefine and use for arch32 as well as arch64.
9049 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
9050 (FUNCTION_ARG_ADVANCE): Rewrite.
9051 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
9052 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
9053 (FUNCTION_ARG_CALLEE_COPIES): Delete.
9054 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
9055 (STRICT_ARGUMENT_NAMING): Define.
9056 (doublemove_string): Declare.
9057 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
9058 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
9059 (doublemove_string): New function.
9060 (output_move_quad): Clean up some of the arch64 support.
9061 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
9062 Don't add 8 bytes of reserved space if arch64.
9063 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
9064 (init_cumulative_args): New function.
9065 (function_arg_slotno): New static function.
9066 (function_arg,function_arg_partial_nregs): New functions.
9067 (function_arg_{pass_by_reference,advance}): New functions.
9068 (function_arg_padding): New function.
c1215820 9069 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 9070
b8fb2d72
CI
9071Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9072
f22376c7
CI
9073 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
9074 for hard regs to determine base and index registers.
9075
b8fb2d72
CI
9076 * reload.c (debug_reload_to_stream): New function. Specify stream
9077 into which to write debug info.
9078 (debug_reload): Modify to call debug_reload_to_stream with stderr.
9079
b79ee7eb
RH
9080Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
9081
9082 * combine.c (can_combine_p): Don't combine with an asm whose
9083 output is a hard register.
9084
5c19a356
MS
9085Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
9086
9087 * c-decl.c (start_struct): Ensure that structs with forward
9088 declarations are in fact packed when -fpack-struct is given.
9089
9090 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
9091 we are packing a structure. This allows a structure with only
9092 bytes to be aligned on a byte boundary and have no padding on a
9093 m68k.
9094
02bef6da
RK
9095Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9096
9097 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
9098
9ecc37f0
RH
9099Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
9100
9101 * alpha.c (alpha_return_addr_rtx): New variable.
9102 (alpha_save_machine_status): New; save it.
9103 (alpha_restore_machine_status): New; restore it.
9104 (alpha_init_expanders): New; clear it.
9105 (alpha_return_addr): New; set it.
9106 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
9107 is overly conservative, so search the insns explicitly.
9108 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
9109 (alpha_sa_size [VMS && !VMS]): Likewise.
9110 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
9111 (INIT_EXPANDERS): New definition.
b57062ca 9112
9ecc37f0
RH
9113 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
9114 (output_prolog [!VMS]): Use them.
9115
9116 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
b57062ca 9117 (alpha_does_function_need_gp): ... a new function. Refine the
9ecc37f0
RH
9118 CALL_INSN test to just TYPE_JSR.
9119 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
9120
bda2ffef
JL
9121Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
9122
9123 * version.c: Bump for snapshot.
9124
96b63cd7
RK
9125Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9126
9127 * pa.c (move_operand): Respect -mdisable-indexing.
9128 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
9129
f192bf8b
DE
9130Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
9131
9132 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
9133 PPC601.
9134 (umulsidi3,umulsi3_highpart): Ditto.
9135 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
9136
2ea844d3
RH
9137Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
9138
9139 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
9140 (alpha_handle_trap_shadows): ... a new function. Handle the entire
9141 function in one go. Emit RTL for trapb, instead of printf directly.
9142 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
9143 (trap_pending): Kill global variable.
9144 (output_epilog): Don't call final_prescan_insn.
9145 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
9146 * alpha.h (FINAL_PRESCAN_INSN): Remove.
9147 (MACHINE_DEPENENT_REORG): Define.
9148 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
9149 (trapb): New insn.
9150
74835ed8
RH
9151Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
9152
9153 Tune Haifa scheduler for Alpha:
9154 * alpha.h (ISSUE_RATE): Define.
9155 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
9156 EV4 adjustments to EV5.
9157 * alpha.md: Remove all scaling from function unit delays. Rework
9158 EV5 function units to match the CPU.
9159 (umuldi3_highpart): EV5 added the IMULH insn class.
9160
cdc0de30
JL
9161Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
9162
9163 * pa.c (following_call): Fail if the CALL_INSN is an indirect
9164 call.
9165
041c97f2
MM
9166Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
9167
9168 * cplus-dem.c (demangle_signature): Don't look for return types on
9169 constructors. Handle member template constructors.
9170
f0632762
JM
9171Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
9172
9173 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 9174 * tree.h: Declare them.
f0632762 9175
dec88383
DE
9176Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
9177
9178 * configure.in: Handle --with-newlib.
9179 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
9180
9181 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
9182
0e1f3f5e
JL
9183Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
9184
9185 * config/ptx4.h: Fix typo.
9186
12504ae0
JL
9187Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
9188
9189 * version.c: Bump for snapshot.
9190
5643c767
MH
9191Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
9192
9193 * aclocal.m4: Substitute INSTALL.
9194 * configure: Re-built.
9195
aa0c1401
JL
9196Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
9197
f644bd14
JL
9198 * integrate.c (save_for_inline_copying): Avoid undefined pointer
9199 operations.
9200 (expand_inline_function): Likewise.
9201
aa0c1401
JL
9202 * dwarf2out.c (output_call_frame_info): Reinstate last change
9203 using flag_debug_asm check instead of flag_verbose_asm.
9204
6c2df6c9
JW
9205Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
9206
9207 * dwarf2out.c (output_call_frame_info): Remove last change.
9208
13ab2b83
AS
92091997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9210
9211 * frame.c (__frame_state_for): Execute the FDE insns until the
9212 current pc value is strictly bigger than the target pc value.
9213
066c2fea
JM
9214Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
9215
b57062ca 9216 * regclass.c (init_reg_modes): If we can't find a mode for the
066c2fea
JM
9217 register, use the previous one.
9218
2f308fec
RH
9219Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
9220
9221 * haifa-sched.c (print_block_visualization): Call fprintf directly,
9222 don't sprintf through an alloca'ed buffer.
9223
43984e29
TK
9224Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
9225
9226 * reload.c (decompose): Always initialize val.base.
9227
e9e30253
MH
9228Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
9229
9230 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
9231 instead of aborting.
9232 * dwarf2out.c (output_call_frame_info): Call app_enable and
9233 app_disable to let GNU as accept the generated comments.
9234
496651db
MM
9235Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
9236
9237 * tree.h (get_file_function_name): Add declaration.
9238 * dwarf2out.c (output_call_frame_info): No need to cast
9239 get_file_function_name call anymore.
9240 * profile.c (toplevel): Remove get_file_function_name
9241 declaration.
9242 * c-lang.c (finish_file): Ditto.
9243
e6347456
CS
9244Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
9245
9246 * Makefile.in (program_transform_name): Let autoconf substitute
9247 the correct value.
9248
1447b516
JL
9249Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
9250
9251 * haifa-sched.c (schedule_block): If the first real insn in a
9252 block has any special notes attached to it, remove them.
9253
1a42ead7
RH
9254Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
9255
9256 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
9257
4b6140f1
MH
9258Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
9259
9260 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
9261
dc84d7bc
JL
9262Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
9263
9264 * Makefile.in (check-g77): New test target.
9265 (CHECK-TARGETS): Add check-g77.
9266
c0da11c4
JM
9267Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
9268
9269 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
9270
d8d64559
MM
9271Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
9272
9273 * flow.c (print_rtl_with_bb): Cast alloca return value for
9274 in_bb_p.
9275
e414ab29
RH
9276Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
9277
b57062ca 9278 * i386.h (RETURN_ADDR_RTX): New definition that works for
e414ab29
RH
9279 __builtin_return_address(0) and -fomit-frame-pointer.
9280
15039abe
JW
9281Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
9282
9283 Bring over from FSF.
9284 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
9285
b57062ca 9286 * mips.c (function_arg): Handle passing a struct
15039abe
JW
9287 containing a double in a DFmode register without the PARALLEL.
9288
281de624
ILT
9289Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
9290
d8d64559 9291 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 9292
d8d64559 9293 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
9294 (from Paul Eggert <eggert@twinsun.com>).
9295
3cbdd5fc
PDM
9296Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
9297
9298 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
9299 optimisation for f/expr.o and f/stb.o.
9300
135d84b8
JL
9301Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
9302
9303 * cse.c (this_insn_cc0_mode): Initialize.
9304
55d89719
TK
9305Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
9306
d3878e49
TK
9307 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
9308
9309 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 9310
e9d0757e
RH
9311Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
9312
9313 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
9314 that pair will dual-issue on the 21164 and plus+beq won't.
9315 (bne): Likewise for cmpeq+beq.
9316
3f34faec
JW
9317Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
9318
9319 * except.c (find_exception_handler_labels): Correct argument to free.
9320
3226dac5 9321Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
9322
9323 * except.c (find_exception_handler_labels): Free LABELS when we're
9324 done.
9325
3a6eabfa
JL
9326Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
9327
9328 * version.c: Bump for snapshot.
9329
974c50f9
JM
9330Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
9331
9332 * flow.c (find_basic_blocks): Mark calls as potentially jumping
9333 to the EH labels.
9334
9b16d2c4
JL
9335Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
9336
9337 * configure.in: Substitute for "install" too.
9338 * configure: Rebuilt.
9339
b1e3ddfd
AJ
9340Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
9341
9342 * Makefile.in (bootstrap-lean, compare-lean): New targets.
9343
6662a38d
RH
9344Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
9345
c02f035f
RH
9346 * alias.c (base_alias_check): Two symbols can conflict if they
9347 are accessed via AND.
9348 (memrefs_conflict_p): Likewise.
9349
7a14fdc5
RH
9350 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
9351 after flushing argument registers to the stack.
9352
6662a38d
RH
9353 * Makefile.in (mostlyclean): Remove .regmove files.
9354
f3447109
JM
9355Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9356
9357 * libgcc2.c (__throw): Fix thinko.
9358
37f6b6bf
MM
9359Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
9360
9361 * cplus-dem.c (demangle_template): Add new parameter. Handle new
9362 template-function mangling.
9363 (consume_count_with_underscores): New function.
9364 (demangle_signature): Handle new name-mangling scheme.
9365
adfc539e
PDM
9366Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
9367
9368 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
9369 start and end.
9370
92cbe4d2
JL
9371Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
9372
9373 * frame.c: Remove last change.
9374 * dwarf2.h: Remove last change.
9375 * tree.h: Add declarations of DWARF2 unwind info support
9376 functions.
9377
2f3ca9e7
JM
9378Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
9379
9380 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
9381 * tree.h (built_in_function): Likewise.
9382 * expr.c (expand_builtin): Likewise.
9383 * except.h: Likewise.
9384 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
9385 * libgcc2.c (copy_reg): New fn.
9386 (__throw): Use it.
9387
407cb092
PE
9388Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
9389
9390 * c-typeck.c (build_binary_op): Warn about comparing signed vs
9391 unsigned if -W is specified and -Wno-sign-compare is not.
9392 * c-decl.c (warn_sign_compare): Initialize to -1.
9393 (c_decode_option): -Wall no longer implies -Wsign-compare.
9394
3ba10494
AS
9395Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9396
a7cc7f29
AS
9397 * frame.c: Include gansidecl.h for PROTO.
9398 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
9399 defined. Don't declare dwarf2out_cfi_label here.
9400 * dwarf2.h: Add declarations of DWARF2 unwind info support
9401 functions.
9402 * m68k.c: Include dwarf2.h.
9403 (output_function_prologue): Add dwarf2 support.
9404 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
9405 (INCOMING_FRAME_SP_OFFSET): Likewise.
9406
3ba10494
AS
9407 * integrate.c (expand_inline_function): Make sure there is at
9408 least one insn that can be used as an insertion point.
9409
c5cec899
JM
9410Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
9411
9412 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
9413
e166cb18
JL
9414Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
9415
9416 * version.c: Bump for snapshot.
9417
01a94cba
DE
9418Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
9419
9420 Bring over from FSF.
9421
9422 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
9423
9424 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
9425 (get_pc_via_rdpc): Renamed from get_pc_sp64.
9426 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
9427
9428 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
9429
9430 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
9431 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
9432 -malign-functions=.
9433 (sparc_align_{loops,jumps,funcs}_string): Declare.
9434 (sparc_align_{loops,jumps,funcs}): Declare.
9435 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
9436 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
9437 (STACK_BIAS): Define.
9438 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
9439 test.
9440 (SPARC_SETHI_P): New macro.
9441 (CONST_OK_FOR_LETTER_P): Use it.
9442 (ASM_OUTPUT_ALIGN_CODE): Define.
9443 (ASM_OUTPUT_LOOP_ALIGN): Define.
9444 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
9445 (sparc_align_{loops,jumps,funcs}): New globals.
9446 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
9447 -malign-functions=.
9448 (move_operand): Use SPARC_SETHI_P.
9449 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
9450 perform test.
9451 (arith11_double_operand): Likewise.
9452 (arith10_double_operand): Likewise.
9453 (finalize_pic): Finish sparc64 support.
9454 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
9455 64 bit constants if able.
9456 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
9457 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
9458 ! TARGET_FPU.
9459 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
9460 (get_pc_sp32): Use for sparc64 as well.
9461 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
9462 (sethi_di_sp64_const): Likewise.
9463 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
9464 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
9465 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
9466
9467 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
9468
9469 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
9470 * sparc/linux.h (COMMENT_BEGIN): Likewise.
9471 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
9472
9473 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
9474
9475 Add sparc64 linux support.
9476 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
9477 to xm_file list on 32-bit sparc-linux.
9478 * sparc/xm-sp64.h: New file.
9479 * sparc/linux64.h: New file.
9480 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
9481 Don't include xm-sparc.h.
9482 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
9483 * glimits.h (LONG_MAX): Handle sparc64.
9484
9485 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
9486
9487 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
9488 * sparc.h (ASM_COMMENT_START): Define.
9489 * sparc.c (output_function_prologue): Use it.
9490 (sparc_flat_output_function_{epi,pro}logue): Likewise.
9491
9492 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
9493
9494 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
9495 use sparc.h's copies.
9496 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
9497 ascii form as well.
9498
9499 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9500
9501 * sparc.c (dwarf2out_cfi_label): Add declaration.
9502 (save_regs, output_function_prologue): Remove cast for it.
9503 (sparc_flat_{save_restore,output_function_prologue): Likewise.
9504 ({save,restore}_regs): No longer inline.
9505
ce2157a1
JL
9506Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9507
9508 * fold-const.c (make_range): Correctly handle cases of converting
9509 from unsigned to signed type.
9510
9511Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
9512
9513 * fold-const.c (merge_ranges): Make sure that if one range is subset
9514 of another, it will always be the second range. Correct (+,-) case to
9515 account for this.
9516
c5cec899
JM
9517Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
9518
9519 * final.c (final_end_function): Also do dwarf2 thing if
9520 DWARF2_DEBUGGING_INFO.
9521 (final_start_function): Likewise.
9522
c107334d
DM
9523Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
9524
e13a25d5
DM
9525 * expmed.c (expand_divmod): If compute_mode is not the same as
9526 mode, handle the case where convert_modes() causes op1 to no
9527 longer be a CONST_INT.
9528
c107334d
DM
9529 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
9530 note holding get_jump_flags() calculation to all JUMP_INSNs.
9531 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
9532 * rtl.c (reg_note_name): Add new note types.
9533
8d7532d9
JL
9534Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
9535
0774afd7 9536 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 9537
7019d00e
L
9538Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9539
9540 * loop.c (indirect_jump_in_function_p): Return 0
9541 by default.
9542
b9dfb357
JL
9543Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
9544
9545 * rs6000/xm-rs6000.h: Fix thinko in last change.
9546 * rs6000/xm-sysv4.h: Likewise.
9547
4b7e467b
JW
9548Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
9549
9550 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
9551
8c8e6faa
JL
9552Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
9553
9554 * reg-stack.c (find_blocks): Fix thinko in last change.
9555
078e983e
AS
95561997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9557
9558 * m68k.c (output_function_prologue): Add dwarf2 support.
9559
9560 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
9561 INCOMING_FRAME_SP_OFFSET): New definitions.
b57062ca 9562
d7027667
DM
9563Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
9564
9524f769
DM
9565 * combine.c (try_combine): Use NULL_RTX instead of '0' where
9566 appropriate in calls to gen_rtx().
9567 * cse.c (cse_main): Likewise.
9568 * emit-rtl.c (gen_label_rtx): Likewise.
9569 * expr.c (init_expr_once): Likewise.
9570 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
9571 sched_analyze, init_rgn_data_dependences,
9572 compute_block_backward_dependences): Likewise.
9573 * sched.c (schedule_insns): Likewise.
9574 * varasm.c (immed_double_const): Likewise.
9575
d7027667
DM
9576 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
9577 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
9578
fbf8b71c
KJ
9579Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
9580
9581 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
9582 (MULTILIB_DEFAULTS): Define.
9583 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
9584 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
9585 (LIBGCC_SPEC): Likewise.
9586 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
9587 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
9588 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
9589 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
9590 (EXTRA_PARTS, TAROUTOPTS): Delete.
9591 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
9592 (MULTILIB_OPTIONS): Define.
9593 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
9594 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
9595
c14a951f
JL
9596Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
9597
9598 * version.c: Bump for snapshot.
9599
7014927a
JL
9600Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
9601
37aa45a2
JL
9602 * loop.c (loop_number): Delete function. Change all references
9603 to use uid_loop_num array.
9604 * loop.h (loop_number): Delete declaration.
9605 * unroll.c (unroll_loop): Change "loop_number" references to
9606 use uid_loop_num instead.
9607
b47404d1
JL
9608 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
9609 conditional.
9610 (loop_unroll_iter): Remove unused variable and all references.
9611 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
9612 (insert_bct): Fix minor formatting problems.
9613 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
9614 (loop_unroll_iter): Removed unused decl.
9615 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
9616 Always record the unrolling factor.
9617
cb3bb2a7
JL
9618 * cse.c (simplify_relational_operation): Set h0u just like h0s.
9619 Similarly for h1u and h1s.
9620
d5ff3a2e 9621 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
9622 (find_basic_blocks): Use computed_jump_p to determine if a
9623 particular JUMP_INSN is a computed jump.
9624 * reg-stack.c (find_blocks): Use computed_jump_p to determine
9625 if a particular JUMP_INSN is a computed jump.
9626 * rtlanal.c (jmp_uses_reg_or_mem): New function.
9627 (computed_jump_p): Likewise.
9628 * rtl.h (computed_jump_p): Declare.
9629 * genattrtab.c (pc_rtx): Define and initialize.
9630 * loop.c (loop_optimize): Always determine if the current
9631 function has a computed jump.
9632 (indirect_jump_in_function_p): Use computed_jump_p to determine
9633 if a particular JUMP_INSN is a computed jump.
9634
7014927a
JL
9635 * loop.c (fix_bct_param): Delete unused function.
9636 (check_bct_param): Likewise.
9637
6d53d7c2
JM
9638Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
9639
9640 * frame.c (__deregister_frame): Check properly for initialized object.
9641
5a5e9503 9642Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
9643
9644 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
9645
272299b9
R
9646Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9647
cc5e1642
R
9648 * jump.c (thread_jumps): check can_reverse_comparison_p before
9649 threading a reversed-condition jump.
9650
272299b9
R
9651 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
9652 * haifa-sched.c (update_flow_info): Likewise.
9653
18511014
JL
9654Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
9655
e6493727
JL
9656 * Makefile.in (BOOT_CFLAGS): Use -O2.
9657
1e467e19
JL
9658 * configure.in (strtoul, bsearch): Have autoconf check for these
9659 functions.
9660 * configure, config.in: Rebuilt.
9661
18511014
JL
9662 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
9663 * mips/mips.h (alloca): Likewise.
9664 * rs6000/xm-rs6000.h (alloca): Likewise.
9665 * rs6000/xm-sysv4.h: Likewise.
9666
6020d360
JM
9667Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
9668
9669 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
9670 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
9671 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
9672
9673 * except.c (end_eh_unwinder): Subtract 1 from return address.
9674 * libgcc2.c (__throw): Likewise.
9675 (find_exception_handler): Don't change PC here. Compare end with >.
9676
b24bcfb3 9677Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
b57062ca 9678
b24bcfb3
NC
9679 * v850.c (compute_register_save_size): Correct register
9680 number.
9681 * v850.md (save_interrupt, return_interrupt): Correct
9682 register number.
9683 * v850/lib1funcs.asm (save_interrupt): Correct register number.
9684 (return_interrupt): Use stack pointer, not element pointer.
9685
93cf819d
BK
96861997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
9687
9688 * configure.in, configure: Make sure to create the stage* and include
9689 symbolic links in each subdirectory.
9690
f0501149
JL
9691Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
9692
9693 * pa.md (reload_peepholes): Don't allow addresses with side
9694 effects for the memory operand.
9695
4f870c04
JM
9696Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
9697
9698 * libgcc2.c (find_exception_handler): Subtract one from our PC when
9699 looking for a handler, to avoid hitting the beginning of the next
9700 region.
9701
9702 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
9703
4eb66248
JL
9704Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
9705
9706 * mips/abi64.h (LONG_MAX_SPEC): Define.
9707 * mips.h (LONG_MAX_SPEC): Define.
9708 (CPP_SPEC): Include long_max_spec.
9709 (EXTRA_SPECS): Include long_max_spec.
9710
44158507
JL
9711Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
9712
9713 * v850.c (construct_save_jarl): Fix thinko in last change.
9714
bf520cd9
JL
9715Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
9716
9717 * version.c: Bump for snapshot.
9718
255fe733
JM
9719Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
9720
c0727e2a
JM
9721 * libgcc2.c (find_exception_handler): Not found is -1.
9722
255fe733
JM
9723 * integrate.c (expand_inline_function): Move expand_start_bindings
9724 after expanding the arguments.
9725
21002281
JW
9726Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
9727
9728 * expr.c (expand_expr): Remove previous incorrect change.
9729 If target and slot has no DECL_RTL, then call mark_addressable
9730 again for the slot after we give it RTL.
9731
e693cc28 9732Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 9733
e693cc28
UD
9734 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
9735 again for the slot after we give it RTL.
f633220c 9736
145870b5
NC
9737Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
9738
84e75068 9739 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
9740 pattern_is_ok_for_epilogue, construct_restore_jr,
9741 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
9742
84e75068 9743 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
9744 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
9745 predicates.
9746
84e75068 9747 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
9748 match_parallel pattern.
9749
76143254
JL
9750Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
9751
9752 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
9753 * configure.in: Use EGCS_PROG_INSTALL.
9754
4401bf24
JL
9755Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
9756
9757 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
9758 extern inline function.
9759
9760Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
9761
9762 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
9763 (concat_loc_descriptor): New function.
9764 (loc_descriptor): Call it.
9765 (add_AT_location_description): Also elide the descriptor if both
9766 halves of a CONCAT are pseudos.
9767 (add_location_or_const_value_attribute): Recognize CONCAT too.
9768
0d24ff5d
RH
9769Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
9770
4bb43724
RH
9771 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
9772
0d24ff5d
RH
9773 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
9774 out-or-range reg_offset.
9775 (output_epilog): Likewise.
9776
05ef8897
JL
9777Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
9778
9779 * cse.c (simplify_relational_operation): If MODE specifies a
9780 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
9781 is derived from the sign bit of the low word.
9782
ca55abae
JM
9783Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
9784
9785 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
9786
9787 * dwarf2.h: Add DW_CFA_GNU_args_size.
9788 * frame.c (execute_cfa_insn): Likewise.
9789 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
9790 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
9791 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
9792 insn, hand it off to dwarf2out_stack_adjust.
9793 (dwarf2out_begin_prologue): Initialize args_size.
9794 * frame.h (struct frame_state): Add args_size.
9795 * libgcc2.c (__throw): Use args_size.
9796 * final.c (final_scan_insn): If we push args, hand off all insns
9797 to dwarf2out_frame_debug.
9798 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
9799
9800 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
9801 Handle epilogue restore of SP from FP.
b57062ca 9802 * emit-rtl.c (gen_sequence): Still generate a sequence if the
ca55abae
JM
9803 lone insn has RTX_FRAME_RELATED_P set.
9804
9805 * frame.c (extract_cie_info): Handle "e" augmentation.
9806 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
9807 absence of UNALIGNED_*_ASM_OP.
9808 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
9809 (output_call_frame_info): Use "e" instead of "z" for augmentation.
9810 Don't emit augmentation fields length.
9811 (dwarf2out_do_frame): Move outside of #ifdefs.
9812 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
9813 opcodes.
9814
9815 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
9816 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
9817 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
9818 * sparc/sun4gas.h: New file.
9819 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
9820
b57062ca 9821 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
ca55abae
JM
9822 __register_frame_table and __deregister_frame.
9823
1d77fa53
BK
98241997-09-15 Brendan Kehoe <brendan@cygnus.com>
9825
9826 * except.c (find_exception_handler_labels): Use xmalloc instead of
9827 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
9828 in some cases.
9829
8be52aaa
JL
9830Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
9831
9832 * Makefile.in: Various changes to build info files
9833 in the object tree rather than the source tree.
9834
a3ee3246
JL
9835Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
9836
9837 * fixinc.math: New file to fix math.h on some systems.
9838 * configure.in (freebsd, netbsd): Use fixinc.math on these
9839 systems.
9840 * configure: Rebuilt.
9841
124da275
JL
9842Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
9843
9844 * regmove.c (regmove_optimize): If we end up moving the
9845 original insn due to lifetime overlaps, make sure to move
9846 REG_NOTES too.
9847
fca9d4b0
MH
9848Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
9849
9850 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
9851
326ee7a3
JL
9852Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
9853
9854 * haifa-sched.c (add_branch_dependences): Make each insn in
9855 a SCHED_GROUP_P block explicitly depend on the previous insn.
9856
ca55abae
JM
9857Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9858
9859 * except.h: Prototype dwarf2 hooks.
9860 * expr.c: Adjust.
9861
5188d2b2
JW
9862Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
9863
9864 * configure.in (native_prefix): Delete.
9865 (mips-dec-netbsd): Don't set prefix.
9866 (*linux*): Don't set prefix.
9867
2e384318
FF
9868Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
9869
70988851
FF
9870 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
9871 defined. If not defined, include <sys/varargs.h> if
9872 HAVE_SYS_VARARGS_H is defined.
9873 * configure.in: Test for varargs.h and sys/varargs.h.
9874 * configure: Regenerate with autoconf.
9875 * config.in: Regenerate with autoheader.
9876
2e384318
FF
9877 * cpplib.c (quote_string): Cast first arg of sprintf call
9878 from "unsigned char *" to "char *".
9879 (output_line_command): Ditto.
9880 (macroexpand): Ditto.
9881 (do_line): Cast atoi arg from "unsigned char *" to "char *".
9882
3fb2f401
JL
9883Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
9884
f2e4e16f
JL
9885 * version.c: Bump for snapshot.
9886
3fb2f401
JL
9887 * Makefile.in (compare): Exit with nonzero status if there
9888 are comparison failures. Note which files failed the
9889 comparison test in .bad_compare.
9890
d26cb668
L
9891Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9892
9893 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
9894
ac64120e
JW
9895Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
9896
9897 * Makefile.in (LN, LN_S): New macros, use where appropriate.
9898 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
9899 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
9900 * configure: Regenerated.
9901
9902Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
9903
9904 * loop.c (strength_reduce): Fix typo.
9905
db87ec0b
JW
9906Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
9907
9908 * m88k/m88k.c (struct option): Rename to struct options.
9909 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
9910 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
9911 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
9912 __DOLPHIN__ or sysV88.
9913
04395f96
JW
9914Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
9915
9916 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
9917 create new subreg.
9918
becdcf6d
JL
9919Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
9920
9921 * config.sub: Accept 'amigados' for backward compatability.
9922
04395f96 9923Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
9924
9925 * Makefile.in (testsuite/site.exp): New target.
9926 (check-gcc, check-g++): Depend on testsuite/site.exp.
9927 Don't stop for failure.
9928
ca55abae
JM
9929Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
9930
9931 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
9932 if DWARF2_UNWIND_INFO.
9933
9934Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
9935
9936 Add support for exception handling using DWARF 2 frame unwind info.
9937 Currently works on SPARC and MIPS, and almost on x86.
b57062ca 9938
ca55abae
JM
9939 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
9940 next_stack_level, in_reg_window): Helper fns.
9941 (__throw): Implement for DWARF2_UNWIND_INFO.
9942
9943 * expr.c (expand_builtin): Handle builtins used by __throw.
9944 * tree.h (enum built_in_function): Add builtins used by __throw.
9945 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
9946 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
9947 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
9948 (expand_builtin_extract_return_addr): Likewise.
9949 (expand_builtin_frob_return_addr): Likewise.
9950 (expand_builtin_set_return_addr_reg): Likewise.
9951 (expand_builtin_eh_stub): Likewise.
9952 (expand_builtin_set_eh_regs): Likewise.
9953 (eh_regs): Choose two call-clobbered registers for passing back values.
9954
9955 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
9956 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
9957 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
9958 (stmp-multilib): Likewise.
9959 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
9960
9961 * except.c: #include "defaults.h".
9962 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
9963 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
9964 (register_exception_table_p): New fn.
9965 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
9966 (end_eh_unwinder): Likewise.
9967
b57062ca 9968 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
ca55abae
JM
9969 call __register_frame and __deregister_frame as needed.
9970 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
9971 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
9972 EH_FRAME_SECTION_ASM_OP.
9973 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
9974 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
9975 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
9976
9977 * dwarf2out.c (output_call_frame_info): If no support for
9978 EXCEPTION_SECTION, mark the start of the frame info with a
9979 collectable tag.
9980 * collect2.c (frame_tables): New list.
9981 (is_ctor_dtor): Recognise frame entries.
9982 (scan_prog_file): Likewise.
9983 (main): Pass -fno-exceptions to sub-compile. Also do collection
9984 if there are any frame entries.
9985 (write_c_file_stat): Call __register_frame_table and
9986 __deregister_frame as needed.
9987 (write_c_file_glob): Likewise.
9988
b57062ca 9989 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
ca55abae
JM
9990 Also require unaligned reloc support.
9991 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9992 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
9993 * sparc/sysv4.h: Not here.
9994
9995 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
9996 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
9997 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
9998
9999 * libgcc2.c (L_eh): Reorganize, moving code shared by different
10000 EH implementations to the top.
10001 (find_exception_handler): Split out. Start from 0. Compare against
10002 end with >=.
10003 (__find_first_exception_table_match): Use it.
10004 * except.c (output_exception_table): Don't do anything if there's
10005 no table. Don't output a first entry of zeroes.
10006 (eh_outer_context): Adjust properly.
10007 (add_eh_table_entry): Use xrealloc.
10008 * toplev.c (compile_file): Just call output_exception_table.
10009
10010Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
10011
10012 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
10013
10014Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
10015
10016 * except.c (eh_outer_context): Do masking using expand_and.
10017
b4d940a2
JL
10018Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
10019
10020 Add port done awhile ago for the ARC cpu.
10021 * arc/arc.h: New file.
10022 * arc/arc.c: New file.
10023 * arc/arc.md: New file.
10024 * arc/initfini.c: New file.
10025 * arc/lib1funcs.asm: New file.
10026 * arc/t-arc: New file.
10027 * arc/xm-arc.h: New file.
10028 * ginclude/va-arc.h: New file.
10029 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
10030 * ginclude/varargs.h: Likewise.
10031 * Makefile.in (USER_H): Add va-arc.h.
10032 * configure.in (arc-*-elf*): Recognize.
10033 * longlong.h: Add ARC support.
10034
10035Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
10036
10037 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
10038 when clearing non-BLKmode data.
10039
10211581
JL
10040Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
10041
9dfc6eba
MH
10042 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
10043 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
10044
55259219
MH
10045 * xm-m88k.h (USG): Only define if it hasn't already been defined.
10046
10047 * Makefile.in (risky-stage1): Delete gratutious whitespace.
10048
ee291069
MH
10049 * Makefile.in (clean): Delete libgcc1-test.
10050
10211581
JL
10051 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
10052
10053Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
10054
10055 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
10056 template.
10057
ca55abae
JM
10058Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10059
10060 * dwarf2out.c (output_call_frame_info): Call named_section.
10061
8f3d79e0
JL
10062Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
10063
10064 * haifa-sched.c (print_value): Fix last change.
10065
ca55abae
JM
10066Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
10067
10068 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
10069 write_symbols.
10070
10071Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
10072
10073 * mips.c (function_prologue): Set up the CFA when ABI_32.
10074
10075 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
10076 for dwarf2 unwind info.
10077 (output_function_prologue, sparc_flat_output_function_prologue): Same.
10078
10079 * final.c (final_end_function): Check dwarf2out_do_frame instead
10080 of DWARF2_DEBUG for dwarf2 unwind info.
10081 (final_scan_insn): Likewise.
10082 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
10083 (final): Not here.
10084
10085 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
10086 count > 0.
10087
10088 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
10089
74aca74b
NC
10090Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
10091
10092 * v850.h (ASM_SPEC): Pass on target processor.
10093 (CPP_PREDEFINES): Only define if not already specified.
10094 (TARGET_VERSION): Only define if not already specified.
10095 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
10096 processor.
10097 (EXTRA_SWITCHES): Extra entries in the switches array.
10098 (TARGET_DEFAULT): Set default target processor.
10099
c0b04148
JW
10100Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
10101
10102 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
10103 cases, add %# and %/, and add : to make them into extended asms.
10104
52b7724b
WL
10105Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
10106
10107 * alias.c (init_alias_analysis): Clean up incompatible pointer
10108 type warning in bzero.
10109 * regmove.c (regmove_optimize): Ditto.
10110 * haifa-sched.c (find_rgns): Ditto.
10111
10112 * haifa-sched.c (print_value): Clean up ptr->int cast
10113 warnings.
10114
0c82f6bf
FF
10115Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
10116
10117 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
10118 * install.texi (Configurations): Ditto.
10119 * config.sub: Ditto.
10120
1fed1f51
WL
10121Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
10122
10123 * Makefile.in (sdbout.o): Depend on insn-config.h.
10124
239e68f6
JW
10125Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
10126
10127 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
10128 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
10129
267c09ab
JM
10130Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
10131
10132 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
10133 prologue insn, only the first elt is significant.
10134 (output_call_frame_info): For exception handling, always use 4-byte
10135 fields as specified by the dwarf2 spec.
10136 Don't skip trivial FDEs.
10137
db7cafb0
JL
10138Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
10139
10140 * version.c: Bump for snapshot.
10141
10142Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
10143
10144 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
10145 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
10146 when op1_is_pow2.
10147
10148Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
10149
bf520cd9
JL
10150 * final.c (shorten_branches): During first pass, assume worst
10151 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
10152
10153 * Makefile.in (distclean): Remove various things left around
10154 by running the testsuite.
10155
7ed46111
MH
10156Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
10157
10158 * configure.in (out_file): Emit definition to config.status in order
10159 to have a defined value for configure.lang.
10160 * configure: Re-built.
10161
e41cea70
JJH
10162Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
10163
bf520cd9 10164 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
10165 for ld-new.
10166 * configure: Rebuilt.
10167
1aeb1f6f
JW
10168Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
10169
10170 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
10171
770a0113
CK
10172Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
10173
10174 * sparc/sparc.md: Add ultrasparc scheduling support.
10175 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
10176
f5ffa999
PDM
10177Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10178
10179 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
10180 as initial value for real_label_map.
10181 (copy_for_inline): Likewise.
10182
acceac1a
R
10183Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10184
10185 * sched.c (update_flow_info) When looking if to set found_split_dest
10186 or found_orig_dest, look at all parts of a PARALLEL.
10187 * haifa-sched.c (update_flow_info): Likewise.
10188
f84271d9
JL
10189Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
10190
10191 * v850: New directory for v850 port.
10192 * v850/lib1funcs.asm: New file.
10193 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
10194 * ginclude/va-v850.h: New file.
10195 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
10196 * configure.in (mn10200-*-*): New target.
10197 * configure: Rebuilt.
10198 * config.sub: Handle v850-elf.
b57062ca 10199 * Makefile.in (USER_H): Add va-mn10200.h.
f84271d9
JL
10200 * invoke.texi: Document v850 stuff.
10201
89cc6098
JW
10202Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
10203
04940ba5
JW
10204 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
10205 has integer TYPE_{MAX,MIN}_VALUE before using them.
10206
89cc6098
JW
10207 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
10208 __HPUX_ASM__ versions.
10209
c74f7db8
JL
10210Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
10211
bf520cd9 10212 * install.sh: Delete duplicate install script.
c74f7db8 10213
914ec131
SC
10214Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
10215
10216 * reg-stack.c (subst_stack_regs): Pop the stack register for a
10217 computed goto which sets the same stack register.
10218
10219 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
10220 destination are both on the regstack.
10221 (subst_stack_regs_pat): Put the destination at the top of the regstack.
10222
c1090daa
JW
10223Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
10224
d5d1738a
JW
10225 * mips.md (nonlocal_goto_receiver): Define.
10226
f4da7881
JW
10227 * profile.c (output_arc_profiler): Check next_insert_after for non
10228 NULL before deferencing it.
10229
c1090daa
JW
10230 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
10231
da594c94
JL
10232Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
10233
10234 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
10235
3e28fe44
MM
10236Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
10237
10238 * toplev.c (rest_of_compilation): For passes starting with
10239 flow_analysis, use print_rtl_with_bb instead of print_rtl.
10240
10241 * print-rtl.c (print_rtl_single): Print a single rtl value to a
10242 file.
10243
10244 * flow.c (print_rtl_with_bb): Print which insns start and end
10245 basic blocks. For the start of a basic block, also print the live
10246 information.
10247
7053ca72
JW
10248Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
10249
417b0fa2
JW
10250 * toplev.c (main): Change #elif to #else/#ifdef
10251
7053ca72
JW
10252 * tlink.c: Include ctype.h.
10253 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
10254
f05a8b25
MM
10255Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
10256
10257 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 10258 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 10259
02d7a569
JS
10260Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
10261
10262 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
10263
6030b6af
JW
10264Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
10265
10266 * profile.c (output_arc_profiler): Verify next_insert_after is an
10267 INSN before and after skipping a stack pop.
10268
04da53bd
R
10269Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10270
10271 * final.c (shorten_branches): Don't count the lengths of deleted
10272 instructions.
10273
780532a4
JL
10274Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
10275
10276 * version.c: Bump for snapshot.
10277
22fa5b8a
MM
10278Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
10279
10280 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
10281 two bitmaps ANDed together.
10282 (bitmap_print): Declare.
10283
10284 * bitmap.c (function_obstack): Don't declare any more.
10285 (bitmap_obstack): Obstack for allocating links from.
10286 (bitmap_obstack_init): New static to say whether to initialize
10287 bitmap_obstack.
10288 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
10289 (bitmap_release_memory): Free all memory allocated from
10290 bitmap_obstack.
10291
10292 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
10293 EXECUTE_IF_AND_IN_BITMAP.
10294
57163df0
JW
10295Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
10296
fa8b6024
JW
10297 * alias.c (true_dependence): Address with AND can alias scalars.
10298 (anti_dependence, output_dependence): Likewise.
b57062ca 10299
57163df0
JW
10300 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
10301
8aa4e786
JS
10302Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
10303
10304 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
10305 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
10306 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
10307 definitions. Use -qrtems instead of -mrtems.
10308
feb21122
RL
10309Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
10310
10311 * xm-sco5.h (sys_siglist): Define.
10312 (SYS_SIGLIST_DECLARED): Likewise.
10313
704af6a1
JL
10314Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
10315
10316 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
10317
127cd405
TG
10318Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
10319
10320 * except.c (eh_outer_context): Expand masking operation using
10321 expand_binop.
10322
8cf02b47
JW
10323Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
10324
10325 * alpha.md (floatdisf2-1): New pattern.
10326
49dad301
JL
10327Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
10328
068f1cb8
JL
10329 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
10330 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 10331 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
10332 * gcc.texi: Note that if you define sys_siglist that you should
10333 also define SYS_SIGLIST_DECLARED.
10334
49dad301
JL
10335 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
10336 are relative to the next instruction, not the current instruction.
10337
a1729519
JW
10338Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
10339
10340 * local-alloc.c (contains_replace_regs): New function.
10341 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
10342 verify that there is no existing REG_EQUIV note, and add a call to
10343 contains_place_regs.
10344
290c8b1f
L
10345Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10346
10347 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
10348 (STARTFILE_SPEC): Always use crtbegin.o%s
10349 (ENDFILE_SPEC): Always use crtend.o%s.
10350
a6a503ed
JW
10351Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
10352
10353 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
10354 is passed in.
10355 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
10356 SFmode for 64 bit hosts.
b57062ca 10357
a94729bc
PH
10358Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
10359
10360 * fixincludes: Permits spaces between # and define. Discard C++
10361 comments in sys/pci.h on HP/UX 10.20.
10362
c9e03727
JL
10363Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
10364
10365 * version.c: Bump for snapshot.
10366
2eddfed1
JL
10367 * pa.c (restore_unscaled_index_insn_codes): New function.
10368 (record_unscaled_index_insn_codes): Likewise.
10369 (output_function_prologue): Call restore_unscaled_index_insn_codes.
10370 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
10371 (pa_reorg): Call record_unscaled_index_insn_codes.
10372
c9e03727
JL
10373 * haifa-sched.c (move_insn): Handle notes correctly for insns
10374 with SCHED_GROUP_P set.
b57062ca 10375
a5d6a95b
L
10376Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10377
10378 * alpha/xm-linux.h (USE_BFD): Undef before define.
10379
bc4ddc77
JW
10380Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
10381
10382 * cse.c (cse_insn): Don't record BLKmode values.
10383
f3e0ca6c
SW
10384Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
10385
10386 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
10387
e3512ac2
JL
10388Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
10389
a63d08e6
JL
10390 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
10391 * collect2.c (sys_errlist): Likewise.
10392 * cpplib.c (sys_errlist): Likewise.
10393 * gcc.c (sys_errlist): Likewise.
10394 * protoize (sys_errlist): Likewise.
10395 * configure.in: Check for strerror.
10396 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
10397 * xm-gnu.h (HAVE_STRERROR): Likewise.
10398 * xm-linux.h (HAVE_STRERROR): Likewise.
10399 * xm-netbsd.h (HAVE_STRERROR): Likewise.
10400 * xm-bsd386.h (HAVE_STRERROR): Likewise.
10401 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
10402 * xm-dos.h (HAVE_STRERROR): Likewise.
10403 * xm-mingw32.h (HAVE_STRERROR): Likewise.
10404 * xm-pa.h (HAVE_STRERROR): Likewise.
10405 * xm-papro.h (HAVE_STRERROR): Likewise.
10406 * xm-sysv4.h (HAVE_STRERROR): Likewise.
10407 * configure, config.in: Rebuilt.
10408
db814993
JL
10409 * Makefile.in: Add several missing "else true" clauses.
10410
e3512ac2
JL
10411 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
10412 * mips-tfile.c: Likewise.
10413 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
10414 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
10415 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
10416 * configure.in: Check for sys_siglist declaration.
10417 * configure, config.in: Rebuilt.
10418
5d84b57e
JS
10419Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
10420
b57062ca 10421 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
5d84b57e
JS
10422 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
10423 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
10424 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
10425 * rs6000/sysv4.h (extra_subtarget_switches): Added new
10426 macro EXTRA_SUBTARGET_SWITCHES.
10427 * configure.in (sh*-*-rtems*): New target.
10428 * sh/rtems.h: New file.
10429 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
10430 * configure: Rebuilt.
10431
2599dcc7
JW
10432Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
10433
10434 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
10435
3b7e5ef4
DE
10436Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
10437
10438 * rs6000.md: Make DF fused-add operations pay attention to
10439 -mno-fused-add.
10440
5cd5f4a7
JW
10441Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
10442
10443 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
10444
63e7fe9b
JL
10445Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
10446
10447 * pa.md (reload_peepholes): Make sure operand is a REG before
10448 examining REGNO. Allow general registers too.
10449
eb7b11fd
JW
10450Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
10451
10452 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
10453
c760091a
PT
10454Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
10455
5cd5f4a7 10456 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
10457 to reallocate abbrev_die_table.
10458
57583338
JW
10459Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
10460
10461 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
10462
eae4b970
AS
104631997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10464
4f91a0f8
AS
10465 * Makefile.in (config.status): Depend on version.c
10466
eae4b970
AS
10467 * expr.h (insn_gen_function): Reenable prototype.
10468
10469 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
10470 first parameter.
10471
00fc09e1
JW
10472Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
10473
10474 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
10475
2601ebca
JL
10476Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
10477
10478 * version.c: Bump for latest snapshot.
10479
10480 * bc-optab.c: Conditionally include stdlib.h.
10481 (free): Provide a declaration if NEED_DECLARATION_FREE.
10482 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
10483 * rtl.h (free): Remove declaration.
10484 * tree.h (free): Remvoe declaration.
10485
10486 * configure: Rebuilt.
10487
e5eb27e5
JL
10488Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
10489
10490 * flags.h (flag_move_all_movables): Declare.
10491 (flag_reduce_all_givs): Likewise.
10492 * loop.c (move_movables): Handle flag_move_all_movables.
10493 (strength_reduce): Handle flag_reduce_all_givs.
10494 * toplev.c (flag_move_all_movables): Define.
10495 (flag_reduce_all_givs): Likewise.
10496 (f_options): Add -fmove-all-movables and -freduce-all-givs.
10497 * invoke.texi: Document new options, including alias stuff that
10498 wasn't included last time.
10499
d995a6dc
BM
10500Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
10501
10502 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
10503 * t-mn10200: Ditto.
10504 * t-vxsparc: Ditto.
10505 * t-vxworks68: Ditto.
10506 * t-vxworks960: Ditto.
10507 * t-vx29k: Ditto.
10508
ba64ca33
RH
10509Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
10510
10511 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
10512 if not already defined, and USE_C_ALLOCA not defined.
10513
ca20876d
JW
10514Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
10515
7818d6fc
JW
10516 * config.guess: Replace with script that uses ../config.guess.
10517
ca20876d
JW
10518 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
10519 if USE_GNULIBC_1 is not defined.
10520
704a6306
RH
10521Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
10522
10523 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
10524 * config.guess: Recognize alpha-linux-gnulibc1.
10525 * configure.in (alpha-*-linux-gnulibc1): New target.
10526 (alpha-*-linux-gnu*): Don't build crtbegin/end.
10527
67f68fd2
JW
10528Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
10529
10530 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
10531 last change.
10532
88016fb7
DE
10533Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
10534
10535 * loop.c (combine_movables): Earlier insns don't match later ones.
10536
bba17b29
L
10537Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10538
10539 * config/linux.h (CC1_SPEC): Define it only if not defined.
10540
10541 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
10542 <linux.h>
10543
10544 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
10545 USE_GNULIBC_1 is not defined.
10546
33d2808b 10547 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
10548
10549 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
10550 as 1 if USE_GNULIBC_1 is not defined.
10551
ed4044e0
JL
10552Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
10553
f345de42
JL
10554 * reorg.c (dbr_schedule): Allow current_function_return_rtx
10555 to be something other than a REG.
10556 * function.c (expand_function_end): Fix current_function_return_rtx
10557 if it was a pseudo.
10558
ed4044e0
JL
10559 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
10560 * x-netbsd: Likewise
10561 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
10562 (INSTALL_HEADERS): Delete.
10563 * x-dguxbcs: Likewise.
10564 * x-hp3bsd44: Likewise
10565 * x-pa: Likewise.
10566
47d36400
BS
10567Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
10568
10569 * i386.md (pop): pop increments the stack pointer.
10570 (prologue_set_stack_ptr): New pattern.
10571 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
10572 instead of subsi3.
10573
fc79eafe
JW
10574Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
10575
10576 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
10577 address where an offsettable address is required.
10578
c5da853f
MH
10579Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
10580
10581 * loop.c (check_final_value): Don't miss a biv increment in a
10582 parallel.
10583
d4ef15f2
JW
10584Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
10585
10586 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
10587 TYPE_DECL_IS_STUB instead of DECL_NAME.
10588
10549cbd
JW
10589Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10590
10591 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
10592
10593Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
10594
10595 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
10596
484df988
JL
10597Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
10598
10599 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
10600 (find_post_sched_live): Likewise.
10601
10602 * haifa-sched.c (schedule_block): Remove old code to get arguments
10603 from hard regs into pseudos early.
10604
39dfb55a
JL
10605Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
10606
10607 * version.c: Bump for new snapshot.
10608
10609 * local-alloc.c (update_equiv_regs): All the target to reject
10610 promotion of some REG_EQUAL to REG_EQUIV notes.
10611 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
10612
10613 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
10614 secondary reloads.
10615
10616 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
10617 store of the argument registers.
10618
10619Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
10620
10621 * fold-const.c (multiple_of_p): New function.
10622 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
10623
d78778eb
JL
10624Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
10625
10626 * expr.h (insn_gen_function): Temporarily remove prototype.
10627
feb9ea1a
JW
10628Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
10629
10630 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
10631 filenames. Use sed to extract base filename for install.
10632
b6ffe602
JC
10633Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
10634
10635 * unroll.c (find_splittable_givs): Only share if two givs have the
10636 same add and multiply values.
10637
2ebfd230
JW
10638Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
10639
10640 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
10641 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
10642
251ffdee
JL
10643Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
10644
10645 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
10646 around branch tables.
10647 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
10648 and .end_brtab directives if TARGET_GAS.
10649
19372aa1
JW
10650Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
10651
27314274
JW
10652 * alias.c (true_dependence): Pass x_addr not x to varies.
10653
19372aa1
JW
10654 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
10655 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
10656 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
10657 declarations.
10658 * config.in, configure: Regenerate.
10659
2a2c8203
JC
10660Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
10661
10662 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
10663 LO_SUM.
10664 (record_set): Handle LO_SUM like PLUS.
10665 (init_alias_analysis): When following chains of base addresses,
10666 do not stop on reaching a hard register.
10667
d80357b7
JL
10668Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
10669
10670 * version.c: Bump for new snapshot.
10671
b4f32d7b
JW
10672Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
10673
10674 * alpha.h (ARCH_ASM_FILE_START): Define.
10675 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
10676 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
10677
ca363bb6
JL
10678Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
10679
10680 * Makefile.in (install-common): Put gcov comment at start of line.
10681
7557aa98
JL
10682Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
10683
10684 * alias.c (init_alias_analysis): When simplifying the reg_base_value
10685 array, simplify entries for hard registers too.
10686
c34e3ae4
DL
10687Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
10688
10689 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
10690 list.
10691
e3eef942
JW
10692Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
10693
10694 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
10695 block_stack before dereferencing it.
10696
10697Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
10698
10699 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
10700
04f41951
JM
10701Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
10702
10703 * cplus-dem.c: Add 'extern' to prepends_underscore.
10704
e933cbe0
JL
10705Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
10706
62d65906
JL
10707 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
10708 (get_issue_rate): Delete.
10709 * pa.h (ISSUE_RATE): Define.
10710
2da05a5b
JL
10711 * configure.in: Turn on haifa by default for the PA.
10712 * configure: Rebuilt.
10713 * pa.c (override_options): Accept -mschedule=7200 option.
10714 (pa_adjust_cost): No longer need to scale costs for newer
10715 processors.
10716 * pa.h (enum processor_type): Add PROCESSOR_7200.
10717 * pa.md: Revamp scheduling parameters to work better with
10718 haifa. Add scheduling parameters for the 7200.
10719
4f64eaca
JL
10720 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
10721 insns too.
10722 (schedule_block): When adjusting basic_block_{head,end}, account
10723 for movement of SCHED_GROUP_P insns too.
10724
10725 * haifa-sched.c (debug_dependencies): Fix thinko.
10726
e933cbe0
JL
10727 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
10728 (site.exp, check, check-g++, check-gcc): New targets.
10729
4f64eaca 10730 * haifa-sched.c: Make lots of variables static.
61822835 10731
e9576d2c
L
10732Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10733
10734 * expr.h, real.h: Finish prototyping.
10735
61822835
JL
10736Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
10737
10738 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
10739 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
10740 * reload1.c: Undo bugfix from Aug 11.
10741
f24b370a
MM
10742Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
10743
10744 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
10745 quotes around the name.
10746 * configure: Regenerate.
10747
1c4c5851
JW
10748Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
10749
10750 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
10751
71abb567
MH
10752Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
10753
10754 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
10755 to sub-makes to avoid building more passes than the user might have
10756 requested on the command line.
10757
6042434a
DL
10758Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
10759
10760 * configure.in: Expurgate `broken_install' (install is
10761 autoconfed).
10762
10763 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
10764 relevant).
10765
38ea060f
JL
10766Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
10767
10768 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
10769 functions and declarations.
10770 (analyze_loop_iterations): Use condjump_p.
10771 (insert_bct): Likewise. Use exact_log2.
b57062ca 10772
f187056f
JL
10773Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
10774
10775 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
10776 (schedule_region): Likewise.
10777 (schedule_insns): Likewise.
10778
10779 * PROJECTS: Update with Haifa stuff.
10780
9af06254
JL
10781Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
10782
10783 * version.c: Change the version string to look like:
11c21791 10784 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 10785
0945e937
JL
10786 * loop.c (is_conditional_branch): Make definition match declaration.
10787
9af06254
JL
10788 * gcc.c: Take out experimental snapshot warning message.
10789
ebc25a17
MM
10790Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
10791
10792 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
10793 print out the names of the notes. Print out the name of the insn
10794 that is not a note, and not an {,CALL_,JUMP_}INSN.
10795
610ce97e
JM
10796Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
10797
10798 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
10799 again for the slot after we give it RTL.
10800
992d1248
DE
10801Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
10802
10803 * configure.in (haifa configury): Fix typo.
10804 * configure: Regenerate.
10805
7bb6fbd1
JL
10806Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
10807
10808 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
10809
10810 * gcc.info*: Rebuilt.
10811
10812 * COPYING.g77, README.g77: New files.
10813 * real.c (ereal_unto_float, ereal_unto_double): New functions.
10814 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
10815 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
10816
8c660648
JL
10817Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
10818
10819 * Integrate Haifa instruction scheduler.
10820 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
10821 to sched with $(SCHED_CFLAGS.
10822 * configure.in: Handle --enable-haifa.
10823 * configure: Rebuilt.
10824 * flags.h: Add new flags for haifa instruction scheduler.
10825 * genattrtab.c (expand_units): For haifa, don't subtract one
10826 when computing blockage.
10827 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
10828 (flag_schedule_speculative): Ditto.
10829 (flag_schedule_speculative_load): Ditto.
10830 (flag_schedule_speculative_load_dangerous): Ditto.
10831 (flag_schedule_reverse_before_reload): Ditto.
10832 (flag_schedule_reverse_after_reload): Ditto.
10833 (flag_branch_on_count_reg): Ditto.
10834 (f_options): Add Haifa switches.
10835 (main): Turn off some Haifa options if appropriate macro is
10836 defined. Process Haifa switches.
10837 * unroll.c (iteration_info): No longer static, since Haifa
10838 scheduler uses it.
10839 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
10840 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
10841 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
10842 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
10843 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
10844 storage for the Haifa scheduler.
10845 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
10846 LABEL_NEXTREF.
10847 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
10848 are defined, call analyze_loop_iterations and insert_bct to use
10849 countdown loops.
10850 (record_giv): Refine test for jumps out of loops if HAIFA is
10851 defined.
10852 (analyze_loop_iterations): New function to identify if we can use
10853 a countdown loop.
10854 (insert_bct): Insert countdown loop.
10855 (instrument_loop_bct): Low level code to insert countdown loop.
10856 (loop_number): Calculate UID of loop.
10857 (indirect_jump_in_function_p): Return true if an indirect jump is
10858 in the function.
10859 (is_power_of_2): Return true if value is a power of 2.
10860 (is_conditional_branch): Return true if insn is a conditional
10861 jump.
10862 (fix_bct_param): Process -fbct-{min,max}-N switches.
10863 (check_bct_param): Return true if loop should be instrumented.
10864 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
10865 (loop_optimize): Initialize.
10866 (get_condition_for_loop): Ditto.
10867 * loop.c (strength_reduce): Inside of code that uses #ifdef
10868 HAVE_decrement_and_branch_on_count code, test it to make sure the
10869 condition is true.
10870 (instrument_loop_bct): Ditto.
10871 * haifa-sched.c: New file.
b57062ca 10872
8c660648
JL
10873
10874 * Integrate regmove pass.
10875 * Makefile.in (OBJS): Add regmove.o
10876 (regmove.o): Add dependencies.
10877 * flow.c (find_use_as_address): No longer static.
10878 * rtl.h (find_use_as_address): Declare.
10879 * toplev.c (regmove_dump, flag_regmove): Define.
10880 (f_options): Add -fregmove.
10881 (regmove_dump_file, regmove_time): Define.
10882 (fatal_insn): Close the regmove dump file.
10883 (compile_file): Initialize regmove_time; open/close the regmove dump
10884 file as needed. Print regmove time as needed.
10885 (rest_of_compilation): Run regmove pass if requested, dump
10886 RTL after regmove if requested.
10887 (main): If -O2 or more, turn on regmove. Handle dump switches.
10888 * regmove.c: New file.
b57062ca 10889
aa32d841
JL
10890Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
10891
10892 * Integrate tlink patch from jason@cygnus.com
10893 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
10894 (process_command): Increment n_switches for them. Don't discard
10895 their args. Validate them.
10896 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
10897 From Rohan Lenard.
10898 (process_command): Set include_prefixes from COMPILER_PATH.
10899 (main): Set COLLECT_GCC_OPTIONS sooner.
10900 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
10901 * tlink.c, hash.c, hash.h: New files.
10902 * Makefile.in (USE_COLLECT2): Always use collect2.
10903 (collect2): Depend on and link in hash.o and tlink.o.
10904 (tlink.o, hash.o): Add dependencies.
10905
5fa39bfe
JL
10906Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
10907
9ae8ffe7
JL
10908 * Integrate alias analysis changes from jfc@mit.edu
10909 * Makefile.in (OBJS): Add alias.o
10910 (alias.o): Add dependencies.
10911 * alias.c: New file.
10912 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 10913 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
10914 (schedule_insns): Always call init_alias_analysis.
10915 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
10916 mark return value from such functions as a pointer and keep track of
10917 them for alias analysis. If a return value from a function is a
10918 pointer, mark it as such.
10919 * combine.c (distribute_notes): Handle REG_NOALIAS.
10920 * cse.c (struct write_data): Delete. No longer needed.
10921 (invalidate): Don't call set_nonvarying_address_components anymore.
10922 Use true_dependence to decide if an entry should be removed from
10923 the hash table.
10924 (invalidate_memory): Remove WRITES argument, simplify appropriately.
10925 Fix all callers.
10926 (note_mem_written): Similarly for WRITE_PTR argument.
10927 (invalidate_from_clobbers): Similarly for W argument.
10928 (invalidate_for_call): Remove memory elements from the hash table.
10929 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
10930 (cse_rtx_varies_p): New function. Derived from old
10931 cse_rtx_addr_varies_p.
10932 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
10933 Don't call note_mem_written anymore. Stack pushes invalidate the stack
10934 pointer if PUSH_ROUNDING is defined. No longer need to call
10935 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
10936 (skipped_writes_memory): Remove variable.
10937 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
10938 (invalidate_skipped_block): Simplify for new alias analysis code.
10939 (cse_set_around_loop): Likewise.
10940 (cse_main): Call init_alias_analysis.
10941 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
10942 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
10943 (f_options): Add new alias checking arguments.
10944 (main): Set flag_alias_check when optimizing.
10945 * local_alloc (validate_equiv_mem_from_store): Add new arguments
10946 to true_dependence.
10947 (memref_referenced_p): Likewise.
10948 * loop.c (NUM_STORES): Increase to 30.
10949 (prescan_loop): Only non-constant calls set unknown_address_altered.
10950 (invariant_p): Add new arguments to true_dependence.
10951 (record_giv): Initialize unrolled and shared fields.
10952 (emit_iv_add_mult): Call record_base_value as needed.
10953 * loop.h (struct induction): Add unrolled and shared fields.
10954 * unroll.c (unroll_loop): Call record_base_value as needed.
10955 (copy_loop_body): Likewise.
10956 (final_biv_value): Likewise.
10957 (final_giv_value): Likewise.
10958 (find_splittable_regs): Likewise. Only create one new pseudo
10959 if we have multiple address GIVs that were combined with the same
10960 dst_reg GIV. Note when a new register is created due to unrolling.
10961 * rtl.c (reg_note_name): Add REG_NOALIAS.
10962 * rtl.h (enum reg_note): Similarly.
10963 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
10964 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
10965 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
10966 (true_dependence, read_dependence, anti_dependence): Likewise.
10967 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
10968 (mark_user_reg, mark_reg_pointer): Likewise.
10969
10970
10971 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe 10972 to bootstrap again.
38e01259 10973 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
5fa39bfe
JL
10974 OPERAND_ADDRESS when computing how many registers an insn needs.
10975 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
10976 conflict.
10977 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
10978 OPADDR_ADDR reload.
10979 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
10980 in reload_reg_use_in_op_addr do not reach the end.
10981 do not reach the end.
10982 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
10983 RELOAD_FOR_OPERAND_ADDRESS.
10984
10985Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
10986
2dcfcb56 10987 * egcs project officially starts.
52267fcb
JM
10988
10989Local Variables:
10990add-log-time-format: current-time-string
10991End:
This page took 1.464625 seconds and 5 git commands to generate.