]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
i386.c (ix86_epilogue): For pentium processors...
[gcc.git] / gcc / ChangeLog
CommitLineData
3403c6ca
UD
1Tue Jul 7 00:36:41 1998 Ulrich Drepper <drepper@cygnus.com>
2
3 * i386.c (ix86_epilogue): For pentium processors, try to deallocate
4 4 or 8 byte stacks with pop instructions instead of an add instruction.
5
eb04ab5a
KK
6Tue Jul 7 00:30:08 1998 Klaus Kaempf <kkaempf@rmi.de>
7
8 * alpha.c: Include tree.h before expr.h.
9
4a870dba
JM
10Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com>
11
4051959b
JM
12 * c-parse.in (struct_head, union_head, enum_head): New nonterminals.
13 (structsp): Use them. Update files generated from c-parse.in.
14 * extend.texi (Type Attributes): Document it.
15
4a870dba
JM
16 * c-decl.c: Add warn_multichar.
17 (c_decode_option): Handle -Wno-multichar.
18 * c-lex.c (yylex): Check it.
19 * c-tree.h: Declare it.
20 * toplev.c (lang_options): Add it.
21 * invoke.texi: Document it.
22
ed79bb3d
R
23Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
24
b294ca38
R
25 * reload1.c (delete_dead_insn): Don't delete feeding insn
26 if that insn has side effects.
27
6186ed06
R
28 * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
29 changed.
30
979e20e9
R
31 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
32 precedes RELOAD_FOR_OUTADDR_ADDRESS.
33
ed79bb3d
R
34 * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK. Changed
35 caller.
36
392582fa
KI
37Mon Jul 6 22:21:56 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
38
39 * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
40 testing address registers on the 68000.
41
702d7434
AB
42Mon Jul 6 22:17:19 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
43
48d4389d
AB
44 * i386.c (is_fp_test): Fix thinko.
45
702d7434
AB
46 * jump.c (jump_optimize) Check for CONST_INT before using INTVAL.
47
eafdfea8
RH
48Mon Jul 6 22:14:31 1998 Richard Henderson (rth@cygnus.com)
49
800d5c9e
RH
50 * print-rtl.c (print_rtx): Display the real-value equivalent of
51 a const_double when easy.
52
53 * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
54 Zero memory first for predictability.
55 (REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
56 * varasm.c (immed_real_const_1): Notice width of H_W_I == double.
57
eafdfea8
RH
58 * regclass.c (allocate_reg_info): Initialize the entire reg_data
59 virtual array.
60
ad214bc2
ILT
61Mon Jul 6 22:09:32 1998 Ian Lance Taylor <ian@cygnus.com>
62 Jeff Law <law@cygnus.com>
63
672a233f
ILT
64
65 * i386/cygwin32.h: Add some declaration of external functions.
66 (ASM_DECLARE_FUNCTION_NAME): Define.
67 (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
68 (ASM_FILE_END): Define.
69 * i386/winnt.c (i386_pe_declare_function_type): New function.
70 (struct extern_list, extern_head): Define.
71 (i386_pe_record_external_function): New function.
72 (i386_pe_asm_file_end): New function.
73
ad214bc2
ILT
74 * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
75 matching July 18, 1995 change to cccp.c. If -traditional then
76 disable cplusplus_comments.
77
3b39dde8
JL
78Mon Jul 6 21:28:14 1998 Jeffrey A Law (law@cygnus.com)
79
fcc60894
JL
80 * combine.c (expand_compound_operation): Fix thinko in code to optimize
81 (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
82
3b39dde8
JL
83 * Disable the following change from gcc2. Not appropriate for egcs:
84
85 Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
86 * reload.c (find_reloads): Give preference to pseudo that was the
87 reloaded output of previous insn.
88
092f7be3
KG
89Mon Jul 6 21:07:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
90
91 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
92 Instead, define a new macro HAVE_PRINTF_PTR which only signifies
93 whether we have the %p format specifier or not.
94
95 * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
96
97 * machmode.h (HOST_PTR_PRINTF): When determining the definition,
98 check HAVE_PRINTF_PTR to see whether "%p" is okay.
99
100 * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
101
102 * Makefile.in (mips-tfile.o): Depend on machmode.h.
103
93de5c31
MM
104Mon Jul 6 10:42:05 1998 Mark Mitchell <mark@markmitchell.com>
105
106 * jump.c (duplicate_loop_exit_test): Don't refuse to copy a
107 section of code just because it contains
108 NOTE_INSN_BLOCK_{BEG,END}.
109 * stmt.c (expand_end_loop): Likewise. Also, don't refuse to
110 move CALL_INSNs or CODE_LABELs. When moving code, don't move
111 NOTE_INSN_BLOCK_{BEG,END}.
112
2f541799
MM
113Mon Jul 6 09:38:15 1998 Mark Mitchell <mark@markmitchell.com>
114
115 * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
116 dealing with ADDRESSOF.
117 (find_best_addr): Use it.
118
4fc8ff92
RH
119Mon Jul 6 09:27:08 1998 Richard Henderson <rth@cygnus.com>
120
121 * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
122
10c301ac
DL
123Mon Jul 6 09:25:06 1998 Dave Love <d.love@dl.ac.uk>
124
125 * libgcc2.c (__eprintf): Make args consistent with prototype in
126 assert.h.
127
9de2c71a
MM
128Mon Jul 6 00:28:43 1998 Mark Mitchell <mark@markmitchell.com>
129
130 * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
131 don't claim that the former is equivalent to the latter.
132
a4017712
JL
133Sun Jul 5 23:58:19 1998 Jeffrey A Law (law@cygnus.com)
134
7bd8b2a8
JL
135 * cse.c (cse_insn): Second arg is an RTX now. Update all callers.
136 (cse_basic_block): Keep track of the current RETVAL insn for a
137 libcall instead of just noting that we're in a libcall.
138
adc05e6c
JL
139 * combine.c (simplify_comparison): Do not commute a AND into
140 a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
141
a4017712
JL
142 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
143 HAVE_GAS_MAX_SKIP_P2ALIGN.
144 * i386/linux.h: Likewise.
145
f7e0e539
DM
146Fri Jul 3 02:33:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
147
148 * sparc.c (sparc_operand, move_operand, arith_operand,
149 arith11_operand, arith10_operand, arith_double_operand,
150 arith11_double_operand, arith10_double_operand, small_int,
151 uns_small_int): Recognize CONSTANT_P_RTX.
152 (output_sized_memop, output_move_with_extension,
153 output_load_address, output_size_for_block_move,
154 output_block_move, delay_operand): Remove, has not been
155 enabled or referenced for years.
156 * sparc.md (movstrsi, block_move_insn): Likewise.
157 * sparc.h (PREDICATE_CODES): Define.
158 * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
159 version which uses getcc/setcc traps to save/restore condition
160 codes.
161 * linux64.h: Likewise.
162 * sunos4.h: Likewise.
163 * linux.h: Likewise.
164 * sol2.h: Likewise.
165 * sun4o3.h: Likewise.
166
d420e567
RH
167Fri Jul 3 02:28:05 1998 Richard Henderson <rth@cygnus.com>
168
169 * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
170 lossage on VMS. Reported by kkaempf@rmi.de.
171 * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
172
4abfe235
NC
173Thu Jul 2 17:41:14 1998 Nick Clifton <nickc@cygnus.com>
174
175 * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
176 version.
177
39403d82
DE
178Thu Jul 2 14:34:48 1998 David Edelsohn <edelsohn@mhpcc.edu>
179
180 * expr.h (STACK_SIZE_MODE): New macro.
181 * explow.c (allocate_dynamic_stack_space): Use it for
182 mode of allocate_stack pattern increment operand.
183 * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
184 * md.texi (stack_save_block, ...): Reflect use of macro.
185
186 * rs6000.h (PROMOTE_MODE): Always promote to word_mode.
187 (PROMOTE_FUNCTION_ARGS): Define.
188 (PROMOTE_FUNCTION_RETURN): Define.
189 (FUNCTION_VALUE): Promote to word_mode if smaller.
190 Convert to gen_rtx_FOO.
191 * rs6000.md (call_indirect): Store doubleword in 64-bit mode.
192 Convert to gen_rtx_FOO.
193 * rs6000.c: Convert to gen_rtx_FOO.
194
848205e6
MM
195Thu Jul 2 14:16:11 1998 Michael Meissner <meissner@cygnus.com>
196
197 * varray.{c,h}: New files to provide virtual array support.
6feacd09 198
848205e6
MM
199 * Makefile.in (OBJS): Add varray.o.
200 (varray.o): Add new file.
6feacd09
MM
201 (REGS_H): New variable for dependencies for files including
202 regs.h. Add varray.h and files it includes. Change all regs.h
203 dependencies to $(REGS_H).
848205e6
MM
204
205 * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
206 (xcalloc): Provide frontend for calloc.
207 * {tree,rtl}.h (xcalloc): Add declaration.
208
6feacd09
MM
209 * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
210 varray.
211
212 * regs.h (toplevel): Include varray.h.
213 (reg_n_info): Switch to use a varray.
214 (REG_*): Ditto.
215 (allocate_reg_info): Change num_regs argument to be size_t.
216
217 * regclass.c (reg_info_data): New structure to remember groups of
218 reg_info structures allocated that are to be zeroed.
219 ({pref,alt}class_buffer): New statics to hold buffers
220 allocate_reg_info allocates for {pref,alt}class_buffer.
221 (regclass): Use {pref,alt}class_buffer to initialize
222 {pref,alt}class.
223 (allocate_reg_info): Switch to make reg_n_info use varrays.
224 Allocate buffers for the preferred and alter register class
225 information. Change num_regs argument to be size_t, not int.
226
227 * flow.c (reg_n_info): Switch to use varrays.
228
f7c9c2bb
RL
229Thu Jul 2 10:11:47 1998 Robert Lipe <robertl@dgii.com>
230
231 * install.texi (sco3.2v5): Document new --with-gnu-as flag.
232 * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
233 in other targets.
234 (USE_GAS): Conditionalize away native assembler usage.
235 * config/i386/sco5gas.h: New file.
236 * config/i386/t-sco5gas: New file.
237 * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
238
c92293e7
CM
239Thu Jul 2 08:20:00 1998 Catherine Moore <clm@cygnus.com>
240
241 * haifa-sched.c (alloc_EXPR_LIST): Change to use
242 unused_expr_list.
243
ee5b121e
DL
244Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
245
246 * Makefile.in (install-info): Don't use $realfile. Ignore
247 possible errors from the install-info program.
248
729a2bc6
AB
249Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
250
251 * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
252
95912252
RH
253Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com>
254
255 * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
256 (MODES_TIEABLE_P): Tie SImode and HImode.
257
56159047
AJ
2581998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
259
260 * invoke.texi (Optimize Options): Fix typo.
261
00a2e46c
JW
262Wed Jul 1 22:25:43 1998 Jim Wilson <wilson@cygnus.com>
263
264 * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
265 the zero'th block.
266
4c95db67
KR
267Wed Jul 1 23:12:58 1998 Ken Raeburn <raeburn@cygnus.com>
268
269 * h8300.c (print_operand): Delete %L support.
270 * h8300.md (branch_true, branch_false): Use %= with a prefix
271 instead of %L for local branch labels.
272
370b1b83
R
273Wed Jul 1 21:27:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
274
275 * reload1.c (emit_reload_insns): Use proper register classes for
276 SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
277
826e3854
R
278Wed Jul 1 21:17:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
279
280 * reload.c (find_reloads): If there are multiple
281 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
282 one operand, change RELOAD_FOR_INPADDR_ADDRESS /
283 RELOAD_FOR_OUTADDR_ADDRESS for all but the first
284 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
285
8543c01e
R
286Wed Jul 1 17:23:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
287
288 * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
289 using its PATTERN.
290
aac5cc16
RH
291Wed Jul 1 05:04:41 1998 Richard Henderson <rth@cygnus.com>
292
293 * expr.c (emit_group_load, emit_group_store): Rewrite considering
294 the size and alignment of the structure being manipulated.
295 * expr.c, calls.c, function.c: Update all callers.
296 * expr.h: Update prototypes.
297 * cse.c (invalidate): Cope with parallels.
298
1eac9f59
RH
299Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com>
300
301 * sparc.c (function_arg_record_value): Take a MODE arg with which to
302 create the PARALLEL. Update all callers.
303
822a3443
RH
304Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com>
305
306 * expr.c (expand_assignment, store_constructor, expand_expr): Use
307 convert_memory_address instead of convert_to_mode when possible.
308
c714f03d
RH
309Wed Jul 1 03:48:00 1998 Richard Henderson <rth@cygnus.com>
310
311 * alpha.c (alpha_initialize_trampoline): Take arguments describing
312 the layout. Use ptr_mode. Disable hint generation. Use gen_imb.
313 * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
314 (TRANSFER_FROM_TRAMPOLINE): Move ...
315 * alpha/osf.h: ... here.
316 * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
317 (TRANSFER_FROM_TRAMPOLINE): Remove undef.
318 * alpha/win-nt.h: Likewise.
319 * alpha/vxworks.h: Likewise.
320
321 * alpha/linux.h: Revert gcc2 merge lossage.
322
03369c93
AS
323Wed Jul 1 10:56:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
324
325 * c-decl.c (grokdeclarator): Don't warn about implicit int in
326 `typedef foo = bar'.
327
e06c10eb
RL
328Wed Jul 1 02:12:33 1998 Robert Lipe <robertl@dgii.com>
329
330 * i386.c (asm_output_function_prefix): Make 686 function
331 prologues not issue .types for non-global lables.
332
154f82c7
DT
333Tue Jun 30 23:46:53 1998 Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
334
335 * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
336 (WCHAR_TYPE_SIZE): Update appropriately.
337
20b20440
JL
338Tue Jun 30 23:16:39 1998 Jeffrey A Law (law@cygnus.com)
339
762a1d90
JL
340 * flow.c (recompute_reg_usage): Does not return a value.
341 * rtl.h (recompute_reg_usage): Update prototype.
342
20b20440
JL
343 * jump.c (jump_optimize): Show that the jump chain is not
344 valid when not optimizing.
345
cff48d8f
RH
346Tue Jun 30 16:01:01 1998 Richard Henderson <rth@cygnus.com>
347
348 * rtl.def (CONSTANT_P_RTX): New.
349 * rtl.h (CONSTANT_P): Recognize it.
350 * cse.c (fold_rtx): Eliminate it.
351 * expr.c (can_handle_constant_p): New variable.
352 (init_expr_once): Initialize it.
353 (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
354 immediately recognizable as a constant.
355
356 * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
357 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
358 (sext_add_operand, and_operand, or_operand): Likewise.
359 (reg_or_cint_operand, some_operand, input_operand): Likewise.
360 * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
361
2067f1f5
BK
3621998-06-30 Benjamin Kosnik <bkoz@bliss.nabi.net>
363
364 * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
365
d2cabf16
KG
366Tue Jun 30 14:03:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
367
368 * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
369 argument, which is typically preprocessor code used to draw in
370 additional header files when looking for a function declaration.
371 (GCC_NEED_DECLARATIONS): Likewise.
372
373 * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
374 and setrlimit, search for them in sys/resource.h.
375
376 * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
377 NEED_DECLARATION_SETRLIMIT.
378
379 * system.h: Prototype getrlimit/setrlimit if necessary.
380
70198e3d
MM
381Tue Jun 30 10:54:48 1998 Mark Mitchell <mark@markmitchell.com>
382
84001dd0
MM
383 * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
384 upon.
70198e3d 385
ba1a5707
DE
386Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
387
388 * rs6000/sysv4.h (asm output): add tabs for asm directives.
389
390Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
391
392 * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
393
51db713f
KG
394Tue Jun 30 08:59:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
395
396 * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
397 Don't define NULL here. Also, remove all vestiges of autoconf
398 based checks for bcmp/bcopy/bzero/index/rindex.
399
400 * system.h: Immediately after including stdio.h, check for and if
401 necessary provide a default definition of NULL.
402
b8705408
MM
403Tue Jun 30 08:22:05 1998 Michael Meissner <meissner@cygnus.com>
404
405 * reload1.c (reload_cse_simplify_operands): Call
406 fatal_insn_not_found, not abort.
407
20f2d03a
JL
408Tue Jun 30 02:34:02 1998 Jeffrey A Law (law@cygnus.com)
409
410 * choose-temp.c (make_temp_file): Accept new argument for the
411 file suffix to use. Allocate space for it and add it to the
412 template.
413 * mkstemp.c (mkstemps): Renamed from mkstemp. Accept new argument
414 for the length of the suffix. Update template struture checks
415 to handle optinal suffix.
416 * collect2.c (make_temp_file): Update prototype.
417 (main): Put proper suffixes on temporary files.
418 * gcc.c (make_temp_file): Update prototype.
419 (do_spec_1): Put proper suffixes on temporary files.
420
dbde0d5d
BH
421Tue Jun 30 00:56:19 1998 Bruno Haible <haible@ilog.fr>
422
423 * invoke.texi: Document new implicit structure initialization
424 warning.
425
ad2c71b7
JL
426Mon Jun 29 22:12:06 1998 Jeffrey A Law (law@cygnus.com)
427
9ec36da5
JL
428 * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
429 details.
430
ad2c71b7
JL
431 * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
432
4f70758f
KG
433Mon Jun 29 20:12:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
434
435 * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
436
437 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
438 void since it is evaluated in a comma list.
439
440 * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
441 argument as a long and cast `NUM' to long to ensure it is of the
442 proper width. Wrap macro arguments in parens when they appear in
443 the expansion.
444
445 * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
446
447 * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
448 (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
449 function argument return type.
450 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
451 REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
452
453 * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
454 cpp_message.
455
456 * dbxout.c: Fix the comments after an #endif to reflect the actual
457 condition tested in the preceding #if.
458
459 * except.c (find_all_handler_type_matches): Switch to old-style
460 function definition.
461
462 * expr.c (expand_builtin): Remove unused variable `type' twice.
463
464 * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
465 to an unsigned long.
466
467 * haifa-sched.c (print_insn_chain): Remove unused function.
468
469 * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
470 definition.
471
472 * toplev.c: When testing whether to include dbxout.h, also include
473 it when XCOFF_DEBUGGING_INFO is defined.
474
475 * unroll.c (unroll_loop): Add parentheses around assignment used
476 as truth value.
477
a611ae14
CM
478Mon Jun 29 12:18:00 1998 Catherine Moore <clm@cygnus.com>
479
480 * config/lb1spc.asm (.div, .udiv): Replace routines.
481
b4213325
MM
482Mon Jun 29 09:44:24 1998 Mark Mitchell <mark@markmitchell.com>
483
484 * rtl.h: Update comment about special gen_rtx variants.
485 * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
486
39d45901
JL
487Sun Jun 28 20:58:51 1998 Jeffrey A Law (law@cygnus.com)
488
489 * choose-temp.c (choose_temp_base): Restore original variant of
490 this function for compatibility.
491 (make_temp_file): This is the new, preferred interface to create
492 temporary files.
493 * collect2.c (choose_temp_base): Delete declaration.
494 (make_temp_file): Declare.
495 (temp_filename_length, temp_filename): Delete.
496 (main): Use make_temp_file to get temporary files. Use --lang-c
497 to force the resulting ctort/dtor file to be compiled with the C
498 compiler. Make sure to remove temporary files on all exit paths.
499 * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
500 defined.
501 (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
502 not defined.
503 (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
504
6cd5dccd
KG
505Sun Jun 28 08:57:09 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
506
507 * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
508 getwd.
509
510 * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
511 NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
512
513 * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
514 (my_strerror): Add prototype and make it static.
515
516 * collect2.c: Likewise.
517
518 * cpplib.c: Likewise.
519
520 * gcc.c: Likewise, but keep `my_strerror' extern.
521
522 * protoize.c: Likewise.
523
524 * pexecute.c (my_strerror): Add argument to prototype.
525
526 * system.h: Add prototypes for getcwd, getwd and strerror. Add
527 extern decls for sys_nerr and sys_errlist. Make abort decl
528 explicitly extern.
529
530 * getpwd.c: Remove decls for getwd and getcwd.
531
984e3c38
JL
532Sun Jun 28 02:11:16 PDT 1998 Jeff Law (law@cygnus.com)
533
534 * version.c: Bump for snapshot.
535
0bef9b8d
RH
536Sat Jun 27 23:32:25 1998 Richard Henderson <rth@cygnus.com>
537
538 * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
539 of rtx_unsafe_p. Use modified_between_p instead of reg_set_between_p.
540 Allow FP moves to be optimized.
541 (rtx_unsafe_p): Delete.
542
97a7f457
RH
543Sat Jun 27 23:02:04 1998 Richard Henderson <rth@cygnus.com>
544
545 * objc/archive.c: Remove <string.h> prototypes.
546
b00c2351
JL
547Sat Jun 27 22:37:05 1998 Jeffrey A Law (law@cygnus.com)
548
f89223a9
JL
549 * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
550
b00c2351
JL
551 * Makefile.in (gencheck): Remove $(TREE_H) dependency.
552
d2a0c2ee
JC
553Sat Jun 27 20:20:00 1998 John Carr <jfc@mit.edu>
554
555 * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
556 * dsp16xx.c (next_cc_user_unsigned): New function.
557 Remove save_next_cc_user_code.
558 (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
559 * dsp16xx.md: Call next_cc_user_unsigned instead of using
560 save_next_cc_user_code.
561 Use gen_rtx_* functions instead of gen_rtx.
562
563Sat Jun 27 20:18:34 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
564
39403d82 565 * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
d2a0c2ee 566
4c649323
JL
567Sat Jun 27 16:45:42 1998 Jeffrey A Law (law@cygnus.com)
568
569 * flow.c (count_reg_sets): New function.
570 (count_reg_sets_1, count_ref_references): Likewise.
571 (recompute_reg_usage): Likewise.
572 * rtl.h (recompute_reg_usage): Add prototype.
573 * toplev.c (rest_of_compilation): Call recompute_reg_usage just
574 before local register allocation.
575
ea56ab2a
RH
576Sat Jun 27 13:15:30 1998 Richard Henderson <rth@cygnus.com>
577
578 * alpha.md (negsf, negdf): Revert Jan 22 change.
579
50793ea3
KG
580Sat Jun 27 07:35:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
581
7f43495a
KG
582 * mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t.
583 (mkstemp): Remove size specifier for variable `letters'. Call
584 gettimeofday, not __gettimeofday.
585
50793ea3
KG
586 * Makefile.in (EXPR_H): New dependency variable.
587 (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
588 (c-iterate.o): Likewise.
589 (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
590 (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
591 (toplev.o): Likewise. Also depend on $(RECOG_H) instead of recog.h.
592 (varasm.o): Depend on $(EXPR_H) instead of expr.h.
593 (function.o): Likewise.
594 (stmt.o): Likewise.
595 (except.o): Likewise.
596 (expr.o): Likewise.
597 (calls.o): Likewise.
598 (expmed.o): Likewise.
599 (explow.o): Likewise.
600 (optabs.o): Likewise.
601 (sdbout.o): Likewise.
602 (dwarf2out.o): Likewise.
603 (emit-rtl.o): Likewise.
604 (integrate.o): Likewise.
605 (jump.o): Likewise.
606 (cse.o): Likewise.
607 (gcse.o): Likewise. Also depend on $(BASIC_BLOCK_H) instead of
608 basic-block.h.
609 (loop.o): Depend on $(EXPR_H) instead of expr.h.
610 (unroll.o): Likewise.
611 (combine.o): Likewise.
612 (reload.o): Likewise.
613 (reload1.o): Likewise.
614 (caller-save.o): Likewise.
615 (reorg.o): Likewise.
616 (alias.o): Don't depend on insn-codes.h.
617 (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
618 (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
619 (insn-opinit.o): Likewise.
620
003ac91d
JL
621Sat Jun 27 01:35:14 1998 Jeffrey A Law (law@cygnus.com)
622
623 * choose-temp.c (choose_temp_base): Remove MPW bits. Use mkstemp
624 instead of mktemp.
625 * gcc.c (MKTEMP_EACH_FILE): Define.
626 (main): No need to call choose_temp_base if we are going to
627 use choose_temp_base to create each file later.
628 * mkstemp.c: New file. Adapted from glibc.
629 * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
630 (mkstemp.o): Add dependencies.
631
632 * configure.in (gettimeofday): Check for its existance.
633 * config.in (HAVE_GETTIMEOFDAY): Define.
634 * configure: Rebuilt.
635
b4e95693
MM
6361998-06-26 Michael Meissner <meissner@cygnus.com>
637
638 * rs6000.md (ne 0, non power case): Add missing & constraint.
463b558b
MM
639 Name pattern ne0.
640 (negative abs insns): Add pattern names.
b4e95693 641
265ce5bb
DL
642Fri Jun 26 17:36:42 1998 Dave Love <d.love@dl.ac.uk>
643
644 * Makefile.in (install-info): Run install-info program in separate
645 loop.
646
e4da5f6d
MM
647Fri Jun 26 16:03:15 1998 Michael Meissner <meissner@cygnus.com>
648
649 * haifa-sched.c (schedule_block): Add hooks for the machine
650 description to reorder the ready list, and update how many more
651 instructions can be issued this cycle.
652 * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
653
db3d4438
DM
654Fri Jun 26 11:54:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
655
656 * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
657 Explicitly mark the constant being compared against as unsigned.
658 * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
659 Fully initialize final members.
660 (mem_aligned_8): Explicit init of offset to zero.
661 (output_function_prologue): Explicit init of n_regs to zero.
662 (output_function_epilogue): Likewise, and mark arg size as
663 unused.
664 (init_cumulative_args): Mark libname and indirect as unused.
665 (function_arg_pass_by_reference): Likewise for cum and named.
666 (sparc_builtin_saveregs): Likewise for arglist.
667 (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
668
ed4c4348
RE
669Fri Jun 26 06:58:54 1998 Richard Earnshaw (rearnsha@arm.com)
670
671 * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
672 if reloading a MEM.
673
674 * arm.h (arm_adjust_cost): Renamed bogus prototype from
675 arm_adjust_code.
676 (bad_signed_byte_operand): Add prototype.
677 * arm.c (arm_override_options): Make I unsigned.
678 (const_ok_for_arm): Add casts to the constants.
679 (load_multiple_operation): Don't redeclare elt in sub-block.
680 (arm_gen_movstrqi): Delete external declaration of optimize.
681 (gen_compare_reg): Declare parameter fp.
682
683 * arm.c (final_prescan_insn): Only initialize scanbody if the insn
684 has a pattern.
685
3c303f52
KG
686Fri Jun 26 09:31:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
687
688 * alpha.c: Include system.h and toplev.h.
689 (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
690 (const48_operand): Likewise.
691 (mode_width_operand): Likewise.
692 (mode_mask_operand): Likewise.
693 (mul8_operand): Likewise.
694 (current_file_function_operand): Likewise.
695 (signed_comparison_operator): Likewise.
696 (divmod_operator): Likewise.
697 (any_memory_operand): Likewise.
698 (alpha_return_addr): Likewise for parameter `frame'.
699 (alpha_builtin_saveregs): Likewise for parameter `arglist'.
700 (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
701 `attributes'.
702 (alpha_start_function): Likewise for parameter `decl'. Use
703 HOST_WIDE_INT_PRINT_DEC in call to fprintf. Fix various format
704 specifiers. Remove unused variables `lab' and `name'.
705 (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
706 (check_float_value): Likewise for parameter `overflow'.
707 (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
708
709 * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
710 taking an argument.
711 (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
712 (ASM_OUTPUT_CHAR): Likewise.
713 (ASM_OUTPUT_BYTE): Likewise.
714 (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
715 fprintf.
716 (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
717 Add prototypes for functions in alpha.c.
718
719 * alpha.md (ashldi3): Add default case in switch.
720
6d6393e3
MH
7211998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
722
723 * Makefile.in (gcc_version, gcc_version_trigger): New macros.
724 (version): Initialize from $(gcc_version).
725
726 * configure.in (version): Rename to gcc_version.
727 (gcc_version_trigger): New variable; call AC_SUBST for it and
728 emit it into the generated config.status.
729 * configure: Regenerate.
730
30d68b86
MM
731Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com>
732
733 * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
734 nodes that are not expressions.
735
41472af8
MM
736Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com>
737
738 * invoke.texi (-fstrict-aliasing): Document.
739 * rtl.texi (MEM_ALIAS_SET): Document.
740
741 * flags.h (flag_strict_aliasing): Declare.
742 * toplev.c (flag_strict_aliasing): Define.
743 (f_options): Add -strict-aliasing.
744 (main): Set flag_strict_aliasing if -O2 or higher.
745
746 * tree.h (tree_type): Add alias_set field.
747 (TYPE_ALIAS_SET): New macro.
748 (TYPE_ALIAS_SET_KNOWN_P): Likewise.
749 (get_alias_set): Declare.
750 * tree.c (lang_get_alias_set): Define.
751 (make_node): Initialize TYPE_ALIAS_SET.
752 (get_alias_set): New function.
753 * print-tree.c (print_node): Dump the alias set for a type.
754
755 * c-tree.h (c_get_alias_set): Declare.
756 * c-common.c (c_get_alias_set): New function.
757 * c-decl.c (init_decl_processing): Set lang_get_alias_set.
758
759 * expr.c (protect_from_queue): Propogage alias sets.
760 (expand_assignment): Calculate alias set for new MEMs.
761 (expand_expr): Likewise.
762 * function.c (put_var_into_stack): Likewise.
763 (put_reg_into_stack): Likewise.
764 (gen_mem_addressof): Likewise.
765 (assign_parms): Likewise.
766 * stmt.c (expand_decl): Likewise.
767 * varasm.c (make_decl_rtl): Eliminate redundant clearing of
768 DECL_RTL. Calculate alias set for new MEMs.
769
770 * rtl.def (REG): Add dummy operand.
771 (MEM): Add extra operand to store the MEM_ALIAS_SET.
772 * rtl.h (MEM_ALIAS_SET): New macro.
773 (gen_rtx_MEM): Declare.
774 * emit-rtl.c (gen_rtx_MEM): New function.
775 * gengenrtl.c (sepcial_rtx): Make MEMs special.
776
777 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
778 (DIFFERENT_ALIAS_SETS_P): Likewise.
779 (canon_rtx): Propogate the alias set to the new MEM.
780 (true_dependence): Check the alias sets.
781 (anti_dependence): Likewise.
782 (output_dependence): Likewise.
783 * explow.c (stabilize): Progoate alias sets.
784 * integrate.c (copy_rtx_and_substitute): Likewise.
785 * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
786 in an unpredictable state. Propogate alias sets.
787 * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
788 we have no alias information.
789
9c606f69
AM
790Thu Jun 25 16:59:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
791
792 * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
793 (find_all_handler_type_matches): Add function prototype.
794 * eh-common.h (CATCH_ALL_TYPE): Definition added.
795 * except.c (find_all_handler_type_matches): Add function to find all
796 runtime type info in the exception table.
797 (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
798
296b8152
KG
799Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
800
801 * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
802
803 * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
804 `yhigh' and `bit' into the scope in which they are used.
805 (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
806 `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
807
808 * rs6000.c: Move include of output.h below tree.h. Include toplev.h.
809 (any_operand): Mark unused parameters `op' and `mode' with
810 ATTRIBUTE_UNUSED.
811 (count_register_operand): Likewise for parameter `mode'.
812 (fpmem_operand): Likewise.
813 (short_cint_operand): Likewise.
814 (u_short_cint_operand): Likewise.
815 (non_short_cint_operand): Likewise.
816 (got_operand): Likewise.
817 (got_no_const_operand): Likewise.
818 (non_add_cint_operand): Likewise.
819 (non_logical_cint_operand): Likewise.
820 (mask_operand): Likewise.
821 (current_file_function_operand): Likewise.
822 (small_data_operand): Likewise for parameters `op' and `mode' but
823 only when !TARGET_ELF.
824 (init_cumulative_args): Mark parameters `libname' with
825 ATTRIBUTE_UNUSED.
826 (function_arg_pass_by_reference): Likewise for parameters `cum',
827 `mode' and `named'.
828 (expand_builtin_saveregs): Likewise for parameter `args'.
829 (load_multiple_operation): Likewise for parameter `mode'.
830 (store_multiple_operation): Likewise.
831 (branch_comparison_operator): Likewise.
832 (secondary_reload_class): Likewise.
833 (print_operand): Add parentheses around & operation.
834 (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
835 (output_epilog): Likewise. Cast argument to fprintf to int.
836 (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
837 (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
838 `attributes', `identifier' and `args'.
839 (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
840 (rs6000_comp_type_attributes): Likewise for parameters `type1' and
841 `type2'.
842 (rs6000_set_default_type_attributes): Likewise for parameter `type'.
843
844 * rs6000.h (RTX_COSTS): Add parentheses around & operation.
845 (toc_section, private_data_section, trap_comparison_operator): Add
846 prototypes.
847
848 * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
849 prototypes.
850
851 * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
852
853 * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
854 xcoffout_begin_block, xcoffout_end_epilogue,
855 xcoffout_end_function, xcoffout_end_block,
856 xcoff_output_standard_types, xcoffout_declare_function,
857 xcoffout_source_line): Add prototypes.
858
ff73fb53
NC
859Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
860
861 * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
862 noticed by grahams@rcp.co.uk.
863
ca242225
DB
864Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
865
866 * gcc.c (default_compilers): Use new | syntax to eliminate
867 string concatenation.
868
acd92049
RH
869Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com>
870
871 * alpha.c (alpha_function_name): Delete.
872 (alpha_ra_ever_killed): Notice current_function_is_thunk.
873 (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
874 (alpha_start_function): Reorg from output_prologue.
875 (alpha_end_function): Reorg from output_epilogue.
876 * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
877 (ASM_DECLARE_FUNCTION_SIZE): New.
878 (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
879 (PROFILE_BEFORE_PROLOGUE): Set.
880 (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
881 * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
882
dd014274
JL
883Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com)
884
885 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
886
8871998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
89752202
HB
888
889 * expr.c (expand_assignment): Rework address calculation for structure
890 field members to expose more invariant computations to the loop
891 optimizer.
892 (expand_expr): Likewise.
893
c358412f
JL
894Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com)
895
896 * local-alloc.c (block_alloc): Do not try to avoid false dependencies
897 when SMALL_REGISTER_CLASSES is nonzero.
898
a59fb797
KK
899Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de>
900
901 * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
902
55a6ba9f
JC
903Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu>
904
905 * expr.c (get_memory_rtx): New function.
906 (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
907 string functions.
908
909 * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
910
9e6a5703
JC
911 * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
912 * expr.c: Likewise.
913 * explow.c: Likewise.
914 * combine.c: Likewise.
915 * reload1.c: Likewise.
916 * gcse.c: Likewise.
917
135edcfd
DB
918Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com>
919
920 * README.gnat: Add patch for new lang_decode_options interface.
921
9a9deafc
AM
922Wed Jun 24 09:14:04 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
923
924 * except.c (start_catch_handler): Do nothing if EH is not on.
925
854b2357
MH
9261998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
927
928 * configure.in (gxx_include_dir): Initialize default value depending on
6d6393e3
MH
929 new flag --enable-version-specific-runtime-libs; remove superfluous
930 default initialization afterwards.
854b2357
MH
931 * configure: Regenerate.
932
d3b107b4
DM
933Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
934
935 * toplev.c (rest_of_compilation): Revert May 15 change.
936
c22eaf8a
KR
937Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
938
939 * reload.c (find_reloads): Fix check for failure to match any
940 alternative, to account for Mar 26 change in initial "best" cost.
941
d2f8cffa
DB
942Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com>
943
944 * cpplib.c (do_line): Typo broke #line directive.
945 (cpp_message_from_errno): New function.
946 (cpp_error_from_errno): Call cpp_message_from_errno.
947 * cpplib.h (cpp_message_from_errno): New function.
948
48b24bcd
AM
949Tue Jun 23 13:38:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
950
951 * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
952 functions to return exception descriptor information.
953 (find_exception_handler): Pass match_info field to runtime matcher,
954 not a descriptor table entry.
955
daf21dfd
DL
956Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk>
957
958 * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
959 accompany previous Makefile.in (install-info) change.
960
48b24bcd 961Tue Jun 23 10:06:07 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
5816cb14
AM
962
963 * eh-common.h (struct __eh_info): Remove coerced value field.
964 * libgcc2.c (find_exception_handler): Don't set coerced_value field.
965 * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
966 POINTER_SIZE instead of Pmode.
967 (expand_start_all_catch): Call start_catch_handler() if we are not
968 using new style exceptions.
969
83de03df
CM
970Tue Jun 23 06:45:00 1998 Catherine Moore <clm@cygnus.com>
971
972 * varasm.c (assemble_variable): Remove reference to warn_bss_align.
973
5b8e7fa3
DM
974Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
975
976 * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
977 extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
978 subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
979 splits and peepholes): Change remaining generic gen_rtx calls to
980 specific genrtl ones.
254110c2
DM
981 * config/sparc/sparc.c: Likewise.
982
9bf09437
RH
983Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
984
985 * gcc.c (handle_braces): Recognize | between options as an or.
986
e31ca113
JW
987Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com)
988
2b005260
JW
989 * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
990 * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
991
e31ca113
JW
992 * i386.md (exception_receiver): Define.
993
aeb2f500
JW
994Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
995
225695a4
JW
996 * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
997 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
998 (install-common): Use them.
999
aeb2f500
JW
1000 * gcse.c (add_label_notes): New function.
1001 (pre_insert_insn): Call it.
1002 * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
1003 pass the label to set_label_in_map.
1004
efef624b
DL
1005Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
1006
1007 * Makefile.in (install-info): Fix typpo in previous change.
1008
4bcfa7a8
CM
1009Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
1010
1011 * varasm.c (assemble_variable): Emit alignment warning.
1012
296433e1
KG
1013Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1014
1015 * Makefile.in (varasm.o): Depend on sdbout.h.
1016 (sdbout.o): Depend on toplev.h.
1017
1018 * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
1019 use %ld specifier.
1020
1021 * final.c (shorten_branches): Cast first arg of `bzero' to char *.
1022
1023 * genextract.c (main): When creating insn-extract.c, mark variable
1024 `i' with ATTRIBUTE_UNUSED.
1025
1026 * genpeep.c (main): When creating insn-peep.c, mark variables
1027 `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
1028
1029 * objc/init.c (__objc_tree_print): Wrap function definition in
1030 macro `DEBUG'.
1031
1032 * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
1033 and use %ld specifier.
1034 (adorn_decl): Likewise, twice.
1035
e016950d
KG
1036 * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
1037
1038 * sdbout.c: Include output.h and toplev.h.
1039 (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
1040 `a'. Cast `a' to HOST_WIDE_INT to force it to always be so.
1041 (PUT_SDB_SIZE): Likewise.
1042
1043 * sdbout.h (sdbout_mark_begin_function): Add prototype.
1044
1045 * stmt.c (check_for_full_enumeration_handling): Cast argument of
1046 `warning' to long and use %ld specifier.
1047
1048 * toplev.c (main): Likewise for `fprintf'.
1049
1050 * toplev.h (output_file_directive): Add prototype.
1051
1052 * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
1053 call to `fprintf'.
1054 (precondition_loop_p): Likewise.
1055
1056 * varasm.c Include sdbout.h.
1057 (assemble_static_space): Move sometimes-unused variable `rounded'
1058 into the scope in which it is used.
b3fb0b5e
KG
1059
1060 * mips.c (gpr_mode): Don't say `static' twice.
1061
1062 * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
1063
1064 * objc/objc-act.c (init_selector): Hide prototype and definition.
1065
1066 * optabs.c (gen_cond_trap): Remove unused variable `icode'.
1067
1068 * regmove.c (copy_src_to_dest): Likewise for `i'.
e016950d 1069
cd1661d6
KG
1070 * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
1071 (add_ext_symbol): Likewise.
1072 (add_file): Likewise.
1073 (parse_def): Likewise.
1074 (write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix
1075 remaining format specifiers and arguments.
1076 (write_object): Likewise, several times.
1077 (read_seek): Likewise.
1078 (out_of_bounds): Likewise.
1079 (allocate_cluster): Likewise.
1080 (xmalloc): Likewise.
1081 (xcalloc): Likewise.
1082 (xrealloc): Likewise.
1083 (xfree): Likewise.
1084
1085 * mips-tdump.c (print_symbol): Likewise.
1086
824d9076
DL
1087Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
1088
1089 * Makefile.in (install-info): Use install-info program if
1090 available, per GNU standard.
1091
9a8b0889
JL
1092Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
1093
ecff22ab
JL
1094 * invoke.texi: Document -mrelax for the mn10300 and mn10200.
1095
04821e98
JL
1096 * basic-block.h (init_regset_vector): Delete declaration.
1097 * flow.c (init_regset_vector): Make it static and add a prototype.
1098
4d7fc9e7
JL
1099 * bitmap.h (debug_bitmap): Declare.
1100
9a8b0889
JL
1101 * haifa-sched.c (debug_ready_list): Make static.
1102
1103 * toplev.h (fancy_abort): Declare.
1104
27fa83c1
L
1105Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
1106
4d7fc9e7
JL
1107 * basic-block.h (init_regset_vector): New declaration.
1108
2086b675
L
1109 * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
1110
f6781658
L
1111 * global.c: Include machmode.h amd move hard-reg-set.h before
1112 rtl.h.
1113
cc4fe0e2
L
1114 * haifa-sched.c (insn_issue_delay, birthing_insn_p,
1115 adjust_priority, print_insn_chaino): New declaration.
1116 (schedule_insns): Remove declaration.
1117 (init_target_units, get_visual_tbl_length,
1118 init_block_visualization): Add prototype.
1119
8a1ef8c9
L
1120 * integrate.c (pushdecl, poplevel): Remove declaration.
1121
9a8b0889
JL
1122 * rtl.h (expand_expr): Remove declaration.
1123
27fa83c1
L
1124 * loop.c (oballoc): Remove declaration.
1125 (replace_call_address): Add prototype.
1126
e4ad60fe
JL
1127Sun Jun 21 01:08:17 PDT 1998 Jeff Law (law@cygnus.com)
1128
1129 * version.c: Bump for snapshot.
1130
c0067dc8
JW
1131Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
1132
1133 * i386.c (output_fp_conditional_move): Don't bother handling
1134 (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
1135 prevent this from happening.
1136
1137 * i386.md (nonlocal_goto_receiver): Delete.
1138
a24da858
L
1139Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
1140
1442f4eb
L
1141 * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
1142 -DCRTSTUFFS_O.
1143 (INSTALL): cd $(srcdir) before make.
1144
a24da858
L
1145 * flow.c (allocate_for_life_analysis, init_regset_vector):
1146 Remove declaration.
1147
1148 * function.h (get_first_block_beg): New declaration.
1149
1150 * gbl-ctors.h (__do_global_dtors): Add prototype.
1151
1152 * gcov-io.h (__fetch_long): New declaration.
1153 (__store_long): Likewise.
1154 (__read_long): Likewise.
1155 (__write_long): Likewise.
1156
1157 * gcov.c (print_usage): New declaration.
1158
1159 * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
1160
4ef873c2
JL
1161Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
1162
c16ddde3
JL
1163 * calls.c (expand_call): Initialize "src" and "dest".
1164 * stmt.c (expand_return): Likewise.
1165 * expmed.c (extract_split_bit_field): Similarly for "result"
1166 * gcse.c (compute_hash_table): Mark first arg as unused.
1167 * jump.c (jump_optimize): Initialize reversep.
1168 * tree.c (make_node): Initialize length.
1169
f67aab2c
JL
1170 * c-common.c (check_format_info): Initialize length_char and
1171 fci to keep -Wall quiet.
1172
767f5b14
JL
1173 * except.c (jumpif_rtx): Put declaration and definition
1174 inside a suitable #ifdef.
1175 (jumpifnot_rtx): Delete dead function.
1176
5a77b5f3
JL
1177 * i386.h (output_int_conditional_move): Declare.
1178 (output_fp_conditional_move): Likewise.
2305ac0d 1179 (ix86_can_use_return_insn_p): Likewise.
5a77b5f3 1180
4ef873c2
JL
1181 * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
1182
2e107e9e
GS
1183Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
1184
1185 * alias.c: Include toplev.h
1186 * caller-save.c: Include toplev.h
1187 * combine.c: Include toplev.h
1188 * flow.c Include toplev.h
1189 * global.c: Include toplev.h
1190 * jump.c: Include toplev.h
1191 * local-alloc.c: Include toplev.h
1192 * loop.c: Include toplev.h
1193 * regmove.c: Include toplev.h
1194 * stupid.c: Include toplev.h
1195 * unroll.c: Include toplev.h
1196 * Makefile.in: Add toplev.h dependencies.
1197
29a4c5ed
JM
1198Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
1199
1200 * regmove.c (copy_src_to_dest): Add decl for loop_depth.
32bd96ff
JM
1201
1202 * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
1203 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
1204 Add parens to various macros.
1205
9dfcc8db
BH
1206Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
1207
1208 * c-typeck.c (pop_init_level): Warn about implicit zero initialization
1209 of struct members.
1210
ee830309
JM
1211Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
1212
1213 * varasm.c (assemble_start_function): Add weak_global_object_name.
1214 * tree.c (get_file_function_name): Use it.
1215
2c975716
JL
1216Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
1217
561592c5
JL
1218 * except.c (jumpif_rtx): Make static and add prototype.
1219 (jumpifnot_rtx): Likewise.
1220
90bf9bc4
JL
1221 * README.gnat: Add a build patch from Fred Fish.
1222
2c975716
JL
1223 * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
1224
3ca4021d
JL
1225 * Makefile.in (c-iterate.o): Depend on expr.h.
1226
3559eb28
L
1227Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
1228
19864289
L
1229 * except.h (emit_unwinder, end_eh_unwinder): Removed.
1230
90bf9bc4
JL
1231 * dwarfout.c (getpwd): Add prototype.
1232 (is_pseudo_reg, type_main_variant, is_tagged_type,
1233 is_redundant_typedef): New declaration.
1234 (output_decl): Add prototype for FUNC.
1235 (type_main_variant): Make it static.
1236 (is_tagged_type): Likewise.
1237 (is_redundant_typedef): Likewise.
1238
0d091530
L
1239 * expr.c (do_jump_by_parts_greater_rtx): Removed.
1240 (truthvalue_conversion): Likewise.
1241
3ca4021d
JL
1242 * c-iterate.c: Include "expr.h".
1243 (expand_expr): Use proper values when calling the function.
1244
0ddc9a94
L
1245 * explow.c (emit_stack_save): Add prototype for FCN.
1246 (emit_stack_restore): Likewise.
1247
e179bf0f
L
1248 * dwarf2out.c (getpwd): Add prototype.
1249
79a2acc8
L
1250 * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
1251
f5a8bfff 1252 * c-typeck.c (c_expand_asm_operands): Use proper values when calling
79a2acc8 1253 expand_expr.
f5a8bfff 1254
3ab6dd7c
L
1255 * c-lex.c (yyprint): Add prototype.
1256 (check_newline, build_objc_string): Remove declaration.
1257
0bb0a00b
L
1258 * c-tree.h (comptypes_record_hook): Removed.
1259 (finish_incomplete_decl): New prototype.
1260
960b4ee6
L
1261 * alias.c (find_base_value): Add prototype.
1262 (true_dependence): Add prototype for function argument.
1263
3559eb28
L
1264 * c-aux-info.c (xmalloc): Remove declaration.
1265
bb5177ac
RL
1266Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
1267
1268 * i386.c: Include system.h. Remove redundant includes.
1269 (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
1270 (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
1271 'identifier', 'args'.
1272 (i386_valid_type_attribute_p): Likewise for 'attributes'.
1273 (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
1274 (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
1275 and 'named'.
1276 (symbolic_operand): Likewise for 'mode'.
1277 (call_insn_operand): Likewise.
1278 (expander_call_insn_operand): Likewise.
1279 (ix86_logical_operator): Likewise.
1280 (ix86_binary_operator_ok): Likewise.
1281 (emit_pic_move): Likewise.
1282 (VOIDmode_compare_op): Likewise.
1283 (is_mul): Likewise.
1284 (str_immediate_operand): Likewise.
1285 (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
1286 (asm_output_function_prefix): Likewise for 'name'.
1287 (function_prologue): Likewise for 'file', and 'size'.
1288 (function_epilogue): Likewise.
1289
7e7ca3a1
JW
12901998-06-19 Jim Wilson <wilson@cygnus.com>
1291
1292 * loop.h (struct induction): Clarify comment for unrolled field.
1293 * unroll.c (find_splittable_givs): Move set of unrolled field
1294 after address validity check.
1295
c0418205
MM
1296Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
1297
1298 * config/fp-bit.c (INLINE): Only define if not already defined.
1299
fe2fa3c4
MH
13001998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
1301
1302 * Makefile.in (installdirs): Loop over directories in $(libsubdir)
1303 creating probably missing ones, instead of single if statements.
1304
f0b8d9aa
AS
1305Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1306
1307 * c-common.c (truthvalue_conversion): Protect side effects in the
1308 expression when splitting a complex value.
1309 * fold-const.c (fold): Likewise.
1310
94fb3933
KK
1311Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
1312
1313 * cccp.c (hack_vms_include_specification): rewrite to handle
1314 '#include <dir/file.h>' correctly.
1315
de3eb7b7
L
1316Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
1317
1318 * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
1319
b4d030e5
JW
1320Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
1321
9c8c5afb
JW
1322 * i386.c (notice_update_cc): Integer conditional moves don't
1323 affect cc0.
1324
b4d030e5
JW
1325 * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
1326 to support LT, LE, GE, and GT signed integer comparisons.
1327 (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
1328 movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
1329 is LT, LE, GE, or GT.
1330 (movdicc): Remove code resulting from an earlier patch which
1331 didn't apply correctly.
1332
bb173ade
RK
1333Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1334
1335 * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
1336 consider a MEM in FP mode as equal.
1337
11346e89
JL
1338Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
1339
1340 * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
1341 duplicate declarations of a function.
1342
76a8de12
L
1343Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
1344
1345 * config/float-i386.h: New.
1346
1347 * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
1348
7c74b010
JW
1349Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
1350
1351 * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
1352 indexed arrays. Call free at the end of the function for them.
1353 * haifa-sched.c (schedule_insns): Likewise.
1354
243e7835
JW
1355Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
1356
1357 * dwarf2out.c (size_of_string): Do count backslashes.
1358
bf3ad139
NC
1359Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
1360
1361 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
1362 addressing when one register is the frame pointer or stack
1363 pointer. Disallow REG+CONST addressing in HI mode.
1364
f9df0a1d
R
1365Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1366
1367 * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
1368 RELOAD_FOR_INSN.
1369
cab634f2
KG
1370Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1371
1372 * Makefile.in (c-lang.o): Depend on output.h.
1373
1374 * c-lang.c: Include output.h.
1375
1376 * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
1377
1378 * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
1379
1380 * genrecog.c (write_subroutine): When writing insn-recog.c, mark
1381 variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
1382 with ATTRIBUTE_UNUSED.
1383
1384 * regmove.c (copy_src_to_dest): Make function static to match its
1385 prototype.
1386
1387 * reload1.c Include hard-reg-set.h before rtl.h to get macro
1388 HARD_CONST. Include machmode.h before hard-reg-set.h.
1389
1390 * rtl.h: Prototype `retry_global_alloc' and wrap with macro
1391 HARD_CONST to protect usage of typedef HARD_REG_SET.
1392
1393 * tree.c: Prototype `_obstack_allocated_p'.
1394
1395 * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
1396 BSS_SECTION_ASM_OP.
1397
0b17dd98
KG
1398Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1399
1400 * pa.c: Include system.h and toplev.h. Remove redundant code.
1401 (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1402 (symbolic_operand): Likewise.
1403 (symbolic_memory_operand): Likewise.
1404 (pic_label_operand): Likewise.
1405 (fp_reg_operand): Likewise.
1406 (pre_cint_operand): Likewise.
1407 (post_cint_operand): Likewise.
1408 (ireg_or_int5_operand): Likewise.
1409 (int5_operand): Likewise.
1410 (uint5_operand): Likewise.
1411 (int11_operand): Likewise.
1412 (uint32_operand): Likewise.
1413 (ior_operand): Likewise.
1414 (lhs_lshift_cint_operand): Likewise.
1415 (pc_or_label_operand): Likewise.
1416 (legitimize_pic_address): Likewise.
1417 (hppa_legitimize_address): Likewise for parameter `old'.
1418 (output_block_move): Likewise for parameter `size_is_constant'.
1419 (output_function_prologue): Likewise for parameter `size'.
1420 (output_function_epilogue): Likewise.
1421 (return_addr_rtx): Likewise for parameter `count'.
1422 (output_mul_insn): Likewise for parameter `unsignedp'.
1423 (hppa_builtin_saveregs): Likewise for parameter `arglist'.
1424 (output_bb): Likewise for parameter `operands'.
1425 (output_bvb): Likewise.
1426 (function_label_operand): Likewise for parameter `mode'.
1427 (plus_xor_ior_operator): Likewise.
1428 (shadd_operand): Likewise.
1429 (non_hard_reg_operand): Likewise.
1430 (eq_neq_comparison_operator): Likewise.
1431 (movb_comparison_operator): Likewise.
1432 (pa_combine_instructions): Likewise for parameter `insns'.
1433
1434 * pa.h: Add prototypes for functions `output_deferred_plabels',
1435 `override_options', `output_ascii', `output_function_prologue',
1436 `output_function_epilogue', `print_operand',
1437 `symbolic_expression_p', `reloc_needed', `compute_frame_size',
1438 `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
1439 `pa_adjust_cost', `pa_adjust_insn_length' and
1440 `secondary_reload_class'.
1441
ca8c3b37
JM
1442Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
1443
1444 * configure.in: Don't turn on collect2 unconditionally.
1445
1d22a2c1
MM
1446Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
1447
1448 * cse.c (cse_basic_block): Don't include NOTE insns in the count
1449 that is used to decide whether or not it is time to erase the
1450 equivalence table.
1451
b74390de
FS
1452Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1453
1454 * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
1455
e0cd0770
JC
1456Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
1457
1458 * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
1459 (sched_analyze_2): Allow scheduling TRAP_IF.
1460
1461 * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
1462
1463 * rtl.h (TRAP_CODE): New macro.
1464
1465 * rtl.def (TRAP_IF): Change second operand type to rtx.
1466
1467 * optabs.c (gen_cond_trap): New function.
1468 (init_traps): New function.
1469 (init_optabs): Call init_traps.
1470 * expr.h: Declare gen_cond_trap.
1471
1472 * jump.c (jump_optimize): Optimize jumps to and around traps.
1473
1474 * sparc.md: Define trap instructions.
1475
1476 * rs6000.md: Define trap instructions.
1477 * rs6000.c (print_operand): New code 'V' for trap condition.
1478 (trap_comparison_operator): New function.
1479
1480 * m88k.md: Update use of TRAP_IF.
1481
1482 * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
1483 * c-decl.c (init_decl_processing): New builtin __builtin_trap.
1484 * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
1485
1486 * expr.c (expand_builtin): Error if __builtin_longjmp second argument
1487 is not 1.
1488
4fdf79cb
CM
1489Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com>
1490
1491 * reload1.c (spill_hard_reg): Check mode of register when
1492 spilling from scratch_list.
1493
d7e78529
AM
1494Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1495
1496 * except.c (add_new_handler): fix bug in finding last region handler.
1497 * libgcc2.c (find_exception_handler): Pass exception table pointer
1498 to runtime type matcher, not the match info field.
1499
3301dc51
AM
1500Wed Jun 17 15:57:48 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1501
1502 * eh-common.h (struct eh_context): Add comment for hidden use of
1503 field dynamic_handler_chain.
1504 * except.c (get_dynamic_handler_chain): Comment on, and use the
1505 correct offset of the dynamic_handler_chain field.
1506
33f264af
JW
15071998-06-17 12:46:56 1998 Jim Wilson <wilson@cygnus.com>
1508
1509 * mips/iris6.h (LINK_SPEC): Add -woff 131.
1510
d460fb3c
JM
15111998-06-17 Jason Merrill <jason@yorick.cygnus.com>
1512
1513 * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
1514
1515 * configure.in: Don't disable collect2 when we have GNU ld.
1516
4c738570
JL
1517Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
1518
7d12cee1
JL
1519 * fold-const.c (make_range): Do not widen the type of the expression.
1520
dbecbbe4
JL
1521 * expr.c (check_max_integer_computation_mode): New function.
1522 (expand_expr): Avoid integer computations in modes wider than
1523 MAX_INTEGER_COMPUTATION_MODE.
1524 * fold-const.c (fold): Likewise.
1525 * tree.h (check_max_integer_computation_mode): Declare.
1526 * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
1527
4b95eb49
JL
1528 * configure.in (nm): Make a link to "nm" in the build tree too.
1529
4c738570
JL
1530 * mn10300.md (andsi3): Fix typo.
1531
33ab8de0
RH
1532Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
1533
1534 * reload1.c (reload_cse_regs): Call bzero instead of looping.
1535
bf20f341
JW
1536Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
1537
1538 * dwarf2out.c (stripattributes): Prepend '*' to the section name.
1539
9c0e94a5
RH
1540Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
1541
1542 * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
1543 (output_prologue, output_epilogue): Merge VMS and OSF versions;
1544 Remove anything related to the actual code generation.
1545 (output_end_prologue): New function.
1546 (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
1547 (alpha_does_function_need_gp): Return false for VMS.
1548 (alpha_function_needs_gp): Make static.
1549 (add_long_const): Delete.
1550 (summarize_insn): Don't assume a SUBREG is of a REG.
1551 Prototype all static functions. Rename VMS-specific global
1552 variables vms_*.
1553 * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
1554 (FUNCTION_BOUNDARY): Align to cache line.
1555 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
1556 (FUNCTION_END_PROLOGUE): New macro.
1557 * alpha.md (attribute length): New. Mark all insns.
1558 (return_internal, prologue_stack_probe_loop) New patterns.
1559 (prologue, init_fp, epilogue): New patterns.
1560 Disable peepholes.
1561 * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
1562
ad1da1de
DB
1563Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
1564
1565 * toplev.c (lang_options): Add -trigraphs option for cpplib.
1566
75528b80
R
1567Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1568
1569 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
1570 is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
1571 is earlier than RELOAD_FOR_INPUT_ADDRESS.
1572
42b82dd3
JW
1573Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
1574
1575 * libgcc1-test.c (memcpy): Define.
1576
6f6074ea
MM
1577Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
1578
1579 * genattrtab.c (struct attr_desc): Change int flags to bit
1580 fields. Add bit fields for this being function_units_used
1581 or *_blockage_range attributes.
1582 (write_unit_name): New function to print a function unit name
1583 given unit #.
1584 (expand_units): Indicate whether this is function_units_used or
1585 *_blockage_range attributes.
1586 (write_toplevel_expr): Print function_units_used and
1587 *_blockage_range attributes in a more friendly fashion.
1588 (make_internal_attr): Indicate whether this attribute is either
1589 function_units_used or *_blockage_range.
1590
ddc8bed2
MM
1591Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
1592 Jim Wilson <wilson@cygnus.com>
3bd89472 1593
ddc8bed2
MM
1594 * regmove.c (copy_src_to_dest): Do not copy src to dest if either
1595 the source or destination is special.
3bd89472 1596
ddc8bed2 1597Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
a7db2896 1598
ddc8bed2 1599 * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
a7db2896 1600
d61d494a
JL
1601Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
1602
1603 * version.c: Bump for snapshot.
1604
a08432bd
KW
1605Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
1606
1607 * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
1608 redefining it.
1609
a4ea8d97
DE
1610Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
1611
1612 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
416db271 1613 (ENDFILE_SPEC): Add -lgloss.
a4ea8d97 1614
38831dfe
KG
1615Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1616
1617 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1618 (large_int): Likewise.
1619 (pc_or_label_operand): Likewise.
1620 (call_insn_operand): Likewise.
1621 (consttable_operand): Likewise.
1622 (m16_uimm3_b): Likewise.
1623 (m16_simm4_1): Likewise.
1624 (m16_nsimm4_1): Likewise.
1625 (m16_simm5_1): Likewise.
1626 (m16_nsimm5_1): Likewise.
1627 (m16_uimm5_4): Likewise.
1628 (m16_nuimm5_4): Likewise.
1629 (m16_simm8_1): Likewise.
1630 (m16_nsimm8_1): Likewise.
1631 (m16_uimm8_1): Likewise.
1632 (m16_nuimm8_1): Likewise.
1633 (m16_uimm8_m1_1): Likewise.
1634 (m16_uimm8_4): Likewise.
1635 (m16_nuimm8_4): Likewise.
1636 (m16_simm8_8): Likewise.
1637 (m16_nsimm8_8): Likewise.
1638 (m16_usym8_4): Likewise.
1639 (m16_usym5_4): Likewise.
1640 (mips_move_1word): Change type of variable `i' from int to size_t.
1641 (mips_move_2words): Likewise.
1642 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
1643 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
1644 (function_arg): Likewise.
1645 (function_arg_partial_nregs): Mark parameter `named' with
1646 ATTRIBUTE_UNUSED.
1647 (override_options): Use ISDIGIT instead of isdigit.
1648 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
1649 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
1650 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
1651 function `fatal' to long before printing. Use
1652 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
1653 times in this function.
1654 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
1655 (function_epilogue): Likewise for parameters `file' and `size'.
1656 Print an int with "%d" not "%ld".
1657 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
1658 (mips_function_value): Likewise for parameter `func'.
1659 (function_arg_pass_by_reference): Likewise for parameters `cum'
1660 and `named'.
1661 (extend_operator): Likewise for parameter `mode'
1662 (highpart_shift_operator): Likewise.
1663
1664 * mips.md (mul_acc_si): Remove unused variable `macc'.
1665
77a45a2e
RH
1666Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
1667
1668 * fold-const.c (fold): Revert last change. It breaks constant
1669 expressions somehow.
1670
8d62b411
AS
1671Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1672
1673 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
1674 prevent operands from being evaluated twice.
1675
cac45626
SO
1676Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
1677
1678 * toplev.c (lang_options): Add -remap as a preprocessor option.
1679
9bc6d2c2
JW
1680Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
1681
1682 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
1683 which set CC_REVERSED since reload should ensure that
1684 the operands are already the correct type.
1685
fb95c8c9
JW
1686Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
1687
1688 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
1689 calling gen_rtx_SET.
1690
95009288
DE
1691Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
1692
1693 * config/rs6000/x-aix43 (AR): Delete.
1694 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
1695
bf6f78d1
DS
1696Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
1697
1698 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
1699
45cc4c09
JW
1700Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
1701
1702 * mips.c (override_options): Replace word_mode with explicit
1703 TARGET_64BIT check.
1704
ecb75b7a
MM
1705Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
1706
1707 * regmove.c (regmove_optimize): If we can't replace the
1708 destination in an insn that sets the source, generate an explicit
1709 move of the source to the destination.
1710 (copy_src_to_dest): New function.
1711 (toplevel): Include basic-block.h
1712
1713 * Makefile.in (regmove.o): Add basic-block.h dependencies.
1714
8e34149d
DB
1715Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
1716
1717 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
1718
8358a974
MM
1719Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
1720
1721 * rtl.h (rtx_def): Improve documentation.
1722 (MEM_IN_STRUCT_P): Likewise.
1723
e80716de
GS
1724Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
1725
1726 * c-decl.c (start_decl): Correct test for -Wmain.
1727
b3fbc9ad
GS
1728 * c-decl.c (grokdeclarator): Remove unused variable "last".
1729
3e2b9a3d
JW
1730Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
1731
1732 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
1733 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
1734 Delete code storing value in static_chain_rtx.
1735 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
1736 to second expand_expr call.
1737
748b909e
MM
1738Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
1739
1740 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
1741
e061d1ce
DB
1742Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
1743
1744 * cppmain.c (fatal): New function.
1745 * configure.in (cpp_main): New configuration variable.
1746 * configure: Regenerated.
e80716de
GS
1747 * Makefile.in (CCCP): Use a configuration variable to select basex
1748 for cccp.
e061d1ce
DB
1749 (cppmain$(exeext)): Add @extra_cpp_objs@.
1750
a0d85b75
DB
1751Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
1752
1753 * objc/objc-act.c: Add cpplib declarations.
1754 (lang_decode_option): Initialize cpplib if necessary.
1755 (lang_decode_option): New argc/argv interface.
1756 * tree.h (lang_decode_option): New argc/argv interface.
1757 * toplev.c (lang_options): Add cpp options.
1758 (main): New interface for lang_decode_option.
1759 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
1760 unless -E, -M or -MM is specified.
1761 * cpplib.h (cpp_handle_option): New function.
1762 * cpplib.c (cpp_handle_option): New function.
1763 (cpp_handle_options): Now calls cpp_handle_option.
1764 * c-tree.h (c_decode_option): New argc/argv interface.
1765 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
1766 * c-lang.c (lang_decode_option): New argc/argv interface.
1767 * c-decl.c: Add cpplib declarations.
1768 (c_decode_option): New argc/argv interface.
1769 (c_decode_option): Call cpp_handle_option.
1770 (c_decode_option): Now returns number of strings processed.
1771
95193030
RE
1772Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
1773
1774 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
1775 changes. Abort if the undo fails.
1776
e74e8c84
VM
17771998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
1778
1779 * config/rs6000/rs6000.c (output_prolog): Change locations and
1780 directions of saving and restoring arguments of main on the stack.
1781
0254c561
JC
1782Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
1783
1784 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
1785 for each alternative. Do not replace a CONST_INT with a REG unless
1786 the reg is cheaper.
1787
0365438d
JL
1788Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
1789
07fb7f79
JL
1790 * decl.c (init_decl_processing): Fix typo.
1791
bfed8dac
JL
1792 * mips.c (gpr_mode): New variable.
1793 (override_options): Initialize gpr_mode.
1794 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1795 determine size and offset of general purpose registers save slots.
1796 (save_restore_insns, mips_expand_prologue): Similarly.
1797
0365438d
JL
1798 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
1799 between constant representations when we have (SUBREG (REG)) with
1800 REG equivalent to a constant.
1801
e6bcfef9
JS
1802Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
1803
1804 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
1805
ac1fdb22
RH
1806Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
1807
1808 * fold-const.c (fold): Even with otherwise constant trees, look for
1809 opportunities to combine integer constants.
1810
1c5d60f5
JW
1811Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
1812
9d932d43
JW
1813 * i386.c (notice_update_cc): Clear cc_status.value2 in the
1814 case of UNSPEC 5 (bsf).
1815
1c5d60f5
JW
1816 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
1817 conditional move instructions don't support signed integer
1818 comparisons.
1819
f1be41ad
NC
1820Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
1821
1822 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
1823 overlfows.
1824
1825 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
1826 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
1827 <glctr@abc.it>.
1828
0d3453df
AM
1829Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1830
1831 * except.c (expand_start_catch): Rename to start_catch_handler.
1832 (expand_end_catch): Delete function.
1833 (expand_end_all_catch): Remove catch status that expand_end_catch
1834 use to do.
1835 * except.h (expand_start_catch): Rename prototype.
1836 (expand_end_catch): Delete prototype.
1837
3398f47f
MM
1838Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
1839
1840 * invoke.texi: Add documentation for -mips4 and -mabi=*.
1841
6805ef53
KK
1842Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
1843
1844 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
1845 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
1846 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
1847
9ae4ec46
JC
1848Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
1849
1850 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
1851 as the threshold to permit splitting memory operations.
1852
624a8b3a
JL
1853Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
1854
1c5d60f5
JW
1855 * mips.c (gpr_mode): New variable.
1856 (override_options): Initialize gpr_mode.
1857 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1858 determine size and offset of general purpose registers save slots.
1859 (save_restore_insns, mips_expand_prologue): Similarly.
1860
624a8b3a
JL
1861 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
1862 (LIBGCC2_CFLAGS): Remove -fexceptions.
1863 (LIB2FUNCS): Remove "_eh".
1864 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
1865 it with -fexceptions.
1866
1867 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
1868 * local-alloc.c (block_alloc): Avoid creating false
1869 dependencies for targets which use instruction scheduling.
1870
674576f1
RH
1871Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
1872
1873 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
1874 (ASM_FINISH_DECLARE_OBJECT): Define;
1875 * mips/elf64.h: Likewise.
1876
5dd57225 1877Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
602ad236 1878
5dd57225 1879 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
b8211569 1880
5dd57225 1881Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
ac4bac77
JL
1882
1883 * version.c: Bump for snapshot.
1884
a2f270cc
DE
1885Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
1886
1887 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
1888 (mulsidi3_ppc64): Delete.
1889
50b2596f
KG
1890Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1891
1892 * Makefile.in (varasm.o): Depend on dbxout.h.
1893 (cse.o): Depend on toplev.h and output.h.
1894 (gcse.o): Depend on output.h.
1895
1896 * mips.c: Include system.h and toplev.h and remove redundant code.
1897 Include output.h after tree.h so all its prototypes get activated.
1898 * mips.md (table_jump): Remove unused variable `dest'.
1899
1900 * sparc.h: Add prototype for `v8plus_regcmp_op'.
1901
1902 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
1903 with __attribute__ ((__unused__)).
1904 (__frame_dummy): Provide prototype before use, wrap it with
1905 EH_FRAME_SECTION_ASM_OP.
1906
1907 * cse.c: Move inclusion of <setjmp.h> above local headers.
1908 Include toplev.h and output.h.
1909
1910 * dbxout.h: Add prototype for `dbxout_begin_function'.
1911
1912 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
1913 ASM_OUTPUT_MAX_SKIP_ALIGN.
1914
1915 * gcse.c: Include system.h and output.h.
1916 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
1917 Make extern instead of static.
1918 (compute_can_copy): Only declare variables `reg' and `insn' when
1919 AVOID_CCMODE_COPIES is not defined.
1920 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
1921 (hash_scan_clobber): Likewise for `x' and `insn'.
1922 (hash_scan_call): Likewise.
1923 (record_last_set_info): Likewise for `setter'.
1924 (mark_call): Likewise for `pat'.
1925 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
1926
1927 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
1928 length parameter so that it multiplies the number of elements by
1929 the sizeof(element).
1930
1931 * output.h: Add prototype for `weak_finish'.
1932
1933 * recog.h: Likewise for `validate_replace_src'.
1934
1935 * rtl.h: Likewise for `optimize_save_area_alloca',
1936 `fix_sched_param', `purge_addressof', `gcse_main',
1937 `regmove_optimize', `dbr_schedule', `branch_prob' and
1938 `end_branch_prob'.
1939
1940 * toplev.h: Likewise for `set_float_handler' and
1941 `output_quoted_string'.
1942
1943 * varasm.c: Include dbxout.h.
1944
33d7a521
JW
1945Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
1946
1947 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
1948 GP_REG_P. Use gr_regs instead of GR_REGS.
1949
cb923660
KR
1950Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
1951 Jeff Law <law@cygnus.com>
1952
1953 * Revamped multiply support for MIPS chips.
1954 * mips.c (extend_operator): New function.
1955 (highpart_shift_operator): Likewise.
1956 * mips.h: Declare new functions.
1957 (PREDICATE_CODES): Add support for new predicates.
1958 * mips.md (mulsi3 expander): Simplify.
1959 (mulsi_mult3): Add another constraint alternative. Support
1960 3 operand multiply instructions as found on various mips
1961 parts.
1962 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
1963 (mul_acc_si): New pattern and associated splitters.
1964 (mulsidi3 expander): Rework to use mulsidi3_64bit and
1965 mulsidi3_internal.
1966 (umulsidi3): New expander.
1967 (mulsidi3_internal): Accept either sign or zero extended
1968 operands and generate code as appropriate appropriately.
1969 (mulsidi3_64bit): Similarly.
1970 (smulsi3_highpart): Turn into an expander and generate code
1971 to match new patterns.
1972 (umulsi3_highpart): Likewise.
1973 (xmulsi3_highpart_internal): New pattern.
1974 (maddi patterns): Delete. Replace with:
1975 (mul_acc_di, mul-acc_64bit_di): New patterns.
1976
a1622f83
AM
1977Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1978
1979 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
1980 flag_new_exceptions runtime flag.
1981 (struct old_exception_table): New struct which represents what
1982 the exception table looks like without the new model.
1983 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
1984 flag that this is a new style table.
1985 * except.h: Remove compile time flag NEW_EH_MODEL.
1986 (expand_builtin_eh_stub_old): New prototype.
1987 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
1988 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
1989 * c-decl.c (init_decl_processing): Add new builtin function
1990 __builtin_eh_stub_old.
1991 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
1992 * flags.h (flag_new_exceptions): New runtime flag.
1993 * toplev.c (flag_new_exceptions): Initialize default to 0,
1994 -fnew-exceptions sets to 1.
1995 * except.c (output_exception_table_entry): Output New style exception
1996 identifier into table, and replace compile time flag NEW_EH_MODEL
1997 with runtime flag flag_new_exceptions.
1998 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
1999 (expand_builtin_eh_stub_old): Duplicates original functionality of
2000 expand_builtin_eh_stub.
2001 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
2002 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
2003 (old_find_exception_handler): New func, same as find_exception_handler
2004 except it works on the old style exception table.
2005 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
2006 of identifier in the exception table, and call appropriate routines.
2007
aeb302bb
JM
2008Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
2009
2010 * function.c: Define current_function_cannot_inline.
2011 (push_function_context_to): Save it.
2012 (pop_function_context_from): Restore it.
2013 * function.h (struct function): Provide it a home.
2014 * output.h: Declare it.
2015 * integrate.c (function_cannot_inline_p): Check it.
2016
8b015896 2017Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
9a14a3ab 2018
8b015896
RH
2019 * expr.c (force_operand): Detect PIC address loads before
2020 splitting arithmetic.
2b4065a4 2021
8b015896 2022Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
209c9866
JL
2023
2024 * version.c: Bump for snapshot.
2025
79990a39
GS
2026Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
2027
2028 * tree.c (tree_class_check): Add braces to eliminate ambigious
2029 else warning.
2030 (tree_check): Likewise.
2031
49fa02d9
L
2032Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
2033
2034 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
2035 stack is the destination for conditional move insn.
2036
52267fcb
JM
2037Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
2038
2039 * tree.h (TREE_VEC_END): Cast unused value to void.
2040
2041 * i386.c (print_operand): Use %lx for long operand.
2042
2b01d264
RH
2043Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
2044
2045 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
2046
cb9e12a7
JC
2047Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
2048
2049 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
2050 conversion functions.
2051
b53beeb2
RH
2052Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
2053
2054 * toplev.c (flag_exceptions): Default to 0.
2055 (compile_file): Remove flag_exceptions == 2 hack.
2056 (main): Call lang_init_options.
2057 * tree.h: Declare it.
2058 * c-lang.c: Implement it.
2059 * objc/objc-act.c: Likewise.
2060
dfdfa60f
DE
2061Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
2062
2063 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
2064 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
2065 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
2066 (output_function_profiler): Use asm_fprintf and fputs.
2067
83e0821b
KG
2068Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2069
2070 * gencheck.c: Remove redundant stdio.h include. Add a definition
2071 of xmalloc for when we are forced to link with alloca.o.
2072
2073 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
2074 instead of `1U'.
2075
2076 * fold-const.c (constant_boolean_node): Make definition static to
2077 match the prototype.
2078
6ff0d2a0
PB
2079Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
2080
2081 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
2082 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
2083 (do_spec, input_filename, input_filename_length): Make public.
2084 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
2085 Call lang_specific_pre_link befor elinking.
2086
2db45993
JL
2087Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
2088
2089 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
2090 the insn which has the most insns dependent on it.
2091
74186471
JC
2092Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
2093
2094 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
2095
989f090c
RH
2096Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
2097
2098 * alpha.md (insxh-1): New insxl pattern for combine.
2099
b657fc39
L
2100Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
2101
2102 * i386/i386.c (output_fp_conditional_move): New function
2103 to output floating point conditional move.
2104 (output_int_conditional_move): New function to output integer
2105 conditional move.
2106
2107 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
2108 output_int_conditional_move () to output int conditional move.
2109 (movsfcc+5, movdfcc+5, movxfcc+5): Call
2110 output_fp_conditional_move () to output floating point
2111 conditional move.
2112
2113 * i386/i386.c (put_condition_code): In INT mode, check
2114 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
2115
202fe2d6
DB
2116Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
2117
2118 * dbxout.c (dbxout_type): Output arrays of bits as if
2119 they were bitstrings for Chill
2120
a260abc9
DE
2121Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
2122
2123 * tree.c (get_inner_array_type): New function.
2124 * tree.h (get_inner_array_type): Prototype.
2125 * expr.h (STACK_SAVEAREA_MODE): New macro.
2126 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
2127 STACK_SAVEAREA_MODE.
2128 (expand_builtin_longjmp): Likewise.
2129 * explow.c (emit_stack_save): Likewise.
2130 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
2131
2132 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
2133 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
2134 * rs6000/aix43.h: New file.
2135 * rs6000/t-aix43: New file.
2136 * rs6000/x-aix41: New file.
2137 * rs6000/x-aix43: New file.
2138 * configure.in (rs6000-ibm-aix*): Use them.
2139 * rs6000/powerpc.h: Delete.
2140 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
2141 * rs6000/netware.h: and here.
2142 * rs6000/win-nt.h: and here.
2143
2144 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
2145 MASK_POWERPC64.
2146 (rs6000_override_options): Ignore flag_pic for AIX.
2147 (rs6000_immed_double_const): Delete.
2148 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
2149 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
2150 (num_insns_constant): mask64_operand() is 2 insns.
2151 (logical_operand): Don't assume 32-bit CONST_INT.
2152 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
2153 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
2154 (mask_constant): HOST_WIDE_INT parameter.
2155 (non_and_cint_operand): Delete.
2156 (mask64_operand): New function.
2157 (and64_operand): New function.
2158 (function_arg_advance): DImode arguments do not need special
2159 alignment when 64-bit.
2160 (function_arg): Likewise.
2161 (setup_incoming_varargs): Reverse reg_size assignment.
2162 (print_operand): HOST_WIDE_INT second parameter.
2163 (print_operand, 'B'): New case.
2164 (print_operand, 'M'): Fix typo in lossage string.
2165 (print_operandm 'S'): New case.
2166 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
2167 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
2168 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
2169 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
2170 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
2171 (rs6000_allocate_stack_space): Use {cal|la}.
2172 (output_epilog): Use {cal|la}
2173 (output_function_profiler): Add call glue to mcount call.
2174 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
2175
2176 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
2177 (STACK_BOUNDARY): Depend on TARGET_32BIT.
2178 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
2179 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
2180 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
2181 64-bit mask operand.
2182 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
2183 (STACK_SAVEAREA_MODE): New macro.
2184 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
2185 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
2186 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
2187 (ASM_FILE_START): Emit 64-bit ABI directive.
2188 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
2189 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
2190 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
2191 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
2192
2193 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
2194 Restore define_splits.
2195 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
2196 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
2197 Do not specify base register operand mode.
2198 (floatsidf2_loadaddr): Do not specify base register operand mode.
2199 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
2200 register; do not specify mode. Remove !TARGET_POWERPC64 final
2201 constraint.
2202 (floatsidf2_load): Do not specify base register operand mode. Remove
2203 !TARGET_POWERPC64 final constraint.
2204 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
2205 base register operand mode.
2206 (adddi3): Split large constants early.
2207 (absdi3): Shift by 63, not 31.
2208 (*mulsidi3_ppc64): New pattern.
2209 (rotldi3): Add masking combiner patterns.
2210 (anddi3): Add rldic{r,l} masking. Remove split of large constants
2211 because PPC insns zero-extend.
2212 (iordi3, xordi3): Split large constants early.
2213 (movsi matcher): Remove S and T constraints.
2214 (movsf const_double): create SImode constant from TARGET_DOUBLE.
2215 (movdf_hardfloat32): Add default abort() case.
2216 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
2217 (movdi): Remove 64-bit constant generator. Try to convert
2218 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
2219 (movdi_32): Add default abort() case.
2220 (movdi_64): Add numerous ways to split 64-bit constants.
2221 Make catch-all define_split more optimal and never FAIL.
2222 (movti_ppc64): Add default abort() case.
2223 (allocate_stack): Remove operand modes. Use Pmode.
2224 (restore_stack_block): Remove operand modes. Generate Pmode
2225 temporary.
2226 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
2227 temporary. Save area is double Pmode.
2228 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
2229 (call, call_value): Do not specify address operand mode. Choose
2230 appropriate AIX ABI.
2231 (*call_local64, *ret_call_local64): New patterns.
2232 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
2233 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
2234 (compare): Materialize DImode truthvalues.
2235
ff439b5f
CB
2236Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
2237
2238 * expr.c (safe_from_p): Avoid combinatorial explosion
2239 over duplicate SAVE_EXPRs by ensuring we never recurse
2240 on one that has already been visited.
2241
7d2a46a8
GS
2242Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
2243
2244 * loop.c (check_dbra_loop): Initialise final_value before
2245 normalizing the loop.
2246
f5470689
R
2247Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2248
2249 * reload1.c (reload_reg_free_for_value_p): New arguments out and
2250 reloadnum. Changed all callers.
2251
9b91d8f4
UD
22521998-06-03 Ulrich Drepper <drepper@cygnus.com>
2253
2254 * system.h: Add _() and N_() macros in preparation for gettext.
2255
7fdc2757
AS
2256Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2257
bc516719
AS
2258 * c-common.c (check_format_info): Put back check for C9x `hh'
2259 length modifier. Warn about %n format writing into const. Remove
2260 obsolete comment.
9b91d8f4 2261 (format_char_info): Fix comments.
bc516719 2262
7fdc2757
AS
2263 * configure.in: Set float_format to m68k for all m68k targets that
2264 do not override LONG_DOUBLE_TYPE_SIZE.
2265 * config/float-m68k.h: New file.
2266
dc2a47ed
RH
2267Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
2268
2269 * jump.c (jump_optimize): Remove debug messages accidentally left in
2270 with the previous change.
2271
f0348c25
RH
2272Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
2273
2274 * expr.c (store_expr): Revert stray patch associated with
2275 1998-05-23 commit.
2276
4f4f436f
RH
2277Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
2278
2279 * jump.c (rtx_unsafe_p): New function.
2280 (jump_optimize): Use it on if/then/else transformations and
2281 conditional move transformations.
2282
df0e526f
AS
2283Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2284
2285 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
2286 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
2287 Cope with CONST being out of range for the bitfield.
2288
2638126a
BS
2289Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
2290
2291 * expr.c (emit_move_insn_1): When moving complex values in several
2292 steps, emit a CLOBBER to show the destination dies.
2293
6c8538cc
JL
2294Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
2295
ccdb9251
JL
2296 * Makefile.in (site.exp): Use the object testsuite directory as
2297 the temporary directory.
2298
6c8538cc
JL
2299 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
2300 address of an ADDRESSOF rtx.
2301
0bc02db4
MS
23021998-06-02 Mike Stump <mrs@wrs.com>
2303
2304 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
2305 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
2306 * i960.md (ret, flush_register_windows): Define.
2307 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
2308 work yet.
2309 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
2310
d46f7484
RH
2311Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
2312
2313 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
2314 around an OSF/1 library bug wrt sign-extension of inputs.
2315
e3c81d20
RH
2316Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
2317
2318 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
2319
44ec7e59 2320Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
9b91d8f4 2321
44ec7e59
CM
2322 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
2323
2324 * varasm.c (assemble_variable): Augment alignment warning.
2325
9224220f
MM
2326Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
2327
2328 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
2329 in the presence of IEEE negative 0's.
2330
726e2d54
JW
2331Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
2332
2333 * reload.c (find_reloads): Record the existing mode if
2334 operand_mode == VOIDmode before replacing a register with
2335 a constant.
2336 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
2337 i386_compare_op1 to const0_rtx for the benefit of the
2338 conditional move patterns.
2339 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
2340 based on suggestions from Jim Wilson.
2341
97f959a5
JL
2342Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
2343
2344 * version.c: Bump for snapshot.
2345
b5662334
BK
2346Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
2347
2348 * Makefile.in (fixinc.sh): Update rules again.
2349
674032e2
JL
2350Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
2351
2352 * extend.texi: Bring back reference to trampoline paper.
2353
2354Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
2355
2356 * Makefile.in (USER_H): Add stdbool.h.
2357 * ginclude/stdbool.h: New file.
2358
d3903c22
JL
2359Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
2360
c71407f9
JL
2361 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
2362 of a non-note insn.
2363
d3903c22
JL
2364 * gcse.c (pre_delete): Fix code to determine the mode of
2365 the reaching pseudo register.
2366
8376d400
BS
2367Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
2368
2369 * Makefile.in (GEN): Add gencheck
2370 (STAGESTUFF): Add tree-check.h and gencheck.
2371
71d085b0
BK
2372Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
2373
2374 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
2375 (fixinc.sh): Set some additional environment variables before
2376 calling mkfixinc.sh.
2377
f4d1453e
JL
2378Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
2379
2380 * reload.c (find_reloads): Do not force a reloads of match_operators.
9b91d8f4 2381
9f8e6243
AM
2382Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2383
2384 * except.h (remove_handler): Add new prototype.
2385 * except.c (remove_handler): New function to remove handlers
2386 from an exception region.
2387 * flow.c (find_basic_blocks_1): Remove handlers from regions when
2388 handler label is deleted; remove exception regions with no handlers.
2389
d05a5492
MM
2390Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
2391
2392 * except.h (rtx): Define rtx type correctly if needed.
2393 * function.h (rtx): Ditto.
2394 (tree): Define tree type correctly if needed.
2395
2396 * c-pragma.c (toplevel): Include rtl.h.
2397
2398 * stor-layout.c (toplevel): Move include of rtl.h before
2399 except.h.
2400
2401 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
2402 (tree.o): Add except.h dependency.
9b91d8f4 2403
ed385fd9
JL
2404Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
2405
5bc80b30
JL
2406 * reload1.c: Revert accidental checkin.
2407
ed385fd9
JL
2408 * configure.lang: Fix thinko when adding a definition for
2409 target_alias to the Makefile.
2410
00c26dc2
CM
2411Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
2412
9b91d8f4 2413 * config/sparc/lb1spc.asm (.rem and .urem): Replace
00c26dc2
CM
2414 routines.
2415
d499463f
RE
2416Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
2417
2418 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
2419 variable warnings. Don't generate scratch registers if only
2420 counting insns.
2421 (find_barrier): Eliminate unused variable SRC.
2422
62fe00be
MH
24231998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
2424
2425 * toplev.h (rtx_def): Provide global declaration to avoid
2426 `limited scope' warnings.
2427
1a4bf22f
MK
2428Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
2429
2430 * Makefile.in (gencheck.o): Use HOST_CC.
2431 * i386/t-mingw32: New file.
2432 * configure.in (i386-*-mingw32*): Use.
2433
4d818c85
RE
2434Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
2435
2436 * arm.c (bad_signed_byte_operand): New predicate function.
2437 * arm.h (PREDICATE_CODES): Add it to the list.
2438 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
2439 can't handle.
2440 (define_split): Two new splits for above insns.
2441
ad076f4e
RE
2442 * arm.c: Include toplev.h.
2443 (arm_override_options): Add parentheses around use of tune_flags.
2444 (arm_split_constant): Remove unused variable.
2445 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
2446 (output_func_prologue, arm_expand_prologue): Likewise.
2447 (arm_canonicalize_comparison): Make I unsigned; rework constants
2448 accordignly. Add missing paratheses around << operation.
2449 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
2450 clause.
2451 ({load,store}_multiple_sequence): Initialize BASE_REG.
2452 (select_dominance_cc_mode): Add DEFAULT clauses.
2453 (broken_move): Return zero if the destination is not a register.
2454 (arm_reorg): Move unused REGNO declaration into the dead code.
2455 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
2456
a1ec8ea1
JL
2457Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
2458
2459 * version.c: Bump for snapshot.
2460
c7f58590
JL
2461Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
2462
2463 * version.c: Bump for snapshot.
2464
33b019ad
DB
2465Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
2466
2467 * cpperror.c (v_cpp_message): Remove static prototype.
2468 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
2469 * cpplib.h (v_cpp_message): Add protoptype.
2470 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
2471
61819ba5
JL
2472Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
2473
2474 * version.c: Bump for snapshot.
2475
f5c57ba7
JL
2476Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
2477
2478 * version.c: Bump for snapshot.
2479
7a87758d
AS
24801998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2481
2482 * m68k.h: Declare more functions used in macros.
2483 (REG_CLASS_CONTENTS): Completely embrace initializer.
2484 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
2485 about returning no value.
2486 * cse.c (find_best_addr): Declare p and found_better only if
2487 needed.
2488 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
2489 * dwarfout.c (string_length_attribute): #if 0 away.
2490 * function.c (expand_function_end): Define varible blktramp only
2491 if needed.
2492 * jump.c (find_insert_position): Define only if !HAVE_cc0.
2493 * loop.c (combine_givs_p): Define variable tem only if needed.
2494 * real.c: Comment out unused functions eabs, eround,
2495 e{24,53,64,113}toasc and eiinfin.
2496
2497
10ad38ca
AO
2498Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
2499
2500 * Makefile.in (boostrap2-lean, bootstrap3-lean,
2501 bootstrap4-lean): New targets.
2502
57fec042
JL
2503Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
2504
2505 * warn_summary, test_summary: Moved into the contrib directory.
2506
97263b8c
MH
25071998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
2508
e7f62ad3
MH
2509 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
2510 of the Makefile.
2511 (FLOAT_H_TEST): Likewise.
2512 (ENQUIRE): Likewise.
2513 (float.h-nat): Likewise.
2514 (float.h-cross): Likewise.
2515 (enquire): Likewise.
2516 (enquire.o): Likewise.
2517 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
2518 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
2519 no-op.
2520 (FLOAT_H): Remove old float.h-nat version; move current definition
2521 to CROSS_FLOAT_H location.
2522 (all.cross): Remove comments about enquire stuff.
2523
8d45987f
MH
2524 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
2525 (rest.encap): Likewise.
e7f62ad3 2526 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
8d45987f 2527
97263b8c
MH
2528 * toplev.h (tree_node): Provide global declaration to avoid
2529 `limited scope' warnings.
2530
a8c24967
RL
2531Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
2532
2533 * test_summary: Display section breaks for each entry
2534 in a multilibbed target's output.
2535
bd070e1a
RH
25361998-05-23 Richard Henderson <rth@cygnus.com>
2537
2538 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
2539 offset's mode is not ptr_mode, convert it.
2540
697073d9
JM
25411998-05-22 Jason Merrill <jason@yorick.cygnus.com>
2542
2543 * fold-const.c (ssize_binop): New fn.
2544 * tree.h: Declare it.
2545
07704a9a
RE
2546Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
2547
9b91d8f4 2548 * genextract.c (print_path): Handle zero-length path as a special
07704a9a
RE
2549 case.
2550
911c3b7d
HPN
2551Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
2552
2553 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
2554
75197b37
BS
2555Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2556
2557 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
2558 (shorten_branches, final_scan_insn): Test value of
2559 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
2560 is defined.
2561 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
2562 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
28ec9418 2563 * arm/tcoff.h: Likewise.
75197b37
BS
2564 * i386/386bsd.h: Likewise.
2565 * i386/freebsd-elf.h: Likewise.
2566 * i386/freebsd.h: Likewise.
2567 * i386/netbsd.h: Likewise.
2568 * i386/ptx4-i.h: Likewise.
2569 * i386/sysv4.h: Likewise.
2570 * pa/pa.h: Likewise.
2571 * rs6000/linux.h: Likewise.
2572 * rs6000/rs6000.h: Likewise.
2573 * sh/sh.h: Likewise.
2574 * sparc/sp64-elf.h: Likewise.
2575 * v850/v850.h: Likewise.
2576 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
2577 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
2578
1a29f703
R
2579Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2580
2581 * regmove.c (gen_add3_insn): New function.
2582 (fixup_match_2): Use it instead of calling gen_addsi3.
2583
aee21ba9
JL
2584Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
2585
37433f49
JL
2586 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
2587
aee21ba9
JL
2588 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
2589 address.
2590
12b195d9
ML
2591Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
2592
2593 * Makefile.in (TREE_H): Add tree-check.h.
2594 (tree-check.h, gencheck): New targets.
2595 * gencheck.c: New file.
2596 * tree.c (tree_check, tree_class_check): New functions.
2597 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
2598 (TYPE_CHECK, DECL_CHECK): Define.
2599 Modify all access macros to use generated checking macros.
2600
9e423e6d
JW
2601Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
2602
2603 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
2604 * configure.in: Check for it.
2605 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
2606 * final.c (uid_align, uid_shuid, label_align): Make static.
2607 (label_align): Change type to struct label_alignment pointer.
2608 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
2609 (LABEL_TO_MAX_SKIP): Define.
2610 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
2611 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
2612 (shorten_branches): Record the maximum bytes to skip when
2613 aligning a label.
2614 (final_scan_insn): Use the maximum bytes to skip when aligning a label
2615 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
2616 * i386.h (LOOP_ALIGN_MAX_SKIP,
2617 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
2618 * i386.c (override_options): i386_align_jumps and i386_align_loops
2619 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
2620 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
2621
1cc75298
MM
26221998-05-21 Mark Mitchell <mmitchell@usa.net>
2623
2624 * cplus-dem.c (do_type): Handle volatile qualification.
9b91d8f4 2625
178ca02d
PB
2626Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
2627
2628 * function.c (init_function_start): Don't call emit_line_note if
2629 lineno is 0. (Can happen when compiling Java .class files.)
2630
cecbf6e2
R
2631Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2632
2633 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
2634 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
2635
b52ce03d
R
2636Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2637
2638 * combine.c (nonzero_bits): For paradoxical subregs, take
2639 LOAD_EXTENDED_OP into account.
2640
c8724862
DB
2641Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
2642
2643 * configure.in (extra_c_objs): add prefix.o.
2644 (extra_cxx_objs): extra objects for C++ with cpplib.
2645 * configure: Regenerate.
2646
2647 * c-tree.h: (get_directive_line): Different prototype for cpplib.
2648 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
2649
2650 * c-lex.h: (get_directive_line): Not needed here for cpplib.
2651
2652 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
2653 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
2654
2655 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
2656 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
2657
fd97443c
KG
2658Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2659
2660 * gengenrtl.c (type_from_format, accessor_from_format): Change
2661 type of parameter `c' from `char' to `int'.
2662
0e4347ce
JL
2663Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
2664
2a3edac9
JL
2665 * warn_summary, test_summary: New scripts from
2666 Kaveh Ghazi and Alexandre Oliva respectively.
2667
0e4347ce
JL
2668 * gcse.c (current_function_calls_longjmp): Declare.
2669
4e5a8d7b
JM
26701998-05-20 Jason Merrill <jason@yorick.cygnus.com>
2671
2672 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
2673
7506f491
DE
2674Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
2675 Jeff Law (law@cygnus.com)
2676
2677 * Global CSE and constant/copy propagation.
2678 * Makefile.in (OBJS): Add gcse.o
2679 (STAGESTUFF): Add *.gcse.
2680 (gcse.o): Add dependencies.
2681 (mostlyclean): Remove *.gcse and */*.gcse.
2682 * gcse.c: New file.
2683 * loop.c (loop_optimize): Move call to init_alias_analysis.
2684 * recog.c (validate_replace_src): New function.
2685 * toplev.c (gcse_dump): New global variable.
2686 (flag_gcse, gcse_time): Likewise.
2687 (compile_file): Initialize gcse_time and clean out the gcse dump
2688 file if necessary.
2689 (rest_of_compilation): Call gcse_main as requested. Dump RTL
2690 after gcse if requested.
2691 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
2692 dumps for -da.
2693 * gcc.texi: Add gcse related internal documentation.
2694 * invoke.texi: Note new command line options for gcse.
2695 * tm.texi: Document AVOID_CCMODE_COPIES.
2696 * mips.h (AVOID_CCMODE_COPIES): Define.
2697
40859b41
JL
2698Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
2699
2700 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
2701 exists.
aef1617c 2702 (stmp-fixproto): Simlarly for running fixproto.
40859b41
JL
2703 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
2704
f85c8be7
JW
2705Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
2706
2707 * config/mips/mips.c (double_memory_operand): Accept any MEM during
2708 reload when TARGET_64BIT.
2709
c7391272
JW
2710Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
2711
2712 Finish incomplete change started by Kenner.
2713 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
2714 (powerpcle-*-cygwin32): Delete xm_defines.
2715 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
2716 HAVE_STAB_H instead of NO_STAB_H.
2717 * config/xm-linux.h (NO_STAB_H): Delete.
2718 (HAVE_STAB_H): Undefine.
2719 * config/i386/xm-go32.h (NO_STAB_H): Delete.
2720
af02da67
JW
27211998-05-19 Jim Wilson <wilson@cygnus.com>
2722
2723 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
2724 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
2725
79edd21c
TV
2726Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
2727
2728 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
2729
6e684430
R
2730Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2731
2732 * reload1.c (reload_reg_free_for_value_p): New function.
2733 (allocate_reload_reg, choose_reload_regs): Use it.
2734
7ecb5d27
AM
2735Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
2736
2737 * except.c (expand_start_catch): Correct logic for when to
2738 generate a new handler label, and when to use the old one.
2739
487a6e06
KG
2740Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2741
2742 * Makefile.in (print-rtl.o): Depend on bitmap.h.
2743 (dbxout.o): Depend on toplev.h.
2744 ($(SCHED_PREFIX)sched.o): Likewise.
2745 ($(out_object_file)): Likewise for system.h and toplev.h.
2746 (cppmain.o): Depend on gansidecl.h.
2747 (cpplib.o): Likewise.
2748 (cpperror.o): Likewise.
2749 (cppexp.o): Likewise.
2750 (cpphash.o): Likewise.
2751 (cppalloc.o): Likewise.
2752 (fix-header.o): Depend on cpplib.h and cpphash.h.
2753 (scan-decls.o): Depend on gansidecl.h.
2754
2755 * basic-block.h (free_regset_vector): Add prototype.
2756
2757 * cccp.c (check_precompiled): Mark parameter `fname' with
2758 ATTRIBUTE_UNUSED.
2759 (do_assert): Likewise for `op' and `keyword'.
2760 (do_unassert): Likewise.
2761 (do_line): Likewise for `keyword'.
2762 (do_error): Likewise for `op' and `keyword'.
2763 (do_warning): Likewise.
2764 (do_ident): Likewise for `keyword'.
2765 (do_pragma): Likewise for `limit', `op' and `keyword'.
2766 (do_sccs): Likewise.
2767 (do_if): Likewise for `keyword'.
2768 (do_elif): Likewise.
2769 (do_else): Likewise.
2770 (do_endif): Likewise.
2771
2772 * collect2.c (getenv): Remove redundant prototype.
2773 (collect_exit, collect_execute, dump_file): Likewise.
2774 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
2775 (dump_prefix_list): Hide prototype and definition.
2776
2777 * sparc.c: Include toplev.h.
2778 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2779 (symbolic_memory_operand): Likewise.
2780 (sp64_medium_pic_operand): Likewise.
2781 (data_segment_operand): Likewise.
2782 (text_segment_operand): Likewise.
2783 (splittable_symbolic_memory_operand): Likewise.
2784 (splittable_immediate_memory_operand): Likewise.
2785 (eq_or_neq): Likewise.
2786 (normal_comp_operator): Likewise.
2787 (noov_compare_op): Likewise.
2788 (v9_regcmp_op): Likewise.
2789 (v8plus_regcmp_op): Likewise.
2790 (extend_op): Likewise.
2791 (cc_arithop): Likewise.
2792 (cc_arithopn): Likewise.
2793 (small_int): Likewise.
2794 (uns_small_int): Likewise.
2795 (clobbered_register): Likewise.
2796 (legitimize_pic_address): Likewise.
2797 (delay_operand): Likewise.
2798 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
2799
2800 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
2801 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
2802
2803 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
2804
2805 * cppalloc.c: Include gansidecl.h.
2806
2807 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
2808 (cpp_file_line_for_message): Mark parameter `pfile' with
2809 ATTRIBUTE_UNUSED.
2810 (v_cpp_message): New function.
2811 (cpp_message): Use it. Also convert to variable arguments.
2812 (cpp_fatal): Likewise.
2813 (cpp_pfatal_with_name): Constify parameter `name'.
2814
2815 * cppexp.c: Move gansidecl.h before cpplib.h.
2816 * cpphash.c: Likewise.
2817 * cpphash.h (hashf, delete_macro): Add prototypes.
2818
2819 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
2820 cpplib.h. Don't include errno.h.
2821 (update_path): Add arguments to prototype.
2822 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
2823 cpp_print_containing_files): Remove redundant prototypes.
2824 (cpp_hash_cleanup, add_import, append_include_chain,
2825 make_assertion, path_include, initialize_builtins,
2826 initialize_char_syntax, finclude, validate_else, comp_def_part,
2827 lookup_import, redundant_include_p, is_system_include,
2828 read_name_map, read_filename_string, open_include_file,
2829 check_macro_name, compare_defs, compare_token_lists,
2830 eval_if_expression, change_newlines): Add prototype arguments.
2831 (hashf): Remove redundant prototype.
2832 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
2833 conditional_skip, skip_if_group): Add prototype arguments.
2834 (fdopen): Remove redundant prototype.
2835 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
2836 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
2837 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
2838 (struct directive): Add prototype arguments to function pointer
2839 member `func'.
2840 (handle_directive): Add missing arguments to call to `do_line'.
2841 (do_include): Mark parameters `unused1' and `unused2' with
2842 ATTRIBUTE_UNUSED.
2843 (do_line): Likewise for `keyword' and new parameters `unused1' and
2844 `unused2'.
2845 (do_error): Likewise for `keyword'.
2846 (do_warning): Likewise. Also add missing argument `pfile' in call
2847 to cpp_pedwarn.
2848 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
9b91d8f4 2849 ATTRIBUTE_UNUSED.
487a6e06
KG
2850 (do_ident): Likewise for `keyword', `buf' and `limit'.
2851 (do_pragma): Likewise. Also add missing arguments in call to do_once.
2852 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
9b91d8f4 2853 ATTRIBUTE_UNUSED.
487a6e06
KG
2854 (do_if): Likewise for `keyword'.
2855 (do_elif): Likewise.
2856 (eval_if_expression): Likewise for `buf' and `length'.
2857 (do_xifdef): Likewise for `unused1' and `unused2'.
2858 (do_else): Likewise for `keyword', `buf' and `limit'.
2859 (do_endif): Likewise.
2860 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
2861 (cpp_handle_options): Remove superfluous NULL argument in call to
2862 cpp_fatal.
2863 (cpp_handle_options): Likewise.
2864 (do_assert): Mark parameter `keyword', `buf' and `limit' with
2865 ATTRIBUTE_UNUSED.
2866 (do_unassert): Likewise.
2867 (cpp_print_file_and_line): Add missing argument `pfile' in call to
2868 cpp_file_line_for_message.
2869 (v_cpp_error): New function.
2870 (cpp_error): Use it. Also accept variable arguments.
2871 (v_cpp_warning): New function.
2872 (cpp_warning): Use it. Also accept variable arguments.
2873 (cpp_pedwarn): Accept variable arguments.
2874 (v_cpp_error_with_line): New function
2875 (cpp_error_with_line): Use it. Accept variable arguments.
2876 (v_cpp_warning_with_line): New function.
2877 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
2878 definition.
2879 (cpp_pedwarn_with_line): Accept variable arguments.
2880 (cpp_pedwarn_with_file_and_line): Likewise.
2881 (cpp_error_from_errno): Constify parameter `name'. Add missing
2882 argument `pfile' in call to cpp_file_line_for_message.
2883 (cpp_perror_with_name): Constify parameter `name'.
2884
2885 * cpplib.h: Define PARAMS() in terms of PROTO().
2886 (fatal): Remove redundant prototype.
2887 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
2888 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
9b91d8f4 2889 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
487a6e06
KG
2890 cpp_fatal, cpp_message, cpp_pfatal_with_name,
2891 cpp_file_line_for_message, cpp_print_containing_files): Add
2892 arguments to prototypes.
2893 (scan_decls, cpp_finish): Add prototypes.
2894
2895 * cppmain.c: Include gansidecl.h.
2896 (main): Remove unused variable `i'.
9b91d8f4 2897
487a6e06
KG
2898 * dbxout.c: Include toplev.h.
2899
2900 * demangle.h (do_tlink, collect_execute, collect_exit,
2901 collect_wait, dump_file, file_exists): Add prototype.
2902
2903 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
2904 prototype and definition.
2905 (gen_unspecified_parameters_die): Don't assign results of call to
2906 function new_die() to unused variable `parm_die'.
2907 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
2908 (dwarf2out_define): Likewise for `lineno' and `buffer'.
2909
2910 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
2911 prototype and definition.
2912 (output_die): Add prototype arguments to function pointer arg.
2913 (output_unspecified_parameters_die): Mark parameter `arg' with
2914 ATTRIBUTE_UNUSED.
2915
2916 * except.c (output_exception_table_entry): Remove unused variable
2917 `eh_entry'.
2918
2919 * except.h (expand_fixup_region_start, expand_fixup_region_end):
2920 Add prototypes.
2921
2922 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
2923
2924 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
2925
2926 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
2927 before cpplib.h, include cpphash.h, remove redundant prototype of
2928 cpp_fatal, don't define `const', add a prototype for `fatal'.
2929 (cpp_file_line_for_message): Add missing arguments `pfile'.
2930 (v_cpp_message): New function.
2931 (cpp_message): Use it.
2932 (v_fatal): New function.
2933 (fatal, cpp_fatal): Use it.
2934 (cpp_pfatal_with_name): Constify parameter `name'.
2935
2936 * flow.c (free_regset_vector): Remove redundant prototype.
2937
2938 * function.c (round_down): Wrap prototype and definition with
2939 macro ARGS_GROW_DOWNWARD.
2940 (record_insns): Wrap prototype and definition with
2941 defined (HAVE_prologue) || defined (HAVE_epilogue).
2942
2943 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
2944
2945 * gen-protos.c: Include gansidecl.h.
2946 (hashf): Don't make it static, constify parameter `name'.
2947
2948 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
2949 specifier %s in calls to function `fatal'.
2950
2951 * haifa-sched.c: Include toplev.h.
2952 (find_rgns): Remove unused variable `j'.
2953
2954 * integrate.c (note_modified_parmregs): Mark parameter `x' with
2955 ATTRIBUTE_UNUSED.
2956 (mark_stores): Likewise.
2957
2958 * jump.c (mark_modified_reg): Likewise.
2959
2960 * output.h (insn_current_reference_address): Add prototype.
2961 (eh_frame_section): Likewise.
2962
2963 * print-rtl.c: Include bitmap.h.
2964
2965 * reload1.c (reload): Wrap variables `note' and `next' in macro
2966 PRESERVE_DEATH_INFO_REGNO_P.
2967 (forget_old_reloads_1): Mark parameter `ignored' with
2968 ATTRIBUTE_UNUSED.
2969 (choose_reload_regs): Remove unused variable `in'.
2970 (reload_cse_invalidate_mem): Mark parameter `ignore' with
2971 ATTRIBUTE_UNUSED.
2972 (reload_cse_check_clobber): Likewise.
2973
2974 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
2975 (mark_elimination): Fix typo in prototype.
2976
2977 * scan-decls.c: Include gansidecl.h.
2978
2979 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
9b91d8f4 2980
c7fdfd49
JL
2981Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
2982
2983 * function.c (identify_blocks): Fix thinko when setting the
2984 block number for NOTE_INSN_BLOCK_END.
2985
53f2d033
NC
2986Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
2987
f122eb7a 2988 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
9b91d8f4 2989 ___udivsi3.
f122eb7a
NC
2990
2991 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
9b91d8f4 2992 underscores for the prefixes to the names of the maths functions.
f122eb7a 2993
53f2d033
NC
2994 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
2995 comment explaining why.
2996
ead17059
RH
2997Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
2998
2999 * tree.h (TYPE_SIZE_UNIT): New.
3000 (struct tree_type): Add size_unit member.
3001 * stor-layout.c (layout_type): Initialize it.
3002 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
3003 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
3004
069b95ce
RE
3005Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
3006
3007 * stor-layout.c (layout_record): Fix off-by-one error when checking
3008 length of the TYPE_BINFO vector.
3009
972a4adb
NC
3010Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
3011
3012 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
3013 function parameter passed in memory.
3014
76ead72b
RL
3015Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
3016
3017 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
3018 Prototypes for externally used functions in respective C files.
3019 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
3020 final.c: Include above files.
3021 * Makefile.in (toplev.o): Add dependency for above four headers.
3022 (final.o): Likewise.
3023 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
3024 respective header files.
3025
b0ccd8de
JL
3026Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
3027
7e717196
JL
3028 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
3029 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
3030 the build tree if they exist.
3031 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
3032 appropriately.
3033 (objdir): Let configure substitute value.
3034 (FLOAT_H): Let configure select a pre-built version from the
3035 config subdir.
3036 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
3037 * configure.in: Substitute for objdir.
3038
88111b26
JL
3039 * Makefile.in (build_canonical, host_canonical): Let configure
3040 substitute values for these variables.
3041 * configure.in: Substitute for build_canonical, host_canonical
3042 and target_subdir in generated Makefile.
3043
d8af60bf
JL
3044 * output.h (find_basic_blocks): Declare.
3045 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
3046
b0ccd8de
JL
3047 * Makefile.in (BISON): Use bison from the build tree if it exists.
3048 (FLEX): Similarly.
3049
88117d44
NC
3050Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
3051
3052 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
3053 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
3054 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
3055 command line arguments to see if an executable is not being
3056 created, and if so - do not append the suffix.
3057
3058 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
3059 driver macro.
3060
e5e8a8bf
JW
3061Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
3062
3063 * i386.h (ALIGN_DFmode): Delete.
3064 (CONSTANT_ALIGNMENT): Define.
3065 * varasm.c (force_const_mem): Use it.
3066
b771b6b4
RH
3067Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
3068
3069 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
3070 using it with swap_condition, not before.
3071
0211b6ab
JW
3072Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
3073
3074 * alias.c (mode_alias_check): Delete.
3075 (true_dependence, anti_dependence, output_dependence): Revert April 21
3076 change.
3077
c5991f68
KW
3078Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
3079
3fe4d12a 3080 * toplev.c (output_lang_identify): Enable prototype and definition.
c5991f68 3081
18f315a4
JL
3082Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
3083
3084 * version.c: Bump for snapshot.
3085
2a831d01
RH
3086Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
3087
3088 * alpha/osf.h (HAVE_STAMP_H): Define.
3089 * alpha.c: Use it.
3090 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
3091 * configure.in (alpha*-*-netbsd*): New.
3092 Based on patches from Paul H. Anderson <pha@pdq.com>.
3093
3094 * configure.in (alpha*-*-linux-*): Kill xm_defines.
3095 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
3096 * alpha/xm-linux.h: Remove file.
3097
620422fd
DE
3098Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
3099
3100 * dbxout.c (dbxout_parms): If mode of type of parameter living
3101 in memory doesn't match mode of DECL_RTL, make big endian correction.
3102
d2f2cb19
JW
3103Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
3104
3105 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
3106
bbc0e641
JM
3107Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
3108
3109 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
3110 * stor-layout.c (layout_record): Set it.
3111
3112Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
3113
3114 * toplev.c (rest_of_compilation): Don't defer nested functions.
3115
92834d7d
BM
3116Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
3117
3118 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
3119 to an 8-byte boundary if info_ptr->fpmem_p.
3120
829002bb
BM
3121Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
3122
3123 * loop.c (basic_induction_var): Added test preventing
3124 CCmode parameter passed to convert_modes().
3125
b24f65cd
APB
3126Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
3127
3128 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
3129 input_filename and lineno around expand_expr call. Set them to values
3130 in WFL before expand_expr call.
3131
b09293cc
BK
3132Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
3133
3134 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
3135
f628873f
MM
3136Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
3137
3138 * fold-const.c (constant_boolean_node): New function.
3139 (fold): Use it.
3140
61fb6bac
R
3141Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3142
3143 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
3144 Abort if trying to split kind 3 or 4 outside of combine.
3145
8f9661dd
JL
3146Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
3147
3148 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
3149
b22284e1
MK
3150Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
3151
3152 * objc/Make-lang.in (OBJC_O): Add missing exeext.
3153 (libobjc.a, runtime-info.h): Likewise.
3154
8a022443
JW
3155Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
3156
3157 * i386.h (DATA_ALIGNMENT): Define.
3158
aa6498c2
R
3159Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3160
3161 * reload1.c (delete_output_reload): Ignore single USE that
3162 was emitted for the pseudo use of this INSN.
3163 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
3164 remains, we can always delete OUTPUT_RELOAD_INSN.
3165
41372177
JW
3166Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
3167
3168 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
3169
ddc5654a
JL
3170Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
3171
3172 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
3173
9a0d1e1b
AM
3174Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
3175
3176 * eh-common.h: New file for basic EH data structures.
3177 * except.h: Various prototypes and structures for NEW_EH_MODEL
3178 * function.h (struct function): Add a struct eh_stack for the catch
3179 clause stack.
9b91d8f4 3180 * except.c (gen_exception_label): New function to generate an
9a0d1e1b
AM
3181 exception label.
3182 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
3183 (push_entry): New function to push an existing entry onto a stack.
9b91d8f4 3184 (receive_exception_label): New function to emit the code required
9a0d1e1b
AM
3185 at the start of all catch blocks.
3186 (struct func_eh_entry): New structure for maintaining handlers
3187 associated with EH regions.
3188 (new_eh_region_entry): New function to register an EH region.
3189 (add_new_handler): New function to register a handler with a region.
3190 (get_new_handler): Creates anew handler entry for registering.
3191 (find_func_region): New function to convert a NOTE eh region number
3192 to an Eh region index.
3193 (get_first_handler): New function to get the first handler in a region.
3194 (clear_function_eh_region): New function to release memory.
3195 (duplicate_handlers): New function to duplicate a list of handlers.
3196 (expand_eh_region_end): Create a new region entry node as well.
3197 (expand_leftover_cleanups): Call receive_exception_label() and
3198 register the cleanup as a handler to the current region.
3199 (expand_start_catch): New function to start a catch clause.
3200 (expand_end_catch): New function to end a catch clause.
3201 (expand_start_all_catch): restructure to not do the equivilent of
3202 what expand_start_catch() does now. Push the exception region being
3203 handled onto the catch stack.
3204 (output_exception_table_entry): Issue an entry for each handler
3205 associated with a region.
3206 (set_exception_lang_code): New function for setting the language code.
3207 (set_exception_version_code): New function to set the version number.
3208 (output_exception_table): Output version and language codes.
3209 (find_exception_handler_labels): Find handler labels using new scheme.
3210 (is_exception_handler_label): New function, returns 1 if label is
3211 present as a handler in some exception region.
3212 (check_exception_handler_labels): Use the new scheme.
3213 (init_eh_for_function): Initialize the catch stack.
3214 (save_eh_status): Save the catch stack.
3215 (restore_eh_status): Restore the catch stack.
3216 (scan_region): Don't remove unreferenced handler label. Flow does it.
3217 (get_reg_for_handler): New function to get the eh_context pointer
3218 passed by __throw.
3219 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
3220 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
3221 entry when processing END region rather that START region.
3222 * flow.c (find_basic_blocks_1): Find all potential handler regions
3223 now that we don't automatically know what the labels might be.
3224 Let scan_region() remove unreferenced EH BEGIN/END labels.
3225 * integrate.c (get_label_from_map): Put inlined labels onto the
3226 permanent obstack since we dont know which ones might be exception
3227 labels.
3228 (save_for_inline_copying): Make new copies of all the handlers.
3229 (expand_inline_function): Make new copies of all the handlers.
3230 * libgcc2.c: Remove local struct decls, and include eh-common.h.
9b91d8f4 3231 (find_exception_handler): With NEW_EH_MODEL the first matching
9a0d1e1b
AM
3232 region we find is the right one. Add eh_info as a new parameter.
3233 (__throw): Pass eh_info to find_exception_handler. Set handler
3234 and pass use different regs under NEW_EH_MODEL.
3235
2129b081
JW
3236Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
3237
3238 * i960.h (hard_regno_mode_ok): Changed to function from array of
3239 unsigned.
3240 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
3241 * i960.c (hard_regno_mode_ok): Changed to function from array of
3242 unsigned.
3243
029b38ff
R
3244Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3245
3246 * reload.c (remove_replacements): New function.
3247 * reload.h (remove_replacements): Declare.
3248 * reload1.c (choose_reload_regs): Disable some reloads that
3249 belong to inherited reloads.
3250
efdb3590
R
3251Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3252
9dd07f87
R
3253 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
3254
efdb3590
R
3255 * reload1.c (merge_assigned_reloads): When merging, reset
3256 reload_spill_index for the eliminated reload.
3257
5d27de7d
JL
3258Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
3259
3260 * haifa-sched.c (schedule_insns): Fix merge goof.
3261
92d4501f
JW
32621998-05-13 Jim Wilson <wilson@cygnus.com>
3263
3264 * varasm.c (make_decl_rtl): Revert April 1 change.
3265 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
3266 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
3267 Get function name from the SYMBOL_REF in the DECL_RTL, not from
3268 DECL_ASSEMBLER_NAME.
3269 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
3270 DECL_ASSEMBLER_NAME.
3271
d6cc54f6
JW
3272Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
3273
3274 * i386.c (notice_update_cc, output_float_compare): Disable
3275 TARGET_CMOVE support.
3276
6d3352d9 3277Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
0dfa1860
MM
3278 Jeff Law <law@cygnus.com>
3279
ae78d276
MM
3280 * rtlanal.c (find_reg_note): Ignore notes that are not on on
3281 insns of class 'i'.
3282 (find_regno_note): Likewise.
3283
82ce5b75
MM
3284 * Makefile.in (stor-layout.o): Depend on except.h
3285 (varasm.o, function.o): Likewise.
3286 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
3287
0dfa1860
MM
3288 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
3289 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
3290 ($(HOST_PREFIX_1)rtl.o): Likewise.
3291 ($(HOST_PREFIX_1)bitmap.o): New host object.
3292 * emit-rtl.c (toplevel): Include bitmap.h.
3293 (gen_rtx): Handle 't' and 'b' nodes.
3294 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
3295 Print block number for block begin/end notes. Print 't' type
3296 nodes as a pointer. Know that the 3rd argument of live range
3297 start/stop notes is really a range_info rtx. If type is 'b', print
3298 out argument as a bitmap.
3299 * rtl.c: Include bitmap.c.
3300 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
3301 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
3302 * rtl.def (RANGE_LIVE): New node to hold live information while we
3303 recalculate the basic blocks.
3304 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
9b91d8f4 3305 (RANGE_VAR): New node, to hold information saved in symbol node for New
0dfa1860
MM
3306 communicating live range information to the debug output functions.
3307 * rtl.h (rtunion_def): Add rttree and rtbit fields.
3308 (XBITMAP, XTREE): New accessor macros.
3309 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
3310 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
3311 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
3312 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
3313 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
3314 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
3315 (RANGE_INFO_*): Likewise.
3316 * sched.c (sched_analyze): Keep live range start/stop notes.
3317 (unlink_other_notes): Likewise.
3318 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
3319 (unlink_other_notes): Likewise.
3320 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
3321 (BLOCK_LIVE_RANGE_FLAG): Likewise.
3322 (DECL_LIVE_RANGE_RTL): Likewise.
3323 (struct tree_block): Add live_range_flag, live_range_var_flag,
3324 live_range_start and live_range_end.
3325 (struct tree_decl): Add live_range_rtl field.
3326 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
3327 (accessor_from_format): Likewise.
6d3352d9
MM
3328
3329 * haifa-sched.c (schedule_block): Make verbose output line up.
47312d84 3330 Also add a blank line in printing the individual ready lists.
6d3352d9 3331
63e76c87
KG
3332Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3333
3334 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
3335 (c-lex.o): Depend on output.h.
3336 (c-common.o): Likewise.
3337 (stmt.o): Likewise.
3338 (calls.o): Likewise.
3339 (integrate.o): Depend on toplev.h.
3340 (regclass.o): Depend on output.h.
3341 (final.o): Depend on reload.h.
3342
3343 * c-common.c: Include output.h.
3344 (check_format_info): Remove unused variable `integral_format'.
3345
3346 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
3347 `indent' with ATTRIBUTE_UNUSED.
3348 (print_lang_type): Likewise.
3349 (maybe_build_cleanup): Likewise for parameter `decl'.
3350 (copy_lang_decl): Likewise for parameter `node'.
3351
3352 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
3353 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3354 with ATTRIBUTE_UNUSED.
3355 (lookup_interface): Likewise for parameter `arg'.
3356 (is_class_name): Likewise.
3357 (maybe_objc_check_decl): Likewise for parameter `decl'.
3358 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
3359 `reflexive'.
3360 (maybe_objc_method_name): Likewise for parameter `decl'.
3361 (build_objc_string): Likewise for parameters `len' and `str'.
3362
3363 * c-lex.c: Include output.h.
3364
3365 * c-lex.h (position_after_white_space): Correct typo in prototype.
3366
3367 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
3368 c_expand_end_cond, init_iterators): Add prototypes.
3369
3370 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
3371 with ATTRIBUTE_UNUSED.
3372
3373 * calls.c: Include output.h.
3374
3375 * cccp.c (pipe_closed): Mark parameter `signo' with
3376 ATTRIBUTE_UNUSED.
3377
3378 * combine.c: Move inclusion of expr.h to after insn-config.h.
3379
3380 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
3381 as empty, rather define as ((void)0).
3382
3383 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
3384 Add parentheses around assignment used as truth value.
3385
3386 * cplus-dem.c (squangle_mop_up): Change return type to void.
3387 (internal_cplus_demangle): Remove unused parameter `options'.
3388 All callers changed.
3389 (cplus_demangle_opname): Remove function wide variable `int i' and
3390 replace with `size_t i' at each location where it is used.
3391 (cplus_demangle_opname): change type of `i' from int to size_t.
3392
3393 * cppexp.c (right_shift): Mark parameter `pfile' with
3394 ATTRIBUTE_UNUSED.
3395
3396 * cpphash.c (cpp_lookup): Likewise.
3397 (cpp_hash_cleanup): Likewise.
3398
3399 * cpplib.c (parse_name): Add a prototype and make it static.
3400 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
3401 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
3402 (macro_cleanup): Likewise for parameter `pfile'.
3403 (file_cleanup): Likewise.
3404
3405 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
3406 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
3407
3408 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
3409 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
3410
3411 * cse.c (cse_check_loop_start): Mark parameter `set' with
3412 ATTRIBUTE_UNUSED.
3413
3414 * dbxout.c (flag_minimal_debug, have_used_extensions,
3415 source_label_number): Move inside macro wrapper check against
3416 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
3417
3418 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
3419
3420 * except.h (doing_eh): Provide prototype.
3421
3422 * expr.c: Move inclusion of expr.h to after insn-config.h.
3423
3424 * final.c: Include reload.h.
3425 (shorten_branches): Cast the first argument of bzero to char *.
3426
3427 * fix-header.c (cpp_print_containing_files): Mark parameter
3428 `pfile' with ATTRIBUTE_UNUSED.
3429 (cpp_fatal): Likewise.
3430
3431 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
3432 to char *.
3433
3434 * genattrtab.c (make_length_attrs): Change the type of variable
3435 `i' from int to size_t.
3436 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
3437 (one_fn): Likewise.
9b91d8f4 3438
63e76c87
KG
3439 * genextract.c (main): When generating insn-extract.c, mark
3440 variable `junk' with ATTRIBUTE_UNUSED.
3441
3442 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
3443 argument of bzero to char*.
3444
3445 * integrate.c: Include toplev.h.
3446
3447 * libgcc2.c: Wrap `struct exception_table' and
3448 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
3449
3450 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
9b91d8f4 3451
63e76c87
KG
3452 * objc/objc-act.c: Include toplev.h.
3453 (lang_print_xnode): Mark parameters `file', `node' and `indent'
3454 with ATTRIBUTE_UNUSED.
3455 (finish_protocol): Likewise for parameter `protocol'.
3456
3457 * output.h (declare_weak): Add prototype.
3458 (decode_reg_name): Don't wrap with TREE_CODE macro.
3459 (assemble_alias): Add prototype.
3460
3461 * regclass.c: Include output.h.
3462
3463 * reload.h (reloads_conflict): Add prototype.
3464
3465 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
3466 output_func_start_profiler): Add prototypes.
3467
3468 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
3469 ATTRIBUTE_UNUSED.
3470
3471 * scan-decls.c: Include scan.h.
3472
3473 * scan.h (recognized_function, recognized_extern): Add prototypes.
3474
3475 * stmt.c: Include output.h.
3476
3477 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
3478 (output_lang_identify): Hide prototype and definition.
3479 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
3480 (pipe_closed): Likewise.
3481
3482 * toplev.h (count_error, strip_off_ending, error_for_asm,
3483 warning_for_asm): Add prototypes.
3484
a494747c 3485Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
a494747c 3486
32e705c4
MM
3487 * toplev.c (rest_of_compilation): "Charge" final for any time
3488 doing various cleanup operations after finishing compilation
3489 of a function.
3490
9b91d8f4 3491 * flow.c (dump_flow_info): Also print number of sets and
6fc4610b
MM
3492 whether or not the pseudo is a user variable.
3493
a494747c
MM
3494 * flow.c (reg_n_max): New global variable.
3495 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
3496 Delete regno_max variable.
3497 * regs.h (REG_N_CHECK): Define.
3498 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
3499 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
3500 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
3501
21622caf
JL
3502Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
3503
3504 * acconfig.h (ENABLE_CHECKING): Undefine.
3505 * configure.in (--enable-checking): New option.
3506
d668e863
R
3507Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3508
3509 * reload1.c (merge_assigned_reloads): Can merge
3510 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
3511 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
3512
b706d7f2
JW
3513Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
3514
3515 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
3516
4117a96b
R
3517Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3518
3519 * reload1.c (gen_reload): Create REG_EQUIV notes.
3520
4d3eb414
R
3521Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3522
3523 * reload1.c (reload): Fix check for USEs to use code of pattern.
3524 (choose_reload_regs): Remove dead variable use_insn.
3525
b10c8966
JL
3526Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
3527
9b91d8f4 3528 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
b10c8966 3529
cbb13457
MM
3530Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
3531
3532 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
3533 already defined.
3534 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
3535 (insn_{unit,issue_delay}): Ditto.
3536 (blockage_range): Ditto.
3537 (actual_hazard{,_this_instance}): Ditto.
3538 (schedule_unit): Ditto.
3539 (potential_hazard): Ditto.
3540 (insn_cost): Ditto.
3541 (swap_sort): Ditto.
3542 (queue_insn): Ditto.
3543 (birthing_insn_p): Ditto.
3544 (adjust_priority): Ditto.
3545 (get_block_head_tail): Ditto.
3546 (init_rgn_data_dependences): Ditto.
3547
1478d88a
KK
3548Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
3549
3550 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
3551
a688e0b7
GK
3552Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
3553
3554 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
3555
ec350bdd
GK
3556Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
3557
3558 * config/mips/mips.md (dslot): Move after definition of "cpu"
3559 attribute. Handle r3900 case.
3560
d4ba0ead
KG
3561Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3562
3563 * system.h: Define the STRINGIFY macro here.
3564 * protoize.c: Not here.
3565 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
3566
8a198bd2
JW
3567Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
3568
9b91d8f4 3569 * varasm.c (assemble_variable): Compute the alignment of the data
8a198bd2
JW
3570 earlier so that both initialized and uninitialized variables are
3571 effected by DATA_ALIGNMENT.
3572 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
3573
eace3df1
JL
3574Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
3575
3576 * mips.c: Prototype static functions.
3577
a9e95099
JW
3578Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
3579
b1a7d591
JW
3580 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
3581 Add explanatory comments.
3582
a9e95099
JW
3583 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
3584
0f177d7c
RH
3585Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
3586
3587 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
3588
28233641
JW
3589Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
3590
3591 * varasm.c (make_decl_rtl): Disable April 1 change.
3592
e55a5ea6
RH
3593Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
3594
3595 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
3596
e83015a9
RH
3597Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
3598
3599 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
3600 * alpha.c (print_operand): Handle it.
9b91d8f4 3601 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
e83015a9
RH
3602 related define_splits. Also add peepholes for SImode reload
3603 plus sign_extend lossage.
3604
320e7c40
KG
3605Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3606
3607 * genattr.c: Include stdarg.h/varargs.h. Change function
3608 `fatal' to use variable arguments instead of faking it with
3609 integer parameters. Provide a prototype which also
3610 checks the format specifiers using ATTRIBUTE_PRINTF_1.
3611
3612 * genattrtab.c: Likewise.
3613 * gencodes.c: Likewise.
3614 * genconfig.c: Likewise.
3615 * genemit.c: Likewise.
3616 * genextract.c: Likewise.
3617 * genflags.c: Likewise.
3618 * genopinit.c: Likewise.
3619 * genpeep.c: Likewise.
3620 * genrecog.c: Likewise.
3621 * genoutput.c: Likewise. Similarly for function `error'.
3622
e9b4fabf
JL
3623Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3624
3625 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
3626 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
3627 * configure.in: Use GCC_C_VOLATILE.
3628 * system.h (volatile): Define as empty if no volatile support is
3629 available.
3630
3631Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
3632
3633 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
3634 generated fucntion.
3635
f283421d
RH
3636Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
3637
3638 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
3639 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
3640 the body of beq; additionally set the mode of the branch to CCmode for
9b91d8f4 3641 FP compares and not fast_math.
f283421d
RH
3642 (alpha_emit_conditional_move): Always use a compare insn for FP
3643 when not fast_math, as well as setting CCmode on the cmov.
3644 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
3645
3646 * machmode.h (COMPLEX_MODE_P): New macro.
3647
53c0919d
RH
3648Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
3649
3650 * haifa-sched.c (print_exp): Fix typo.
3651
23d297ab
JL
3652Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
3653
3654 * version.c: Bump for snapshot.
3655
cf879efa
MM
3656Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
3657
3658 * final.c (final_scan_insn): Call fatal_insn instead of abort if
3659 we could not split an insn when required to.
3660
5b8ae21f
MM
3661 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
3662 level insns.
3663 (peepholes): Disable peepholes that call dead_or_set_p.
3664 (movsi): Rewrite to handle addresses better after last change.
3665 Add define_split to split load of addresses in large/medium modes.
3666 (prologue): Call m32r_expand_prologue.
3667 (movsi_{push,pop}): Generators for push/pop.
3668 (movsi): Support PRE_{INC,DEC}, POST_INC.
3669 (mov{di,df}): Rewrite. Always split the insns.
3670 (movsf): Add define_split to get register load in correct mode.
3671 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
3672 (attributes): Rewrite attributes so that type indicates both the
3673 type and the length of the insn directly.
3674 (all insns): Change to use new type attributes.
3675 (debug): New attribute to convey whether -mdebug was used.
3676 (opt_space): New attribute to convey whether -Os was used.
3677 (function units): Loads are 3 cycles, not 2. Better classify all
3678 insns into short/long.
3679 (load/store/extend insns): Add separate case for load/store
3680 indirect operations without an offset.
3681 (divsi3): Division is a long operation, not short.
3682
3683 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
3684 modes > 1 word.
3685 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
3686 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
3687 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
3688 operands with PRE_{INC,DEC}, POST_INC.
3689 (FUNCTION_PROFILER): Call abort instead of doing nothing.
3690 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
3691 SImode variables.
3692 (gen_split_move_double): Declare.
3693 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
3694
3695 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
3696 emit_move_insn, build up SET's directly.
3697 (toplevel): Include system.h, not stdio.h.
3698 (move_double_src_operand): Allow any DF or DI mode constant.
3699 (gen_split_move_double): Split moves of DI or DF values into the
3700 appropriate moves, loads, or stores. Don't handle use of auto
3701 inc/dec if using dead index. Do handle overlapping moves, etc.
3702 (m32r_frame_info): Remove prologue_size field.
3703 (m32r_compute_frame_size): Don't calculate prologue size.
3704 (m32r_output_function_prologue): Change to pretty much a NOP.
3705 (m32r_expand_prologue): Expand prologue as a series of INSNs.
3706 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
3707 (m32r_print_operand_address): Ditto.
9b91d8f4 3708
d7c2e385
L
3709Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
3710
3711 * reload1.c (emit_reload_insns): When performing expensive
3712 optimizations, do not output the last reload insn if OLD is
3713 not the dest of NSN and is in the src and is clobbered by INSN.
3714
560bd19e
KG
3715Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3716
3717 * Makefile.in (genrtl.o): Depend on system.h.
3718 * gengenrtl.c (gencode): When creating genrtl.c, have it
3719 include system.h.
3720
0d33d22e
AS
3721Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3722
3723 * config/m68k/t-linux: Remove extra stuff already included in
3724 config/t-linux.
3725
dea4ae0d
MH
3726Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
3727
3728 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
3729 curses.h if it contains `typedef char bool;', as suggested by
3730 Manfred Hollstein <manfred@s-direktnet.de>.
3731
3732 * configure.in: Rename fixinc.math to fixinc.wrap.
3733
02e56202
JW
3734Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
3735
bbeb7b65
JW
3736 * gcc.c (read_specs): Handle missing blank line at end of specs file.
3737
02e56202
JW
3738 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
3739 movdfcc_1): Disable.
3740
e445171e
JW
3741Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
3742
3743 * configure.in (enable_threads): Rename to enable_threads_flag before
3744 main loop. Set enable_threads to enable_threads_flag inside main
3745 loop.
3746
a1b5a7e1
MM
3747Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
3748
3749 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
3750 multiple times.
3751
76b4b31e
KG
3752Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3753
3754 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
9b91d8f4 3755
76b4b31e
KG
3756 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
3757 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
3758 (AC_CHECK_FUNCS): Remove unused check for vprintf.
9b91d8f4 3759
76b4b31e
KG
3760 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
3761 (cccp.o): Depend on gansidecl.h.
3762 (cexp.o): Likewise.
3763
3764 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
3765 per the rest of gcc source.
3766 * cexp.y: Likewise. Include gansidecl.h and remove all code made
3767 redundant.
3768
3769 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
3770 used when vfprintf is missing.
3771 * cexp.y: Likewise.
3772 * gcc.c: Likewise.
3773 * genattrtab.c: Likewise.
3774 * mips-tfile.c: Likewise.
3775 * toplev.c: Likewise.
3776
3777 * vfprintf.c: New file.
3778 * doprint.c: New file.
3779
bebc4663
JL
3780Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
3781
3782 * config/linux.h (ASM_COMMENT_START): Remove from here,
3783 * config/linux-aout.h (ASM_COMMENT_START): and here,
3784 * config/i386/linux.h (ASM_COMMENT_START): to here,
3785 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
3786 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
3787 here as '#' too.
3788
436bf9fb
AS
3789Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3790
3791 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
9b91d8f4 3792 constant.
436bf9fb 3793
f103890b
RL
3794Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
3795
3796 * Makefile.in (dwarfout.o) Add toplev.h dependency.
3797 * dwarfout.c, i386.c: Include toplev.h
3798 * toplev.h: (pfatal_with_name) Add prototype.
3799
024b5658
JM
3800Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
3801
3802 * Makefile.in: Fix .SUFFIXES.
3803
410c3875
AM
3804Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
3805
3806 * config/linux.h (ASM_COMMENT_START): Define as "#".
3807 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
3808
7e073314
JW
3809Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
3810
71ebb3b8
JW
3811 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
3812 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
3813
a0c8e1b2
JW
3814 * toplev.c: Include toplev.h.
3815 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
3816 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
3817 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
3818 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
3819 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
3820 toplev.h dependency.
9b91d8f4 3821
1b15c5de
JW
3822 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
3823 HARD_FRAME_POINTER_REGNUM.
3824
7e073314
JW
3825 * expr.c (target_temp_slot_level): Delete duplicate definition.
3826
d06eab0d
JL
3827Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
3828
df03cab5 3829 * stmt.c (mark_seen_cases): Make it have external linkage again.
0586a4ce
JL
3830 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
3831 has been included.
df03cab5 3832
6b879bcc
JL
3833 * haifa-sched.c (print_value, case SUBREG): Fix typo.
3834
6b28fd63
JL
3835 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
3836 * i386.h (REG_CLASS_CONTENTS): Similarly.
3837
cc132865
JL
3838 * toplev.c (-fsched-max): Delete flag.
3839 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
3840 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
3841 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
3842 conditionals.
3843
3844 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
3845 inner loops which are not reducible.
3846
fd4a1ca5
JL
3847 * loop.c (regs_match_p): Fix typo in prototype.
3848
d06eab0d
JL
3849 * regmove.c (try_auto_increment): Wrap declaration inside an
3850 #ifdef AUTO_INC_DEC.
3851
31bfbf1f
MM
3852Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
3853
3854 * final.c (output_operand_lossage): Call fatal with the operand
3855 lossage message instead of calling abort.
3856
e9a780ec
KG
3857Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3858
3859 * c-common.c: Convert to using ctype macros defined in system.h.
3860 * c-lex.c: Likewise.
3861 * cccp.c: Likewise.
3862 * collect2.c: Likewise.
3863 * rs6000.c: Likewise.
3864 * cpplib.c: Likewise.
3865 * fix-header.c: Likewise.
3866 * gcc.c: Likewise.
3867 * gen-protos.c: Likewise.
3868 * pexecute.c: Likewise.
3869 * protoize.c: Likewise.
3870 * rtl.c: Likewise.
3871 * scan.c: Likewise.
3872 * stmt.c: Likewise.
3873 * tlink.c: Likewise.
9b91d8f4 3874 * toplev.c: Likewise.
e9a780ec 3875
d4c3e60e
GK
3876Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
3877
9b91d8f4 3878 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
d4c3e60e
GK
3879 Replace -gdwarf-2 with -g0.
3880
90fbb8c9
KG
3881Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3882
3883 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
3884 * mips-tdump.c: Include system.h, remove redundant headers.
3885 * mips-tfile.c: Likewise. Also, convert all ctype function calls
3886 to calls of the macro versions defined in system.h.
3887
3888 * objc/Make-lang.in (objc-act.o): Depend on system.h.
3889 * objc/objc-act.c: Include system.h, remove redundant headers.
3890
8f81384f
KG
3891Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3892
3893 * configure.in (AC_CHECK_FUNCS): Add isascii.
3894 (GCC_NEED_DECLARATIONS): Add atof.
3895
3896 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
3897 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
3898
e572c0c6
KG
3899Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3900
3901 * system.h: Wrap time.h and sys/file.h in autoconf checks.
3902 Provide default definitions for O_RDONLY and O_WRONLY here.
3903
3904 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
3905
8830da36
MM
39061998-05-06 Mark Mitchell <mmitchell@usa.net>
3907
3908 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
3909
c5ff95e6
RL
3910Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
3911
3912 * toplev.h: New file. Protypes for functions in toplev.c.
3913 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
9b91d8f4
UD
3914 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
3915 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
3916 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
3917 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
3918 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
c5ff95e6
RL
3919 varasm.c: include it.
3920
15ebe47d
JL
3921Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
3922 Jim Wilson (wilson@cygnus.com)
3923
3924 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
3925 blocks. Check for 1 successor which is the EXIT_BLOCK.
3926
3927 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
3928 unreachable loops with more than one block.
3929
dbbfa8c8
MH
3930Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
3931
3932 * fix-header.c (write_rbrac): Add "abort" to functions which need to
3933 be protected.
3934
f5963e61
JL
3935Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
3936
3937 * Check in merge from gcc2. See ChangeLog.12 for details.
3938
3d90c2b5
JW
3939Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
3940
c6a9dea8
JW
3941 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
3942 accept 'a' flag. 'S' does accept 'a' flag.
3943 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
3944 and `a' flag.
3945
3d90c2b5
JW
3946 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
3947
97b57a81
AS
3948Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3949
3950 * config/m68k/m68k.h: Declare functions from m68k.c used in
3951 macros and machine description.
3952 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
3953 long values.
3954 (ASM_OUTPUT_FLOAT): Likewise.
3955 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3956
c5c63738
JM
3957Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
3958
3959 * tree.def: Add NAMESPACE_DECL.
3960 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
3961 * dwarf2out.c (push_decl_scope): Likewise.
3962 (scope_die_for): Likewise.
3963 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
3964 how to get next context level.
3965
2e14a41b
JW
3966Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
3967
3968 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
3969 case.
3970
f78c792c
JL
3971Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
3972
8b05263d
JL
3973 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
3974
f78c792c
JL
3975 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
3976 for any insns skipped at the start of a block because they were
3977 redundant.
3978
4330b0e7
JW
3979Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
3980
3981 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
3982
b57062ca
UD
39831998-05-04 Ulrich Drepper <drepper@cygnus.com>
3984
3985 * c-common.c (format_char_info): Add new field hhlen.
3986 (print_char_table, scan_char_table, time_char_table): Initialize
3987 hhlen field appropriately.
3988 (char_format_info): Recognize hh modifier and lookup correct char
3989 table entry.
3990
06eaa86f
JW
3991Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
3992
3993 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
3994 reference if this is a store.
3995
9ed5dc54
RH
3996Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
3997
3998 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
3999
fb6d9312
RL
4000Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
4001
4002 Make UnixWare 7 bootstrap support work with final shipping product.
b57062ca 4003 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
fb6d9312
RL
4004 Pick up xm-siglist and xm-alloca.
4005 (xm_defines): Add USG so dbxout will build.
4006 * configure: Regenerate.
4007
b53beeb2 4008Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
82d6b402
RH
4009
4010 Support for official Sparc V9 ABI:
4011 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
4012 Care for flag_pcc_struct_return default.
4013 (output_move_quad): Rewrite to move by halves on v9 and in the
4014 proper direction.
4015 (move_quad_direction): New function.
4016 (output_fp_move_quad): Use it to determine the direction of copy.
4017 (function_arg_slotno): Return -1 for FP reg overflow as well.
4018 (function_arg_record_value*): New functions.
4019 (function_arg): Use them. Streamline unprototyped parameter passing.
4020 (function_arg_pass_by_reference): Pass TCmode by reference.
4021 (function_value): New function.
4022 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
4023 long long in 64-bit mode.
4024 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
4025 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
4026 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
4027 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
4028 (BASE_INCOMING_ARG_REG): Likewise.
4029 (FUNCTION_VALUE): Call function_value.
4030 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
4031 * sparc.md (movdi_sp32_v9): Disable for arch64.
4032 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
4033 (call_value_address_sp64): Remove register class constraints.
4034 (call_value_symbolic_sp64): Likewise.
4035 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
4036 v9 case to 32-bit constants.
4037 (goto_handler_and_restore_v9): Provide a version for arch64.
4038 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
4039 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
4040 (CPP_PREDEFINES): New.
4041 * sparc/sp64-elf.h: Likewise.
4042 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
4043 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
4044 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
4045
e40abc32
JL
4046Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
4047
4048 * version.c: Bump for snapshot.
4049
b60a8416
R
4050Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4051
4052 * reload.c (find_reloads): Emit USEs to mark where a pseudo
1e89ac8a 4053 is reloaded with the MEM of its stack slot.
b60a8416
R
4054 * reload1.c (cannot_omit_stores): Delete.
4055 (reload): Don't initialize it.
4056 Don't apply avoid_return_reg logic to USEs.
4057 When done, remove USEs that have a REG_EQUAL note on them.
4058 (emit_reload_insns): Handle case where we have inherited a MEM.
4d3eb414 4059 (choose_reload_regs): Likewise.
b60a8416
R
4060 (delete_output_reload): Don't use cannot_omit_stores.
4061
c1879238
JW
4062Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
4063
4064 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
4065
459b3825
MM
4066Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
4067
4068 * haifa-sched.c (print_{exp,value}): Various changes to make the
4069 debug output easier to read. Also, use only one buffer, and make
4070 sure the buffer we are passed in doesn't overflow.
4071 (safe_concat): Concatenate to a buffer without overflow.
4072
3fe4d12a 4073Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
459b3825
MM
4074
4075 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
4076 with the prototype.
b57062ca 4077
93da030f
R
4078Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4079
4080 * sched.c (new_insn_dead_notes): Check if the register was
4081 used in the original instruction.
4082 * haifa-sched.c (new_insn_dead_notes): Likewise.
4083
0c84c618
JW
4084Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
4085
4086 * dwarf2out.c (scope_die_for): If could not find proper scope,
4087 check for and handle tagged type with incorrect TYPE_CONTEXT.
4088
bf5f0e90
JC
4089Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
4090
4091 * calls.c (expand_call): Fix recognition of C++ operator new.
4092
4093 * alias.c (mode_alias_check): Disable type based alias detection.
4094
a0281dae
GK
4095Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
4096
4097 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
4098 ASM_OUTPUT_WEAK_ALIAS): Define.
4099 * config/mips/elf64.h: Same.
4100 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
4101 ASM_WEAKEN_LABEL): Removed.
4102
55666054
AS
4103Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4104
4105 * calls.c (expand_call): Bump the length limit on the specially
4106 recognized function names to 17.
4107
2cea586a
JW
4108Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
4109
f60d6248
JW
4110 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
4111 when undefining macros at the end.
4112
bf931ec8
JW
4113 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
4114 val or len has TREE_SIDE_EFFECTS set.
4115
2cea586a
JW
4116 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
4117 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
4118 (smuldi3_highpart): Call const v8plus routine.
4119 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
4120 (const_smulsi3_highpart_v8plus): New pattern.
4121 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
4122 (umulsidi3): Call const v8plus routine.
4123 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
4124 routine.
4125 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
4126 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
4127
2b7972b0
MM
4128Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
4129
4130 * m32r.c (*_oper{and|ator}): Change enum arguments and return
4131 values to int, so they can be prototyped even in files that don't
4132 include rtl.h.
4133 ({small,large}_insn_p): Ditto.
4134 (m32r_select_cc_mode): Ditto.
4135 (gen_compare): Ditto.
4136 (function_arg_partial_nregs): Ditto.
4137 (m32r_setup_incoming_varargs): Ditto.
4138 (init_reg_tables): Add prototype.
4139 (m32r_frame_info): Add prolog_size field.
4140 (m32r_compute_frame_size): Calculate the size of the prologue.
4141 (m32r_first_insn_address): Return prologue size.
4142 (m32r_output_function_prologue): Calculate frame size before
4143 printing out information. Print out the prologue size.
4144
4145 * m32r.h: Prototype all functions in m32r.c.
4146 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
4147
4148 * m32r.md (bcc functions): Cast enum's to int.
4149
4150 * m32r.c (conditional_move_operand): Silence a debug message.
4151 ({small,long}_insn): New predicates.
b57062ca 4152
2b7972b0
MM
4153 * m32r.h (TARGET_M32R): New macro.
4154 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
4155 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
4156 was selected.
4157 (ISSUE_RATE): Define as 2.
4158
4159 * m32r.md (insn_size): New attribute.
4160 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
4161 short.
4162 (m32r): New attribute.
4163
4164 * configure.in (enable_haifa): Switch m32r to Haifa by default.
4165 * configure: Regenerate.
4166
4167 (Changes from Nick Clifton <nickc@cygnus.com>)
4168 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
4169 the equivalent of a negated 'I' constraint.
4170 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
4171 optimisation to work.
4172
4173 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
4174 than 'I' since the value is negated.
4175 (peephole): Add peephole optimisation to cope with optimization of
4176 divide and subtracts of the same operands.
4177
4178 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
b57062ca 4179 * m32r.h: Ditto.
2b7972b0
MM
4180 * m32r.md: Ditto.
4181
4182 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
4183 predicates.
4184
bd55c374
MH
4185Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
4186
4187 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
4188
3a6bd8c0
NC
4189Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
4190
4191 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
4192 frame_pointer_rtx not FRAME_POINTER_REGNUM.
4193
0628fde6
JW
4194Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
4195
561cf7b1
JW
4196 * reg-stack.c: Revert last patch (Apr 20).
4197 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
4198
1688d6d2
JW
4199 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
4200
0628fde6
JW
4201 * loop.c (check_dbra_loop): New locals jump, first_compare, and
4202 compare_and_branch. Call get_condition to set first_compare.
4203 Set compare_and_branch to number of compare/branch instructions.
4204 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
4205 Replace '2' with compare_and_branch.
4206
07623417
AM
4207Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4208
4209 * cplus-dem.c (demangle_qualified): Replace missing else.
4210
97d6fd65
R
4211Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4212
4213 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
4214
3d5a0820
R
4215Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4216
4217 * sh.c (sh_expand_prologue, sh_expand_epilogue):
4218 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
4219 * sh.h (STACK_BOUNDARY): Likewise.
4220
ef41dabb
R
4221Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4222
4223 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4224
14bf4a33
MM
4225Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
4226
22c4957e
MM
4227 * system.h (abort): If abort is not defined, and neither is
4228 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
4229 reporting the line and filename of the error.
4230
4231 * .gdbinit: Add breakpoints on exit and fancy_abort.
4232
563c063f
MM
4233 * final.c (split_double): Avoid a compiler warning if
4234 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
4235
14bf4a33
MM
4236 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
4237 for calling jump_optimize.
4238
4239 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
4240 macros, rather than 0/1's.
4241
5d02ee66
RH
4242Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
4243
4244 * alpha.h (CONST_COSTS): Zero is always free.
4245 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
4246
7bf40741
AS
4247Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4248
4249 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
4250 length in the name of a virtual table.
4251
556ccd9b
RH
4252Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
4253
4254 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
4255
1206d294
JL
4256Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
4257
4258 * version.c: Bump for snapshot.
4259
4f242db3
JL
4260Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
4261
4262 * fold-const.c (fold_convert): Fix typo.
4263
de12be17
JC
4264Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
4265
4266 * alias.c (alias_invariant): New variable.
4267 (record_base_value): New argument INVARIANT.
4268 (memrefs_conflict_p): If a register has an entry in the alias_invariant
4269 array, try substituting that value for the register.
4270
4271 * rtl.h: Declare record_base_value.
4272
4273 * loop.c, unroll.c: Update callers of record_base_value.
4274
4275 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
4276 ZERO_EXTEND do not affect base values.
4277
fe81dd69
JL
4278Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
4279
fb2c5c00
JL
4280 * dbxout.c (dbxout_type): Fix typo.
4281 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
4282
fe81dd69
JL
4283 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
4284
87d1ea79
JC
4285Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
4286
4287 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
4288 if the argument is the address of a structure or array.
4289
4290 * configure.in: Enable Haifa scheduler by default for SPARC.
4291
e89d3e6f
R
4292Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4293
4294 * cse.c (cse_set_around_loop): Don't do optimization when
4295 new pseudos are created.
4296
442f4018
JL
4297Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
4298
4299 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
4300 appropriately.
4301 (dbxout_type_method_1, dbxout_type): Likewise.
4302 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
4303 (dbxout_type): Fix check for when to print a type range in
4304 octal vs decimal.
4305
7174c937
R
4306Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4307
4308 * (gen_shl_and, in case 1): Fix comparison with mask.
4309
0b812758
NC
4310Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
4311
4312 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
4313 pointer as second register in REG+REG pair.
4314
753a73c8
KG
4315Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4316
4317 * c-common.c (check_format_info): Don't check for the 'x' format
4318 character twice, instead check for 'x' and 'X'
4319
4a1991b3
MH
4320Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
4321
4322 * Makefile.in (libgcc2.ready): Add explicit dependancy from
4323 $(STMP_FIXPROTO) to ensure all necessary include files have
4324 been created and to guarantee proper parallel builds.
4325
aec373f1
R
4326Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4327
4328 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
4329 register for stdarg functions.
4330 * sh.h (current_function_varargs): Declare.
4331 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
4332
f5880dbe
JW
43331998-04-23 Jim Wilson <wilson@cygnus.com>
4334
f1f53f0b
JW
4335 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
4336 inhibit_libc is defined.
4337
f5880dbe
JW
4338 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
4339
8ade1519
JW
4340Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
4341
4342 * profile.c (tablejump_entry_p): New function.
4343 (branch_prob): Add code to recognize MIPS tablejump entry branch.
4344 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
4345
a2538ff7
NC
4346Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
4347
4348 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
4349 found, rather than at end of the loop, after the insn has been
b57062ca 4350 changed.
a2538ff7 4351
d0c42859
R
4352Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4353
4354 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
4355 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
4356
693e265f
MM
4357Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
4358
4359 * loop.c (note_addr_stored): Correct function to take 2 arguments,
4360 instead of 1.
4361
4362 * rtl.def (MATCH_INSN2): Add new matching pattern.
b57062ca 4363 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
693e265f 4364
27eef9ce
JC
4365Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
4366
4367 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
4368 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
b57062ca 4369
27eef9ce
JC
4370 * final.c (split_double): Sign extend both halves of a split CONST_INT.
4371
d972dd33
JL
4372Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
4373
4374 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
4375
5e5199e8
AM
4376Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
4377
4378 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
4379 (cplus_demangle_opname): Call mop_up_squangle.
b57062ca 4380 (cplus_demangle): Initialize squangle info, then call
5e5199e8 4381 internal_cplus_demangle. (Most code moved there as well)
b57062ca 4382 (internal_cplus_demangle): New function, performs most of what use
5e5199e8
AM
4383 to be done in cplus_demangle, but is only called with this file.
4384 (squangle_mop_up): New function to clean up B and K code data.
4385 (mop_up): set pointers to NULL after freeing.
b57062ca 4386 (demangle_signature, demangle_template, demangle_class): Add
5e5199e8
AM
4387 switch elements to handle K and B codes.
4388 (demangle_prefix, gnu_special, demangle_qualified): Add
4389 code to handle K and B codes.
4390 (do_type, demangle_fund_type): Handle B and K codes.
4391 (remember_Ktype): New function to store K info.
4392 (register_Btype, remember_Btype): New functions for B codes.
4393 (forget_B_and_K_types): New function to destroy B and K info.
4394
0dacbd0e
JW
43951998-04-21 Jim Wilson <wilson@cygnus.com>
4396
4397 * stmt.c (check_seenlabel): When search for line number note for
4398 warning, handle case where there is no such note.
4399
4ceb7595
JC
4400Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
4401
4402 * genemit.c (gen_exp): Allow machine description to set mode of
4403 MATCH_OP_DUP.
4404
d09c9385
JC
4405Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
4406
4407 * alias.c (mode_alias_check): New function.
4408 (true_dependence, anti_dependence, output_dependence): Call
4409 mode_alias_check.
4410
1eeed24e
JL
4411Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
4412
d1c17572
JL
4413 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
4414 (MIPS_STACK_ALIGN): Similarly.
4415
a6d7e156
JL
4416 * c-common.c (type_for_mode): Handle TI types.
4417 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
4418 (init_decl_processing): Handle TI types.
4419 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
4420
1eeed24e
JL
4421 * mips.c (block_move_loop): Test Pmode == DImode instead of
4422 TARGET_MIPS64.
4423 (expand_block_move, save_restore_insns): Likewise.
4424 (function_prologue, mips_expand_prologue): Likewise.
4425 (mips_expand_epilogue): Likewise.
4426 * mips.h (POINTER_SIZE): Allow specific targets to override.
4427 (Pmode): Allow specific targets to override.
4428 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
4429 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
4430 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
4431 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
4432 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
4433 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
4434 * mips.md (indirect, tablejump & casesi support): Test for
4435 Pmode == DImode instead of TARGET_MIPS64.
4436 (call patterns): Likewise.
4437
d2f5ef70
KG
4438Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4439
4440 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
4441 for gen_rtx(MEM, ...).
4442
cb85a2f3
RH
4443Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
4444
4445 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
4446 to not be so gross, and to properly function with PIC.
4447
bb27e6c9
JW
4448Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
4449
99b13ed3
JW
4450 * frame.c (heapsort): Rename to frame_heapsort.
4451
bb27e6c9
JW
4452 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
4453
a9a05945
DE
4454Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
4455
4456 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
4457
dc0f0eb8
JW
4458Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
4459
4460 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
4461 operands during and after reload.
4462
95707627
R
4463Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4464
ba70e85a
JR
4465 * final.c (shorten_branches, init_insn_lengths): Move code
4466 to free label_align, uid_shuid, insn_lengths, insn_addresses
4467 and uid_align from the former function into the latter one;
4468 Add code to clear these variables.
4469 * sh.h (label_align): Remove declaration.
95707627 4470
0cd355fe
MM
4471Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
4472
763d7ce8
MM
4473 * gcc.c (lang_specific_driver): Declare prototype properly so
4474 fatal can be passed to it without error.
4475
f55b1ca8
MM
4476 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
4477 * configure: Regenerate.
4478 * config.in: Add #undef's for strchr and strrchr.
4479
4480 * protoize.c (toplevel): If we have rindex, but not strrchr, map
4481 rindex to strrchr.
4482 (file_could_be_converted): Use strrchr, not rindex since rindex is
4483 not defined on Linux systems when _POSIX_SOURCE is defined.
4484 (file_normally_convertible): Ditto.
4485 (process_aux_info_file): Ditto.
4486 (main): Ditto.
4487
0cd355fe
MM
4488 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
4489 a constant to an integer register, don't split the insns that do
4490 the simple AND and OR operations, rather just split each word, and
4491 let the normal movsi define split handle it further.
4492
a0798779
R
4493Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4494
4495 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
4496 (split_branches): Call init_insn_lengths.
4497
ced8dd8c
MM
4498Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
4499
4500 * i386.c: Include expr.h to get the change_address prototype
4501 declared.
b57062ca 4502
f37eb5cb
L
4503Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
4504
4505 * reg-stack.c (subst_asm_stack_regs): Change to return the last
4506 new insn generated by this function.
4507 (subst_stack_regs): Likewise.
4508 (convert_regs): Record the last newly generated insn and use
4509 it for change_stack () instead of INSN.
4510
49fb8382
MH
4511Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
4512
4513 * fix-header.c (enum special_file): Undefine enumerators if they
4514 are already defined by include files.
4515 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
4516 macro with '__' to not pollute user namespace.
4517
c6a754f2
RH
4518Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
4519
4520 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
4521
399cc148
JL
4522Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
4523
4524 * version.c: Bump for snapshot.
4525
84b77fba
JW
4526Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
4527
07415a17
JL
4528 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
4529
84b77fba
JW
4530 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
4531 Add missing -Dpentium* options.
4532 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
4533 instead of CPP_CPU_DEFAULT.
4534 (EXTRA_SPECS): Add entry for cpp_cpu_default.
4535
db72d7a1
DE
4536Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
4537
4538 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
4539 negative in a stackless frame.
4540 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
4541 in stackless frame size. Support 64-bit stackless frame size.
4542 Combine fpmem offset calculations and don't add total_size to
4543 offset if not pushing a stack frame.
4544
a1ecb5ca
JW
4545Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
4546
4547 * regmove.c (fixup_match_1): In three places, in flag_exceptions
4548 check, change p to q.
4549
a2a05b0a
JW
4550Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
4551
4552 * gcc.c (lang_specific_driver): Add new parm type to prototype.
4553 (added_libraries): New file scope static variable.
4554 (process_command): Initialize added_libraries. Pass it to
4555 lang_specific_driver.
4556 (main): Use added_libraries in check for no input files.
b57062ca 4557
284d86e9
JC
4558Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
4559
4560 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
4561 code generation. Use 64 bit instructions in 32 bit mode when
4562 possible. Use V9 return instruction. UltraSPARC optimizations.
4563
4564 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
4565
43be8193
JL
4566Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
4567
ea8693a4
JL
4568 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
4569 just pass zero. That will work regardless of the size of HARD_REG_SET.
4570
43be8193
JL
4571 * libgcc2.c (__floatdisf): Fix a couple typos.
4572
45df6aea
JW
4573Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
4574
4575 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
4576
6cca74ab
GM
4577Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
4578
4579 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
4580
77e6b0eb
JC
4581Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
4582
4583 * emit-rtl.c (operand_subword_force): If a register can not be
4584 accessed by words, copy it to a pseudo register.
4585
27f4cfdb
JW
4586Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
4587
4588 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
4589
f4a73984
MM
4590Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
4591
4592 * tree.h (mark_seen_cases): Delete declaration.
4593
00769100
JL
4594Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
4595
4596 * stmt.c (mark_seen_cases): Make static and add prototype.
4597
2467749d
KG
4598Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4599
4600 * frame.c: Include stdlib.h and unistd.h to possibly get various
4601 function prototypes. The fixproto script guarantees these header
4602 files exist on the target system.
4603 * libgcc2.c: Likewise.
b57062ca 4604
2467749d
KG
4605 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
4606 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
4607 function parameters.
4608 * libgcc2.c (__udiv_w_sdiv): Likewise.
4609
74c5186c
JL
4610Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
4611
ac546323
JL
4612 * varasm.c (asm_output_bss): Add prototype.
4613 (asm_output_aligned_bss): Likewise.
4614
4615 * unroll.c (verify_addresses): Add prototype.
4616
4617 * toplev.c: Add many prototypes. Too many to mention here.
4618
4619 * stmt.c (check_seenlabel): Add prototype.
4620
4621 * rtlanal.c (reg_set_p_1): Add prototype.
4622 (reg_set_last_1): Likewise.
4623
4624 * reorg.c (find_dead_or_set_registers): Add prototype.
b57062ca 4625
ac546323
JL
4626 * regmove (try_auto_increment): Add prototype.
4627
4628 * reg-stack.c (pop_stack): Add prototype.
4629
4630 * recog.c (validate_replace_rtx_1): Add prototype.
4631 (find_cosntant_term_loc): Likewise.
4632
a777ae13
JL
4633 * loop.c (regs_patch_p): Add prototype.
4634 (add_label_notes, count_nonfixed_reads): Likewise.
4635 (find_single_use_in_loop): Likewise.
4636 (express_from): Surround prototype with #ifdef.
4637 (giv_sort): Similarly.
4638
4639 * jump.c (mark_modified_reg): Add prototype.
4640
4641 * haifa-sched.c (is_prisky): Add prototype.
4642 (queue_to_ready): Likewise.
4643
4644 * genextract.c (gen_insn): Add prototype.
4645
4646 * genemit.c (max_operand_1): Add prototype.
4647 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
4648 (gen_expand, gen_explit, output_add_clobbers): Likewise.
4649 (output_init_mov_optab): Likewise.
4650
4651 * genattrtab.c (attr_hash_add_rtx): Add prototype.
4652 (attr_hash_add_string, write_length_unit_log): Likewise.
4653
4654 * genattr.c (init_range): Add prototype.
4655
4656 * combine.c (sets_function_arg_p): Add prototype.
4657
4658 * expr.c (store_constructor_field): Add prototype.
4659 (get_memory_usage_from_modifier): Likewise
4660
4661 * expmed.c (synth_mult): Add prototype.
4662 (choose_multiplier, invert_mod2n): Likewise.
4663
242c13b0
JL
4664 * except.c (push_eh_entry): Add prototype.
4665 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
4666 (call_get_eh_context, start_dynamic_cleanup): Likewise.
4667 (start_dynamic_handler, can_throw): Likewise.
4668 (output_exception_table_entry, scan_region): Likewise.
4669 (eh_regs, set_insn_eh_region): Likewise.
4670
1ad4f46b
JL
4671 * dwarfout.c (decl_class_context): Add prototype.
4672 (output_inheritance_die, type_ok_for_scope): Likewise.
4673
e822c593
JL
4674 * c-lex.c (skip_white_space_on_line): Add prototype.
4675
70fec650
JL
4676 * alias.c (record_set): Add prototype.
4677 (find_base_term, base_alias_check): Likewise.
b57062ca 4678
1ac4f799
JL
4679 * function.c (assign_outer_stack_local): Make static and add prototype.
4680
a2e68776
JL
4681 * haifa-sched.c (build_control_flow): Accept raw data as inputs
4682 instead of computing it locally. Callers changed.
4683 (find_rgns): Several new arguments. Callers changed.
4684 Generally clean up and comment better. Use dominators to
4685 identify reducible loops. Convert some flag arrays to bitmaps.
4686 Convert most of the code to work on pred/succ lists instead of
4687 an edge table. Add comments for future improvements.
4688 (schedule_insns): Allocate temporary tables for flow data, call
4689 routines to compute flow data and pass it along to children as
4690 arguments.
4691 (debug_control_flow): Delete. Use dump_bb_data instead.
4692
97b1ef1c
JL
4693 * basic-block.h (compute_dominators): Declare.
4694
74c5186c
JL
4695 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
4696 functions.
4697 * basic-block.h: Declare them.
4698
7ce55772
JW
4699Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
4700
4701 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
4702 no operands.
4703
e88caebd
APB
4704Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
4705
4706 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
4707 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
4708 node is non NULL. Cache last file name and file name identifier node.
4709
a62e870c
MM
47101998-04-15 Mark Mitchell <mmitchell@usa.net>
4711
4712 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
4713 the length of an array, not TREE_TYPE.
4714
5e89e58b
JL
4715Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
4716
4717 * flow.c (sbitmap_union_of_successors): New function.
4718 * basic-block.h (sbitmap_union_of_successors): Declare it.
4719
df6faf79
JW
4720Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
4721
4722 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
4723 Set gnu_ld to gnu_ld_flag inside main loop.
4724 (gas): Likewise.
4725
5c60e5c0
DB
4726Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
4727
4728 * toplev.c (compile_file): Call init_parse using new interface.
4729 (init_lex): Remove declaration.
4730
4731 * c-lex.c (init_parse): Now returns char* containing filename.
4732
2872409d
JL
4733Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
4734
4735 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
4736
4db83042
MM
4737Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
4738
4739 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
4740 (gen{extract,peep,opinit,output}): Ditto.
4741
4742 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
4743 global definition so print-rtl.o can be linked in.
4744 * gen{peep,recog}.c (insn_attr_name): Ditto.
4745
9aeba741
RP
4746Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
4747
4748 * fixincludes: discard empty C++ comments, as found in sys/time.h
4749 on hpux-11.0.
4750
7878eae7
AS
4751Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4752
4753 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
4754 operand.
4755
fcb7cb6c
JL
4756Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
4757
4758 * emit-rtl.c (operand_subword): Rework slightly to avoid
4759 bogus warning from previous change.
4760
47747e53
RH
4761Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
4762
4763 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
4764 Nov 8 find_replacement change. Move decls of get_unaligned_address
4765 * alpha.h: ... here.
4766
8450a694
JC
4767Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
4768
7940255d
JC
4769 * function.c (assign_parms): Initialize unsignedp before passing
4770 its pointer to promote_mode.
4771
8450a694
JC
4772 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
4773 (write_test_expr): Allow MATCH_INSN.
4774
c70afde1
PE
4775Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
4776
4777 * install.texi: Update section on warnings that can be safely ignored.
4778
cf877a42
JW
4779Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
4780
4781 * mips.md (reload_outdi): Change the scratch mode from DImode to
4782 TImode. New variable scratch, used instead of operand[2] in template.
4783 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
4784
996d9dac
MM
4785Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
4786
4787 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
4788
de2d990f
KW
4789Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
4790
4791 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
4792
d5daf098
JL
4793Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
4794
6862dfac
JL
4795 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
4796 (ASM_FINISH_DECLARE_OBJECT): Likewise.
4797
b7cb92ad
JL
4798 * Idea and part of the patch from HJ.
4799 * Makefile.in: auto-host.h renamed from auto-config.h. All references
4800 changed.
4801 (distclean): Remove auto-build.h too.
4802 * configure.in: Rename host autoconf generated file to auto-host.h.
4803 If host != build, then run autoconf to generate auto-build.h for
4804 the build machine and include it in build_xm_files.
4805 Check for wait.h and sys/wait.h.
4806
d5daf098
JL
4807 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
4808 TRULY_NOOP_TRUNCATION.
4809
7d02bbef
JM
4810Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
4811
4812 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
4813
4754172c
CM
4814Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
4815
4816 * invoke.texi (ld options) Include memset requirements
4817 for options -nodstdlib and -nodefaultlibs.
4818
bb72a084
PE
48191998-04-12 Paul Eggert <eggert@twinsun.com>
4820
4821 This change is from an idea suggested by Arthur David Olson.
4822
4823 * c-common.c (decl_attributes, record_function_format,
4824 check_format_info, init_function_format_info):
4825 Add support for strftime format checking.
4826 (enum format_type): New type.
4827 (record_function_format): Now static, and takes value of type
4828 enum format_type instead of int.
4829 (time_char_table): New constant.
4830 (struct function_format_info): format_type member renamed from is_scan.
4831 (check_format_info): Use `warning' rather than sprintf followed by
4832 `warning', to avoid mishandling `%' in warnings.
4833 Change `pedwarn' to `warning', since these warnings do not necessarily
4834 mean the program does not conform to the C Standard, as the code
4835 need not be executed.
4836
4837 * c-tree.h (record_function_format): Remove decl; no longer extern.
4838
4839 * extend.texi: Add documentation for strftime format checking.
4840
1be12a4a
JL
4841Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
4842
71922625
JL
4843 * mips/ecoffl.h: Do not include mips.h.
4844 * mips/elf.h: Likewise.
4845
1be12a4a
JL
4846 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
4847 * mips/ecoff.h: Include "mips/mips.h".
4848
9fe69077
JL
4849Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
4850
4851 * version.c: Bump for snapshot.
4852
c6a26dc4
JL
4853Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
4854
4855 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
4856 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
4857 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
4858 between loop optimization passes.
4859 * rtl.h: Updated appropriately.
4860
bbb81923
JL
4861Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
4862
4863 Reinstall this patch from Jason.
4864 * function.c (push_function_context_to): Don't call init_emit.
4865
29cb1e1f
NC
4866Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
4867
4868 * rtl.c (read_skip_spaces): Prevent infinite loops upon
4869 encountering unterminated comments.
4870
3f518020
JL
4871Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
4872
4873 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
4874 64x32 cross builds.
4b104d6e
JL
4875
4876 * configure.in: Handle --with-fast-fixincludes.
4877 (fixincludes): If --with-fast-fixincludes, then use a different
4878 fixincludes program by default.
4879 * Makefile.in (fixinc.sh): New rule.
4880
b76c90cf
L
4881Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
4882
4883 * i386.md (movqi+1): Handle invalid QI register.
4884 (movsf_push-1): Likewise.
4885
2e076ddf
NC
4886Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
4887
4888 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
4889 addresses.
4890 symbolic_memort_operand(), call32_operand(), int8_operand(),
4891 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
4892 Not used.
4893 uint16_operand(): Made static.
4894
b1d6ccb8
JL
4895Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
4896
4897 * calls.c (expand_call): Fix typo.
4898
e56e519d
DB
4899Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
4900
4901 * c-lex.c (finput): New global.
4902 (init_parse): Always included. Handle !USE_CPPLIB using
4903 code originally in compile_file.
4904 (finish_parse): Update for CPPLIB.
4905 * toplev.c (init_parse, finish_parse): Declare.
4906 (finput): Delete variable. Now in front-ends.
4907 (compile_file): Remove code which is now handled by init_parse
4908 which is unconditionally called. Similarly for finish_parse.
4909
85d7aed9
GK
4910Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
4911
4912 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
4913 ASM_WEAKEN_LABEL): Add.
4914
574badbc
RH
4915Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
4916
4917 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
4918 * configure.in (alpha-*-linux*): Use them.
4919
bf1e5319 4920Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
b57062ca 4921
bf1e5319
APB
4922 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
4923 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
4924 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
4925 (build_expr_wfl): New prototype declaration.
4926 * tree.c (build_expr_wfl): New function, to build
4927 EXPR_WITH_FILE_LOCATION nodes.
4928 (copy_node): Don't zero TREE_CHAIN if copying a
4929 EXPR_WITH_FILE_LOCATION node.
4930 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
4931 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
4932
ee5254ff
JL
4933Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
4934
62db76ee
JL
4935 * configure.in (v850): Use t-v850.
4936 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
4937
10a998b0
JL
4938 * protoize.c (creat, read, write): Do not declare.
4939
e105f02c
JL
4940 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
4941 refer to the CODE_LABEL before a dispatch table.
4942
56b2d7a7
JL
4943 * invoke.texi: Add ARC options.
4944
c74c0cff
JL
4945 * gcc.c (proces_command): Improve error message for -o with
4946 either -c or -S.
4947
2d58da15
JL
4948 * i386/x-cygwin32 (CLIB): Link in advapi32.
4949
40ef2fc5
JL
4950 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
4951 (ASM_IDENTIFY_LANGUAGE): Likewise.
4952
df89b5e7
JL
4953 * i386.md (movqi recognizer): Don't perfom byte increment into
4954 a NON_QI_REG_P.
4955
f09ff199
JL
4956 * configure.in (x86-dg-dgux): Run fixinc.dgux.
4957
df89b5e7 4958 * i370.h: Fix typo in GEN_INT changes.
f962b99f 4959
c3709629
JL
4960 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
4961 of an empty arglist in prototype.
4962
ee5254ff
JL
4963 * Makefile.in: Remove bytecode crud that crept back in after the
4964 gcc2 merge.
4965
0806342b
BK
49661998-04-08 Brendan Kehoe <brendan@cygnus.com>
4967
4968 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
4969 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
4970
6f734908
RE
4971Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
4972
4973 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4974
56c0e996
BS
4975Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
4976
4977 * c-lex.c (is_class_name): Delete declaration.
4978 (whitespace_cr): Make static and add prototype.
4979 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
4980 yylex, get_directive_line): Turn declarations into prototypes.
4981 (position_after_whitespace, check_newline, yyerror,, is_class_name,
4982 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
4983 prototypes.
4984 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
4985 prototypes.
4986 * gencodes.c (gen_insn): Add prototype.
4987 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
4988 gen_peephole): Add prototypes.
4989 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
4990 prototypes.
4991 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
4992 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
4993 genheader, gencode): Add prototypes.
4994 * genopinit.c (gen_insn): Add prototype.
4995 * genoutput.c (output_prologue, output_epilogue, scan_operands,
4996 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
4997 gen_expand, gen_split, n_occurrences): Add prototypes.
4998 * genpeep.c (gen_peephole): Add prototype.
4999 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
5000 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
5001 labels_in_range_p, count_loop_regs_set, note_addr_stored,
5002 loop_reg_used_before_p, scan_loop, replace_call_address,
5003 skip_consec_insns, libcall_benefit, ignore_some_movables,
5004 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
5005 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
5006 check_final_value, record_giv, update_giv_derive, basic_induction_var,
5007 simplify_giv_expr, general_induction_var, consec_sets_giv,
5008 check_dbra_loop, express_from, combine_givs_p, combine_givs,
5009 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
5010 last_use_this_basic_block, record_initial, update_reg_last_use,
5011 iteration_info, analyze_loop_iterations, insert_bct,
5012 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
5013 into prototypes.
5014
cc46ae8e
JL
5015Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
5016
5017 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5018
e7d075bf
KR
50191998-04-07 Ken Raeburn <raeburn@cygnus.com>
5020
5021 * config/mips/mips.c (siginfo): Deleted.
5022 (override_options): Don't install SIGINFO signal handler.
5023
668d07be
JW
5024Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
5025
5026 * loop.c (check_dbra_loop): When normalize comparison_val, add check
5027 to verify it is non-negative.
5028
cd36edbd
RH
5029Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
5030
5031 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
5032 (alpha_expand_block_clear): Likewise.
5033
e814ca97
RH
5034Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
5035
5036 * tree.h (sizetype_tab): Fix previous change for K&R.
5037
f1d9e6d2
JL
5038Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
5039
5040 * version.c: Bump for snapshot.
5041
22ec3928
RE
5042Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
5043
5044 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
5045 Add USG and POSIX to xm_defines.
5046
10da1131
BM
5047Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
5048
5049 * gcc.c: Add linker spec.
5050 (link_command_spec): Use %(linker) instead of ld.
5051 (main): If collect2 is requested as the linker, see if it exists;
5052 if not, use ld instead.
5053
5054 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
5055 (ld:) Deleted.
5056 (install-collect2): Install as collect2, not ld.
5057
5058 * configure.in(will_use_collect2): It's named collect2 now.
5059
5060 * collect2: Remove checks to see if we were invoked recursively.
5061 (collect_execute): Use _spawnvp under cygwin32.
5062
a8afd67b
JW
5063Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
5064
5065 * haifa-sched.c (build_control_flow): Set unreachable for block whose
5066 only predecessor is itself.
5067
944fc8ab
KG
5068Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5069
5070 * c-parse.in: Include system.h, and remove stuff now made redundant.
5071 * cccp.c: Likewise.
5072 * cexp.y: Likewise.
5073 * protoize.c: Likewise. Properly check for cpp stringification.
5074
5075 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
b57062ca 5076 Depend on system.h.
944fc8ab
KG
5077
5078 * objc/Make-lang.in (objc-parse.o): Likewise.
5079
3286ab57
KG
5080Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5081
5082 * gansidecl.h: Check if compiler supports __attribute__. Provide
5083 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
5084 __attribute__ when its available. Also provide definitions for
5085 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
5086 terms of ATTRIBUTE_PRINTF.
b57062ca 5087
3286ab57
KG
5088 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
5089 of __attribute__.
5090
d276f2bb
CM
5091Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
5092
5093 * combine.c (can_combine_p): Include successor in volatile test.
5094
64ad9df2
R
5095Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5096
5097 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
5098 offset_unsigned.
5099
dc544d2c
JL
5100Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
5101
5102 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
5103 in prototype and definition.
b57062ca 5104
38c413cd
JL
5105Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
5106
5107 * version.c: Bump for snapshot.
5108
59dd0a31
RH
5109Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
5110
b57062ca 5111 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
59dd0a31
RH
5112 alpha_expand_unaligned_store_words.
5113
f31fce3f
JW
5114Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
5115
5116 * i386.md (movsf_push, movsf_mem): Remove.
5117 (movsf_push): Rename from movsf_push_nomove and move in front of
5118 movsf. Use nonmemory_operand predicate and don't bother checking
5119 TARGET_MOVE.
5120 (movsf_push_memory): New pattern.
5121 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
5122 both operands refer to memory then force operand[1] into a register.
5123 (movsf_normal): Change to unnamed pattern.
5124 Likewise for movdf, movxf, and friends.
5125
27ebc03e
JL
5126Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
5127
5128 * version.c: Bump for snapshot.
5129
6ecd4e53 5130Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
98bd9f0f 5131
6ecd4e53 5132 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
98bd9f0f 5133
b57062ca 5134Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
ac08ebd0 5135
6ecd4e53 5136 * configure.in (mips-wrs-vxworks): New target.
ac08ebd0 5137
6ecd4e53 5138Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
f4a788ac 5139
f3978531
JL
5140 * expmed.c (synth_mult): The value -1, has no zeros, so it can
5141 never have the form ...011.
5142
f4a788ac
JL
5143 * version.c: Bump for snapshot.
5144
5cb6195d
RH
5145Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
5146
5147 * i386.c (asm_output_function_prefix, load_pic_register):
5148 Use ASM_GENERATE_INTERNAL_LABEL properly.
5149 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
5150 (print_operand): Ignore it.
5151 (load_pic_register): Use it for the got load call.
5152 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
5153 (prologue_get_pc_and_set_got): Likewise.
5154 * i386.h: Update print_operand docs.
5155
ce193852
RH
5156Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
5157
5158 * i386.md (ffssi, ffshi): Rewrite as define_expands.
5159 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
5160 * i386.c (notice_update_cc): Recognize unspec 5.
5161
0022a940
DMT
5162Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
5163
5164 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
5165 * alpha.c (print_operand): Handle it.
5166 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
5167 for ALPHA_TP_INSN.
5168 (fix_truncdfdi2): Likewise.
5169
896cced4
RH
5170Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
5171
5172 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
5173 of these into a single struct, with additional [us]sizetype entries.
5174 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
5175 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
5176 an array.
5177
8983c716
RH
5178Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
5179
5180 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
5181
4ed43ff8
RH
5182Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
5183
5184 * haifa-sched.c (split_block_insns): Don't supress insn splitting
5185 on subsequent passes.
5186
5187 * alpha.c (hard_fp_register_operand): New function.
5188 * alpha.h (PREDICATE_CODES): Add it.
5189 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
5190 f<-m case and accompanying define_split.
5191 (trapb): Use a unique unspec_volatile number.
5192
8e7bc3cd
RH
5193Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
5194
5195 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
5196 from gcc2 merge.
5197
e5e809f4
JL
5198Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
5199
5200 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
5201 for details.
5202
5203 * haifa-sched.c: Mirror recent changes from gcc2.
5204
516c2342
JL
5205Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
5206
e9eaed43
JL
5207 * Makefile.in (insn*.o): Depend on system.h.
5208
516c2342
JL
5209 * pa.c (output_global_address): Initialize base.
5210 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
5211
7cc34889
MS
52121998-04-03 Mike Stump <mrs@wrs.com>
5213
5214 * gthr.h: Support systems that don't have weak, but have threads.
5215 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
5216 * gthr-vxworks.h: New file.
5217 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
5218
52c18286
JW
5219Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
5220
5221 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
5222
c1ac292d
VM
52231998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
5224
5225 * ginclude/va-i960.h (va_end): Change void * to void.
5226
4cb1caaf
KG
5227Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5228
5229 * Makefile.in (choose-temp.o): Depend on system.h.
5230
5231 * choose-temp.c: Include system.h when IN_GCC.
5232
a9a2595b
JR
5233Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
5234 Richard Henderson <rth@cygnus.com>
5235
5236 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
5237 (move_replacements): New function.
5238 * reload.h: Prototype it.
b57062ca 5239
a9a2595b 5240 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
b57062ca 5241
79363e2f
RH
5242Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
5243
5244 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
5245 Run fixincludes.
5246
4901a643
RH
5247 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
5248 (gen_highpart): Likewise.
ce4d78eb
RH
5249 * final.c (alter_subreg): Allow the target to hook by-mode subreg
5250 hard register number changes.
b57062ca 5251
715f9c99
JL
5252Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
5253
4e86caed
JL
5254 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
5255 rnbitsize, rnmode and rinner.
5256 (make_range): Initialize type.
5257 (fold): Initialize arg0, arg1 and varop.
5258
5259 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
5260 and regnor.
5261 (expand_function_start): Initialize last_ptr.
5262
5263 * stor-layout.c (layout_record): Initialize desired_align.
5264 (get_best_mode): Initialize unit.
5265
5266 * tree.c (copy_node): Initialize length.
5267
aefdd5ab
JL
5268 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
5269
5270 * caller-save.c (insert_save_restore): Initialize pat, code and
5271 numregs.
5272
5273 * emit-rtl.c (push_to_sequence): Initialize top.
5274 (push_topmost_sequence): Likewise.
5275
5276 * genattrtab.c (simplify_by_exploding): Initialize defval.
5277
5278 * profile.c (branch_prob): Initialize dest.
5279
5280 * rtl.h (note_stores): Remove duplicate prototype.
5281 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
5282
5283 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
5284 strings that are not actually lengths.
5285
729da3f5
JL
5286 * genattrtab.c: Make generated file use system.h, instead of
5287 including stdio.h, etc directly.
5288 * genextract.c, genopinit.c, genoutput.c: Likewise.
5289 * genpeep.c, genrecog.c: Likewise
5290
5291 * genoutput.c (process_template): Mark operands in the generated
5292 function as potentially unused if compiling with GNU CC.
5293
2a8034f8
JL
5294 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
5295
715f9c99
JL
5296 * pa.md (reload peepholes): Remove unused variable "mode".
5297
75d3a15b
NC
5298Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
5299
5300 * config/arm/thumb.h: Add super interworking support.
5301 * config/arm/thumb.c: Add super interworking support.
5302 * config/arm/thumb.md: Add super interworking support.
75d3a15b
NC
5303 * config/arm/lib1funcs.asm: Add interworking support.
5304 * config/arm/lib1thumb.asm: Add super interworking support.
75d3a15b
NC
5305 * config/arm/t-semi: Add interworking support.
5306 * config/arm/t-thumb: Add interworking support.
75d3a15b 5307 * config/arm/README-interworking: New file.
b57062ca 5308
63959c22
JW
5309Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
5310
5311 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
5312 (MD_STARTFILE_PREFIX): Unset.
5313
c651e1e0
MM
53141998-04-01 Mark Mitchell <mmitchell@usa.net>
5315
5316 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
5317 entity in a local scope.
5318
5319 * fold-const.c (fold): Call truthvalue_conversion for values which
5320 are folded to boolean type.
5321
3a598fbe
JL
5322Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
5323
5324 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
5325 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
5326 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
5327 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
5328 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
5329 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
5330 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
5331 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
5332 * md.texi: Likewise.
5333
b5026c50
MH
5334Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
5335
5336 * fixincludes (limits.h): Fix nested comments in Motorola's
5337 limits.h and sys/limits.h.
5338
c8d86b9a
JW
5339Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
5340
1a7cb241
JW
5341 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
5342 as dest of expand_binop call.
5343
221a9f65
JW
5344 * alpha.md (extzv): Correct check for valid operand[2] values.
5345
a7ebd547
JW
5346 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
5347 branch.
5348
c8d86b9a
JW
5349 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
5350
97be8f06
SC
5351Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
5352
5353 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
5354 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
b57062ca 5355
97be8f06
SC
5356 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
5357 cygwin32 can override this to allow both unix and win32 style PATHs.
5358
5359 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
5360 style environment paths.
b57062ca 5361
b04cd507
KG
5362Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5363
5364 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
5365 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
5366 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
5367 system.h.
b57062ca 5368
b04cd507
KG
5369 * cpphash.c: Include config.h.
5370 * cppalloc.c: Include system.h. Add parameters to various
5371 function prototypes.
5372 * cpperror.c: Likewise.
5373 * cppexp.c: Likewise.
5374 * cpphash.c: Likewise.
5375 * cpplib.c: Likewise.
5376 * cppmain.c: Likewise.
5377 * fix-header.c: Likewise.
5378 * gcov.c: Likewise.
5379 * gen-protos.c: Likewise.
5380 * gengenrtl.c: Likewise.
5381 * halfpic.c: Likewise.
5382 * hash.c: Likewise.
5383 * scan-decls.c: Likewise.
5384 * scan.c: Likewise.
5385
1aa5d112
JW
5386Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
5387
5388 * README.gnat: Add lang_print_xnode definition.
5389
e18db50d
AS
5390Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5391
5392 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
5393 fmovecr on the 68060.
5394
c0d45032
JL
5395Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
5396
5397 * genemit.c (DONE): Rework so that it works in the true arm if
5398 an if-else conditional.
5399 (FAIL): Likewise.
5400
31ed227b
JL
5401Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
5402
c3670418
JL
5403 * rs6000.c: Do not include stdioh or ctype.h anymore.
5404
234042f4
JL
5405 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
5406 $(RTL_H).
5407 (stor-layout.o): Likewise.
5408 * c-typeck.c: Include rtl.h and expr.h.
5409 * stor-layout.c: Likewise.
5410
72e19470
JL
5411 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
5412 All callers changed.
5413 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
5414 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
5415 All callers changed.
5416
40c3a857
JL
5417 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
5418
c80150b7
JL
5419 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
5420
31ed227b
JL
5421 * tree.h (lang_print_xnode): Provide prototype.
5422
fe776296
JL
5423Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
5424
5425 * version.c: Bump for snapshot.
5426
f1b03ce1
JL
5427Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
5428
3ac2735b
JL
5429 * objc/sendmsg.c (__objc_block_forward): Add braces for return
5430 value if INVISIBLE_STRUCT_RETURN.
5431
f2b147f7
JL
5432 * pa.c (arith_double_operand): Fix parens.
5433
c4fa3460
JL
5434 * haifa-sched.c (print_pattern): Correct arg to sprintf.
5435
f1b03ce1
JL
5436 * Makefile.in (libgcc1.null): Make return type for __foo void.
5437
2e61a5a5
JL
5438Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
5439
ba0b8436
JL
5440 * pa.h: Add declarations for many functions defined in pa.c.
5441
67ac5957
JL
5442 * genpeep.c (main): Remove unused variable 'i' from the generated
5443 file.
5444
c38d8c5b
JL
5445 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
5446 (gen_split): Likewise.
5447 (main): Rework generated definitions of DONE and FAIL so that they
5448 no longer use gotos. Avoids warnings about unused labels.
5449
d6e6c585
JL
5450 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
5451 unused "junk" variable.
5452
2e61a5a5
JL
5453 * genattrtab.c (write_complex_function): Add a default case in
5454 generated switch statement to keep -W -Wall quiet.
5455
0b26e56d
NC
5456Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
5457
157a620e
NC
5458 * invoke.texi: Document more ARM and Thumb command line options.
5459
0b26e56d
NC
5460 * config/arm/xm-thumb.h: New file.
5461
600a4ce7
CB
5462Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
5463
5464 * stmt.c (expand_expr_stmt): Must generate code for
5465 statements within an expression (gcc's `({ ... )}')
5466 even if -fsyntax-only.
5467
4d1d8045
BS
5468Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5469 Jeffrey A Law (law@cygnus.com)
5470
5471 * basic-block.h (basic_block_computed_jump_target): Declare.
5472 * flags.h: (current_function_has_computed_jump): Declare.
5473 * flow.c: (basic_block_computed_jump_target): Define.
5474 (flow_analysis): Allocate it. Set current_function_has_computed_jump
5475 to 0.
5476 (find_basic_blocks): Set current_function_has_computed_jump and
5477 elements of basic_block_computed_jump_target to 1 as appropriate.
5478 * function.c: (current_function_has_computed_jump): Define.
5479 * global.c (global_conflicts): Don't allocate pseudos into stack regs
5480 at the start of a block that is reachable by a computed jump.
5481 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
5482 immediately.
5483 (subst_stack_regs): Undo change from Sep 4 1997.
5484 (uses_reg_or_mem): Now unused, deleted.
5485 * stupid.c (stupid_life_analysis): Compute
5486 current_function_has_computed_jump.
5487 (stupid_find_reg): Don't allocate stack regs if the function has a
5488 computed goto.
5489 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
5490 the current function has a computed jump. Use the global value
5491 instead.
5492
56f28b73
JL
5493Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
5494
5495 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
5496 (DWARF2_UNWIND_INFO): Define to zero.
5497
6ed4bb9a
MM
5498Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
5499
5500 * gcc.c (set_std_prefix): Add declaration.
5501 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
5502 suffix, and update the standard prefix prefix.c uses.
5503
5504 * prefix.c (std_prefix): New global to hold default prefix value.
5505 (get_key_value): Change to use std_prefix instead of PREFIX.
5506 (translate_name): Ditto.
5507 (update_path): Ditto.
5508 (get_key_value): Release allocated scratch storage.
5509 (set_std_prefix): New function to reset the standard prefix.
5510
1f3fa20e
R
5511Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5512
7daa142b 5513 * sh.c (find_barrier): Fix calculations for alignment increase.
1f3fa20e 5514
d8a0154e
MH
5515Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
5516
5517 * Makefile.in (stmp-fixinc): If we're actually fixing include
5518 files, copy gcc's assert.h into the fixed include dir.
5519 * fixincludes (assert.h): Avoid any attempts to fix a probably
5520 broken system specific assert.h file.
5521 * fixproto (stdlib.h): Make sure, it'll contain a definition of
5522 size_t.
5523
64d3b4ca
JL
5524Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
5525
5526 * regclass.c (reg_scan_mark_refs): Be more selective about
5527 when we mark a register with REGNO_POINTER_FLAG.
5528
e6e52be0
R
5529Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5530
5531 reload inheritance improvement:
5532 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
5533 Change meaning: index is now hard reg number.
5534 (reg_reloaded_valid, reg_reloaded_dead): New variables.
5535 (reload_spill_index): Content is now a hard reg number.
5536 (reload_as_needed): Change to fit new variable meaning.
5537 (forget_old_reloads_1, allocate_reload_reg): Likewise.
5538 (choose_reload_regs, emit_reload_insns): Likewise.
5539
812f2051
R
5540Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5541
5542 * regclass.c (record_reg_classes): '?' increases cost by two.
5543
5544 * reload.c (find_reloads): Double previous costs. Output
5545 reloads cost one unit extra.
5546
5547 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
5548 boiled down to && ! 0.
5549
5550 * reload.c (find_equiv_reg): Also consider a goal offset from the
5551 frame pointer to be constant.
5552
04d02ece
R
5553Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5554
5555 * sh.h (OPTIMIZATION_OPTIONS): Define.
5556
6f28d3e9
RH
5557Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
5558
5559 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
5560
b09fa787
JL
5561Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
5562
5563 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
5564
a16b4c9c
JW
5565Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
5566
5567 * c-common.c (check_format_info): Initialize type, is_type. New local
5568 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
5569 when pedantic if used with integral format specifier.
5570
c4d38ccb
MM
5571Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
5572
5573 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
5574 direction.
5575 (function_arg_padding): Declare.
5576
5577 * rs6000.c: Include system.h.
5578 (function_arg_padding): Change return type to int, cast enum's to
5579 int.
5580
5581 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
5582 * collect2.c (scan_prog_file): Add explicit braces to avoid
5583 ambiguous `else'.
b57062ca 5584
c4d38ccb
MM
5585 * dbxout.c (dbxout_type_fields): Add braces around empty body in
5586 an if-statement.
5587 (dbxout_type): Likewise.
b57062ca 5588
c4d38ccb
MM
5589 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
5590 `ptt_size' from int to size_t.
5591 (rs6000_file_start): Likewise for `i'.
5592 (rs6000_replace_regno): Add default case in enumeration switch.
5593 (output_epilog): Remove unused variable `i'.
5594 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
5595 and `reg2'.
b57062ca 5596
c4d38ccb
MM
5597 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
5598 initializer.
5599 (get_issue_rate, non_logical_cint_operand): Add prototype.
5600 (rs6000_output_load_toc_table): Ditto.
b57062ca 5601
c4d38ccb
MM
5602 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
5603 `else'.
b57062ca 5604
e98e406f
NC
5605Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
5606
5607 * config/arm/thumb.c: New File. Support for ARM's Thumb
b57062ca 5608 instruction set.
e98e406f
NC
5609 * config/arm/thumb.h: New File. Thumb definitions.
5610 * config/arm/thumb.md: New File. Thumb machine description.
5611 * config/arm/tcoff.h: New File. Thumb COFF support.
5612 * config/arm/t-thumb: New File. Thumb makefile fragment.
5613 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
5614
5615 * configure.in: Add Thumb-coff target.
5616 * configure: Add Thumb-coff target.
5617 * config.sub: Add Thumb-coff target.
5618
8cf619da
JW
5619Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
5620
5621 * loop.c (scan_loop): Initialize move_insn_first to zero.
5622
fe0714d3
JS
5623Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
5624
5625 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
5626 * config/i386/rtems.h: Likewise.
5627 * config/i960/rtems.h: Likewise.
5628 * config/m68k/rtems.h: Likewise.
5629 * config/mips/rtems64.h: Likewise.
5630 * config/pa/rtems.h: Likewise.
5631 * config/rs6000/rtems.h: Likewise.
5632 * config/sh/rtems.h: Likewise.
5633 * config/sparc/rtems.h: Likewise.
5634
428be702
RK
5635Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5636
5637 * pa.c (emit_move_sequence): If in reload, call find_replacement.
5638
ae8c5963
NC
5639Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
5640
2ea9a965
NC
5641 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
5642
ae8c5963
NC
5643 * collect2.c (find_a_file): Add debugging.
5644 (find_a_file): Test for win32 style absolute paths if
5645 DIR_SERPARATOR is defined.
5646 (prefix_from_string): Add debugging.
5647 (main): Test for debug command line switch at start of program
b57062ca 5648 execution.
ae8c5963 5649 (main): Use GET_ENVIRONMENT rather than getenv().
72cf6902
NC
5650 (prefix_from_env): Use GET_ENVIRONMENT.
5651
050367a3
MM
56521998-03-24 Mark Mitchell <mmitchell@usa.net>
5653
5654 * cplus-dem.c (optable): Add sizeof.
5655 (demangle_template_value_parm): New function containing code
5656 previously found in demangle_template.
b57062ca 5657 (demangle_integral_value): New function which handles complicated
050367a3
MM
5658 integral expressions.
5659 (demangle_template): Use them.
5660
0b93b64e
KG
5661Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5662
5663 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
5664 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
5665 genattrtab.o, genoutput.o): Depend on system.h.
b57062ca 5666
0b93b64e
KG
5667 * genattr.c: Include system.h. Add arguments to various function
5668 prototypes. Remove redundant prototype of read_rtx().
5669 * genattrtab.c: Likewise.
5670 * gencodes.c: Likewise.
5671 * genconfig.c: Likewise.
5672 * genemit.c: Likewise.
5673 * genextract.c: Likewise.
5674 * genflags.c: Likewise.
5675 * genopinit.c: Likewise.
5676 * genoutput.c: Likewise.
5677 * genpeep.c: Likewise.
5678 * genrecog.c: Likewise.
5679
bc289659
ML
56801998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
5681
5682 * c-lang.c (lang_print_xnode): New function.
5683 * objc/objc-act.c (lang_print_xnode): Likewise.
5684 * print-tree.c (print_node): Call it
5685
990ac8d7
L
5686Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
5687
5688 * c-parse.in: Recognize protocol qualifiers in class
5689 definitions for objc.
5690 Include "output.h".
5691 (yyerror): Remove redundant decl.
5692 (yyprint): Fix prototype.
5693
65d98182
JL
5694Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
5695
47a0b68f
JL
5696 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
5697
65d98182
JL
5698 * stmt.c (unroll_block_trees): Free block_vector if needed.
5699
3cac0a21
PDM
5700Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
5701
4b8bef1d
PDM
5702 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
5703 (zero_extendsidi2): Avoid useless copy.
5704 (iordi_zext): New pattern.
5705 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
5706 operand 2.
5707 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
5708
3cac0a21
PDM
5709 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
5710 (ashldi3): Allow constant shift count in range ]32,63].
5711 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
5712
4da05956
MM
57131998-03-22 Mark Mitchell <mmitchell@usa.net>
5714
5715 * tree.h (IS_EXPR_CODE_CLASS): New macro.
5716
545f2aab
JL
5717Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
5718
5719 * h8300.h (CONST_COSTS): Remove definition.
5720 (DEFAULT_RTX_COSTS): Define.
5721
eef15f9f
JS
5722Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
5723
5724 * config/sh/rtems.h: Switched from ELF to COFF.
5725
4bca6986
R
5726Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5727
5728 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
5729
8ca77a11
JL
5730Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
5731
5732 * version.c: Bump for snapshot.
5733
e09e14e9
NC
5734Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
5735 Geoff Noer <noer@cygnus.com>
5736
5737 * Makefile.in: Various fixes for building cygwin32 native toolchains.
5738
35d541d4
NC
5739 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
5740 * objc/Make-lang.in: Likewise.
5741
4a0cf2aa
NC
5742 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
5743
535b86ce
G
5744Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
5745
5746 * configure.in: Handle with-PACKAGE=no correctly
5747
670ee920
KG
5748Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5749
5750 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
5751 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
5752 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
5753 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
5754 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
5755 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
5756 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
5757 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
5758 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
5759 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
5760 on system.h.
5761
5762 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
5763 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
5764 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
5765 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
5766 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
5767 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
5768 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
5769 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
5770 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
5771 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
5772 xcoffout.c: Include system.h. Organize include ordering so
5773 that stdarg/varargs comes before other system headers. Remove
5774 spurious casts of functions assured of a prototype in system.h.
5775
7aa74e4c
SC
5776Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
5777
5778 * reg-stack.c (pop_stack): Define. Pops any register on the
5779 regstack and adjusts regstack.
5780 (compare_for_stack_reg): Use pop_stack.
b57062ca 5781
d005a5a4
JL
5782Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
5783
5784 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
5785 config too.
5786
ba3ad5e0
PDM
5787Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
5788
09b4ce12
PDM
5789 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
5790
ba3ad5e0
PDM
5791 * fold-const.c (fold): Replace sign-extension of a zero extended
5792 value by a single zero extension.
5793
6e1f1f93
JM
5794Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
5795
5796 * except.c (init_eh): Do nothing.
5797 (save_eh_status): Call init_eh_for_function, not init_eh.
5798 * function.c (push_function_context_to): Don't call init_emit.
5799
838b0e4e
MM
5800Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
5801
5802 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
5803 and EABI.
5804
ecb06768
KG
5805Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5806
5807 * final.c (shorten_branches): Add parentheses around +/- in
5808 operand of &.
5809
5810 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
5811
dfba7a1b
MH
5812Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
5813
5814 * regclass.c (memory_move_secondary_cost): Wrap uses of
5815 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
5816 with #ifdef tests.
5817
4faca093
MH
5818Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
5819
5820 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
5821
5822 * flow.c (life_analysis): #include <sys/types.h> to make sure
5823 size_t is defined.
5824 * cplus-dem.c (demangle_function_name): Likewise.
5825
af7da199
MH
5826Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
5827
5828 * final.c (insn_noperands): Change type to unsigned int.
5829 (final_scan_insn): Likewise for noperands;
5830 properly check operand number boundaries.
5831
10a25232
RH
5832Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
5833
5834 * alpha.md (extzv): Don't reject register operands. Fix
5835 mode of operand 1.
5836
99d1a24c
RH
5837Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
5838
5839 * dbxout.c (dbxout_function_end): Fix last change. The correct
5840 predicate is ASM_OUTPUT_SECTION_NAME.
5841
5bac82c5
JW
5842Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
5843
5844 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
5845 (ashlsi): Use match_dup 1 instead of match_operand 2.
5846
52de9b6c
RK
5847Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5848
5849 * fold-const.c (operand_equal_for_comparison_p): See if equal
5850 when nop conversions are removed.
5851
7c00d1fe
RK
5852Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5853
5854 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
5855 don't use ORIGINAL_TARGET unless REG.
5856
343665b9
R
5857Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5858
5859 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
5860
1a61c29f
JW
5861Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
5862
5863 * loop.c (struct movable): New field move_insn_first.
5864 (scan_loop): In consec sets code, set it. Clear it otherwise.
5865 (move_movables): In consec sets code, use it. Copy REG_NOTES from
5866 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
5867 out code.
5868
cbe36725
RH
5869Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
5870
5871 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
5872 is large, and the system doesn't provide atoll or atoq.
b57062ca 5873 (atoll): New.
cbe36725
RH
5874
5875 * alpha/xm-vms.h (HAVE_ATOLL): Define.
5876 Reported by Klaus Kaempf <kkaempf@progis.de>.
b57062ca 5877
081f5e7e
KG
5878Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5879
5880 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
5881 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
5882
5883 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
b57062ca 5884 test !ACCUMULATE_OUTGOING_ARGS.
081f5e7e
KG
5885
5886 * collect2.c (write_c_file_glob): Wrap function definition in
5887 macro test !LD_INIT_SWITCH.
5888
5889 * combine.c (try_combine): Wrap variables `cc_use' and
5890 `compare_mode' in macro test EXTRA_CC_MODES.
5891
5892 * cpplib.c (do_ident): Remove unused variable `len'.
5893 (skip_if_group): Remove unused variables `at_beg_of_line' and
5894 `after_ident'.
5895 (cpp_get_token): Remove unused variable `dummy'.
5896
5897 * dbxout.c (scope_labelno): Move static variable definition inside
5898 the one function scope where it is used.
5899 (dbxout_function_end): Wrap prototype and definition in
5900 macro test !NO_DBX_FUNCTION_END.
5901
5902 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
5903 in macro test !MIPS_DEBUGGING_INFO.
5904
5905 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
5906 into the scope where it is used. Wrap empty else-statement body
5907 in braces.
5908
5909 * fix-header.c: Fix typo in comment.
5910 (inf_skip_spaces): Cast results of INF_UNGET to (void).
5911 (check_protection, main): Likewise.
5912
5913 * flow.c (find_basic_blocks_1): Remove dangling comment text.
5914
5915 * function.c (contains): Wrap prototype and definition in macro
5916 test HAVE_prologue || HAVE_epilogue.
5917 (fixup_var_refs_1): Remove unused variable `width'.
5918
5919 * gen-protos.c (main): Remove unused variable `optr'.
5920
5921 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
5922
5923 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
5924 (__sjpopnthrow): Remove unused variable `jmpbuf'.
5925 (__throw): Remove unused variable `val'.
5926
5927 * protoize.c: Check for a previously existing definition before
b57062ca 5928 defining *_OK macros.
081f5e7e
KG
5929
5930 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
5931
76ce4776
R
5932Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5933
5934 * vax.h (ADDR_VEC_ALIGN): Define.
5935
e29ef920
MM
5936Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
5937
5938 * gcc.c (default_arg): Don't wander off the end of allocated
5939 memory.
5940
dbf55e53
MM
5941 (From Geoffrey Keating <geoffk@ozemail.com.au>)
5942 * rs6000.c (small_data_operand): Ensure that any address
b57062ca 5943 referenced relative to the small data area is inside the SDA.
dbf55e53 5944
883482b2 5945Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
b57062ca 5946
883482b2
JW
5947 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
5948
9ad82ff8 5949Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
a0b61d14
AM
5950
5951 * except.h (in_same_eh_region): New prototype.
5952 (free_insn_eh_region, init_insn_eh_region): New prototypes.
5953 * except.c (insn_eh_region, maximum_uid): New static variables.
5954 (set_insn_eh_region): New static function to set region numbers.
5955 (free_insn_eh_region): New function to free EH region table.
5956 (init_insn_eh_region): New function to initialize EH region table.
5957 (in_same_eh_region): New function used to determine if two rtl
5958 instructions are in the same exception region or not.
5959 * final.c (final): Initialize the table indicating which instructions
5960 belong in which exception region.
5961 * genpeep.c (main): Add "except.h" to include file list in generated
b57062ca
UD
5962 file insn-peep.c.
5963 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
5964 peepholes involving calls and unconditional branches.
a0b61d14 5965
66bd0128
JW
5966Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
5967
5968 * README.gnat: New file.
5969
1d8eaa6b
AS
5970Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5971
5972 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
5973 "recog.h" for offsettable_memref_p.
5974 (legitimize_pic_address): Remove unused variable `offset'.
5975 (notice_update_cc): Change return type to void. Add default label
5976 to switch.
5977 (standard_68881_constant_p): Remove unused variable mode.
5978 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
5979 (const_int_cost): Explicitly declare as returning int.
5980 (output_dbcc_and_branch): Change return type to void.
5981
5982 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
5983 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
5984 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
5985
60ba47b4
JL
5986Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
5987
5988 * version.c: Bump for snapshot.
5989
68137318
AS
5990Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5991
5992 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
5993 check for 'M' constraint.
5994
7a50f126
JW
5995Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
5996
5997 * cccp.c (create_definition): If pedantic, call pedwarn for macro
5998 varargs feature.
5999
57dbca5e
BS
6000Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
6001
6002 * i386.c (ix86_logical_operator): New function.
6003 (split_di): Ensure that when a MEM is split, the resulting MEMs have
6004 SImode.
6005 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
6006 to implement them.
6007
8625fab5
KG
6008Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6009 Richard Earnshaw <rearnsha@arm.com>
6010 Nick Clifton <nickc@cygnus.com>
b57062ca 6011
8625fab5 6012 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
b57062ca 6013
8625fab5 6014 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
b57062ca 6015
8625fab5
KG
6016 * cse.c (rtx_cost): Provide a default case in an enumeration
6017 switch, and call DEFAULT_RTX_COSTS if it's defined.
b57062ca 6018
6ce22dac
MH
6019Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
6020
6021 * basic-block.h (compute_preds_succs): Change return type in
6022 prototype to void.
6023 * flow.c (compute_preds_succs): Likewise in function definition.
6024
6025 * regmove.c (find_matches): Cast char used as array index to unsigned char
6026 to supress warning.
6027
9c318306
MH
6028Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
6029
6030 * i386.h (RTX_COSTS): Insert braces around nested if.
6031 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
6032 elements.
6033
6034 * gcc.c (default_compilers): Properly put brackets around array elements in
6035 initializer.
6036
6037 * getopt.c (_getopt_internal): Add explicit braces around nested if;
6038 reformatted.
6039
6040 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
6041 (record_reg_life_pat): Add explicit parens around && and || in expression.
6042 (stack_reg_life_analysis): Add parens around assignment used as expression.
6043 (convert_regs): Likewise.
6044
56c5d8bf
MH
6045Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
6046
6047 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
6048 change callers accordingly.
6049
6050 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
6051 and definition; change all callers accordingly.
6052
6053 * except.c (init_eh): Avoid assignment of unused return value of
6054 build_pointer_type; cast it to void, instead, and remove unused
6055 variable type.
6056
6057 * gcc.c (lang_specific_driver): Define prototype only #ifdef
6058 LANG_SPECIFIC_DRIVER.
6059 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
6060
6061 * genoutput.c (output_epilogue): Initialize next_name to 0.
6062
6063 * real.c (efrexp): #if 0 prototype and function definition.
6064 (eremain): Likewise.
6065 (uditoe): Likewise.
6066 (ditoe): Likewise.
6067 (etoudi): Likewise.
6068 (etodi): Likewise.
6069 (esqrt): Likewise.
6070
6071 * reload.c (push_secondary_reload): Define prototype only
6072 #ifdef HAVE_SECONDARY_RELOADS.
6073
6074 * varasm.c (assemble_static_space): Define rounded only
6075 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
6076
4fce8e83
MH
6077Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
6078
6079 * i386.md (andsi): Add default case in enumeration switch.
6080 (iorsi3): Likewise.
6081 (iorhi3): Likewise.
6082 (xorsi3): Likewise.
6083
85066503
MH
6084Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
6085
6086 * c-decl (finish_struct): Change type of min_align to unsigned.
6087
6088 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
6089 remove unused variable len.
6090
6091 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
6092 comment indicating this is proper behaviour.
6093 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
6094 reg >= 0.
6095 (based_loc_descr): Likewise.
6096
6097 * enquire.c (bitpattern): Change type of variable i to unsigned.
6098
6099 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
6100
6101 * flow.c (life_analysis): Change type of variable i to size_t;
6102 remove unused variable insn.
6103
6104 * gcc.c (translate_options): Change type of variables optlen, arglen and
6105 complen to size_t.
6106 (input_filename_length): Change type to size_t.
6107 (do_spec_1): Change type of variable bufsize to size_t.
6108 (main): Change type of variables i and j to size_t;
6109 remove subblock local definition of variable i.
6110 (lookup_compiler): Change type of second argument to size_t;
6111 change type of variable i to size_t.
6112
6113 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
b57062ca 6114
85066503
MH
6115 * genopinit.c (get_insn): Change type of variable pindex to size_t.
6116
6117 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
6118
6119 * global.c (global_alloc): Change type of variable i to size_t.
6120
6121 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
6122
6123 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
6124 (expand_end_case): Change type of variable count to size_t.
6125
6126 * toplev.c (main): Change type of variable j to size_t.
6127 (set_target_switch): Change type of variable j to size_t.
6128 (print_switch_values): Change type of variable j to size_t;
6129 remove unused variable flags.
6130
6131 * varasm.c (assemble_variable): Change type of variable align to size_t.
6132 (const_hash_rtx): Change type of variable i to size_t.
6133
6d89b990
MM
61341998-03-11 Mark Mitchell <mmitchell@usa.net>
6135
6136 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
6137 TREE_VEC if that's what it really is.
6138
01c7f350
MM
6139Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
6140
6141 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
6142 as per ISO C spec.
6143
754d1a92
TT
6144Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
6145
6146 * gthr.h: Changed the comment about return values.
6147 * gthr-solaris.h (__gthread_once): Do not use errno; return the
b57062ca 6148 error number instead of -1.
754d1a92
TT
6149 (__gthread_key_create): Any non-zero return value is an error.
6150 * libgcc2.c (eh_context_initialize): Check for non-zero return
6151 value from __gthread_once.
6152 Check that the value of get_eh_context was really changed.
6153
77008a44
R
6154Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6155
6156 * sh.h (LOOP_ALIGN): Only align when optimizing.
6157 * sh.c (find_barrier): Clear inc for CODE_LABELs.
6158 When not optimizing, calculate alignment for BARRIERs directly.
6159
a8aa4e0b
R
6160Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6161
6162 * final.c (shorten_branches): Remove conditionalizing on
6163 SHORTEN_WITH_ADJUST_INSN_LENGTH
6164 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
6165
832544bd
JL
6166Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
6167
6168 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
6169 an unconditional jump around deleted blocks.
6170
bdd3e6ab
JW
6171Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
6172
11a932c0
JW
6173 * profile.c (branch_prob): If see computed goto, call fatal instead of
6174 abort.
6175
eeb54a49 6176 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
b57062ca 6177
35011dd5
JW
6178 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
6179 Patch from Bruno Haible.
6180
bdd3e6ab
JW
6181 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
6182 (assign_parms): Set aggregate if hide_last_arg and last_named.
6183
af035616
R
6184Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6185
6186 * final.c (shorten_branches): Initialize insn_addresses.
6187
97e3c422
R
6188Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6189
6190 * sh.h (MUST_PASS_IN_STACK): Define.
6191
5e75ef4a
JL
6192Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
6193
6194 * final.c (shorten_branches): Fix minor logic error in
6195 ADDR_DIFF_VEC shortening support.
6196
99613661
JL
6197Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
6198
6199 * version.c: Bump for snapshot.
6200
8ea2b111
JL
6201Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
6202
168cbdf9
JL
6203 * haifa-sched.c (is_cfg_nonregular): Change return type to
6204 an int. No longer compute "estimated" number of edges. Use
6205 computed_jump_p instead of duplicating the code. Fixup/add
6206 some comments.
6207 (build_control_flow): Returns a value indicating an irregularity
6208 in the cfg was detected. Count the number of edges in the cfg.
6209 allocate various edge tables.
6210 (find_rgns): No longer look for unreachable blocks.
6211 (schedule_insns): Do not allocate memory for edge tables here.
6212 Free memory for edge tables before returning. Do not perform
6213 cross block scheduling if build_control_flow returns nonzero.
6214 * flow.c (compute_preds_succs): More accurately determine when
6215 a block drops in.
6216
52becdc0
JL
6217 * basic-block.h (free_basic_block_vargs): Provide prototype.
6218
8ea2b111
JL
6219 * cccp.c (main): Fix dumb mistakes in last change.
6220
33f7f353
JR
6221Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6222
6223 * rtl.h (addr_diff_vec_flags): New typedef.
6224 (union rtunion_def): New member rt_addr_diff_vec_flags.
6225 (ADDR_DIFF_VEC_FLAGS): New macro.
6226
6227 * sh.c (output_branch): Fix offset overflow problems.
6228
6229 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
6230 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
6231 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
6232 * stmt.c (expand_end_case): Supply new arguments to
6233 gen_rtx_ADDR_DIFF_VEC.
6234 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
6235 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
6236 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
6237 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
6238 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
6239 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
6240 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
6241 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
6242 * i386/freebsd.h, i386/linux.h : Likewise.
6243 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
6244 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
6245 * m68k/mot3300.h, m68k/sgs.h : Likewise.
6246 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
6247 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
6248 (CASE_VECTOR_SHORTEN_MODE): Define.
6249 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
6250 (med_branch_p, braf_branch_p): Don't declare.
6251 (mdep_reorg_phase, barrier_align): Declare.
6252 (ADJUST_INSN_LENGTH): Remove alignment handling.
6253 * sh.c (uid_align, uid_align_max): Deleted.
6254 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
6255 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
6256 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
6257 (output_far_jump): Don't use braf_branch_p.
6258 (output_branchy_insn): Don't use branch_offset.
6259 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
6260 Remove paired barrier stuff.
6261 Don't use cache_align_p.
6262 Take alignment insns into account.
6263 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
6264 the addr_diff_vec.
6265 (barrier_align, branch_dest): New function.
6266 (machine_dependent_reorg, split_branches): Remove infrastructure
6267 for branch shortening that is now provided in the backend.
6268 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
6269 (braf_branch_p, braf_cbranch_p): Likewise.
6270 (attribute length): Use new attributes.
6271 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
6272 (addr_diff_vec_adjust): Delete.
6273 (align_2): Now a define_expand.
6274 (align_log): Now length 0.
6275
170a16c7
MM
6276Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
6277
6278 * m32r.md (right): Correctly check for length == 2, not 1.
6279
688f0603
KG
6280Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6281
6282 * mips/mips.h: Prototype `machine_dependent_reorg'.
6283 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
6284
19cbe68d
JR
6285Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
6286
6287 * final.c (shorten_branches): Restore accidentally removed code.
6288
8add77ce
AS
6289Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6290
6291 * configure.in: Remove duplicate uses of AC_PROG_CC and
6292 AC_PROG_MAKE_SET.
6293
fbb5ed67
RH
6294Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
6295
6296 * configure.in (target_cpu_default2): Correct typo for alphapca56.
6297
5ece9746
JL
6298Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
6299 Doug Evans (devans@cygnus.com)
6300
6301 * haifa-sched.c (build_jmp_edges): Delete dead function.
6302 (build_control_flow): Use cfg routines from flow.c
6303 (schedule_insns): Remove debugging code accidentally checked
6304 in earlier today.
6305
6306 * basic-block.h: Add external integer list structures, typdefs,
6307 accessor macros and function declarations. Simlarly for
6308 basic block pred/succ support and simple bitmap stuff.
6309 * flow.c: Add functions for integer list, basic block pred/succ
6310 support and simple bitmap support.
6311 (compute_dominators): New function to compute dominators and
6312 post dominators.
6313 (find_basic_blocks): Split into two functions.
6314 (life_analysis): Likewise.
6315 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
6316 the life_analysis from toplev.c
6317 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
6318 life_analysis instead of flow_analysis.
6319
ac9b3c97
R
6320Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6321
6322 * jump.c (jump_optimize): Call mark_jump_label also for deleted
6323 insns.
6324 (mark_jump_label): Don't increment ref counts for deleted insns.
6325
6e92f4b6
KG
6326Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6327
6328 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
b57062ca 6329
6e92f4b6
KG
6330 * mips/mips.c: Include stdlib.h and unistd.h.
6331 (mips_asm_file_end): Add braces around empty body in an if-statement.
6332 (function_prologue): Wrap variable `fnname' in
6333 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
6334 (mips_select_rtx_section, mips_select_section): Declare as void.
b57062ca 6335
6e92f4b6
KG
6336 * mips/mips.h: Add prototypes for extern functions in mips.c.
6337 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
6338 (ENCODE_SECTION_INFO): Add braces around empty body in an
6339 if-statement.
b57062ca 6340
6e92f4b6
KG
6341 * mips/mips.md (movdi): Add parentheses around && within ||.
6342 (movsf, movdf): Likewise.
6343 (branch_zero, branch_zero_di): Add default case in
6344 enumeration switch.
b57062ca 6345
6e92f4b6 6346
9ba3994a
RH
6347Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
6348
6349 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
6350 real constants, since they can't be changed.
6351 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6352 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
6353 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6354 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
6355 * alpha/vms.h (TARGET_OPEN_VMS): New.
6356 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
6357
5ec105cd
RH
6358Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
6359
6360 * reload.c (find_reloads): Always force (subreg (mem)) to be
6361 reloaded if WORD_REGISTER_OPERATIONS.
6362
ebb7b10b
RH
6363Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
6364
6365 * haifa-sched.c (free_list): Rename from free_pnd_lst.
6366 (free_pending_lists): Rename free_pnd_lst uses.
6367 (remove_dependence): Place expunged element on unused_insn_list.
6368 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
6369 gen_rtx_*_LIST and alloc_rtx to use them.
6370 (compute_block_backward_dependences): Free the reg_last_* lists.
6371
cb37ce62
JL
6372Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
6373
6374 * cccp.c (main): Avoid undefined behavior when setting pend_includes
6375 and pend_files.
6376
ce514f57
FS
6377Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6378
b57062ca 6379 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
ce514f57
FS
6380 USE_GNULIBC_1 is defined
6381 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
6382 includes the t-linux-gnulibc1 fragment
6383
89a5e42b
JW
6384Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
6385
6386 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
6387
1dd8faa8
R
6388Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6389
6390 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
6391
e2faec75
R
6392Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6393
6394 * final.c (shorten_branches): Tag the loop alignment onto the
6395 first label after NOTE_INSN_LOOP_BEG even if there is an
6396 intervening insn.
6397
de7987a6
R
6398Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6399
26024475
R
6400 * final.c (insn_current_reference_address):
6401 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
6402 proper alignment chain.
6403
de7987a6
R
6404 * final.c (max_labelno): New static variable.
6405 (final_scan_insn): Check max_labelno before outputting an
6406 alignment for a label.
de7987a6
R
6407 (shorten_branches): Remove unused variable length_align.
6408
27d8f9ea
KG
6409Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6410
6411 * sparc.c (ultrasparc_adjust_cost): Add default case in
6412 enumeration switch.
b57062ca 6413
27d8f9ea
KG
6414 * sparc.h: Add prototypes for extern functions defined in
6415 sparc.c.
6416
bd334356
NC
6417Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
6418
6419 * toplev.c: Only generate <name>.dbr file when dumping RTL if
b57062ca 6420 DEALY_SLOTS is defined.
bd334356 6421
1838fe6d
MH
6422Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
6423
6424 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
6425 in call to fill_slots_from_thread.
6426
b0021153
RH
6427Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
6428
b57062ca 6429 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
b0021153
RH
6430 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
6431
687d0ab6 6432Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
fc470718
R
6433
6434 * final.c (insn_last_address, insn_current_align, uid_align):
6435 New variables.
6436 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
6437 (insn_current_reference_address): Likewise.
6438 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
6439 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
6440 (label_to_alignment): New function.
6441 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
6442 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
6443 insn_current_reference_address instead of insn_current_address.
6444 (or_attr_value, write_length_unit_log): New functions.
6445 (main): Call write_length_unit_log.
6446 (write_const_num_delay_slots): Output extra '\n'.
6447 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
6448 replace with:
6449 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
6450 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
6451 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
6452 (LOOP_ALIGN).
6453 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
6454 (LABEL_ALIGN_AFTER_BARRIER).
6455 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
6456 * ns32k/tek6000.h: Likewise.
6457 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
6458 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
6459 ASM_OUTPUT_ALIGN_CODE.
6460
54f00917
JL
6461Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
6462
6463 * version.c: Bump for snapshot.
6464
38630f7e
JL
6465Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
6466
6467 * version.c: Bump for snapshot.
6468
ab63953e
JL
6469Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
6470
6471 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
b57062ca 6472 if condition code of jump conflicts with opposite_needed.
ab63953e
JL
6473
6474 * reorg.c (fill_slots_from_thread): Mark resources referenced in
6475 opposite_needed thread. Return delay_list even when cannot get
6476 any more delay insns from end of subroutine.
6477
6478Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
6479
6480 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
6481 All callers changed.
6482
6483Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
72dd050a
BH
6484
6485 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
6486 end_fde_sort): New functions for fast sorting of an FDE array.
6487 (fde_insert): Simplified.
6488 (add_fdes): Change argument list.
6489 (frame_init): Use the new functions.
6490
de153e82
JL
6491Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
6492
925b1f33
JL
6493 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
6494
c7271385
JL
6495 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
6496
de153e82
JL
6497 * fold-const.c (fold_range_test): Always return a value.
6498
81023100
MK
6499Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
6500
6501 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
6502 data in the text section unless READONLY_DATA_SECTION is defined.
6503
818e50a5
JL
6504Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
6505
6506 * c-parse.in (undeclared variable error): Tweak error message to
6507 be clearer.
6508
c93dc3ac
JL
6509Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
6510
6511 * version.c: Bump for snapshot.
6512
90ca38bb
MM
65131998-02-28 Mark Mitchell <mmitchell@usa.net>
6514
6515 * final.c (final_scan_insn): Undo overzealous removal of `set'.
6516
3d85c12e
KG
6517Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6518
5feca984
KG
6519 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
6520 case, add parentheses to specify the proper order of precedence in
6521 the if-statement.
b57062ca 6522
5feca984 6523
51723711
KG
6524 * c-aux-info.c: Include string.h/strings.h.
6525
6526 * pa.c: Include stdlib.h.
6527 (pa_combine_instructions): Prototype the function.
6528 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
6529 (reloc_needed): Add default case for enumeration switch.
6530 (remove_useless_addtr_insns): Remove unused variable `all'.
6531 (hppa_expand_prologue): Add explicit braces to avoid
6532 ambiguous `else'.
6533 (output_function_epilogue): Remove unused variable `i'.
6534 (output_millicode_call): Remove unused variable `link'.
6535 (shadd_constant_p, forward_branch_p): Make the function static.
6536 (following_call): Explicitly declare to return int.
6537 (pa_reorg): Declare as void.
6538 (pa_combine_instructions): Declare as static void. Add
6539 parentheses around && within ||.
b57062ca 6540
51723711
KG
6541 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
6542 following_call, function_label_operand, lhs_lshift_cint_operand
6543 and zdepi_cint_p.
6544
6545 * pa.md: Add parentheses around && within ||.
6546
6547 * cppalloc.c: Include stdlib.h.
6548
6549 * cpperror.c (cpp_print_containing_files): Remove unused variable
6550 `i'. Fix format specifier in fprintf.
6551
6552 * cse.c (cse_around_loop): Add explicit braces to avoid
6553 ambiguous `else'.
6554 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
6555
6556 * expr.c (expand_expr): Add parentheses around && within ||.
6557
6558 * final.c (app_enable): Replace fprintf with fputs where there are
6559 no format specifiers and no trailing argument after the string.
6560 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
6561 (app_disable): Likewise.
6562 (final_end_function): Likewise.
6563 (final_scan_insn): Likewise. Remove unused variable `set'.
6564 (profile_function): Wrap empty if-statement body in {} brackets.
6565
6566 * function.c: Include stdlib.h.
6567 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
6568 (reposition_prologue_and_epilogue_notes): Add parentheses
6569 around assignment used as truth value.
6570
6571 * integrate.c (expand_inline_function): Wrap variable
6572 `cc0_insn' in macro HAVE_cc0.
6573
6574 * jump.c (jump_optimize): Wrap variable `q' in macro
6575 HAVE_cc0. Remove unused variable `prev1'.
6576
6577 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
6578 within ||. Fix format specifier in fprintf.
6579 (__bb_init_prg): Add parentheses around assignment used as
6580 truth value.
6581
6582 * local-alloc.c: Include stdlib.h.
6583 (requires_inout): Add parentheses around assignment used
6584 as truth value.
6585
6586 * loop.c (analyze_loop_iterations): Wrap prototype and definition
6587 in macro HAVE_decrement_and_branch_on_count.
6588 (insert_bct, instrument_loop_bct): Likewise.
6589 (move_movables): Add parentheses around assignment used as
6590 truth value.
6591 (consec_sets_invariant_p): Likewise.
6592 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
6593
6594 * objc/objc-act.c: Include stdlib.h.
6595 (lookup_method_in_protocol_list): Wrap empty else-statement body
6596 in braces.
6597 (lookup_protocol_in_reflist): Likewise.
6598 (objc_add_static_instance): Remove unused variables `decl_expr'
6599 and `decl_spec'.
6600 (get_objc_string_decl): Remove unused variable `decl'.
6601 (generate_static_references): Remove unused variables `idecl' and
6602 `instance'.
6603 (check_protocols): Wrap empty else-statement body in braces.
b57062ca 6604
51723711
KG
6605 * protoize.c: Include stdlib.h.
6606 (substr): Add parentheses around assignment used as truth value.
6607 (abspath): Likewise.
6608 (shortpath): Likewise.
6609
6610 * regmove.c (fixup_match_1): Add parentheses around assignment
6611 used as truth value.
6612
6613 * reload.c (push_secondary_reload): Remove unused variable `i'.
6614 (find_reloads): Add parentheses around assignment used as truth
6615 value.
6616
6617 * reload1.c: Include stdlib.h.
6618
6619 * rtl.h: Correct typo in prototype of offsettable_memref_p.
6620
6621 * stmt.c (add_case_node): Add parentheses around assignment used
6622 as truth value.
6623 (case_tree2list): Likewise.
6624
6625 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
6626 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
6627 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
6628 (merge_attributes): Add explicit braces to avoid ambiguous
6629 `else'.
6630
6631 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
6632 macro HAVE_cc0.
b57062ca 6633
51723711 6634 * varasm.c: Include stdlib.h.
b57062ca 6635
51723711 6636
c5801053
KG
6637 * system.h: Remove sys/stat.h.
6638 * gcc.c: Add sys/stat.h.
6639
3d85c12e
KG
6640 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
6641 * genattrtab.c: Likewise.
6642 * genconfig.c: Likewise.
6643 * genemit.c: Likewise.
6644 * genextract.c: Likewise.
6645 * genflags.c: Likewise.
6646 * genopinit.c: Likewise.
6647 * genoutput.c: Likewise.
6648 * genpeep.c: Likewise.
6649 * genrecog.c: Likewise.
6650 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
6651
0fd12b04
AS
6652Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6653
bd762873
AS
6654 * invoke.texi: Use @itemx for a secondary item in a @table.
6655
0fd12b04
AS
6656 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
6657 zero.
6658
c3cf395b
ILT
6659Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
6660
6661 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
6662
b94b5c16
JL
6663Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
6664
6665 * i386.c (struct machine_function): Add new fields for PIC stuff.
6666 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
6667 and pic_label_name.
6668 (restore_386_machine_status): Corresponding changes.
6669 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
6670
8dfafd99
JL
6671Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
6672
6673 * c-parse.y (undeclared variable error): Tweak error message
6674 to be clearer.
6675
bb8ebb7f
RH
6676Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
6677
6678 * flags.h (g_switch_value, g_switch_set): Declare.
6679 * alpha.c (override_options): Set g_switch_value=8 if not set.
6680 * alpha/elf.h (CC1_SPEC): New.
6681 (ASM_SPEC): New.
6682 (LINK_SPEC): Pass along the -G value we were given.
6683 (LOCAL_ASM_OP): Remove.
6684 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
6685 (MAX_OFILE_ALIGNMENT): New.
6686 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
6687 (EXTRA_SECTIONS): Add sbss and sdata.
6688 (SECTION_FUNCTION_TEMPLATE): New.
6689 (EXTRA_SECTION_FUNCTIONS): Use it.
6690 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
6691 (SELECT_SECTION): Use sdata when small enough.
6692 * alpha/linux.h (ASM_SPEC): Remove.
b57062ca 6693
bb8ebb7f 6694
3e07bdbd
BH
6695Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6696 * config.sub (sco5): Fix typo.
6697
9d1ebd25
MH
6698Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
6699
6700 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
6701 set to empty.
6702 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
6703 * config/alpha/t-linux: Remove file.
6704 * config/sparc/t-linux: Remove file.
6705 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
6706 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
6707 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
6708 for tmake_file.
6709 (alpha*-*-linux-gnu*): Likewise.
6710 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
6711 (sparc-*-linux-gnu*): Likewise.
84bc3b4f
RL
6712
6713Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
6714 * collect2.c (ldd_file_name): Bracket declaration with same
6715 manifests as use.
6716 (full_real_ld_suffix): Deleted. Variable was calloced and
6717 written into, but never read.
6718
9e89df50
MS
67191998-02-23 Mike Stump <mrs@wrs.com>
6720
6721 * configure.in: Add support for i386-wrs-vxworks configuration.
6722 * i386/vxi386.h: New file.
6723
1160f9ec
BH
6724Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6725
6726 * tree.c (contains_placeholder_p): Ensure function always returns
6727 a value.
6728 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
6729 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
6730
328da75c
JL
6731Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
6732
6733 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
6734
deabc777
PE
67351998-02-22 Paul Eggert <eggert@twinsun.com>
6736
6737 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
6738 Define this new symbol.
6739 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
6740 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
6741 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
6742
0e84e8fb
JW
6743Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
6744
6745 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
6746 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
6747
9c37957a
RH
6748Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
6749
6750 * objc/Object.m (-error): Call objc_verror with our va_list.
6751
e3c49f52
DE
6752Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6753
6754 * collect2.c (scan_prog_file): Completely cover uses of variable
6755 `exports' with macro COLLECT_EXPORT_LIST.
6756
6757Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
d935d60e
JL
6758
6759 * version.c: Bump for snapshot.
6760
3c674857
MM
6761Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
6762
6763 * sched.c (schedule_block): Remove code to get arguments from hard
6764 regs into pseudos early. Same as Aug 25, 1997 change to
6765 haifa-sched.c.
6766
c2d731c4
JM
67671998-02-20 Jason Merrill <jason@yorick.cygnus.com>
6768
6769 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
6770
7d02bbef
JM
67711998-02-16 Mark Mitchell <mmitchell@usa.net>
6772
6773 * toplev.c (rest_of_compilation): Do not defer the output of a
6774 nested function.
6775
9766dbcf
MT
6776Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
6777
6778 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
6779 continuation character (line 243).
6780
01a7aaea
AS
6781Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6782
6783 * genrecog.c (main): Remove duplicated sentence in emitted comment.
6784
db126753
DE
6785Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
6786 David Edelsohn <edelsohn@mhpcc.edu>
6787
6788 * collect2.c (XCOFF_SCAN_LIBS): Remove.
6789 (export_flag): New variable.
6790 (export_file): #ifdef COLLECT_EXPORT_LIST.
6791 (import_file, exports, imports, undefined): New variables.
6792 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
6793 (dump_list, dump_prefix_list, is_in_list): New functions.
6794 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
6795 (write_import_file, resolve_lib_name): New functions.
6796 (use_import_list, ignore_library): Same.
6797 (collect_exit): maybe_unlink import_file and #ifdef.
6798 (handler): Same.
6799 (main): New variable importf, #ifdef exportf. Move parsing of
6800 -shared before general argument parsing. Resolve AIX library
6801 paths and import libgcc.a symbols. Treat .so shared libraries the
6802 same as objects and .a libraries. Create alias for object_lst and
6803 increment it instead of original pointer. Scan AIX libraries as
6804 objects earlier instead of using scan_libraries. Perform AIX
6805 tlink later to resolve templates instead of forking ld.
6806 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
6807 (GCC_UNDEF_SYMBOL): New macro.
6808 (scan_prog_file): Loop for members of AIX libraries. Handle
6809 export/import of ctors/dtors.
6810 (aix_std_libs): New variable.
6811 (scan_libraries, XCOFF): Delete.
6812
6813Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
6814
6815 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
6816
e642002f
MS
68171998-02-19 Mike Stump <mrs@wrs.com>
6818
6819 * Makefile.in: Use $tooldir for sys-include to match toplevel
6820 configure.
6821
aff48bca
JL
6822Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
6823 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6824
6825 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
6826
6827 * emit-rtl.c (hard-reg-set.h): Include.
b57062ca 6828 (get_lowpart_common): Don't make new REG for hard reg in a
aff48bca
JL
6829 class that cannot change size.
6830 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
6831
6832 * combine.c: Revert previous patch.
6833
0a9bdce3
PE
68341998-02-19 Paul Eggert <eggert@twinsun.com>
6835
6836 * config/sparc/sol2-sld.h: New file.
6837 * configure.in (sparc-*-solaris2*): Use it when using the
6838 system linker.
6839
3875b31d
JL
6840Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
6841
6842 * loop.c (force_movables): Fix typo.
6843
bb5fa67f
MH
6844Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
6845
6846 * m88k.h: Change file pattern to match reality.
6847
7f83c0e7
JL
6848Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
6849
6850 * varasm.c (output_constant_pool): Fix dumb thinko in last
6851 change.
dffc0da4
JL
6852
6853 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
6854 a function name to a section name.
6855
d9525bec
BK
68561998-02-18 Doug Evans <devans@cygnus.com>
6857
6858 * tree.h (merge_machine_{type,decl}_attributes): Declare.
6859 (split_specs_attrs, strip_attrs): Add prototypes.
6860 * tree.c (merge_machine_{type,decl}_attributes): New functions.
6861 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
6862 Update olddecl's attributes too.
6863 * c-common.c (strip_attrs): New function.
6864 * c-typeck.c (common_type): Call merge_machine_type_attributes.
6865 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
6866 (make_decl_rtl): Likewise.
6867
68681998-02-18 Jim Wilson <wilson@cygnus.com>
6869
6870 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
6871
f9a366ac
JL
6872Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
6873
6874 Remove this change until we can fix it correctly.
6875 * collect2.c: Bracket declaration of 'exportf' and
6876 'full_real_ld_suffix'.
6877
206ae7cf
BS
6878Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6879
6880 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
6881
0a7ed33c
BS
6882Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6883
6884 * c-common.c (c_expand_start_cond, c_expand_end_cond,
6885 c_expand_start_else): Don't warn about non-ambiguous else even if
6886 braces are missing.
6887
68c9728a 6888Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
0a7ed33c 6889
68c9728a
RL
6890 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
6891 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
6892 instead.
6893
15941d29
RH
6894Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
6895
6896 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
6897 simplifying a subreg of a hard reg.
6898 (expand_compound_operation): Likewise.
6899 (force_to_mode): Likewise.
6900
5835e573
KG
6901Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6902
2fde567e
KG
6903 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
6904 (lshift_double): Add parentheses around + or - inside shift.
6905 (rshift_double): Likewise.
6906 (size_int_wide): Explicitly set type of `bit_p' to `int'.
6907
6908 * Makefile.in (fold-const.o): Depend on system.h.
6909
8e85ff2c
KG
6910 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
6911 change to gcc.c.
6912
5835e573
KG
6913 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
6914 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
6915 (sched_note_set): Remove unused parameter `b', all callers changed.
6916 (schedule_block): Likewise for `rgn'.
6917 (split_hard_reg_notes): Likewise for `orig_insn'.
6918 (check_live): Likewise for `trg'.
6919 (update_live): Likewise.
6920 (check_live_1): Explcitly declare variable `i' as int.
6921 (update_live_1): Likewise.
6922 (insn_issue_delay): Remove unused variable `link'.
6923 (sched_analyze_2): Add default case in enumeration switch.
6924 (schedule_insns): Remove unused variable `i'.
6925
6926 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
6927
b1a0c816
JL
6928Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
6929
6930 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
6931 a dangling else clause.
6932
365ca18b
GK
6933Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
6934
6935 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
6936 pointer for the stack pointer in MIPS16 and 64BIT.
6937
feb60352
R
6938Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6939
6940 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
6941 * emit-rtl.c (force_line_numbers, restore_line_number_status):
6942 New functions.
6943 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
6944 (expand_start_case): Adjust to this change.
6945 (check_seenlabel): New function.
6946 (pushcase, pushcase_range, expand_endcase): Use it.
6947
93f83bd5
R
6948Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6949
6950 * i386.md (adddi3): Add =!r,0,0,X alternative.
6951
b9af8fb0
DE
6952Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
6953
6954 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
6955 * x-aix31 (INSTALL): Delete.
6956
a4dee8a5
GK
6957Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
6958
b57062ca 6959 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
a4dee8a5
GK
6960 tsize changes to something other than zero.
6961
8898f8a1
GK
6962Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
6963
6964 * ginclude/va-mips.h: Replace casts of pointers to int with
6965 casts of pointers to __PTRDIFF_TYPE__.
6966
9ba7a303
JC
6967Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
6968
6969 * loop.c (strength_reduce, record_biv, record_giv): Use
6970 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
6971
b7f6588d
JM
69721998-02-16 Jason Merrill <jason@yorick.cygnus.com>
6973
6974 * tree.c (first_rtl_op): New fn.
6975 (unsave_expr_now): Use it.
6976 * print-tree.c (print_node): Likewise.
6977 * tree.c (has_cleanups): New fn.
6978 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
6979 conservative about pushing the cleanup point down.
6980 * tree.h: Declare them.
6981
8e7336f8
JL
6982Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
6983
6984 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
6985 (flag_schedule_reverse_after_reload): Likewise.
6986 (f_options): Remove reverse scheduling support.
6987 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
6988 (flag_schedule_reverse_after_reload): Likewise.
6989 * haifa-sched.c (rank_for_schedule): Remove support for reverse
6990 scheduling.
b57062ca 6991
79e11844
KG
6992Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6993
17248a6b
KG
6994 * gcc.c: Get system includes, prototypes and macros via "system.h"
6995 instead of doing it manually. Change all calls of the ctype
6996 macros to custom versions defined in "system.h".
6997
79e11844
KG
6998 * system.h: Fix return type of bcmp prototype from `void' to `int'.
6999 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
7000 Add a prototype for getenv.
7001
c9b4de06
JW
7002Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
7003
7004 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
7005
9f8f10de
JC
7006Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
7007
7008 * alias.c: Include <stdlib.h> and <string.h>.
7009 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
7010
d757d141
JL
7011Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
7012
7013 * version.c: Bump for snapshot.
7014
7a0a1f09
RE
7015Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
7016
7017 * arm.md (movsfcc): Also validate operands[3] when compiling hard
7018 float.
7019 (movdfcc): Only accept fpu_add_operand for operands[3].
7020
99e90438
RE
7021 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
7022 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
7023
29a82058
JL
7024Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
7025
7026 * varasm.c (output_constant_pool): Bring back 'done' label inside
7027 an appropriate #ifdef.
7028
b57062ca 7029 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
29a82058
JL
7030 appropriate #ifdef.
7031 (bitmap_copy, bitmap_operation): Likewise.
7032 * combine.c (combinable_i3pat): Similarly for 'src'.
7033 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
7034 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
7035 * regclass.c (copy_cost): Similarly for 'secondary_class'.
7036 * reload.c (make_memloc): Simliarly for 'i'.
7037 (find_reloads_address_1): Similarly for 'link'.
7038 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
7039 (emit_reload_insns): Similarly for 'second_reloadreg'.
7040 * unroll.c (iteration_info): Similarly for 'v'.
7041
7042 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
7043 * calls.c (expand_call): Similarly for 'i'.
7044 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
7045 * fold-const.c (strip_compund_expr): Similarly for 'type'.
7046 * function.c (fixup_var_refs_1): Similarly for 'width'.
7047 (fixup_memory_subreg): Similarly for 'saved'.
7048 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
7049 (setjmp_protect): Similarly for 'sub'.
7050 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
7051 * loop.c (record_giv): Similarly for 'p'.
7052 (combine_givs): Similarly for 'temp_iv'.
7053 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
7054 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
7055 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
7056 * unroll.c (unroll_loop): Similarly for 'copy'.
7057 (iteration_info): Similarly for 'b'.
7058 * varasm.c (assemble_string): Similarly for 'i'.
7059 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
7060
7d02bbef
JM
70611998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
7062
7063 * c-lang.c (lang_print_xnode): New function.
7064 * objc/objc-act.c (lang_print_xnode): Likewise.
7065 * print-tree.c (print_node): Call it
7066
e3e7774e
JW
7067Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
7068
7069 * dwarf2out.c (decl_scope_node): New type.
7070 (decl_scope_table): Change type to use it.
7071 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
7072 (push_decl_scope): Use new type. New locals containing_scope, i.
7073 Add code to handle setting previous field.
7074 (scope_die_for): Change type of local i to int. Add code to use
7075 previous field.
7076 (dwarf2out_init): Use new type.
7077
442f0a30
JM
70781998-02-13 Jason Merrill <jason@yorick.cygnus.com>
7079
7080 * except.c (emit_throw): Lose throw_used.
7081
fcdc0d6e
R
7082Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7083
7084 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
7085 was deleted.
7086 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
7087
b7673cdb
JL
7088Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
7089
7090 * genextract.c (main): Fix typo.
7091
9e4767ca 7092Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
69d4ca36 7093
b57062ca 7094 * c-lang.c (finish_file): Bracket declaration of static_ctors,
69d4ca36
RL
7095 static_dtors.
7096
7097 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
7098 'old_stack_arg_under_construction'
b57062ca 7099 (emit_library_call): Bracket declaration of 'upper_bound',
69d4ca36
RL
7100 'lower_bound', 'i', 'reg_parm_stack_space'
7101 (emit_library_call_value): Likewise.
b57062ca 7102 (store_one_arg):
69d4ca36
RL
7103
7104 * collect2.c: include <unistd.h> when appropriate.
7105 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
7106
7107 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
b57062ca 7108
69d4ca36
RL
7109 * explow.c (plus_constant_for_output_wide): Remove unused variable
7110 'code'.
b57062ca 7111 (memory_address): Remove unused variable 'orig_x'.
69d4ca36
RL
7112
7113 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
7114 (write_const_num_delay_slots): Remove unused variable 'i'.
7115
7116 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
7117 (gen_insn): Remove unused variable 'obstack_ptr'.
7118
7119 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
7120 'j', 'tmp', 'i'.
7121 (__bb_exit_trace_func): Remove unused variable 'e'.
7122
7123 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
7124 'funexp'.
7125 (expand_unop): Remove unused variable 'funexp'.
b57062ca 7126 (expand_complex_abs): Remove unused variable 'funexp'.
69d4ca36
RL
7127 (init_optabs): Bracket declaration of 'j'.
7128 (init_complex_libfuncs): Deleted. Dead static function.
b57062ca 7129
69d4ca36
RL
7130 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
7131
7132 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
7133 (reg_to_stack): 'initialized', 'before_function_beg'
7134 explictly type as ints instead of defaulting.
7135 (emit_swap_insn): Remove unused variable 'i2'.
7136 (compare_for_stack_reg): Remove unused variable 'src_note'.
7137
7138 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
7139
7140 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
7141
7142 * stmt.c (add_case_node): Add parens for assignment used as truth.
7143 (all_cases_count): Remove unused variable 'count_high'.
7144 (mark_seen_cases): Remove unused variable 'i'.
7145 (check_for_full_enumeration_handling): Remove unused variable 't'.
7146 Bracket declaration of 'all_values', 'l'.
b57062ca 7147
69d4ca36
RL
7148 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
7149
b57062ca
UD
7150 * varasm.c (assemble_string): Remove unused variable 'i'.
7151 (immed_double_const): Remove unused variable 'in_current_obstack'.
69d4ca36
RL
7152 (immed_real_const_1): Likewise.
7153 (output_constant_pool): Remove unreferenced label 'done'.
7154 (output_constant): Remove unused variable 'x'.
b57062ca 7155
69d4ca36
RL
7156 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
7157 a string.
7158
7159 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
7160 as truth.
7161
e3258cef
R
7162Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7163
7164 * combine.c (can_combine_p): Handle USEs in PARALLELs.
7165
1398405b
L
7166Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
7167
7168 * config/linux.h (LIB_SPEC): Add -lc for -shared if
7169 USE_GNULIBC_1 is not defined.
7170 * config/sparc/linux.h; Ditto.
7171
7172 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
7173
7174 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
7175 USE_GNULIBC_1 is not defined.
7176
03453a9f
FS
7177Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7178
7179 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
7180 for -mcall-linux
7181
aca69483 7182Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 7183
aca69483
KG
7184 * system.h: New file to get common systems includes and various
7185 definitions and declarations based on autoconf macros.
7186
5e0e0f03
JL
7187Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
7188
7189 * cccp.c (new_include_prefix): Correctly handle -I./.
7190
89e9f3a8
MM
7191Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
7192
7193 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
7194
8bd6ecc2 7195Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
89e9f3a8 7196
b57062ca 7197 * expr.c (expand_assignment): Correct typo exposed by -Wall.
8bd6ecc2
RL
7198 offset should have been a truth value, not an assignment.
7199
614bb5d4
JL
7200Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
7201
7202 * cse.c (delete_dead_from_cse): If a libcall produces a constant
7203 result and that result can be substituted into SET_SRC of the
7204 insn with the REG_RETVAL note, then perform the substitution
7205 and delete the libcall.
7206
00bb4b62
GK
7207Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
7208
b57062ca 7209 * mips.md (trucndihi2,truncdiqi2): Change these to support
00bb4b62
GK
7210 mips16.
7211
3871c609
GK
7212Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
7213
7214 * mips/mips.c (movdi_operand): Direct referances to symbols
7215 that arn't mips16 consts in mips16 mode arn't valid operands.
7216
7217 * mips/mips.c (mips_move_2words): Add gprel handling.
7218
2e72fa6a
GK
7219Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
7220
b57062ca 7221 * mips.md (extendsidi2): Allow extension to/from a non-mips16
2e72fa6a
GK
7222 register.
7223
a4910340
ML
7224Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
7225
7226 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
7227 <strings.h>.
7228
cc1e5b9a
KG
7229Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7230
7231 * Makefile.in (WARN_CFLAGS): New variable.
7232 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
7233
53949fac
MM
72341998-02-11 Mark Mitchell <mmitchell@usa.net>
7235
7236 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
7237 falling through default case in switch.
7238 (i386_aligned_p): Likewise.
7239
9504c31c
LI
7240Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
7241
7242 * mips/mips.h (mips_abi_string): Correct typo in comment.
7243
7e4e0956
GK
7244Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
7245
7246 * mips/mips.md (movdi): These PLUS's need to be Pmode.
7247
8fb3ae15
KG
7248Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7249
7250 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
7251 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
7252 indirectly via expr.h.
7253
a2d53b28
RH
7254Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
7255
7256 * stor-layout.c (layout_type): Do upper - lower in the native type,
7257 so as to properly handle negative indices.
7258
381127e8
RL
7259Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
7260
7261 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
7262 (expand_eh_region_start_tree): Remove unused variable 'note'.
7263 (exception_optimize): Remove unused variable 'regions'.
7264 (expand_builtin_eh_stub): Remove unused variable 'temp'.
7265 (copy_eh_entry): Deleted. Dead function.
7266
b57062ca 7267 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
381127e8
RL
7268 'last' with same #if HAVE_load_multiple as use of it.
7269 (move_block_from_reg): Likewise.
7270 (emit_move_insn_1): Remove unused variable 'insns'.
b57062ca
UD
7271 (store_constructor): Bracket declaration of startb, endb with
7272 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
381127e8 7273 'target', and 'xtarget'.
b57062ca 7274 (expand_builtin_setjmp): Remove unused variables 'op0',
381127e8 7275 'next_arg_reg', 'old_inhibit_defer_pop'.
b57062ca 7276 (expand_builtin): Remove unused variable 'offset'.
381127e8
RL
7277 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
7278 (emit_queue): Add parens for assignment used as conditional.
7279 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
7280
00c79232
ML
7281Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
7282
b57062ca 7283 * i386.c: Added include for recog.h.
00c79232
ML
7284 (override_options): Removed unused variable p. Initialized regno to
7285 avoid warning.
7286 (order_regs_for_local_alloc): Initialized regno to avoid warning.
7287 (legitimize_address): Likewise for 'other'.
7288 (i386_aligned_reg_p): Added default case with abort ().
7289 (print_operand): Likewise.
7290 (reg_mentioned_in_mem): Likewise.
7291 (ix86_expand_binary_operator): Removed unused variables i & insn.
7292 (ix86_expand_unary_operator): Removed unused variable insn.
7293 (output_fp_cc0_set): Removed unused variable unordered_label.
7294
f64cecad
JC
7295Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
7296
7297 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
7298 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
7299 and format string match.
7300
0200b5ed
JL
7301Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
7302
7303 * flow.c (life_analysis): Do not conside the stack pointer live at
7304 the end of a function if the fucntio ncalls alloca.
7305 (mark_used_regs): Similarly.
7306
74ccf2c2
JC
73071998-02-10 John F Carr <jfc@mit.edu>
7308
7309 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
7310 1, fzero on alternative 8.
7311
60e2d0ca
RK
7312Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7313
7314 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
7315
2fd0af53
R
7316Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7317
7318 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
7319 SUBREGs of CONST_INTs.
7320
a96c3544
JC
7321Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
7322
7323 * mips.c (print_operand, function_prologue): Make printf format
7324 match argument type.
7325
2514cbc9
KG
7326Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7327
7328 * alpha.c (alpha_return_addr): Remove unused variable `first'.
7329 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
7330 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
7331
72b0c616
RK
7332Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7333
7334 * loop.c (strength_reduce): When placing increment for auto-inc
7335 case, do comparison in loop order.
b57062ca 7336
2e0dd623
JC
7337Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
7338
7339 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
7340 not a HOST_WIDE_INT.
7341
7342 * calls.c (expand_call): Change test of expand_inline_function
7343 return value to stop compiler warning.
7344
7345 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
7346
7bf825d2
JW
7347Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
7348 Jeff Law (law@cygnus.com)
7349
7350 * regmove.c: Fix various minor formatting problems.
7351 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
7352 is true. Make end of basic block tests consistent through regmove.c.
7353 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
7354 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
7355
7d4679ea
KG
7356Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7357
7358 * gansidecl.h: Check for a conflicting macro definition before
7359 attempting to prototype bcopy, bcmp or bzero.
7360
b515ab3d
JL
7361Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
7362
060fbabf
JL
7363 * expr.c (clear_pending_stack_adjust): Handle case where a function
7364 calls alloca, but the user has specified -fomit-fframe-pointer.
7365
b515ab3d
JL
7366 * function.c (assign_parms): Fix typo in last change.
7367
ccd043a9
RL
7368Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
7369
ededb2fc
RL
7370 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
7371 <fcntl.h>.
7372 (free_path_suffix): Remove unreferenced static function.
7373 (process_command): Remove unused variable temp.
7374 (default_arg): Remove unused variable i.
7375 (do_spec_1): Add parens for assignment used as truth value.
7376 (main): Likewise.
7377 (validate_all_switches): Likewise.
7378 (main): Remove unused variables i, first_time>
7379
ccd043a9
RL
7380 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
7381
7382 * calls.c (expand_call): Remove unused variables funtree,
7383 n_regs, and tmpmode.
7384
7385 * dbxout.c, except.c: Include <string.h>/<strings.h>.
7386
7387 * explow.c: (plus_constant_for_output_wide) Removed unused
7388 variable all_constant.
7389
7390 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
7391 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
7392 genrecog.c, global.c, integrate.c , stupid.c : Include
7393 <stdlib.h>.
7394
7395 * genextract.c: (walk_rtx) Remove unused variable link.
7396
7397 * genrecog.c: (concat) Remove unreferenced static function.
7398
7399 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
7400
b57062ca
UD
7401 * stmt.c: Include <stdlib.h>.
7402 (expand_asm_operands): Remove unused variable val1.
ccd043a9
RL
7403 (expand_return): Remove unused variable block.
7404 (pushcase): Remove unused variables l and n.
7405 (pushcaserange): Likewise.
7406
7407 * unroll.c (unroll_loop): Remove unused variable temp.
7408
6553db01
GM
7409Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
7410
7411 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
7412
8479e1db
KG
7413Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7414
7415 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
7416 functions for whether they support the %p format specifier.
7417 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
7418 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
7419 * configure, config.in: Rebuild.
7420
bf9c83fe
JW
7421Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
7422
7423 * function.c (assign_parms): New variable named_arg, with value
7424 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
7425
09e4daf5
GK
7426Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
7427
b57062ca 7428 * mips/t-r3900: New - same as t-ecoff but eliminate
09e4daf5
GK
7429 multilibs: mips1 and mips3.
7430 * configure.in (tx39*): Use new mips/t-r3900.
7431 * configure: Rebuild.
7432 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
7433
b57d9225
JM
74341998-02-06 Jason Merrill <jason@yorick.cygnus.com>
7435
7436 * dwarf2out.c: Add old_args_size.
7437 (dwarf2out_args_size): Use it.
7438 (dwarf2out_begin_prologue): Initialize it.
7439 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
7440 pushed args until we see a call.
7441 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
7442 before outputting them.
7443
74441998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
7445
7446 * cplus-dem.c (demangle_template_template_parm): New function.
7447 (demangle_template): Handle template template parameters.
7448
259620a8
MM
74491998-02-02 Mark Mitchell <mmitchell@usa.net>
7450
7451 * calls.c (expand_call): Don't confuse member functions named
7452 realloc, setjmp, and so forth with the standard library
7453 functions of the same names.
7454
78418280
JL
7455Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
7456
7457 * stmt.c (expand_asm_operands): Correctly identify asm statements
94e5565f 7458 no output operands.
78418280 7459
6d819282 7460Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 7461
6d819282
MK
7462 * c-common.c (decl_attributes): Flag unrecognized attribute
7463 functions as warnings instead of as errors.
7464
aec98e42
ML
74651998-02-05 Marc Lehmann <pcg@goof.com>
7466
7467 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
7468 when -Os is specified.
7469 * toplev.c (main): Don't disable flag_inline_functions anymore when
7470 -Os is in effect.
7471
1230327b
R
7472Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7473
7474 * regmove.c: Update.
7475 * flags.h (flag_regmove): Declare.
7476 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
7477 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
7478 Moved into regmove; changed caller.
7479 * toplev.c (rest_of_compilation): Call regmove_optimize also for
7480 expensive_optimizations.
7481
1aca1e76
JL
7482Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
7483
7484 * version.c: Bump for snapshot.
7485
2993ce4c
R
7486Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7487 Undo this change (the problem was actually in reload):
7488 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7489
7490 * sh.md (movqi_i+1): New peephole.
7491
0340ed6c
JL
7492Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
7493
e535528b
JL
7494 * jump.c (jump_optimize): Lose calls to modified_in_p they are
7495 not needed anymore due to changes elsewhere in jump.c.
7496
0340ed6c
JL
7497 * jump.c (jump_optimize): Fix first arg to modified_in_p in
7498 previous change.
7499
6fd1c67b
RH
7500Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
7501
7502 * expr.c (expand_builtin_setjmp): Accept two new arguments for
7503 the labels to branch to on first and subsequent executions. Don't
7504 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
7505 and provide it with the jmp_buf. Use only one of
7506 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
7507 and provide the former with the target label.
7508 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
7509 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
7510 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
7511 insn to replace all of the normal nonlocal_goto code. Don't play
7512 with __dummy. Correct arguments to nonlocal_goto.
7513 * expr.h (expand_builtin_setjmp): Update prototype.
7514 * except.c (start_dynamic_handler): When using builtin_setjmp,
7515 generate more accurate flow information.
7516
7517 * alpha.md (nonlocal_goto_receiver_osf): Delete.
7518 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
7519 (builtin_longjmp, builtin_setjmp_receiver): New.
7520 * sparc.md (update_return): Disambiguate unspec number.
7521 (nonlocal_goto): Rearrange arguments to match caller in except.c.
7522 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
7523 jmp_buf operand.
7524 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
7525 (builtin_setjmp_setup*, builtin_longjmp): New.
7526
95936d18
JC
7527Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
7528
7529 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
7530
c120c689
JW
7531Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
7532
7533 * vmsconfig.com: Remove bytecode references.
7534
1a56b81f
AS
75351998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7536
91193900
AS
7537 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
7538 -fno-sjlj-exceptions works for a target that defines
7539 DWARF2_UNWIND_INFO as zero.
7540
1a56b81f
AS
7541 * regmove.c (fixup_match_1): Undo last change which removed some
7542 "useless" code, and add a comment explaining this.
7543
e4b3de45
GK
7544Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
7545
7546 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
7547 to TARGET_LONG64.
7548
2aabb736
KK
7549Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
7550
7551 * makefile.vms: Remove bytecode references.
7552 Create genrtl files.
7553
7457661d
MH
7554Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
7555
7556 * jump.c (jump_optimize): Allow conditional loading of floating point
7557 constants and constants from memory. Reinstalled modified_in_p tests.
7558
460f50dc
R
7559Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7560
7561 * loop.c (get_condition): Handle sign-extended constants.
7562
7a6df7f9
HPN
7563Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
7564
db771a3c
HPN
7565 * expr.c (emit_push_insn): Add code to use movstrti if present.
7566
7a6df7f9
HPN
7567 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
7568 and movstrqi as in emit_block_move ().
7569
ceb6edf2
TM
7570Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
7571
7572 * config/m68k/x-next: Remove /NextDeveloper/Headers from
7573 the directories to fixinclude - /usr/include is a link
7574 to it and hence its contents are fixed by default.
7575
9cddeb31
FS
7576Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7577
7578 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
7579
d2f05a0a
KK
7580Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
7581
7582 * cccp.c (main): Predefine __VMS_VER on VMS.
7583
f8dac6eb
R
7584Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7585
7586 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
7587 * fold-const.c (size_int): Replace with
7588 (size_int_wide).
7589 (make_bit_field_ref): Use bitsize_int for bit position.
7590 * stor-layout.c (sizetype): Delete.
7591 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
7592 (layout_record, layout_union, layout_type):
7593 Use bitsize_int for bit size.
7594 (set_sizetype): New function.
7595 (make_signed_type, make_unsigned_type): Use it.
7596 * c-decl.c (init_decl_processing): Likewise.
7597 * tree.h (size_int): Don't delcare, #define.
7598 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
7599 (set_sizetype): Declare.
7600 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
7601 Define.
7602 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
7603 Convert result to sizetype.
7604 (really_start_incremental_init, push_init_level):
7605 Set type of constructor_bit_index to sbitsizetype.
7606 (push_init_level): Use unsigned arithmetic to determine padding.
7607 (output_init_element): Likewise.
7608
b577a8ff
JL
7609Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
7610
7611 * combine.c (simplify_shift_const): Fix typo in last change.
7612
6e0ef100
JC
7613Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
7614
7615 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
7616 is (truncate (lshiftrt)).
7617
4208b40f
RH
7618Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
7619
7620 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
7621 Make sure result winds up in TGT.
7622 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
7623 src to be other than DImode.
7624 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
7625 (alpha_expand_unaligned_store_words): Likewise.
7626 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
7627 that source and destination are separately optimized for alignment.
7628 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
7629
82301b88
JL
7630Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
7631
7632 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
7633 with handling of -32768.
7634
a81fb89e
KG
7635Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7636
7637 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
7638 shell variable argument instead of only hard coded functions.
7639 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
7640
7641 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
7642 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
7643 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
7644 declarations for bcopy, bcmp and bzero.
7645
7646 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
7647
7648 * gansidecl.h: If we have bcopy but don't declare it, then do so.
7649 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
7650 bzero, index and rindex if they aren't already present.
7651
eed90b2c
JL
7652Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
7653
b57062ca 7654 * toplev.c (close_dump_file): Wrap function prototype for
eed90b2c
JL
7655 argument "func" in PROTO.
7656 (dump_rtl): Likewise.
7657
bfd6bc60
JC
7658Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
7659
7660 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
7661 MASK_V8PLUS.
7662 (output_function_epilogue): Omit epilogue if nothing drops through.
7663 (output_move_double): Supress int ldd usage on ultrasparc and v9.
7664 (registers_ok_for_ldd_peep): Likewise.
7665 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
7666 (ultrasparc_adjust_cost): New function.
7667 (sparc_issue_rate): New function.
7668 * sparc.h (MASK_VIS, TARGET_VIS): New
7669 (MASK_V8PLUS, TARGET_V8PLUS): New.
7670 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
7671 (TARGET_SWITCHES): Add vis and v8plus.
7672 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
7673 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
7674 (RTX_COSTS): Use TARGET_HARD_MUL
7675 (ADJUST_COST): Call ultrasparc_adjust_cost.
7676 (ISSUE_RATE): New.
7677 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
7678 of load & fp appropritely.
7679 (supersparc function units): Adjust for Haifa.
7680 (ultrasparc function units): Likewise.
7681 (get_pc_via_rdpc): All v9, not just arch64.
7682 (movdi_v8plus, movdi_v8plus+1): New.
7683 (adddi3_sp32+1): New.
7684 (subdi3_sp32+1): New.
7685 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
7686 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
7687 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
7688 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
7689 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
7690 (ldd peepholes): Suppress for v9.
7691 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
7692 (return_subsi): Revmove.
7693
4b526a9a
JC
7694Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
7695
7696 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
7697 save/restore MEM rtl.
7698
64a438d6
JL
7699Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
7700
7701 * configure.in: Check for declaration of abort.
9c893359 7702 * acconfig.h: Corresponding changes.
64a438d6
JL
7703 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
7704 be declared.
7705
f266c82f
JL
7706Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
7707
7708 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
7709 uses it.
7710
31fa4410
JL
7711Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
7712
7713 * version.c: Bump for snapshot.
7714
0ee31ab1
JL
7715Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
7716
7717 * configure.in: Check for atoq and atoll.
7718 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
7719 proper routine for converting ascii into long long values.
7720
eeeb91c5
KK
7721Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
7722
9d21ee77
KK
7723 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
7724
7725 * vmsconfig.com: Remove bytecode references.
7726
7727 * alpha/vms.h (PREFIX): Define.
7728
7729 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
7730
eeeb91c5
KK
7731 * am-alpha.h: Don't include alloca for OPEN_VMS.
7732
7733 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
7734
7735 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
7736 (GCC_INCLUDE_DIR): Define
7737
7738 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
7739 * makefile.vms: New file.
7740
7741 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
7742
7743 * alpha.c (output_prolog): Output '.name' directive
7744 for minimal traceback information.
7745
7746 * alpha.c (output_prolog): Don't prepend entry point symbols
7747 with '$' on OPEN_VMS.
7748
76d31c63
JL
7749Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
7750 Jeffrey A Law (law@cygnus.com)
7751
7752 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
7753 HOST_WIDE_INT.
7754
7755 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
7756 as needed.
7757 * genemit.c (gen_exp): Likewise.
7758 * genpeep.c (match_rtx): Likewise.
7759 * genrecog.c (write_tree_1): Likewise.
7760
7761 * c-lex.c (yyprint): Use proper format string based upon
7762 disposition of HOST_BITS_PER_WIDE_INT.
7763 (yylex): Put casts in right place for args to build_int_2.
7764
7765Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
7766
7767 * combine.c: Fix typos in Jan27 changes.
7768
1b7555bd
OR
7769Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
7770
7771 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
7772 (LINK_SPEC): Likewise.
7773 (STARTFILE_SPEC): Likewise.
7774
21ca87b8
MS
77751998-01-28 Mike Stump <mrs@wrs.com>
7776
7777 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
7778 reload completes.
7779 * genattrtab.c (reload_completed): Define.
7780
7781 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
7782 comments.
7783
d2c92f5a
R
7784Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7785
7786 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
7787 SUBREG_REG if the word count is unchanged, also in the input reload
7788 case. Disable non-applicable sanity checks.
7789
90ad3ab7
JL
7790Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
7791
7792 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
7793
7fad712c
ILT
7794Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
7795
7796 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
7797
2290e0ec
PB
7798Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
7799
1aea01ea
PB
7800 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
7801 is a TREE_VEC before trying to use it for baseclasses.
7802 (Chill uses the same field for a different purpose.)
7803
2290e0ec
PB
7804 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
7805
16980900
LT
7806Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
7807
4c46bad0 7808 * config.sub: More accurate determination of HP processor types.
16980900 7809
5e9defae
KG
7810Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7811
7812 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
7813 prototype for `handle_sysv_pragma', and make it static. Add
7814 parentheses around assignment used as truth value.
7815
7816 * combine.c (combine_instructions): Protect variable `prev' with
7817 macro HAVE_cc0.
7818 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
7819 (extract_left_shift): Add parentheses around operand of &.
7820 (merge_outer_ops): Avoid an empty body in an else-statement.
7821 (gen_rtx_combine): Remove unused variable `i'.
b57062ca 7822
5e9defae
KG
7823 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
7824 function monstartup `void'. Likewise for internal_mcount. Add
7825 `static void' prototype for moncontrol. Reconcile sprintf format
b57062ca 7826 vs. args.
5e9defae
KG
7827
7828 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
7829 Make return type of function_arg_slotno explicitly `int'.
7830 (reg_unused_after): Add parentheses around assignment used as
7831 truth value.
7832 (save_regs): Add explicit braces to avoid ambiguous `else'.
7833 (function_arg_slotno): Add parentheses around && within ||.
7834 (function_arg_pass_by_reference): Likewise.
7835 (sparc_flat_output_function_prologue): Reconcile fprintf format
7836 vs. args.
7837
7838 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
7839 assignment used as truth value.
7840
7841 * cplus-dem.c: Include <stdlib.h>.
7842 (demangle_signature): Avoid an empty body in an else-statement.
7843 (do_type): Remove unused variable `lvl'.
b57062ca 7844
5e9defae
KG
7845 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
7846 Include <string.h>/<strings.h>.
7847 (cpp_lex): Remove unused variable `namelen'.
7848 (cpp_lex): Explicitly declare `num_chars' as an int.
7849
7850 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
7851 <unistd.h> instead. Explicitly declare is_system_include
7852 returning int.
b57062ca 7853 (make_assertion): Remove unused variable `kt'.
5e9defae
KG
7854 (cpp_expand_to_buffer): Hide variable `obuf'.
7855 (output_line_command): Remove unused variables, `line_end',
7856 `line_cmd_buf' and `len'.
7857 (macarg): Remove unused variable `arg_start'.
7858 (special_symbol): Remove unused variable `i'. Add parentheses
b57062ca 7859 around assignment used as truth value.
5e9defae 7860 (do_include): Remove unused variables `pcfname' and `retried',
b57062ca 7861 hide `pcf' and `pcfbuflimit'.
5e9defae
KG
7862 (do_line): Remove unused variable `i'.
7863 (finclude): Hide variable `missing_newline'.
7864 (cpp_handle_options): Remove unused variable `j'.
7865 (read_token_list): Remove unused variable `eofp'.
7866 (cpp_error_with_line): Remove unused variable `i'.
7867 (cpp_warning_with_line): Likewise.
7868 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
7869 (cpp_error_from_errno): Remove unused variable `i'.
7870
7871 * cse.c (invalidate): Add parentheses around assignment used as
7872 truth value.
7873 (find_best_addr): Move declaration of variable `our_cost' inside
7874 the conditional macro where its used.
7875 (fold_rtx): Avoid an empty body in an if-statement.
7876 (cse_insn): Wrap variables `this_insn_cc0_mode' and
7877 `this_insn_cc0' in macro HAVE_cc0.
b57062ca 7878
5e9defae
KG
7879 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
7880 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
7881 (output_uleb128): Likewise.
7882 (output_sleb128): Likewise.
7883 (output_cfi): Likewise.
7884 (output_call_frame_info): Remove unused variables `j', `fde_size'
7885 and `fde_pad'.
7886 (comp_unit_has_inlines): Hide declaration as per rest of file.
7887 (size_of_line_prolog): Correct typo in prototype.
7888 (add_arange): Likewise.
7889 (output_aranges): Likewise.
7890 (add_name_and_src_coords_attributes): Likewise.
7891 (gen_array_type_die): Likewise.
7892 (gen_inlined_subroutine_die): Likewise.
7893 (equate_decl_number_to_die): Remove unused variable `i'.
7894 (print_die): Reconcile format vs. args in fprintf's.
7895 (print_dwarf_line_table): Likewise.
7896 (output_die): Likewise.
7897 (output_line_info): Likewise.
7898 (add_subscript_info): Avoid an empty body in an else-statement.
7899 (gen_subprogram_die): Remove unused variable `fp_loc'.
7900
7901 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
7902 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
7903 macro. Protect `src_coords_attribute' prototype with
7904 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
7905 prototype as in the rest of the file. Likewise for
7906 `output_pointer_type_die' and `output_reference_type_die'. Remove
7907 prototype for `type_of_for_scope'.
7908 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
7909 (type_attribute): Add explicit braces to avoid ambiguous `else'.
b57062ca 7910
5e9defae
KG
7911 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
7912 (shorten_branches): Protect declaration of tmp_length with
7913 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
7914 (profile_function): Protect declaration of `sval' and `cxt'
7915 variables with appropriate macros.
7916 (final_scan_insn): Likewise for `note' variable. Add explicit
7917 braces to avoid empty body in an if-statement.
7918 (output_asm_insn): Move variable `i' inside macro conditional
7919 where it is used. Add parentheses around assignment used as truth
7920 value.
7921 (asm_fprintf) Likewise, likewise.
b57062ca 7922
5e9defae
KG
7923 * fix-header.c (main): Remove unused variable `done'. Protect
7924 declaration of `i' with FIXPROTO_IGNORE_LIST.
7925
7926 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
7927
7928 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
7929 `ind'.
7930
7931 * profile.c: Include <string.h>/<strings.h>.
7932 (instrument_arcs): Remove unused variables `note', `inverted',
7933 `zero' and `neg_one'.
7934 (branch_prob): Avoid empty body in an if-statement.
7935
7936 * regclass.c: Include <stdlib.h>.
7937 (reg_alternate_class): Explicitly declare parameter `regno'.
7938
7939 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
7940 parentheses around assignment used as truth value.
7941 (find_matches): Remove unused variables `output_operand' and
7942 `matching_operand'.
7943 (fixup_match_1): Remove statement with no effect: "if (0) ;".
7944
7945 * scan.c (sstring_append): Explicitly declare `count' as int.
7946 (scan_string): Explicitly declare parameter `init' as int.
7947
7948 * sched.c: Include <stdlib.h>.
7949 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
7950 (rank_for_schedule): Add parentheses around assignment used as
7951 truth value.
7952 (schedule_block): Likewise.
7953 (regno_use_in): Likewise.
7954 (schedule_insns): Remove unused variable `i'.
7955
7956 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
7957 (v_message_with_decl): Remove unused variable `n'.
7958 (botch): Explicitly declare parameter `s' as char *.
7959 (main): Add parentheses around assignment used as truth value.
7960
7961 * tree.c (make_node): Protect the variable `kind' with the
7962 GATHER_STATISTICS macro.
7963 (real_value_from_int_cst): Move variable `e' inside conditional
7964 macro area where it is used.
7965 (tree_last): Add parentheses around assignment used as truth value.
7966 (build1): Protect the variable `kind' with the GATHER_STATISTICS
7967 macro.
7968 (print_obstack_statistics): Reconcile format vs. args in fprintf.
7969 Protect variables `i', `total_nodes', and `total_bytes' with the
7970 GATHER_STATISTICS macro.
7971
4b6bb562
MS
7972Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
7973
7974 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
7975 some comments regarding use of dead_or_set_p.
7976
e95f0195
TV
7977Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
7978
7979 * fixincludes: Tweak fix for struct exception in math.h
7980
c3499f00
GK
7981Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
7982
7983 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
b57062ca 7984 Change mode of registers used to add/sub from
c3499f00
GK
7985 hard_frame_pointer_rtx from word_mode to Pmode.
7986
01898d58
NC
7987Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
7988
6db34dd4
NC
7989 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
7990 asm_output_aligned_bss() instead of asm_output_bss().
7991
01898d58
NC
7992 * toplev.c (rest_of_compilation): Replace references to
7993 stack_reg_dump_file and dbr_sched_dump_file with references to
b57062ca 7994 rtl_dump_file.
01898d58 7995
7b6ffd11
KI
7996Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
7997
7998 * tlink.c (scan_linker_output): Call fclose() for opened files.
7999
60593797
RH
8000Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
8001
8002 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
8003 compiling with -fpic -- we want to be able to override symbols
8004 properly.
8005 (alpha_expand_block_move): Fix thinko in last change.
8006
8007 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
8008 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
8009 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
b57062ca 8010
5e4aab97
RH
8011Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
8012
8013 * alpha.md (abssf, absdf): Revert last change.
8014
69145bcc
JC
8015Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
8016
8017 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
8018 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
8019
4926b75a
JL
8020Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
8021
8022 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
8023 a CONST_INT into SFmode.
8024
c6aded7c
AG
8025Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
8026
8027 * flags.h: New flag (optimize_size).
8028 * toplev.c (main): Parse -Os option and set optimize_space
8029 accordingly.
b57062ca 8030 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
c6aded7c
AG
8031 __OPTIMIZE_SIZE__ when compiling with -Os.
8032 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
8033 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
8034 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
8035 to macro.
8036 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
8037
3698f44e
MH
8038Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
8039
8040 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
8041 stuff only if MCT_TEXT is #define'd.
8042
ac8a456a
MO
8043Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
8044
8045 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
8046 configurations.
8047
032713aa
NC
8048Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
8049
8050 * toplev.c: Add -dM command line option to dump RTL after the
8051 machine dependent reorganisation pass, if there is one.
8052 Reorganise RTL dump code, so that only one file handle is
b57062ca 8053 needed.
032713aa 8054
ec2be682
BK
8055Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
8056
8057 * except.c (check_exception_handler_labels): Disable warning when
8058 flag_syntax_only.
8059
e232b7b3
JW
8060Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
8061
8062 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
8063
2a851b5c
R
8064Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8065
8066 * c-decl.c (grokdeclarator): Get parameter tags from
8067 last_function_parm_tags.
8068 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
8069 traversing the parameter types.
8070 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
8071
808fbfac
JL
8072Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
8073
8074 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
8075 the default case.
8076 (get_shift_alg): Fix typo.
8077
15389075
RH
8078Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
8079
8080 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
8081
83c8ddef
RH
8082Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
8083
8084 * toplev.c (get_run_time): Make sure each case gets its variables.
8085
db81d74a
RH
8086Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
8087
8088 * configure.in (build_xm_file): Add auto-config.h if host=build.
8089 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
8090 (build_xm_file_list): Likewise.
8091 * configure: Rebuild.
b57062ca 8092
f745c7a2
AB
8093Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
8094
8095 * recog.c (validate_replace_rtx_1): Only perform substitutions
8096 of arguments to commutative and comparison operators once.
8097
963f4057
KG
8098Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8099
91a51951
KG
8100 * sparc.c (output_cbranch): Add default case in
8101 enumeration switch.
b57062ca 8102
91a51951
KG
8103 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
8104 (emit_delay_sequence): Eliminate unused parameter, all callers
8105 changed.
8106 (fill_simple_delay_slots): Likewise.
8107 (fill_slots_from_thread): Likewise.
8108 (fill_eager_delay_slots): Likewise.
8109 (mark_referenced_resources): Add default case in enumeration switch.
8110 (mark_set_resources): Likewise.
8111 (rare_destination): Likewise.
8112 (mostly_true_jump): Likewise.
8113 (find_dead_or_set_registers): Likewise.
8114 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
8115 (update_reg_unused_notes): Remove unused variable `p'.
8116 (mark_target_live_regs): Remove unused variables `next' and
8117 `jump_count'.
8118 (fill_simple_delay_slots): Remove unused variable `j'.
8119 (fill_slots_from_thread): Add parentheses around assignment used
8120 as truth value.
8121 (dbr_schedule): Likewise.
8122
963f4057
KG
8123 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
8124 (objc.stage2, objc.stage3, objc.stage4): Likewise.
8125
e82ad93d
MT
8126Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
8127
8128 * cse.c (simplify_ternary_operation): Don't try to simplify
8129 IF_THEN_ELSE expressions (created by combine) that don't use
8130 relational operators.
8131
b4b04bf9
JL
8132Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
8133
ed1ecb19
JL
8134 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
8135 simplifications.
8136
b4b04bf9
JL
8137 * crtstuff.c (init_dummy): Keep the epilogue in the init
8138 section for non-ELF systems.
8139
deeef0ac
R
8140Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8141
8142 * sh.md (movqi_i+1): New peephole.
8143
03566575
JW
8144Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
8145
8146 * Makefile.in: Remove remaining bytecode stuff.
8147 * emit-rtl.c, expr.c: Likewise.
8148
eb96c120
NC
8149Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
8150
8151 * toplev.c (lang_options): Add unknown-pragma options.
8152
f03204e9
PB
8153Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
8154
8155 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
8156 special (and incomplete) handling for Chill arrays.
8157
4e762a38
JC
8158Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
8159
8160 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
8161 to get clock rate.
8162
c3499f00 8163Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
319f217e
GK
8164
8165 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
8166
19f673eb
SS
81671998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
8168
8169 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
8170 .frame directive instead of FRAME_POINTER_REGNUM.
8171
74cf1c6d
RK
8172Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
8173
8174 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
8175 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
8176 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
8177 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
8178 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
8179 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
8180 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
8181 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
8182 mcpu32 or m5200.
8183 * longlong.h: Replace __mc68332__ with __mcpu32__.
8184
e1402e7d
JL
8185Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
8186
8187 * version.c: Bump for snapshot.
8188
6d49a073
JW
8189Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
8190
8191 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
8192 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
8193 * reload1.c (eliminate_regs): Likewise.
8194
c485e6a0
JL
8195Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
8196
8197 * regmove.c (find_matches): Initialize matches->earlyclobber too.
8198
84303d9a
RH
8199Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
8200
8201 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
8202 (negsf2, negdf2): Use proper subtract in IEEE mode.
8203
b93a436e
JL
8204Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
8205
27766f0e
JL
8206 * Makefile.in: Remove more bytecode stuff.
8207 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
8208 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
8209 * f/install.texi, objc/Make-lang.in: Likewise.
8210
b93a436e
JL
8211 * Makefile.in: Remove all bytecode support.
8212 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
8213 * emit-rtl.c: Remove all bytecode support.
8214 * expr.c, expr.h function.c, integrate.c: Likewise.
8215 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
8216 * tree.h, varasm.c: Likewise.
424e713c
JL
8217 * config/m68k/m68k.h: Likewise.
8218 * bi-*, bc-*, bytecode*: Delete bytecode related files.
c9804136 8219 * modemap.def: Likewise.
b93a436e 8220
7e07e3ba
GK
8221Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
8222
8223 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
8224 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
8225
685885b7
RH
8226Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
8227
8228 * i386.md (push): Prohibit symbolic constants if flag_pic.
8229 (movsi+1): Likewise for move to non-register.
8230
5830e3a0
JW
8231Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
8232
11ea364a
JW
8233 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
8234 (print_operand): Handle 0xffffffff on 32 bit host.
8235
a851212a
JW
8236 * configure.in (thread_file): Rename uses before main loop to
8237 target_thread_file. Initialize to empty in main loop. Set thread_file
8238 to target_thread_file after main loop if not set.
8239 * configure: Rebuild.
8240
5830e3a0
JW
8241 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
8242 (add_values_to_cover): Revert last change (which had no ChangeLog
8243 entry).
8244 (simplify_with_current_value_aux): Handle CONST_INT.
8245
829e1aaf
AS
8246Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8247
8248 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
8249
76844337
RH
8250Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
8251
8252 * configure.in: Add cpp stringify test.
8253 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
8254 * gengenrtl.c: Use it.
8255 * configure, config.in: Rebuild.
8256
a3f80023
AS
8257Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8258
8259 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
8260
c5d0345e
RH
8261Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
8262
8263 * configure.in: Find declaration for sbrk.
8264 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
8265 * config.in, configure: Rebuild.
8266 * mips-tfile.c: Properly protect declaration of sbrk and free.
8267 * toplev.c: Properly protect declaration of sbrk.
8268
bb02e7ea
RH
8269Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
8270
8271 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
8272
30c2fa75
JL
8273Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
8274
8275 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
8276
a0372c94
MS
8277Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
8278
8279 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
8280
c9ec4f99
DM
8281Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
8282
0e9ff885
DM
8283 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
8284 constant offset computations from objects with known alignment in
8285 the presence of STACK_BIAS.
8286
7bcac048
DM
8287 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
8288 necessary.
8289 (const_hash): Hash val is unsigned long.
8290 (SYMHASH): Likewise.
8291
8292 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
8293
8294 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
8295 char pointer, not HOST_WIDE_INT.
8296 (print_node): Likewise. Also hash is unsigned long not
8297 HOST_WIDE_INT.
8298
8299 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
8300
c9ec4f99
DM
8301 * explow.c (optimize_save_area_alloca): New function for targets
8302 where SETJMP_VIA_SAVE_AREA is true.
8303 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
8304 compute the amount of stack space needed should we find later that
8305 setjmp is never called by this function, stuff rtl for this inside
8306 a REG_NOTE of the final SET of stack_pointer_rtx.
8307 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
8308 current_function_calls_alloca, call optimize_save_area_alloca.
8309
ca097615
JW
8310Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
8311
8312 * i386.md: Remove redundant integer push patterns.
8313 Don't bother checking for TARGET_PUSH_MEMORY when
8314 pushing constants or registers.
8315
a3105a89
MK
8316Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8317 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
b57062ca 8318
a3105a89
MK
8319 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
8320 (pwait): New function for mingw32.
8321
8322 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
8323 pipe support is broken for now.
8324
51549d76
LI
83251998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
8326
ffc3503d
JL
8327 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
8328 between frame_pointer_rtx, hard_frame_pointer_rtx, and
8329 arg_pointer_rtx is respected in initialization.
8330 (init_emit_once): Use gen_rtx_raw_REG() to create
8331 return_address_pointer_rtx.
8332
51549d76
LI
8333 * reorg.c: #include "expr.h" for rtx prototypes.
8334 * Makefile.in (reorg.o): Depend on expr.h
8335
b24a815b
PN
8336Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
8337
8338 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
8339 local_prefix to sub-make invocations.
8340
1e7b997a
DM
8341Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
8342
8343 * objc-parse.c: Recognize protocol qualifiers in class definitions.
8344
340fb41f
JL
8345Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
8346
ffc3503d
JL
8347 * rtl.h: Fix typos.
8348
aef28d1d 8349 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6885fc87 8350 * configure.in: Check for atol.
aef28d1d
JL
8351 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
8352
4399e7a3
JL
8353 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
8354
72ec635f
JL
8355 * loop.c (find_and_verify_loops): When attempting to move insns from
8356 inside the loop outside the loop, create a BARRIER if no suitable
8357 one was found.
8358
1be6e437
JL
8359 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
8360 favor of an equivalent change from gcc-2.8.
8361
340fb41f
JL
8362 * i386/x-sco5 (CC): Remove trailing whitespace.
8363
982255c8 8364Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 8365
982255c8
KG
8366 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
8367 (accessor_from_format): Likewise.
8368 (xmalloc): New function for use when linking with alloca.o.
8369
db8abea3
BH
8370Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8371
8372 * frame.c (find_fde): Correct FDE's upper bound.
8373
5d483f63
RH
8374Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
8375
8376 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
8377
9a960e6b
JL
8378Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
8379
8380 * calls.c (expand_call): Move #ifdef code out of macro argument
8381 lists.
8382 (emit_library_call, emit_library_call_value): Likewise.
8383
a4b18346
JL
8384Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
8385
8386 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
8387
a252996a
JL
8388Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
8389
8390 * version.c: Bump for snapshot.
8391
38a448ca
RH
8392Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
8393
8394 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
8395 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
8396 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
8397 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
8398 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
8399 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
8400 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
8401 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
8402 * unroll.c, varasm.c: Likewise.
8403 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
8404
8405Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
60db002d
GK
8406
8407 * mips.h: Fix some type-o's from a previous change.
8408
a8decb2c
JL
8409Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
8410
b57062ca 8411 * loop.c (check_dbra_loop): Make sure initial value is a
a8decb2c
JL
8412 CONST_INT before trying to normalize it.
8413
0e2b736c
RL
8414Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
8415
8416 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
8417
a3aa3d8c
HB
8418Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
8419
8420 * cppexp.c: Include gansidecl.h
8421
8b496c8d
ILT
8422Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
8423
8424 * svr4.h (LINK_SPEC): Never specify -h.
8425 * ptx4.h (LINK_SPEC): Likewise.
8426 * rs6000/sysv4.h (LINK_SPEC): Likewise.
8427 * sparc/sol2.h (LINK_SPEC): Likewise.
8428
c995fea1
RH
8429Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
8430
8d47dfc5
RH
8431 * c-typeck.c (comptypes): Exit early on NULL input.
8432
c995fea1
RH
8433 * haifa-sched.c (schedule_insns): Correctly remove inter-block
8434 dependencies after reload.
8435
88ea0ad1
FS
8436Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
8437
8438 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
8439
f5e86959
JL
8440Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
8441
8442 * alpha/vms.h (DIR_SEPARATOR): define
8443
8444Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6c32c807
BH
8445
8446 * Makefile.in (stamp-proto): Remove.
8447 (protoize.o, unprotoize.o): Straightforward compile.
8448 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
8449
93006f8c
MK
8450Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
8451
8452 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
8453 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
8454
e4c4f8df
JL
8455Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
8456
8457 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
8458 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
8459 * sparc/netbsd.h, vax/netbsd.h: Likewise.
8460
4aa0c2a5
SS
8461Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
8462
8463 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
8464
c43143f6
JW
8465Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
8466
8467 * configure.in (target_cpu_default, target_cpu_default2): Use double
8468 quotes around them when testing their value.
8469 * configure: Rebuilt.
b57062ca 8470
4b8140a6
JC
8471Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
8472
8473 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
8474 to allocate rtx.
8475 (gendef): Call obstack_alloc_rtx.
8476
82de9b28 8477Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
fe07d4c1
RL
8478
8479 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
8480 for now.
8481
23092526 8482Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 8483
23092526
MK
8484 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
8485 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
8486 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
8487
b57062ca 8488Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
32318600
JW
8489
8490 * mips.md (return_internal): Change mode from SImode to VOIDmode.
8491
ef720b21
KJ
8492Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
8493
8494 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
8495 "-static".
8496
cde21847
SC
8497Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
8498
8499 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
8500 suffix from operand 3.
8501
184bb750
R
8502Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
8503 Jeffrey A Law (law@cygnus.com)
8504
8505 * regmove.c: New implementation of regmove pass.
8506 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
8507 decls, make them have external linkage. Return a value from
8508 optimize_reg_copy_1.
8509 * reload.h (count_occurrences): Add decl.
8510 * reload1.c (count_occurrences): Delete decl, make it have external
8511 linkage.
8512 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
8513
3f9e9508 8514Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
b57062ca 8515
3f9e9508
JL
8516 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
8517 if it is not defined.
b57062ca 8518
3b80f6ca
RH
8519Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
8520
8521 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
8522 * emit-rtl.c (gen_rtx): Move special code to ...
8523 (gen_rtx_CONST_INT): New function.
8524 (gen_rtx_REG): New function.
8525 (*): Update all calls to gen_rtx.
8526 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
8527 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
8528 (GEN_INT): Call gen_rtx_CONST_INT.
8529 * gengenrtl.c: New file.
8530
1c72c7f6
JC
8531Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
8532
8533 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
8534 (base_alias_check): If no base found for address call canon_rtx and
8535 try again.
8536
8fa4e1b4
JL
8537Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
8538
8539 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
8540 arguments for mips16.
8541 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
8542 Don't lose if tsize is zero after handling large stack for mips16.
8543 * mips.md (return): For trivial return, return address is in $31.
8544
eb774d8d
NS
8545Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
8546
8547 * mips/mips16.S: Various changes to make it work with -msingle-float
8548 and -EL.
8549
2bcb2ab3
GK
8550Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
8551 Ian Lance Taylor <ian@cygnus.com>
8552 Jeff Law <law@cygnus.com>
8553
8554 * mips.c, mips.h, mips.md: First cut at merging in mips16
8555 support. Major modifications throughout all three files.
8556
db0d1ed9
SS
8557Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
8558
8559 * configure.in: Make gthr-default.h a forwarding header instead of
8560 a symlink.
8561
79873958
KG
8562Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8563
86e011ad
KG
8564 * gcov-io.h: Include sys/types.h to ensure we get size_t.
8565
79873958
KG
8566 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
8567
35a42f5f
JW
8568Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
8569 Jeffrey A Law (law@cygnus.com)
8570
8571 * crtstuff.c (__frame_dummy): New function for irix6.
8572 (__do_global_ctors): Call __frame_dummy for irix6.
8573 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
8574
ef86d2ee
WL
8575Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
8576
8577 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
8578
6c174fc0
RH
8579Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
8580
8581 * c-decl.c (init_decl_processing): Provide proper fallback symbol
8582 for __builtin_memset.
8583 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
8584 not INTEGER_CST. Assert arg 3 is a constant.
8585
8586 * alpha.c (mode_width_operand): Accept 64-bit modes.
8587 (mode_mask_operand): Likewise.
8588 (print_operand): Likewise for 'M' and 'U' codes.
8589 (alpha_expand_unaligned_load): New function.
8590 (alpha_expand_unaligned_store): Likewise.
8591 (alpha_expand_unaligned_load_words): Likewise.
8592 (alpha_expand_unaligned_store_words): Likewise.
8593 (alpha_expand_block_move): Likewise.
8594 (alpha_expand_block_clear): Likewise.
8595 * alpha.h (MOVE_RATIO): New define.
8596 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
8597 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
8598
8599 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
8600 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
8601
8fbf199e
RH
8602Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
8603
8604 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
8605 * configure: Update.
8606
2d490e3e
JL
8607Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
8608
aa2ae679
JL
8609 * emit-rtl.c (operand_subword): Correctly handle extracting a word
8610 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
8611
2d490e3e
JL
8612 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
8613 for first argument.
8614
6e26218f
ILT
8615Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
8616
8617 * configure.in: Set and subsitute host_exeext. Use it when creating
8618 the assembler and linker symlinks.
8619 * configure: Rebuild.
8620 * Makefile.in (exeext): Set to @host_exeext@.
8621 (build_exeext): New variable, set to @build_exeext@.
8622 (FLAGS_TO_PASS): Pass down build_exeext.
8623 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
8624 programs.
8625
1b31097e
JL
8626Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
8627
8628 * mn10200.md (addsi3, subsi3): Fix thinkos.
8629
194faace
RH
8630Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
8631
8632 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
8633 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
8634 unix always, since we want to be able to thunk to functions in a
8635 shared library from an application.
8636
975602f8
ILT
8637Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
8638
8639 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
8640 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
8641
0eb1ad44
JL
8642Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
8643
8644 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
8645 offset's mode is not ptr_mode, convert it.
8646
eff0f7ac
MM
8647Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
8648
8649 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
8650 compiling if it was already defined.
8651
2c3a56ad
JL
8652Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
8653
8654 * flow.c (find_basic_blocks): Don't create a new basic block
8655 for calls in a LIBCALL block.
8656
fc97718f
DE
8657Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
8658
8659 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
8660
5b5a2a1e
JL
8661Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
8662
8663 * cse.c (rtx_cost): Remove conflicting default case.
8664
128f7968
RH
8665Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
8666
8667 * configure.in: Move default enabling of Haifa out of for loop.
8668 * configure: Rebuild.
8669
e81b4fbe
JL
8670Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
8671
8672 * version.c: Bump for snapshot.
8673
f24af81b
TT
86741997-12-25 Teemu Torma <tot@trema.com>
8675
8676 * Makefile.in (GTHREAD_FLAGS): New var.
8677 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
8678 (distclean): Remove gthr-default.h.
8679
8680 * configure.in: Accept dce as a thread package.
8681 Check for thread.h and pthread.h.
8682 Link gthr-default.h to appropriate thread file and set
8683 gthread_flags.
8684 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
8685 include multilib definitions from pa/t-dce-thr.
8686 (sparc-*-solaris2*): Enable threads by default, if thread.h or
8687 pthread.h is found, preferring posix threads over solaris ones.
8688
8689 * config/pa/t-dce-thr: New file.
8690 * config/pa/t-pa: Removed multilibs.
8691 * config/sparc/t-sol2: Ditto.
b57062ca 8692
f24af81b
TT
8693 * gthr.h: New file.
8694 * gthr-single.h: New file.
8695 * gthr-posix.h: New file.
8696 * gthr-solaris.h: New file.
8697 * gthr-dce.h: New file.
8698 * libgcc-thr.h: Removed.
8699 * objc/thr-dce.c: New file copied from thr-decosf1.c.
8700
8701 * frame.c: Include gthr.h instead of libgcc-thr.h.
8702 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
8703 (eh_context_initialize): If __gthread_once fails, use static eh
8704 context.
8705 (eh_context_free): Call __gthread_key_dtor.
8706
d9a4ee00
JL
8707Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
8708
8709 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
8710
04bd620d
JW
8711Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
8712
556c714b 8713 * cse.c (max_insn_uid): New variable.
556c714b
JW
8714 (cse_around_loop): Use max_insn_uid.
8715 (cse_main): Set max_insn_uid.
8716
04bd620d
JW
8717 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
8718 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
8719 -mlong64, and -mgp{32,64} options.
8720 * mips.c (mips_abi): Change type to int.
8721 * mips.h (enum mips_abi_type): Delete.
8722 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
8723 (mips_abi): Change type to int.
8724
439d5a35
JC
8725Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
8726
8727 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
8728 optimization is now always enabled.
8729
8730 * calls.c (expand_call): Recognize C++ operator new as malloc-like
8731 function.
8732
8733 * alias.c (memrefs_conflict_p): Eliminate tests now done by
8734 base_alias_check.
8735 (*_dependence): Call canon_rtx before base_alias_check.
8736 (init_alias_once): New function to precompute set of registers which
8737 can hold Pmode function arguments.
8738
8739 * rtl.h: Declare init_alias_once.
8740
8741 * toplev.c (compile_file): Call init_alias_once.
8742
280e521f
JL
8743Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
8744
8745 * tree.c (restore_tree_status): Do not dereference a null pointer.
8746
95b8c0c8
PE
8747Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
8748
8749 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
8750 RLIMIT_STACK. This maintains consistency with the recent, similar
8751 patch to cccp.c and toplev.c.
8752
71d9b493
RH
8753Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
8754
8755 * genattrtab.c (expand_units): For large nr opclasses, expand
8756 function_units_used with ORX to prevent blowups. Tag with FFS.
8757 (num_unit_opclasses): New variable.
8758 (gen_unit): Update it.
8759 (enum operator): Add ORX_OP.
8760 (operate_exp): Treat ORX as or, except don't expand across an if.
8761 Reuse number rtx's after operating on them.
8762 (check_attr_value): Accept IOR, AND, & FFS.
8763 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
8764 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
8765 (write_expr_attr_cache, write_toplevel_expr): New functions.
8766 (write_attr_get): Handle FFS-tagged expressions.
8767 (make_canonical): Don't expand const attributes.
8768 (convert_const_symbol_ref): Dike out.
8769 (evaluate_eq_attr): Handle SYMBOL_REF.
8770 (main): Don't emit get_attr_foo for const attributes.
8771
8772 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
8773 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
8774 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
b57062ca
UD
8775 * alpha.md: Redo all of the scheduling, adding EV6 support, and
8776 combining function units where possible.
71d9b493
RH
8777 (attr "type"): Split loads, stores, cmov into int/fp. Combine
8778 multiplies and divides. Add EV6 sqrt, ftoi, itof.
8779 (attr "opsize"): New attribute.
8780 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
8781 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
8782 to control register allocation.
8783 (movsi2-1, movdi2-1): Likewise.
8784
b0435cf4 8785Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
b57062ca 8786
b0435cf4
RH
8787 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
8788 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
8789 Move OSF/1 specific defines out.
8790 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
8791 Move Linux specific defines out.
8792 (LINK_SPEC): Genericize.
8793 (ASM_FILE_START): Emit .arch if using more than the base insn set.
8794 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
8795 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
8796 (HANDLE_SYSV_PRAGMA): Define.
8797 * alpha/osf.h: New file.
8798 * alpha/linux.h: Split. Retain file-format independant defines.
8799 Import Linux bits from elf.h.
8800 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
8801 (FUNCTION_PROFILER): _mcount takes its address in $28.
8802 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
8803 * alpha/linux-ecoff.h: New file.
8804 * alpha/linux-elf.h: New file.
8805 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
8806 * alpha/win-nt.h (TARGET_DEFAULT): Define.
8807 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
8808 Add new headers as appropriate.
b57062ca 8809
b0435cf4
RH
8810 * configure.in (alpha*): Enable Haifa by default.
8811 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
8812 * configure: Rebuild.
b57062ca 8813
5768f211
RH
8814Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
8815
8816 * Makefile.in (clean): Remove the stages with their objects here ...
8817 (distclean): ... instead of here.
8818
9e04c65a 8819Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 8820
9e04c65a
KG
8821 * cse.c (rtx_cost): Add default case in enumeration switch.
8822 * fix-header.c (recognized_macro): Likewise.
8823 (recognized_extern): Likewise.
8824 (write_rbrac): Likewise.
8825 * objc/objc-act.c (encode_aggregate): Likewise.
8826 (gen_declarator): Likewise.
8827 (gen_declspecs): Likewise.
8828
1d88b804
JL
8829Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
8830
8831 * haifa-sched.c (create_reg_dead_note): Detect and handle another
8832 case where we kill more regs after sched than were killed before
8833 sched.
8834 * sched.c (create_reg_dead_note): Similarly.
8835
bbeba0ba
JL
8836Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
8837
8838 * c-pragma.c: Include flags.h.
8839
05853640
MK
8840Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
8841
8842 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
8843 about system headers.
8844 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
8845 and also to resolve symbols in prefix.c.
8846
8847 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
8848 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
8849 when the definitions in auto-config.h is not visible.
8850 (HAVE_BZERO): Likewise.
8851 (HAVE_BCMP): Likewise.
8852 (HAVE_RINDEX): Likewise.
8853 (HAVE_INDEX): Likewise.
8854
44201dba
JL
8855Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
8856
8857 * pa.c (emit_move_sequence): Handle a function label source
8858 operand.
8859
d300e551
NC
8860Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
8861
8862 * c-pragma.c (handle_pragma_token): Generate warning messages
8863 about unknown pragmas if warn_unknown_pragmas is set.
8864
8865 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
8866 line option to set variable: warn_unknown_pragmas.
8867
d3245704
MH
8868Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
8869
8870 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
8871 definition.
8872 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
8873
5198352e
JL
8874Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
8875
8876 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
8877 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
8878 generate more fine grained floating point emulation libraries.
8879 * config/fp-bit.c: Add protecting #ifdef to all functions so
8880 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
8881 then compile all suitable functions.
8882 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
8883 underscores to avoid namespace pollution.
8884 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
8885 (FPBIT): Define.
8886 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
8887 (FPBIT): Define.
8888 (DPBIT): Define.
8889
9f1ff8e8 8890Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1d300e19
KG
8891 Jeff Law <law@cygnus.com>
8892
8893 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
8894 of the declaration.
8895 * c-decl.c (finish_decl): Use parentheses around && within ||.
8896 * rtl.c: Include stdlib.h.
8897 (read_skip_spaces): Add parentheses around assignments used as
8898 truth values.
8899 (read_rtx): Initialize list_rtx.
8900 * cppexp.c (parse_number): Use || when operands are truth values.
8901 * alias.c (find_base_value): Add default case.
8902 (memrefs_conflict): Likewise.
8903 * combine.c (sets_function_arg_p): Likewise.
8904 * genemit.c (gen_exp): Likewise.
8905 * local-alloc.c (contains_replace_regs): Likewise.
8906 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
8907 * fold-const.c (fold_convert): Use "&&" for truth values.
8908 (fold): Add default case.
8909 * sdbout.c (sdbout_field_types): Fix typo in declaration.
8910 (sdbout_one_type): Add default case.
8911 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
8912 (some_operand): Add default case.
8913 (input_operand): Likewise.
8914 (signed_comparison_operator): Likewise.
8915 (divmod_operator): Likewise.
8916 (alpha_set_memflags_1): Likewise.
8917 * reload1.c (reload_cse_simplify_operands): Ensure function
8918 always returns a value.
8919 * scan-decls.c (scan_decls): Likewise.
8920 * c-lex.c (skip_white_space): Fix typo in declaraion.
8921 * c-typeck.c (comp_target_types): Add parentheses around assignment
8922 used as truth value.
8923 (print_spelling): Likewise.
8924 (constructor_implicit, constructor_result): Remove unused variables.
8925 * collect2.c (scan_library): Protect prototype with
8926 #ifdef SCAN_LIBRARIES.
8927 * emit-rtl.c (find_line_note): Fix typo in declaration.
b57062ca 8928 * final.c (asm_insn_count): Protect prototype with
1d300e19
KG
8929 #ifdef HAVE_ATTR_length.
8930 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
8931 (try_pre_increment_1, try_pre_increment): Likewise.
8932 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
8933 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
8934 * gcov-io.h (__store_long, __write_long, __read_long): Fix
8935 unsigned/signed comparisons.
8936 * gcov.c (read_files): Remove unused "first_type" variable.
8937 (scan _for_source_files): Initialize s_ptr.
8938 (function_summary): Eliminate "%lf" formatting, use %ld for
8939 longs.
8940 (output_data): Initialize branch_probs and last_line_num.
8941 Eliminate "%lf" formatting, use "%ld" for longs.
8942
18543a22
ILT
8943Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
8944
afba61d1
ILT
8945 * mips16.S: New file.
8946
8947 * libgcc2.c (varargs): Handle mips16.
8948
18543a22
ILT
8949 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
8950 expression.
8951 * stmt.c (expand_end_case): Likewise.
8952 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
8953 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
33f7f353 8954 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
18543a22 8955
dbf3231e
AS
8956Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8957
8958 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
8959 the build directory.
8960 (libobjc.a): Update dependency list.
8961 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
8962 directory.
8963 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
8964 (objc.mostlyclean): Remove runtime-info.h.
8965
e1ee5cdc
RH
8966Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
8967
8968 * tree.c (build_range_type): Allow creation of ranges with no maximum.
8969 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
8970 * dwarf2out.c (add_subscript_info): Likewise.
8971 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
8972 * sdbout.c (plain_type_1): Likewise.
8973 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
8974 Likewise.
8975 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
8976 Likewise.
8977
dfe91418 8978Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 8979
dfe91418
JL
8980 * mips.c (fatal): Remove declaration.
8981
89821997-12-18 Mark Mitchell <mmitchell@usa.net>
8983
8984 * integrate.c (get_label_from_map): New function.
8985 (expand_inline_function): Use it. Initialize the label_map to
8986 NULL_RTX instead of gen_label_rtx.
8987 (copy_rtx_and_substitute): Use get_label_from_map.
8988 * integrate.h (get_label_from_map): New function.
8989 (set_label_from_map): New macro.
8990 * unroll.c (unroll_loop): Use them.
8991 (copy_loop_body): Ditto.
8992
337e2b69
ILT
8993Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
8994
8995 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
8996 (INIT_TARGET_OPTABS): Define.
8997 * mips/ecoff.h: Include gofast.h before mips.h.
8998 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
8999 * mips/elf64.h: Likewise.
9000 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
9001
02531345
JM
9002Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
9003
9004 * except.c: Remove register_exception_table{,_p}.
9005
913b5d54
GK
9006Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
9007
efb84aa5
GK
9008 * unroll.c (calculate_giv_inc): Handle constant increment found in
9009 a MEM with an appropriate REG_EQUAL note.
9010
bb1b857a
GK
9011 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
9012
913b5d54
GK
9013 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
9014 frame pointer in the prologue.
9015
80aab652
RL
9016Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
9017
9018 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
9019 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
9020
f5c4bc60 9021Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
b57062ca 9022
f5c4bc60
BM
9023 * config/m68k/m68k.c (output_function_prologue): Typecast
9024 dwarf2out_cfi_label to (char *).
9025 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
b57062ca 9026
8dcb5295
RH
9027Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
9028
9029 * sparc.md (jump): Don't use the annul bit around an empty loop.
9030 Patch from Kevin.Kelly@East.Sun.COM.
9031
a99503b1
SC
9032Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
9033
b57062ca 9034 * jump.c: (jump_optimize): Don't use the return register as a
a99503b1
SC
9035 source1 of a conditional move.
9036
e13c943c
RH
9037Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
9038
9039 * sparc.c (DF_MODES): Or the mask not the bit number.
9040 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
9041
be3d27d6
CI
9042Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9043
9044 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
9045
f184a264
MH
9046Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
9047
ade7386a
MH
9048 * fixincludes (size_t): Add support for Motorola's stdlib.h
9049 which fails to provide a definition for size_t.
9050 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
9051 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
9052 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
9053
f184a264
MH
9054 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
9055 prevent unresolved externals in libio.
9056 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
9057
afc96791
L
9058Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
9059
9060 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
9061 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
9062 (LIB_SPEC): Updated for glibc 2.
9063
e9818f3c
JL
9064Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
9065
9066 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
9067 * ginclude/varargs.h: Likewise.
9068
a3fd4e75 9069Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
9070
9071 * version.c: Bump for snapshot.
9072
a3fd4e75
JL
9073Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
9074
9075 * frame.h (__register_frame, __register_frame_table,
9076 __deregister_frame): New.
9077 * frame.c (__register_frame, __register_frame_table,
9078 __deregister_frame): New.
9079 * frame.c (__deregister_frame_info): Return void *.
9080 * frame.h (__deregister_frame_info): Ditto.
9081 * collect2.c (__deregister_frame_info): Ditto.
9082
166cdf4a
RH
9083Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
9084
9085 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
9086
bcbbac26
RH
9087Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
9088
9089 * alpha.c (alpha_cpu_name): New variable.
9090 (alpha_mlat_string): Likewise.
9091 (alpha_memory_latency): Likewise.
9092 (override_options): Handle -mmemory-latency.
9093 (alpha_adjust_cost): Adjust load cost for latency.
9094 * alpha.h (TARGET_OPTIONS): Add meory-latency.
9095 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
9096 TARGET_CIX into account.
9097 (MEMORY_MOVE_COST): Define in terms of memory_latency.
9098 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
9099
9100 * alpha.h (ASM_COMMENT_START): New macro.
9101
9102Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
9103
9104 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
9105 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
9106
9107 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
9108 SUBREG_REG if the word count is unchanged.
9109 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
9110 subregs of identical word size for push_reload.
9111
a701efba
MM
9112Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
9113
9114 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
9115 if all we're doing is dealing with -Wreturn-type.
9116
5e21ac7a
RH
9117Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
9118
9119 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
9120 Use and 255 instead of zapnot 1, since it schedules better.
9121
296f8acc
JL
9122Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
9123
9124 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
9125 it as volatile.
9126
6d8ccdbb
JL
9127Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
9128
9129 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
9130 dependency we delete. Properly update prev for multiple consecutive
9131 deletions.
9132 (priority): Skip deleted dependence.
9133
14e83f2e
PB
9134Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
9135
9136 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
9137
100d81d4
JM
9138Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9139
9b8d9d6b
JM
9140 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
9141 determining when a new basic block starts.
9142
74c3447c
JM
9143 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
9144
9145 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
9146 * pa.md (iorsi3): Add missing args to *_operand calls.
9147
100d81d4
JM
9148 * except.c (call_get_eh_context): Don't mess with sequences.
9149 (emit_eh_context): Include the call in the sequence here.
9150
5a5ab947
PE
91511997-12-11 Paul Eggert <eggert@twinsun.com>
9152
9153 * collect2.c (write_c_file_glob): Allocate initial frame object
9154 in static storage and pass its address.
9155
01eb7f9a
JM
9156Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9157
9158 * except.c (call_get_eh_context): Don't take a parm.
9159 Put the call at the top of the function.
9160 (emit_eh_context): Adjust.
9161 (get_eh_context): Replace with former use_eh_context.
9162 (get_eh_context_once, get_saved_pc_ref): Remove.
9163 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
9164 * except.h: Adjust.
9165 * integrate.c (expand_inline_function): Adjust.
9166 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
9167
d19814a3
ML
9168Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
9169
9170 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
9171 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
9172
7567d496
MH
9173Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
9174
ade7386a 9175 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496 9176 layout on sysV88.
b57062ca 9177 (hypot): Provide a fake for hypot which is broken on
7567d496
MH
9178 m88k-motorola-sysv3.
9179
0a6969ad
JC
9180Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
9181
9182 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
9183 tree_code_name from pointers to arrays.
9184 * tree.c: Remove standard_tree_code_* variables, no longer used.
9185 * print-tree.c: Remove declaration of tree_code_name.
9186
9187 * cp/lex.c (init_lex): Update for tree_code_* changes.
9188 * objc/objc-act.c (init_objc): Likewise.
9189
9190 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
9191 changes.
9192
c55dcc7d
FF
9193Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
9194
9195 * config.sub: Add support for BeOS target.
9196 * configure.in: Likewise.
9197 * ginclude/stdarg.h: Likewise.
9198 * ginclude/stddef.h: Likewise.
9199 * ginclude/varargs.h: Likewise.
9200 * rs6000/beos.h: New file for BeOS.
9201 * rs6000/t-beos: Likewise.
9202 * rs6000/x-beos: Likewise.
9203 * rs6000/xm-beos.h: Likewise.
9204 * toplev.c (get_run_time): Just return 0 on BeOS.
9205
9cf3ae46
JL
9206Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
9207 Toon Moene (toon@moene.indiv.nluug.nl)
9208
9209 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
9210 old and broken Sun3 assemblers. Newer versions handle large
9211 offsets correctly as does the GNU assembler.
9212
7cc273ad
L
9213Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9214
9215 * objc/objc-act.c (lang_report_error_function): Disable.
9216 * objc/objc-parse.y: Include "output.h".
9217 (yyerror): Remove redundant decl.
9218 (yyprint): Fix prototype.
9219 (apply_args_register_offset): Remove redundant decl.
9220 (get_file_function_name): Likewise.
9221
74d7ab55
JM
9222Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
9223
9224 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
9225 a new basic block.
9226 (find_basic_blocks_1): Likewise.
9227
0776059e
JM
9228Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
9229
9230 * except.c (use_eh_context): Don't copy_rtx a REG.
9231 (emit_throw): Lose old unwinder support.
9232 (expand_internal_throw): Likewise.
9233 * libgcc2.c (struct eh_context): Likewise.
9234 (new_eh_context): Likewise.
9235 (__get_eh_info): Lose redundant cast.
9236 (__get_dynamic_handler_chain): Likewise.
9237 (__get_saved_pc): Lose.
9238 Lose all old unwinder support code.
9239
154bba13
TT
9240Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
9241
9242 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
b57062ca 9243
154bba13
TT
9244 * integrate.c (expand_inline_function): If the inline fn uses eh
9245 context, make sure that the current fn has one.
9246 * toplev.c (rest_of_compilation): Call emit_eh_context.
9247 * except.c (use_eh_context): New fn.
9248 (get_eh_context_once): New fn.
9249 (call_get_eh_context): New fn.
9250 (emit_eh_context): New fn.
9251 (get_eh_context): Call either get_eh_context_once or
9252 call_get_eh_context, depending on what we have.
9253 (get_dynamic_handler_chain): Call get_eh_context_once.
9254 * except.h: Prototypes for fns above.
9255 * optabs.c (get_eh_context_libfunc): Removed.
9256 (init_optabs): Don't initialize it.
9257 * expr.h (get_eh_context_libfunc): Removed.
9258 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
9259 * config/pa/pa.h (CPP_SPEC): Support for -threads.
9260 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
9261 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9262 New multilib for -threads.
9263 * config/sparc/t-sol2: Added multilibs for -threads and
9264 made -pthreads alias to it.
9265 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
9266 Added -threads and -pthreads options.
9267 * libgcc-thr.h: New file.
9268 * libgcc2.c: (__get_cpp_eh_context): Removed.
9269 (struct cpp_eh_context): Removed.
9270 (struct eh_context): Replaced cpp_eh_context with generic language
b57062ca 9271 specific pointer.
154bba13
TT
9272 (__get_eh_info): New function.
9273 (__throw): Check eh_context::info.
9274 (__sjthrow): Ditto.
9275 * libgcc2.c: Include libgcc-thr.h.
9276 (new_eh_context, __get_eh_context,
9277 eh_pthread_initialize, eh_context_initialize, eh_context_static,
9278 eh_context_specific, eh_context_free): New functions.
9279 (get_eh_context, eh_context_key): New variables.
9280 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
9281 get_eh_context to get the context.
9282 (longjmp): Move the declaration inside
9283 #ifdef DONT_USE_BUILTIN_SETJMP.
9284 * frame.c: Include libgcc-thr.h.
9285 (object_mutex): Mutex to protect the object list.
9286 (find_fde, __register_frame, __register_frame_table,
9287 __deregister_frame): Hold the lock while accessing objects.
9288 * except.h (get_eh_context): Declare.
9289 * except.c (current_function_ehc): Define.
9290 (current_function_dhc, current_function_dcc): Removed.
9291 (get_eh_context): New function.
9292 (get_dynamic_handler_chain): Use get_eh_context.
9293 (get_saved_pc_ref): Ditto.
9294 (get_dynamic_cleanup_chain): Removed references to
9295 current_function_dcc.
9296 (save_eh_status, restore_eh_status): Save and restore
9297 current_function_ehc instead.
9298 * optabs.c (get_eh_context_libfunc): New variable.
9299 (init_optabs): Initialize it.
9300 * expr.h: Declare get_eh_context_libfunc.
9301 * function.h (struct function): Replaced dhc and dcc with ehc.
9302 * except.c (get_saved_pc_ref): New functions.
9303 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
9304 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
9305 of eh_saved_pc.
9306 (end_eh_unwinder): Likewise.
9307 (init_eh): Remove initialization of eh_saved_pc.
9308 * optabs.c (get_saved_pc_libfunc): New variable.
9309 (init_optabs): Initialize it.
9310 * expr.h: Declare get_saved_pc_libfunc.
9311 * except.h (eh_saved_pc_rtx): Deleted.
9312 (get_saved_pc_ref): Declared.
9313
9314 From Scott Snyder <snyder@d0sgif.fnal.gov>:
9315 * libgcc2.c (__get_saved_pc): New.
9316 (__eh_type, __eh_pc): Deleted.
9317 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
9318 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
9319 this fcn.
9320
68d75312
JC
9321Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
9322
b16d8734
JC
9323 * sparc/sol2.h: Use 64 bit multiply and divide functions in
9324 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
9325 as 0.
9326
68d75312
JC
9327 * rtl.h (global_rtl): New variable, replacing separate variables for
9328 commonly used rtl.
9329 (const_int_rtx): Now array of rtx_def, not rtx.
9330 * emit-rtl.c: Update for new rtl data structures.
9331 * genattrtab.c: Define global_rtl.
9332
44517326 9333Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 9334
44517326
DE
9335 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
9336 default.
f40421ce 9337
8587487b
AG
9338Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
9339
9340 * crtstuff.c (__do_global_ctors): Fix typo.
9341
08ce3276
MH
9342Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
9343
9344 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9345 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9346
c229cba9
DE
9347Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
9348
9349 * rs6000.h (FUNCTION_ARG_PADDING): Define.
9350 * rs6000.c (function_arg_padding): New function.
9351
b2c59d0b
MH
9352Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
9353
9354 * m68k.c: Include tree.h only once.
9355
c1132c27
RK
9356Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9357
9358 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
9359
ac957f13
JL
9360Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
9361
9362 * Partially cleaned up prototyping code from HJ.
a1d061a1 9363 * tree.h: Add many prototypes.
ac957f13
JL
9364 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
9365 All references changed.
9366 * rtl.h: Protect from multiple inclusions. Add many prototypes.
b57062ca 9367
f40421ce 9368Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
9369
9370 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
9371 string functions like strlen.
9372
0a232106
MH
9373Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
9374
9375 * configure.in: Check for functions getrlimit and setrlimit.
9376 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
9377 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
9378
25b76cc1
JS
9379Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
9380
9381 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
9382
26250081
RH
9383Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
9384
9385 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
9386 Fix merge problems.
9387
9388 * alpha.c (override_options): Don't know about scheduling for EV6.
9389 * alpha.md (ev5 function units): Don't overload as ev6.
9390
9391 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
9392 * alpha.md (define_attr type): Add mvi.
9393 (ev5_e0): Define sceduling parameters for it.
9394 (TARGET_MAX insns): Type is mvi not shift.
9395
7120f213
RH
9396Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
9397
9398 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
9399
afa80947
R
9400Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9401
9402 * cstamp-h, auto-config.h: Delete.
9403
51ca169b
JL
9404Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
9405
9406 * version.c: Bump for snapshot.
9407
16169366
JL
9408Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
9409
9410 * cccp.c: Fix typo brought over in merge.
9411
efeb5d4f 9412 * Merge in changes from gcc-2.8.
0fe09481 9413
da932f04
JL
9414Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
9415
9416 * m68k.c: Include tree.h for dwarf2out_cfi_label.
9417
9418 * gcc.c (process_command): Do not take address of function fatal when
9419 calling lang_specific_driver.
9420
9421Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
9422
b57062ca 9423 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
da932f04
JL
9424 doesn't work with it yet, so set it to 0.
9425 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
9426
9427Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9428
9429 * cse.c (cse_insn): Check for invalid entries when taking references.
9430
81797aba
JL
9431Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9432
9433 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
9434 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
9435 * toplev.c (rest_of_compilation): Pass it. Remove code to
9436 save / clear / restore flag_unroll_{,all_}loops.
9437
9438Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
9439
9440 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
9441
9442Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
9443
9444 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
9445
5dfa7520
JM
9446Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
9447
d07daca1
JM
9448 * except.c (get_dynamic_handler_chain): Only make the call once per
9449 function.
9450
5dfa7520
JM
9451 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
9452
4d7b7169
R
9453Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9454
9455 * sh.c (final_prescan_insn): Use local label prefix
9456 when emitting .uses pseudo-ops.
9457
e701eb4d
JM
9458Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9459
9460 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
9461 * except.c: Lose outer_context_label_stack.
9462 (expand_eh_region_end): Rethrow from outer_context here.
9463 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
9464 (expand_internal_throw): Take no args.
9465 (expand_internal_throw_indirect): Lose.
9466 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
9467 (expand_start_all_catch): Start a rethrow region.
9468 (expand_end_all_catch): End it.
9469 (expand_rethrow): New fn.
9470 * except.h: Reflect above changes.
9471 * flow.c: Revert change of Nov 27.
9472
6a242b6a
JL
9473Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
9474
9475 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
9476
9762d48d
JM
9477Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9478
9479 * except.c (expand_fixup_region_end): New fn.
9480 (expand_fixup_region_start): Likewise.
9481 (expand_eh_region_start_tree): Store cleanup into finalization here.
9482 * stmt.c (expand_cleanups): Use them to protect fixups.
9483
868e82ab
GK
9484Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
9485
9486 * mips/mips.md (muldi3_r4000): Broaden the output template
9487 and attribute assignments to handle three operand dmult;
9488 rename to muldi3_internal2.
9489 (muldi3): Call the new muldi3_internal2 for R4000, and
9490 any GENERATE_MULT3 chip.
9491
716cc7f7
JM
9492Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
9493
9494 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
9495
9fb82071
JW
9496Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
9497
9498 * unroll.c (find_splittable_givs): Remove last change. Handle givs
9499 with a dest_reg that was created by loop.
9500
f2d76545
JL
9501Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
9502
9503 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
9504
9505 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
9506
b4dfb707
JL
9507Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
9508
9509 * configure.in: Fix NCR entries.
9510
80c2681c
JL
9511Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
9512
586a5f99
JL
9513 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
9514 nested exceptions correctly.
9515
80c2681c
JL
9516 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
9517 that was created by loop.
9518
f45ebe47
JL
9519Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9520
9521 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
9522
9523 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
9524
034e84c4
MM
9525Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
9526
8fbd2dc7
MM
9527 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
9528 (print_operand): Use SMALL_DATA_REG for the register involved in
9529 small data relocations.
9530 (print_operand_address): Ditto.
9531
9532 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
9533 -dynamic linker is not used.
9534
a226df46
MM
9535 * rs6000.md (call insns): For local calls, use @local suffix under
9536 System V. Don't use @plt under Solaris.
9537
034e84c4
MM
9538 * rs6000.c (output_function_profiler): Put label address in r0, and
9539 store LR in 4(sp) for System V/eabi.
9540
9541 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
9542 byte boundary, and maintain stack backchain.
9543
f2d76545
JL
9544Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9545
9546 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9547 fix_truncsfdi2): Change *.
9548
33e5c8c3
JM
9549Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
9550
9551 * toplev.c (main): Complain about -gdwarfn.
9552
f45ebe47
JL
9553Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
9554
b57062ca 9555 * dwarfout.c (output_type): If finalizing, write out nested types
f45ebe47
JL
9556 of types we've already written.
9557
92dcf4c8
MM
9558Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
9559
9560 (patches originally from Geoffrey Keating)
9561 * rs6000.c (function_arg): Excess floating point arguments don't
9562 go into GPR registers after exhausting FP registers under the
9563 System V.4 ABI.
9564 (function_arg_partial_nregs): Ditto.
9565
9566 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
9567 suffix to calls.
9568
f4744807
JM
9569Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
9570
9571 * integrate.c (output_inline_function): Just unset DECL_INLINE.
9572
9573Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
9574
9575 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
9576 proper alignment.
9577
9578 * libgcc2.c (__throw): Initialize HANDLER.
9579
0609f021
JW
9580Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
9581
9582 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
9583 fix_truncsfdi2): Change *X to ?*X.
9584
c905c108
RH
9585Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
9586
9587 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
9588
5041a61c
JL
9589Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
9590
9591 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
9592
bb727b5a
JM
9593Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
9594
9595 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
9596
9597Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
9598
9599 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
9600 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
9601 * expr.h: Likewise.
9602
f45ebe47
JL
9603Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
9604
9605 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
9606 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
9607 gas and not using the new HP assembler.
9608
ef85603e
JL
9609Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
9610
9611 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
9612 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
9613
6cc1f5cb
AC
9614Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
9615
9616 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
9617 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
9618 definition.
9619
72eb1038
BH
9620Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
9621
9622 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
9623
1418bb67
JM
9624Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
9625
9626 * except.h: Add outer_context_label_stack.
9627 * except.c: Likewise.
9628 (expand_start_all_catch): Push the outer_context for the try block
9629 onto outer_context_label_stack.
9630 (expand_end_all_catch): Use it and pop it.
9631
9dab7833
RL
9632Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
9633
9634 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
9635
858e4e8c
RH
9636Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
9637
9638 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
9639
a21d14e9
KK
9640Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
9641
9642 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
9643 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
9644
ced78d8b
JM
9645Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
9646
9647 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
b57062ca 9648 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
ced78d8b
JM
9649 __builtin_delete, and __builtin_vec_delete.
9650
9651 * except.c (output_exception_table): Don't bother with
9652 __EXCEPTION_END__.
9653
a09ff88b
JL
9654Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
9655
1b8b89f1
JL
9656 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
9657 is an in/out operand.
9658 (zero extended variants of stwm/stwm patterns): Similarly.
9659
a09ff88b
JL
9660 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
9661
7bb9fb0e
JM
9662Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
9663
9664 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
9665 Use assemble_name.
9666 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
9667 (output_call_frame_info): Emit a \n after using it.
9668
9101297d
DL
9669Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
9670
9671 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
9672
2ed2af28
PDM
9673Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
9674
9675 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
9676 (ASM_OUTPUT_DWARF_VALUE4): New macro.
9677 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
9678 defined.
9679 (output_call_frame_info): Do not output forward label differences
9680 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
9681 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
9682
4dff12bf
R
9683Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9684
9685 * sh.md (attribute "type"): Add nil.
9686 (movsi_ie): y/y alternative is type nil.
9687 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
9688 alternatives.
9689 (movsf_ie+1): Delete.
9690
218c2cdb
JW
9691Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
9692
9693 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
9694 large_int, emit two insns instead of one splitable insn.
9695 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
9696 from cfa_temp_value, use cfa_offset. Add assert checking that
9697 cfa_reg is SP.
9698
d5b79362
TT
9699Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
9700
9701 * cccp.c (deps_output): Properly quote file names for make.
9702
de1ea87a
JL
9703Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
9704
9705 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
9706
cb0112a7
RL
9707Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
9708
9709 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
9710
85c3ba60
JL
9711Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
9712
9713 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
9714 return.
9715 (cse_end_of_basic_block): Similarly.
ef720b21 9716
9155d500
KJ
9717Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
9718
9719 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
9720 (SELECT_RTX_SECTION): Define.
9721 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
9722
4931312c
MH
9723Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
9724
9725 * Makefile.in (compare, compare-lean): Define $stage for each
9726 shell command.
9727 (gnucompare, gnucompare-lean): Likewise.
9728
8dfe3c62
RH
9729Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
9730
9731 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
9732
9733 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
9734 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
9735
874a8709
FF
9736Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
9737
9738 * dwarfout.c (byte_size_attribute): Add local var upper_bound
9739 and add case to handle STRING_TYPE.
9740 * dwarfout.c (output_string_type_die): Fix code to generate
9741 correct string length attribute for fixed length strings.
9742 Still needs support for varying length strings.
9743
ea466196
JL
9744Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
9745
9746 * toplev.c (get_run_time): Do something sensible for cygwin32.
9747
202f590e
RH
9748Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
9749
f35bcbc5
RH
9750 * expr.c (expand_builtin_setjmp): Set
9751 current_function_has_nonlocal_label.
9752 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
9753 call-saved registers across calls.
9754
9755 * alpha.md (exception_receiver): Remove.
9756 (nonlocal_goto_receiver_osf): New
9757 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
9758 (nonlocal_goto_receiver): New, select _osf or _vms.
9759
531ea24e
RH
9760 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
9761 keep them from being propogated to the object file.
9762 (alpha_write_linkage): Likewise.
9763 * alpha.md (call_vms): Likewise.
9764 (call_value_vms): Likewise.
9765 (unnamed osf call insns): Likewise.
9766
9767 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
9768 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
9769
202f590e
RH
9770 * alpha.c (call_operand): Any reg is valid for WinNT.
9771 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
9772 (anon nt calls): Add 'R' alternative.
9773 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
9774 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
9775
238ad62b
JL
9776Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
9777
f78b5ca1
JL
9778 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
9779
238ad62b
JL
9780 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
9781 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9782 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9783
da275344
MM
9784Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
9785
9786 * reload1.c (new_spill_reg): Improve fixed or forbidden register
9787 spill error message.
9788
1f1e1545
KG
9789Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9790
9791 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
9792 use varargs.h. Wrap header with <>, not "".
9793
daa4b717
JL
9794Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
9795
9796 * integrate.c (save_for_inline_copying): Add return value from
9797 savealloc.
9798
9bb5394e
BK
9799Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
9800
9801 * fixincludes: Be a little more restrictive on what we will
9802 substitute to replace definitions of MAXINT for HPUX.
9803
9571f69b
MM
9804Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
9805
9806 * dbxout.c (dbxout_symbol_location): Don't assume that variables
9807 whose address is the stack or argument pointers are indirect
9808 pointers.
9809
b57062ca
UD
98101997-11-13 Paul Eggert <eggert@twinsun.com>
9811
e7cbb6b6
PE
9812 * cccp.c, cpplib.c (compare_defs):
9813 Don't complain about arg name respellings unless pedantic.
b57062ca
UD
9814 * cpplib.c (compare_defs): Accept pfile as new arg.
9815 All callers changed.
e7cbb6b6 9816
9f29ca78
R
9817Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9818
9819 * fold-const.c (fold_truthop): Fix bug in last change.
9820
41c9120b
PE
98211997-11-13 Paul Eggert <eggert@twinsun.com>
9822
9823 Fix some confusion with IEEE minus zero.
9824
9825 * real.h (REAL_VALUES_IDENTICAL): New macro.
9826
9827 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
9828 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
9829 identical to 0.0.
9830 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
9831 same tree structure as 0.0.
9832
9833 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
9834 macro instead of doing it by hand.
9835
323d8e7b
JL
9836Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
9837
9838 * v850/lib1funcs.asm: Minor whitespace changes.
9839 * v850.c: Fix minor formatting problems in many places.
9840 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
9841
13529ea4
JW
9842Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
9843
9844 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
9845 xplus1 when xplus0 is not a register.
9846
759c135e
JL
9847Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
9848
8930b063
JL
9849 * flow.c (find_basic_blocks): During marking phase, if we encounter
9850 an insn with a REG_LABEL note, make the target block live and
9851 create an edge from the insn to the target block. Do not make
9852 edges from all blocks to the target block.
9853
0be28489
JL
9854 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
9855
759c135e
JL
9856 * confiugre.in: Tweak NCR entries.
9857 * configure: Rebuilt.
9858
47ad8c61
MM
9859Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
9860
9861 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
9862 pick apart floating point values, instead of using CONST_DOUBLE_LOW
9863 and CONST_DOUBLE_HIGH.
9864
9865 * rs6000.md (define_splits for DF constants): Use the appropriate
9866 REAL_VALUE_* interface to pick apart DF floating point constants in
9867 a machine independent fashion.
9868
5a6b3365
R
9869Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9870
9871 * fold-const.c (fold_truthop): When changing a one-bit comparison
9872 against zero into a comparison against mask, do a proper sign
9873 extension.
9874
2ec1535d
JL
9875Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
9876
3a88cbd1
JL
9877 * except.c: Do not include "assert.h".
9878 (save_eh_status): Turn asserts into conditional aborts.
9879 (restore_eh_status, scan_region): Likewise.
9880 * dwarfout.c: Do not include "assert.h".
9881 (bit_offset_attribute): Turn asserts into conditional aborts.
9882 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
9883 (output_inlined_structure_type_die): Likewise.
9884 (output_inlined_union_type_die): Likewise
9885 (output_tagged_type_instantiation): Likewise.
9886 (dwarfout_file_scope_decl): Likewise.
9887 * dwarf2out.c: Do not include "assert.h"
9888 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
9889 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
9890 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
9891 (add_bit_size_attribute, scope_die_for): Likewise.
9892 (output_pending_types_for_scope): Likewise.
9893 (get_inlined_enumeration_type_die): Likewise.
9894 (get_inlined_structure_type_die): Likewise.
9895 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
9896 (gen_tagged_type_instantiation_die): Likewise.
9897
2ec1535d
JL
9898 * flow.c (find_basic_blocks): Refine further to get a more correct
9899 cfg, especially in the presense of exception handling, computed
9900 gotos, and other non-trivial cases. Call abort if an inaccuracy
9901 is detected in the cfg.
9902
a6124a42
R
9903Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9904
9905 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
9906
9907 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
9908 (skip_white_space): Use whitespace_cr.
9909 (check_newline): Handle whitespace more consistently.
9910
8f3189a4
JW
9911Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
9912
9913 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
9914 * i386/xm-cygwin32.h (POSIX): Define.
9915
6d1350cd
GK
9916Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
9917
9918 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
9919 is available elsewhere.
9920
d1f4474e
DE
9921Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
9922
9923 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
9924 what the instruction can handle.
9925
c7ae64f2
JM
9926Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
9927
9928 * stmt.c (expand_decl_cleanup_no_eh): New fn.
9929
9930 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
9931
ea64ef27
JL
9932Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
9933
9934 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
9935 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
9936
47ad8c61
MM
9937Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
9938
9939 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
9940 swap instruction order.
9941
0ff27f58
JL
9942Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
9943
9944 * fixinc.svr4 (__STDC__): Add another case.
9945
7091039c
R
9946Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9947
9948 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
9949 addresses in the epilogue delay slot.
9950
553914ad
MH
9951Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
9952
9953 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
9954 in generated `specs' file.
9955
64fde701
JW
9956Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
9957
9958 * flags.h (flag_rerun_loop_opt): Declare.
9959 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
9960 * toplev.c (flag_rerum_loop_opt): Delete static.
9961
1245df60
R
9962Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9963
1245df60
R
9964 Bring over from FSF:
9965
9966 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9967
9968 * va-sh.h (__va_arg_sh1): Define.
9969 (va_arg): Use it.
9970 SH3E doesn't use any integer registers for subsequent arguments
9971 once a non-float value was passed in the stack.
9972 * sh.c (machine_dependent_reorg): If optimizing, put explicit
9973 alignment in front label for ADDR_DIFF_VEC.
9974 * sh.h (PASS_IN_REG_P): Fix SH3E case.
9975 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
9976
9977 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9978
9979 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
9980 svr4.h.
9981
9982 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9983
9984 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
9985 put an use_sfunc_addr before each sfunc.
9986 * sh.md (use_sfunc_addr, dummy_jump): New insns.
9987 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
9988
9989 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9990
9991 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
9992
97991933
JM
9993Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
9994
9995 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
9996 linked once FDEs.
9997
eaf407a5
JL
9998Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
9999
10000 * alias.c (find_base_value): Only return the known base value for
10001 pseudo registers.
10002
4f9ca067
JW
10003Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
10004
10005 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
10006 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
10007 to pattern.
10008 (prologue_get_pc_and_set_got): New pattern.
10009
f4e31cf5
RH
10010Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
10011
10012 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
10013 for SUBREG, just fall through.
10014
10015 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
10016
10017 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
10018
f754c4a1
JL
10019Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
10020
3ed18aeb
JL
10021 * fixincludes: Fix "hypot" prototype in NeXT math.h.
10022
3fe40e05
JL
10023 * Makefile.in (USE_ALLOCA): Always include alloca.o.
10024 (USE_HOST_ALLOCA): Likewise.
10025
f754c4a1
JL
10026 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
10027 and LABEL_REFS fields.
10028 * rtl.h (LABEL_REFS): Update.
10029
ab00eb0a
JW
10030Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
10031
ff3467a9
JW
10032 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
10033 sets i2dest. When calling distribute_notes for i3dest_killed, pass
10034 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
10035 sets i1dest.
10036
4911814e
JW
10037 * mips.md (insv, extzv, extv): Add change_address call.
10038 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
10039
474eff88
JW
10040 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
10041
3feffdfe
JW
10042 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
10043
ab00eb0a
JW
10044 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
10045 save_restore_insns if no FP and GP will be restored.
7636d567 10046
31c8581d
JW
10047 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
10048 Convert CCmode to word_mode before calling GET_MODE_SIZE.
10049
7636d567
JW
10050 * acconfig.h (HAVE_INTTYPES_H): Undef.
10051 * configure.in (inttypes.h): Check for conflicts between sys/types.h
10052 and inttypes.h, and verify that intmax_t is defined.
10053 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
10054 * config/mips/x-iris3: Likewise.
10055
73774bc7
JL
10056Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
10057
10058 * alias.c (find_base_value): When copying arguments, return the
10059 tenative value for a hard register.
10060
645ebf37
DE
10061Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
10062
10063 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
10064 (yylex): Record wide strings using target endianness, not host.
10065
f7620587
JL
10066Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
10067
10068 * mn10200.h (ASM_OUTPUT_BSS): Delete.
10069 (ASM_OUTPUT_ALIGNED_BSS): New macro
10070 * mn10300.h (ASM_OUTPUT_BSS): Delete.
10071 (ASM_OUTPUT_ALIGNED_BSS): New macro.
10072 * v850.h (ASM_OUTPUT_BSS): Delete.
10073 (ASM_OUTPUT_ALIGNED_BSS): New macro.
10074
1686f1a2 10075Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
b57062ca 10076
1686f1a2
R
10077 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
10078
f6857708
JL
10079Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
10080
10081 * configure.in (sco5): Use cpio to install header files.
10082
e566af04
MH
10083Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
10084
10085 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
10086 14 char length.
10087 * configure: Rebuild.
10088
cbd44549
RL
10089Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
10090
10091 * i386/sco5.h: enable -gstabs once again.
10092
56636818
JL
10093Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
10094
10095 * arm.c (output_move_double): Allocate 3 entries in otherops array.
10096
9ad8a5f0
MS
10097Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
10098
10099 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
10100 notes for sjlj exceptions too.
10101 (expand_eh_region_end): Similarly for EH_REGION_END notes.
10102 (exception_optimize): Optimize EH regions for sjlj exceptions too.
10103 * final.c (final_scan_insn): Don't output labels for EH REGION
10104 notes if doing sjlj exceptions.
10105
f8671389
JL
10106Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
10107
8072f69c
JL
10108 * alias.c (init_alias_analysis): Handle -fno-alias-check when
10109 optimizing correctly.
10110
6cad9e32
JL
10111 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
10112 or set current_function_calls_setjmp anymore.
10113
f8671389
JL
10114 * flow.c (find_basic_blocks): If we delete the label for an
10115 exception handler, remove it from the EH label list and remove
10116 the EH_BEGIN/EH_END notes for that EH region.
10117
a886ae74
JM
10118Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
10119
10120 * flow.c (find_basic_blocks): Generate correct flow control
10121 information when exception handling notes are present.
10122
c2c85462
JL
10123Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
10124
10125 * dwarf2out.c (output_call_frame_info): Fix length argument
10126 to ASM_OUTPUT_ASCII.
10127 (output_die, output_pubnames, output_line_info): Likewise.
10128
8c316ae2
JL
10129Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
10130
27ca375a
JL
10131 * version.c: Bump for snapshot.
10132
8d4e65a6
JL
10133 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
10134 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
10135 flag_debug_asm is on.
10136 (output_die, output_pubnames, output_line_info): Likewise.
10137
ec907dd8
JL
10138 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
10139 and static_chain_rtx into the potential base values array if
10140 they are registers.
10141
10142 * alias.c (new_reg_base_value): New array of potential base values.
10143 (unique_id): Now file scoped static.
10144 (find_base_value, case REG): Return the value in reg_base_value
10145 array for the REG if it exists. Else, return the value from
10146 new_reg_base_value if copying args and REG is a hard register.
10147 (find_base_value, case PLUS): If either operand of the PLUS is
10148 a REG, try to get its base value. Handle base + index and
10149 index + base.
10150 (record_set): Use new_reg_base_value instead of reg_base_value.
10151 (init_alias_analysis): Allocate space for new_reg_base_value too.
10152 Rework code to iterate over the insns propagating base value
10153 information until nothing changes.
10154
8c316ae2
JL
10155 * global.c (global_alloc): Free the conflict matrix after
10156 reload has finished.
10157
6874c264
JM
10158Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
10159
10160 * libgcc2.c (L_eh): Define __eh_pc.
10161 Replace __eh_type with generic pointer __eh_info.
10162
59fe8c2c
R
10163Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
10164
10165 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
10166 use copy_to_reg if address is not a general_operand.
10167
d1271ded
R
10168Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10169
10170 * profile.c (output_func_start_profiler): Clear flag_inline_functions
10171 for the duration of the call to rest_of_compilation.
10172
ac52b80b
DE
10173Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
10174
10175 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
10176 Set extra_parts.
10177 (sparc*-*-*): Recognize --with-cpu=v9.
10178 * sparc/elf.h: New file.
10179 * sparc/t-elf: New file.
10180
f8912297
JL
10181Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
10182
10183 * mn10300.c (const_8bit_operand): New function.
10184 (mask_ok_for_mem_btst): New funtion.
10185 * mn10300.md (btst patterns with mem operands): Use new functions
10186 to avoid creating btst instructions with invalid operands.
10187
05ef204d
MM
10188Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
10189
10190 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
10191 are running on PowerPC Linux.
10192
feecabdf
GK
10193Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
10194
10195 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
10196 if not previously defined.
10197
de957303
DE
10198Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
10199
10200 * function.c (assign_parms): Correct mode of stack_parm if
10201 entry_parm underwent a mode conversion.
10202
ba3b3878
BK
102031997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
10204
10205 * global.c (global_alloc): Use xmalloc instead of alloca for
10206 CONFLICTS, since max_allocno * allocno_row_words alone can be more
10207 than 2.5Mb sometimes.
10208
d540ae2c
RH
10209Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
10210
10211 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
10212 DEST for the spill, adjust mode of SRC to compensate.
10213
42f4929d
RH
10214Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
10215
10216 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
10217 since any_memory_operand() allows pseudos during reload.
10218 (reload_inhi, reload_outqi, reload_outhi): Likewise.
10219
08417478
JW
10220Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
10221
10222 * m68k.md (btst patterns): Add 5200 support.
10223
750e8348
TM
10224Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
10225
10226 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
10227 optimizations, look inside dividend to determine if the expression
10228 can be simplified by using EXACT_DIV_EXPR.
10229
ede19932
JM
10230Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
10231
10232 From Brendan:
10233 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
10234
66d91cb9
RH
10235Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
10236
10237 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
10238
4f3f5e9f
RH
10239Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
10240
10241 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
10242 on a CLOBBER.
10243
f3352b9e
RH
10244Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
10245
10246 * alpha.md (movqi, movhi): Make sure new insns created during reload
10247 won't need reloading themselves.
10248 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
10249
0cecc190
JL
10250Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
10251
10252 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
10253
a09ba5a2
RH
10254Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
10255
10256 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
10257 Patch from Klaus Kaempf <kkaempf@progis.de>.
10258
7581a30f
JW
10259Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
10260
10261 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
10262 to an element in a constant string.
10263
d84e64d4
JM
10264Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
10265
10266 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
10267 bit PC-relative offset. The exception range table pointer is now in
10268 the CIE.
10269 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
10270 (count_fdes, add_fdes, get_cie): Adjust.
10271 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
10272
10273 From H.J. Lu:
10274 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
10275
96286722
RH
10276Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
10277
10278 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
10279 like stack_pointer_rtx.
10280
e85988b5
MH
10281Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
10282
361e618f
MH
10283 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
10284 targets using "$@" to provide support for similar but not identical
10285 targets without having to duplicate code.
10286 (bootstrap4): New goal.
10287
e85988b5
MH
10288 * Makefile.in (compare, compare-lean, compare3): Combined to one
10289 ruleset determining actions to be performed via $@.
10290 (compare4, compare4-lean): New targets.
10291 (gnucompare, gnucompare3): Combined to one ruleset determining
10292 actions to be performed via $@. Also, note which files failed
10293 the comparison test in .bad_compare.
10294 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
10295
91585c63
TM
10296Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
10297
10298 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
10299 if the dividend is a multiple of the divisor.
10300
da0af5a5
JL
10301Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
10302
7337c67f
JL
10303 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
10304
adb9effb 10305 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 10306 and POS_DEC.
6d849a2a
JL
10307
10308 * alias.c (true_dependence): Fix typo.
10309
6d6d0fa0
JL
10310 * toplev.c (flag_rerun_loop_opt): New variable.
10311 (f_options): Handle -frerun-loop-opt.
10312 (rest_of_compilation): If -frerun-loop-opt, then run the loop
10313 optimizer twice.
10314 (main): Enable -frerun-loop-opt by default for -O2 or greater.
10315
da0af5a5
JL
10316 * loop.c (simplify_giv_expr): Adding two invariants results
10317 in an invariant.
10318
ca0f2220
RH
10319Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
10320
b57062ca 10321 * expr.c (get_inner_reference): Remove the array bias after
ca0f2220
RH
10322 converting the index to Pmode.
10323
a6f7ba17
JL
10324Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
10325
10326 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
10327 (TARGET_MULT_BUG): Define.
10328 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
10329 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
10330
17ad8a3b
JL
10331Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
10332
10333 * mn10200.c (indirect_memory_operand): Delete unused function.
10334 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
10335 * mn10200.md (bset, bclr insns): Handle output in a reg too.
10336
e16b49d3
RH
10337Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
10338
10339 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
10340 the callee's ldgp, we must do it ourselves, and we use the jsr tag
10341 for more than scheduling.
10342
27f65411
DE
10343Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
10344
10345 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
10346
e9ad4573
JL
10347Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
10348
10349 * mn10300.c (symbolic_operand, legitimize_address): New functions.
10350 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
10351 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
10352
66724f0a
JL
10353Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
10354
10355 * version.c: Bump for snapshot.
10356
c401498b
R
10357Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10358
10359 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
10360 for FILENAME.
10361
b22b9b3e
JL
10362Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
10363
56bf1fd9
JL
10364 * toplev.c (flag_exceptions): Default value is 2.
10365 (compile_file): If flag_exceptions still has the value 2, then
10366 set it to 0.
10367
a04232e5
JL
10368 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
10369 (rs6000_save_machine_status): Save pic_offset_table_rtx.
10370 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
10371
0bd83abd
JL
10372 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
10373 are shared.
10374
b22b9b3e
JL
10375 * rs6000.md (*movsi_got_internal_mem): New pattern.
10376 (*movsi_got_internal_mem splitter): New define_split.
10377
c1e385db
JW
10378Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
10379
10380 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
10381
1a986152
GK
10382Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10383
10384 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
10385 only need to save LR.
10386
5d29a95f
JL
10387Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
10388
c6ee9150
JL
10389 * mn10300.md (movqi, movhi): Avoid using address registers as
10390 destinations unless absolutely necessary.
10391
d5255ba2
JL
10392 * mn10200.c (expand_prologue): Fix typo.
10393
9d2128b8
JL
10394 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
10395 addresses.
10396 * mn10200.md (neghi2): Provide an alternative which works if
10397 the input and output register are the same.
10398
576e5acc
JL
10399 * mn10300.c (print_operand): Handle 'S'.
10400 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
10401 shift amount in last alternative
10402
5d29a95f
JL
10403 * mn10300.c (expand_epilogue): Rework to handle register restores
10404 in "ret" and "retf" instructions correctly.
10405
3bf1b082
JW
10406Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
10407
10408 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
10409 extzv for memory operands.
10410
10411 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
10412 redundant conditional moves to single operand.
10413
ddbd8d36
NC
10414Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
10415
10416 * v850.h: Move define of __v850__ from CPP_PREDEFINES
10417 to CPP_SPEC.
b57062ca 10418
ddbd8d36
NC
10419 * xm-v850.h: Use __v850 rather than __v850__ to
10420 identify v850 port.
10421
a944a4eb
JW
10422Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
10423
10424 * mips/mips.c (compute_frame_size): Not a leaf function if
10425 profile_flag set.
10426
2d5b6dea
GK
10427Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
10428
10429 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
10430
f0a9fa6c
DE
10431Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
10432
10433 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
10434 (DEFAULT_ARCH32_P): New macro.
10435 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
10436 (enum cmodel): Declare.
10437 (sparc_cmodel_string,sparc_cmodel): Declare.
10438 (SPARC_DEFAULT_CMODEL): Provide default.
10439 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
10440 (TARGET_FULLANY): Deleted.
10441 (TARGET_CM_MEDMID): New macro.
10442 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
10443 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10444 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
10445 (CPP_SPEC): Rewrite.
10446 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10447 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
10448 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
10449 (ASM_SPEC): Add %(asm_arch).
10450 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
10451 Rename asm_default to asm_cpu_default.
10452 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
10453 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
10454 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
10455 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
10456 (MASK_INT64,MASK_LONG64): Delete.
10457 (MASK_ARCH64): Renamed to MASK_64BIT.
10458 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
10459 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
10460 (TARGET_SWITCHES): Always provide 64 bit options.
10461 (ARCH64_SWITCHES): Delete.
10462 (TARGET_OPTIONS): New option -mcmodel=.
10463 (INT_TYPE_SIZE): Always 32.
10464 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
10465 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
10466 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
10467 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
10468 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
10469 CPP_SPEC.
10470 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10471 * sparc/linux.h: Likewise.
10472 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
10473 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
10474 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
10475 (SPARC_DEFAULT_CMODEL): Define.
10476 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10477 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10478 (LONG_DOUBLE_TYPE_SIZE): Define.
10479 (ASM_SPEC): Add %(asm_arch).
10480 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10481 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10482 (TARGET_CPU_DEFAULT): Add ultrasparc case.
10483 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
10484 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
10485 (SPARC_DEFAULT_CMODEL): Define.
10486 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
10487 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
10488 MASK_LONG64, MASK_MEDANY.
10489 (SPARC_DEFAULT_CMODEL): Define.
10490 (CPP_PREDEFINES): Delete.
10491 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
10492 (ASM_SPEC): Add %(asm_arch).
10493 (LONG_DOUBLE_TYPE_SIZE): Define.
10494 (DWARF2_DEBUGGING_INFO): Define.
10495 * sparc/splet.h (CPP_SPEC): Delete.
10496 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
10497 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
10498 (BLOCK_PROFILER): Likewise.
10499 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
10500 (sparc_override_options): Handle code model selection.
10501 (sparc_init_expanders): Renamed from sparc64_init_expanders.
10502 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
10503 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
10504 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
10505 (sethi_di_fullany): Delete.
10506
a3b0df2d
KK
10507Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
10508 Jeff Law <law@cygnus.com>
10509 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10510
3a133c72
KK
10511 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
10512 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
10513 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
10514 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
10515 * alpha/alpha.md (arg_home): Likewise.
10516
a3b0df2d
KK
10517 * alpha/alpha.c (vmskrunch): Delete
10518 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
10519 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
10520 truncate to 64 characters.
10521
10522 * make-l2.com: Support openVMS/Alpha.
10523
10524 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
10525
7d4f2e6c
R
10526Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10527
10528 * longlong.h (count_leading_zeros): Add missing casts to USItype.
10529
decd44ac
JL
10530Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
10531
10532 * i386/bsd386.h (ASM_COMMENT_START): Define.
10533
d1485032
JM
10534Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
10535
10536 * tree.c (restore_tree_status): Also free up temporary storage
10537 when we finish a toplevel function.
10538 (dump_tree_statistics): Print stats for backend obstacks.
10539
6bd35f86
DE
10540Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
10541
10542 * expr.c (use_group_regs): Don't call use_reg for MEMs.
10543
d1485032
JM
10544Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
10545
10546 * libgcc2.c (__throw): Don't copy the return address.
10547 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
10548
10549 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
10550 * toplev.c (main): Initialize exceptions_via_longjmp.
10551
10552 * tree.c: Add extra_inline_obstacks.
10553 (save_tree_status): Use it.
10554 (restore_tree_status): If this is a toplevel inline obstack and we
10555 didn't want to save anything on it, recycle it.
10556 (print_inline_obstack_statistics): New fn.
b57062ca 10557 * function.c (pop_function_context_from): Pass context to
d1485032
JM
10558 restore_tree_status.
10559 * obstack.h (obstack_empty_p): New macro.
10560
6981eacf
JL
10561Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
10562
10563 * i386/freebsd.h (ASM_COMMENT_START): Fix.
10564
1933ec7e
JW
10565Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
10566
10567 * v850.c (ep_memory_offset): New function.
10568 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
10569
10570 * v850.h (CONST_OK_FOR_*): Add and correct comments.
10571 (CONSTANT_ADDRESS_P): Add comment.
10572 (EXTRA_CONSTRAINT): Define 'U'.
10573 * v850.md: Add comments on bit field instructions.
10574 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
b57062ca 10575 (lshrsi3): Use N not J constraint.
1933ec7e
JW
10576
10577 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
10578
10579 * v850.c (reg_or_0_operand): Call register_operand.
10580 (reg_or_int5_operand): Likewise.
10581 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
10582 (TARGET_SWITCHES): Add "big-switch".
10583 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
10584 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
10585 (CASE_DROPS_THROUGH): Comment out.
10586 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
10587 * v850.md (cmpsi): Delete compare mode.
10588 (casesi): New pattern.
10589
10590 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
10591 * v850.md (ashlsi3): Use SImode not QImode for shift count.
10592 (lshrsi3): Likewise.
10593
10594 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
10595 unreachable switch statement after 'b' support. Remove "b" from
10596 strings for 'b' support.
10597 * v850.md (branch_normal, branch_invert): Change %b to b%b.
10598
13c2de98
JL
10599Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
10600
10601 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
10602 empty line if @inhibit_libc@ is empty.
10603
b2167bee
RL
10604Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
10605
10606 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
10607 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
10608 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10609 (DWARF2_UNWIND_INFO): Let this track object file format.
10610 (EXTRA_SECTIONS): Add in_eh.
10611 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
10612 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
10613
bf2a2c6b
DM
10614Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
10615
10616 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
10617 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
10618 TARGET_MEDANY.
f4f8e370
DE
10619 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
10620 (output_double_int): Output DI mode values correctly when
10621 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
10622 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
10623 fmovd so it works if a quad float ends up in one of the upper 32
10624 float regs.
7e37212e
DM
10625 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
10626 necessary for PIC support on sparc64.
bf2a2c6b 10627
9ff84e67
DE
10628Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
10629
10630 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
10631 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
10632 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
10633 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
10634 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
10635 (SPARC_FP_ARG_FIRST): New macro.
10636 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
10637 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
10638 (NPARM_REGS): There are 32 fp argument registers now.
10639 (FUNCTION_ARG_REGNO_P): Likewise.
10640 (FIRST_PARM_OFFSET): Update to new v9 abi.
10641 (REG_PARM_STACK_SPACE): Define for arch64.
10642 (enum sparc_arg_class): Delete.
10643 (sparc_arg_count,sparc_n_named_args): Delete.
10644 (struct sparc_args): Redefine and use for arch32 as well as arch64.
10645 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
10646 (FUNCTION_ARG_ADVANCE): Rewrite.
10647 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
10648 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
10649 (FUNCTION_ARG_CALLEE_COPIES): Delete.
10650 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
10651 (STRICT_ARGUMENT_NAMING): Define.
10652 (doublemove_string): Declare.
10653 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
10654 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
10655 (doublemove_string): New function.
10656 (output_move_quad): Clean up some of the arch64 support.
10657 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
10658 Don't add 8 bytes of reserved space if arch64.
10659 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
10660 (init_cumulative_args): New function.
10661 (function_arg_slotno): New static function.
10662 (function_arg,function_arg_partial_nregs): New functions.
10663 (function_arg_{pass_by_reference,advance}): New functions.
10664 (function_arg_padding): New function.
c1215820 10665 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 10666
b8fb2d72
CI
10667Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
10668
f22376c7
CI
10669 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
10670 for hard regs to determine base and index registers.
10671
b8fb2d72
CI
10672 * reload.c (debug_reload_to_stream): New function. Specify stream
10673 into which to write debug info.
10674 (debug_reload): Modify to call debug_reload_to_stream with stderr.
10675
b79ee7eb
RH
10676Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
10677
10678 * combine.c (can_combine_p): Don't combine with an asm whose
10679 output is a hard register.
10680
5c19a356
MS
10681Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
10682
10683 * c-decl.c (start_struct): Ensure that structs with forward
10684 declarations are in fact packed when -fpack-struct is given.
10685
10686 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
10687 we are packing a structure. This allows a structure with only
10688 bytes to be aligned on a byte boundary and have no padding on a
10689 m68k.
10690
02bef6da
RK
10691Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10692
10693 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
10694
9ecc37f0
RH
10695Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
10696
10697 * alpha.c (alpha_return_addr_rtx): New variable.
10698 (alpha_save_machine_status): New; save it.
10699 (alpha_restore_machine_status): New; restore it.
10700 (alpha_init_expanders): New; clear it.
10701 (alpha_return_addr): New; set it.
10702 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
10703 is overly conservative, so search the insns explicitly.
10704 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
10705 (alpha_sa_size [VMS && !VMS]): Likewise.
10706 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
10707 (INIT_EXPANDERS): New definition.
b57062ca 10708
9ecc37f0
RH
10709 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
10710 (output_prolog [!VMS]): Use them.
10711
10712 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
b57062ca 10713 (alpha_does_function_need_gp): ... a new function. Refine the
9ecc37f0
RH
10714 CALL_INSN test to just TYPE_JSR.
10715 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
10716
bda2ffef
JL
10717Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
10718
10719 * version.c: Bump for snapshot.
10720
96b63cd7
RK
10721Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10722
10723 * pa.c (move_operand): Respect -mdisable-indexing.
10724 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
10725
f192bf8b
DE
10726Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
10727
10728 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
10729 PPC601.
10730 (umulsidi3,umulsi3_highpart): Ditto.
10731 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
10732
2ea844d3
RH
10733Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
10734
10735 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
10736 (alpha_handle_trap_shadows): ... a new function. Handle the entire
10737 function in one go. Emit RTL for trapb, instead of printf directly.
10738 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
10739 (trap_pending): Kill global variable.
10740 (output_epilog): Don't call final_prescan_insn.
10741 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
10742 * alpha.h (FINAL_PRESCAN_INSN): Remove.
10743 (MACHINE_DEPENENT_REORG): Define.
10744 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
10745 (trapb): New insn.
10746
74835ed8
RH
10747Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
10748
10749 Tune Haifa scheduler for Alpha:
10750 * alpha.h (ISSUE_RATE): Define.
10751 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
10752 EV4 adjustments to EV5.
10753 * alpha.md: Remove all scaling from function unit delays. Rework
10754 EV5 function units to match the CPU.
10755 (umuldi3_highpart): EV5 added the IMULH insn class.
10756
cdc0de30
JL
10757Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
10758
10759 * pa.c (following_call): Fail if the CALL_INSN is an indirect
10760 call.
10761
041c97f2
MM
10762Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
10763
10764 * cplus-dem.c (demangle_signature): Don't look for return types on
10765 constructors. Handle member template constructors.
10766
f0632762
JM
10767Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
10768
10769 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 10770 * tree.h: Declare them.
f0632762 10771
dec88383
DE
10772Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
10773
10774 * configure.in: Handle --with-newlib.
10775 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
10776
10777 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
10778
0e1f3f5e
JL
10779Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
10780
10781 * config/ptx4.h: Fix typo.
10782
12504ae0
JL
10783Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
10784
10785 * version.c: Bump for snapshot.
10786
5643c767
MH
10787Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
10788
10789 * aclocal.m4: Substitute INSTALL.
10790 * configure: Re-built.
10791
aa0c1401
JL
10792Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
10793
f644bd14
JL
10794 * integrate.c (save_for_inline_copying): Avoid undefined pointer
10795 operations.
10796 (expand_inline_function): Likewise.
10797
aa0c1401
JL
10798 * dwarf2out.c (output_call_frame_info): Reinstate last change
10799 using flag_debug_asm check instead of flag_verbose_asm.
10800
6c2df6c9
JW
10801Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
10802
10803 * dwarf2out.c (output_call_frame_info): Remove last change.
10804
13ab2b83
AS
108051997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10806
10807 * frame.c (__frame_state_for): Execute the FDE insns until the
10808 current pc value is strictly bigger than the target pc value.
10809
066c2fea
JM
10810Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
10811
b57062ca 10812 * regclass.c (init_reg_modes): If we can't find a mode for the
066c2fea
JM
10813 register, use the previous one.
10814
2f308fec
RH
10815Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
10816
10817 * haifa-sched.c (print_block_visualization): Call fprintf directly,
10818 don't sprintf through an alloca'ed buffer.
10819
43984e29
TK
10820Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
10821
10822 * reload.c (decompose): Always initialize val.base.
10823
e9e30253
MH
10824Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
10825
10826 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
10827 instead of aborting.
10828 * dwarf2out.c (output_call_frame_info): Call app_enable and
10829 app_disable to let GNU as accept the generated comments.
10830
496651db
MM
10831Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
10832
10833 * tree.h (get_file_function_name): Add declaration.
10834 * dwarf2out.c (output_call_frame_info): No need to cast
10835 get_file_function_name call anymore.
10836 * profile.c (toplevel): Remove get_file_function_name
10837 declaration.
10838 * c-lang.c (finish_file): Ditto.
10839
e6347456
CS
10840Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
10841
10842 * Makefile.in (program_transform_name): Let autoconf substitute
10843 the correct value.
10844
1447b516
JL
10845Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
10846
10847 * haifa-sched.c (schedule_block): If the first real insn in a
10848 block has any special notes attached to it, remove them.
10849
1a42ead7
RH
10850Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
10851
10852 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
10853
4b6140f1
MH
10854Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
10855
10856 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
10857
dc84d7bc
JL
10858Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
10859
10860 * Makefile.in (check-g77): New test target.
10861 (CHECK-TARGETS): Add check-g77.
10862
c0da11c4
JM
10863Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
10864
10865 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
10866
d8d64559
MM
10867Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
10868
10869 * flow.c (print_rtl_with_bb): Cast alloca return value for
10870 in_bb_p.
10871
e414ab29
RH
10872Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
10873
b57062ca 10874 * i386.h (RETURN_ADDR_RTX): New definition that works for
e414ab29
RH
10875 __builtin_return_address(0) and -fomit-frame-pointer.
10876
15039abe
JW
10877Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
10878
10879 Bring over from FSF.
10880 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
10881
b57062ca 10882 * mips.c (function_arg): Handle passing a struct
15039abe
JW
10883 containing a double in a DFmode register without the PARALLEL.
10884
281de624
ILT
10885Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
10886
d8d64559 10887 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 10888
d8d64559 10889 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
10890 (from Paul Eggert <eggert@twinsun.com>).
10891
3cbdd5fc
PDM
10892Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10893
10894 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
10895 optimisation for f/expr.o and f/stb.o.
10896
135d84b8
JL
10897Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
10898
10899 * cse.c (this_insn_cc0_mode): Initialize.
10900
55d89719
TK
10901Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
10902
d3878e49
TK
10903 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
10904
10905 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 10906
e9d0757e
RH
10907Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
10908
10909 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
10910 that pair will dual-issue on the 21164 and plus+beq won't.
10911 (bne): Likewise for cmpeq+beq.
10912
3f34faec
JW
10913Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
10914
10915 * except.c (find_exception_handler_labels): Correct argument to free.
10916
3226dac5 10917Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
10918
10919 * except.c (find_exception_handler_labels): Free LABELS when we're
10920 done.
10921
3a6eabfa
JL
10922Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
10923
10924 * version.c: Bump for snapshot.
10925
974c50f9
JM
10926Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
10927
10928 * flow.c (find_basic_blocks): Mark calls as potentially jumping
10929 to the EH labels.
10930
9b16d2c4
JL
10931Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
10932
10933 * configure.in: Substitute for "install" too.
10934 * configure: Rebuilt.
10935
b1e3ddfd
AJ
10936Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
10937
10938 * Makefile.in (bootstrap-lean, compare-lean): New targets.
10939
6662a38d
RH
10940Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
10941
c02f035f
RH
10942 * alias.c (base_alias_check): Two symbols can conflict if they
10943 are accessed via AND.
10944 (memrefs_conflict_p): Likewise.
10945
7a14fdc5
RH
10946 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
10947 after flushing argument registers to the stack.
10948
6662a38d
RH
10949 * Makefile.in (mostlyclean): Remove .regmove files.
10950
f3447109
JM
10951Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
10952
10953 * libgcc2.c (__throw): Fix thinko.
10954
37f6b6bf
MM
10955Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
10956
10957 * cplus-dem.c (demangle_template): Add new parameter. Handle new
10958 template-function mangling.
10959 (consume_count_with_underscores): New function.
10960 (demangle_signature): Handle new name-mangling scheme.
10961
adfc539e
PDM
10962Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10963
10964 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
10965 start and end.
10966
92cbe4d2
JL
10967Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
10968
10969 * frame.c: Remove last change.
10970 * dwarf2.h: Remove last change.
10971 * tree.h: Add declarations of DWARF2 unwind info support
10972 functions.
10973
2f3ca9e7
JM
10974Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
10975
10976 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
10977 * tree.h (built_in_function): Likewise.
10978 * expr.c (expand_builtin): Likewise.
10979 * except.h: Likewise.
10980 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
10981 * libgcc2.c (copy_reg): New fn.
10982 (__throw): Use it.
10983
407cb092
PE
10984Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
10985
10986 * c-typeck.c (build_binary_op): Warn about comparing signed vs
10987 unsigned if -W is specified and -Wno-sign-compare is not.
10988 * c-decl.c (warn_sign_compare): Initialize to -1.
10989 (c_decode_option): -Wall no longer implies -Wsign-compare.
10990
3ba10494
AS
10991Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10992
a7cc7f29
AS
10993 * frame.c: Include gansidecl.h for PROTO.
10994 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
10995 defined. Don't declare dwarf2out_cfi_label here.
10996 * dwarf2.h: Add declarations of DWARF2 unwind info support
10997 functions.
10998 * m68k.c: Include dwarf2.h.
10999 (output_function_prologue): Add dwarf2 support.
11000 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
11001 (INCOMING_FRAME_SP_OFFSET): Likewise.
11002
3ba10494
AS
11003 * integrate.c (expand_inline_function): Make sure there is at
11004 least one insn that can be used as an insertion point.
11005
c5cec899
JM
11006Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
11007
11008 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
11009
e166cb18
JL
11010Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
11011
11012 * version.c: Bump for snapshot.
11013
01a94cba
DE
11014Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
11015
11016 Bring over from FSF.
11017
11018 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
11019
11020 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
11021 (get_pc_via_rdpc): Renamed from get_pc_sp64.
11022 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
11023
11024 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
11025
11026 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
11027 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
11028 -malign-functions=.
11029 (sparc_align_{loops,jumps,funcs}_string): Declare.
11030 (sparc_align_{loops,jumps,funcs}): Declare.
11031 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
11032 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
11033 (STACK_BIAS): Define.
11034 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
11035 test.
11036 (SPARC_SETHI_P): New macro.
11037 (CONST_OK_FOR_LETTER_P): Use it.
11038 (ASM_OUTPUT_ALIGN_CODE): Define.
11039 (ASM_OUTPUT_LOOP_ALIGN): Define.
11040 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
11041 (sparc_align_{loops,jumps,funcs}): New globals.
11042 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
11043 -malign-functions=.
11044 (move_operand): Use SPARC_SETHI_P.
11045 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
11046 perform test.
11047 (arith11_double_operand): Likewise.
11048 (arith10_double_operand): Likewise.
11049 (finalize_pic): Finish sparc64 support.
11050 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
11051 64 bit constants if able.
11052 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
11053 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
11054 ! TARGET_FPU.
11055 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
11056 (get_pc_sp32): Use for sparc64 as well.
11057 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
11058 (sethi_di_sp64_const): Likewise.
11059 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
11060 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
11061 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
11062
11063 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
11064
11065 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
11066 * sparc/linux.h (COMMENT_BEGIN): Likewise.
11067 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
11068
11069 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
11070
11071 Add sparc64 linux support.
11072 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
11073 to xm_file list on 32-bit sparc-linux.
11074 * sparc/xm-sp64.h: New file.
11075 * sparc/linux64.h: New file.
11076 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
11077 Don't include xm-sparc.h.
11078 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
11079 * glimits.h (LONG_MAX): Handle sparc64.
11080
11081 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
11082
11083 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
11084 * sparc.h (ASM_COMMENT_START): Define.
11085 * sparc.c (output_function_prologue): Use it.
11086 (sparc_flat_output_function_{epi,pro}logue): Likewise.
11087
11088 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
11089
11090 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
11091 use sparc.h's copies.
11092 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
11093 ascii form as well.
11094
11095 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11096
11097 * sparc.c (dwarf2out_cfi_label): Add declaration.
11098 (save_regs, output_function_prologue): Remove cast for it.
11099 (sparc_flat_{save_restore,output_function_prologue): Likewise.
11100 ({save,restore}_regs): No longer inline.
11101
ce2157a1
JL
11102Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11103
11104 * fold-const.c (make_range): Correctly handle cases of converting
11105 from unsigned to signed type.
11106
11107Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
11108
11109 * fold-const.c (merge_ranges): Make sure that if one range is subset
11110 of another, it will always be the second range. Correct (+,-) case to
11111 account for this.
11112
c5cec899
JM
11113Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
11114
11115 * final.c (final_end_function): Also do dwarf2 thing if
11116 DWARF2_DEBUGGING_INFO.
11117 (final_start_function): Likewise.
11118
c107334d
DM
11119Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
11120
e13a25d5
DM
11121 * expmed.c (expand_divmod): If compute_mode is not the same as
11122 mode, handle the case where convert_modes() causes op1 to no
11123 longer be a CONST_INT.
11124
c107334d
DM
11125 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
11126 note holding get_jump_flags() calculation to all JUMP_INSNs.
11127 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
11128 * rtl.c (reg_note_name): Add new note types.
11129
8d7532d9
JL
11130Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
11131
0774afd7 11132 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 11133
7019d00e
L
11134Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11135
11136 * loop.c (indirect_jump_in_function_p): Return 0
11137 by default.
11138
b9dfb357
JL
11139Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
11140
11141 * rs6000/xm-rs6000.h: Fix thinko in last change.
11142 * rs6000/xm-sysv4.h: Likewise.
11143
4b7e467b
JW
11144Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
11145
11146 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
11147
8c8e6faa
JL
11148Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
11149
11150 * reg-stack.c (find_blocks): Fix thinko in last change.
11151
078e983e
AS
111521997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11153
11154 * m68k.c (output_function_prologue): Add dwarf2 support.
11155
11156 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
11157 INCOMING_FRAME_SP_OFFSET): New definitions.
b57062ca 11158
d7027667
DM
11159Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
11160
9524f769
DM
11161 * combine.c (try_combine): Use NULL_RTX instead of '0' where
11162 appropriate in calls to gen_rtx().
11163 * cse.c (cse_main): Likewise.
11164 * emit-rtl.c (gen_label_rtx): Likewise.
11165 * expr.c (init_expr_once): Likewise.
11166 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
11167 sched_analyze, init_rgn_data_dependences,
11168 compute_block_backward_dependences): Likewise.
11169 * sched.c (schedule_insns): Likewise.
11170 * varasm.c (immed_double_const): Likewise.
11171
d7027667
DM
11172 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
11173 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
11174
fbf8b71c
KJ
11175Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
11176
11177 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
11178 (MULTILIB_DEFAULTS): Define.
11179 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
11180 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
11181 (LIBGCC_SPEC): Likewise.
11182 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
11183 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
11184 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
11185 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
11186 (EXTRA_PARTS, TAROUTOPTS): Delete.
11187 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
11188 (MULTILIB_OPTIONS): Define.
11189 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
11190 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
11191
c14a951f
JL
11192Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
11193
11194 * version.c: Bump for snapshot.
11195
7014927a
JL
11196Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
11197
37aa45a2
JL
11198 * loop.c (loop_number): Delete function. Change all references
11199 to use uid_loop_num array.
11200 * loop.h (loop_number): Delete declaration.
11201 * unroll.c (unroll_loop): Change "loop_number" references to
11202 use uid_loop_num instead.
11203
b47404d1
JL
11204 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
11205 conditional.
11206 (loop_unroll_iter): Remove unused variable and all references.
11207 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
11208 (insert_bct): Fix minor formatting problems.
11209 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
11210 (loop_unroll_iter): Removed unused decl.
11211 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
11212 Always record the unrolling factor.
11213
cb3bb2a7
JL
11214 * cse.c (simplify_relational_operation): Set h0u just like h0s.
11215 Similarly for h1u and h1s.
11216
d5ff3a2e 11217 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
11218 (find_basic_blocks): Use computed_jump_p to determine if a
11219 particular JUMP_INSN is a computed jump.
11220 * reg-stack.c (find_blocks): Use computed_jump_p to determine
11221 if a particular JUMP_INSN is a computed jump.
11222 * rtlanal.c (jmp_uses_reg_or_mem): New function.
11223 (computed_jump_p): Likewise.
11224 * rtl.h (computed_jump_p): Declare.
11225 * genattrtab.c (pc_rtx): Define and initialize.
11226 * loop.c (loop_optimize): Always determine if the current
11227 function has a computed jump.
11228 (indirect_jump_in_function_p): Use computed_jump_p to determine
11229 if a particular JUMP_INSN is a computed jump.
11230
7014927a
JL
11231 * loop.c (fix_bct_param): Delete unused function.
11232 (check_bct_param): Likewise.
11233
6d53d7c2
JM
11234Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
11235
11236 * frame.c (__deregister_frame): Check properly for initialized object.
11237
5a5e9503 11238Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
11239
11240 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
11241
272299b9
R
11242Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11243
cc5e1642
R
11244 * jump.c (thread_jumps): check can_reverse_comparison_p before
11245 threading a reversed-condition jump.
11246
272299b9
R
11247 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
11248 * haifa-sched.c (update_flow_info): Likewise.
11249
18511014
JL
11250Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
11251
e6493727
JL
11252 * Makefile.in (BOOT_CFLAGS): Use -O2.
11253
1e467e19
JL
11254 * configure.in (strtoul, bsearch): Have autoconf check for these
11255 functions.
11256 * configure, config.in: Rebuilt.
11257
18511014
JL
11258 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
11259 * mips/mips.h (alloca): Likewise.
11260 * rs6000/xm-rs6000.h (alloca): Likewise.
11261 * rs6000/xm-sysv4.h: Likewise.
11262
6020d360
JM
11263Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
11264
11265 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
11266 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
11267 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
11268
11269 * except.c (end_eh_unwinder): Subtract 1 from return address.
11270 * libgcc2.c (__throw): Likewise.
11271 (find_exception_handler): Don't change PC here. Compare end with >.
11272
b24bcfb3 11273Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
b57062ca 11274
b24bcfb3
NC
11275 * v850.c (compute_register_save_size): Correct register
11276 number.
11277 * v850.md (save_interrupt, return_interrupt): Correct
11278 register number.
11279 * v850/lib1funcs.asm (save_interrupt): Correct register number.
11280 (return_interrupt): Use stack pointer, not element pointer.
11281
93cf819d
BK
112821997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
11283
11284 * configure.in, configure: Make sure to create the stage* and include
11285 symbolic links in each subdirectory.
11286
f0501149
JL
11287Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
11288
11289 * pa.md (reload_peepholes): Don't allow addresses with side
11290 effects for the memory operand.
11291
4f870c04
JM
11292Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
11293
11294 * libgcc2.c (find_exception_handler): Subtract one from our PC when
11295 looking for a handler, to avoid hitting the beginning of the next
11296 region.
11297
11298 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
11299
4eb66248
JL
11300Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
11301
11302 * mips/abi64.h (LONG_MAX_SPEC): Define.
11303 * mips.h (LONG_MAX_SPEC): Define.
11304 (CPP_SPEC): Include long_max_spec.
11305 (EXTRA_SPECS): Include long_max_spec.
11306
44158507
JL
11307Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
11308
11309 * v850.c (construct_save_jarl): Fix thinko in last change.
11310
bf520cd9
JL
11311Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
11312
11313 * version.c: Bump for snapshot.
11314
255fe733
JM
11315Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
11316
c0727e2a
JM
11317 * libgcc2.c (find_exception_handler): Not found is -1.
11318
255fe733
JM
11319 * integrate.c (expand_inline_function): Move expand_start_bindings
11320 after expanding the arguments.
11321
21002281
JW
11322Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
11323
11324 * expr.c (expand_expr): Remove previous incorrect change.
11325 If target and slot has no DECL_RTL, then call mark_addressable
11326 again for the slot after we give it RTL.
11327
e693cc28 11328Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 11329
e693cc28
UD
11330 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
11331 again for the slot after we give it RTL.
f633220c 11332
145870b5
NC
11333Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
11334
84e75068 11335 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
11336 pattern_is_ok_for_epilogue, construct_restore_jr,
11337 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
11338
84e75068 11339 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
11340 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
11341 predicates.
11342
84e75068 11343 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
11344 match_parallel pattern.
11345
76143254
JL
11346Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
11347
11348 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
11349 * configure.in: Use EGCS_PROG_INSTALL.
11350
4401bf24
JL
11351Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
11352
11353 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
11354 extern inline function.
11355
11356Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
11357
11358 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
11359 (concat_loc_descriptor): New function.
11360 (loc_descriptor): Call it.
11361 (add_AT_location_description): Also elide the descriptor if both
11362 halves of a CONCAT are pseudos.
11363 (add_location_or_const_value_attribute): Recognize CONCAT too.
11364
0d24ff5d
RH
11365Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
11366
4bb43724
RH
11367 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
11368
0d24ff5d
RH
11369 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
11370 out-or-range reg_offset.
11371 (output_epilog): Likewise.
11372
05ef8897
JL
11373Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
11374
11375 * cse.c (simplify_relational_operation): If MODE specifies a
11376 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
11377 is derived from the sign bit of the low word.
11378
ca55abae
JM
11379Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
11380
11381 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
11382
11383 * dwarf2.h: Add DW_CFA_GNU_args_size.
11384 * frame.c (execute_cfa_insn): Likewise.
11385 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
11386 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
11387 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
11388 insn, hand it off to dwarf2out_stack_adjust.
11389 (dwarf2out_begin_prologue): Initialize args_size.
11390 * frame.h (struct frame_state): Add args_size.
11391 * libgcc2.c (__throw): Use args_size.
11392 * final.c (final_scan_insn): If we push args, hand off all insns
11393 to dwarf2out_frame_debug.
11394 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
11395
11396 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
11397 Handle epilogue restore of SP from FP.
b57062ca 11398 * emit-rtl.c (gen_sequence): Still generate a sequence if the
ca55abae
JM
11399 lone insn has RTX_FRAME_RELATED_P set.
11400
11401 * frame.c (extract_cie_info): Handle "e" augmentation.
11402 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
11403 absence of UNALIGNED_*_ASM_OP.
11404 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
11405 (output_call_frame_info): Use "e" instead of "z" for augmentation.
11406 Don't emit augmentation fields length.
11407 (dwarf2out_do_frame): Move outside of #ifdefs.
11408 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
11409 opcodes.
11410
11411 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
11412 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
11413 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
11414 * sparc/sun4gas.h: New file.
11415 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
11416
b57062ca 11417 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
ca55abae
JM
11418 __register_frame_table and __deregister_frame.
11419
1d77fa53
BK
114201997-09-15 Brendan Kehoe <brendan@cygnus.com>
11421
11422 * except.c (find_exception_handler_labels): Use xmalloc instead of
11423 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
11424 in some cases.
11425
8be52aaa
JL
11426Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
11427
11428 * Makefile.in: Various changes to build info files
11429 in the object tree rather than the source tree.
11430
a3ee3246
JL
11431Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
11432
11433 * fixinc.math: New file to fix math.h on some systems.
11434 * configure.in (freebsd, netbsd): Use fixinc.math on these
11435 systems.
11436 * configure: Rebuilt.
11437
124da275
JL
11438Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
11439
11440 * regmove.c (regmove_optimize): If we end up moving the
11441 original insn due to lifetime overlaps, make sure to move
11442 REG_NOTES too.
11443
fca9d4b0
MH
11444Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
11445
11446 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
11447
326ee7a3
JL
11448Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
11449
11450 * haifa-sched.c (add_branch_dependences): Make each insn in
11451 a SCHED_GROUP_P block explicitly depend on the previous insn.
11452
ca55abae
JM
11453Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
11454
11455 * except.h: Prototype dwarf2 hooks.
11456 * expr.c: Adjust.
11457
5188d2b2
JW
11458Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
11459
11460 * configure.in (native_prefix): Delete.
11461 (mips-dec-netbsd): Don't set prefix.
11462 (*linux*): Don't set prefix.
11463
2e384318
FF
11464Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
11465
70988851
FF
11466 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
11467 defined. If not defined, include <sys/varargs.h> if
11468 HAVE_SYS_VARARGS_H is defined.
11469 * configure.in: Test for varargs.h and sys/varargs.h.
11470 * configure: Regenerate with autoconf.
11471 * config.in: Regenerate with autoheader.
11472
2e384318
FF
11473 * cpplib.c (quote_string): Cast first arg of sprintf call
11474 from "unsigned char *" to "char *".
11475 (output_line_command): Ditto.
11476 (macroexpand): Ditto.
11477 (do_line): Cast atoi arg from "unsigned char *" to "char *".
11478
3fb2f401
JL
11479Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
11480
f2e4e16f
JL
11481 * version.c: Bump for snapshot.
11482
3fb2f401
JL
11483 * Makefile.in (compare): Exit with nonzero status if there
11484 are comparison failures. Note which files failed the
11485 comparison test in .bad_compare.
11486
d26cb668
L
11487Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11488
11489 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
11490
ac64120e
JW
11491Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
11492
11493 * Makefile.in (LN, LN_S): New macros, use where appropriate.
11494 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
11495 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
11496 * configure: Regenerated.
11497
11498Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
11499
11500 * loop.c (strength_reduce): Fix typo.
11501
db87ec0b
JW
11502Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
11503
11504 * m88k/m88k.c (struct option): Rename to struct options.
11505 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
11506 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
11507 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
11508 __DOLPHIN__ or sysV88.
11509
04395f96
JW
11510Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
11511
11512 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
11513 create new subreg.
11514
becdcf6d
JL
11515Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
11516
11517 * config.sub: Accept 'amigados' for backward compatability.
11518
04395f96 11519Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
11520
11521 * Makefile.in (testsuite/site.exp): New target.
11522 (check-gcc, check-g++): Depend on testsuite/site.exp.
11523 Don't stop for failure.
11524
ca55abae
JM
11525Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
11526
11527 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
11528 if DWARF2_UNWIND_INFO.
11529
11530Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
11531
11532 Add support for exception handling using DWARF 2 frame unwind info.
11533 Currently works on SPARC and MIPS, and almost on x86.
b57062ca 11534
ca55abae
JM
11535 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
11536 next_stack_level, in_reg_window): Helper fns.
11537 (__throw): Implement for DWARF2_UNWIND_INFO.
11538
11539 * expr.c (expand_builtin): Handle builtins used by __throw.
11540 * tree.h (enum built_in_function): Add builtins used by __throw.
11541 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
11542 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
11543 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
11544 (expand_builtin_extract_return_addr): Likewise.
11545 (expand_builtin_frob_return_addr): Likewise.
11546 (expand_builtin_set_return_addr_reg): Likewise.
11547 (expand_builtin_eh_stub): Likewise.
11548 (expand_builtin_set_eh_regs): Likewise.
11549 (eh_regs): Choose two call-clobbered registers for passing back values.
11550
11551 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
11552 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
11553 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
11554 (stmp-multilib): Likewise.
11555 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
11556
11557 * except.c: #include "defaults.h".
11558 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
11559 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
11560 (register_exception_table_p): New fn.
11561 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
11562 (end_eh_unwinder): Likewise.
11563
b57062ca 11564 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
ca55abae
JM
11565 call __register_frame and __deregister_frame as needed.
11566 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
11567 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
11568 EH_FRAME_SECTION_ASM_OP.
11569 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
11570 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
11571 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
11572
11573 * dwarf2out.c (output_call_frame_info): If no support for
11574 EXCEPTION_SECTION, mark the start of the frame info with a
11575 collectable tag.
11576 * collect2.c (frame_tables): New list.
11577 (is_ctor_dtor): Recognise frame entries.
11578 (scan_prog_file): Likewise.
11579 (main): Pass -fno-exceptions to sub-compile. Also do collection
11580 if there are any frame entries.
11581 (write_c_file_stat): Call __register_frame_table and
11582 __deregister_frame as needed.
11583 (write_c_file_glob): Likewise.
11584
b57062ca 11585 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
ca55abae
JM
11586 Also require unaligned reloc support.
11587 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11588 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
11589 * sparc/sysv4.h: Not here.
11590
11591 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
11592 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
11593 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
11594
11595 * libgcc2.c (L_eh): Reorganize, moving code shared by different
11596 EH implementations to the top.
11597 (find_exception_handler): Split out. Start from 0. Compare against
11598 end with >=.
11599 (__find_first_exception_table_match): Use it.
11600 * except.c (output_exception_table): Don't do anything if there's
11601 no table. Don't output a first entry of zeroes.
11602 (eh_outer_context): Adjust properly.
11603 (add_eh_table_entry): Use xrealloc.
11604 * toplev.c (compile_file): Just call output_exception_table.
11605
11606Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
11607
11608 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
11609
11610Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
11611
11612 * except.c (eh_outer_context): Do masking using expand_and.
11613
b4d940a2
JL
11614Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
11615
11616 Add port done awhile ago for the ARC cpu.
11617 * arc/arc.h: New file.
11618 * arc/arc.c: New file.
11619 * arc/arc.md: New file.
11620 * arc/initfini.c: New file.
11621 * arc/lib1funcs.asm: New file.
11622 * arc/t-arc: New file.
11623 * arc/xm-arc.h: New file.
11624 * ginclude/va-arc.h: New file.
11625 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
11626 * ginclude/varargs.h: Likewise.
11627 * Makefile.in (USER_H): Add va-arc.h.
11628 * configure.in (arc-*-elf*): Recognize.
11629 * longlong.h: Add ARC support.
11630
11631Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
11632
11633 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
11634 when clearing non-BLKmode data.
11635
10211581
JL
11636Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
11637
9dfc6eba
MH
11638 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
11639 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
11640
55259219
MH
11641 * xm-m88k.h (USG): Only define if it hasn't already been defined.
11642
11643 * Makefile.in (risky-stage1): Delete gratutious whitespace.
11644
ee291069
MH
11645 * Makefile.in (clean): Delete libgcc1-test.
11646
10211581
JL
11647 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
11648
11649Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
11650
11651 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
11652 template.
11653
ca55abae
JM
11654Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11655
11656 * dwarf2out.c (output_call_frame_info): Call named_section.
11657
8f3d79e0
JL
11658Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
11659
11660 * haifa-sched.c (print_value): Fix last change.
11661
ca55abae
JM
11662Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
11663
11664 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
11665 write_symbols.
11666
11667Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
11668
11669 * mips.c (function_prologue): Set up the CFA when ABI_32.
11670
11671 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
11672 for dwarf2 unwind info.
11673 (output_function_prologue, sparc_flat_output_function_prologue): Same.
11674
11675 * final.c (final_end_function): Check dwarf2out_do_frame instead
11676 of DWARF2_DEBUG for dwarf2 unwind info.
11677 (final_scan_insn): Likewise.
11678 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
11679 (final): Not here.
11680
11681 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
11682 count > 0.
11683
11684 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
11685
74aca74b
NC
11686Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
11687
11688 * v850.h (ASM_SPEC): Pass on target processor.
11689 (CPP_PREDEFINES): Only define if not already specified.
11690 (TARGET_VERSION): Only define if not already specified.
11691 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
11692 processor.
11693 (EXTRA_SWITCHES): Extra entries in the switches array.
11694 (TARGET_DEFAULT): Set default target processor.
11695
c0b04148
JW
11696Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
11697
11698 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
11699 cases, add %# and %/, and add : to make them into extended asms.
11700
52b7724b
WL
11701Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
11702
11703 * alias.c (init_alias_analysis): Clean up incompatible pointer
11704 type warning in bzero.
11705 * regmove.c (regmove_optimize): Ditto.
11706 * haifa-sched.c (find_rgns): Ditto.
11707
11708 * haifa-sched.c (print_value): Clean up ptr->int cast
11709 warnings.
11710
0c82f6bf
FF
11711Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
11712
11713 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
11714 * install.texi (Configurations): Ditto.
11715 * config.sub: Ditto.
11716
1fed1f51
WL
11717Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
11718
11719 * Makefile.in (sdbout.o): Depend on insn-config.h.
11720
239e68f6
JW
11721Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
11722
11723 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
11724 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
11725
267c09ab
JM
11726Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
11727
11728 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
11729 prologue insn, only the first elt is significant.
11730 (output_call_frame_info): For exception handling, always use 4-byte
11731 fields as specified by the dwarf2 spec.
11732 Don't skip trivial FDEs.
11733
db7cafb0
JL
11734Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
11735
11736 * version.c: Bump for snapshot.
11737
11738Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
11739
11740 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
11741 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
11742 when op1_is_pow2.
11743
11744Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
11745
bf520cd9
JL
11746 * final.c (shorten_branches): During first pass, assume worst
11747 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
11748
11749 * Makefile.in (distclean): Remove various things left around
11750 by running the testsuite.
11751
7ed46111
MH
11752Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
11753
11754 * configure.in (out_file): Emit definition to config.status in order
11755 to have a defined value for configure.lang.
11756 * configure: Re-built.
11757
e41cea70
JJH
11758Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
11759
bf520cd9 11760 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
11761 for ld-new.
11762 * configure: Rebuilt.
11763
1aeb1f6f
JW
11764Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
11765
11766 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
11767
770a0113
CK
11768Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
11769
11770 * sparc/sparc.md: Add ultrasparc scheduling support.
11771 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
11772
f5ffa999
PDM
11773Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
11774
11775 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
11776 as initial value for real_label_map.
11777 (copy_for_inline): Likewise.
11778
acceac1a
R
11779Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11780
11781 * sched.c (update_flow_info) When looking if to set found_split_dest
11782 or found_orig_dest, look at all parts of a PARALLEL.
11783 * haifa-sched.c (update_flow_info): Likewise.
11784
f84271d9
JL
11785Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
11786
11787 * v850: New directory for v850 port.
11788 * v850/lib1funcs.asm: New file.
11789 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
11790 * ginclude/va-v850.h: New file.
11791 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
11792 * configure.in (mn10200-*-*): New target.
11793 * configure: Rebuilt.
11794 * config.sub: Handle v850-elf.
b57062ca 11795 * Makefile.in (USER_H): Add va-mn10200.h.
f84271d9
JL
11796 * invoke.texi: Document v850 stuff.
11797
89cc6098
JW
11798Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
11799
04940ba5
JW
11800 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
11801 has integer TYPE_{MAX,MIN}_VALUE before using them.
11802
89cc6098
JW
11803 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
11804 __HPUX_ASM__ versions.
11805
c74f7db8
JL
11806Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
11807
bf520cd9 11808 * install.sh: Delete duplicate install script.
c74f7db8 11809
914ec131
SC
11810Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
11811
11812 * reg-stack.c (subst_stack_regs): Pop the stack register for a
11813 computed goto which sets the same stack register.
11814
11815 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
11816 destination are both on the regstack.
11817 (subst_stack_regs_pat): Put the destination at the top of the regstack.
11818
c1090daa
JW
11819Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
11820
d5d1738a
JW
11821 * mips.md (nonlocal_goto_receiver): Define.
11822
f4da7881
JW
11823 * profile.c (output_arc_profiler): Check next_insert_after for non
11824 NULL before deferencing it.
11825
c1090daa
JW
11826 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
11827
da594c94
JL
11828Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
11829
11830 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
11831
3e28fe44
MM
11832Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
11833
11834 * toplev.c (rest_of_compilation): For passes starting with
11835 flow_analysis, use print_rtl_with_bb instead of print_rtl.
11836
11837 * print-rtl.c (print_rtl_single): Print a single rtl value to a
11838 file.
11839
11840 * flow.c (print_rtl_with_bb): Print which insns start and end
11841 basic blocks. For the start of a basic block, also print the live
11842 information.
11843
7053ca72
JW
11844Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
11845
417b0fa2
JW
11846 * toplev.c (main): Change #elif to #else/#ifdef
11847
7053ca72
JW
11848 * tlink.c: Include ctype.h.
11849 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
11850
f05a8b25
MM
11851Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
11852
11853 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 11854 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 11855
02d7a569
JS
11856Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
11857
11858 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
11859
6030b6af
JW
11860Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
11861
11862 * profile.c (output_arc_profiler): Verify next_insert_after is an
11863 INSN before and after skipping a stack pop.
11864
04da53bd
R
11865Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11866
11867 * final.c (shorten_branches): Don't count the lengths of deleted
11868 instructions.
11869
780532a4
JL
11870Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
11871
11872 * version.c: Bump for snapshot.
11873
22fa5b8a
MM
11874Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
11875
11876 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
11877 two bitmaps ANDed together.
11878 (bitmap_print): Declare.
11879
11880 * bitmap.c (function_obstack): Don't declare any more.
11881 (bitmap_obstack): Obstack for allocating links from.
11882 (bitmap_obstack_init): New static to say whether to initialize
11883 bitmap_obstack.
11884 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
11885 (bitmap_release_memory): Free all memory allocated from
11886 bitmap_obstack.
11887
11888 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
11889 EXECUTE_IF_AND_IN_BITMAP.
11890
57163df0
JW
11891Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
11892
fa8b6024
JW
11893 * alias.c (true_dependence): Address with AND can alias scalars.
11894 (anti_dependence, output_dependence): Likewise.
b57062ca 11895
57163df0
JW
11896 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
11897
8aa4e786
JS
11898Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
11899
11900 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
11901 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
11902 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
11903 definitions. Use -qrtems instead of -mrtems.
11904
feb21122
RL
11905Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
11906
11907 * xm-sco5.h (sys_siglist): Define.
11908 (SYS_SIGLIST_DECLARED): Likewise.
11909
704af6a1
JL
11910Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
11911
11912 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
11913
127cd405
TG
11914Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
11915
11916 * except.c (eh_outer_context): Expand masking operation using
11917 expand_binop.
11918
8cf02b47
JW
11919Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
11920
11921 * alpha.md (floatdisf2-1): New pattern.
11922
49dad301
JL
11923Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
11924
068f1cb8
JL
11925 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
11926 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 11927 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
11928 * gcc.texi: Note that if you define sys_siglist that you should
11929 also define SYS_SIGLIST_DECLARED.
11930
49dad301
JL
11931 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
11932 are relative to the next instruction, not the current instruction.
11933
a1729519
JW
11934Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
11935
11936 * local-alloc.c (contains_replace_regs): New function.
11937 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
11938 verify that there is no existing REG_EQUIV note, and add a call to
11939 contains_place_regs.
11940
290c8b1f
L
11941Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11942
11943 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
11944 (STARTFILE_SPEC): Always use crtbegin.o%s
11945 (ENDFILE_SPEC): Always use crtend.o%s.
11946
a6a503ed
JW
11947Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
11948
11949 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
11950 is passed in.
11951 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
11952 SFmode for 64 bit hosts.
b57062ca 11953
a94729bc
PH
11954Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
11955
11956 * fixincludes: Permits spaces between # and define. Discard C++
11957 comments in sys/pci.h on HP/UX 10.20.
11958
c9e03727
JL
11959Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
11960
11961 * version.c: Bump for snapshot.
11962
2eddfed1
JL
11963 * pa.c (restore_unscaled_index_insn_codes): New function.
11964 (record_unscaled_index_insn_codes): Likewise.
11965 (output_function_prologue): Call restore_unscaled_index_insn_codes.
11966 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
11967 (pa_reorg): Call record_unscaled_index_insn_codes.
11968
c9e03727
JL
11969 * haifa-sched.c (move_insn): Handle notes correctly for insns
11970 with SCHED_GROUP_P set.
b57062ca 11971
a5d6a95b
L
11972Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11973
11974 * alpha/xm-linux.h (USE_BFD): Undef before define.
11975
bc4ddc77
JW
11976Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
11977
11978 * cse.c (cse_insn): Don't record BLKmode values.
11979
f3e0ca6c
SW
11980Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
11981
11982 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
11983
e3512ac2
JL
11984Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
11985
a63d08e6
JL
11986 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
11987 * collect2.c (sys_errlist): Likewise.
11988 * cpplib.c (sys_errlist): Likewise.
11989 * gcc.c (sys_errlist): Likewise.
11990 * protoize (sys_errlist): Likewise.
11991 * configure.in: Check for strerror.
11992 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
11993 * xm-gnu.h (HAVE_STRERROR): Likewise.
11994 * xm-linux.h (HAVE_STRERROR): Likewise.
11995 * xm-netbsd.h (HAVE_STRERROR): Likewise.
11996 * xm-bsd386.h (HAVE_STRERROR): Likewise.
11997 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
11998 * xm-dos.h (HAVE_STRERROR): Likewise.
11999 * xm-mingw32.h (HAVE_STRERROR): Likewise.
12000 * xm-pa.h (HAVE_STRERROR): Likewise.
12001 * xm-papro.h (HAVE_STRERROR): Likewise.
12002 * xm-sysv4.h (HAVE_STRERROR): Likewise.
12003 * configure, config.in: Rebuilt.
12004
db814993
JL
12005 * Makefile.in: Add several missing "else true" clauses.
12006
e3512ac2
JL
12007 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
12008 * mips-tfile.c: Likewise.
12009 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
12010 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
12011 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
12012 * configure.in: Check for sys_siglist declaration.
12013 * configure, config.in: Rebuilt.
12014
5d84b57e
JS
12015Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
12016
b57062ca 12017 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
5d84b57e
JS
12018 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
12019 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
12020 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
12021 * rs6000/sysv4.h (extra_subtarget_switches): Added new
12022 macro EXTRA_SUBTARGET_SWITCHES.
12023 * configure.in (sh*-*-rtems*): New target.
12024 * sh/rtems.h: New file.
12025 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
12026 * configure: Rebuilt.
12027
2599dcc7
JW
12028Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
12029
12030 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
12031
3b7e5ef4
DE
12032Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
12033
12034 * rs6000.md: Make DF fused-add operations pay attention to
12035 -mno-fused-add.
12036
5cd5f4a7
JW
12037Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
12038
12039 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
12040
63e7fe9b
JL
12041Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
12042
12043 * pa.md (reload_peepholes): Make sure operand is a REG before
12044 examining REGNO. Allow general registers too.
12045
eb7b11fd
JW
12046Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
12047
12048 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
12049
c760091a
PT
12050Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
12051
5cd5f4a7 12052 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
12053 to reallocate abbrev_die_table.
12054
57583338
JW
12055Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
12056
12057 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
12058
eae4b970
AS
120591997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
12060
4f91a0f8
AS
12061 * Makefile.in (config.status): Depend on version.c
12062
eae4b970
AS
12063 * expr.h (insn_gen_function): Reenable prototype.
12064
12065 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
12066 first parameter.
12067
00fc09e1
JW
12068Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
12069
12070 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
12071
2601ebca
JL
12072Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
12073
12074 * version.c: Bump for latest snapshot.
12075
12076 * bc-optab.c: Conditionally include stdlib.h.
12077 (free): Provide a declaration if NEED_DECLARATION_FREE.
12078 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
12079 * rtl.h (free): Remove declaration.
12080 * tree.h (free): Remvoe declaration.
12081
12082 * configure: Rebuilt.
12083
e5eb27e5
JL
12084Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
12085
12086 * flags.h (flag_move_all_movables): Declare.
12087 (flag_reduce_all_givs): Likewise.
12088 * loop.c (move_movables): Handle flag_move_all_movables.
12089 (strength_reduce): Handle flag_reduce_all_givs.
12090 * toplev.c (flag_move_all_movables): Define.
12091 (flag_reduce_all_givs): Likewise.
12092 (f_options): Add -fmove-all-movables and -freduce-all-givs.
12093 * invoke.texi: Document new options, including alias stuff that
12094 wasn't included last time.
12095
d995a6dc
BM
12096Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
12097
12098 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
12099 * t-mn10200: Ditto.
12100 * t-vxsparc: Ditto.
12101 * t-vxworks68: Ditto.
12102 * t-vxworks960: Ditto.
12103 * t-vx29k: Ditto.
12104
ba64ca33
RH
12105Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
12106
12107 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
12108 if not already defined, and USE_C_ALLOCA not defined.
12109
ca20876d
JW
12110Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
12111
7818d6fc
JW
12112 * config.guess: Replace with script that uses ../config.guess.
12113
ca20876d
JW
12114 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
12115 if USE_GNULIBC_1 is not defined.
12116
704a6306
RH
12117Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
12118
12119 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
12120 * config.guess: Recognize alpha-linux-gnulibc1.
12121 * configure.in (alpha-*-linux-gnulibc1): New target.
12122 (alpha-*-linux-gnu*): Don't build crtbegin/end.
12123
67f68fd2
JW
12124Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
12125
12126 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
12127 last change.
12128
88016fb7
DE
12129Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
12130
12131 * loop.c (combine_movables): Earlier insns don't match later ones.
12132
bba17b29
L
12133Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12134
12135 * config/linux.h (CC1_SPEC): Define it only if not defined.
12136
12137 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
12138 <linux.h>
12139
12140 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
12141 USE_GNULIBC_1 is not defined.
12142
33d2808b 12143 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
12144
12145 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
12146 as 1 if USE_GNULIBC_1 is not defined.
12147
ed4044e0
JL
12148Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
12149
f345de42
JL
12150 * reorg.c (dbr_schedule): Allow current_function_return_rtx
12151 to be something other than a REG.
12152 * function.c (expand_function_end): Fix current_function_return_rtx
12153 if it was a pseudo.
12154
ed4044e0
JL
12155 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
12156 * x-netbsd: Likewise
12157 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
12158 (INSTALL_HEADERS): Delete.
12159 * x-dguxbcs: Likewise.
12160 * x-hp3bsd44: Likewise
12161 * x-pa: Likewise.
12162
47d36400
BS
12163Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
12164
12165 * i386.md (pop): pop increments the stack pointer.
12166 (prologue_set_stack_ptr): New pattern.
12167 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
12168 instead of subsi3.
12169
fc79eafe
JW
12170Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
12171
12172 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
12173 address where an offsettable address is required.
12174
c5da853f
MH
12175Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
12176
12177 * loop.c (check_final_value): Don't miss a biv increment in a
12178 parallel.
12179
d4ef15f2
JW
12180Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
12181
12182 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
12183 TYPE_DECL_IS_STUB instead of DECL_NAME.
12184
10549cbd
JW
12185Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12186
12187 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
12188
12189Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
12190
12191 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
12192
484df988
JL
12193Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
12194
12195 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
12196 (find_post_sched_live): Likewise.
12197
12198 * haifa-sched.c (schedule_block): Remove old code to get arguments
12199 from hard regs into pseudos early.
12200
39dfb55a
JL
12201Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
12202
12203 * version.c: Bump for new snapshot.
12204
12205 * local-alloc.c (update_equiv_regs): All the target to reject
12206 promotion of some REG_EQUAL to REG_EQUIV notes.
12207 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
12208
12209 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
12210 secondary reloads.
12211
12212 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
12213 store of the argument registers.
12214
12215Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
12216
12217 * fold-const.c (multiple_of_p): New function.
12218 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
12219
d78778eb
JL
12220Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
12221
12222 * expr.h (insn_gen_function): Temporarily remove prototype.
12223
feb9ea1a
JW
12224Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
12225
12226 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
12227 filenames. Use sed to extract base filename for install.
12228
b6ffe602
JC
12229Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
12230
12231 * unroll.c (find_splittable_givs): Only share if two givs have the
12232 same add and multiply values.
12233
2ebfd230
JW
12234Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
12235
12236 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
12237 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
12238
251ffdee
JL
12239Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
12240
12241 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
12242 around branch tables.
12243 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
12244 and .end_brtab directives if TARGET_GAS.
12245
19372aa1
JW
12246Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
12247
27314274
JW
12248 * alias.c (true_dependence): Pass x_addr not x to varies.
12249
19372aa1
JW
12250 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
12251 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
12252 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
12253 declarations.
12254 * config.in, configure: Regenerate.
12255
2a2c8203
JC
12256Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
12257
12258 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
12259 LO_SUM.
12260 (record_set): Handle LO_SUM like PLUS.
12261 (init_alias_analysis): When following chains of base addresses,
12262 do not stop on reaching a hard register.
12263
d80357b7
JL
12264Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
12265
12266 * version.c: Bump for new snapshot.
12267
b4f32d7b
JW
12268Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
12269
12270 * alpha.h (ARCH_ASM_FILE_START): Define.
12271 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
12272 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
12273
ca363bb6
JL
12274Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
12275
12276 * Makefile.in (install-common): Put gcov comment at start of line.
12277
7557aa98
JL
12278Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
12279
12280 * alias.c (init_alias_analysis): When simplifying the reg_base_value
12281 array, simplify entries for hard registers too.
12282
c34e3ae4
DL
12283Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
12284
12285 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
12286 list.
12287
e3eef942
JW
12288Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
12289
12290 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
12291 block_stack before dereferencing it.
12292
12293Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
12294
12295 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
12296
04f41951
JM
12297Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
12298
12299 * cplus-dem.c: Add 'extern' to prepends_underscore.
12300
e933cbe0
JL
12301Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
12302
62d65906
JL
12303 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
12304 (get_issue_rate): Delete.
12305 * pa.h (ISSUE_RATE): Define.
12306
2da05a5b
JL
12307 * configure.in: Turn on haifa by default for the PA.
12308 * configure: Rebuilt.
12309 * pa.c (override_options): Accept -mschedule=7200 option.
12310 (pa_adjust_cost): No longer need to scale costs for newer
12311 processors.
12312 * pa.h (enum processor_type): Add PROCESSOR_7200.
12313 * pa.md: Revamp scheduling parameters to work better with
12314 haifa. Add scheduling parameters for the 7200.
12315
4f64eaca
JL
12316 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
12317 insns too.
12318 (schedule_block): When adjusting basic_block_{head,end}, account
12319 for movement of SCHED_GROUP_P insns too.
12320
12321 * haifa-sched.c (debug_dependencies): Fix thinko.
12322
e933cbe0
JL
12323 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
12324 (site.exp, check, check-g++, check-gcc): New targets.
12325
4f64eaca 12326 * haifa-sched.c: Make lots of variables static.
61822835 12327
e9576d2c
L
12328Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
12329
12330 * expr.h, real.h: Finish prototyping.
12331
61822835
JL
12332Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
12333
12334 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
12335 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
12336 * reload1.c: Undo bugfix from Aug 11.
12337
f24b370a
MM
12338Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
12339
12340 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
12341 quotes around the name.
12342 * configure: Regenerate.
12343
1c4c5851
JW
12344Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
12345
12346 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
12347
71abb567
MH
12348Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
12349
12350 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
12351 to sub-makes to avoid building more passes than the user might have
12352 requested on the command line.
12353
6042434a
DL
12354Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
12355
12356 * configure.in: Expurgate `broken_install' (install is
12357 autoconfed).
12358
12359 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
12360 relevant).
12361
38ea060f
JL
12362Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
12363
12364 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
12365 functions and declarations.
12366 (analyze_loop_iterations): Use condjump_p.
12367 (insert_bct): Likewise. Use exact_log2.
b57062ca 12368
f187056f
JL
12369Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
12370
12371 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
12372 (schedule_region): Likewise.
12373 (schedule_insns): Likewise.
12374
12375 * PROJECTS: Update with Haifa stuff.
12376
9af06254
JL
12377Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
12378
12379 * version.c: Change the version string to look like:
11c21791 12380 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 12381
0945e937
JL
12382 * loop.c (is_conditional_branch): Make definition match declaration.
12383
9af06254
JL
12384 * gcc.c: Take out experimental snapshot warning message.
12385
ebc25a17
MM
12386Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
12387
12388 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
12389 print out the names of the notes. Print out the name of the insn
12390 that is not a note, and not an {,CALL_,JUMP_}INSN.
12391
610ce97e
JM
12392Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
12393
12394 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
12395 again for the slot after we give it RTL.
12396
992d1248
DE
12397Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
12398
12399 * configure.in (haifa configury): Fix typo.
12400 * configure: Regenerate.
12401
7bb6fbd1
JL
12402Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
12403
12404 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
12405
12406 * gcc.info*: Rebuilt.
12407
12408 * COPYING.g77, README.g77: New files.
12409 * real.c (ereal_unto_float, ereal_unto_double): New functions.
12410 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
12411 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
12412
8c660648
JL
12413Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
12414
12415 * Integrate Haifa instruction scheduler.
12416 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
12417 to sched with $(SCHED_CFLAGS.
12418 * configure.in: Handle --enable-haifa.
12419 * configure: Rebuilt.
12420 * flags.h: Add new flags for haifa instruction scheduler.
12421 * genattrtab.c (expand_units): For haifa, don't subtract one
12422 when computing blockage.
12423 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
12424 (flag_schedule_speculative): Ditto.
12425 (flag_schedule_speculative_load): Ditto.
12426 (flag_schedule_speculative_load_dangerous): Ditto.
12427 (flag_schedule_reverse_before_reload): Ditto.
12428 (flag_schedule_reverse_after_reload): Ditto.
12429 (flag_branch_on_count_reg): Ditto.
12430 (f_options): Add Haifa switches.
12431 (main): Turn off some Haifa options if appropriate macro is
12432 defined. Process Haifa switches.
12433 * unroll.c (iteration_info): No longer static, since Haifa
12434 scheduler uses it.
12435 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
12436 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
12437 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
12438 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
12439 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
12440 storage for the Haifa scheduler.
12441 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
12442 LABEL_NEXTREF.
12443 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
12444 are defined, call analyze_loop_iterations and insert_bct to use
12445 countdown loops.
12446 (record_giv): Refine test for jumps out of loops if HAIFA is
12447 defined.
12448 (analyze_loop_iterations): New function to identify if we can use
12449 a countdown loop.
12450 (insert_bct): Insert countdown loop.
12451 (instrument_loop_bct): Low level code to insert countdown loop.
12452 (loop_number): Calculate UID of loop.
12453 (indirect_jump_in_function_p): Return true if an indirect jump is
12454 in the function.
12455 (is_power_of_2): Return true if value is a power of 2.
12456 (is_conditional_branch): Return true if insn is a conditional
12457 jump.
12458 (fix_bct_param): Process -fbct-{min,max}-N switches.
12459 (check_bct_param): Return true if loop should be instrumented.
12460 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
12461 (loop_optimize): Initialize.
12462 (get_condition_for_loop): Ditto.
12463 * loop.c (strength_reduce): Inside of code that uses #ifdef
12464 HAVE_decrement_and_branch_on_count code, test it to make sure the
12465 condition is true.
12466 (instrument_loop_bct): Ditto.
12467 * haifa-sched.c: New file.
b57062ca 12468
8c660648
JL
12469
12470 * Integrate regmove pass.
12471 * Makefile.in (OBJS): Add regmove.o
12472 (regmove.o): Add dependencies.
12473 * flow.c (find_use_as_address): No longer static.
12474 * rtl.h (find_use_as_address): Declare.
12475 * toplev.c (regmove_dump, flag_regmove): Define.
12476 (f_options): Add -fregmove.
12477 (regmove_dump_file, regmove_time): Define.
12478 (fatal_insn): Close the regmove dump file.
12479 (compile_file): Initialize regmove_time; open/close the regmove dump
12480 file as needed. Print regmove time as needed.
12481 (rest_of_compilation): Run regmove pass if requested, dump
12482 RTL after regmove if requested.
12483 (main): If -O2 or more, turn on regmove. Handle dump switches.
12484 * regmove.c: New file.
b57062ca 12485
aa32d841
JL
12486Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
12487
12488 * Integrate tlink patch from jason@cygnus.com
12489 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
12490 (process_command): Increment n_switches for them. Don't discard
12491 their args. Validate them.
12492 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
12493 From Rohan Lenard.
12494 (process_command): Set include_prefixes from COMPILER_PATH.
12495 (main): Set COLLECT_GCC_OPTIONS sooner.
12496 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
12497 * tlink.c, hash.c, hash.h: New files.
12498 * Makefile.in (USE_COLLECT2): Always use collect2.
12499 (collect2): Depend on and link in hash.o and tlink.o.
12500 (tlink.o, hash.o): Add dependencies.
12501
5fa39bfe
JL
12502Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
12503
9ae8ffe7
JL
12504 * Integrate alias analysis changes from jfc@mit.edu
12505 * Makefile.in (OBJS): Add alias.o
12506 (alias.o): Add dependencies.
12507 * alias.c: New file.
12508 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 12509 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
12510 (schedule_insns): Always call init_alias_analysis.
12511 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
12512 mark return value from such functions as a pointer and keep track of
12513 them for alias analysis. If a return value from a function is a
12514 pointer, mark it as such.
12515 * combine.c (distribute_notes): Handle REG_NOALIAS.
12516 * cse.c (struct write_data): Delete. No longer needed.
12517 (invalidate): Don't call set_nonvarying_address_components anymore.
12518 Use true_dependence to decide if an entry should be removed from
12519 the hash table.
12520 (invalidate_memory): Remove WRITES argument, simplify appropriately.
12521 Fix all callers.
12522 (note_mem_written): Similarly for WRITE_PTR argument.
12523 (invalidate_from_clobbers): Similarly for W argument.
12524 (invalidate_for_call): Remove memory elements from the hash table.
12525 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
12526 (cse_rtx_varies_p): New function. Derived from old
12527 cse_rtx_addr_varies_p.
12528 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
12529 Don't call note_mem_written anymore. Stack pushes invalidate the stack
12530 pointer if PUSH_ROUNDING is defined. No longer need to call
12531 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
12532 (skipped_writes_memory): Remove variable.
12533 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
12534 (invalidate_skipped_block): Simplify for new alias analysis code.
12535 (cse_set_around_loop): Likewise.
12536 (cse_main): Call init_alias_analysis.
12537 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
12538 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
12539 (f_options): Add new alias checking arguments.
12540 (main): Set flag_alias_check when optimizing.
12541 * local_alloc (validate_equiv_mem_from_store): Add new arguments
12542 to true_dependence.
12543 (memref_referenced_p): Likewise.
12544 * loop.c (NUM_STORES): Increase to 30.
12545 (prescan_loop): Only non-constant calls set unknown_address_altered.
12546 (invariant_p): Add new arguments to true_dependence.
12547 (record_giv): Initialize unrolled and shared fields.
12548 (emit_iv_add_mult): Call record_base_value as needed.
12549 * loop.h (struct induction): Add unrolled and shared fields.
12550 * unroll.c (unroll_loop): Call record_base_value as needed.
12551 (copy_loop_body): Likewise.
12552 (final_biv_value): Likewise.
12553 (final_giv_value): Likewise.
12554 (find_splittable_regs): Likewise. Only create one new pseudo
12555 if we have multiple address GIVs that were combined with the same
12556 dst_reg GIV. Note when a new register is created due to unrolling.
12557 * rtl.c (reg_note_name): Add REG_NOALIAS.
12558 * rtl.h (enum reg_note): Similarly.
12559 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
12560 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
12561 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
12562 (true_dependence, read_dependence, anti_dependence): Likewise.
12563 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
12564 (mark_user_reg, mark_reg_pointer): Likewise.
12565
12566
12567 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe 12568 to bootstrap again.
38e01259 12569 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
5fa39bfe
JL
12570 OPERAND_ADDRESS when computing how many registers an insn needs.
12571 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
12572 conflict.
12573 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
12574 OPADDR_ADDR reload.
12575 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
12576 in reload_reg_use_in_op_addr do not reach the end.
12577 do not reach the end.
12578 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
12579 RELOAD_FOR_OPERAND_ADDRESS.
12580
12581Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
12582
2dcfcb56 12583 * egcs project officially starts.
52267fcb
JM
12584
12585Local Variables:
12586add-log-time-format: current-time-string
12587End:
This page took 1.571762 seconds and 5 git commands to generate.