]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
C++ file type checking
[gcc.git] / gcc / ChangeLog
1
2 1999-12-29 Bruce Korb <autogen@linuxbox.com>
3
4 * fixinc/fixincl.c(wait_for_pid): sometimes a WSTOPSIG of zero is OK
5 * fixinc/fixincl.tpl(<hack>TEST_CT): Just do the existence test once
6 (<hack>_RE_CT): not needed
7 * fixinc/fixlib.c(is_cxx_header): moved from fixtests.c
8 rewritten to scan the file text once only
9 "template<..." test added
10 * fixinc/fixlib.h(apply_fix_p_t): moved from fixtests.c
11 (is_cxx_header): declaration added
12 * fixinc/fixtests.c(is_cxx_header): removed
13 (apply_fix_p_t): removed
14 (double_slash_test): is_cxx_header is only called once now
15 * fixinc/hackshell.tpl: indexing the fixes is now done under DEBUG
16 * fixinc/inclhack.def(FIXINC_DEBUG): added for testing DEBUG state
17 within the templates.
18 The borken spelling of "broken" was fixed.
19 * fixinc/inclhack.tpl: The $VERBOSE level is used on various messages
20 The default level depends on FIXINC_DEBUG.
21
22 1999-12-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
23
24 * crtstuff.c: If !inhibit_libc, include stdlib.h/unistd.h.
25 Otherwise provide a declaration for atexit.
26 (init_dummy): Make sure dummy call to atexit is nevertheless
27 called with correct number of args.
28
29 * frame.c: Update comments referring to other files.
30
31 * libgcc2.c: Likewise.
32
33 1999-12-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
34
35 * cse.c (free_element, get_element): Remove unused prototypes.
36
37 * fold-const.c (extract_muldiv): Initialize variables `op0' and
38 `op1'.
39
40 * jump.c (invert_exp): Add explicit braces to avoid ambiguous
41 `else' clauses.
42
43 Wed Dec 29 12:44:54 1999 Donald Lindsay <dlindsay@cygnus.com>
44
45 * configure.in,configure: case arm for mn10200-*-* now sets
46 float_format=i32 so that float.h will correctly claim "double"
47 to be 32 bits. Ran autoconf to generate configure from .in file.
48
49 Wed Dec 29 10:53:21 1999 Jeffrey A Law (law@cygnus.com)
50
51 * pa.md (conditional zero): If op1 is a register, force it into
52 the same register as op0.
53
54 1999-12-28 Mark Mitchell <mark@codesourcery.com>
55
56 * tree.h (BINFO_BASETYPES): Improve documentation.
57
58 1999-12-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
59
60 * configure.in (--enable-checking): Use a more portable `for'
61 loop syntax.
62
63 1999-12-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
64
65 * configure.in (AC_DECL_SYS_SIGLIST, xm-siglist.h,
66 arm/xm-netbsd.h, NO_SYS_SIGLIST): Don't use.
67
68 * xm-siglist.h, arm/xm-netbsd.h, mips/xm-news.h, mips/xm-sysv4.h:
69 Delete files.
70
71 * gcc.texi (NO_SYS_SIGLIST, sys_siglist, SYS_SIGLIST_DECLARED):
72 Delete descriptions.
73
74 * i386/osf1elf.h, i386/xm-cygwin.h, i386/xm-mingw32.h, m68k/3b1.h,
75 m68k/a-ux.h, m68k/dpx2.h, m68k/plexus.h, m68k/xm-hp320.h,
76 m88k/xm-m88k.h, mips/x-sni-svr4, pa/xm-pa.h, pa/xm-pahpux.h,
77 pa/xm-papro.h, we32k/xm-we32k.h, winnt/xm-winnt.h, xm-interix.h,
78 xm-svr4.h: Remove all instances of sys_siglist handling.
79
80 1999-12-27 Jakub Jelinek <jakub@redhat.com>
81
82 * config/sparc/sparc.md (cmp_zero_qi,
83 cmp_zero_extendqisi2_andcc_set, cmp_zero_qi_sp64,
84 cmp_zero_extendqidi2_andcc_set): New patterns.
85
86 1999-12-28 Manfred Hollstein <mhollstein@cygnus.com>
87
88 * m68k/t-mot3300-gald (CROSS_LIBGCC1): Define to libgcc1-asm.a.
89 (LIB1ASMSRC, LIB1ASMFUNCS, LIB2FUNCS_EXTRA): Define.
90 (fpgnulib.c, xfgnulib.c): Add rules.
91 * m68k/t-mot3300-gas: Likewise.
92
93 1999-12-27 Ian Lance Taylor <ian@zembu.com>
94
95 * configure.in: Avoid [[ by using test and changequote. Add
96 changequote required by 1999-12-14 change.
97 * configure: Rebuild.
98
99 1999-12-27 Clinton Popetz <cpopetz@cygnus.com>
100
101 * config/mips/mips.h: Fix typo from 12/17/99 libgcc2 fix.
102
103 1999-12-27 Christophe Jaillet <jaillet.christophe@caramail.com>
104
105 * alias.c (nonlocal_reference_p): Add else for disjoint ifs.
106 * flow.c (find_use_as_address): Likewise.
107 * function.c (fixup_var_refs_1): Likewise.
108 (walk_fixup_memory_subreg, fixup_stack_1): Likewise.
109 * jump.c (invert_exp, redirect_exp): Likewise.
110 * loop.c (replace_call_address): Likewise.
111 (count_nonfixed_reads): Likewise.
112 * rtlanal.c (modified_between_p): Likewise.
113 (modified_in_p, volatile_insn_p, volatile_refs_p): Likewise.
114 (side_effects_p, replace_regs, jmp_uses_reg_or_mem): Likewise.
115 * unroll.c (remap_split_bivs): Likewise.
116
117 1999-12-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
118
119 * diagnostic.c (v_message_with_decl): Use .* format specifier
120 instead of building the format specifier width manually.
121
122 * system.h (strsignal): Don't check HAVE_STRSIGNAL when
123 determining whether to provide a prototype. Remove the
124 sys_siglist clause in the conditional.
125
126 1999-12-23 Martin v. Löwis <loewis@informatik.hu-berlin.de>
127
128 * fold-const.c (operand_equal_p): Use memcmp to compare string
129 constants.
130 Suggested by D. J. Bernstein
131
132 1999-12-17 Jakub Jelinek <jakub@redhat.com>
133
134 * config/h8300/h8300.h (TARGET_H8300H, TARGET_H8300S): Make sure
135 UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
136 compiling libgcc2.
137 * config/mips/mips.h (TARGET_64BIT): Likewise.
138 * config/rs6000/rs6000.h (TARGET_POWERPC64): Likewise.
139 * libgcc2.c: Use {,U}{HW,W,DW}type and DWunion everywhere instead
140 of {SI,DI}type and DIunion. Define these types to QI/HI modes on
141 dsps. Give routines proper names if SI/DI modes are not used.
142 * longlong.h: Use DWunion instead of DIunion.
143
144 1999-12-26 Zack Weinberg <zack@wolery.cumb.org>
145
146 * acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING,
147 GC_CHECKING, GC_ALWAYS_COLLECT.
148 * configure.in: Allow --enable-checking with an argument
149 listing check modes to enable.
150 * config.in, configure: Rebuilt.
151 * ggc-page.c, ggc-simple.c: Define GGC_POISON (and
152 GGC_ALWAYS_VERIFY for ggc-simple.c) only if
153 ENABLE_GC_CHECKING. Define GGC_ALWAYS_COLLECT only if
154 ENABLE_GC_ALWAYS_COLLECT.
155 * rtl.h, rtl.c: Change ENABLE_CHECKING to ENABLE_RTL_CHECKING
156 throughout.
157 * tree.h, tree.c: Change ENABLE_CHECKING to
158 ENABLE_TREE_CHECKING throughout.
159
160 Sun Dec 26 07:48:20 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
161
162 * fold-const.c (fold_truthop): Properly check for FP RHS.
163
164 1999-12-24 Mark Mitchell <mark@codesourcery.com>
165
166 * toplev.h (note_deferall_of_defined_inline_function): Declare.
167 * toplev.c (note_deferral_of_defined_inline_function): New
168 function, split out from ...
169 (rest_of_compilation): ... here. Use it.
170
171 Fri Dec 24 12:34:26 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
172
173 * expr.c (store_constructor): Don't call clear_storage if size is
174 variable.
175
176 1999-12-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
177
178 * Makefile.in (toplev.o): Depend on loop.h.
179
180 * dwarfout.c: Include tm_p.h.
181
182 * emit-rtl.c (restore_emit_status): Mark parameter with
183 ATTRIBUTE_UNUSED.
184
185 * final.c (final_scan_insn): Likewise.
186
187 * flow.c (flow_nodes_print, flow_exits_print, flow_loops_cfg_dump,
188 flow_loop_nested_p, flow_loop_exits_find, flow_loop_nodes_find,
189 flow_depth_first_order_compute, flow_loop_pre_header_find,
190 flow_loop_tree_node_add, flow_loops_tree_build,
191 flow_loop_level_compute, flow_loops_level_compute,
192 flow_loop_outside_edge_p): Add prototypes.
193 (recompute_reg_usage): Mark parameters with ATTRIBUTE_UNUSED.
194
195 * ggc-callbacks.c (lang_mark_tree, lang_mark_false_label_stack):
196 Mark with ATTRIBUTE_NORETURN.
197
198 * hash.c (hash_newfunc): Mark parameter with ATTRIBUTE_UNUSED.
199
200 * local-alloc.c (no_conflict_p): Likewise.
201
202 * loop.c (insert_bct): Hide definitions of variables with hidden
203 usage.
204 (note_reg_stored): Mark parameter with ATTRIBUTE_UNUSED.
205
206 * regclass.c (memory_move_secondary_cost): Mark variable `mem'
207 with ATTRIBUTE_UNUSED.
208 (record_reg_classes): Mark parameter with ATTRIBUTE_UNUSED.
209 (reg_scan): Likewise.
210
211 * reload.c (find_reloads): Remove unused variables `changed'.
212
213 * reload1.c (reload_reg_class_lower): Don't unnecessarily cast
214 away const-ness.
215 (allocate_reload_reg): Mark parameter with ATTRIBUTE_UNUSED.
216 Remove unused variable `insn'.
217
218 * toplev.c: Include loop.h.
219 (report_file_and_line): Remove unnecessary prototype.
220
221 * tree.c (build_block): Mark parameter with ATTRIBUTE_UNUSED.
222
223 * unroll.c (biv_total_increment): Likewise.
224
225 Thu Dec 23 23:15:22 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
226
227 * reload1.c (emit_input_reload_insns): Restore old behaviour
228 wrt. 'special' reloads.
229
230 1999-12-23 Zack Weinberg <zack@wolery.cumb.org>
231
232 * Makefile.in (ggc-simple.c, ggc-page.c): Don't depend on
233 hash.h. (cse.c): Don't depend on hashtab.h.
234
235 * cse.c: Don't include hashtab.h.
236 (hash_cse_reg_info, cse_reg_info_equal_p): Delete prototypes
237 of dead functions.
238 * ggc-simple.c: Don't include hash.h.
239
240 1999-12-22 Jason Merrill <jason@casey.cygnus.com>
241
242 * dwarf2out.c (add_abstract_origin_attribute): Call
243 gen_abstract_function on our function context.
244
245 Thu Dec 23 03:57:10 1999 Hans-Peter Nilsson <hp@bitrange.com>
246
247 * Makefile.in (INTEGRATE_H): Fix typo: INTEGRATE_H, not INTREGRATE_H.
248
249 1999-12-23 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
250
251 * config/c4x/c4x.c (c4x_address_cost): Add statement to default
252 case in switch.
253
254 1999-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
255
256 * config/c4x/c4x.md (*addqi3_noclobber_reload): Change operand 0
257 constraints to "a!r".
258
259 1999-12-21 Mark Mitchell <mark@codesourcery.com>
260
261 * Makefile.in (calls.o): Depend on function.h.
262 (alias.o): Likewise.
263
264 1999-12-21 Bernd Schmidt <bernds@cygnus.co.uk>
265
266 * reload1.c (emit_reload_insns): Break out code and variables into...
267 (input_reload_insns, other_input_address_reload_insns,
268 other_input_reload_insns, input_address_reload_insns,
269 inpaddr_address_reload_insns, output_reload_insns,
270 output_address_reload_insns, outaddr_address_reload_insns,
271 operand_reload_insns, other_operand_reload_insns,
272 other_output_reload_insns): ... new static variables, and...
273 (emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
274 do_output_reload): ... new functions.
275
276 Tue Dec 21 07:06:36 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
277
278 * pa.h (FUNCTION_ARG_BOUNDARY): Never return 0.
279
280 1999-12-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
281
282 * md.texi: Add c4x constraints documentation.
283
284 1999-12-21 Martin v. Löwis <loewis@informatik.hu-berlin.de>
285
286 * config/i386/dgux.c (struct option): Rename to
287 lang_independent_option.
288 (struct m_options): Add description field.
289 (output_options): Rename option type, add sep declaration, output
290 ix86_cpu_string and ix86_arch_string only if set.
291 (output_file_start): Rename option type.
292
293 Mon Dec 20 23:15:36 1999 Mike Stump <mrs@wrs.com>
294
295 * Makefile.in (crtbegin.o, crtend.o, s-crtS): Depend on
296 stmp-int-hdrs.
297 (libgcc2.a): Similarly.
298
299 Mon Dec 20 23:06:47 1999 David Edelsohn <edelsohn@gnu.org>
300
301 * longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss
302 with W_TYPE_SIZE == 32. Do not fall through to POWER architecture
303 for umul_ppmm and smul_ppmm if !_ARCH_PPC and !_ARCH_POWER.
304
305 Mon Dec 20 23:02:03 1999 Jeffrey A Law (law@cygnus.com)
306
307 * fold-const.c (real_hex_to_f): Remove unused "isldouble" variable.
308 Remove redundant initialization of "frexpon" and "expon".
309
310 Mon Dec 20 15:00:04 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
311
312 * tree.c (real_value_from_int_cst): Clear REAL_VALUE_TYPE object first.
313
314 * expr.c (store_constructor): New argument SIZE; pass to clear_storage.
315 (store_constructor_field, expand_expr): Pass new arg.
316
317 1999-12-20 Mark Mitchell <mark@codesourcery.com>
318
319 * Makefile.in (explow.o): Depend on function.h.
320
321 * stor-layout.c (set_sizetype): Fix typo.
322
323 1999-12-20 Bernd Schmidt <bernds@cygnus.co.uk>
324
325 * function.c (cfun): Renamed from current_function. All users
326 changed.
327 * function.h (cfun): Rename declaration as well.
328
329 * reload.h (struct insn_chain): Change live_throughout and dead_or_set
330 to be of type regset_head, not regset. All users changed by adding
331 address operator.
332 * reload1.c (new_insn_chain): Don't allocate regsets, just clear them.
333
334 1999-12-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
335
336 * config/c4x/rtems.h: New file.
337
338 1999-12-19 Bernd Schmidt <bernds@cygnus.co.uk>
339
340 * reload1.c (spill_failure): Take class of failed reload as argument
341 and print it. Caller changed.
342
343 Sun Dec 19 07:50:42 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
344
345 * rs6000.h (SUBTARGET_DEFAULT): New macro.
346 (TARGET_SWITCHES): Allow subtargets to default switches.
347 * rs6000/vxppc.h (SUBTARGET_DEFAULT): New macro.
348
349 1999-12-18 Mark Mitchell <mark@codesourcery.com>
350
351 * crtstuff.c (__do_global_ctors_aux): Do not call __cxa_finalize
352 in a main program.
353
354 Sat Dec 18 20:42:43 1999 Richard Henderson <rth@cygnus.com>
355
356 * cccp.c (main): Define __STDC_VERSION__ as necessary.
357 * cppinit.c (cpp_handle_option): Likewise.
358
359 * ginclude/stdarg.h (va_copy): Use __STDC_VERSION__ to
360 determine when to define.
361
362 Sat Dec 18 20:34:00 1999 Richard Henderson <rth@cygnus.com>
363
364 * alpha.c (alpha_emit_conditional_move): If TARGET_FIX, handle
365 cmove with mismatched test and data modes.
366
367 Sat Dec 18 20:30:15 1999 Richard Henderson <rth@cygnus.com>
368
369 * c-typeck.c (c_expand_start_case): Don't warn for long switch
370 in system headers.
371
372 Sat Dec 18 16:28:43 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
373
374 * alias.c: Minor reformatting.
375 * flow.c: Likewise.
376 * regs.h: Likewise.
377 * stor-layout.c: Likewise.
378 * fold-const.c: Likewise.
379 (OVERFLOW_SUM_SIGN): Renamed from overflow_sum_sign.
380 (struct cb_args, const_binop_1, const_binop): Pass type of arg,
381 not arg itself.
382 (size_int_wide): Cache nodes even if garbage collecting.
383 (twoval_comparison_p): Reenable SAVE_EXPR case if operand
384 of SAVE_EXPR has no side effects.
385 * cse.c: Move a comment.
386 * tree.c: Minor reformatting.
387 (int_size_in_bytes): Return -1 if constant overflows.
388
389 Sat Dec 18 18:30:20 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
390
391 * unroll.c (copy_loop_body): Don't treat a REG like a PLUS.
392
393 1999-12-18 10:42 -0800 Zack Weinberg <zack@wolery.cumb.org>
394
395 * objc/objc-parse.c: Regenerate. This file must be rebuilt
396 after any change to c-parse.in, even if objc-parse.y didn't
397 change. Oops.
398
399 1999-12-18 David S. Miller <davem@redhat.com>
400
401 * toplev.c (rest_of_compilation): Restore BLOCK tree
402 reconstruction and branch shortening changes lost in
403 December 18th change.
404
405 Sat Dec 18 05:29:29 1999 Scott Bambrough <scottb@netwinder.org>
406
407 * config/arm/linux-elf.h: Change all instances of
408 ARM_FLAG_SHORT_BYTES to ARM_FLAG_MMU_TRAPS.
409 * config/arm/uclinux-elf.h: Likewise.
410
411 1999-12-18 Gabriel Dos Reis <gdr@codesourcery.com>
412
413 * toplev.c (notice, vmessage, v_message_with_file_and_line,
414 v_message_with_decl, file_and_line_for_asm,
415 v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
416 verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
417 v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
418 v_pedwarn_with_file_and_line, vsorry, vnotice, count_error,
419 pfatal_with_name, fatal_io_error, need_error_newline,
420 last_error_function, last_error_tick, announce_function,
421 default_print_error_function, print_error_function,
422 report_error_function, fnotice, error_with_file_and_line,
423 error_with_decl, error_for_asm, error, set_fatal_function, fatal,
424 _fatal_insn, _fatal_insn_not_found, warning_with_file_and_line,
425 warning_with_decl, warning_for_asm, warning, pedwarn,
426 pedwarn_with_decl, pedwarn_with_file_and_line, sorry): Move to
427 diagnostic.c
428 (compile_file): Use fnotice instead of notice. Adjust call.
429
430 * diagnostic.c: New file.
431
432 * Makefile.in (OBJS): Include diagnostic.o
433 (diagnostic.o): Define dependence.
434
435 1999-12-18 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
436
437 * config/c4x/c4x.h (ASM_OUTPUT_XXX): Wrap in do-while(0).
438 Tweak formatting.
439
440 1999-12-18 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
441
442 * config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re.
443
444 1999-12-17 13:21 -0800 Zack Weinberg <zack@rabi.columbia.edu>
445
446 * fixtests.c (is_cxx_header): New fn, split out of
447 double_slash_test.
448 (else_endif_label): Allow "#endif // comment" in C++ headers,
449 as determined by is_cxx_header.
450 * fixfixes.c (else_endif_label_fix): Update comment.
451 * fixincl.c: Don't output VERB_PROGRESS lines if stdout is not
452 a tty.
453 * genfixes: Correct double thinko in commandline parsing.
454 * hackshell.tpl: Generate correct sh syntax for bypass
455 entries.
456
457 * inclhack.def (all): Whenever an inserted preprocessor
458 conditional is split over multiple lines, use double
459 backslashes in this file so the fixed header will be readable.
460
461 (AAB_fd_zero_glibc_1_0): Rename to AAB_fd_zero_asm_posix_types_h
462 and add bypass entry for correct version of this header.
463 (AAB_fd_zero_glibc_1_x): Rename to AAB_fd_zero_gnu_types_h.
464 (AAB_fd_zero_glibc_2_0): Rename to AAB_fd_zero_selectbits_h.
465
466 (hpux8_bogus_inlines): New fix, split from...
467 (ultrix_atof_param) ... here.
468 (math_expression): Add bypass entry keyed to glibc comment
469 indicating the problem has been dealt with; disable
470 unnecessary sed operations; update commentary.
471 (math_gcc_ifndefs): Rename to math_huge_val_from_dbl_max,
472 add select and bypass entries, simplify shell operation.
473 (math_huge_val_ifndef): Split from math_gcc_ifndefs.
474
475 (ip_missing_semi, rs6000_param, tinfo_cplusplus,
476 ultrix_atof_param): Add select entry.
477 (stdio_va_list, sunos_mather_decl): Add bypass entry.
478 (systypes_for_aix, sysv86_string, tinfo_cplusplus): Put the
479 comments with the fixes they describe.
480
481 * c-parse.in (string action): Do not warn about ANSI string
482 concatenation in system headers. Affects C parser only.
483 * c-parse.y, c-parse.c, c-parse.h: Rebuild.
484
485 1999-12-16 Jakub Jelinek <jakub@redhat.com>
486
487 * config/sparc/sparc.h (TARGET_ARCH32): Exchange ifdefs so that if
488 compiling libgcc2 the macro depends always on arch cpp defines.
489
490 Fri Dec 17 10:34:16 1999 Richard Earnshaw <rearnsha@arm.com>
491
492 * loop.c (insert_loop_mem): Don't record MEMs from inside
493 EXPR_LISTs.
494
495 Fri Dec 17 12:08:11 MET 1999 Jan Hubicka <hubicka@freesoftr.cz>
496
497 * regclass.c (regclass): Do not use flowgraph when not optimizing.
498
499 * gcse.c (try_replace_reg): Do replacements in REG_EQUAL/REG_EQUIV
500 notes too, create one when replacement failed, attempt to simplify
501 resulting notes.
502 (cprop_insn): Propagate even to registers mentioned only in REG_EQUAL
503 or REG_EQUIV notes.
504
505 1999-12-16 Mark Mitchell <mark@codesourcery.com>
506
507 * crtstuff.c (__dso_handle): Declare.
508 (__cxa_finalize): Likewise.
509 (do_global_dtors_aux): Call __cxa_finalize if __dso_handle is
510 non-NULL.
511
512 * invoke.texi: Document -fuse-cxa-atexit.
513
514 * tree.h (ptr_type_node): Document.
515 (const_ptr_type_node): Likewise.
516
517 Fri Dec 17 01:32:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
518
519 * regmove.c (optimize_reg_copy_1): Ignore LOOP notes.
520 (optimize_reg_copy_2): Likewise.
521 (optimize_reg_copy_3): Likewise.
522 (fixup_match_2): Likewise.
523 (regmove_optimize): Likewise.
524 (fixup_match_1): Liekwise.
525
526 * i386.md (HI to SImode promoting splitters): Rewrite.
527 (pushsf mem peep2): New.
528 (testhi to andhi peep2): Remove.
529 * i386.h (x86_promote_QImode): New.
530 (TARGET_PROMOTE_QImode): New.
531 (PREDICATE_CODES): Add promotable_binary_operator.
532 * i386.c (x86_promote_QImode0: New.
533 (promotable_binary_operator): New.
534 * i386-protos.h (promotable_binary_operator): New.
535
536 * i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify
537 condition.
538 (one_cmpl?i*): Pass "NOT" to unary_operator_ok.
539
540 1999-12-16 Mark Mitchell <mark@codesourcery.com>
541
542 * Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H.
543 * function.c (insert_block_after_note): Remove.
544 (retrofit_block): Likewise.
545 (identify_blocks): Fix indentation.
546 (reorder_blocks): Don't NULL out NOTE_SOURCE_FILE for a
547 NOTE_INSN_BLOCK_BEG or NOTE_INSN_BLOCK_END.
548 * function.h (insert_block_after_note): Remove prototype.
549 (retrofit_block): Likewise.
550 * integrate.c (expand_inline_function): Don't call
551 find_loop_tree_blocks. Use expand_start_bindings_and_block, not
552 just expand_start_bindings. Use the block_map to remap old
553 NOTE_BLOCKs to new ones.
554 (integrate_decl_tree): Keep track of remapped blocks.
555 * integrate.h (struct inline_remap): Add block_map.
556 * stmt.c (expand_fixup): Don't try to retrofit_blocks. Just set
557 NOTE_BLOCK on the notes.
558 (expand_start_bindings): Rename to ...
559 (expand_start_bindings_and_block): Add parameter. Set NOTE_BLOCK.
560 (expand_end_bindings): Set NOTE_BLOCK.
561 * toplev.c (rest_of_compilation): In function-at-a-time-mode,
562 reconstruct the BLOCK tree.
563 * tree.h (expand_start_bindings): Macroize. Call ...
564 (expand_start_bindings_and_block): New function.
565
566 1999-12-16 Jakub Jelinek <jakub@redhat.com>
567
568 * config/sparc/sparc.c (print_operand): Cast fprintf arguments
569 to match the format.
570
571 1999-12-16 David S. Miller <davem@redhat.com>
572
573 * expr.c (emit_move_insn_1): Only emit clobbers if one of
574 the outputs is a SUBREG.
575 * rtlanal.c (reg_overlap_mentioned_p): Revert December 15th
576 change.
577
578 * config/sparc/sparc.c (epilogue_renumber): Add default case
579 to switch stmt.
580
581 Thu Dec 16 11:33:57 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
582
583 * toplev.c (rest_of_compilation): Run branch shortening after
584 reg-stack.
585
586 * regclass.c (loop_depth): Remove
587 (scan_one_insn): Do not handle LOOP_NOTE insns.
588 (regclass): Go through basic blocks and set loop_cost
589
590 Thu Dec 16 02:56:25 1999 Zack Weinberg <zack@bitmover.com>
591
592 * tree.h (DECL_FROM_INLINE): Check DECL_ABSTRACT_ORIGIN too.
593
594 Thu Dec 16 10:43:35 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
595
596 * i386.md (movqi): Use "nonimmediate_operand" for output operand.
597 (movstrictqi, movdi, movsf, movdf, movxf): Likewise.
598 (adddi, addqi, addhi, subdi, subqi, subhi, ffs): Likewise.
599
600 Thu Dec 16 02:41:26 1999 Richard Henderson (rth@cygnus.com)
601
602 * loop.c (insert_loop_mem): Ignore memory clobbers.
603
604 * combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0)
605 to (OP A B).
606
607 Thu Dec 16 02:26:11 1999 Jeffrey A Law (law@cygnus.com)
608
609 * profile.c: Remove redundant #include "output.h".
610
611 * h8300.md (HImode preinc peephole): Fix typo.
612
613 1999-12-15 Jason Merrill <jason@casey.cygnus.com>
614
615 * function.c (retrofit_block): Abort if we don't find a suitable insn.
616 (insert_block_after_note): Abort if we don't have a previous block.
617 Remove FN parameter.
618 * function.h: Adjust.
619
620 1999-12-15 Mark Mitchell <mark@codesourcery.com>
621
622 * builtins.c (expand_builtin_mathfn): Make sure not to expand the
623 argument more than once.
624
625 1999-12-15 Jason Merrill <jason@casey.cygnus.com>
626
627 * stmt.c (expand_decl): Expand upper bound of a dynamic array.
628
629 1999-12-15 Jakub Jelinek <jakub@redhat.com>
630
631 * expr.c (emit_group_load): Use dst mode if src is VOIDmode.
632
633 Wed Dec 15 16:11:55 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
634
635 * function.c (PREFERRED_STACK_BOUDNARY): Provide default value.
636 (assign_stack_local_1): Limit alignment to PREFERRED_STACK_BOUNDARY,
637 update stack_alignment_needed.
638 (prepare_function_start): Initialize stack_alignment_needed
639 * function.h (struct function): Add field stack_alignment_needed.
640
641 Wed Dec 15 14:55:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
642
643 * caller-save.c (insert_one_insn): Returns struct insn_chain *.
644 Handle live_throughout / dead_or_set instead of live_before /
645 live_after.
646 (save_call_clobbered_regs): Get register livenessinformation from
647 chain->live_throughout.
648 (add_stored_regs): New function.
649 (insert_restore, insert_save): Add restored / saved registers to
650 dead_or_set.
651 * global.c (reg_dies): New parameter chain.
652 (reg_becomes_live): Third parameter is regs_set now.
653 Changed all callers.
654 (reg_dies): New parameter chain. Changed all callers.
655 (build_insn_chain): Set live_throughout instead of
656 live_before / live_after.
657 * reload.h (struct insn_chain): Replace members live_before /
658 live_after with live_throughout / dead_or_set.
659 * reload1.c (new_insn_chain): Handle live_throughout / dead_or_set
660 instead of live_before / live_after.
661 (maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise.
662 (order_regs_for_reload, find_reg, finish_spills): Likewise.
663 (choose_reload_regs_init): Likewise.
664 * stupid.c (current_chain, find_clobbered_regs): Delete.
665 (stupid_life_analysis): Set chain->live_throughout chain->dead_or_set
666 instead of chain->live_before / chain->live_after.
667 (mark_hard_ref): New function.
668 (stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout.
669
670 1999-12-15 David S. Miller <davem@redhat.com>
671
672 * rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT.
673
674 Wed Dec 15 15:05:30 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
675
676 * flow.c (calculate_loop_depth): Make global, remove prototype,
677 rewrite to use new loop infrastructure.
678 (find_basic_block): Remove calculate_loop_depth call.
679 * toplev.c (rest_of_compilation): Call find_basic_block.
680 * output.h (calculate_loop_depth): Declare.
681
682 * flow.c (dump_flow_info): Dump loop_depth.
683 (flow_loops_nodes_find): Increase loop_depth for basic block in the
684 body.
685 (flow_loops_find): Initialize the loop_depth for each basic block.
686
687 1999-12-15 Jason Merrill <jason@casey.cygnus.com>
688
689 * tree.c (decl_function_context): Handle virtual functions.
690
691 * tlink.c (scan_linker_output): Don't look in demangled name when
692 looking for linker output keywords.
693
694 * dwarfout.c (output_type): We can defer namespace-scope classes.
695
696 Wed Dec 15 01:23:29 1999 Jeffrey A Law (law@cygnus.com)
697
698 * regclass.c (record_reg_classes): Update comment for merging
699 register class preferences in reg->reg copies. Tighten conditions
700 for merging register class preferences in reg->reg copies.
701
702 Wed Dec 15 02:19:32 1999 David Edelsohn <edelsohn@gnu.org>
703
704 * rs6000.md (tablejumpdi): Generate DImode LABEL_REF.
705
706 1999-12-14 Geoff Keating <geoffk@cygnus.com>
707
708 * config/m68k/m68020-elf.h (ENDFILE_SPEC): Delete.
709 (INIT_SECTION_ASM_OP): Delete.
710 (FINI_SECTION_ASM_OP): Delete.
711 (STARTFILE_SPEC): Define to hold just crtbegin.o.
712
713 1999-12-14 Jason Merrill <jason@casey.cygnus.com>
714
715 * dwarf2out.c (add_abstract_origin_attribute): Do call abort if
716 the abstract origin wasn't emitted.
717
718 * dwarf2out.c (class_scope_p): New fn.
719 (gen_subprogram_die): Use it.
720 (gen_variable_die): Use it. Tweak logic.
721 (gen_struct_or_union_type_die): Check context_die to determine
722 if we're function-local.
723 (dwarf2out_decl): Check DECL_BUILT_IN, not DECL_FUNCTION_CODE.
724
725 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
726
727 * loop.c (check_dbra_loop): Can't reverse a biv that has
728 maybe_multiple set.
729
730 1999-12-14 Nick Clifton <nickc@cygnus.com>
731
732 * config/arm/arm.c: Add support for -mcpu=arm720 command line
733 switch.
734
735 Tue Dec 14 18:13:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
736
737 * loop.c (strength_reduce): Fix sign of giv lifetime calculation
738 for givs made from biv increments.
739
740 Tue Dec 14 08:11:27 1999 Richard Henderson <rth@cygnus.com>
741
742 * configure.in (alpha-osf, alpha-linux): Handle ev6[78].
743 * alpha.c (override_options): Recognize -mcpu=ev67.
744 * alpha.h (CPP_CPU_EV67_SPEC): New.
745 (CPP_CPU_DEFAULT_SPEC): Examine TARGET_CPU_DEFAULT to use it.
746 (EXTRA_SPECS): Update.
747
748 Tue Dec 14 08:04:28 1999 Richard Henderson <rth@cygnus.com>
749
750 * cppp.c (main): Set trigraphs and __STRICT_ANSI__ as
751 appropriate for -lang-c89 and -std=*.
752 * cppinit.c (cpp_handle_option): Likewise.
753 (new_pending_define): New, split out from cpp_handle_option.
754 * gcc.c (default_compilers): Don't define __STRICT_ANSI__
755 or enable trigraphs for -ansi/-std=*.
756
757 * ginclude/stdarg.h (__va_copy): New.
758 (va_copy): Don't define for C89.
759
760 Tue Dec 14 08:37:27 CST 1999 Clinton Popetz <cpopetz@cygnus.com>
761
762 * config/arm/arm.md (mulsidi3adddi, umulsidi3adddi): New patterns
763 for long long multiply-accumulate.
764
765 Tue Dec 14 13:51:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
766
767 * regclass.c (scan_one_insn): Set loop_cost to 1 when
768 optimizing for size.
769
770 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
771
772 * reload1.c (reload): Can't avoid select_reload_regs/finish_spills
773 if something changed. Back out that part of yesterday's changes.
774
775 * loop.c (loop_max_reg): New static variable.
776 (loop_optimize): Initialize it. Eliminate one unnecessary call to
777 max_reg_num.
778 (scan_loop): Call reg_scan_update whenever we may have added new
779 registers, and update loop_max_reg.
780
781 Tue Dec 14 12:07:29 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
782
783 * regclass.c (record_reg_classes): Do not do the copying preferrencing
784 when source does not die.
785
786 * regclass.c (record_reg_classes): Handle INOUT operands propertly.
787
788 1999-12-14 Jakub Jelinek <jakub@redhat.com>
789
790 * config/sparc/linux64.h (TARGET_LIVE_G0,
791 TARGET_BROKEN_SAVERESTORE): Don't support weird SPARC
792 variants on Linux.
793 * config/sparc/linux.h (TARGET_LIVE_G0,
794 TARGET_BROKEN_SAVERESTORE): Likewise.
795 * config/sparc/linux-aout.h (TARGET_LIVE_G0,
796 TARGET_BROKEN_SAVERESTORE): Likewise.
797
798 * config/sparc/sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32.
799 (CONDITIONAL_REGISTER_USAGE): For block profiling fix %g4 on sparc64,
800 not %g2.
801 (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Use %g4 instead of %g2
802 as sparc64 block profiling register.
803 * config/sparc/sparc.c (sparc_override_options): Allow block
804 profiling with -m32.
805 (sparc_block_profiler): Use %g4 instead of %g2 as sparc64 block
806 profiling register.
807 * config/sparc/linux64.h (MACHINE_STATE_*): Only provide these
808 macros on TARGET_ARCH32. sparc.h has macros good enough for sparc64.
809 * config/sparc/sol2.h (MACHINE_STATE_*): Likewise.
810
811 * config/sparc/xm-sp64.h: Avoid using __sparc_v9__ when testing
812 for sparc64.
813 * config/sparc/sparc.h: Likewise.
814 * config/sparc/xm-sysv4-64.h: Likewise.
815 * config/float-sparc.h: Likewise.
816 * glimits.h: Likewise.
817 * longlong.h: Likewise.
818
819 * config/sparc/linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1.
820 (ASM_IDENTIFY_GCC): Remove.
821
822 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
823
824 * combine.c (combine_simplify_rtx): Don't make shared rtl.
825 (simplify_logical): Likewise.
826
827 1999-12-14 Mumit Khan <khan@xraylith.wisc.edu>
828
829 * cccp.c (INO_T_EQ): Disable inode-based optimization for Cygwin.
830 * cppfiles.c (INO_T_EQ): Likewise.
831
832 1999-12-14 Mumit Khan <khan@xraylith.wisc.edu>
833
834 * i386/crtdll.h (STARTFILE_SPEC): Add -pg profiling support.
835 * i386/mingw32.h (LIB_SPEC): Likewise.
836 (STARTFILE_SPEC): Likewise.
837 * i386/uwin.h (LIB_SPEC): Likewise.
838 (STARTFILE_SPEC): Likewise.
839
840 * i386/mingw32.h (SUBTARGET_PROLOGUE): Override Cygwin definition.
841 * i386/uwin.h (SUBTARGET_PROLOGUE): Likewise.
842
843 Mon Dec 13 20:25:29 1999 Jeffrey A Law (law@cygnus.com)
844
845 * combine.c (combine_simplify_rtx): Fix order of checks for
846 (ashiftrt foo C) -> (lt foo (const_int 0)) simplification.
847
848 1999-12-13 Clinton Popetz <cpopetz@cygnus.com>
849
850 * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi) Backed out
851 12/10/99 change, reapplied to merged-arm-thumb-backend-branch.
852
853 1999-12-10 Bernd Schmidt <bernds@cygnus.co.uk>
854
855 * hard-reg-set.h (inv_reg_alloc_order): Declare if REG_ALLOC_ORDER is
856 defined.
857 * regclass.c (inv_reg_alloc_order): New array.
858 (regclass_init): If REG_ALLOC_ORDER is defined, initialize it.
859
860 * reload.h (struct insn_chain): Delete fields group_size, group_mode,
861 counted_for_groups, counted_for_nongroups. Add fields rld and
862 n_reloads.
863 * reload.c (push_secondary_reload): Don't set nongroup field of
864 new reloads.
865 (push_reload): Likewise.
866 (find_reloads): Delete code to compute nongroup fields.
867 * reload1.c (reload_insn_firstobj): New static variable.
868 (pseudos_counted, spilled_pseudos): Now of type regset_head. All
869 users changed.
870 (calculate_needs, find_tworeg_group, find_group, possible_group_p,
871 count_possible_groups, modes_equiv_for_class_p, new_spill_reg,
872 dump_needs, maybe_mark_pseudo_spilled, hard_reg_use_compare): Delete
873 functions.
874 (count_pseudo, select_reload_regs, copy_reloads, find_reg): New
875 functions.
876 (struct hard_reg_n_uses): Deleted.
877 (potential_reload_regs): Deleted.
878 (init_reload): Initialize spilled_pseudos and pseudos_counted.
879 (reload): Don't try to allocate reload registers if we already know
880 we have to make another pass. Call select_reload_regs. Free memory
881 starting with reload_firstobj when starting another pass.
882 Don't allocate spilled_pseudos.
883 (calculate_needs_all_insns): Call copy_reloads for an insn that
884 needs reloads; don't call calculate_needs.
885 (spill_cost): New static array.
886 (used_spill_regs_local): New static variable.
887 (order_regs_for_reload): Rewrite to lose hard_reg_n_uses and the code
888 to compute potential_reload_regs.
889 (find_reload_regs): Completely rewritten to use find_reg.
890 (allocate_reload_reg): Don't test counted_for_groups or
891 counted_for_nongroups. Lose NOERROR arg and code to give an error;
892 all cllers changed.
893 (choose_reload_regs): Add fallback code that uses the existing
894 register allocation from find_reload_regs.
895
896 Mon Dec 13 00:54:14 1999 Philippe De Muyter <phdm@macqel.be>
897
898 * flow.c (create_edge_list): Cast xmalloc return value.
899
900 Mon Dec 13 00:47:58 1999 Jeffrey A Law (law@cygnus.com)
901
902 * doprnt.c: Remove incorrect comment closure.
903
904 * cse.c: Fix a few minor whitespace goofs.
905
906 1999-12-13 Don Bowman <don@pixstream.com>
907
908 * mips/vxworks.h: Fix problem with comment termination.
909 (EXTRA_SECTIONS): Add in_sbss.
910 (EXTRA_SECTION_FUNCTIONS): Corresponding changes.
911
912 1999-12-12 David S. Miller <davem@redhat.com>
913
914 * cse.c (struct cse_reg_info): Add hash_next member,
915 reorder rest of struct for better packing on 64-bit
916 hosts.
917 (cse_reg_info_tree): Kill.
918 (REGHASH_SHIFT, REGHASH_SIZE, REGHASH_MASK, reg_hash,
919 REGHASH_FN): New custom pow2 hash mechanism.
920 (NBUCKETS): Kill.
921 (HASH_SHIFT, HASH_SIZE, HASH_MASK, HASH, table): Rework to
922 use a pow2 hash table.
923 (get_cse_reg_info): Rework to use new REGHASH.
924 (new_basic_block): Likewise, use HASH_SIZE, and inline
925 free_element call.
926 (remove_from_table): Rework to use HASH_SIZE/HASH_MASK,
927 and inline free_element call.
928 (lookup_as_function, insert, flush_hash_table, invalidate,
929 remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
930 invalidate_for_call, use_related_value, find_comparison_args,
931 fold_rtx, equiv_constant, cse_insn, invalidate_memory): Likewise.
932 (hash_cse_reg_info, cse_reg_info_equal_p, free_element,
933 get_element): Kill.
934
935 Sun Dec 12 21:31:44 1999 Jeffrey A Law (law@cygnus.com)
936
937 * cse.c (cse_basic_block): Free qty_table consistently.
938
939 1999-12-12 David S. Miller <davem@redhat.com>
940 Jakub Jelinek <jakub@redhat.com>
941
942 * config/sparc/sparc.md (movtf reg/reg split): Don't generate
943 SUBREGs by hand, gen the appropriate hard reg directly.
944 (movtf reg/mem split): Likewise and alter_subreg on destination
945 if necessary.
946 (movtf mem/reg split): Similarly.
947 (movdf_cc_sp64): Rename from hidden pattern.
948 (movtf_cc_hq_sp64): Renamed from movtf_cc_sp64.
949 (movtf_cc_sp64, following split): New pattern and splitter.
950 (movdf_cc_reg_sp64): Rename from hidden pattern.
951 (movtf_cc_reg_hq_sp64): Renamed from movtf_cc_reg_sp64, require
952 TARGET_HARD_QUAD.
953 (movtf_cc_reg_sp64, following split): New pattern and splitter.
954
955 1999-12-12 Stephen L Moshier <moshier@mediaone.net>
956
957 * loop.c (load_mems): Don't hoist written floating point mem
958 if -ffloat-store.
959
960 1999-12-12 Mark Mitchell <mark@codesourcery.com>
961
962 * except.h (struct eh_queue): Add `next' pointer.
963 (struct eh_status): Make x_ehqueue a pointer.
964 (push_ehqueue): Declare.
965 (pop_ehqueue): Likewise.
966 * except.c (expand_eh_region_end): Adjust now that ehqueue is a
967 pointer.
968 (expand_fixup_region_end): Likewise.
969 (expand_leftover_cleanups): Likewise.
970 (push_ehqueue): Define.
971 (pop_ehqueue): Likewise.
972 (emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather
973 than doing it inline.
974 (expand_start_all_catch): Adjust now that ehqueue is a
975 pointer.
976 (mark_eh_queue): Mark all level of the queue.
977 (mark_eh_status): Adjust now that ehqueue is a
978 pointer.
979 (init_eh_for_function): Allocate ehqueue.
980 (free_eh_status): Free it.
981 * stmt.c (expand_cleanups): Save the ehqueue around the cleanup
982 expansion for a fixup.
983
984 1999-12-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
985
986 * gthr-single.h (__gthread_active_p): Add prototype arguments.
987
988 * libgcc2.c (__udivmoddi4): Remove unnecessary decls.
989 (__dummy, __builtin_saveregs, __bb_exit_trace_func, __bb_init_prg,
990 __bb_trace_func, __bb_trace_func_ret, __bb_trace_ret,
991 function_ptr, getpagesize, __enable_execute_stack,
992 __enable_execute_stack, __clear_insn_cache,
993 __enable_execute_stack, __do_global_dtors, __do_global_ctors,
994 _cleanup, _exit, __default_terminate, __terminate_func,
995 __terminate, __empty, __throw, new_eh_context,
996 eh_context_initialize, eh_context_static, eh_context_specific,
997 get_eh_context, __get_eh_context, __get_eh_info,
998 init_reg_size_table, eh_threads_initialize,
999 __get_dynamic_handler_chain, __sjthrow, __sjpopnthrow,
1000 __unwinding_cleanup, throw_helper, __throw, __rethrow,
1001 __pure_virtual): Add prototype arguments.
1002 (__bb_exit_func): Cast a sizeof to long when comparing against one.
1003 Cast a signed value to unsigned long when comparing against one.
1004 (new_eh_context): Wrap in _GTHREADS macro.
1005 (__sjthrow, __sjpopnthrow): Initialize variable `cleanup' at
1006 declaration.
1007 (in_reg_window): Mark parameters with __attribute__ ((__unused__)).
1008 (throw_helper): Initialize variables `handler_p' and `pc_p'.
1009
1010 1999-12-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1011
1012 * combine.c (record_promoted_value): Remove unused variable
1013 `links2'.
1014
1015 * emit-rtl.c (renumber_insns): Likewise for `old_max_uid'.
1016
1017 * global.c (record_conflicts): Likewise for `j'.
1018
1019 * genoutput.c (output_insn_data): Don't unnecessarily cast away
1020 const-ness.
1021
1022 1999-12-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1023
1024 * i386-protos.h (output_387_binary_op, output_fix_trunc,
1025 output_fp_compare): Constify a char*.
1026
1027 * i386.c (ix86_split_to_parts, ix86_safe_length_prefix): Add
1028 static prototypes.
1029 (override_options, ix86_comp_type_attributes, print_operand,
1030 output_387_binary_op, output_fix_trunc, output_fp_compare):
1031 Constify a char*.
1032 (ix86_sched_reorder): Mark parameter `clock_var' with
1033 ATTRIBUTE_UNUSED.
1034
1035 * i386.h (DEBUG_PRINT_REG): Constify a char*.
1036
1037 Fri Dec 10 16:12:13 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
1038
1039 * tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third
1040 operand, for use in the Java front-end.
1041
1042 1999-12-10 Ben Collins <bcollins@debian.org>
1043
1044 * configure.in: Fix typo for "-64" in 64bit as check.
1045 * configure: Rebuilt.
1046
1047 1999-12-10 Jakub Jelinek <jakub@redhat.com>
1048
1049 * longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where
1050 appropriate.
1051
1052 1999-12-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1053
1054 * c-parse.in (string): With -Wtraditional, warn if ANSI string
1055 concatenation is utilized.
1056
1057 * invoke.texi (-Wtraditional): Document it.
1058
1059 1999-12-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1060
1061 * flow.c (flow_loops_dump): Avoid ANSI string concatenation.
1062 Cast a ptrdiff_t to long and pass it to printf with %ld.
1063
1064 1999-12-10 Geoff Keating <geoffk@cygnus.com>
1065
1066 * config/m68k/m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no
1067 68881, we have no 68881 registers at all.
1068 (HARD_REGNO_MODE_OK): It is always OK to put a MODE_FLOAT
1069 value in a 68881 register if it is available.
1070
1071 1999-12-10 Clinton Popetz <cpopetz@cygnus.com>
1072
1073 * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi): New patterns
1074 for long long multiply-accumulate.
1075
1076 1999-12-10 Bernd Schmidt <bernds@cygnus.co.uk>
1077
1078 * loop.c (insert_loop_mem): Undo last change.
1079
1080 1999-12-10 David S. Miller <davem@redhat.com>
1081
1082 * config/sparc/sparc.c (fp_sethi_p, fp_mov_p, fp_high_losum_p):
1083 New functions.
1084 * config/sparc/sparc-protos.h: Add them.
1085 * config/sparc/sparc.h: Add them to PREDICATE_CODES.
1086 (EXTRA_CONSTRAINT_BASE): New macro, handling Q, R, and S
1087 constraints which use those helpers.
1088 (EXTRA_CONSTRAINT): Use this new macro.
1089 * md.texi: Update sparc target constraints documentation.
1090 * config/sparc/sparc.md (clear_sf, clear_sfp, movsf_const_intreg,
1091 movsf_const_high, movsf_const_lo, movsf_insn): Delete.
1092 (movsf_insn_novis_liveg0, movsf_insn_novis_noliveg0,
1093 movsf_insn_vis, movsf_lo_sum, movsf_high): New patterns.
1094 (movsf high/lo_sum split): Rework for new patterns.
1095 (movsf expander): Allow storing fp_zero to memory if ! live_g0.
1096
1097 1999-12-09 Gavin Romig-Koch <gavin@cetus.cygnus.com>
1098
1099 * c-common.c (c_common_nodes_and_builtins):
1100 Create __builtin_ptrdiff_t and __builtin_size_t.
1101
1102 Thu Dec 9 18:05:48 1999 Jeffrey A Law (law@cygnus.com)
1103
1104 * pa/elf.h (MAX_OFILE_ALIGNMENT): Define.
1105
1106 Fri Dec 10 00:53:10 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1107
1108 * regclass.c (globalize_reg): Re-instate test that allows
1109 fixed registers to be declared as a variable even after functions
1110 are defined.
1111
1112 Fri Dec 10 00:52:13 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1113
1114 * i386.md (cpu attribute): Add "athlon".
1115 (athlon_decode): New attribute.
1116 (Athlon scheduling units definitions): New.
1117 (fcmp and shld patterns): Set athlon_decode to "vector".
1118 * i386.c (athlon_cost): New.
1119 (m_ATHLON): New.
1120 (x86_use_leave, x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
1121 x86_use_sahf): Set for Athlon.
1122 (x86_use_fiop): Unset for Athlon.
1123 (override_options): Define Athlon alignments and "athlon" name.
1124 (x86_adjust_cost): Penalize AGI and delayed latencies for Athlon.
1125 * i386.h (TARGET_ATHLON): New.
1126 (enum processor_type): Add PROCESSOR_ATHLON.
1127 (TARGET_CPU_DEFAULT_SPEC): Set to "-D__tune_athlon__"
1128 for CPU_DEFAULT==5
1129 (TARGET_CPP_CPU_SPECS): Set -D__tune_athlon__ for Athlon.
1130
1131 1999-12-09 Andreas Jaeger <aj@suse.de>
1132
1133 * loop.c (record_biv): Declare parameter as int.
1134
1135 * config/i386/i386-protos.h: Declare long_memory_operand.
1136
1137 1999-12-09 Mark Mitchell <mark@codesourcery.com>
1138
1139 * tree.c (copy_node): Do zero the TREE_CHAIN, even for an
1140 EXPR_WITH_FILE_LOCATION.
1141
1142 Thu Dec 9 11:36:24 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1143
1144 * i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand
1145 in expander.
1146
1147 * flow.c (recompute_reg_usage): Use basic block info to get loop_depth.
1148
1149 * combine.c (try_combine, distribute_notes): Remove REG_N_REFS
1150 updating code.
1151
1152 1999-12-09 Jakub Jelinek <jakub@redhat.com>
1153
1154 * config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs
1155 default on linux64 again.
1156 * config/sparc/t-linux64: Add mno-app-regs and non-medlow code
1157 models for multilibing.
1158 * genmultilib: Accept | as alternative separator within a set in
1159 MULTILIB_OPTIONS.
1160
1161 * config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define.
1162
1163 * calls.c (precompute_arguments): Make sure initial_value contains
1164 value pseudo which CSE expects.
1165 * cse.c (struct set): New entry orig_src.
1166 (cse_insn): Set it early on entry, use it for libcall EQUIV note
1167 replacement.
1168
1169 Wed Dec 8 22:24:15 1999 Richard Henderson <rth@cygnus.com>
1170
1171 * flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns.
1172
1173 1999-12-08 Bernd Schmidt <bernds@cygnus.co.uk>
1174
1175 * loop.c (insert_loop_mem): Don't hoist volatile mems out of loops.
1176
1177 1999-12-08 Jakub Jelinek <jakub@redhat.com>
1178
1179 * config/sparc/sparc.c (ultra_cmove_results_ready_p,
1180 ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix.
1181
1182 * config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits
1183 if TARGET_ARCH32.
1184
1185 * longlong.h: Merge in changes from glibc.
1186 Also don't clobber %g2 register in 32bit SPARC assembly, so that
1187 -mno-app-regs libgcc can be compiled.
1188 * libgcc2.c: Add defines so that the updated longlong.h
1189 can be used in libgcc2.a. Also, make sure on most architectures
1190 (at least on all which have optimized code in longlong.h defined
1191 for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests.
1192
1193 1999-12-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
1194
1195 * config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that
1196 `-m EMULATION' is added to non-default LINK_ARCH_SPECs.
1197 * configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker
1198 is GNU ld.
1199 * configure: Rebuilt.
1200
1201 Wed Dec 8 03:45:40 1999 Richard Henderson <rth@cygnus.com>
1202
1203 * alpha.c (secondary_reload_class): For !BWX, sub-simode
1204 outputs require a register.
1205
1206 1999-12-08 Brendan Kehoe <brendan@cygnus.com>
1207
1208 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi
1209 _df_to_usi. Required by some targets, so US_SOFTWARE_GOFAST calls to
1210 functions like dptoul will be resolved.
1211 (libgcc2.a): Make sure that the object files from DPBIT are named
1212 differently (prefix `_dp') from those that would be coming from
1213 FPBIT.
1214
1215 1999-12-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br>, Jakub Jelinek <jakub@redhat.com>
1216
1217 * configure.in: When target is sparc* and tm_file contains 64,
1218 test for 64bit support in assembler. If not supported, remove
1219 sparc/t-sol2-64 from target-dependent Makefile fragments.
1220 (AS_SPARC64_FLAG): Define to the assembler flag for 64bit.
1221 (HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags.
1222 (HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache.
1223 * acconfig.h (AS_SPARC64_FLAG): Added.
1224 * configure, config.in: Rebuilt.
1225 * config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit
1226 support. Use AS_SPARC64_FLAG.
1227
1228 1999-12-07 Jakub Jelinek <jakub@redhat.com>
1229
1230 * config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers
1231 suitable for holding OFmode values so that gcc works with complex
1232 quad long doubles.
1233 (hard_64bit_mode_classes): Likewise.
1234
1235 * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern
1236 so that it is actually matched.
1237 (sethi_di_medlow): Likewise.
1238
1239 * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L
1240 as legitimate constant if -mvis.
1241 * config/sparc/sparc.md (movtf): Likewise.
1242 (clear_sf): Use const_double_operand.
1243 (clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns.
1244
1245 * config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function.
1246 * config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype.
1247 * config/sparc/sparc.h (*_LIBCALL): Only use for _Q_*
1248 routines, _Qp_* cannot be handled like that now.
1249 (INIT_TARGET_OPTABS): Likewise.
1250 * config/sparc/sparc.md (cmptf): Accept soft float ARCH64.
1251 (seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call
1252 sparc_emit_float_lib_cmp if ARCH64 and soft float.
1253 (extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2,
1254 floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3,
1255 divtf3, sqrttf3): New expanders.
1256 (extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq,
1257 floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq,
1258 addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from
1259 non-_hq patterns.
1260
1261 * configure.in (sparc64-*-linux*): Use posix threads if enabled.
1262 * configure: Rebuilt.
1263 * config/sparc/linux64.h: Default to -mcpu=ultrasparc if no
1264 -mcpu is given and we're doing 64bit compiles.
1265
1266 Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com>
1267
1268 * loop.h (struct induction): Add multi_insn_incr.
1269 * loop.c (basic_induction_var): New multi_insn_incr argument.
1270 Set it if we search back through previous insns for the biv.
1271 (record_biv): New multi_insn_incr argument; fill in struct induction.
1272 (strength_reduce): Discard an iv with multiple bivs, any of
1273 which require multiple insns to increment.
1274
1275 1999-12-07 Martin v. Löwis <loewis@informatik.hu-berlin.de>
1276
1277 * invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
1278 documentation.
1279
1280 1999-12-06 David S. Miller <davem@redhat.com>
1281
1282 * combine.c (check_promoted_subreg): Do not conditionalize this upon
1283 PROMOTE_FUNCTION_RETURN.
1284
1285 Mon Dec 6 15:12:14 1999 Jim Wilson <wilson@cygnus.com>
1286
1287 * regmove.c (optimize_reg_copy_1): If no REG_DEAD note, check for
1288 and handle REG_UNUSED note on insn.
1289
1290 * combine.c (force_to_mode, case LSHIFTRT): New local inner_mask. Set
1291 inner_mask instead of mask.
1292
1293 1999-12-06 Brendan Kehoe <brendan@cygnus.com>
1294
1295 * dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
1296 zero if there was an error.
1297
1298 1999-12-06 Jakub Jelinek <jakub@redhat.com>
1299
1300 * config/sparc/sparc.md (return_losum_di): Fix typo in asm
1301 output string.
1302
1303 * longlong.h: Fix clobbers in SPARC asm statements.
1304
1305 * config/sparc/sparc.c (input_operand): Allow HImode and QImode
1306 valid sethi operations when TARGET_ARCH64.
1307
1308 * calls.c (save_fixed_argument_area): If save_mode is BLKmode,
1309 always use move_by_pieces to avoid infinite recursion.
1310 (restore_fixed_argument_area): Likewise.
1311
1312 * combine.c (check_promoted_subreg, record_promoted_value): New
1313 functions.
1314 (combine_instructions): Use them to retain nonzero and sign bit
1315 information after SUBREGs are eliminated by optimizations in
1316 this pass if PROMOTE_FUNCTION_RETURN.
1317
1318 * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document
1319 .register declaration. Don't use variables with __ prefixes.
1320
1321 Mon Dec 6 12:24:52 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1322
1323 * fold-const.c (optimize_bit_field_compare): Only use one mode
1324 for both RHS and LHS in non-constant case.
1325
1326 1999-12-06 Nathan Sidwell <nathan@acm.org>
1327
1328 * frame.c (start_fde_sort): Only allocate erratic array, if
1329 linear one was allocated. Return allocated flag.
1330 (fde_insert): Only insert, if there's a valid array.
1331 (fde_end_sort): Split, sort and merge if linear and erratic
1332 arrays exist, else just sort linear one.
1333 (search_fdes): New function. Linear search through original fde
1334 structure.
1335 (frame_init): Permit multiple initializations. Cope with
1336 memory shortages.
1337 (find_fde): Fallback on linear search, if failed to sort array.
1338 (__deregister_frame_info): Only free sorted array, if we
1339 allocated it.
1340
1341 1999-12-06 Jakub Jelinek <jakub@redhat.com>
1342
1343 * config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
1344
1345 1999-12-05 Jakub Jelinek <jakub@redhat.com>
1346
1347 * config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
1348
1349 1999-12-05 Mark Mitchell <mark@codesourcery.com>
1350
1351 * tree.h (special_function_p): Declare.
1352 * calls.c (special_function_p): Make it global. Don't take `name'
1353 as a parameter. Fix typo in 1999-11-28 change.
1354 (expand_cal): Adjust.
1355
1356 1999-12-04 Mark Mitchell <mark@codesourcery.com>
1357
1358 * tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
1359 * tree.h (EXPR_WFL_FILENAME): Define in terms of
1360 EXPR_WFL_FILENAME_NODE.
1361 (EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
1362 the TREE_CHAIN.
1363 * print-tree.c (print_note): Print TREE_PRIVATE and
1364 TREE_PROTECTED.
1365
1366 * dwarf2out.c (add_abstract_origin_attribute): Don't abort when
1367 the original die cannot be found.
1368
1369 * varray.h (varray_head_tag): Add elements_used.
1370 (VARRAY_PUSH): New macro.
1371 (VARRAY_POP): Likewise.
1372 (VARRAY_TOP): Likewise.
1373 Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
1374 types.
1375 * varray.c (varray_init): Initialize elements_used.
1376 * Makefile.in (BASIC_BLOCK_H): Add varray.h.
1377 (INTEGRATE_H): New variable.
1378 (integrate.o): Depend on INTEGRATE_H.
1379 (unroll.o): Likewise.
1380
1381 * function.h (insert_block_after_note): Declare.
1382 * function.c (insert_block_after_note): Split out from ...
1383 (retrofit_block): ... here.
1384
1385 * stmt.c (expand_fixup): Fix typo in comment.
1386
1387 Sat Dec 4 14:13:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1388
1389 * regmove.c (copy_src_to_dest): Remove loop_depth parameter.
1390 (optimize_reg_copy_1): Remove REG_N_REFS updating code.
1391 (optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise.
1392 (regmove_optimize, fixup_match_1): Likewise.
1393
1394 1999-12-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1395
1396 * flow.c (flow_loops_dump): Add missing argument when calling
1397 flow_loop_nested_p.
1398
1399 1999-12-04 Geoffrey Keating <geoffk@cygnus.com>
1400 Greg McGary <gkm@gnu.org>
1401
1402 * c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
1403 (init_attributes): Add A_NO_LIMIT_STACK.
1404 (decl_attributes): Handle A_NO_LIMIT_STACK.
1405 * c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
1406 * explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
1407 Handle stack bounds checking.
1408 * flags.h (flag_stack_check): Use the word 'probe' rather than
1409 'check', because the flag doesn't actually cause any checking to
1410 be done.
1411 * function.c (expand_function_start): Set
1412 current_function_limit_stack.
1413 * function.h (struct function): Add limit_stack.
1414 (current_function_limit_stack): Define.
1415 * invoke.texi (Code Gen Options): Document new options.
1416 * rtl.h: Declare stack_limit_rtx.
1417 * toplev.c (stack_limit_rtx): New variable.
1418 (decode_f_option): Handle new options -fstack-limit-register=REG,
1419 -fstack-limit-symbol=IDENT, -fno-stack-limit.
1420 (main): Add stack_limit_rtx as GC root.
1421 * tree.h (DECL_NO_LIMIT_STACK): New macro.
1422 (struct tree_decl): New member no_limit_stack.
1423
1424 * config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
1425 stack_limit_rtx.
1426 * config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
1427 (conditional_trap+1): Get new mnemonic correct.
1428 (conditional_trap+2): New pattern for DImode traps.
1429
1430 * config/m68k/m68k.c (output_function_prologue): Handle
1431 stack_limit_rtx.
1432 * config/m68k/m68k.md (trap): New insn.
1433 (conditional_trap): New insn.
1434 * md.texi (Standard Names): Document `trap' and
1435 `conditional_trap'.
1436 * optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
1437 so a cc0 setter doesn't get emitted at some random place in the
1438 function.
1439
1440 * config/i960/i960.md (trap): New insn.
1441 (conditional_trap): New expander.
1442 (conditional_trap+1, conditional_trap+2): New insns for signed
1443 and unsigned cases.
1444 * config/i960/i960.c (i960_function_prologue): Use
1445 STARTING_FRAME_OFFSET. Handle stack_limit_rtx.
1446
1447 Thu Dec 2 21:22:45 1999 Greg McGary <gkm@gnu.org>
1448 Geoffrey Keating <geoffk@cygnus.com>
1449
1450 * flags.h (warn_padded, warn_packed): Add global var decls.
1451 * toplev.c (warn_padded, warn_packed): Add global var defns.
1452 (W_options): Add warnings `-Wpacked' and `-Wpadded'.
1453 * stor-layout.c (layout_record): Add local variable `type'
1454 to hold often-used TREE_TYPE (field). Add local variable
1455 `unpacked_align' to hold alignment that would be in force
1456 if no `packed' attribute were present. Warn if `packed' attribute
1457 is unnecessary, or even harmful. Warn when gcc inserts padding
1458 to satisfy alignment requirements of members. Use NULL_TREE
1459 when checking whether var_size is set.
1460 * invoke.texi: Document new flags.
1461
1462 1999-12-03 Nathan Sidwell <nathan@acm.org>
1463
1464 * frame.c (fde_split): Reimplement to avoid variable sized array.
1465
1466 Thu Dec 2 18:59:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1467
1468 * combine.c (try_combine): Before fixing up LOG_LINKS for the
1469 i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.
1470
1471 1999-12-02 Gavin Romig-Koch <gavin@cygnus.com>
1472
1473 * invoke.texi: Document the mips option -mno-crt0
1474
1475 1999-12-02 Mike Karr <mkarr@mathworks.com>
1476
1477 * cccp.c (argdata): Added free_ptr member.
1478 (macroexpand): Initialize free_ptr of each argument. When an
1479 argument's buffers are freed, if the argument's free_ptr corresponds
1480 to a buffer on the input stack, then return the free_ptr to that stack
1481 frame, otherwise, free it.
1482 (macarg): If an argument begins and ends on the same input stack level,
1483 then transfer the free_ptr of that buffer to the argument in case
1484 the stack is popped during the processing of a subsequent argument.
1485
1486 1999-12-02 Bernd Schmidt <bernds@cygnus.co.uk>
1487
1488 * loop.c (note_reg_stored): New function.
1489 (struct note_reg_stored_arg): New structure.
1490 (try_copy_prop): Change to be more conservative; only replace within
1491 one extended basic block and stop replacing if a store to the
1492 replacement reg is seen.
1493
1494 1999-12-02 Nick Clifton <nickc@cygnus.com>
1495
1496 * config/fp-bit.c: Initialise all fields of the NAN
1497 constants.
1498
1499 * c-lex.c (check_newline): Pass pragma_getc and pragma_ungetc
1500 to HANDLE_PRAGMA.
1501
1502 Wed Dec 1 18:16:38 1999 Jan Hubicka <hubicka@freesoft.cz>
1503
1504 * i386.md (extend?f?f2): Force the input into a register, not
1505 the output.
1506
1507 1999-12-01 Jakub Jelinek <jakub@redhat.com>
1508
1509 * config/sparc/sparc.md (movsf_const_intreg): Add constraints for
1510 regclass' sake.
1511 (movdf_const_intreg_sp32): Likewise. Prefer the memory load
1512 alternative because setting up 64bit constant is usually costly,
1513 especially when reload is in progress or completed.
1514 (movdf_const_intreg_sp64): Likewise.
1515 (movdf_const_intreg split): Fix building up constants when
1516 HOST_BITS_PER_WIDE_INT is 64 yet long is 32bit.
1517
1518 Wed Dec 1 16:51:22 1999 Jeffrey A Law (law@cygnus.com)
1519
1520 * combine.c (if_then_else_cond): Use const_true_rtx instead of
1521 const1_rtx for return values in EQ/NE comparison against (const_int 0)
1522 case.
1523
1524 * mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers.
1525 (asm_file_start): Emit .am33 into assembly file when compiling for
1526 the AM33.
1527 (print_operand_address): Handle POST_INC addresses.
1528 (can_use_return_insn, initial_offset): Check AM33 registers too.
1529 (expand_prologue): Check & save AM33 registers too.
1530 (expand_epilogue): Similarly.
1531 (secondary_reload_class): Handle AM33 specific secondary reloads.
1532 (output_tst): Emit efficient code for the AM33 too.
1533 * mn10300.h (CPP_SPEC, TARGET_AM33): Define.
1534 (TARGET_SWITCHES): Add -mam33 switch.
1535 (FIRST_PSEUDO_REGISTER): Handle new AM33 registers.
1536 (FIXED_REGISTERS, CALL_USED_REGISTERS): Likewise.
1537 (REG_ALLOC_ORDER, CONDITIONAL_REGISTER_USAGE): Likewise.
1538 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P): Likewise.
1539 (enum reg_class, REG_CLASS_NAMES): Likewise.
1540 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
1541 (INDEX_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
1542 (REGNO_OK_FOR_INDEX_P, PREFERRED_RELOAD_CLASS): Likewise.
1543 (PREFERRED_OUTPUT_RELOAD_CLASS, LIMIT_RELOAD_CLASS): Likewise.
1544 (REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
1545 (HAVE_POST_INCREMENT): Define.
1546 (GO_IF_LEGITIMATE_ADDRESS): Allow POST_INC addresses for the AM33.
1547 (GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is a mode dependent address.
1548 * mn10300.md (movqi, movhi, addsi, subsi): Add AM33 variants.
1549 (mulsi, andsi, iorsi, xorsi, notsi): Likewise.
1550 (ashiftsi, lshiftrtsi, ashiftrtsi): Likewise.
1551 (zero_extend to SI from QI/HI): Likewise.
1552 (sign_extend to SI from QI/HI): Likewise.
1553 (mulsidi3, umulsidi3): New patterns for the AM33.
1554 (tstsi with zero extension from QI/HI): Add AM33 variants.
1555 (movsi, movsf, movdi, movdf): Generate efficient code for the AM33 too.
1556 (return_internal_regs, store_movm): Handle new AM33 registers.
1557 * t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Define.
1558 (LIBGCC, INSTALL_LIBGCC): Likewise.
1559 * invoke.texi: Document new flags.
1560
1561 Fri Nov 26 10:59:12 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
1562
1563 * i386.md (addsi3_cc): Add "binary_operator_ok" to the condition.
1564 (addsi3_carry): Likewise.
1565 (sbbsi3_cc): Add "binary_operator_ok" to the condition.
1566 (sbbsi3_carry): Likewise.
1567 (mulsi3): Rewrite to expander, ensure that only one operand is memory.
1568 (mulhi3): Likewise.
1569 (test?i_1): Ensure that only one operand is memory.
1570 (conditional move patterns): likewise.
1571 (shift and rotate patterns): Rewrite to expander, add
1572 "binary_operator_ok" to the condition.
1573
1574 * i386.md (QImode patterns): Remove '*' before the 'r' constraints.
1575 * i386.h (procesor_costs): Add movzbl_load field.
1576 (HARD_REGNO_MODE_OK): Accept QImode on non PARTIAL_REGISTER_STALL in
1577 non-Q registers, accept DImode registers anywhere.
1578 (Q_CLASS_P): New.
1579 (MEMORY_MOVE_COST): Calculate QImode moves correctly.
1580 * i386.c (*_cost): Set value for movxbl_load field.
1581
1582 * (addsi): New add to lea splitter.
1583 (ashlsi): Likewise.
1584 (lea to add/shift peep2): New.
1585
1586 1999-12-01 Mark Salter <msalter@cygnus.com>
1587
1588 * config/mips/elf.h (STARTFILE_SPEC): Add no-crt0.
1589 * config/mips/elf64.h (STARTFILE_SPEC): Add no-crt0.
1590 * config/mips/mips.h (TARGET_SWITCHES): Add no-crt0.
1591
1592 Tue Nov 30 15:20:52 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1593
1594 * i386.c (ix86_expand_move): Never add clobbers to move patterns.
1595 * i386.md (movsi_xor): New.
1596 (movsi_or): New.
1597 (movsi_1, movhi_1, movqi_1): Remove.
1598 (movsi_2): Rename to movsi_1.
1599 (movhi_2): Rename to movhi_1.
1600 (movqi_2): Rename to movqi_1.
1601 (movdi_1): Remove; remove splitter.
1602 (movdi_2): Rename to movdi_1.
1603 (divmodsi4 splitter): Do not emit clobbers for move patterns.
1604 (long move peep2): Do not create QI or HI mode mov0s
1605 (mov -1,reg -> or peep2s): Enable again, rewrite to single peephole.
1606
1607 * i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns,
1608 rewrite splitters.
1609
1610 * i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
1611 (abs?f2_if): Likewise.
1612
1613 1999-11-30 Alex Samuel <samuel@codesourcery.com>
1614
1615 * ggc.h (ggc_test_and_set_mark): New macro.
1616 (ggc_mark_rtx): Use ggc_test_and_set_mark.
1617 (ggc_mark_tree): Likewise.
1618 (ggc_mark_rtvec): Likewise.
1619 * ggc-common.c (ggc_mark_rtx_children): Reduce recursion.
1620
1621 1999-11-30 Jason Merrill <jason@casey.cygnus.com>
1622
1623 * dwarf2out.c (scope_die_for): Only handle types. Only search for
1624 containing types.
1625 (decl_scope_table): Just an array of trees now.
1626 (push_decl_scope): Simplify.
1627 (dwarf2out_init): Adjust.
1628 (local_scope_p): New fn.
1629 (gen_inlined_enumeration_type_die): Don't call scope_die_for.
1630 (gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise.
1631 (gen_typedef_die): Likewise.
1632 (gen_lexical_block_die): Don't call push/pop_decl_scope.
1633 (gen_inlined_subroutine_die): Likewise.
1634 (gen_abstract_function): Set current_function_decl temporarily.
1635 (gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration.
1636 Handle block extern declarations. Don't call push/pop_decl_scope.
1637 (gen_decl_die): Fix logic for block externs.
1638
1639 1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1640
1641 * calls.c (special_function_p): Remove `realloc' and add `strdup'
1642 to the list of functions which have attribute malloc by default.
1643
1644 1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1645
1646 * c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
1647 integer constant does not match the traditional type, limit the
1648 warnings to cases where the base of the type is ten.
1649
1650 * invoke.texi (-Wtraditional): Document it.
1651
1652 Tue Nov 30 15:18:35 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1653
1654 * combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
1655 * rs6000.md: Only access a CONST_INT with INTVAL
1656
1657 Tue Nov 30 14:21:00 1999 Richard Henderson <rth@cygnus.com>
1658
1659 * lcm.c (compute_laterin): Cast bb->aux to size_t not int.
1660 (compute_nearerout): Likewise.
1661 * ggc-page.c (ggc_page_print_statistics): Explicitly cast
1662 size_t to unsigned long for formatting.
1663
1664 1999-11-30 Jakub Jelinek <jakub@redhat.com>
1665
1666 * config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
1667 Allow the user to override call-used/fixed state of %g2-5
1668 registers from the command line (with the exception of %g4 for
1669 embedded model).
1670 (REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
1671 there is a higher chance of having a leaf function.
1672 (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
1673 for ARCH64 which has %ccr register.
1674 * config/sparc/sparc.md (return_losum_si, return_losum_di): New
1675 patterns.
1676 * config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
1677 insn accept into delay slot any insn which does not use %[ol]
1678 registers. Accept some LO_SUM and shift left by 1 for the normal
1679 restore case.
1680 (output_function_epilogue): Likewise.
1681 (epilogue_renumber): Added argument which inhibits any renumbering
1682 and just tests if the rtx does not use any %[ol] registers.
1683 (output_return): Reflect above change.
1684
1685 1999-11-30 Jakub Jelinek <jakub@redhat.com>
1686
1687 * config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg
1688 aggregate passing for sizes <= 16 bytes.
1689
1690 1999-11-30 Bernd Schmidt <bernds@cygnus.co.uk>
1691
1692 * cse.c (FIXED_REGNO_P): Delete tests for OVERLAPPING_REGNO_P.
1693 * global.c (global_alloc): Delete [OVERLAPPING_REGNO_P] code.
1694 * reload.c (find_dummy_reload): Likewise.
1695 (find_equiv_reg): Likewise; also for INSN_CLOBBERS_REGNO_P.
1696 * reload1.c (reload_as_needed): Likewise.
1697 * stupid.c (stupid_find_reg): Likewise.
1698 * tm.texi (Obsolete Register Macros): Delete section.
1699 * gmicro.h: Remove all traces of the two macros.
1700 * i386.h: Likewise.
1701 * m88k.h: Likewise.
1702 * mips.h: Likewise.
1703
1704 1999-11-30 Brendan Kehoe <brendan@cygnus.com>
1705
1706 * sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define.
1707 (TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags.
1708 (ROUND_TYPE_ALIGN): Use better value if -mfaster-structs.
1709 * sparc.md (sparclite86x_branch, sparclite86x_shift): New function
1710 units for the sparclite86x chip.
1711 (flush): Revert October 14th change; add SImode specifically.
1712 (flushdi): Copy of flush, but DImode, to avoid genrecog warnings.
1713 * invoke.texi: Document it.
1714
1715 Tue Nov 30 14:58:14 1999 Nick Clifton <nickc@cygnus.com>
1716
1717 * config/mn10200/mn10200.h (PREDICATE_CODES): Add
1718 psimode_truncation_operand.
1719
1720 * config/mn10200/mn10200.c (psimode_truncation_operand): New
1721 function. Return true if the operand is either a MEM valid
1722 for a PSImode address or not a MEM at all.
1723
1724 * config/mn10200/mn10200.md (truncsipsi2): Use
1725 psimode_truncation_operand.
1726
1727 1999-11-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1728
1729 * flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
1730 (flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise.
1731 (flow_loop_exits_find, flow_loop_nodes_find): Likewise.
1732 (flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise.
1733 (flow_loop_tree_node_add, flow_loops_tree_build): Likewise.
1734 (flow_loop_level_compute, low_loops_level_compute): Likewise.
1735 (flow_loops_find, flow_loop_outside_edge_p): Likewise.
1736 * basic-block.h: Protect from multiple inclusion.
1737 (flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes.
1738 (struct loops, struct loop): Define structures.
1739 * sbitmap.c (sbitmap_a_subset_b_p): New function.
1740 * sbitmap.h: Protect from multiple inclusion.
1741 (sbitmap_a_subset_b_p): Add prototype.
1742 * Makefile.in (LOOP_H): New macro.
1743 (stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H.
1744
1745 Tue Nov 30 01:34:47 1999 Philippe De Muyter <phdm@macqel.be>
1746
1747 * cppinit.c (CAT): The argument list of this macro may not contain
1748 spaces !
1749
1750 1999-11-29 David S. Miller <davem@redhat.com>
1751
1752 Move quantity tables and register equivalence chains into
1753 per-qty and per-register structure arrays respectively.
1754 * cse.c (qty_first_reg, qty_last_reg, qty_mode, qty_const,
1755 qty_const_insn, qty_comparison_code, qty_comparison_const,
1756 qty_comparison_qty): Delete, replace with...
1757 (qty_table): this structure table.
1758 (reg_next_eqv, reg_prev_eqv): Delete, replace with...
1759 (reg_eqv_table): this structure table.
1760 (make_new_qty): Add argument MODE. Caller updated.
1761 Update to use qty_table and reg_eqv_table.
1762 (make_regs_eqv, delete_reg_equiv, insert_regs,
1763 insert, exp_equiv_p, cse_rtx_varies_p, canon_reg,
1764 fold_rtx, equiv_constant, record_jump_cond, cse_insn,
1765 cse_process_notes, cse_main, cse_basic_block): Likewise.
1766
1767 Mon Nov 29 16:56:42 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1768
1769 * fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse
1770 operation if C is negative.
1771 (extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects.
1772 (extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive
1773 law for some divisions if constant is negative and change other
1774 divisions to the opposite rounding.
1775
1776 * expr.c (store_constructor_field): If bit position is not multiple
1777 of alignment of TARGET's mode, use BLKmode.
1778
1779 * expr.c (expand_expr_unaligned): Add more code from full case
1780 that is needed when OP0 is in a register.
1781
1782 Mon Nov 29 18:09:39 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1783
1784 * dwarfout.c (field_byte_offset): Size can be zero if there was
1785 an error.
1786
1787 1999-11-29 Bernd Schmidt <bernds@cygnus.co.uk>
1788
1789 * fold-const.c (split_tree): Delete unused vars ORIG_IN and TYPE.
1790 (associate_trees): Delete unused var TEM.
1791 (extract_muldiv): Delete unused var CANCEL_P.
1792
1793 * fold-const.c [TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT]
1794 (target_isinf, target_isnan, target_negative): Add return types to
1795 function definitions.
1796
1797 1999-11-29 Bruce Korb <autogen@linuxbox.com>
1798
1799 * fixinc/fixincl.c(process): don't skip GLIBC files any more.
1800 * fixinc/hackshell.tpl: ditto
1801 * fixinc/fixtests.c(double_slash_test): more C++ header testing
1802 * fixinc/inclhack.def(AAB_fd_zero_glibc*): corrected spelling of mach
1803
1804 1999-11-29 Bernd Schmidt <bernds@cygnus.co.uk>
1805
1806 * reload.c (push_reload): When looking for a register to put into
1807 reg_rtx, make sure all hard regs in a multi-reg register are in the
1808 right class and nonfixed.
1809
1810 * haifa-sched.c (reg_last_uses, reg_last_sets, reg_last_clobbers,
1811 pending_read_insns, pending_write_insns, pending_read_mems,
1812 pending_write_mems, pending_list_length, last_pending_memory_flush,
1813 last_function_call, sched_before_next_call): Move static variables
1814 into a structure.
1815 (bb_ prefixed versions): Replace with single array bb_deps.
1816 (struct deps): New structure.
1817 (add_insn_mem_dependence, flush_pending_lists, sched_analyze_1,
1818 sched_analyze_2, sched_analyze_insn, sched_analyze): Accept new
1819 argument of type "struct deps *"; use that instead of global
1820 variables. All callers changed.
1821 (init_rgn_data_dependencies): Delete function.
1822 (init_rtx_vector): Delete function.
1823 (init_deps): New function.
1824
1825 (free_pending_lists): Simplify, we always use the bb_deps array even
1826 if only one basic block.
1827 (compute_block_backward_dependences): Likewise.
1828 (schedule_region): Likewise.
1829
1830 (propagate_deps): New function, broken out of
1831 compute_block_backward_dependences.
1832 (compute_block_backward_dependences): Use it.
1833
1834 * alpha.md: Delete useless patterns that tried to work around
1835 register elimination problems.
1836
1837 * unroll.c (loop_iterations): Don't abort if iteration variable
1838 was made by loop.
1839
1840 From Joern Rennecke:
1841 * reload1.c (reloads_conflict): Reverse test comparing operand
1842 numbers when testing for conflict between output/outaddr reloads.
1843
1844 1999-11-29 David S. Miller <davem@redhat.com>
1845
1846 * config/sparc/sparc.c (init_cumulative_args): Fix type of third
1847 arg.
1848 * config/sparc/sparc-protos.h: Update proto, move into RTX_CODE.
1849
1850 1999-11-28 Robert Lipe <robertl@cygnus.com>
1851
1852 * i386/sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn
1853 table from .fini into .dtor.
1854
1855 1999-11-28 Anthony Green <green@cygnus.com>
1856
1857 * tree.h (struct tree_decl): Add malloc_flag.
1858 (DECL_IS_MALLOC): Define.
1859 * c-common.c (attrs): Add A_MALLOC attribute.
1860 (init_attributes): Add this attribute to the table.
1861 (decl_attributes): Handle malloc attribute.
1862 * calls.c (special_function_p): Check for the malloc attribute.
1863 * extend.texi (Function Attributes): Document malloc attribute.
1864
1865 Sun Nov 28 13:21:00 1999 Jeffrey A Law (law@cygnus.com)
1866
1867 * pa.md (reload shift-add patterns): Remove.
1868
1869 1999-11-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1870
1871 * reorg.c (dbr_schedule) Print more statistics. Corrected
1872 problem when printing info when 3 delay slots are filled.
1873
1874 1999-11-28 Jakub Jelinek <jakub@redhat.com>
1875
1876 * combine.c (setup_incoming_promotions): Pass an outgoing
1877 regno to FUNCTION_ARG_REGNO_P which it expects.
1878
1879 1999-11-28 Andreas Jaeger <aj@suse.de>
1880
1881 * mips/linux.h (CPP_PREDEFINES): Undefine before redefining.
1882
1883 Sun Nov 28 00:48:15 1999 Philippe De Muyter <phdm@macqel.be>
1884
1885 * cccp.c (do_include): Avoid initialization of automatic variable.
1886
1887 * integrate.c (mark_stores): Function definition made void, to match
1888 previous declaration.
1889 * regclass.c (dump_regclass): Ditto.
1890 * Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'.
1891
1892 Sat Nov 27 08:38:26 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1893
1894 * expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
1895 known to be multiple of divisor.
1896
1897 * expr.c (store_constructor): Don't clobber TARGET if CLEARED.
1898
1899 * combine.c (try_combine): Add code to try to merge a set of a
1900 two-word pseudo to a constant with a setting of one of those words
1901 to a constant.
1902
1903 * fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
1904 (split_tree): Completely rework to make more general.
1905 (make_range, fold): Call negate_expr.
1906 (fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
1907 (fold, associate): Call new split_tree and associate_trees.
1908 (fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.
1909
1910 1999-11-26 Bernd Schmidt <bernds@cygnus.co.uk>
1911
1912 * loop.c (try_copy_prop): Avoid GNU C extension.
1913
1914 1999-11-25 Mark Mitchell <mark@codesourcery.com>
1915
1916 * except.c (init_eh_for_function): Still zero eh_return_context,
1917 eh_return_stack_adjust, and eh_return_handler.
1918
1919 * except.h (eh_status): Adjust documentation for x_protect_list.
1920 (begin_protect_partials): New function.
1921 * except.c (enqueue_eh_entry): Fix formatting.
1922 (get_first_handler): Add consistency check.
1923 (add_partial_entry): Adjust usage of protect_list.
1924 (emit_cleanup_handler): Save and restore ehqueue.
1925 (expand_start_all_catch): Add comment.
1926 (begin_protect_partials): New function.
1927 (end_protect_partials): Adjust usage of protect_list.
1928 (init_eh_for_function): Use xcalloc.
1929
1930 1999-11-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1931
1932 * c-common.c (check_format_info): Don't call a variadic function
1933 with a non-literal format string.
1934
1935 * c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.
1936
1937 * c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
1938 pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
1939 Likewise.
1940
1941 * cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
1942 Likewise.
1943
1944 * collect2.c (collect_wait): Likewise.
1945
1946 * dbxout.c (dbxout_type): Likewise.
1947
1948 * gcc.c (do_spec_1): Likewise.
1949
1950 * genemit.c (gen_insn, gen_expand): Likewise.
1951
1952 * genrecog.c (write_switch, write_subroutine): Likewise.
1953
1954 * mips-tfile.c (catch_signal, botch): Likewise.
1955
1956 * print-rtl.c (print_rtx): Likewise.
1957
1958 * toplev.c (default_print_error_function, report_error_function,
1959 _fatal_insn): Likewise.
1960
1961 1999-11-25 Mark Mitchell <mark@codesourcery.com>
1962
1963 * tree.c (unsave_expr_now): Handle NULL_TREE as input.
1964
1965 Wed Nov 24 17:08:09 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1966
1967 * reg-stack.c (subst_stack_regs_pat): Swap operands in commutative
1968 operations when needed.
1969 * i386.md (fop_?f_comm): New.
1970 (fop_?f_1): Do not accept commutative operands.
1971
1972 1999-11-25 Andreas Jaeger <aj@suse.de>
1973
1974 * config/mips/mips.md (casesi_internal): Add missing brace.
1975
1976 1999-11-25 Jason Merrill <jason@casey.cygnus.com>
1977
1978 * dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
1979 (splice_child_die): Handle moving a child DIE from the declaration
1980 DIE of a class to its specification.
1981 (gen_struct_or_union_type_die): Use 'complete' consistently.
1982 (gen_decl_die): Generate the virtual context DIE first.
1983 Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
1984
1985 1999-11-24 Gavin Romig-Koch <gavin@cygnus.com>
1986
1987 * config/mips/mips.md (call_value_multiple_interanal1): New.
1988
1989 1999-11-24 Jason Merrill <jason@casey.cygnus.com>
1990
1991 * dwarf2out.c (free_AT, free_die): New fns.
1992 (remove_children): Call them.
1993 (output_line_info): Disable removal of duplicate notes.
1994
1995 Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
1996 * dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
1997 means pretend the type isn't defined.
1998 Don't defer emitting types.
1999 (gen_type_die_for_member): New fn.
2000 (gen_decl_die): Call it.
2001 (splice_child_die): New fn.
2002 (gen_member_die): Call it rather than generate duplicate dies.
2003
2004 Defer emitting information for the abstract instance of an inline
2005 until we either inline it or emit an out-of-line copy.
2006 * dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
2007 from output_inline_function if DECL_ABSTRACT is also set.
2008 (block_ultimate_origin): Likewise.
2009 (gen_abstract_function): New fn.
2010 (gen_decl_die, gen_inlined_subroutine_die): Call it.
2011 (gen_subprogram_die): An abstract instance is not a declaration
2012 just because it doesn't match current_function_decl. Don't abort
2013 because DECL_DEFER_OUTPUT isn't set. Do abort if a declaration
2014 has an abstract origin.
2015 * toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
2016 abstract instance here.
2017
2018 Wed Nov 24 18:39:18 1999 Andrew Haley <aph@cygnus.com>
2019
2020 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case
2021 where we need to reload fpul from a system register.
2022
2023 1999-11-24 Andreas Jaeger <aj@suse.de>
2024
2025 * config/mips/linux.h (CPP_PREDEFINES): Added.
2026 (LINK_SPEC): Remove -Y since this is only needed on sparc.
2027
2028 1999-11-24 Andreas Jaeger <aj@suse.de>
2029
2030 * config/mips/linux.h (TARGET_VERSION): Added.
2031 (HANDLE_SYSV_PRAGMA): Added.
2032 (DEFAULT_VTABLE_THUNKS): Added.
2033
2034 Wed Nov 24 14:12:15 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
2035
2036 * local-alloc.c (qty): New structure and static variable.
2037 (qty_phys_reg): Remove, all references changed to qty.
2038 (qty_n_refs): Likewise.
2039 (qty_min_class): Likewise.
2040 (qty_birth): Likewise.
2041 (qty_death): Likewise.
2042 (qty_size): Likewise.
2043 (qty_mode): Likewise.
2044 (qty_n_calls_crossed): Likewise.
2045 (qty_alternate_class): Likewise.
2046 (qty_changes_size): Likewise.
2047 (qty_first_reg): Likewise.
2048 (alloc_qty): Rename variable QTY to QTYNO.
2049 (finf_free_reg): Likewise.
2050 (local_alloc): Allocate qty, do not allocate the removed variables.
2051
2052 Wed Nov 24 17:26:05 1999 Geoffrey Keating <geoffk@cygnus.com>
2053
2054 * config/mips/mips.h (ASM_SPEC): Don't pass -G to the assembler
2055 when -membedded-pic is passed.
2056
2057 * config/mips/mips.md (casesi): Handle 64-bit case too.
2058 (casesi_internal_di): New insn.
2059
2060 * config/mips/mips.c (embedded_pic_offset): Always make the
2061 embedded-pic subtractions relative to the name of the current
2062 function by use of the magic string "..CURRENT_FUNCTION".
2063 * config/mips/mips.h (ASM_OUTPUT_LABELREF): Make the magic happen.
2064
2065 1999-11-24 Geoffrey Keating <geoffk@cygnus.com>
2066
2067 * config/mips/mips.md (div_trap_normal): Don't ask for the REGNO
2068 of (const_int 0), when what we really care about is
2069 whether it's a zero constant anyway.
2070 (div_trap_mips16): Likewise.
2071
2072 1999-11-23 Mark Mitchell <mark@codesourcery.com>
2073
2074 * loop.c (loop_optimize): Always find_loop_tree_blocks and
2075 unroll_block_trees when generating debuggable code.
2076
2077 * tree.h (unsave_expr_1): New function.
2078 (lang_unsave): New variable.
2079 (get_callee_fndecl): New function.
2080 * tree.c (unsave_expr_now_r): New function.
2081 (lang_unsave): Define.
2082 (unsave_expr_1): Likewise.
2083 (unsave_expr_now_r): Split out from unsave_expr_now.
2084 (unsave_expr_now): Call lang_unsave if it is non-NULL. Otherwise,
2085 call unsave_expr_now_r.
2086 (get_callee_fndecl): Define.
2087
2088 * Makefile.in (gencheck): Don't depend on lang_tree_files.
2089 (gencheck.o): Do depend on lang_tree_files.
2090
2091 * integrate.h (copy_decl_for_inlining): New declaration.
2092 * integrate.c (copy_and_set_decl_abstract_origin): Remove.
2093 (copy_decl_for_inlining): New function.
2094 (integrate_parm_decls): Use it.
2095 (integrate_decl_tree): Likewise.
2096
2097 1999-11-23 Gavin Romig-Koch <gavin@cygnus.com>
2098
2099 * config/mips/mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split
2100 the second two from the first.
2101 (CONDITIONAL_REGISTER_USAGE): Use ISA_HAS_8CC rather than ISA_HAS_FP4.
2102 * config/mips/mips.md (movcc,reload_incc,reload_outcc,
2103 conditional move): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
2104 ISA_HAS_FP4.
2105 * config/mips/mips.c (mips_move_1word,gen_conditional_branch,
2106 override_options): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
2107 ISA_HAS_FP4.
2108
2109 Tue Nov 23 11:15:04 1999 Jeffrey A Law (law@cygnus.com)
2110
2111 * pa.md (call_internal_symref, call_value_internal_symref): No mode
2112 needed on the address operand.
2113 * pa.c (call_operand_address): Check for the correct mode.
2114
2115 1999-11-23 Bernd Schmidt <bernds@cygnus.co.uk>
2116
2117 * loop.c: Include "basic-block.h".
2118 (try_copy_prop, replace_loop_reg): New functions.
2119 (load_mems): Detect registers that just hold copies of the hoisted
2120 mem, and call try_copy_prop to eliminate them.
2121 * Makefile.in (loop.o): Update dependencies.
2122
2123 Tue Nov 23 01:03:29 1999 Hans-Peter Nilsson <hp@axis.com>
2124
2125 * Makefile.in (gencheck.o): Depend on gencheck.h.
2126 (insn-emit.o): Depend on flags.h, hard-reg-set.h and resource.h.
2127 (insn-peep.o): Depend on except.h and function.h.
2128 (insn-attrtab.o): Depend on RECOG_H.
2129 (insn-output.o): Depend on toplev.h and flags.h.
2130 (gengenrtl.o): Depend on real.h.
2131 (gen-protos.o): Depend on cpplib.h and cpphash.h.
2132 Unify all dependencies to be on RECOG_H rather than recog.h.
2133
2134 Tue Nov 23 00:57:10 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2135
2136 From Casper H.S. Dik on comp.unix.solaris, 23 Oct 1998:
2137 * configure.in: Try building a bi-arch 32/64-bit compiler on
2138 sparc-*-solaris2.7 and higher.
2139 * configure: Rebuild.
2140
2141 Mon Nov 22 23:09:44 1999 David O'Brien <obrien@FreeBSD.org>
2142
2143 * config/freebsd.h: New, FreeBSD architecture independent file.
2144 * config/i386/freebsd-elf.h: removed FreeBSD architecturally
2145 independent pieces.
2146 * config/i386/freebsd.h: include i386/perform.h via tm.h rather than
2147 directly by i386/freebsd.h.
2148 * configure.in (*-*-freebsdelf): Include new FreeBSD architecturally
2149 independent configuration file.
2150 (*-*-freebsdelf): Include i386/perform.h via tm.h rather than
2151 directly by i386/freebsd.h.
2152 * configure: Rebuilt.
2153
2154 * xm-i386.h: Define `__i386__' if not defined, rather than `i386'
2155 which is in the user's namespace.
2156 * libgcc2.c: Look for the ANSI-C approved `__i386__' symbol, vs.
2157 `i386' which is not in our namespace.
2158
2159 Mon Nov 22 22:58:01 1999 "R. Kelley Cook" <KelleyCook@attglobal.net>
2160
2161 * invoke.texi (ARM Options): Add in -mno-alignment-traps
2162
2163 1999-11-22 Jason Merrill <jason@casey.cygnus.com>
2164
2165 * dwarf2out.c (die_struct): Remove die_attr_last and die_child_last.
2166 (add_dwarf_attr, add_child_die): Just push onto the front.
2167 (reverse_die_lists): New fn.
2168 (add_sibling_attributes): Use it.
2169 (push_decl_scope): Reorganize.
2170 (add_name_and_src_coords_attributes): Don't set file and line for
2171 an artificial decl.
2172 (gen_subprogram_die): An artificial function doesn't need to match
2173 file and line.
2174 (gen_compile_unit_die): Return the generated die. Only add
2175 AT_comp_dir if the filename is relative.
2176 (remove_AT): Simplify loop. Also free string values.
2177 (output_die): A DIE ref can't be null.
2178 (output_value_format, value_format): Take a dw_attr_ref.
2179 (dwarf_last_decl, is_extern_subr_die, sibling_offset): Remove.
2180 (AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
2181 AT_addr, AT_lbl): New fns.
2182 (various): Use them.
2183 (various): Constify.
2184
2185 Mon Nov 22 23:53:50 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2186
2187 * combine.c (combine_simplify_rtx): When handling a SUBREG,
2188 take SUBREG_WORD into account.
2189 (if_then_else_cond): Likewise.
2190
2191 1999-11-22 Jason Merrill <jason@casey.cygnus.com>
2192
2193 * gmon.c, i386/gmon-sol2.c, sparc/gmon-sol2.c: Remove advertising
2194 clause from BSD license, pursuant with
2195
2196 ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
2197
2198 1999-11-22 Bernd Schmidt <bernds@cygnus.co.uk>
2199
2200 * loop.c (load_mems): Reformat slightly.
2201 * basic-block.h (regset_head): New typedef.
2202 (INIT_REG_SET): New macro.
2203
2204 1999-11-22 Bruce Korb <autogen@linuxbox.com
2205
2206 * fixinc/mkfisinc.sh(i?86-*-linux): disable script, run fixincl exe
2207 (mips-dec-bsd*): non-functional code
2208 (alpha*-*-linux-gnu*): redundant, duplicated by "*-*-linux-gnu*"
2209
2210 * fixinc/inclhack.def(AAB_fd_zero_glibc_*):
2211 added three replacement fixes
2212 (no_double_slash): removed comments that are not (any longer) pertinent
2213 (bad_lval): this fix currently runs against many files.
2214 The comment seems to indicate that we should select for files
2215 containing 'pragma extern_prefix'.
2216
2217 * fixinc/fixinc.x86-linux-gnu: deleted
2218 * fixinc/inclhack.sh: regen
2219 * fixinc/fixincl.x: regen
2220 * fixinc/fixincl.sh: regen
2221
2222 Fri Nov 12 14:08:40 1999 Andrew Haley <aph@cygnus.com>
2223
2224 * emit-rtl.c (gen_sequence): Only return the pattern of an insn if
2225 its code is INSN and it has no notes.
2226
2227 1999-11-22 Andrew Haley <aph@cygnus.com>
2228
2229 * varasm.c (function_defined): Remove.
2230 (make_function_rtl): Don't set function_defined.
2231 (make_decl_rtl): Remove global register warning.
2232 * regclass.c (no_global_reg_vars): New variable.
2233 (globalize_reg): Warn if function has already been defined.
2234 (regclass_init): Set no_global_reg_vars.
2235
2236 Mon Nov 22 14:42:22 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
2237
2238 * regclass.c (reg_pref): New structure and static variable
2239 (prefclass): Delete.
2240 (altclass): Delete.
2241 (all uses of prefclass and altclass): Use reg_pref instead.
2242
2243 1999-11-21 Nick Clifton <nickc@cygnus.com>
2244
2245 * invoke.texi (ARM Options): Replace -mshort-load-bytes with
2246 -malignment-traps.
2247 (arm.h): Replace -mshort-load-bytes with -malignment-traps.
2248 (arm.c): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
2249 (arm.md): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
2250
2251 Sun Nov 21 17:11:13 1999 Geoffrey Keating <geoffk@cygnus.com>
2252
2253 * varasm.c (output_constructor): Solve problem with long long
2254 bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1).
2255
2256 Fri Nov 19 05:48:45 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
2257
2258 * global.c (allocno): New structure and static variable.
2259 (allocno_reg): Remove, all references replaced by allocno.
2260 (allocno_size): Likewise.
2261 (hard_reg_conflicts): Likewise.
2262 (hard_reg_preferences): Likewise.
2263 (hard_reg_copy_preferences): Likewise.
2264 (hard_reg_full_preferences): Likewise.
2265 (regs_someone_prefers): Likewise.
2266 (allocno_calls_crossed): Likewise.
2267 (allocno_n_refs): Likewise.
2268 (allocno_live_length): Likewise.
2269 (find_reg): Rename ALLOCNO to NUM.
2270
2271 * regclass.c (may_move_in_cost): Rename from may_move_cost, all
2272 references updated.
2273 (may_move_out_cost): New variable.
2274 (init_reg_sets_1): Initialize may_move_out_cost.
2275 (record_reg_classes): Use may_move_out_cost.
2276
2277 * regclass.c (dump_regclass): New function.
2278 (regclass): New parameter DUMP, call DUMP_REGCLASS.
2279 * toplev.c (rest_of_compilation): Open lreg dump file before regclass,
2280 pass rtl_dump_file to regclass.
2281 * rtl.h (regclass): Update prototype.
2282
2283 Fri Nov 19 06:32:19 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
2284
2285 * i386.md (neg, not and abs patterns): Revmap to use
2286 ix86_expand_unary_operator and ix86_unary_operator_ok.
2287 (add?f and sub?f expanders): Force operand 1 to register.
2288 * i386.c (ix86_expand_unary_operator): Rewrite.
2289 (ix86_unary_operator_ok): Ensure that memory operands
2290 match real opcode.
2291 (ix86_binary_operator_ok): Do not allow operand 1 to
2292 come into memory and operand 0 not.
2293 (ix86_expand_binary_operator): Ensure that
2294 src1 is not non-matching memory.
2295
2296 * i386.md (negs?2): Rewrite to expanders, new patterns and splitters
2297 to support integer registers and memory.
2298 (abss?2_integer): Likewise.
2299
2300 * i386.h (enum reg_class): Add FLOAT_INT_REGS.
2301 (REG_CLASS_NAMES): Likewise.
2302 (REG_CLASS_CONTENTS): Define FLOAT_INT_REGS as union of FLOAT_REGS
2303 and GENERAL_REGS.
2304 * i386.md (pushsf): Do not preferre FLOAT_REGS over GENERAL_REGS.
2305 (movsf): Likewise; unify 4th and 5th alternative.
2306 (pushdf): Likewise.
2307 (movdf_1): Likewise; rename to movdf_integer.
2308 (pushxf): Likewise; rename to pushxf_integer; fix output template;
2309 remove redundant splitter.
2310 (movxf_1): Likewise; rename to movxf_integer; fix splitter's condition.
2311 (movdf_nointeger): New.
2312 (movxf_nointeger): New.
2313 (pushxf_nointeger): New.
2314
2315 * i386.md (extend?f?f): Split to expander and pattern, refuse two
2316 memory operands in patterns.
2317 (fop*): Refuse two memory operands.
2318
2319 * i386.md (ashrsi3_31): Allow cltd when optimizing for size even
2320 on !TARGET_USE_CLTD CPUs.
2321
2322 Fri Nov 19 10:41:15 GMT 1999 Nathan Sidwell <nathan@acm.org>
2323
2324 * extend.texi: Document C++ restricted pointers and references.
2325
2326 1999-11-19 Bernd Schmidt <bernds@cygnus.co.uk>
2327
2328 * cse.c (addr_affects_sp): No longer conditional on AUTO_INC_DEC.
2329 (invalidate_skipped_set): Call it unconditionally.
2330 (cse_set_around_loop): Likewise.
2331
2332 Thu Nov 18 17:29:34 MST 1999 Diego Novillo <dnovillo@cygnus.com>
2333
2334 * rtl.texi (mem): Add documentation for alias-set argument
2335 to RTX `mem'.
2336
2337 Fri Nov 18 13:39:22 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
2338
2339 * i386.h (struct_processor_costs): New fields int_load, int_store,
2340 fp_move, fp_load and fp_store
2341 (REGISTER_MOVE_COST): Fix comment, calculate exactly the cost of
2342 fp->int moves
2343 (MEMORY_MOVE_COST): New macro.
2344 * i386.c (386_cost): Define new fields.
2345 (i486_cost): Likewise.
2346 (pentium_cost): Likewise.
2347 (pentiumpro_cost): Likewise.
2348 (k6_cost): Likewise.
2349
2350 Fri Nov 19 11:11:55 1999 Greg McGary <gkm@gnu.org>
2351 Geoffrey Keating <geoffk@cygnus.com>
2352
2353 * config/m68k/m68kelf.h: Suppress '/* within comment' warning.
2354
2355 * config/m68k/m68k.h (MASK_PCREL): Don't use same value as
2356 MASK_ALIGN_INT.
2357
2358 * config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro.
2359 (TARGET_STRICT_ALIGNMENT): New macro.
2360 (TARGET_SWITCHES): Add "strict-align" and "no-strict-align".
2361 (STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT.
2362 * invoke.texi (M680x0 Options): Document -mstrict-align.
2363
2364 Thu Nov 18 11:10:03 1999 Jan Hubicka <hubicka@freesoft.cz>
2365 Richard Henderson <rth@cygnus.com>
2366
2367 * i386-protos.h (split_xf, ix86_split_movdi): Remove.
2368 (ix86_split_long_move): Declare.
2369 * i386.c (split_xf, ix86_split_movdi): Remove.
2370 (ix86_split_to_parts, ix86_split_long_move): New.
2371 * i386.md (dimode move splitters): Use ix86_split_long_move.
2372 (dfmode move splitters): Likewise.
2373 (xfmode move splitters): Likewise.
2374 (movsf_1): Allow F->r.
2375 (movdf_1, movxf_1): Allow F->ro.
2376
2377 1999-11-17 Mark Mitchell <mark@codesourcery.com>
2378
2379 * except.h (struct eh_entry): Add goto_entry_p.
2380 (eh_region_from_symbol): Remove prototype.
2381 * except.c (find_func_region_from_symbol): New function.
2382 (emit_cleanup_handler): Likewise.
2383 (eh_region_from_symbol): Make it static.
2384 (add_new_handler): Verify the argument.
2385 (find_func_region): Update comment.
2386 (expand_eh_region_end): Expand handlers here, rater than waiting
2387 until expand_leftover_cleanups or start_all_catch.
2388 (expand_leftover_cleanups): Don't expand here.
2389 (expand_start_all_catch): Or here.
2390 (expand_rethrow): Check the return value from find_func_region.
2391 * function.c (expand_function_end): Emit the catch_clauses.
2392
2393 1999-11-18 Gavin Romig-Koch <gavin@cygnus.com>
2394
2395 * integrate.c (expand_inline_function): Add necessary check for NULL.
2396
2397 1999-11-18 Nick Clifton <nickc@cygnus.com>
2398
2399 * toplev.c (main): Correctly detect an unrecognised option.
2400
2401 * cppinit.c (cpp_handle_option): Do not claim to have consumed
2402 a -f option if it has not been recognised.
2403
2404 Thu Nov 18 00:59:11 1999 Michael Gschwind <mikeg@alagoas.watson.ibm.com>
2405
2406 * basic-block.h (update_life_extent): Remove trailing comma on
2407 enumeration type list.
2408
2409 1999-11-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2410
2411 * varasm.c (output_constructor) Solved problem with long long
2412 bitfields. Corrected calculating this_time and shift. Also
2413 corrected calculating mask when BITS_PER_UNIT == 32 (c4x).
2414
2415 Wed Nov 17 23:46:14 1999 Jeffrey A Law (law@cygnus.com)
2416
2417 * flow.c (split_edge): Take looping structure into account when
2418 determining where to put the new block note.
2419
2420 Wed Nov 17 20:42:43 1999 Jeff Holcomb <jeffh@cygnus.com>
2421
2422 * Makefile.in (ggc-none.o): Provide host specific version if
2423 needed.
2424
2425 Wed Nov 17 16:51:23 1999 Richard Henderson <rth@cygnus.com>
2426
2427 * cse.c (delete_trivially_dead_insns): Identify no-op insns
2428 containing subregs too.
2429
2430 Wed Nov 17 17:39:48 MST 1999 Diego Novillo <dnovillo@cygnus.com>
2431
2432 * invoke.texi: Add documentation for -muninit-const-in-rodata.
2433 * config/mips/mips.h (MASK_UNINIT_CONST_IN_RODATA): Define.
2434 (TARGET_UNINIT_CONST_IN_RODATA): Define.
2435 (text_section): Add switches -munint-const-in-rodata and
2436 -mno-uninit-const-in-rodata.
2437 (ASM_OUTPUT_COMMON): Remove.
2438 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. Check if uninitialized
2439 const objects should be placed in read-only data. Otherwise declare
2440 them in common.
2441
2442 Wed Nov 17 16:38:32 1999 Richard Henderson <rth@cygnus.com>
2443
2444 * jump.c (jump_optimize_1): Revert last change.
2445
2446 Wed Nov 17 15:18:30 1999 Richard Henderson <rth@cygnus.com>
2447
2448 * jump.c (jump_optimize_1): Don't try to duplicate the loop exit
2449 test if optimizing for size.
2450
2451 1999-11-17 Mark Mitchell <mark@codesourcery.com>
2452
2453 * Makefile.in (toplev.o): Depend on except.h.
2454 (dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise.
2455
2456 Mon Nov 15 22:45:39 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
2457
2458 * i386.md (divmodsi4): Rewrite to expander.
2459 (*divmodsi4_nocltd): New.
2460 (*divmodsi4_cltd): New.
2461 (divmodsi4 splitter): Handle the case when input comes in edx.
2462 (udivmodhi4): Do not use constraints in exander.
2463 (ashrsi3_31): Conditionize by TARGET_USE_CLTD.
2464
2465 1999-11-17 Jason Merrill <jason@yorick.cygnus.com>
2466
2467 * dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1
2468 for the common case.
2469
2470 1999-11-16 Jakub Jelinek <jakub@redhat.com>
2471
2472 * explow.c (hard_function_value): Add outgoing argument.
2473 * expr.h (hard_function_value): Declare it.
2474 * calls.c (expand_call, emit_library_call_value): Update callers.
2475 * function.c (aggregate_value_p): Ditto.
2476 (diddle_return_value): Must look at the outgoing registers
2477 on archs with register windows.
2478
2479 Mon Nov 15 20:46:45 1999 Richard Henderson <rth@cygnus.com>
2480
2481 * alpha.c (alpha_build_va_list): Use make_lang_type and
2482 initialize TYPE_NAME for the va_list record.
2483
2484 * flow.c (calculate_global_regs_live): Zero bb->aux to begin.
2485
2486 * ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long
2487 for printing.
2488 * ggc.h (struct ggc_statistics): Rearrange elements for better
2489 packing on 64-bit hosts.
2490 * lcm.c (compute_laterin): Store a size_t not an int in bb->aux.
2491 (compute_nearerout): Likewise.
2492
2493 Tue Nov 16 14:37:52 1999 Geoffrey Keating <geoffk@cygnus.com>
2494
2495 * config/rs6000/rs6000.c (first_reg_to_save): Save
2496 PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
2497
2498 1999-11-15 Jason Merrill <jason@casey.cygnus.com>
2499
2500 * dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table
2501 notion of nesting to find the DIE for a type or function.
2502 DIEs can go in limbo even if we got a context_die.
2503 (push_decl_scope): Our context doesn't need to be in decl_scope_table.
2504 (gen_struct_or_union_type_die): Don't use TREE_PERMANENT to test
2505 for local type.
2506 (gen_decl_die): Ignore NAMESPACE_DECLs for now.
2507 (gen_type_die): Writing out the context doesn't cause member class
2508 template instantiations to be written out as well.
2509
2510 Mon Nov 15 15:33:18 1999 Richard Henderson <rth@cygnus.com>
2511
2512 * rs6000.h (ASM_OUTPUT_DEF): New.
2513 Based on proposed addition from David Edelsohn.
2514
2515 1999-11-15 Robert Lipe <RobertLipe@usa.net>
2516 Bruce Korb <autogen@linuxbox.com>
2517
2518 * fixinc/inclhack.def
2519 (AAB_svr4_replace_byteorder): added. Takes advantage of GCC features
2520 (unixware7_byteorder_fix): added. Removes conflicts for new defs
2521 in net/inet.h.
2522 (svr5_mach_defines): added. Like svr4_mach_defines, with new syntax
2523 (svr4_endian): enabled with SVR5
2524 (svr4_mkdev): simplified syntax and enabled with SVR5
2525
2526 Sun Nov 14 18:49:37 1999 David O'Brien <obrien@FreeBSD.org>
2527
2528 * configure.in: Handle libgcc2 threads support on FreeBSD platforms.
2529 * configure: Rebuilt.
2530 * config/t-freebsd-thread: New file.
2531
2532 Sun Nov 14 23:11:05 1999 Jeffrey A Law (law@cygnus.com)
2533
2534 * i386.c (ix86_decompose_address): Verify the base is a REG
2535 before trying to examine its register number.
2536
2537 * basic-block.h: Remove all #defines and prototypes related to
2538 integer lists.
2539 (free_bb_mem, compute_preds_succs): Remove prototype.
2540 * rtl.h (free_bb_mem): Remove prototype.
2541 * flow.c (alloc_int_list_node); Remove function.
2542 (add_inst_list_node, free_int_list, add_pred_succ): Likewise.
2543 (compute_preds_succs, free_bb_mem): Likewise.
2544 * gcse.c (gcse_main): Do not call free_bb_mem anymore.
2545 * toplev.c (rest_of_compilation): Likewise.
2546 * haifa-sched.c (build_control_flow): Use flow generated edge
2547 list to build the haifa specific edge list.
2548 (find_rgns): Use new CFG data structures instead of pred/succ lists.
2549 (schedule_insns): Do not build pred/succ lists anymore. Instead
2550 build the edge table.
2551
2552 * basic-block.h (dump_bb_data): Remove declaration.
2553 * flow.c (dump_bb_data): Remove function.
2554 * sbitmap.c (sbitmap_intersect_of_predsucc): Delete function.
2555 (sbitmap_union_of_predsucc): Likewise.
2556
2557 * gcse.c (delete_null_pointer_checks_1): Kill unused s_preds
2558 argument. All callers changed.
2559 (delete_null_pointer_checks_1): No longer need to compute the
2560 pred/succ lists.
2561
2562 * gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument.
2563 All callers changed.
2564 (pre_expr_reaches_here_p_work): Likewise.
2565 (pre_edge_insert): No longer call pre_expr_reaches_here_p.
2566 * lcm.c (compute_laterin): Fix initialization of LATER.
2567 (compute_nearerout): Similarly for NEARER.
2568
2569 Sun Nov 14 12:41:57 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2570
2571 * cse.c (set_nonvarying_address_components): Delete unused function.
2572 (refers_to_p): Likewise.
2573
2574 Fri Nov 12 20:53:22 1999 Jeffrey A Law (law@cygnus.com)
2575
2576 * function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as
2577 needed.
2578
2579 Sat Nov 13 16:20:09 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2580
2581 * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro
2582 definition in do while (0).
2583
2584 Fri Nov 12 16:26:25 1999 Jim Wilson <wilson@cygnus.com>
2585
2586 * stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change.
2587
2588 Fri Nov 12 12:43:49 1999 Richard Henderson <rth@cygnus.com>
2589
2590 * unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT.
2591
2592 Fri Nov 12 15:14:19 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
2593
2594 * i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it.
2595 (FRAME_POINTER_REQUIRED): Don't worry about nonlocal goto.
2596 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
2597 (INITIAL_FRAME_POINTER_OFFSET): Remove it.
2598
2599 * i960.c (i960_function_prologue): Don't allocate space for g8-g11
2600 saved on the stack. Output more accurate stack frame statistics
2601 into assembler file.
2602
2603 1999-11-12 11:47 -0800 Zack Weinberg <zack@bitmover.com>
2604
2605 * genextract.c (record_insn_name): New function.
2606 (get_insn_name): No longer a stub.
2607 (main): Call record_insn_name for each insn. After each label
2608 written, print the insn name in a comment.
2609
2610 Fri Nov 12 13:45:02 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2611
2612 * output.h (const_section, init_section, fini_section): Add
2613 prototypes.
2614
2615 * alpha/elf.h (const_section): Delete declaration.
2616
2617 * svr4.h (const_section): Likewise.
2618
2619 Fri Nov 12 08:54:22 1999 Mark Mitchell <mark@codesourcery.com>
2620
2621 * tree.h (SAVE_EXPR_PERSISTENT_P): New macro.
2622 * tree.c (array_type_nelts): Don't handle SAVE_EXPRs specially.
2623 (unsave_expr_now): Don't unsave SAVE_EXPR_PERSISTENT_P
2624 expressions.
2625 * stor-layout.c (variable_size): Set SAVE_EXPR_PERSISTENT_P on
2626 variable-sized array bounds.
2627
2628 Fri Nov 12 08:04:45 1999 Catherine Moore <clm@cygnus.com>
2629
2630 * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Use
2631 ASM_OUTPUT_LABEL.
2632
2633 Fri Nov 12 13:31:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2634
2635 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode
2636 addresses the same way GO_IF_LEGITIMATE_INDEX does.
2637
2638 Fri Nov 12 12:36:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2639
2640 * cse.c (hash_arg_in_struct): Delete.
2641 (struct table_elt): Delete elt in_struct.
2642 (struct set): Delete elt src_in_struct.
2643 (merge_equiv_classes): Don't set either hash_arg_in_struct or
2644 the corresponding in_struct elts.
2645 (canon_hash): Likewise.
2646 (safe_hash): Likewise.
2647 (find_best_addr): Likewise.
2648 (record_jump_cond): Likewise.
2649 (cse_insn): Likewise.
2650
2651 Thu Nov 11 19:45:24 1999 Jim Wilson <wilson@cygnus.com>
2652
2653 * loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back.
2654
2655 * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large
2656 unsigned types.
2657
2658 Thu Nov 11 18:54:24 1999 Jeffrey A Law (law@cygnus.com)
2659
2660 * function.c (diddle_return_value): Put back check that the DECL_RTL
2661 for the function is a register.
2662
2663 * function.c (diddle_return_value): Use hard_function_value to
2664 get an rtx suitable for use in the USE/CLOBBER insn.
2665
2666 * global.c (global_conflicts): Update comments.
2667 (record_conflicts): No need to record conflicts between pseudos here.
2668
2669 1999-11-11 Bruce Korb <autogen@linuxbox.com>
2670
2671 * fixinc/fixincl.c: Added verbose levels for status messages
2672
2673 Thu Nov 11 13:23:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2674
2675 * jump.c (jump_optimize_1): Avoid passing an rtx that is not an
2676 operand as argument to expand_and or expand_binop.
2677
2678 Thu Nov 11 02:21:16 1999 Rodney Brown <RodneyBrown@pmsc.com>
2679
2680 * xcoffout.c (xcoffout_source_file): Change ggc_add_root to
2681 gcc_add_string_root.
2682
2683 Wed Nov 10 21:24:19 1999 Jason Eckhardt <jle@cygnus.com>
2684
2685 * config/pa/pa.h (MASK_RETURN_ADDR): Change 0xfffffffc to -4.
2686
2687 Wed Nov 10 15:56:16 1999 Jeffrey A Law (law@cygnus.com)
2688
2689 * flow.c (compute_flow_dominators): Initially put all blocks on
2690 the worklist.
2691 * lcm.c (compute_antinout_edge, compute_available): Similarly.
2692 * gcse.c (compute_cprop_avinout): Remove.
2693 (compute_cprop_data): Use compute_available.
2694 (delete_null_pointer_checks_1): Use compute_available.
2695
2696 * basic-block.h (compute_available): Returns a void now.
2697 * gcse.c (one_classic_gcse_pass): Do not expect compute_available
2698 to return a value anymore.
2699 * lcm.c (compute_available, compute_antinout_edge): Revamp to use
2700 worklists. Fix boundary cases. Compute maximal solutions.
2701 (compute_laterin, compute_nearerout): Similarly.
2702
2703 * dwarf2out.c (add_AT_location_description): Allow
2704 (mem (plus (pseudo) (...)) too.
2705
2706 Wed Nov 10 10:52:42 1999 Tom Tromey <tromey@cygnus.com>
2707
2708 * gcc.c (do_spec_1): Support text between `%u' and `%O'.
2709
2710 Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be>
2711 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2712
2713 * cppinit.c: Test `GCC_VERSION', not `HAVE_GCC_VERSION'.
2714
2715 * gansidecl.h: Likewise.
2716
2717 * rtl.c: Likewise.
2718
2719 * rtl.h: Likewise.
2720
2721 * toplev.h: Likewise.
2722
2723 * tree.c: Likewise.
2724
2725 * tree.h: Likewise.
2726
2727 * varray.c: Likewise.
2728
2729 * varray.h: Likewise.
2730
2731 Wed Nov 10 10:57:22 1999 Clinton Popetz <cpopetz@cygnus.com>
2732
2733 * gcov.c (struct arcdata): Add hits and total, remove prob.
2734 (output_branch_counts): New.
2735 (process_args): Set output_branch_counts if -c.
2736 (calculate_branch_probs): Store hits and total instead of
2737 percentage.
2738 (output_data): Emit counts if output_branch_counts is true.
2739 * gcov.texi (Invoking Gcov): Document -c switch..
2740
2741 Wed Nov 10 01:10:41 1999 Philippe De Muyter <phdm@macqel.be>
2742
2743 * genoutput.c (output_insn_data): Cast `INSN_OUTPUT_FORMAT_MULTI' and
2744 `INSN_OUTPUT_FORMAT_FUNCTION' to `PTR'-type.
2745
2746 Wed Nov 10 00:51:41 1999 Hans-Peter Nilsson <hp@axis.se>
2747
2748 * invoke.texi (C Dialect Options): Add missing builtins from
2749 c-common.c to list.
2750 * extend.texi (Other Builtins): Copy to this list.
2751
2752 Wed Nov 10 04:58:09 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2753
2754 * Makefile.in (recog.o): Use BASIC_BLOCK_H macro.
2755 (print-rtl.o, $(HOST_PREFIX_1)print-rtl.o): Likewise. Remove
2756 redundant bitmap.h.
2757
2758 Wed Nov 10 00:02:53 1999 Jeffrey A Law (law@cygnus.com)
2759
2760 * flow.c (compute_flow_dominators): No longer treat basic block 0
2761 or (n_basic_blocks - 1) specially. Clear the AUX field before
2762 starting computation of doms/pdoms. Fix initial state for pdoms.
2763
2764 Wed Nov 10 03:58:08 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2765
2766 * Makefile.in ($(HOST_PREFIX_1)rtl.o): Update dependencies to
2767 match rtl.o's: added ggc.h and toplev.h
2768 ($(HOST_PREFIX_1)print-rtl.o): Likewise: added system.h.
2769 ($(HOST_PREFIX_1)rtlanal.o): Likewise: added system.h.
2770 ($(HOST_PREFIX_1)obstack.o): Likewise: added $(CONFIG_H).
2771
2772 Tue Nov 9 10:30:08 1999 Tom Tromey <tromey@cygnus.com>
2773
2774 * config/i386/xm-djgpp.h (HAVE_DOS_BASED_FILE_SYSTEM): Renamed
2775 from HAVE_DOS_BASED_FILESYSTEM.
2776 * gcc.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM, not
2777 HAVE_DOS_BASED_FILESYSTEM.
2778 (main): Likewise.
2779 (split_directories): Only special-case DOS file names if
2780 HAVE_DOS_BASED_FILE_SYSTEM is defined. Use IS_DIR_SEPARATOR
2781 instead of explicit tests. Conditionalize on !VMS.
2782 (make_relative_prefix): Use IS_DIR_SEPARATOR instead of explicit
2783 tests. Conditionalize on !VMS.
2784 (process_command): Only use make_relative_prefix if !VMS.
2785 (free_split_directories): Conditionalize on !VMS.
2786 (DIR_UP): Conditionalize on !VMS.
2787
2788 Wed Jun 9 16:57:11 1999 Mumit Khan <khan@xraylith.wisc.edu>
2789
2790 * gcc.c (STANDARD_BINDIR_PREFIX): Provide default.
2791
2792 Fri Feb 5 14:22:01 1999 Mumit Khan <khan@xraylith.wisc.edu>
2793
2794 * gcc.c (make_relative_prefix): Handle the HAVE_EXECUTABLE_SUFFIX
2795 case.
2796
2797 Mon Nov 8 14:16:57 1999 Michael Meissner <meissner@cygnus.com>
2798
2799 * invoke.texi (Environment Variables): Document relative path
2800 lookup.
2801 * gcc.c (DIR_UP): If not defined, define as "..".
2802 (standard_bindir_prefix): New static, holds target location to
2803 install binaries.
2804 (split_directories): New function to split a filename into
2805 component directories.
2806 (free_split_directories): New function, release memory allocated
2807 by split_directories.
2808 (make_relative_prefix): New function, make a relative pathname if
2809 the compiler is not in the expected location.
2810 (process_command): If GCC_EXEC_PREFIX was not specified, see if we
2811 can figure out an appropriate prefix from argv[0].
2812 * Makefile.in (DRIVER_DEFINES): Use unlibsubdir in definition of
2813 STANDARD_STARTFILE_PREFIX and TOOLDIR_BASE_PREFIX. Define
2814 STANDARD_BINDIR_PREFIX.
2815
2816 Wed Nov 10 11:47:54 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2817
2818 * config/c4x/c4x-protos.h: New file. Prototypes for functions defined
2819 in c4x.c.
2820 * config/c4x/c4x.h: Moved prototypes to c4x.h.
2821 * config/c4x/c4x.c (c4x_preferred_reload_class, c4x_limit_reload_class,
2822 c4x_secondary_memory_needed) Delete.
2823 (fp_zero_operand): Add mode argument.
2824
2825 Thu Nov 4 15:52:35 1999 Andrew Haley <aph@cygnus.com>
2826
2827 * reload1.c (reload_reg_free_for_value_p): Don't use a register
2828 that is in reload_reg_used.
2829
2830 Tue Nov 9 16:43:00 1999 Nick Clifton <nickc@cygnus.com>
2831
2832 * config/arm/arm-protos.h: New file: Prototypes for functions
2833 defined in arm.c and pe.c.
2834 * config/arm/arm.h: Fix compile time warnings.
2835 * config/arm/arm.c: Fix compile time warnings.
2836 * config/arm/pe.h: Fix compile time warnings.
2837 * config/arm/aout.h: Fix compile time warnings.
2838
2839 Tue Nov 9 14:55:44 1999 Nick Clifton <nickc@cygnus.com>
2840
2841 * config/m32r/m32r-protos.h: New file: Prototypes for functions
2842 defined in m32r.c
2843
2844 * config/m32r/m32r.h: Move prototypes to m32r-protos.h
2845 Add support for subtargets.
2846 Add prototypes for new predicates.
2847 Add scheduling macros.
2848
2849 * config/m32r/m32r.c: Fix compile time warnings.
2850 (int8_operand): New predicate function.
2851 (reg_or_cmp_int16_operand): New predicate function.
2852 (extend_operand): New predicate function.
2853 (m32r_adjust_code): New scheduling function.
2854 (m32r_adjust_priorty): New scheduling function.
2855 (m32r_sched_init): New scheduling function.
2856 (m32r_sched_reorder): New scheduling function.
2857 (m32r_sched_variable_issue): New scheduling function.
2858 (direct_return): New codegen function.
2859 (m32r_not_same_reg): New rtl testsing function.
2860
2861 * config/m32r/m32r.md: Fix compile time warnings.
2862 Add support for pre decrement and post increment memory
2863 references.
2864 Add S<cc> patterns.
2865 Add fabs patterns.
2866
2867 Mon Nov 8 22:20:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2868
2869 * global.c (EXECUTE_IF_CONFLICT): Don't define.
2870 (prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead.
2871 (find_reg): Likewise.
2872
2873 Mon Nov 8 13:16:46 1999 Jason Eckhardt <jle@cygnus.com>
2874
2875 * config/pa/pa.md (fmpynfadd,{sgl,dbl} insns): Use %fr0 rather than 0
2876 to avoid assembler errors.
2877
2878 Mon Nov 8 15:38:41 1999 Nick Clifton <nickc@cygnus.com>
2879
2880 * config/v850/v850-protos.h: New file: Prototypes for functions
2881 defined in v850.c
2882 * config/v850/v850.h: Move prototypes to v850-protos.h
2883 * config/v850/v850.c: Move prototypes to v850-protos.h
2884 * config/v850/v850.md: Fix compile time warnings.
2885
2886 * config/fr30/fr30-protos.h: New file: Prototypes for functions
2887 defined in fr30.c
2888 * config/fr30/fr30.h: Move prototypes to fr30-protos.h
2889 * config/fr30/fr30.c: Fix compile time warnings.
2890 * config/fr30/fr30.md: Fix compile time warnings.
2891
2892 Mon Nov 8 07:25:37 1999 Mark Mitchell <mark@codesourcery.com>
2893
2894 * tree.h (get_containing_scope): Declare it.
2895 * tree.c (get_containing_scope): New fucntion.
2896 (decl_function_context): Use it.
2897 * toplev.c (rest_of_compilation): Use get_containing_scope.
2898
2899 aMon Nov 8 03:03:07 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2900
2901 * Makefile.in (rtl.o): Depend on toplev.h.
2902
2903 Sun Nov 7 20:55:14 1999 Mark Mitchell <mark@codesourcery.com>
2904
2905 * cse.c (delete_trivially_dead_insns): Replace alloca with
2906 xmalloc/xcalloc.
2907 * except.c (update_rethrow_references): Likewise.
2908 (init_eh_nesting_info): Likewise.
2909 * function.c (identify_blocks): Likewise.
2910 * gcse.c (dump_hash_table): Likewise.
2911 * graph.c (print_rtl_graph_with_bb): Likewise.
2912 * loop.c (combine_movables): Likewise.
2913 (move_movables): Likewise.
2914 (count_loop_regs_set): Likewise.
2915 (strength_reduce): Likewise.
2916 * profile.c (compute_branch_probabilities): New function, split
2917 out from ...
2918 (branch_prob): Here. Replace alloca with xmalloc/xcalloc.
2919 * regclass.c (regclass): Likewise.
2920 * regmove.c (regmove_optimize): Likewise.
2921 * toplev.c (compile_file): Likewise.
2922 (main): Don't mess with the stack rlimit.
2923
2924 Sun Nov 7 19:41:17 1999 Catherine Moore <clm@cygnus.com>
2925
2926 * config/elfos.h (ASM_DECLARE_FUNCTION_NAME): Conditionally define.
2927 (ASM_DECLARE_FUNCTION_SIZE): Conditionally define.
2928
2929 Sun Nov 7 10:23:28 1999 Mark P. Mitchell <mark@codesourcery.com>
2930
2931 * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns.
2932
2933 Sun Nov 7 02:58:48 1999 Jeffrey A Law (law@cygnus.com)
2934
2935 * global.c (EXECUTE_IF_CONFLICT): Undo Robert's change.
2936 (EXECUTE_IF_SET_IN_ALLOCNO_SET): Put curleys around CODE in
2937 macro expansion.
2938
2939 Sat Nov 6 23:48:30 1999 Robert Lipe (robertlipe@usa.net)
2940
2941 * global.c (EXECUTE_IF_CONFLICT): Correct quoting typo.
2942
2943 Sat Nov 6 17:34:39 1999 Jeffrey A Law (law@cygnus.com)
2944
2945 * gcse.c (post_dominators): Kill.
2946 (alloc_code_hoist_mem, free_code_hoist_mem); Kill post_dominators.
2947 (compute_code_hoist_data): Use compute_flow_dominators. Do not
2948 pass in a pdom array since we do not need pdoms.
2949 * haifa-sched.c (schedule_insns): Similarly.
2950 * flow.c (compute_dominators): Remove dead function.
2951 (compute_flow_dominators): Do not compute doms or pdoms if the
2952 caller does not request them. Split up loop to build doms and
2953 pdoms. Use a worklist to compute doms and pdoms.
2954 * basic-block.h (compute_dominators): Remove prototype.
2955
2956 Sat Nov 6 11:38:39 1999 Richard Henderson <rth@cygnus.com>
2957
2958 * haifa-sched.c (struct haifa_insn_data, h_i_d): New.
2959 (insn_luid, insn_priority, insn_costs, insn_units): Remove.
2960 (insn_reg_weight, insn_depend, insn_dep_count): Remove.
2961 (insn_blockage, insn_ref_count, line_note, insn_tick): Remove.
2962 (cant_move, fed_by_spec_load, is_load_insn): Remove.
2963 (schedule_region): Remove unused variable.
2964 (schedule_insns): Allocate h_i_d, and not all the separate arrays.
2965
2966 Sat Nov 6 10:00:34 1999 Mark Mitchell <mark@codesourcery.com>
2967
2968 * local-alloc.c (local_alloc): Use xmalloc/xcalloc, not alloca.
2969 (update_equiv_regs): Likewise.
2970 (block_alloc): Likewise.
2971 * reg-stack.c (reg_to_stack): Likewise.
2972 (convert_regs_2): Likewise.
2973 * reload1.c (reload_as_needed): Likewise.
2974
2975 Sat Nov 6 09:57:59 1999 Mark Mitchell <mark@codesourcery.com>
2976
2977 * Makefile.in (dbxout.o): Depend on ggc.h.
2978 (dwarf2out.o): Likewise.
2979 (xcoffout.o): Likewise.
2980 * dbxout.c: Include ggc.h.
2981 (dbxout_init): Register lastfile as a root.
2982 * dwarf2out.c: Include ggc.h.
2983 (dwarf2out_line): Register lastfile as a root.
2984 * xcoffout.c: Include ggc.h.
2985 (xcoffout_source_line): Register xcoff_lastfile as a root.
2986
2987 Sat Nov 6 09:52:09 1999 Richard Henderson <rth@cygnus.com>
2988
2989 * i386.md (movdf_1, movxf_1): Earlyclobber general regs destination.
2990
2991 Sat Nov 6 07:48:59 1999 Catherine Moore <clm@cygnus.com>
2992
2993 * config/svr4.h (ASM_DECLARE_FUNCTION): Check if already
2994 defined.
2995 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
2996
2997 Fri Nov 5 18:33:39 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2998
2999 * global.c (EXECUTE_IF_SET_IN_ALLOCNO_SET): New macro.
3000 (EXECUTE_IF_CONFLICT): Likewise.
3001 (ALLOCNO_LIVE_P): Avoid signed division.
3002 (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Likewise.
3003 (prune_preferences, find_reg): Use EXECUTE_IF_CONFLICT.
3004 (record_one_conflict): Use EXECUTE_IF_SET_IN_ALLOCNO_SET.
3005
3006 Fri Nov 5 12:04:02 1999 Richard Henderson <rth@cygnus.com>
3007
3008 * haifa-sched.c (schedule_block): Don't crash if there's no
3009 next insn for an interblock movement.
3010 (add_branch_dependences): Don't allow clobber insns to move either.
3011
3012 Fri Nov 5 10:18:11 1999 Richard Henderson <rth@cygnus.com>
3013
3014 * i386.c (split_xf): New.
3015 * i386-protos.h: Declare it.
3016 * i386.md (movxf_1): Add general regs alternatives.
3017 (movxf_1+1): New splitter for same.
3018
3019 Fri Nov 5 12:05:52 1999 Nick Clifton <nickc@cygnus.com>
3020
3021 * function.c (purge_addressof_1): Add missing return values.
3022
3023 Fri Nov 5 10:07:25 1999 Nick Clifton <nickc@cygnus.com>
3024
3025 * function.c (is_addressof): New function. Returns true if
3026 the given piece of RTL is an ADDRESSOF.
3027 (purge_addressof_1): Make boolean. Return false if the
3028 ADDRESSOFs could not be purged.
3029 (purge_addressof): If ADDRESSOFs could not be purged from the
3030 notes attached to an insn, remove the offending note(s),
3031 unless they are attached to a libcall.
3032
3033 1999-11-05 Andreas Jaeger <aj@suse.de>
3034
3035 * genoutput.c (null_operand =): Initialize all fields.
3036
3037 * errors.h: Add extern to prototypes.
3038
3039 Fri Nov 5 01:44:09 1999 Jeffrey A Law (law@cygnus.com)
3040
3041 * configure.in (m68k-next-nextstep4): Handle Openstep 4.2.
3042 * configure: Rebuilt.
3043
3044 Fri Nov 5 01:24:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
3045
3046 * global.c (CONFLICTP, SET_CONFLICT): Avoid signed division.
3047 (mirror_conflicts): New function.
3048 (global_alloc): Call it.
3049 (expand_preferences): Remove redundant CONFLICTP test.
3050 (find_reg, dump_conflicts): Likewise.
3051 (prune_preferences): Process conflicts one word at a time.
3052
3053 Fri Nov 5 01:05:21 1999 Richard Henderson <rth@cygnus.com>
3054
3055 * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_BITMAP
3056 instead of an explicit loop.
3057
3058 Thu Nov 4 23:07:14 1999 Jim Wilson <wilson@cygnus.com>
3059
3060 * cse.c (cse_insn): Revert Oct 31 change. When computing src_elt,
3061 if REG_RETVAL check succeeds, then put classp in src_elt.
3062
3063 Thu Nov 4 23:48:14 1999 Jeffrey A Law (law@cygnus.com)
3064
3065 * function.c (pad_to_arg_alignment): Only update argument_pad
3066 if the argument's alignment is greater than STACK_BOUNDARY.
3067
3068 Thu Nov 4 16:44:53 1999 Richard Henderson <rth@cygnus.com>
3069
3070 * bitmap.h (BITMAP_XFREE): New.
3071 * flow.c (life_analysis): Use it.
3072 (life_analysis_1): Free blocks.
3073
3074 * combine.c (undo_commit): New.
3075 (try_combine): Use it. Don't zap undobuf.undos.
3076 (combine_instructions): Don't zap undobuf.undos; free the
3077 undobuf.frees list.
3078
3079 * local-alloc.c (local_alloc): Free qty_phys_num_sugg.
3080
3081 * stmt.c (cost_table_): New.
3082 (estimate_case_costs): Use it instead of xmalloc.
3083
3084 * toplev.c (compile_file): Reuse dumpname memory instead
3085 of strdup'ing it.
3086
3087 Thu Nov 4 16:36:44 1999 Richard Henderson <rth@cygnus.com>
3088
3089 * reg-stack.c (convert_regs_1): Initialize target_stack->top
3090 after verifying an EH edge.
3091
3092 * haifa-sched.c (init_rgn_data_dependences): Correctly
3093 size bb_pending_lists_length when zeroing.
3094
3095 Thu Nov 4 16:36:36 1999 Richard Henderson <rth@cygnus.com>
3096
3097 * function.c (diddle_return_value): New.
3098 (expand_function_end): Use it.
3099 * stmt.c (expand_null_return): Likewise.
3100 (expand_value_return): Likewise.
3101
3102 * reg-stack.c (subst_stack_regs_pat): Handle clobbers at top-level.
3103
3104 * reload1.c (reload): Don't remove return value clobbers.
3105
3106 Thu Nov 4 13:33:46 1999 Richard Henderson <rth@cygnus.com>
3107
3108 * rtl.c (read_rtx): Use fatal_with_file_and_line not fatal.
3109
3110 Thu Nov 4 12:49:52 1999 Richard Henderson <rth@cygnus.com>
3111
3112 * cse.c (cse_main): Use xmalloc, not alloca.
3113 (cse_basic_block): Likewise.
3114 * local-alloc.c (local_alloc): Likewise.
3115
3116 Thu Nov 4 14:22:12 1999 David Billinghurst <David.Billinghurst@riotinto.com.au>
3117 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
3118
3119 * rtl.c: Include toplev.h.
3120 (fatal): Remove declaration.
3121
3122 Thu Nov 4 06:39:47 1999 Jeffrey A Law (law@cygnus.com)
3123
3124 * haifa-sched.c (schedule_block): Fix thinko.
3125
3126 1999-11-03 James McKelvey <mckelvey@fafnir.com>
3127
3128 * fixinc/fixincl.c(create_file): Allow for systems that do not have
3129 S_IR* defined values
3130
3131 1999-11-03 Philippe De Muyter <phdm@macqel.be>
3132
3133 * fixlib.c (load_file_data): Do not call `realloc' with a NULL pointer;
3134 call `malloc' instead.
3135
3136 Wed Nov 3 23:05:14 1999 Mark Mitchell <mark@codesourcery.com>
3137
3138 * flags.h (flag_renumber_insns): Declare.
3139 * emit-rtl.c (renumber_insns): Check flag_renumber_insns. Print
3140 renumbering table.
3141 * rtl.h (renumber_insns): Change prototype.
3142 * toplev.c (flag_renumber_insns): Define.
3143 (rest_of_compilation): Pass rtl_dump_file to flag_renumber_insns.
3144
3145 Wed Nov 3 15:11:27 1999 David S. Miller <davem@redhat.com>
3146
3147 * config/sparc/sparc.md: Remove insn type fpsqrt, add fpsqrts
3148 and fpsqrtd. Use them and create fdiv function unit to more
3149 accurately represent fpu sqrt pipeline semantics on UltraSparc.
3150 * config/sparc/sparc.c: Account for fpsqrt{s,d} changes.
3151
3152 Wed Nov 3 15:11:27 1999 Matteo Frigo <athena@fftw.org>
3153
3154 * config/sparc/sparc.md: Adjust FADD/FMUL result latencies to
3155 3 on UltraSparc.
3156 * config/sparc/sparc.c (ultra_schedule_insn): Insert launched
3157 insn into ready list, do not use just a raw swap.
3158
3159 Wed Nov 3 14:51:59 1999 Mark P. Mitchell <mark@codesourcery.com>
3160
3161 * rtl.h (renumber_insns): New function.
3162 (remove_unnecessary_notes): Likewise.
3163 * emit-rtl.c (renumber_insns): Define.
3164 (remove_unncessary_notes): Likewise.
3165 * toplev.c (rest_of_compilation): Remove dead code.
3166 Use renumber_insns and remove_unncessary_notes.
3167
3168 * gcse.c (struct null_pointer_info): New type.
3169 (get_bitmap_width): New function.
3170 (current_block): Remove.
3171 (nonnull_local): Likewise.
3172 (nonnull_killed): Likewise.
3173 (invalidate_nonnull_info): Take a null_pointer_info as input.
3174 (delete_null_pointer_checks_1): New function.
3175 (delete_null_pointer_checks): Use it.
3176
3177 * haifa-sched.c (find_rgns): Replace uses of alloca with xmalloc.
3178 (split_edges): Likewise.
3179 (schedule_block): Likewise.
3180 (compute_block_backward_dependencies): Likewise.
3181 (schedule_region): Likewise.
3182 (schedule_insns): Likewise.
3183
3184 Wed Nov 3 15:40:23 1999 Catherine Moore <clm@cygnus.com>
3185
3186 * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Provide default.
3187 * emit-rtl.c (gen_label_rtx): Support LABEL_ALTERNATE_NAME.
3188 * final.c (final_scan_insn): Emit LABEL_ALTERNATE_NAME.
3189 * ggc-common.c (ggc_mark_rtx_children): Mark LABEL_ALTERNATE_NAME.
3190 * jump.c (delete_unreferenced_labels): Don't delete if
3191 LABEL_ALTERNATE_NAME is set.
3192 * print-rtl.c (print_rtx): Dump alternate name.
3193 * rtl.def (CODE_LABEL): Change format to "iuuis00s".
3194 * rtl.h (LABEL_ALTERNATE_NAME): Define.
3195 * rtl.texi (LABEL_ALTERNATE_NAME): Document.
3196 * tm.texi (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Document.
3197
3198 Wed Nov 3 15:39:19 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3199
3200 * fix-header.c (recognized_extern, recognized_function): Constify
3201 a char*.
3202
3203 * lcm.c (compute_laterin): Remove unused variable `temp_bitmap'.
3204 (pre_edge_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
3205 (compute_available): Remove unused variable `last'.
3206 (compute_nearerout): Remove unused variable `temp_bitmap'.
3207 (pre_edge_rev_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
3208 Remove unused variable `x'.
3209
3210 * scan.h (recognized_function, recognized_extern): Constify a
3211 char*.
3212
3213 * simplify-rtx.c (simplify_rtx): Remove unused variable `new'.
3214
3215 Wed Nov 3 10:40:53 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3216
3217 * varasm.c (decode_rtx_const): Use XSTR to access the string
3218 of a SYMBOL_REF.
3219
3220 Wed Nov 3 10:10:58 1999 Richard Henderson <rth@cygnus.com>
3221
3222 * c-decl.c (duplicate_decls): Copy DECL_MODE too.
3223
3224 Wed Nov 3 12:12:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3225
3226 * reload1.c (eliminate_regs_in_insn): If copying insn, also copy notes.
3227
3228 Wed Nov 3 03:26:28 1999 Jeffrey A Law (law@cygnus.com)
3229
3230 * pa.c (ireg_operand): New function.
3231 * pa.h (PREDICATE_CODES): Handle ireg_operand.
3232 * pa.md (parallel_addb, parallel_movb): Use ireg_operand.
3233 Fix out of date comment.
3234
3235 * pa.md (negdi2): Turn into expander + anonymous pattern.
3236
3237 * reload.c (find_reloads): Fix typos in recent change.
3238
3239 * dwarf2out.c: Do not include ctype.h.
3240
3241 Tue Nov 2 21:53:44 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3242
3243 * regclass.c (record_reg_classes): Always use may_move_cost when
3244 seeing how operand fits with various register classes.
3245
3246 Tue Nov 2 15:38:17 1999 Richard Henderson <rth@cygnus.com>
3247
3248 * resource.c: Revert Oct 26 20:42 and Oct 27 00:56 changes.
3249 * toplev.c: Revert Nov 1 13:22 change.
3250
3251 Tue Nov 2 14:21:37 1999 Jason Eckhardt <jle@cygnus.com>
3252
3253 * config/pa/pa.md (height reduction patterns): Add checks for
3254 overlapping operands to avoid semantic-destroying splits for
3255 height reduction patterns.
3256
3257 Tue Nov 2 15:27:31 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
3258
3259 * configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should
3260 have been an hyphen, fixed.
3261 * configure: Rebuilt.
3262
3263 Tue Nov 2 17:04:36 1999 Nick Clifton <nickc@cygnus.com>
3264
3265 * config/arm/tpe.h: Add prototypes for exported functions.
3266 * config/arm/pe.c: Fix compile time warnings.
3267 * config/arm/semi.h: Fix compile time warnings.
3268 * config/arm/arm.c: Fix compile time warnings.
3269 * config/arm/arm.h: Fix compile time warnings.
3270 * config/arm/arm.md: Fix compile time warnings.
3271 * config/arm/thumb.c: Fix compile time warnings.
3272 * config/arm/thumb.h: Fix compile time warnings.
3273 * config/arm/thumb.md: Fix compile time warnings.
3274
3275 Tue Nov 2 04:10:24 1999 Jan Hubicka <hubicka@freesoft.cz>
3276
3277 * jump.c (jump_optimize_1): Swap the incscc and the conditional mode
3278 detection code
3279
3280 * unroll.c (unroll_loop): Remove LOOP notes when loop is
3281 completely unrolled.
3282
3283 Tue Nov 2 16:57:22 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3284
3285 * cse.c (simplify_plus_minus, check_fold_const): Delete declarations.
3286
3287 Tue Nov 2 09:43:00 1999 Catherine Moore <clm@cygnus.com>
3288
3289 * Makefile.in (genattrtab): Don't use (HOST_RTLANAL).
3290 * rtl.h (rtx_equal_p): Move prototype.
3291 * rtl.c (rtx_equal_function_value_matters): Move from
3292 rtlanal.c
3293 (rtx_equal_p): Likewise.
3294 * rtlanal.c (rtx_equal_function_value_matters): Delete.
3295 (rtx_equal_p): Likewise.
3296
3297 Mon Nov 1 23:21:17 1999 Jason Merrill <jason@yorick.cygnus.com>
3298
3299 * libgcc2.c (__do_global_dtors): Only do EH frame stuff if
3300 ! HAS_INIT_SECTION.
3301
3302 Mon Nov 1 23:37:38 1999 Jeffrey A Law (law@cygnus.com)
3303
3304 * gcc.1 (PA options): Remove obsolete -mshared-libs options.
3305
3306 * pa.h (ADDR_VEC_ALIGN): Define.
3307
3308 * jump.c (jump_optimize_1): Also move LOOP_VTOP and LOOP_CONT
3309 notes when presented with "if (foo) break; end_of_loop" and
3310 the break sequence gets moved out of the loop.
3311
3312 * unroll.c (unroll_loop): Allocate memory for MAP using xcalloc.
3313 Remove explicit zero initializations of entries within MAP.
3314
3315 Mon Nov 1 18:09:14 1999 Richard Henderson <rth@cygnus.com>
3316
3317 * reg-stack.c (convert_regs_1): Handle EH edges specially.
3318
3319 Mon Nov 1 15:41:01 1999 Mark P. Mitchell <mark@codesourcery.com>
3320
3321 * bitmap.h (BITMAP_XMALLOC): New macro.
3322 * flow.c (CLEAN_ALLOCA): Remove.
3323 (delete_unreachable_blocks): Use xmalloc/xcalloc instead of alloca.
3324 (life_analysis): Likewise.
3325 (update_life_info): Don't use CLEAN_ALLOCA.
3326 (life_analysis_1): Use xmalloc/xcalloc instead of alloca.
3327 (calculate_global_regs_live): Likewise.
3328 (print_rtl_with_bb): Likewise.
3329 (verify_flow_info): Likewise.
3330 * global.c (global_alloc): Likewise.
3331 (global_conflicts): Likewise.
3332 * integrate.c (save_for_inline_nocopy): Likewise.
3333 (expand_inline_function): Likewise.
3334 * jump.c (jump_optimize_1): Likewise.
3335 (duplicate_loop_exit_test): Likewise.
3336 (thread_jumps): Likewise.
3337 * loop.c (loop_optimize): Likewise.
3338 (combine_givs): Likewise.
3339 (recombine_givs): Likewise.
3340 * reorg.c (dbr_schedule): Likewise.
3341 * unroll.c (unroll_loop): Likewise.
3342
3343 * combine.c (combine_instructions): Use xmalloc instead of alloca.
3344
3345 Mon Nov 1 13:22:30 1999 Richard Henderson <rth@cygnus.com>
3346
3347 * toplev.c (rest_of_compilation): Don't optimize the CFG
3348 when rebuilding, just before dbr.
3349
3350 Mon Nov 1 14:35:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3351
3352 * output.h (assemble_end_function, assemble_destructor,
3353 assemble_constructor, assemble_gc_entry, assemble_global,
3354 assemble_label, output_constant_pool) Constify a char*.
3355
3356 * varasm.c (assemble_destructor, assemble_constructor,
3357 assemble_gc_entry, assemble_end_function, assemble_global,
3358 assemble_label, output_constant_pool): Likewise.
3359
3360 Mon Nov 1 14:22:51 1999 Nick Clifton <nickc@cygnus.com>
3361
3362 * config/arm/thumb.c (thumb_expand_prologue): Add comments
3363 explaining what is goin on in this function.
3364
3365 Mon Nov 1 08:03:15 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3366
3367 * regclass.c (record_reg_classes): In matching case, recompute
3368 costs since the direction of movement is different.
3369
3370 Sun Oct 31 21:59:34 MST 1999 Diego Novillo <dnovillo@cygnus.com>
3371
3372 * resource.c (mark_target_live_regs): For unconditional branches,
3373 the resources found at the branch target should be added to the
3374 resources found so far, not intersected.
3375
3376 Sun Oct 31 15:48:49 1999 Philippe De Muyter <phdm@macqel.be>
3377
3378 * fixinc/fixtests.c, fixinc/fixfixes.c : Keep `#' in first column for
3379 old cpp's.
3380 * fixinc/fixincl.c (fcntl.h) : Do not include this file twice.
3381 (sys/mman.h): Include this file only if #HAVE_MMAP.
3382 (run_compiles): Initialize `esac_fmt' with one old KR string, not
3383 with automatically concatenated ANSI strings.
3384
3385 Sun Oct 31 23:57:07 1999 Mark Mitchell <mark@codesourcery.com>
3386
3387 * ggc-page.c (struct page_entry): Remove save_num_free_objects.
3388 (DIV_ROUND_UP): Robustify.
3389 (ggc_recalculate_in_use_p): New function.
3390 (release_pages): Don't inline it.
3391 (ggc_alloc_obj): Don't refuse to allocate objects on pages for
3392 outer contexts.
3393 (ggc_pop_context): Use ggc_recalculate_in_use_p.
3394 (clear_marks): Always save in_use_p.
3395 (sweep_pages): Use ggc_recalculate_in_use_p.
3396 (ggc_page_print_statistics): Avoid signed/unsigned comparisons.
3397 Release pages before counting statistics.
3398
3399 Sun Oct 31 23:42:37 1999 Mark Mitchell <mark@codesourcery.com>
3400
3401 * toplev.c (rest_of_compilation): Fix thinko in this change:
3402
3403 Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR>
3404
3405 (rest_of_compilation): If inside an inlined external function,
3406 pretend we are just being declared.
3407
3408 Sun Oct 31 23:03:25 1999 Jeffrey A Law (law@cygnus.com)
3409
3410 * flow.c (calculate_global_regs_live): Fix thinko.
3411
3412 * integrate.c (expand_inline_function): Fix bugs in previous
3413 change from Oct 28, 1999.
3414
3415 Sun Oct 31 20:27:45 1999 Mark Mitchell <mark@codesourcery.com>
3416
3417 * stmt.c (expand_value_return): Fix typo in this change:
3418
3419 Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3420 (expand_value_return): Correctly convert VAL when promoting function
3421 return; support RETURN_REG being a PARALLEL.
3422
3423 Sun Oct 31 20:25:42 1999 Mark P. Mitchell <mark@codesourcery.com>
3424
3425 * expr.c (readonly_fields_p): Ignore everything except FIELD_DECLs.
3426
3427 Sun Oct 31 20:42:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3428
3429 * hard-reg-set.h (reg_names): Constify a char*.
3430
3431 * regclass.c (reg_names): Likewise.
3432
3433 * regs.h (reg_names): Likewise
3434
3435 * a29k/a29k.c (reg_names): Delete declaration.
3436
3437 * a29k/a29k.h (CONDITIONAL_REGISTER_USAGE): Constify a char*.
3438
3439 * arc/arc.c (arc_save_restore, arc_output_function_prologue,
3440 arc_output_function_epilogue): Likewise.
3441
3442 * elxsi/elxsi.c (reg_names): Likewise.
3443
3444 * gmicro/gmicro.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
3445
3446 * m32r/m32r.c (m32r_output_function_epilogue, emit_cond_move):
3447 Likewise.
3448
3449 * m88k/m88k.c (output_function_profiler): Likewise.
3450
3451 * sparc/sparc.c (sparc_flat_output_function_prologue,
3452 sparc_flat_output_function_epilogue): Likewise.
3453
3454 Sun Oct 31 13:32:15 CET 1999 Marc Lehmann <pcg@goof.com>
3455
3456 * toplev.c (rest_of_compilation): Seperate the setjmp/vfork clobber
3457 warning from -Wuninitialized and put it under -W.
3458 * function.c (uninitialized_vars_warning): Warn only when the
3459 corresponding flag is set.
3460
3461 Sun Oct 31 01:53:30 1999 Jeffrey A Law (law@cygnus.com)
3462
3463 * cse.c (cse_insn): If an insn has only a single set, SRC_EQV
3464 is nonzero and the single set does not have an elt, then assign
3465 it an elt.
3466
3467 * simplify-rtx.c: New file.
3468 * Makefile.in (OBJS): Add simplify-rtx.o
3469 (simplify-rtx.o): Add dependencies.
3470 * rtl.h (simplify_gen_binary, simplify_rtx): Add prototypes.
3471 * cse.c: Use simplify_gen_binary intead of cse_gen_binary.
3472 (cse_gen_binary, simplify_unary_operation): Delete.
3473 (simplify_binary_operation, simplify_plus_minus): Likewise.
3474 (check_fold_consts, simplify_relation_operation): Likewise.
3475 (simplify_ternary_operation): Likewise.
3476 (delete_trivially_dead_insns): Simplify the contents of the
3477 REG_EQUAL note before trying to substitute it into the source
3478 of the reg-reg copy at the end of a libcall sequence.
3479
3480 * combine.c (combine_simplify_rtx): Renamed from simplify_rtx. All
3481 references/callers changed.
3482
3483 * mn10200.c (mn10200_va_arg): Force the return value into a
3484 register.
3485
3486 * fr30.h (EXTRA_CC_NAMES): Remove obsolete macro.
3487
3488 * cccp.c (macroexpand): Avoid out of range accesses for omitted
3489 arguments.
3490
3491 Sat Oct 30 22:42:50 1999 Stephen L Moshier <moshier@mediaone.net>
3492
3493 * c-lex.c (yylex): Accept 'f' in mantissa of hex float constant.
3494
3495 Sat Oct 30 22:19:26 1999 Jeffrey A Law (law@cygnus.com)
3496
3497 * fold-const.c (fold): Fix thinko when optimizing comparisons
3498 against -0.0.
3499
3500 Sat Oct 30 21:32:17 1999 David Starner <dstarner98@aasaa.ofe.org>
3501
3502 * gcc.texi (Passes): Update front-end files to their current
3503 location.
3504
3505 Sat Oct 30 14:41:40 1999 Richard Henderson <rth@cygnus.com>
3506
3507 * alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Call secondary_reload_class.
3508 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
3509 (PREDICATE_CODES): Add addition_operation.
3510 * alpha-protos.h (addition_operation): Declare.
3511 (secondary_reload_class): Likewise.
3512 * alpha.c (addition_operation): New.
3513 (secondary_reload_class): New, from old SECONDARY_INPUT_RELOAD_CLASS.
3514 * alpha.md (adddi3): Turn into expander.
3515 (*lda, *adddi_2): New.
3516 (movsf, movdf patterns): Don't preference integer regs.
3517 (movsi, movdi patterns): Don't preference fp regs.
3518
3519 Sat Oct 30 14:38:22 1999 Richard Henderson <rth@cygnus.com>
3520
3521 * genrecog.c (write_switch): Check for duplicate CODE cases.
3522
3523 Sat Oct 30 14:31:48 1999 Richard Henderson <rth@cygnus.com>
3524
3525 * ggc-common.c: Update pre-function commentary.
3526 * ggc-page.c: Likewise.
3527 (poison): Remove.
3528 (poison_pages): Use memset directly.
3529 (ggc_alloc_obj): Likewise. Use a different pattern than poison_pages.
3530 (ggc_collect): Poison before sweeping.
3531 * ggc-simple.c: Update pre-function commentary.
3532 (ggc_alloc_obj): Poison non-zeroed memory.
3533
3534 Sat Oct 30 14:28:52 1999 Mark Mitchell <mark@codesourcery.com>
3535
3536 * ggc-common.c (ggc_print_statistics): Make arguments to fprintf
3537 match format string, even on 64-bit hosts.
3538 * gcc-page.c (ggc_page_print_statistics): Likewise.
3539
3540 Sat Oct 30 14:38:04 1999 Catherine Moore <clm@cygnus.com>
3541
3542 * config/i386/i386.c (ix86_cpu): Revert last patch.
3543 * config/i386/i386.h (ix86_cpu): Ditto.
3544
3545 Fri Oct 29 17:00:42 1999 Jim Wilson <wilson@cygnus.com>
3546
3547 * stor-layout.c (layout_type): When compute TYPE_SIZE_UNIT from
3548 TYPE_SIZE, convert type of result to sizetype.
3549
3550 Fri Oct 29 14:34:17 1999 Richard Henderson <rth@cygnus.com>
3551
3552 * flow.c (count_or_remove_death_notes): Equate NULL with the
3553 universal set.
3554
3555 * jump.c, reg-stack.c, toplev.c: Revert Oct 27 change.
3556 * toplev.c (rest_of_compilation): Rebuild CFG immediately before
3557 dbr_schedule.
3558
3559 * i386.c (pic_label_no): Delete.
3560 (ix86_attr_length_default): Don't use single_set to peek
3561 inside a parallel.
3562
3563 * recog.c (peephole2_optimize): Allow recog_next_insn to index
3564 the first insn after bb->end.
3565 * i386.md (push mem peeps): Scratch is live after evaluation
3566 of the memory.
3567 (cmp mem peep): Similarly.
3568
3569 Fri Oct 29 11:50:11 1999 Catherine Moore <clm@cygnus.com>
3570
3571 * calls.c (emit_library_call_value): Fix declaration of alignment_pad.
3572 * function.c (pad_to_arg_alignment): Add missing braces.
3573
3574 Fri Oct 29 13:53:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3575
3576 * alpha/alpha-protos.h (literal_section): Add prototype.
3577 (alpha_need_linkage, alpha_start_function,alpha_end_function):
3578 Constify a char*.
3579
3580 * alpha/alpha.c (alpha_ra_ever_killed, set_frame_related_p): Add
3581 prototype.
3582 (alpha_start_function, alpha_end_function, float_strings,
3583 alpha_need_linkage): Constify a char*
3584
3585 * alpha/alpha.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_MI_THUNK): Likewise.
3586
3587 * alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
3588
3589 * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
3590
3591 * alpha/vms.h (ASM_OUTPUT_SECTION_NAME): Likewise.
3592
3593 Fri Oct 29 13:49:39 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3594
3595 * flow.c (debug_flow_info): Add prototype.
3596
3597 * gcc.c (main): Likewise.
3598
3599 * gcse.c (expr_reaches_here_p_work, pre_expr_reaches_here_p_work):
3600 Likewise.
3601
3602 * reload1.c (failed_reload, set_reload_reg): Likewise.
3603
3604 * mips-tfile.c (main): Likewise.
3605 (pfatal_with_name, fancy_abort, botch, fatal, catch_signal): Mark
3606 with ATTRIBUTE_NORETURN.
3607
3608 Fri Oct 29 18:16:03 1999 Andrew Haley <aph@cygnus.com>
3609
3610 * config/i386/i386.h (ENCODE_SECTION_INFO): Don't do anything if
3611 DECL is not a memory ref.
3612
3613 Fri Oct 29 09:05:34 1999 Catherine Moore <clm@cygnus.com>
3614
3615 * config/i386/i386.h (ix86_cpu): Remove extern attribute.
3616 * config/i386/i386.c (ix86_cpu): Add extern attribute.
3617
3618 Fri Oct 29 16:30:04 1999 Andrew Haley <aph@cygnus.com>
3619
3620 * config/mips/elf.h: remove NAME__MAIN and SYMBOL__MAIN.
3621 * config/mips/elf64.h: ditto.
3622
3623 Fri Oct 29 08:03:57 1999 Catherine Moore <clm@cygnus.com>
3624
3625 * expr.c (emit_push_insn): New argument alignment_pad.
3626 Update all callers. Adjust stack pointer based on alignment pad.
3627 * function.c (pad_to_arg_alignment): New argument alignment_pad.
3628 Update all callers. Track alignment_pad if boundary > PARM_BOUNDARY.
3629 (locate_and_pad_parm): New argument alignment_pad. Update all
3630 callers.
3631 * expr.h (emit_push_insn): Update prototype.
3632 (locate_and_pad_parm): Update prototype.
3633 * calls.c (arg_data): Add new field alignment_pad.
3634 (initialize_argument_information): Initialize alignment_pad.
3635
3636 Fri Oct 29 02:51:35 1999 Mark Mitchell <mark@codesourcery.com>
3637
3638 * except.c (free_eh_nesting_info): Free the info itself.
3639 * function.c (free_after_compilation): Don't free NULL.
3640 * gcse.c (alloc_pre_mem): Free the temp_bitmap, too.
3641 (pre_edge_insert): Free inserted.
3642 * stmt.c (free_stmt_status): Don't free NULL.
3643
3644 Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR>
3645
3646 * gcov.c (DIR_SEPARATOR): Provide default.
3647 (output_data): Add test for MS-DOS format absolute filename.
3648 (fancy_abort): Correct program name.
3649 (open_files): Open all files in binary mode.
3650 * libgcc2.c (__bb_exit_func): Likewise.
3651
3652 * profile.c (init_branch_prob): Specify binary when opening files.
3653
3654 * flags.h (flag_unwind_tables): New decl.
3655 * toplev.c (flag_unwind_table): New definition.
3656 (f_options): Add -funwind-tables.
3657 (decode_g_option): Clarify warning when unknown -g option is given.
3658 (rest_of_compilation): If inside an inlined external function,
3659 pretend we are just being declared.
3660
3661 * dwarf2out.c (dwarf2out_do_frame): Check -funwind_tables.
3662 (dwarf2out_frame_finish): Likewise.
3663
3664 Fri Oct 29 07:44:26 1999 Vasco Pedro <vp@di.fct.unl.pt>
3665
3666 * fold-const.c (merge_ranges): If not in0, but in1, handle
3667 upper bounds equal like subset case.
3668
3669 Thu Oct 28 19:22:24 1999 Douglas Rupp <rupp@gnat.com>
3670
3671 * dbxout.c (dbxout_parms): Generate a second stabs line for parameters
3672 passed in a register but moved to the stack.
3673
3674 Thu Oct 28 19:12:57 1999 Sam Tardieu <tardieu@act-europe.fr>
3675
3676 * gcc.c (pass_exit_codes, greatest_status): New variables.
3677 (struct option_map): Add entry for "--pass-exit-codes".
3678 (execute): Update greatest_status if error.
3679 (display_help): Add documentation for -pass-exit-codes.
3680 (process_command): Handle -pass-exit-codes.
3681 (main): Look at pass_exit_codes and greatest_status on call to exit.
3682
3683 Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3684
3685 * reload.c (find_reloads): Refine test for no input reload
3686 case to not includes reloads emitted after insn.
3687
3688 * function.c (find_temp_slots_from_address): Handle sum involving
3689 a register that points to a temp slot.
3690 (update_temp_slot_address): Make recursive call if both old and
3691 new are PLUS with a common operand.
3692 * calls.c (expand_call): Mark temp slot for result as having
3693 address taken.
3694
3695 * rtlanal.c (reg_referenced_p, case IF_THEN_ELSE): New case.
3696
3697 * gcc.c (process_command): Add standard_exec_prefix with "GCC"
3698 component as well as "BINUTILS".
3699
3700 * integrate.h (copy_rtx_and_substitute): New arg, FOR_LHS.
3701 * integrate.c (copy_rtx_and_substitute): Likewise.
3702 (expand_inline_function, integrate_parm_decls, integrate_decl_tree):
3703 All callers changed.
3704 * unroll.c (inital_reg_note_copy, copy_loop_body): Likewise.
3705
3706 * dbxout.c (dbxout_type, case INTEGER_TYPE_NODE): If can use
3707 gdb extensions, write size of type; also be more consistent
3708 in using references when this is a subtype.
3709
3710 * pa.md (extv, extzv, insv): Use define_expand to reject constant
3711 that is out of range.
3712
3713 * loop.c (unknown_constant_address_altered): New variable.
3714 (prescan_loop): Initialize it.
3715 (note_addr_stored): Set it for RTX_UNCHANGING_P MEM.
3716 (invariant_p, case MEM): Remove handling for volatile and readonly;
3717 check new variable if readonly.
3718 (check_dbra_loop): Chdeck unknown_constant_address_altered.
3719
3720 * cse.c (canon_hash, case MEM): Do not record if BLKmode.
3721 (addr_affects_sp_p): Removed from note_mem_written and only
3722 define #ifdef AUTO_INC_DEC.
3723
3724 * alpha.c (input_operand, case ADDRESSOF): Treat as REG.
3725
3726 * regclass.c (record_reg_classes): Properly handle register move
3727 directions.
3728
3729 * varasm.c (initializer_constant_valid_p, case MINUS_EXPR):
3730 Don't think valid if both operands are invalid.
3731 (struct constant_descriptor): New field RTL.
3732 (mark_const_hash_entry): Mark it.
3733 (record_constant{,_rtx}): Initialize it.
3734 (output_constant_def): Allocate RTL in permanent obstack and
3735 save in table.
3736 ({record,compare}_constant_1): Modes must match for
3737 CONSTRUCTOR of ARRAY_TYPE.
3738
3739 * c-common.h (initializer_constant_valid_p): Delete decl from here.
3740 * output.h (initializer_constant_valid_p): Move decl to here.
3741 * c-common.c (initializer_constant_valid_p): Delete function from here.
3742 * varasm.c (initializer_constant_valid_p): Move function to here.
3743
3744 * tree.h (STRIP_SIGN_NOPS): New macro.
3745 * fold-const.c (optimize_minmax_comparison): New function.
3746 (invert_truthvalue, case WITH_RECORD_EXPR): New case.
3747 (fold): Use STRIP_SIGN_NOPS instead of STRIP_TYPE_NOPS.
3748 (fold, case EQ_EXPR): Call optimize_minmax_comparison and add
3749 cases with ABS_EXPR, NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR, and
3750 widening conversions.
3751 (fold, case LE_EXPR): Rework changing unsigned to signed comparisons
3752 to look at size of mode, not precision of type; also add missing cases.
3753 (optimize_bit_field_compare, decode_field_reference): Don't try to
3754 optimize COMPONENT_REF of a PLACEHOLDER_EXPR.
3755
3756 * dwarf2out.c (ctype.h): Include.
3757 (dwarf2out_set_demangle_name_func): New function.
3758 (size_of_line_info): Deleted.
3759 (output_line_info): Compute size of line info table from difference
3760 of labels.
3761 (base_type_die, add_name_attribute): Call demangle function, if any.
3762 (field_byte_offset): Use bits per word for variable length fields.
3763 (gen_array_type_die): Add array name.
3764 (gen_subprogram_die): Ignore DECL_INLINE if -fno-inline.
3765 (dwarf2out_add_library_unit_info): New function.
3766
3767 * explow.c (set_stack_check_libfunc): New function.
3768 (stack_check_libfunc): New static variable.
3769 (probe_stack_range): Allow front-end to set up a libfunc to call.
3770
3771 * combine.c (simplify_comparison): When making comparison in wider
3772 mode, check for having commuted an AND and a SUBREG.
3773 (contains_muldiv): New function.
3774 (try_combine): Call it when dividing a PARALLEL.
3775 (simplify_rtx, case TRUNCATE): Don't remove for umulsi3_highpart.
3776 (simplify_comparison, case ASHIFTRT): Recognize sign-extension of
3777 a PLUS.
3778 (record_value_for_reg): If TEM is a binary operation with two CLOBBERs,
3779 use one of the CLOBBERs instead.
3780 (if_then_else_cond): If comparing against zero, just return thing
3781 being compared.
3782
3783 * optabs.c (expand_abs): If machine has MAX, ABS (x) is MAX (x, -x).
3784 Don't generate shifts and subtract if have conditional arithmetic.
3785
3786 * rtl.h (delete_barrier): New declaration.
3787 * jump.c (jump_optimize): Set up to handle conditional call.
3788 In conditional arithmetic case, handle CALL_INSN followed by a BARRIER.
3789 (delete_barrier): New function.
3790
3791 * rtl.c (read_rtx): Call fatal if bad RTL code; check for bad mode.
3792
3793 * recog.c (nonmemory_operand): Accept ADDRESSOF.
3794
3795 * tree.c (build_type_attribute_variant): Push to obstack of
3796 ttype around type_hash_canon call.
3797
3798 * expr.c (placeholder_list): Move decl to file scope.
3799 (expand_expr): Don't force access to volatile just because its
3800 address is taken.
3801 If ignoring reference operations, just expand the operands.
3802 (expand_expr, case COMPONENT_REF): Propagate
3803 EXPAND_CONST_ADDRESS to recursive call when expanding inner.
3804 Refine test for using bitfield operations vs pointer punning.
3805 (expand_expr, case CONVERT_EXPR): If converting to
3806 BLKmode UNION_TYPE from BLKmode, just return inner object.
3807 Use proper mode in store_field call.
3808 Properly set sizes of object to store and total size in store_field
3809 call for convert to union.
3810 (expand_expr, case ARRAY_REF): If OP0 is in a register, put it in
3811 memory (like for ADDR_EXPR). Also, don't put constant in register if
3812 we'll want it in memory.
3813 (readonly_fields_p): New function.
3814 (expand_expr, case INDIRECT_REF): Call it if LHS.
3815 (expand_assignment): Handle a RESULT_DECL where
3816 DECL_RTL is a PARALLEL.
3817 (do_jump, case WITH_RECORD_EXPR): New case.
3818 (get_inner_reference): Always go inside a CONVERT_EXPR
3819 and NOP_EXPR if both modes are the same.
3820 (store_field): Use bitfield operations if size of bitsize is not same
3821 as size of RHS's type.
3822 Check for bitpos not a multiple of alignment in BLKmode case.
3823 Do block move in largest possible alignment.
3824 (store_constructor): Set BITSIZE to -1 for variable size and properly
3825 in case of array of BLKmode.
3826 (expand_expr_unaligned): New function.
3827 (do_compare_and_jump): Call it.
3828
3829 * mips/iris5.h (SWITCHES_NEED_SPACES): New macro.
3830 * collect2.c (main): Only allow -ofoo if SWITCHES_NEED_SPACES
3831 does not include 'o'.
3832
3833 * function.c (instantiate_virtual_regs_1, case SET): Handle case where
3834 both SET_DEST and SET_SRC reference a virtual register.
3835 (gen_mem_addressof): Copy RTX_UNCHANGING_P from new REG to old REG.
3836
3837 * integrate.c (expand_inline_function): Handle case of setting
3838 virtual stack vars register (from built in setjmp); when parameter
3839 lives in memory, expand virtual_{stack_vars,incoming_args}_rtx early.
3840 (subst_constant): Add new parm, MEMONLY.
3841 (expand_inline_function, integrate_parm_decls): Pass new parm.
3842 (integrate_decl_tree): Likewise.
3843 (copy_rtx_and_substitute, case MEM): Do copy RTX_UNCHANGING_P.
3844 (try_constants): Call subst_constants twice, with MEMONLY 0 and 1.
3845 (copy_rtx_and_substitute, case SET): Add explicit calls to
3846 copy_rtx_and_substitute for both sides.
3847
3848 * stmt.c (expand_asm_operands): Don't use TREE_STRING_LENGTH for
3849 constraints.
3850 (pushcase{,_range}): Convert to NOMINAL_TYPE after checking for
3851 within INDEX_TYPE, instead of before.
3852 (fixup_gotos): Use f->target_rtl, not the next insn,
3853 since latter may be from a later fixup.
3854 (expand_value_return): Correctly convert VAL when promoting function
3855 return; support RETURN_REG being a PARALLEL.
3856 (expand_return): When checking for result in regs and having
3857 cleanup, consider PARALLEL in DECL_RTL as being in regs.
3858
3859 1999-10-28 21:27 -0700 Zack Weinberg <zack@bitmover.com>
3860
3861 * cpplib.h (struct cpp_buffer: fname, nominal_fname,
3862 last_nominal_fname): Mark const.
3863 (struct include_hash: name, nshort, control_macro): Mark
3864 const.
3865 (struct macrodef: symnam): Mark const.
3866 (struct if_stack: fname): Mark const.
3867 (is_idchar, is_idstart, is_hor_space, trigraph_table): Delete.
3868 (IStable): New character-syntax array which encompasses all
3869 the old is_foo arrays.
3870 (is_idchar, is_numchar, is_idstart, is_numstart, is_hspace,
3871 is_space): New macros for interrogating IStable.
3872 (check_macro_name): Kill last argument. All callers changed.
3873
3874 * cppinit.c (initialize_char_syntax): Delete.
3875 (is_idchar, is_idstart, is_hor_space, is_space,
3876 trigraph_table): Delete.
3877 (IStable): New. Initialize with clever macros to avoid
3878 information duplication.
3879 (builtin_array): Table of builtins to get rid of explicit list
3880 in initialize_builtins.
3881 (initialize_builtins): Use builtins_array.
3882 (cpp_start_read): Call init_IStable, and set IStable['$'] if
3883 opts->dollars_in_ident.
3884
3885 * cppexp.c: Change all refs to is_xyz[] arrays to use new
3886 is_xyz() macros.
3887 (cpp_parse_expr): Avoid 'format string is not constant'
3888 warning. Use ISGRAPH to identify printable chars.
3889 * cppfiles.c: Change all refs to is_xyz[] arrays to use new
3890 is_xyz() macros.
3891 (read_and_prescan): Map trigraphs to chars with open-coded
3892 if-else-if-... sequence, not a lookup table.
3893 * cpphash.c: Change all refs to is_xyz[] arrays to use new
3894 is_xyz() macros.
3895 * cpplib.c: Change all refs to is_xyz[] arrays to use new
3896 is_xyz() macros. Kill SKIP_ALL_WHITE_SPACE (unused).
3897 (check_macro_name): Remove ability to report an invalid
3898 assertion name, which is never used.
3899 (do_line): Constify a couple of char *'s.
3900 * cppmain.c (main): Call cpp_cleanup before returning.
3901
3902 Thu Oct 28 21:16:35 1999 Mark Mitchell <mark@codesourcery.com>
3903
3904 * ggc.h (struct ggc_statistics): New type.
3905 (ggc_get_size): New function.
3906 (ggc_print_statistics): Likewise.
3907 * ggc-common.c (ggc_stats): New variable.
3908 (ggc_mark_rtx_children): Keep statistics.
3909 (ggc_mark_tree_children): Likewise.
3910 (ggc_print_statistics): New function.
3911 * ggc-page.c (struct globals): Add bytes_mapped field.
3912 (alloc_anon): Update it.
3913 (release_pages): Likewise.
3914 (ggc_get_size): New function.
3915 (ggc_page_print_statistics): New function.
3916 * ggc-simple.c (ggc_get_size): New function.
3917
3918 Fri Oct 29 06:32:44 1999 Geoffrey Keating <geoffk@cygnus.com>
3919
3920 * flow.c (propagate_block): When the last reference to a label
3921 before an ADDR_VEC is deleted because the reference is a dead
3922 store, delete the ADDR_VEC.
3923
3924 Thu Oct 28 12:28:50 1999 Richard Henderson <rth@cygnus.com>
3925
3926 * resource.c (find_free_register): Don't use the frame pointer
3927 if frame_pointer_needed.
3928
3929 Thu Oct 28 10:02:00 1999 Jim Wilson <wilson@cygnus.com>
3930
3931 * config/mips/mips.c (mips_va_arg): Delete gen_jump as emit_jump arg.
3932 (function_arg_pass_by_reference): Check for a NULL pointer in cum.
3933
3934 * config/i960/i960.c (i960_va_start): New locals base, num.
3935 Use INDIRECT_REF instead of ARRAY_REF on valist.
3936 (i960_va_arg): Use INDIRECT_REF instead of ARRAY_REF on valist.
3937
3938 Thu Oct 28 09:45:48 1999 Mark Mitchell <mark@codesourcery.com>
3939
3940 * gcse.c (delete_null_pointer_checks): Fix typo in previous change.
3941
3942 Thu Oct 28 03:37:50 1999 Peter Gerwinski <peter@gerwinski.de>
3943
3944 * tree.def (PLACEHOLDER_EXPR): Update comments.
3945
3946 Thu Oct 28 06:47:32 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3947
3948 * c-common.c (check_format_info): Avoid non-literal format string
3949 warnings when `first_arg_num' is zero.
3950
3951 Thu Oct 28 12:28:48 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3952
3953 * rtl.texi: Delete explicit Prev, Up and Next entries in "@node"s.
3954
3955 Thu Oct 28 11:05:13 1999 Richard Earnshaw <rearnsha@arm.com>
3956
3957 * arm.md (casesi_insn): Add a clobber of the condition code
3958 register.
3959
3960 Mon Oct 18 21:16:06 1999 Fred Fish <fnf@be.com>
3961
3962 * tm.texi (CC1PLUS_SPEC): Make it clear in the docs that CC1_SPEC is
3963 used by both cc1 and cc1plus.
3964
3965 Thu Oct 28 10:00:48 1999 Nick Clifton <nickc@cygnus.com>
3966
3967 * config/arm/arm.c: Initialise arm_structure_size_boundary to
3968 DEFAULT_STRUCTURE_SIZE_BOUNDARY.
3969 * config/arm/arm.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define
3970 to the value 32 if it has not already been defined.
3971 * config/arm/netbsd.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY):
3972 Override definition in arm.h with a value of 8.
3973
3974 Thu Oct 28 03:12:02 1999 David Starner <dstarner98@aasaa.ofe.org>
3975
3976 * c-pragma.c (push_alignment): Don't check the return value
3977 of xmalloc.
3978
3979 Thu Oct 28 03:08:38 1999 Matteo Frigo <athena@fftw.org>
3980
3981 * sparc.h (ADJUST_COST): Fix thinko.
3982
3983 Thu Oct 28 02:44:03 1999 Glen Nakamura <glen.nakamura@usa.net>
3984
3985 * cccp.c (rescan): Fixed obp pointer handling around call to
3986 check_expand subroutine.
3987
3988 Thu Oct 28 02:15:22 1999 Jeffrey A Law (law@cygnus.com)
3989
3990 * gcse.c (delete_null_pointer_checks): Only record non-null info
3991 for pseudos when examining stores.
3992
3993 * arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add
3994 splitters for these patterns. Use "#" for output templates.
3995 (addsi3_carryin_shift): New pattern.
3996
3997 Thu Oct 28 10:20:02 1999 Geoffrey Keating <geoffk@cygnus.com>
3998
3999 * config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
4000 of the function return register into a plain REG until
4001 after function inlining is done.
4002
4003 Wed Oct 27 15:21:46 1999 Richard Henderson <rth@cygnus.com>
4004
4005 * jump.c (jump_optimize_1): If we did cross-jumping, and
4006 the data will matter, rebuild the CFG.
4007 * reg-stack.c (reg_to_stack): Only (re)build the CFG if
4008 not optimizing. Don't run shorten_branches.
4009 * toplev.c (rest_of_compilation): Run shorten_branches after
4010 reg_to_stack.
4011
4012 Wed Oct 27 12:33:40 1999 Mark Mitchell <mark@codesourcery.com>
4013
4014 * rtl.h (note_stores): Add additional paramter.
4015 * rtlanal.c (reg_set_p_1): Take additional paramter.
4016 (reg_set_last_1): Likewise.
4017 (reg_set_p): Adjust call to note_stores.
4018 (reg_set_last): Likewise.
4019 (note_stores): Pass data parameter to worker function.
4020 * alias.c (record_set): Take additional parameter.
4021 (init_alias_analysis): Pass it.
4022 * caller-save.c (mark_set_regs): Take additional parameter.
4023 (save_call_clobbered_regs): Pass NULL to note_stores.
4024 * combine.c (set_nonzero_bits_and_sign_copies): Take additional
4025 parameter.
4026 (record_dead_and_set_regs_1): Likewise.
4027 (reg_dead_at_p_1): Likewise.
4028 (combine_instructions): Adjust calls to note_stores.
4029 (try_combine): Likewise.
4030 (record_dead_insn): Remove.
4031 (record_dead_and_set_regs): Adjust calls to note_stores.
4032 (reg_dead_at_p): Likewise.
4033 * cse.c (invalidate_skipped_set): Take additional parameter.
4034 (cse_check_loop_start): Likewise.
4035 (cse_check_loop_start_value): Remove.
4036 (cse_set_around_loop): Adjust calls to note_stores.
4037 * flow.c (notice_stack_pointer_modification): Take additional
4038 parameter. Remove duplicate declaration.
4039 (record_volatile_insns): Adjust calls to note_stores.
4040 * gcse.c (record_set_info): Take additional parameter.
4041 (record_last_set_info): Likewise.
4042 (invalidate_nonnull_info): Likewise.
4043 (record_set_insn): Remove.
4044 (compute_sets): Adjust calls to note_stores.
4045 (last_set_insn): Remove.
4046 (compute_hash_table): Adjust calls to note_stores.
4047 (insert_insn_end_bb): Likewise.
4048 (delete_null_pointer_checks): Likewise.
4049 * global.c (mark_reg_store): Take additional parameter.
4050 (mark_reg_clobber): Likewise.
4051 (reg_becomes_live): Likewise.
4052 (global_conflicts): Adjust calls to note_stores.
4053 (build_insn_chain): Likewise.
4054 * integrate.c (note_modified_parmregs): Take additional parameter.
4055 (mark_stores): Likewise. Make it static.
4056 (save_for_inline_nocopy): Adjust calls to note_stores.
4057 (try_constants): Likewise.
4058 * integrate.h (mark_stores): Remove declaration.
4059 * jump.c (mark_modified_reg): Take additional parameter.
4060 (thread_jumps): Adjust calls to note_stores.
4061 * local-alloc.c (validate_equiv_mem_from_store): Take additional
4062 parameter.
4063 (no_equiv): Likewise.
4064 (reg_is_set): Likewise.
4065 (validate_equiv_mem): Adjust calls to note_stores.
4066 (update_equiv_regs): Likewise.
4067 (block_alloc): Likewise.
4068 * loop.c (note_set_pseudo_multiple_uses_retval): Remove.
4069 (note_addr_stored): Take additional parameter.
4070 (note_set_pseudo_multiple_uses): Likewise.
4071 (record_initial): Likewise.
4072 (prescan_loop): Adjust calls to note_stores.
4073 (strength_reduce): Likewise.
4074 (check_dbra_loop): Likewise.
4075 * regmove.c (flags_set_1): Take additional paramter.
4076 (mark_flags_life_zones): Adjust calls to note_stores.
4077 * reload1.c (mark_not_eliminable): Take additional parameter.
4078 (forget_old_reloads_1): Likewise.
4079 (reload_cse_invalidate_rtx): Likewise.
4080 (reload_cse_check_clobber): Likewise.
4081 (reload_combine_note_store): Likewise.
4082 (move2add_note_store): Likewise.
4083 (reload): Adjust calls to note_stores.
4084 (reload_as_needed): Likewise.
4085 (emit_reload_insns): Likewise.
4086 (reload_cse_regs_1): Likewise.
4087 (reload_cse_record_set): Adjust calls to reload_cse_invalidate_rtx.
4088 (reload_combine): Adjust calls to note_stores.
4089 * resource.c (update_live_status): Take additional paramter.
4090 (mark_target_live_regs): Adjust calls to note_stores.
4091 * stupid.c (find_clobbered_regs): Take additional parameter.
4092 (stupid_life_analysis): Adjust calls to note_stores.
4093
4094 Wed Oct 27 19:26:12 1999 Nick Clifton <nickc@cygnus.com>
4095
4096 * config/arm/coff.h (STRUCTURE_SIZE_BOUNDARY): Delete
4097 definition.
4098
4099 * config/arm/elf.h (STRUCTURE_SIZE_BOUNDARY): Delete
4100 definition.
4101
4102 * config/arm/arm.h (STRUCTURE_SIZE_BOUNDARY): Define in terms
4103 of the variable arm_structure_size_boundary.
4104
4105 Wed Oct 27 02:05:58 1999 Mark P. Mitchell <mark@codesourcery.com>
4106
4107 * alias.c (init_alias_analysis): Allocate reg_known_value and
4108 reg_known_equiv_p on the heap. Likewise for new_reg_base_value
4109 and reg_seen.
4110 (end_alias_analysis): Free reg_known_value and reg_known_equiv_p.
4111 * cse.c (cse_main): Call end_alias_analysis.
4112 * haifa-sched.c (schedule_insns): Likewise.
4113 * local-alloc. (update_equiv_regs): Likewise.
4114 * reload1.c (reload_cse_regs): Likewise.
4115
4116 Wed Oct 27 01:49:17 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4117
4118 * sparc/sparc.c (sparc_override_options): Clear MASK_FPU_SET.
4119 * sparc/sparc.h (TARGET_SWITCHES): Add "fpu" entry for reverse
4120 mapping from MASK_FPU.
4121
4122 Wed Oct 27 01:42:26 1999 Scott Christley <scottc@net-community.com>
4123
4124 * sparc.md (call): Don't bound structure return size to 0xfff.
4125
4126 Wed Oct 27 00:56:59 1999 Richard Henderson <rth@cygnus.com>
4127
4128 * resource.c (mark_target_live_regs): Check that the target
4129 insn wasn't created after compute_bb_for_insn.
4130
4131 Tue Oct 26 23:15:03 1999 Mark Mitchell <mark@codesourcery.com>
4132
4133 * ggc-page.c (poison_pages): Don't be overzealous.
4134
4135 Tue Oct 26 23:29:18 1999 Jeffrey A Law (law@cygnus.com)
4136
4137 * alias.c: Update comments for ADDRESS.
4138 (nonlocal_reference_p): Look inside the ADDRESS to determine if
4139 it is a local memory reference.
4140
4141 * c-typeck.c (build_function_call): Check that the built-in
4142 function is of class BUILT_IN_NORMAL before trying to recongize
4143 it as BUILT_IN_ABS.
4144 * calls.c (calls_function_1): Similarly for BUILT_IN_ALLOCA.
4145 * stmt.c (expand_end_cae): Similarly for BUILT_IN_CLASSIFY_TYPE.
4146
4147 Wed Oct 27 00:14:13 1999 Robert Lipe <robertlipe@usa.net>
4148
4149 * gcse.c (expr_reaches_here_p): Use xcalloc and explit free instead
4150 of alloca.
4151 (pre_gcse): Likewise.
4152 (hoist_expr_reaches_here_p): Likewise.
4153 (hoist_code): Likewise.
4154 (pre_expr_reaches_here_p): Replace alloca with xcalloc. Move core
4155 code to ...
4156 (pre_expr_reaches_here_p_work): ... here.
4157 (expr_reaches_here_p): Replace alloca with xcalloc. Move core
4158 code to ...
4159 (expr_reaches_here_p_work): ... here.
4160
4161 Tue Oct 26 20:42:45 1999 Richard Henderson <rth@cygnus.com>
4162
4163 * resource.c (find_basic_block): Delete.
4164 (mark_target_live_regs, incr_ticks_for_insn): Use BLOCK_NUM instead.
4165 (init_resource_info): Call compute_bb_for_insn.
4166
4167 Tue Oct 26 20:21:02 1999 Richard Henderson <rth@cygnus.com>
4168
4169 * flow.c (merge_blocks_move_predecessor_nojumps): Cope
4170 with already adjacent blocks, but no fallthru.
4171 (merge_blocks_move_successor_nojumps): Simplify.
4172 (debug_flow_info): New.
4173
4174 * toplev.c (rest_of_compilation): Open jump1 dump file before
4175 jump and close after, as opposed to just using dump_rtl.
4176
4177 Wed Oct 27 03:09:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
4178
4179 * reload.h (earlyclobber_operand_p): Declare.
4180 * reload.c (earlyclobber_operand_p): Don't declare. No longer static.
4181 * reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with
4182 an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
4183 case where the RELOAD_OTHER reload is new. Use earlyclobber_operand_p.
4184
4185 Tue Oct 26 18:23:38 1999 Jan Hubicka <hubicka@freesoft.cz>
4186 Richard Henderson <rth@cygnus.com>
4187
4188 * emit-rtl.c (emit_block_insn_before): New.
4189 (emit_block_insn_after): New.
4190 * basic-block.h: Declare them.
4191
4192 * bitmap.h: Protect from multiple inclusion.
4193
4194 * recog.c (scratch_operand): Handle VOIDmode correctly.
4195
4196 * rtl.h (JUMP_CROSS_JUMP_DEATH_MATTERS): New.
4197
4198 * builtins.c (expand_builtin_apply_args_1): Remove STACK_REGS hack.
4199 * function.c (assign_parms): Likewise.
4200 * global.c (global_conflicts): Clarify STACK_REGS commentary.
4201
4202 * reg-stack.c (max_uid): Remove.
4203 (blocks, block_begin, block_end, block_drops_in): Remove.
4204 (block_stack_in, block_out_reg_set, block_number): Remove.
4205 (struct block_info_def, BLOCK_INFO): New.
4206 (enum emit_where): New.
4207 (current_block): New.
4208 (BLOCK_NUM): Remove.
4209 (mark_regs_pat, record_label_references): Remove.
4210 (record_reg_life_pat, record_reg_life, find_blocks): Remove.
4211 (nan): New.
4212 (goto_block_pat, print_blocks, dump_stack_info): Remove.
4213 (reg_to_stack): Simplified test for existance of fp code. Use
4214 flow.c code. Call shorten_branches after cross-jump opt.
4215 (check_asm_stack_operands): Renamed from record_asm_reg_life.
4216 Return false if the asm doesn't use stack regs. Don't do life
4217 analysis on the asm.
4218 (emit_pop_insn): Replace function pointer arg `when' with
4219 enum `where'. Update all callers.
4220 (change_stack): Likewise. Update basic block end.
4221 (emit_swap_insn): Use current_block->head to limit reverse search
4222 for start of block. Use emit_block_insn_after.
4223 (subst_stack_regs_pat): Handle USE and CLOBBER patterns.
4224 (subst_asm_stack_regs): Use check_asm_stack_operands. Use direct
4225 structure assignment instead of bcopy.
4226 (print_stack): New.
4227 (convert_regs_entry, convert_regs_exit): New.
4228 (convert_regs_1, convert_regs_2): Split out from convert_regs.
4229 Work on basic blocks and the CFG.
4230 (convert_regs): Use them.
4231
4232 * i386.c (output_fix_trunc): Remove code for DImode input operand
4233 not at top-of-stack.
4234 * i386.c (fix_truncdfdi2, fix_truncsfdi2): Use scratch with
4235 appropriate mode.
4236 (fix_truncdi_1): Allow any mode scratch.
4237
4238 Tue Oct 26 13:30:35 1999 Richard Henderson <rth@cygnus.com>
4239
4240 * alpha.h (TARGET_MEM_FUNCTIONS): Define here.
4241 * linux.h, netbsd.h, vms.h: Not here.
4242
4243 1999-10-26 Gavin Romig-Koch <gavin@cygnus.com>
4244
4245 * config/mips/mips.h (ISA_HAS_64BIT_REGS,ISA_HAS_BRANCHLIKELY,
4246 ISA_HAS_FP4,ISA_HAS_CONDMOVE): New.
4247 (GENERATE_BRANCHLIKELY,HAVE_SQRT_P,
4248 CONDITIONAL_REGISTER_USEAGE): Use them.
4249 * config/mips/mips.c (mips_move_1word,mips_move_2words,
4250 gen_conditional_branch,override_options) : Use them.
4251 * config/mips/mips.md : Use them.
4252
4253 Tue Oct 26 13:09:23 1999 Richard Henderson <rth@cygnus.com>
4254
4255 * i386.md (zero_extendqihi2): Use SImode register name with andl.
4256
4257 Tue Oct 26 12:35:38 1999 Richard Henderson <rth@cygnus.com>
4258
4259 * integrate.c (function_cannot_inline_p): Don't allow inlining
4260 if setjmp is used.
4261
4262 Tue Oct 26 14:10:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4263
4264 * c-parse.in (cast_expr): Constify.
4265
4266 * cccp.c (special_symbol): Likewise.
4267
4268 * cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise.
4269
4270 * dwarf2out.c (base_type_die): Likewise.
4271
4272 * global.c (allocno_compare): Likewise.
4273
4274 * local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
4275
4276 * regclass.c (fix_register): Likewise.
4277
4278 * rtl.h (fix_register): Likewise.
4279
4280 * stupid.c (stupid_reg_compare): Likewise.
4281
4282 * toplev.c (decode_f_option): Likewise.
4283
4284 * tree.c (build_complex_type): Likewise.
4285
4286 Tue Oct 26 18:35:25 1999 Richard Earnshaw <rearnsha@arm.com>
4287
4288 * output.h: Don't unnecessarily conditionalize prototypes on TREE_CODE.
4289
4290 Tue Oct 26 15:42:56 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4291
4292 * reload.c (find_reloads): Compute mode and nregs fields of all
4293 reloads.
4294 * reload1.c (calculate_needs_all_insns): Simplify a bit.
4295 (calculate_needs): Use precomputed mode/nregs values.
4296 (allocate_reload_reg): Likewise.
4297 Break out two...
4298 (failed_reload, set_reload_reg): ... new functions.
4299 (choose_reload_regs_init): New function, mostly broken out from...
4300 (choose_reload_regs): ... here. Lose all the save_xxx nonsense.
4301 Also lose one #if 0 block.
4302
4303 Tue Oct 26 02:48:32 1999 Marc Espie <espie@cvs.openbsd.org>
4304
4305 * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET): Fix target name
4306 substitution.
4307
4308 Tue Oct 26 01:27:32 1999 Mark Mitchell <mark@codesourcery.com>
4309
4310 * tree.h (BLOCK_TYPE_TAGS): Remove.
4311 (BLOCK_END_NOTE): Likewise.
4312 (BLOCK_LIVE_RANGE_FLAG): Likewise.
4313 (BLOCK_LIVE_RANGE_START): Likewise.
4314 (BLOCK_LIVE_RANGE_END): Likewise.
4315 (tree_block): Remove live_range_flag, live_range_var_flag, and
4316 type_tags. Remove end_note, live_range_start, and live_range_end.
4317 (remember_end_note): Remove prototype.
4318 * tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
4319 * c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
4320 remember_end_note.
4321 * ggc-common.c (ggc_mark_tree_children): Don't mark
4322 BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
4323 * integrate.c (adjust_copied_decl_tree): Remove.
4324 * print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
4325 * stmt.c (last_block_end_note): Remove.
4326 (init_stmt): Don't add a GC root for it.
4327 (expand_fixup): Don't set it.
4328 (remember_end_note): Remove.
4329 (expand_end_bindings): Don't set last_block_end_note.
4330
4331 Tue Oct 26 00:41:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4332
4333 * reload1.c (reload_reg_free_for_value_p): Show
4334 RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
4335 reloads.
4336
4337 Mon Oct 25 23:54:45 1999 Geoff Keating <geoffk@cygnus.com>
4338
4339 * expmed.c (extract_bit_field): Allow for the case of non-integer
4340 objects that are smaller than a word (like SFmode on a 64-bit
4341 machine).
4342
4343 * loop.c (basic_induction_var): A non-integer variable which is
4344 being set by a paradoxical subreg is probably not a biv.
4345
4346 1999-10-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4347
4348 * prefix.c (translate_name) Check for empty prefix string.
4349
4350 Mon Oct 25 23:10:45 1999 Andreas Schwab <schwab@suse.de>
4351
4352 * Makefile.in (CPP_CROSS_NAME): New variable.
4353 (install-cpp): Use it instead of CPP_INSTALL_NAME for the cross
4354 xcpp.
4355 (uninstall-cpp): Use CPP_INSTALL_NAME and CPP_CROSS_NAME for the
4356 names of the files to be uninstalled.
4357
4358 Mon Oct 25 23:03:09 1999 Jeffrey A Law (law@cygnus.com)
4359
4360 * collect2.c (IS_DIR_SEPARATOR): Define.
4361 (prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR.
4362
4363 * som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static
4364 functions too.
4365
4366 * haifa-sched.c (add_dependence): Update the true dependency
4367 cache the first time we add a true dependence to the LOG_LINKS chain.
4368
4369 Mon Oct 25 22:27:40 1999 Jim Kingdon <http://developer.redhat.com/>
4370
4371 * fold-const.c (fold): Fix comment.
4372
4373 Mon Oct 25 22:49:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4374
4375 * dbxout.c (lastfile, cwd, dbxout_type_method_1,
4376 dbxout_symbol_location, dbxout_symbol_name, dbxout_init,
4377 dbxout_start_new_source_file, dbxout_source_file,
4378 dbxout_source_line, dbxout_finish, dbxout_type_fields,
4379 dbxout_type_methods, dbxout_symbol, dbxout_prepare_symbol):
4380 Constify a char*.
4381 (dbxout_types, dbxout_args, dbxout_symbol): Delete prototypes.
4382 (dbxout_symbol): Mark parameter `local' with ATTRIBUTE_UNUSED.
4383 (dbxout_block): Initialize variable `blocknum'.
4384
4385 * dbxout.h (dbxout_init, dbxout_finish,
4386 dbxout_start_new_source_file, dbxout_source_file, dbxout_types,
4387 dbxout_args, dbxout_source_line): Constify a char*.
4388
4389 * dwarfout.c (dwarf_tag_name, dwarf_attr_name,
4390 dwarf_stack_op_name, dwarf_typemod_name, dwarf_fmt_byte_name,
4391 dwarf_fund_type_name, name_attribute, stmt_list_attribute,
4392 low_pc_attribute, high_pc_attribute, body_begin_attribute,
4393 body_end_attribute, comp_dir_attribute, sf_names_attribute,
4394 src_info_attribute, mac_info_attribute, producer_attribute,
4395 lookup_filename, generate_macinfo_entry, fundamental_type_code,
4396 dwarfout_line, dwarfout_start_new_source_file, dwarfout_define,
4397 dwarfout_undef): Constify a char*.
4398 (add_incomplete_type, retry_incomplete_types): Add prototypes.
4399
4400 * dwarfout.h (dwarfout_define, dwarfout_undef,
4401 dwarfout_start_new_source_file, dwarfout_line): Constify a char*.
4402
4403 1999-10-25 Gavin Romig-Koch <gavin@cygnus.com>
4404
4405 * config/mips/mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
4406 (MULTILIB_ISA_DEFAULT): New.
4407 (MULTILIB_DEFAULTS): Use it.
4408 * config/mips/mips.c (): Remove the now unnecessary definition
4409 of MIPS_ISA_DEFAULT.
4410 * config/mips/elf64.h (MULTILIB_DEFAULTS): Remove the now
4411 unnecessary definition.
4412
4413 Mon Oct 25 22:08:35 1999 Richard Earnshaw (rearnsha@arm.com)
4414
4415 * arm.md (pic_load_addr): Add constraints to operand 1.
4416
4417 1999-10-25 Bruce Korb <autogen@linuxbox.com>
4418
4419 * fixinc/genfixes: Provide a means for specifying -D options to
4420 AutoGen
4421
4422 Mon Oct 25 00:42:35 1999 Jeffrey A Law (law@cygnus.com)
4423
4424 * arm.c (arm_override_options): Correct initialization of
4425 arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
4426 arm_is_strong, and arm_is_6_or_7.
4427
4428 * loop.c (note_set_pseudo_multiple_uses_retval): New variable.
4429 (note_set_pseudo_multiple_uses): New function.
4430 (check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
4431 if a pseudo set in the loop exit is used elsewhere.
4432
4433 Sun Oct 24 20:52:40 1999 Mark Mitchell <mark@codesourcery.com>
4434
4435 * i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
4436
4437 Sun Oct 24 21:02:46 1999 Richard Henderson <rth@cygnus.com>
4438
4439 * i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
4440 a single load-address pattern.
4441
4442 Sun Oct 24 19:33:24 1999 Mark P. Mitchell <mark@codesourcery.com>
4443
4444 * haifa-sched.c (schedule_insns): Don't assign LUIDs differently
4445 depending on whether or not line-number notes are present.
4446
4447 Sun Oct 24 20:29:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4448
4449 * cccp.c (progname, file_buf, default_include, include_file,
4450 macrodef, definition, hashval, wchar_type, user_label_prefix,
4451 directive, out_fname, if_stack, safe_write, index0, get_lintcmd,
4452 expand_to_temp_buffer, is_system_include, base_name,
4453 absolute_filename, read_name_map, open_include_file,
4454 record_control_macro, check_precompiled, check_preconditions,
4455 pcfinclude, pass_thru_directive, create_definition,
4456 check_macro_name, comp_def_part, collect_expansion,
4457 check_assertion, read_token_list, assertion_install,
4458 assertion_lookup, eval_if_expression, conditional_skip,
4459 validate_else, skip_quoted_string, quote_string, macarg1,
4460 error_from_errno, install, lookup, hashf, dump_defn_1,
4461 perror_with_name, pfatal_with_name, main, trigraph_pcp,
4462 check_white_space, rescan, handle_directive, monthnames,
4463 special_symbol, do_include, remap_include_file, write_output,
4464 arglist, do_assert, do_unassert, do_line, do_error, do_once,
4465 do_ident, do_sccs, do_xifdef, skip_if_group,
4466 output_line_directive, macroexpand, macarg, change_newlines,
4467 initialize_builtins, make_definition): Constify a char*.
4468
4469 * pcp.h (stringdef): Likewise.
4470
4471 Sun Oct 24 13:29:28 1999 Richard Henderson <rth@cygnus.com>
4472
4473 * unroll.c (copy_loop_body): Examine SET_DEST of single_set
4474 not of pattern.
4475
4476 Sun Oct 24 13:14:20 1999 Graham <grahams@rcp.co.uk>
4477 Richard Henderson <rth@cygnus.com>
4478
4479 * alias.c: Include ggc.h.
4480 (reg_base_value, new_reg_base_value, reg_base_value_size): Make static.
4481 (record_set): Verify enough room in reg_base_value.
4482 (init_alias_analysis): Allocate reg_base_value with xcalloc.
4483 Register it as a GC root.
4484 (end_alias_analysis): Free reg_base_value. Remove it as a GC root.
4485 * Makefile.in (alias.o): Depend on ggc.h.
4486
4487 * unroll.c (unroll_loop): Verify the insn before a barrier
4488 is a JUMP_INSN before checking JUMP_LABEL.
4489
4490 Sun Oct 24 15:46:44 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4491
4492 * mips/bsd-5.h (ASM_OUTPUT_ASCII): Constify a char*.
4493 * mips/iris4.h (ASM_OUTPUT_ASCII): Likewise.
4494 * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
4495 * mips/mips.h (ASM_OUTPUT_ASCII): Likewise.
4496 * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
4497 * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
4498
4499 Sun Oct 24 15:35:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4500
4501 * output.h (ctors_section, dtors_section, bss_section): Prototype.
4502
4503 * alpha/alpha-interix.h (text_section): Delete prototype.
4504 * alpha/elf.h (text_section): Likewise.
4505 * arm/linux-elf.h (text_section): Likewise.
4506 * arm/linux-telf.h (text_section): Likewise.
4507 * c4x/c4x.h (text_section): Likewise.
4508 * dsp16xx/dsp16xx.h (bss_section): Likewise.
4509 * elfos.h (text_section): Likewise.
4510 * i386/aix386ng.h (text_section): Likewise.
4511 * i386/i386-interix.h (text_section): Likewise.
4512 * i386/sco5.h (text_section): Likewise.
4513 * i386/svr3gas.h (text_section): Likewise.
4514 * nextstep.h (text_section): Likewise.
4515 * psos.h (text_section): Likewise.
4516 * ptx4.h (text_section): Likewise.
4517 * svr3.h (text_section): Likewise.
4518 * svr4.h (text_section, ctors_section, dtors_section): Likewise.
4519
4520 Sun Oct 24 15:20:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4521
4522 * final.c (peephole): Delete prototype.
4523
4524 * gcse.c (process_insert_insn, pre_edge_insert): Add prototypes.
4525 (pre_insert_copies): Remove unused variable `bb'.
4526
4527 * genrecog.c (debug_decision_0, debug_decision_list, main): Add
4528 prototypes.
4529
4530 * output.h (peephole): Add prototype.
4531
4532 Sun Oct 24 11:35:30 1999 Mark P. Mitchell <mark@codesourcery.com>
4533
4534 * config/mips/iris6.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Define to
4535 -O0.
4536
4537 Sat Oct 23 21:13:00 1999 Mark Mitchell <mark@codesourcery.com>
4538
4539 * integrate.c (integrate_decl_tree): Tweak setting of DECL_CONTEXT
4540 for inlined declarations.
4541
4542 Fri Oct 22 18:05:43 1999 Jeffrey A Law (law@cygnus.com)
4543
4544 * arm.c (logical_binary_operator): New fucntion.
4545 * arm.h (logical_binary_operator): Declare it.
4546 (PREDICATE_CODES): Handle logical_binary_operator.
4547 * arm.md (anddi3, anddi_zesidi_di, anddi_sesdi_di): Use "#" for
4548 output constraints. Add appropriate splitters.
4549 (anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di): Likewise.
4550 (iordi3, iordi_zesidi_di, iordi_sesidi_di): Likewise.
4551 (xordi3, xordi_zesidi_di, xordi_sesidi_di): Likewise.
4552
4553 Fri Oct 22 23:46:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4554
4555 * genoutput.c (struct operand_data): New elt eliminable.
4556 (output_operand_data): Write it.
4557 (scan_operands): Set it for MATCH_OPERAND, clear for other matchers.
4558 (compare_operands): Take it into account.
4559 * recog.h (struct insn_operand_data): New elt eliminable.
4560 * reload1.c (check_eliminable_occurrences, elimination_effects): New
4561 functions.
4562 (old_asm_operands_vec, new_asm_operands_vec): Delete.
4563 (eliminate_regs): Move code that detects changes to elimination
4564 target regs into new function elimination_effects.
4565 Delete one #if 0 block.
4566 Abort for USE, CLOBBER, ASM_OPERANDS and SET.
4567 (eliminate_regs_in_insn): Return immediately for USEs, CLOBBERs,
4568 ADDR_VECs, ADDR_DIFF_VECs and ASM_INPUTs.
4569 Only call eliminate_regs for real operands of the insn, not for parts
4570 of its structure or parts matched by things like match_operator.
4571 Use elimination_effects and check_eliminable_occurrences. Use
4572 copy_insn to duplicate the pattern when not in the final pass.
4573
4574 Fri Oct 22 09:03:44 1999 Mark Mitchell <mark@codesourcery.com>
4575
4576 * i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
4577 and fld.
4578
4579 1999-10-22 Bruce Korb <autogen@linuxbox.com>
4580
4581 * fixinc/README: document the "mach" machine matching test
4582 * fixinc/fixfixes.c: Implement the #else/#endif label fix
4583 * fixinc/fixtests.c: Implement the #else/#endif label test
4584 * fixinc/inclhack.def: utilize these tests and fixes
4585 * fixinc/inclhack.sh: regen
4586 * fixinc/fixincl.x: regen
4587 * fixinc/fixincl.sh: regen
4588
4589 Thu Oct 21 20:37:19 1999 Jeffrey A Law (law@cygnus.com)
4590
4591 * Makefile.in (cse.o): Depend on hashtab.h, not splay-tree.h. Also
4592 depend on ggc.h.
4593
4594 Thu Oct 21 20:30:19 1999 Matthias Klose <doko@debian.org>
4595
4596 * gcc.1: Document exit codes.
4597
4598 Thu Oct 21 12:49:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4599
4600 * calls.c: Include tm_p.h later, so everything we need is defined.
4601 * expr.c: Likewise.
4602 * function.c: Likewise.
4603
4604 * except.c: Include tm_p.h.
4605
4606 * sparc.c: Likewise.
4607 (dwarf2out_cfi_label): Don't prototype.
4608 (check_return_regs, epilogue_renumber,
4609 ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
4610 ultra_find_type, ultra_build_types_avail, ultra_flush_pipeline,
4611 ultra_rescan_pipeline_state, set_extends, ultra_code_from_mask,
4612 ultra_schedule_insn): Add static prototype.
4613 (data_segment_operand, text_segment_operand): Call itself with the
4614 proper number of arguments.
4615 (sparc_flat_save_restore, sparc_v8plus_shift): Constify a char*.
4616
4617 * sparc.h: Move all declarations to sparc-protos.h.
4618 (SELECT_RTX_SECTION): Pass a missing MODE argument to
4619 symbolic_operand.
4620
4621 * sparc/sysv4.h (SELECT_RTX_SECTION): Likewise.
4622
4623 * config/svr4.h (text_section, ctors_section, dtors_section): Add
4624 Prototypes.
4625 (ASM_OUTPUT_SECTION_NAME, UNIQUE_SECTION,
4626 ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
4627 ASM_OUTPUT_ASCII): Constify a char*.
4628
4629 * sparc-protos.h: New file for sparc prototypes.
4630
4631 Thu Oct 21 12:23:40 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4632
4633 * function.c (record_insns, contains): Always declare and define.
4634 (record_insns): Mark with ATTRIBUTE_UNUSED.
4635
4636 Thu Oct 21 13:03:49 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
4637
4638 * config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
4639 to .section when outputting a .bss section to deal with multiple
4640 .bss input sections (as happens with -fdata-sections)
4641 Also output %progbits, not @progbits so the assembler doesn't treat as
4642 a comment.
4643 * config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
4644
4645 * config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
4646 thumb parts even when building with non-thumb CPUs, by forcing
4647 thumb mode.
4648
4649 Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com)
4650
4651 * sparc.md (movsf_const_intreg): If splitting, length must be > 1.
4652 (movdf_const_intreg_sp64): Similarly.
4653
4654 * local-alloc.c (update_equiv_regs): Check the correct insn
4655 for pre-existing REG_EQUIV notes.
4656
4657 Wed Oct 20 20:41:46 1999 Mark Mitchell <mark@codesourcery.com>
4658
4659 * cse.c (cse_end_of_basic_block): Don't return the end of a basic
4660 block reached by a branch if we're not going to actually process
4661 this block.
4662
4663 Wed Oct 20 15:18:42 1999 Jim Wilson <wilson@cygnus.com>
4664
4665 * integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is
4666 a local extern function declaration.
4667
4668 Wed Oct 20 13:56:01 1999 Richard Henderson <rth@cygnus.com>
4669
4670 * i386.c (ix86_expand_prologue): Properly wrap USE around
4671 reg for CALL_INSN_FUNCTION_USAGE.
4672
4673 Thu Oct 14 18:51:37 1999 Andrew Haley <aph@cygnus.com>
4674
4675 * config/mips/mips.md (movdf_internal1a): Allow floating-point
4676 move between GP_REGs.
4677
4678 Wed Oct 20 15:36:11 1999 Andrew Haley <aph@cygnus.com>
4679
4680 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
4681 the mode size when finding out if an offset is legal.
4682
4683 Wed Oct 20 06:26:58 1999 Richard Henderson <rth@cygnus.com>
4684
4685 * basic-block.h (PROP_*): Move constants from ...
4686 * flow.c: ... here.
4687 (compute_bb_for_insn): Free the array before reallocating.
4688 (update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
4689 (allocate_reg_life_data): Reset all reg variables collected by
4690 propagate_block.
4691 (get_block_head_tail): Don't convert from bb to block.
4692 (get_bb_head_tail): New. Update all callers of get_block_head_tail.
4693 (find_insn_reg_weight): Take block not bb.
4694 (schedule_block): Don't set block num for moved insns.
4695 (schedule_region): Don't update_life_info or find_insn_reg_weight.
4696 (schedule_insns): Do it here instead.
4697 * combine.c (combine_instructions): Invoke compute_bb_for_insn
4698 before update_life_info.
4699 * recog.c (split_all_insns, peephole2_optimize): Update for
4700 new arg to update_life_info.
4701 * rtlanal.c (remove_note): Cope with NULL note.
4702 * toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
4703 if we did sched1.
4704
4705 Wed Oct 20 10:46:41 1999 Richard Earnshaw (rearnsha@arm.com)
4706
4707 * jump.c (jump_optimize_1): More accurately detect casesi insns.
4708
4709 * flow.c (merge_blocks_move_predecessor_nojumps): Re-order the basic
4710 block records so that merge_blocks_nomove will clean up correctly.
4711 (split_edge): Handle casesi insns.
4712
4713 * gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.
4714
4715 Tue Oct 19 23:43:50 1999 Jeffrey A Law (law@cygnus.com)
4716
4717 * pa.md (call, call_value): Do not emit a blockage after restoring
4718 the PIC register.
4719
4720 Tue Oct 19 17:22:39 1999 Mark Mitchell <mark@codesourcery.com>
4721
4722 * c-typeck.c (c_expand_asm_operands): Fix typo.
4723
4724 Tue Oct 19 18:42:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4725
4726 * arm.c (fpu_rhs_operand): Verify modes.
4727 (fpu_add_operand): Likewise.
4728 (di_operand): Likewise.
4729 (soft_df_operand): Likewise.
4730
4731 Tue Oct 19 15:26:11 1999 Richard Earnshaw (rearnsha@arm.com)
4732
4733 * arm.c (arm_return_in_memory): APCS rules state that the elements
4734 of a structure returned in a register must be 'integer-like'.
4735
4736 1999-10-19 Bruce Korb <autogen@linuxbox.com>
4737
4738 * fixinc/Makefile.in: Change the generation rules to run `genfixes'
4739 in the source tree when the generated targets are out of date
4740 * fixinc/genfixes: Alter it to run individual fixes for make.
4741 * fixinc/README: rewrite
4742 * fixinc/inclhack.def: moved initial comments to README
4743
4744 Tue Oct 19 14:01:34 1999 Nick Clifton <nickc@cygnus.com>
4745
4746 * toplev.c (main): Do not generate an error message if an
4747 unrecognised command line switch is recognisable by another
4748 language. If extra_warnings are enabled, then generate a
4749 warning message instead.
4750
4751 Tue Oct 19 11:41:12 1999 Mumit Khan <khan@xraylith.wisc.edu>
4752
4753 * c-pragma.h (PRAGMA_INSERT_ATTRIBUTES): Delete macro.
4754 (insert_pack_attributes): Delete prototype.
4755
4756 * c-pragma.c (default_alignment): New static variable.
4757 (push_alignment): Initialize to current effective alignment.
4758 (pop_alignment): Use to set new alignment.
4759 (insert_pack_attributes): Delete function.
4760 (handle_pragma_token): Set default_alignment as well each time
4761 a #pragma pack(<n>) is encountered.
4762
4763 Tue Oct 19 02:03:00 1999 Jeffrey A Law (law@cygnus.com)
4764
4765 * reg-stack.c (stack_result): Aggregates are not returned in
4766 stack registers.
4767
4768 Tue Oct 19 01:26:48 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
4769
4770 * fold-const.c (fold): Fix thinko in x+(-0) -> x transformation.
4771
4772 Mon Oct 18 15:19:41 1999 Richard Henderson <rth@cygnus.com>
4773
4774 * basic-block.h (set_block_num): Declare.
4775 * flow.c (update_life_info): Don't call compute_bb_for_insn
4776 or free_basic_block_vars.
4777 * haifa-sched.c (remove_dependence): Conditionalize on HAVE_cc0.
4778 (insn_orig_block): Remove.
4779 (INSN_BLOCK): Remove. Update all callers to use BLOCK_NUM.
4780 (schedule_block): Keep BLOCK_NUM up-to-date.
4781 (schedule_insns): Use compute_bb_for_insn.
4782 * recog.c (split_all_insns): Likewise.
4783 (peephole2_optimize): Likewise.
4784
4785 Mon Oct 18 18:50:51 1999 Andreas Schwab <schwab@suse.de>
4786
4787 * config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
4788 if the pic register is used.
4789
4790 Mon Oct 18 02:38:46 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4791
4792 * c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
4793 (finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
4794 if that tests TREE_PERMANENT.
4795
4796 Mon Oct 18 01:41:35 1999 Jeffrey A Law (law@cygnus.com)
4797
4798 * cse.c (invalidate_for_call): Do not remove memory references from
4799 the table here. It's handled elsewhere.
4800
4801 * haifa-sched.c (add_dependence): Protect references to the
4802 true dependency cache with #ifdef INSN_SCHEDULING.
4803 (remove_dependence): Similarly.
4804
4805 * mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
4806 to the cfg code that this is a return instruction.
4807 * mn10300.md (return_internal): Similarly.
4808
4809 * combine.c (get_last_value): If the last set of a register
4810 is after subst_low_cuid, then we can not use it to determine
4811 the register's last value.
4812
4813 Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
4814
4815 * Makefile.in: Back out previous change.
4816
4817 Sun Oct 17 15:22:50 1999 Jeffrey A Law (law@cygnus.com)
4818
4819 * pa.c (move_operand): Reject (lo_sum (reg) (unspec ...)).
4820
4821 * haifa-sched.c (add_dependence): Only check/update the cache
4822 if it exists.
4823 (remove_dependence): Likewise.
4824 (schedule_insns): Only create the true_dependency_cache if the
4825 average number of instructions in a basic block is very large.
4826
4827 Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
4828
4829 * Makefile.in (ggc-common.o): Depend on genrtl.h.
4830 (ggc-simple.o): Likewise.
4831 (ggc-page.o): Likewise.
4832
4833 Sun Oct 17 02:09:50 1999 Andrew MacLeod <amacleod@cygnus.com>
4834
4835 * basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
4836 Prototype for exported functions.
4837 (pre_lcm, pre_rev_lcm): Remove prototypes.
4838 * gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
4839 (compute_available): Move to lcm.c, and change parameter order.
4840 (one_classic_gcse_pass): Call compute_ae_kill with parameters.
4841 (pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
4842 (gcse_main): No longer call compute_preds_succs. Rebuild the
4843 set table after reach pre pass.
4844 (pre_insert_map, pre_delete_map, edge_list): New.
4845 (alloc_pre_mem): Allocate edge vectors.
4846 (free_pre_mem): Delete edge vectors.
4847 (compute_pre_data): Call new edge based lcm routines.
4848 (process_insert_insn): New function.
4849 (insert_insn_end_bb): Use it.
4850 (pre_edge_insert): New function.
4851 (pre_insert_copy_insn): Formatting fixes. Update BLOCK_END as
4852 needed.
4853 (pre_insert_copies): Revamp using new edge based lcm outputs.
4854 (pre_delete): Likewise.
4855 (one_pre_gcse_pass): Insert & remove fake edges to the exit
4856 block.
4857 (compute_code_hoist_vbeinout): New new edge based routines.
4858 * lcm.c: Remove all the old LCM functions. Replace with new ones
4859 that work with the new cfg datastructures and work with edges
4860 instead of blocks.
4861
4862 Sun Oct 17 00:44:17 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4863
4864 * reload.h (struct reload): Add new fields "mode" and "nregs".
4865 * reload1.c: Change all occurrences of reload_mode and reload_nregs
4866 to reference the "mode" and "nregs" field within struct reload.
4867
4868 Sat Oct 16 21:50:28 1999 Jeffrey A Law (law@cygnus.com)
4869
4870 * haifa-sched.c (true_dependency_cache): New.
4871 (add_dependence): Use the true dependency cache to avoid expensive
4872 walks down the LOG_LINKS dependency list. Add entries to the
4873 cache as necessary.
4874 (remove_dependence): Remove entries from the true dependency cache
4875 as needed.
4876 (schedule_insns): Allocate and initialize and free the true
4877 dependency cache.
4878
4879 * haifa-sched.c (schedule_insns): Do not remove inter-block
4880 dependencies anymore.
4881
4882 Sat Oct 16 11:19:52 1999 Richard Henderson <rth@cygnus.com>
4883
4884 * i386/t-cygwin (winnt.o): Depend on RTL_H and TREE_H.
4885 * i386/t-winnt: Likewise.
4886
4887 Sat Oct 16 11:11:54 1999 Richard Henderson <rth@cygnus.com>
4888
4889 * ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.
4890
4891 1999-10-16 Manfred Hollstein <mhollstein@cygnus.com>
4892
4893 * Makefile.in (LANGUAGES): Omit "proto".
4894 (clean): Remove stale comment about removing unprotoize.c.
4895
4896 Sat Oct 16 11:29:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4897
4898 * protoize.c (safe_read, safe_write): Avoid the gcc extension of
4899 using arithmetic on void pointers.
4900
4901 Sat Oct 16 02:48:22 1999 Jeffrey A Law (law@cygnus.com)
4902
4903 * haifa-sched.c (compute_block_forward_dependencies): Only check
4904 for notes, deleted insns and duplicates if ENABLE_CHECKING is defined.
4905
4906 Sat Oct 16 00:07:01 1999 Richard Henderson <rth@cygnus.com>
4907
4908 * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
4909 (expr_equiv_p): Reject memories with different alias sets.
4910
4911 Fri Oct 15 15:17:29 1999 Greg McGary <gkm@gnu.org>
4912
4913 * flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
4914 * toplev.c (flag_bounds_check, flag_bounded_pointers): New flags.
4915 (f_options): Add "bounded-pointers" and "bounds-check" entries.
4916 * c-lang.c (lang_init_options): Set flag_bounds_check as "unspecified".
4917 (lang_init): Set default for flag_bounds_check if still "unspecified".
4918
4919 Sat Oct 16 13:42:29 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4920
4921 * config/c4x/c4x.md (HF mode patterns): Add missing modes.
4922
4923 Sat Oct 16 13:37:46 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4924
4925 * config/c4x/c4x.md (movstrqi_small): Utilise parallel move
4926 instructions.
4927
4928 Sat Oct 16 13:26:47 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4929
4930 * config/c4x/c4x.md (*db_noclobber,
4931 *decrement_and_branch_until_zero_noclobber): New patterns and
4932 associated splitters.
4933
4934 Sat Oct 16 13:13:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4935
4936 * config/c4x/c4x.md (parallel instruction patterns): Rework
4937 constraints to keep reload happy.
4938
4939 Sat Oct 16 13:03:16 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4940
4941 * config/c4x/c4x.md (*absqi2_noclobber, *negqi2_noclobber,
4942 *one_cmplqi2_noclobber, *subqi3_noclobber, *andqi3_255_noclobber,
4943 *andqi3_65535_noclobber, *andnqi3_noclobber, *xorqi3_noclobber):
4944 Add new patterns and associated post-reload splitters.
4945
4946 Sat Oct 16 12:42:12 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4947
4948 * config/c4x/c4x.c (c4x_emit_libcall): Use ggc_alloc_string.
4949
4950 Sat Oct 16 12:34:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4951
4952 * config/c4x/c4x.c (c4x_rptb_insert): Emit rpts_top pattern
4953 if appropriate.
4954 * config/c4x/c4x.md (rpts_top): New pattern and splitter.
4955
4956 Sat Oct 16 12:26:30 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4957
4958 * config/c4x/c4x.c (src_operand): Check SYMBOL_REF and LABEL_REF
4959 memory mode.
4960
4961 Fri Oct 15 17:02:09 1999 Jeffrey A Law (law@cygnus.com)
4962
4963 * pa.c (move_operand): Rely on memory_address_p to determine the
4964 validity of non-indexed memory addresses.
4965 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic
4966 operand in DFmode and SFmode when generating PA2.0 code.
4967
4968 Fri Oct 15 14:25:19 1999 Richard Henderson <rth@cygnus.com>
4969
4970 * print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
4971
4972 Fri Oct 15 13:48:45 1999 Richard Henderson <rth@cygnus.com>
4973
4974 * mips.c (function_prologue): Fix argument types.
4975 * mips.md (casesi): Use emit_jump_insn for casesi_internal.
4976 (casesi_internal): Write to the scratch register.
4977
4978 1999-10-15 11:16 -0700 Zack Weinberg <zack@bitmover.com>
4979
4980 * cppexp.c (cpp_parse_escape): Make static. Change second arg
4981 to U_CHAR **.
4982 (parse_charconst): Delete unnecessary cast when calling
4983 cpp_parse_escape.
4984 (cpplib.h): Kill prototype of cpp_parse_escape.
4985
4986 Fri Oct 15 11:02:46 1999 Richard Henderson <rth@cygnus.com>
4987
4988 Based on patch from Michael Gschwind <mikeg@watson.ibm.com>:
4989 * unroll.c (unroll_loop): Cast return value of alloca.
4990 * i370/i370.c: Include function.h and toplev.h.
4991 (i370_label_scan): Remove c++ commented abort.
4992 * i370/i370.h (HANDLE_PRAGMA): Takes three arguments.
4993 (ASM_OUTPUT_LABELREF): Fix TOUPPER/else broken 16 Sept.
4994 * i370/xm-i370.h (HOST_BITS_PER_LONGLONG): Define.
4995 * i370/xm-mvs.h, i370/xm-oe.h: Likewise.
4996
4997 Fri Oct 15 03:01:01 1999 Loren Rittle <ljrittle@acm.org>
4998
4999 * config/t-freebsd: Do not override USER_H.
5000 * ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_.
5001
5002 Fri Oct 15 02:37:28 1999 Alastair J. Houghton <ajh8@doc.ic.ac.uk>
5003 Mumit Khan <khan@xraylith.wisc.edu>
5004
5005 * c-parse.in (component_decl): Support anonymous struct/union.
5006 (%expect): Update.
5007 * c-parse.y: Regenerate.
5008 * c-parse.c: Likewise.
5009 * objc/objc-parse.y: Likewise.
5010 * objc/objc-parse.c: Likewise.
5011 * c-decl.c (finish_struct): Don't sort the fields.
5012 (field_decl_cmp): Delete unused function.
5013
5014 Fri Oct 15 01:20:52 1999 Richard Henderson <rth@cygnus.com>
5015
5016 * sparc.md (movsf_const_intreg): Revert last constraint change.
5017 (movdf_const_intreg_sp32): Likewise.
5018
5019 Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
5020
5021 * cse.c: Include hashtab.h instead of splay-tree.h
5022 (struct cse_reg_info): No longer use variant union. Add new
5023 field "regno". All references changed to avoid union.
5024 (cse_reg_info_used_list, cse_reg_info_used_list_end): New variables.
5025 (free_cse_reg_info): Remove.
5026 (hash_cse_reg_info, cse_reg_info_equal_p): New functions.
5027 (get_cse_reg_info): Revamp to use expandable hash tables instead
5028 of splay trees. Initialize new fields in cse_reg_info structure.
5029 (new_basic_block): Similarly.
5030
5031 Thu Oct 14 23:51:56 1999 Richard Henderson <rth@cygnus.com>
5032
5033 * genrecog.c (message_with_line): Prototype.
5034 (validate_pattern): Pass along the set for the dest, not a flag.
5035 Fix non-lvalue message. Don't warn for VOIDmode SET_DEST of CALL.
5036 Check for PC/CC0 as sources.
5037 (nodes_identical): Check for children position match before
5038 allowing the combination.
5039
5040 * rtl.c (read_rtx): Track line number across \\\n.
5041
5042 Thu Oct 14 23:50:25 1999 Richard Henderson <rth@cygnus.com>
5043
5044 * mips.h (SPECIAL_MODE_PREDICATES): New.
5045 * mips.md (*) Use nonimmediate_operand not general_operand for outputs.
5046 (movdi+1, movsi+1): Add output reload constraint.
5047 (casesi_internal): Likewise. Fix commentary.
5048 (return_internal): Use pmode_register_operand.
5049
5050 Thu Oct 14 23:19:34 1999 Richard Henderson <rth@cygnus.com>
5051
5052 * 1750a.md (movstrqi): Add missing output reload constraint.
5053 (call_value): Likewise.
5054 * a29k.md (cpxxx patterns): Add missing match_operator mode.
5055 (jmpfdec): Add missing inout reload constraint.
5056 * elxsi.md (addsi patterns): Add missing output reload constraint.
5057 (move from sp): Use @ alternates.
5058 (call_value): No constraint on output.
5059 * fr30.md (movsi_pop): Add missing output reload constraint.
5060 (movsf_constant_store): Likewise.
5061 (splits): Remove constraints.
5062 (subsi3): Add missing mode.
5063 * i370.md (cmpstrsi+1): Add missing output reload constraint.
5064 (call_value): Likewise.
5065 * i960.md (cmpinc/cmpdec patterns): Add inout reload constraints.
5066 * m32r.h (PREDICATE_CODES): Add seth_add3_operand.
5067 * m32r.md (movsicc_internal): Add output reload constraint.
5068 (movstrsi_internal): Add inout reload constraints.
5069 * m88k.h (reg_names): Don't declare.
5070 (SPECIAL_MODE_PREDICATES): New.
5071 * m88k.md (*): Use register_operand not reg_or_0_operand
5072 on destinations.
5073 * mn10200.h (PREDICATE_CODES): New.
5074 * ns32k.md (ffs pattern): Add output reload constraint.
5075 * pdp11.md (sob pattern): Add inout reload constraint.
5076 * sh.md (splits): Remove constraints.
5077 (indirect_jump_scratch, fpu_switch): Add output reload constraint.
5078 * v850.md (pattern_is_ok_for_epilogue): Likewise.
5079 * vax.md (jgequ pattern): Add inout reload constraint.
5080
5081 Fri Oct 15 00:05:00 1999 Jeffrey A Law (law@cygnus.com)
5082
5083 * configure.in (djgpp): Revert previous patch.
5084 * configure: Rebuit.
5085 * config/i386/djgpp.h: Revert previous patch.
5086
5087 Fri Oct 15 00:00:24 1999 Loren J. Rittle <ljrittle@acm.org>
5088
5089 * fixinc/inclhack.def: Restore patch lost during last merge of
5090 "no_bogosity" branch.
5091 * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
5092
5093 Thu Oct 14 23:57:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
5094
5095 * fixincludes: Add a HPUX 11 fix for inttypes.h.
5096 * fixinc/inclhack.def: Same.
5097 * fixinc/inclhack.sh, fixinc/fixincl.sh, fixinc/fixincl.x: Regenerate.
5098
5099 Thu Oct 14 22:51:55 1999 Richard Henderson <rth@cygnus.com>
5100
5101 * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Accept ADDRESSOF
5102 as the base of a PLUS.
5103
5104 Fri Oct 15 18:36:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5105
5106 * config/c4x/c4x.md: Define mode for remaining unspec operators.
5107 * config/c4x/c4x.c (dst_operand): Use nonimmediate_operand.
5108
5109 Thu Oct 14 22:14:23 1999 Richard Henderson <rth@cygnus.com>
5110
5111 * pa.md (post_stw+1): Use pmode_register_operand.
5112 (dcacheflush, icacheflush): Likewise.
5113
5114 * i386.md (movstricthi_1): Allow r/r.
5115
5116 Thu Oct 14 19:44:08 1999 Jan Hubicka <hubicka@freesoft.cz>
5117
5118 * fold-const.c (fold): Convert (or (not arg0) (not arg1))
5119 to (not (and (arg0) (arg1))). Similary for and.
5120
5121 * fold-const.c (fold): Move bit_rotate code to the EXPR_PLUS case,
5122 fallthrough to associate code.
5123 Convert XOR to OR in code like (a&c1)^(a&c2) where c1 and c2 don't have
5124 bits in common.
5125
5126 * combine.c (simplify_logical): Convert XOR to IOR if operands have
5127 no bits in common; remove XOR to ROTATE conversion.
5128
5129 Fri Oct 15 17:40:11 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5130
5131 * config/c4x/c4x.h (c4x_va_start, c4x_va_arg): Declare.
5132
5133 Fri Oct 15 17:27:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5134
5135 * config/c4x/c4x.c (dst_operand): New.
5136 (PREDICATE_CODES): Update.
5137 * config/c4x/c4x.h (dst_operand): Declare it.
5138 * config/c4x/c4x.md: Define mode for each unspec usage.
5139 (move patterns): Use dst_operand predicate instead of src_operand.
5140 (movqi_update, movqf_update): Delete.
5141
5142 Thu Oct 14 18:48:54 1999 Richard Henderson <rth@cygnus.com>
5143
5144 * recog.c (pmode_register_operand): New.
5145 * recog.h: Declare it.
5146 * genrecog.c (pred_codes): Likewise.
5147 (special_mode_pred_table): Likewise.
5148 (validate_pattern): Don't warn no mode for address_operand.
5149
5150 * print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
5151 if the operand is not insn-like.
5152
5153 Thu Oct 14 19:38:42 1999 Jeffrey A Law (law@cygnus.com)
5154 Sylvian Pion <Sylvain.Pion@sophia.inria.fr>
5155
5156 * fold-const.c (fold): Handle more simplifications allowed by IEEE.
5157
5158 Thu Oct 14 17:30:14 1999 Richard Henderson <rth@cygnus.com>
5159
5160 * sparc.md (*): Use {nonimmediate,register}_operand as appropriate
5161 instead of general_operand in a SET_DEST. Use const_double_operand
5162 instead of an explicit test against CONST_DOUBLE.
5163 (movsf_const_lo): Add missing register mode.
5164 (goto_handler_and_restore): Add auxiliary test for Pmode.
5165 (flush): Adjust to use address_operand.
5166 (return_sf_no_fpu): Add missing output constraint.
5167
5168 Thu Oct 14 17:21:26 1999 Richard Henderson <rth@cygnus.com>
5169
5170 * rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
5171 for call return value.
5172 (call_value_indirect_aix64, call_value_indirect_nt): Likewise.
5173
5174 Thu Oct 14 13:54:25 1999 Jason Merrill <jason@yorick.cygnus.com>
5175
5176 * toplev.c (main): Only warn about options for other languages.
5177 * collect2.c (main): Pass -w to sub-gcc.
5178
5179 Thu Oct 14 16:27:50 1999 Richard Henderson <rth@cygnus.com>
5180
5181 * flow.c (propagate_block): Add call-clobbered registers to
5182 significant too.
5183
5184 * flow.c (propagate_block): Use free_EXPR_LIST_list instead of
5185 zapping mem_set_list.
5186 (invalidate_mems_from_autoinc): Use free_EXPR_LIST_node.
5187 (mark_set_1, mark_used_regs): Likewise.
5188
5189 Thu Oct 14 10:51:49 1999 Richard Henderson <rth@cygnus.com>
5190
5191 * m68k.md (zero_extendsidi2): Add missing output reload constraint.
5192
5193 Wed Oct 13 00:09:18 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5194
5195 * invoke.texi: Label -Wbad-function-cast, -Wmissing-prototypes,
5196 -Wnested-externs, -Wstrict-prototypes, and -Wtraditional as C only
5197 options. Also add a new item "C-only Warning Options" to the
5198 option summary.
5199
5200 1999-10-14 Gavin Romig-Koch <gavin@cygnus.com>
5201
5202 * libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
5203 from multiple calls.
5204
5205 Thu Oct 14 04:54:54 1999 Richard Henderson <rth@cygnus.com>
5206
5207 * i386.md (call value patterns): Move to the end of the file.
5208 (prologue_set_got, prologue_get_pc): Use register_operand for op 0.
5209
5210 1999-10-14 Mark Elbrecht <snowball3@bigfoot.com>
5211
5212 * configure.in (djgpp configuration): Define extra_objects..
5213 * configure: Rebuilt.
5214 * config/i386/djgpp.h (CTORS_SECTION_ASM_OP): Define.
5215 (DTORS_SECTION_ASM_OP): Define.
5216 (INIT_SECTION_ASM_OP): Define.
5217 (FINI_SECTION_ASM_OP): Define.
5218 (DATA_SECTION_ASM_OP): Define.
5219 (TEXT_SECTION_ASM_OP): Define.
5220 (EH_FRAME_SECTION_ASM_OP): Define.
5221 (LINK_COMMAND_SPEC): Remove -Tdjgpp.djl.
5222 (STARTFILE_SPEC): Add crtbegin.o.
5223 (ENDFILE_SPEC): Define and add crtend.o. Move argument -Tdjgpp.djl
5224 to here from LINK_COMMAND_SPEC.
5225 (DO_GLOBAL_CTORS_BODY): Define.
5226 (CRTSTUFF_USE_FINI_SECTION): Define
5227 (HAS_INIT_SECTION): Delete.
5228
5229 Thu Oct 14 05:08:14 1999 Andreas Schwab <schwab@suse.de>
5230
5231 * Makefile.in (all.cross): Depend on xcpp$(exeext).
5232
5233 Thu Oct 14 04:00:40 1999 Richard Henderson <rth@cygnus.com>
5234
5235 * pa.h (PREDICATE_CODES): New.
5236
5237 * genrecog.c (validate_pattern): Condense the destination
5238 non-lvalue message.
5239
5240 Thu Oct 14 03:23:08 1999 Richard Henderson <rth@cygnus.com>
5241
5242 * alpha.md (call-1): Supply missing mode for operator.
5243 (*): Add missing output reload constraints. Remove constraints
5244 from define_splits.
5245
5246 * i386.h (SPECIAL_MODE_PREDICATES): New.
5247 * i386.md (movstricthi_1): Use nonimmediate_operand for op 0.
5248 (movqi_1, movdi_1, movdi_2, some splits): Likewise.
5249 (addsi_lea_3): Add missing mode for op 3.
5250 (prologue_set_got, prologue_get_pc): Add missing modes.
5251 (*) Add missing output reload constraints.
5252
5253 Thu Oct 14 03:59:57 1999 Stephane Carrez <stcarrez@worldnet.fr>
5254
5255 * stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
5256 check for member bit-size overflow and use var_size if it occurs.
5257 (layout_record): Use bitsize_int() to define the type size in bits.
5258 Likewise for computation and assignment to DECL_FIELD_BITPOS.
5259 (layout_decl): Likewise when assigning to DECL_SIZE.
5260
5261 Thu Oct 14 02:57:05 1999 Richard Henderson <rth@cygnus.com>
5262
5263 * genrecog.c (validate_pattern): Typo last change. Verify
5264 that output operands have output reloads.
5265
5266 Thu Oct 14 01:49:54 1999 Richard Henderson <rth@cygnus.com>
5267
5268 * genrecog.c (special_mode_pred_table): New.
5269 (NUM_SPECIAL_MODE_PREDS): New.
5270 (find_operand): New.
5271 (validate_pattern): New argument `insn'. Warn for assignment to
5272 any predicate accepting non-lvalues. Conditionaly warn for
5273 match_operand without a mode. Try much harder to match source
5274 and destination modes on a set.
5275 * tm.texi (SPECIAL_MODE_PREDICATES): Document.
5276
5277 Thu Oct 14 02:54:13 1999 Jeffrey A Law (law@cygnus.com)
5278
5279 * fold-const.c (fold): Detect rotates built from BIT_XOR_EXPRs.
5280
5281 Thu Oct 14 02:18:19 1999 Marc Espie <espie@cvs.openbsd.org>
5282
5283 * combine.c (simplify_logical): Recognize xor pattern that encodes
5284 rotation.
5285
5286 Wed Oct 13 23:23:45 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5287
5288 * rs6000.c (expand_block_move): Use INTVAL, not XINT to access
5289 alignment.
5290
5291 Wed Oct 13 21:47:18 1999 Richard Henderson <rth@cygnus.com>
5292
5293 * ggc-page.c (MAP_FAILED): Provide default.
5294
5295 Wed Oct 13 21:41:59 1999 Richard Henderson <rth@cygnus.com>
5296
5297 * sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
5298 * sparc.h (PREDICATE_CODES): Update.
5299
5300 Wed Oct 13 21:18:17 1999 Richard Henderson <rth@cygnus.com>
5301
5302 * alpha.c (some_ni_operand): New.
5303 * alpha-protos.h: Declare it.
5304 * alpha.h (PREDICATE_CODES): Update.
5305 * alpha.md (sXaddq reload insns): Use some_ni_operand
5306 for SET_DEST instead of some_operand.
5307
5308 Wed Oct 13 21:04:45 1999 Richard Henderson <rth@cygnus.com>
5309 Jim Wilson <wilson@cygnus.com>
5310
5311 * genrecog.c (maybe_both_true_2): Don't compare modes of
5312 two DT_pred tests.
5313 (process_tree): Elide peephole2_insns. Invoke simplify_tests
5314 after find_afterward.
5315 (debug_decision_1): Dump next and afterward codes.
5316
5317 Wed Oct 13 20:35:16 1999 Richard Henderson <rth@cygnus.com>
5318
5319 * rtl.c (dump_and_abort): Remove.
5320 (fatal_with_file_and_line): New.
5321 (fatal_expected_char): New.
5322 (read_rtx_lineno, read_rtx_filename): New.
5323 (read_skip_spaces): Track line number.
5324 (read_name): Use fatal_with_file_and_line.
5325 (read_rtx): Use fatal_expected_char. Track line number.
5326 * rtl.h (read_rtx_filename, read_rtx_lineno): Declare.
5327
5328 * print-rtl.c (print_rtx): Don't special case LABEL_REF argument
5329 if it isn't a CODE_LABEL.
5330
5331 * genattr.c (main): Set read_rtx_filename.
5332 * genattrtab.c (main): Likewise.
5333 * gencodes.c (main): Likewise.
5334 * genconfig.c (main): Likewise.
5335 * genemit.c (main): Likewise.
5336 * genextract.c (main): Likewise.
5337 * genflags.c (main): Likewise.
5338 * genopinit.c (main): Likewise.
5339 * genoutput.c (main): Likewise.
5340 * genpeep.c (main): Likewise.
5341
5342 * genrecog.c (decision_test.u.insn): Add `lineno'.
5343 (pattern_lineno, error_count): New variables.
5344 (message_with_line): New.
5345 (add_to_sequence): Break out checking code to ...
5346 (validate_pattern): ... here. Detect SET_DEST matching CONST_INT.
5347 (merge_insn): Use message_with_line.
5348 (make_insn_sequence): Use validate_pattern. Record insn lineno.
5349 (main): Set read_rtx_filename, pattern_lineno. Exit early on error.
5350
5351 Wed Oct 13 22:01:35 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
5352
5353 * expr.c (store_constructor): Clear union if constructor is empty.
5354
5355 Wed Oct 13 15:19:04 1999 Jim Wilson <wilson@cygnus.com>
5356
5357 * config/rs6000/sysv4.h (CC1_SPEC): Fix errors from Jan 19 change.
5358 Add !endian checks. Change %{...} to %(...).
5359
5360 Wed Oct 13 13:30:34 1999 Richard Henderson <rth@cygnus.com>
5361
5362 * i386.md (*addsi3_cc): Renamed from addcsi3.
5363 (*addsi3_carry): Renamed from addxsi3.
5364 (*subsi3_cc): Renamed from subcsi3.
5365 (*subsi3_carry): Renamed from subxsi3.
5366 (*xorqi_cc_1): Renamed from xorcqi_1.
5367 (xorqi_cc_ext_1): Renamed from xorcqi_ext_1.
5368 * i386.c (ix86_expand_fp_compare): Update for xorqi_cc_ext_1.
5369
5370 Wed Oct 13 13:10:46 1999 Richard Henderson <rth@cygnus.com>
5371
5372 * Makefile.in (ggc-common.o): Depend on RTL_H not RTL_BASE_H.
5373 (ggc-simple.o, ggc-page.o, ggc-none.o, ggc-callbacks.o): Likewise.
5374
5375 1999-10-13 Brendan Kehoe <brendan@cygnus.com>
5376
5377 * regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
5378 climb up the chain of insns.
5379
5380 Wed Oct 13 10:20:58 1999 Richard Henderson <rth@cygnus.com>
5381
5382 * genrecog.c (write_subroutine): Careful for null trees.
5383 (process_tree): Don't elide empty functions.
5384
5385 Wed Oct 13 10:07:54 1999 Richard Henderson <rth@cygnus.com>
5386
5387 * Makefile.in (genrtl.o): Depend on ggc.h.
5388 * configure.in (valloc): Probe for it.
5389 (with-gc): Use ggc-page if valloc present.
5390 * ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_if_gcable.
5391 (ggc_mark_rtvec_children): New from corpse of ggc_mark_rtvec.
5392 (ggc_alloc_string): Moved from ggc-page.c.
5393 * ggc-none.c (ggc_alloc_obj): New.
5394 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove.
5395 * ggc-page.c (sys/mman.h): Only include if HAVE_MMAP.
5396 (struct globals): Likewise for dev_zero_fd.
5397 (init_ggc): Likewise for it's initialization.
5398 (ggc_allocated_p): Move careful dereference from ...
5399 (ggc_lookup_page_table): ... here. Delete.
5400 (lookup_page_table_entry): Don't use ggc_lookup_page_table.
5401 (alloc_anon): Use valloc if no mmap.
5402 (release_pages): Use free if using valloc.
5403 (ggc_alloc_obj): Renamed from alloc_obj.
5404 (ggc_set_mark): Renamed from mark_obj.
5405 (ggc_mark_if_gcable): Renamed from ggc_mark_string_if_gcable.
5406 (ggc_alloc_rtx, ggc_alloc_rtvec): Delete.
5407 (ggc_alloc_tree, ggc_alloc_string, ggc_alloc): Delete.
5408 (ggc_set_mark_rtx, ggc_set_mark_rtvec): Delete.
5409 (ggc_set_mark_tree, ggc_mark_string, ggc_mark): Delete.
5410 (ggc_collect): Use fp printing instead of our own rounding.
5411 * ggc-simple.c (IS_MARKED, IGNORE_MARK): Delete.
5412 (GGC_STRING_MAGIC, GGC_STRING_MAGIC_MARK): Delete.
5413 (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): Delete.
5414 (struct ggc_rtx, struct ggc_rtvec, struct ggc_tree): Delete.
5415 (struct ggc_string, struct ggc_any): Delete.
5416 (offsetof): Provide default definition.
5417 (GGC_BALANCE, GGC_ALWAYS_COLLECT, GGC_ALWAYS_VERIFY): New.
5418 (PTR_KEY): New.
5419 (struct ggc_mem): New, from corpse of ggc_any.
5420 (struct ggc_status): Delete.
5421 (ggc_chain, ggc_allocated_strings, ggc_strings_used): Delete.
5422 (n_rtxs_collected, n_vecs_collected, n_trees_collected): Delete.
5423 (n_strings_collected, n_anys_collected): Delete.
5424 (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Delete.
5425 (ggc_alloc_string, ggc_alloc): Delete.
5426 (ggc_free_rtx, ggc_free_rtvec, ggc_free_tree): Delete.
5427 (ggc_free_string, ggc_free_any): Delete.
5428 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Delete.
5429 (ggc_compare_addresses, ggc_mark_string): Delete.
5430 (ggc_mark_string_if_gcable, ggc_mark): Delete.
5431 (search_data): Delete.
5432 (struct globals): New.
5433 (GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED): New.
5434 (tree_insert, tree_lookup): New.
5435 (ggc_alloc_obj, ggc_set_mark, ggc_mark_if_gcable): New.
5436 (clear_marks, sweep_objs): New.
5437 (ggc_collect): Gut. Use clear_marks, sweep_objs.
5438 (init_ggc): Set allocated_last_gc.
5439 (ggc_push_context): Gut. Use G.context.
5440 (ggc_pop_context): Likewise.
5441 (ggc_pop_context_1): New.
5442 (debug_ggc_tree): New.
5443 (debug_ggc_balance, tally_leaves): New.
5444 * ggc.h (ggc_mark_rtvec, ggc_mark_string, ggc_mark): Remove decl.
5445 (ggc_mark_string_if_gcable): Remove decl.
5446 (ggc_mark_rtx, ggc_mark_tree): Use ggc_set_mark.
5447 (ggc_mark_rtvec_children): New.
5448 (ggc_mark_rtvec, ggc_mark_string, ggc_mark): New.
5449 (ggc_mark_if_gcable): New decl.
5450 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove decl.
5451 (ggc_alloc_tree, ggc_alloc): Likewise.
5452 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Likewise.
5453 (ggc_alloc_obj): New decl.
5454 (ggc_alloc_rtx, ggc_alloc_rtvec): New macros.
5455 (ggc_alloc_tree, ggc_alloc): Likewise.
5456 (ggc_set_mark): New decl.
5457 * rtl.h (struct rtx_def): Remove gc_mark.
5458 (struct rtvec_def): Likewise.
5459 * tree.h (struct tree_common): Likewise.
5460
5461 Wed Oct 13 01:44:29 1999 Carol LePage <carolo@hal.com>
5462
5463 * configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
5464 float_format and thread_file definitions.
5465 * configure: Rebuilt.
5466
5467 Wed Oct 13 09:25:03 1999 Niels Möller <nisse@lysator.liu.se>
5468
5469 * extend.texi (Function Names): Document types of function names.
5470
5471 Wed Oct 13 00:45:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5472
5473 * reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with
5474 an earlyclobbered output conflict with RELOAD_INPUT reloads.
5475
5476 Tue Oct 12 23:28:28 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
5477
5478 * sh.h (BOOL_TYPE_SIZE): Don't use INT_TYPE_SIZE / CHAR_TYPE_SIZE.
5479
5480 Tue Oct 12 23:19:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
5481
5482 * sh.h (REGISTER_MOVE_COST): Change PR_REG to PR_REGS.
5483
5484 Tue Oct 12 17:09:38 1999 David Edelsohn <edelsohn@gnu.org>
5485
5486 * collect2.c (main): Do prelimnary link on AIX if rflag.
5487
5488 Tue Oct 12 09:45:19 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
5489
5490 * config/rs6000/eabi-ctors.c (__do_global_ctors): Run through
5491 __CTOR_LIST__ in opposite order, which is the correct order for sorted
5492 constructors.
5493 (__do_global_dtors): similarly for __DTOR_LIST__.
5494
5495 Fri Oct 8 19:46:03 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
5496 Diego Novillo <dnovillo@cygnus.com>
5497
5498 * config/sh/sh.h (REGISTER_MOVE_COST): Handle moves from T_REGS to
5499 FPUL_REGS.
5500
5501 Tue Oct 12 07:38:41 1999 Bruce Korb <autogen@linuxbox.com>
5502
5503 * fixincl/*: Merged "no_bogosity" branch
5504 * fixincl/fixlib.h: protect against doubly defining t_bool
5505 * fixincl/server.h: protect against doubly defining t_bool
5506
5507 Mon Oct 11 20:18:41 1999 Jim Wilson <wilson@cygnus.com>
5508
5509 * genoutput.c: Include toplev.h.
5510
5511 Mon Oct 11 18:56:14 1999 Jim Wilson <wilson@cygnus.com>
5512
5513 * config/sparc/liteelf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
5514 Undef.
5515 * configure.in (sparclite-*-elf, sparc86x-*-elf): Don't use libgloss.h.
5516 * configure: Regenerate.
5517
5518 Mon Oct 11 16:07:49 1999 Richard Henderson <rth@cygnus.com>
5519
5520 * gcse.c (delete_null_pointer_checks): Returns void.
5521
5522 Mon Oct 11 20:31:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5523
5524 * rtl.c (copy_rtx): Don't use accessor macros to copy fields.
5525 * emit-rtl.c (copy_insn_1): Likewise.
5526
5527 Mon Oct 11 13:29:06 1999 Geoffrey Keating <geoffk@cygnus.com>
5528
5529 * config/mips/mips.c (mips_build_va_list): Correct
5530 TREE_CHAIN setting when hard-float.
5531 (mips_va_start): Use corrected setting.
5532 (mips_va_arg): Likewise. Also pass a tree to build of
5533 POSTINCREMENT_EXPR rather than a naked 'int'.
5534
5535 Sun Oct 10 18:27:27 1999 Mark Mitchell <mark@codesourcery.com>
5536
5537 * ggc.h (ggc_push_context): Fix comment.
5538 (ggc_pop_context): Likewise.
5539 (mark_string_if_gcable): Likewise.
5540 * ggc-common.c (ggc_mark_rtx_children): Use
5541 ggc_mark_string_if_gcable.
5542 * ggc-page.c (ggc_lookup_page_table): New function.
5543 (ggc_allocated_p): Likewise.
5544 (mark_obj): Fix formatting.
5545 (ggc_mark_string_if_gcable): New function.
5546 * ggc-simple.c (ggc_allocated_strings): New variable.
5547 (ggc_strings_used): Likewise.
5548 (ggc_compare_addresses): New function.
5549 (ggc_pop_context): Pop the `any' memory too.
5550 (ggc_mark_string_if_gcable): New function.
5551 (ggc_collect): Initialize and tear down ggc_allocated_strings.
5552
5553 Sun Oct 10 20:05:21 1999 David Edelsohn <edelsohn@gnu.org>
5554
5555 * rs6000.md (movstrsi_?reg): Use preferred rD/rS = r5 form.
5556 (scc patterns): Disable most SImode variants if TARGET_POWERPC64.
5557 * rs6000.c (expand_block_move): Match movstrsi_?reg register
5558 changes.
5559
5560 Sun Oct 10 16:37:01 1999 Richard Henderson <rth@cygnus.com>
5561
5562 * haifa-sched.c (sched_reg_n_calls_crossed): Delete.
5563 (sched_reg_live_length, sched_reg_basic_block): Delete.
5564 (current_block_num, bb_live_regs, old_live_regs): Delete.
5565 (dead_notes, struct sometimes): Delete.
5566 (sched_note_set, birthing_insn_p): Delete.
5567 (adjust_priority): Gut useless reg lifetime code.
5568 (create_reg_dead_note, attach_deaths): Delete.
5569 (attach_deaths_insn, new_sometimes_live): Delete.
5570 (finish_sometimes_live): Delete.
5571 (find_pre_sched_live, find_post_sched_live): Delete.
5572 (update_reg_usage): Delete.
5573 (find_insn_reg_weight): New, from corpse of find_pre_sched_live.
5574 (schedule_insns): Delete reg lifetime code.
5575 (sched_analyze): Use REG_SAVE_NOTE to stuff NOTE_INSN notes away.
5576 (unlink_other_notes): Adjust REG_NOTE commentary.
5577 (reemit_notes): Use REG_SAVE_NOTE.
5578 (schedule_block): Likewise.
5579 (schedule_region): Allocate bitmap of blocks in region. Use
5580 count_or_remove_death_notes. Use update_life_info.
5581
5582 * rtl.h (REG_SAVE_NOTE): New.
5583 * rtl.c (reg_note_name): Update.
5584
5585 Sun Oct 10 16:14:16 1999 Richard Henderson <rth@cygnus.com>
5586
5587 * combine.c (refresh_blocks, need_refresh): New.
5588 (combine_instructions): Allocate refresh_blocks. Invoke
5589 update_life_info if needed.
5590 (distribute_notes): Mark refresh_blocks instead of installing
5591 USE insns.
5592 * flow.c (update_life_info): Remove notes if GLOBAL_RM_NOTES.
5593 * basic_block.h (enum update_life_extent): Add GLOBAL_RM_NOTES.
5594
5595 * Makefile.in (recog.o): Depend on basic-block.h.
5596
5597 Sun Oct 10 12:03:21 1999 Richard Henderson <rth@cygnus.com>
5598
5599 * genrecog.c (add_to_sequence): Thinko last change: delete
5600 shadowing allow_const_int variable.
5601
5602 Sun Oct 10 08:40:00 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5603
5604 * cppinit.c: Use HAVE_GCC_VERSION instead of explicitly testing
5605 __GNUC__ and __GNUC_MINOR__.
5606
5607 * gansidecl.h: Likewise.
5608
5609 * rtl.c: Likewise.
5610
5611 * rtl.h: Likewise.
5612
5613 * toplev.h: Likewise.
5614
5615 * tree.c: Likewise.
5616
5617 * tree.h: Likewise.
5618
5619 * varray.c: Likewise.
5620
5621 * varray.h: Likewise.
5622
5623 Sun Oct 10 13:28:48 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5624
5625 * loop.c (find_and_verify_loops): When looking for a BARRIER, don't
5626 use one before a jump table.
5627
5628 * rtl.def (ADDRESS): Change documentation to match reality.
5629 * md.texi: Don't document it.
5630 * gmicro.md (load address pattern): Use 'p' constraint, delete use
5631 of ADDRESS rtx.
5632
5633 * emit-rtl.c (copy_insn_1): Make format_ptr a const char *.
5634
5635 Sun Oct 10 02:41:41 1999 Richard Henderson <rth@cygnus.com>
5636
5637 * genrecog.c (add_to_sequence): Move allow_const_int test outside
5638 known predicate block; default allow_const_int true.
5639 (debug_decision_list): New.
5640
5641 Sun Oct 10 00:43:08 1999 Richard Henderson <rth@cygnus.com>
5642
5643 * i386.h (CC1_SPEC): Typo -- use cc1_cpu.
5644
5645 Sat Oct 9 23:26:55 1999 Jeffrey A Law (law@cygnus.com)
5646
5647 * gcse.c (gcse_main): Avoid global optimizations if we have a
5648 large number of basic blocks and the ratio of edges to blocks
5649 is high.
5650 (delete_null_pointer_checks): Likewise.
5651
5652 Sat Oct 9 23:16:01 1999 Ken Raeburn <raeburn@mit.edu>
5653
5654 * c-common.c (check_format_info): Warn if format string isn't a
5655 string literal.
5656
5657 Sat Oct 9 23:04:02 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
5658
5659 * configure.in (arm*-*-*): Don't let autoconf remove brackets
5660 * configure: regenerate
5661
5662 Sat Oct 9 13:15:53 1999 Richard Henderson <rth@cygnus.com>
5663
5664 * alpha.md (extendsidi2): Turn into a splitter. Allow f/f.
5665 If TARGET_FIX, allow r/f. Remove cvtlq unspec pattern.
5666 (peepholes): Re-enable.
5667
5668 Sat Oct 9 12:18:16 1999 Richard Henderson <rth@cygnus.com>
5669
5670 * Makefile.in (flow.o): Depend on TREE_H.
5671 * basic-block.h (REG_SET_EQUAL_P): New.
5672 (XOR_REG_SET): New.
5673 (n_edges): Declare.
5674 (free_regset_vector): Remove declaration.
5675 (flow_delete_insn_chain): Declare.
5676 (enum update_life_extent): New.
5677 (update_life_info, count_or_remove_death_notes): Declare.
5678 * combine.c (distribute_notes) [REG_DEAD]: Stop search at bb->head.
5679 Verify register live at bb->global_live_at_start before adding USE.
5680 * flow.c (HAVE_epilogue, HAVE_prologue): Provide default.
5681 (CLEAN_ALLOCA): New.
5682 (n_edges): New.
5683 (PROP_*): New flags.
5684 (find_basic_blocks_1): Use alloc_EXPR_LIST.
5685 (clear_edges): Zero n_edges.
5686 (make_edge): Increment n_edges.
5687 (split_edge): Don't allocate bb->local_set. Increment n_edges.
5688 (flow_delete_insn_chain): Export.
5689 (delete_block): Decrement n_edges.
5690 (merge_blocks_nomove): Likewise.
5691 (life_analysis): Give life_analysis_1 PROP flags.
5692 (verify_wide_reg_1, verify_wide_reg): New.
5693 (verify_local_live_at_start): New.
5694 (update_life_info): Rewrite to call into propogate_block.
5695 (mark_reg): New.
5696 (mark_regs_live_at_end): After reload, if epilogue as rtl,
5697 always mark stack pointer. Conditionally mark PIC register.
5698 After reload, mark call-saved registers, return regsiters.
5699 (life_analysis_1): Accept PROP flags not remove_dead_code.
5700 Call mark_regs_live_at_end before zeroing regs_ever_live.
5701 Use calculate_global_regs_live. Copy global_live_at_end before
5702 calling final propagate_block. Zero reg_next_use on exit.
5703 (calculate_global_regs_live): New.
5704 (allocate_bb_life_data): Don't allocate bb->local_set.
5705 (init_regset_vector, free_regset_vector): Remove.
5706 (propagate_block): Accept FLAGS not FINAL or REMOVE_DEAD_CODE.
5707 Test flags before every operation. Warn if prologue/epilogue insn
5708 would have been deleted.
5709 (mark_set_regs, mark_set_1): Accept and use FLAGS.
5710 Use alloc_EXPR_LIST.
5711 (mark_used_regs): Accept and use FLAGS, not FINAL.
5712 Remove special handling for RETURN.
5713 (try_pre_increment): Use alloc_EXPR_LIST.
5714 (dump_flow_info): Dump n_edges.
5715 (unlink_insn_chain, split_hard_reg_notes): Remove.
5716 (maybe_add_dead_note, maybe_add_dead_note_use): Remove.
5717 (find_insn_with_note, new_insn_dead_notes): Remove.
5718 (update_n_sets, sets_reg_or_subreg_1, sets_reg_or_subreg): Remove.
5719 (maybe_remove_dead_notes, prepend_reg_notes): Remove.
5720 (replace_insns): Remove.
5721 (count_or_remove_death_notes): New.
5722 (verify_flow_info): Abort on error after all checks.
5723 (remove_edge): Decrement n_edges.
5724 (remove_fake_edges): Tweek format.
5725 * haifa-sched.c (schedule_insns): Use split_all_insns.
5726 * output.h (update_life_info): Remove declaration.
5727 * recog.c (split_all_insns): From the corpse of split_block_insns,
5728 do the whole function block by block. Use update_life_info.
5729 (recog_last_allowed_insn): New.
5730 (recog_next_insn): Mind it.
5731 (peephole2_optimize): Set it. Walk backwards through blocks.
5732 Use update_life_info.
5733 * rtl.h (update_flow_info, replace_insns): Remove declarations.
5734 (split_all_insns): Declare.
5735 * toplev.c (rest_of_compilation): Thread prologue before flow2.
5736 Use split_all_insns.
5737
5738 * i386.md (or -1 peep2s): Disable.
5739
5740 Fri Oct 8 17:49:08 1999 Richard Henderson <rth@cygnus.com>
5741
5742 * config/mips/mips.md (movstrsi+[123]) : Combine these into
5743 a single pattern. Scrap the 'd' versions as unnecessary.
5744
5745 * config/mips/mips.md (tablejump_internal3,tablejump_mips161,
5746 tablejump_mips162,tablejump_internal4): The operands to a
5747 label_ref must be VOIDmode.
5748
5749 Fri Oct 8 16:12:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5750
5751 * configure.in (c-mbchar): Append, don't overwrite, `extra_c_flags'.
5752
5753 Fri Oct 8 11:58:34 1999 Richard Henderson <rth@cygnus.com>
5754
5755 * mips.c (mips_va_arg) [EABI]: Return addr_rtx.
5756
5757 Fri Oct 8 11:58:34 1999 Richard Henderson <rth@cygnus.com>
5758
5759 * lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the
5760 cache every function if ggc_p.
5761
5762 Fri Oct 8 18:46:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5763
5764 * jump.c (duplicate_loop_exit_test): Use copy_insn/copy_insn_1
5765 instead of copy_rtx. Accept sequences that contain asm statements.
5766 * emit-rtl.c (copy_insn_1, copy_insn): New functions.
5767 (copy_insn_scratch_in, copy_insn_scratch_out, copy_insn_n_scratches,
5768 orig_asm_operands_vector, copy_asm_operands_vector,
5769 orig_asm_constraints_vecotr, copy_asm_constraints_vector): New static
5770 variables.
5771 * rtl.h (copy_insn, copy_insn_1): Declare.
5772
5773 Fri Oct 8 13:08:12 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5774
5775 * Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h.
5776
5777 * alpha.h (ASM_OUTPUT_MI_THUNK): Pass the correct number of
5778 arguments to `current_file_function_operand'.
5779
5780 * genrecog.c: Include hard-reg-set.h and resource.h in the
5781 generated output file.
5782
5783 * real.c: Include tm_p.h.
5784
5785 Fri Oct 8 18:46:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5786
5787 * i386.md (prologue_allocate_stack): Add '=' constraint letter on
5788 output operand.
5789
5790 Thu Oct 7 23:06:50 1999 Richard Henderson <rth@cygnus.com>
5791
5792 * rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber
5793 before the fctiwz insn.
5794
5795 Thu Oct 7 22:53:00 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5796 Mark Mitchell <mark@codesourcery.com>
5797
5798 * tree.c (make_lang_type_fn): New funtion pointer.
5799 (make_lang_type): Call it.
5800 * tree.h (make_lang_type): Declare.
5801 (make_lang_type_fn): Likewise.
5802 * rs6000.c (rs6000_build_va_list): Use make_lang_type.
5803
5804 Thu Oct 7 00:36:17 1999 Diego Novillo <dnovillo@cygnus.com>
5805
5806 * config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF
5807 make sure that HIGH instructions are copied into BASE_REGS.
5808
5809 Thu Oct 7 17:02:34 1999 Jason Merrill <jason@yorick.cygnus.com>
5810
5811 * expr.c (expand_expr, TARGET_EXPR): Set TREE_USED sooner.
5812
5813 Thu Oct 7 17:01:58 1999 Greg McGary <gkm@gnu.org>
5814
5815 * c-decl.c (finish_struct): Use simpler method of
5816 removing elements of a singly-linked list.
5817
5818 Thu Oct 7 15:23:28 1999 Michael Meissner <meissner@cygnus.com>
5819
5820 * alpha.md (peephole2's): Comment out peephole2's that generate
5821 buggy code.
5822
5823 Thu Oct 7 12:00:53 1999 Richard Henderson <rth@cygnus.com>
5824
5825 * genrecog.c (add_to_sequence): Disable mode check for
5826 wildcard matches.
5827
5828 Thu Oct 7 20:14:16 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5829
5830 * ggc-simple.c (init_ggc): Set empty_string.
5831
5832 Thu Oct 7 01:13:15 1999 Richard Henderson <rth@cygnus.com>
5833
5834 * configure.in: Detect mmap. Add --with-gc=foo to select
5835 garbage collector; default to page if mmap available.
5836 * Makefile.in (GGC): Substitute.
5837
5838 Wed Oct 6 23:56:30 1999 Richard Henderson <rth@cygnus.com>
5839
5840 * c-decl.c (ggc_p): Enable.
5841
5842 Wed Oct 6 17:17:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5843
5844 * flow.c (verify_flow_info): Make it extern & unconditionally define.
5845
5846 1999-10-06 Brendan Kehoe <brendan@cygnus.com>
5847
5848 * sparc/sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc
5849 string for little-endian-data.
5850
5851 Wed Oct 6 16:10:35 1999 Michael Meissner <meissner@cygnus.com>
5852
5853 * varray.h (VARRAY_CHECK): Fix up appropriate revision check, in
5854 case somebody tries to compile --enable-checking code with gcc
5855 1.34 or such.
5856
5857 Wed Oct 6 12:22:50 1999 Richard Henderson <rth@cygnus.com>
5858
5859 * genrecog.c (add_to_sequence): Verify operand to label_ref is
5860 VOIDmode.
5861
5862 Wed Oct 6 10:21:15 1999 Richard Henderson <rth@cygnus.com>
5863
5864 * genconfig.c (main): Disable HAVE_conditional_arithmetic.
5865 * jump.c (jump_optimize_1): Document why.
5866
5867 Wed Oct 6 10:41:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5868
5869 * collect2.c (scan_prog_file, scan_libraries): Prototype function
5870 pointers and casts for `int_handler' and `quit_handler'.
5871
5872 * flow.c (verify_flow_info, split_hard_reg_notes,
5873 find_insn_with_note, sets_reg_or_subreg_1, prepend_reg_notes,
5874 remove_edge, remove_fake_successors): Add static prototypes.
5875 (verify_flow_info): Wrap with macro ENABLE_CHECKING.
5876 (mark_set_1): Initialize variable `regno'.
5877 (unlink_insn_chain): Likewise for variable `curr'.
5878 (remove_fake_edges): Remove unused variables `e', `tmp' and `last'.
5879
5880 * loop.c (strength_reduce): Initialize variable
5881 `unrolled_insn_copies'.
5882 (cmp_combine_givs_stats, cmp_recombine_givs_stats): Add static
5883 prototypes. Change these functions to take const PTR parameters
5884 to avoid prototype conflict when used as the comparson argument
5885 for qsort.
5886 (check_dbra_loop): Initialize variable `comparison_val'.
5887
5888 * reload.c (debug_reload_to_stream, debug_reload): Add prototypes.
5889 (get_secondary_mem): Mark parameter `x' with ATTRIBUTE_UNUSED.
5890 (find_valid_class): Initialize variable `best_class'.
5891 (find_reloads): Call memcpy, not bcopy.
5892
5893 * reload1.c (gen_mode_int, dump_needs): Add prototypes.
5894 (hard_reg_use_compare): Don't needlessly cast away const.
5895 (reload_reg_class_lower): Likewise.
5896 (choose_reload_regs): Initialize variable `regno'.
5897
5898 Tue Oct 5 16:34:12 1999 Paul Burchard <burchard@pobox.com>
5899
5900 * ggc-page.c (GGC_ALWAYS_COLLECT): Fix typo when undef'ing.
5901
5902 Tue Oct 5 16:14:40 1999 Michael Meissner <meissner@cygnus.com>
5903
5904 * libgcc1-test.c (toplevel): Include stddef.h to get size_t.
5905 ({,d}discard): Add forward declarations. Declare parameter as
5906 unused.
5907 (main_without_main): Explicitly declare return type to be int.
5908 (memcpy): Properly declare.
5909
5910 * libgcc2.c (toplevel): If inhibit_libc is defined and not
5911 building the trampoline support, declare malloc, free, and
5912 atexit.
5913 (__clear_cache): Mark arguments as potentially unused.
5914
5915 * frame.c (toplevel): If inhibit_libc is defined, declare
5916 malloc and free.
5917
5918 Tue Oct 5 12:00:32 1999 Richard Henderson <rth@cygnus.com>
5919
5920 * flow.c (make_edge): Accept an optional 2D bitmap in which
5921 to cache edge existence. Update all callers.
5922 (make_label_edge, make_eh_edge): Pass through the edge cache.
5923 (make_edges): Provide the cache.
5924
5925 Tue Oct 5 12:16:49 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5926
5927 * mbchar.c (literal_codeset, local_mbtowc, local_mblen): Constify
5928 a char*.
5929 (local_mbtowc): Change the type of variable `i' from int to size_t.
5930
5931 * mbchar.h (ISSJIS1, ISSJIS2): Use parens around && within ||.
5932 (local_mbtowc, local_mblen, literal_codeset): Constify a char*.
5933
5934 Tue Oct 5 11:34:52 1999 Michael Meissner <meissner@cygnus.com>
5935
5936 * ggc-common.c (toplevel): Reorder includes, so that ggc.h comes
5937 after other includes that define the appropriate types. Include
5938 tm_p.h for getting user prototypes.
5939 * ggc-callbacks.c (toplevel): Ditto.
5940 * ggc-none.c (toplevel): Ditto.
5941 * gcc-page.c (toplevel): Ditto.
5942 * ggc-simple.c (toplevel): Ditto.
5943
5944 Mon Oct 4 16:48:16 1999 Diego Novillo <dnovillo@cygnus.com>
5945 Jonathan Larmour <jlarmour@cygnus.co.uk>
5946
5947 * config/mips/mips.c (mips_move_2words): Split doubles if
5948 ISA >= 3, !TARGET_64BIT, and destination is not an FP register.
5949
5950 Mon Oct 4 21:47:31 1999 Richard Henderson <rth@cygnus.com>
5951
5952 * genrecog.c (struct decision_test): New.
5953 (struct decision): Remove test-related members, sort the rest by size.
5954 (IS_SPLIT): Simplify.
5955 (new_decision, new_decision_test): New.
5956 (add_to_sequence): Use them. No special handling for args of
5957 non-MATCH codes.
5958 (maybe_both_true): Renamed from not_both_true; return sense changed.
5959 (maybe_both_true_1, maybe_both_true_2): New. Broken out
5960 of maybe_both_true and adjusted for decision_test.
5961 (position_merit): Remove.
5962 (nodes_identical, nodes_identical_1): New, broken out of merge_trees.
5963 (merge_accept_insn): New, broken out of merge_trees.
5964 (merge_trees): Use them. No special case for c_test; no node
5965 splitting; use test type instead of position_merit.
5966 (factor_tests): New.
5967 (simplify_tests): New.
5968 (break_out_subroutines): Don't write code now.
5969 (find_afterward): New.
5970 (write_afterward, write_switch, write_cond): New.
5971 (write_action, is_unconditional): New.
5972 (write_node): New. Use them.
5973 (write_tree_1): Rewrite. Use the new functions above.
5974 (write_tree): Remove afterward processing.
5975 (write_subroutine): Simplify function variant emission.
5976 (write_subroutines): New.
5977 (same_codes, clear_codes): Remove.
5978 (same_modes, clear_modes): Remove.
5979 (write_header): New, broken out of main.
5980 (make_insn_sequence): Use new_decision and new_decision_test.
5981 (process_tree): New, broken out of main.
5982 (main): Adjust for merge_trees interface change.
5983 Don't #define operands in the output file.
5984 (record_insn_name): New, broken out of make_insn_sequence.
5985 (debug_decision_2, debug_decision_1, debug_decision_0): New.
5986 (debug_decision): New.
5987
5988 1999-10-04 21:58 -0700 Zack Weinberg <zack@bitmover.com>
5989
5990 * resource.c (find_free_register): Mark class_str argument const.
5991 * resource.h: Update prototype to match.
5992
5993 * i386.h (PREDICATE_CODES): Add entry for long_memory_operand.
5994 * i386.md: Give all anonymous insns names.
5995
5996 Mon Oct 4 21:12:02 1999 Jeffrey A Law (law@cygnus.com)
5997
5998 * flow.c (merge_blocks): Avoid assing BASIC_BLOCK for non-existent
5999 blocks.
6000
6001 Mon Oct 4 21:01:39 1999 Richard Henderson <rth@cygnus.com>
6002
6003 * toplev.c (dbr_sched_time): Unconditional.
6004 (peephole2_time): New.
6005 (compile_file): Add pass numbers to all of the dump file suffixes.
6006 Dump peephole2_time. Don't dump times for non-applicable passes.
6007 (rest_of_compilation): Add pass numbers to dump file suffixes.
6008 Conditionalize calls to the scheduler.
6009 * invoke.texi: Update.
6010
6011 Mon Oct 4 20:25:13 1999 Anthony Green <green@cygnus.com>
6012
6013 * flow.c (make_edges): Fix insn iteration.
6014 (find_basic_blocks): Assign NULL_RTX, not 0, to rtx.
6015 (find_basic_blocks_1): Fix spelling mistake.
6016
6017 Mon Oct 4 16:56:11 1999 Richard Henderson <rth@cygnus.com>
6018
6019 * tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
6020 always have side-effects. Use memset not bzero.
6021 (make_node): Likewise.
6022
6023 Mon Oct 4 16:22:20 1999 Mark Mitchell <mark@codesourcery.com>
6024
6025 * stmt.c (expand_anon_union_decl): When any of the elements of the
6026 union is addressable, so is the entire union.
6027
6028 Mon Oct 4 11:38:33 1999 Richard Henderson <rth@cygnus.com>
6029
6030 * sbitmap.c (sbitmap_ones): Don't set too many bits.
6031
6032 * bitmap.h (enum bitmap_bits): Add BITMAP_XOR.
6033 * bitmap.c (bitmap_operation): Return true iff TO changed.
6034 (bitmap_equal_p): New.
6035 (bitmap_bit_p): Tidy arithmetic.
6036 (debug_bitmap_file): Likewise.
6037
6038 Mon Oct 4 11:28:37 1999 Richard Henderson <rth@cygnus.com>
6039
6040 * toplev.c (rest_of_compilation): Turn on cse_not_expected
6041 before cse2 instead of after.
6042
6043 Mon Oct 4 09:55:17 1999 Stan Cox <scox@cygnus.com>
6044
6045 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Let leasi/liadi handle large
6046 register offsets.
6047
6048 Mon Oct 4 08:54:12 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6049
6050 * cppinit.c (is_idchar initializer): Loosen tests to accept
6051 gcc 2.>6 and >2.
6052
6053 Mon Oct 4 02:31:20 1999 Mark Mitchell <mark@codesourcery.com>
6054
6055 * mips.md: Define conditional move patterns for floating point
6056 operands and DI mode conditions.
6057
6058 Mon Oct 4 02:12:41 1999 Mark Mitchell <mark@codesourcery.com>
6059
6060 * tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
6061 always have side-effects.
6062
6063 Sun Oct 3 14:14:16 1999 Jeffrey A Law (law@cygnus.com)
6064
6065 * mn10200.c (asm_file_start): Fix typo.
6066
6067 * cppinit.c (is_idchar initializer): Tighten tests for when
6068 to put the table into initialized memory.
6069
6070 * ggc-none.c (ggc_alloc_rtvec): An rtvec is an array of rtx,
6071 not an array of rtunion.
6072 * gcc-page.c (ggc_alloc_rtvec): Similarly.
6073 * gcc-simple (ggc_free_rtvec): Similarly.
6074
6075 * genattrtab.c (simplify_cond): Make TESTS an array of rtxs, instead
6076 of rtunions.
6077
6078 * mbchar.h: Add missing #endif.
6079
6080 * t-fr30 (LIB2FUNCS_EXTRA): Remove definition.
6081 (FPBIT, DPBIT): Define.
6082
6083 Sun Oct 3 12:44:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6084
6085 * print-tree.c (print_node, indent_to): Remove redundant prototypes.
6086
6087 * profile.c (instrument_arcs, output_gcov_string,
6088 tablejump_entry_p): Add static prototypes.
6089 (output_gcov_string): Constify a char*.
6090
6091 * regmove.c (replacement_quality, fixup_match_2): Add static
6092 prototypes.
6093
6094 * resource.h (reg_dead_p): Add extern prototype.
6095
6096 * rtl.c (trim_filename): Add static prototype.
6097
6098 * scan-decls.c (skip_to_closing_brace): Likewise.
6099
6100 * stmt.c (expand_decl_cleanup_no_eh): Hide definition.
6101 (expand_end_case): Initialize variable `range'.
6102 (emit_case_nodes): Remove unused prototype `rtx_fn'.
6103
6104 * varasm.c (asm_emit_uninitialised): Add static prototype.
6105 (asm_emit_uninitialised, assemble_variable): Mark parameter with
6106 ATTRIBUTE_UNUSED.
6107
6108 Sun Oct 3 12:24:52 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6109
6110 * cpplib.c (if_directive_nameo): Add static prototype.
6111
6112 * cse.c (cse_insn): Remove unused variable `p'.
6113
6114 * except.c (create_rethrow_ref, push_entry,
6115 receive_exception_label, new_eh_region_entry, find_func_region,
6116 clear_function_eh_region, process_nestinfo): Add static prototypes.
6117 (get_reg_for_handler): Hide definition.
6118 (process_nestinfo): Initialize variable `extra_handlers'.
6119
6120 * expr.h (expand_builtin_longjmp): Add extern prototype.
6121
6122 * final.c (final_addr_vec_align, align_fuzz): Add static prototypes.
6123
6124 * function.c (prepare_function_start): Likewise.
6125 (pop_function_context_from): Mark parameter `context' with
6126 ATTRIBUTE_UNUSED.
6127 (push_temp_slots_for_block, flush_addressof): Hide definition.
6128
6129 * gcov.c (init_arc, reverse_arcs, create_program_flow_graph,
6130 solve_program_flow_graph, calculate_branch_probs,
6131 function_summary, main, fancy_abort): Add prototypes.
6132
6133 * gen-protos.c (add_hash, parse_fn_proto, main): Likewise.
6134 (add_hash): Constify a char*.
6135
6136 * ggc-common.c (ggc_mark_rtx_ptr, ggc_mark_tree_ptr,
6137 ggc_mark_tree_varray_ptr, ggc_mark_tree_hash_table_ptr,
6138 ggc_mark_string_ptr, ggc_mark_tree_hash_table_entry): Add prototypes.
6139
6140 * integrate.c (expand_inline_function_eh_labelmap): Likewise.
6141
6142 * lists.c (free_list, zap_lists): Likewise.
6143
6144 Sun Oct 3 12:05:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6145
6146 * alias.c (nonlocal_reference_p): Add static prototype.
6147
6148 * bitmap.c (bitmap_element_allocate): Prototype args in function
6149 pointer cast.
6150
6151 * builtins.c (stabilize_va_list): Add static prototype.
6152 (expand_builtin_va_arg): Constify a char*.
6153
6154 * c-lex.c (getch, put_back, extend_token_buffer_to,
6155 read_line_number, token_getch, token_put_back): Add static
6156 prototypes.
6157
6158 * c-parse.gperf (hash, is_reserved_word): Likewise.
6159
6160 * cccp.c (is_dir_separator): Likewise.
6161
6162 Sat Oct 2 16:07:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6163
6164 * graph.h: New file to prototype functions exported by graph.c.
6165
6166 * Makefile.in (graph.o, toplev.o): Depend on graph.h.
6167
6168 * graph.c: Include graph.h.
6169
6170 * toplev.c: Likewise. Remove redundant prototypes.
6171
6172 Sat Oct 2 11:28:33 1999 Krister Walfridsson <cato@df.lth.se>
6173
6174 * invoke.texi: Removed duplicated description for -Q.
6175
6176 Sat Oct 2 11:16:00 1999 Jim Kingdon <http://developer.redhat.com>
6177
6178 * extend.texi: Grammar fix in __extension__ text.
6179
6180 Sat Oct 2 11:06:31 1999 Richard Henderson <rth@cygnus.com>
6181
6182 * md.texi (define_peephole2): New section.
6183
6184 Sat Oct 2 10:57:56 1999 Jan Hubicka <hubicka@freesoft.cz>
6185
6186 * i386.md (mov?i patterns): Fix handling of TARGET_USE_MOV0
6187 (mov $-1 to or peepholer): Enable for pentium when optimizing for
6188 speed.
6189
6190 Sat Oct 2 10:55:25 1999 Jan Hubicka <hubicka@freesoft.cz>
6191
6192 * builtins.c (expand_builtin_strlen): Fix best mode searching loop.
6193
6194 Sat Oct 2 10:53:22 1999 Jan Hubicka <hubicka@freesoft.cz>
6195
6196 * i386.md (ffs expander): Emit Pentium friendly code for
6197 TARGET_PENTIUM.
6198
6199 Sat Oct 2 02:48:21 1999 Mark P. Mitchell <mark@codesourcery.com>
6200
6201 * tree.c (build): Don't look at TREE_SIDE_EFFECTS or TREE_RAISES
6202 for non-trees.
6203 (build1): Likewise.
6204
6205 Fri Oct 1 18:01:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6206
6207 * i386elf.h (TARGET_DEFAULT): Use symbolic constants.
6208
6209 Fri Oct 1 12:42:53 1999 Andreas Schwab <schwab@suse.de>
6210
6211 * config/m68k/m68k.c (use_return_insn): Return false if the pic
6212 register is in use.
6213
6214 Fri Oct 1 10:56:06 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6215
6216 * md.texi (No Constraints): Delete section.
6217 * Makefile.in (genattrtab.o): Don't depend on "insn-config.h".
6218 * final.c (final_scan_insn): We always have register constraints.
6219 * genattrtab.c: Don't include "insn-config.h".
6220 (write_attr_case): We always have register constraints.
6221 * genconfig.c (register_constraint_flag): Delete.
6222 (walk_insn_part): Don't check whether we have register constraints.
6223 (main): Don't write out "#define REGISTER_CONSTRAINTS".
6224 * genoutput.c (have_constraints): Delete.
6225 (main): Don't set it.
6226 (output_operand_data): We always have constraints.
6227 (scan_operands): Likewise.
6228 (compare_operands): Likewise.
6229 * local-alloc.c (block_alloc): We always have constraints.
6230 (requires_inout): Always compile this function.
6231 * recog.c (extract_insn): We always have constraints.
6232 (constrain_operands, reg_fits_class_p): Always compile these
6233 functions.
6234 * recog.h (struct recog_data): Delete non-REGISTER_CONSTRAINTS
6235 fields.
6236 (struct insn_operand_data): Likewise.
6237 * regclass.c (regclass): We always have constraints.
6238 (record_reg_classes, copy_cost, record_address_regs,
6239 auto_inc_dec_reg_p): Always compile these functions.
6240 * regmove.c (regmove_optimize): We always have constraints.
6241 * reload.c (find_reloads): Likewise.
6242 * reload1.c (reload): Likewise.
6243 (reload_cse_simplify_operands): Likewise.
6244 * i860.c (output_delay_insn): Likewise.
6245
6246 Thu Sep 30 23:04:41 1999 Mark P. Mitchell <mark@codesourcery.com>
6247
6248 * iris6.h (BUILD_VA_LIST_TYPE): Define.
6249
6250 Thu Sep 30 18:44:50 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6251
6252 * rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node
6253 for the va_list record.
6254
6255 Thu Sep 30 18:34:54 1999 Jan Hubicka <hubicka@freesoft.cz>
6256
6257 * i386.c (ix86_adjust_cost): Ignore false ebp dependencies in
6258 prologues.
6259
6260 Thu Sep 30 18:31:36 1999 Jan Hubicka <hubicka@freesoft.cz>
6261
6262 * alias.c: Include insn-flags.h.
6263 * Makefile.in (alias.o): Update.
6264
6265 Thu Sep 30 18:21:30 1999 Jan Hubicka <hubicka@freesoft.cz>
6266
6267 * i386.c (ix86_expand_int_movcc): Convert LEU and GTU comparisons
6268 to LTU and GEU. Handle more cases using sbb.
6269
6270 Thu Sep 30 18:18:39 1999 Jan Hubicka <hubicka@freesoft.cz>
6271
6272 * i386.md (truncatexfdf splitters): Do not use subreg.
6273 (fop XFmode patterns): Fix mode in operand testing.
6274
6275 Thu Sep 30 18:04:13 1999 Richard Henderson <rth@cygnus.com>
6276
6277 * jump.c (jump_optimize_1): Amend last change to test only the
6278 form of the operand, not the insn.
6279
6280 * jump.c (jump_optimize_1) [conditional_move]: Use general_operand
6281 not register_operand to determine when B may need preloading.
6282
6283 Thu Sep 30 17:39:16 1999 Richard Henderson <rth@cygnus.com>
6284
6285 * alpha.md (*): Use nonimmediate not general_operand for SET_DEST.
6286 (ffsdi2, extxl, insxh, mskxh): Add missing DImode to SET_SRC.
6287 (call-value patterns): Move to end of file.
6288 (*): Remove mode from label_ref in (pc) context.
6289 (movstrqi): Use memory not general_operand for BLKmode operands.
6290 (prologue_stack_probe_loop, builtin_longjmp): Add missing mode
6291 to register_operand operands.
6292 (peep2 patterns): Convert from commented-out peephole patterns.
6293
6294 Thu Sep 30 14:39:17 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6295
6296 * tree.h (enum built_in_function): Rename BUILT_IN_DWARF_REG_SIZE
6297 to BUILT_IN_INIT_DWARF_REG_SIZES.
6298 * builtins.c (expand_builtins, case BUILT_IN_INIT_DWARF_REG_SIZES):
6299 Renamed from BUILT_IN_DWARF_REG_SIZE; call
6300 expand_builtin_init_dwarf_reg_sizes.
6301 * c-decl.c (init_decl_processing): Replace __builtin_dwarf_reg_size
6302 with __builtin_init_dwarf_reg_size_table.
6303 * dwarf2out.c (struct reg_size_range): Delete.
6304 (expand_builtin_init_dwarf_reg_sizes): New function.
6305 (expand_builtin_dwarf_reg_size): Delete.
6306 * except.h (expand_builtin_init_dwarf_reg_sizes): Declare.
6307 (expand_builtin_dwarf_reg_size): Don't declare.
6308 * libgcc2.c (dwarf_reg_size_table_initialized): New.
6309 (dwarf_reg_size_table): New.
6310 (init_reg_size_table): New function.
6311 (copy_reg): Use dwarf_reg_size_table.
6312 (eh_context_initialize): Make sure dwarf_reg_size_table is initialized
6313 before use.
6314
6315 Thu Sep 30 05:40:34 1999 Richard Earnshaw <rearnsha@arm.com>
6316
6317 * c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR):
6318 Correctly build argument list to constructor and destructor functions.
6319
6320 Thu Sep 30 00:13:27 1999 Dirk Zoller <duz@rtsffm.com>
6321
6322 * c-tree.h (warn_float_equal): Declare.
6323 * c-decl.c (warn_float_equal): Define.
6324 (c_decode_option): Recognize -W[no-]float-equal.
6325 * c-typeck.c (build_binary_op): Conditionally warn
6326 about equality tests of floating point types.
6327 * toplev.c (documented_lan_options): Add -W[no-]float-equal.
6328 * invoke.texi: Add docs for -Wfloat-equal warning.
6329
6330 Wed Sep 29 23:43:39 1999 Jeffrey A Law (law@cygnus.com)
6331
6332 * h8300.h (INIT_TARGET_OPTABS): Use init_one_optab instead of
6333 generating RTL directly.
6334 * mips.h (INIT_TARGET_OPTABS): Likewise.
6335 * mn10200.h (INIT_TARGET_OPTABS): Likewise.
6336
6337 * expr.h (init_mov_optab): Delete declaration
6338
6339 * h8300.c (WORD_REG_USED): Update to avoid useless register
6340 saves in interrupt functions and functions which never return.
6341
6342 * cse.c (struct set): Delete inner_dest_loc field.
6343 (cse_insn): Remove assignments to inner_dest_loc field.
6344
6345 Wed Sep 29 16:06:20 1999 Richard Henderson <rth@cygnus.com>
6346
6347 * ggc-page.c: Don't include <unistd.h> etc taken care of
6348 by "system.h". Include <sys/mman.h> afterward.
6349
6350 Wed Sep 29 16:05:18 1999 Richard Henderson <rth@cygnus.com>
6351
6352 * rs6000.c (rs6000_encode_section_info): If ggc_p, use
6353 ggc_alloc_string.
6354
6355 Tue Sep 28 16:45:40 1999 David Edelsohn <edelsohn@gnu.org>
6356
6357 * xcoffout.c (xcoffout_declare_function): Add documentation.
6358 * rs6000.c (num_insns_constant_wide): Use TARGET_POWERPC64 not
6359 TARGET_64BIT. Compare constant to -1, not bit pattern.
6360 (easy_fp_constant): Use TARGET_POWERPC64 not TARGET_64BIT.
6361 (expand_block_move): Allow 8 DImode loads for PowerPC64. Fix
6362 gen_movsi typos.
6363
6364 Tue Sep 28 16:43:14 1999 Nick Clifton <nickc@cygnus.com>
6365
6366 * dwarf2out.c (add_abstract_origin_attribute): Abort if
6367 origin_die is NULL.
6368 (gen_inlined_enumeration_type_die): Do not abort if the type has
6369 not been writeen out.
6370 (gen_inlined_structure_type_die): Do not abort if the type has
6371 not been writeen out.
6372 (gen_inlined_union_type_die): Do not abort if the type has
6373 not been writeen out.
6374 (gen_tagged_type_instantiation_die): Do not abort if the type
6375 has not been written out.
6376
6377 Tue Sep 28 14:33:47 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6378
6379 * c-decl.c (init_decl_processing): If MD_INIT_BUILTINS is defined,
6380 call it.
6381 * reg-stack.c (straighten_stack): Copy hard reg set with
6382 COPY_HARD_REG_SET.
6383
6384 Tue Sep 28 01:11:05 1999 Richard Henderson <rth@cygnus.com>
6385
6386 * builtins.c (stabilize_va_list): Stabilize array type va_list
6387 to a pointer type, not the base record type.
6388 (expand_builtin_va_copy): Dereference the pointers explicitly;
6389 use the correct size for the copy.
6390
6391 * rs6000.c (rs6000_va_start): Dereference valist to get to the record.
6392 (rs6000_va_arg): Likewise.
6393
6394 Mon Sep 27 23:27:21 1999 Richard Henderson <rth@cygnus.com>
6395
6396 * rtl.h (struct rtx_def): Move gc_mark to align mode field.
6397
6398 Mon Sep 27 23:20:29 1999 Mark Mitchell <mark@codesourcery.com>
6399
6400 * tree.h (struct tree_decl): Use `bclass', not `class', in name of
6401 field.
6402 (DECL_BUILT_IN_CLASS): Adjust accordingly.
6403
6404 Mon Sep 27 23:03:16 1999 Richard Henderson <rth@cygnus.com>
6405
6406 * ggc-page.c (GGC_MIN_LAST_ALLOCATED): New.
6407 (init_ggc): Use it instead of a constant.
6408 (ggc_collect): Bound allocated_last_gc by it.
6409
6410 Mon Sep 27 19:06:04 1999 Jeffrey A Law (law@cygnus.com)
6411
6412 * fixinc/fixinc.irix (stdio.h): Hack stdio.h to avoid problems
6413 with va_list.
6414
6415 Mon Sep 27 19:40:17 CEST 1999 Marc Espie <espie@cvs.openbsd.org>
6416
6417 * configure.in (mips*el-*-openbsd*): Don't duplicate default settings.
6418 (mips*-*-openbsd*): Let big endian configuration be a fragment.
6419 * configure: Regen.
6420 * config/mips/openbsd.h: New, OpenBSD little endian target.
6421 * config/mips/openbsd-be.h: New, OpenBSD big endian target fragment.
6422 * config/mips/xm-openbsd.h: New, OpenBSD host.
6423
6424 Mon Sep 27 10:28:48 1999 Andreas Schwab <schwab@suse.de>
6425
6426 * config/m68k/m68k.c (output_function_prologue,
6427 output_function_epilogue): Use
6428 current_function_uses_pic_offset_table instead of regs_ever_live
6429 to decide whether to save/restore pic register.
6430 (legitimize_pic_address): Don't modify regs_ever_live any more.
6431
6432 Sun Sep 26 10:55:36 1999 Mark Mitchell <mark@codesourcery.com>
6433
6434 * function.h (struct function): Add x_dont_save_pending_sizes_p.
6435 * stor-layout.c (variable_size): Don't add sizes to the pending
6436 sizes list if x_dont_save_pending_sizes_p is set.
6437
6438 Sun Sep 26 16:36:52 1999 Robert Lipe (robertlipe@usa.net)
6439
6440 * config/i386/dgux.h (SELECT_RTX_SECTION): Provide dummy argument
6441 for symbolic_operand().
6442 * config/i386/sco5.h (SELECT_RTX_SECTION): Likewise.
6443
6444 Sun Sep 26 07:37:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6445
6446 * combine.c (gen_rtx_combine): Add missing call to va_end().
6447
6448 * final.c (asm_fprintf): Likewise.
6449
6450 * genattrtab.c (attr_rtx): Likewise.
6451
6452 Sat Sep 25 13:11:07 1999 Jeffrey A Law (law@cygnus.com)
6453
6454 * cse.c: Update comments.
6455 (cse_insn): When converting a conditional/computed jump into
6456 an unconditional jump, always make sure a BARRIER immediately
6457 follows the converted jump. Do not delete unreachable code.
6458 (cse_basic_block): Do not delete unreachable code.
6459 * toplev.c (rest_of_compilation): Move call to
6460 delete_trivially_dead_insns after the conditional call to
6461 jump_optimize.
6462
6463 Sat Sep 25 09:03:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6464
6465 * collect2.c (make_temp_file): Don't prototype.
6466
6467 * gcc.c (make_temp_file): Likewise.
6468
6469 * mips.c (mips_make_temp_file): Renamed from `make_temp_file'.
6470
6471 Sat Sep 25 13:42:15 1999 Nick Clifton <nickc@cygnus.com>
6472
6473 * varasm.c (asm_emit_uninitialised): New function: Generate
6474 the assembler statements necessary to declare an uninitialised
6475 variable.
6476 (ASM_EMIT_LOCAL): New macro: Emit a local, uninitialised
6477 variable.
6478 (ASM_EMIT_BSS): New macro: Emit an entry in the bss section.
6479 (ASM_EMIT_COMMON): New macro: Emit an entry in the common
6480 section.
6481 (assemble_variable): Use asm_emit_uninitialised to emit an
6482 uninitialised variable.
6483
6484 Fri Sep 24 17:10:56 1999 Nick Clifton <nickc@cygnus.com>
6485
6486 * combine.c (simplify_comparison): Cope with downshifting a 32 bit
6487 constant on a 64 bit host. Patch supplied by Geoffrey Keating
6488 <geoffk@cygnus.com>.
6489
6490 Fri Sep 24 10:48:10 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6491
6492 * builtins.c (expand_builtin): Use MD_EXPAND_BUILTIN if defined.
6493 * c-common.h (builtin_function): Don't declare.
6494
6495 * c-decl.c (duplicate_decls): Use DECL_BUILT_IN_CLASS rather than
6496 DECL_BUILT_IN.
6497 (pushdecl): Likewise.
6498 (finish_decl): Likewise.
6499 (builtin_function): New arg CLASS. Arg FUNCTION_CODE now of type
6500 int. All callers changed.
6501 Set the builtin's DECL_BUILT_IN_CLASS.
6502 * tree.h (enum built_in_class): New.
6503 (enum built_in_function): Delete NOT_BUILT_IN.
6504 (DECL_FUNCTION_CODE): The corresponding field in tree_decl is now
6505 in a union.
6506 (DECL_SET_FUNCTION_CODE): Likewise.
6507 (DECL_BUILT_IN_CLASS): New macro.
6508 (DECL_BUILT_IN): Use DECL_BUILT_IN_CLASS.
6509 (struct tree_decl): Split builtin function code field into a
6510 struct.
6511 (builtin_function): Declare.
6512
6513 Fri Sep 24 01:45:05 1999 Mark Mitchell <mark@codesourcery.com>
6514
6515 * optabs.c (init_traps): Fix typo in last change.
6516
6517 Fri Sep 24 01:10:11 1999 Mark Mitchell <mark@codesourcery.com>
6518
6519 * toplev.c (rest_of_decl_compilation): Update comment.
6520
6521 Fri Sep 24 11:57:06 1999 Geoffrey Keating <geoffk@cygnus.com>
6522
6523 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Put the symbol
6524 in .sbss if appropriate.
6525 (EXTRA_SECTION_FUNCTIONS): Add sbss.
6526 (SBSS_SECTION_ASM_OP): New macro.
6527 * config/mips/linux.h (EXTRA_SECTION_FUNCTIONS): Add sbss.
6528 (EXTRA_SECTIONS): Add in_sbss.
6529 * config/mips/mips.h: Prototype sbss_section.
6530
6531 Thu Sep 23 18:18:55 1999 Mark Mitchell <mark@codesourcery.com>
6532
6533 * stmt.c (expand_start_bindings): Don't allow cleanup instructions
6534 to disappear.
6535
6536 Thu Sep 23 18:07:01 1999 Mark Mitchell <mark@codesourcery.com>
6537
6538 * optabs.c (init_traps): Register trap_rtx as a GC root.
6539
6540 Thu Sep 23 17:41:47 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6541
6542 * config/mips/mips.c (function_arg_pass_by_reference): Define
6543 unconditionally, since it's called unconditionally.
6544
6545 Thu Sep 23 13:40:02 1999 Jason Merrill <jason@yorick.cygnus.com>
6546
6547 * toplev.c (documented_lang_options): Add -fshort-wchar.
6548 * c-decl.c (c_decode_option): Likewise.
6549 (init_decl_processing): If -fshort-wchar, use 'short unsigned int'
6550 for wchar_t.
6551 * c-common.c, c-lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node.
6552 * gcc.c (default_compilers): If -fshort-wchar,
6553 override __WCHAR_TYPE__.
6554 * tm.texi (C Dialect Options): Add -fshort-wchar.
6555
6556 * dwarf2out.c (output_aranges): Use DW_AT_location to find the
6557 symbol for a variable.
6558
6559 * cpplib.h (CPP_PREPROCESSED): New macro.
6560 * cpplib.c (handle_directive): Don't complain about `# NUMBER' if
6561 we're seeing this input for a second time.
6562
6563 Thu Sep 23 12:54:49 1999 Alex Samuel <samuel@codesourcery.com>
6564
6565 * emit-rtl.c (init_emit_once): Initialize modes first.
6566
6567 Sun Sep 19 01:23:23 1999 Alex Samuel <samuel@codesourcery.com>
6568
6569 * config/i386/i386.c (pic_label_name): Change to char pointer.
6570 (global_offset_table): New variable.
6571 (load_pic_register): Fill global_offset_table if it hasn't
6572 already been done. Allocate pic_label_name dynamically.
6573 * ggc.h (empty_string): New variable.
6574 * ggc-simple.c (empty_string): Likewise.
6575 (init_ggc): Allocate empty_string and add as root.
6576 * stmt.c (digit_strings): New variable.
6577 (init_stmt): Add last_block_end_note as root. Allocate and
6578 initialize digit_strings.
6579 (expand_asm_operands): Use empty_string instead of string
6580 constant. Use digit_strings instead of string constants.
6581 * profile.c (init_arc_profiler): Allocate string with
6582 ggc_alloc_string instead of xmalloc.
6583 (output_func_start_profiler): Likewise.
6584 * c-typeck.c (digest_init): Check if init is error_mark_node.
6585
6586 Thu Sep 23 12:59:14 1999 Alex Samuel <samuel@codesourcery.com>
6587 Richard Henderson <rth@cygnus.com>
6588
6589 * ggc-page.c: New file.
6590 * Makefile.in (ggc-page.o): New.
6591
6592 Thu Sep 23 13:55:21 1999 Jeffrey A Law (law@cygnus.com)
6593
6594 * invoke.texi: Document -fdelete-null-pointer-checks
6595 * toplev.c (flag_delete_null_pointer_checks): New.
6596 (f_options): Add entry for -fdelete-null-pointer-checks.
6597 (rest_of_compilation): Conditionalize null pointer check
6598 elimination on flag_delete_null_pointer_checks.
6599 (main): If -O2 or greater, enable -fdelete-null-pointer-checks
6600
6601 1999-09-23 10:56 -0700 Zack Weinberg <zack@bitmover.com>
6602
6603 * iso646.h, stdarg.h, stdbool.h, stddef.h, varargs.h: Add
6604 copyright notice and special exception to GPL.
6605
6606 Thu Sep 23 13:40:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6607
6608 * abi64.h (mips_function_value): Add prototype arguments.
6609
6610 * mips-protos.h: New file with mips prototypes.
6611
6612 * mips.c: Include "tm_p.h".
6613 (mktemp, lookup_name): Add prototype arguments.
6614 (extern_list, string_constant, mips_fill_delay_slot,
6615 mips_output_external, mips_output_external_libcall,
6616 mips_output_filename, mips_declare_object, function_prologue,
6617 mips_expand_prologue, function_epilogue, mips16_constant,
6618 build_mips16_function_stub, mips_output_conditional_branch):
6619 Constify a char*.
6620 (mips_va_start): Remove unused variable `u'.
6621 (mips_va_arg): Cast value to unsigned when comparing against one.
6622 (trace): Delete.
6623 (save_restore_insns, mips_expand_prologue): Add missing arg in
6624 call to `large_int'.
6625
6626 * mips.h: Move prototypes to mips-protos.h.
6627 (data_section, memory_address_p, rdata_section,
6628 readonly_data_section, simple_epilogue_p, text_section): Delete
6629 prototypes delcared elsewhere.
6630 (mips_epilogue_delay_slots, print_options): Delete unused decls.
6631 (trace): Delete.
6632 (GO_PRINTF, GO_PRINTF2): Call fprintf, not trace.
6633
6634 * mips.md: Delete extra args in call to `mips_move_2words'.
6635
6636 * xm-iris6.h (alloca): Add prototype argument.
6637
6638 * genpeep.c: Include "tm_p.h" in generated output file.
6639
6640 Thu Sep 23 10:36:55 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6641
6642 * basic-block.h (find_edge_index): Change parameters.
6643 * flow.c (verify_edge_list): Pass basic_block parameters to
6644 find_edge_index instead of integers.
6645
6646 Thu Sep 23 15:54:12 1999 Nick Clifton <nickc@cygnus.com>
6647
6648 * combine.c (simplify_comparison): Use an unsigned shift to adjust
6649 the constant.
6650
6651 Thu Sep 23 08:46:21 1999 Guy Harris <guy@netapp.com>
6652
6653 * gcc.1: Fix a formatting error.
6654
6655 Wed Sep 22 16:10:21 1999 Martin v. Löwis <loewis@informatik.hu-berlin.de>
6656
6657 * install.texi (Configurations): Remove pyramid. Add fr30, i686,
6658 i786, mn10200, mn10300, pdp11, v850.
6659
6660 Thu Sep 23 07:37:13 1999 Dan Nicolaescu <dann@ics.uci.edu>
6661
6662 * libgcc2.c (num_digits): Add prototype with
6663 __attribute__((const)).
6664 (__terminate): Add prototype.
6665
6666 Thu Sep 23 05:32:06 1999 Richard Henderson <rth@cygnus.com>
6667
6668 * builtins.c, dbxout.c, varasm.c: Include tm_p.h.
6669
6670 * alpha/alpha.c (print_operand): Fix type of `code'.
6671 (alpha_output_filename): Constify.
6672 * alpha/alpha.h: Move all function declarations ...
6673 * alpha/alpha-protos.h: ... here. New file.
6674 * alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
6675 (SECTION_FUNCTION_TEMPLATE): Likewise.
6676
6677 Thu Sep 23 11:15:36 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6678
6679 * expmed.c (do_cmp_and_jump): Pass ccp_jump to can_compare_p.
6680 * expr.c (expand_expr): Likewise.
6681 (do_jump): Likewise.
6682 (do_store_flag): Pass ccp_store_flag to can_compare_p.
6683 * expr.h (enum optab_index): Add cbranch, cmov, cstore optabs and
6684 accessor macros.
6685 (enum can_compare_purpose): New.
6686 (can_compare_p): Adjust prototype.
6687 (prepare_cmp_insn, prepare_operand): Declare.
6688 * genopinit.c (optabs): Add cbranch_optab, cmov_optab, cstore_optab.
6689 * optabs.c (cmp_available_p): Deleted.
6690 (expand_abs): Pass ccp_jump to can_compare_p.
6691 (can_compare_p): New arg PURPOSE. Check for combined optabs.
6692 (prepare_cmp_insn): No longer static. Add arg PURPOSE.
6693 Call can_compare_p rather than cmp_available_p.
6694 (prepare_operand): No longer static.
6695 (emit_cmp_and_jump_insn): Check for and use cbranch patterns.
6696 (emit_cmp_and_jump_insns): Pass ccp_jump to prepare_cmp_insn.
6697 (expand_float): Fix a slightly broken emit_cmp_insn/emit_jump_insn
6698 sequence to use emit_cmp_and_jump_insns.
6699 (init_optabs): Initialize cbranch_optab, cmov_optab, cstore_optab.
6700
6701 Wed Sep 22 17:58:01 1999 Stan Cox <scox@cygnus.com>
6702
6703 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept large
6704 register offsets; let LEGITIMIZE_ADDRESS load it into a register.
6705 (LEGITIMIZE_ADDRESS): Use plus_constant to avoid
6706 (plus (reg) (const_int 0))
6707 * mips.md (call_internal3c): New pattern for -mips16 -mlong-calls.
6708
6709 Wed Sep 22 17:55:31 1999 David Edelsohn <edelsohn@gnu.org>
6710
6711 * rs6000.c (expand_block_move): DImode loads and stores require
6712 word-aligned displacements. Increment address registers with
6713 adddi3 on 64-bit platform. Use TARGET_POWERPC64 not TARGET_64BIT.
6714
6715 Wed Sep 22 17:35:55 1999 Michael Meissner <meissner@cygnus.com>
6716
6717 * dwarf2out.c (base_type_die): Use the name __unknown__ if there
6718 is no name for the base type, rather than segfault. If we are
6719 writing out a complex integer type, use DW_ATE_lo_user.
6720
6721 * expr.c (emit_move_insn_1): If we are copying a complex that fits
6722 in one word or less (complex char, complex short, or on 64 bit
6723 systems complex float) to/from a hard register, copy it through
6724 memory instead of dying in gen_{real,imag}part. If we have a
6725 short complex type, prevent inlining since it allocates stack
6726 memory.
6727
6728 * tree.c (build_complex_type): If we are writing dwarf2 output,
6729 generate a name for complex integer types.
6730
6731 Wed Sep 22 11:34:08 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6732
6733 * basic-block.h (add_noreturn_fake_exit_edges): Use correct name.
6734 * flow.c (remove_edge): Remove extra whitespace.
6735 (remove_fake_edges): Fix comment.
6736 (add_noreturn_fake_exit_edges): Use the correct name.
6737
6738 Wed Sep 22 16:12:40 BST 1999 Nathan Sidwell <nathan@acm.org>
6739
6740 * Makefile.in (INTL_MOSTLYCLEAN, INTL_CLEAN): New variables.
6741 (mostlyclean): Depend on INTL_MOSTLYCLEAN.
6742 (clean): Depend on INTL_CLEAN.
6743 (maintainer-clean): Adjust.
6744
6745 Wed Sep 22 10:18:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6746
6747 * configure.in (AC_PREREQ): Bump to 2.13.
6748 (AC_C_STRINGIZE): Call this instead of using a custom macro.
6749
6750 * gansidecl.h (HAVE_STRINGIZE): Define, if stage2 gcc && __STDC__.
6751
6752 * system.h (HAVE_STRINGIZE): Test this instead of HAVE_CPP_STRINGIFY.
6753
6754 * acconfig.h (HAVE_CPP_STRINGIFY): Delete.
6755
6756 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Delete.
6757 (HAVE_STRINGIZE): Define.
6758
6759 Wed Sep 22 06:25:15 1999 Jim Kingdon <http://developer.redhat.com>
6760
6761 * c-parse.in: save and restore warn_pointer_arith on __extension__
6762 along with pedantic.
6763 (SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
6764 Set the type of extension to itype rather than $<itype>1 kludge.
6765 * extend.texi (Alternate Keywords): Adjust documentation.
6766 * c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt.
6767
6768 Wed Sep 22 06:06:57 1999 Jeffrey A Law (law@cygnus.com)
6769
6770 * pa.c, pa.h, pa.md: Support multiple assembler dialects in
6771 most assembler templates.
6772
6773 * pa.c (hppa_legitimize_address): Handle full offsets for PA2.0
6774 FP loads and stores.
6775 (following_call): Always return zero for the PA8000.
6776 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Handle full offsets for PA2.0
6777 FP loads and stores.
6778 (LEGITIMIZE_RELOAD_ADDRESS): Similarly.
6779
6780 * pa.h (BRANCH_COST): Define.
6781
6782 * pa.md (return, return_internal): Use bve for PA2.0.
6783
6784 * pa.md (fused multiply): Add variants which reduce height for the
6785 fused multiply, but which still generate 2 insns.
6786 (fnegabs): Similarly.
6787
6788 * pa.md (subsi3): Turn into an expander. Create two anonymous
6789 patterns. One for PA2.0 one for PA1.x. Use mtsarcm for PA2.0.
6790 * pa.h (EXTRA_CONSTRAINT): Handle 'S'.
6791
6792 * pa.md (floatunssisf2, floatunssidf2): Generate different RTL
6793 for TARGET_PA_20.
6794 (floatunssidf2_pa20, floatunssisf2_pa20): New patterns for PA2.0
6795 code generation.
6796 (floatunsdisf2, floatunsdidf2, fixuns_truncsfsi2): Likewise.
6797 (fixuns_truncdfsi2, fixuns_truncsfdi2, fixuns_truncdfsi2): Likewise.
6798
6799 * regclass.c (init_regs): Add "top_of_stack" as a garbage
6800 collection root.
6801
6802 * flow.c (record_active_eh_regions): Terminate loop after finding
6803 the last insn in the last basic block.
6804
6805 Wed Sep 22 20:25:00 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6806
6807 * config/c4x/c4x.md: Delete parallel instruction peepholes.
6808
6809 Wed Sep 22 19:59:19 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6810
6811 * config/c4x/c4x.c (c4x_add_gc_roots): Add tree roots.
6812
6813 Wed Sep 22 19:56:25 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6814
6815 * config/c4x/c4x.c (c4x_process_after_reload): Rework machdep insn
6816 splitting to not use output template.
6817
6818 Wed Sep 22 19:50:12 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6819
6820 * config/c4x/c4x.h (EXPAND_BUILTIN_VA_START): Call c4x_va_start.
6821 * config/c4x/c4x.c (c4x_va_start): New function.
6822
6823 Tue Sep 21 18:40:01 1999 Jan Hubicka <hubicka@freesoft.cz>
6824
6825 * genrecog.c (not_both_true): Handle correctly cases when called for
6826 tests with different positions in the insn.
6827
6828 Tue Sep 21 18:29:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6829
6830 * machmode.h (HOST_PTR_PRINTF): Move from here ...
6831
6832 * system.h (HOST_PTR_PRINTF): ... to here.
6833
6834 * mips-tfile.c: Don't include machmode.h.
6835
6836 * Makefile.in (MACHMODE_H): New variable. Update to use it.
6837 (mips-tfile.o): Don't depend on machmode.h.
6838
6839 Tue Sep 21 18:27:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6840
6841 * haifa-sched.c (sched_analyze): Rename local variable `region' to
6842 avoid conflicts with typedef struct `region' at the top level scope.
6843
6844 Tue Sep 21 14:14:50 1999 Richard Henderson <rth@cygnus.com>
6845
6846 * basic-block.h (basic_block): Add eh_beg, eh_end.
6847 * flow.c (entry_exit_blocks): Update.
6848 (find_basic_blocks): Don't allocate bb_eh_end, or pass it around.
6849 Call new functions.
6850 (find_basic_blocks_1): Don't record eh_list at each bb. Use
6851 lists.c functions to allocate insn lists.
6852 (make_edges): Use eh_beg+eh_end, not the lists. Split out EH
6853 edge creation ...
6854 (make_eh_edge): ... here. New.
6855 (move_stray_eh_region_notes): New.
6856 (record_active_eh_regions): New.
6857 (delete_unreachable_blocks): Split out block merging ...
6858 (try_merge_blocks): ... here. New.
6859 (merge_blocks_move_predecessor_nojumps): Remove edge arg.
6860 Dump debugging data.
6861 (merge_blocks_move_successor_nojumps): Likewise.
6862 (merge_blocks): Use eh_beg+eh_end to validate block movement.
6863
6864 Tue Sep 21 11:15:03 1999 Martin v. Löwis <loewis@informatik.hu-berlin.de>
6865
6866 * extend.texi (Bound member functions): Document unbound pmf
6867 conversion.
6868
6869 Tue Sep 21 14:55:11 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6870
6871 * flow.c (split_edge): Handle insertion on a fallthrough edge which
6872 has the EXIT_BLOCK as a dest.
6873
6874 Tue Sep 21 14:51:23 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6875
6876 * flow.c (remove_edge): New function to remove an edge from the
6877 flow graph.
6878 (remove_fake_successors): New function to remove fake successor edges.
6879 (remove_fake_edges): New function to remove all fake edges from the
6880 flow graph.
6881 (add_fake_exit_edges): New function to add fake edges from all blocks
6882 with no successors to the exit block.
6883 * basic-block.h (remove_fake_edges, add_fake_exit_edges): Add
6884 prototypes for new functions.
6885
6886 Tue Sep 21 14:49:53 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6887
6888 * config/mips/elf64.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
6889 Use Pmode to determine whether to output .dword or .word.
6890
6891 Tue Sep 21 11:04:34 1999 Alex Samuel <samuel@codesourcery.com>
6892
6893 * tree.c (built_in_filename): New variable.
6894 (BUILT_IN_FILENAME): New macro.
6895 (init_tree_codes): Allocate built_in_filename.
6896 (make_node): Use built_in_filename instead of string constant.
6897
6898 Tue Sep 21 14:13:27 1999 Nick Clifton <nickc@cygnus.com>
6899
6900 * configure.in: Add fr30 target.
6901 * configure: Regenerate.
6902 * config/fr30: New directory.
6903 * config/fr30/crti.asm: New file.
6904 * config/fr30/fr30.c: New file.
6905 * config/fr30/crtn.asm: New file.
6906 * config/fr30/fr30.h: New file.
6907 * config/fr30/fr30.md: New file.
6908 * config/fr30/lib1funcs.asm: New file.
6909 * config/fr30/t-fr30: New file.
6910 * config/fr30/xm-fr30.h: New file.
6911
6912 Tue Sep 21 06:45:31 1999 Jeffrey A Law (law@cygnus.com)
6913
6914 * flow.c (merge_blocks_move_successor_nojumps): Delete the
6915 BARRIER at the end of the successor, not the BARRIER before
6916 the successor.
6917
6918 * pa.c (pa_add_gc_roots): Fix thinko in last change.
6919
6920 Tue Sep 21 05:29:17 1999 Richard Earnshaw (rearnsha@arm.com)
6921
6922 * stmt.c (any_pending_cleanups): Don't crash when
6923 current_function->stmt is unset.
6924
6925 Tue Sep 21 00:59:49 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6926
6927 * emit-rtl.c (init_emit_once): Initialize const_int_rtx before
6928 other initializations that may use it for relative offsets.
6929
6930 Mon Sep 20 21:43:25 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6931
6932 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
6933 (ASM_SPEC): Moved from sol2dbg.h. Added work-around for gas.
6934 * config/i386/sol2dbg.h: Removed.
6935 * config/i386/sol2gas.h: New file, to enable gas work-around.
6936 * configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
6937 Don't use sol2dbg.h.
6938 * configure: Rebuilt.
6939
6940 Mon Sep 20 13:29:41 1999 Mark Mitchell <mark@codesourcery.com>
6941
6942 * invoke.texi (-fthis-is-variable): Remove documentation.
6943
6944 Mon Sep 20 12:59:16 1999 Richard Henderson <rth@cygnus.com>
6945
6946 * basic-block.h (compute_bb_for_insn): Declare.
6947 * flow.c (compute_bb_for_insn): Export. Don't accept the varray
6948 to use; set size of basic_block_for_insn directly.
6949 (find_basic_blocks): Update.
6950
6951 Mon Sep 20 15:11:54 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6952
6953 * flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
6954
6955 Mon Sep 20 14:56:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6956
6957 * crtstuff.c (ON_EXIT): Delete empty macro definition.
6958 (__do_global_ctors_aux): Call atexit(), not ON_EXIT().
6959
6960 Mon Sep 20 15:25:35 1999 Nick Clifton <nickc@cygnus.com>
6961
6962 * c-decl.c (c_decode_option): Extend comment.
6963
6964 Mon Sep 20 14:43:37 1999 Nick Clifton <nickc@cygnus.com>
6965
6966 * toplev.c (progname): Make 'const char *'
6967 (flag_print_mem): Move out of main.
6968 (version_flag): Move out of main.
6969 (filename): Move out of main.
6970 (debug_args): Remove g prefix from options.
6971 (documented_lang_options): Remove cpplib specific options.
6972 (display_help): Add g prefix to debug options.
6973 (check_lang_option): Delete this function.
6974 (decode_d_option): New function: Decode -d... option.
6975 (decode_f_option): New function: Decode -f... option.
6976 (decode_W_option): New function: Decode -W... option.
6977 (decode_g_option): New function: Decode -g... option.
6978 (independent_decode_option): New function: Decode a language
6979 independent command line option.
6980 (main): Invoke lang_decode_option and then
6981 independent_decode_option on each command line option in
6982 turn.
6983
6984 Mon Sep 20 05:41:36 1999 Jeffrey A Law (law@cygnus.com)
6985
6986 Revert this change. Gavin's patch to operand_equal_p is a better fix.
6987 * fold-const.c (fold_range_test): Do not try to fold the range
6988 test if the rhs or lhs has side effects.
6989
6990 * basic-block.h (compute_flow_dominators): Declare.
6991
6992 * gcse.c (alloc_code_hoist_mem): New function.
6993 (free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
6994 (compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
6995 (hoist_code, one_code_hoisting_pass): Likewise.
6996 (gcse_main): If optimizing for size, then hoist expressions
6997 computed in multiple dominated basic blocks.
6998
6999 * gcse.c (invalid_nonnull_info): New function.
7000 (delete_null_pointer_checks): Likewise.
7001 * rtl.h (delete_null_pointer_checks): Declare.
7002 * toplev.c (rest_of_compilation): Call delete_null_pointer_checks.
7003
7004 * flow.c (merge_blocks_move_predecessor_nojumps): New function.
7005 (merge-blocks_move_successor_nojumps): Likewise.
7006 (merge_blocks): Allow merging of some blocks, even if it requires
7007 physical movement of the blocks, but not if it requires new jumps.
7008
7009 * bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
7010 Callers and prototype changed.
7011 * bitmap.h: Fix debug_bitmap and debug_bitmap_file prototypes.
7012
7013 Mon Sep 20 06:56:32 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
7014
7015 * config/sparc/sol2.h (LINK_SPEC): Avoid the duplication of
7016 -YP when both -p and -pg are present. From i386/sol2.h.
7017
7018 Mon Sep 20 10:49:05 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7019
7020 * Makefile.in (distclean): Delete tm_p.h.
7021 * configure.in: Create a new file, "tm_p.h", from a list in
7022 "tm_p_file". For ix86 systems, set up "tm_p_file" to include
7023 "i386/i386-protos.h".
7024
7025 * alias.c: Include "tm_p.h".
7026 * c-typeck.c: Likewise.
7027 * calls.c: Likewise.
7028 * cse.c: Likewise.
7029 * emit-rtl.c: Likewise.
7030 * explow.c: Likewise.
7031 * expmed.c: Likewise.
7032 * expr.c: Likewise.
7033 * final.c: Likewise.
7034 * flow.c: Likewise.
7035 * fold-const.c: Likewise.
7036 * function.c: Likewise.
7037 * gcse.c: Likewise.
7038 * global.c: Likewise.
7039 * haifa-sched.c: Likewise.
7040 * integrate.c: Likewise.
7041 * jump.c: Likewise.
7042 * local-alloc.c: Likewise.
7043 * loop.c: Likewise.
7044 * optabs.c: Likewise.
7045 * recog.c: Likewise.
7046 * reg-stack.c: Likewise.
7047 * regclass.c: Likewise.
7048 * regmove.c: Likewise.
7049 * reload.c: Likewise.
7050 * reload1.c: Likewise.
7051 * reorg.c: Likewise.
7052 * resource.c: Likewise.
7053 * stmt.c: Likewise.
7054 * stor-layout.c: Likewise.
7055 * toplev.c: Likewise.
7056 * tree.c: Likewise.
7057 * unroll.c: Likewise.
7058 * genattrtab.c (main): Make generated file include "tm_p.h".
7059 * genemit.c (main): Likewise.
7060 * genoutput.c (main): Likewise.
7061 * genrecog.c (main): Likewise.
7062
7063 * i386.h: Delete all prototypes.
7064 * i386.c: Include "tm_p.h".
7065 (ix86_attr_length_default): Call constant_call_address_operand
7066 with correct number of arguments.
7067 * i386-protos.h: New file.
7068 * i386.md (unnamed patterns): Call constant_call_address_operand
7069 with correct number of arguments.
7070 (exception_receiver): Call load_pic_register with correct number
7071 of arguments.
7072
7073 Sun Sep 19 14:18:39 1999 Richard Henderson <rth@cygnus.com>
7074
7075 * c-pragma.c (mark_align_stack): Dereference the void* properly.
7076
7077 Sun Sep 19 09:03:40 1999 Mark Mitchell <mark@codesourcery.com>
7078
7079 * rtl.h (insns_safe_to_move_p): New function.
7080 * loop.c (find_and_verify_loops): Use it.
7081 * rtlanal.c (insns_safe_to_move_p): Define it.
7082
7083 Sun Sep 19 02:54:33 1999 Richard Henderson <rth@cygnus.com>
7084
7085 * c-pragma.c: Include ggc.h.
7086 * Makefile.in (c-pragma.o): Update.
7087
7088 Sat Sep 18 16:01:18 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
7089
7090 * config/i386/sol2.h (CPP_SPEC): Support -[p]threads
7091 (LIB_SPEC): Likewise.
7092 (LINK_SPEC): Do not assert -z text with -shared -mimpure-text.
7093 Reindent -YP/-p/-pg.
7094 Copied from config/sparc/sol2.h.
7095
7096 Sat Sep 18 11:52:43 1999 Richard Henderson <rth@cygnus.com>
7097
7098 * c-pragma.c (mark_align_stack): New.
7099 (init_pragma): New.
7100 * c-pragma.h (init_pragma): Declare it.
7101 * c-lex.c (init_parse): Call it.
7102
7103 Sat Sep 18 15:20:38 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
7104
7105 * configure.in: Pick up thread library on Solaris/x86 just
7106 like on Solaris/sparc.
7107 * configure: Rebuilt.
7108
7109 Sat Sep 18 11:15:58 1999 Alex Samuel <samuel@codesourcery.com>
7110
7111 * rtl.h (global_rtx_index): New enum.
7112 (global_rtl): Change to array of rtx.
7113 (pc_rtx, cc0_rtx): Redefine accordingly.
7114 (cc0_rtx, stack_pointer_rtx, frame_pointer_rtx): Likewise.
7115 (hard_frame_pointer_rtx, arg_pointer_rtx): Likewise.
7116 (virtual_incoming_args_rtx, virtual_stack_vars_rtx): Likewise.
7117 (virtual_outgoing_args_rtx, virtual_cfa): Likewise.
7118 (const_int_rtx): Change to array of rtx.
7119 (const0_rtx, const1_rtx, const2_rtx, constm1_rtx): Redefine
7120 accordingly.
7121 * emit-rtl.c (global_rtl): Change to array of rtx.
7122 (const_int_rtx): Change to aray of rtx.
7123 (gen_rtx_CONST_INT): Redefine accordingly.
7124 (init_emit_once): Allocate and initialize global_rtl. Likewise
7125 for const_int_rtx. Add both as GC roots.
7126 * genattrtab.c (global_rtl): Update declaration.
7127
7128 1999-09-17 Ulrich Drepper <drepper@cygnus.com>
7129
7130 * Makefile (USER_H): Add iso646.h back.
7131
7132 Sat Sep 18 01:07:21 1999 Jeffrey A Law (law@cygnus.com)
7133
7134 * haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of
7135 zapping the LOG_LINKS of sched_before_next_call.
7136
7137 * pa.h (INSN_SETS_ARE_DELAYED): Delete.
7138 * pa.c (insn_refs_are_delayed): Renamed from
7139 insn_sets_and_refs_are_delayed.
7140
7141 Fri Sep 17 15:19:01 1999 Mark Mitchell <mark@codesourcery.com>
7142
7143 * functiion.h (struct function): Add x_whole_function_mode_p.
7144 (retrofit_block): Declare.
7145 * function.c (retrofit_block): New function.
7146 (identify_blocks): Add assertions. Allow an incomplete set of
7147 block notes if we're still generating code for the function.
7148 * integrate.c: Include loop.h.
7149 (expand_inline_function): Call find_loop_tree_blocks to map block
7150 notes to blocks when in whole-function mode. Use retrofit_block
7151 to insert new BLOCKs for the inlined function, rather than
7152 insert_block.
7153 * stmt.c (expand_fixup): Likewise. Don't use pushlevel/polevel.
7154 * Makefile.in (integrate.o): Depend on loop.h.
7155
7156 Fri Sep 17 15:11:20 1999 Mark Mitchell <mark@codesourcery.com>
7157
7158 * tree.h (warn_about_unused_variables): Declare.
7159 * stmt.c (warn_about_unused_variables): New function, split out
7160 from ...
7161 (expand_end_bindings): Here.
7162
7163 Fri Sep 17 15:07:37 1999 Mark Mitchell <mark@codesourcery.com>
7164
7165 * stmt.c (preserve_subexpressions_p): Don't crash when
7166 current_function->stmt is unset.
7167
7168 Fri Sep 17 15:03:16 1999 Mark Mitchell <mark@codesourcery.com>
7169
7170 * stmt.c (expand_start_bindings): Allow callers to pass a flag
7171 indicating that no NOTE_INSN_BLOCK_BEG note is required.
7172 (expand_start_target_temps): Use it.
7173 * except.c (expand_eh_region_start_for_decl): Likewise.
7174 * expr.c (expand_expr): Likewise.
7175
7176 Fri Sep 17 15:05:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
7177
7178 * fold-const.c (operand_equal_p): Pay attention to side effects.
7179
7180 Fri Sep 17 11:14:17 1999 Jason Merrill <jason@yorick.cygnus.com>
7181
7182 * libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
7183 * sparc/sunos4.h (HAVE_ON_EXIT): Remove.
7184
7185 * tlink.c (scan_linker_output): Look for keywords before accepting
7186 a mangled name in quotes.
7187
7188 Thu Sep 16 16:47:08 1999 Richard Henderson <rth@cygnus.com>
7189
7190 * alpha/alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
7191 * alpha/osf2or3.h (DWARF2_UNWIND_INFO): Likewise.
7192
7193 Thu Sep 16 16:35:41 1999 Richard Henderson <rth@cygnus.com>
7194
7195 * alpha.md: Revert Thu Nov 26 change that came in through the
7196 last gcc2 merge: reinstate (plus (plus ...)) reload patterns.
7197 Avoid earlyclobber when possible.
7198
7199 Thu Sep 16 18:44:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7200
7201 * libgcc2.c (__do_global_ctors): Call atexit with one arg.
7202
7203 * sparc/sunos4.h (on_exit): Wrap prototype parameters in PARAMS().
7204 Define HAVE_ON_EXIT.
7205
7206 Thu Sep 16 18:06:35 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7207
7208 * system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros. Use
7209 CTYPE_CONV in all ctype macros.
7210
7211 * cccp.c (initialize_char_syntax): Use uppercase ctype macro
7212 from system.h.
7213
7214 * cexp.y (initialize_random_junk): Likewise.
7215
7216 * c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.
7217
7218 * i370.c (handle_pragma): Likewise.
7219
7220 * i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.
7221
7222 * v850.c (override_options): Likewise.
7223
7224 * doprint.c (_doprnt): Likewise.
7225
7226 * fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
7227 Likewise.
7228
7229 * fixinc/server.c (load_data): Likewise.
7230
7231 * fold-const.c (real_hex_to_f): Likewise.
7232
7233 * genattr.c (write_upcase, gen_attr): Likewise.
7234
7235 * genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
7236 write_upcase): Likewise.
7237
7238 * genemit.c (print_code): Likewise.
7239
7240 * genopinit.c (gen_insn): Likewise.
7241
7242 * genpeep.c (print_code): Likewise.
7243
7244 * genrecog.c (print_code): Likewise.
7245
7246 * optabs.c (init_libfuncs): Likewise.
7247
7248 Thu Sep 16 14:03:32 1999 Mark Mitchell <mark@codesourcery.com>
7249
7250 * haifa-sched.c (sched_analyze): Keep the list of notes organized
7251 in pairs.
7252 (reemit_notes): Likewise.
7253
7254 Thu Sep 16 11:50:52 1999 Alex Samuel <samuel@codesourcery.com>
7255
7256 * ggc.h (ggc_root): Move to ggc-common.c.
7257 (roots): Remove.
7258 (ggc_mark_rtx, ggc_mark_tree): Change to macro.
7259 (ggc_mark_rtvec, ggc_mark_tree_varray): Declare extern.
7260 (ggc_mark_tree_hash_table, ggc_mark_string, ggc_mark): Likewise.
7261 (ggc_mark_roots, ggc_mark_rtx_children, ggc_mark_tree_children): New.
7262 * ggc-common.c (ggc_root): Move from ggc.h.
7263 (roots): Declare, static.
7264 (ggc_mark_rtx, ggc_mark_tree): Renamed to...
7265 (ggc_mark_rtx_children, ggc_mark_tree_children): Don't check for
7266 null or check/set mark bit.
7267 (ggc_mark_roots): New.
7268 * ggc-simple.c (ggc_collect): Call ggc_mark_roots.
7269
7270 Thu Sep 16 11:37:32 1999 Richard Henderson <rth@cygnus.com>
7271
7272 * m32r.c: Include toplev.h.
7273 (*): Add ATTRIBUTE_UNUSED as needed to arguments.
7274 (gen_compare): Rename swap_p to must_swap to match uses.
7275 Add default abort case.
7276 (m32r_output_function_epilogue): Remove unused variables.
7277 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
7278 * m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
7279 define to empty parameter list. Update all uses.
7280 (predicate decls): Use enum machine_mode not int.
7281 * m32r.md (movsi): Call abort, not fatal_insn.
7282 (zero_branch_insn, rev_zero_branch_insn): Add default abort case.
7283
7284 1999-09-14 Andrew Haley <aph@cygnus.com>
7285
7286 * config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
7287 use $0 instead of 0.
7288
7289 Thu Sep 16 10:53:36 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7290
7291 * reload1.c (order_regs_for_reload): Move hard_reg_n_uses
7292 computation out of loop over hard regs.
7293
7294 Wed Sep 15 21:37:06 1999 Mark Mitchell <mark@codesourcery.com>
7295
7296 * function.c (identify_blocks): Don't shadow a variable in an
7297 outer scope.
7298 * integrate.c (integrate_decl_tree): Don't use pushlevel,
7299 pushdecl, or poplevel to build up the new BLOCK tree.
7300 (expand_inline_function): Likewise.
7301 (integrate_parm_decls): Likewise.
7302
7303 Wed Sep 15 21:20:38 1999 Mark Mitchell <mark@codesourcery.com>
7304
7305 * c-typeck.c (qualify_type): Merge qualifiers from both types.
7306
7307 1999-09-15 Brad Lucier <lucier@math.purdue.edu>
7308
7309 * toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
7310 * invoke.texi: Document this change.
7311
7312 Wed Sep 15 17:56:00 1999 Richard Henderson <rth@cygnus.com>
7313
7314 * emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
7315 Free the struct.
7316 (mark_emit_status): Renamed from mark_emit_state.
7317 * except.c (mark_eh_status): Renamed from mark_eh_state.
7318 Check not null before marking.
7319 (free_eh_status): New.
7320 * expr.c (mark_expr_status, free_expr_status): New.
7321 * function.c (free_machine_status): New.
7322 (free_after_parsing): New.
7323 (free_after_compilation): Move bits to free_after_parsing; call
7324 free_eh_status, free_expr_status; zero the marked members of the
7325 function state.
7326 (prepare_function_start): No can_garbage_collect.
7327 Call init_eh_for_function.
7328 (expand_dummy_function_end): Free up current_function state.
7329 (mark_function_status): Renamed from mark_function_state.
7330 (mark_function_chain): No can_garbage_collect. Call mark_expr_status.
7331 * function.h (struct function): No can_garbage_collect.
7332 (free_machine_status, free_after_parsing): Declare.
7333 (free_eh_status, free_expr_status): Declare.
7334 * ggc.h (mark_expr_status): Declare.
7335 * stmt.c (free_stmt_status): Free the struct.
7336 (mark_stmt_status): Renamed from mark_stmt_state.
7337 (init_stmt): Don't call init_eh.
7338 (init_stmt_for_function): Don't call init_eh_for_function.
7339 * toplev.c (compile_file): Call init_eh.
7340 (rest_of_compilation): Free basic block info before ggc_collect.
7341 Call free_after_parsing; conditionally call free_after_compilation.
7342 * varasm.c (mark_varasm_status): Renamed from mark_varasm_state.
7343 Check not null before marking.
7344 (free_varasm_status): Don't check DECL_DEFER_OUTPUT. Free the struct.
7345
7346 Wed Sep 15 17:53:16 1999 Richard Henderson <rth@cygnus.com>
7347
7348 * c-lex.c (yylex): Initialize warn.
7349
7350 Wed Sep 15 18:35:38 1999 Jeffrey A Law (law@cygnus.com)
7351
7352 * pa.c (emit_move_sequence): Properly set the mode of the scratch
7353 register when performing secondary reloads for the SAR register.
7354
7355 Wed Sep 15 15:51:52 1999 Mark Mitchell <mark@codesourcery.com>
7356
7357 * rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
7358 (NOTE_BLOCK): New macro.
7359 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
7360 * function.h (identify_blocks): Change prototype.
7361 * function.c (identify_blocks): Simplify.
7362 (reorder_blocks): Likewise.
7363 * ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a
7364 NOTE_INSN_BLOCK_{BEG,END}.
7365 * haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
7366 the list of saved notes if the note isn't a
7367 NOTE_INSN_BLOCK_{BEG,END}.
7368 (move_insn1): Use NOTE_EH_HANDLER in comment, rather than
7369 NOTE_BLOCK_NUMBER.
7370 (reemit_notes): Adjust recreation of notes to reflect new saved
7371 note structure.
7372 * print-rtl.c (print_rtx): Print the address of the BLOCK when
7373 printing a block note.
7374 * stmt.c (block_vector): Remove.
7375 (find_loop_tree_blocks): Simplify.
7376 (unroll_block_trees): Likewise.
7377 * tree.h (reorder_block): Change prototype.
7378
7379 Wed Sep 15 14:39:35 1999 Jason Merrill <jason@yorick.cygnus.com>
7380
7381 * gbl-ctors.h: Lose HAVE_ATEXIT. Don't define ON_EXIT.
7382 * libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
7383 (__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
7384 (__do_global_dtors): Likewise. Don't mess with _exit_dummy_decl.
7385 (atexit, exit): Simplify.
7386 * tm.texi: Document NEED_ATEXIT and ON_EXIT. Remove HAVE_ATEXIT.
7387 * config/lots: Remove defns of HAVE_ATEXIT.
7388
7389 Wed Sep 15 10:25:12 1999 Mark Mitchell <mark@codesourcery.com>
7390
7391 * calls.c (precompute_arguments): Fix typo in comment.
7392 * expr.c (preexpand_calls): Don't preexpand the cleanup in a
7393 TARGET_EXPR.
7394
7395 Wed Sep 15 09:59:59 1999 Mark Mitchell <mark@codesourcery.com>
7396
7397 * dsp16xx.c (override_options): Fix typos in GC root registration.
7398
7399 Wed Sep 15 15:23:28 1999 Philip Blundell <pb@nexus.co.uk>
7400
7401 * config/arm/linux-elf.h (MAKE_DECL_ONE_ONLY): Copy definition
7402 from config/svr4.h.
7403 (UNIQUE_SECTION_P, UNIQUE_SECTION): Likewise.
7404 (FUNCTION_PROFILER): Redefine appropriately for Linux.
7405 (CC1_SPEC): Likewise.
7406
7407 Wed Sep 15 10:09:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7408
7409 * genattr.c (main): Add extern prototype. Call return, not exit.
7410 * genattrtab.c (main): Likewise.
7411 * gencheck.c (main): Likewise.
7412 * gencodes.c (main): Likewise.
7413 * genconfig.c (main): Likewise.
7414 * genemit.c (main): Likewise.
7415 * genextract.c (main): Likewise.
7416 * genflags.c (main): Likewise.
7417 * gengenrtl.c (main): Likewise.
7418 * genopinit.c (main): Likewise.
7419 * genoutput.c (main): Likewise.
7420 * genpeep.c (main): Likewise.
7421 * genrecog.c (main): Likewise.
7422
7423 * genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
7424 * genattrtab.c (get_insn_name): Likewise.
7425 * gencodes.c (get_insn_name): Likewise.
7426 * genconfig.c (get_insn_name): Likewise.
7427 * genemit.c (get_insn_name): Likewise.
7428 * genextract.c (get_insn_name): Likewise.
7429 * genflags.c (get_insn_name): Likewise.
7430 * genopinit.c (get_insn_name): Likewise.
7431 * genpeep.c (get_insn_name): Likewise.
7432
7433 * gencheck.c (usage): Add static prototype.
7434 * genextract.c (print_path): Constify a char*.
7435 * genopinit.c (optabs): Likewise.
7436 * genoutput.c (operand_data, data, output_predicate_decls,
7437 compare_operands): Likewise.
7438 * genrecog.c (write_tree): Add default case in switch.
7439
7440 Wed Sep 15 09:59:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7441
7442 * rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.
7443
7444 * print-rtl.c (get_insn_name): Remove prototype.
7445
7446 * toplev.h (progname): Declare const.
7447
7448 * toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
7449 init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
7450 dump_sched_info, dump_local_alloc, regset_release_memory,
7451 print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
7452 error_with_file_and_line, error_with_decl, error_for_asm, error,
7453 fatal, warning_with_file_and_line, warning_with_decl, warning,
7454 pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
7455 Remove redundant prototypes.
7456
7457 (notice, check_lang_option, report_file_and_line, vnotice,
7458 mark_file_stack): Add static prototype.
7459 (set_fatal_function): Add prototype.
7460 (vnotice, report_file_and_line, set_fatal_function,
7461 check_lang_option): Constify a char*.
7462 (main): Prototype. Call return, not exit.
7463
7464 Wed Sep 15 09:50:18 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7465
7466 * aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
7467
7468 * configure.in (AC_GCC_C_LONG_DOUBLE): Call it.
7469
7470 * gansidecl.h (HAVE_LONG_DOUBLE): Define if gcc for stage2.
7471
7472 * ggc-simple.c (HAVE_LONG_DOUBLE): Test before using long double.
7473
7474 Wed Sep 15 11:04:43 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7475
7476 * function.c (assign_parms): Delete arg SECOND_TIME. Don't test it,
7477 behave as if it's zero in all cases.
7478 (expand_function_start): Adjust call to assign_parms.
7479 * tree.h (assign_parms): Adjust prototype.
7480 * objc/objc-act.c (hack_method_prototype): Adjust call to
7481 assign_parms.
7482
7483 Tue Sep 14 21:47:06 1999 Jeffrey A Law (law@cygnus.com)
7484
7485 * cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
7486 arg_pointer_rtx fixed if the argument pointer register is
7487 not fixed.
7488 (NONZERO_BASE_PLUS_P): Likewise.
7489
7490 Tue Sep 14 20:26:02 1999 Richard Henderson <rth@cygnus.com>
7491
7492 * rtl.def (match_insn, match_insn2): Remove match_insn; rename
7493 match_insn2 to match_insn.
7494 * genrecog.c (add_to_sequence): Rename MATCH_INSN2.
7495
7496 Tue Sep 14 20:10:29 1999 Richard Henderson <rth@cygnus.com>
7497
7498 * Makefile.in (USER_H): Remove va-foo.h.
7499
7500 * ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h,
7501 va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h,
7502 va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h,
7503 va-spur.h,va-v850.h}: Remove.
7504
7505 Tue Sep 14 19:43:16 1999 Richard Henderson <rth@cygnus.com>
7506
7507 * sparc/sparc.md (eligible_for_return_delay): New attribute.
7508 (in_return_delay): Use it instead of match_insn.
7509
7510 Tue Sep 14 23:05:37 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
7511
7512 * config/alpha/va_list.h (va-alpha.h): Do not include.
7513 (__gnuc_va_list): Typedef as in varargs.h.
7514
7515 Tue Sep 14 18:14:03 1999 Richard Henderson <rth@cygnus.com>
7516
7517 * ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and
7518 DECL_LIVE_RANGE_RTL.
7519
7520 Tue Sep 14 16:47:08 1999 Mark Mitchell <mark@codesourcery.com>
7521
7522 * except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
7523 not NOTE_BLOCK_NUMBER.
7524 (expand_eh_region_end): Likewise.
7525 (find_exception_handler_labels): Likewise.
7526 (scan_region): Likewise.
7527 (exception_optimize): Likewise.
7528 (update_rethrow_references): Likewise.
7529 (set_insn_eh_region): Likewise.
7530 * final.c (final_scan_insn): Likewise.
7531 * flow.c (make_edges): Likewise.
7532 * integrate.c (expand_inline_function): Likewise.
7533 * print-rtl.c (print_rtx): Likewise.
7534
7535 Tue Sep 14 16:30:16 1999 Richard Henderson <rth@cygnus.com>
7536
7537 * ginclude/stdarg.h, ginclude/varargs.h: Implement in
7538 terms of builtin functions and types.
7539
7540 * mips.c (mips_build_va_list): New.
7541 (mips_va_start, mips_va_arg): New.
7542 * mips.h (BUILD_VA_LIST_TYPE): New.
7543 (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
7544
7545 * sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
7546 (sh_build_va_list, sh_va_start, sh_va_arg): New.
7547 * sh.h (BUILD_VA_LIST_TYPE): New.
7548 (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
7549
7550 Tue Sep 14 16:20:24 1999 Richard Henderson <rth@cygnus.com>
7551
7552 * recog.h (struct recog_data): Make dup_num, operand_address_p,
7553 n_operands, n_dups, n_alternatives `char' instead of `unsigned char'.
7554 (struct insn_data): Likewise with n_operands, n_dups,
7555 n_alternatives, output_format.
7556 * regclass.c (scan_one_insn): Cast n_operands to int before
7557 arithmetic inside comparison.
7558
7559 Tue Sep 14 15:13:36 1999 Richard Henderson <rth@cygnus.com>
7560
7561 * toplev.c (compile_function): Unconditionally emit nop.
7562
7563 Tue Sep 14 14:41:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7564
7565 * haifa-sched.c (actual_hazard): Move declaration of variable
7566 `this_cost' into the scope where it is used.
7567
7568 Tue Sep 14 14:14:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7569
7570 * c-pragma.c (handle_pragma_token): Wrap variables `name' and
7571 `value' in HANDLE_PRAGMA_WEAK. Wrap variable `align' in
7572 HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
7573
7574 * genrecog.c (make_insn_sequence): Call memset, not bzero.
7575
7576 * jump.c (find_insert_position): Don't declare or define unless
7577 !HAVE_conditional_arithmetic.
7578 (returnjump_p_1, delete_prior_computation): Add static prototypes.
7579
7580 * mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
7581
7582 * recog.c (offsettable_address_p): Prototype function pointer.
7583 (preprocess_constraints): Call memset, not bzero.
7584
7585 * tree.c (tree_node_kind_names): Constify a char*. Make static.
7586 (gcc_obstack_init): Don't declare.
7587 (fix_sizetype): Add static prototype.
7588 (gcc_obstack_init): Use prototype casts in call to _obstack_begin.
7589 (tree_cons): Call memset, not bzero.
7590
7591 * varasm.c (remove_from_pending_weak_list): Wrap declaration and
7592 definition in macro ASM_WEAKEN_LABEL.
7593 (mark_const_hash_entry): Add static prototype.
7594
7595 Tue Sep 14 12:22:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7596
7597 * c-lex.c (handle_generic_pragma): Remove unused variable `c'.
7598
7599 * unroll.c (find_common_reg_term, subtract_reg_term,
7600 loop_find_equiv_value): Add static prototypes.
7601 (unroll_loop): Wrap variable `prev' in macro HAVE_cc0.
7602 (copy_loop_body): Remove unreachable break statement.
7603
7604 * sparc.c (sparc_va_arg): Remove unused variable `tmp'.
7605
7606 * sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes.
7607
7608 Tue Sep 14 15:28:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7609
7610 Undo some changes from the gcc2 merge:
7611 * rtl.def (CONSTANT_P_RTX): Fix the comment for this rtx code.
7612 * emit-rtl.c (gen_rtx_REG): Don't test special reg rtx's for null
7613 pointers.
7614
7615 Undo this change:
7616 Sat Oct 3 07:20:28 1998 Stephen L Moshier <moshier@world.std.com>
7617 * emit-rtl.c (gen_lowpart_common): Disable optimization of
7618 initialized float-int union if the value is a NaN.
7619
7620 Tue Sep 14 04:03:44 1999 Mumit Khan <khan@xraylith.wisc.edu>
7621
7622 * gthr-win32.h: New file.
7623
7624 * i386/winnt.c (i386_pe_valid_decl_attribute_p): Recognize
7625 shared as a valid attribute.
7626 * i386/cygwin.h (ASM_OUTPUT_SECTION): Handle shared attribute.
7627 * extend.texi: Document `shared' variable attribute.
7628
7629 Tue Sep 14 04:01:46 1999 Loren Rittle <ljrittle@acm.org>
7630
7631 * configure.in: Handle --enable-threads on FreeBSD.
7632 * configure: Rebuit.
7633
7634 Tue Sep 14 03:58:44 1999 Andreas Jaeger <aj@arthur.rhein-neckar.de>
7635
7636 * configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add
7637 thread support.
7638 * configure: Rebuilt.
7639
7640 Tue Sep 14 03:47:23 1999 Joel Sherrill <joel@OARcorp.com>
7641 Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
7642 Rosimildo DaSilva <rdasilva@connecttel.com>
7643
7644 * configure.in (m68k-*-rtemscoff*): Added.
7645 * configure.in (mips64orion-*-rtems*): Converted to ELF.
7646 * configure.in (sparc-*-rtemsaout*): Added as alias for old
7647 sparc-rtems configuration.
7648 * configure.in (sparc-*-rtemself*): Added.
7649 * configure.in (sparc-*-rtems*): Now ELF not a.out.
7650 * config/i386/rtems.h: Added comment.
7651 * config/sparc/rtemself.h: New file.
7652
7653 * configure.in (m68k-rtemself): Added.
7654 * config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
7655 and DWARF_DEBUGGING_INFO.
7656 * config/m68k/crti.s: New file.
7657 * config/m68k/crtn.s: New file.
7658 * config/m68k/t-crtstuff: New file.
7659 * config/m68k/rtemself.h: New file.
7660
7661 * configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
7662 global ctor/dtor and C++ exception handling.
7663 * config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
7664 for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
7665 ENDFILE_SPEC.
7666 * config/i386/t-rtems-i386: New File.
7667
7668 Tue Sep 14 09:47:41 1999 Andreas Schwab <schwab@suse.de>
7669
7670 * stmt.c (expand_end_case): Return right away if the case stack is
7671 empty.
7672
7673 Tue Sep 14 01:47:19 1999 Jeffrey A Law (law@cygnus.com)
7674
7675 * Makefile.in (version.c): Remove rule incorrectly brought in from
7676 the gcc2 merge.
7677
7678 Tue Sep 14 01:42:27 1999 Marc Espie <espie@cvs.openbsd.org>
7679
7680 * Makefile.in: Prepend $(SHELL) to move-if-change calls.
7681 * msdos/top.sed: Take into account a prepended $(SHELL) to
7682 move-if-change.
7683 * winnt/config-nt.sed: Likewise. Kill bogus substitution.
7684
7685 * objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.
7686
7687 Tue Sep 14 01:38:52 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
7688
7689 * regmove.c (fixup_match_1): Don't change an unchanging register.
7690 (stable_but_for_p): Renamed to:
7691 (stable_and_no_regs_but_for_p). Reject unchanging registers too.
7692 Changed all callers.
7693
7694 Tue Sep 14 01:33:15 1999 Andreas Schwab <schwab@suse.de>
7695
7696 * loop.c (strength_reduce): Don't call reg_used_between_p if the
7697 insn from BL2 is after the insn from BL.
7698
7699 Mon Sep 13 21:06:01 1999 Richard Henderson <rth@cygnus.com>
7700
7701 * recog.h (INSN_OUTPUT_FORMAT_*): New.
7702 (struct insn_data): Merge `template' and `outfun' into `output'.
7703 Add `output_format'.
7704 * genoutput.c (INSN_OUTPUT_FORMAT_*): New.
7705 (struct data): Remove `outfun'; add `output_format'.
7706 (name_for_index): Remove declaration.
7707 (output_insn_data): Handle output formats.
7708 (process_template): Emit the bare array for @.
7709 (gen_expand, gen_split): Set output_format to NONE.
7710 * output.h (get_insn_template): Declare.
7711 * final.c (get_insn_template): New.
7712 (final_scan_insn): Use it.
7713 * toplev.c (compile_file): Likewise.
7714
7715 * c4x/c4x.c (c4x_process_after_reload): Likewise.
7716 * i860/i860.c (output_delayed_branch): Likewise.
7717 (output_delay_insn): Likewise.
7718
7719 1999-09-13 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
7720
7721 * rtl.c (obstack_alloc_rtx): Removed.
7722
7723 1999-09-13 17:03 -0700 Zack Weinberg <zack@bitmover.com>
7724
7725 * config/gmicro/gmicro.md: Disable move DF->DI anonymous pattern.
7726
7727 Mon Sep 13 15:21:46 1999 Richard Henderson <rth@cygnus.com>
7728
7729 * i386.c (call_insn_operand): Reject const_int.
7730 (expander_call_insn_operand): Use call_insn_operand.
7731
7732 Mon Sep 13 17:44:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7733
7734 * gcc.c (getrusage): Wrap prototype arguments in PROTO().
7735
7736 1999-09-13 12:18 -0700 Zack Weinberg <zack@bitmover.com>
7737
7738 * config/i370/i370.md (mulsi, divsi, modsi anonymous insns):
7739 Use DImode operation.
7740
7741 1999-09-13 12:13 -0700 Zack Weinberg <zack@bitmover.com>
7742
7743 * gcc.c: Include sys/resource.h.
7744 (report_times): New flag.
7745 (execute): If report_times is set, calculate and report the
7746 CPU time consumed by each subprocess.
7747
7748 (rus, prus): New globals.
7749 (option_map): Add --time.
7750 (display_help): Document -time.
7751 (process_command): Set report_times if -time is given.
7752 Turn off -pipe if -time is given.
7753
7754 * invoke.texi: Document new option -time.
7755
7756 * configure.in: Check for getrusage. Check if we have to
7757 prototype getrusage.
7758 * acconfig.h: Add NEED_DECLARATION_GETRUSAGE.
7759 * configure: Regenerate.
7760 * config.in: Regenerate.
7761
7762 Mon Sep 13 12:57:06 1999 Dave Brolley <brolley@cygnus.com>
7763
7764 * cppinit.c (append_include_chain): Initialize 'next' and 'alloc'
7765 fields.
7766
7767 Mon Sep 13 10:01:33 1999 Nick Clifton <nickc@cygnus.com>
7768
7769 * config/fp-bit.c: Define L_thenan_sf or L_thenan_df (as
7770 appropriate) if FINE_GRAINED_LIBRARIES is not defined.
7771 (nan): Return _thenan_sf or _thenan_df as appropriate.
7772 (L_thenan_sf): Define _thenan_sf.
7773 (L_thenan_df): Define _thenan_df.
7774
7775 * Makefile.in (FPBIT_FUNCS): Add _thenan_sf.
7776 (DPBIT_FUNCS): Add _thenan_df.
7777
7778 Mon Sep 13 09:38:53 1999 Andreas Schwab <schwab@suse.de>
7779
7780 * tree.c (fix_sizetype): Exchange the types for TYPE_SIZE and
7781 TYPE_SIZE_UNIT.
7782
7783 Sun Sep 12 23:28:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7784
7785 * Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
7786
7787 * gcc.h: New file.
7788 (lang_specific_driver): Don't take a function pointer parameter.
7789 All callers changed.
7790
7791 * gcc.c: Include gcc.h.
7792 (do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
7793 lang_specific_extra_outfiles, fatal): Don't declare.
7794 (multilib_defaults_raw): Constify.
7795 (read_specs): Call memset, rather than bzero.
7796 (main): Call return, not exit.
7797 (lookup_compiler): Call memcpy, not bcopy.
7798 (fatal): Make extern.
7799
7800 * cppspec.c: Include gcc.h.
7801 (lang_specific_driver): Initialize variable `quote'. Constify a
7802 char*. All calls to the function pointer parameter now
7803 explicitly call `fatal'.
7804
7805 * gccspec.c (lang_specific_driver): Include gcc.h.
7806
7807 Sun Sep 12 19:52:10 1999 Richard Earnshaw <rearnsha@arm.com>
7808
7809 * arm.c (note_invalid_constants): Use recog_data.operand_type
7810 for recog_op_type.
7811
7812 Sun Sep 12 15:53:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7813
7814 * tree.h (build_common_tree_nodes, build_common_tree_nodes_2):
7815 Declare.
7816
7817 * reload.h (reload_in, reload_out, reload_in_reg, reload_out_reg,
7818 reload_reg_class, reload_inmode, reload_outmode, reload_optional,
7819 reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
7820 reload_secondary_in_reload, reload_secondary_out_reload,
7821 reload_secondary_in_icode, reload_secondary_out_icode,
7822 reload_reg_rtx, reload_when_needed): Delete declarations.
7823 (struct reload): New structure.
7824 (rld): Declare new array.
7825 * reload.c (reload_in, reload_out, reload_in_reg, reload_out_reg,
7826 reload_reg_class, reload_inmode, reload_outmode, reload_optional,
7827 reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
7828 reload_secondary_in_reload, reload_secondary_out_reload,
7829 reload_secondary_in_icode, reload_secondary_out_icode,
7830 reload_reg_rtx, reload_when_needed): Delete definitions.
7831 (rld): New array.
7832 (whole file): Replace uses of the deleted arrays with uses of rld.
7833 * reload1.c (whole file): Replace uses of the deleted arrays with
7834 uses of rld.
7835 (choose_reload_regs): Copy in/out of save_reload_reg_rtx with
7836 explicit loops, not with bcopy.
7837
7838 Sun Sep 12 05:00:24 1999 Richard Henderson <rth@cygnus.com>
7839
7840 * recog.h (insn_template, insn_outfun, insn_n_operands, insn_n_dups,
7841 insn_n_alternatives, insn_operand_constraint, insn_operand_address_p,
7842 insn_operand_mode, insn_operand_strict_low, insn_operand_predicate,
7843 insn_name): Delete and consolidate into new structures.
7844 (insn_operand_predicate_fn): New.
7845 (insn_output_fn): New.
7846 (insn_gen_fn): New.
7847 (struct insn_operand_data): New.
7848 (struct insn_data): New.
7849 (insn_data): New.
7850 (OUT_FCN): Update for insn_data change.
7851 * builtins.c (expand_builtin_strlen): Likewise.
7852 (expand_builtin_memcmp): Likewise.
7853 * combine.c (make_extraction, simplify_comparison): Likewise.
7854 * cse.c (canon_reg, cse_insn): Likewise.
7855 * explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
7856 * expmed.c (store_bit_field, extract_bit_field): Likewise.
7857 (emit_store_flag): Likewise.
7858 * expr.c (convert_move, emit_block_move): Likewise.
7859 (clear_storage, emit_push_insn, expand_increment): Likewise.
7860 (do_store_flag): Likewise.
7861 * expr.h (GEN_FCN): Likewise.
7862 (insn_gen_function): Die.
7863 * final.c (final_scan_insn): Update for insn_data change.
7864 (output_asm_name): Likewise.
7865 * function.c (fixup_var_refs_1): Likewise.
7866 * loop.c (check_dbra_loop): Likewise.
7867 * optabs.c (expand_binop, expand_twoval_binop): Likewise.
7868 (expand_unop, expand_complex_abs, emit_unop_insn): Likewise.
7869 (prepare_cmp_insn, prepare_operand, emit_indirect_jump): Likewise.
7870 (emit_conditional_move, gen_add2_insn, gen_sub2_insn): Likewise.
7871 * recog.c (validate_replace_rtx_1, extract_insn): Likewise.
7872 * regmove.c (gen_add3_insn): Likewise.
7873 * reload.c (push_secondary_reload, combine_reloads): Likewise.
7874 (find_reloads, find_reloads_address_1): Likewise.
7875 (debug_reload_to_stream): Likewise.
7876 * reload1.c (emit_reload_insns, gen_reload): Likewise.
7877 * stmt.c (expand_end_case): Likewise.
7878 * toplev.c (compile_file): Likewise.
7879
7880 * c4x/c4x.c (c4x_process_after_reload): Likewise.
7881 * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
7882
7883 * print-rtl.c (insn_name_ptr): Remove declaration.
7884 (get_insn_name): Declare.
7885 (print_rtx): Use it.
7886 * genoutput.c (insn_name_ptr): Remove.
7887 (next_operand_number): New.
7888 (struct operand_data): New.
7889 (null_operand, odata, odata_end): New.
7890 (struct data): Use struct operand_data.
7891 (idata, idata_end): Renamed from insn_data and end_of_insn_data.
7892 (get_insn_name): Renamed from name_for_index.
7893 (output_prologue): Define NO_MD_PROTOTYPES.
7894 (output_predicate_decls): Break out from output_epilogue.
7895 Iterate over the operands list.
7896 (output_operand_data): Break out from output_epilogue. Emit
7897 just the operands list.
7898 (output_insn_data): Break out from output_epilogue. Emit just
7899 the insn data.
7900 (output_epilogue): Remove.
7901 (output_get_insn_name): New.
7902 (constraints, op_n_alternatives, predicates, address_p): Die.
7903 (modes, strict_low, seen): Die.
7904 (scan_operands): Take new param `d' instead of writing to
7905 seven global variables.
7906 (compare_operands): New.
7907 (place_operands): New.
7908 (validate_insn_alternatives): Update for struct data change.
7909 (gen_insn): Don't zero or copy 7 global arrays. Update for
7910 scan_operands; call place_operands.
7911 (gen_peephole, gen_expand, gen_split): Likewise.
7912 (main): Update for new output routines.
7913
7914 * genattr.c (insn_name_ptr): Remove.
7915 (get_insn_name): New function.
7916 * genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
7917 * genextract.c, genflags.c, genopinit.c, genpeep.c: Likewise.
7918 * genrecog.c: Likewise.
7919
7920 * alpha.md (adddi3): Make `pattern' array static.
7921
7922 Sun Sep 12 22:05:21 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
7923
7924 * config/c4x/c4x.h (c4x_rpts_cycles_string,
7925 c4x_cpu_version_string): Constify char *.
7926 * config/c4x/c4x.c (c4x_rpts_cycles_string,
7927 c4x_cpu_version_string): Likewise.
7928
7929 Sat Sep 11 23:28:33 1999 Richard Henderson <rth@cygnus.com>
7930
7931 * tree.c (save_tree_status): Revert 10 Sep change.
7932 (restore_tree_status): Likewise. Call obstack_free with NULL
7933 before freeing the obstack proper.
7934
7935 Sat Sep 11 23:23:46 1999 Richard Henderson <rth@cygnus.com>
7936
7937 * cse.c (cse_main): If gc'ing, collect around cse_basic_block.
7938
7939 * ggc-simple.c (ggc_pop_context): Fold outstanding bytes into
7940 surrounding context.
7941
7942 Sat Sep 11 19:52:43 1999 Mark Mitchell <mark@codesourcery.com>
7943
7944 * tree.c (type_hash_canon): Put all types in the hash-table, when
7945 GC'ing.
7946
7947 Sat Sep 11 18:37:04 1999 Richard Henderson <rth@cygnus.com>
7948
7949 * recog.h (struct recog_data, recog_data): New.
7950 (recog_foo variables): Kill.
7951 * recog.c (recog_operand, recog_operand_loc): Kill.
7952 (recog_dup_loc, recog_dup_num, recog_n_operands): Kill.
7953 (recog_n_dups, recog_n_alternatives, recog_operand_mode): Kill.
7954 (recog_constraints, recog_op_type, recog_operand_address_p): Kill.
7955 (recog_data): Define.
7956 (extract_insn): Update all recog_foo references to use recog_data.
7957 (preprocess_constraints, constrain_operands): Likewise.
7958 * final.c (final_scan_insn, cleanup_subreg_operands): Likewise.
7959 * genattrtab.c (main): Likewise.
7960 * genextract.c (main): Likewise.
7961 * genoutput.c: Likewise.
7962 * genrecog.c (write_subroutine, main): Likewise.
7963 * local-alloc.c (block_alloc): Likewise.
7964 * reg-stack.c (record_asm_reg_life, subst_asm_stack_regs): Likewise.
7965 * regclass.c (scan_one_insn, record_reg_classes): Likewise.
7966 * regmove.c (regmove_optimize, find_matches, fixup_match_1): Likewise.
7967 * reload.c (find_reloads, find_reloads_toplev): Likewise.
7968 * reload1.c (maybe_fix_stack_asms, eliminate_regs_in_insn): Likewise.
7969 (reload_cse_simplify_operands): Likewise.
7970
7971 * arc/arc.c (arc_final_prescan_insn): Likewise.
7972 * arm/arm.c (note_invalid_constants, arm_final_prescan_insn): Likewise.
7973 * h8300/h8300.c (notice_update_cc): Likewise.
7974 * i386/i386.c (ix86_attr_length_default, ix86_agi_dependant): Likewise.
7975 * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
7976 * mn10200/mn10200.c (notice_update_cc): Likewise.
7977 * mn10300/mn10300.c (notice_update_cc): Likewise.
7978 * romp/romp.c (update_cc): Likewise.
7979 * sparc/sparc.c (check_pic): Likewise.
7980 * v850/v850.c (notice_update_cc): Likewise.
7981
7982 * genemit.c (main): Don't declare recog_operand.
7983
7984 Sat Sep 11 12:41:55 1999 Alex Samuel <samuel@codesourcery.com>
7985
7986 * ggc.h (rtvec_def): Forward declare.
7987 (tree_node): Likewise.
7988 (ggc_root): Define.
7989 (roots): Declare.
7990 (ggc_set_mark_rtx): Add prototype.
7991 (ggc_set_mark_rtvec): Likewise.
7992 (ggc_set_mark_tree): Likewise.
7993 * ggc-simple.c (ggc_root): Don't define.
7994 (roots): Don't declare.
7995 (ggc_mark_rtx): Remove.
7996 (ggc_mark_rtvec): Likewise.
7997 (ggc_mark_tree): Likewise.
7998 (ggc_mark_varray): Likewise.
7999 (ggc_mark_tree_hash_table_entry): Likewise.
8000 (ggc_mark_tree_hash_table): Likewise.
8001 (ggc_set_mart_rtx): New function.
8002 (ggc_set_mark_rtvec): Likewise.
8003 (ggc_set_mark_tree): Likewise.
8004 (ggc_add_root): Remove.
8005 (ggc_add_rtx_root): Likewise.
8006 (ggc_remove_tree_root): Likewise.
8007 (ggc_add_string_root): Likewise.
8008 (ggc_add_tree_varray_root): Likewise.
8009 (ggc_add_tree_hash_table_root): Likewise.
8010 (ggc_del_root): Likewise.
8011 (ggc_mark_rtx_ptr): Likewise.
8012 (ggc_mark_tree_ptr): Likewise.
8013 (ggc_mark_string_ptr): Likewise.
8014 (ggc_mark_tree_varray_ptr): Likewise.
8015 (ggc_mark_tree_hash_table_ptr): Likewise.
8016 * ggc-common.c: New file.
8017 * Makefile.in (OBJS): Add ggc-common.o.
8018 (ggc-common.o): List dependencies.
8019
8020 1999-09-10 22:37 -0700 Zack Weinberg <zack@bitmover.com>
8021
8022 * cppalloc.c (xstrdup): Use memcpy.
8023 * cpperror.c (cpp_print_containing_files): Don't use
8024 cpp_notice.
8025 * cpplib.c (conditional_skip): Set temp->lineno.
8026 (do_endif): Make error message less obscure.
8027 (if_directive_name): New function.
8028 (cpp_get_token [case EOF]): Unwind the if stack and generate
8029 error messages for each unterminated conditional in this file.
8030 (parse_string): Do not behave differently if -traditional.
8031
8032 Fri Sep 10 14:04:07 1999 Richard Henderson <rth@cygnus.com>
8033
8034 * builtins.c (expand_builtin_va_arg): Cope with an array-type
8035 va_list decomposing to pointer-type.
8036 * rs6000.c (rs6000_va_start) Unwrap the ARRAY_TYPE to get at fields.
8037 (rs6000_va_arg): Likewise.
8038
8039 Fri Sep 10 13:21:21 1999 Jim Wilson <wilson@cygnus.com>
8040
8041 * except.c (start_dynamic_handler): Compute size using
8042 STACK_SAVEAREA_MODE.
8043
8044 Fri Sep 10 16:01:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8045
8046 * protoize.c: Remove various __STDC__ and POSIX hacks. Don't
8047 include directory headers. Don't define strrchr. Don't provide
8048 my_* replacement functions. Prefer PTR over `pointer_type'.
8049 Don't prototype system functions. Don't redefine getopt.
8050
8051 (shortpath, fancy_abort, notice, savestring, dupnstr, substr,
8052 safe_read, safe_write, save_pointers, restore_pointers,
8053 is_id_char, in_system_include_dir, directory_specified_p,
8054 file_excluded_p, unexpand_if_needed, abspath, check_aux_info,
8055 find_corresponding_lparen, referenced_file_is_newer,
8056 save_def_or_dec, munge_compile_params, gen_aux_info_file,
8057 process_aux_info_file, identify_lineno, check_source,
8058 seek_to_line, forward_to_next_token_char, output_bytes,
8059 output_string, output_up_to, other_variable_style_function,
8060 find_rightmost_formals_list, do_cleaning, careful_find_l_paren,
8061 do_processing, is_syscalls_file, rename_c_file, find_extern_def,
8062 find_static_definition, connect_defs_and_decs, add_local_decl,
8063 add_global_decls, needs_to_be_converted, visit_each_hash_node,
8064 add_symbol, lookup, free_def_dec, find_file, reverse_def_dec_list,
8065 edit_fn_declaration, edit_formals_lists, edit_fn_definition,
8066 scan_for_missed_items, edit_file, string_list_cons): Add static
8067 prototypes.
8068 (standard_exec_prefix, target_machine, target_version,
8069 default_syscalls_dir, string_list, string_list_cons, find_file,
8070 do_cleaning): Constify a char*.
8071 (safe_read, safe_write): Use PTR, not a char*.
8072 (is_id_char): Take an int, not a char.
8073 (main): Add prototype. Call return, not exit.
8074
8075 Fri Sep 10 16:48:26 1999 Andrew Haley <aph@cygnus.com>
8076
8077 * tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
8078 when comparing types.
8079
8080 Fri Sep 10 08:43:32 1999 Richard Henderson <rth@cygnus.com>
8081
8082 * loop.c (basic_induction_var): Typo NULL_RTX -> NULL.
8083 (strength_reduce): Release the varrays from the no-bivs early exit.
8084
8085 * reload1.c (order_regs_for_reload): Init hard_reg_n_uses before
8086 the loop over the registers.
8087
8088 * tree.c (save_tree_status): Set maybepermanent_firstobj NULL
8089 for a new obstack.
8090 (restore_tree_status): Check that instead when freeing the obstack.
8091
8092 Wed Sep 8 16:12:04 1999 Andrew Haley <aph@cygnus.com>
8093
8094 * alias.c (rtx_equal_for_memref_p): Allow CONST_DOUBLEs to be used
8095 as pointers.
8096
8097 Fri Sep 10 11:58:55 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8098
8099 * i386.md (ashlqi3): For NON_QI_REG_P regs, use sall. Fix some
8100 operand size modifiers.
8101
8102 Fri Sep 10 10:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8103
8104 * c-common.c (c_common_nodes_and_builtins): Don't build
8105 va_list_type_node.
8106 * c-common.h (enum c_tree_index and related accesor macros): Remove
8107 everything now declared in tree.h.
8108 * c-decl.c (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
8109 LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, WCHAR_UNSIGNED, FLOAT_TYPE_SIZE,
8110 DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Don't provide defaults.
8111 (error_mark_node, void_type_node, char_type_node, integer_type_node,
8112 unsigned_type_node, ptr_type_node, va_list_type_node,
8113 integer_zero_node, null_pointer_node, integer_one_node): Delete.
8114 (init_decl_processing): Call build_common_tree_nodes and
8115 build_common_tree_nodes_2 instead of building their nodes here.
8116 Don't add roots for these nodes.
8117 * stor-layout.c (size_zero_node, size_one_node): Delete.
8118 (set_sizetype): Make a new node for bitsizetype each time.
8119 * tree.c (global_trees): New variable.
8120 (init_obstacks): Add a gc root for it.
8121 (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
8122 LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE,
8123 DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Provide defaults.
8124 (build_common_tree_nodes): New function.
8125 (fix_sizetype): New function.
8126 (build_common_tree_nodes_2): New function.
8127 * tree.h (enum tree_index): New.
8128 (global_trees): Declare.
8129 Add accessor macros for all nodes now moved to global_trees.
8130 Delete their declarations.
8131
8132 Thu Sep 9 20:15:46 1999 Richard Henderson <rth@cygnus.com>
8133
8134 * c-decl.c (finish_function): When processing a nested function,
8135 push and pop GC context around rest_of_compilation.
8136
8137 Thu Sep 9 16:42:06 1999 Richard Henderson <rth@cygnus.com>
8138
8139 * i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
8140 Default ix86_arch to PROCESSOR_I386.
8141 * i386.h (CC1_CPU_SPEC): Don't add -march=foo. Remove -mno-foo.
8142 (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
8143 (CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
8144 (CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
8145 __tune_foo__ if no -mcpu. Make -mcpu=bar define __tune_bar__.
8146 (EXTRA_SPECS): Remove deleted specs.
8147
8148 Thu Sep 9 16:03:06 1999 Richard Henderson <rth@cygnus.com>
8149
8150 * function.c (assign_stack_local_1): Allocate from
8151 function->x_frame_offset, not frame_offset.
8152
8153 Thu Sep 9 14:36:31 1999 Mark Mitchell <mark@codesourcery.com>
8154
8155 * ggc.h (lang_cleanup_tree): Remove.
8156 * gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
8157 * ggc-callbacks.c (lang_cleanup_tree): Remove.
8158
8159 * c-decl.c (finish_struct): Use ggc_alloc to allocate
8160 TYPE_LANG_SPECIFIC when garbage collecting.
8161 (lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
8162 (lang_cleanup_tree): Remove.
8163
8164 Thu Sep 9 14:23:02 1999 Jason Merrill <jason@yorick.cygnus.com>
8165
8166 * defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
8167 * crtstuff.c: Not here.
8168 * dwarf2out.c: Or here.
8169 * libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
8170 info.
8171
8172 Thu Sep 9 09:40:58 1999 Mark Mitchell <mark@codesourcery.com>
8173
8174 * function.h (free_after_compilation): Remove decl parameter.
8175 (free_varasm_status0: Likewise.
8176 (free_emit_status): Likewise.
8177 (free_stmt_status): Likewise.
8178 (free_after_compilation): Likewise.
8179 (init_lang_status): New variable.
8180 (free_lang_status): Likewise.
8181 * emit-rtl.c (free_emit_status): Make decl parameter implicit.
8182 * function.c (init_lang_status): New variable.
8183 (free_lang_status): Likewise.
8184 (push_function_context_to): Don't set function::decl here.
8185 (free_after_copmilation): Make decl parameter implicit. Call
8186 free_lang_status if defined.
8187 (prepare_function_start): Call init_lang_status if defined.
8188 (init_function_start): Set function::decl here.
8189 * profile.c (output_func_start_profiler): Don't call pushdecl
8190 until we've actually started the function.
8191 * stmt.c (free_stmt_status): Make decl parameter implicit.
8192 * toplev.c (rest_of_compilation): Don't pass decl to
8193 free_after_compilation.
8194 * varasm.c (free_varasm_status): Likewise.
8195
8196 Thu Sep 9 17:23:19 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8197
8198 * except.c (call_get_eh_context): Add root when allocating static
8199 tree variable.
8200
8201 Thu Sep 9 15:24:59 BST 1999 Richard Earnshaw <rearnsha@arm.com>
8202
8203 * arm.c: Include "ggc.h".
8204 (arm_add_gc_roots): New function.
8205 (arm_override_options): Call it.
8206 (aof_pic_entry): Add a GC root for aof_pic_label when it's allocated.
8207
8208 * arm.md (define_asm_attributes): Add a pool_range attribute.
8209
8210 Thu Sep 9 12:32:57 BST 1999 Nathan Sidwell <nathan@acm.org>
8211
8212 * extend.texi (Volatiles): New node.
8213
8214 Thu Sep 9 03:37:31 1999 Richard Henderson <rth@cygnus.com>
8215
8216 * ggc-simple.c (IS_MARKED, IGNORE_MARK): New.
8217 (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): New.
8218 (struct ggc_any): Replace `mark' with `magic_mark'.
8219 (ggc_alloc_string): Use memcpy, not bcopy.
8220 (ggc_alloc_any): Set magic_mark. Update bytes_alloced_since_gc.
8221 (ggc_free_{rtx,rtvec,tree,string}): Mark inline.
8222 (ggc_free_any): New.
8223 (ggc_mark_string): Use IGNORE_MARK. Calc back to struct gcc_string.
8224 (ggc_mark): Use IGNORE_MARK. Abort if magic doesn't match.
8225 (ggc_collect): Re-enable collection avoidance. Use GGC_ANY_MARK.
8226 Use IS_MARKED. Use ggc_free_any.
8227
8228 1999-09-09 Scott Bambrough <scottb@netwinder.org>
8229
8230 * config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
8231
8232 Thu Sep 9 01:55:21 1999 Richard Henderson <rth@cygnus.com>
8233
8234 * toplev.c (main): Always init_ggc.
8235
8236 Wed Sep 8 23:53:22 1999 Richard Henderson <rth@cygnus.com>
8237
8238 * except.c (find_all_handler_type_matches): Free the list if
8239 we found no matches.
8240
8241 * combine.c (SUBST): Break out to a real function do_SUBST.
8242 (SUBST_INT): Likewise.
8243 * gcse.c (free_pre_mem): Free `temp_bitmap'.
8244 (pre_insert): Free `inserted'.
8245 * loop.c (basic_induction_var): Always set `location'.
8246
8247 * function.c (expand_function_end): Add initial_trampoline as a root.
8248 * rtl.h (init_varasm_once): Declare.
8249 * toplev.c (compile_file): Call it.
8250 * ggc-simple.c (ggc_mark_string_ptr): New.
8251 (ggc_add_string_root): New.
8252 (ggc_collect): Disable collection avoidance temporarily.
8253 * ggc.h (ggc_add_string_root): Declare.
8254 * except.c (create_rethrow_ref): Use ggc_alloc_string.
8255 * optabs.c (init_libfuncs): Likewise.
8256 * varasm.c (named_section): Use ggc_alloc_string.
8257 (make_function_rtl): Likewise.
8258 (make_decl_rtl): Likewise.
8259 (assemble_static_space): Likewise.
8260 (assemble_trampoline_template): Likewise.
8261 (output_constant_def): Likewise.
8262 (force_const_mem): Likewise.
8263 (mark_const_hash_entry): New.
8264 (mark_pool_sym_hash_table): New.
8265 (mark_varasm_state): Use it.
8266 (init_varasm_once): New.
8267
8268 * expr.h (init_one_libfunc): Declare.
8269 * optabs.c (init_one_libfunc): New.
8270 (init_optabs): Use it.
8271 * config/gofast.h: Likewise.
8272 * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Likewise.
8273 * config/sparc/sparc.h (INIT_TARGET_OPTABS): Likewise.
8274
8275 Thu Sep 9 13:46:06 1999 Geoffrey Keating <geoffk@cygnus.com>
8276
8277 * Makefile.in (cppexp.o): Depend on cpphash.h.
8278 * cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
8279 Include cpphash.h.
8280 * cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
8281 * cpplib.c (do_define): Generalise to handle poisoned definitions,
8282 redefining poisoned identifiers, etc.
8283 (do_undef): Don't allow poisoned identifiers to be undefined.
8284 (do_pragma): Add #pragma poison.
8285 (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
8286
8287 * cccp.c: Add T_POISON node type.
8288 (special_symbol): Handle `defined(xxx)' and plain `xxx' for
8289 poisoned xxx.
8290 (do_define): Generalise to handle poisoned definitions,
8291 redefining poisoned identifiers, etc.
8292 (do_undef): Don't allow poisoned identifiers to be undefined.
8293 (do_pragma): Add #pragma poison.
8294 (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
8295
8296 * c-pragma.c (handle_pragma_token): Ignore #pragma poison.
8297 * c-pragma.h: Add ps_poison state. We now always have generic
8298 pragmas.
8299
8300 Wed Sep 8 20:30:42 1999 Mark Mitchell <mark@codesourcery.com>
8301
8302 * ggc.h (ggc_alloc): New function.
8303 (ggc_mark): Likewise.
8304 * ggc-simple.c (ggc_any): New structure.
8305 (ggc_status): Add anys.
8306 (n_anys_collected): New variable.
8307 (ggc_alloc): Define.
8308 (ggc_mark): Likewise.
8309 (ggc_collect): Collect the anys.
8310
8311 Wed Sep 8 20:15:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8312
8313 * c-decl.c (mark_binding_level): Make static to match prototype.
8314
8315 Wed Sep 8 16:41:27 1999 Richard Henderson <rth@cygnus.com>
8316
8317 * flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
8318
8319 Wed Sep 8 16:07:52 1999 Richard Henderson <rth@cygnus.com>
8320
8321 * gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC
8322 will use into account. Expand the max width to 5.
8323 * rtl.c: Likewise.
8324
8325 Wed Sep 8 16:01:14 1999 Richard Henderson <rth@cygnus.com>
8326
8327 * ggc-simple.c (ggc_free_rtx): Poison the correct amount
8328 for the rtx length.
8329
8330 Wed Sep 8 15:23:54 1999 Richard Henderson <rth@cygnus.com>
8331
8332 * alpha.md (call value patterns): Remove the result predicates.
8333
8334 Wed Sep 8 13:35:38 1999 Richard Henderson <rth@cygnus.com>
8335
8336 * Makefile.in (stmp-fixinc): Remove extraneous exit 1 from
8337 last change.
8338
8339 Wed Sep 8 15:32:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8340
8341 * system.h (sbrk, malloc, calloc, realloc): Backup prototypes
8342 changed from extern char *, to extern PTR. Also fix typo in
8343 NEED_DECLARATION_REALLOC test.
8344
8345 * mips-tdump.c (malloc, calloc, realloc): Don't prototype.
8346
8347 Wed Sep 8 11:40:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8348
8349 * gansidecl.h (__attribute__, ATTRIBUTE_UNUSED_LABEL,
8350 ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, ATTRIBUTE_PRINTF,
8351 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2, ATTRIBUTE_PRINTF_3,
8352 ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5, GENERIC_PTR): Delete.
8353
8354 * c-decl.c (field_decl_cmp): Use PTR instead of GENERIC_PTR.
8355
8356 * cccp.c (pcfinclude): Likewise.
8357
8358 * global.c (allocno_compare): Likewise.
8359
8360 * haifa-sched.c (rank_for_schedule): Likewise.
8361
8362 * local-alloc.c (qty_sugg_compare_1, qty_compare_1): Likewise.
8363
8364 * reload1.c (hard_reg_use_compare, reload_reg_class_lower): Likewise.
8365
8366 * stupid.c (stupid_reg_compare): Likewise.
8367
8368 * tree.c (_obstack_allocated_p): Likewise.
8369
8370 * varray.h (varray_data_tag, VARRAY_GENERIC_PTR_INIT): Likewise.
8371
8372 1999-09-08 Bruce Korb autogen@linuxbox.com
8373
8374 * gcc/ch/Makefile.in: Give the hapless gperf user a hint about
8375 why "gperf -F" fails.
8376 * gcc/cp/Makefile.in: ditto
8377 * gcc/Makefile.in: ditto
8378 * gcc/java/Makefile.in: ditto
8379
8380 Wed Sep 8 04:43:22 1999 Richard Henderson <rth@cygnus.com>
8381
8382 * lists.c: Include ggc.h.
8383 (zap_lists): New.
8384 (init_EXPR_INSN_LIST_cache): Install it.
8385
8386 * ggc-simple.c (init_ggc): Absorb the old init.
8387 (ggc_push_context): Use xcalloc.
8388 (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Likewise.
8389 (ggc_collect): Add [rvts] tags to the collection stats.
8390
8391 Wed Sep 8 11:14:25 1999 Andreas Schwab <schwab@suse.de>
8392
8393 * cccp.c (main): Fix handling of -include and -imacros options.
8394
8395 Wed Sep 8 02:23:08 1999 Jeffrey A Law (law@cygnus.com)
8396
8397 * cpplib.c (cpp_push_buffer): Fix order of arguments.
8398
8399 Wed Sep 8 04:44:09 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
8400
8401 * rtl.h (obstack_alloc_rtx): Removed, it's now static in
8402 genrtl.c.
8403
8404 Wed Sep 8 00:33:43 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
8405
8406 * flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
8407 * haifa-sched.c (sched_analyze_1): Use XEXP rather than SUBREG_REG
8408 and SET_DEST. Update comment.
8409
8410 Wed Sep 8 18:55:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8411
8412 * config/c4x/c4x.c: Include ggc.h.
8413 (c4x_add_gc_roots): New function.
8414 (c4x_override_options): Call c4x_add_gc_roots.
8415
8416 Wed Sep 8 00:00:16 1999 Richard Henderson <rth@cygnus.com>
8417
8418 * defaults.h (TARGET_ESC): Move ...
8419 * system.h: ... here, where Linas had it in the first place. Silly me.
8420
8421 Tue Sep 7 23:46:35 1999 Linas Vepstas <linas@linas.org>
8422
8423 * c-common.c: Use ISGRAPH, ISLOWER, toupper.
8424 * c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
8425 genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
8426 * system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
8427 * defaults.h (TARGET_ESC): Add default.
8428
8429 Tue Sep 7 23:36:59 1999 Linas Vepstas <linas@linas.org>
8430
8431 * configure.in: add i370-*-openedition, i370-*-mvs and
8432 i370-*-linux targets
8433
8434 Tue Sep 7 23:31:53 1999 Mark Mitchell <mark@codesourcery.com>
8435
8436 * dsp16xxx.c: Include ggc.h
8437 (override_options): Mark GC roots.
8438 * mn10200.c: Include ggc.h.
8439 (asm_file_start): Mark GC roots.
8440 * tahoe.c: Include ggc.h.
8441 (extensible_operand): Mark GC roots.
8442
8443 Tue Sep 7 23:23:15 1999 Linas Vepstas <linas@linas.org>
8444
8445 * README: Add section discussing status of ELF ABI.
8446 * i370.c: Fix misc spelling mistakes.
8447 (i370_label_scan): Updated notes, exception handling.
8448 (i370_function_prolog): Simplify ELF stack handling.
8449 * i370.h: (FIXED_REGISTERS): Free up r12 for ELF.
8450 (STACK_GROWS_DOWNWARD): ELF stack grows down.
8451 (ASM_DECLARE_FUNCTION_NAME): Fix crazy malloc size.
8452 * i370.md: (movdi): Add notes.
8453 (floatsidf2): Use stack not rtca for scratch float area.
8454 (iorsi3): Correct operand constraints.
8455 * x-oe: Restore TAROUTOPTS which are used by pax.
8456
8457 Tue Sep 7 22:39:18 1999 Mark Mitchell <mark@codesourcery.com>
8458
8459 * rs6000.c: Include ggc.h.
8460 (rs6000_add_gc_roots): New function.
8461 (override_options): Call it.
8462
8463 Tue Sep 7 22:09:03 1999 Richard Henderson <rth@cygnus.com>
8464
8465 * alpha.h (alpha_compare): New.
8466 (alpha_compare_op0, alpha_compare_op1, alpha_compare_fp_p): Remove.
8467 * alpha.c: Likewise for the definitions.
8468 (alpha_emit_conditional_branch): Update for alpha_compare.
8469 (alpha_emit_conditional_move): Likewise.
8470 * alpha.md (cmpdf, cmpdi): Likewise.
8471 (setcc patterns): Likewise. Zero alpha_compare after use.
8472 (sne): Optimize (x != 0) into (0U < x).
8473
8474 Tue Sep 7 21:55:02 1999 Richard Henderson <rth@cygnus.com>
8475
8476 * alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
8477 (struct machine_function): Declare; add eh_epilogue_sp_ofs.
8478 (INIT_EXPANDERS): Remove.
8479 * alpha.c: Include ggc.h.
8480 (alpha_eh_epilogue_sp_ofs, alpha_return_addr_rtx): Remove.
8481 (alpha_init_machine_status, alpha_mark_machine_status): New.
8482 (override_options): Install them.
8483 (struct machine_function): Moved to alpha.h.
8484 (alpha_save_machine_status, alpha_restore_machine_status): Remove.
8485 (alpha_init_expanders): Remove.
8486 (alpha_return_addr): Adjust to use current_function->machine.
8487 (alpha_ra_ever_killed): Likewise.
8488 (alpha_expand_epilogue): Likewise.
8489 * alpha.md (eh_epilogue): Likewise.
8490
8491 Wed Sep 8 14:34:42 1999 Ian Piumarta <piumarta@prof.inria.fr>
8492 Melissa O'Neill <oneill@cs.sfu.ca>
8493 Geoffrey Keating <geoffk@cygnus.com>
8494
8495 * config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
8496 call-used registers (call-saved registers must still be contiguous
8497 and end with r31, of course).
8498
8499 Tue Sep 7 21:41:38 1999 Richard Henderson <rth@cygnus.com>
8500
8501 * c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
8502 (self_promoting_type_p): Delete.
8503 (self_promoting_args_p): Move ...
8504 * c-common.c: ... here.
8505 (c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
8506 (simple_type_promotes_to): New.
8507 * builtins.c (lang_type_promotes_to): New.
8508 (expand_builtin_va_arg): Use it to give diagnostic for illegal types.
8509 * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
8510 * c-common.h: ... here.
8511 (self_promoting_args_p, simple_type_promotes_to): Declare.
8512 * c-decl.c (duplicate_decls): Use simple_type_promotes_to.
8513 (grokdeclarator): Likewise.
8514 * tree.h (lang_type_promotes_to): Declare.
8515
8516 Tue Sep 7 17:15:21 1999 Mark Mitchell <mark@codesourcery.com>
8517
8518 Add some machine-dependent GC roots.
8519 * sparc.c: Include ggc.h.
8520 (sparc_add_gc_roots): New function.
8521 (mark_ultrasparc_pipeline_state): Likewise.
8522 (override_options): Call sparc_add_gc_roots.
8523 * pa.c: Include ggc.h.
8524 (pa_add_gc_roots): New function.
8525 (mark_deferred_plabels): Likewise.
8526 (override_options): Call pa_add_gc_roots.
8527 * mips.c: Include ggc.h.
8528 (mips_add_gc_roots): New function.
8529 (override_options): Use it.
8530
8531 Tue Sep 7 11:39:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8532
8533 * cpperror.c (cpp_file_line_for_message): Constify a char*.
8534
8535 * cppexp.c (parse_number, parse_charconst, cpp_lex,
8536 cpp_parse_expr): Add static prototypes.
8537 (parse_charconst): Don't cast away const-ness.
8538 (token): Constify a char*.
8539
8540 * cppfiles.c (file_name_list, include_hash, find_include_file,
8541 finclude, initialize_input_buffer): Constify a char*.
8542 (file_cleanup, find_position): Add static prototypes.
8543
8544 * cpphash.c (macro_cleanup, macarg, timestamp, special_symbol,
8545 collect_expansion): Add static prototypes.
8546 (cpp_install, create_definition, monthnames): Constify a char*.
8547
8548 * cpphash.h (cpp_install): Likewise.
8549
8550 * cppinit.c (known_suffixes, default_include,
8551 dump_special_to_buffer, NAME, cpp_start_read, cpp_finish): Likewise.
8552 (base_name, dump_special_to_buffer, initialize_dependency_output):
8553 Add static prototypes.
8554
8555 * cpplib.c (my_strerror): Constify a char*.
8556 (null_underflow, null_cleanup, skip_comment, copy_comment,
8557 copy_rest_of_line, handle_directive, pass_thru_directive,
8558 get_directive_token, read_line_number, cpp_print_file_and_line,
8559 v_cpp_error, v_cpp_warning, v_cpp_error_with_line,
8560 v_cpp_warning_with_line, detect_if_not_defined,
8561 consider_directive_while_skipping): Add static prototypes.
8562 (pass_thru_directive, check_macro_name, cpp_expand_to_buffer,
8563 cpp_pedwarn_with_file_and_line): Constify a char*.
8564
8565 * cpplib.h (cpp_options, include_hash, progname, definition,
8566 cpp_pedwarn_with_file_and_line, cpp_expand_to_buffer,
8567 check_macro_name, cpp_pfatal_with_name, cpp_file_line_for_message,
8568 find_include_file, deps_output, include_hash): Constify a char*.
8569
8570 * cppmain.c (progname): Constify.
8571 (main): Add prototype. Use return, not exit.
8572
8573 * fix-header.c (fatal, add_symbols, lookup_std_proto, write_lbrac,
8574 recognized_macro, check_macro_names, read_scan_file, write_rbrac,
8575 inf_skip_spaces, inf_read_upto, inf_scan_ident, inf_scan_ident,
8576 check_protection): Add static prototype.
8577 (xfree): Remove.
8578 (progname, recognized_macrom, recognized_extern): Constify a char*.
8579 (main): Add prototype.
8580
8581 * gen-protos.c (progname): Constify a char*.
8582
8583 Tue Sep 7 00:47:52 1999 Mark Mitchell <mark@codesourcery.com>
8584
8585 * emit-rtl.c (free_emit_status): Take decl as a parameter.
8586 (init_emit_once): Add more GC roots.
8587 * except.c (mark_func_eh_entry): New function.
8588 (mark_eh_node): Mark false_label and rethrow_label.
8589 (init_eh): Add more GC roots.
8590 * function.c (free_after_compilation): Take decl as a paramter.
8591 Call free_stmt_status.
8592 (mark_function_state): Don't assume x_parm_reg_stack_loc is
8593 non-NULL.
8594 * function.h (free_after_compilation): Change prototype.
8595 (free_varasm_status): Likewise.
8596 (free_emit_status): Likewise.
8597 (free_stmt_status): New function.
8598 * ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
8599 Remove, replacing with ...
8600 (ggc_status): New structure.
8601 (ggc_chain): New variable.
8602 (init_gcc): Define.
8603 (ggc_push_context): New function.
8604 (ggc_pop_context): Likewise.
8605 (ggc_alloc_rtx): Adjust for use of ggc_chain.
8606 (ggc_alloc_rtvec): Likewise.
8607 (ggc_alloc_tree): Likewise.
8608 (ggc_alloc_string): Likewise.
8609 (ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
8610 (ggc_mark_tree): Give language-dependent code a chance to mark
8611 `x' nodes.
8612 (ggc_mark_tree_varray): Handle empty arrays.
8613 (ggc_collect): Adjust for use of ggc_chain. Clear
8614 bytes_alloced_since_last_gc.
8615 * ggc.h (ggc_pop_context): New function.
8616 (ggc_push_context): Likewise.
8617 * print-tree.c (print_node): Don't print obstacks when GC'ing.
8618 * stmt.c (free_stmt_status): New function.
8619 (init_stmt_for_function): Clear last_expr_value.
8620 * toplev.c (rest_of_compilation): Always call free_after_compilation.
8621 Conditionalize call to ggc_collect.
8622 (main): Call init_ggc.
8623 * tree.c (push_obstacks): Do the push, even when GC'ing.
8624 (push_obstacks_nochange): Likewise.
8625 (pop_obstacks): Liekwise.
8626 * varasm.c (free_varasm_status): Take decl as a parameter.
8627
8628 Tue Sep 7 08:15:49 1999 Gavin Romig-Koch <gavin@cygnus.com>
8629
8630 * config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
8631 (MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
8632 * config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
8633 * config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
8634
8635 Tue Sep 7 03:42:45 1999 Mark Klein (mklein@dis.com)
8636
8637 * pa/x-pa-mpeix: New file for the MPE port.
8638
8639 * pa/quadlib.asm: New file for long double support.
8640
8641 * configure.in: Add hppa1.0-*-mpeix for MPE port.
8642 * configure: Rebuilt.
8643
8644 Tue Sep 7 10:08:40 1999 Andreas Schwab <schwab@suse.de>
8645
8646 * final.c (shorten_branches): Fix last change.
8647
8648 Tue Sep 7 00:30:32 1999 Jeffrey A Law (law@cygnus.com)
8649
8650 * pa.h (ASM_OUTPUT_DOUBLE_INT): Delete.
8651
8652 Mon Sep 6 22:44:47 1999 Jeffrey A Law (law@cygnus.com)
8653
8654 * Merge from gcc2 snapshot Jan 9, 1999. See FSFChangeLog for
8655 details.
8656
8657 Mon Sep 6 22:31:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8658
8659 * c-aux-info.c (concat): Don't define.
8660
8661 * cccp.c (my_strerror): Likewise. All callers changed to use
8662 xstrerror instead.
8663 (do_include): Call xstrdup, not xmalloc/strcpy.
8664 (grow_outbuf): Don't check if xrealloc returns NULL, it can't.
8665 (xmalloc, xrealloc, xcalloc, xstrdup): Don't define.
8666
8667 * collect2.c (my_strsignal): Likewise. All callers changed to use
8668 strsignal instead.
8669 (locatelib): Call xstrdup, not xmalloc/strcpy.
8670
8671 * 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc.
8672
8673 * dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy.
8674
8675 * i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc.
8676
8677 * mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy.
8678
8679 * cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero.
8680
8681 * dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/...
8682
8683 * except.c (new_eh_region_entry): Call xmalloc/xrealloc, not
8684 malloc/realloc.
8685 (find_all_handler_type_matches): Likewise. Don't check return
8686 value.
8687 (get_new_handler, init_insn_eh_region, process_nestinfo): Call
8688 xmalloc, not malloc.
8689 (init_eh_nesting_info): Likewise. Call xcalloc, not xmalloc/bzero.
8690
8691 * gcc.c (xstrerror, xmalloc, xrealloc): Don't define.
8692 (init_spec): Call xcalloc, not xmalloc/bzero.
8693 (set_spec): Call xstrdup, not save_string.
8694 (record_temp_file): Call xstrdup, not xmalloc/strcpy.
8695 (find_a_file): Call xstrdup, not xmalloc/strcpy.
8696 (process_command): Call xstrdup, not save_string.
8697 (main): Call xcalloc, not xmalloc/bzero.
8698
8699 * gcov.c (xmalloc): Don't define.
8700 (create_program_flow_graph): Call xcalloc, not xmalloc/bzero.
8701 (scan_for_source_files): Call xstrdup, not xmalloc/strcpy.
8702 (output_data): Call xcalloc, not xmalloc/bzero.
8703
8704 * haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero.
8705
8706 * mips-tdump.c (xmalloc): Don't define.
8707 (print_symbol): Call xmalloc, not malloc.
8708 (read_tfile): Call xcalloc, not calloc.
8709
8710 * mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc):
8711 Don't define. All callers of xfree/my_strsignal changed to use
8712 free/strsignal instead.
8713 (allocate_cluster): Call xcalloc, not calloc.
8714
8715 * objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/...
8716 Fix memory leak, free allocated memory.
8717
8718 * prefix.c (translate_name): Call xstrdup, not save_string.
8719 (update_path): Likewise.
8720
8721 * profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy.
8722
8723 * protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2):
8724 Don't define. Callers of xfree/savestring2 changed to use
8725 free/concat instead.
8726
8727 * reload1.c (reload): Call xcalloc, not xmalloc/bzero.
8728 (init_elim_table): Likewise.
8729
8730 * resource.c (init_resource_info): Likewise.
8731
8732 * stupid.c (stupid_life_analysis): Likewise.
8733
8734 * toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define.
8735 (open_dump_file): Call concat, not xmalloc/strcpy/...
8736 (clean_dump_file): Likewise.
8737 (compile_file): Call xstrdup, not xmalloc/strcpy.
8738
8739 Mon Sep 6 15:04:55 1999 Richard Henderson <rth@cygnus.com>
8740
8741 * v850.h (EXPAND_BUILTIN_VA_ARG): New.
8742 * v850.c (v850_va_arg): New.
8743
8744 Tue Sep 7 09:36:01 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8745
8746 * haifa-sched.c: Tidy comments.
8747
8748 Mon Sep 6 14:30:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8749
8750 * Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.
8751 (c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o,
8752 $(out_object_file)): Depend on ggc.h.
8753 * c-common.c: Include "ggc.h".
8754 (combine_strings): If doing GC, use ggc_alloc_string.
8755 * c-decl.c: Include "ggc.h".
8756 (ggc_p): Define with value 0.
8757 (mark_binding_level): New function.
8758 (init_decl_processing): Add GC roots.
8759 (mark_c_function_context): New function.
8760 (lang_mark_false_label_stack): New function.
8761 (lang_mark_tree): New function.
8762 (lang_cleanup_tree): New function.
8763 * c-lang.c: Include "ggc.h".
8764 (lang_init): Call c_parse_init.
8765 * c-lex.c: Include "ggc.h".
8766 (check_linenum): If doing GC, don't copy filenames to permanent
8767 obstack.
8768 * c-parse.in: Include "ggc.h".
8769 (c_parse_init): New function.
8770 * c-tree.h (c_parse_init, mark_c_function_context): Declare.
8771 * objc/Make-lang.in (objc-parse.o): Depend on ggc.h.
8772
8773 * except.c (mark_eh_state): Mark more state.
8774 * function.c (mark_function_state): Likewise.
8775 * ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version.
8776 (ggc_alloc_string) [GGC_DUMP]: Fix typo.
8777 * toplev.c (mark_file_stack): New function.
8778 (compile_file): If doing GC, use ggc_alloc_string on input filename.
8779 (main): Add root for input_file_stack.
8780
8781 * i386.c: Include "ggc.h".
8782 (ix86_mark_machine_status): New function.
8783 (override_options): Set mark_machine_status.
8784
8785 Mon Sep 6 15:26:23 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8786
8787 * tree.c (copy_node): Copy node contents also if doing GC.
8788
8789 Mon Sep 6 08:42:06 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
8790
8791 * collect2.c (scan_libraries): Fix double-thinko :-).
8792
8793 Mon Sep 6 02:42:36 1999 Jeffrey A Law (law@cygnus.com)
8794
8795 * collect2.c (scan_libraries): Fix thinko.
8796
8797 * cse.c (delete_trivially_dead_insns): Do not skip the last
8798 insn if it is a real insn.
8799
8800 Sun Sep 5 18:57:42 1999 Mark Mitchell <mark@codesourcery.com>
8801
8802 * Makefile.in (ggc-simple.o): Depend on hash.h.
8803 * ggc.h (ggc_add_tree_hash_table_root): Declare.
8804 (ggc_mark_tree_varray): Likewise.
8805 (ggc_mark_tree_hash_table): Likewise.
8806 * ggc-simple.c: Include hash.h.
8807 (ggc_mark_tree_hash_table_ptr): New function.
8808 (ggc_mark_tree_hash_table_entry): Likewise.
8809 (ggc_mark_tree_hash_table): Likewise.
8810 (ggc_add_tree_hash_table_root): Likewise.
8811 * varray.h (const_equiv_data): Use struct rtx_def *, rather than
8812 rtx, when defining fields.
8813
8814 Sun Sep 5 18:57:42 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
8815
8816 * profile.c (output_func_start_profiler): Remove apparently
8817 nonsensical call to start_sequence.
8818
8819 Sun Sep 5 17:34:33 1999 Richard Henderson <rth@cygnus.com>
8820
8821 * clipper/clipper.c (clipper_va_start): Fix typos.
8822
8823 * pyr/pyr.c (pyr_build_va_list, pyr_va_start, pyr_va_arg): New stubs.
8824 * spur/spur.c (spur_build_va_list, spur_va_start): New stubs.
8825 (spur_va_arg): New stub.
8826
8827 * configure.in: Comment out pyramid.
8828
8829 Sun Sep 5 19:11:01 1999 Michael Meissner <meissner@cygnus.com>
8830
8831 * i386.h (MASK_{DEBUG_{ADDR,ARG},INTEL_SYNTAX}): Move so these
8832 don't conflict with the bits that win32, cygwin, and dgux
8833 defines.
8834
8835 Sun Sep 5 09:31:56 1999 Richard Henderson <rth@cygnus.com>
8836 Bernd Schmidt <bernds@cygnus.co.uk>
8837
8838 * integrate.c (function_cannot_inline_p): Do not inline
8839 functions with forced labels.
8840
8841 Sun Sep 5 00:35:17 1999 Richard Henderson <rth@cygnus.com>
8842 Bernd Schmidt <bernds@cygnus.co.uk>
8843 Mark Mitchell <mark@codesourcery.com>
8844
8845 * Makefile.in (ggc-simple.o): Depend on varray.h.
8846 (rtl.o): Depend on ggc.h.
8847 (genattrtab.o): Depend on ggc.h.
8848 (print-tree.o): Likewise.
8849 (fold-const.o): Likewise.
8850 * emit-rtl.c (sequence_element_free_list): Remove, and all references.
8851 (make_insn_raw): Don't cache insns when GC'ing.
8852 (emit_insn_before): Likewise.
8853 (emit_insn_after): Likewise.
8854 (emit_insn): Likewise.
8855 (start_sequence): Use xmalloc to allocate the sequence_stack.
8856 (end_sequence): Add free to free it.
8857 (gen_sequence): Don't cache insns when GC'ing.
8858 (clear_emit_caches): Don't use sequence_element_free_list.
8859 (init_emit): Use xcalloc, not xmalloc+bzero.
8860 * fold-const.c (size_int_wide): Kill the cache, when GC'ing.
8861 * function.c (pop_function_context_from): Use free to free the
8862 fixup_var_refs_queue.
8863 (put_reg_into_stack): Allocate it with xmalloc.
8864 * genattrtab.c: Include ggc.h.
8865 (operate_exp): Don't use obstack_free when GC'ing.
8866 (simplify_cond): Likewise.
8867 (simplify_text_exp): Likewise.
8868 (optimize_attrs): Likewise.
8869 * gengenrtl.c (gendef): Use ggc_alloc_rtx to allocate RTL, when
8870 GC'ing.
8871 (gencode): Generate a #include for ggc.h.
8872 * ggc-callbacks.c (ggc_p): Define it to zero.
8873 * ggc-none.c (ggc_p): Likewise.
8874 * ggc-simple.c: Include varray.h.
8875 (ggc_mark_tree_varray): New function.
8876 (ggc_add_tree_varray_root): Likewise.
8877 (ggc_mark_tree_varray_ptr): Likewise.
8878 * ggc.h (ggc_p): Declare.
8879 (varray_head_tag): Likewise.
8880 (ggc_add_tree_varray_root): Declare.
8881 * print-tree.c (print_node): Don't check for TREE_PERMANENT
8882 inconsistencies when GC'ing.
8883 * rtl.c: Include ggc.h.
8884 (rtvec_alloc): Use ggc_alloc_rtvec when GC'ing.
8885 (rtx_alloc): Use ggc_alloc_rtx when GC'ing.
8886 (rtx_free): Don't call obstack_free when GC'ing.
8887 * toplev.c (rest_of_compilation): Call ggc_collect after every
8888 pass, if GC'ing.
8889 * tree.c (push_obstacks): Do nothing, if GC'ing.
8890 (pop_obstacks_nochange): Likewise.
8891 (pop_obstacks): Likewise.
8892 (make_node): Use ggc_alloc_tree when GC'ing.
8893 (copy_node): Likewise.
8894 (get_identifier): Use ggc_alloc_string when GC'ing.
8895 (build_string): Likewise.
8896 (make_tree_vec): Use ggc_alloc_tree when GC'ing.
8897 (tree_cons): Likewise.
8898 (build1): Likewise.
8899 (type_hash_canon): Don't call obstack_free when GC'ing.
8900
8901 Sat Sep 4 21:52:32 1999 Richard Henderson <rth@cygnus.com>
8902
8903 * haifa-sched.c (schedule_block): Use next_nonnote_insn instead
8904 of NEXT_INSN when examining speculative insns for SCHED_GROUP_P.
8905
8906 Sat Sep 4 20:40:19 1999 Richard Henderson <rth@cygnus.com>
8907 Bernd Schmidt <bernds@cygnus.co.uk>
8908 Mark Mitchell <mark@codesourcery.com>
8909
8910 * Makefile.in (stor-layout.o): Depend on ggc.h.
8911 (expr.o): Depend on ggc.h.
8912 (profile.o): Depend on ggc.h.
8913 (stor-layout.o): Depend on ggc.h.
8914 * emit-rtl.c (init_emit_once): Add gc roots.
8915 * expr.c: Include ggc.h.
8916 (emit_block_move): Add gc roots.
8917 (clear_storage): Likewise.
8918 * expr.h (init_stor_layout_once): New function.
8919 * profile.c: Include ggc.h.
8920 (init_arc_profiler): profiler_label is a root.
8921 * scan.c (make_sstring_space): Trust xrealloc to function
8922 correctly with first parameter NULL.
8923 * stor-layout.c: Include ggc.h.
8924 (set_sizetype): Add gc root.
8925 (init_stor_layout_once): New function.
8926 * toplev.c (compile_file): Call it.
8927
8928 Sat Sep 4 19:26:25 1999 Richard Henderson <rth@cygnus.com>
8929 Bernd Schmidt <bernds@cygnus.co.uk>
8930 Mark Mitchell <mark@codesourcery.com>
8931
8932 * Makefile.in (tree.o): Depend on ggc.h.
8933 (varasm.o): Likewise.
8934 (function.o): Likewise.
8935 (stmt.o): Likewise.
8936 (except.o): Likewise.
8937 (optabs.o): Likewise.
8938 (emit-rtl.o): Likewise.
8939 * emit-rtl.c: Include ggc.h.
8940 (sequence_element_free_list): Remove, and all references.
8941 (mark_sequence): New functions.
8942 (mark_emit_state): New function.
8943 * except.c: Include ggc.h.
8944 (mark_eh_node, mark_eh_stack, mark_eh_queue): New functions.
8945 (mark_tree_label_node): New functions.
8946 (mark_eh_state): New function.
8947 * function.c: Include ggc.h.
8948 (mark_temp_slot, mark_function_chain): New functions.
8949 (mark_function_state): New function.
8950 (init_function_once): New function.
8951 * function.h (init_function_once): New function.
8952 * ggc-callbacks.c (lang_mark_false_label_stack): New function.
8953 * ggc.h (label_node): Declare.
8954 (eh_status, emit_status, stmt_status, varasm_status): Likewise.
8955 (lang_mark_false_label_stack): New function.
8956 (mark_temp_slot): Remove declaration.
8957 (mark_function_chain): Likewise.
8958 (mark_eh_state): Adjust prototype.
8959 (mark_stmt_state, mark_emit_state, mark_varasm_state, mark_optab):
8960 Likewise.
8961 * optabs.c: Include ggc.h.
8962 (mark_optab): New function.
8963 (init_optabs): Add gc roots.
8964 * stmt.c: Include ggc.h.
8965 (mark_cond_nesting, mark_loop_nesting): New functions.
8966 (mark_block_nesting, mark_case_nesting, mark_goto_fixup): Likewise.
8967 (mark_stmt_state): New function.
8968 * toplev.c (compile_file): Call init_function_once.
8969 * tree.c: Include ggc.h.
8970 (type_hash): Move declaration earlier in file.
8971 (TYPE_HASH_SIZE, type_hash_table): Likewise.
8972 (init_obstacks): Add gc roots.
8973 (mark_type_hash): New function.
8974 * varasm.c: Include ggc.h.
8975 (mark_pool_constant): New function.
8976 (mark_varasm_state): New function.
8977
8978 Sat Sep 4 22:28:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8979
8980 * ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
8981
8982 Sat Sep 4 18:01:45 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8983
8984 * c-decl.c (struct language_function): Renamed from struct c_function.
8985 Delete elt NEXT.
8986 (c_function_chain): Delete.
8987 (push_c_function_context): New arg F. Don't warn about nested
8988 functions here. Fill LANGUAGE elt of F. Delete code to update
8989 c_function_chain. Don't call push_function_context.
8990 (pop_c_function_context): New arg F. Restore from there instead of
8991 from c_function_chain. Don't call pop_function_context. Clear out
8992 LANGUAGE field of F when done.
8993 * c-lang.c: Include "function.h"
8994 (lang_init): Initialize save_lang_status and restore_lang_status.
8995 * c-parse.in (nested_function, nested_function_notype): Warn about
8996 nested functions. Call push_function_context/pop_function_context
8997 instead of the _c_ variants.
8998 * c-tree.h (push_c_function_context, pop_c_function_context): Update
8999 prototype.
9000 * Makefile.in (c-lang.o): Update dependencies.
9001
9002 * emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
9003 regno_pointer_flag, regno_pointer_align.
9004 (gen_reg_rtx): Use xrealloc to enlarge them.
9005 (free_emit_status): New function.
9006 * function.c (mark_machine_status, mark_lang_status): New variables.
9007 (assign_stack_local_1): Renamed from assign_outer_stack_local. Merge
9008 in some bits from assign_stack_local. All callers changed to use new
9009 name.
9010 (assign_stack_local): Just call assign_stack_local_1.
9011 (free_after_compilation): New function.
9012 (put_reg_into_stack): Simplify to always call assign_stack_local_1.
9013 (trampoline_address): Likewise.
9014 (assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
9015 (prepare_function_start): Explicitly clear some more variables.
9016 * function.h (struct function): New elt can_garbage_collect.
9017 (mark_machine_status, mark_lang_status): Declare variables.
9018 (free_after_compilation, free_emit_status, free_varasm_status,
9019 init_varasm_status): Declare functions.
9020 * toplev.c (rest_of_compilation): Call free_after_compilation when
9021 done with the current function.
9022 * varasm.c (free_varasm_status): New function.
9023
9024 Sat Sep 4 17:15:13 1999 Richard Henderson <rth@cygnus.com>
9025
9026 * sparc.h (EXPAND_BUILTIN_VA_START): Define.
9027 (EXPAND_BUILTIN_VA_ARG): Define.
9028 * sparc.c (sparc_va_start): New.
9029 (sparc_va_arg): New.
9030
9031 Sun Sep 5 11:11:59 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9032
9033 * config/c4x/c4x.h (DBR_OUTPUT_SEQEND): Use XVECEXP not XEXPs.
9034
9035 Sun Sep 5 10:13:19 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9036
9037 * config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Disable.
9038
9039 Sat Sep 4 13:44:01 1999 Mark Mitchell <mark@codesourcery.com>
9040
9041 * Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
9042 (OBJS): Add $(GGC).
9043 (ggc-callbacks.o): New target.
9044 * ggc-callbacks.c: New file.
9045
9046 Sat Sep 4 22:53:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
9047
9048 * expr.h: Collapse individual optab and libfunc vars to arrays.
9049 (optab_index, libfunc_index): New enumerations.
9050 (optab_table, libfunc_table): New arrays.
9051 Add accessor macros for both.
9052
9053 * optabs.c (optab_table, libfunc_table): New.
9054 Delete declarations for individual optab and libfunc vars.
9055
9056 Sat Sep 4 12:57:17 1999 Richard Henderson <rth@cygnus.com>
9057
9058 * i386/sco5.h (RETURN_POPS_ARGS): Name change ix86_return_pops_args.
9059
9060 Sat Sep 4 11:19:52 1999 Richard Henderson <rth@cygnus.com>
9061
9062 * Makefile.in (GGC, GGC_LIB): New.
9063 (HOST_RTL): Include ggc-none.o.
9064 (ggc-simple.o): New target.
9065 (ggc-none.o): Likewise.
9066 * tree.h (tree_common): Add gc_mark.
9067 * rtl.h (struct rtx_def): Steal a bit from code to make gc_mark.
9068 (struct rtvec_def): Add gc_mark.
9069 * emit-rtl.c (global_rtl): Update static initializers to contain
9070 enough initializers.
9071 * ggc.h, ggc-none.c, ggc-simple.c: New files.
9072 * toplev.c (gc_time): New variable.
9073 (all_time): New variable.
9074 (compile_file): Print gc time.
9075 (print_time): Calculate percentage of the whole.
9076
9077 Sat Sep 4 13:11:01 1999 Bernd Schmidt <bernds@cygnus.co.uk>
9078
9079 Change obstack memory management and varasm constant pool handling so
9080 that nested functions are treated like any other functions.
9081 * function.c (init_machine_status): New variable.
9082 (push_function_context_to): Set contains_functions for the outer
9083 function. Don't call save_varasm_status.
9084 (pop_function_context_from): Don't call restore_varasm_status. Don't
9085 set current_function_contains_functions.
9086 (prepare_function_start): Call init_varasm_status rather than
9087 init_const_rtx_hash_table. Call (*init_machine_status) if the pointer
9088 is non-null.
9089 * function.h (struct function) Add field varasm. Delete fields
9090 inline_obstacks, inl_emit, const_rtx_hash_table, first_pool,
9091 last_pool, const_rtx_sym_hash_table, pool_offset, const_double_chain.
9092 (init_machine_status): Declare.
9093 (save_varasm_status, restore_varasm_status): Delete declarations.
9094 (save_tree_status, restore_tree_status): Delete last argument.
9095 * integrate.c (initialize_for_inline): Lose arg COPY. Delete copying
9096 code. All callers changed.
9097 (copy_decl_list, copy_decl_tree, copy_decl_rtls, copy_for_inline,
9098 save_constants_in_decl_trees, restore_constants, save_constants,
9099 save_for_inline_eh_labelmap, save_for_inline_copying): Delete
9100 functions.
9101 (inlining): New variable.
9102 (reg_map, label_map, insn_map, orig_asm_operands_vector,
9103 copy_asm_operands_vector, copy_asm_constraints_vector): Delete
9104 variables.
9105 (save_for_inline_nocopy): Don't save constants.
9106 Don't set inl_emit field in current_function.
9107 (expand_inline_function): Use emit field, not inl_emit, of the inlined
9108 function. Set new variable inlining before
9109 calling copy_rtx_and_substitute.
9110 (copy_rtx_and_substitute): In MEM and SYMBOL_REF cases, handle
9111 constant pool references if inlining is nonzero.
9112 Delete ADDRESS and (most of the) CONST cases.
9113 (output_inline_function): Save and restore current_function/
9114 current_function_decl. Delete restore_constants code. Don't call
9115 init_const_rtx_hash_table.
9116 * output.h (init_const_rtx_hash_table): Don't declare.
9117 * rtl.h (struct function): Declare.
9118 (get_pool_constant_for_function, get_pool_mode_for_function): Declare.
9119 * toplev.c (rest_of_compilation): Don't treat nested functions or
9120 functions containing them specially. Delete all code to deal with
9121 save_for_inline_copying.
9122 * tree.c (toplev_inline_obstacks, extra_inline_obstacks,
9123 inline_obstacks): Delete variables.
9124 (save_tree_status): Lose arg CONTEXT. All callers changed.
9125 Simply allocate a new function_maybepermanent_obstack for the new
9126 function, delete all the special cases.
9127 Don't save inline_obstacks.
9128 (restore_tree_status): Lose arg CONTEXT. All callers changed.
9129 Delete special handling for function_maybepermanent_obstack; simply
9130 free it if empty.
9131 Don't restore inline_obstacks.
9132 (permanent_allocation): Delete code that frees inline_obstacks.
9133 (print_inline_obstack_statistics): Delete function.
9134 (dump_tree_statistics): Don't call it.
9135 * varasm.c (struct varasm_status): New.
9136 (const_rtx_hash_table, const_rtx_sym_hash_table, first_pool,
9137 last_pool, pool_offset, const_double_chain): Delete global
9138 variables, replace with accessor macros.
9139 (immed_double_const): Don't walk const_double_chain outside a
9140 function, but don't treat nested functions specially anymore.
9141 (immed_real_const_1): Likewise.
9142 (clear_const_double_mem): Don't treat nested functions specially.
9143 (init_const_rtx_hash_table): Deleted, code moved to init_varasm_status.
9144 (save_varasm_status, restore_varasm_status): Delete functions.
9145 (init_varasm_status): New function.
9146 (force_const_mem): Don't treat nested functions specially.
9147 (find_pool_constant): Accept new arg F, search for constants in
9148 that function's pool rather than the current one. All callers
9149 changed.
9150 (get_pool_constant_for_function, get_pool_mode_for_function): New
9151 functions.
9152
9153 * i386.c (init_386_machine_status): New function, mostly from
9154 clear_386_stack_locals.
9155 (struct machine_functions): Rename element names to avoid name
9156 clashes.
9157 (pic_label_rtx, pic_label_name, i386_stack_locals): New accessor
9158 macros, replacing global variables.
9159 (clear_386_stack_locals, save_386_machine_status,
9160 restore_386_machine_status): Delete functions.
9161 (override_options): Initialize init_machine_status.
9162 * i386.h (INIT_EXPANDERS): Delete macro.
9163 (save_386_machine_status, restore_386_machine_status,
9164 clear_386_stack_locals): Delete declarations.
9165
9166 Sat Sep 4 16:56:28 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9167
9168 * config/c4x/c4x.md (rptb_init): Renamed from *rptb_init.
9169 (doloop_begin): Simplify pattern and use emit_jump_insn.
9170 (doloop_end): Simplify pattern, switch operand order,
9171 and use emit_jump_insn.
9172
9173 Fri Sep 3 19:02:38 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
9174
9175 * function.h (struct function): Add new element LANGUAGE.
9176 (save_lang_status): Declare new variable.
9177 (restore_lang_status): Likewise.
9178 * function.c (save_lang_status): Define.
9179 (restore_lang_status): Likewise.
9180 (push_function_context_to): Call language-specific save function.
9181 (pop_function_context_from): Call language-specific restore function.
9182
9183 Fri Sep 3 01:16:18 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
9184
9185 * i386.md (movsf_1): Check REG_P before use of REGNO.
9186 (movdf_1): Likewise.
9187 (movxf_1): Likewise.
9188 (extendsfdf2): Likewise.
9189 (extendsfxf2): Likewise.
9190 (extenddfxf2): Likewise.
9191
9192 Sat Sep 4 11:37:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9193
9194 * config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
9195 constants into memory.
9196 (c4x_shiftable_constant): New function.
9197 * config/c4x/c4x.c (LEGITIMATE_CONSTANT_P): Allow any CONST_INT.
9198 (c4x_shiftable_constant): Declare.
9199 * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
9200 ashlqi3_noclobber): Add new patterns and associated splitters.
9201
9202 Fri Sep 3 16:22:17 1999 Richard Henderson <rth@cygnus.com>
9203
9204 * dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
9205 * dwarf2out.c (dwarf2out_frame_init): Likewise.
9206 * final.c (shorten_branches): Likewise.
9207 * global.c (global_alloc): Likewise.
9208 * haifa-sched.c (build_control_flow): Likewise.
9209 * stmt.c (check_for_full_enumeration_handling): Likewise.
9210 (estimate_case_costs): Likewise.
9211
9212 Fri Sep 3 15:49:56 1999 Mark Mitchell <mark@codesourcery.com>
9213
9214 * rtl.h (RTL_CHECKC2): Fix typo in last change.
9215
9216 Fri Sep 3 15:13:34 1999 Richard Henderson <rth@cygnus.com>
9217
9218 * flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
9219 (recompute_reg_usage): Likewise.
9220 * rtlanal.c (find_regno_fusage): Likewise.
9221
9222 * rtl.c (rtl_check_failed_code1): New function.
9223 (rtl_check_failed_code2): New.
9224 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
9225 (RTL_CHECKC1, RTL_CHECKC2): New.
9226 (XC*): New accessor macros.
9227 (NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
9228 (ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
9229 (CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
9230 (ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
9231 (TRAP_*, RANGE_INFO_*): Likewise.
9232
9233 Fri Sep 3 15:10:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9234
9235 * Makefile.in (tlink.o): Don't depend on toplev.h.
9236
9237 * collect2.c (c_file, o_file, export_file, import_file, ldout,
9238 output_file, nm_file_name, ldd_file_name, strip_file_name,
9239 c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
9240 add_prefix, prefix_from_env, prefix_from_string, do_wait,
9241 fork_execute, maybe_unlink, add_to_list,
9242 extract_init_priority, write_list, dump_list,
9243 dump_prefix_list, write_list_with_asm, write_c_file,
9244 write_c_file_stat, write_c_file_glob, scan_prog_file,
9245 scan_libraries, is_in_list, resolve_lib_name, use_import_list,
9246 ignore_library, extract_string, notice, dump_file, target_machine,
9247 collect_wait, collect_execute, libname, locatelib, aix_std_libs,
9248 read_file, print_load_command): Constify a char*.
9249 (fdopen, error, fatal, fatal_perror): Don't prototype.
9250 (my_strerror): Remove. All callers use xstrerror instead.
9251 (xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
9252 (main): Add prototype. Constify lots of char* ptrs. Change calls
9253 to xcalloc/strcpy/strcat/... to one call to concat.
9254 (main, scan_prog_file, scan_libraries): Use an intermediate
9255 `const char **' to build an argv array.
9256 (mapfile, libselect, libcompare, locatelib): Add prototypes.
9257
9258 * collect2.h (collect_execute, collect_wait, dump_file,
9259 file_exists): Constify a char*.
9260 (ldout, c_file_name, temporary_obstack, permanent_obstack,
9261 temporary_firstobj, vflag, debug): Add extern declarations.
9262 (fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.
9263
9264 * tlink.c: Don't include toplev.h.
9265 (vflag, debug, ldout, c_file_name, temporary_obstack,
9266 permanent_obstack, temporary_firstobj): Don't declare.
9267 (tlink_execute, frob_extension, symbol_hash_lookup,
9268 file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
9269 recompile_files, read_repo_files, demangle_new_symbols,
9270 scan_linker_output): Constify a char*.
9271 (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
9272 do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
9273
9274 Fri Sep 3 18:09:24 1999 Andrew Haley <aph@cygnus.com>
9275
9276 * config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
9277 (relative) rather than jsr (absolute) subroutine call insns.
9278 * config/m68k/m68k-coff.h: Ditto.
9279
9280 Fri Sep 3 17:24:31 1999 Richard Earnshaw <rearnsha@arm.com>
9281
9282 * arm.c (note_invalid_constants): No need to ignore ASMs, we can
9283 now rework these too.
9284 (arm_reorg): If an insn can't reach the end of the current pool,
9285 ensure that we emit that pool before the insn.
9286
9287 Fri Sep 3 09:14:32 1999 Marc Espie <espie@tetto.liafa.jussieu.fr>
9288
9289 * tlink.c (scan_linker_output): Skip the initial underscore in
9290 a mangled name if appropriate.
9291
9292 Fri Sep 3 01:28:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9293
9294 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
9295 objc_tree_code_name, synth_id_with_class_suffix, warn_with_method,
9296 error_with_ivar, gen_declarator, create_builtin_decl,
9297 my_build_string, generate_descriptor_table, generate_ivars_list,
9298 generate_dispatch_table, check_protocols, TAG_GETCLASS,
9299 TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS,
9300 dump_base_name, lang_decode_option, build_encode_expr,
9301 start_class, finish_class, encode_pointer, really_start_method,
9302 gen_declaration, dump_interface, handle_class_ref, handle_impent):
9303 Constify.
9304 (objc_demangle, objc_printable_name, generate_struct_by_value_array):
9305 Add static prototypes.
9306 (build_objc_string_decl, build_selector_reference_decl,
9307 encode_bitfield, build_class_reference_decl): Remove unused
9308 parameter, all callers changed.
9309 (maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED.
9310 (objc_printable_name): Likewise. Change second parameter to type int.
9311 (init_objc): Use memcpy, not bcopy, to avoid casts.
9312
9313 Thu Sep 2 21:49:52 1999 Richard Henderson <rth@cygnus.com>
9314
9315 * reload1.c (eliminate_regs_in_insn): Avoid eliminating the
9316 reg notes on a deleted insn.
9317 * gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
9318
9319 Thu Sep 2 20:18:12 1999 Jeffrey A Law (law@cygnus.com)
9320
9321 * i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
9322
9323 Thu Sep 2 22:00:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
9324
9325 * stmt.c (expand_asm_operands): Fix index into inout_mode when
9326 reading it.
9327
9328 Thu Sep 2 13:00:48 1999 Richard Henderson <rth@cygnus.com>
9329
9330 * stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
9331 * tm.texi (MD_ASM_CLOBBERS): Document it.
9332
9333 Thu Sep 2 10:22:40 1999 Richard Henderson <rth@cygnus.com>
9334
9335 * dwarf2out.c (dwarf2out_line): Constify `lastfile'.
9336 * except.c (expand_rethrow): Remove unused variable.
9337 * expr.c (do_jump_by_parts_greater_rtx): Likewise.
9338 * flow.c (replace_insns): Likewise.
9339 (create_edge_list, verify_edge_list): Likewise.
9340 * gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
9341
9342 * genemit.c (gen_expand): Only emit `operands[N]' decl if there
9343 is special code to run.
9344 (main): Don't define operands to emit_operand.
9345 * genrecog.c (main): Don't emit an empty peephole2_insn function.
9346
9347 * rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
9348
9349 * alpha/alpha.h (normal_memory_operand): Declare.
9350 (reg_no_subreg_operand): Declare.
9351 * alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
9352
9353 Thu Sep 2 10:19:20 1999 Richard Henderson <rth@cygnus.com>
9354
9355 * c-parse.in (compstmt_primary_start): New, broken out of first
9356 part of compstmt handling in primary.
9357 (primary): Use it. Add an error clause.
9358 (compstmt_nostart): Renamed from compstmt; remove all
9359 initial invocations of compstmt_start.
9360 (compstmt): New.
9361
9362 Thu Sep 2 01:35:50 1999 Marc Espie <espie@cvs.openbsd.org>
9363
9364 * protoize.c (gen_aux_info_file): Let pexecute call choose_temp_base if
9365 needed.
9366
9367 Thu Sep 2 00:43:59 1999 Finn Hakansson <finn@axis.com>
9368
9369 * combine.c (simplify_shift_const): Remove extra semicolon.
9370 * dwarf2out.c (remove_AT): Likewise.
9371 * expmed.c (expand_mult): Likewise.
9372 * gcov.c (create_program_flow_graph): Likewise.
9373 * reorg.c (mostly_true_jump): Likewise.
9374
9375 Thu Sep 2 00:06:43 1999 Jeffrey A Law (law@cygnus.com)
9376
9377 * fold-const.c (fold_range_test): Do not try to fold the range
9378 test if the rhs or lhs has side effects.
9379
9380 * combine.c (simplify_rtx): Recognize another case of a synthesized
9381 sign extension.
9382
9383 * varasm.c (mark_constant_pool): When marking indirect references,
9384 only look at SYMBOL_REFs.
9385
9386 * except.c (expand_fixup_region_end): Do not peek at
9387 INSN_UID (node->entry->outer_context) for flag_new_exceptions.
9388
9389 Thu Sep 2 13:52:53 1999 Geoffrey Keating <geoffk@cygnus.com>
9390
9391 * flags.h: New variables align_loops, align_loops_log,
9392 align_jumps, align_jumps_log, align_labels, align_labels_log,
9393 align_functions, align_functions_log.
9394 * toplev.c: Define them.
9395 (f_options): Handle -falign-* when they have no argument.
9396 (main): Add logic to set variables for -falign-functions,
9397 -falign-jumps, -falign-labels, -falign-loops.
9398 Make it -fsched-verbose=<n> and -finline-limit=<n>.
9399 (display_help): Change help to match options.
9400 * final.c (LABEL_ALIGN): Default to align_labels_log.
9401 (LABEL_ALIGN_MAX_SKIP): Default to align_labels-1.
9402 (LOOP_ALIGN): Default to align_loops_log.
9403 (LOOP_ALIGN_MAX_SKIP): Default to align_loops-1.
9404 (LABEL_ALIGN_AFTER_BARRIER): Default to align_jumps_log.
9405 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to align_jumps-1.
9406 * varasm.c (assemble_start_function): Handle align_functions.
9407
9408 * config/sparc/sparc.h: Don't declare sparc_align_*.
9409 Don't provide LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN.
9410 (DEFAULT_SPARC_ALIGN_FUNCS): Delete; take functionality into
9411 sparc.c.
9412 (FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
9413 it's a promise.
9414 * config/sparc/sparc.c: Delete sparc_align_loops,
9415 sparc_align_jumps, sparc_align_funcs and the corresponding string
9416 variables.
9417 (sparc_override_options): Default align_functions on ultrasparc.
9418 Delete -malign-* handling.
9419
9420 * config/mips/mips.c (override_options): On 64-bit targets,
9421 try to align code to 64-bit boundaries.
9422 (print_operand): New substitution, %~,
9423 which aligns labels to align_labels_log.
9424 * config/mips/mips.md (div_trap_normal): Use %~.
9425 (div_trap_mips16): Likewise.
9426 (abssi): Likewise.
9427 (absdi2): Likewise.
9428 (ffssi2): Likewise.
9429 (ffsdi2): Likewise.
9430 (ashldi3_internal): Likewise.
9431 (ashrdi3_internal): Likewise.
9432 (lshrdi3_internal): Likewise.
9433 (casesi_internal): Likewise.
9434
9435 Wed Sep 1 21:13:48 1999 Richard Henderson <rth@cygnus.com>
9436
9437 Merge new ia32 backend from the branch!
9438
9439 * i386.h, i386.c, i386.md, reg-stack.c, i386/unix.h: Many changes.
9440 See ChangeLog.P2 on new_ia32_branch for details.
9441
9442 * rtl.h (stack_regs_mentioned_p): Delete prototype.
9443 * i386/cygwin.h (SUBTARGET_PROLOGUE): No more do_rtl.
9444 * i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
9445 * i386/gas.h (ASM_FILE_START): Define.
9446 * i386/winnt.c (i386_pe_valid_decl_attribute_p): Update
9447 for name change of ix86_valid_decl_attribute_p.
9448 (i386_pe_valid_type_attribute_p): Similarly.
9449
9450 Wed Sep 1 18:21:23 1999 Richard Henderson <rth@cygnus.com>
9451
9452 * emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
9453 to step through CC modes.
9454
9455 Wed Sep 1 20:18:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
9456
9457 * regmove.c (fixup_match_1): Don't move INSN in front of P if
9458 it would end up in the shadow of a live flags regsiter.
9459
9460 Wed Sep 1 11:32:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
9461
9462 * reload1.c: Fix many indentation problems.
9463 * reload.c: Likewise.
9464
9465 Tue Aug 31 22:08:03 1999 Marc Espie <espie@cvs.openbsd.org>
9466
9467 * alias.c (non_local_reference_p): Constify fmt.
9468
9469 Tue Aug 31 23:19:35 1999 Michael Meissner <meissner@cygnus.com>
9470
9471 * config/i386/xm-cygwin.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
9472
9473 Tue Aug 31 16:44:52 1999 Jeffrey A Law (law@cygnus.com)
9474
9475 * cse.c (delete_trivially_dead_insns): Do not delete stores to
9476 the internal_arg_pointer.
9477
9478 Tue Aug 31 13:35:42 1999 Richard Henderson <rth@cygnus.com>
9479
9480 Merge peephole2 from new_ia32_branch:
9481 * Makefile.in (STAGESTUFF): Add *.peephole2.
9482 (mostlyclean): Likewise.
9483 (recog.o): Depend on resource.h.
9484
9485 * final.c (peephole): Conditionalize decl on HAVE_peephole.
9486 (final_scan_insn): Likewise for the invocation of peephole.
9487 * genconfig.c (main): Look for peephole and peephole2 patterns.
9488 Emit HAVE_peephole* accordingly.
9489 * genpeep.c (main): Conditionalize entire output on HAVE_peephole.
9490 * flags.h (flag_peephole2): Declare.
9491 * toplev.c: New pass peephole2. New flag -fpeephole2.
9492
9493 * genattrtab.c (main): Count DEFINE_PEEPHOLE2.
9494 * gencodes.c (main): Likewise.
9495 * genextract.c (main): Likewise.
9496 * genoutput.c (main): Likewise.
9497 * genemit.c (max_operand_1): Look for the max scratch operand.
9498 (gen_rtx_scratch): New.
9499 (gen_exp): Use it, and pass on new arg subroutine_type.
9500 (gen_expand): Take max scratch into account.
9501 (gen_split): Emit peephole2 functions.
9502 (output_peephole2_scratch): New.
9503 (main): Include hard-reg-set.h and resource.h. Handle peephole2.
9504 * genrecog.c (routine_type): Add PEEPHOLE2.
9505 (IS_SPLIT): New.
9506 (make_insn_sequence): Match outer parallel for peep2. Discard
9507 top level scratches and dups.
9508 (add_to_sequence): New args insn_type and top. Update all callers.
9509 Handle toplevel peep2 matching insns.
9510 (write_subroutine): Handle peep2.
9511 (write_tree_1): Likewise.
9512 (write_tree): Likewise.
9513 (main): Likewise.
9514 (change_state): New arg afterward. Update all callers.
9515 Handle matching separate insns.
9516 * recog.c (recog_next_insn): New.
9517 (peephole2_optimize): New.
9518 * rtl.def (DEFINE_PEEPHOLE2): New.
9519 * resource.c (find_free_register): New argument last_insn. Use it
9520 to find a register available through the entire span.
9521 * resource.h (find_free_register): Update prototype.
9522
9523 Tue Aug 31 11:51:06 1999 Jim Kingdon <http://developer.redhat.com>
9524
9525 * i386.c (output_strlen_unroll): Don't write xops[7]
9526 label if it wasn't set.
9527
9528 1999-08-31 12:44 -0700 Zack Weinberg <zack@bitmover.com>
9529
9530 * cpplib.c (struct directive): Const-ify name pointer and
9531 function pointer prototype.
9532 (validate_else, do_define, do_line, do_include, do_undef,
9533 do_error, do_pragma, do_ident, do_if, do_xifdef, do_else,
9534 do_elif, do_endif, do_sccs, do_assert, do_unassert,
9535 do_warning): Const-ify second arg.
9536 (directive_table): Mark const. Reorder entries by frequency
9537 of usage, record statistics.
9538
9539 1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
9540
9541 * rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
9542 bounds- check RTL accesses if --enable-checking.
9543 (RTVEC_ELT): Bounds check if --enable-checking.
9544 (XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
9545 XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
9546 (XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
9547 GET_NUM_ELEM.
9548 (X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
9549 X0BBDEF, X0ADVFLAGS): New macros for accessing '0' slots of RTXes.
9550
9551 (ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
9552 (NOTE_SOURCE_FILE): Use X0STR.
9553 (NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
9554 MEM_ALIAS_SET): Use X0INT.
9555 (NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
9556 JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
9557 Use X0EXP.
9558 * real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
9559 * rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
9560 (rtl_check_failed_bounds, rtl_check_failed_type1,
9561 rtl_check_failed_type2, rtvec_check_failed_bounds): New
9562 functions.
9563 (fancy_abort): Fix comment.
9564
9565 * cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
9566 (cse_insn): Decrement LABEL_NUSES for jump target before
9567 deleting jump insn.
9568 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
9569 * final.c (alter_subreg): Compute regno before changing x to
9570 REG; set REGNO(x) after changing it.
9571 * flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
9572 notes containing CONST_INTs.
9573 (delete_eh_regions): Use NOTE_EH_HANDLER.
9574 * function.c (put_reg_into_stack): Make reg a MEM before
9575 initializing it.
9576 (fixup_var_refs_insns): Save REG_NOTES (insn) in case we
9577 delete insn.
9578 (gen_mem_addressof): Make reg a MEM before initializing it.
9579 * integrate.c (copy_rtx_and_substitute): Copy '0' slots with
9580 X0WINT.
9581 * local-alloc.c (update_equiv_regs): Zap REG_NOTES before
9582 deleting an insn, not after.
9583 (block_alloc): Only look at PATTERN(insn) if we have to, and
9584 only if it's format class 'i'.
9585 * loop.c (check_dbra_loop): Check bl->biv->add_val is a
9586 CONST_INT before using its INTVAL.
9587 * print-rtl.c (print_rtx): Use X0STR.
9588 * regmove.c (fixup_match_1): Don't look at PATTERN of
9589 non-class-'i' insn chain elements.
9590 * reload.c (loc_mentioned_in_p): Take address of
9591 in->fld[1].rtx directly.
9592 * reload1.c (reload): Change reg to a MEM before initializing
9593 it.
9594 * varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
9595 have no names.
9596 * config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
9597
9598 Fri Aug 20 13:43:41 1999 Andrew Haley <aph@cygnus.com>
9599
9600 * config/mips/mips.c (machine_dependent_reorg): Force a
9601 barrier to output the local constant pool if a barrier hasn't
9602 been found at a natural point in the instruction stream.
9603
9604 Mon Aug 30 22:04:36 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9605
9606 * c-parse.in (language_string): Constify.
9607
9608 * dwarf2out.c (language_string): Remove declaration.
9609
9610 * dwarfout.c (language_string): Likewise.
9611
9612 * toplev.c (language_string, init_parse, finish_parse): Likewise.
9613
9614 * tree.h (language_string, init_parse, finish_parse): Declare.
9615
9616 * i386/sun386.h (language_string): Remove declaration.
9617
9618 * mips.h (language_string): Likewise.
9619
9620 * nextstep.h (language_string): Likewise.
9621
9622 * nextstep21.h (language_string): Likewise.
9623
9624 * rs6000.c (language_string): Likewise.
9625
9626 Mon Aug 30 20:56:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9627
9628 * Makefile.in (OBJS, PROTO_OBJS): Remove getpwd.o.
9629 (getpwd.o): Remove target.
9630
9631 * getpwd.c: Delete file. Its in libiberty now.
9632
9633 * dbxout.c (getpwd): Don't prototype.
9634 * dwarf2out.c (getpwd): Likewise
9635 * dwarfout.c (getpwd): Likewise
9636 * final.c (getpwd): Likewise.
9637 * protoize.c (getpwd): Likewise.
9638
9639 Mon Aug 30 20:21:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9640
9641 * cse.c: (fold_rtx): Cast to HOST_WIDE_INT in left shift.
9642
9643 Mon Aug 30 16:07:49 1999 Richard Henderson <rth@cygnus.com>
9644
9645 * flow.c (new_insn_dead_notes): Use sets_reg_or_subreg not
9646 mark_set_resources.
9647
9648 Mon Aug 30 12:23:53 1999 Jim Wilson <wilson@cygnus.com>
9649
9650 * fixinc/Makefile.in (subdir): New.
9651 (fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
9652 (Makefile): New.
9653
9654 Mon Aug 30 01:02:09 1999 Jeffrey A Law (law@cygnus.com)
9655
9656 * emit-rtl.c (copy_rtx_if_shared): A MEM which references
9657 virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
9658 be shared.
9659
9660 * invoke.texi: Fix typo.
9661
9662 * dwarf2out.c (mem_loc_descriptor): New argument MODE. All callers
9663 changed. Handle autoincrement addressing modes.
9664
9665 * integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
9666 just like we would the virtual incoming args register when
9667 integrating.
9668
9669 Sun Aug 29 23:17:54 1999 David Edelsohn <edelsohn@gnu.org>
9670
9671 * rs6000.h (ASM_FILE_START): Specify complete filename, including
9672 path, in .file directive.
9673
9674 Sun Aug 29 05:06:43 1999 Russ Allbery <rra@stanford.edu>
9675
9676 * gcc.texi (External Bugs): Remove obsolete note about Perl on
9677 SunOS.
9678
9679 1999-08-29 08:38 -0700 Zack Weinberg <zack@bitmover.com>
9680
9681 * stdbool.h: Make the typedef name _Bool, with bool a #defined
9682 alias.
9683
9684 Sun Aug 29 09:36:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9685
9686 * tree.c (tree_code_name): Constify a char*.
9687
9688 * tree.h (tree_code_name, decl_printable_name): Likewise.
9689
9690 * function.h (struct function): Likewise.
9691
9692 * toplev.c (decl_name, decl_printable_name): Likewise.
9693
9694 * vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
9695
9696 * objc/objc-act.c (decl_printable_name): Remove redundant prototype.
9697 (init_objc): Remove function pointer cast.
9698
9699 Sun Aug 29 05:01:17 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
9700
9701 * pa.md (interspace_jump): New pattern.
9702 (builtin_longjmp): New expander.
9703
9704 1999-08-29 Bernd Schmidt <bernds@cygnus.co.uk>
9705
9706 * fp-bit.c (add, sub, multiply, divide, compare, _eq_f2, _ne_f2,
9707 _gt_f2, _ge_f2, _lt_f2, _le_f2, float_to_si, float_to_usi, negate,
9708 sf_to_df, df_to_sf): Fix potential problem with alias analysis.
9709
9710 Sun Aug 29 04:30:52 1999 John Wehle (john@feith.com)
9711
9712 * jump.c (delete_prior_computation): Also check calls
9713 to constant functions. Don't bother checking for a
9714 REG_UNUSED note before adding it.
9715 (delete_computation): Handle multi-word hard registers
9716 when synthesizing missing REG_DEAD notes for a register
9717 which is both set and used by an insn.
9718
9719 1999-08-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9720
9721 * loop.c (this_loop_info): New variable.
9722 (loop_has_call, loop_has_volatile, loop_has_tablejump,
9723 loop_continue, loops_enclosed): Replace with fields in this_loop_info.
9724 All uses updated.
9725 (prescan_loop, strength_reduce): New argument loop_info. All callers
9726 updated.
9727 (scan_loop): New variable loop_info, initialise to address of
9728 this_loop_info.
9729 (prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
9730 Delete variable loop_has_multiple_exit targets and replace with
9731 field in this_loop_info.
9732 (find_and_verify_loops): Rename this_loop to this_loop_num.
9733 (strength_reduce): Delete loop_iteration_info. Replace variable
9734 loop_info with function argument of same name.
9735 (insert_bct): Rework test for loop being completely unrolled.
9736
9737 * loop.h (struct loop_info): New fields num, loops_enclosed,
9738 has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
9739 has_indirect_jump, and cont. Redefine use of unroll_number.
9740 (loop_unroll_number): Delete.
9741
9742 * unroll.c (unroll_loop): Store loop unroll count in unroll_number
9743 field of loop_info.
9744 (loop_iterations): Delete variable vtop and instead use
9745 loop_info->vtop computed in prescan_loop.
9746
9747 Sun Aug 29 03:27:23 1999 Scott Weikart <scott@igc.apc.org>
9748
9749 * fix-header.c (main): Do not pass a null pointer to strcmp.
9750
9751 Sun Aug 29 03:18:48 1999 William Bader (william@nscs.fast.net)
9752
9753 * configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
9754 filenames.
9755 * configure: Rebuilt.
9756
9757 Sat Aug 28 19:36:05 1999 Jeffrey A Law (law@cygnus.com)
9758
9759 * jump.c (jump_optimize_1): Do not delete assignments to
9760 internal_arg_pointer.
9761 * cse.c (delete_trivially_dead_insns): Always consider a set of
9762 the internal_arg_pointer live.
9763
9764 Sat Aug 28 16:24:31 1999 Richard Henderson <rth@cygnus.com>
9765
9766 * flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
9767 (update_life_info) [REG_WAS_0]: Search the original insns rather
9768 than the new insns for the note. Fix typos finding note_dest.
9769 If no dest found, discard the note rather than abort.
9770 [REG_NOALIAS]: Handle as REG_NO_CONFLICT.
9771 (replace_insns): Remove the old insn list after update_life_info
9772 not before.
9773
9774 Sat Aug 28 16:20:12 1999 Richard Henderson <rth@cygnus.com>
9775
9776 * haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
9777 sched_analyze_insn.
9778 (sched_analyze_1): Let add_dependence care for not adding dups.
9779 (sched_analyze_2): Likewise.
9780 (add_branch_dependences): Likewise.
9781
9782 Sat Aug 28 15:58:16 1999 Mumit Khan <khan@xraylith.wisc.edu>
9783
9784 * i386/winnt.c (export_list): New type.
9785 (exports_head): Rename to
9786 (export_head): this.
9787 (i386_pe_record_exported_symbol): Add is_data flag.
9788 (i386_pe_asm_file_end): Emit directive for exported variables.
9789 * i386/cygwin.h (i386_pe_record_exported_symbol): Update
9790 prototype.
9791 * i386/cygwin.h (ASM_OUTPUT_COMMON): Specify symbol type.
9792 (ASM_DECLARE_OBJECT_NAME): Likewise.
9793 (ASM_DECLARE_FUNCTION_NAME): Likewise.
9794 * i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9795
9796 Fri Aug 27 15:35:24 1999 Jeffrey A Law (law@cygnus.com)
9797
9798 * cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
9799
9800 * pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
9801 operand.
9802
9803 Fri Aug 27 14:01:19 1999 Marc Espie <espie@cvs.openbsd.org>
9804
9805 * config/openbsd.h: Define SET_ASM_OP.
9806 * tm.texi: cross-reference SET_ASM_OP in the index.
9807
9808 1999-08-27 13:27 -0700 Zack Weinberg <zack@bitmover.com>
9809
9810 * rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
9811 for a CONST_DOUBLE, at compile time. Initialize rtx_length
9812 and class_narrowest_mode at compile time. Kill init_rtl.
9813 Mark rtx_length, mode_class, mode_size, mode_unit_size,
9814 mode_wider_mode, mode_mask_array, class_narrowest_mode, and
9815 rtx_format as const. Kill all references to EXTRA_CC_MODES or
9816 EXTRA_CC_NAMES.
9817 * rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
9818 format.
9819 * rtl.h: Declare rtx_length and rtx_format as const.
9820 * machmode.def: Define CC(). Use CC() to define CCmode. If
9821 EXTRA_CC_MODES is defined, expand it here.
9822 * machmode.h: Declare mode_class, mode_size, mode_unit_size,
9823 mode_wider_mode, mode_mask_array, and class_narrowest_mode as
9824 const. Kill all references to EXTRA_CC_MODES.
9825
9826 * toplev.c: Don't prototype or call init_rtl.
9827 * optabs.c: Don't call init_mov_optab.
9828 * genemit.c: Don't generate init_mov_optab. Don't call
9829 init_rtl.
9830 * gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
9831 here.
9832 * genattr.c, genattrtab.c, gencodes.c, genconfig.c,
9833 genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
9834 genrecog.c: Don't call init_rtl.
9835
9836 * arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
9837 rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES. Use CC() in
9838 definition of EXTRA_CC_MODES.
9839
9840 * md.texi: Kill ref to EXTRA_CC_NAMES.
9841 * tm.texi: Document new way to define EXTRA_CC_MODES.
9842
9843 * genrecog.c: Do not look up the name of a define_split.
9844 (Unrelated bugfix.)
9845
9846 Fri Aug 27 17:03:42 1999 Nick Clifton <nickc@cygnus.com>
9847
9848 * config/v850/v850.md: Fix typo introduced by previous delta.
9849
9850 Fri Aug 27 09:48:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9851
9852 * gcc.c (fatal): Make definition static to match prototype.
9853
9854 Fri Aug 27 10:33:35 1999 Bernd Schmidt <bernds@cygnus.co.uk>
9855
9856 * combine.c (get_last_value): Don't look for earlier sets if the last
9857 known set is somewhere in between the insns being combined.
9858
9859 Fri Aug 27 10:03:12 BST 1999 Nathan Sidwell <nathan@acm.org>
9860
9861 * configure.in: Don't use shell ! to negate exit codes
9862 * configure: Regenerate
9863
9864 Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de>
9865
9866 * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
9867 the fact that ALIGN is measured in bits, not bytes.
9868
9869 1999-08-27 00:27 -0700 Zack Weinberg <zack@bitmover.com>
9870
9871 * errors.c: New file; defines functions error, warning, and
9872 fatal, variables have_error and progname.
9873 * errors.h: New file; prototypes and decls for stuff in errors.c.
9874
9875 * Makefile: Add rules to build errors.o and
9876 $(HOST_PREFIX)errors.o. Link genconfig, gencodes, genemit,
9877 genopinit, genrecog, genextract, genpeep, genattr, and
9878 genoutput with errors.o. Add errors.h to deps of genconfig.o,
9879 gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
9880 genpeep.o, genattr.o, and genoutput.o.
9881
9882 * genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
9883 genextract.c, genpeep.c, genattr.c: Include errors.h. Don't
9884 define or prototype fatal. Set progname at beginning of main.
9885 * genoutput.c: Likewise, and don't define or prototype error
9886 either.
9887
9888 * c-typeck.c (c_expand_start_case): Return immediately if exp
9889 is an ERROR_MARK.
9890 * fold-const.c (operand_equal_p): Return immediately if arg1
9891 or arg0 are ERROR_MARKs.
9892 * stor-layout.c (layout_type [case RECORD_TYPE]): Ignore
9893 fields of type ERROR_MARK when calculating if the record can
9894 go in a register.
9895
9896 Fri Aug 27 01:03:48 1999 Jim Kingdon <http://developer.redhat.com>
9897 with much help from Jeffrey A Law and Richard Henderson
9898
9899 * i386.md: In the 6 insns which call output_fix_trunc,
9900 earlyclobber operands[0].
9901
9902 Fri Aug 27 01:01:51 1999 Philip Blundell <pb@nexus.co.uk>
9903
9904 * jump.c (duplicate_loop_exit_test): Call reg_scan_update after
9905 creating new registers.
9906
9907 1999-08-26 23:09 -0700 Zack Weinberg <zack@bitmover.com>
9908
9909 * i386.h: Declare ix86_cpu_string, ix86_arch_string,
9910 i386_reg_alloc_order, i386_regparm_string,
9911 i386_align_loops_string, i386_align_jumps_string,
9912 i386_align_funcs_string, i386_preferred_stack_boundary_string,
9913 and i386_branch_cost_string as type "const char *".
9914 * i386.c: Define all above strings as type "const char *".
9915
9916 Thu Aug 26 20:36:30 1999 Jim Wilson <wilson@cygnus.com>
9917
9918 * dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE
9919 when emitting alignment padding. Emit padding byte of 0 instead of 4.
9920
9921 Thu Aug 26 18:11:20 1999 Mark Mitchell <mark@codesourcery.com>
9922
9923 * tree.c (array_type_nelts): Don't create RTL_EXPRs from
9924 SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
9925
9926 Thu Aug 26 19:33:23 1999 Jim Wilson <wilson@cygnus.com>
9927
9928 * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
9929 (debug_dwarf): Add DWARF2_ASM_LINE_DEBUG_INFO support.
9930 (dwarf2out_line, dwarf2out_finish): Likewise.
9931 * tm.texi (DWARF2_ASM_LINE_DEBUG_INFO): Add documetation.
9932
9933 Thu Aug 26 16:10:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
9934
9935 * tree.c (lang_unsave_expr_now) : Correct return type.
9936 * tree.h (lang_unsave_expr_now) : Same.
9937
9938 Thu Aug 26 13:12:29 1999 Jeffrey A Law (law@cygnus.com)
9939
9940 * pa.c (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
9941 instead of duplicating code.
9942
9943 Thu Aug 26 18:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
9944
9945 * gcse.c (hash_scan_insn): Don't scan obvious no-ops.
9946
9947 1999-08-26 09:42 -0700 Zack Weinberg <zack@bitmover.com>
9948
9949 * tree.h: fancy_abort always takes three args.
9950 * resource.c: Move include of system.h before toplev.h.
9951
9952 Thu Aug 26 09:46:16 1999 Nick Clifton <nickc@cygnus.com>
9953
9954 * dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs as well
9955 as SYMBOL_REFs.
9956
9957 1999-08-25 22:10 -0700 Zack Weinberg <zack@bitmover.com>
9958
9959 * system.h: Don't redefine abort or trim_filename.
9960 * rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
9961 or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
9962 whether or not __FUNCTION__ is available.
9963 * tree.h: Duplicate rtl.h's definition of abort, for files
9964 that don't include rtl.h. Delete all code to perform type
9965 checking with a compiler other than GCC.
9966 * varray.h: Delete all code to perform type checking with a
9967 compiler other than GCC. Make VARRAY_CHECK() always evaluate
9968 its arguments exactly once, using a statement expression.
9969 Adjust the VARRAY_<type> accessor macros to match.
9970 * toplev.h (fatal_insn, fatal_insn_not_found): Kill.
9971 (_fatal_insn, _fatal_insn_not_found): New fns, take info on
9972 caller's location. Define fatal_insn and fatal_insn_not_found
9973 as macros that use _fatal_insn and _fatal_insn_not_found.
9974 (fancy_abort, trim_filename): Kill prototypes.
9975
9976 * rtl.c (trim_filename): Move here from toplev.c.
9977 (fancy_abort): New function.
9978 (DIR_SEPARATOR): Provide default definition.
9979 * tree.c (tree_check_failed, tree_class_check_failed): Go
9980 through fancy_abort.
9981 (tree_check, tree_class_check, cst_or_constructor_check,
9982 expr_check): Delete.
9983 * varray.c (varray_check_failed): New function.
9984 * toplev.c (fatal_insn, fatal_insn_not_found): Replace with
9985 _fatal_insn and _fatal_insn_not_found. Go through
9986 fancy_abort.
9987 (trim_filename, fancy_abort): Delete.
9988
9989 * builtins.c (expand_builtin_args_info): Report ICE with abort.
9990 * except.c (start_catch_handler): Report ICE with error/abort
9991 combo.
9992 * final.c (output_operand_lossage): Likewise.
9993 * flow.c (verify_flow_info): Likewise.
9994
9995 * gcc.c: Prototype fatal.
9996 * gengenrtl.c: Undef abort after including rtl.h not system.h.
9997 * genattr.c, genattrtab.c, genemit.c, genextract.c,
9998 genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
9999 Don't define fancy_abort.
10000
10001 Wed Aug 25 17:56:59 1999 Richard Henderson <rth@cygnus.com>
10002
10003 * optabs.c (emit_cmp_and_jump_insns): Be more thorough in
10004 canonization.
10005
10006 Wed Aug 25 15:35:55 1999 Richard Henderson <rth@cygnus.com>
10007
10008 * m88k.h (VERSION_INFO2): Kill.
10009 (VERSION_STRING): Kill.
10010 (TM_RCS_ID): Kill.
10011 (VERSION_INFO1): Tidy.
10012 (TARGET_VERSION): Update.
10013 * m88k/dgux.h (VERSION_INFO2): Kill.
10014 (ASM_FIRST_LINE): Adjust for death of VERSION_STRING.
10015 * m88k/luna.h (VERSION_INFO1): Tidy.
10016 * m88k/sysv4.h (VERSION_INFO1): Likewise.
10017 * m88k.c (out_rcs_id, tm_rcs_id): Kill.
10018 (output_file_start): Adjust for death of VERSION_STRING.
10019
10020 1999-08-25 13:51 -0700 Jim Meyering <meyering@ascend.com>
10021
10022 * cpplib.c (detect_if_not_defined): New function.
10023 (do_if): Use it to detect potential once-only headers.
10024
10025 Wed Aug 25 14:00:18 1999 Jason Merrill <jason@yorick.cygnus.com>
10026
10027 * c-common.c (combine_strings): Always set TREE_CONSTANT.
10028
10029 Wed Aug 25 15:27:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
10030
10031 * combine.c (nonzero_bits) : Allow single-ly set registers to be
10032 anywere in the function only if they are pseudos and set before
10033 being used (not live at the start of the function).
10034 (num_sign_bit_copies) : Same.
10035 (get_last_value_validate) : Same.
10036 (get_last_value) : Same.
10037
10038 Wed Aug 25 11:13:29 1999 Richard Henderson <rth@cygnus.com>
10039
10040 * loop.c (express_from): Try harder to unify (* c N) and (* c M)
10041 where N and M are constant and N is an integer multiple of M.
10042
10043 Wed Aug 25 13:55:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10044
10045 * sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
10046 (sbitmap_intersection_of_preds, sbitmap_union_of_succs,
10047 sbitmap_union_of_preds): Add prototypes.
10048 * sbitmap.c (sbitmap_intersection_of_succs): New function to compute
10049 the intersection of successors with the new flow graph structures.
10050 (sbitmap_intersection_of_preds): New function to compute the
10051 intersection of predecessors with the new flow graph structures.
10052 (sbitmap_union_of_succs): New function to compute the union of
10053 successors with the new flow graph structures.
10054 (sbitmap_union_of_preds): New function to compute the union of
10055 predecessors with the new flow graph structures.
10056 * gcse.c (compute_rdm, compute_available): Use new sbitmap routines.
10057 (expr_reaches_here_p): Use edge and basic_block structures instead
10058 of s_preds and s_succs.
10059 (compute_cprop_avinout): Use new sbitmap routines.
10060 (pre_expr_reaches_here_p): Use edge and basic_block structures instead
10061 of s_preds and s_succs.
10062 * flow.c (compute_flow_dominators): Compute dominators using
10063 edges and basic blocks instead of s_preds and s_succs.
10064
10065 Wed Aug 25 13:41:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10066
10067 * lists.c (unused_insn_list, unused_expr_list): New file for
10068 maintaining various types of lists. New statics for maintaining a
10069 cache of available INSN_LIST and EXPR_LIST nodes.
10070 (free_list): Static function for freeing a list of INSN/EXPR nodes.
10071 (alloc_INSN_LIST): Function to get a free INSN_LIST node.
10072 (alloc_EXPR_LIST): Function to get a free EXPR_LIST node.
10073 (init_EXPR_INSN_LIST_cache): Initialize the cache lists.
10074 (free_EXPR_LIST_list): Free an entire list of EXPR_LIST nodes.
10075 (free_INSN_LIST_list): Free an entire list of INSN_LIST nodes.
10076 (free_EXPR_LIST_node): Free an individual EXPR_LIST node.
10077 (free_INSN_LIST_node): Free an individual INSN_LIST node.
10078 * haifa-sched.c (unused_insn_list, unused_expr_list): Moved to flow.c
10079 (free_list, alloc_INSN_LIST, alloc_EXPR_LIST): Moved to flow.c
10080 (remove_dependence, free_pending_lists): Use new global routines.
10081 (flush_pending_lists, sched_analyze_insn): Use new global routines.
10082 (sched_analyze, compute_block_backward_dependences): Use new routines.
10083 (sched_analyze_1, sched_analyze_2): Use new routines.
10084 (schedule_insns): Use new global routines.
10085 * rtl.h (init_EXPR_INSN_LIST_cache, free_EXPR_LIST_list): Add function
10086 prototypes.
10087 (free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
10088 (free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
10089 prototypes.
10090 * toplev.c (rest_of_compilation): Initialize node cache.
10091 * Makefile.in (OBJS): Add lists.o to list of object files.
10092 (lists.o): Add dependancies.
10093
10094 Wed Aug 25 17:31:56 1999 Nick Clifton <nickc@cygnus.com>
10095
10096 * config/v850/v850.md: Fix compile time warning messages.
10097 * config/v850/v850.c: Fix compile time warning messages.
10098 * config/v850/v850.h: Fix compile time warning messages.
10099
10100 Wed Aug 25 09:44:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10101
10102 * genattr.c (gen_attr): Add prototype arguments for get_attr_*().
10103 Remove unused prototype for `init_lengths'.
10104
10105 Wed Aug 25 09:32:31 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10106
10107 * calls.c (emit_call_1): Mark parameter `stack_size' with
10108 ATTRIBUTE_UNUSED.
10109 (expand_call): Initialize variable `insn'.
10110 (emit_library_call): Likewise for variable `high_to_save'.
10111 (emit_library_call_value): Likewise.
10112 (store_one_arg): Likewise for variables `lower_bound' and
10113 `upper_bound'.
10114
10115 * combine.c (try_combine): Likewise for variables `i2_code_number'
10116 and `other_code_number'.
10117 (find_split_point): Likewise for variables `pos', `unsignedp' and
10118 `inner'.
10119 (simplify_if_then_else): Likewise for variables `op' and `c1'.
10120 (simplify_and_const_int): Remove unused variable `width'.
10121 (merge_outer_ops): Likewise.
10122
10123 * cse.c (simplify_binary_operation): Cast an INTVAL() to `unsigned
10124 HOST_WIDE_INT' when comparing against one.
10125 (simplify_relational_operation): Likewise.
10126 (cse_insn): Initialize variables `src_eqv_volatile',
10127 `src_eqv_in_memory', `src_eqv_in_struct', `src_eqv_hash' and `sets'.
10128
10129 * final.c (init_final): Constify parameter `filename'.
10130 (final_start_function): Mark parameter `optimize' with
10131 ATTRIBUTE_UNUSED.
10132 (profile_function): Likewise for parameters `first' and `optimize'.
10133 (output_source_line): Likewise for parameter `file'.
10134
10135 * integrate.c (subst_constants): Cast a value to `size_t' when
10136 comparing against one.
10137 (mark_stores): Initialize variable `mode'. Cast a value to
10138 `size_t' when comparing against one.
10139
10140 * integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.
10141
10142 * loop.c (move_movables): Initialize variable `first'.
10143 (strength_reduce): Likewise for variable `increment'.
10144 (check_dbra_loop): Likewise for variable `comparison_val'. Cast a
10145 value to `size_t' when comparing against one.
10146 (load_mems): Initialize variable `end_label'.
10147
10148 * output.h (init_final): Constify parameter.
10149
10150 * reload.c (decompose): Initialize variable `base'.
10151
10152 * reload1.c (reload): Likewise for variable `is_scalar'.
10153 (spill_hard_reg): Mark parameter `dumpfile' with ATTRIBUTE_UNUSED.
10154 (choose_reload_regs): Initialize variable `mode'.
10155 (emit_reload_insns): Likewise for variable `store_insn'.
10156 (reload_cse_noop_set_p): Mark parameter `insn' with
10157 ATTRIBUTE_UNUSED.
10158 (reload_combine): Initialize variable `set'.
10159
10160 * unroll.c (unroll_loop): Likewise for variable `local_label'.
10161 (copy_loop_body): Cast a value to `size_t' when comparing against
10162 one.
10163
10164 * varasm.c (assemble_variable): Initialize variable `size_tree'.
10165 (const_hash): Add an `else abort()' in an if-else-if-else sequence.
10166 (remove_from_pending_weak_list): Mark parameter `name' with
10167 ATTRIBUTE_UNUSED.
10168
10169 Wed Aug 25 11:18:39 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10170
10171 * toplev.c (rest_of_compilation): Use decl_printable_name when opening
10172 gcse dump file.
10173
10174 Wed Aug 25 10:57:12 1999 Nick Clifton <nickc@cygnus.com>
10175
10176 * config/arm/telf.h (ASM_WEAKEN_LABEL): Define.
10177 (ASM_DECLARE_FUNCTION_NAME): Define.
10178 (TYPE_ASM_OP, SIZE_ASM_OP, TYPE_OPERAND_FORMAT,
10179 ASM_DECLARE_RESULT, ASM_DECLARE_OBJECT_NAME,
10180 ASM_FINISH_DECLARE_OBJECT, ASM_DECLARE_FUNCTION_SIZE): Define if
10181 not already defined.
10182
10183 Wed Aug 25 01:36:11 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
10184
10185 * calls.c (emit_call_1): Use call_pop/call_value_pop for all values
10186 of n_popped when call/call_value are not defined.
10187
10188 Wed Aug 25 01:25:14 1999 Jeffrey A Law (law@cygnus.com)
10189
10190 * tm.texi: GNU CC -> GCC conversion.
10191 (CC1_SPEC): Indicate it is used for all language front ends.
10192
10193 Tue Aug 24 23:43:03 1999 Mark Mitchell <mark@codesourcery.com>
10194
10195 * flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
10196 NOTE_INSN_EH_REGION_END correctly.
10197
10198 Tue Aug 24 23:26:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
10199 Jeff Law <law@cygnus.com>
10200
10201 * loop.c (strength_reduce): Automatically unroll loops if the
10202 unrolled loop size is smaller than the rolled loop size.
10203
10204 * loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
10205 and delete comment that code should be rewritten.
10206
10207 Tue Aug 24 22:56:35 1999 Jeffrey A Law (law@cygnus.com)
10208
10209 * haifa-sched.c (find_rgns): Mark a block found during the DFS search
10210 as reachable.
10211
10212 * haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
10213
10214 Tue Aug 24 22:41:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
10215
10216 * fixinc/mkfixinc.sh: Don't fix uwin headers.
10217 * i386/uwin.h (MD_STARTFILE_PREFIX): Define.
10218 (LINK_SPEC): Add -u _main when building executables.
10219 (ASM_DECLARE_FUNCTION): Update from Cygwin.
10220 (ASM_FILE_END): Use the default for ix86-pe.
10221 * i386/xm-uwin.h (HAVE_BCOPY): Undefine.
10222
10223 Tue Aug 24 20:49:47 1999 Art Haas <ahaas@neosoft.com>
10224
10225 * final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
10226 and ASM_CLOSE_PAREN are empty strings.
10227
10228 Wed Aug 25 12:46:22 1999 Fred Fish <fnf@cygnus.com>
10229 Geoffrey Keating <geoffk@cygnus.com>
10230
10231 * Makefile.in (PREPROCESSOR_DEFINES): New macro.
10232 (protoize.o): Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
10233 (unprotoize.o): Ditto.
10234 (test-protoize-simple): Don't define STD_PROTO_DIR.
10235 * protoize.c: Use PARAMS rather than PROTO. Minor whitespace
10236 changes to make 'test-protoize-simple' pass.
10237 (STD_PROTO_DIR): Remove define.
10238 (STANDARD_EXEC_PREFIX): Supply default define.
10239 (standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
10240 (target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
10241 (target_version): New variable, init to DEFAULT_TARGET_VERSION.
10242 (GET_ENV_PATH_LIST): New macro.
10243 (default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
10244 (do_processing): Initialize default_syscalls_dir using new
10245 macros. Use it to initialize syscalls_absolute_filename.
10246
10247 Tue Aug 24 16:58:15 1999 Richard Henderson <rth@cygnus.com>
10248
10249 * jump.c (jump_optimize_1): Do cmov opt on any single-set; force
10250 B into a register before emit_conditional_move.
10251
10252 Tue Aug 24 15:37:03 1999 Richard Henderson <rth@cygnus.com>
10253
10254 * fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
10255 as (+ (+ (* a b) (* d e)) c). Factor a common power-of-two
10256 multiplicand out of (+ (* a b) (* c d)).
10257
10258 Tue Aug 24 11:46:10 1999 Bob Manson <manson@cygnus.com>
10259 Richard Henderson <rth@cygnus.com>
10260
10261 * haifa-sched.c (split_hard_reg_notes): Move to flow.c
10262 (new_insn_dead_notes): Likewise.
10263 (update_n_sets): Likewise.
10264 (update_flow_info): Move to flow.c, renamed to update_life_info;
10265 extend to handle multiple source insns.
10266 * flow.c: Include resource.h
10267 (unlink_insn_chain): New.
10268 (split_hard_reg_notes): New.
10269 (maybe_add_dead_note): New.
10270 (maybe_add_dead_note_use): New.
10271 (find_insn_with_note): New.
10272 (new_insn_dead_notes): New.
10273 (update_n_sets): New.
10274 (sets_reg_or_subreg_1, sets_reg_or_subreg): New.
10275 (maybe_remove_dead_notes): New.
10276 (update_life_info): New.
10277 (prepend_reg_notes): New.
10278 (replace_insns): New.
10279 * output.h (update_life_info): Declare.
10280 * recog.c (split_block_insns): Use update_life_info.
10281 * resource.c (find_free_register): Use reg_alloc_order, don't use
10282 fixed regs, make sure the mode is supported, don't use new regs.
10283 (reg_dead_p): New.
10284 * rtl.h (replace_insns): Declare.
10285
10286 Tue Aug 24 13:48:39 1999 Nathan Sidwell <nathan@acm.org>
10287
10288 * expr.c (expand_expr): Cope with COND_EXPRs with one
10289 non-returning branch.
10290
10291 Mon Aug 23 22:28:16 1999 Mark Mitchell <mark@codesourcery.com>
10292
10293 * expr.c (store_expr): Always pass down the target, even when not
10294 doing CSE.
10295
10296 1999-08-24 Nick Clifton <nickc@cygnus.com>
10297
10298 * configure.in: Define target_cpu_default for v850 targets.
10299 * configure: Regenerate
10300
10301 * config/v850/v850.h (TARGET_CPU_generic): Define.
10302 (GO_IF_LEGITIMATE_ADDRESS): Insist that SImode and larger constant
10303 addresses are 4 byte aligned.
10304
10305 * config/v850/v850.c (print_operand): Cope with 'R' format DFmode
10306 addresses.
10307
10308 Tue Aug 24 09:32:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10309
10310 * genattr.c (function_unit_desc): Constify a char*. Add prototype.
10311 (main): Add prototypes.
10312
10313 * genattrtab.c (substitute_address, write_const_num_delay_slots,
10314 attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
10315 (write_attr_get): Emit prototypes along with function definition.
10316 (write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
10317 (write_complex_function): Emit static prototype along with
10318 function definition.
10319
10320 * genemit.c (gen_split): Emit prototypes along with function
10321 definition.
10322
10323 * genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
10324 Likewise for predicates and `insn_operand_predicate'.
10325 (process_template): Emit static prototype along with function
10326 definition.
10327
10328 * genrecog.c (make_insn_sequence): Constify a char*. Add
10329 prototypes for get_split_*().
10330 (write_subroutine): Emit prototypes along with function
10331 definition.
10332
10333 Tue Aug 24 12:35:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10334
10335 * gcse.c (find_avail_set): Follow chains of register-register copies.
10336 Use oprs_not_set_p to guarantee that the returned value can be
10337 substituted.
10338 (cprop_insn): Don't verify the return value of find_avail_set with
10339 oprs_not_set_p.
10340
10341 * gcse.c (cprop_jump): New function, broken out of cprop_insn.
10342 (cprop_cc0_jump): New function.
10343 (cprop_insn): Break out new function cprop_jump and use it.
10344 Also use cprop_cc0_jump for machines with CC0.
10345 (cprop): Don't crash if cprop_insn turned the insn into a NOTE.
10346
10347 * tree.h (current_function_calls_setjmp,
10348 current_function_calls_longjmp): Delete declarations.
10349 * dsp16xx.c: Include "function.h".
10350 * elxsi.c: Likewise.
10351 * gmicro.c: Likewise.
10352 * h8300.c: Likewise.
10353 * i370.c: Likewise.
10354 * m32r.c: Likewise.
10355 * mn10200.c: Likewise.
10356 * mn10300.c: Likewise.
10357 * ns32k.c: Likewise.
10358 * spur.c: Likewise.
10359 * v850.c: Likewise.
10360
10361 * rtl.h (rtx_equal_function_value_matters): Declare.
10362 * toplev.c (rtx_equal_function_value_matters): Don't declare.
10363 * cse.c: Likewise.
10364 * function.c: Likewise.
10365 * emit-rtl.c: Likewise.
10366
10367 Tue Aug 24 02:47:44 1999 Jeffrey A Law (law@cygnus.com)
10368
10369 * expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
10370 call.
10371
10372 1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10373
10374 * jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
10375 exactly.
10376
10377 Mon Aug 23 23:35:52 1999 Matthias Klose <doko@cs.tu-berlin.de>
10378
10379 * cpp.texi: Add a node documenting macro varargs (copied
10380 from extend.texi).
10381
10382 1999-08-23 22:23 -0700 Zack Weinberg <zack@bitmover.com>
10383
10384 * cppspec.c: Put a null pointer at the end of the new argv.
10385
10386 Mon Aug 23 21:23:24 1999 Jeffrey A Law (law@cygnus.com)
10387
10388 * configure.in: Remove code to select/de-select the haifa
10389 scheduler. Every scheduled port gets haifa now.
10390 * configure: Rebuilt.
10391 * flags.h, genattrtab.c, rtl.h, toplev.c: Remove HAIFA ifdefs.
10392 * sched.c Deleted.
10393 * Makefile.in: Corresponding changes.
10394
10395 Mon Aug 23 16:04:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10396
10397 * optabs.c (prepare_cmp_insn): Turn COMPARISON arg into a pointer.
10398 All callers changed.
10399 (prepare_float_lib_cmp): Likewise.
10400 Use FLOAT_LIB_COMPARE_RETURNS_BOOL.
10401 * expr.h (emit_float_lib_cmp): Delete declaration.
10402 * tm.texi (FLOAT_LIB_COMPARE_RETURNS_BOOL): Document.
10403 * sparc.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): Define.
10404 * sparc.md (bcc and scc patterns): Don't handle TFmode comparisons
10405 specially.
10406 (cmptf): Now conditional on TARGET_HARD_QUAD.
10407
10408 Fri Aug 20 17:52:27 1999 Jim Wilson <wilson@cygnus.com>
10409
10410 * resource.c (mark_target_live_regs): Use
10411 PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
10412
10413 Fri Aug 20 19:07:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10414
10415 * rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
10416
10417 * rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
10418
10419 * genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
10420
10421 Fri Aug 20 18:53:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10422
10423 * rtl.h (rtx_format): Constify a char*.
10424
10425 * rtl.c (rtx_format): Likewise.
10426 (copy_rtx, copy_most_rtx, read_rtx): Likewise.
10427 (init_rtl): Use accessor macro, not `rtx_format'.
10428
10429 * alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
10430 char*.
10431
10432 * caller-save.c (mark_referenced_regs): Likewise.
10433
10434 * combine.c (subst, make_compound_operation, known_cond,
10435 gen_rtx_combine, update_table_tick, get_last_value_validate,
10436 use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.
10437
10438 * cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
10439 refers_to_p, canon_reg, fold_rtx, cse_process_notes,
10440 count_reg_usage): Likewise.
10441
10442 * emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
10443 Likewise.
10444
10445 * final.c (leaf_renumber_regs_insn): Likewise.
10446
10447 * flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
10448 dump_edge_info, count_reg_references): Likewise.
10449
10450 * function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
10451 fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
10452 Likewise.
10453
10454 * gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
10455 oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
10456 add_label_notes): Likewise.
10457
10458 * genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
10459 clear_struct_flag, count_sub_rtxs, count_alternatives,
10460 compares_alternatives_p, contained_in_p, walk_attr_value,
10461 write_expr_attr_cache): Likewise.
10462
10463 * genconfig.c (walk_insn_part): Likewise.
10464
10465 * genemit.c (max_operand_1, gen_exp): Likewise.
10466
10467 * genextract.c (walk_rtx): Likewise.
10468
10469 * genflags.c (num_operands): Likewise.
10470
10471 * genoutput.c (scan_operands): Likewise.
10472
10473 * genpeep.c (match_rtx): Likewise.
10474
10475 * genrecog.c (add_to_sequence): Likewise.
10476
10477 * haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
10478 Likewise.
10479
10480 * integrate.c (save_constants, copy_for_inline,
10481 copy_rtx_and_substitute, subst_constants, restore_constants):
10482 Likewise.
10483
10484 * jump.c (mark_jump_label, invert_exp, redirect_exp,
10485 rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
10486
10487 * local-alloc.c (contains_replace_regs, memref_referenced_p):
10488 Likewise.
10489
10490 * loop.c (record_excess_regs, rtx_equal_for_loop_p,
10491 add_label_notes, replace_call_address, count_nonfixed_reads,
10492 invariant_p, find_single_use_in_loop, find_mem_givs,
10493 find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
10494 Likewise.
10495
10496 * print-rtl.c (reg_names, print_rtx): Likewise.
10497
10498 * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
10499
10500 * reg-stack.c (stack_regs_mentioned_p, record_label_references,
10501 record_reg_life_pat, swap_rtx_condition, goto_block_pat,
10502 print_blocks): Likewise.
10503
10504 * regclass.c (fix_register, record_address_regs,
10505 reg_scan_mark_refs): Likewise.
10506
10507 * regmove.c (stable_but_for_p): Likewise.
10508
10509 * reload.c (loc_mentioned_in_p, operands_match_p,
10510 find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
10511 copy_replacements, refers_to_regno_for_reload_p,
10512 refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
10513 reload_when_needed_name, reg_class_names, debug_reload_to_stream):
10514 Likewise.
10515
10516 * reload1.c (eliminate_regs, scan_paradoxical_subregs,
10517 delete_address_reloads_1, count_occurrences,
10518 reload_cse_mem_conflict_p, reload_combine_note_use,
10519 add_auto_inc_notes): Likewise.
10520
10521 * resource.c (mark_referenced_resources, mark_set_resources):
10522 Likewise.
10523
10524 * rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
10525 reg_mentioned_p, regs_set_between_p, modified_between_p,
10526 modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
10527 rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
10528 may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
10529 jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.
10530
10531 * sched.c (sched_analyze_2, attach_deaths): Likewise.
10532
10533 * stupid.c (stupid_mark_refs): Likewise.
10534
10535 * unroll.c (remap_split_bivs): Likewise.
10536
10537 * varasm.c (mark_constants): Likewise.
10538
10539 * a29k/a29k.c (uses_local_reg_p): Likewise.
10540
10541 * alpha/alpha.c (summarize_insn): Likewise.
10542
10543 * arm/arm.c (symbol_mentioned_p, label_mentioned_p,
10544 eliminate_lr2ip): Likewise.
10545
10546 * arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
10547
10548 * i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
10549 reg_mentioned_in_mem): Likewise.
10550
10551 * ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
10552 symbolic_reference_mentioned_p): Likewise.
10553
10554 * romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
10555
10556 * sh/sh.c (regs_used, mark_use): Likewise.
10557
10558 * vax/vax.c (vax_rtx_cost): Likewise.
10559
10560 Fri Aug 20 18:38:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10561
10562 * machmode.h (mode_name): Constify a char*.
10563
10564 * rtl.c (mode_name): Likewise.
10565
10566 * genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
10567
10568 * optabs.c (init_libfuncs): Constify a char*.
10569
10570 * print-tree.c (mode_name): Remove redundant declaration.
10571 (print_node): Use accessor macro, not `mode_name'.
10572
10573 * reload1.c (dump_needs): Constify a char*. Use accessor macro,
10574 not `mode_name'.
10575 (new_spill_reg): Constify a char*.
10576
10577 * tree.c (mode_name): Remove redundant declaration.
10578
10579 Fri Aug 20 18:31:26 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10580
10581 * rtl.c (rtx_name): Constify a char*.
10582
10583 * rtl.h (rtx_name, fix_sched_param): Likewise.
10584
10585 * gmicro/gmicro.c (rtx_name): Remove redundant declaration.
10586 (mypr): Use accessor macro, not `rtx_name'.
10587
10588 * genemit.c (print_code): Constify a char*.
10589
10590 * genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
10591
10592 * genpeep.c (print_code): Constify a char*.
10593
10594 * genrecog.c (print_code): Likewise.
10595
10596 * graph.c (start_fct, start_bb, node_data, draw_edge, end_fct,
10597 end_bb): Add static prototype.
10598 (draw_edge): Constify a char*.
10599 (end_bb): Remove unused parameter.
10600
10601 * haifa-sched.c (fix_sched_param, safe_concat, print_exp
10602 print_block_visualization): Constify a char*.
10603
10604 Fri Aug 20 15:02:10 1999 Mark Mitchell <mark@codesourcery.com>
10605
10606 * c-common.c (c_get_alias_set): Update comment.
10607
10608 1999-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
10609
10610 * linux.h (LIB_SPEC): Added.
10611
10612 Fri Aug 20 22:32:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10613
10614 * config/c4x/c4x.h (STARTFILE_SPEC): Don't define.
10615
10616 1999-08-19 18:43 -0700 Zack Weinberg <zack@bitmover.com>
10617
10618 * tree.c (expr_check): Fix typo in last change.
10619
10620 1999-08-19 14:44 -0700 Zack Weinberg <zack@bitmover.com>
10621
10622 * rtl.def (NOTE): Change format to "iuu0n".
10623 (ADDR_DIFF_VEC): Change format to "eEee0".
10624 (ADDRESSOF): Change format to "eit".
10625
10626 * rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
10627 (RTVEC_ELT): Change to match.
10628 (XVECEXP): Use XVEC and RTVEC_ELT.
10629 (INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
10630 ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
10631 (PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES,
10632 CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
10633 TRAP_CONDITION, TRAP_CODE): Use XEXP.
10634 (INTVAL): Use XWINT.
10635 (ADDRESSOF_DECL): Use XTREE.
10636 (SET_ADDRESSOF_DECL): Delete.
10637 (NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
10638 NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill. These have been
10639 ifdefed out since 2.6 at least.
10640 (gen_rtvec_vv): Delete prototype.
10641
10642 * rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
10643 not rtunion.
10644 (copy_most_rtx): Handle 't' format letter.
10645 * emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
10646 (gen_rtvec_vv): Delete function. All callers changed to use
10647 gen_rtvec_v instead.
10648 * print-rtl.c (print_rtx): Move special casing of NOTEs to
10649 the '0' format letter.
10650
10651 * function.c (gen_mem_addressof): Don't use
10652 SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
10653 instead.
10654 * integrate.c (copy_rtx_and_substitute): Likewise.
10655 Copy 't' slots with XTREE.
10656 (subst_constants): Treat 't' slots like '[swi]' slots.
10657 * cse.c (canon_hash, exp_equiv_p): Treat 't' slots like '0' slots.
10658 * jump.c (rtx_equal_for_thread_p): Likewise.
10659 * rtlanal.c (rtx_equal_p): Likewise.
10660 * stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
10661 only four arguments.
10662 * gengenrtl.c (type_from_format): Provide correct types for
10663 'b' and 't' slots.
10664
10665
10666 * tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
10667 If a recent gcc is in use (always in stage2 and beyond), use
10668 statement expressions, so we don't make a function call unless
10669 the check fails. Evaluate arguments exactly once.
10670 (CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
10671 TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
10672 Delete.
10673 (CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
10674 they evaluate their arguments exactly once, irrespective of
10675 the compiler in use.
10676
10677 * tree.c [ENABLE_CHECKING]: Define whichever set of functions
10678 is used by the currently-enabled check macros. This is:
10679 (tree_check_failed, tree_class_check_failed): For gcc.
10680 (tree_check, tree_class_check, cst_or_constructor_check,
10681 expr_check): For other compilers.
10682
10683 * gencheck.c: Do not define any *_CHECK1 macros.
10684
10685 Thu Aug 19 14:42:38 1999 Mike Stump <mrs@wrs.com>
10686 Mark Mitchell <mark@codesourcery.com>
10687
10688 * c-common.c (c_get_alias_set): Fix support for poitners and
10689 references.
10690
10691 Thu Aug 19 11:51:22 EDT 1999 John Wehle (john@feith.com)
10692
10693 * alias.c: Include tree.h.
10694 (nonlocal_reference_p, mark_constant_function): New functions.
10695 * flow.c (life_analysis): Call mark_constant_function.
10696 * rtl.h (mark_constant_function): Declare it.
10697
10698 Thu Aug 19 15:02:01 1999 Nick Clifton <nickc@cygnus.com>
10699
10700 * config/rs6000/rs6000.c (rs6000_override_options): Fix test for
10701 unrecognisable switches.
10702
10703 Wed Aug 18 23:31:57 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
10704
10705 * loop.c (recombine_givs): Set ix field after sorting.
10706 (recombine_givs): Remove bogus index / giv lockstep looping.
10707
10708 Wed Aug 18 18:20:40 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10709
10710 * expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
10711 on CODE.
10712 (emit_store_flag_force): Use do_compare_rtx_and_jump.
10713 (do_cmp_and_jump): Formatting fixes.
10714 * expr.c (do_compare_and_jump): Renamed from compare; changed to call
10715 do_compare_rtx_and_jump instead of compare_from_rtx.
10716 (do_compare_rtx_and_jump): New function; mostly copied from
10717 compare_from_rtx.
10718 (do_jump_for_compare): Delete.
10719 (expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
10720 MIN_EXPR.
10721 (do_jump): Use do_compare_and_jump or do_compare_rtx_and_jump instead
10722 of compare/do_jump_for_compare pairs.
10723 (do_jump_by_parts_greater): Use do_jump_by_parts_greater_rtx.
10724 (do_jump_by_parts_greater_rtx): Use do_compare_rtx_and_jump instead of
10725 compare_from_rtx/do_jump_for_compare pairs.
10726 (do_jump_by_parts_equality): Likewise.
10727 (do_jump_by_parts_equality_rtx): Likewise.
10728 * expr.h (do_compare_rtx_and_jump): Declare.
10729 * optabs.c (prepare_cmp_insn): New function, contains most of the code
10730 that used to be in emit_cmp_insn.
10731 (cmp_available_p): New function.
10732 (prepare_operand): New function.
10733 (emit_cmp_and_jump_insn_1): New function, contains some code that used
10734 to be in emit_cmp_insn.
10735 (prepare_float_lib_cmp): Renamed from emit_float_lib_cmp; change some
10736 parameters to be pointers; don't emit final compare but modify some of
10737 the values pointed to by the args so the caller can perform the
10738 correct comparison.
10739 (expand_binop): Call emit_store_flag_force with signed forms of
10740 comparison code.
10741 (expand_abs): Use do_compare_rtx_and_jump instead of compare_from_rtx/
10742 emit_jump_insn pair.
10743 (emit_cmp_and_jump_insn): Use prepare_cmp_insn and
10744 emit_cmp_and_jump_insn_1. Call emit_queue.
10745 (emit_cmp_insn): Just call emit_cmp_and_jump_insns with zero for LABEL
10746 arg.
10747 * flow.c (tidy_fallthru_edge): If HAVE_cc0, verify insn before a
10748 jump sets cc0 before deleting it.
10749 * integrate.c (expand_inline_function): Likewise.
10750 * unroll.c (unroll_loop): Similar changes in several places.
10751 (copy_loop_body): If HAVE_cc0, verify insn before a jump sets cc0
10752 before deleting it.
10753
10754 Wed Aug 18 06:37:44 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10755
10756 * Makefile.in (insn-recog.o): Update dependencies.
10757 * genrecog.c (main): Make generated file include "function.h".
10758
10759 Sat Aug 14 00:54:57 1999 Geoffrey Keating <geoffk@cygnus.com>
10760
10761 * cse.c (cse_insn): Call never_reached_warning when a jump is
10762 changed to be unconditional.
10763 * flags.h: Declare warn_notreached.
10764 * flow.c (delete_block): Call never_reached_warning when
10765 a block is deleted.
10766 * jump.c (delete_barrier_successors): Call never_reached_warning
10767 when we delete everything after a BARRIER.
10768 (never_reached_warning): New function.
10769 * rtl.h: Declare never_reached_warning.
10770 * toplev.c (warn_notreached): New variable.
10771 (lang_independent_options): Set warn_notreached
10772 when -Wunreachable-code.
10773 (compile_file): We need line numbers for -Wunreachable-code.
10774
10775 Tue Aug 17 22:06:11 1999 Jan Hubicka <hubicka@freesoft.cz>
10776
10777 * haifa-sched.c (insn_unit): Fix typo on out of range test.
10778 * sched.c (insn_unit): Likewise.
10779
10780 Tue Aug 17 21:57:23 1999 Andreas Schwab <schwab@suse.de>
10781
10782 * combine.c (distribute_notes): Handle REG_EH_RETHROW.
10783
10784 Tue Aug 17 17:39:43 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10785
10786 * flow.c (create_edge_list): Use xmalloc, not malloc.
10787
10788 Tue Aug 17 01:40:54 1999 Loren Rittle <ljrittle@acm.org>
10789
10790 * fixinc/inclhack.def (no_double_slash): Do not trash single-line
10791 C-style comments. Do not lose the character before double slash.
10792
10793 Mon Aug 16 18:08:22 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10794
10795 * basic-block.h (struct edge_list): Stucture to maintain a vector
10796 of edges.
10797 (EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
10798 INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
10799 (create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
10800 New function prototypes.
10801 * flow.c (create_edge_list): Function to create an edge list.
10802 (free_edge_list): Discards memory used by an edge list.
10803 (print_edge_list): Debug output showing an edge list.
10804 (verify_edge_list): Internal consistency check for an edge list.
10805 (find_edge_index): Function to find an edge index for a pred and succ.
10806
10807 Mon Aug 16 11:56:36 1999 Mark Mitchell <mark@codesourcery.com>
10808
10809 * tree.c (type_hash_add): Use permalloc to allocate nodes in the
10810 hashtable.
10811
10812 Mon Aug 16 17:04:15 1999 Jorn Rennecke <amylaar@cygnus.co.uk>
10813
10814 * mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
10815
10816 Fri Aug 13 15:20:43 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10817
10818 * config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
10819
10820 Fri Aug 13 10:21:28 1999 Nick Clifton <nickc@cygnus.com>
10821
10822 * toplev.c (rest_of_compilation): Allow machine dependent
10823 reorganisation pass to place information into the RTL dump
10824 file if it so wishes.
10825
10826 Sun Aug 15 12:41:21 1999 Jim Wilson <wilson@cygnus.com>
10827
10828 * explow.c (hard_function_value): Use VOIDmode instead of
10829 MAX_MACHINE_MODE.
10830 * stmt.c (expand_return): Likewise.
10831 * stor-layout.c (get_best_mode): Likewise.
10832
10833 * genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
10834 emit call instead of emit_insn call.
10835
10836 Sat Aug 14 15:04:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
10837
10838 * configure.in: Handle --disable/enable-win32-registry.
10839 * install.texi: Document --disable/enable-win32-registry.
10840 * acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
10841 (WIN32_REGISTRY_KEY): New macro.
10842 * prefix.c: Use to enable/disable win32-specific code.
10843 (lookup_key): Use versioned key.
10844 * configure: Regenerate.
10845 * config.in: Likewise.
10846
10847 Fri Aug 13 17:41:55 1999 Jason Merrill <jason@yorick.cygnus.com>
10848
10849 * cpplib.c (read_line_number): New fn, split out of...
10850 (do_line): Here.
10851
10852 Fri Aug 13 14:18:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
10853
10854 tree.c (lang_unsave_expr_now) : New.
10855 (unsave_expr_now): Call lang_unsave_expr_now.
10856 tree.h (lang_unsave_expr_now) : New.
10857
10858 Fri Aug 13 00:49:46 1999 Jason Merrill <jason@yorick.cygnus.com>
10859
10860 * toplev.c (flag_new_exceptions): On by default.
10861
10862 1999-08-13 Michael Meissner <meissner@cygnus.com>
10863
10864 * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
10865
10866 Fri Aug 13 01:29:57 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
10867
10868 * dwarfout.c (fundamental_type_code): Return FT_boolean for
10869 INTEGER_TYPE with precision==1, it's __java_boolean.
10870
10871 Thu Aug 12 23:51:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
10872
10873 * global.c (prune_preferences): Move some invariants out of the
10874 inner loop.
10875
10876 Thu Aug 12 15:30:29 1999 Jesse Perry (jap@unx.dec.com)
10877
10878 * configure.in (alpha*-dec-osf*): Add osf5.
10879
10880 Sun Aug 1 22:24:03 1999 Philip Blundell <philb@gnu.org>
10881
10882 * configure.in: Rework handling of ARM GNU/Linux slightly.
10883 (arm*-*-linux-gnuoldld): New target.
10884 * configure: Regenerate.
10885 * install.texi (Configurations): Add arm-*-linux-gnu{oldld} and
10886 arm-*-elf. Mention that arm-*-linux-gnuaout is obsolete.
10887 * config/arm/linux-oldld.h: New file.
10888 * config/arm/linux-elf26.h: Don't include linux-elf.h.
10889 (TARGET_DEFAULT, SUBTARGET_LINK_SPEC, SUBTARGET_EXTRA_ASM_SPEC):
10890 Don't define.
10891 * config/arm/linux-elf.h (ASM_SPEC): Define.
10892 (TARGET_DEFAULT, SUBTARGET_EXTRA_LINK_SPEC,
10893 SUBTARGET_EXTRA_ASM_SPEC, CPP_APCS_PC_DEFAULT): Add definitions
10894 for 26-bit APCS and old linker.
10895 (CPP_PREDEFINES): Define `__arm__'; don't define `arm' or
10896 `arm_elf'.
10897 (FP_DEFAULT): Define to FP_SOFT3 for all machines.
10898 * config/arm/linux-aout.h (CPP_PREDEFINES): Define `__arm__';
10899 don't define `arm' or `arm_elf'.
10900 * config/arm/t-linux (EXTRA_MULTILIB_PARTS, MULTILIB_OPTIONS,
10901 MULTILIB_DIRNAMES): Define. Fix typo in comment.
10902
10903 Thu Aug 12 10:14:47 1999 Andreas Schwab <schwab@suse.de>
10904
10905 * rtl.texi: Fix typo.
10906
10907 Wed Aug 11 23:50:57 1999 Jason Merrill <jason@yorick.cygnus.com>
10908
10909 * invoke.texi (C++ Dialect Options): Add -fms-extensions.
10910
10911 Wed Aug 11 12:59:37 1999 Mark Mitchell <mark@codesourcery.com>
10912
10913 * extend.texi (C++ Signatures): Remove node.
10914 * invoke.texi: Remove discussion of -fhandle-signatures,
10915 signature, sigof, __signature__, and __sigof__.
10916
10917 Wed Aug 11 03:38:25 1999 Jeffrey A Law (law@cygnus.com)
10918
10919 * Makefile.in (JAVAGC): Removed.
10920
10921 Wed Aug 11 02:13:26 1999 Mumit Khan <khan@xraylith.wisc.edu>
10922
10923 * i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
10924
10925 1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
10926
10927 * i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
10928
10929 1999-08-11 Richard Earnshaw (rearnsha@arm.com)
10930
10931 * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
10932 a register that is already known to be a pointer.
10933
10934 1999-08-11 Bruce Korb <ddsinc09@ix.netcom.com>
10935
10936 * fixinc/inclhack.tpl: Only install assert.h conditionally.
10937 * fixinc/inclhack.sh: Regenerated.
10938 * fixinc/fixincl.sh: Regenerated.
10939
10940 Wed Aug 11 00:34:22 1999 Joe Buck <jbuck@synopsys.com>
10941
10942 * invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
10943 Fix documentation of -ansi flag to describe its C++ behavior.
10944 Remove bogus reference to GCC 2.9.
10945
10946 Tue Aug 10 17:19:02 1999 Jim Wilson <wilson@cygnus.com>
10947
10948 * config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
10949 note if it is non-NULL.
10950
10951 Tue Aug 10 10:47:42 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10952
10953 * except.h (eh_nesting_info): Add new structure defintion.
10954 (init_eh_nesting_info, free_eh_nesting_info): Add function prototypes.
10955 (reachable_handlers, update_rethrow_references): Add function
10956 prototypes.
10957 * rtl.h (struct rtvec_def): Update comments. REG_EH_RETHROW takes
10958 a rethrow symbol instead of an integer exception region number.
10959 * flow.c (Make_edges): Use new exception nesting routines to determine
10960 which handlers are reachable from a CALL or asynchronous insn.
10961 Dont add an edge for calls with a REG_EH_REGION of -1 to non-local
10962 goto receivers.
10963 (delete_eh_regions): Update rethrow labels, and don't delete
10964 regions which are the target of a rethrow.
10965 * except.c (struct func_eh_entry): Add rethrow_ref field, now we can
10966 avoid overloading the SYMBOL_REF_USED flag.
10967 (rethrow_symbol_map): Use new rethrow_ref field.
10968 (rethrow_used): Use new rethrow_ref field.
10969 (expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead
10970 of an integer. Fix formatting.
10971 (output_exception_table_entry): Use new rethrow_ref field.
10972 (can_throw): Check for EH_REGION_NOTE before deciding
10973 whether a CALL can throw or not.
10974 (scan_region): Call rethrow_used() instead of accessing data structure.
10975 (update_rethrow_references): New function to make sure only regions
10976 which are still targets of a rethrow are flagged as such.
10977 (process_nestinfo): New static function to initialize a handler
10978 list for a specific region.
10979 (init_eh_nesting_info): New function to allocate and initialize
10980 the list of all EH handlers reachable from all regions.
10981 (reachable_handlers): New function to retrieve the list of handlers
10982 reachable from a specific region and insn.
10983 (free_eh_nesting_info): New function to dispose of a list of
10984 reachable handlers.
10985
10986 Tue Aug 10 10:39:31 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10987
10988 * flow.c (split_edge): Set JUMP_LABEL field.
10989 (commit_one_edge_insertion): Set head correctly for insert_before.
10990 When inserting insns, update insn block numbers if allocated.
10991
10992 Tue Aug 10 09:26:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10993
10994 * dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,
10995 retry_incomplete_types): Add static prototype.
10996 (stripattributes, dwarf_cfi_name, ASM_OUTPUT_DWARF_STRING,
10997 dwarf_tag_name, dwarf_attr_name, dwarf_form_name,
10998 dwarf_stack_op_name, dwarf_type_encoding_name, add_AT_string,
10999 dwarf2_name, add_name_attribute, lookup_filename, dwarf2out_line,
11000 dwarf2out_start_source_file, dwarf2out_define, dwarf2out_undef):
11001 Constify a char*.
11002
11003 * dwarf2out.h (dwarf2out_define, dwarf2out_undef,
11004 dwarf2out_start_source_file, dwarf2out_line): Likewise.
11005
11006 Tue Aug 10 09:21:46 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11007
11008 * output.h (assemble_name): Constify a char*.
11009
11010 * varasm.c (UNIQUE_SECTION, assemble_start_function,
11011 assemble_variable, assemble_name): Likewise.
11012
11013 * dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
11014
11015 * arm/pe.c (arm_pe_unique_section): Likewise.
11016
11017 * i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
11018
11019 * i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
11020
11021 * i386/interix.c (i386_pe_unique_section): Likewise.
11022
11023 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
11024
11025 * i386/winnt.c (i386_pe_unique_section): Likewise.
11026
11027 * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
11028
11029 * mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
11030
11031 * mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
11032
11033 * pa/pa.c (output_call): Likewise.
11034
11035 * pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
11036
11037 * pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
11038
11039 * rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
11040 Likewise.
11041
11042 * rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
11043 Likewise.
11044
11045 * rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
11046
11047 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
11048 STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
11049
11050 * v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
11051
11052 Mon Aug 9 19:54:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11053
11054 * real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
11055
11056 Mon Aug 9 19:36:00 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11057
11058 * tree.h (lang_identify): Constify a char*.
11059 (print_error_function): Add extern prototype. Constify a char*.
11060
11061 * c-lang.c (lang_identify): Constify a char*.
11062
11063 * objc/objc-act.c (lang_identify): Constify a char*.
11064
11065 Mon Aug 9 16:21:53 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11066
11067 * genpeep.c (main): Make generated file include "function.h".
11068 * arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
11069
11070 Mon Aug 9 10:08:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11071
11072 * Makefile.in: Update dependencies.
11073 * alias.c: Include "function.h"
11074 * c-decl.c: Likewise.
11075 * caller-save.c: Likewise.
11076 * calls.c: Likewise.
11077 * combine.c: Likewise.
11078 * cse.c: Likewise.
11079 * explow.c: Likewise.
11080 * final.c: Likewise.
11081 * global.c: Likewise.
11082 * graph.c: Likewise.
11083 * local-alloc.c: Likewise.
11084 * loop.c: Likewise.
11085 * optabs.c: Likewise.
11086 * profile.c: Likewise.
11087 * recog.c: Likewise.
11088 * regclass.c: Likewise.
11089 * regmove.c: Likewise.
11090 * reload.c: Likewise.
11091 * reorg.c: Likewise.
11092 * resource.c: Likewise.
11093 * sched.c: Likewise.
11094 * stupid.c: Likewise.
11095 * config/1750a/1750a.c: Likewise.
11096 * config/a29k/a29k.c: Likewise.
11097 * config/arc/arc.c: Likewise.
11098 * config/arm/arm.c: Likewise.
11099 * config/arm/thumb.c: Likewise.
11100 * config/c4x/c4x.c: Likewise.
11101 * config/clipper/clipper.c: Likewise.
11102 * config/convex/convex.c: Likewise.
11103 * config/fx80/fx80.c: Likewise.
11104 * config/i860/i860.c: Likewise.
11105 * config/m68k/m68k.c: Likewise.
11106 * config/m88k/m88k.c: Likewise.
11107 * config/mips/mips.c: Likewise.
11108 * config/pdp11/pdp11.c: Likewise.
11109 * config/pyr/pyr.c: Likewise.
11110 * config/romp/romp.c: Likewise.
11111 * config/sh/sh.c: Likewise.
11112 * config/tahoe/tahoe.c: Likewise.
11113 * config/vax/vax.c: Likewise.
11114 * config/we32k/we32k.c: Likewise.
11115 * config/sparc/sparc.c: Include "function.h".
11116 (mem_min_alignment): Test current_function rather than
11117 regno_pointer_align.
11118 * config/pa/pa.c: Likewise.
11119 (compute_frame_size): Delete declaration of
11120 current_function_outgoing_args_size.
11121 * config/arc/arc.h (current_function_varargs): Delete declaration.
11122 * config/elxsi/elxsi.h (current_function_calls_alloca): Delete
11123 declaration.
11124 * config/i370/i370.h (current_function_outgoing_args_size): Delete
11125 declaration.
11126 * config/i386/i386.h (FINALIZE_PIC): Delete declaration of
11127 current_function_uses_pic_offset_table.
11128 * config/m68k/a-ux.h (FUNCTION_EXTRA_EPILOGUE): Delete declaration
11129 of current_function_returns_pointer.
11130 * config/m68k/altos3068.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
11131 * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
11132 * config/m68k/m68kv4.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
11133 * config/m68k/mot3300.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
11134 * config/m68k/pbb.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
11135 * config/m68k/tower-as.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
11136 * config/m88k/m88k.c: Include "function.h"
11137 (call_used_regs, current_function_pretend_args_size,
11138 current_function_outgoing_args_size, frame_pointer_needed): Delete
11139 declarations.
11140 * config/m88k/m88k.h (current_function_pretend_args_size): Delete
11141 declaration.
11142 * config/mips/mips.h (current_function_calls_alloca): Delete
11143 declaration.
11144 * config/mn10200/mn10200.h (current_function_needs_context,
11145 rtx_equal_function_value_matters): Delete declarations.
11146 * config/ns32k/ns32k (current_function_uses_pic_offset_table,
11147 flag_pic): Delete declarations.
11148 * config/pa/pa.h (current_function_pretend_args_size,
11149 current_function_decl): Delete declarations.
11150 * config/pa/som.h (current_function_varargs): Delete declaration.
11151 * config/pdp11/pdp11.h (current_function_pretend_args_size): Delete
11152 declaration.
11153 * config/pyr/pyr.h (current_function_pretend_args_size,
11154 current_function_args_size, current_function_calls_alloca): Delete
11155 declarations.
11156 * config/sh/sh.h (current_function_varargs): Delete declaration.
11157 * config/sparc/sparc.h (current_function_outgoing_args_size,
11158 current_function_calls_alloca, current_function_decl): Delete
11159 declarations.
11160 * config/spur/spur.h (current_function_pretend_args_size,
11161 current_function_calls_alloca): Delete declarations.
11162 * config/v850/v850.c (current_function_outgoing_args_size): Delete
11163 declaration.
11164 * config/vax/vms.h (current_function_name): Delete declaration.
11165 * gcse.c: Include "function.h".
11166 (current_function_name, current_function_calls_setjmp): Delete
11167 declarations.
11168 * haifa-sched.c: Include "function.h".
11169 (forced_labels): Delete declaration.
11170 * jump.c: Likewise.
11171 * reg-stack.c: Likewise.
11172 * reload1.c: Likewise.
11173 * genemit.c (main): Make generated file include function.h.
11174 * genoutput.c (output_prologue): Likewise.
11175
11176 * builtins.c (saveregs_value, apply_args_value): Delete variables.
11177 * emit-rtl.c (reg_rtx_no, first_label_num, first_insn, last_insn,
11178 sequence_rtl_expr, cur_insn_uid, last_linenum, last_filename,
11179 regno_pointer_flag, regno_pointer_flag_length, regno_pointer_align,
11180 regno_reg_rtx, sequence_stack): Delete variables. Add accessor
11181 macros for some of them.
11182 (emit_filename, emit_lineno): Delete declarations.
11183 (gen_reg_rtx): Use memset/memcpy instead of bzero/bcopy. Access
11184 regno_pointer_* variables through current_function.
11185 (gen_inline_header_rtx): Delete function.
11186 (save_emit_status): Delete function.
11187 (set_new_last_label_num): New function.
11188 (clear_emit_caches): New function.
11189 (restore_emit_status): Just clear last_labelnum and call
11190 clear_emit_caches.
11191 (get_last_insn_anywhere): Variable sequence_stack is now accessed
11192 through macro seq_stack.
11193 (add_insn_after): Likewise.
11194 (add_insn_before): Likewise.
11195 (remove_insn): Likewise.
11196 (pop_topmost_sequence): Likewise.
11197 (in_sequence_p): Likewise.
11198 (start_sequence_for_rtl_expr): Likewise.
11199 (start_sequence): Likewise, and likewise for
11200 sequence_rtl_expr/seq_rtl_expr.
11201 (push_topmost_sequence): Likewise.
11202 (end_sequence): Likewise.
11203 (init_virtual_regs): Now takes a "struct emit_status *" argument.
11204 All callers changed. Store into that pointer instead of globals.
11205 (init_emit): Allocate emit elt of current_function.
11206 Changes for sequence_rtl_expr/sequence_stack renaming.
11207 Call clear_emit_caches instead of doing it in-line.
11208 Access regno_pointer_* variables through current_function.
11209 (init_emit_once) Don't clear sequence_stack.
11210
11211 * expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
11212 Delete variables.
11213 (arg_pointer_save_area): Delete declaration.
11214 (finish_expr_for_function): Renamed from init_queue; no longer static.
11215 (init_expr): Don't call init_queue.
11216 (save_expr_status, restore_expr_status): Delete functions.
11217 (expand_expr): Changes to reflect new layout of struct function.
11218 Don't access current_function_check_memory_usage when current_function
11219 is 0.
11220 * expr.h (forced_labels, save_expr_regs, saveregs_value,
11221 apply_args_value, current_function_calls_alloca, inhibit_defer_pop,
11222 current_function_outgoing_args_size, current_function_arg_offset_rtx,
11223 current_function_uses_const_pool, function_call_count,
11224 current_function_uses_pic_offset_table, nonlocal_labels,
11225 current_function_internal_arg_pointer, nonlocal_goto_stack_level,
11226 current_function_check_memory_usage, nonlocal_goto_handler_slots,
11227 pending_stack_adjust, target_temp_slot_level, temp_slot_level): Delete
11228 declarations.
11229 (finish_expr_for_function): Declare.
11230 * flags.h (current_function_has_nonlocal_label,
11231 current_function_has_nonlocal_goto, current_function_is_thunk,
11232 current_function_has_computed_jump): Delete declarations.
11233 * flow.c (forced_labels): Delete declaration.
11234 * function.c (current_function_pops_args,
11235 current_function_returns_struct, current_function_returns_pcc_struct,
11236 current_function_needs_context, current_function_calls_setjmp,
11237 current_function_calls_longjmp, current_function_has_nonlocal_label,
11238 current_function_has_nonlocal_goto, current_function_is_thunk,
11239 current_function_has_computed_jump, current_function_calls_alloca,
11240 current_function_contains_functions, current_function_returns_pointer,
11241 current_function_epilogue_delay_list, current_function_args_size,
11242 current_function_pretend_args_size, current_function_arg_offset_rtx,
11243 current_function_outgoing_args_size, current_function_varargs,
11244 current_function_stdarg, current_function_args_info, cleanup_label,
11245 current_function_name, current_function_uses_const_pool,
11246 current_function_instrument_entry_exit, current_function_return_rtx,
11247 current_function_uses_pic_offset_table, nonlocal_labels,
11248 current_function_internal_arg_pointer, current_function_cannot_inline,
11249 current_function_check_memory_usage, function_call_count,
11250 nonlocal_goto_handler_slots, nonlocal_goto_handler_labels,
11251 nonlocal_goto_stack_level, return_label, save_expr_regs,
11252 stack_slot_list, rtl_expr_chain, tail_recursion_label, temp_slots,
11253 tail_recursion_reentry, arg_pointer_save_area, frame_offset,
11254 context_display, trampoline_list, parm_birth_insn, invalid_stack_slot,
11255 last_parm_insn, max_parm_reg, parm_reg_stack_loc, sequence_rtl_expr,
11256 temp_slot_level, var_temp_slot_level, target_temp_slot_level):
11257 Delete variables.
11258 (push_function_context_to): Don't save them. Don't call
11259 save_storage_status, save_emit_status or save_expr_status.
11260 (pop_function_context_from): Don't restore them. Don't call
11261 restore_storage_status or restore_expr_status.
11262 (get_func_frame_size): New function.
11263 (get_frame_size): Use it.
11264 (assign_outer_stack_local): Reflect some member name changes in struct
11265 function.
11266 (put_reg_into_stack): Likewise.
11267 (assign_stack_temp_for_type): sequence_rtl_expr was renamed to
11268 seq_rtl_expr.
11269 (fixup_var_refs): Likewise.
11270 (fix_lexical_addr): Likewise.
11271 (trampoline_address): Likewise.
11272 (prepare_function_start): Clear field inlinable of current_function.
11273 (init_function_for_compilation): New function.
11274 (expand_dummy_function_end): New function.
11275 (expand_function_end): Call finish_expr_for_function.
11276 * function.h (struct emit_status): New; fields moved here from struct
11277 function and from global variables. Add accessor macros for some of
11278 the fields.
11279 (struct expr_status): Likewise.
11280 (REGNO_POINTER_ALIGN, REGNO_POINTER_FLAG): Moved here from regs.h.
11281 (struct function): Add fields expr and emit, inlinable, inl_emit,
11282 original_arg_vector, original_decl_initial, inl_last_parm_insn,
11283 inl_max_label_num. Add many comments.
11284 Add accessor macros for all elts of struct function that no longer
11285 have a global variable.
11286 (cleanup_label, return_label, frame_offset, tail_recursion_label,
11287 tail_recursion_reentry, arg_pointer_save_area, rtl_expr_chain,
11288 stack_slot_list): Delete declarations.
11289 (get_func_frame_size): Declare.
11290 (save_expr_status, restore_expr_status, save_emit_status,
11291 save_storage_status, restore_storage_status): Delete declarations.
11292 (init_virtual_regs): Declare.
11293 * output.h (current_function_pops_args,
11294 current_function_returns_struct, current_function_returns_pcc_struct,
11295 current_function_needs_context, current_function_calls_setjmp,
11296 current_function_calls_longjmp, current_function_calls_alloca,
11297 current_function_has_nonlocal_label, current_function_varargs,
11298 current_function_has_computed_jump, current_function_returns_pointer,
11299 current_function_contains_functions, current_function_args_size,
11300 current_function_pretend_args_size, current_function_stdarg,
11301 current_function_outgoing_args_size, current_function_args_info,
11302 current_function_name, current_function_return_rtx,
11303 current_function_epilogue_delay_list,
11304 current_function_uses_const_pool, current_function_cannot_inline):
11305 Delete declarations.
11306 * regs.h (reg_rtx_no, regno_pointer_flag, regno_pointer_flag_length,
11307 regno_reg_rtx): Delete declaration.
11308 (REGNO_POINTER_FLAG): Delete macro.
11309 * stmt.c (expand_goto): Changes to reflect that some fields in struct
11310 function were renamed.
11311 * stor-layout.c (save_storage_status, restore_storage_status): Delete
11312 functions.
11313 * toplev.c: Include "function.h".
11314 (current_function_decl): Delete declaration.
11315 (compile_file): Call init_dummy_function_start and
11316 expand_dummy_function_end around some initializations that need to
11317 emit rtl.
11318 (rest_of_compilation): Use DECL_SAVED_INSNS properly.
11319 Call init_function_for_compilation.
11320 * unroll.c: Include "function.h"
11321 (unroll_loop): Access regno_pointer_* variables through
11322 current_function.
11323
11324 * tree.h (struct tree_decl): Add elt f to saved_insns member.
11325 (DECL_SAVED_INSNS): use it.
11326 (expand_dummy_function_end): Declare.
11327 (init_function_for_compilation): Declare.
11328 * calls.c (calls_function_1): Change use of DECL_SAVED_INSNS now
11329 that it's no longer an INLINE_HEADER.
11330 (expand_call): Likewise.
11331 * integrate.c (finish_inline): Delete function.
11332 (max_parm_reg, parm_reg_stack_loc): Delete declarations.
11333 (initialize_for_inline): Delete min_labelno, max_labelno and max_reg
11334 args. Don't generate an INLINE_HEADER rtx, just return the arg
11335 vector. All callers changed.
11336 (save_for_inline_copying): Create a duplicate struct emit_status to
11337 hold the emit state for compiling the current function. Use this and
11338 the other new fields in struct function that are for integration
11339 instead of an INLINE_HEADER.
11340 Use memcpy instead of bcopy.
11341 Store the current struct function in DECL_SAVED_INSNS of fndecl.
11342 (save_for_inline_nocopy): Similar changes, except no new emit_status
11343 is needed here.
11344 (expand_inline_function): Get information from function structure,
11345 not from an inline header rtx.
11346 (output_inline_function): Lose code to extract the necessary
11347 information from an inline header; simply put back the function
11348 structure into current_function. Clear its inlinable elt.
11349 * rtl.def (INLINE_HEADER): Delete.
11350 * rtl.h: Delete all accessors for an INLINE_HEADER.
11351 (gen_inline_header_rtx): Delete declaration.
11352 (regno_reg_rtx, regno_pointer_align, nonlocal_goto_handler_labels):
11353 Delete declarations.
11354 (REGNO_POINTER_ALIGN): Delete.
11355 (clear_emit_caches): Declare.
11356 (set_new_last_label_num): Declare.
11357
11358 Mon Aug 9 01:52:24 1999 Jason Merrill <jason@yorick.cygnus.com>
11359
11360 * print-tree.c (print_node): Print base for OFFSET_TYPEs.
11361
11362 * except.c (expand_eh_region_start_for_decl): Always start a new block.
11363 * stmt.c (is_eh_region): Make sure current_function is present, too.
11364
11365 Mon Aug 9 01:15:24 1999 Jeffrey A Law (law@cygnus.com)
11366
11367 * pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
11368 for 64bit PA targets.
11369
11370 * pa.h (SELECT_SECTION): Define.
11371 * som.h (SELECT_SECTION): Delete.
11372
11373 Sun Aug 8 15:13:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11374
11375 * alias.c (init_alias_analysis): Wrap call to
11376 `prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
11377
11378 1999-08-07 Bruce Korb <autogen@linuxbox.com>
11379
11380 * fixinc/inclhack.def(irix_asm_apostrophe): IRIX 5.2's
11381 <sys/asm.h> contains an asm comment with an apostrophe
11382 * fixinc/inclhack.sh: regen
11383 * fixinc/fixincl.x: regen
11384
11385 Sat Aug 7 19:37:07 1999 Richard Henderson <rth@cygnus.com>
11386
11387 * function.c (init_function_start): Clear prologue & epilogue.
11388 (prologue_epilogue_contains): New function.
11389 * alias.c (init_alias_analysis): Use it.
11390 * rtl.h (prologue_epilogue_contains): Declare it.
11391
11392 Sat Aug 7 19:32:16 1999 Richard Henderson <rth@cygnus.com>
11393
11394 * jump.c (onlyjump_p): New function.
11395 * rtl.h: Declare it.
11396 * flow.c (delete_unreachable_blocks): Use onlyjump_p instead
11397 of condjump_p in calling tidy_fallthru_edge and merge_blocks.
11398
11399 Sat Aug 7 17:09:36 1999 Richard Henderson <rth@cygnus.com>
11400
11401 * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
11402 to invert loops. Simplify block scanning.
11403
11404 Sat Aug 7 02:11:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11405
11406 * gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
11407 (cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
11408
11409 1999-08-07 Jonathan Larmour <jlarmour@cygnus.co.uk>
11410
11411 * config/sparc/liteelf.h: New file to support sparclite-elf target
11412 * config/sparc/t-sp86x: New file to support sparc86x targets
11413 * config/sparc/sp86x-aout.h: New file to support sparc86x-aout target
11414 * config/sparc/sp86x-elf.h: New file to support sparc86x-elf target
11415 * configure.in: Support above target triplets
11416 * configure: Regenerated
11417
11418 Sat Aug 7 01:39:27 1999 Philippe De Muyter <phdm@macqel.be>
11419
11420 * fixinc/server.c (server_setup): Do not prefix function used as
11421 parameter with `&'.
11422
11423 Sat Aug 7 00:21:20 1999 Richard Henderson <rth@cygnus.com>
11424
11425 * alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
11426 Remove fp reg alternatives.
11427
11428 Sat Aug 7 00:06:54 1999 Jeffrey A Law (law@cygnus.com)
11429
11430 * Makefile.in (TAROUTOPTS): Kill.
11431 (install-headers-tar): Use "xpf" for tar headerfile extraction
11432 * i370/x-oe (TAROUTOPTS): Delete.
11433 * m68k/x-apollo68 (TAROUTOPTS): Delete.
11434 * m68k/x-hp320 (TAROUTOPTS): Delete.
11435 * m68k/x-hp320g (TAROUTOPTS): Delete.
11436 * gcc.texi: Update bug reporting text.
11437
11438 1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11439
11440 * reg-stack.c (change_stack) Fixed problem with negative array index.
11441
11442 Fri Aug 6 23:08:44 1999 Jeffrey A Law (law@cygnus.com)
11443
11444 * extend.texi, install.texi: Fix spelling mistakes.
11445
11446 * Makefile.in (PREMADE_ATTRTAB_MD, PREMADE_ATTRTAB): Delete.
11447 (s-attrtab); No longer try to use pre-made insn-attrtab file.
11448 * mips/t-bsd: Delete references to obsolete PREMADE_ATTRTAB and
11449 PREMADE_ATTRTAB_MD.
11450 * mips/t-ecoff: Likewise.
11451 * mips/t-elf: Likewise.
11452 * mips/t-mips: Likewise.
11453 * mips/t-osfrose: Likewise.
11454 * mips/t-r3900: Likewise.
11455 * mips/t-svr3: Likewise.
11456 * mips/t-svr4: Likewise.
11457 * mips/t-ultrix: Likewise.
11458
11459 * gcc.texi: Document recommend means to provide software floating
11460 point libraries in libgcc.a
11461
11462 1999-08-06 Jason Merrill <jason@yorick.cygnus.com>
11463
11464 * c-lex.c (yylex): We can have a number with no digits.
11465
11466 Fri Aug 6 16:53:55 EDT 1999 John Wehle (john@feith.com)
11467
11468 * jump.c (delete_prior_computation): New function, broken
11469 out of delete_computation. Check for side effects with
11470 side_effects_p instead of FIND_REG_INC_NOTE. Handle
11471 multi-word hard registers.
11472 (delete_computation): Use it. Check for side effects with
11473 side_effects_p instead of FIND_REG_INC_NOTE. Synthesize a
11474 missing REG_DEAD note for a register which is both set and
11475 used by an insn.
11476
11477 Fri Aug 6 11:05:29 1999 Jeffrey A Law (law@cygnus.com)
11478
11479 * elf.h (TEXT_SPACE_P, FUNCTION_NAME_P): Delete.
11480 (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT): Likewise.
11481 (ASM_FILE_START): Import _mcount with the right type.
11482 (ASM_DECLARE_FUNCTION_NAME): Define.
11483 (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
11484 * pa.c (output_function_prologue): Always emit the function's label
11485 here.
11486 * pa.h (TEXT_SPACE_P): Define.
11487 (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
11488 (ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_GLOBALIZE_LABEL): Likewise.
11489 * som.h (TEXT_SPACE_P): Delete.
11490 (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
11491 (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT): Likewise.
11492
11493 Thu Aug 5 19:29:39 1999 Jim Wilson <wilson@cygnus.com>
11494
11495 * expr.c (emit_group_load): Allow src to be a CONCAT.
11496
11497 Thu Aug 5 22:27:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11498
11499 * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
11500 (___mulsi3): Use '!' comment character.
11501
11502 Thu Aug 5 13:34:14 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11503
11504 * reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
11505
11506 Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com)
11507
11508 * gcc.c: Update URLs and mail addresses.
11509 * gcc.texi: Likewise.
11510
11511 Thu Aug 5 01:14:13 1999 Daniel Jacobowitz <drow@false.org>
11512
11513 * rs6000.c (current_file_function_operand): Return zero for
11514 weak functions.
11515 (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
11516 weak symbols.
11517 * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
11518 for weak symbols.
11519
11520 Thu Aug 5 00:56:30 1999 Geoffrey Keating <geoffk@cygnus.com>
11521
11522 * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
11523 allocate space in the stack frame for the PIC register.
11524
11525 Thu Aug 5 00:20:47 1999 Jeffrey A Law (law@cygnus.com)
11526
11527 * m68k.md (xordi3, anddi3): These patterns are not available on
11528 the coldfire.
11529
11530 Wed Aug 4 23:39:20 1999 Mark Mitchell <mark@codesourcery.com>
11531
11532 * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
11533 (PUT_REAL): Likewise.
11534
11535 Wed Aug 4 20:45:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11536
11537 * final.c (shorten_branches): Don't add an alignment for loops
11538 that have no label inside.
11539
11540 Wed Aug 4 16:39:24 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11541
11542 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
11543 prototypes in macro HAVE_cmpstrsi.
11544
11545 * cpplib.c (cpp_get_token): Remove unused label `op3'.
11546
11547 * emit-rtl.c (operand_subword): Remove unused variable
11548 `bits_per_word'.
11549
11550 * rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
11551
11552 * tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
11553
11554 Wed Aug 4 13:29:23 1999 Zack Weinberg <zack@bitmover.com>
11555
11556 * cpphash.c (macroexpand): Delete leading whitespace when arg
11557 is concatenated before.
11558 (unsafe_chars): Correct test for whether + and - can extend a
11559 token.
11560
11561 * cppinit.c (cpp_start_read): Do dependencies for
11562 -include/-imacros files also.
11563
11564 * cpplib.c (cpp_scan_buffer): In no-output mode, don't bother
11565 tokenizing non-directive lines.
11566 (cpp_expand_to_buffer): Temporarily disable no-output mode.
11567 * cppmain.c: In no-output mode, just call cpp_scan_buffer for
11568 the input file.
11569
11570 Wed Aug 4 12:53:44 1999 Jason Merrill <jason@yorick.cygnus.com>
11571
11572 * expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
11573
11574 * c-lex.c: Sync with C++ frontend.
11575 (linemode): New variable.
11576 (parse_float): imag, conversion_errno, and type are output only.
11577 (yylex): Adjust. Move initial '.' case into main switch.
11578 Use linemode.
11579 (handle_generic_pragma): Just deal with tokens.
11580 (readescape): Use ISXDIGIT and ISGRAPH.
11581 * c-parse.in: Add END_OF_LINE token.
11582
11583 * c-lex.c (lang_init): Generalize.
11584 (nextchar): Remove. Replace uses with UNGETC.
11585 (skip_white_space): Handle linemode here. Optimize for cpplib.
11586 (skip_white_space_on_line): Remove.
11587 (extend_token_buffer_to): New fn.
11588 (extend_token_buffer): Use it.
11589 (read_line_number, check_newline): Just deal with tokens.
11590 (token_getch, token_put_back): New fns.
11591 (yylex): Use them. More cpplib optimizations. Simplify.
11592
11593 Wed Aug 4 12:53:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
11594 Jason Merrill <jason@yorick.cygnus.com>
11595
11596 * c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE.
11597 (consume_string): Make this smart about USE_CPPLIB.
11598 (check_newline): Rewrite to be intelligent about USE_CPPLIB.
11599 (yylex): Rewrite to be intelligent about USE_CPPLIB.
11600 Also, clean up cases where we redundantly set token_buffer[0].
11601 (read_line_number): New fn.
11602 (ignore_escape_flag): New variable.
11603
11604 Wed Aug 4 13:12:17 1999 Jeffrey A Law (law@cygnus.com)
11605
11606 * a29k/t-a29kbare: Fix some comments.
11607 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
11608 (FPBIT, DPBIT): Define.
11609 * a29k/t-vx29k: Likewise.
11610 * arc/t-arc: Likewise.
11611 * arm/t-arm-elf: Likewise.
11612 * arm/t-bare: Likewise.
11613 * arm/t-pe: Likewise.
11614 * arm/t-pe-thumb: Likewise.
11615 * arm/t-semi: Likewise.
11616 * arm/t-thumb: Likewise.
11617 * arm/t-thumb-elf: Likewise.
11618 * arm/t-thumb-linux: Likewise.
11619 * h8300/t-h8300: Likewise.
11620 * i960/t-i960: Likewise.
11621 * i960/t-vxworks960: Likewise.
11622 * m32r/t-m32r: Likewise.
11623 * mips/t-ecoff: Likewise.
11624 * mips/t-elf: Likewise.
11625 * mips/t-r3900: Likewise.
11626 * pa/t-pro: Likewise.
11627 * rs6000/t-aix43: Likewise.
11628 * rs6000/t-beos: Likewise.
11629 * rs6000/t-newas: Likewise.
11630 * rs6000/t-ppccomm: Likewise.
11631 * rs6000/t-rs6000: Likewise.
11632 * rs6000/t-winnt: Likewise.
11633 * rs6000/t-xnewas: Likewise.
11634 * rs6000/t-xrs6000: Likewise.
11635 * sh/t-sh: Likewise.
11636 * sparc/t-elf: Likewise.
11637 * sparc/t-sparcbare: Likewise.
11638 * sparc/t-sparclite: Likewise.
11639 * sparc/t-splet: Likewise.
11640 * v850/t-v850: Likewise.
11641 * mn10200/t-mn10200: Fix comments.
11642 * mn10300/t-mn10300: Likewise.
11643
11644 * pa.md (divsi3, udivsi3, modsi3, umodsi3 expanders): Clobber a new
11645 dummy operand. Allocate a new pseudo for the dummy operand.
11646 (divsi3, udivsi3, modis3, umodsi3 patterns): Corresponding changes.
11647
11648 * pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
11649
11650 Wed Aug 4 11:53:55 1999 Tom Tromey <tromey@cygnus.com>
11651
11652 * configure: Rebuilt.
11653 * configure.in: Removed --enable-java-gc option and JAVAGC subst.
11654
11655 Wed Aug 4 09:06:14 1999 Richard Earnshaw (rearnsha@arm.com)
11656
11657 * recog.c (preproces_constraints): Zero recog_op_alt before
11658 processing the constraints.
11659
11660 * arm.c (typedef minipool_node): Renamed from pool_node.
11661 (minipool_vector, minipool_size, minipool_vector_label): Similarly.
11662 (add_minipool_constant): New function.
11663 (dump_minipool): New function.
11664 (find_barrier): Remove special case for getting the insn size of
11665 an insn that references the constant pool.
11666 (minipool_fixup): New structure.
11667 (push_minipool_barrier): New function.
11668 (push_minipool_fix): New function.
11669 (note_invalid_constants): New function.
11670 (add_pool_constant, dump_table, fixit, broken_move): Delete.
11671 (arm_reorg): Rewrite code to fix up the constant pool into a
11672 series of mini-pools embedded in the insn stream.
11673 (arm_output_epilogue): New function, made mainly from the body
11674 of output_func_epilogue.
11675 (output_func_epilogue): Move insn generation part of epilogue code
11676 to arm_output_epilogue.
11677 * arm.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Delete.
11678 * arm.md (pool_range): New attribute.
11679 (zero_extendqidi2): Add attribute pool_range.
11680 (zero_extend_hisi_insn, load_extendqisi, extendhisi_insn,
11681 extendqihi_insn, extendqisi_insn, movdi, movsi_insn, pic_load_addr,
11682 pic_load_addr_based_insn, movhi_insn_arch4, movhi_insn_littleend,
11683 movhi_insn_bigend, loadhi_si_bigend, movsf_hard_insn, movsf_soft_insn,
11684 movdf_hard_insn, movdf_soft_insn, movxf_hard_insn): Likewise.
11685 (epilogue): New expand.
11686 (epilogue_insn): New insn. Call arm_output_epilogue.
11687
11688 * arm.c (arm_poke_function_name): Undo change of July 17. Tidy up.
11689 * arm.h (TARGET_SWITCHES): Add missing doc string for TARGET_DEFAULT.
11690
11691 Mon Aug 2 19:18:44 1999 Jason Merrill <jason@yorick.cygnus.com>
11692
11693 * linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
11694
11695 1999-08-04 Mark Elbrecht <snowball3@bigfoot.com>
11696
11697 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Define.
11698
11699 Wed Aug 4 02:15:32 1999 Richard Henderson <rth@cygnus.com>
11700
11701 * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
11702
11703 Wed Aug 4 01:48:08 1999 Jim Kingdon <http://developer.redhat.com>
11704
11705 * global.c: Fix comment.
11706
11707 Wed Aug 4 01:43:01 1999 Ian Lance Taylor <ian@zembu.com>
11708
11709 * gcc.c (access_check): New static function.
11710 (find_a_file): Use it when searching a directory list.
11711 * collect2.c (find_a_file): Don't accept directories found when
11712 searching a directory list.
11713
11714 Wed Aug 4 01:40:43 1999 Philippe De Muyter <phdm@macqel.be>
11715
11716 * tlink.c (symbol_hash_lookup): Do not prefix functions used as
11717 function parameters with `&'.
11718 (file_hash_lookup, demangled_hash_lookup, tlink_init): Ditto.
11719
11720 Wed Aug 4 01:08:44 1999 Jeffrey A Law (law@cygnus.com)
11721
11722 * flow.c (delete_unreachable_blocks): Do not call merge_blocks
11723 or tidy_fallthru_edge if the last insn in the block is not
11724 an unconditional jump or a simple conditional jump.
11725
11726 Tue Aug 3 20:21:20 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11727
11728 * Makefile.in (c-decl.o): Depends on defaults.h.
11729
11730 Tue Aug 3 14:14:52 1999 Jeffrey A Law (law@cygnus.com)
11731
11732 * pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
11733 PA1.1 and above.
11734 (CLASS_MAX_NREGS): Likewise.
11735
11736 Tue Aug 3 03:51:20 1999 Jeffrey A Law (law@cygnus.com)
11737
11738 * cse.c (cse_insn): Fix dumb thinko in last change.
11739
11740 Tue Aug 3 10:36:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11741
11742 * reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
11743 "const char *".
11744
11745 Mon Aug 2 23:45:45 1999 Hans-Peter Nilsson <hp@bitrange.com>
11746
11747 * dwarf2out.c (add_location_or_const_value_attribute): Correct
11748 test for sizes of passed and declared parameter types.
11749
11750 Tue Aug 3 00:03:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11751
11752 * fixincludes: Fix the return type of bsearch, char* -> void*.
11753
11754 * fixinc/inclhack.def: Likewise.
11755
11756 Mon Aug 2 18:29:32 1999 Mark Mitchell <mark@codesourcery.com>
11757
11758 * invoke.texi (-fdump-translation-unit): New option.
11759
11760 Mon Aug 2 17:54:19 1999 Richard Henderson <rth@cygnus.com>
11761
11762 * expr.h (PROMOTE_PROTOTYPES): Move ...
11763 * defaults.h: ... to here.
11764 * c-decl.c: Include defaults.h instead of expr.h.
11765 * c-typeck.c: Include defaults.h.
11766
11767 Mon Aug 2 17:10:24 1999 Mark Mitchell <mark@codesourcery.com>
11768
11769 * toplev.h (errorcount): Declare.
11770 (warningcount): Likewise.
11771 (sorrycount): Likewise.
11772 * c-lex.c (errorcount): Don't declare.
11773 * dwarf2out.c (errorcount): Don't declare.
11774
11775 Mon Aug 2 17:02:08 1999 Jason Merrill <jason@yorick.cygnus.com>
11776
11777 * config/libgloss.h: Add a note discouraging use with ELF.
11778 * configure.in: Don't use libgloss.h for ELF targets.
11779 Always use_collect2 on a.out targets.
11780
11781 Mon Aug 2 16:27:42 1999 Jim Wilson <wilson@cygnus.com>
11782
11783 * combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
11784 (force_to_mode, case ASHIFTRT): Add shiftrt label.
11785
11786 Tue Aug 3 00:45:02 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11787
11788 * loop.c (strength_reduce): When doing biv->giv conversion, update
11789 reg note of NEXT->insn.
11790
11791 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11792
11793 * real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
11794
11795 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11796
11797 * c-decl.c (get_parm_info, store_parm_decls): Change all uses of
11798 PROMOTE_PROTOTYPES, so that it tests it as a C expression.
11799 Ensure expr.h is included.
11800 * c-typecheck.c (convert_arguments): Ditto.
11801
11802 * expr.h: Supply default for PROMOTE_PROTOTYPES (0).
11803
11804 * config/arc/arc.h: Define PROMOTE_PROTOTYPES to 1.
11805 * config/convex/convex.h: Ditto.
11806 * config/dsp16xx/dsp16xx.h: Ditto.
11807 * config/fx80/fx80.h: Ditto.
11808 * config/gmicro/gmicro.h: Ditto.
11809 * config/i370/i370.h: Ditto.
11810 * config/i386/i386.h: Ditto.
11811 * config/m32r/m32r.h: Ditto.
11812 * config/m68k/m68k.h: Ditto.
11813 * config/m88k/m88k.h: Ditto.
11814 * config/mips/mips.h: Ditto.
11815 * config/pa/pa.h: Ditto.
11816 * config/pyr/pyr.h: Ditto.
11817 * config/tahoe/tahoe.h: Ditto.
11818 * config/we32k/we32k.h: Ditto.
11819
11820 * config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
11821 based on arch size.
11822
11823 * config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
11824
11825 * config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
11826 from comment.
11827
11828 * tm.texi: Document new usage of PROMOTE_PROTOTYPES.
11829
11830 1999-08-02 Richard Henderson <rth@cygnus.com>
11831
11832 * m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
11833 for the register spill block.
11834 (m32r_va_arg): New.
11835 * m32r.h (EXPAND_BUILTIN_VA_ARG): New.
11836 (EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
11837
11838 * m32r.h (INT8_P): Don't short-cut test with (unsigned).
11839 (INT16_P, CMP_INT16_P, UINT16_P): Likewise.
11840 (UPPER16_P, UINT24_P, INT32_P, UINT5_P): Likewise.
11841
11842 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11843
11844 * config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
11845 MAX_WCHAR_TYPE defined in sparc.h.
11846 * config/sparc/linuxaout.h: Likewise.
11847 * config/sparc/linux64.h: Likewise.
11848 Also default to -mvis if CPU is UltraSPARC.
11849
11850 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11851
11852 * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
11853 (RTX_OK_FOR_OLO10): Likewise.
11854 (GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
11855 %lo(), allow it in addresses...
11856 (PRINT_OPERAND_ADDRESS): ... and print it appropriately.
11857 * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
11858 does not make sense.
11859 * config/sparc/sparc.c (sparc_hard_reg_printed): New array.
11860 (sparc_output_scratch_registers): New function.
11861 (output_function_prologue, sparc_flat_output_function_prologue): Use
11862 it.
11863 * varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
11864 defined.
11865 * tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
11866 * configure.in: Add check for .register pseudo-op support in as and
11867 check for offsetable %lo().
11868 * acconfig.h: Add templates for the above checks.
11869 * configure: Regenerate.
11870
11871 1999-08-02 Richard Henderson <rth@cygnus.com>
11872
11873 * sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
11874 * sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
11875 * sparc/sol2.h (TARGET_DEFAULT): Likewise.
11876
11877 Mon Aug 2 23:46:45 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11878
11879 * loop.c (strength_reduce): When doing biv->giv conversion, fix up
11880 reg_biv_class.
11881
11882 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11883
11884 * config/float-sparc.h: New file.
11885 * configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
11886 sparc-*-linux-gnu and sparc64-*-linux*.
11887
11888 1999-08-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11889
11890 * rs6000.c (rs6000_va_list): Type is an array.
11891 (rs6000_va_start): Don't doubly adjust for varargs.
11892 (rs6000_va_arg): Evaluate long long GPR adjustment.
11893
11894 Mon Aug 2 16:15:57 1999 David Edelsohn <edelsohn@gnu.org>
11895
11896 * rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
11897 -maix64 and -maix32.
11898 (ASM_SPEC, ASM_CPU_SPEC, CPP_SPEC, CPP_CPU_SPEC, LIB_SPEC,
11899 LINK_SPEC): Change appropriately.
11900 * rs6000/rs6000.c (short_cint_operand): Use CONST_OK_FOR_LETTER_P.
11901 (u_short_cint_operand): Likewise.
11902 * rs6000/rs6000.md (movdi splitters): Add TARGET_POWERPC64 support
11903 for 64-bit hosts.
11904 * rs6000/t-aix43 (MULTILIB): Change to -m64.
11905
11906 * invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
11907
11908 Mon Aug 2 16:15:57 1999 Geoff Keating <geoffk@cygnus.com>
11909
11910 * rs6000/rs6000.c (num_insns_constant_wide): Correct
11911 for type promotion.
11912 (add_operand): Get test correct for 64-bit HOST_WIDE_INT.
11913 (non_add_cint_operand): Likewise.
11914 (logical_operand): Likewise.
11915 (non_logical_cint_operand): Likewise.
11916 (print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
11917 (print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
11918 (rs6000_select_rtx_section): Suppress warning.
11919 (small_data_operand): Suppress warning.
11920 (rs6000_got_register): Suppress warning.
11921 * rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
11922 type, so `J' is generally the wrong constraint for a SImode value;
11923 use `L' instead.
11924 (andsi3_internal2): Likewise.
11925 (andsi3_internal3): Likewise.
11926 (iorsi3_internal1): Likewise.
11927 (xorsi3_internal1): Likewise.
11928 (movsi): Likewise.
11929 (movsf_softfloat): Likewise.
11930 (scc insns): Likewise.
11931 (movsi+2): Preserve sign bits of SImode constant.
11932 (floatsidf2_internal+1): Sign-extend SImode constant correctly.
11933 (movdf+1): Sign-extend properly.
11934 (movdi_32+1): Sign-extend properly.
11935 (scc insns): Sign-extend properly.
11936
11937 * md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
11938 K, L, and T.
11939
11940 1999-08-02 Richard Henderson <rth@cygnus.com>
11941
11942 * alpha.c (override_options): Move ev6 alpha_tp frobbing out of
11943 -mcpu parsing code.
11944 (print_operand): Notice alpha_fptm not alpha_tp for sw completion.
11945 * alpha.md (all fp insns): Likewise.
11946
11947 1999-08-02 Nick Clifton <nickc@cygnus.com>
11948
11949 * config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
11950 already defined.
11951
11952 Mon Aug 2 03:38:33 1999 Jeffrey A Law (law@cygnus.com)
11953
11954 * pa.c (legitimize_pic_address): Clarify comments. Do not call the
11955 pic_load_label generator directly.
11956 * pa.md (pic_load_label): Clarify comments. Remove modes on operands.
11957 No longer a named pattern.
11958
11959 Mon Aug 2 09:38:10 1999 Nick Clifton <nickc@cygnus.com>
11960
11961 * explow.c (force_reg): Call force_operand if X does not
11962 satisfy general_operand.
11963
11964 Mon Aug 2 01:34:22 1999 Jeffrey A Law (law@cygnus.com)
11965
11966 * fix-header.c (main): When testing for CONTINUED, use string
11967 equality, not pointer equality.
11968
11969 Mon Aug 2 01:27:24 1999 Dan Nicolaescu <dann@ics.uci.edu>
11970
11971 * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
11972
11973 Sun Aug 1 22:46:42 1999 Jeffrey A Law (law@cygnus.com)
11974
11975 * cse.c (cse_insn): Fix loop which deletes insns after a jump
11976 that has become an unconditional jump.
11977
11978 * m68k.c (output_function_prologue): Fix typo in CPU32 case.
11979 (output_function_epilogue): Similarly.
11980
11981 Sun Aug 1 20:14:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11982
11983 * tree.h (init_dummy_function_start): Declare.
11984
11985 Sun Aug 1 12:55:31 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11986
11987 * stmt.c (emit_filename, emit_lineno, expr_stmts_for_value,
11988 last_expr_type, last_expr_value, block_start_count, block_stack,
11989 stack_block_stack, cond_stack, loop_stack, case_stack, nesting_stack,
11990 nesting_depth, goto_fixup_chain): Delete global vars; now allocated
11991 dynamically in stmt elt of struct function for each function.
11992 (struct nesting): Rename function_call_count elt to n_function_calls,
11993 target_temp_slot_level to block_target_temp_slot_level. All users
11994 changed.
11995 (struct stmt_status): New structure definition.
11996 Add many accessor macros for stmt_status elements which previously
11997 were global variables.
11998 (init_stmt_for_function): Allocate stmt elt for current_function.
11999 Reflect that block_start_count was renamed to
12000 current_block_start_count.
12001 (save_stmt_status, restore_stmt_status): Delete functions.
12002 (preserve_subexpressions_p): Don't access loop_stack when outside
12003 a function.
12004 (expand_start_bindings): Reflect that block_start_count was renamed to
12005 current_block_start_count.
12006 (expand_fixup): Likewise.
12007 (expand_decl): Don't access block_stack when outside a function.
12008 (expand_decl_cleanup): Likewise.
12009 (expand_dcc_cleanup): Likewise.
12010 (expand_dhc_cleanup): Likewise.
12011 (expand_anon_union_decl): Likewise.
12012 (set_file_and_line_for_stmt): New function.
12013 (in_control_zone_p): New function.
12014
12015 * function.h (struct function): Add new elt stmt.
12016 Delete elts block_stack, stack_block_stack, cond_stack, loop_stack,
12017 case_stack, nesting_stack, nesting_depth, block_start_count,
12018 last_expr_type, last_expr_value, expr_stmts_for_value, emit_filename,
12019 emit_lineno, goto_fixup_chain.
12020 (save_eh_status, restore_eh_status, save_stmt_status,
12021 restore_stmt_status): Delete declarations.
12022 * function.c (push_function_context_to): Don't call save_stmt_status.
12023 (pop_function_context_to): Don't call restore_stmt_status.
12024 * tree.h (in_control_zone_p): Declare.
12025 * rtl.h (set_file_and_line_for_stmt): Declare.
12026
12027 * emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
12028 call set_file_and_line_for_stmt.
12029
12030 Thu Jul 31 12:34:45 1999 Joe Buck <jbuck@synopsys.com>
12031
12032 * gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
12033 Also update copyright.
12034
12035 Sat Jul 31 11:10:07 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12036
12037 * c-pragma.c: Don't include "except.h".
12038 * emit-rtl.c: Likewise.
12039 * stor-layout.c: Likewise.
12040 * tree.c: Likewise.
12041 * varasm.c: Likewise.
12042
12043 * flow.c: Include "function.h".
12044 * tree.h (init_dummy_function_start): Declare new function.
12045
12046 * except.h (struct eh_status): New structure.
12047 (struct label_node, struct eh_entry): Declare even if tree.h hasn't
12048 been included.
12049 (eh_return_stub_label, ehstack, catchstack, ehqueue,
12050 catch_clauses, false_label_stack, caught_return_label_stack,
12051 protect_list, current_function_ehc): Add accessor macros for the
12052 corresponding fields in current_function->eh; delete declarations
12053 for all items that used to be declared here.
12054 * except.c (eh_return_stub_label, ehstack, catchstack, ehqueue,
12055 catch_clauses, false_label_stack, caught_return_label_stack,
12056 protect_list, current_function_ehc): Delete variables.
12057 (init_eh_for_function): Allocate current_function->eh.
12058 (save_eh_status, restore_eh_status): Delete functions.
12059
12060 * function.h (struct function): Add fields next_global and eh.
12061 Delete all exception handling related fields.
12062 * function.c (current_function): New variable.
12063 (all_functions): New variable.
12064 (push_function_context_to): Don't allocate a struct function,
12065 use current_function instead. Call init_dummy_function_start when
12066 outside a function. Clear current_function before returning.
12067 (pop_function_context_from): Restore current_function.
12068 Don't free the restored struct function.
12069 (prepare_function_start): New function.
12070 (init_dummy_function_start): New function.
12071 (init_function_start): Break out some code into prepare_function_start
12072 and call it here.
12073
12074 * stmt.c (save_stmt_status): Don't call save_eh_status.
12075 (restore_stmt_status): Don't call restore_eh_status.
12076
12077 * Makefile.in: Update dependencies.
12078
12079 Sat Jul 31 04:10:01 1999 Jeffrey A Law (law@cygnus.com)
12080
12081 * pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
12082 of depending on a magic constant value. Update comments.
12083 (hppa_expand_prologue): Similarly.
12084
12085 * pa.md (reload_indi, reload_outdi): Allow any register for the
12086 original reload register.
12087
12088 Fri Jul 30 19:41:35 1999 Jim Wilson <wilson@cygnus.com>
12089
12090 * cccp.c (print_help): Change marcos to macros.
12091
12092 1999-07-30 Richard Henderson <rth@cygnus.com>
12093
12094 * c-typeck.c (initializer_constant_valid_p): Move ...
12095 * c-common.c (initializer_constant_valid_p): ... here. Use
12096 FOO_TYPE_P instead of tests against TREE_CODE. Allow subtraction
12097 of label addresses.
12098 * c-common.h (initializer_constant_valid_p): Declare.
12099 * c-tree.h (initializer_constant_valid_p): Remove.
12100
12101 Fri Jul 30 16:33:42 1999 Mathias Froehlich <frohlich@na.uni-tuebingen.de>
12102
12103 * config/i386/sol2-c1.asm: Align the stack.
12104 * config/i386/sol2-gc1.asm: Likewise.
12105
12106 1999-07-30 Vladimir Makarov <vmakarov@loony.cygnus.com>
12107
12108 * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
12109 -Asparclite for sparc86x.
12110 (CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
12111 sparc86x.
12112 (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
12113
12114 Fri Jul 30 14:53:56 1999 Jakub Jelinek <jj@ultra.linux.cz>
12115
12116 * config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
12117 the user if using the non-default arch size in BI_ARCH configuration.
12118 * config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
12119
12120 * config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
12121 Fix patterns so that they actually match.
12122 (cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
12123 (mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
12124 (const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
12125 TARGET_HARD_MUL32.
12126 (mulsidi3): Reflect this in the expand.
12127 (smulsi3_highpart): Only on TARGET_ARCH32.
12128 (umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
12129 (const_umulsidi3_sp32): Renamed from const_umulsidi3.
12130 (umulsidi3): Reflect this in the expand.
12131 (umulsi3_highpart): Only on TARGET_ARCH32.
12132 (divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
12133 don't require g0 to be zero.
12134 (udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
12135 ({,u}divsi3): New expands.
12136 ({,u}divsi3_sp64): New patterns.
12137 (after lshrdi3_v8plus): Four new patterns to help combiner
12138 optimizing nested mixed mode shifts.
12139
12140 * config/sparc/sparc.c (sparc_override_options): Use deprecated
12141 v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
12142 speed things up. Don't use them by default on plain v9 in 64bit
12143 mode, according to what SPAMv9 sais.
12144
12145 * config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
12146 top 32 bits of %[og][0-7] in signal handlers.
12147 Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
12148
12149 Fri Jul 30 03:00:41 1999 Jeffrey A Law (law@cygnus.com)
12150
12151 * pa.md (zvdep_imm32): Renamed from zvdep_imm.
12152 (ashlsi3): Corresponding changes.
12153
12154 * pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
12155
12156 Thu Jul 29 18:37:13 1999 Jeffrey A Law (law@cygnus.com)
12157
12158 * pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
12159
12160 Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12161
12162 * arm.h (Hint): Delete macro.
12163 Substitute HOST_WIDE_INT for Hint in some prototypes.
12164 * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
12165
12166 Thu Jul 29 09:21:42 1999 Nick Clifton <nickc@cygnus.com>
12167
12168 * builtins.c (expand_builtin_setjmp): Use force_operand to
12169 make sure that the buffer address is in a suitable form to be
12170 passed to force_reg.
12171
12172 Wed Jul 28 12:50:48 1999 Geoff Keating <geoffk@cygnus.com>
12173
12174 * config/mips/mips.c: system.h handles MIN and MAX, don't undefine
12175 them here.
12176
12177 Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com)
12178
12179 * pa.md (indirect_jump): Remove mode from match_operand. Verify
12180 proper mode in the condition string.
12181 (icacheflush, dcacheflush): Remove modes from match_operands.
12182
12183 * pa.c (emit_move_sequence): Always convert scratch_reg to the
12184 proper mode before using it.
12185
12186 * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
12187 pair.
12188
12189 * pa.c (store_reg): Do not call add_high_const generator directly.
12190 (load_reg, set_reg_plus_d): Likewise.
12191 * pa.md (add_high_const): No longer a named pattern.
12192
12193 * pa.c (legitimize_address): Consistently use Pmode rather than
12194 SImode. Do not call gen_pic2_highpart directly anymore.
12195 * pa.md (pic2_highpart): No longer a named pattern.
12196 (pic2_lo_sum): Similarly. Reformat to make more readable.
12197
12198 * pa.md (call, call_value): Use "word_mode" instead of "SImode" as
12199 needed.
12200
12201 * README: Update.
12202
12203 Wed Jul 28 11:28:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12204
12205 * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
12206
12207 Wed Jul 28 11:23:48 1999 Richard Henderson <rth@cygnus.com>
12208
12209 * pa.c (hppa_builtin_saveregs): Use get_varargs_alias_set
12210 and tag the spill mems.
12211 (hppa_va_start): New.
12212 (hppa_va_arg): New.
12213 * pa.h (EXPAND_BUILTIN_VA_START): New.
12214 (EXPAND_BUILTIN_VA_ARG): New.
12215
12216 Wed Jul 28 11:22:21 1999 Richard Henderson <rth@cygnus.com>
12217
12218 * mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
12219 and tag the spill mems.
12220 (mn10300_va_start): New.
12221 (mn10300_va_arg): New.
12222 * mn10300.h (EXPAND_BUILTIN_VA_START): New.
12223 (EXPAND_BUILTIN_VA_ARG): New.
12224
12225 Wed Jul 28 11:20:19 1999 Richard Henderson <rth@cygnus.com>
12226
12227 * mn10200.c (mn10200_va_arg): New.
12228 * mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
12229
12230 Wed Jul 28 11:19:06 1999 Richard Henderson <rth@cygnus.com>
12231
12232 * builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
12233 rather than play with TREE_INT_CST_LOW.
12234
12235 1999-07-27 Philip Blundell <pb@nexus.co.uk>
12236
12237 * config/arm/telf.h: Include dbxelf.h.
12238 (CPP_PREDEFINES): Only define if not already defined.
12239 (ASM_IDENTIFY_GCC): Likewise.
12240 (SUBTARGET_EXTRA_SECTIONS): Likewise.
12241 (SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
12242 * config/arm/thumb.h (LINK_SPEC): Only define if not already
12243 defined.
12244 (DBX_DEBUGGING_INFO): Don't define.
12245 * config/arm/linux-telf.h: New file.
12246 * config/arm/linux-tgas.h: New file.
12247 * config/arm/t-thumb-linux: New file.
12248 * config/arm/uclinux-elf.h: New file.
12249 * config/arm/uclinux-telf.h: New file.
12250 * configure.in (arm-*-uclinux, thumb-*-linux-gnu,
12251 thumb-*-uclinux): New targets.
12252 * configure: Regenerate.
12253
12254 Tue Jul 27 23:20:21 1999 Jeffrey A Law (law@cygnus.com)
12255
12256 * pa.md (post_store, pre_load): New expanders.
12257 (post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
12258 (post_ldwm, pre_stwm): Make these unnamed patterns since we never
12259 need to directly generate RTL for them.
12260 * pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
12261 changes.
12262
12263 Tue Jul 27 16:05:52 1999 David Edelsohn <edelsohn@gnu.org>
12264
12265 * aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
12266 * rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
12267 (rs6000_cpu): Choose between 32-bit and 64-bit default processors.
12268 (secndary_reload_class): Make TARGET_ELF conditional compile.
12269 (print_operand_address): Similar.
12270 (output_toc): Print all values as hex.
12271 (get_issue_rate): Rearrange and add RS64A and PPC630.
12272 * rs6000.h (processor_type): Add RS64A and PPC630.
12273 (PROCESSOR_POWERPC64): New.
12274 (PROMOTE_MODE): Use word_mode.
12275 (RTX_COSTS): Add RS64A and PPC630.
12276 * rs6000.md (scheduling information): Add lmul and ldiv
12277 representing 64-bit integer multiply and divide. Add rs64a and
12278 PPC630 information.
12279 (ashldi3): Add support for "rldic" instruction.
12280 * sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
12281
12282 Tue Jul 27 15:31:53 1999 Vladimir Makarov <vmakarov@toad.to.cygnus.com>
12283
12284 * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
12285 instead of V8 for sparclite86x in cpu_table.
12286
12287 Tue Jul 27 17:49:42 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12288
12289 * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
12290 output_file_directive.
12291
12292 Tue Jul 27 03:15:33 1999 Jason Merrill <jason@yorick.cygnus.com>
12293
12294 * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
12295 tree for op1, not the rtl.
12296
12297 Tue Jul 27 00:18:34 1999 Richard Henderson <rth@cygnus.com>
12298
12299 * m88k.c (m88k_builtin_saveregs): Break out the constructor code
12300 to m88k_va_start, leaving only the register spill.
12301 (m88k_build_va_list): New.
12302 (m88k_va_start): New.
12303 (m88k_va_arg): New.
12304 * m88k.h (BUILD_VA_LIST_TYPE): New.
12305 (EXPAND_BUILTIN_VA_START): New.
12306 (EXPAND_BUILTIN_VA_ARG): New.
12307
12308 Mon Jul 26 19:07:11 1999 Geoff Keating <geoffk@cygnus.com>
12309
12310 * config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
12311 Rename from expand_builtin_saveregs.
12312 * config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
12313
12314 Mon Jul 26 22:52:47 1999 Richard Henderson <rth@cygnus.com>
12315
12316 * i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
12317 for the register spill block.
12318 (i960_build_va_list): New.
12319 (i960_va_start): New.
12320 (i960_va_arg): New.
12321 * i960.h (BUILD_VA_LIST_TYPE): New.
12322 (EXPAND_BUILTIN_VA_START): New.
12323 (EXPAND_BUILTIN_VA_ARG): New.
12324 * i960.md (store_multiple): Use change_address on individul mems.
12325
12326 Mon Jul 26 22:43:12 1999 Richard Henderson <rth@cygnus.com>
12327
12328 * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
12329 an ARRAY_TYPE.
12330 (std_expand_builtin_va_start): Back out one word if !stdarg_p.
12331 (expand_builtin_va_end): Evaluate arg for side effects.
12332 * c-common.c (c_common_nodes_and_builtins): Construct a
12333 va_list_arg_type_node to handle array decomposition to pointer.
12334
12335 Mon Jul 26 18:51:34 1999 Richard Henderson <rth@cygnus.com>
12336
12337 * except.c (start_dynamic_cleanup): Use force_operand on the
12338 buffer's address.
12339
12340 Mon Jul 26 16:43:26 1999 Richard Henderson <rth@cygnus.com>
12341
12342 * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
12343 * c4x.c (c4x_va_arg): New.
12344
12345 Mon Jul 26 12:30:09 1999 Jason Merrill <jason@yorick.cygnus.com>
12346
12347 * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
12348 has manual_pop set.
12349
12350 1999-07-26 Nathan Sidwell <nathan@acm.org>
12351
12352 * eh-common.h (__eh_matcher): Prototype correctly.
12353
12354 Mon Jul 26 17:24:51 1999 Philip Blundell <pb@nexus.co.uk>
12355
12356 * config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
12357 (TARGET_SINGLE_PIC_BASE): Likewise.
12358 (GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
12359 definitions.
12360 (TARGET_CALLEE_INTERWORKING): Fix typo in comment.
12361 (TARGET_SWITCHES): Add -m{no-}single-pic-base.
12362 (TARGET_OPTIONS): Add -mpic-register=N.
12363 (OUTPUT_INT_ADDR_CONST): New macro.
12364 (INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
12365 LEGITIMATE_PIC_OPERAND_P): Likewise.
12366 (LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
12367 (ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
12368 output_addr_const directly.
12369 (PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with
12370 ARM port.
12371 (thumb_pic_register, thumb_pic_register_string): Declare.
12372
12373 * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
12374 from arm.c.
12375 (label_mentioned_p): New function: Imported from arm.c.
12376 (legitimize_pic_address): New function: Imported from arm.c.
12377 (is_pic):New function: Imported from arm.c.
12378 (thumb_finalize_pic):New function: Imported from arm.c.
12379 (add_constant): Cope with PIC constants.
12380 (fixit): Cope with PIC constants.
12381 (output_return): Do not treat the PIC register as live if
12382 TARGET_SINGLE_PIC_BASE is true.
12383 (thumb_function_prologue): Do not treat the PIC register as live if
12384 TARGET_SINGLE_PIC_BASE is true.
12385 (thumb_expand_prologue): Do not treat the PIC register as live if
12386 TARGET_SINGLE_PIC_BASE is true.
12387 (thumb_unexpand_epilogue): Do not treat the PIC register as live if
12388 TARGET_SINGLE_PIC_BASE is true.
12389 (thumb_print_operand): Accept '|'.
12390 (thumb_override_options): Process PIC options.
12391
12392 * config/arm/thumb.md (movsi): Support PIC.
12393 (call_insn): Change "i" constraint to "X".
12394 (call_value_insn): Likewise.
12395 (consttable_4, consttable_8, consttable_end): Set and clear
12396 "making_const_table" as appropriate.
12397 (pic_load_addr, pic_add_dot_plus_four): New insns.
12398
12399 * invoke.texi (Thumb Options): Fix spelling. Document new
12400 options -msingle-pic-base and -mpic-register=.
12401
12402 1999-07-26 Andrew Haley <aph@cygnus.com>
12403
12404 * config/m32r/initfini.c (__init): Use a full word immediate for
12405 __fini: this allows it to be placed in any memory region.
12406
12407 * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
12408 -mmodel=medium. This is OK for all memory models.
12409
12410 Mon Jul 26 11:58:46 1999 Nick Clifton <nickc@cygnus.com>
12411
12412 * config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
12413 * config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
12414
12415 Mon Jul 26 10:23:36 1999 Nick Clifton <nickc@cygnus.com>
12416
12417 * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
12418 defined.
12419
12420 * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
12421
12422 Sun Jul 25 23:51:59 1999 Richard Henderson <rth@cygnus.com>
12423
12424 * i860.h (EXPAND_BUILTIN_SAVEREGS): New.
12425 (BUILD_VA_LIST_TYPE): New.
12426 (EXPAND_BUILTIN_VA_START): New.
12427 (EXPAND_BUILTIN_VA_ARG): New.
12428 * i860.c (output_delayed_branch): Disable.
12429 (output_delay_insn): Likewise.
12430 (i860_saveregs): New.
12431 (i860_build_va_list): New.
12432 (i860_va_start): New.
12433 (i860_va_arg): New.
12434 * i860.md: Disable all peepholes using output_delayed_branch.
12435 * i860/sysv4.h (I860_SVR4_VA_LIST): New.
12436
12437 Sun Jul 25 23:44:13 1999 Richard Henderson <rth@cygnus.com>
12438
12439 * clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
12440 (BUILD_VA_LIST_TYPE): New.
12441 (EXPAND_BUILTIN_VA_START): New.
12442 (EXPAND_BUILTIN_VA_ARG): New.
12443 * clipper.c (clipper_builtin_saveregs): Only dump registers.
12444 Return the address of the save area.
12445 (clipper_build_va_list): New.
12446 (clipper_va_start): New.
12447 (clipper_va_arg): New.
12448
12449 Sun Jul 25 22:56:47 1999 Richard Henderson <rth@cygnus.com>
12450
12451 * arc.h (EXPAND_BUILTIN_VA_START): New.
12452 (EXPAND_BUILTIN_VA_ARG): New.
12453 * arc.c (arc_setup_incoming_varargs): Set alias set of
12454 varargs save area.
12455 (arc_va_start): New.
12456 (arc_va_arg): New.
12457
12458 Sun Jul 25 22:45:55 1999 Richard Henderson <rth@cygnus.com>
12459
12460 * alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
12461 (BUILD_VA_LIST_TYPE): New.
12462 (EXPAND_BUILTIN_VA_START): New.
12463 (EXPAND_BUILTIN_VA_ARG): New.
12464 * alpha.c (alpha_builtin_saveregs): Delete.
12465 (alpha_build_va_list): New.
12466 (alpha_va_start): New.
12467 (alpha_va_arg): New.
12468
12469 Sun Jul 25 21:40:33 1999 Jeffrey A Law (law@cygnus.com)
12470
12471 * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
12472 column zero.
12473 (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
12474 (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
12475
12476 * gcc.texi: More changes related to list conversion.
12477 * invoke.texi: Likewise.
12478
12479 Sun Jul 25 18:15:39 1999 Richard Henderson <rth@cygnus.com>
12480
12481 * builtins.c (expand_builtin_saveregs): Remove static, remove exp
12482 and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
12483 (expand_builtin_next_arg): Accept ARGLIST not EXP.
12484 (stabilize_va_list): New function.
12485 (std_expand_builtin_va_start): New function.
12486 (expand_builtin_va_start): New function.
12487 (get_varargs_alias_set): New function.
12488 (std_expand_builtin_va_arg): New function.
12489 (expand_builtin_va_arg): New function.
12490 (expand_builtin_va_end): New function.
12491 (expand_builtin_va_copy): New function.
12492 (expand_builtin): Call them.
12493 * c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
12494 __builtin_{varargs_start,stdarg_start,end,copy}.
12495 (build_va_arg): New function.
12496 * c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
12497 (build_va_arg): Declare.
12498 * c-decl.c (ptr_type_node, va_list_type_node): New.
12499 * c-parse.gperf (__builtin_va_arg): New.
12500 * c-parse.in (VA_ARG): New token.
12501 (unary_expr): Recognize it.
12502 * expr.c (expand_expr): Expand VA_ARG_EXPR.
12503 * expr.h (std_expand_builtin_va_start): Declare.
12504 (std_expand_builtin_va_arg): Declare.
12505 (expand_builtin_va_arg): Declare.
12506 (get_varargs_alias_set): Declare.
12507 * tree.def (VA_ARG_EXPR): New.
12508 * tree.h (BUILT_IN_VARARGS_START): New.
12509 (BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
12510 (ptr_type_node, va_list_type_node): Declare.
12511 * tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
12512 * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
12513 * m88k.h, m88k.c: Likewise.
12514 * mn10300.h, mn10300.c: Likewise.
12515 * pa.h, pa.c: Likewise.
12516 * rs6000.h, rs6000.c: Likewise.
12517 * sh.h, sh.c: Likewise.
12518 * sparc.h, sparc.c: Likewise.
12519
12520 * emit-rtl.c (operand_subword): Copy alias set.
12521 (change_address): Likewise.
12522
12523 Sun Jul 25 15:04:37 1999 Jeffrey A Law (law@cygnus.com)
12524
12525 * pa.c (compute_frame_size): Scan all the used callee saved registers,
12526 not just the first one.
12527
12528 Fri Jul 23 14:09:58 1999 Philip Blundell <pb@nexus.co.uk>
12529
12530 * config/arm/arm.h (TARGET_SWITCHES): Add
12531 -m{no-}single-pic-base. Correct help string for -mshort-load-words.
12532 (TARGET_OPTIONS): Add -mpic-register=.
12533 (ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
12534 (arm_pic_register_string): Declare.
12535 (NEED_PLT_GOT): Delete, replace with ...
12536 (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. New macros.
12537 (OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
12538 (ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
12539 * config/arm/arm.c (arm_override_options): Add new option
12540 -mpic-register=N.
12541 (arm_pic_register_string): New variable.
12542 (arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
12543 (output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
12544 register as never live. Use NEED_PLT_RELOC not NEED_PLT_GOT.
12545 (output_return_instruction): Likewise.
12546 * config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
12547 (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. Define to flag_pic.
12548 * config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
12549
12550 * invoke.texi (ARM Options): Fix spelling. Remove duplicate
12551 mention of -msched-prolog. Document new options -msingle-pic-base
12552 and -mpic-register=.
12553
12554 Thu Jul 22 18:23:56 1999 Richard Henderson <rth@cygnus.com>
12555
12556 * haifa-sched.c (reemit_notes): Tidy.
12557 * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
12558 haifa's routine.
12559
12560 Thu Jul 22 18:21:04 1999 Richard Henderson <rth@cygnus.com>
12561
12562 * explow.c (trunc_int_for_mode): New function.
12563 (plus_constant_wide): Use it.
12564 * combine.c (simplify_and_const_int): Likewise.
12565 (merge_outer_ops): Likewise.
12566 (simplify_shift_const): Likewise.
12567 * cse.c (simplify_unary_operation): Likewise.
12568 (simplify_binary_operation): Likewise.
12569 * emit-rtl.c (operand_subword): Likewise.
12570 * rtl.h: Declare it.
12571
12572 Thu Jul 22 14:34:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12573
12574 * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
12575 (use NUM_REGS instead of NUM_INTS).
12576
12577 Thu Jul 22 11:25:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12578
12579 * builtins.c: New file.
12580 * expr.c (saveregs_value, apply_args_value): Delete definition,
12581 moved into builtins.c.
12582 (string_constant): No longer static.
12583 (get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
12584 apply_args_size, apply_result_size, result_vector,
12585 expand_builtin_apply_args, expand_builtin_apply,
12586 expand_builtin_return): Delete functions, moved into builtins.c.
12587 (INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
12588 * expr.h (saveregs_value, apply_args_value): Declare variables.
12589 (expand_builtin, string_constant): Declare functions.
12590 * Makefile.in: Update to build builtin.o.
12591
12592 Wed Jul 21 00:46:58 1999 Mark P. Mitchell <mark@codesourcery.com>
12593
12594 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
12595 * tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
12596 * dwarf2out.c (dwarf2out_init): Don't output a label to mark the
12597 start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
12598 false.
12599 * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
12600 Define to zero.
12601
12602 1999-07-21 Michael Meissner <meissner@cygnus.com>
12603
12604 * print-rtl.c (print_rtx): Print the names of the virtual
12605 registers.
12606
12607 Wed Jul 21 16:00:32 1999 Nick Clifton <nickc@cygnus.com>
12608
12609 * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
12610 introduced in previous delta.
12611
12612 Wed Jul 21 14:30:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12613
12614 * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
12615 to avoid name clash.
12616
12617 Wed Jul 21 08:39:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
12618
12619 * c-lex.c (yylex) : Correct the test for overflow when lexing
12620 integer literals.
12621
12622 Tue Jul 20 18:02:42 1999 Richard Henderson <rth@cygnus.com>
12623
12624 * haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
12625 (adjust_priority): Always call ADJUST_PRIORITY.
12626 (schedule_insn): Only put insns into the ready at cost 0.
12627 (schedule_block): Remove redundant initial sort. Give clock_var
12628 and can_issue_more to MD_SCHED_REORDER. Requeue if hazard cost
12629 is not 0.
12630 * tm.texi (MD_SCHED_REORDER): Update docs.
12631
12632 * sparc.h (MD_SCHED_REORDER): Update. Set CAN_ISSUE_MORE.
12633 * sparc.c (ultra_reorder_called_this_block): Delete.
12634 (ultrasparc_sched_init): Don't set it.
12635 (ultrasparc_sched_reorder): Don't check it.
12636
12637 Tue Jul 20 17:07:54 1999 Richard Henderson <rth@cygnus.com>
12638
12639 * rs6000.h (struct rs6000_args): Add sysv_gregno.
12640 * rs6000.c (init_cumulative_args): Init sysv_gregno.
12641 (function_arg_boundary): Align DFmode.
12642 (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
12643 to get fp reg and stack overflow correct.
12644 (function_arg): Likewise.
12645 (function_arg_pass_by_reference): True for TFmode for ABI_V4.
12646 (setup_incoming_varargs): Restructure for ABI_V4; use
12647 function_arg_advance to skip final named argument.
12648 (expand_builtin_saveregs): Properly unskip the last integer arg
12649 when doing varargs. Adjust overflow location calculation.
12650
12651 * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
12652 explicitly unsigned.
12653 (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
12654 (__VA_GP_REGSAVE): Similarly.
12655 (__va_longlong_p): Delete.
12656 (__va_arg_type_violation): New declaration.
12657 (va_arg): Restructure. Flag promotion errors. Align double.
12658 TFmode passed by reference.
12659
12660 * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
12661 in the HOST_BITS_PER_WIDE_INT > 32 case.
12662
12663 Tue Jul 20 12:37:30 1999 Hans-Peter Nilsson <hp@bitrange.com>
12664
12665 * dwarf2out.c (output_abbrev_section): Terminate with a zero.
12666
12667 Tue Jul 20 12:12:27 1999 Jason Merrill <jason@yorick.cygnus.com>
12668
12669 * gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
12670 * toplev.c (documented_lang_options): Add -fpreprocessed.
12671 * cpplib.h (struct cpp_buffer): Add preprocessed.
12672 * cppinit.c (cpp_handle_option): Handle -fpreprocessed.
12673 (cpp_start_read): Don't expand macros or emit an initial #line
12674 directive if -fpreprocessed.
12675
12676 Tue Jul 20 12:12:09 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
12677
12678 * cpplib.h (struct cpp_buffer): Added manual_pop for
12679 better C++ tokenization.
12680 * cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
12681 Also, support C++ tokenization for ->*, .*, <?, and >? operators.
12682 * c-common.c (cpp_token): Make non-static.
12683
12684 Tue Jul 20 11:24:19 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12685
12686 * c-common.h: New file.
12687 * c-common.c (permanent_obstack): Delete unused declaration.
12688 (c_global_trees): New array.
12689 (c_common_nodes_and_builtins): New function; split off common code
12690 from init_decl_processing in both c-decl.c and cp/decl.c.
12691 * c-tree.h: Delete lots of declarations of tree nodes; replaced by
12692 c_global_trees and accessor macros defined in c-common.h.
12693 Include c-common.h.
12694 * c-decl.c: Delete definitions for tree nodes that were replaced by
12695 c_global_trees.
12696 (init_decl_processing): Build void_list_node.
12697 Call c_common_nodes_and_builtins; delete code to generate the common
12698 builtins here.
12699 * objc/objc-act.c (build_module_descriptor): Rename variable
12700 void_list_node to avoid clash with c-common.h.
12701
12702 * Makefile.in: Update dependencies.
12703 * objc/Make-lang.in: Likewise.
12704
12705 Mon Jul 19 14:22:18 1999 Mark P. Mitchell <mark@codesourcery.com>
12706
12707 * config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
12708 (UNIQUE_SECTION_P): Likewise.
12709 (UNIQUE_SECTION): Likewise.
12710
12711 1999-07-19 Linas Vepstas <linas@linas.org>
12712
12713 * config/i370/README: New file.
12714 * config/i370/linux.h: New file.
12715 * config/i370/mvs.h: New file.
12716 * config/i370/oe.h: New file.
12717 * config/i370/t-linux: New file.
12718 * config/i370/t-mvs: New file.
12719 * config/i370/t-oe: New file.
12720 * config/i370/x-oe: New file.
12721 * config/i370/xm-linux.h: New file.
12722 * config/i370/xm-mvs.h: New file.
12723 * config/i370/xm-oe.h: New file.
12724
12725 * i370.c (label_node_t): Add first_ref_page, label_addr,
12726 label_first_ref, label_last_ref members.
12727 (mvs_need_base_reload): Renamed from mvs_label_emitted.
12728 (MAX_MVS_LABEL_SIZE): Define.
12729 (MAX_LONG_LABEL_SIZE): Define.
12730 (alias_node_t, alias_anchor, alias_number): New.
12731 (mvs_function_table): Reorder for EBCDIC.
12732 (ascebc, ebcasc): Unconditionally define.
12733 (i370_branch_dest, i370_branch_length): New functions.
12734 (i370_short_branch, i370_label_scan): New functions.
12735 (mvs_get_label): Renamed from mvs_add_label. Search for
12736 an existing label before creating a new one.
12737 (mvs_add_label): New function.
12738 (mvs_get_label_page): New function.
12739 (mvs_free_label_list): Renamed from mvs_free_label. Iterate
12740 over the entire list.
12741 (mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
12742 (mvs_check_page) [TARGET_ELF_ABI]: New function.
12743 (mvs_add_alias, mvs_need_alias): New functions.
12744 (mvs_get_alias, mvs_check_alias): New functions.
12745 (handle_pragma): New function.
12746 (mvs_function_check): New function.
12747 (unsigned_jump_follows_p): Search harder.
12748 (i370_function_prolog) [TARGET_HLASM]: Handle LE370. Scan labels.
12749 (i370_function_prolog) [TARGET_ELF_ABI]: New function.
12750 * i370.h (TARGET_VERSION): Delete.
12751 (CPP_SPEC, CPP_PREDEFINES): Delete.
12752 (mvs_label_emitted): Delete.
12753 (TARGET_EBCDIC): Delete.
12754 (MAP_CHARACTER): Define only if TARGET_EBCDIC.
12755 (HANDLE_PRAGMA): Define.
12756 (HARD_REGNO_NREGS): Handle complex modes.
12757 (HARD_REGNO_MODE_OK): Likewise.
12758 (CLASS_MAX_NREGS): Likewise.
12759 (RET_REG): Likewise.
12760 (EXTRA_CONSTRAINT): Define.
12761 (RETURN_IN_MEMORY): True for DImode.
12762 (TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
12763 (FUNCTION_PROFILER): Delete.
12764 (COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
12765 (NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
12766 (TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
12767 (TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
12768 (TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
12769 (ASM_FILE_START): Add "RMODE ANY".
12770 (ASM_OUTPUT_EXTERNAL): Check for aliases.
12771 (ASM_GLOBALIZE_LABEL): Likewise.
12772 (ASM_OUTPUT_LABELREF): Likewise.
12773 (ASM_OUTPUT_COMMON): Likewise.
12774 (PRINT_OPERAND): Handle 'K', 'W', default.
12775 (PRINT_OPERAND_ADDRESS): New.
12776 (Lots of defines): Add support for TARGET_ELF_ABI.
12777 * i370.md (attr length): New. Define for all patterns.
12778 (*): Lots of tweeks to assembly output and constraints.
12779
12780 Mon Jul 19 15:09:29 1999 David Edelsohn <edelsohn@gnu.org>
12781
12782 * rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
12783 Disable patterns performing SImode comparisons with SImode values
12784 if TARGET_POWERPC64 and instruction does not sign-extend or does
12785 not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
12786 differ for signed quantities.
12787 (indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
12788 (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
12789 (decrement_and_branch_on_count): Add 64-bit variant.
12790
12791 Mon Jul 19 09:36:27 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12792
12793 * final.c (output_asm_insn): When searching for the matching string
12794 for a given dialect, don't run past the end of the list of
12795 alternatives if there are fewer alternatives in the template than
12796 dialects.
12797
12798 1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
12799
12800 * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
12801 Removed paragraph about compression of files and size limitation,
12802 duplicated in the FAQ. Use gcc-patches for posting patches.
12803 * gcc.c (main): Updated URL with bug reporting instructions to
12804 gcc.gnu.org. Removed e-mail address.
12805 * system.h (abort): Likewise.
12806
12807 1999-07-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12808
12809 * Makefile.in (stmp-multilib-sub): Make the files extracted
12810 from $(LIBGCC1) writable.
12811
12812 Sat Jul 17 14:25:46 1999 Nick Clifton <nickc@cygnus.com>
12813
12814 * config/arm/aout.h: Reformat for improved readability.
12815
12816 * config/arm/arm.h: Reformat for improved readability.
12817 Replace uses of fprintf with asm_fprintf where appropriate.
12818 (ARM_DECLARE_FUNCTION_NAME): New macro: Perform any generic ARM
12819 function declaration assembler actions.
12820 (NUM_INTS): New macro: Convert from bytes to words.
12821 (NUM_REGS): New macro: Compute number of registers required to
12822 hold a quanitity of tyep MODE.
12823 (NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
12824 types.
12825 (NUM_ARG_REGS): New macro: The number of argument registers
12826 available.
12827 (ARG_REGISTER): New macro: Compute the register number of the Nth
12828 argument register.
12829 (LAST_ARG_REGNUM): New macro: The number of the last argument
12830 register.
12831 (SP_REGNUM): New macro: Register number of the stack pointer.
12832 (FP_REGNUM): New macro: Register number of the frame pointer.
12833 (FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
12834 FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
12835 CUMULATIVE_ARGS so that it counts registers not bytes.
12836
12837 * config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
12838 TARGET_INTERWORK.
12839 Replace uses of fprintf with asm_fprintf where appropriate.
12840 (output_ascii_pseudo_op): Replace with version from thumb.c
12841
12842 * config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
12843
12844 * config/arm/elf.h (CPP_PREDEFINES): Replace with
12845 SUBTARGET_CPP_SPEC.
12846 (ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
12847 (ASM_FILE_START): Emit ASM_APP_OFF.
12848
12849 Fri Jul 16 13:48:09 1999 Jeffrey A Law (law@cygnus.com)
12850
12851 * pa.c (compute_frame_size): Round frame according to
12852 STACK_BOUNDARY rather than a hardwired value.
12853
12854 * pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
12855
12856 * configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
12857 of "1".
12858 * configure: Rebuilt.
12859
12860 * configure.in (hppa*-*-linux*): New configuration.
12861 * configure: Rebuilt.
12862 * pa.h (MAX_OFILE_ALIGNMENT): Delete.
12863 * pa/som.h (MAX_OFILE_ALIGNMENT): Define.
12864 * pa/pa-linux.h: New file.
12865 * pa/t-linux: New file.
12866 * pa/xm-linux.h: New file.
12867
12868 * pa.c (hppa_legitimize_address): Change references from SImode to
12869 either Pmode or word_mode as appropriate.
12870 (emit_move_sequence, store_reg, load_reg): Likewise.
12871 (set_reg_plus_d, hppa_expand_prologue): Likewise.
12872 (output_mul_insn): Likewise.
12873 * pa.h (PROMOTE_MODE): Likewise.
12874 (INITIALZE_TRAMPOLINE): Likewise.
12875 (Pmode): Define to word_mode.
12876
12877 * pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
12878 value of 4. Allocate 8 bytes for each FP register save.
12879 (hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
12880 value of 4.
12881 (hppa_expand_prologue): Likewise.
12882 * pa.h (PROMOTE_MODE): Likewise.
12883 (HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
12884 (FUNCTION_ARG_BOUNDARY): Likewise.
12885
12886 * invoke.texi (HPPA Options): Remove -mspace/-mno-space.
12887
12888 * pa.c (out_of_line_prologue_epilogue): Delete.
12889 (override_options): Remove -mspace related code.
12890 (hppa_expand_prologue, hppa_expand_epilogue): Likewise.
12891 (compute_frame_size): Only allocate space for register that
12892 actually need to be saved.
12893 * pa.h (MASK_SPACE, TARGET_SPACE): Delete.
12894 (TARGET_SWITCHES): Remove -mspace, -mno-space
12895 * pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
12896 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise. Remove -mspace multilib.
12897 * pa/ee.asm, pa/ee_fp.asm: Delete.
12898
12899 * pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
12900
12901 * config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
12902 directive in column zero.
12903
12904 Fri Jul 16 01:39:57 1999 Jeffrey A Law (law@cygnus.com)
12905
12906 * m68k.c (output_function_prologue): Fix computation of save mask
12907 when generating PIC code.
12908
12909 Thu Jul 15 15:40:09 1999 Jim Wilson <wilson@cygnus.com>
12910
12911 * tree.c (build_type_attribute_variant): Move current_obstack restore
12912 after build_qualified_type call.
12913
12914 1999-07-15 Mark Mitchell <mark@codesourcery.com>
12915
12916 * configure.in: Use t-iris6, even with GNU LD.
12917 * config/mips/iris6gld.h: Fix typo in linker spec.
12918 * config/mips/t-iris6gld: Remove.
12919
12920 Thu Jul 15 15:15:43 1999 David Edelsohn <edelsohn@gnu.org>
12921
12922 * rs6000.md (insv, extzv): Remove SImode dependence in named
12923 patterns. Explicitly generate DImode RTL if PowerPC64 and
12924 operand is DImode.
12925 (insvdi): Reverse start and size in instruction template.
12926
12927 1999-07-12 Joseph S. Myers <jsm28@cam.ac.uk>
12928
12929 * invoke.texi: Typo fixes.
12930
12931 Wed Jul 14 23:28:06 1999 Jeffrey A Law (law@cygnus.com)
12932
12933 * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
12934 handle at this time instead of silently generating incorrect code.
12935 (gen_imagpart): Likewise.
12936
12937 * reload.c (find_reloads): Emit a USE for a pseudo register without
12938 a hard register if we could not create an optional reload for the
12939 pseudo.
12940
12941 Wed Jul 14 23:45:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
12942
12943 * c-typeck.c (output_init_element, process_init_element):
12944 When advancing constructor_unfilled_fields for a RECORD_TYPE,
12945 check for nameless bit fields.
12946
12947 Wed Jul 14 01:57:39 1999 Richard Henderson <rth@cygnus.com>
12948
12949 * regclass.c (scan_one_insn): Notice subregs that change the
12950 size of their operand.
12951 (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
12952
12953 Wed Jul 14 01:41:42 1999 Jeffrey A Law (law@cygnus.com)
12954
12955 * configure.in (alpha*-*-*): Include alpha/t-ieee.
12956 * configure: Rebuilt.
12957 * alpha/t-ieee: New file.
12958
12959 Tue Jul 13 10:45:58 1999 Jeffrey A Law (law@cygnus.com)
12960
12961 * rs6000.c (find_addr_reg): Do not select r0 as an address
12962 register.
12963
12964 Tue Jul 13 00:46:18 1999 Philippe De Muyter <phdm@macqel.be>
12965
12966 * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
12967
12968 Mon Jul 12 14:29:15 1999 Jeffrey A Law (law@cygnus.com)
12969
12970 * rs6000.md (movsf): Do not force easy FP constants into memory.
12971
12972 * expr.c (expand_expr, case PLUS_EXPR): Pass constants through
12973 immed_double_const to ensure they are properly truncated then
12974 sign extended.
12975
12976 Mon Jul 12 10:40:01 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
12977
12978 * config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
12979 always unless NO_DEBUG is used. Compile this code
12980 unconditionally.
12981 (replace_symbols_in_block): Compile it unconditionally.
12982
12983 Sun Jul 11 12:32:32 1999 Jeffrey A Law (law@cygnus.com)
12984
12985 * configure.in (i?86-*-elf*): New target.
12986 * configure: Rebuilt.
12987 * i386/i386elf.h, i386/t-i386elf: New files.
12988
12989 Fri Jul 9 22:39:44 1999 Jason Merrill <jason@yorick.cygnus.com>
12990
12991 * toplev.c (main): Don't complain about saying -gdwarf.
12992 (rest_of_compilation): Remove redundant code.
12993
12994 Fri Jul 9 19:08:55 1999 Jim Wilson <wilson@cygnus.com>
12995
12996 * unroll.c (unroll_loops): Don't delete named CODE_LABELs.
12997
12998 Fri Jul 9 18:54:18 1999 Felix Lee <flee@cygnus.com>
12999
13000 * config/i960/i960.c (ret_label): Change asm label from "LR:" to
13001 "Li960R:", to avoid name clash.
13002
13003 Fri Jul 9 10:48:28 1999 Bernd Schmidt <bernds@cygnus.co.uk>
13004
13005 * loop.c (check_dbra_loop): When reversing a loop, delete all
13006 REG_EQUAL notes referencing the reversed biv except those which are
13007 for a giv based on it.
13008
13009 Fri Jul 9 03:51:52 1999 Jeffrey A Law (law@cygnus.com)
13010
13011 * version.c: Drop "gcc-" prefix from version #.
13012
13013 Thu Jul 8 18:06:30 1999 Jason Merrill <jason@yorick.cygnus.com>
13014
13015 * dwarf2out.c (dwarf2out_line): Emit a line number comment after
13016 the label if we're being verbose.
13017
13018 Thu Jul 8 14:18:46 1999 Richard Henderson <rth@cygnus.com>
13019
13020 * m68k.c (output_function_prologue): Add pic register to mask
13021 if live and flag_pic.
13022 (output_function_epilogue): Likewise.
13023
13024 Thu Jul 8 12:55:12 1999 Jeffrey A Law (law@cygnus.com)
13025
13026 * dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
13027 directives in column zero.
13028
13029 * pa/elf.h (ASM_FILE_START): Define.
13030 * pa/som.h (ASM_FILE_START): Include .level directives.
13031 * pa/hpux10.h (ASM_FILE_START): Delete.
13032 * pa/hpux11.h (ASM_FILE_START): Delete.
13033
13034 * pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
13035
13036 Thu Jul 8 18:03:19 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13037
13038 * reload1.c (choose_reload_regs): Never call remove_adress_replacements
13039 when reload_out equals reload_in.
13040
13041 Thu Jul 8 16:50:14 1999 Nick Clifton <nickc@cygnus.com>
13042
13043 * invoke.texi (Spec Files): New node: Describe the contents of
13044 spec files.
13045
13046 Thu Jul 8 10:28:25 1999 Craig Burley <craig@jcb-sc.com>
13047
13048 * invoke.texi (DEC Alpha Options): Put @end table at
13049 beginning of line, to avoid confusing texi2html.
13050
13051 Thu Jul 8 09:22:06 1999 Nick Clifton <nickc@cygnus.com>
13052
13053 * config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
13054 introduced in previous delta.
13055
13056 Wed Jul 7 02:00:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13057
13058 * reload1.c (gen_reload): When synthesizing a 3 operand add
13059 sequence, improve test for when to reload OP1 into the reload
13060 register instead of OP0.
13061
13062 Wed Jul 7 01:38:03 1999 Jim Wilson <wilson@cygnus.com>
13063
13064 * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
13065
13066 1999-07-07 Manfred Hollstein <mhollstein@cygnus.com>
13067
13068 * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
13069 string literal.
13070
13071 Wed Jul 7 01:16:43 1999 Richard Henderson <rth@cygnus.com>
13072
13073 * ginclude/varargs.h (__builtin_va_alist_t): New typedef.
13074 (va_dcl): Use __builtin_va_alist_t.
13075
13076 Wed Jul 7 01:14:42 1999 Jason Merrill <jason@yorick.cygnus.com>
13077
13078 * dwarf2out.c (gen_struct_or_union_type_die): Only remember types
13079 on the permanent_obstack.
13080 * dwarfout.c (output_type): Likewise.
13081
13082 Tue Jul 6 15:25:32 1999 Gavin Romig-Koch <gavin@cygnus.com>
13083
13084 * c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
13085 Merged from c-typeck.c and cp/typeck.c.
13086 * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
13087 Merged into c-common.
13088
13089 Tue Jul 6 13:06:01 1999 Dave Brolley <brolley@cygnus.com>
13090
13091 * c-lex.c (errorcount): Declare it.
13092 (finish_parse): Update errorcount when using CPPLIB.
13093
13094 1999-07-06 Bruce Korb <ddsinc09@ix.netcom.com>
13095
13096 * fixinc/inclhack.def(end_else_label): Double the backslash so
13097 sed gets a chance to see it.
13098 * fixinc/inclhack.sh: regen
13099 * fixinc/fixincl.x: regen
13100
13101 Fri Jul 2 18:49:51 1999 Nick Clifton <nickc@cygnus.com>
13102
13103 Add framework to support armv5 architecture when it becomes
13104 available:
13105
13106 * config/arm/arm.c (FL_ARCH5): New processor capability flag.
13107 (arm_arch5): New variable.
13108 (all_architectures): Add armv5 line.
13109 * config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
13110 -march=armv5 is specified on the command line.
13111 (arm_arch5): Export this variable.
13112 * invoke.texi: Document new string accepted by -march= switch for
13113 ARM ports.
13114
13115 * config/arm/arm.h: Replace use of constant 12 as a register
13116 number with IP_REGNUM. Similarly 14 and LR_REGNUM.
13117 * config/arm/arm.c: Replace use of constant 12 as a register
13118 number with IP_REGNUM. Similarly 14 and LR_REGNUM.
13119
13120 * config/arm/elf.h: Tidy up.
13121 * config/arm/coff.h: Tidy up.
13122
13123 Thu Jul 1 19:08:13 1999 Mark P. Mitchell <mark@codesourcery.com>
13124
13125 * gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
13126 * gcc/config/mips/t-iris6gld: New file.
13127 * gcc/config/mips/iris6gld.h: Likewise.
13128
13129 Fri Jul 2 13:23:39 1999 Gavin Romig-Koch <gavin@cygnus.com>
13130
13131 * c-decl.c (widest_integer_literal_type_node,
13132 widest_unsigned_literal_type) : New.
13133 (init_decl_processing): Handle/use the two new types.
13134 * c-common.c (type_for_size,type_for_mode) : Same.
13135 * c-lex.c (yylex) : Same.
13136 * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
13137 Same.
13138 * c-tree.h (widest_integer_literal_type_node,
13139 widest_unsigned_literal_type) : New.
13140
13141 Fri Jul 2 03:05:44 1999 Jeffrey A Law (law@cygnus.com)
13142
13143 * dwarfout.c (field_byte_offset): Correctly compute the object's
13144 byte offset for the first bit of a field which crosses an alignment
13145 boundary on a !BYTES_BIG_ENDIAN target.
13146
13147 Fri Jul 2 01:36:36 1999 Robert Lipe <robertlipe@usa.net>
13148
13149 * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
13150 ntohs.
13151
13152 Fri Jul 2 00:46:47 1999 Richard Henderson <rth@cygnus.com>
13153 Jeff Law <law@cygnus.com>
13154
13155 * ginclude/varargs.h (va_dcl): Use word_mode for type of
13156 __builtin_va_list.
13157
13158 * except.c: Include intl.h.
13159 (expand_eh_return): Set current_function_cannot_inline.
13160 (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
13161 * function.h (struct function): Add eh_return_stub_label.
13162 * flow.c (delete_unreachable_blocks): Don't merge across EH edges.
13163 * Makefile.in (except.o): Depend on intl.h.
13164
13165 Fri Jul 2 00:04:23 1999 David Edelsohn <edelsohn@gnu.org>
13166
13167 * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
13168 same as offsettable in cases 1 and 2.
13169
13170 Thu Jul 1 20:54:10 1999 Richard Henderson <rth@cygnus.com>
13171
13172 * alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
13173 (extlh, extwh): Likewise.
13174
13175 Thu Jul 1 11:05:25 1999 Gavin Romig-Koch <gavin@cygnus.com>
13176
13177 * c-lex.c (yylex): Improve 'integer constant out of range' messages.
13178
13179 Wed Jun 30 16:51:41 1999 Nick Clifton <nickc@cygnus.com>
13180
13181 * configure.in: Add arm-pe and thumb-pe targets.
13182 * configure: Regenerate.
13183
13184 * thumb.c (arm_naked_function_p): New function: Determines if
13185 a function is naked (has no gcc generated prologue/epilogue).
13186 (is_called_in_ARM_mode): Return true if the func has the
13187 interfacearm attribute.
13188 (output_return): Do not generate a return for naked functions.
13189 (thumb_function_prologue): Do not generate a prologue for
13190 naked functions.
13191 (thumb_expand_prologue): Do not generate a prologue for naked
13192 functions.
13193 (thumb_expand_epilogue): Do not generate an epilogue for naked
13194 functions.
13195 (arm_valid_machine_decl_attribute): New function, copied from
13196 arm.c: Permit naked and interfacearm attributes.
13197
13198 * config/arm/pe.c: New file: Support code for arm-pe target.
13199 * config/arm/pe.h: New file: Header file for arm-pe target.
13200 * config/arm/tpe.h: New file: Header file for thumb-pe target.
13201 * config/arm/t-thumb-pe: New file: Makefile fragment for
13202 thumb-pe target.
13203
13204 1999-07-01 Mark Kettenis <kettenis@gnu.org>
13205
13206 * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
13207 -fPIC or -fpic is specified.
13208
13209 Wed Jun 30 03:31:54 1999 Jeffrey A Law (law@cygnus.com)
13210
13211 * expr.c (emit_block_move): Use copy_to_mode_reg for
13212 !TARGET_MEM_FUNCTIONS case too.
13213
13214 * configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
13215 appropriate.
13216 * configure: Rebuilt.
13217 (hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
13218 * pa.h: Include dbxelf.h. Delete various dbx/stabs related
13219 definitions made redundant by dbxelf.h inclusion. Delete
13220 lots of definitions related to assembly output that are
13221 specific to the SOM object format.
13222 * pa.c (output_function_prologue): Do not emit the function's
13223 name for OBJ_ELF.
13224 * pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
13225 * pa-pro.h: Deleted.
13226 * som.h: New file with SOM specific definitions.
13227 * elf.h: New file with ELF specific definitions.
13228
13229 * elfos.h (const_section): Output a tab before assembler directives.
13230 (ctors_section, dtors_section): Likewise.
13231 (ASM_OUTPUT_SECTION_NAME): Likewise.
13232
13233 * pa/pa1.h: Delete unused file.
13234
13235 Tue Jun 29 01:37:53 1999 Jeffrey A Law (law@cygnus.com)
13236
13237 * configure.in (hppa*-hp-hpux11*): New configuration.
13238 * configure: Rebuilt.
13239 * pa/pa-hpux11.h: New file.
13240 * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
13241 command line.
13242
13243 * mips.md (leasi, leadi): New patterns.
13244
13245 * expr.c (emit_block_move): Properly handle case where one of the
13246 block move arguments has a queued increment or decrement.
13247 (clear_storage): Similarly. Fix formatting goof.
13248
13249 1999-06-28 "David O'Brien" <obrien@NUXI.com>
13250
13251 * fixinc/inclhack.def(stdio_va_list): This patch Removes a
13252 semicolon from the BSD VA_LIST replacement expression.
13253
13254 * fixinc/inclhack.sh: regen
13255 * fixinc/fixincl.x: regen
13256
13257 * fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
13258 now use the fixincl program.
13259
13260 Mon Jun 28 05:28:12 1999 Jeffrey A Law (law@cygnus.com)
13261
13262 * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
13263 case. Also make the PIC register call_used.
13264
13265 * m68k.h (FINALIZE_PIC): Delete.
13266 * m68k.c (finalize_pic): Delete.
13267
13268 Mon Jun 28 05:16:35 1999 Richard Henderson <rth@cygnus.com>
13269
13270 * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
13271 to memory.
13272
13273 Mon Jun 28 04:07:27 1999 David Edelsohn <edelsohn@gnu.org>
13274
13275 * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
13276
13277 Sun Jun 27 02:39:08 1999 Richard Henderson <rth@cygnus.com>
13278
13279 * jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
13280
13281 Sat Jun 26 17:18:18 1999 David Edelsohn <edelsohn@gnu.org>
13282
13283 * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
13284
13285 Fri Jun 25 11:33:24 1999 Richard Henderson <rth@cygnus.com>
13286
13287 * alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
13288
13289 Fri Jun 25 13:41:25 1999 David Edelsohn <edelsohn@gnu.org>
13290
13291 * rs6000.c (output_toc): Always use hex values for floating-point
13292 constants. Store single-precision values in upper-half of TOC
13293 entry in 64-bit mode.
13294 * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
13295 to final constraints.
13296 (fix_truncdfsi2 splitter): Change pattern matching fctiwz.
13297 (fctiwz): Improve accuracy of RTL for pattern.
13298
13299 Fri Jun 25 11:26:38 1999 Gavin Romig-Koch <gavin@cygnus.com>
13300
13301 * expr.c (expand_expr): Allow RTL_EXPR's through the
13302 MAX_INTEGER_COMPUTATION_MODE checks.
13303
13304 Fri Jun 25 06:06:37 1999 Richard Henderson <rth@cygnus.com>
13305
13306 * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
13307 such that MASK_SUPPORT_ARCH is not negative.
13308
13309 Fri Jun 25 05:35:44 1999 Jeffrey A Law (law@cygnus.com)
13310
13311 * loop.c (verify_dominator): Properly handle ADDR_VEC and
13312 ADDR_DIFF_VEC insns that appear inside loops.
13313
13314 Thu Jun 24 22:54:05 1999 David Edelsohn <edelsohn@gnu.org>
13315 Jeff Law <law@cygnus.com>
13316
13317 * rs6000.md (movdf_hardfloat32): Revert previous patch.
13318 Handle LO_SUM the same as offsettable in cases 1 and 2.
13319 * rs6000.c (find_addr_reg): Revert previous patch.
13320
13321 Thu Jun 24 22:43:12 1999 Philippe De Muyter <phdm@macqel.be>
13322
13323 * system.h (strstr): New external function declaration.
13324 * acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
13325 * configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
13326 * config.in, configure: Rebuilt.
13327
13328 1999-06-24 Tom Tromey <tromey@cygnus.com>
13329
13330 * gcc.c (main): Read user-specified specs files after computing
13331 additional startfile_prefixes.
13332
13333 Thu Jun 24 15:00:47 1999 Mark Mitchell <mark@codesourcery.com>
13334
13335 Revert these two patches:
13336
13337 Thu Jun 17 21:34:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13338 * loop.c (strength_reduce): When doing biv->giv conversion, update
13339 reg note of NEXT->insn.
13340
13341 Thu Jun 17 17:22:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13342 * loop.c (strength_reduce): When doing biv->giv conversion, fix up
13343 reg_biv_class.
13344 (recombine_givs): Set ix field after sorting.
13345
13346 Wed Jun 23 21:26:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13347
13348 * rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
13349 for the parts of an UNSPEC / UNSPEC_VOLATILE.
13350
13351 1999-06-23 Bruce Korb <ddsinc09@ix.netcom.com>
13352
13353 *fixinc/inclhack.def: Add fix development commentary
13354 (read_ret_type): reactivate and add selection clause
13355 (zzz_*): tweak output file name to match what is used in hackshell.tpl
13356 *fixinc/{fixincl.x|inclhack.sh}: regen
13357
13358 Wed Jun 23 00:48:21 1999 Jason Merrill <jason@yorick.cygnus.com>
13359
13360 * expr.c (expand_expr): STRIP_NOPS before checking against
13361 MAX_INTEGER_COMPUTATION_MODE
13362 (check_max_integer_computation_mode): Likewise.
13363
13364 Tue Jun 22 20:23:43 1999 Jim Wilson <wilson@cygnus.com>
13365
13366 * md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
13367
13368 1999-06-22 Jim Wilson <wilson@cygnus.com>
13369
13370 * expr.c (store_expr): When target is a promoted subreg, return a
13371 promoted subreg as a result.
13372
13373 Tue Jun 22 17:14:58 1999 Michael Meissner <meissner@cygnus.com>
13374
13375 * dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
13376 coding standards.
13377 (dwarf2out_define): Mark unused parameters appropriately.
13378 (gen_unspecified_parameters_die): Ditto.
13379 (gen_subprogram_die): Fix signed/unsigned warnings.
13380 (gen_variable_die): Ditto.
13381
13382 1999-06-22 Bruce Korb <ddsinc09@ix.netcom.com>
13383
13384 * fixinc/inclhack.def(end_else_label): combined else_label
13385 and endif_label and fixed the sed expression.
13386 *fixinc/{fixincl.x|inclhack.sh}: regen
13387
13388 Tue Jun 22 01:58:18 1999 Jeffrey A Law (law@cygnus.com)
13389
13390 * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
13391 'x' when handling non-offsettable addresses
13392
13393 Tue Jun 22 00:20:05 1999 Richard Earnshaw (rearnsha@arm.com)
13394
13395 * final.c (shorten_branches): Don't try to split an insn that has
13396 been deleted.
13397
13398 Mon Jun 21 12:47:39 1999 Mark Mitchell <mark@codesourcery.com>
13399
13400 * config/mips/mips.c (symbolic_expression_p): New function.
13401 (mips_select_rtx_section): Put symbolic expressions in the
13402 data section, not the read-only data section.
13403
13404 Mon Jun 21 22:13:06 1999 Jeffrey A Law (law@cygnus.com)
13405
13406 * rs6000.md (find_addr_reg): Handle LO_SUM addresses.
13407
13408 Mon Jun 21 20:10:42 1999 Richard Henderson <rth@cygnus.com>
13409
13410 * collect2.c (main): Log frame table count.
13411 (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
13412 (scan_prog_file) [COFF]: Handle frame tables.
13413
13414 * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
13415 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
13416 * alpha/elf.h: Undef them again.
13417 * alpha/vms.h: Remove their definitions.
13418
13419 Tue Jun 22 03:17:53 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13420
13421 * sh.c (machine_dependent_reorg): When fixing up fp pcloads,
13422 remove the clobber of r0 and change the REG_UNUSED note to
13423 REG_INC.
13424
13425 1999-06-21 Jakub Jelinek <jj@ultra.linux.cz>
13426
13427 * real.c (ereal_from_double): Fix for 64-bit big endian hosts.
13428 * emit-rtl.c (gen_lowpart_common): Add case for hosts where double
13429 fits in HOST_WIDE_INT and one uses union to access a long constant
13430 as double.
13431
13432 Mon Jun 21 17:18:25 1999 Richard Henderson <rth@cygnus.com>
13433
13434 * sparc.c (sparc_override_options): Don't allow profiling for
13435 code models other than medlow.
13436 (sparc_function_profiler): New function from old FUNCTION_PROFILER
13437 macro. Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
13438 (sparc_function_block_profiler): Likewise. Use user_label_prefix.
13439 (sparc_block_profiler): Likewise.
13440 (sparc_function_block_profiler_exit): Likewise.
13441 * sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
13442 (FUNCTION_BLOCK_PROFILER): Likewise.
13443 (BLOCK_PROFILER): Likewise.
13444 (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
13445 (MCOUNT_FUNCTION): New.
13446 * sparc/pbd.h (FUNCTION_PROFILER): Delete.
13447 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
13448 * sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
13449 (MCOUNT_FUNCTION): New.
13450 * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
13451 (BLOCK_PROFILER): Delete.
13452 (MCOUNT_FUNCTION): New.
13453
13454 Mon Jun 21 14:11:29 1999 David Edelsohn <edelsohn@gnu.org>
13455
13456 * rs6000.md (movdf_hardfloat32): Fix typo in case 2.
13457
13458 Mon Jun 21 12:27:17 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
13459
13460 * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
13461 Add the macros.
13462
13463 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
13464 Ditto.
13465
13466 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
13467 Ditto.
13468
13469 * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
13470 Ditto.
13471
13472 Mon Jun 21 14:58:42 1999 Nick Clifton <nickc@cygnus.com>
13473
13474 * config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
13475 types.
13476
13477 Mon Jun 21 06:22:21 1999 Mark Elbrecht <snowball3@bigfoot.com>
13478
13479 * i386/djgpp.h (LIB_SPEC): New.
13480 (STARTFILE_SPEC): New.
13481
13482 * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
13483
13484 Mon Jun 21 06:19:33 1999 Philippe De Muyter <phdm@macqel.be>
13485
13486 * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
13487 compiler flags.
13488
13489 * system.h (WSTOPSIG): New macro.
13490
13491 Mon Jun 21 05:33:15 1999 Mumit Khan <khan@xraylith.wisc.edu>
13492
13493 * c-pragma.c (push_alignment): Don't ignore alignments greater than
13494 4 bytes.
13495 (insert_pack_attributes): Take into account member natural
13496 alignment.
13497
13498 * i386/winnt.c (exports_head): New static variable.
13499 (i386_pe_record_exported_symbol): New function.
13500 (i386_pe_asm_file_end): Use.
13501 * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
13502 symbols to be emitted at end of assembly.
13503 (ASM_DECLARE_OBJECT_NAME): Likewise.
13504 (ASM_DECLARE_FUNCTION_NAME): Likewise.
13505
13506 * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
13507 -iwithprefix.
13508
13509 Mon Jun 21 04:44:31 1999 Jeffrey A Law (law@cygnus.com)
13510
13511 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
13512 in last change.
13513
13514 Sun Jun 20 17:27:20 1999 Richard Henderson <rth@cygnus.com>
13515
13516 * haifa-sched.c (sched_analyze_1): Use free_list instead of
13517 zapping reg_last_uses directly.
13518 (sched_analyze_2, sched_analyze_insn): Likewise.
13519 (sched_analyze): Likewise. Don't clear reg_last_uses on calls.
13520
13521 Sun Jun 20 16:57:29 1999 David Edelsohn <edelsohn@gnu.org>
13522
13523 * rs6000.md (movdf_hardfloat32): Use worst case insn length
13524 attributes for cases 1 and 2.
13525
13526 Sat Jun 19 22:52:55 1999 Richard Henderson <rth@cygnus.com>
13527
13528 * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
13529 instead of set.
13530
13531 Sat Jun 19 05:40:07 1999 Philip Blundell <pb@nexus.co.uk>
13532
13533 * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
13534
13535 Sat Jun 19 05:25:05 1999 Richard Earnshaw (rearnsha@arm.com)
13536
13537 * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
13538 PIC_OFFSET_TABLE_REGNUM for general alloaction.
13539 (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
13540 must be stacked if it is used for PIC accesses.
13541 * arm.c (use_return_insn): Handle PIC register specially.
13542 (output_return_instruction): Likewise.
13543 (output_func_{prologue,epilogue}): Likewise.
13544 (output_expand_prologue): Likewise.
13545
13546 * arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
13547 (*strsi_predec): Renamed from *strqi_predec.
13548 (*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
13549 (*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
13550
13551 * arm.c (arm_override_options): Remove warning about PIC code
13552 not being supported.
13553
13554 Fri Jun 18 23:47:06 1999 David Edelsohn <edelsohn@gnu.org>
13555
13556 * rs6000.c (find_addr_reg): New function.
13557 * rs6000.h (find_addr_reg): Declare.
13558 (offsettable_addr_operand): Delete.
13559 * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
13560 from and stores to GPRs.
13561
13562 Fri Jun 18 15:44:18 1999 Richard Henderson <rth@cygnus.com>
13563
13564 * alpha.c (alpha_expand_block_move): Use get_insns rather than
13565 gen_sequence as argument to emit_no_conflict_block.
13566
13567 Fri Jun 18 07:02 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13568
13569 * fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
13570 * fixinc/inclhack.def(dgux_int_varargs): script must end with \n
13571 *fixinc/fixincl.x: regen
13572 *fixinc/inclhack.sh: regen
13573
13574 Thu Jun 17 15:06:10 PDT 1999 Don Lindsay <dlindsay@cygnus.com>
13575
13576 * added support for -mpcrel (PC relative addressing for m68k)
13577 based on code done by Michael Tiemann <tiemann@axon.cygnus.com>.
13578 * invoke.texi (m68000 options): Add documentation for -mpcrel flag.
13579 * m68k.c (print_operand_address): Handle 32-bit PIC case.
13580 (comments for general_src_operand): Add some explanation
13581 about EXTRA_CONSTRAINTS.
13582 (OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
13583 * m68kelf.h (OVERRIDE_OPTIONS): Ditto.
13584 (LEGITIMATE_PIC_OPERAND_P): Fix typo.
13585 (LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
13586 * m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
13587 (INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
13588 (OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
13589 if not already set.
13590 (OVERRIDE_OPTIONS): Merge in changes from m68k.h.
13591 * m68k.h (TARGET_PCREL): New target flag.
13592 (TARGET_SWITCHES): Add "pcrel" as a recognized switch.
13593 (OVERRIDE_OPTIONS): Add checks for -mpcrel.
13594 (LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
13595 contains a SYMBOL_REF. Relax this constraint during reload, since
13596 we want to use the predicates, not reload's built-in concept of a
13597 valid memory address, to control what insns need reloading.
13598 (EXTRA_CONSTRAINT): Define constraints to accept pc-relative
13599 operands (essentially 'g', 'm', and 's' under normal circumstances).
13600 * m68k.c (print_operand): Cause printing of pc-relative addresses
13601 to include pc register.
13602 (print_operand_address): Ditto.
13603 (general_src_operand): Accept operands that are not only
13604 general_operands, but are also valid when used as a pc-relative
13605 source.
13606 (nonimmediate_src_operand): Similar, for nonimmediate_operands.
13607 (memory_src_operand): Similar, for memory_operands.
13608 (pcrel_address): New predicate to accept the special case of a
13609 pc-relative address.
13610 * m68k.md (many patterns): Rewrite common SImode, HImode, and
13611 QImode insns to accept *_src_operand instead of *_operand where
13612 pc-relative operands can fit. For example, a pc-relative operand
13613 can be used as a memory source operand for addsi3, but not as a
13614 memory destination.
13615 * hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
13616
13617 Fri Jun 18 09:11:07 1999 Nick Clifton <nickc@cygnus.com>
13618
13619 * config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
13620 .thumb_set pseudo op to mark aliases of thumb functions.
13621
13622 Wed Jun 16 18:19:13 1999 Nick Clifton <nickc@cygnus.com>
13623
13624 * varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
13625 preference to ASM_OUTPUT_DEF, if it is defined.
13626
13627 * tm.texi: Document new, optional target macro
13628 ASM_OUTPUT_DEF_FROM_DECLS.
13629
13630 Thu Jun 17 15:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13631
13632 * fixincludes: ISCNTL patch
13633 * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
13634 (dgux_int_varargs): new for DG/UX
13635 * fixinc/{fixincl.x,inclhack.sh}: Regenerated.
13636
13637 Thu Jun 17 21:34:24 1999 Jeff Law <law@cygnus.com>
13638
13639 * invoke.texi (ia32 options): Fix typo.
13640
13641 Thu Jun 17 21:34:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13642
13643 * loop.c (strength_reduce): When doing biv->giv conversion, update
13644 reg note of NEXT->insn.
13645
13646 Thu Jun 17 14:25:08 1999 Jeffrey A Law (law@cygnus.com)
13647
13648 * loop.c (move_movables): Note issues with replacing REGs with
13649 SUBREGs.
13650 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
13651
13652 Thu Jun 17 13:28:30 1999 David O'Brien <obrien@FreeBSD.org>
13653
13654 * i386/freebsd-elf.h (LINK_SPEC): Fix typo.
13655
13656 * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
13657 the reference to `mcount' was not correct for the ELF on FreeBSD.
13658
13659 Thu Jun 17 17:22:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13660
13661 * loop.c (strength_reduce): When doing biv->giv conversion, fix up
13662 reg_biv_class.
13663
13664 (recombine_givs): Set ix field after sorting.
13665
13666 Thu Jun 17 02:54:30 1999 Jeffrey A Law (law@cygnus.com)
13667
13668 * emit-rtl.c (operand_subword): Tighten checks for when it is safe
13669 to safe to extract a subword out of a REG.
13670
13671 Thu Jun 17 01:45:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13672
13673 * sh.md (mulsi3): Don't add a no-op move at the end.
13674
13675 Wed Jun 16 20:29:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13676
13677 * cse.c (cse_insn): Don't put hard register source into tables for
13678 the last insn of a libcall.
13679
13680 Wed Jun 16 19:44:33 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13681
13682 * loop.c (strength_reduce): Insert sets of derived givs at every
13683 biv increment, even if it's the only one.
13684
13685 Wed Jun 16 10:33:02 1999 Jason Merrill <jason@yorick.cygnus.com>
13686
13687 * dwarfout.c (add_incomplete_type): New fn.
13688 (output_type): Call it.
13689 (retry_incomplete_types): New fn.
13690 (dwarfout_finish): Call it.
13691
13692 From Eric Raskin <ehr@listworks.com>:
13693 (output_type): Output types for bases.
13694
13695 Tue Jun 15 12:51:23 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
13696
13697 * mips.c (mips_output_conditional_branch): Add `break'
13698 between `default' label and `close braces'.
13699
13700 Tue Jun 15 01:55:20 1999 David O'Brien <obrien@FreeBSD.org>
13701
13702 * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
13703 specifications and make it realistic.
13704 (LIB_SPEC): Likewise.
13705
13706 Mon Jun 14 15:38:43 1999 Jim Wilson <wilson@cygnus.com>
13707
13708 * config/mips/mips.c (mips_secondary_reload_class): Check for
13709 (PLUS (SP) (REG)) and return appropriate register class.
13710 * config/mips/mips.md (reload_insi): Delete predicate for operand 1.
13711 Handle (PLUS (SP) (REG)).
13712 (tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
13713 (tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
13714 of emit_insn for tablejump.
13715
13716 Mon Jun 14 17:26:40 1999 David Edelsohn <edelsohn@gnu.org>
13717
13718 * rs6000.c (output_prolog): RS6000_CALL_GLUE must be
13719 asm_fprintf format string by itself.
13720 (output_function_profiler): Likewise.
13721
13722 Mon Jun 14 12:57:38 1999 David Mosberger <davidm@hpl.hp.com>
13723
13724 * combine.c (simplify_logical, case AND): Only call
13725 simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
13726 or the constant is positive.
13727
13728 Mon Jun 14 11:43:41 1999 Nick Clifton <nickc@cygnus.com>
13729
13730 * configure.in: Fix typo in rs6000-ibm-aix4 case.
13731 * configure: Regenerate.
13732
13733 Mon Jun 14 03:55:40 1999 Jeffrey A Law (law@cygnus.com)
13734
13735 * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
13736 require a sub-version #.
13737 * configure: Rebuilt.
13738
13739 1999-06-14 Robert Lipe (robertlipe@usa.net)
13740
13741 * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
13742
13743 Mon Jun 14 10:30:52 BST 1999 Nathan Sidwell <nathan@acm.org>
13744
13745 * c-typeck.c (process_init_element): Detect excess elements in
13746 char array initializer.
13747
13748 1999-06-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
13749
13750 * gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
13751
13752 Sat Jun 12 22:29:48 EDT 1999 Jerry Quinn <jquinn@nortelnetworks.com>
13753
13754 * invoke.texi (Option Summary): Add -fpermissive flag.
13755
13756 Sat Jun 12 03:40:42 1999 Jeffrey A Law (law@cygnus.com)
13757
13758 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
13759 that require PIC code sequences.
13760
13761 Wed Jun 9 16:29:01 1999 Nick Clifton <nickc@cygnus.com>
13762
13763 * configure.in: Add new target: thumb-elf.
13764 * configure: Regenerate.
13765 * config/arm/t-thumb-elf: New file: Makefile fragment for
13766 thumb-elf build.
13767 * config/arm/telf.h: New file: Header file for thumb-elf
13768 build.
13769
13770 Fri Jun 11 03:17:51 1999 Jeffrey A Law (law@cygnus.com)
13771
13772 * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
13773 * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
13774 initializers is some circumstances.
13775
13776 * fixinc/inclhack.def (endif_label): Add additional selector for
13777 more bogus stuff after #endif statements.
13778 * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
13779
13780 Thu Jun 10 20:44:36 1999 Mumit Khan <khan@xraylith.wisc.edu>
13781
13782 * i386/cygwin.h (SET_ASM_OP): Define.
13783
13784 Thu Jun 10 20:37:57 1999 Mumit Khan <khan@xraylith.wisc.edu>
13785
13786 * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
13787
13788 Thu Jun 10 19:23:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13789
13790 * sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
13791 latter.
13792
13793 * sh.md (ic_invalidate_line_i): Remove second alternative.
13794
13795 Thu Jun 10 06:55 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13796
13797 *fixinc/inclhack.def(sun_auth_proto): We do not know how to
13798 test for the presence of valid prototypes. Delete bypass expr.
13799 (ioctl_fix_ctrl): Correct the selection expression.
13800 (no_double_slash): Correct quoting rules
13801 *fixinc/fixincl.x: regen
13802 *fixinc/inclhack.sh: regen
13803
13804 Thu Jun 10 15:08:15 1999 Nick Clifton <nickc@cygnus.com>
13805
13806 * config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
13807
13808 Wed Jun 9 15:57:57 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13809
13810 * rs6000.md (movsi_got_internal_mem): Delete.
13811 * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
13812 (GOT_TOC_REGNUM): Delete.
13813 (PIC_OFFSET_TABLE_REGNUM): Define.
13814 (FINALIZE_PIC): Disable.
13815 * rs6000.c (rs6000_got_register): New code for fixed pic register.
13816 (rs6000_replace_regno): Delete.
13817 (rs6000_finalize_pic): Likewise.
13818 (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
13819
13820 Wed Jun 9 19:44:26 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13821
13822 * loop.c (loop_insn_first_p): Don't compare LUIDs when P
13823 is a note; use <= for the compare; advance P while it is
13824 a NOTE.
13825
13826 Wed Jun 9 13:12:24 1999 Jeffrey A Law (law@cygnus.com)
13827
13828 * fixinc/inclhack.def (no_double_slash): Fix quoting for test.
13829 * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
13830
13831 * varasm.c (remove_from_pending_weak_list): Verify t->name
13832 is non-NULL before passing it to strcmp.
13833
13834 Wed Jun 9 06:50 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13835
13836 *fixinc/inclhack.def(sun_auth_proto): bypass the patch if
13837 the typed arguments are not part of a comment
13838 (ioctl_fix_ctrl): Added a purpose comment
13839 *fixinc/fixincl.x: regenerate
13840 *fixinc/inclhack.sh: regenerate
13841
13842 Wed Jun 9 22:57:02 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
13843
13844 * invoke.texi: Add C4x invocation docs.
13845
13846 Wed Jun 9 22:34:38 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
13847
13848 * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
13849 Define new macros.
13850 * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
13851 TARGET_EXPOSE_LDP.
13852 (c4x_legitimize_reload_address): New function.
13853 * config/c4x/c4x.md: Update docs.
13854
13855 Wed Jun 9 04:14:48 1999 Jeffrey A Law (law@cygnus.com)
13856
13857 * fixincludes: Avoid removing '.'.
13858 * fixinc/fixinc.svr4: Likewise.
13859 * fixinc/fixinc.winnt: Likewise.
13860 * fixinc/inclhack.tpl: Likewise.
13861 * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
13862
13863 1999-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13864
13865 * fixinc/inclhack.def (sun_catmacro): Escape parens in the select
13866 pattern.
13867 * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
13868
13869 Wed Jun 9 03:10:34 1999 Mumit Khan <khan@xraylith.wisc.edu>
13870
13871 * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
13872 correctly.
13873
13874 Tue Jun 8 13:06:15 1999 Jim Wilson <wilson@cygnus.com>
13875
13876 * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
13877 * configure: Regenerate.
13878
13879 Tue Jun 8 05:47:48 1999 Richard Earnshaw (rearnsha@arm.com)
13880
13881 * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
13882 values.
13883
13884 Mon Jun 7 22:30:37 1999 Jeffrey A Law (law@cygnus.com)
13885
13886 * fixinc/inclhack.def (avoid_bool): Also catch
13887 "typedef [unsigned] int bool".
13888 * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
13889
13890 * m68k/x-hp3bsd44: Delete obsolete and incorrect file.
13891 * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
13892 * configure: Rebuilt.
13893
13894 Mon Jun 7 22:05:03 1999 Mark Kettenis <kettenis@gnu.org>
13895
13896 * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
13897 such that we can override its definitions if necessary.
13898 (CPP_SPEC): New define. Support processor specific predefines via
13899 %(cpp_cpu).
13900 (CC1_SPEC): New define. Support processor specific compiler
13901 options via %(cc1_cpu).
13902 (STARTFILE_SPEC): New define. Use crt0.o instead of crt1.o for
13903 -static.
13904
13905 1999-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13906
13907 * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
13908 between sed's -e flag, and the open-quote following it.
13909 * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
13910
13911 Mon Jun 7 20:34:20 1999 Robert Lipe <robertlipe@usa.net>
13912 Jeffrey A Law (law@cygnus.com)
13913
13914 * varasm.c (assemble_start_function): Remove the function
13915 from the pending weak decls list when we define a function.
13916 (assemble_variable): Similarly for variables.
13917 (weak_finish): Ignore items on the list with a NULL name.
13918 (remove_from_ending_weak_list); New function to "remove" an item
13919 from the pending weak declarations list.
13920
13921 Mon Jun 7 19:27:07 1999 Jerry Quinn <jquinn@nortelnetworks.com>
13922
13923 * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
13924
13925 Mon Jun 7 14:07:39 1999 Dave Brolley <brolley@cygnus.com>
13926
13927 * c-lex.c (GETC): Redefine to call getch.
13928 (UNGETC): Redefine to call put_back.
13929 (putback_buffer): New structure type.
13930 (putback): New static structure.
13931 (getch): New function.
13932 (put_back): New function.
13933 (yylex): Replace unused bytes from bad multibyte character.
13934
13935 Mon Jun 7 13:33:39 1999 Dave Brolley <brolley@cygnus.com>
13936
13937 * cpplib.c (do_define): Cast `alloca' return value.
13938 (do_include, do_undef, do_pragma): Likewise.
13939 * cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
13940 values.
13941 * cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
13942 * gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
13943
13944 Sun Jun 6 11:58:34 1999 Jakub Jelinek <jj@ultra.linux.cz>
13945
13946 * sparc.md (abstf2): This should be an expand.
13947 (split after abstf2_notv9): Fix mode.
13948 (abstf2_hq_v9): New pattern.
13949 (abstf2_v9): Only use when no hard quad.
13950 (absdf2_v9): Fix if target is not the same as source.
13951 (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
13952 Add correct output constraints.
13953
13954 Sat Jun 5 17:04:16 1999 Craig Burley <craig@jcb-sc.com>
13955
13956 From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
13957 * invoke.texi: Clarify text vis-a-vis Intel CPUs.
13958
13959 Sat Jun 5 12:11:24 1999 Mark Mitchell <mark@codesourcery.com>
13960
13961 * mips.h (mips_output_conditional_branch): New function.
13962 (mips_adjust_insn_length): Likewise.
13963 (ASSEMBLER_SCRATCH_REGNUM): New macro.
13964 (ADJUST_INSN_LENGTH): Likewise.
13965 * mips.c (print_operand): Add `F' and `W' for floating-point
13966 comparison opcodes.
13967 (machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
13968 are now in bytes.
13969 (mips_adjust_insn_length): New function.
13970 (mips_output_conditional_branch): New function.
13971 * mips.md (length): Adjust attribute definition to handle
13972 conditional branches. Change lengths to bytes, rather than
13973 instructions throughout. Remove length attribute from
13974 instructions whose length is four bytes, and rely on the default
13975 instead.
13976 (dslot): Fix typo in comment.
13977 Reword conditional branch patterns to use
13978 mips_output_conditional_branch.
13979
13980 Fri Jun 4 13:30:27 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13981
13982 * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
13983 (LIB_SPEC): Likewise.
13984 Link with -lprof1_r for -g/-pg.
13985
13986 1999-06-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
13987
13988 * loop.c (check_dbra_loop): Fix change of Jan 19.
13989
13990 Fri Jun 4 00:12:40 1999 Marc Espie <espie@cvs.openbsd.org>
13991
13992 * freebsd-elf.h (SWITCH_TAKES_ARG): Redefine, not define.
13993 (STARTFILE_SPEC): Define, override the svr4.h version.
13994 (ENDFILE_SPEC): Likewise.
13995
13996 Thu Jun 3 23:58:55 1999 Jeffrey A Law (law@cygnus.com)
13997
13998 * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
13999 * fixinc/fixincl.x: Regenerated.
14000 * fixinc/inclhack.sh: Regenerated.
14001
14002 Fri Jun 4 05:42:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
14003
14004 * sh.c (barrier_align): Don't return early for normal branch/barrier
14005 when optimizing for SH2.
14006
14007 Thu Jun 3 22:27:50 1999 Robert Lipe <robertlipe@usa.net>
14008
14009 * i386/udk.h (LINK_SPEC): Correct linker search path for
14010 system libraries.
14011
14012 Fri Jun 4 03:20:40 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
14013
14014 * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
14015 (braf_label_ref_operand): Delete.
14016 * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
14017 * sh.md (casesi_jump_2): Operand1 is now the inside of a
14018 label_ref, and has no predicate.
14019 The patten has a predicate to guard against invalid substitutions.
14020 (dummy_jump): Delete.
14021 (casesi): Update use of casesi_jump_2.
14022
14023 Thu Jun 3 07:48 1999 Bruce Korb <ddsinc09@ix.netcom.com>
14024
14025 *fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
14026 *fixinc/fixincl.x: regenerate
14027 *fixinc/inclhack.sh: regenerate
14028
14029 Thu Jun 3 02:15:07 1999 Jason Merrill <jason@yorick.cygnus.com>
14030
14031 * dwarf2out.c (add_incomplete_type): New fn.
14032 (gen_struct_or_union_type_die): Call it.
14033 (retry_incomplete_types): New fn.
14034 (dwarf2out_finish): Call it.
14035
14036 Thu Jun 3 01:19:03 1999 Jeffrey A Law (law@cygnus.com)
14037
14038 * gcse.c (insert_insn_end_bb): Correct placement of insns when the
14039 current block starts with a CODE_LABEL and ends with a CALL and
14040 we can not find all the argument setup instructions for the CALL.
14041
14042 Wed Jun 2 15:44:15 1999 Mark Mitchell <mark@codesourcery.com>
14043
14044 Revert this change:
14045 * fold-const.c (fold): STRIP_NOPS when deciding whether or not
14046 something is a candidate for optimize_bit_field_compare.
14047
14048 Wed Jun 2 21:53:05 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
14049
14050 * sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
14051
14052 Wed Jun 2 12:25:55 1999 Richard Henderson <rth@cygnus.com>
14053
14054 * alpha.c (override_options): Thinko in last patch.
14055
14056 * alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
14057 (LIB_SPEC): Recognize -pthread.
14058
14059 Wed Jun 2 08:42:55 1999 Nick Clifton <nickc@cygnus.com>
14060
14061 * config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronise with
14062 definition in config/arm/coff.h
14063 * config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
14064
14065 Wed Jun 2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
14066
14067 * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
14068 fixes that need "file=xxx\n" prepended before invocation
14069 (start_fixer - new): starting the fixer process is complex enough
14070 to warrent its own routine. It prepends the "file=xxx\n" stuff.
14071 (process): uses the new routine; omit usage of putenv()
14072 * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
14073 * fixinc/fixincl.x: regenerate
14074
14075 Wed Jun 2 02:29:07 1999 Jeffrey A Law (law@cygnus.com)
14076
14077 * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
14078 and version #s (1.1 -> 2.96) as needed.
14079 * README.g77: Kill way out of date file in the toplevel directory.
14080
14081 Wed Jun 2 00:52:34 1999 David O'Brien <obrien@FreeBSD.org>
14082
14083 * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
14084 i386/freebsd-elf.h no longer requires it. Instead include svr4.h.
14085 * configure: Rebuilt.
14086 * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
14087 (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
14088 (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
14089 (SWITCH_TAKES_ARG): Likewise.
14090 * i386/freebsd.h: Remove FREEBSD_NATIVE support.
14091 * config/t-freebsd: Moved from config/i386/ so it can used for all
14092 FreeBSD targets.
14093
14094 Mon May 31 02:22:55 1999 Philippe De Muyter <phdm@macqel.be>
14095
14096 * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
14097
14098 Wed Jun 2 00:08:34 1999 Robert Lipe <robertlipe@usa.net>
14099
14100 * configure.in (i[34567]86-*-udk*): Install headers with cpio.
14101 * configure: Rebuilt.
14102
14103 Tue Jun 1 19:06:22 1999 David Edelsohn <edelsohn@gnu.org>
14104
14105 * rs6000/aix41.h (RS6000_CALL_GLUE): Define.
14106 * rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
14107 * rs6000/rs6000.c (rs6000_file_start): Use putc.
14108 (rs6000_output_load_toc_table): Same.
14109 (output_prolog, output_mi_thunk): Same.
14110 * rs6000/rs6000.h (SELECT_SECTION): Formatting.
14111 (ASM_GLOBALIZE_LABEL): Use putc.
14112
14113 Mon May 31 15:23:23 1999 Richard Henderson <rth@cygnus.com>
14114
14115 * alpha.md (reload_*_help): New patterns and splitters.
14116 (reload_*): Use them.
14117 (mov[qh]i): Likewise.
14118
14119 Mon May 31 11:48:07 1999 Mark Mitchell <mark@codesourcery.com>
14120
14121 * cccp.c (handle_directive): Handle backslash-newlines in quoted
14122 strings correctly.
14123
14124 Mon May 31 09:36:11 1999 Cort Dougan <cort@cs.nmt.edu>
14125
14126 * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
14127
14128 Mon May 31 11:40:20 EDT 1999 John Wehle (john@feith.com)
14129
14130 * flow.c (mark_regs_live_at_end, insn_dead_p,
14131 mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
14132 and HARD_FRAME_POINTER_REGNUM special treatment if reload
14133 hasn't run or the frame pointer is needed.
14134 * haifa-sched.c (attach_deaths): Likewise.
14135 * sched.c (attach_deaths): Likewise.
14136
14137 Mon May 31 00:46:17 1999 Jeffrey A Law (law@cygnus.com)
14138
14139 * jump.c (jump_optimize_1): Only set CAN_REACH_END if
14140 calculate_can_reach_end returns nonzero.
14141
14142 * configure.in (native gas tests): Search for an assembler in the
14143 same manner that the installed compiler will.
14144 * configure: Rebuilt.
14145 * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
14146
14147 * alias.c (find_base_term): Improve handling of addresses
14148 constructed from binary operations.
14149
14150 Sun May 30 14:29:17 1999 Eric Raskin (ehr@listworks.com)
14151
14152 * dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
14153
14154 Sun May 30 14:19:13 1999 Jeffrey A Law (law@cygnus.com)
14155
14156 * function.h (cleanup_label, frame_offset): Declare.
14157 (tail_recursion_label, tail_recursion_reentry): Likewise.
14158 (arg_pointer_save_area, rtl_expr_chain): Likewise.
14159 * stmt.c (cleanup_label, frame_offset): Delete extern declarations.
14160 (tail_recursion_label, tail_recursion_reentry): Likewise.
14161 (arg_pointer_save_area, rtl_expr_chain): Likewise.
14162
14163 Sat May 29 19:08:10 1999 Philip Blundell <philb@gnu.org>
14164
14165 * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already
14166 defined.
14167 * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
14168 (MAX_OFILE_ALIGNMENT): Define.
14169
14170 Fri May 28 21:40 1999 Robert Lipe <robertlipe@usa.net>
14171
14172 * fixincl.c: Replace local include scheme with #includes of
14173 gansidecl.h and system.h.
14174 * procopen.c: Likewise.
14175 * server.c: Likewise.
14176
14177 Fri May 28 03:47:03 1999 Eric Raskin (ehr@listworks.com)
14178
14179 * i386/t-dgux (EXTRA_PARTS): Add crti.o
14180 (crti.o): Add build rule and dependencies.
14181 * fixinc/fixinc.dgux: Use modified _int_varargs.h
14182
14183 Fri May 28 03:41:02 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14184
14185 * rs6000/sysv4.h (CC1_SPEC): Add support for -profile
14186 (LIB_LINUX_SPEC): Likewise.
14187 (LIB_LINUX_SPEC): Add support for -pthread
14188 (CPP_OS_LINUX_SPEC): Likewise.
14189 (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
14190 specified.
14191
14192 Thu May 27 13:04:52 1999 H.J. Lu (hjl@gnu.org)
14193
14194 * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
14195 conditional move.
14196 (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
14197 (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
14198 for IEEE math and CC_FCOMI.
14199 (put_jump_code): No IEEE if CC_FCOMI is set.
14200
14201 1999-05-27 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
14202
14203 * fold-const.c (fold_truthop): Make the field reference unsigned
14204 when converting a single bit compare.
14205
14206 Thu May 27 02:40:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
14207
14208 * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
14209
14210 Thu May 27 02:09:27 1999 Jeffrey A Law (law@cygnus.com)
14211
14212 * varasm.c (STRIP_NAME_ENCODING): Remove default definition.
14213 * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
14214 version did.
14215
14216 * reload.c (push_reload): Do not call remove_address_replacements
14217 when presented with identical optional reloads.
14218
14219 Wed May 26 14:18:05 1999 Richard Henderson <rth@cygnus.com>
14220
14221 * alpha.h (MASK_FIX, TARGET_FIX): New.
14222 (MASK_*): Reorganize constants.
14223 (CPP_AM_FIX_SPEC): New.
14224 (TARGET_SWITCHES): Add FIX.
14225 (EXTRA_SPECS): Likewise.
14226 (CPP_CPU_EV6_SPEC): Use FIX, not CIX.
14227 (SECONDARY_MEMORY_NEEDED): Likewise.
14228 (REGISTER_MOVE_COST): Likewise.
14229 * alpha.c (override_options): Add FIX support. Always use
14230 ALPHA_TP_PROG for ev6.
14231 * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
14232 * alpha/elf.h (ASM_FILE_START): Look at FIX too.
14233 * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
14234
14235 Wed May 26 09:53:05 1999 Mark Mitchell <mark@codesourcery.com>
14236
14237 * fold-const.c (fold): STRIP_NOPS when deciding whether or not
14238 something is a candidate for optimize_bit_field_compare.
14239
14240 Wed May 26 09:40:02 1999 Mark Mitchell <mark@codesourcery.com>
14241
14242 * gcc.texi (Passes): Document branch-shortening.
14243 * invoke.texi (Debugging Options): Document the fact that `-dp'
14244 outputs length information for instructions.
14245
14246 Wed May 26 08:49:31 1999 Nick Clifton <nickc@cygnus.com>
14247
14248 * flow.c: Revert previous delta.
14249
14250 Wed May 26 06:05:10 1999 Nick Clifton <nickc@cygnus.com>
14251
14252 * flow.c (insn_dead_p): Check against frame_pointer_rtx not
14253 FRAME_POINTER_REGNUM.
14254 (mark_set_1): Ditto.
14255 (mark_used_regs): Ditto.
14256
14257 Wed May 26 02:19:31 1999 Philip Blundell <pb@nexus.co.uk>
14258
14259 * arm.h (NEED_PLT_GOT): Fix mistake in last change.
14260 (GOT_PCREL): New macro. Define to 1 if not already defined.
14261 * arm/elf.h (GOT_PCREL): Define to 0.
14262 * arm.c (arm_finalize_pic): Take into account the setting of
14263 GOT_PCREL.
14264
14265 Tue May 25 14:06:06 1999 Jeffrey A Law (law@cygnus.com)
14266
14267 * output.h (STRIP_NAME_ENCODING): Provide default definition.
14268 * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
14269
14270 * flow.c (mark_set_1): Do not record BLKmode stores as dead
14271 store elimination candidates.
14272
14273 Tue May 25 08:55:57 1999 Gavin Romig-Koch <gavin@cygnus.com>
14274
14275 * config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if
14276 TARGET_GAS.
14277
14278 Mon May 24 20:30:08 1999 Jim Wilson <wilson@cygnus.com>
14279
14280 * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
14281 Add use of x-aix41-gld.
14282
14283 Mon May 24 16:44:09 1999 Jakub Jelinek <jj@ultra.linux.cz>
14284
14285 * sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
14286 (ASM_OUTPUT_DESTRUCTOR): Define.
14287
14288 Mon May 24 14:35:24 1999 Jeffrey A Law (law@cygnus.com)
14289
14290 * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
14291 last CODE_LABEL in a loop if we have previously passed a jump
14292 to the top of the loop.
14293
14294 Mon May 24 07:56:29 1999 Nick Clifton <nickc@cygnus.com>
14295
14296 * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
14297 applying Philip's patch.
14298
14299 Mon May 24 01:02:12 1999 Mark Mitchell <mark@codesourcery.com>
14300
14301 * stmt.c (expand_end_bindings): Ignore any elements of VARS that
14302 are not VAR_DECLs.
14303
14304 Sun May 23 20:31:16 1999 Jeffrey A Law (law@cygnus.com)
14305
14306 * loop.c (strength_reduce): Grow reg_single_usage as needed.
14307
14308 Sun May 23 10:13:20 1999 David O'Brien <obrien@FreeBSD.org>
14309
14310 * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
14311 Also remove a useless comment.
14312
14313 Sun May 23 10:05:23 1999 Jerry Quinn <jquinn@nortelnetworks.com>
14314
14315 * pa.md (negdf2,negsf2): Use fneg instead of fsub on pa 2.0.
14316
14317 Sat May 22 21:02:06 1999 David Edelsohn <edelsohn@gnu.org>
14318
14319 * collect2.c (main): Only generate import or export file and add
14320 to link arguments if non-empty. Use xmalloc not alloca.
14321 (write_{export,import}_file): Delete.
14322 (write_aix_file): New function.
14323 (locatelib): Use xmalloc not malloc.
14324 (GCC_OK_SYMBOL): Do not check type if aix64.
14325
14326 Sat May 22 09:35:51 1999 Philip Blundell <pb@nexus.co.uk>
14327
14328 Based on patch by Scott Bambrough and Pat Beirne:
14329 * config/arm/arm.c (making_const_table): New variable.
14330 * config/arm/arm.h (making_const_table): Declare.
14331 (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
14332 appropriate.
14333 * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
14334 Keep track of when we are building the constant table.
14335
14336 Sat May 22 09:34:22 1999 Philip Blundell <pb@nexus.co.uk>
14337
14338 * config/arm/arm.c (arm_override_options): Fix erroneous warning
14339 message.
14340
14341 Sat May 22 09:06:33 1999 Nick Clifton <nickc@cygnus.com>
14342
14343 * config/arm/arm.h (NEED_PLT_GOT): Only define if not already
14344 defined.
14345
14346 Sat May 22 07:17:05 1999 Nick Clifton <nickc@cygnus.com>
14347
14348 * tm.texi (FUNCTION_ARG): Correct description of a stack element
14349 in a PARALLEL.
14350
14351 Sat May 22 01:27:49 1999 Mark Mitchell <mark@codesourcery.com>
14352
14353 * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
14354
14355 Fri May 21 21:19:02 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14356
14357 * rs6000.c (output_mi_thunk): Enable full support again.
14358
14359 Fri May 21 20:09:52 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
14360
14361 * sh.h (BRANCH_COST): Define.
14362
14363 Thu May 20 10:00:42 1999 Stephen L Moshier <moshier@world.std.com>
14364
14365 * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
14366
14367 Thu May 20 09:58:57 1999 Jan Hubicka <hubicka@freesoft.cz>
14368
14369 * function.c (assign_stack_local): Align stack slot propertly.
14370 (assign_outer_stack_local): Likewise.
14371
14372 Thu May 20 10:38:43 1999 Mark Mitchell <mark@codesourcery.com>
14373
14374 * expr.h (lang_expand_constant): Declare.
14375 * toplev.c (lang_expand_constant): Define it.
14376 * varasm.c (output_constant): Use it.
14377
14378 Thu May 20 11:28:53 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14379
14380 * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
14381 Change function definitions to K&R style.
14382
14383 Thu May 20 08:16:39 1999 Bruce Korb <ddsinc09@ix.netcom.com>
14384
14385 * fixinc/fixincl.c: We must not ignore SIGCLD now.
14386
14387 Thu May 20 07:06:39 1999 Alexandre Oliva <aoliva@acm.org>
14388
14389 * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
14390 * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
14391 (several places): omit static initialization
14392 (process): use single fd, since only the read fd is used
14393 * fixinc/gnu-regex.c: define 'const' away, if not supported
14394 * fixinc/procopen.c(several places): omit static initialization
14395 * fixinc/server.c: define 'volitile' away, if not supported
14396
14397 1999-05-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
14398
14399 * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
14400 asm_fprintf and %L to generate the label name.
14401 * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
14402 (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
14403
14404 Thu May 20 01:40:55 1999 Jeffrey A Law (law@cygnus.com)
14405
14406 * jump.c (can_reverse_comparison_p): Do not abort if the comparison
14407 insn for a conditional jump can not be found.
14408
14409 Wed May 19 23:58:58 1999 Jeffrey A Law (law@cygnus.com)
14410
14411 * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
14412 on variables in specific sections other than .sbss and .sdata.
14413
14414 Wed May 19 03:56:56 1999 Mark Mitchell <mark@codesourcery.com>
14415
14416 * stmt.c (expand_return): Call start_cleanup_deferral and
14417 end_cleanup_deferral around conditional code.
14418
14419 Wed May 19 08:40:08 1999 Bruce Korb <ddsinc09@ix.netcom.com>
14420
14421 * fixinc/fixincl.tpl: Avoid depending on ANSI C features for
14422 filename lists. Utilizes new "krstr" AutoGen function.
14423 * fixinc/fixincl.x: Rebuilt.
14424
14425 Wed May 19 02:47:11 1999 Jan Hubicka (hubicka@freesoft.cz)
14426
14427 * i386.c (output_float_compare): Avoid GNU-C extensions.
14428
14429 Wed May 19 00:34:40 1999 Jeffrey A Law (law@cygnus.com)
14430
14431 * version.c: Bump to distinguish mainline tree from the
14432 gcc-2.95 branch.
14433
14434 See ChangeLog.1 for earlier changes.
This page took 0.616806 seconds and 6 git commands to generate.