OSDN Git Service

Jan Hubicka <hubicka@freesoft.cz>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Sat Oct  2 10:53:22 1999  Jan Hubicka  <hubicka@freesoft.cz>
2
3         * i386.md (ffs expander): Emit Pentium friendly code for
4         TARGET_PENTIUM.
5
6 Sat Oct  2 02:48:21 1999  Mark P. Mitchell  <mark@codesourcery.com>
7
8         * tree.c (build): Don't look at TREE_SIDE_EFFECTS or TREE_RAISES 
9         for non-trees.
10         (build1): Likewise.
11         
12 Fri Oct  1 18:01:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
13
14         * i386elf.h (TARGET_DEFAULT): Use symbolic constants.
15
16 Fri Oct  1 12:42:53 1999  Andreas Schwab  <schwab@suse.de>
17
18         * config/m68k/m68k.c (use_return_insn): Return false if the pic
19         register is in use.
20
21 Fri Oct  1 10:56:06 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
22
23         * md.texi (No Constraints): Delete section.
24         * Makefile.in (genattrtab.o): Don't depend on "insn-config.h".
25         * final.c (final_scan_insn): We always have register constraints.
26         * genattrtab.c: Don't include "insn-config.h".
27         (write_attr_case): We always have register constraints.
28         * genconfig.c (register_constraint_flag): Delete.
29         (walk_insn_part): Don't check whether we have register constraints.
30         (main): Don't write out "#define REGISTER_CONSTRAINTS".
31         * genoutput.c (have_constraints): Delete.
32         (main): Don't set it.
33         (output_operand_data): We always have constraints.
34         (scan_operands): Likewise.
35         (compare_operands): Likewise.
36         * local-alloc.c (block_alloc): We always have constraints.
37         (requires_inout): Always compile this function.
38         * recog.c (extract_insn): We always have constraints.
39         (constrain_operands, reg_fits_class_p): Always compile these
40         functions.
41         * recog.h (struct recog_data): Delete non-REGISTER_CONSTRAINTS
42         fields.
43         (struct insn_operand_data): Likewise.
44         * regclass.c (regclass): We always have constraints.
45         (record_reg_classes, copy_cost, record_address_regs,
46         auto_inc_dec_reg_p): Always compile these functions.
47         * regmove.c (regmove_optimize): We always have constraints.
48         * reload.c (find_reloads): Likewise.
49         * reload1.c (reload): Likewise.
50         (reload_cse_simplify_operands): Likewise.
51         * i860.c (output_delay_insn): Likewise.
52
53 Thu Sep 30 23:04:41 1999  Mark P. Mitchell  <mark@codesourcery.com>
54
55         * iris6.h (BUILD_VA_LIST_TYPE): Define.
56
57 Thu Sep 30 18:44:50 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
58
59         * rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node
60         for the va_list record.
61
62 Thu Sep 30 18:34:54 1999  Jan Hubicka  <hubicka@freesoft.cz>
63
64         * i386.c (ix86_adjust_cost): Ignore false ebp dependencies in
65         prologues.
66
67 Thu Sep 30 18:31:36 1999  Jan Hubicka  <hubicka@freesoft.cz>
68
69         * alias.c: Include insn-flags.h.
70         * Makefile.in (alias.o): Update.
71
72 Thu Sep 30 18:21:30 1999  Jan Hubicka  <hubicka@freesoft.cz>
73
74         * i386.c (ix86_expand_int_movcc): Convert LEU and GTU comparisons
75         to LTU and GEU.  Handle more cases using sbb.
76
77 Thu Sep 30 18:18:39 1999  Jan Hubicka  <hubicka@freesoft.cz>
78
79         * i386.md (truncatexfdf splitters): Do not use subreg.
80         (fop XFmode patterns): Fix mode in operand testing.
81
82 Thu Sep 30 18:04:13 1999  Richard Henderson  <rth@cygnus.com>
83
84         * jump.c (jump_optimize_1): Amend last change to test only the
85         form of the operand, not the insn.
86
87         * jump.c (jump_optimize_1) [conditional_move]: Use general_operand
88         not register_operand to determine when B may need preloading.
89
90 Thu Sep 30 17:39:16 1999  Richard Henderson  <rth@cygnus.com>
91
92         * alpha.md (*): Use nonimmediate not general_operand for SET_DEST.
93         (ffsdi2, extxl, insxh, mskxh): Add missing DImode to SET_SRC.
94         (call-value patterns): Move to end of file.
95         (*): Remove mode from label_ref in (pc) context.
96         (movstrqi): Use memory not general_operand for BLKmode operands.
97         (prologue_stack_probe_loop, builtin_longjmp): Add missing mode 
98         to register_operand operands.
99         (peep2 patterns): Convert from commented-out peephole patterns.
100
101 Thu Sep 30 14:39:17 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
102
103         * tree.h (enum built_in_function): Rename BUILT_IN_DWARF_REG_SIZE
104         to BUILT_IN_INIT_DWARF_REG_SIZES.
105         * builtins.c (expand_builtins, case BUILT_IN_INIT_DWARF_REG_SIZES):
106         Renamed from BUILT_IN_DWARF_REG_SIZE; call
107         expand_builtin_init_dwarf_reg_sizes.
108         * c-decl.c (init_decl_processing): Replace __builtin_dwarf_reg_size
109         with __builtin_init_dwarf_reg_size_table.
110         * dwarf2out.c (struct reg_size_range): Delete.
111         (expand_builtin_init_dwarf_reg_sizes): New function.
112         (expand_builtin_dwarf_reg_size): Delete.
113         * except.h (expand_builtin_init_dwarf_reg_sizes): Declare.
114         (expand_builtin_dwarf_reg_size): Don't declare.
115         * libgcc2.c (dwarf_reg_size_table_initialized): New.
116         (dwarf_reg_size_table): New.
117         (init_reg_size_table): New function.
118         (copy_reg): Use dwarf_reg_size_table.
119         (eh_context_initialize): Make sure dwarf_reg_size_table is initialized
120         before use.
121
122 Thu Sep 30 05:40:34 1999  Richard Earnshaw <rearnsha@arm.com>
123
124         * c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR): 
125         Correctly build argument list to constructor and destructor functions.
126
127 Thu Sep 30 00:13:27 1999  Dirk Zoller  <duz@rtsffm.com>
128
129         * c-tree.h (warn_float_equal): Declare.
130         * c-decl.c (warn_float_equal): Define.
131         (c_decode_option): Recognize -W[no-]float-equal.
132         * c-typeck.c (build_binary_op): Conditionally warn
133         about equality tests of floating point types.
134         * toplev.c (documented_lan_options): Add -W[no-]float-equal.
135         * invoke.texi: Add docs for -Wfloat-equal warning.
136
137 Wed Sep 29 23:43:39 1999  Jeffrey A Law  (law@cygnus.com)
138
139         * h8300.h (INIT_TARGET_OPTABS): Use init_one_optab instead of
140         generating RTL directly.
141         * mips.h (INIT_TARGET_OPTABS): Likewise.
142         * mn10200.h (INIT_TARGET_OPTABS): Likewise.
143
144         * expr.h (init_mov_optab): Delete declaration
145
146         * h8300.c (WORD_REG_USED): Update to avoid useless register
147         saves in interrupt functions and functions which never return.
148
149         * cse.c (struct set): Delete inner_dest_loc field. 
150         (cse_insn): Remove assignments to inner_dest_loc field.
151
152 Wed Sep 29 16:06:20 1999  Richard Henderson  <rth@cygnus.com>
153
154         * ggc-page.c: Don't include <unistd.h> etc taken care of
155         by "system.h".  Include <sys/mman.h> afterward.
156
157 Wed Sep 29 16:05:18 1999  Richard Henderson  <rth@cygnus.com>
158
159         * rs6000.c (rs6000_encode_section_info): If ggc_p, use
160         ggc_alloc_string.
161
162 Tue Sep 28 16:45:40 1999  David Edelsohn  <edelsohn@gnu.org>
163
164         * xcoffout.c (xcoffout_declare_function): Add documentation.
165         * rs6000.c (num_insns_constant_wide): Use TARGET_POWERPC64 not
166         TARGET_64BIT.  Compare constant to -1, not bit pattern.
167         (easy_fp_constant): Use TARGET_POWERPC64 not TARGET_64BIT.
168         (expand_block_move): Allow 8 DImode loads for PowerPC64.  Fix
169         gen_movsi typos.
170
171 Tue Sep 28 16:43:14 1999  Nick Clifton  <nickc@cygnus.com>
172
173         * dwarf2out.c (add_abstract_origin_attribute): Abort if
174         origin_die is NULL.
175         (gen_inlined_enumeration_type_die): Do not abort if the type has
176         not been writeen out.
177         (gen_inlined_structure_type_die): Do not abort if the type has
178         not been writeen out.
179         (gen_inlined_union_type_die): Do not abort if the type has
180         not been writeen out.
181         (gen_tagged_type_instantiation_die): Do not abort if the type
182         has not been written out.
183
184 Tue Sep 28 14:33:47 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
185
186         * c-decl.c (init_decl_processing): If MD_INIT_BUILTINS is defined,
187         call it.
188         * reg-stack.c (straighten_stack): Copy hard reg set with
189         COPY_HARD_REG_SET.
190
191 Tue Sep 28 01:11:05 1999  Richard Henderson  <rth@cygnus.com>
192
193         * builtins.c (stabilize_va_list): Stabilize array type va_list
194         to a pointer type, not the base record type.
195         (expand_builtin_va_copy): Dereference the pointers explicitly;
196         use the correct size for the copy.
197
198         * rs6000.c (rs6000_va_start): Dereference valist to get to the record.
199         (rs6000_va_arg): Likewise.
200
201 Mon Sep 27 23:27:21 1999  Richard Henderson  <rth@cygnus.com>
202
203         * rtl.h (struct rtx_def): Move gc_mark to align mode field.
204
205 Mon Sep 27 23:20:29 1999  Mark Mitchell  <mark@codesourcery.com>
206
207         * tree.h (struct tree_decl): Use `bclass', not `class', in name of
208         field.
209         (DECL_BUILT_IN_CLASS): Adjust accordingly.
210
211 Mon Sep 27 23:03:16 1999  Richard Henderson  <rth@cygnus.com>
212
213         * ggc-page.c (GGC_MIN_LAST_ALLOCATED): New.
214         (init_ggc): Use it instead of a constant.
215         (ggc_collect): Bound allocated_last_gc by it.
216
217 Mon Sep 27 19:06:04 1999  Jeffrey A Law  (law@cygnus.com)
218
219         * fixinc/fixinc.irix (stdio.h): Hack stdio.h to avoid problems
220         with va_list.
221
222 Mon Sep 27 19:40:17 CEST 1999   Marc Espie <espie@cvs.openbsd.org>
223
224         * configure.in (mips*el-*-openbsd*):  Don't duplicate default settings.
225         (mips*-*-openbsd*):  Let big endian configuration be a fragment.
226         * configure:  Regen.
227         * config/mips/openbsd.h:  New, OpenBSD little endian target.
228         * config/mips/openbsd-be.h:  New, OpenBSD big endian target fragment.
229         * config/mips/xm-openbsd.h:  New, OpenBSD host.
230
231 Mon Sep 27 10:28:48 1999  Andreas Schwab  <schwab@suse.de>
232
233         * config/m68k/m68k.c (output_function_prologue,
234         output_function_epilogue): Use
235         current_function_uses_pic_offset_table instead of regs_ever_live
236         to decide whether to save/restore pic register.
237         (legitimize_pic_address): Don't modify regs_ever_live any more.
238
239 Sun Sep 26 10:55:36 1999  Mark Mitchell  <mark@codesourcery.com>
240
241         * function.h (struct function): Add x_dont_save_pending_sizes_p.
242         * stor-layout.c (variable_size): Don't add sizes to the pending
243         sizes list if x_dont_save_pending_sizes_p is set.
244         
245 Sun Sep 26 16:36:52 1999  Robert Lipe  (robertlipe@usa.net)
246
247         * config/i386/dgux.h (SELECT_RTX_SECTION): Provide dummy argument
248         for symbolic_operand().
249         * config/i386/sco5.h (SELECT_RTX_SECTION): Likewise.
250
251 Sun Sep 26 07:37:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
252
253         * combine.c (gen_rtx_combine): Add missing call to va_end().
254
255         * final.c (asm_fprintf): Likewise.
256
257         * genattrtab.c (attr_rtx): Likewise.
258
259 Sat Sep 25 13:11:07 1999  Jeffrey A Law  (law@cygnus.com)
260
261         * cse.c: Update comments.
262         (cse_insn): When converting a conditional/computed jump into
263         an unconditional jump, always make sure a BARRIER immediately
264         follows the converted jump.  Do not delete unreachable code.
265         (cse_basic_block): Do not delete unreachable code.
266         * toplev.c (rest_of_compilation): Move call to 
267         delete_trivially_dead_insns after the conditional call to
268         jump_optimize.
269
270 Sat Sep 25 09:03:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
271
272         * collect2.c (make_temp_file): Don't prototype.
273
274         * gcc.c (make_temp_file): Likewise.
275
276         * mips.c (mips_make_temp_file): Renamed from `make_temp_file'.
277
278 Sat Sep 25 13:42:15 1999  Nick Clifton  <nickc@cygnus.com>
279
280         * varasm.c (asm_emit_uninitialised): New function: Generate
281         the assembler statements necessary to declare an uninitialised 
282         variable.
283         (ASM_EMIT_LOCAL): New macro: Emit a local, uninitialised
284         variable.
285         (ASM_EMIT_BSS): New macro: Emit an entry in the bss section.
286         (ASM_EMIT_COMMON): New macro: Emit an entry in the common
287         section.
288         (assemble_variable): Use asm_emit_uninitialised to emit an
289         uninitialised variable.
290
291 Fri Sep 24 17:10:56 1999  Nick Clifton  <nickc@cygnus.com>
292
293         * combine.c (simplify_comparison): Cope with downshifting a 32 bit
294         constant on a 64 bit host.  Patch supplied by Geoffrey Keating
295         <geoffk@cygnus.com>.
296
297 Fri Sep 24 10:48:10 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
298
299         * builtins.c (expand_builtin): Use MD_EXPAND_BUILTIN if defined.
300         * c-common.h (builtin_function): Don't declare.
301
302         * c-decl.c (duplicate_decls): Use DECL_BUILT_IN_CLASS rather than
303         DECL_BUILT_IN.
304         (pushdecl): Likewise.
305         (finish_decl): Likewise.
306         (builtin_function): New arg CLASS.  Arg FUNCTION_CODE now of type
307         int.  All callers changed.
308         Set the builtin's DECL_BUILT_IN_CLASS.
309         * tree.h (enum built_in_class): New.
310         (enum built_in_function): Delete NOT_BUILT_IN.
311         (DECL_FUNCTION_CODE): The corresponding field in tree_decl is now
312         in a union.
313         (DECL_SET_FUNCTION_CODE): Likewise.
314         (DECL_BUILT_IN_CLASS): New macro.
315         (DECL_BUILT_IN): Use DECL_BUILT_IN_CLASS.
316         (struct tree_decl): Split builtin function code field into a
317         struct.
318         (builtin_function): Declare.
319
320 Fri Sep 24 01:45:05 1999  Mark Mitchell  <mark@codesourcery.com>
321
322         * optabs.c (init_traps): Fix typo in last change.
323
324 Fri Sep 24 01:10:11 1999  Mark Mitchell  <mark@codesourcery.com>
325
326         * toplev.c (rest_of_decl_compilation): Update comment.
327
328 Fri Sep 24 11:57:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
329
330         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Put the symbol
331         in .sbss if appropriate.
332         (EXTRA_SECTION_FUNCTIONS): Add sbss.
333         (SBSS_SECTION_ASM_OP): New macro.
334         * config/mips/linux.h (EXTRA_SECTION_FUNCTIONS): Add sbss.
335         (EXTRA_SECTIONS): Add in_sbss.
336         * config/mips/mips.h: Prototype sbss_section.
337
338 Thu Sep 23 18:18:55 1999  Mark Mitchell  <mark@codesourcery.com>
339
340         * stmt.c (expand_start_bindings): Don't allow cleanup instructions
341         to disappear.
342
343 Thu Sep 23 18:07:01 1999  Mark Mitchell  <mark@codesourcery.com>
344
345         * optabs.c (init_traps): Register trap_rtx as a GC root.
346
347 Thu Sep 23 17:41:47 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
348
349         * config/mips/mips.c (function_arg_pass_by_reference): Define
350         unconditionally, since it's called unconditionally.
351
352 Thu Sep 23 13:40:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
353
354         * toplev.c (documented_lang_options): Add -fshort-wchar.
355         * c-decl.c (c_decode_option): Likewise.
356         (init_decl_processing): If -fshort-wchar, use 'short unsigned int'
357         for wchar_t.
358         * c-common.c, c-lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node.
359         * gcc.c (default_compilers): If -fshort-wchar, 
360         override __WCHAR_TYPE__.
361         * tm.texi (C Dialect Options): Add -fshort-wchar.
362
363         * dwarf2out.c (output_aranges): Use DW_AT_location to find the
364         symbol for a variable.
365
366         * cpplib.h (CPP_PREPROCESSED): New macro.
367         * cpplib.c (handle_directive): Don't complain about `# NUMBER' if
368         we're seeing this input for a second time.
369
370 Thu Sep 23 12:54:49 1999  Alex Samuel  <samuel@codesourcery.com>
371
372         * emit-rtl.c (init_emit_once): Initialize modes first.
373
374 Sun Sep 19 01:23:23 1999  Alex Samuel  <samuel@codesourcery.com>
375
376         * config/i386/i386.c (pic_label_name): Change to char pointer.
377         (global_offset_table): New variable.
378         (load_pic_register): Fill global_offset_table if it hasn't
379         already been done.  Allocate pic_label_name dynamically.
380         * ggc.h (empty_string): New variable.
381         * ggc-simple.c (empty_string): Likewise.
382         (init_ggc): Allocate empty_string and add as root.
383         * stmt.c (digit_strings): New variable.
384         (init_stmt): Add last_block_end_note as root.  Allocate and
385         initialize digit_strings. 
386         (expand_asm_operands): Use empty_string instead of string
387         constant.  Use digit_strings instead of string constants.
388         * profile.c (init_arc_profiler): Allocate string with
389         ggc_alloc_string instead of xmalloc.
390         (output_func_start_profiler): Likewise.
391         * c-typeck.c (digest_init): Check if init is error_mark_node.
392
393 Thu Sep 23 12:59:14 1999  Alex Samuel  <samuel@codesourcery.com>
394                           Richard Henderson  <rth@cygnus.com>
395
396         * ggc-page.c: New file.
397         * Makefile.in (ggc-page.o): New.
398
399 Thu Sep 23 13:55:21 1999  Jeffrey A Law  (law@cygnus.com)
400
401         * invoke.texi: Document -fdelete-null-pointer-checks
402         * toplev.c (flag_delete_null_pointer_checks): New.
403         (f_options): Add entry for -fdelete-null-pointer-checks.
404         (rest_of_compilation): Conditionalize null pointer check
405         elimination on flag_delete_null_pointer_checks.
406         (main): If -O2 or greater, enable -fdelete-null-pointer-checks
407
408 1999-09-23 10:56 -0700  Zack Weinberg  <zack@bitmover.com>
409
410         * iso646.h, stdarg.h, stdbool.h, stddef.h, varargs.h: Add
411         copyright notice and special exception to GPL.
412
413 Thu Sep 23 13:40:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
414
415         * abi64.h (mips_function_value): Add prototype arguments.
416
417         * mips-protos.h: New file with mips prototypes.
418
419         * mips.c: Include "tm_p.h".
420         (mktemp, lookup_name): Add prototype arguments.
421         (extern_list, string_constant, mips_fill_delay_slot,
422         mips_output_external, mips_output_external_libcall,
423         mips_output_filename, mips_declare_object, function_prologue,
424         mips_expand_prologue, function_epilogue, mips16_constant,
425         build_mips16_function_stub, mips_output_conditional_branch):
426         Constify a char*.
427         (mips_va_start): Remove unused variable `u'.
428         (mips_va_arg): Cast value to unsigned when comparing against one.
429         (trace): Delete.
430         (save_restore_insns, mips_expand_prologue): Add missing arg in
431         call to `large_int'.
432
433         * mips.h: Move prototypes to mips-protos.h.
434         (data_section, memory_address_p, rdata_section,
435         readonly_data_section, simple_epilogue_p, text_section): Delete
436         prototypes delcared elsewhere.
437         (mips_epilogue_delay_slots, print_options): Delete unused decls.
438         (trace): Delete.
439         (GO_PRINTF, GO_PRINTF2): Call fprintf, not trace.
440
441         * mips.md: Delete extra args in call to `mips_move_2words'.
442
443         * xm-iris6.h (alloca): Add prototype argument.
444
445         * genpeep.c: Include "tm_p.h" in generated output file.
446
447 Thu Sep 23 10:36:55 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
448
449         * basic-block.h (find_edge_index): Change parameters.
450         * flow.c (verify_edge_list): Pass basic_block parameters to
451         find_edge_index instead of integers.
452
453 Thu Sep 23 15:54:12 1999  Nick Clifton  <nickc@cygnus.com>
454
455         * combine.c (simplify_comparison): Use an unsigned shift to adjust
456         the constant.
457
458 Thu Sep 23 08:46:21 1999  Guy Harris  <guy@netapp.com>
459
460         * gcc.1: Fix a formatting error.
461
462 Wed Sep 22 16:10:21 1999  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
463
464         * install.texi (Configurations): Remove pyramid. Add fr30, i686,
465         i786, mn10200, mn10300, pdp11, v850.
466
467 Thu Sep 23 07:37:13 1999  Dan Nicolaescu  <dann@ics.uci.edu>
468
469         * libgcc2.c (num_digits): Add prototype with 
470         __attribute__((const)).
471         (__terminate): Add prototype.
472
473 Thu Sep 23 05:32:06 1999  Richard Henderson  <rth@cygnus.com>
474
475         * builtins.c, dbxout.c, varasm.c: Include tm_p.h.
476
477         * alpha/alpha.c (print_operand): Fix type of `code'.
478         (alpha_output_filename): Constify.
479         * alpha/alpha.h: Move all function declarations ...
480         * alpha/alpha-protos.h: ... here.  New file.
481         * alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
482         (SECTION_FUNCTION_TEMPLATE): Likewise.
483
484 Thu Sep 23 11:15:36 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
485
486         * expmed.c (do_cmp_and_jump): Pass ccp_jump to can_compare_p.
487         * expr.c (expand_expr): Likewise.
488         (do_jump): Likewise.
489         (do_store_flag): Pass ccp_store_flag to can_compare_p.
490         * expr.h (enum optab_index): Add cbranch, cmov, cstore optabs and
491         accessor macros.
492         (enum can_compare_purpose): New.
493         (can_compare_p): Adjust prototype.
494         (prepare_cmp_insn, prepare_operand): Declare.
495         * genopinit.c (optabs): Add cbranch_optab, cmov_optab, cstore_optab.
496         * optabs.c (cmp_available_p): Deleted.
497         (expand_abs): Pass ccp_jump to can_compare_p.
498         (can_compare_p): New arg PURPOSE.  Check for combined optabs.
499         (prepare_cmp_insn): No longer static.  Add arg PURPOSE.
500         Call can_compare_p rather than cmp_available_p.
501         (prepare_operand): No longer static.
502         (emit_cmp_and_jump_insn): Check for and use cbranch patterns.
503         (emit_cmp_and_jump_insns): Pass ccp_jump to prepare_cmp_insn.
504         (expand_float): Fix a slightly broken emit_cmp_insn/emit_jump_insn
505         sequence to use emit_cmp_and_jump_insns.
506         (init_optabs): Initialize cbranch_optab, cmov_optab, cstore_optab.
507
508 Wed Sep 22 17:58:01 1999  Stan Cox  <scox@cygnus.com>
509
510         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept large
511         register offsets; let LEGITIMIZE_ADDRESS load it into a register.
512         (LEGITIMIZE_ADDRESS): Use plus_constant to avoid
513         (plus (reg) (const_int 0))
514         * mips.md (call_internal3c): New pattern for -mips16 -mlong-calls.
515         
516 Wed Sep 22 17:55:31 1999  David Edelsohn  <edelsohn@gnu.org>
517
518         * rs6000.c (expand_block_move): DImode loads and stores require
519         word-aligned displacements.  Increment address registers with
520         adddi3 on 64-bit platform.  Use TARGET_POWERPC64 not TARGET_64BIT.
521
522 Wed Sep 22 17:35:55 1999  Michael Meissner  <meissner@cygnus.com>
523
524         * dwarf2out.c (base_type_die): Use the name __unknown__ if there
525         is no name for the base type, rather than segfault.  If we are
526         writing out a complex integer type, use DW_ATE_lo_user.
527
528         * expr.c (emit_move_insn_1): If we are copying a complex that fits
529         in one word or less (complex char, complex short, or on 64 bit
530         systems complex float) to/from a hard register, copy it through
531         memory instead of dying in gen_{real,imag}part.  If we have a
532         short complex type, prevent inlining since it allocates stack
533         memory.
534
535         * tree.c (build_complex_type): If we are writing dwarf2 output,
536         generate a name for complex integer types.
537
538 Wed Sep 22 11:34:08 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
539
540         * basic-block.h (add_noreturn_fake_exit_edges): Use correct name.
541         * flow.c (remove_edge): Remove extra whitespace.
542         (remove_fake_edges): Fix comment.
543         (add_noreturn_fake_exit_edges): Use the correct name.
544
545 Wed Sep 22 16:12:40 BST 1999  Nathan Sidwell  <nathan@acm.org>
546
547         * Makefile.in (INTL_MOSTLYCLEAN, INTL_CLEAN): New variables.
548         (mostlyclean): Depend on INTL_MOSTLYCLEAN.
549         (clean): Depend on INTL_CLEAN.
550         (maintainer-clean): Adjust.
551
552 Wed Sep 22 10:18:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
553
554         * configure.in (AC_PREREQ): Bump to 2.13.
555         (AC_C_STRINGIZE): Call this instead of using a custom macro.
556
557         * gansidecl.h (HAVE_STRINGIZE): Define, if stage2 gcc && __STDC__.
558
559         * system.h (HAVE_STRINGIZE): Test this instead of HAVE_CPP_STRINGIFY.
560
561         * acconfig.h (HAVE_CPP_STRINGIFY): Delete.
562
563         * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Delete.
564         (HAVE_STRINGIZE): Define.
565
566 Wed Sep 22 06:25:15 1999  Jim Kingdon  <http://developer.redhat.com>
567
568         * c-parse.in: save and restore warn_pointer_arith on __extension__
569         along with pedantic.
570         (SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
571         Set the type of extension to itype rather than $<itype>1 kludge.
572         * extend.texi (Alternate Keywords): Adjust documentation.
573         * c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt.
574
575 Wed Sep 22 06:06:57 1999  Jeffrey A Law  (law@cygnus.com)
576
577         * pa.c, pa.h, pa.md: Support multiple assembler dialects in
578         most assembler templates.
579
580         * pa.c (hppa_legitimize_address): Handle full offsets for PA2.0
581         FP loads and stores.
582         (following_call): Always return zero for the PA8000.
583         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Handle full offsets for PA2.0
584         FP loads and stores.
585         (LEGITIMIZE_RELOAD_ADDRESS): Similarly.
586
587         * pa.h (BRANCH_COST): Define.
588
589         * pa.md (return, return_internal): Use bve for PA2.0.
590
591         * pa.md (fused multiply): Add variants which reduce height for the
592         fused multiply, but which still generate 2 insns.
593         (fnegabs): Similarly.
594
595         * pa.md (subsi3): Turn into an expander.  Create two anonymous
596         patterns.  One for PA2.0 one for PA1.x.  Use mtsarcm for PA2.0.
597         * pa.h (EXTRA_CONSTRAINT): Handle 'S'.
598
599         * pa.md (floatunssisf2, floatunssidf2): Generate different RTL
600         for TARGET_PA_20.
601         (floatunssidf2_pa20, floatunssisf2_pa20): New patterns for PA2.0
602         code generation.
603         (floatunsdisf2, floatunsdidf2, fixuns_truncsfsi2): Likewise.
604         (fixuns_truncdfsi2, fixuns_truncsfdi2, fixuns_truncdfsi2): Likewise.
605
606         * regclass.c (init_regs): Add "top_of_stack" as a garbage
607         collection root.
608
609         * flow.c (record_active_eh_regions): Terminate loop after finding
610         the last insn in the last basic block.
611
612 Wed Sep 22 20:25:00 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
613
614         * config/c4x/c4x.md: Delete parallel instruction peepholes.
615
616 Wed Sep 22 19:59:19 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
617
618         * config/c4x/c4x.c (c4x_add_gc_roots): Add tree roots.
619
620 Wed Sep 22 19:56:25 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
621
622         * config/c4x/c4x.c (c4x_process_after_reload): Rework machdep insn
623         splitting to not use output template.
624
625 Wed Sep 22 19:50:12 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
626
627         * config/c4x/c4x.h (EXPAND_BUILTIN_VA_START): Call c4x_va_start.
628         * config/c4x/c4x.c (c4x_va_start): New function.
629
630 Tue Sep 21 18:40:01 1999  Jan Hubicka  <hubicka@freesoft.cz>
631
632         * genrecog.c (not_both_true): Handle correctly cases when called for
633         tests with different positions in the insn.
634
635 Tue Sep 21 18:29:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
636
637         * machmode.h (HOST_PTR_PRINTF): Move from here ...
638
639         * system.h (HOST_PTR_PRINTF): ... to here.
640
641         * mips-tfile.c: Don't include machmode.h.
642
643         * Makefile.in (MACHMODE_H): New variable.  Update to use it.
644         (mips-tfile.o): Don't depend on machmode.h.
645
646 Tue Sep 21 18:27:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
647
648         * haifa-sched.c (sched_analyze): Rename local variable `region' to
649         avoid conflicts with typedef struct `region' at the top level scope.
650
651 Tue Sep 21 14:14:50 1999  Richard Henderson  <rth@cygnus.com>
652
653         * basic-block.h (basic_block): Add eh_beg, eh_end.
654         * flow.c (entry_exit_blocks): Update.
655         (find_basic_blocks): Don't allocate bb_eh_end, or pass it around.
656         Call new functions.
657         (find_basic_blocks_1): Don't record eh_list at each bb.  Use
658         lists.c functions to allocate insn lists.
659         (make_edges): Use eh_beg+eh_end, not the lists.  Split out EH
660         edge creation ...
661         (make_eh_edge): ... here.  New.
662         (move_stray_eh_region_notes): New.
663         (record_active_eh_regions): New.
664         (delete_unreachable_blocks): Split out block merging ...
665         (try_merge_blocks): ... here.  New.
666         (merge_blocks_move_predecessor_nojumps): Remove edge arg.
667         Dump debugging data.
668         (merge_blocks_move_successor_nojumps): Likewise.
669         (merge_blocks): Use eh_beg+eh_end to validate block movement.
670
671 Tue Sep 21 11:15:03 1999  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
672
673         * extend.texi (Bound member functions): Document unbound pmf
674         conversion.
675
676 Tue Sep 21 14:55:11 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
677
678         * flow.c (split_edge): Handle insertion on a fallthrough edge which
679         has the EXIT_BLOCK as a dest.
680
681 Tue Sep 21 14:51:23 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
682
683         * flow.c (remove_edge): New function to remove an edge from the 
684         flow graph.
685         (remove_fake_successors): New function to remove fake successor edges.
686         (remove_fake_edges): New function to remove all fake edges from the
687         flow graph.
688         (add_fake_exit_edges): New function to add fake edges from all blocks
689         with no successors to the exit block.
690         * basic-block.h (remove_fake_edges, add_fake_exit_edges): Add 
691         prototypes for new functions.
692
693 Tue Sep 21 14:49:53 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
694
695         * config/mips/elf64.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
696         Use Pmode to determine whether to output .dword or .word.
697
698 Tue Sep 21 11:04:34 1999  Alex Samuel  <samuel@codesourcery.com>
699
700         * tree.c (built_in_filename): New variable.
701         (BUILT_IN_FILENAME): New macro.
702         (init_tree_codes): Allocate built_in_filename.
703         (make_node): Use built_in_filename instead of string constant.
704
705 Tue Sep 21 14:13:27 1999  Nick Clifton  <nickc@cygnus.com>
706
707         * configure.in: Add fr30 target.
708         * configure: Regenerate.
709         * config/fr30: New directory.
710         * config/fr30/crti.asm: New file.
711         * config/fr30/fr30.c: New file.
712         * config/fr30/crtn.asm: New file.
713         * config/fr30/fr30.h: New file.
714         * config/fr30/fr30.md: New file.
715         * config/fr30/lib1funcs.asm: New file.
716         * config/fr30/t-fr30: New file.
717         * config/fr30/xm-fr30.h: New file.
718
719 Tue Sep 21 06:45:31 1999  Jeffrey A Law  (law@cygnus.com)
720
721         * flow.c (merge_blocks_move_successor_nojumps): Delete the
722         BARRIER at the end of the successor, not the BARRIER before
723         the successor.
724
725         * pa.c (pa_add_gc_roots): Fix thinko in last change.
726
727 Tue Sep 21 05:29:17 1999  Richard Earnshaw (rearnsha@arm.com)
728
729         * stmt.c (any_pending_cleanups): Don't crash when 
730         current_function->stmt is unset.
731
732 Tue Sep 21 00:59:49 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
733
734         * emit-rtl.c (init_emit_once): Initialize const_int_rtx before
735         other initializations that may use it for relative offsets.
736
737 Mon Sep 20 21:43:25 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
738
739         * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
740         (ASM_SPEC): Moved from sol2dbg.h.  Added work-around for gas.
741         * config/i386/sol2dbg.h: Removed.
742         * config/i386/sol2gas.h: New file, to enable gas work-around.
743         * configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
744         Don't use sol2dbg.h.
745         * configure: Rebuilt.
746
747 Mon Sep 20 13:29:41 1999  Mark Mitchell  <mark@codesourcery.com>
748
749         * invoke.texi (-fthis-is-variable): Remove documentation.
750
751 Mon Sep 20 12:59:16 1999  Richard Henderson  <rth@cygnus.com>
752
753         * basic-block.h (compute_bb_for_insn): Declare.
754         * flow.c (compute_bb_for_insn): Export.  Don't accept the varray
755         to use; set size of basic_block_for_insn directly.
756         (find_basic_blocks): Update.
757
758 Mon Sep 20 15:11:54 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
759
760         * flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
761
762 Mon Sep 20 14:56:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
763
764         * crtstuff.c (ON_EXIT): Delete empty macro definition.
765         (__do_global_ctors_aux): Call atexit(), not ON_EXIT().
766
767 Mon Sep 20 15:25:35 1999  Nick Clifton  <nickc@cygnus.com>
768
769         * c-decl.c (c_decode_option): Extend comment.
770
771 Mon Sep 20 14:43:37 1999  Nick Clifton  <nickc@cygnus.com>
772
773         * toplev.c (progname): Make 'const char *'
774         (flag_print_mem): Move out of main.
775         (version_flag): Move out of main.
776         (filename): Move out of main.
777         (debug_args): Remove g prefix from options.
778         (documented_lang_options): Remove cpplib specific options.
779         (display_help): Add g prefix to debug options.
780         (check_lang_option): Delete this function.
781         (decode_d_option): New function: Decode -d... option.
782         (decode_f_option): New function: Decode -f... option.
783         (decode_W_option): New function: Decode -W... option.
784         (decode_g_option): New function: Decode -g... option.
785         (independent_decode_option): New function: Decode a language
786         independent command line option.
787         (main): Invoke lang_decode_option and then
788         independent_decode_option on each command line option in
789         turn. 
790
791 Mon Sep 20 05:41:36 1999  Jeffrey A Law  (law@cygnus.com)
792
793         Revert this change.  Gavin's patch to operand_equal_p is a better fix.
794          * fold-const.c (fold_range_test): Do not try to fold the range
795          test if the rhs or lhs has side effects.
796
797         * basic-block.h (compute_flow_dominators): Declare.
798
799         * gcse.c (alloc_code_hoist_mem): New function.
800         (free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
801         (compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
802         (hoist_code, one_code_hoisting_pass): Likewise.
803         (gcse_main): If optimizing for size, then hoist expressions
804         computed in multiple dominated basic blocks.
805
806         * gcse.c (invalid_nonnull_info): New function.
807         (delete_null_pointer_checks): Likewise.
808         * rtl.h (delete_null_pointer_checks): Declare.
809         * toplev.c (rest_of_compilation): Call delete_null_pointer_checks.
810
811         * flow.c (merge_blocks_move_predecessor_nojumps): New function.
812         (merge-blocks_move_successor_nojumps): Likewise.
813         (merge_blocks): Allow merging of some blocks, even if it requires
814         physical movement of the blocks, but not if it requires new jumps.
815
816         * bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
817         Callers and prototype changed.
818         * bitmap.h: Fix debug_bitmap and debug_bitmap_file prototypes.
819
820 Mon Sep 20 06:56:32 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
821
822         * config/sparc/sol2.h (LINK_SPEC): Avoid the duplication of
823         -YP when both -p and -pg are present.  From i386/sol2.h.
824
825 Mon Sep 20 10:49:05 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
826
827         * Makefile.in (distclean): Delete tm_p.h.
828         * configure.in: Create a new file, "tm_p.h", from a list in
829         "tm_p_file". For ix86 systems, set up "tm_p_file" to include
830         "i386/i386-protos.h".
831
832         * alias.c: Include "tm_p.h".
833         * c-typeck.c: Likewise.
834         * calls.c: Likewise.
835         * cse.c: Likewise.
836         * emit-rtl.c: Likewise.
837         * explow.c: Likewise.
838         * expmed.c: Likewise.
839         * expr.c: Likewise.
840         * final.c: Likewise.
841         * flow.c: Likewise.
842         * fold-const.c: Likewise.
843         * function.c: Likewise.
844         * gcse.c: Likewise.
845         * global.c: Likewise.
846         * haifa-sched.c: Likewise.
847         * integrate.c: Likewise.
848         * jump.c: Likewise.
849         * local-alloc.c: Likewise.
850         * loop.c: Likewise.
851         * optabs.c: Likewise.
852         * recog.c: Likewise.
853         * reg-stack.c: Likewise.
854         * regclass.c: Likewise.
855         * regmove.c: Likewise.
856         * reload.c: Likewise.
857         * reload1.c: Likewise.
858         * reorg.c: Likewise.
859         * resource.c: Likewise.
860         * stmt.c: Likewise.
861         * stor-layout.c: Likewise.
862         * toplev.c: Likewise.
863         * tree.c: Likewise.
864         * unroll.c: Likewise.
865         * genattrtab.c (main): Make generated file include "tm_p.h".
866         * genemit.c (main): Likewise.
867         * genoutput.c (main): Likewise.
868         * genrecog.c (main): Likewise.
869
870         * i386.h: Delete all prototypes.
871         * i386.c: Include "tm_p.h".
872         (ix86_attr_length_default): Call constant_call_address_operand
873         with correct number of arguments.
874         * i386-protos.h: New file.
875         * i386.md (unnamed patterns): Call constant_call_address_operand
876         with correct number of arguments.
877         (exception_receiver): Call load_pic_register with correct number
878         of arguments.
879
880 Sun Sep 19 14:18:39 1999  Richard Henderson  <rth@cygnus.com>
881
882         * c-pragma.c (mark_align_stack): Dereference the void* properly.
883
884 Sun Sep 19 09:03:40 1999  Mark Mitchell  <mark@codesourcery.com>
885
886         * rtl.h (insns_safe_to_move_p): New function.
887         * loop.c (find_and_verify_loops): Use it.
888         * rtlanal.c (insns_safe_to_move_p): Define it.
889
890 Sun Sep 19 02:54:33 1999  Richard Henderson  <rth@cygnus.com>
891
892         * c-pragma.c: Include ggc.h.
893         * Makefile.in (c-pragma.o): Update.
894
895 Sat Sep 18 16:01:18 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
896
897         * config/i386/sol2.h (CPP_SPEC): Support -[p]threads
898         (LIB_SPEC): Likewise.
899         (LINK_SPEC): Do not assert -z text with -shared -mimpure-text.
900         Reindent -YP/-p/-pg.
901         Copied from config/sparc/sol2.h.
902
903 Sat Sep 18 11:52:43 1999  Richard Henderson  <rth@cygnus.com>
904
905         * c-pragma.c (mark_align_stack): New.
906         (init_pragma): New.
907         * c-pragma.h (init_pragma): Declare it.
908         * c-lex.c (init_parse): Call it.
909
910 Sat Sep 18 15:20:38 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
911
912         * configure.in: Pick up thread library on Solaris/x86 just
913         like on Solaris/sparc.
914         * configure: Rebuilt.
915
916 Sat Sep 18 11:15:58 1999  Alex Samuel  <samuel@codesourcery.com>
917
918         * rtl.h (global_rtx_index): New enum.
919         (global_rtl): Change to array of rtx.
920         (pc_rtx, cc0_rtx): Redefine accordingly.
921         (cc0_rtx, stack_pointer_rtx, frame_pointer_rtx): Likewise.
922         (hard_frame_pointer_rtx, arg_pointer_rtx): Likewise.
923         (virtual_incoming_args_rtx, virtual_stack_vars_rtx): Likewise.
924         (virtual_outgoing_args_rtx, virtual_cfa): Likewise.
925         (const_int_rtx): Change to array of rtx.
926         (const0_rtx, const1_rtx, const2_rtx, constm1_rtx): Redefine
927         accordingly. 
928         * emit-rtl.c (global_rtl): Change to array of rtx.
929         (const_int_rtx): Change to aray of rtx.
930         (gen_rtx_CONST_INT): Redefine accordingly.
931         (init_emit_once): Allocate and initialize global_rtl.  Likewise
932         for const_int_rtx.  Add both as GC roots.
933         * genattrtab.c (global_rtl): Update declaration.
934
935 1999-09-17  Ulrich Drepper  <drepper@cygnus.com>
936
937         * Makefile (USER_H): Add iso646.h back.
938
939 Sat Sep 18 01:07:21 1999  Jeffrey A Law  (law@cygnus.com)
940
941         * haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of
942         zapping the LOG_LINKS of sched_before_next_call.
943
944         * pa.h (INSN_SETS_ARE_DELAYED): Delete.
945         * pa.c (insn_refs_are_delayed): Renamed from
946         insn_sets_and_refs_are_delayed.
947
948 Fri Sep 17 15:19:01 1999  Mark Mitchell  <mark@codesourcery.com>
949
950         * functiion.h (struct function): Add x_whole_function_mode_p.
951         (retrofit_block): Declare.
952         * function.c (retrofit_block): New function.
953         (identify_blocks): Add assertions.  Allow an incomplete set of
954         block notes if we're still generating code for the function.
955         * integrate.c: Include loop.h.
956         (expand_inline_function): Call find_loop_tree_blocks to map block
957         notes to blocks when in whole-function mode.  Use retrofit_block
958         to insert new BLOCKs for the inlined function, rather than
959         insert_block.
960         * stmt.c (expand_fixup): Likewise.  Don't use pushlevel/polevel.
961         * Makefile.in (integrate.o): Depend on loop.h.
962
963 Fri Sep 17 15:11:20 1999  Mark Mitchell  <mark@codesourcery.com>
964
965         * tree.h (warn_about_unused_variables): Declare.
966         * stmt.c (warn_about_unused_variables): New function, split out
967         from ...
968         (expand_end_bindings): Here.
969
970 Fri Sep 17 15:07:37 1999  Mark Mitchell  <mark@codesourcery.com>
971
972         * stmt.c (preserve_subexpressions_p): Don't crash when
973         current_function->stmt is unset.
974
975 Fri Sep 17 15:03:16 1999  Mark Mitchell  <mark@codesourcery.com>
976
977         * stmt.c (expand_start_bindings): Allow callers to pass a flag
978         indicating that no NOTE_INSN_BLOCK_BEG note is required.
979         (expand_start_target_temps): Use it.
980         * except.c (expand_eh_region_start_for_decl): Likewise.
981         * expr.c (expand_expr): Likewise.
982
983 Fri Sep 17 15:05:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
984
985         * fold-const.c (operand_equal_p): Pay attention to side effects.
986
987 Fri Sep 17 11:14:17 1999  Jason Merrill  <jason@yorick.cygnus.com>
988
989         * libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
990         * sparc/sunos4.h (HAVE_ON_EXIT): Remove.
991
992         * tlink.c (scan_linker_output): Look for keywords before accepting
993         a mangled name in quotes.
994
995 Thu Sep 16 16:47:08 1999  Richard Henderson  <rth@cygnus.com>
996
997         * alpha/alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
998         * alpha/osf2or3.h (DWARF2_UNWIND_INFO): Likewise.
999
1000 Thu Sep 16 16:35:41 1999  Richard Henderson  <rth@cygnus.com>
1001
1002         * alpha.md: Revert Thu Nov 26 change that came in through the
1003         last gcc2 merge: reinstate (plus (plus ...)) reload patterns.
1004         Avoid earlyclobber when possible.
1005
1006 Thu Sep 16 18:44:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1007
1008         * libgcc2.c (__do_global_ctors): Call atexit with one arg.
1009
1010         * sparc/sunos4.h (on_exit): Wrap prototype parameters in PARAMS().
1011         Define HAVE_ON_EXIT.
1012
1013 Thu Sep 16 18:06:35 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1014
1015         * system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros.  Use
1016         CTYPE_CONV in all ctype macros.
1017
1018         * cccp.c (initialize_char_syntax): Use uppercase ctype macro
1019         from system.h.
1020
1021         * cexp.y (initialize_random_junk): Likewise.
1022
1023         * c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.
1024
1025         * i370.c (handle_pragma): Likewise.
1026
1027         * i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.
1028
1029         * v850.c (override_options): Likewise.
1030
1031         * doprint.c (_doprnt): Likewise.
1032
1033         * fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
1034         Likewise.
1035
1036         * fixinc/server.c (load_data): Likewise.
1037
1038         * fold-const.c (real_hex_to_f): Likewise.
1039
1040         * genattr.c (write_upcase, gen_attr): Likewise.
1041
1042         * genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
1043         write_upcase): Likewise.
1044
1045         * genemit.c (print_code): Likewise.
1046
1047         * genopinit.c (gen_insn): Likewise.
1048
1049         * genpeep.c (print_code): Likewise.
1050
1051         * genrecog.c (print_code): Likewise.
1052
1053         * optabs.c (init_libfuncs): Likewise.
1054
1055 Thu Sep 16 14:03:32 1999  Mark Mitchell  <mark@codesourcery.com>
1056
1057         * haifa-sched.c (sched_analyze): Keep the list of notes organized
1058         in pairs.
1059         (reemit_notes): Likewise.
1060
1061 Thu Sep 16 11:50:52 1999  Alex Samuel  <samuel@codesourcery.com>
1062
1063         * ggc.h (ggc_root): Move to ggc-common.c.
1064         (roots): Remove.
1065         (ggc_mark_rtx, ggc_mark_tree): Change to macro.
1066         (ggc_mark_rtvec, ggc_mark_tree_varray): Declare extern.
1067         (ggc_mark_tree_hash_table, ggc_mark_string, ggc_mark): Likewise.
1068         (ggc_mark_roots, ggc_mark_rtx_children, ggc_mark_tree_children): New.
1069         * ggc-common.c (ggc_root): Move from ggc.h.
1070         (roots): Declare, static.
1071         (ggc_mark_rtx, ggc_mark_tree): Renamed to...
1072         (ggc_mark_rtx_children, ggc_mark_tree_children): Don't check for
1073         null or check/set mark bit.
1074         (ggc_mark_roots): New.
1075         * ggc-simple.c (ggc_collect): Call ggc_mark_roots.
1076
1077 Thu Sep 16 11:37:32 1999  Richard Henderson  <rth@cygnus.com>
1078
1079         * m32r.c: Include toplev.h.
1080         (*): Add ATTRIBUTE_UNUSED as needed to arguments.
1081         (gen_compare): Rename swap_p to must_swap to match uses.
1082         Add default abort case.
1083         (m32r_output_function_epilogue): Remove unused variables.
1084         (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
1085         * m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
1086         define to empty parameter list.  Update all uses.
1087         (predicate decls): Use enum machine_mode not int.
1088         * m32r.md (movsi): Call abort, not fatal_insn.
1089         (zero_branch_insn, rev_zero_branch_insn): Add default abort case.
1090
1091 1999-09-14  Andrew Haley  <aph@cygnus.com>
1092
1093         * config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
1094         use $0 instead of 0.
1095
1096 Thu Sep 16 10:53:36 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1097
1098         * reload1.c (order_regs_for_reload): Move hard_reg_n_uses
1099         computation out of loop over hard regs.
1100
1101 Wed Sep 15 21:37:06 1999  Mark Mitchell  <mark@codesourcery.com>
1102
1103         * function.c (identify_blocks): Don't shadow a variable in an 
1104         outer scope.
1105         * integrate.c (integrate_decl_tree): Don't use pushlevel,
1106         pushdecl, or poplevel to build up the new BLOCK tree.
1107         (expand_inline_function): Likewise.
1108         (integrate_parm_decls): Likewise.
1109
1110 Wed Sep 15 21:20:38 1999  Mark Mitchell  <mark@codesourcery.com>
1111
1112         * c-typeck.c (qualify_type): Merge qualifiers from both types.
1113
1114 1999-09-15  Brad Lucier  <lucier@math.purdue.edu>
1115
1116         * toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
1117         * invoke.texi: Document this change.
1118
1119 Wed Sep 15 17:56:00 1999  Richard Henderson  <rth@cygnus.com>
1120
1121         * emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
1122         Free the struct.
1123         (mark_emit_status): Renamed from mark_emit_state.
1124         * except.c (mark_eh_status): Renamed from mark_eh_state.
1125         Check not null before marking.
1126         (free_eh_status): New.
1127         * expr.c (mark_expr_status, free_expr_status): New.
1128         * function.c (free_machine_status): New.
1129         (free_after_parsing): New.
1130         (free_after_compilation): Move bits to free_after_parsing; call
1131         free_eh_status, free_expr_status; zero the marked members of the
1132         function state.
1133         (prepare_function_start): No can_garbage_collect. 
1134         Call init_eh_for_function.
1135         (expand_dummy_function_end): Free up current_function state.
1136         (mark_function_status): Renamed from mark_function_state.
1137         (mark_function_chain): No can_garbage_collect.  Call mark_expr_status.
1138         * function.h (struct function): No can_garbage_collect.
1139         (free_machine_status, free_after_parsing): Declare.
1140         (free_eh_status, free_expr_status): Declare.
1141         * ggc.h (mark_expr_status): Declare.
1142         * stmt.c (free_stmt_status): Free the struct.
1143         (mark_stmt_status): Renamed from mark_stmt_state.
1144         (init_stmt): Don't call init_eh.
1145         (init_stmt_for_function): Don't call init_eh_for_function.
1146         * toplev.c (compile_file): Call init_eh.
1147         (rest_of_compilation): Free basic block info before ggc_collect.
1148         Call free_after_parsing; conditionally call free_after_compilation.
1149         * varasm.c (mark_varasm_status): Renamed from mark_varasm_state.
1150         Check not null before marking.
1151         (free_varasm_status): Don't check DECL_DEFER_OUTPUT.  Free the struct.
1152
1153 Wed Sep 15 17:53:16 1999  Richard Henderson  <rth@cygnus.com>
1154
1155         * c-lex.c (yylex): Initialize warn.
1156
1157 Wed Sep 15 18:35:38 1999  Jeffrey A Law  (law@cygnus.com)
1158
1159         * pa.c (emit_move_sequence): Properly set the mode of the scratch
1160         register when performing secondary reloads for the SAR register.
1161
1162 Wed Sep 15 15:51:52 1999  Mark Mitchell  <mark@codesourcery.com>
1163
1164         * rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
1165         (NOTE_BLOCK): New macro.
1166         (NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
1167         * function.h (identify_blocks): Change prototype.
1168         * function.c (identify_blocks): Simplify.
1169         (reorder_blocks): Likewise.
1170         * ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a 
1171         NOTE_INSN_BLOCK_{BEG,END}.
1172         * haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
1173         the list of saved notes if the note isn't a
1174         NOTE_INSN_BLOCK_{BEG,END}.
1175         (move_insn1): Use NOTE_EH_HANDLER in comment, rather than
1176         NOTE_BLOCK_NUMBER.
1177         (reemit_notes): Adjust recreation of notes to reflect new saved
1178         note structure.
1179         * print-rtl.c (print_rtx): Print the address of the BLOCK when
1180         printing a block note.
1181         * stmt.c (block_vector): Remove.
1182         (find_loop_tree_blocks): Simplify.
1183         (unroll_block_trees): Likewise.
1184         * tree.h (reorder_block): Change prototype.
1185         
1186 Wed Sep 15 14:39:35 1999  Jason Merrill  <jason@yorick.cygnus.com>
1187
1188         * gbl-ctors.h: Lose HAVE_ATEXIT.  Don't define ON_EXIT.
1189         * libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
1190         (__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
1191         (__do_global_dtors): Likewise.  Don't mess with _exit_dummy_decl.
1192         (atexit, exit): Simplify.
1193         * tm.texi: Document NEED_ATEXIT and ON_EXIT.  Remove HAVE_ATEXIT.
1194         * config/lots: Remove defns of HAVE_ATEXIT.
1195
1196 Wed Sep 15 10:25:12 1999  Mark Mitchell  <mark@codesourcery.com>
1197
1198         * calls.c (precompute_arguments): Fix typo in comment.
1199         * expr.c (preexpand_calls): Don't preexpand the cleanup in a
1200         TARGET_EXPR.
1201
1202 Wed Sep 15 09:59:59 1999  Mark Mitchell  <mark@codesourcery.com>
1203
1204         * dsp16xx.c (override_options): Fix typos in GC root registration.
1205
1206 Wed Sep 15 15:23:28 1999  Philip Blundell  <pb@nexus.co.uk>
1207
1208         * config/arm/linux-elf.h (MAKE_DECL_ONE_ONLY): Copy definition
1209         from config/svr4.h.
1210         (UNIQUE_SECTION_P, UNIQUE_SECTION): Likewise.
1211         (FUNCTION_PROFILER): Redefine appropriately for Linux.
1212         (CC1_SPEC): Likewise.
1213
1214 Wed Sep 15 10:09:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1215
1216         * genattr.c (main): Add extern prototype.  Call return, not exit.
1217         * genattrtab.c (main): Likewise.
1218         * gencheck.c (main): Likewise.
1219         * gencodes.c (main): Likewise.
1220         * genconfig.c (main): Likewise.
1221         * genemit.c (main): Likewise.
1222         * genextract.c (main): Likewise.
1223         * genflags.c (main): Likewise.
1224         * gengenrtl.c (main): Likewise.
1225         * genopinit.c (main): Likewise.
1226         * genoutput.c (main): Likewise.
1227         * genpeep.c (main): Likewise.
1228         * genrecog.c (main): Likewise.
1229         
1230         * genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
1231         * genattrtab.c (get_insn_name): Likewise.
1232         * gencodes.c (get_insn_name): Likewise.
1233         * genconfig.c (get_insn_name): Likewise.
1234         * genemit.c (get_insn_name): Likewise.
1235         * genextract.c (get_insn_name): Likewise.
1236         * genflags.c (get_insn_name): Likewise.
1237         * genopinit.c (get_insn_name): Likewise.
1238         * genpeep.c (get_insn_name): Likewise.
1239         
1240         * gencheck.c (usage): Add static prototype.
1241         * genextract.c (print_path): Constify a char*.
1242         * genopinit.c (optabs): Likewise.
1243         * genoutput.c (operand_data, data, output_predicate_decls,
1244         compare_operands): Likewise.
1245         * genrecog.c (write_tree): Add default case in switch.
1246
1247 Wed Sep 15 09:59:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1248
1249         * rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.
1250
1251         * print-rtl.c (get_insn_name): Remove prototype.
1252
1253         * toplev.h (progname): Declare const.
1254
1255         * toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
1256         init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
1257         dump_sched_info, dump_local_alloc, regset_release_memory,
1258         print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
1259         error_with_file_and_line, error_with_decl, error_for_asm, error,
1260         fatal, warning_with_file_and_line, warning_with_decl, warning,
1261         pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
1262         Remove redundant prototypes.
1263
1264         (notice, check_lang_option, report_file_and_line, vnotice,
1265         mark_file_stack): Add static prototype.
1266         (set_fatal_function): Add prototype.
1267         (vnotice, report_file_and_line, set_fatal_function,
1268         check_lang_option): Constify a char*.
1269         (main): Prototype.  Call return, not exit.
1270
1271 Wed Sep 15 09:50:18 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1272
1273         * aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
1274
1275         * configure.in (AC_GCC_C_LONG_DOUBLE): Call it.
1276
1277         * gansidecl.h (HAVE_LONG_DOUBLE): Define if gcc for stage2.
1278
1279         * ggc-simple.c (HAVE_LONG_DOUBLE): Test before using long double.
1280
1281 Wed Sep 15 11:04:43 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1282
1283         * function.c (assign_parms): Delete arg SECOND_TIME.  Don't test it,
1284         behave as if it's zero in all cases.
1285         (expand_function_start): Adjust call to assign_parms.
1286         * tree.h (assign_parms): Adjust prototype.
1287         * objc/objc-act.c (hack_method_prototype): Adjust call to
1288         assign_parms.
1289
1290 Tue Sep 14 21:47:06 1999  Jeffrey A Law  (law@cygnus.com)
1291
1292         * cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
1293         arg_pointer_rtx fixed if the argument pointer register is
1294         not fixed.
1295         (NONZERO_BASE_PLUS_P): Likewise.
1296
1297 Tue Sep 14 20:26:02 1999  Richard Henderson  <rth@cygnus.com>
1298
1299         * rtl.def (match_insn, match_insn2): Remove match_insn; rename
1300         match_insn2 to match_insn.
1301         * genrecog.c (add_to_sequence): Rename MATCH_INSN2.
1302
1303 Tue Sep 14 20:10:29 1999  Richard Henderson  <rth@cygnus.com>
1304
1305         * Makefile.in (USER_H): Remove va-foo.h.
1306
1307         * ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h,
1308         va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h,
1309         va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h,
1310         va-spur.h,va-v850.h}: Remove.
1311
1312 Tue Sep 14 19:43:16 1999  Richard Henderson  <rth@cygnus.com>
1313
1314         * sparc/sparc.md (eligible_for_return_delay): New attribute.
1315         (in_return_delay): Use it instead of match_insn.
1316
1317 Tue Sep 14 23:05:37 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
1318
1319         * config/alpha/va_list.h (va-alpha.h): Do not include.
1320         (__gnuc_va_list): Typedef as in varargs.h.
1321
1322 Tue Sep 14 18:14:03 1999  Richard Henderson  <rth@cygnus.com>
1323
1324         * ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and
1325         DECL_LIVE_RANGE_RTL.
1326
1327 Tue Sep 14 16:47:08 1999  Mark Mitchell  <mark@codesourcery.com>
1328
1329         * except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
1330         not NOTE_BLOCK_NUMBER.
1331         (expand_eh_region_end): Likewise.
1332         (find_exception_handler_labels): Likewise.
1333         (scan_region): Likewise.
1334         (exception_optimize): Likewise.
1335         (update_rethrow_references): Likewise.
1336         (set_insn_eh_region): Likewise.
1337         * final.c (final_scan_insn): Likewise.
1338         * flow.c (make_edges): Likewise.
1339         * integrate.c (expand_inline_function): Likewise.
1340         * print-rtl.c (print_rtx): Likewise.
1341
1342 Tue Sep 14 16:30:16 1999  Richard Henderson  <rth@cygnus.com>
1343
1344         * ginclude/stdarg.h, ginclude/varargs.h: Implement in
1345         terms of builtin functions and types.
1346
1347         * mips.c (mips_build_va_list): New.
1348         (mips_va_start, mips_va_arg): New.
1349         * mips.h (BUILD_VA_LIST_TYPE): New.
1350         (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
1351
1352         * sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
1353         (sh_build_va_list, sh_va_start, sh_va_arg): New.
1354         * sh.h (BUILD_VA_LIST_TYPE): New.
1355         (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
1356
1357 Tue Sep 14 16:20:24 1999  Richard Henderson  <rth@cygnus.com>
1358
1359         * recog.h (struct recog_data): Make dup_num, operand_address_p,
1360         n_operands, n_dups, n_alternatives `char' instead of `unsigned char'.
1361         (struct insn_data): Likewise with n_operands, n_dups, 
1362         n_alternatives, output_format.
1363         * regclass.c (scan_one_insn): Cast n_operands to int before
1364         arithmetic inside comparison.
1365
1366 Tue Sep 14 15:13:36 1999  Richard Henderson  <rth@cygnus.com>
1367
1368         * toplev.c (compile_function): Unconditionally emit nop.
1369
1370 Tue Sep 14 14:41:47 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1371
1372         * haifa-sched.c (actual_hazard): Move declaration of variable
1373         `this_cost' into the scope where it is used.
1374
1375 Tue Sep 14 14:14:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1376
1377         * c-pragma.c (handle_pragma_token): Wrap variables `name' and
1378         `value' in HANDLE_PRAGMA_WEAK.  Wrap variable `align' in
1379         HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
1380
1381         * genrecog.c (make_insn_sequence): Call memset, not bzero.
1382
1383         * jump.c (find_insert_position): Don't declare or define unless
1384         !HAVE_conditional_arithmetic.
1385         (returnjump_p_1, delete_prior_computation): Add static prototypes.
1386
1387         * mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
1388         
1389         * recog.c (offsettable_address_p): Prototype function pointer.
1390         (preprocess_constraints): Call memset, not bzero.
1391         
1392         * tree.c (tree_node_kind_names): Constify a char*.  Make static.
1393         (gcc_obstack_init): Don't declare.
1394         (fix_sizetype): Add static prototype.
1395         (gcc_obstack_init): Use prototype casts in call to _obstack_begin.
1396         (tree_cons): Call memset, not bzero.
1397
1398         * varasm.c (remove_from_pending_weak_list): Wrap declaration and
1399         definition in macro ASM_WEAKEN_LABEL.
1400         (mark_const_hash_entry): Add static prototype.
1401
1402 Tue Sep 14 12:22:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1403
1404         * c-lex.c (handle_generic_pragma): Remove unused variable `c'.
1405
1406         * unroll.c (find_common_reg_term, subtract_reg_term,
1407         loop_find_equiv_value): Add static prototypes.
1408         (unroll_loop): Wrap variable `prev' in macro HAVE_cc0.
1409         (copy_loop_body): Remove unreachable break statement.
1410         
1411         * sparc.c (sparc_va_arg): Remove unused variable `tmp'.
1412
1413         * sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes.
1414         
1415 Tue Sep 14 15:28:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1416
1417         Undo some changes from the gcc2 merge:
1418         * rtl.def (CONSTANT_P_RTX): Fix the comment for this rtx code.
1419         * emit-rtl.c (gen_rtx_REG): Don't test special reg rtx's for null
1420         pointers.
1421
1422         Undo this change:
1423         Sat Oct  3 07:20:28 1998  Stephen L Moshier  <moshier@world.std.com>
1424         * emit-rtl.c (gen_lowpart_common): Disable optimization of
1425         initialized float-int union if the value is a NaN.
1426
1427 Tue Sep 14 04:03:44 1999  Mumit Khan  <khan@xraylith.wisc.edu>
1428
1429         * gthr-win32.h: New file.
1430
1431         * i386/winnt.c (i386_pe_valid_decl_attribute_p): Recognize
1432         shared as a valid attribute.
1433         * i386/cygwin.h (ASM_OUTPUT_SECTION): Handle shared attribute.
1434         * extend.texi: Document `shared' variable attribute.
1435
1436 Tue Sep 14 04:01:46 1999  Loren Rittle  <ljrittle@acm.org>
1437
1438         * configure.in: Handle --enable-threads on FreeBSD.
1439         * configure: Rebuit.
1440
1441 Tue Sep 14 03:58:44 1999  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
1442
1443         * configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add 
1444         thread support.
1445         * configure: Rebuilt.
1446
1447 Tue Sep 14 03:47:23 1999  Joel Sherrill <joel@OARcorp.com>
1448                           Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
1449                           Rosimildo DaSilva <rdasilva@connecttel.com>
1450
1451         * configure.in (m68k-*-rtemscoff*): Added.
1452         * configure.in (mips64orion-*-rtems*): Converted to ELF.
1453         * configure.in (sparc-*-rtemsaout*): Added as alias for old
1454         sparc-rtems configuration.
1455         * configure.in (sparc-*-rtemself*): Added.
1456         * configure.in (sparc-*-rtems*): Now ELF not a.out.
1457         * config/i386/rtems.h: Added comment.
1458         * config/sparc/rtemself.h: New file.
1459
1460         * configure.in (m68k-rtemself): Added.
1461         * config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
1462         and DWARF_DEBUGGING_INFO.
1463         * config/m68k/crti.s: New file.
1464         * config/m68k/crtn.s: New file.
1465         * config/m68k/t-crtstuff: New file.
1466         * config/m68k/rtemself.h: New file.
1467
1468         * configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
1469         global ctor/dtor and C++ exception handling.
1470         * config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
1471         for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
1472         ENDFILE_SPEC.
1473         * config/i386/t-rtems-i386: New File.
1474
1475 Tue Sep 14 09:47:41 1999  Andreas Schwab  <schwab@suse.de>
1476
1477         * stmt.c (expand_end_case): Return right away if the case stack is
1478         empty.
1479
1480 Tue Sep 14 01:47:19 1999  Jeffrey A Law  (law@cygnus.com)
1481
1482         * Makefile.in (version.c): Remove rule incorrectly brought in from
1483         the gcc2 merge.
1484
1485 Tue Sep 14 01:42:27 1999  Marc Espie <espie@cvs.openbsd.org>
1486
1487         * Makefile.in:  Prepend $(SHELL) to move-if-change calls.
1488         * msdos/top.sed:  Take into account a prepended $(SHELL) to
1489         move-if-change.
1490         * winnt/config-nt.sed:  Likewise.  Kill bogus substitution.
1491
1492         * objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.
1493
1494 Tue Sep 14 01:38:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
1495
1496         * regmove.c (fixup_match_1): Don't change an unchanging register.
1497         (stable_but_for_p): Renamed to:
1498         (stable_and_no_regs_but_for_p).  Reject unchanging registers too.
1499         Changed all callers.
1500
1501 Tue Sep 14 01:33:15 1999  Andreas Schwab  <schwab@suse.de>
1502
1503         * loop.c (strength_reduce): Don't call reg_used_between_p if the
1504         insn from BL2 is after the insn from BL.
1505
1506 Mon Sep 13 21:06:01 1999  Richard Henderson  <rth@cygnus.com>
1507
1508         * recog.h (INSN_OUTPUT_FORMAT_*): New.
1509         (struct insn_data): Merge `template' and `outfun' into `output'.
1510         Add `output_format'.
1511         * genoutput.c (INSN_OUTPUT_FORMAT_*): New.
1512         (struct data): Remove `outfun'; add `output_format'.
1513         (name_for_index): Remove declaration.
1514         (output_insn_data): Handle output formats.
1515         (process_template): Emit the bare array for @.
1516         (gen_expand, gen_split): Set output_format to NONE.
1517         * output.h (get_insn_template): Declare.
1518         * final.c (get_insn_template): New.
1519         (final_scan_insn): Use it.
1520         * toplev.c (compile_file): Likewise.
1521
1522         * c4x/c4x.c (c4x_process_after_reload): Likewise.
1523         * i860/i860.c (output_delayed_branch): Likewise.
1524         (output_delay_insn): Likewise.
1525
1526 1999-09-13  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
1527
1528         * rtl.c (obstack_alloc_rtx): Removed.
1529
1530 1999-09-13 17:03 -0700  Zack Weinberg  <zack@bitmover.com>
1531
1532         * config/gmicro/gmicro.md: Disable move DF->DI anonymous pattern.
1533
1534 Mon Sep 13 15:21:46 1999  Richard Henderson  <rth@cygnus.com>
1535
1536         * i386.c (call_insn_operand): Reject const_int.
1537         (expander_call_insn_operand): Use call_insn_operand.
1538
1539 Mon Sep 13 17:44:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1540
1541         * gcc.c (getrusage): Wrap prototype arguments in PROTO().
1542
1543 1999-09-13 12:18 -0700  Zack Weinberg  <zack@bitmover.com>
1544
1545         * config/i370/i370.md (mulsi, divsi, modsi anonymous insns):
1546         Use DImode operation.
1547
1548 1999-09-13 12:13 -0700  Zack Weinberg  <zack@bitmover.com>
1549
1550         * gcc.c: Include sys/resource.h.
1551         (report_times): New flag.
1552         (execute):  If report_times is set, calculate and report the
1553         CPU time consumed by each subprocess.
1554
1555         (rus, prus): New globals.
1556         (option_map): Add --time.
1557         (display_help): Document -time.
1558         (process_command): Set report_times if -time is given.
1559         Turn off -pipe if -time is given.
1560
1561         * invoke.texi: Document new option -time.
1562
1563         * configure.in: Check for getrusage.  Check if we have to
1564         prototype getrusage.
1565         * acconfig.h: Add NEED_DECLARATION_GETRUSAGE.
1566         * configure: Regenerate.
1567         * config.in: Regenerate.
1568
1569 Mon Sep 13 12:57:06 1999  Dave Brolley  <brolley@cygnus.com>
1570
1571         * cppinit.c (append_include_chain): Initialize 'next' and 'alloc'
1572         fields.
1573
1574 Mon Sep 13 10:01:33 1999  Nick Clifton  <nickc@cygnus.com>
1575
1576         * config/fp-bit.c: Define L_thenan_sf or L_thenan_df (as
1577         appropriate) if FINE_GRAINED_LIBRARIES is not defined.
1578         (nan): Return _thenan_sf or _thenan_df as appropriate.
1579         (L_thenan_sf): Define _thenan_sf.
1580         (L_thenan_df): Define _thenan_df.
1581
1582         * Makefile.in (FPBIT_FUNCS): Add _thenan_sf.
1583         (DPBIT_FUNCS): Add _thenan_df.
1584
1585 Mon Sep 13 09:38:53 1999  Andreas Schwab  <schwab@suse.de>
1586
1587         * tree.c (fix_sizetype):  Exchange the types for TYPE_SIZE and
1588         TYPE_SIZE_UNIT.
1589
1590 Sun Sep 12 23:28:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1591
1592         * Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
1593
1594         * gcc.h: New file.
1595         (lang_specific_driver): Don't take a function pointer parameter.
1596         All callers changed.
1597
1598         * gcc.c: Include gcc.h.
1599         (do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
1600         lang_specific_extra_outfiles, fatal): Don't declare.
1601         (multilib_defaults_raw): Constify.
1602         (read_specs): Call memset, rather than bzero.
1603         (main): Call return, not exit.
1604         (lookup_compiler): Call memcpy, not bcopy.
1605         (fatal): Make extern.
1606
1607         * cppspec.c: Include gcc.h.
1608         (lang_specific_driver): Initialize variable `quote'.  Constify a
1609         char*.  All calls to the function pointer parameter now
1610         explicitly call `fatal'.
1611
1612         * gccspec.c (lang_specific_driver): Include gcc.h.
1613
1614 Sun Sep 12 19:52:10 1999  Richard Earnshaw <rearnsha@arm.com>
1615
1616         * arm.c (note_invalid_constants): Use recog_data.operand_type
1617         for recog_op_type.
1618
1619 Sun Sep 12 15:53:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1620
1621         * tree.h (build_common_tree_nodes, build_common_tree_nodes_2):
1622         Declare.
1623
1624         * reload.h (reload_in, reload_out, reload_in_reg, reload_out_reg,
1625         reload_reg_class, reload_inmode, reload_outmode, reload_optional,
1626         reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
1627         reload_secondary_in_reload, reload_secondary_out_reload,
1628         reload_secondary_in_icode, reload_secondary_out_icode,
1629         reload_reg_rtx, reload_when_needed): Delete declarations.
1630         (struct reload): New structure.
1631         (rld): Declare new array.
1632         * reload.c (reload_in, reload_out, reload_in_reg, reload_out_reg,
1633         reload_reg_class, reload_inmode, reload_outmode, reload_optional,
1634         reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
1635         reload_secondary_in_reload, reload_secondary_out_reload,
1636         reload_secondary_in_icode, reload_secondary_out_icode,
1637         reload_reg_rtx, reload_when_needed): Delete definitions.
1638         (rld): New array.
1639         (whole file): Replace uses of the deleted arrays with uses of rld.
1640         * reload1.c (whole file): Replace uses of the deleted arrays with
1641         uses of rld.
1642         (choose_reload_regs): Copy in/out of save_reload_reg_rtx with
1643         explicit loops, not with bcopy.
1644
1645 Sun Sep 12 05:00:24 1999  Richard Henderson  <rth@cygnus.com>
1646
1647         * recog.h (insn_template, insn_outfun, insn_n_operands, insn_n_dups,
1648         insn_n_alternatives, insn_operand_constraint, insn_operand_address_p,
1649         insn_operand_mode, insn_operand_strict_low, insn_operand_predicate,
1650         insn_name): Delete and consolidate into new structures.
1651         (insn_operand_predicate_fn): New.
1652         (insn_output_fn): New.
1653         (insn_gen_fn): New.
1654         (struct insn_operand_data): New.
1655         (struct insn_data): New.
1656         (insn_data): New.
1657         (OUT_FCN): Update for insn_data change.
1658         * builtins.c (expand_builtin_strlen): Likewise.
1659         (expand_builtin_memcmp): Likewise.
1660         * combine.c (make_extraction, simplify_comparison): Likewise.
1661         * cse.c (canon_reg, cse_insn): Likewise.
1662         * explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
1663         * expmed.c (store_bit_field, extract_bit_field): Likewise.
1664         (emit_store_flag): Likewise.
1665         * expr.c (convert_move, emit_block_move): Likewise.
1666         (clear_storage, emit_push_insn, expand_increment): Likewise.
1667         (do_store_flag): Likewise.
1668         * expr.h (GEN_FCN): Likewise.
1669         (insn_gen_function): Die.
1670         * final.c (final_scan_insn): Update for insn_data change.
1671         (output_asm_name): Likewise.
1672         * function.c (fixup_var_refs_1): Likewise.
1673         * loop.c (check_dbra_loop): Likewise.
1674         * optabs.c (expand_binop, expand_twoval_binop): Likewise.
1675         (expand_unop, expand_complex_abs, emit_unop_insn): Likewise.
1676         (prepare_cmp_insn, prepare_operand, emit_indirect_jump): Likewise.
1677         (emit_conditional_move, gen_add2_insn, gen_sub2_insn): Likewise.
1678         * recog.c (validate_replace_rtx_1, extract_insn): Likewise.
1679         * regmove.c (gen_add3_insn): Likewise.
1680         * reload.c (push_secondary_reload, combine_reloads): Likewise.
1681         (find_reloads, find_reloads_address_1): Likewise.
1682         (debug_reload_to_stream): Likewise.
1683         * reload1.c (emit_reload_insns, gen_reload): Likewise.
1684         * stmt.c (expand_end_case): Likewise.
1685         * toplev.c (compile_file): Likewise.
1686
1687         * c4x/c4x.c (c4x_process_after_reload): Likewise.
1688         * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
1689
1690         * print-rtl.c (insn_name_ptr): Remove declaration.
1691         (get_insn_name): Declare.
1692         (print_rtx): Use it.
1693         * genoutput.c (insn_name_ptr): Remove.
1694         (next_operand_number): New.
1695         (struct operand_data): New.
1696         (null_operand, odata, odata_end): New.
1697         (struct data): Use struct operand_data.
1698         (idata, idata_end): Renamed from insn_data and end_of_insn_data.
1699         (get_insn_name): Renamed from name_for_index.
1700         (output_prologue): Define NO_MD_PROTOTYPES.
1701         (output_predicate_decls): Break out from output_epilogue.
1702         Iterate over the operands list.
1703         (output_operand_data): Break out from output_epilogue.  Emit
1704         just the operands list.
1705         (output_insn_data): Break out from output_epilogue.  Emit just
1706         the insn data.
1707         (output_epilogue): Remove.
1708         (output_get_insn_name): New.
1709         (constraints, op_n_alternatives, predicates, address_p): Die.
1710         (modes, strict_low, seen): Die.
1711         (scan_operands): Take new param `d' instead of writing to 
1712         seven global variables.
1713         (compare_operands): New.
1714         (place_operands): New.
1715         (validate_insn_alternatives): Update for struct data change.
1716         (gen_insn): Don't zero or copy 7 global arrays.  Update for
1717         scan_operands; call place_operands.
1718         (gen_peephole, gen_expand, gen_split): Likewise.
1719         (main): Update for new output routines.
1720
1721         * genattr.c (insn_name_ptr): Remove.
1722         (get_insn_name): New function.
1723         * genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
1724         * genextract.c, genflags.c, genopinit.c, genpeep.c: Likewise.
1725         * genrecog.c: Likewise.
1726
1727         * alpha.md (adddi3): Make `pattern' array static.
1728
1729 Sun Sep 12 22:05:21 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1730
1731         * config/c4x/c4x.h (c4x_rpts_cycles_string,
1732         c4x_cpu_version_string): Constify char *.
1733         * config/c4x/c4x.c (c4x_rpts_cycles_string,
1734         c4x_cpu_version_string): Likewise.
1735
1736 Sat Sep 11 23:28:33 1999  Richard Henderson  <rth@cygnus.com>
1737
1738         * tree.c (save_tree_status): Revert 10 Sep change.
1739         (restore_tree_status): Likewise.  Call obstack_free with NULL 
1740         before freeing the obstack proper.
1741
1742 Sat Sep 11 23:23:46 1999  Richard Henderson  <rth@cygnus.com>
1743
1744         * cse.c (cse_main): If gc'ing, collect around cse_basic_block.
1745
1746         * ggc-simple.c (ggc_pop_context): Fold outstanding bytes into
1747         surrounding context.
1748
1749 Sat Sep 11 19:52:43 1999  Mark Mitchell  <mark@codesourcery.com>
1750
1751         * tree.c (type_hash_canon): Put all types in the hash-table, when
1752         GC'ing.
1753
1754 Sat Sep 11 18:37:04 1999  Richard Henderson  <rth@cygnus.com>
1755
1756         * recog.h (struct recog_data, recog_data): New.
1757         (recog_foo variables): Kill.
1758         * recog.c (recog_operand, recog_operand_loc): Kill.
1759         (recog_dup_loc, recog_dup_num, recog_n_operands): Kill.
1760         (recog_n_dups, recog_n_alternatives, recog_operand_mode): Kill.
1761         (recog_constraints, recog_op_type, recog_operand_address_p): Kill.
1762         (recog_data): Define.
1763         (extract_insn): Update all recog_foo references to use recog_data.
1764         (preprocess_constraints, constrain_operands): Likewise.
1765         * final.c (final_scan_insn, cleanup_subreg_operands): Likewise.
1766         * genattrtab.c (main): Likewise.
1767         * genextract.c (main): Likewise.
1768         * genoutput.c: Likewise.
1769         * genrecog.c (write_subroutine, main): Likewise.
1770         * local-alloc.c (block_alloc): Likewise.
1771         * reg-stack.c (record_asm_reg_life, subst_asm_stack_regs): Likewise.
1772         * regclass.c (scan_one_insn, record_reg_classes): Likewise.
1773         * regmove.c (regmove_optimize, find_matches, fixup_match_1): Likewise.
1774         * reload.c (find_reloads, find_reloads_toplev): Likewise.
1775         * reload1.c (maybe_fix_stack_asms, eliminate_regs_in_insn): Likewise.
1776         (reload_cse_simplify_operands): Likewise.
1777
1778         * arc/arc.c (arc_final_prescan_insn): Likewise.
1779         * arm/arm.c (note_invalid_constants, arm_final_prescan_insn): Likewise.
1780         * h8300/h8300.c (notice_update_cc): Likewise.
1781         * i386/i386.c (ix86_attr_length_default, ix86_agi_dependant): Likewise.
1782         * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
1783         * mn10200/mn10200.c (notice_update_cc): Likewise.
1784         * mn10300/mn10300.c (notice_update_cc): Likewise.
1785         * romp/romp.c (update_cc): Likewise.
1786         * sparc/sparc.c (check_pic): Likewise.
1787         * v850/v850.c (notice_update_cc): Likewise.
1788
1789         * genemit.c (main): Don't declare recog_operand.
1790
1791 Sat Sep 11 12:41:55 1999  Alex Samuel  <samuel@codesourcery.com>
1792
1793         * ggc.h (rtvec_def): Forward declare.
1794         (tree_node): Likewise.
1795         (ggc_root): Define.
1796         (roots): Declare.
1797         (ggc_set_mark_rtx): Add prototype.
1798         (ggc_set_mark_rtvec): Likewise.
1799         (ggc_set_mark_tree): Likewise.
1800         * ggc-simple.c (ggc_root): Don't define.
1801         (roots): Don't declare.
1802         (ggc_mark_rtx): Remove.
1803         (ggc_mark_rtvec): Likewise.
1804         (ggc_mark_tree): Likewise.
1805         (ggc_mark_varray): Likewise.
1806         (ggc_mark_tree_hash_table_entry): Likewise.
1807         (ggc_mark_tree_hash_table): Likewise.
1808         (ggc_set_mart_rtx): New function.
1809         (ggc_set_mark_rtvec): Likewise.
1810         (ggc_set_mark_tree): Likewise.
1811         (ggc_add_root): Remove.
1812         (ggc_add_rtx_root): Likewise.
1813         (ggc_remove_tree_root): Likewise.
1814         (ggc_add_string_root): Likewise.
1815         (ggc_add_tree_varray_root): Likewise.
1816         (ggc_add_tree_hash_table_root): Likewise.
1817         (ggc_del_root): Likewise.
1818         (ggc_mark_rtx_ptr): Likewise.
1819         (ggc_mark_tree_ptr): Likewise.
1820         (ggc_mark_string_ptr): Likewise.
1821         (ggc_mark_tree_varray_ptr): Likewise.
1822         (ggc_mark_tree_hash_table_ptr): Likewise.
1823         * ggc-common.c: New file.
1824         * Makefile.in (OBJS): Add ggc-common.o.
1825         (ggc-common.o): List dependencies.
1826
1827 1999-09-10 22:37 -0700  Zack Weinberg  <zack@bitmover.com>
1828
1829         * cppalloc.c (xstrdup): Use memcpy.
1830         * cpperror.c (cpp_print_containing_files): Don't use
1831         cpp_notice.
1832         * cpplib.c (conditional_skip): Set temp->lineno.
1833         (do_endif): Make error message less obscure.
1834         (if_directive_name): New function.
1835         (cpp_get_token [case EOF]): Unwind the if stack and generate
1836         error messages for each unterminated conditional in this file.
1837         (parse_string):  Do not behave differently if -traditional.
1838
1839 Fri Sep 10 14:04:07 1999  Richard Henderson  <rth@cygnus.com>
1840
1841         * builtins.c (expand_builtin_va_arg): Cope with an array-type
1842         va_list decomposing to pointer-type.
1843         * rs6000.c (rs6000_va_start) Unwrap the ARRAY_TYPE to get at fields.
1844         (rs6000_va_arg): Likewise.
1845
1846 Fri Sep 10 13:21:21 1999  Jim Wilson  <wilson@cygnus.com>
1847
1848         * except.c (start_dynamic_handler): Compute size using
1849         STACK_SAVEAREA_MODE.
1850
1851 Fri Sep 10 16:01:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1852
1853         * protoize.c: Remove various __STDC__ and POSIX hacks.  Don't
1854         include directory headers.  Don't define strrchr.  Don't provide
1855         my_* replacement functions.  Prefer PTR over `pointer_type'.
1856         Don't prototype system functions.  Don't redefine getopt.
1857
1858         (shortpath, fancy_abort, notice, savestring, dupnstr, substr,
1859         safe_read, safe_write, save_pointers, restore_pointers,
1860         is_id_char, in_system_include_dir, directory_specified_p,
1861         file_excluded_p, unexpand_if_needed, abspath, check_aux_info,
1862         find_corresponding_lparen, referenced_file_is_newer,
1863         save_def_or_dec, munge_compile_params, gen_aux_info_file,
1864         process_aux_info_file, identify_lineno, check_source,
1865         seek_to_line, forward_to_next_token_char, output_bytes,
1866         output_string, output_up_to, other_variable_style_function,
1867         find_rightmost_formals_list, do_cleaning, careful_find_l_paren,
1868         do_processing, is_syscalls_file, rename_c_file, find_extern_def,
1869         find_static_definition, connect_defs_and_decs, add_local_decl,
1870         add_global_decls, needs_to_be_converted, visit_each_hash_node,
1871         add_symbol, lookup, free_def_dec, find_file, reverse_def_dec_list,
1872         edit_fn_declaration, edit_formals_lists, edit_fn_definition,
1873         scan_for_missed_items, edit_file, string_list_cons): Add static
1874         prototypes.
1875         (standard_exec_prefix, target_machine, target_version,
1876         default_syscalls_dir, string_list, string_list_cons, find_file,
1877         do_cleaning): Constify a char*.
1878         (safe_read, safe_write): Use PTR, not a char*.
1879         (is_id_char): Take an int, not a char.
1880         (main): Add prototype.  Call return, not exit.
1881
1882 Fri Sep 10 16:48:26 1999  Andrew Haley  <aph@cygnus.com>
1883
1884         * tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
1885         when comparing types.
1886
1887 Fri Sep 10 08:43:32 1999  Richard Henderson  <rth@cygnus.com>
1888
1889         * loop.c (basic_induction_var): Typo NULL_RTX -> NULL.
1890         (strength_reduce): Release the varrays from the no-bivs early exit.
1891
1892         * reload1.c (order_regs_for_reload): Init hard_reg_n_uses before
1893         the loop over the registers.
1894
1895         * tree.c (save_tree_status): Set maybepermanent_firstobj NULL
1896         for a new obstack.
1897         (restore_tree_status): Check that instead when freeing the obstack.
1898
1899 Wed Sep  8 16:12:04 1999  Andrew Haley  <aph@cygnus.com>
1900
1901         * alias.c (rtx_equal_for_memref_p): Allow CONST_DOUBLEs to be used
1902         as pointers.
1903
1904 Fri Sep 10 11:58:55 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1905
1906         * i386.md (ashlqi3): For NON_QI_REG_P regs, use sall.  Fix some
1907         operand size modifiers.
1908
1909 Fri Sep 10 10:32:32 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
1910
1911         * c-common.c (c_common_nodes_and_builtins): Don't build
1912         va_list_type_node.
1913         * c-common.h (enum c_tree_index and related accesor macros): Remove
1914         everything now declared in tree.h.
1915         * c-decl.c (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
1916         LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, WCHAR_UNSIGNED, FLOAT_TYPE_SIZE,
1917         DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Don't provide defaults.
1918         (error_mark_node, void_type_node, char_type_node, integer_type_node,
1919         unsigned_type_node, ptr_type_node, va_list_type_node,
1920         integer_zero_node, null_pointer_node, integer_one_node): Delete.
1921         (init_decl_processing): Call build_common_tree_nodes and
1922         build_common_tree_nodes_2 instead of building their nodes here.
1923         Don't add roots for these nodes.
1924         * stor-layout.c (size_zero_node, size_one_node): Delete.
1925         (set_sizetype): Make a new node for bitsizetype each time.
1926         * tree.c (global_trees): New variable.
1927         (init_obstacks): Add a gc root for it.
1928         (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
1929         LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE,
1930         DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Provide defaults.
1931         (build_common_tree_nodes): New function.
1932         (fix_sizetype): New function.
1933         (build_common_tree_nodes_2): New function.
1934         * tree.h (enum tree_index): New.
1935         (global_trees): Declare.
1936         Add accessor macros for all nodes now moved to global_trees.
1937         Delete their declarations.
1938
1939 Thu Sep  9 20:15:46 1999  Richard Henderson  <rth@cygnus.com>
1940
1941         * c-decl.c (finish_function): When processing a nested function,
1942         push and pop GC context around rest_of_compilation.
1943
1944 Thu Sep  9 16:42:06 1999  Richard Henderson  <rth@cygnus.com>
1945
1946         * i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
1947         Default ix86_arch to PROCESSOR_I386.
1948         * i386.h (CC1_CPU_SPEC): Don't add -march=foo.  Remove -mno-foo.
1949         (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
1950         (CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
1951         (CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
1952         __tune_foo__ if no -mcpu.  Make -mcpu=bar define __tune_bar__.
1953         (EXTRA_SPECS): Remove deleted specs.
1954
1955 Thu Sep  9 16:03:06 1999  Richard Henderson  <rth@cygnus.com>
1956
1957         * function.c (assign_stack_local_1): Allocate from
1958         function->x_frame_offset, not frame_offset.
1959
1960 Thu Sep  9 14:36:31 1999  Mark Mitchell  <mark@codesourcery.com>
1961
1962         * ggc.h (lang_cleanup_tree): Remove.
1963         * gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
1964         * ggc-callbacks.c (lang_cleanup_tree): Remove.
1965
1966         * c-decl.c (finish_struct): Use ggc_alloc to allocate
1967         TYPE_LANG_SPECIFIC when garbage collecting.
1968         (lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
1969         (lang_cleanup_tree): Remove.
1970
1971 Thu Sep  9 14:23:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
1972
1973         * defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
1974         * crtstuff.c: Not here.
1975         * dwarf2out.c: Or here.
1976         * libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
1977         info.
1978
1979 Thu Sep  9 09:40:58 1999  Mark Mitchell  <mark@codesourcery.com>
1980
1981         * function.h (free_after_compilation): Remove decl parameter.
1982         (free_varasm_status0: Likewise.
1983         (free_emit_status): Likewise.
1984         (free_stmt_status): Likewise.
1985         (free_after_compilation): Likewise.
1986         (init_lang_status): New variable.
1987         (free_lang_status): Likewise.
1988         * emit-rtl.c (free_emit_status): Make decl parameter implicit.
1989         * function.c (init_lang_status): New variable.
1990         (free_lang_status): Likewise.
1991         (push_function_context_to): Don't set function::decl here.
1992         (free_after_copmilation): Make decl parameter implicit.  Call
1993         free_lang_status if defined.
1994         (prepare_function_start): Call init_lang_status if defined.
1995         (init_function_start): Set function::decl here.
1996         * profile.c (output_func_start_profiler): Don't call pushdecl
1997         until we've actually started the function.
1998         * stmt.c (free_stmt_status): Make decl parameter implicit.
1999         * toplev.c (rest_of_compilation): Don't pass decl to
2000         free_after_compilation.
2001         * varasm.c (free_varasm_status): Likewise.
2002
2003 Thu Sep  9 17:23:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2004
2005         * except.c (call_get_eh_context): Add root when allocating static
2006         tree variable.
2007
2008 Thu Sep  9 15:24:59 BST 1999  Richard Earnshaw <rearnsha@arm.com>
2009
2010         * arm.c: Include "ggc.h".
2011         (arm_add_gc_roots): New function.
2012         (arm_override_options): Call it.
2013         (aof_pic_entry): Add a GC root for aof_pic_label when it's allocated.
2014
2015         * arm.md (define_asm_attributes): Add a pool_range attribute.
2016
2017 Thu Sep  9 12:32:57 BST 1999  Nathan Sidwell  <nathan@acm.org>
2018
2019         * extend.texi (Volatiles): New node.
2020
2021 Thu Sep  9 03:37:31 1999  Richard Henderson  <rth@cygnus.com>
2022
2023         * ggc-simple.c (IS_MARKED, IGNORE_MARK): New.
2024         (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): New.
2025         (struct ggc_any): Replace `mark' with `magic_mark'.
2026         (ggc_alloc_string): Use memcpy, not bcopy.
2027         (ggc_alloc_any): Set magic_mark.  Update bytes_alloced_since_gc.
2028         (ggc_free_{rtx,rtvec,tree,string}): Mark inline.
2029         (ggc_free_any): New.
2030         (ggc_mark_string): Use IGNORE_MARK.  Calc back to struct gcc_string.
2031         (ggc_mark): Use IGNORE_MARK.  Abort if magic doesn't match.
2032         (ggc_collect): Re-enable collection avoidance.  Use GGC_ANY_MARK.
2033         Use IS_MARKED. Use ggc_free_any.
2034
2035 1999-09-09  Scott Bambrough <scottb@netwinder.org>
2036
2037         * config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
2038
2039 Thu Sep  9 01:55:21 1999  Richard Henderson  <rth@cygnus.com>
2040
2041         * toplev.c (main): Always init_ggc.
2042
2043 Wed Sep  8 23:53:22 1999  Richard Henderson  <rth@cygnus.com>
2044
2045         * except.c (find_all_handler_type_matches): Free the list if
2046         we found no matches.
2047
2048         * combine.c (SUBST): Break out to a real function do_SUBST.
2049         (SUBST_INT): Likewise.
2050         * gcse.c (free_pre_mem): Free `temp_bitmap'.
2051         (pre_insert): Free `inserted'.
2052         * loop.c (basic_induction_var): Always set `location'.
2053
2054         * function.c (expand_function_end): Add initial_trampoline as a root.
2055         * rtl.h (init_varasm_once): Declare.
2056         * toplev.c (compile_file): Call it.
2057         * ggc-simple.c (ggc_mark_string_ptr): New.
2058         (ggc_add_string_root): New.
2059         (ggc_collect): Disable collection avoidance temporarily.
2060         * ggc.h (ggc_add_string_root): Declare.
2061         * except.c (create_rethrow_ref): Use ggc_alloc_string.
2062         * optabs.c (init_libfuncs): Likewise.
2063         * varasm.c (named_section): Use ggc_alloc_string.
2064         (make_function_rtl): Likewise.
2065         (make_decl_rtl): Likewise.
2066         (assemble_static_space): Likewise.
2067         (assemble_trampoline_template): Likewise.
2068         (output_constant_def): Likewise.
2069         (force_const_mem): Likewise.
2070         (mark_const_hash_entry): New.
2071         (mark_pool_sym_hash_table): New.
2072         (mark_varasm_state): Use it.
2073         (init_varasm_once): New.
2074
2075         * expr.h (init_one_libfunc): Declare.
2076         * optabs.c (init_one_libfunc): New.
2077         (init_optabs): Use it.
2078         * config/gofast.h: Likewise.
2079         * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Likewise.
2080         * config/sparc/sparc.h (INIT_TARGET_OPTABS): Likewise.
2081
2082 Thu Sep  9 13:46:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
2083
2084         * Makefile.in (cppexp.o): Depend on cpphash.h.
2085         * cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
2086         Include cpphash.h.
2087         * cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
2088         * cpplib.c (do_define): Generalise to handle poisoned definitions,
2089         redefining poisoned identifiers, etc.
2090         (do_undef): Don't allow poisoned identifiers to be undefined.
2091         (do_pragma): Add #pragma poison.
2092         (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
2093
2094         * cccp.c: Add T_POISON node type.
2095         (special_symbol): Handle `defined(xxx)' and plain `xxx' for
2096         poisoned xxx.
2097         (do_define): Generalise to handle poisoned definitions,
2098         redefining poisoned identifiers, etc.
2099         (do_undef): Don't allow poisoned identifiers to be undefined.
2100         (do_pragma): Add #pragma poison.
2101         (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
2102
2103         * c-pragma.c (handle_pragma_token): Ignore #pragma poison.
2104         * c-pragma.h: Add ps_poison state.  We now always have generic
2105         pragmas.
2106
2107 Wed Sep  8 20:30:42 1999  Mark Mitchell  <mark@codesourcery.com>
2108
2109         * ggc.h (ggc_alloc): New function.
2110         (ggc_mark): Likewise.
2111         * ggc-simple.c (ggc_any): New structure.
2112         (ggc_status): Add anys.
2113         (n_anys_collected): New variable.
2114         (ggc_alloc): Define.
2115         (ggc_mark): Likewise.
2116         (ggc_collect): Collect the anys.
2117
2118 Wed Sep  8 20:15:14 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2119
2120         * c-decl.c (mark_binding_level): Make static to match prototype.
2121
2122 Wed Sep  8 16:41:27 1999  Richard Henderson  <rth@cygnus.com>
2123
2124         * flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
2125
2126 Wed Sep  8 16:07:52 1999  Richard Henderson  <rth@cygnus.com>
2127
2128         * gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC
2129         will use into account.  Expand the max width to 5.
2130         * rtl.c: Likewise.
2131
2132 Wed Sep  8 16:01:14 1999  Richard Henderson  <rth@cygnus.com>
2133
2134         * ggc-simple.c (ggc_free_rtx): Poison the correct amount
2135         for the rtx length.
2136
2137 Wed Sep  8 15:23:54 1999  Richard Henderson  <rth@cygnus.com>
2138
2139         * alpha.md (call value patterns): Remove the result predicates.
2140
2141 Wed Sep  8 13:35:38 1999  Richard Henderson  <rth@cygnus.com>
2142
2143         * Makefile.in (stmp-fixinc): Remove extraneous exit 1 from
2144         last change.
2145
2146 Wed Sep  8 15:32:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2147
2148         * system.h (sbrk, malloc, calloc, realloc): Backup prototypes
2149         changed from extern char *, to extern PTR.  Also fix typo in
2150         NEED_DECLARATION_REALLOC test.
2151
2152         * mips-tdump.c (malloc, calloc, realloc): Don't prototype.
2153
2154 Wed Sep  8 11:40:47 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2155
2156         * gansidecl.h (__attribute__, ATTRIBUTE_UNUSED_LABEL,
2157         ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, ATTRIBUTE_PRINTF,
2158         ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2, ATTRIBUTE_PRINTF_3,
2159         ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5, GENERIC_PTR): Delete.
2160
2161         * c-decl.c (field_decl_cmp): Use PTR instead of GENERIC_PTR.
2162
2163         * cccp.c (pcfinclude): Likewise.
2164
2165         * global.c (allocno_compare): Likewise.
2166
2167         * haifa-sched.c (rank_for_schedule): Likewise.
2168
2169         * local-alloc.c (qty_sugg_compare_1, qty_compare_1): Likewise.
2170
2171         * reload1.c (hard_reg_use_compare, reload_reg_class_lower): Likewise.
2172
2173         * stupid.c (stupid_reg_compare): Likewise.
2174
2175         * tree.c (_obstack_allocated_p): Likewise.
2176
2177         * varray.h (varray_data_tag, VARRAY_GENERIC_PTR_INIT): Likewise.
2178
2179 1999-09-08  Bruce Korb  autogen@linuxbox.com
2180
2181         * gcc/ch/Makefile.in: Give the hapless gperf user a hint about
2182         why "gperf -F" fails.
2183         * gcc/cp/Makefile.in: ditto
2184         * gcc/Makefile.in: ditto
2185         * gcc/java/Makefile.in: ditto
2186
2187 Wed Sep  8 04:43:22 1999  Richard Henderson  <rth@cygnus.com>
2188
2189         * lists.c: Include ggc.h.
2190         (zap_lists): New.
2191         (init_EXPR_INSN_LIST_cache): Install it.
2192
2193         * ggc-simple.c (init_ggc): Absorb the old init.
2194         (ggc_push_context): Use xcalloc.
2195         (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Likewise.
2196         (ggc_collect): Add [rvts] tags to the collection stats.
2197
2198 Wed Sep  8 11:14:25 1999  Andreas Schwab  <schwab@suse.de>
2199
2200         * cccp.c (main): Fix handling of -include and -imacros options.
2201
2202 Wed Sep  8 02:23:08 1999  Jeffrey A Law  (law@cygnus.com)
2203
2204         * cpplib.c (cpp_push_buffer): Fix order of arguments.
2205
2206 Wed Sep  8 04:44:09 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
2207
2208         * rtl.h (obstack_alloc_rtx): Removed, it's now static in
2209         genrtl.c.
2210
2211 Wed Sep  8 00:33:43 1999  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
2212
2213         * flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
2214         * haifa-sched.c (sched_analyze_1): Use XEXP rather than SUBREG_REG
2215         and SET_DEST. Update comment.
2216
2217 Wed Sep  8 18:55:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2218
2219         * config/c4x/c4x.c: Include ggc.h.
2220         (c4x_add_gc_roots): New function.
2221         (c4x_override_options): Call c4x_add_gc_roots.
2222
2223 Wed Sep  8 00:00:16 1999  Richard Henderson  <rth@cygnus.com>
2224
2225         * defaults.h (TARGET_ESC): Move ...
2226         * system.h: ... here, where Linas had it in the first place.  Silly me.
2227
2228 Tue Sep  7 23:46:35 1999  Linas Vepstas  <linas@linas.org>
2229
2230         * c-common.c: Use ISGRAPH, ISLOWER, toupper.
2231         * c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
2232         genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
2233         * system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
2234         * defaults.h (TARGET_ESC): Add default.
2235
2236 Tue Sep  7 23:36:59 1999  Linas Vepstas  <linas@linas.org>
2237
2238         * configure.in: add i370-*-openedition, i370-*-mvs and
2239         i370-*-linux targets
2240
2241 Tue Sep  7 23:31:53 1999  Mark Mitchell  <mark@codesourcery.com>
2242
2243         * dsp16xxx.c: Include ggc.h
2244         (override_options): Mark GC roots.
2245         * mn10200.c: Include ggc.h.
2246         (asm_file_start): Mark GC roots.
2247         * tahoe.c: Include ggc.h.
2248         (extensible_operand): Mark GC roots.
2249
2250 Tue Sep  7 23:23:15 1999  Linas Vepstas  <linas@linas.org>
2251
2252         * README: Add section discussing status of ELF ABI.
2253         * i370.c: Fix misc spelling mistakes.
2254         (i370_label_scan): Updated notes, exception handling.
2255         (i370_function_prolog): Simplify ELF stack handling.
2256         * i370.h: (FIXED_REGISTERS): Free up r12 for ELF.
2257         (STACK_GROWS_DOWNWARD): ELF stack grows down.
2258         (ASM_DECLARE_FUNCTION_NAME): Fix crazy malloc size.
2259         * i370.md: (movdi): Add notes.
2260         (floatsidf2): Use stack not rtca for scratch float area.
2261         (iorsi3): Correct operand constraints.
2262         * x-oe: Restore TAROUTOPTS which are used by pax.
2263
2264 Tue Sep  7 22:39:18 1999  Mark Mitchell  <mark@codesourcery.com>
2265
2266         * rs6000.c: Include ggc.h.
2267         (rs6000_add_gc_roots): New function.
2268         (override_options): Call it.
2269
2270 Tue Sep  7 22:09:03 1999  Richard Henderson  <rth@cygnus.com>
2271
2272         * alpha.h (alpha_compare): New.
2273         (alpha_compare_op0, alpha_compare_op1, alpha_compare_fp_p): Remove.
2274         * alpha.c: Likewise for the definitions.
2275         (alpha_emit_conditional_branch): Update for alpha_compare.
2276         (alpha_emit_conditional_move): Likewise.
2277         * alpha.md (cmpdf, cmpdi): Likewise.
2278         (setcc patterns): Likewise.  Zero alpha_compare after use.
2279         (sne): Optimize (x != 0) into (0U < x).
2280
2281 Tue Sep  7 21:55:02 1999  Richard Henderson  <rth@cygnus.com>
2282
2283         * alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
2284         (struct machine_function): Declare; add eh_epilogue_sp_ofs.
2285         (INIT_EXPANDERS): Remove.
2286         * alpha.c: Include ggc.h.
2287         (alpha_eh_epilogue_sp_ofs, alpha_return_addr_rtx): Remove.
2288         (alpha_init_machine_status, alpha_mark_machine_status): New.
2289         (override_options): Install them.
2290         (struct machine_function): Moved to alpha.h.
2291         (alpha_save_machine_status, alpha_restore_machine_status): Remove.
2292         (alpha_init_expanders): Remove.
2293         (alpha_return_addr): Adjust to use current_function->machine.
2294         (alpha_ra_ever_killed): Likewise.
2295         (alpha_expand_epilogue): Likewise.
2296         * alpha.md (eh_epilogue): Likewise.
2297
2298 Wed Sep  8 14:34:42 1999  Ian Piumarta  <piumarta@prof.inria.fr>
2299                           Melissa O'Neill  <oneill@cs.sfu.ca>
2300                           Geoffrey Keating  <geoffk@cygnus.com>
2301
2302         * config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
2303         call-used registers (call-saved registers must still be contiguous
2304         and end with r31, of course).
2305
2306 Tue Sep  7 21:41:38 1999  Richard Henderson  <rth@cygnus.com>
2307
2308         * c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
2309         (self_promoting_type_p): Delete.
2310         (self_promoting_args_p): Move ...
2311         * c-common.c: ... here.
2312         (c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
2313         (simple_type_promotes_to): New.
2314         * builtins.c (lang_type_promotes_to): New.
2315         (expand_builtin_va_arg): Use it to give diagnostic for illegal types.
2316         * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
2317         * c-common.h: ... here.
2318         (self_promoting_args_p, simple_type_promotes_to): Declare.
2319         * c-decl.c (duplicate_decls): Use simple_type_promotes_to.
2320         (grokdeclarator): Likewise.
2321         * tree.h (lang_type_promotes_to): Declare.
2322
2323 Tue Sep  7 17:15:21 1999  Mark Mitchell  <mark@codesourcery.com>
2324
2325         Add some machine-dependent GC roots.
2326         * sparc.c: Include ggc.h.
2327         (sparc_add_gc_roots): New function.
2328         (mark_ultrasparc_pipeline_state): Likewise.
2329         (override_options): Call sparc_add_gc_roots.
2330         * pa.c: Include ggc.h.
2331         (pa_add_gc_roots): New function.
2332         (mark_deferred_plabels): Likewise.
2333         (override_options): Call pa_add_gc_roots.
2334         * mips.c: Include ggc.h.
2335         (mips_add_gc_roots): New function.
2336         (override_options): Use it.
2337
2338 Tue Sep  7 11:39:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2339
2340         * cpperror.c (cpp_file_line_for_message): Constify a char*.
2341
2342         * cppexp.c (parse_number, parse_charconst, cpp_lex,
2343         cpp_parse_expr): Add static prototypes.
2344         (parse_charconst): Don't cast away const-ness.
2345         (token): Constify a char*.
2346
2347         * cppfiles.c (file_name_list, include_hash, find_include_file,
2348         finclude, initialize_input_buffer): Constify a char*.
2349         (file_cleanup, find_position): Add static prototypes.
2350
2351         * cpphash.c (macro_cleanup, macarg, timestamp, special_symbol,
2352         collect_expansion): Add static prototypes.
2353         (cpp_install, create_definition, monthnames): Constify a char*.
2354
2355         * cpphash.h (cpp_install): Likewise.
2356
2357         * cppinit.c (known_suffixes, default_include,
2358         dump_special_to_buffer, NAME, cpp_start_read, cpp_finish): Likewise.
2359         (base_name, dump_special_to_buffer, initialize_dependency_output):
2360         Add static prototypes.
2361
2362         * cpplib.c (my_strerror): Constify a char*.
2363         (null_underflow, null_cleanup, skip_comment, copy_comment,
2364         copy_rest_of_line, handle_directive, pass_thru_directive,
2365         get_directive_token, read_line_number, cpp_print_file_and_line,
2366         v_cpp_error, v_cpp_warning, v_cpp_error_with_line,
2367         v_cpp_warning_with_line, detect_if_not_defined,
2368         consider_directive_while_skipping): Add static prototypes.
2369         (pass_thru_directive, check_macro_name, cpp_expand_to_buffer,
2370         cpp_pedwarn_with_file_and_line): Constify a char*.
2371
2372         * cpplib.h (cpp_options, include_hash, progname, definition,
2373         cpp_pedwarn_with_file_and_line, cpp_expand_to_buffer,
2374         check_macro_name, cpp_pfatal_with_name, cpp_file_line_for_message,
2375         find_include_file, deps_output, include_hash): Constify a char*.
2376
2377         * cppmain.c (progname): Constify.
2378         (main): Add prototype.  Use return, not exit.
2379
2380         * fix-header.c (fatal, add_symbols, lookup_std_proto, write_lbrac,
2381         recognized_macro, check_macro_names, read_scan_file, write_rbrac,
2382         inf_skip_spaces, inf_read_upto, inf_scan_ident, inf_scan_ident,
2383         check_protection): Add static prototype.
2384         (xfree): Remove.
2385         (progname, recognized_macrom, recognized_extern): Constify a char*.
2386         (main): Add prototype.
2387
2388         * gen-protos.c (progname): Constify a char*.
2389
2390 Tue Sep  7 00:47:52 1999  Mark Mitchell  <mark@codesourcery.com>
2391
2392         * emit-rtl.c (free_emit_status): Take decl as a parameter.
2393         (init_emit_once): Add more GC roots.
2394         * except.c (mark_func_eh_entry): New function.
2395         (mark_eh_node): Mark false_label and rethrow_label.
2396         (init_eh): Add more GC roots.
2397         * function.c (free_after_compilation): Take decl as a paramter.
2398         Call free_stmt_status.
2399         (mark_function_state): Don't assume x_parm_reg_stack_loc is
2400         non-NULL.
2401         * function.h (free_after_compilation): Change prototype.
2402         (free_varasm_status): Likewise.
2403         (free_emit_status): Likewise.
2404         (free_stmt_status): New function.
2405         * ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
2406         Remove, replacing with ...
2407         (ggc_status): New structure.
2408         (ggc_chain): New variable.
2409         (init_gcc): Define.
2410         (ggc_push_context): New function.
2411         (ggc_pop_context): Likewise.
2412         (ggc_alloc_rtx): Adjust for use of ggc_chain.
2413         (ggc_alloc_rtvec): Likewise.
2414         (ggc_alloc_tree): Likewise.
2415         (ggc_alloc_string): Likewise.
2416         (ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
2417         (ggc_mark_tree): Give language-dependent code a chance to mark
2418         `x' nodes.
2419         (ggc_mark_tree_varray): Handle empty arrays.
2420         (ggc_collect): Adjust for use of ggc_chain.  Clear
2421         bytes_alloced_since_last_gc.
2422         * ggc.h (ggc_pop_context): New function.
2423         (ggc_push_context): Likewise.
2424         * print-tree.c (print_node): Don't print obstacks when GC'ing.
2425         * stmt.c (free_stmt_status): New function.
2426         (init_stmt_for_function): Clear last_expr_value.
2427         * toplev.c (rest_of_compilation): Always call free_after_compilation.
2428         Conditionalize call to ggc_collect.
2429         (main): Call init_ggc.
2430         * tree.c (push_obstacks): Do the push, even when GC'ing.
2431         (push_obstacks_nochange): Likewise.
2432         (pop_obstacks): Liekwise.
2433         * varasm.c (free_varasm_status): Take decl as a parameter.
2434
2435 Tue Sep  7 08:15:49 1999  Gavin Romig-Koch  <gavin@cygnus.com>
2436
2437         * config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
2438         (MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
2439         * config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
2440         * config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
2441
2442 Tue Sep  7 03:42:45 1999  Mark Klein (mklein@dis.com)
2443
2444         * pa/x-pa-mpeix: New file for the MPE port.
2445
2446         * pa/quadlib.asm: New file for long double support.
2447
2448         * configure.in: Add hppa1.0-*-mpeix for MPE port.
2449         * configure: Rebuilt.
2450
2451 Tue Sep  7 10:08:40 1999  Andreas Schwab  <schwab@suse.de>
2452
2453         * final.c (shorten_branches): Fix last change.
2454
2455 Tue Sep  7 00:30:32 1999  Jeffrey A Law  (law@cygnus.com)
2456
2457         * pa.h (ASM_OUTPUT_DOUBLE_INT): Delete.
2458
2459 Mon Sep  6 22:44:47 1999  Jeffrey A Law  (law@cygnus.com)
2460
2461         * Merge from gcc2 snapshot Jan 9, 1999.  See FSFChangeLog for
2462         details.
2463
2464 Mon Sep  6 22:31:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2465
2466         * c-aux-info.c (concat): Don't define.
2467
2468         * cccp.c (my_strerror): Likewise.  All callers changed to use
2469         xstrerror instead.
2470         (do_include): Call xstrdup, not xmalloc/strcpy.
2471         (grow_outbuf): Don't check if xrealloc returns NULL, it can't.
2472         (xmalloc, xrealloc, xcalloc, xstrdup): Don't define.
2473
2474         * collect2.c (my_strsignal): Likewise.  All callers changed to use
2475         strsignal instead.
2476         (locatelib): Call xstrdup, not xmalloc/strcpy.
2477
2478         * 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc.
2479
2480         * dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy.
2481
2482         * i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc.
2483
2484         * mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy.
2485
2486         * cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero.
2487
2488         * dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/...
2489
2490         * except.c (new_eh_region_entry): Call xmalloc/xrealloc, not
2491         malloc/realloc.
2492         (find_all_handler_type_matches): Likewise.  Don't check return
2493         value.
2494         (get_new_handler, init_insn_eh_region, process_nestinfo): Call
2495         xmalloc, not malloc.
2496         (init_eh_nesting_info): Likewise.  Call xcalloc, not xmalloc/bzero.
2497
2498         * gcc.c (xstrerror, xmalloc, xrealloc): Don't define.
2499         (init_spec): Call xcalloc, not xmalloc/bzero.
2500         (set_spec): Call xstrdup, not save_string.
2501         (record_temp_file): Call xstrdup, not xmalloc/strcpy.
2502         (find_a_file): Call xstrdup, not xmalloc/strcpy.
2503         (process_command): Call xstrdup, not save_string.
2504         (main): Call xcalloc, not xmalloc/bzero.
2505
2506         * gcov.c (xmalloc): Don't define.
2507         (create_program_flow_graph): Call xcalloc, not xmalloc/bzero.
2508         (scan_for_source_files): Call xstrdup, not xmalloc/strcpy.
2509         (output_data): Call xcalloc, not xmalloc/bzero.
2510
2511         * haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero.
2512
2513         * mips-tdump.c (xmalloc): Don't define.
2514         (print_symbol): Call xmalloc, not malloc.
2515         (read_tfile): Call xcalloc, not calloc.
2516
2517         * mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc):
2518         Don't define.  All callers of xfree/my_strsignal changed to use
2519         free/strsignal instead.
2520         (allocate_cluster): Call xcalloc, not calloc.
2521
2522         * objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/...
2523         Fix memory leak, free allocated memory.
2524
2525         * prefix.c (translate_name): Call xstrdup, not save_string.
2526         (update_path): Likewise.
2527
2528         * profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy.
2529
2530         * protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2):
2531         Don't define.  Callers of xfree/savestring2 changed to use
2532         free/concat instead.
2533
2534         * reload1.c (reload): Call xcalloc, not xmalloc/bzero.
2535         (init_elim_table): Likewise.
2536
2537         * resource.c (init_resource_info): Likewise.
2538
2539         * stupid.c (stupid_life_analysis): Likewise.
2540
2541         * toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define.
2542         (open_dump_file): Call concat, not xmalloc/strcpy/...
2543         (clean_dump_file): Likewise.
2544         (compile_file): Call xstrdup, not xmalloc/strcpy.
2545
2546 Mon Sep  6 15:04:55 1999  Richard Henderson  <rth@cygnus.com>
2547
2548         * v850.h (EXPAND_BUILTIN_VA_ARG): New.
2549         * v850.c (v850_va_arg): New.
2550
2551 Tue Sep  7 09:36:01 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2552
2553         * haifa-sched.c: Tidy comments.
2554
2555 Mon Sep  6 14:30:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2556
2557         * Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.
2558         (c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o,
2559         $(out_object_file)): Depend on ggc.h.
2560         * c-common.c: Include "ggc.h".
2561         (combine_strings): If doing GC, use ggc_alloc_string.
2562         * c-decl.c: Include "ggc.h".
2563         (ggc_p): Define with value 0.
2564         (mark_binding_level): New function.
2565         (init_decl_processing): Add GC roots.
2566         (mark_c_function_context): New function.
2567         (lang_mark_false_label_stack): New function.
2568         (lang_mark_tree): New function.
2569         (lang_cleanup_tree): New function.
2570         * c-lang.c: Include "ggc.h".
2571         (lang_init): Call c_parse_init.
2572         * c-lex.c: Include "ggc.h".
2573         (check_linenum): If doing GC, don't copy filenames to permanent
2574         obstack.
2575         * c-parse.in: Include "ggc.h".
2576         (c_parse_init): New function.
2577         * c-tree.h (c_parse_init, mark_c_function_context): Declare.
2578         * objc/Make-lang.in (objc-parse.o): Depend on ggc.h.
2579
2580         * except.c (mark_eh_state): Mark more state.
2581         * function.c (mark_function_state): Likewise.
2582         * ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version.
2583         (ggc_alloc_string) [GGC_DUMP]: Fix typo.
2584         * toplev.c (mark_file_stack): New function.
2585         (compile_file): If doing GC, use ggc_alloc_string on input filename.
2586         (main): Add root for input_file_stack.
2587
2588         * i386.c: Include "ggc.h".
2589         (ix86_mark_machine_status): New function.
2590         (override_options): Set mark_machine_status.
2591
2592 Mon Sep  6 15:26:23 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2593
2594         * tree.c (copy_node): Copy node contents also if doing GC.
2595
2596 Mon Sep  6 08:42:06 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
2597
2598         * collect2.c (scan_libraries): Fix double-thinko :-).
2599
2600 Mon Sep  6 02:42:36 1999  Jeffrey A Law  (law@cygnus.com)
2601
2602         * collect2.c (scan_libraries): Fix thinko.
2603
2604         * cse.c (delete_trivially_dead_insns): Do not skip the last
2605         insn if it is a real insn.
2606
2607 Sun Sep  5 18:57:42 1999  Mark Mitchell  <mark@codesourcery.com>
2608
2609         * Makefile.in (ggc-simple.o): Depend on hash.h.
2610         * ggc.h (ggc_add_tree_hash_table_root): Declare.
2611         (ggc_mark_tree_varray): Likewise.
2612         (ggc_mark_tree_hash_table): Likewise.
2613         * ggc-simple.c: Include hash.h.
2614         (ggc_mark_tree_hash_table_ptr): New function.
2615         (ggc_mark_tree_hash_table_entry): Likewise.
2616         (ggc_mark_tree_hash_table): Likewise.
2617         (ggc_add_tree_hash_table_root): Likewise.
2618         * varray.h (const_equiv_data): Use struct rtx_def *, rather than
2619         rtx, when defining fields.
2620
2621 Sun Sep  5 18:57:42 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2622
2623         * profile.c (output_func_start_profiler): Remove apparently
2624         nonsensical call to start_sequence.
2625
2626 Sun Sep  5 17:34:33 1999  Richard Henderson  <rth@cygnus.com>
2627
2628         * clipper/clipper.c (clipper_va_start): Fix typos.
2629
2630         * pyr/pyr.c (pyr_build_va_list, pyr_va_start, pyr_va_arg): New stubs.
2631         * spur/spur.c (spur_build_va_list, spur_va_start): New stubs.
2632         (spur_va_arg): New stub.
2633
2634         * configure.in: Comment out pyramid.
2635
2636 Sun Sep  5 19:11:01 1999  Michael Meissner  <meissner@cygnus.com>
2637
2638         * i386.h (MASK_{DEBUG_{ADDR,ARG},INTEL_SYNTAX}): Move so these
2639         don't conflict with the bits that win32, cygwin, and dgux
2640         defines.
2641
2642 Sun Sep  5 09:31:56 1999  Richard Henderson  <rth@cygnus.com>
2643                           Bernd Schmidt <bernds@cygnus.co.uk>
2644
2645         * integrate.c (function_cannot_inline_p): Do not inline
2646         functions with forced labels.
2647
2648 Sun Sep  5 00:35:17 1999  Richard Henderson  <rth@cygnus.com>
2649                           Bernd Schmidt <bernds@cygnus.co.uk>
2650                           Mark Mitchell  <mark@codesourcery.com>
2651
2652         * Makefile.in (ggc-simple.o): Depend on varray.h.
2653         (rtl.o): Depend on ggc.h.
2654         (genattrtab.o): Depend on ggc.h.
2655         (print-tree.o): Likewise.
2656         (fold-const.o): Likewise.
2657         * emit-rtl.c (sequence_element_free_list): Remove, and all references.
2658         (make_insn_raw): Don't cache insns when GC'ing.
2659         (emit_insn_before): Likewise.
2660         (emit_insn_after): Likewise.
2661         (emit_insn): Likewise.
2662         (start_sequence): Use xmalloc to allocate the sequence_stack.
2663         (end_sequence): Add free to free it.
2664         (gen_sequence): Don't cache insns when GC'ing.
2665         (clear_emit_caches): Don't use sequence_element_free_list.
2666         (init_emit): Use xcalloc, not xmalloc+bzero.
2667         * fold-const.c (size_int_wide): Kill the cache, when GC'ing.
2668         * function.c (pop_function_context_from): Use free to free the
2669         fixup_var_refs_queue.
2670         (put_reg_into_stack): Allocate it with xmalloc.
2671         * genattrtab.c: Include ggc.h.
2672         (operate_exp): Don't use obstack_free when GC'ing.
2673         (simplify_cond): Likewise.
2674         (simplify_text_exp): Likewise.
2675         (optimize_attrs): Likewise.
2676         * gengenrtl.c (gendef): Use ggc_alloc_rtx to allocate RTL, when
2677         GC'ing.
2678         (gencode): Generate a #include for ggc.h.
2679         * ggc-callbacks.c (ggc_p): Define it to zero.
2680         * ggc-none.c (ggc_p): Likewise.
2681         * ggc-simple.c: Include varray.h.
2682         (ggc_mark_tree_varray): New function.
2683         (ggc_add_tree_varray_root): Likewise.
2684         (ggc_mark_tree_varray_ptr): Likewise.
2685         * ggc.h (ggc_p): Declare.
2686         (varray_head_tag): Likewise.
2687         (ggc_add_tree_varray_root): Declare.
2688         * print-tree.c (print_node): Don't check for TREE_PERMANENT
2689         inconsistencies when GC'ing.
2690         * rtl.c: Include ggc.h.
2691         (rtvec_alloc): Use ggc_alloc_rtvec when GC'ing.
2692         (rtx_alloc): Use ggc_alloc_rtx when GC'ing.
2693         (rtx_free): Don't call obstack_free when GC'ing.
2694         * toplev.c (rest_of_compilation): Call ggc_collect after every
2695         pass, if GC'ing.
2696         * tree.c (push_obstacks): Do nothing, if GC'ing.
2697         (pop_obstacks_nochange): Likewise.
2698         (pop_obstacks): Likewise.
2699         (make_node): Use ggc_alloc_tree when GC'ing.
2700         (copy_node): Likewise.
2701         (get_identifier): Use ggc_alloc_string when GC'ing.
2702         (build_string): Likewise.
2703         (make_tree_vec): Use ggc_alloc_tree when GC'ing.
2704         (tree_cons): Likewise.
2705         (build1): Likewise.
2706         (type_hash_canon): Don't call obstack_free when GC'ing.
2707
2708 Sat Sep  4 21:52:32 1999  Richard Henderson  <rth@cygnus.com>
2709
2710         * haifa-sched.c (schedule_block): Use next_nonnote_insn instead
2711         of NEXT_INSN when examining speculative insns for SCHED_GROUP_P.
2712
2713 Sat Sep  4 20:40:19 1999  Richard Henderson  <rth@cygnus.com>
2714                           Bernd Schmidt <bernds@cygnus.co.uk>
2715                           Mark Mitchell  <mark@codesourcery.com>
2716
2717         * Makefile.in (stor-layout.o): Depend on ggc.h.
2718         (expr.o): Depend on ggc.h.
2719         (profile.o): Depend on ggc.h.
2720         (stor-layout.o): Depend on ggc.h.
2721         * emit-rtl.c (init_emit_once): Add gc roots.
2722         * expr.c: Include ggc.h.
2723         (emit_block_move): Add gc roots.
2724         (clear_storage): Likewise.
2725         * expr.h (init_stor_layout_once): New function.
2726         * profile.c: Include ggc.h.
2727         (init_arc_profiler): profiler_label is a root.
2728         * scan.c (make_sstring_space): Trust xrealloc to function
2729         correctly with first parameter NULL.
2730         * stor-layout.c: Include ggc.h.
2731         (set_sizetype): Add gc root.
2732         (init_stor_layout_once): New function.
2733         * toplev.c (compile_file): Call it.
2734
2735 Sat Sep  4 19:26:25 1999  Richard Henderson  <rth@cygnus.com>
2736                           Bernd Schmidt <bernds@cygnus.co.uk>
2737                           Mark Mitchell  <mark@codesourcery.com>
2738
2739         * Makefile.in (tree.o): Depend on ggc.h.
2740         (varasm.o): Likewise.
2741         (function.o): Likewise.
2742         (stmt.o): Likewise.
2743         (except.o): Likewise.
2744         (optabs.o): Likewise.
2745         (emit-rtl.o): Likewise.
2746         * emit-rtl.c: Include ggc.h.
2747         (sequence_element_free_list): Remove, and all references.
2748         (mark_sequence): New functions.
2749         (mark_emit_state): New function.
2750         * except.c: Include ggc.h.
2751         (mark_eh_node, mark_eh_stack, mark_eh_queue): New functions.
2752         (mark_tree_label_node): New functions.
2753         (mark_eh_state): New function.
2754         * function.c: Include ggc.h.
2755         (mark_temp_slot, mark_function_chain): New functions.
2756         (mark_function_state): New function.
2757         (init_function_once): New function.
2758         * function.h (init_function_once): New function.
2759         * ggc-callbacks.c (lang_mark_false_label_stack): New function.
2760         * ggc.h (label_node): Declare.
2761         (eh_status, emit_status, stmt_status, varasm_status): Likewise.
2762         (lang_mark_false_label_stack): New function.
2763         (mark_temp_slot): Remove declaration.
2764         (mark_function_chain): Likewise.
2765         (mark_eh_state): Adjust prototype.
2766         (mark_stmt_state, mark_emit_state, mark_varasm_state, mark_optab):
2767         Likewise.
2768         * optabs.c: Include ggc.h.
2769         (mark_optab): New function.
2770         (init_optabs): Add gc roots.
2771         * stmt.c: Include ggc.h.
2772         (mark_cond_nesting, mark_loop_nesting): New functions.
2773         (mark_block_nesting, mark_case_nesting, mark_goto_fixup): Likewise.
2774         (mark_stmt_state): New function.
2775         * toplev.c (compile_file): Call init_function_once.
2776         * tree.c: Include ggc.h.
2777         (type_hash): Move declaration earlier in file.
2778         (TYPE_HASH_SIZE, type_hash_table): Likewise.
2779         (init_obstacks): Add gc roots.
2780         (mark_type_hash): New function.
2781         * varasm.c: Include ggc.h.
2782         (mark_pool_constant): New function.
2783         (mark_varasm_state): New function.
2784
2785 Sat Sep  4 22:28:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2786
2787         * ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
2788
2789 Sat Sep  4 18:01:45 1999  Bernd Schmidt <bernds@cygnus.co.uk>
2790
2791         * c-decl.c (struct language_function): Renamed from struct c_function.
2792         Delete elt NEXT.
2793         (c_function_chain): Delete.
2794         (push_c_function_context): New arg F.  Don't warn about nested
2795         functions here.  Fill LANGUAGE elt of F.  Delete code to update
2796         c_function_chain.  Don't call push_function_context.
2797         (pop_c_function_context): New arg F.  Restore from there instead of
2798         from c_function_chain.  Don't call pop_function_context.  Clear out
2799         LANGUAGE field of F when done.
2800         * c-lang.c: Include "function.h"
2801         (lang_init): Initialize save_lang_status and restore_lang_status.
2802         * c-parse.in (nested_function, nested_function_notype): Warn about
2803         nested functions.  Call push_function_context/pop_function_context
2804         instead of the _c_ variants.
2805         * c-tree.h (push_c_function_context, pop_c_function_context): Update
2806         prototype.
2807         * Makefile.in (c-lang.o): Update dependencies.
2808
2809         * emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
2810         regno_pointer_flag, regno_pointer_align.
2811         (gen_reg_rtx): Use xrealloc to enlarge them.
2812         (free_emit_status): New function.
2813         * function.c (mark_machine_status, mark_lang_status): New variables.
2814         (assign_stack_local_1): Renamed from assign_outer_stack_local.  Merge
2815         in some bits from assign_stack_local.  All callers changed to use new
2816         name.
2817         (assign_stack_local): Just call assign_stack_local_1.
2818         (free_after_compilation): New function.
2819         (put_reg_into_stack): Simplify to always call assign_stack_local_1.
2820         (trampoline_address): Likewise.
2821         (assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
2822         (prepare_function_start): Explicitly clear some more variables.
2823         * function.h (struct function): New elt can_garbage_collect.
2824         (mark_machine_status, mark_lang_status): Declare variables.
2825         (free_after_compilation, free_emit_status, free_varasm_status,
2826         init_varasm_status): Declare functions.
2827         * toplev.c (rest_of_compilation): Call free_after_compilation when
2828         done with the current function.
2829         * varasm.c (free_varasm_status): New function.
2830
2831 Sat Sep  4 17:15:13 1999  Richard Henderson  <rth@cygnus.com>
2832
2833         * sparc.h (EXPAND_BUILTIN_VA_START): Define.
2834         (EXPAND_BUILTIN_VA_ARG): Define.
2835         * sparc.c (sparc_va_start): New.
2836         (sparc_va_arg): New.
2837
2838 Sun Sep  5 11:11:59 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2839
2840         * config/c4x/c4x.h (DBR_OUTPUT_SEQEND): Use XVECEXP not XEXPs.
2841
2842 Sun Sep  5 10:13:19 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2843
2844         * config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Disable.
2845
2846 Sat Sep  4 13:44:01 1999  Mark Mitchell  <mark@codesourcery.com>
2847
2848         * Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
2849         (OBJS): Add $(GGC).
2850         (ggc-callbacks.o): New target.
2851         * ggc-callbacks.c: New file.
2852
2853 Sat Sep  4 22:53:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2854
2855         * expr.h: Collapse individual optab and libfunc vars to arrays.
2856         (optab_index, libfunc_index): New enumerations.
2857         (optab_table, libfunc_table): New arrays.
2858         Add accessor macros for both.
2859
2860         * optabs.c (optab_table, libfunc_table): New.
2861         Delete declarations for individual optab and libfunc vars.
2862
2863 Sat Sep  4 12:57:17 1999  Richard Henderson  <rth@cygnus.com>
2864
2865         * i386/sco5.h (RETURN_POPS_ARGS): Name change ix86_return_pops_args.
2866
2867 Sat Sep  4 11:19:52 1999  Richard Henderson  <rth@cygnus.com>
2868
2869         * Makefile.in (GGC, GGC_LIB): New.
2870         (HOST_RTL): Include ggc-none.o.
2871         (ggc-simple.o): New target.
2872         (ggc-none.o): Likewise.
2873         * tree.h (tree_common): Add gc_mark.
2874         * rtl.h (struct rtx_def): Steal a bit from code to make gc_mark.
2875         (struct rtvec_def): Add gc_mark.
2876         * emit-rtl.c (global_rtl): Update static initializers to contain
2877         enough initializers.
2878         * ggc.h, ggc-none.c, ggc-simple.c: New files.
2879         * toplev.c (gc_time): New variable.
2880         (all_time): New variable.
2881         (compile_file): Print gc time.
2882         (print_time): Calculate percentage of the whole.
2883
2884 Sat Sep  4 13:11:01 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
2885
2886         Change obstack memory management and varasm constant pool handling so
2887         that nested functions are treated like any other functions.
2888         * function.c (init_machine_status): New variable.
2889         (push_function_context_to): Set contains_functions for the outer
2890         function.  Don't call save_varasm_status.
2891         (pop_function_context_from): Don't call restore_varasm_status.  Don't
2892         set current_function_contains_functions.
2893         (prepare_function_start): Call init_varasm_status rather than
2894         init_const_rtx_hash_table.  Call (*init_machine_status) if the pointer
2895         is non-null.
2896         * function.h (struct function) Add field varasm.  Delete fields
2897         inline_obstacks, inl_emit, const_rtx_hash_table, first_pool,
2898         last_pool, const_rtx_sym_hash_table, pool_offset, const_double_chain.
2899         (init_machine_status): Declare.
2900         (save_varasm_status, restore_varasm_status): Delete declarations.
2901         (save_tree_status, restore_tree_status): Delete last argument.
2902         * integrate.c (initialize_for_inline): Lose arg COPY.  Delete copying
2903         code.  All callers changed.
2904         (copy_decl_list, copy_decl_tree, copy_decl_rtls, copy_for_inline,
2905         save_constants_in_decl_trees, restore_constants, save_constants,
2906         save_for_inline_eh_labelmap, save_for_inline_copying): Delete
2907         functions.
2908         (inlining): New variable.
2909         (reg_map, label_map, insn_map, orig_asm_operands_vector,
2910         copy_asm_operands_vector, copy_asm_constraints_vector): Delete
2911         variables.
2912         (save_for_inline_nocopy): Don't save constants.
2913         Don't set inl_emit field in current_function.
2914         (expand_inline_function): Use emit field, not inl_emit, of the inlined
2915         function.  Set new variable inlining before
2916         calling copy_rtx_and_substitute.
2917         (copy_rtx_and_substitute): In MEM and SYMBOL_REF cases, handle
2918         constant pool references if inlining is nonzero.
2919         Delete ADDRESS and (most of the) CONST cases.
2920         (output_inline_function): Save and restore current_function/
2921         current_function_decl.  Delete restore_constants code.  Don't call
2922         init_const_rtx_hash_table.
2923         * output.h (init_const_rtx_hash_table): Don't declare.
2924         * rtl.h (struct function): Declare.
2925         (get_pool_constant_for_function, get_pool_mode_for_function): Declare.
2926         * toplev.c (rest_of_compilation): Don't treat nested functions or
2927         functions containing them specially.  Delete all code to deal with
2928         save_for_inline_copying.
2929         * tree.c (toplev_inline_obstacks, extra_inline_obstacks,
2930         inline_obstacks): Delete variables.
2931         (save_tree_status): Lose arg CONTEXT.  All callers changed.
2932         Simply allocate a new function_maybepermanent_obstack for the new
2933         function, delete all the special cases.
2934         Don't save inline_obstacks.
2935         (restore_tree_status): Lose arg CONTEXT.  All callers changed.
2936         Delete special handling for function_maybepermanent_obstack; simply
2937         free it if empty.
2938         Don't restore inline_obstacks.
2939         (permanent_allocation):  Delete code that frees inline_obstacks.
2940         (print_inline_obstack_statistics): Delete function.
2941         (dump_tree_statistics): Don't call it.
2942         * varasm.c (struct varasm_status): New.
2943         (const_rtx_hash_table, const_rtx_sym_hash_table, first_pool,
2944         last_pool, pool_offset, const_double_chain): Delete global
2945         variables, replace with accessor macros.
2946         (immed_double_const): Don't walk const_double_chain outside a
2947         function, but don't treat nested functions specially anymore.
2948         (immed_real_const_1): Likewise.
2949         (clear_const_double_mem): Don't treat nested functions specially.
2950         (init_const_rtx_hash_table): Deleted, code moved to init_varasm_status.
2951         (save_varasm_status, restore_varasm_status): Delete functions.
2952         (init_varasm_status): New function.
2953         (force_const_mem): Don't treat nested functions specially.
2954         (find_pool_constant): Accept new arg F, search for constants in
2955         that function's pool rather than the current one.  All callers
2956         changed.
2957         (get_pool_constant_for_function, get_pool_mode_for_function): New
2958         functions.
2959
2960         * i386.c (init_386_machine_status): New function, mostly from
2961         clear_386_stack_locals.
2962         (struct machine_functions): Rename element names to avoid name
2963         clashes.
2964         (pic_label_rtx, pic_label_name, i386_stack_locals): New accessor
2965         macros, replacing global variables.
2966         (clear_386_stack_locals, save_386_machine_status,
2967         restore_386_machine_status): Delete functions.
2968         (override_options): Initialize init_machine_status.
2969         * i386.h (INIT_EXPANDERS): Delete macro.
2970         (save_386_machine_status, restore_386_machine_status,
2971         clear_386_stack_locals): Delete declarations.
2972
2973 Sat Sep  4 16:56:28 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2974
2975         * config/c4x/c4x.md (rptb_init): Renamed from *rptb_init.
2976         (doloop_begin):  Simplify pattern and use emit_jump_insn.
2977         (doloop_end): Simplify pattern, switch operand order,
2978         and use emit_jump_insn.
2979
2980 Fri Sep  3 19:02:38 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2981
2982         * function.h (struct function): Add new element LANGUAGE.
2983         (save_lang_status): Declare new variable.
2984         (restore_lang_status): Likewise.
2985         * function.c (save_lang_status): Define.
2986         (restore_lang_status): Likewise.
2987         (push_function_context_to): Call language-specific save function.
2988         (pop_function_context_from): Call language-specific restore function.
2989
2990 Fri Sep  3 01:16:18 1999  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
2991
2992         * i386.md (movsf_1): Check REG_P before use of REGNO.
2993         (movdf_1): Likewise.
2994         (movxf_1): Likewise.
2995         (extendsfdf2): Likewise.
2996         (extendsfxf2): Likewise.
2997         (extenddfxf2): Likewise.
2998
2999 Sat Sep  4 11:37:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3000
3001         * config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
3002         constants into memory.
3003         (c4x_shiftable_constant): New function.
3004         * config/c4x/c4x.c (LEGITIMATE_CONSTANT_P): Allow any CONST_INT.
3005         (c4x_shiftable_constant): Declare.
3006         * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
3007         ashlqi3_noclobber): Add new patterns and associated splitters.
3008
3009 Fri Sep  3 16:22:17 1999  Richard Henderson  <rth@cygnus.com>
3010
3011         * dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
3012         * dwarf2out.c (dwarf2out_frame_init): Likewise.
3013         * final.c (shorten_branches): Likewise.
3014         * global.c (global_alloc): Likewise.
3015         * haifa-sched.c (build_control_flow): Likewise.
3016         * stmt.c (check_for_full_enumeration_handling): Likewise.
3017         (estimate_case_costs): Likewise.
3018
3019 Fri Sep  3 15:49:56 1999  Mark Mitchell  <mark@codesourcery.com>
3020
3021         * rtl.h (RTL_CHECKC2): Fix typo in last change.
3022
3023 Fri Sep  3 15:13:34 1999  Richard Henderson  <rth@cygnus.com>
3024
3025         * flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
3026         (recompute_reg_usage): Likewise.
3027         * rtlanal.c (find_regno_fusage): Likewise.
3028
3029         * rtl.c (rtl_check_failed_code1): New function.
3030         (rtl_check_failed_code2): New.
3031         * rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
3032         (RTL_CHECKC1, RTL_CHECKC2): New.
3033         (XC*): New accessor macros.
3034         (NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
3035         (ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
3036         (CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
3037         (ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
3038         (TRAP_*, RANGE_INFO_*): Likewise.
3039
3040 Fri Sep  3 15:10:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3041
3042         * Makefile.in (tlink.o): Don't depend on toplev.h.
3043
3044         * collect2.c (c_file, o_file, export_file, import_file, ldout,
3045         output_file, nm_file_name, ldd_file_name, strip_file_name,
3046         c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
3047         add_prefix, prefix_from_env, prefix_from_string, do_wait,
3048         fork_execute, maybe_unlink, add_to_list,
3049         extract_init_priority, write_list, dump_list,
3050         dump_prefix_list, write_list_with_asm, write_c_file,
3051         write_c_file_stat, write_c_file_glob, scan_prog_file,
3052         scan_libraries, is_in_list, resolve_lib_name, use_import_list,
3053         ignore_library, extract_string, notice, dump_file, target_machine,
3054         collect_wait, collect_execute, libname, locatelib, aix_std_libs,
3055         read_file, print_load_command): Constify a char*.
3056         (fdopen, error, fatal, fatal_perror): Don't prototype.
3057         (my_strerror): Remove.  All callers use xstrerror instead.
3058         (xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
3059         (main): Add prototype.  Constify lots of char* ptrs.  Change calls
3060         to xcalloc/strcpy/strcat/...  to one call to concat.
3061         (main, scan_prog_file, scan_libraries): Use an intermediate
3062         `const char **' to build an argv array.
3063         (mapfile, libselect, libcompare, locatelib): Add prototypes.
3064
3065         * collect2.h (collect_execute, collect_wait, dump_file,
3066         file_exists): Constify a char*.
3067         (ldout, c_file_name, temporary_obstack, permanent_obstack,
3068         temporary_firstobj, vflag, debug): Add extern declarations.
3069         (fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.
3070
3071         * tlink.c: Don't include toplev.h.
3072         (vflag, debug, ldout, c_file_name, temporary_obstack,
3073         permanent_obstack, temporary_firstobj): Don't declare.
3074         (tlink_execute, frob_extension, symbol_hash_lookup,
3075         file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
3076         recompile_files, read_repo_files, demangle_new_symbols,
3077         scan_linker_output): Constify a char*.
3078         (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
3079         do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
3080
3081 Fri Sep  3 18:09:24 1999  Andrew Haley  <aph@cygnus.com>
3082
3083         * config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
3084         (relative) rather than jsr (absolute) subroutine call insns.
3085         * config/m68k/m68k-coff.h: Ditto.
3086
3087 Fri Sep  3 17:24:31 1999  Richard Earnshaw <rearnsha@arm.com>
3088
3089         * arm.c (note_invalid_constants): No need to ignore ASMs, we can
3090         now rework these too.
3091         (arm_reorg): If an insn can't reach the end of the current pool,
3092         ensure that we emit that pool before the insn.
3093
3094 Fri Sep  3 09:14:32 1999  Marc Espie <espie@tetto.liafa.jussieu.fr>
3095
3096         * tlink.c (scan_linker_output): Skip the initial underscore in
3097         a mangled name if appropriate.
3098
3099 Fri Sep  3 01:28:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3100
3101         * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
3102         objc_tree_code_name, synth_id_with_class_suffix, warn_with_method,
3103         error_with_ivar, gen_declarator, create_builtin_decl,
3104         my_build_string, generate_descriptor_table, generate_ivars_list,
3105         generate_dispatch_table, check_protocols, TAG_GETCLASS,
3106         TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS,
3107         dump_base_name, lang_decode_option, build_encode_expr,
3108         start_class, finish_class, encode_pointer, really_start_method,
3109         gen_declaration, dump_interface, handle_class_ref, handle_impent):
3110         Constify.
3111         (objc_demangle, objc_printable_name, generate_struct_by_value_array):
3112         Add static prototypes.
3113         (build_objc_string_decl, build_selector_reference_decl,
3114         encode_bitfield, build_class_reference_decl): Remove unused
3115         parameter, all callers changed.
3116         (maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED.
3117         (objc_printable_name): Likewise.  Change second parameter to type int.
3118         (init_objc): Use memcpy, not bcopy, to avoid casts.
3119
3120 Thu Sep  2 21:49:52 1999  Richard Henderson  <rth@cygnus.com>
3121
3122         * reload1.c (eliminate_regs_in_insn): Avoid eliminating the
3123         reg notes on a deleted insn.
3124         * gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
3125
3126 Thu Sep  2 20:18:12 1999  Jeffrey A Law  (law@cygnus.com)
3127
3128         * i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
3129
3130 Thu Sep  2 22:00:08 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3131
3132         * stmt.c (expand_asm_operands): Fix index into inout_mode when
3133         reading it.
3134
3135 Thu Sep  2 13:00:48 1999  Richard Henderson  <rth@cygnus.com>
3136
3137         * stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
3138         * tm.texi (MD_ASM_CLOBBERS): Document it.
3139
3140 Thu Sep  2 10:22:40 1999  Richard Henderson  <rth@cygnus.com>
3141
3142         * dwarf2out.c (dwarf2out_line): Constify `lastfile'.
3143         * except.c (expand_rethrow): Remove unused variable.
3144         * expr.c (do_jump_by_parts_greater_rtx): Likewise.
3145         * flow.c (replace_insns): Likewise.
3146         (create_edge_list, verify_edge_list): Likewise.
3147         * gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
3148
3149         * genemit.c (gen_expand): Only emit `operands[N]' decl if there
3150         is special code to run.
3151         (main): Don't define operands to emit_operand.
3152         * genrecog.c (main): Don't emit an empty peephole2_insn function.
3153
3154         * rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
3155
3156         * alpha/alpha.h (normal_memory_operand): Declare.
3157         (reg_no_subreg_operand): Declare.
3158         * alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
3159
3160 Thu Sep  2 10:19:20 1999  Richard Henderson  <rth@cygnus.com>
3161
3162         * c-parse.in (compstmt_primary_start): New, broken out of first
3163         part of compstmt handling in primary.
3164         (primary): Use it.  Add an error clause.
3165         (compstmt_nostart): Renamed from compstmt; remove all
3166         initial invocations of compstmt_start.
3167         (compstmt): New.
3168
3169 Thu Sep  2 01:35:50 1999  Marc Espie <espie@cvs.openbsd.org>
3170
3171         * protoize.c (gen_aux_info_file):  Let pexecute call choose_temp_base if
3172         needed.
3173
3174 Thu Sep  2 00:43:59 1999  Finn Hakansson  <finn@axis.com>
3175
3176         * combine.c (simplify_shift_const): Remove extra semicolon.
3177         * dwarf2out.c (remove_AT): Likewise.
3178         * expmed.c (expand_mult): Likewise.
3179         * gcov.c (create_program_flow_graph): Likewise.
3180         * reorg.c (mostly_true_jump): Likewise.
3181
3182 Thu Sep  2 00:06:43 1999  Jeffrey A Law  (law@cygnus.com)
3183
3184         * fold-const.c (fold_range_test): Do not try to fold the range
3185         test if the rhs or lhs has side effects.
3186
3187         * combine.c (simplify_rtx): Recognize another case of a synthesized
3188         sign extension.
3189
3190         * varasm.c (mark_constant_pool): When marking indirect references,
3191         only look at SYMBOL_REFs.
3192
3193         * except.c (expand_fixup_region_end): Do not peek at
3194         INSN_UID (node->entry->outer_context) for flag_new_exceptions.
3195
3196 Thu Sep  2 13:52:53 1999  Geoffrey Keating  <geoffk@cygnus.com>
3197
3198         * flags.h: New variables align_loops, align_loops_log,
3199         align_jumps, align_jumps_log, align_labels, align_labels_log,
3200         align_functions, align_functions_log.
3201         * toplev.c: Define them.
3202         (f_options): Handle -falign-* when they have no argument.
3203         (main): Add logic to set variables for -falign-functions,
3204         -falign-jumps, -falign-labels, -falign-loops.
3205         Make it -fsched-verbose=<n> and -finline-limit=<n>.
3206         (display_help): Change help to match options.
3207         * final.c (LABEL_ALIGN): Default to align_labels_log.
3208         (LABEL_ALIGN_MAX_SKIP): Default to align_labels-1.
3209         (LOOP_ALIGN): Default to align_loops_log.
3210         (LOOP_ALIGN_MAX_SKIP): Default to align_loops-1.
3211         (LABEL_ALIGN_AFTER_BARRIER): Default to align_jumps_log.
3212         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to align_jumps-1.
3213         * varasm.c (assemble_start_function): Handle align_functions.
3214
3215         * config/sparc/sparc.h: Don't declare sparc_align_*.
3216         Don't provide LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN.
3217         (DEFAULT_SPARC_ALIGN_FUNCS): Delete; take functionality into
3218         sparc.c.
3219         (FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
3220         it's a promise.
3221         * config/sparc/sparc.c: Delete sparc_align_loops,
3222         sparc_align_jumps, sparc_align_funcs and the corresponding string
3223         variables.
3224         (sparc_override_options): Default align_functions on ultrasparc.
3225         Delete -malign-* handling.
3226
3227         * config/mips/mips.c (override_options):  On 64-bit targets,
3228         try to align code to 64-bit boundaries.
3229         (print_operand): New substitution, %~,
3230         which aligns labels to align_labels_log.
3231         * config/mips/mips.md (div_trap_normal): Use %~.
3232         (div_trap_mips16): Likewise.
3233         (abssi): Likewise.
3234         (absdi2): Likewise.
3235         (ffssi2): Likewise.
3236         (ffsdi2): Likewise.
3237         (ashldi3_internal): Likewise.
3238         (ashrdi3_internal): Likewise.
3239         (lshrdi3_internal): Likewise.
3240         (casesi_internal): Likewise.
3241
3242 Wed Sep  1 21:13:48 1999  Richard Henderson  <rth@cygnus.com>
3243
3244         Merge new ia32 backend from the branch!
3245
3246         * i386.h, i386.c, i386.md, reg-stack.c, i386/unix.h: Many changes.
3247         See ChangeLog.P2 on new_ia32_branch for details.
3248
3249         * rtl.h (stack_regs_mentioned_p): Delete prototype.
3250         * i386/cygwin.h (SUBTARGET_PROLOGUE): No more do_rtl.
3251         * i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
3252         * i386/gas.h (ASM_FILE_START): Define.
3253         * i386/winnt.c (i386_pe_valid_decl_attribute_p): Update
3254         for name change of ix86_valid_decl_attribute_p.
3255         (i386_pe_valid_type_attribute_p): Similarly.
3256
3257 Wed Sep  1 18:21:23 1999  Richard Henderson  <rth@cygnus.com>
3258
3259         * emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
3260         to step through CC modes.
3261
3262 Wed Sep  1 20:18:06 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
3263
3264         * regmove.c (fixup_match_1): Don't move INSN in front of P if
3265         it would end up in the shadow of a live flags regsiter.
3266
3267 Wed Sep  1 11:32:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
3268
3269         * reload1.c: Fix many indentation problems.
3270         * reload.c: Likewise.
3271
3272 Tue Aug 31 22:08:03 1999  Marc Espie <espie@cvs.openbsd.org>
3273
3274         * alias.c (non_local_reference_p): Constify fmt.
3275
3276 Tue Aug 31 23:19:35 1999  Michael Meissner  <meissner@cygnus.com>
3277
3278         * config/i386/xm-cygwin.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
3279
3280 Tue Aug 31 16:44:52 1999  Jeffrey A Law  (law@cygnus.com)
3281
3282         * cse.c (delete_trivially_dead_insns): Do not delete stores to
3283         the internal_arg_pointer.
3284
3285 Tue Aug 31 13:35:42 1999  Richard Henderson  <rth@cygnus.com>
3286
3287         Merge peephole2 from new_ia32_branch:
3288         * Makefile.in (STAGESTUFF): Add *.peephole2.
3289         (mostlyclean): Likewise.
3290         (recog.o): Depend on resource.h.
3291
3292         * final.c (peephole): Conditionalize decl on HAVE_peephole.
3293         (final_scan_insn): Likewise for the invocation of peephole.
3294         * genconfig.c (main): Look for peephole and peephole2 patterns.
3295         Emit HAVE_peephole* accordingly.
3296         * genpeep.c (main): Conditionalize entire output on HAVE_peephole.
3297         * flags.h (flag_peephole2): Declare.
3298         * toplev.c: New pass peephole2.  New flag -fpeephole2.
3299
3300         * genattrtab.c (main): Count DEFINE_PEEPHOLE2.
3301         * gencodes.c (main): Likewise.
3302         * genextract.c (main): Likewise.
3303         * genoutput.c (main): Likewise.
3304         * genemit.c (max_operand_1): Look for the max scratch operand.
3305         (gen_rtx_scratch): New.
3306         (gen_exp): Use it, and pass on new arg subroutine_type.
3307         (gen_expand): Take max scratch into account.
3308         (gen_split): Emit peephole2 functions.
3309         (output_peephole2_scratch): New.
3310         (main): Include hard-reg-set.h and resource.h.  Handle peephole2.
3311         * genrecog.c (routine_type): Add PEEPHOLE2.
3312         (IS_SPLIT): New.
3313         (make_insn_sequence): Match outer parallel for peep2.  Discard
3314         top level scratches and dups.
3315         (add_to_sequence): New args insn_type and top.  Update all callers.
3316         Handle toplevel peep2 matching insns.
3317         (write_subroutine): Handle peep2.
3318         (write_tree_1): Likewise.
3319         (write_tree): Likewise.
3320         (main): Likewise.
3321         (change_state): New arg afterward.  Update all callers.
3322         Handle matching separate insns.
3323         * recog.c (recog_next_insn): New.
3324         (peephole2_optimize): New.
3325         * rtl.def (DEFINE_PEEPHOLE2): New.
3326         * resource.c (find_free_register): New argument last_insn.  Use it
3327         to find a register available through the entire span.
3328         * resource.h (find_free_register): Update prototype.
3329
3330 Tue Aug 31 11:51:06 1999  Jim Kingdon  <http://developer.redhat.com>
3331
3332         * i386.c (output_strlen_unroll): Don't write xops[7]
3333         label if it wasn't set.
3334
3335 1999-08-31 12:44 -0700  Zack Weinberg  <zack@bitmover.com>
3336
3337         * cpplib.c (struct directive): Const-ify name pointer and
3338         function pointer prototype.
3339         (validate_else, do_define, do_line, do_include, do_undef,
3340         do_error, do_pragma, do_ident, do_if, do_xifdef, do_else,
3341         do_elif, do_endif, do_sccs, do_assert, do_unassert,
3342         do_warning): Const-ify second arg.
3343         (directive_table): Mark const.  Reorder entries by frequency
3344         of usage, record statistics.
3345
3346 1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
3347
3348         * rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
3349         bounds- check RTL accesses if --enable-checking.
3350         (RTVEC_ELT): Bounds check if --enable-checking.
3351         (XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
3352         XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
3353         (XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
3354         GET_NUM_ELEM.
3355         (X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
3356         X0BBDEF, X0ADVFLAGS):  New macros for accessing '0' slots of RTXes.
3357
3358         (ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
3359         (NOTE_SOURCE_FILE): Use X0STR.
3360         (NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
3361         MEM_ALIAS_SET): Use X0INT.
3362         (NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
3363         JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
3364         Use X0EXP.
3365         * real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
3366         * rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
3367         (rtl_check_failed_bounds, rtl_check_failed_type1,
3368         rtl_check_failed_type2, rtvec_check_failed_bounds): New
3369         functions.
3370         (fancy_abort): Fix comment.
3371
3372         * cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
3373         (cse_insn): Decrement LABEL_NUSES for jump target before
3374         deleting jump insn.
3375         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
3376         * final.c (alter_subreg): Compute regno before changing x to
3377         REG; set REGNO(x) after changing it.
3378         * flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
3379         notes containing CONST_INTs.
3380         (delete_eh_regions): Use NOTE_EH_HANDLER.
3381         * function.c (put_reg_into_stack): Make reg a MEM before
3382         initializing it.
3383         (fixup_var_refs_insns):  Save REG_NOTES (insn) in case we
3384         delete insn.
3385         (gen_mem_addressof): Make reg a MEM before initializing it.
3386         * integrate.c (copy_rtx_and_substitute): Copy '0' slots with
3387         X0WINT.
3388         * local-alloc.c (update_equiv_regs): Zap REG_NOTES before
3389         deleting an insn, not after.
3390         (block_alloc): Only look at PATTERN(insn) if we have to, and
3391         only if it's format class 'i'.
3392         * loop.c (check_dbra_loop): Check bl->biv->add_val is a
3393         CONST_INT before using its INTVAL.
3394         * print-rtl.c (print_rtx): Use X0STR.
3395         * regmove.c (fixup_match_1): Don't look at PATTERN of
3396         non-class-'i' insn chain elements.
3397         * reload.c (loc_mentioned_in_p): Take address of
3398         in->fld[1].rtx directly.
3399         * reload1.c (reload): Change reg to a MEM before initializing
3400         it.
3401         * varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
3402         have no names.
3403         * config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
3404
3405 Fri Aug 20 13:43:41 1999  Andrew Haley  <aph@cygnus.com>
3406
3407         * config/mips/mips.c (machine_dependent_reorg): Force a
3408         barrier to output the local constant pool if a barrier hasn't
3409         been found at a natural point in the instruction stream.
3410
3411 Mon Aug 30 22:04:36 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3412
3413         * c-parse.in (language_string): Constify.
3414
3415         * dwarf2out.c (language_string): Remove declaration.
3416
3417         * dwarfout.c (language_string): Likewise.
3418
3419         * toplev.c (language_string, init_parse, finish_parse): Likewise.
3420
3421         * tree.h (language_string, init_parse, finish_parse): Declare.
3422
3423         * i386/sun386.h (language_string): Remove declaration.
3424
3425         * mips.h (language_string): Likewise.
3426
3427         * nextstep.h (language_string): Likewise.
3428
3429         * nextstep21.h (language_string): Likewise.
3430
3431         * rs6000.c (language_string): Likewise.
3432
3433 Mon Aug 30 20:56:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3434
3435         * Makefile.in (OBJS, PROTO_OBJS): Remove getpwd.o.
3436         (getpwd.o): Remove target.
3437
3438         * getpwd.c: Delete file.  Its in libiberty now.
3439
3440         * dbxout.c (getpwd): Don't prototype.
3441         * dwarf2out.c (getpwd): Likewise
3442         * dwarfout.c (getpwd): Likewise
3443         * final.c (getpwd): Likewise.
3444         * protoize.c (getpwd): Likewise.
3445
3446 Mon Aug 30 20:21:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3447
3448         * cse.c: (fold_rtx): Cast to HOST_WIDE_INT in left shift.
3449
3450 Mon Aug 30 16:07:49 1999  Richard Henderson  <rth@cygnus.com>
3451
3452         * flow.c (new_insn_dead_notes): Use sets_reg_or_subreg not
3453         mark_set_resources.
3454
3455 Mon Aug 30 12:23:53 1999  Jim Wilson  <wilson@cygnus.com>
3456
3457         * fixinc/Makefile.in (subdir): New.
3458         (fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
3459         (Makefile): New.
3460
3461 Mon Aug 30 01:02:09 1999  Jeffrey A Law  (law@cygnus.com)
3462
3463         * emit-rtl.c (copy_rtx_if_shared): A MEM which references
3464         virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
3465         be shared.
3466
3467         * invoke.texi: Fix typo.
3468
3469         * dwarf2out.c (mem_loc_descriptor): New argument MODE.  All callers
3470         changed.  Handle autoincrement addressing modes.
3471
3472         * integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
3473         just like we would the virtual incoming args register when
3474         integrating.
3475
3476 Sun Aug 29 23:17:54 1999  David Edelsohn  <edelsohn@gnu.org>
3477
3478         * rs6000.h (ASM_FILE_START): Specify complete filename, including
3479         path, in .file directive.
3480
3481 Sun Aug 29 05:06:43 1999  Russ Allbery  <rra@stanford.edu>
3482
3483         * gcc.texi (External Bugs): Remove obsolete note about Perl on
3484         SunOS.
3485
3486 1999-08-29 08:38 -0700  Zack Weinberg  <zack@bitmover.com>
3487
3488         * stdbool.h: Make the typedef name _Bool, with bool a #defined
3489         alias.
3490
3491 Sun Aug 29 09:36:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3492
3493         * tree.c (tree_code_name): Constify a char*.
3494
3495         * tree.h (tree_code_name, decl_printable_name): Likewise.
3496
3497         * function.h (struct function): Likewise.
3498
3499         * toplev.c (decl_name, decl_printable_name): Likewise.
3500
3501         * vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
3502
3503         * objc/objc-act.c (decl_printable_name): Remove redundant prototype.
3504         (init_objc): Remove function pointer cast.
3505
3506 Sun Aug 29 05:01:17 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
3507
3508         * pa.md (interspace_jump): New pattern.
3509         (builtin_longjmp): New expander.
3510
3511 1999-08-29  Bernd Schmidt  <bernds@cygnus.co.uk>
3512
3513         * fp-bit.c (add, sub, multiply, divide, compare, _eq_f2, _ne_f2,
3514         _gt_f2, _ge_f2, _lt_f2, _le_f2, float_to_si, float_to_usi, negate,
3515         sf_to_df, df_to_sf): Fix potential problem with alias analysis.
3516
3517 Sun Aug 29 04:30:52 1999  John Wehle  (john@feith.com)
3518
3519         * jump.c (delete_prior_computation): Also check calls
3520         to constant functions.  Don't bother checking for a
3521         REG_UNUSED note before adding it.
3522         (delete_computation): Handle multi-word hard registers
3523         when synthesizing missing REG_DEAD notes for a register
3524         which is both set and used by an insn.
3525
3526 1999-08-29  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3527
3528         * loop.c (this_loop_info): New variable.
3529         (loop_has_call, loop_has_volatile, loop_has_tablejump,
3530         loop_continue, loops_enclosed): Replace with fields in this_loop_info.
3531         All uses updated.
3532         (prescan_loop, strength_reduce): New argument loop_info.  All callers
3533         updated.
3534         (scan_loop): New variable loop_info, initialise to address of
3535         this_loop_info.
3536         (prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
3537         Delete variable loop_has_multiple_exit targets and replace with
3538         field in this_loop_info.
3539         (find_and_verify_loops): Rename this_loop to this_loop_num.
3540         (strength_reduce): Delete loop_iteration_info.  Replace variable
3541         loop_info with function argument of same name.
3542         (insert_bct): Rework test for loop being completely unrolled.
3543
3544         * loop.h (struct loop_info): New fields num, loops_enclosed,
3545         has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
3546         has_indirect_jump, and cont.  Redefine use of unroll_number.
3547         (loop_unroll_number): Delete.
3548
3549         * unroll.c (unroll_loop): Store loop unroll count in unroll_number
3550         field of loop_info.
3551         (loop_iterations): Delete variable vtop and instead use
3552         loop_info->vtop computed in prescan_loop.
3553
3554 Sun Aug 29 03:27:23 1999  Scott Weikart <scott@igc.apc.org>
3555
3556         * fix-header.c (main): Do not pass a null pointer to strcmp.
3557
3558 Sun Aug 29 03:18:48 1999  William Bader  (william@nscs.fast.net)
3559
3560         * configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
3561         filenames.
3562         * configure: Rebuilt.
3563
3564 Sat Aug 28 19:36:05 1999  Jeffrey A Law  (law@cygnus.com)
3565
3566         * jump.c (jump_optimize_1): Do not delete assignments to
3567         internal_arg_pointer.
3568         * cse.c (delete_trivially_dead_insns): Always consider a set of
3569         the internal_arg_pointer live.
3570
3571 Sat Aug 28 16:24:31 1999  Richard Henderson  <rth@cygnus.com>
3572
3573         * flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
3574         (update_life_info) [REG_WAS_0]: Search the original insns rather
3575         than the new insns for the note.  Fix typos finding note_dest.
3576         If no dest found, discard the note rather than abort.
3577         [REG_NOALIAS]: Handle as REG_NO_CONFLICT.
3578         (replace_insns): Remove the old insn list after update_life_info
3579         not before.
3580
3581 Sat Aug 28 16:20:12 1999  Richard Henderson  <rth@cygnus.com>
3582
3583         * haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
3584         sched_analyze_insn.
3585         (sched_analyze_1): Let add_dependence care for not adding dups.
3586         (sched_analyze_2): Likewise.
3587         (add_branch_dependences): Likewise.
3588
3589 Sat Aug 28 15:58:16 1999  Mumit Khan  <khan@xraylith.wisc.edu>
3590
3591         * i386/winnt.c (export_list): New type.
3592         (exports_head): Rename to
3593         (export_head):  this.
3594         (i386_pe_record_exported_symbol): Add is_data flag.
3595         (i386_pe_asm_file_end): Emit directive for exported variables.
3596         * i386/cygwin.h (i386_pe_record_exported_symbol): Update
3597         prototype.
3598         * i386/cygwin.h (ASM_OUTPUT_COMMON): Specify symbol type.
3599         (ASM_DECLARE_OBJECT_NAME): Likewise.
3600         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3601         * i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
3602
3603 Fri Aug 27 15:35:24 1999  Jeffrey A Law  (law@cygnus.com)
3604
3605         * cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
3606
3607         * pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
3608         operand.
3609
3610 Fri Aug 27 14:01:19 1999  Marc Espie <espie@cvs.openbsd.org>
3611
3612         * config/openbsd.h: Define SET_ASM_OP.
3613         * tm.texi: cross-reference SET_ASM_OP in the index.
3614
3615 1999-08-27 13:27 -0700  Zack Weinberg  <zack@bitmover.com>
3616
3617         * rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
3618         for a CONST_DOUBLE, at compile time.  Initialize rtx_length
3619         and class_narrowest_mode at compile time.  Kill init_rtl.
3620         Mark rtx_length, mode_class, mode_size, mode_unit_size,
3621         mode_wider_mode, mode_mask_array, class_narrowest_mode, and
3622         rtx_format as const.  Kill all references to EXTRA_CC_MODES or
3623         EXTRA_CC_NAMES.
3624         * rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
3625         format.
3626         * rtl.h: Declare rtx_length and rtx_format as const.
3627         * machmode.def: Define CC().  Use CC() to define CCmode.  If
3628         EXTRA_CC_MODES is defined, expand it here.
3629         * machmode.h: Declare mode_class, mode_size, mode_unit_size,
3630         mode_wider_mode, mode_mask_array, and class_narrowest_mode as
3631         const.  Kill all references to EXTRA_CC_MODES.
3632
3633         * toplev.c: Don't prototype or call init_rtl.
3634         * optabs.c: Don't call init_mov_optab.
3635         * genemit.c: Don't generate init_mov_optab.  Don't call
3636         init_rtl.
3637         * gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
3638         here.
3639         * genattr.c, genattrtab.c, gencodes.c, genconfig.c,
3640         genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
3641         genrecog.c: Don't call init_rtl.
3642
3643         * arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
3644         rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES.  Use CC() in
3645         definition of EXTRA_CC_MODES.
3646
3647         * md.texi: Kill ref to EXTRA_CC_NAMES.
3648         * tm.texi: Document new way to define EXTRA_CC_MODES.
3649
3650         * genrecog.c: Do not look up the name of a define_split.
3651         (Unrelated bugfix.)
3652
3653 Fri Aug 27 17:03:42 1999  Nick Clifton  <nickc@cygnus.com>
3654
3655         * config/v850/v850.md: Fix typo introduced by previous delta.
3656
3657 Fri Aug 27 09:48:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3658
3659         * gcc.c (fatal): Make definition static to match prototype.
3660
3661 Fri Aug 27 10:33:35 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
3662
3663         * combine.c (get_last_value): Don't look for earlier sets if the last
3664         known set is somewhere in between the insns being combined.
3665
3666 Fri Aug 27 10:03:12 BST 1999  Nathan Sidwell  <nathan@acm.org>
3667
3668         * configure.in: Don't use shell ! to negate exit codes
3669         * configure: Regenerate
3670
3671 Fri Aug 27 09:36:17 1999  Andreas Schwab  <schwab@suse.de>
3672
3673         * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
3674         the fact that ALIGN is measured in bits, not bytes.
3675
3676 1999-08-27 00:27 -0700  Zack Weinberg  <zack@bitmover.com>
3677
3678         * errors.c: New file; defines functions error, warning, and
3679         fatal, variables have_error and progname.
3680         * errors.h: New file; prototypes and decls for stuff in errors.c.
3681
3682         * Makefile: Add rules to build errors.o and
3683         $(HOST_PREFIX)errors.o.  Link genconfig, gencodes, genemit,
3684         genopinit, genrecog, genextract, genpeep, genattr, and
3685         genoutput with errors.o.  Add errors.h to deps of genconfig.o,
3686         gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
3687         genpeep.o, genattr.o, and genoutput.o.
3688
3689         * genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
3690         genextract.c, genpeep.c, genattr.c:  Include errors.h.  Don't
3691         define or prototype fatal.  Set progname at beginning of main.
3692         * genoutput.c:  Likewise, and don't define or prototype error
3693         either.
3694
3695         * c-typeck.c (c_expand_start_case): Return immediately if exp
3696         is an ERROR_MARK.
3697         * fold-const.c (operand_equal_p): Return immediately if arg1
3698         or arg0 are ERROR_MARKs.
3699         * stor-layout.c (layout_type [case RECORD_TYPE]): Ignore
3700         fields of type ERROR_MARK when calculating if the record can
3701         go in a register.
3702
3703 Fri Aug 27 01:03:48 1999  Jim Kingdon  <http://developer.redhat.com>
3704         with much help from Jeffrey A Law and Richard Henderson
3705
3706         * i386.md: In the 6 insns which call output_fix_trunc,
3707         earlyclobber operands[0].
3708
3709 Fri Aug 27 01:01:51 1999  Philip Blundell  <pb@nexus.co.uk>
3710
3711         * jump.c (duplicate_loop_exit_test): Call reg_scan_update after
3712         creating new registers.
3713
3714 1999-08-26 23:09 -0700  Zack Weinberg  <zack@bitmover.com>
3715
3716         * i386.h: Declare ix86_cpu_string, ix86_arch_string,
3717         i386_reg_alloc_order, i386_regparm_string,
3718         i386_align_loops_string, i386_align_jumps_string,
3719         i386_align_funcs_string, i386_preferred_stack_boundary_string,
3720         and i386_branch_cost_string as type "const char *".
3721         * i386.c: Define all above strings as type "const char *".
3722
3723 Thu Aug 26 20:36:30 1999  Jim Wilson  <wilson@cygnus.com>
3724
3725         * dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE
3726         when emitting alignment padding.  Emit padding byte of 0 instead of 4.
3727
3728 Thu Aug 26 18:11:20 1999  Mark Mitchell  <mark@codesourcery.com>
3729
3730         * tree.c (array_type_nelts): Don't create RTL_EXPRs from
3731         SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
3732
3733 Thu Aug 26 19:33:23 1999  Jim Wilson  <wilson@cygnus.com>
3734
3735         * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
3736         (debug_dwarf): Add DWARF2_ASM_LINE_DEBUG_INFO support.
3737         (dwarf2out_line, dwarf2out_finish): Likewise.
3738         * tm.texi (DWARF2_ASM_LINE_DEBUG_INFO): Add documetation.
3739
3740 Thu Aug 26 16:10:56 1999  Gavin Romig-Koch  <gavin@cygnus.com>
3741
3742         * tree.c (lang_unsave_expr_now) : Correct return type.
3743         * tree.h (lang_unsave_expr_now) : Same.
3744
3745 Thu Aug 26 13:12:29 1999  Jeffrey A Law  (law@cygnus.com)
3746
3747         * pa.c (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
3748         instead of duplicating code.
3749
3750 Thu Aug 26 18:32:32 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
3751
3752         * gcse.c (hash_scan_insn): Don't scan obvious no-ops.
3753
3754 1999-08-26 09:42 -0700  Zack Weinberg  <zack@bitmover.com>
3755
3756         * tree.h: fancy_abort always takes three args.
3757         * resource.c: Move include of system.h before toplev.h.
3758
3759 Thu Aug 26 09:46:16 1999  Nick Clifton  <nickc@cygnus.com>
3760
3761         * dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs as well
3762         as SYMBOL_REFs.
3763
3764 1999-08-25 22:10 -0700  Zack Weinberg  <zack@bitmover.com>
3765
3766         * system.h: Don't redefine abort or trim_filename.
3767         * rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
3768         or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
3769         whether or not __FUNCTION__ is available.
3770         * tree.h: Duplicate rtl.h's definition of abort, for files
3771         that don't include rtl.h.  Delete all code to perform type
3772         checking with a compiler other than GCC.
3773         * varray.h: Delete all code to perform type checking with a
3774         compiler other than GCC.  Make VARRAY_CHECK() always evaluate
3775         its arguments exactly once, using a statement expression.
3776         Adjust the VARRAY_<type> accessor macros to match.
3777         * toplev.h (fatal_insn, fatal_insn_not_found): Kill.
3778         (_fatal_insn, _fatal_insn_not_found): New fns, take info on
3779         caller's location.  Define fatal_insn and fatal_insn_not_found
3780         as macros that use _fatal_insn and _fatal_insn_not_found.
3781         (fancy_abort, trim_filename): Kill prototypes.
3782
3783         * rtl.c (trim_filename): Move here from toplev.c.
3784         (fancy_abort): New function.
3785         (DIR_SEPARATOR): Provide default definition.
3786         * tree.c (tree_check_failed, tree_class_check_failed): Go
3787         through fancy_abort.
3788         (tree_check, tree_class_check, cst_or_constructor_check,
3789         expr_check): Delete.
3790         * varray.c (varray_check_failed): New function.
3791         * toplev.c (fatal_insn, fatal_insn_not_found): Replace with
3792         _fatal_insn and _fatal_insn_not_found.  Go through
3793         fancy_abort.
3794         (trim_filename, fancy_abort): Delete.
3795
3796         * builtins.c (expand_builtin_args_info): Report ICE with abort.
3797         * except.c (start_catch_handler): Report ICE with error/abort
3798         combo.
3799         * final.c (output_operand_lossage): Likewise.
3800         * flow.c (verify_flow_info): Likewise.
3801
3802         * gcc.c: Prototype fatal.
3803         * gengenrtl.c: Undef abort after including rtl.h not system.h.
3804         * genattr.c, genattrtab.c, genemit.c, genextract.c,
3805         genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
3806         Don't define fancy_abort.
3807
3808 Wed Aug 25 17:56:59 1999  Richard Henderson  <rth@cygnus.com>
3809
3810         * optabs.c (emit_cmp_and_jump_insns): Be more thorough in
3811         canonization.
3812
3813 Wed Aug 25 15:35:55 1999  Richard Henderson  <rth@cygnus.com>
3814
3815         * m88k.h (VERSION_INFO2): Kill.
3816         (VERSION_STRING): Kill.
3817         (TM_RCS_ID): Kill.
3818         (VERSION_INFO1): Tidy.
3819         (TARGET_VERSION): Update.
3820         * m88k/dgux.h (VERSION_INFO2): Kill.
3821         (ASM_FIRST_LINE): Adjust for death of VERSION_STRING.
3822         * m88k/luna.h (VERSION_INFO1): Tidy.
3823         * m88k/sysv4.h (VERSION_INFO1): Likewise.
3824         * m88k.c (out_rcs_id, tm_rcs_id): Kill.
3825         (output_file_start): Adjust for death of VERSION_STRING.
3826
3827 1999-08-25 13:51 -0700  Jim Meyering  <meyering@ascend.com>
3828
3829         * cpplib.c (detect_if_not_defined): New function.
3830         (do_if): Use it to detect potential once-only headers.
3831
3832 Wed Aug 25 14:00:18 1999  Jason Merrill  <jason@yorick.cygnus.com>
3833
3834         * c-common.c (combine_strings): Always set TREE_CONSTANT.
3835
3836 Wed Aug 25 15:27:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
3837
3838         * combine.c (nonzero_bits) : Allow single-ly set registers to be
3839         anywere in the function only if they are pseudos and set before
3840         being used (not live at the start of the function).
3841         (num_sign_bit_copies) : Same.
3842         (get_last_value_validate) : Same.
3843         (get_last_value) : Same.
3844
3845 Wed Aug 25 11:13:29 1999  Richard Henderson  <rth@cygnus.com>
3846
3847         * loop.c (express_from): Try harder to unify (* c N) and (* c M)
3848         where N and M are constant and N is an integer multiple of M.
3849
3850 Wed Aug 25 13:55:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
3851
3852         * sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
3853         (sbitmap_intersection_of_preds, sbitmap_union_of_succs,
3854         sbitmap_union_of_preds): Add prototypes.
3855         * sbitmap.c (sbitmap_intersection_of_succs): New function to compute
3856         the intersection of successors with the new flow graph structures.
3857         (sbitmap_intersection_of_preds): New function to compute the
3858         intersection of predecessors with the new flow graph structures.
3859         (sbitmap_union_of_succs): New function to compute the union of
3860         successors with the new flow graph structures.
3861         (sbitmap_union_of_preds): New function to compute the union of
3862         predecessors with the new flow graph structures.
3863         * gcse.c (compute_rdm, compute_available): Use new sbitmap routines.
3864         (expr_reaches_here_p): Use edge and basic_block structures instead
3865         of s_preds and s_succs.
3866         (compute_cprop_avinout): Use new sbitmap routines.
3867         (pre_expr_reaches_here_p): Use edge and basic_block structures instead
3868         of s_preds and s_succs.
3869         * flow.c (compute_flow_dominators): Compute dominators using
3870         edges and basic blocks instead of s_preds and s_succs.
3871
3872 Wed Aug 25 13:41:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
3873
3874         * lists.c (unused_insn_list, unused_expr_list): New file for
3875         maintaining various types of lists. New statics for maintaining a
3876         cache of available INSN_LIST and EXPR_LIST nodes.
3877         (free_list): Static function for freeing a list of INSN/EXPR nodes.
3878         (alloc_INSN_LIST): Function to get a free INSN_LIST node.
3879         (alloc_EXPR_LIST): Function to get a free EXPR_LIST node.
3880         (init_EXPR_INSN_LIST_cache): Initialize the cache lists.
3881         (free_EXPR_LIST_list): Free an entire list of EXPR_LIST nodes.
3882         (free_INSN_LIST_list): Free an entire list of INSN_LIST nodes.
3883         (free_EXPR_LIST_node): Free an individual EXPR_LIST node.
3884         (free_INSN_LIST_node): Free an individual INSN_LIST node.
3885         * haifa-sched.c (unused_insn_list, unused_expr_list): Moved to flow.c
3886         (free_list, alloc_INSN_LIST, alloc_EXPR_LIST): Moved to flow.c
3887         (remove_dependence, free_pending_lists): Use new global routines.
3888         (flush_pending_lists, sched_analyze_insn): Use new global routines.
3889         (sched_analyze, compute_block_backward_dependences): Use new routines.
3890         (sched_analyze_1, sched_analyze_2): Use new routines.
3891         (schedule_insns): Use new global routines.
3892         * rtl.h (init_EXPR_INSN_LIST_cache, free_EXPR_LIST_list): Add function
3893         prototypes.
3894         (free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
3895         (free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
3896         prototypes.
3897         * toplev.c (rest_of_compilation): Initialize node cache.
3898         * Makefile.in (OBJS): Add lists.o to list of object files.
3899         (lists.o): Add dependancies.
3900
3901 Wed Aug 25 17:31:56 1999  Nick Clifton  <nickc@cygnus.com>
3902
3903         * config/v850/v850.md: Fix compile time warning messages.
3904         * config/v850/v850.c: Fix compile time warning messages.
3905         * config/v850/v850.h: Fix compile time warning messages.
3906
3907 Wed Aug 25 09:44:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3908
3909         * genattr.c (gen_attr): Add prototype arguments for get_attr_*().
3910         Remove unused prototype for `init_lengths'.
3911
3912 Wed Aug 25 09:32:31 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3913
3914         * calls.c (emit_call_1): Mark parameter `stack_size' with
3915         ATTRIBUTE_UNUSED.
3916         (expand_call): Initialize variable `insn'.
3917         (emit_library_call): Likewise for variable `high_to_save'.
3918         (emit_library_call_value): Likewise.
3919         (store_one_arg): Likewise for variables `lower_bound' and
3920         `upper_bound'.
3921
3922         * combine.c (try_combine): Likewise for variables `i2_code_number'
3923         and `other_code_number'.
3924         (find_split_point): Likewise for variables `pos', `unsignedp' and
3925         `inner'.
3926         (simplify_if_then_else): Likewise for variables `op' and `c1'.
3927         (simplify_and_const_int): Remove unused variable `width'.
3928         (merge_outer_ops): Likewise.
3929
3930         * cse.c (simplify_binary_operation): Cast an INTVAL() to `unsigned
3931         HOST_WIDE_INT' when comparing against one.
3932         (simplify_relational_operation): Likewise.
3933         (cse_insn): Initialize variables `src_eqv_volatile',
3934         `src_eqv_in_memory', `src_eqv_in_struct', `src_eqv_hash' and `sets'.
3935
3936         * final.c (init_final): Constify parameter `filename'.
3937         (final_start_function): Mark parameter `optimize' with
3938         ATTRIBUTE_UNUSED.
3939         (profile_function): Likewise for parameters `first' and `optimize'.
3940         (output_source_line): Likewise for parameter `file'.
3941
3942         * integrate.c (subst_constants): Cast a value to `size_t' when
3943         comparing against one.
3944         (mark_stores): Initialize variable `mode'.  Cast a value to
3945         `size_t' when comparing against one.
3946
3947         * integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.
3948
3949         * loop.c (move_movables): Initialize variable `first'.
3950         (strength_reduce): Likewise for variable `increment'.
3951         (check_dbra_loop): Likewise for variable `comparison_val'.  Cast a
3952         value to `size_t' when comparing against one.
3953         (load_mems): Initialize variable `end_label'.
3954
3955         * output.h (init_final): Constify parameter.
3956
3957         * reload.c (decompose): Initialize variable `base'.
3958
3959         * reload1.c (reload): Likewise for variable `is_scalar'.
3960         (spill_hard_reg): Mark parameter `dumpfile' with ATTRIBUTE_UNUSED.
3961         (choose_reload_regs): Initialize variable `mode'.
3962         (emit_reload_insns): Likewise for variable `store_insn'.
3963         (reload_cse_noop_set_p): Mark parameter `insn' with
3964         ATTRIBUTE_UNUSED.
3965         (reload_combine): Initialize variable `set'.
3966
3967         * unroll.c (unroll_loop): Likewise for variable `local_label'.
3968         (copy_loop_body): Cast a value to `size_t' when comparing against
3969         one.
3970
3971         * varasm.c (assemble_variable): Initialize variable `size_tree'.
3972         (const_hash): Add an `else abort()' in an if-else-if-else sequence.
3973         (remove_from_pending_weak_list): Mark parameter `name' with
3974         ATTRIBUTE_UNUSED.
3975
3976 Wed Aug 25 11:18:39 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
3977
3978         * toplev.c (rest_of_compilation): Use decl_printable_name when opening
3979         gcse dump file.
3980
3981 Wed Aug 25 10:57:12 1999  Nick Clifton  <nickc@cygnus.com>
3982
3983         * config/arm/telf.h (ASM_WEAKEN_LABEL): Define.
3984         (ASM_DECLARE_FUNCTION_NAME): Define.
3985         (TYPE_ASM_OP, SIZE_ASM_OP, TYPE_OPERAND_FORMAT,
3986         ASM_DECLARE_RESULT, ASM_DECLARE_OBJECT_NAME,
3987         ASM_FINISH_DECLARE_OBJECT, ASM_DECLARE_FUNCTION_SIZE): Define if
3988         not already defined.
3989
3990 Wed Aug 25 01:36:11 1999  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3991
3992         * calls.c (emit_call_1): Use call_pop/call_value_pop for all values
3993         of n_popped when call/call_value are not defined.
3994
3995 Wed Aug 25 01:25:14 1999  Jeffrey A Law  (law@cygnus.com)
3996
3997         * tm.texi: GNU CC -> GCC conversion.
3998         (CC1_SPEC): Indicate it is used for all language front ends.
3999
4000 Tue Aug 24 23:43:03 1999  Mark Mitchell  <mark@codesourcery.com>
4001
4002         * flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
4003         NOTE_INSN_EH_REGION_END correctly.
4004
4005 Tue Aug 24 23:26:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
4006                           Jeff Law <law@cygnus.com>
4007
4008         * loop.c (strength_reduce): Automatically unroll loops if the
4009         unrolled loop size is smaller than the rolled loop size.
4010
4011         * loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
4012         and delete comment that code should be rewritten.
4013
4014 Tue Aug 24 22:56:35 1999  Jeffrey A Law  (law@cygnus.com)
4015
4016         * haifa-sched.c (find_rgns): Mark a block found during the DFS search
4017         as reachable.
4018
4019         * haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
4020
4021 Tue Aug 24 22:41:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
4022
4023         * fixinc/mkfixinc.sh: Don't fix uwin headers.
4024         * i386/uwin.h (MD_STARTFILE_PREFIX): Define.
4025         (LINK_SPEC): Add -u _main when building executables.
4026         (ASM_DECLARE_FUNCTION): Update from Cygwin.
4027         (ASM_FILE_END): Use the default for ix86-pe.
4028         * i386/xm-uwin.h (HAVE_BCOPY): Undefine.
4029
4030 Tue Aug 24 20:49:47 1999  Art Haas  <ahaas@neosoft.com>
4031
4032         * final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
4033         and ASM_CLOSE_PAREN are empty strings.
4034
4035 Wed Aug 25 12:46:22 1999  Fred Fish  <fnf@cygnus.com>
4036                           Geoffrey Keating <geoffk@cygnus.com>
4037
4038         * Makefile.in (PREPROCESSOR_DEFINES): New macro.
4039         (protoize.o):  Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
4040         (unprotoize.o): Ditto.
4041         (test-protoize-simple): Don't define STD_PROTO_DIR.
4042         * protoize.c: Use PARAMS rather than PROTO.  Minor whitespace
4043         changes to make 'test-protoize-simple' pass.
4044         (STD_PROTO_DIR): Remove define.
4045         (STANDARD_EXEC_PREFIX): Supply default define.
4046         (standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
4047         (target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
4048         (target_version): New variable, init to DEFAULT_TARGET_VERSION.
4049         (GET_ENV_PATH_LIST): New macro.
4050         (default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
4051         (do_processing): Initialize default_syscalls_dir using new
4052         macros.  Use it to initialize syscalls_absolute_filename.
4053
4054 Tue Aug 24 16:58:15 1999  Richard Henderson  <rth@cygnus.com>
4055
4056         * jump.c (jump_optimize_1): Do cmov opt on any single-set; force
4057         B into a register before emit_conditional_move.
4058
4059 Tue Aug 24 15:37:03 1999  Richard Henderson  <rth@cygnus.com>
4060
4061         * fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
4062         as (+ (+ (* a b) (* d e)) c).  Factor a common power-of-two
4063         multiplicand out of (+ (* a b) (* c d)).
4064
4065 Tue Aug 24 11:46:10 1999  Bob Manson <manson@cygnus.com>
4066                           Richard Henderson  <rth@cygnus.com>
4067
4068         * haifa-sched.c (split_hard_reg_notes): Move to flow.c
4069         (new_insn_dead_notes): Likewise.
4070         (update_n_sets): Likewise.
4071         (update_flow_info): Move to flow.c, renamed to update_life_info;
4072         extend to handle multiple source insns.
4073         * flow.c: Include resource.h
4074         (unlink_insn_chain): New.
4075         (split_hard_reg_notes): New.
4076         (maybe_add_dead_note): New.
4077         (maybe_add_dead_note_use): New.
4078         (find_insn_with_note): New.
4079         (new_insn_dead_notes): New.
4080         (update_n_sets): New.
4081         (sets_reg_or_subreg_1, sets_reg_or_subreg): New.
4082         (maybe_remove_dead_notes): New.
4083         (update_life_info): New.
4084         (prepend_reg_notes): New.
4085         (replace_insns): New.
4086         * output.h (update_life_info): Declare.
4087         * recog.c (split_block_insns): Use update_life_info.
4088         * resource.c (find_free_register): Use reg_alloc_order, don't use
4089         fixed regs, make sure the mode is supported, don't use new regs.
4090         (reg_dead_p): New.
4091         * rtl.h (replace_insns): Declare.
4092
4093 Tue Aug 24 13:48:39 1999  Nathan Sidwell  <nathan@acm.org>
4094
4095         * expr.c (expand_expr): Cope with COND_EXPRs with one
4096         non-returning branch.
4097
4098 Mon Aug 23 22:28:16 1999  Mark Mitchell  <mark@codesourcery.com>
4099
4100         * expr.c (store_expr): Always pass down the target, even when not
4101         doing CSE.
4102
4103 1999-08-24  Nick Clifton  <nickc@cygnus.com>
4104
4105         * configure.in: Define target_cpu_default for v850 targets.
4106         * configure: Regenerate
4107
4108         * config/v850/v850.h (TARGET_CPU_generic): Define.
4109         (GO_IF_LEGITIMATE_ADDRESS): Insist that SImode and larger constant
4110         addresses are 4 byte aligned.
4111
4112         * config/v850/v850.c (print_operand): Cope with 'R' format DFmode
4113         addresses.
4114
4115 Tue Aug 24 09:32:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4116
4117         * genattr.c (function_unit_desc): Constify a char*.  Add prototype.
4118         (main): Add prototypes.
4119
4120         * genattrtab.c (substitute_address, write_const_num_delay_slots,
4121         attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
4122         (write_attr_get): Emit prototypes along with function definition.
4123         (write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
4124         (write_complex_function): Emit static prototype along with
4125         function definition.
4126
4127         * genemit.c (gen_split): Emit prototypes along with function
4128         definition.
4129
4130         * genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
4131         Likewise for predicates and `insn_operand_predicate'.
4132         (process_template): Emit static prototype along with function
4133         definition.
4134
4135         * genrecog.c (make_insn_sequence): Constify a char*.  Add
4136         prototypes for get_split_*().
4137         (write_subroutine): Emit prototypes along with function
4138         definition.
4139
4140 Tue Aug 24 12:35:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
4141
4142         * gcse.c (find_avail_set): Follow chains of register-register copies.
4143         Use oprs_not_set_p to guarantee that the returned value can be
4144         substituted.
4145         (cprop_insn): Don't verify the return value of find_avail_set with
4146         oprs_not_set_p.
4147
4148         * gcse.c (cprop_jump): New function, broken out of cprop_insn.
4149         (cprop_cc0_jump): New function.
4150         (cprop_insn): Break out new function cprop_jump and use it.
4151         Also use cprop_cc0_jump for machines with CC0.
4152         (cprop): Don't crash if cprop_insn turned the insn into a NOTE.
4153
4154         * tree.h (current_function_calls_setjmp,
4155         current_function_calls_longjmp): Delete declarations.
4156         * dsp16xx.c: Include "function.h".
4157         * elxsi.c: Likewise.
4158         * gmicro.c: Likewise.
4159         * h8300.c: Likewise.
4160         * i370.c: Likewise.
4161         * m32r.c: Likewise.
4162         * mn10200.c: Likewise.
4163         * mn10300.c: Likewise.
4164         * ns32k.c: Likewise.
4165         * spur.c: Likewise.
4166         * v850.c: Likewise.
4167
4168         * rtl.h (rtx_equal_function_value_matters): Declare.
4169         * toplev.c (rtx_equal_function_value_matters): Don't declare.
4170         * cse.c: Likewise.
4171         * function.c: Likewise.
4172         * emit-rtl.c: Likewise.
4173
4174 Tue Aug 24 02:47:44 1999  Jeffrey A Law  (law@cygnus.com)
4175
4176         * expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
4177         call.
4178
4179 1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4180
4181         * jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
4182         exactly.
4183
4184 Mon Aug 23 23:35:52 1999  Matthias Klose  <doko@cs.tu-berlin.de>
4185
4186         * cpp.texi: Add a node documenting macro varargs (copied
4187         from extend.texi).
4188
4189 1999-08-23 22:23 -0700  Zack Weinberg  <zack@bitmover.com>
4190
4191         * cppspec.c: Put a null pointer at the end of the new argv.
4192
4193 Mon Aug 23 21:23:24 1999  Jeffrey A Law  (law@cygnus.com)
4194
4195         * configure.in: Remove code to select/de-select the haifa
4196         scheduler.  Every scheduled port gets haifa now.
4197         * configure: Rebuilt.
4198         * flags.h, genattrtab.c, rtl.h, toplev.c: Remove HAIFA ifdefs.
4199         * sched.c Deleted.
4200         * Makefile.in: Corresponding changes.
4201
4202 Mon Aug 23 16:04:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
4203
4204         * optabs.c (prepare_cmp_insn): Turn COMPARISON arg into a pointer.
4205         All callers changed.
4206         (prepare_float_lib_cmp): Likewise.
4207         Use FLOAT_LIB_COMPARE_RETURNS_BOOL.
4208         * expr.h (emit_float_lib_cmp): Delete declaration.
4209         * tm.texi (FLOAT_LIB_COMPARE_RETURNS_BOOL): Document.
4210         * sparc.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): Define.
4211         * sparc.md (bcc and scc patterns): Don't handle TFmode comparisons
4212         specially.
4213         (cmptf): Now conditional on TARGET_HARD_QUAD.
4214
4215 Fri Aug 20 17:52:27 1999  Jim Wilson  <wilson@cygnus.com>
4216
4217         * resource.c (mark_target_live_regs): Use
4218         PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
4219
4220 Fri Aug 20 19:07:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4221
4222         * rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
4223
4224         * rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
4225
4226         * genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
4227
4228 Fri Aug 20 18:53:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4229
4230         * rtl.h (rtx_format): Constify a char*.
4231
4232         * rtl.c (rtx_format): Likewise.
4233         (copy_rtx, copy_most_rtx, read_rtx): Likewise.
4234         (init_rtl): Use accessor macro, not `rtx_format'.
4235
4236         * alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
4237         char*.
4238
4239         * caller-save.c (mark_referenced_regs): Likewise.
4240
4241         * combine.c (subst, make_compound_operation, known_cond,
4242         gen_rtx_combine, update_table_tick, get_last_value_validate,
4243         use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.
4244
4245         * cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
4246         refers_to_p, canon_reg, fold_rtx, cse_process_notes,
4247         count_reg_usage): Likewise.
4248
4249         * emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
4250         Likewise.
4251
4252         * final.c (leaf_renumber_regs_insn): Likewise.
4253
4254         * flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
4255         dump_edge_info, count_reg_references): Likewise.
4256
4257         * function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
4258         fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
4259         Likewise.
4260
4261         * gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
4262         oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
4263         add_label_notes): Likewise.
4264
4265         * genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
4266         clear_struct_flag, count_sub_rtxs, count_alternatives,
4267         compares_alternatives_p, contained_in_p, walk_attr_value,
4268         write_expr_attr_cache): Likewise.
4269
4270         * genconfig.c (walk_insn_part): Likewise.
4271
4272         * genemit.c (max_operand_1, gen_exp): Likewise.
4273
4274         * genextract.c (walk_rtx): Likewise.
4275
4276         * genflags.c (num_operands): Likewise.
4277
4278         * genoutput.c (scan_operands): Likewise.
4279
4280         * genpeep.c (match_rtx): Likewise.
4281
4282         * genrecog.c (add_to_sequence): Likewise.
4283
4284         * haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
4285         Likewise.
4286
4287         * integrate.c (save_constants, copy_for_inline,
4288         copy_rtx_and_substitute, subst_constants, restore_constants):
4289         Likewise.
4290
4291         * jump.c  (mark_jump_label, invert_exp, redirect_exp,
4292         rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
4293
4294         * local-alloc.c (contains_replace_regs, memref_referenced_p):
4295         Likewise.
4296
4297         * loop.c (record_excess_regs, rtx_equal_for_loop_p,
4298         add_label_notes, replace_call_address, count_nonfixed_reads,
4299         invariant_p, find_single_use_in_loop, find_mem_givs,
4300         find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
4301         Likewise.
4302
4303         * print-rtl.c (reg_names, print_rtx): Likewise.
4304
4305         * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
4306
4307         * reg-stack.c (stack_regs_mentioned_p, record_label_references,
4308         record_reg_life_pat, swap_rtx_condition, goto_block_pat,
4309         print_blocks): Likewise.
4310
4311         * regclass.c (fix_register, record_address_regs,
4312         reg_scan_mark_refs): Likewise.
4313
4314         * regmove.c (stable_but_for_p): Likewise.
4315
4316         * reload.c (loc_mentioned_in_p, operands_match_p,
4317         find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
4318         copy_replacements, refers_to_regno_for_reload_p,
4319         refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
4320         reload_when_needed_name, reg_class_names, debug_reload_to_stream):
4321         Likewise.
4322
4323         * reload1.c (eliminate_regs, scan_paradoxical_subregs,
4324         delete_address_reloads_1, count_occurrences,
4325         reload_cse_mem_conflict_p, reload_combine_note_use,
4326         add_auto_inc_notes): Likewise.
4327
4328         * resource.c (mark_referenced_resources, mark_set_resources):
4329         Likewise.
4330
4331         * rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
4332         reg_mentioned_p, regs_set_between_p, modified_between_p,
4333         modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
4334         rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
4335         may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
4336         jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.
4337
4338         * sched.c (sched_analyze_2, attach_deaths): Likewise.
4339
4340         * stupid.c (stupid_mark_refs): Likewise.
4341
4342         * unroll.c (remap_split_bivs): Likewise.
4343
4344         * varasm.c (mark_constants): Likewise.
4345
4346         * a29k/a29k.c (uses_local_reg_p): Likewise.
4347
4348         * alpha/alpha.c (summarize_insn): Likewise.
4349
4350         * arm/arm.c (symbol_mentioned_p, label_mentioned_p,
4351         eliminate_lr2ip): Likewise.
4352
4353         * arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
4354
4355         * i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
4356         reg_mentioned_in_mem): Likewise.
4357
4358         * ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
4359         symbolic_reference_mentioned_p): Likewise.
4360
4361         * romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
4362
4363         * sh/sh.c (regs_used, mark_use): Likewise.
4364
4365         * vax/vax.c (vax_rtx_cost): Likewise.
4366
4367 Fri Aug 20 18:38:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4368
4369         * machmode.h (mode_name): Constify a char*.
4370
4371         * rtl.c (mode_name): Likewise.
4372
4373         * genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
4374
4375         * optabs.c (init_libfuncs): Constify a char*.
4376
4377         * print-tree.c (mode_name): Remove redundant declaration.
4378         (print_node): Use accessor macro, not `mode_name'.
4379
4380         * reload1.c (dump_needs): Constify a char*.  Use accessor macro,
4381         not `mode_name'.
4382         (new_spill_reg): Constify a char*.
4383
4384         * tree.c (mode_name): Remove redundant declaration.
4385
4386 Fri Aug 20 18:31:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4387
4388         * rtl.c (rtx_name): Constify a char*.
4389
4390         * rtl.h (rtx_name, fix_sched_param): Likewise.
4391
4392         * gmicro/gmicro.c (rtx_name): Remove redundant declaration.
4393         (mypr): Use accessor macro, not `rtx_name'.
4394
4395         * genemit.c (print_code): Constify a char*.
4396
4397         * genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
4398
4399         * genpeep.c (print_code): Constify a char*.
4400
4401         * genrecog.c (print_code): Likewise.
4402
4403         * graph.c (start_fct, start_bb, node_data, draw_edge, end_fct,
4404         end_bb): Add static prototype.
4405         (draw_edge): Constify a char*.
4406         (end_bb): Remove unused parameter.
4407
4408         * haifa-sched.c (fix_sched_param, safe_concat, print_exp
4409         print_block_visualization): Constify a char*.
4410
4411 Fri Aug 20 15:02:10 1999  Mark Mitchell  <mark@codesourcery.com>
4412
4413         * c-common.c (c_get_alias_set): Update comment.
4414
4415 1999-08-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
4416
4417         * linux.h (LIB_SPEC): Added.
4418
4419 Fri Aug 20 22:32:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4420
4421         * config/c4x/c4x.h (STARTFILE_SPEC): Don't define.
4422
4423 1999-08-19 18:43 -0700  Zack Weinberg  <zack@bitmover.com>
4424
4425         * tree.c (expr_check): Fix typo in last change.
4426
4427 1999-08-19 14:44 -0700  Zack Weinberg  <zack@bitmover.com>
4428
4429         * rtl.def (NOTE): Change format to "iuu0n".
4430         (ADDR_DIFF_VEC): Change format to "eEee0".
4431         (ADDRESSOF): Change format to "eit".
4432
4433         * rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
4434         (RTVEC_ELT): Change to match.
4435         (XVECEXP): Use XVEC and RTVEC_ELT.
4436         (INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
4437         ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
4438         (PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES,
4439         CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
4440         TRAP_CONDITION, TRAP_CODE): Use XEXP.
4441         (INTVAL): Use XWINT.
4442         (ADDRESSOF_DECL): Use XTREE.
4443         (SET_ADDRESSOF_DECL): Delete.
4444         (NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
4445         NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill.  These have been
4446         ifdefed out since 2.6 at least.
4447         (gen_rtvec_vv): Delete prototype.
4448
4449         * rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
4450         not rtunion.
4451         (copy_most_rtx): Handle 't' format letter.
4452         * emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
4453         (gen_rtvec_vv): Delete function.  All callers changed to use
4454         gen_rtvec_v instead.
4455         * print-rtl.c (print_rtx): Move special casing of NOTEs to
4456         the '0' format letter.
4457
4458         * function.c (gen_mem_addressof): Don't use
4459         SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
4460         instead.
4461         * integrate.c (copy_rtx_and_substitute): Likewise.
4462         Copy 't' slots with XTREE.
4463         (subst_constants): Treat 't' slots like '[swi]' slots.
4464         * cse.c (canon_hash, exp_equiv_p): Treat 't' slots like '0' slots.
4465         * jump.c (rtx_equal_for_thread_p): Likewise.
4466         * rtlanal.c (rtx_equal_p): Likewise.
4467         * stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
4468         only four arguments.
4469         * gengenrtl.c (type_from_format): Provide correct types for
4470         'b' and 't' slots.
4471
4472
4473         * tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
4474         If a recent gcc is in use (always in stage2 and beyond), use
4475         statement expressions, so we don't make a function call unless
4476         the check fails.  Evaluate arguments exactly once.
4477         (CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
4478         TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
4479         Delete.
4480         (CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
4481         they evaluate their arguments exactly once, irrespective of
4482         the compiler in use.
4483
4484         * tree.c [ENABLE_CHECKING]: Define whichever set of functions
4485         is used by the currently-enabled check macros.  This is:
4486         (tree_check_failed, tree_class_check_failed): For gcc.
4487         (tree_check, tree_class_check, cst_or_constructor_check,
4488         expr_check): For other compilers.
4489
4490         * gencheck.c: Do not define any *_CHECK1 macros.
4491
4492 Thu Aug 19 14:42:38 1999  Mike Stump <mrs@wrs.com>
4493                           Mark Mitchell <mark@codesourcery.com>
4494
4495         * c-common.c (c_get_alias_set): Fix support for poitners and
4496         references.
4497
4498 Thu Aug 19 11:51:22 EDT 1999  John Wehle  (john@feith.com)
4499
4500         * alias.c: Include tree.h.
4501         (nonlocal_reference_p, mark_constant_function): New functions.
4502         * flow.c (life_analysis): Call mark_constant_function.
4503         * rtl.h (mark_constant_function): Declare it.
4504
4505 Thu Aug 19 15:02:01 1999  Nick Clifton  <nickc@cygnus.com>
4506
4507         * config/rs6000/rs6000.c (rs6000_override_options): Fix test for
4508         unrecognisable switches.
4509
4510 Wed Aug 18 23:31:57 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
4511
4512         * loop.c (recombine_givs): Set ix field after sorting.
4513         (recombine_givs): Remove bogus index / giv lockstep looping.
4514
4515 Wed Aug 18 18:20:40 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
4516
4517         * expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
4518         on CODE.
4519         (emit_store_flag_force): Use do_compare_rtx_and_jump.
4520         (do_cmp_and_jump): Formatting fixes.
4521         * expr.c (do_compare_and_jump): Renamed from compare; changed to call
4522         do_compare_rtx_and_jump instead of compare_from_rtx.
4523         (do_compare_rtx_and_jump): New function; mostly copied from
4524         compare_from_rtx.
4525         (do_jump_for_compare): Delete.
4526         (expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
4527         MIN_EXPR.
4528         (do_jump): Use do_compare_and_jump or do_compare_rtx_and_jump instead
4529         of compare/do_jump_for_compare pairs.
4530         (do_jump_by_parts_greater): Use do_jump_by_parts_greater_rtx.
4531         (do_jump_by_parts_greater_rtx): Use do_compare_rtx_and_jump instead of
4532         compare_from_rtx/do_jump_for_compare pairs.
4533         (do_jump_by_parts_equality): Likewise.
4534         (do_jump_by_parts_equality_rtx): Likewise.
4535         * expr.h (do_compare_rtx_and_jump): Declare.
4536         * optabs.c (prepare_cmp_insn): New function, contains most of the code
4537         that used to be in emit_cmp_insn.
4538         (cmp_available_p): New function.
4539         (prepare_operand): New function.
4540         (emit_cmp_and_jump_insn_1): New function, contains some code that used
4541         to be in emit_cmp_insn.
4542         (prepare_float_lib_cmp): Renamed from emit_float_lib_cmp; change some
4543         parameters to be pointers; don't emit final compare but modify some of
4544         the values pointed to by the args so the caller can perform the
4545         correct comparison.
4546         (expand_binop): Call emit_store_flag_force with signed forms of
4547         comparison code.
4548         (expand_abs): Use do_compare_rtx_and_jump instead of compare_from_rtx/
4549         emit_jump_insn pair.
4550         (emit_cmp_and_jump_insn): Use prepare_cmp_insn and
4551         emit_cmp_and_jump_insn_1.  Call emit_queue.
4552         (emit_cmp_insn): Just call emit_cmp_and_jump_insns with zero for LABEL
4553         arg.
4554         * flow.c (tidy_fallthru_edge): If HAVE_cc0, verify insn before a
4555         jump sets cc0 before deleting it.
4556         * integrate.c (expand_inline_function): Likewise.
4557         * unroll.c (unroll_loop): Similar changes in several places.
4558         (copy_loop_body): If HAVE_cc0, verify insn before a jump sets cc0
4559         before deleting it.
4560
4561 Wed Aug 18 06:37:44 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
4562
4563         * Makefile.in (insn-recog.o): Update dependencies.
4564         * genrecog.c (main): Make generated file include "function.h".
4565
4566 Sat Aug 14 00:54:57 1999  Geoffrey Keating  <geoffk@cygnus.com>
4567
4568         * cse.c (cse_insn): Call never_reached_warning when a jump is
4569         changed to be unconditional.
4570         * flags.h: Declare warn_notreached.
4571         * flow.c (delete_block): Call never_reached_warning when
4572         a block is deleted.
4573         * jump.c (delete_barrier_successors): Call never_reached_warning
4574         when we delete everything after a BARRIER.
4575         (never_reached_warning): New function.
4576         * rtl.h: Declare never_reached_warning.
4577         * toplev.c (warn_notreached): New variable.
4578         (lang_independent_options): Set warn_notreached
4579         when -Wunreachable-code.
4580         (compile_file): We need line numbers for -Wunreachable-code.
4581
4582 Tue Aug 17 22:06:11 1999  Jan Hubicka  <hubicka@freesoft.cz>
4583
4584         * haifa-sched.c (insn_unit): Fix typo on out of range test.
4585         * sched.c (insn_unit): Likewise.
4586
4587 Tue Aug 17 21:57:23 1999  Andreas Schwab  <schwab@suse.de>
4588
4589         * combine.c (distribute_notes): Handle REG_EH_RETHROW.
4590
4591 Tue Aug 17 17:39:43 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
4592
4593         * flow.c (create_edge_list): Use xmalloc, not malloc.
4594
4595 Tue Aug 17 01:40:54 1999  Loren Rittle  <ljrittle@acm.org>
4596
4597         * fixinc/inclhack.def (no_double_slash): Do not trash single-line
4598         C-style comments.  Do not lose the character before double slash.
4599
4600 Mon Aug 16 18:08:22 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
4601
4602         * basic-block.h (struct edge_list): Stucture to maintain a vector
4603         of edges.
4604         (EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
4605          INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
4606         (create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
4607         New function prototypes.
4608         * flow.c (create_edge_list): Function to create an edge list.
4609         (free_edge_list): Discards memory used by an edge list.
4610         (print_edge_list): Debug output showing an edge list.
4611         (verify_edge_list): Internal consistency check for an edge list.
4612         (find_edge_index): Function to find an edge index for a pred and succ.
4613
4614 Mon Aug 16 11:56:36 1999  Mark Mitchell  <mark@codesourcery.com>
4615
4616         * tree.c (type_hash_add): Use permalloc to allocate nodes in the
4617         hashtable.
4618
4619 Mon Aug 16 17:04:15 1999  Jorn Rennecke <amylaar@cygnus.co.uk>
4620
4621         * mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
4622
4623 Fri Aug 13 15:20:43 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4624
4625         * config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
4626
4627 Fri Aug 13 10:21:28 1999  Nick Clifton  <nickc@cygnus.com>
4628
4629         * toplev.c (rest_of_compilation): Allow machine dependent
4630         reorganisation pass to place information into the RTL dump
4631         file if it so wishes.
4632
4633 Sun Aug 15 12:41:21 1999  Jim Wilson  <wilson@cygnus.com>
4634
4635         * explow.c (hard_function_value): Use VOIDmode instead of
4636         MAX_MACHINE_MODE.
4637         * stmt.c (expand_return): Likewise.
4638         * stor-layout.c (get_best_mode): Likewise.
4639
4640         * genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
4641         emit call instead of emit_insn call.
4642
4643 Sat Aug 14 15:04:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
4644
4645         * configure.in: Handle --disable/enable-win32-registry.
4646         * install.texi: Document --disable/enable-win32-registry.
4647         * acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
4648         (WIN32_REGISTRY_KEY): New macro.
4649         * prefix.c: Use to enable/disable win32-specific code.
4650         (lookup_key): Use versioned key.
4651         * configure: Regenerate.
4652         * config.in: Likewise.
4653
4654 Fri Aug 13 17:41:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
4655
4656         * cpplib.c (read_line_number): New fn, split out of...
4657         (do_line): Here.
4658
4659 Fri Aug 13 14:18:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
4660
4661         tree.c (lang_unsave_expr_now) : New.
4662         (unsave_expr_now): Call lang_unsave_expr_now.
4663         tree.h (lang_unsave_expr_now) : New.
4664
4665 Fri Aug 13 00:49:46 1999  Jason Merrill  <jason@yorick.cygnus.com>
4666
4667         * toplev.c (flag_new_exceptions): On by default.
4668
4669 1999-08-13  Michael Meissner  <meissner@cygnus.com>
4670
4671         * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
4672
4673 Fri Aug 13 01:29:57 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
4674
4675         * dwarfout.c (fundamental_type_code): Return FT_boolean for
4676         INTEGER_TYPE with precision==1, it's __java_boolean.
4677
4678 Thu Aug 12 23:51:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
4679
4680         * global.c (prune_preferences): Move some invariants out of the
4681         inner loop.
4682
4683 Thu Aug 12 15:30:29 1999  Jesse Perry  (jap@unx.dec.com)
4684
4685         * configure.in (alpha*-dec-osf*): Add osf5.
4686
4687 Sun Aug  1 22:24:03 1999  Philip Blundell  <philb@gnu.org>
4688
4689         * configure.in: Rework handling of ARM GNU/Linux slightly.
4690         (arm*-*-linux-gnuoldld): New target.
4691         * configure: Regenerate.
4692         * install.texi (Configurations): Add arm-*-linux-gnu{oldld} and
4693         arm-*-elf.  Mention that arm-*-linux-gnuaout is obsolete.
4694         * config/arm/linux-oldld.h: New file.
4695         * config/arm/linux-elf26.h: Don't include linux-elf.h.
4696         (TARGET_DEFAULT, SUBTARGET_LINK_SPEC, SUBTARGET_EXTRA_ASM_SPEC):
4697         Don't define.
4698         * config/arm/linux-elf.h (ASM_SPEC): Define.
4699         (TARGET_DEFAULT, SUBTARGET_EXTRA_LINK_SPEC,
4700         SUBTARGET_EXTRA_ASM_SPEC, CPP_APCS_PC_DEFAULT): Add definitions
4701         for 26-bit APCS and old linker.
4702         (CPP_PREDEFINES): Define `__arm__'; don't define `arm' or
4703         `arm_elf'.
4704         (FP_DEFAULT): Define to FP_SOFT3 for all machines.
4705         * config/arm/linux-aout.h (CPP_PREDEFINES): Define `__arm__';
4706         don't define `arm' or `arm_elf'.
4707         * config/arm/t-linux (EXTRA_MULTILIB_PARTS, MULTILIB_OPTIONS,
4708         MULTILIB_DIRNAMES): Define.  Fix typo in comment.
4709
4710 Thu Aug 12 10:14:47 1999  Andreas Schwab  <schwab@suse.de>
4711
4712         * rtl.texi: Fix typo.
4713
4714 Wed Aug 11 23:50:57 1999  Jason Merrill  <jason@yorick.cygnus.com>
4715
4716         * invoke.texi (C++ Dialect Options): Add -fms-extensions.
4717
4718 Wed Aug 11 12:59:37 1999  Mark Mitchell  <mark@codesourcery.com>
4719
4720         * extend.texi (C++ Signatures): Remove node.
4721         * invoke.texi: Remove discussion of -fhandle-signatures,
4722         signature, sigof, __signature__, and __sigof__.
4723
4724 Wed Aug 11 03:38:25 1999  Jeffrey A Law  (law@cygnus.com)
4725
4726         * Makefile.in (JAVAGC): Removed.
4727
4728 Wed Aug 11 02:13:26 1999  Mumit Khan  <khan@xraylith.wisc.edu>
4729
4730         * i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
4731
4732 1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
4733
4734         * i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
4735
4736 1999-08-11  Richard Earnshaw (rearnsha@arm.com)
4737
4738         * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
4739         a register that is already known to be a pointer.
4740
4741 1999-08-11  Bruce Korb  <ddsinc09@ix.netcom.com>
4742
4743         * fixinc/inclhack.tpl: Only install assert.h conditionally.
4744         * fixinc/inclhack.sh: Regenerated.
4745         * fixinc/fixincl.sh: Regenerated.
4746
4747 Wed Aug 11 00:34:22 1999  Joe Buck  <jbuck@synopsys.com>
4748
4749         * invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
4750         Fix documentation of -ansi flag to describe its C++ behavior.
4751         Remove bogus reference to GCC 2.9.
4752
4753 Tue Aug 10 17:19:02 1999  Jim Wilson  <wilson@cygnus.com>
4754
4755         * config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
4756         note if it is non-NULL.
4757
4758 Tue Aug 10 10:47:42 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
4759
4760         * except.h (eh_nesting_info): Add new structure defintion.
4761         (init_eh_nesting_info, free_eh_nesting_info): Add function prototypes.
4762         (reachable_handlers, update_rethrow_references): Add function
4763         prototypes.
4764         * rtl.h (struct rtvec_def): Update comments.  REG_EH_RETHROW takes
4765         a rethrow symbol instead of an integer exception region number.
4766         * flow.c (Make_edges): Use new exception nesting routines to determine
4767         which handlers are reachable from a CALL or asynchronous insn.
4768         Dont add an edge for calls with a REG_EH_REGION of -1 to non-local
4769         goto receivers.
4770         (delete_eh_regions): Update rethrow labels, and don't delete
4771         regions which are the target of a rethrow.
4772         * except.c (struct func_eh_entry): Add rethrow_ref field, now we can
4773         avoid overloading the SYMBOL_REF_USED flag.
4774         (rethrow_symbol_map): Use new rethrow_ref field.
4775         (rethrow_used): Use new rethrow_ref field.
4776         (expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead
4777         of an integer.  Fix formatting.
4778         (output_exception_table_entry): Use new rethrow_ref field.
4779         (can_throw): Check for EH_REGION_NOTE before deciding
4780         whether a CALL can throw or not.
4781         (scan_region): Call rethrow_used() instead of accessing data structure.
4782         (update_rethrow_references): New function to make sure only regions
4783         which are still targets of a rethrow are flagged as such.
4784         (process_nestinfo): New static function to initialize a handler
4785         list for a specific region.
4786         (init_eh_nesting_info): New function to allocate and initialize
4787         the list of all EH handlers reachable from all regions.
4788         (reachable_handlers): New function to retrieve the list of handlers
4789         reachable from a specific region and insn.
4790         (free_eh_nesting_info): New function to dispose of a list of
4791         reachable handlers.
4792
4793 Tue Aug 10 10:39:31 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
4794
4795         * flow.c (split_edge): Set JUMP_LABEL field.
4796         (commit_one_edge_insertion): Set head correctly for insert_before.
4797         When inserting insns, update insn block numbers if allocated.
4798
4799 Tue Aug 10 09:26:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4800
4801         * dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,
4802         retry_incomplete_types): Add static prototype.
4803         (stripattributes, dwarf_cfi_name, ASM_OUTPUT_DWARF_STRING,
4804         dwarf_tag_name, dwarf_attr_name, dwarf_form_name,
4805         dwarf_stack_op_name, dwarf_type_encoding_name, add_AT_string,
4806         dwarf2_name, add_name_attribute, lookup_filename, dwarf2out_line,
4807         dwarf2out_start_source_file, dwarf2out_define, dwarf2out_undef):
4808         Constify a char*.
4809
4810         * dwarf2out.h (dwarf2out_define, dwarf2out_undef,
4811         dwarf2out_start_source_file, dwarf2out_line): Likewise.
4812
4813 Tue Aug 10 09:21:46 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4814
4815         * output.h (assemble_name): Constify a char*.
4816
4817         * varasm.c (UNIQUE_SECTION, assemble_start_function,
4818         assemble_variable, assemble_name): Likewise.
4819
4820         * dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
4821
4822         * arm/pe.c (arm_pe_unique_section): Likewise.
4823
4824         * i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
4825
4826         * i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
4827
4828         * i386/interix.c (i386_pe_unique_section): Likewise.
4829
4830         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
4831
4832         * i386/winnt.c (i386_pe_unique_section): Likewise.
4833
4834         * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
4835
4836         * mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
4837
4838         * mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
4839
4840         * pa/pa.c (output_call): Likewise.
4841
4842         * pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
4843
4844         * pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
4845
4846         * rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
4847         Likewise.
4848
4849         * rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
4850         Likewise.
4851
4852         * rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4853
4854         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
4855         STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
4856
4857         * v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
4858
4859 Mon Aug  9 19:54:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4860
4861         * real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
4862
4863 Mon Aug  9 19:36:00 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4864
4865         * tree.h (lang_identify): Constify a char*.
4866         (print_error_function): Add extern prototype.  Constify a char*.
4867
4868         * c-lang.c (lang_identify): Constify a char*.
4869
4870         * objc/objc-act.c (lang_identify): Constify a char*.
4871
4872 Mon Aug  9 16:21:53 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
4873
4874         * genpeep.c (main): Make generated file include "function.h".
4875         * arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
4876
4877 Mon Aug  9 10:08:50 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
4878
4879         * Makefile.in: Update dependencies.
4880         * alias.c: Include "function.h"
4881         * c-decl.c: Likewise.
4882         * caller-save.c: Likewise.
4883         * calls.c: Likewise.
4884         * combine.c: Likewise.
4885         * cse.c: Likewise.
4886         * explow.c: Likewise.
4887         * final.c: Likewise.
4888         * global.c: Likewise.
4889         * graph.c: Likewise.
4890         * local-alloc.c: Likewise.
4891         * loop.c: Likewise.
4892         * optabs.c: Likewise.
4893         * profile.c: Likewise.
4894         * recog.c: Likewise.
4895         * regclass.c: Likewise.
4896         * regmove.c: Likewise.
4897         * reload.c: Likewise.
4898         * reorg.c: Likewise.
4899         * resource.c: Likewise.
4900         * sched.c: Likewise.
4901         * stupid.c: Likewise.
4902         * config/1750a/1750a.c: Likewise.
4903         * config/a29k/a29k.c: Likewise.
4904         * config/arc/arc.c: Likewise.
4905         * config/arm/arm.c: Likewise.
4906         * config/arm/thumb.c: Likewise.
4907         * config/c4x/c4x.c: Likewise.
4908         * config/clipper/clipper.c: Likewise.
4909         * config/convex/convex.c: Likewise.
4910         * config/fx80/fx80.c: Likewise.
4911         * config/i860/i860.c: Likewise.
4912         * config/m68k/m68k.c: Likewise.
4913         * config/m88k/m88k.c: Likewise.
4914         * config/mips/mips.c: Likewise.
4915         * config/pdp11/pdp11.c: Likewise.
4916         * config/pyr/pyr.c: Likewise.
4917         * config/romp/romp.c: Likewise.
4918         * config/sh/sh.c: Likewise.
4919         * config/tahoe/tahoe.c: Likewise.
4920         * config/vax/vax.c: Likewise.
4921         * config/we32k/we32k.c: Likewise.
4922         * config/sparc/sparc.c: Include "function.h".
4923         (mem_min_alignment): Test current_function rather than
4924         regno_pointer_align.
4925         * config/pa/pa.c: Likewise.
4926         (compute_frame_size): Delete declaration of
4927         current_function_outgoing_args_size.
4928         * config/arc/arc.h (current_function_varargs): Delete declaration.
4929         * config/elxsi/elxsi.h (current_function_calls_alloca): Delete
4930         declaration.
4931         * config/i370/i370.h (current_function_outgoing_args_size): Delete
4932         declaration.
4933         * config/i386/i386.h (FINALIZE_PIC): Delete declaration of
4934         current_function_uses_pic_offset_table.
4935         * config/m68k/a-ux.h (FUNCTION_EXTRA_EPILOGUE): Delete declaration
4936         of current_function_returns_pointer.
4937         * config/m68k/altos3068.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
4938         * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
4939         * config/m68k/m68kv4.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
4940         * config/m68k/mot3300.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
4941         * config/m68k/pbb.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
4942         * config/m68k/tower-as.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
4943         * config/m88k/m88k.c: Include "function.h"
4944         (call_used_regs, current_function_pretend_args_size,
4945         current_function_outgoing_args_size, frame_pointer_needed): Delete
4946         declarations.
4947         * config/m88k/m88k.h (current_function_pretend_args_size): Delete
4948         declaration.
4949         * config/mips/mips.h (current_function_calls_alloca): Delete
4950         declaration.
4951         * config/mn10200/mn10200.h (current_function_needs_context,
4952         rtx_equal_function_value_matters): Delete declarations.
4953         * config/ns32k/ns32k (current_function_uses_pic_offset_table,
4954         flag_pic): Delete declarations.
4955         * config/pa/pa.h (current_function_pretend_args_size,
4956         current_function_decl): Delete declarations.
4957         * config/pa/som.h (current_function_varargs): Delete declaration.
4958         * config/pdp11/pdp11.h (current_function_pretend_args_size): Delete
4959         declaration.
4960         * config/pyr/pyr.h (current_function_pretend_args_size,
4961         current_function_args_size, current_function_calls_alloca): Delete
4962         declarations.
4963         * config/sh/sh.h (current_function_varargs): Delete declaration.
4964         * config/sparc/sparc.h (current_function_outgoing_args_size,
4965         current_function_calls_alloca, current_function_decl): Delete
4966         declarations.
4967         * config/spur/spur.h (current_function_pretend_args_size,
4968         current_function_calls_alloca): Delete declarations.
4969         * config/v850/v850.c (current_function_outgoing_args_size): Delete
4970         declaration.
4971         * config/vax/vms.h (current_function_name): Delete declaration.
4972         * gcse.c: Include "function.h".
4973         (current_function_name, current_function_calls_setjmp): Delete
4974         declarations.
4975         * haifa-sched.c: Include "function.h".
4976         (forced_labels): Delete declaration.
4977         * jump.c: Likewise.
4978         * reg-stack.c: Likewise.
4979         * reload1.c: Likewise.
4980         * genemit.c (main): Make generated file include function.h.
4981         * genoutput.c (output_prologue): Likewise.
4982
4983         * builtins.c (saveregs_value, apply_args_value): Delete variables.
4984         * emit-rtl.c (reg_rtx_no, first_label_num, first_insn, last_insn,
4985         sequence_rtl_expr, cur_insn_uid, last_linenum, last_filename,
4986         regno_pointer_flag, regno_pointer_flag_length, regno_pointer_align,
4987         regno_reg_rtx, sequence_stack): Delete variables.  Add accessor
4988         macros for some of them.
4989         (emit_filename, emit_lineno): Delete declarations.
4990         (gen_reg_rtx): Use memset/memcpy instead of bzero/bcopy.  Access
4991         regno_pointer_* variables through current_function.
4992         (gen_inline_header_rtx): Delete function.
4993         (save_emit_status): Delete function.
4994         (set_new_last_label_num): New function.
4995         (clear_emit_caches): New function.
4996         (restore_emit_status): Just clear last_labelnum and call
4997         clear_emit_caches.
4998         (get_last_insn_anywhere): Variable sequence_stack is now accessed
4999         through macro seq_stack.
5000         (add_insn_after): Likewise.
5001         (add_insn_before): Likewise.
5002         (remove_insn): Likewise.
5003         (pop_topmost_sequence): Likewise.
5004         (in_sequence_p): Likewise.
5005         (start_sequence_for_rtl_expr): Likewise.
5006         (start_sequence): Likewise, and likewise for
5007         sequence_rtl_expr/seq_rtl_expr.
5008         (push_topmost_sequence): Likewise.
5009         (end_sequence): Likewise.
5010         (init_virtual_regs): Now takes a "struct emit_status *" argument.
5011         All callers changed.  Store into that pointer instead of globals.
5012         (init_emit): Allocate emit elt of current_function.
5013         Changes for sequence_rtl_expr/sequence_stack renaming.
5014         Call clear_emit_caches instead of doing it in-line.
5015         Access regno_pointer_* variables through current_function.
5016         (init_emit_once) Don't clear sequence_stack.
5017
5018         * expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
5019         Delete variables.
5020         (arg_pointer_save_area): Delete declaration.
5021         (finish_expr_for_function): Renamed from init_queue; no longer static.
5022         (init_expr): Don't call init_queue.
5023         (save_expr_status, restore_expr_status): Delete functions.
5024         (expand_expr): Changes to reflect new layout of struct function.
5025         Don't access current_function_check_memory_usage when current_function
5026         is 0.
5027         * expr.h (forced_labels, save_expr_regs, saveregs_value,
5028         apply_args_value, current_function_calls_alloca, inhibit_defer_pop,
5029         current_function_outgoing_args_size, current_function_arg_offset_rtx,
5030         current_function_uses_const_pool, function_call_count,
5031         current_function_uses_pic_offset_table, nonlocal_labels,
5032         current_function_internal_arg_pointer, nonlocal_goto_stack_level,
5033         current_function_check_memory_usage, nonlocal_goto_handler_slots,
5034         pending_stack_adjust, target_temp_slot_level, temp_slot_level): Delete
5035         declarations.
5036         (finish_expr_for_function): Declare.
5037         * flags.h (current_function_has_nonlocal_label,
5038         current_function_has_nonlocal_goto, current_function_is_thunk,
5039         current_function_has_computed_jump): Delete declarations.
5040         * flow.c (forced_labels): Delete declaration.
5041         * function.c (current_function_pops_args,
5042         current_function_returns_struct, current_function_returns_pcc_struct,
5043         current_function_needs_context, current_function_calls_setjmp,
5044         current_function_calls_longjmp, current_function_has_nonlocal_label,
5045         current_function_has_nonlocal_goto, current_function_is_thunk,
5046         current_function_has_computed_jump, current_function_calls_alloca,
5047         current_function_contains_functions, current_function_returns_pointer,
5048         current_function_epilogue_delay_list, current_function_args_size,
5049         current_function_pretend_args_size, current_function_arg_offset_rtx,
5050         current_function_outgoing_args_size, current_function_varargs,
5051         current_function_stdarg, current_function_args_info, cleanup_label,
5052         current_function_name, current_function_uses_const_pool,
5053         current_function_instrument_entry_exit, current_function_return_rtx,
5054         current_function_uses_pic_offset_table, nonlocal_labels,
5055         current_function_internal_arg_pointer, current_function_cannot_inline,
5056         current_function_check_memory_usage, function_call_count,
5057         nonlocal_goto_handler_slots, nonlocal_goto_handler_labels,
5058         nonlocal_goto_stack_level, return_label, save_expr_regs,
5059         stack_slot_list, rtl_expr_chain, tail_recursion_label, temp_slots,
5060         tail_recursion_reentry, arg_pointer_save_area, frame_offset,
5061         context_display, trampoline_list, parm_birth_insn, invalid_stack_slot,
5062         last_parm_insn, max_parm_reg, parm_reg_stack_loc, sequence_rtl_expr,
5063         temp_slot_level, var_temp_slot_level, target_temp_slot_level):
5064         Delete variables.
5065         (push_function_context_to): Don't save them.  Don't call
5066         save_storage_status, save_emit_status or save_expr_status.
5067         (pop_function_context_from): Don't restore them.  Don't call
5068         restore_storage_status or restore_expr_status.
5069         (get_func_frame_size): New function.
5070         (get_frame_size): Use it.
5071         (assign_outer_stack_local): Reflect some member name changes in struct
5072         function.
5073         (put_reg_into_stack): Likewise.
5074         (assign_stack_temp_for_type): sequence_rtl_expr was renamed to
5075         seq_rtl_expr.
5076         (fixup_var_refs): Likewise.
5077         (fix_lexical_addr): Likewise.
5078         (trampoline_address): Likewise.
5079         (prepare_function_start): Clear field inlinable of current_function.
5080         (init_function_for_compilation): New function.
5081         (expand_dummy_function_end): New function.
5082         (expand_function_end): Call finish_expr_for_function.
5083         * function.h (struct emit_status): New; fields moved here from struct
5084         function and from global variables.  Add accessor macros for some of
5085         the fields.
5086         (struct expr_status): Likewise.
5087         (REGNO_POINTER_ALIGN, REGNO_POINTER_FLAG): Moved here from regs.h.
5088         (struct function): Add fields expr and emit, inlinable, inl_emit,
5089         original_arg_vector, original_decl_initial, inl_last_parm_insn,
5090         inl_max_label_num.  Add many comments.
5091         Add accessor macros for all elts of struct function that no longer
5092         have a global variable.
5093         (cleanup_label, return_label, frame_offset, tail_recursion_label,
5094         tail_recursion_reentry, arg_pointer_save_area, rtl_expr_chain,
5095         stack_slot_list): Delete declarations.
5096         (get_func_frame_size): Declare.
5097         (save_expr_status, restore_expr_status, save_emit_status,
5098         save_storage_status, restore_storage_status): Delete declarations.
5099         (init_virtual_regs): Declare.
5100         * output.h (current_function_pops_args,
5101         current_function_returns_struct, current_function_returns_pcc_struct,
5102         current_function_needs_context, current_function_calls_setjmp,
5103         current_function_calls_longjmp, current_function_calls_alloca,
5104         current_function_has_nonlocal_label, current_function_varargs,
5105         current_function_has_computed_jump, current_function_returns_pointer,
5106         current_function_contains_functions, current_function_args_size,
5107         current_function_pretend_args_size, current_function_stdarg,
5108         current_function_outgoing_args_size, current_function_args_info,
5109         current_function_name, current_function_return_rtx,
5110         current_function_epilogue_delay_list,
5111         current_function_uses_const_pool, current_function_cannot_inline):
5112         Delete declarations.
5113         * regs.h (reg_rtx_no, regno_pointer_flag, regno_pointer_flag_length,
5114         regno_reg_rtx): Delete declaration.
5115         (REGNO_POINTER_FLAG): Delete macro.
5116         * stmt.c (expand_goto): Changes to reflect that some fields in struct
5117         function were renamed.
5118         * stor-layout.c (save_storage_status, restore_storage_status): Delete
5119         functions.
5120         * toplev.c: Include "function.h".
5121         (current_function_decl): Delete declaration.
5122         (compile_file): Call init_dummy_function_start and
5123         expand_dummy_function_end around some initializations that need to
5124         emit rtl.
5125         (rest_of_compilation): Use DECL_SAVED_INSNS properly.
5126         Call init_function_for_compilation.
5127         * unroll.c: Include "function.h"
5128         (unroll_loop): Access regno_pointer_* variables through
5129         current_function.
5130
5131         * tree.h (struct tree_decl): Add elt f to saved_insns member.
5132         (DECL_SAVED_INSNS): use it.
5133         (expand_dummy_function_end): Declare.
5134         (init_function_for_compilation): Declare.
5135         * calls.c (calls_function_1): Change use of DECL_SAVED_INSNS now
5136         that it's no longer an INLINE_HEADER.
5137         (expand_call): Likewise.
5138         * integrate.c (finish_inline): Delete function.
5139         (max_parm_reg, parm_reg_stack_loc): Delete declarations.
5140         (initialize_for_inline): Delete min_labelno, max_labelno and max_reg
5141         args.  Don't generate an INLINE_HEADER rtx, just return the arg
5142         vector.  All callers changed.
5143         (save_for_inline_copying):  Create a duplicate struct emit_status to
5144         hold the emit state for compiling the current function.  Use this and
5145         the other new fields in struct function that are for integration
5146         instead of an INLINE_HEADER.
5147         Use memcpy instead of bcopy.
5148         Store the current struct function in DECL_SAVED_INSNS of fndecl.
5149         (save_for_inline_nocopy): Similar changes, except no new emit_status
5150         is needed here.
5151         (expand_inline_function): Get information from function structure,
5152         not from an inline header rtx.
5153         (output_inline_function): Lose code to extract the necessary
5154         information from an inline header; simply put back the function
5155         structure into current_function.  Clear its inlinable elt.
5156         * rtl.def (INLINE_HEADER): Delete.
5157         * rtl.h: Delete all accessors for an INLINE_HEADER.
5158         (gen_inline_header_rtx): Delete declaration.
5159         (regno_reg_rtx, regno_pointer_align, nonlocal_goto_handler_labels):
5160         Delete declarations.
5161         (REGNO_POINTER_ALIGN): Delete.
5162         (clear_emit_caches): Declare.
5163         (set_new_last_label_num): Declare.
5164
5165 Mon Aug  9 01:52:24 1999  Jason Merrill  <jason@yorick.cygnus.com>
5166
5167         * print-tree.c (print_node): Print base for OFFSET_TYPEs.
5168
5169         * except.c (expand_eh_region_start_for_decl): Always start a new block.
5170         * stmt.c (is_eh_region): Make sure current_function is present, too.
5171
5172 Mon Aug  9 01:15:24 1999  Jeffrey A Law  (law@cygnus.com)
5173
5174         * pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
5175         for 64bit PA targets.
5176
5177         * pa.h (SELECT_SECTION): Define.
5178         * som.h (SELECT_SECTION): Delete.
5179
5180 Sun Aug  8 15:13:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5181
5182         * alias.c (init_alias_analysis): Wrap call to
5183         `prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
5184
5185 1999-08-07  Bruce Korb  <autogen@linuxbox.com>
5186
5187         * fixinc/inclhack.def(irix_asm_apostrophe):  IRIX 5.2's
5188         <sys/asm.h> contains an asm comment with an apostrophe
5189         * fixinc/inclhack.sh:  regen
5190         * fixinc/fixincl.x:  regen
5191
5192 Sat Aug  7 19:37:07 1999  Richard Henderson  <rth@cygnus.com>
5193
5194         * function.c (init_function_start): Clear prologue & epilogue.
5195         (prologue_epilogue_contains): New function.
5196         * alias.c (init_alias_analysis): Use it.
5197         * rtl.h (prologue_epilogue_contains): Declare it.
5198
5199 Sat Aug  7 19:32:16 1999  Richard Henderson  <rth@cygnus.com>
5200
5201         * jump.c (onlyjump_p): New function.
5202         * rtl.h: Declare it.
5203         * flow.c (delete_unreachable_blocks): Use onlyjump_p instead
5204         of condjump_p in calling tidy_fallthru_edge and merge_blocks.
5205
5206 Sat Aug  7 17:09:36 1999  Richard Henderson  <rth@cygnus.com>
5207
5208         * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
5209         to invert loops.  Simplify block scanning.
5210
5211 Sat Aug  7 02:11:13 1999  Bernd Schmidt <bernds@cygnus.co.uk>
5212
5213         * gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
5214         (cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
5215
5216 1999-08-07  Jonathan Larmour  <jlarmour@cygnus.co.uk>
5217
5218         * config/sparc/liteelf.h: New file to support sparclite-elf target
5219         * config/sparc/t-sp86x: New file to support sparc86x targets
5220         * config/sparc/sp86x-aout.h: New file to support sparc86x-aout target
5221         * config/sparc/sp86x-elf.h: New file to support sparc86x-elf target
5222         * configure.in: Support above target triplets
5223         * configure: Regenerated
5224
5225 Sat Aug  7 01:39:27 1999  Philippe De Muyter  <phdm@macqel.be>
5226
5227         * fixinc/server.c (server_setup): Do not prefix function used as
5228         parameter with `&'.
5229
5230 Sat Aug  7 00:21:20 1999  Richard Henderson  <rth@cygnus.com>
5231
5232         * alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
5233         Remove fp reg alternatives.
5234
5235 Sat Aug  7 00:06:54 1999  Jeffrey A Law  (law@cygnus.com)
5236
5237         * Makefile.in (TAROUTOPTS): Kill.
5238         (install-headers-tar): Use "xpf" for tar headerfile extraction
5239         * i370/x-oe (TAROUTOPTS): Delete.
5240         * m68k/x-apollo68 (TAROUTOPTS): Delete.
5241         * m68k/x-hp320 (TAROUTOPTS): Delete.
5242         * m68k/x-hp320g (TAROUTOPTS): Delete.
5243         * gcc.texi: Update bug reporting text.
5244
5245 1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5246
5247         * reg-stack.c (change_stack) Fixed problem with negative array index.
5248
5249 Fri Aug  6 23:08:44 1999  Jeffrey A Law  (law@cygnus.com)
5250
5251         * extend.texi, install.texi: Fix spelling mistakes.
5252
5253         * Makefile.in (PREMADE_ATTRTAB_MD, PREMADE_ATTRTAB): Delete.
5254         (s-attrtab); No longer try to use pre-made insn-attrtab file.
5255         * mips/t-bsd: Delete references to obsolete PREMADE_ATTRTAB and
5256         PREMADE_ATTRTAB_MD.
5257         * mips/t-ecoff: Likewise.
5258         * mips/t-elf: Likewise.
5259         * mips/t-mips: Likewise.
5260         * mips/t-osfrose: Likewise.
5261         * mips/t-r3900: Likewise.
5262         * mips/t-svr3: Likewise.
5263         * mips/t-svr4: Likewise.
5264         * mips/t-ultrix: Likewise.
5265
5266         * gcc.texi: Document recommend means to provide software floating
5267         point libraries in libgcc.a
5268
5269 1999-08-06  Jason Merrill  <jason@yorick.cygnus.com>
5270
5271         * c-lex.c (yylex): We can have a number with no digits.
5272
5273 Fri Aug  6 16:53:55 EDT 1999  John Wehle  (john@feith.com)
5274
5275         * jump.c (delete_prior_computation): New function, broken
5276         out of delete_computation.  Check for side effects with
5277         side_effects_p instead of FIND_REG_INC_NOTE.  Handle
5278         multi-word hard registers.
5279         (delete_computation): Use it.  Check for side effects with
5280         side_effects_p instead of FIND_REG_INC_NOTE.  Synthesize a
5281         missing REG_DEAD note for a register which is both set and
5282         used by an insn.
5283
5284 Fri Aug  6 11:05:29 1999  Jeffrey A Law  (law@cygnus.com)
5285
5286         * elf.h (TEXT_SPACE_P, FUNCTION_NAME_P): Delete.
5287         (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT): Likewise.
5288         (ASM_FILE_START): Import _mcount with the right type.
5289         (ASM_DECLARE_FUNCTION_NAME): Define.
5290         (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5291         * pa.c (output_function_prologue): Always emit the function's label
5292         here.
5293         * pa.h (TEXT_SPACE_P): Define.
5294         (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
5295         (ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_GLOBALIZE_LABEL): Likewise.
5296         * som.h (TEXT_SPACE_P): Delete.
5297         (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
5298         (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT): Likewise.
5299
5300 Thu Aug  5 19:29:39 1999  Jim Wilson  <wilson@cygnus.com>
5301
5302         * expr.c (emit_group_load): Allow src to be a CONCAT.
5303
5304 Thu Aug  5 22:27:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
5305
5306         * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
5307         (___mulsi3): Use '!' comment character.
5308
5309 Thu Aug  5 13:34:14 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
5310
5311         * reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
5312
5313 Thu Aug  5 02:40:42 1999  Jeffrey A Law  (law@cygnus.com)
5314
5315         * gcc.c: Update URLs and mail addresses.
5316         * gcc.texi: Likewise.
5317
5318 Thu Aug  5 01:14:13 1999  Daniel Jacobowitz <drow@false.org>
5319
5320         * rs6000.c (current_file_function_operand): Return zero for
5321         weak functions.
5322         (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
5323         weak symbols.
5324         * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
5325         for weak symbols.
5326
5327 Thu Aug  5 00:56:30 1999  Geoffrey Keating   <geoffk@cygnus.com>
5328
5329         * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
5330         allocate space in the stack frame for the PIC register.
5331
5332 Thu Aug  5 00:20:47 1999  Jeffrey A Law  (law@cygnus.com)
5333
5334         * m68k.md (xordi3, anddi3): These patterns are not available on
5335         the coldfire.
5336
5337 Wed Aug  4 23:39:20 1999  Mark Mitchell  <mark@codesourcery.com>
5338
5339         * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
5340         (PUT_REAL): Likewise.
5341
5342 Wed Aug  4 20:45:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
5343
5344         * final.c (shorten_branches): Don't add an alignment for loops
5345         that have no label inside.
5346
5347 Wed Aug  4 16:39:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5348
5349         * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
5350         prototypes in macro HAVE_cmpstrsi.
5351
5352         * cpplib.c (cpp_get_token): Remove unused label `op3'.
5353
5354         * emit-rtl.c (operand_subword): Remove unused variable
5355         `bits_per_word'.
5356
5357         * rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
5358
5359         * tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
5360
5361 Wed Aug  4 13:29:23 1999  Zack Weinberg  <zack@bitmover.com>
5362
5363         * cpphash.c (macroexpand): Delete leading whitespace when arg
5364         is concatenated before.
5365         (unsafe_chars): Correct test for whether + and - can extend a
5366         token.
5367
5368         * cppinit.c (cpp_start_read): Do dependencies for
5369         -include/-imacros files also.
5370
5371         * cpplib.c (cpp_scan_buffer): In no-output mode, don't bother
5372         tokenizing non-directive lines.
5373         (cpp_expand_to_buffer): Temporarily disable no-output mode.
5374         * cppmain.c: In no-output mode, just call cpp_scan_buffer for
5375         the input file.
5376
5377 Wed Aug  4 12:53:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
5378
5379         * expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
5380
5381         * c-lex.c: Sync with C++ frontend.
5382         (linemode): New variable.
5383         (parse_float): imag, conversion_errno, and type are output only.
5384         (yylex): Adjust.  Move initial '.' case into main switch.
5385         Use linemode.
5386         (handle_generic_pragma): Just deal with tokens.
5387         (readescape): Use ISXDIGIT and ISGRAPH.
5388         * c-parse.in: Add END_OF_LINE token.
5389
5390         * c-lex.c (lang_init): Generalize.
5391         (nextchar): Remove.  Replace uses with UNGETC.
5392         (skip_white_space): Handle linemode here.  Optimize for cpplib.
5393         (skip_white_space_on_line): Remove.
5394         (extend_token_buffer_to): New fn.
5395         (extend_token_buffer): Use it.
5396         (read_line_number, check_newline): Just deal with tokens.
5397         (token_getch, token_put_back): New fns.
5398         (yylex): Use them.  More cpplib optimizations.  Simplify.
5399
5400 Wed Aug  4 12:53:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
5401                           Jason Merrill  <jason@yorick.cygnus.com>
5402
5403         * c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE.
5404         (consume_string): Make this smart about USE_CPPLIB.
5405         (check_newline): Rewrite to be intelligent about USE_CPPLIB.
5406         (yylex): Rewrite to be intelligent about USE_CPPLIB.
5407         Also, clean up cases where we redundantly set token_buffer[0].
5408         (read_line_number): New fn.
5409         (ignore_escape_flag): New variable.
5410
5411 Wed Aug  4 13:12:17 1999  Jeffrey A Law  (law@cygnus.com)
5412
5413         * a29k/t-a29kbare: Fix some comments.
5414         (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
5415         (FPBIT, DPBIT): Define.
5416         * a29k/t-vx29k: Likewise.
5417         * arc/t-arc: Likewise.
5418         * arm/t-arm-elf: Likewise.
5419         * arm/t-bare: Likewise.
5420         * arm/t-pe: Likewise.
5421         * arm/t-pe-thumb: Likewise.
5422         * arm/t-semi: Likewise.
5423         * arm/t-thumb: Likewise.
5424         * arm/t-thumb-elf: Likewise.
5425         * arm/t-thumb-linux: Likewise.
5426         * h8300/t-h8300: Likewise.
5427         * i960/t-i960: Likewise.
5428         * i960/t-vxworks960: Likewise.
5429         * m32r/t-m32r: Likewise.
5430         * mips/t-ecoff: Likewise.
5431         * mips/t-elf: Likewise.
5432         * mips/t-r3900: Likewise.
5433         * pa/t-pro: Likewise.
5434         * rs6000/t-aix43: Likewise.
5435         * rs6000/t-beos: Likewise.
5436         * rs6000/t-newas: Likewise.
5437         * rs6000/t-ppccomm: Likewise.
5438         * rs6000/t-rs6000: Likewise.
5439         * rs6000/t-winnt: Likewise.
5440         * rs6000/t-xnewas: Likewise.
5441         * rs6000/t-xrs6000: Likewise.
5442         * sh/t-sh: Likewise.
5443         * sparc/t-elf: Likewise.
5444         * sparc/t-sparcbare: Likewise.
5445         * sparc/t-sparclite: Likewise.
5446         * sparc/t-splet: Likewise.
5447         * v850/t-v850: Likewise.
5448         * mn10200/t-mn10200: Fix comments.
5449         * mn10300/t-mn10300: Likewise.
5450
5451         * pa.md (divsi3, udivsi3, modsi3, umodsi3 expanders): Clobber a new
5452         dummy operand.  Allocate a new pseudo for the dummy operand.
5453         (divsi3, udivsi3, modis3, umodsi3 patterns): Corresponding changes.
5454
5455         * pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
5456
5457 Wed Aug  4 11:53:55 1999  Tom Tromey  <tromey@cygnus.com>
5458
5459         * configure: Rebuilt.
5460         * configure.in: Removed --enable-java-gc option and JAVAGC subst.
5461
5462 Wed Aug  4 09:06:14 1999  Richard Earnshaw (rearnsha@arm.com)
5463
5464         * recog.c (preproces_constraints): Zero recog_op_alt before
5465         processing the constraints.
5466
5467         * arm.c (typedef minipool_node): Renamed from pool_node.
5468         (minipool_vector, minipool_size, minipool_vector_label): Similarly.
5469         (add_minipool_constant): New function.
5470         (dump_minipool): New function.
5471         (find_barrier): Remove special case for getting the insn size of
5472         an insn that references the constant pool.
5473         (minipool_fixup): New structure.
5474         (push_minipool_barrier): New function.
5475         (push_minipool_fix): New function.
5476         (note_invalid_constants): New function.
5477         (add_pool_constant, dump_table, fixit, broken_move): Delete.
5478         (arm_reorg): Rewrite code to fix up the constant pool into a
5479         series of mini-pools embedded in the insn stream.
5480         (arm_output_epilogue): New function, made mainly from the body
5481         of output_func_epilogue.
5482         (output_func_epilogue): Move insn generation part of epilogue code
5483         to arm_output_epilogue.
5484         * arm.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Delete.
5485         * arm.md (pool_range): New attribute.
5486         (zero_extendqidi2): Add attribute pool_range.
5487         (zero_extend_hisi_insn, load_extendqisi, extendhisi_insn,
5488         extendqihi_insn, extendqisi_insn, movdi, movsi_insn, pic_load_addr,
5489         pic_load_addr_based_insn, movhi_insn_arch4, movhi_insn_littleend,
5490         movhi_insn_bigend, loadhi_si_bigend, movsf_hard_insn, movsf_soft_insn,
5491         movdf_hard_insn, movdf_soft_insn, movxf_hard_insn): Likewise.
5492         (epilogue): New expand.
5493         (epilogue_insn): New insn.  Call arm_output_epilogue.
5494
5495         * arm.c (arm_poke_function_name): Undo change of July 17.  Tidy up.
5496         * arm.h (TARGET_SWITCHES): Add missing doc string for TARGET_DEFAULT.
5497
5498 Mon Aug  2 19:18:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
5499
5500         * linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
5501
5502 1999-08-04 Mark Elbrecht <snowball3@bigfoot.com>
5503
5504         * config/i386/djgpp.h  (BSS_SECTION_ASM_OP): Define.
5505
5506 Wed Aug  4 02:15:32 1999  Richard Henderson <rth@cygnus.com>
5507
5508         * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
5509
5510 Wed Aug  4 01:48:08 1999  Jim Kingdon  <http://developer.redhat.com>
5511
5512         * global.c: Fix comment.
5513
5514 Wed Aug  4 01:43:01 1999  Ian Lance Taylor  <ian@zembu.com>
5515
5516         * gcc.c (access_check): New static function.
5517         (find_a_file): Use it when searching a directory list.
5518         * collect2.c (find_a_file): Don't accept directories found when
5519         searching a directory list.
5520
5521 Wed Aug  4 01:40:43 1999  Philippe De Muyter  <phdm@macqel.be>
5522
5523         * tlink.c (symbol_hash_lookup): Do not prefix functions used as
5524         function parameters with `&'.
5525         (file_hash_lookup, demangled_hash_lookup, tlink_init): Ditto.
5526
5527 Wed Aug  4 01:08:44 1999  Jeffrey A Law  (law@cygnus.com)
5528
5529         * flow.c (delete_unreachable_blocks): Do not call merge_blocks
5530         or tidy_fallthru_edge if the last insn in the block is not
5531         an unconditional jump or a simple conditional jump.
5532
5533 Tue Aug  3 20:21:20 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
5534
5535         * Makefile.in (c-decl.o): Depends on defaults.h.
5536
5537 Tue Aug  3 14:14:52 1999  Jeffrey A Law  (law@cygnus.com)
5538
5539         * pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
5540         PA1.1 and above.
5541         (CLASS_MAX_NREGS): Likewise.
5542
5543 Tue Aug  3 03:51:20 1999  Jeffrey A Law  (law@cygnus.com)
5544
5545         * cse.c (cse_insn): Fix dumb thinko in last change.
5546
5547 Tue Aug  3 10:36:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
5548
5549         * reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
5550         "const char *".
5551
5552 Mon Aug  2 23:45:45 1999  Hans-Peter Nilsson  <hp@bitrange.com>
5553
5554         * dwarf2out.c (add_location_or_const_value_attribute): Correct
5555         test for sizes of passed and declared parameter types.
5556
5557 Tue Aug  3 00:03:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5558
5559         * fixincludes: Fix the return type of bsearch, char* -> void*.
5560
5561         * fixinc/inclhack.def: Likewise.
5562
5563 Mon Aug  2 18:29:32 1999  Mark Mitchell  <mark@codesourcery.com>
5564
5565         * invoke.texi (-fdump-translation-unit): New option.
5566
5567 Mon Aug  2 17:54:19 1999  Richard Henderson  <rth@cygnus.com>
5568
5569         * expr.h (PROMOTE_PROTOTYPES): Move ...
5570         * defaults.h: ... to here.
5571         * c-decl.c: Include defaults.h instead of expr.h.
5572         * c-typeck.c: Include defaults.h.
5573
5574 Mon Aug  2 17:10:24 1999  Mark Mitchell  <mark@codesourcery.com>
5575
5576         * toplev.h (errorcount): Declare.
5577         (warningcount): Likewise.
5578         (sorrycount): Likewise.
5579         * c-lex.c (errorcount): Don't declare.
5580         * dwarf2out.c (errorcount): Don't declare.
5581
5582 Mon Aug  2 17:02:08 1999  Jason Merrill  <jason@yorick.cygnus.com>
5583
5584         * config/libgloss.h: Add a note discouraging use with ELF.
5585         * configure.in: Don't use libgloss.h for ELF targets.
5586         Always use_collect2 on a.out targets.
5587
5588 Mon Aug  2 16:27:42 1999  Jim Wilson  <wilson@cygnus.com>
5589
5590         * combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
5591         (force_to_mode, case ASHIFTRT): Add shiftrt label.
5592
5593 Tue Aug  3 00:45:02 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
5594
5595         * loop.c (strength_reduce): When doing biv->giv conversion, update
5596         reg note of NEXT->insn.
5597
5598 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
5599
5600         * real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
5601
5602 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
5603
5604         * c-decl.c (get_parm_info, store_parm_decls): Change all uses of
5605         PROMOTE_PROTOTYPES, so that it tests it as a C expression.
5606         Ensure expr.h is included.
5607         * c-typecheck.c (convert_arguments): Ditto.
5608
5609         * expr.h: Supply default for PROMOTE_PROTOTYPES (0).
5610
5611         * config/arc/arc.h: Define PROMOTE_PROTOTYPES to 1.
5612         * config/convex/convex.h: Ditto.
5613         * config/dsp16xx/dsp16xx.h: Ditto.
5614         * config/fx80/fx80.h: Ditto.
5615         * config/gmicro/gmicro.h: Ditto.
5616         * config/i370/i370.h: Ditto.
5617         * config/i386/i386.h: Ditto.
5618         * config/m32r/m32r.h: Ditto.
5619         * config/m68k/m68k.h: Ditto.
5620         * config/m88k/m88k.h: Ditto.
5621         * config/mips/mips.h: Ditto.
5622         * config/pa/pa.h: Ditto.
5623         * config/pyr/pyr.h: Ditto.
5624         * config/tahoe/tahoe.h: Ditto.
5625         * config/we32k/we32k.h: Ditto.
5626
5627         * config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
5628         based on arch size.
5629
5630         * config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
5631
5632         * config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
5633         from comment.
5634
5635         * tm.texi: Document new usage of PROMOTE_PROTOTYPES.
5636
5637 1999-08-02  Richard Henderson  <rth@cygnus.com>
5638
5639         * m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
5640         for the register spill block.
5641         (m32r_va_arg): New.
5642         * m32r.h (EXPAND_BUILTIN_VA_ARG): New.
5643         (EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
5644
5645         * m32r.h (INT8_P): Don't short-cut test with (unsigned).
5646         (INT16_P, CMP_INT16_P, UINT16_P): Likewise.
5647         (UPPER16_P, UINT24_P, INT32_P, UINT5_P): Likewise.
5648
5649 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
5650
5651         * config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
5652         MAX_WCHAR_TYPE defined in sparc.h.
5653         * config/sparc/linuxaout.h: Likewise.
5654         * config/sparc/linux64.h: Likewise.
5655         Also default to -mvis if CPU is UltraSPARC.
5656
5657 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
5658
5659         * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
5660         (RTX_OK_FOR_OLO10): Likewise.
5661         (GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
5662         %lo(), allow it in addresses...
5663         (PRINT_OPERAND_ADDRESS): ... and print it appropriately.
5664         * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
5665         does not make sense.
5666         * config/sparc/sparc.c (sparc_hard_reg_printed): New array.
5667         (sparc_output_scratch_registers): New function.
5668         (output_function_prologue, sparc_flat_output_function_prologue): Use
5669         it.
5670         * varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
5671         defined.
5672         * tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
5673         * configure.in: Add check for .register pseudo-op support in as and
5674         check for offsetable %lo().
5675         * acconfig.h: Add templates for the above checks.
5676         * configure: Regenerate.
5677
5678 1999-08-02  Richard Henderson  <rth@cygnus.com>
5679
5680         * sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
5681         * sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
5682         * sparc/sol2.h (TARGET_DEFAULT): Likewise.
5683
5684 Mon Aug  2 23:46:45 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
5685
5686         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
5687         reg_biv_class.
5688
5689 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
5690
5691         * config/float-sparc.h: New file.
5692         * configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
5693         sparc-*-linux-gnu and sparc64-*-linux*.
5694
5695 1999-08-02  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5696
5697         * rs6000.c (rs6000_va_list): Type is an array.
5698         (rs6000_va_start): Don't doubly adjust for varargs.
5699         (rs6000_va_arg): Evaluate long long GPR adjustment.
5700
5701 Mon Aug  2 16:15:57 1999  David Edelsohn  <edelsohn@gnu.org>
5702
5703         * rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
5704         -maix64 and -maix32.
5705         (ASM_SPEC, ASM_CPU_SPEC, CPP_SPEC, CPP_CPU_SPEC, LIB_SPEC,
5706         LINK_SPEC): Change appropriately.
5707         * rs6000/rs6000.c (short_cint_operand): Use CONST_OK_FOR_LETTER_P.
5708         (u_short_cint_operand): Likewise.
5709         * rs6000/rs6000.md (movdi splitters): Add TARGET_POWERPC64 support
5710         for 64-bit hosts.
5711         * rs6000/t-aix43 (MULTILIB): Change to -m64.
5712
5713         * invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
5714
5715 Mon Aug  2 16:15:57 1999  Geoff Keating  <geoffk@cygnus.com>
5716
5717         * rs6000/rs6000.c (num_insns_constant_wide): Correct
5718         for type promotion.
5719         (add_operand): Get test correct for 64-bit HOST_WIDE_INT.
5720         (non_add_cint_operand): Likewise.
5721         (logical_operand): Likewise.
5722         (non_logical_cint_operand): Likewise.
5723         (print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
5724         (print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
5725         (rs6000_select_rtx_section): Suppress warning.
5726         (small_data_operand): Suppress warning.
5727         (rs6000_got_register): Suppress warning.
5728         * rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
5729         type, so `J' is generally the wrong constraint for a SImode value;
5730         use `L' instead.
5731         (andsi3_internal2): Likewise.
5732         (andsi3_internal3): Likewise.
5733         (iorsi3_internal1): Likewise.
5734         (xorsi3_internal1): Likewise.
5735         (movsi): Likewise.
5736         (movsf_softfloat): Likewise.
5737         (scc insns): Likewise.
5738         (movsi+2): Preserve sign bits of SImode constant.
5739         (floatsidf2_internal+1): Sign-extend SImode constant correctly.
5740         (movdf+1): Sign-extend properly.
5741         (movdi_32+1): Sign-extend properly.
5742         (scc insns): Sign-extend properly.
5743
5744         * md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
5745         K, L, and T.
5746
5747 1999-08-02  Richard Henderson  <rth@cygnus.com>
5748
5749         * alpha.c (override_options): Move ev6 alpha_tp frobbing out of
5750         -mcpu parsing code.
5751         (print_operand): Notice alpha_fptm not alpha_tp for sw completion.
5752         * alpha.md (all fp insns): Likewise.
5753
5754 1999-08-02  Nick Clifton  <nickc@cygnus.com>
5755
5756         * config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
5757         already defined.
5758
5759 Mon Aug  2 03:38:33 1999  Jeffrey A Law  (law@cygnus.com)
5760
5761         * pa.c (legitimize_pic_address): Clarify comments.  Do not call the
5762         pic_load_label generator directly.
5763         * pa.md (pic_load_label): Clarify comments.  Remove modes on operands.
5764         No longer a named pattern.
5765
5766 Mon Aug  2 09:38:10 1999  Nick Clifton  <nickc@cygnus.com>
5767
5768         * explow.c (force_reg): Call force_operand if X does not
5769         satisfy general_operand.
5770
5771 Mon Aug  2 01:34:22 1999  Jeffrey A Law  (law@cygnus.com)
5772
5773         * fix-header.c (main): When testing for CONTINUED, use string
5774         equality, not pointer equality.
5775
5776 Mon Aug  2 01:27:24 1999  Dan Nicolaescu  <dann@ics.uci.edu>
5777
5778         * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
5779
5780 Sun Aug  1 22:46:42 1999  Jeffrey A Law  (law@cygnus.com)
5781
5782         * cse.c (cse_insn): Fix loop which deletes insns after a jump
5783         that has become an unconditional jump.
5784
5785         * m68k.c (output_function_prologue): Fix typo in CPU32 case.
5786         (output_function_epilogue): Similarly.
5787
5788 Sun Aug  1 20:14:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
5789
5790         * tree.h (init_dummy_function_start): Declare.
5791
5792 Sun Aug  1 12:55:31 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
5793
5794         * stmt.c (emit_filename, emit_lineno, expr_stmts_for_value,
5795         last_expr_type, last_expr_value, block_start_count, block_stack,
5796         stack_block_stack, cond_stack, loop_stack, case_stack, nesting_stack,
5797         nesting_depth, goto_fixup_chain): Delete global vars; now allocated
5798         dynamically in stmt elt of struct function for each function.
5799         (struct nesting): Rename function_call_count elt to n_function_calls,
5800         target_temp_slot_level to block_target_temp_slot_level.  All users
5801         changed.
5802         (struct stmt_status): New structure definition.
5803         Add many accessor macros for stmt_status elements which previously
5804         were global variables.
5805         (init_stmt_for_function): Allocate stmt elt for current_function.
5806         Reflect that block_start_count was renamed to
5807         current_block_start_count.
5808         (save_stmt_status, restore_stmt_status): Delete functions.
5809         (preserve_subexpressions_p): Don't access loop_stack when outside
5810         a function.
5811         (expand_start_bindings): Reflect that block_start_count was renamed to
5812         current_block_start_count.
5813         (expand_fixup): Likewise.
5814         (expand_decl): Don't access block_stack when outside a function.
5815         (expand_decl_cleanup): Likewise.
5816         (expand_dcc_cleanup): Likewise.
5817         (expand_dhc_cleanup): Likewise.
5818         (expand_anon_union_decl): Likewise.
5819         (set_file_and_line_for_stmt): New function.
5820         (in_control_zone_p): New function.
5821
5822         * function.h (struct function): Add new elt stmt.
5823         Delete elts block_stack, stack_block_stack, cond_stack, loop_stack,
5824         case_stack, nesting_stack, nesting_depth, block_start_count,
5825         last_expr_type, last_expr_value, expr_stmts_for_value, emit_filename,
5826         emit_lineno, goto_fixup_chain.
5827         (save_eh_status, restore_eh_status, save_stmt_status,
5828         restore_stmt_status): Delete declarations.
5829         * function.c (push_function_context_to): Don't call save_stmt_status.
5830         (pop_function_context_to): Don't call restore_stmt_status.
5831         * tree.h (in_control_zone_p): Declare.
5832         * rtl.h (set_file_and_line_for_stmt): Declare.
5833
5834         * emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
5835         call set_file_and_line_for_stmt.
5836
5837 Thu Jul 31 12:34:45 1999  Joe Buck  <jbuck@synopsys.com>
5838
5839         * gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
5840         Also update copyright.
5841
5842 Sat Jul 31 11:10:07 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
5843
5844         * c-pragma.c: Don't include "except.h".
5845         * emit-rtl.c: Likewise.
5846         * stor-layout.c: Likewise.
5847         * tree.c: Likewise.
5848         * varasm.c: Likewise.
5849
5850         * flow.c: Include "function.h".
5851         * tree.h (init_dummy_function_start): Declare new function.
5852
5853         * except.h (struct eh_status): New structure.
5854         (struct label_node, struct eh_entry): Declare even if tree.h hasn't
5855         been included.
5856         (eh_return_stub_label, ehstack, catchstack, ehqueue,
5857         catch_clauses, false_label_stack, caught_return_label_stack,
5858         protect_list, current_function_ehc): Add accessor macros for the
5859         corresponding fields in current_function->eh; delete declarations
5860         for all items that used to be declared here.
5861         * except.c (eh_return_stub_label, ehstack, catchstack, ehqueue,
5862         catch_clauses, false_label_stack, caught_return_label_stack,
5863         protect_list, current_function_ehc): Delete variables.
5864         (init_eh_for_function): Allocate current_function->eh.
5865         (save_eh_status, restore_eh_status): Delete functions.
5866
5867         * function.h (struct function): Add fields next_global and eh.
5868         Delete all exception handling related fields.
5869         * function.c (current_function): New variable.
5870         (all_functions): New variable.
5871         (push_function_context_to): Don't allocate a struct function,
5872         use current_function instead.  Call init_dummy_function_start when
5873         outside a function.  Clear current_function before returning.
5874         (pop_function_context_from): Restore current_function.
5875         Don't free the restored struct function.
5876         (prepare_function_start): New function.
5877         (init_dummy_function_start): New function.
5878         (init_function_start): Break out some code into prepare_function_start
5879         and call it here.
5880
5881         * stmt.c (save_stmt_status): Don't call save_eh_status.
5882         (restore_stmt_status): Don't call restore_eh_status.
5883
5884         * Makefile.in: Update dependencies.
5885
5886 Sat Jul 31 04:10:01 1999  Jeffrey A Law  (law@cygnus.com)
5887
5888         * pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
5889         of depending on a magic constant value.  Update comments.
5890         (hppa_expand_prologue): Similarly.
5891
5892         * pa.md (reload_indi, reload_outdi): Allow any register for the
5893         original reload register.
5894
5895 Fri Jul 30 19:41:35 1999  Jim Wilson  <wilson@cygnus.com>
5896
5897         * cccp.c (print_help): Change marcos to macros.
5898
5899 1999-07-30  Richard Henderson  <rth@cygnus.com>
5900
5901         * c-typeck.c (initializer_constant_valid_p): Move ...
5902         * c-common.c (initializer_constant_valid_p): ... here.  Use
5903         FOO_TYPE_P instead of tests against TREE_CODE.  Allow subtraction
5904         of label addresses.
5905         * c-common.h (initializer_constant_valid_p): Declare.
5906         * c-tree.h (initializer_constant_valid_p): Remove.
5907
5908 Fri Jul 30 16:33:42 1999  Mathias Froehlich  <frohlich@na.uni-tuebingen.de>
5909
5910         * config/i386/sol2-c1.asm: Align the stack.
5911         * config/i386/sol2-gc1.asm: Likewise.
5912
5913 1999-07-30  Vladimir Makarov  <vmakarov@loony.cygnus.com>
5914
5915         * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
5916         -Asparclite for sparc86x.
5917         (CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
5918         sparc86x.
5919         (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
5920
5921 Fri Jul 30 14:53:56 1999  Jakub Jelinek  <jj@ultra.linux.cz>
5922
5923         * config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
5924         the user if using the non-default arch size in BI_ARCH configuration.
5925         * config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
5926
5927         * config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
5928         Fix patterns so that they actually match.
5929         (cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
5930         (mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
5931         (const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
5932         TARGET_HARD_MUL32.
5933         (mulsidi3): Reflect this in the expand.
5934         (smulsi3_highpart): Only on TARGET_ARCH32.
5935         (umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
5936         (const_umulsidi3_sp32): Renamed from const_umulsidi3.
5937         (umulsidi3): Reflect this in the expand.
5938         (umulsi3_highpart): Only on TARGET_ARCH32.
5939         (divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
5940         don't require g0 to be zero.
5941         (udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
5942         ({,u}divsi3): New expands.
5943         ({,u}divsi3_sp64): New patterns.
5944         (after lshrdi3_v8plus): Four new patterns to help combiner
5945         optimizing nested mixed mode shifts.
5946
5947         * config/sparc/sparc.c (sparc_override_options): Use deprecated
5948         v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
5949         speed things up. Don't use them by default on plain v9 in 64bit
5950         mode, according to what SPAMv9 sais.
5951
5952         * config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
5953         top 32 bits of %[og][0-7] in signal handlers.
5954         Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
5955
5956 Fri Jul 30 03:00:41 1999  Jeffrey A Law  (law@cygnus.com)
5957
5958         * pa.md (zvdep_imm32): Renamed from zvdep_imm.
5959         (ashlsi3): Corresponding changes.
5960
5961         * pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
5962
5963 Thu Jul 29 18:37:13 1999  Jeffrey A Law  (law@cygnus.com)
5964
5965         * pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
5966
5967 Thu Jul 29 19:01:58 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
5968
5969         * arm.h (Hint): Delete macro.
5970         Substitute HOST_WIDE_INT for Hint in some prototypes.
5971         * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
5972
5973 Thu Jul 29 09:21:42 1999  Nick Clifton  <nickc@cygnus.com>
5974
5975         * builtins.c (expand_builtin_setjmp): Use force_operand to
5976         make sure that the buffer address is in a suitable form to be
5977         passed to force_reg.
5978
5979 Wed Jul 28 12:50:48 1999  Geoff Keating  <geoffk@cygnus.com>
5980
5981         * config/mips/mips.c: system.h handles MIN and MAX, don't undefine
5982         them here.
5983
5984 Wed Jul 28 13:18:35 1999  Jeffrey A Law  (law@cygnus.com)
5985
5986         * pa.md (indirect_jump): Remove mode from match_operand.  Verify
5987         proper mode in the condition string.
5988         (icacheflush, dcacheflush): Remove modes from match_operands.
5989
5990         * pa.c (emit_move_sequence): Always convert scratch_reg to the
5991         proper mode before using it.
5992
5993         * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
5994         pair.
5995
5996         * pa.c (store_reg): Do not call add_high_const generator directly.
5997         (load_reg, set_reg_plus_d): Likewise.
5998         * pa.md (add_high_const): No longer a named pattern.
5999
6000         * pa.c (legitimize_address): Consistently use Pmode rather than
6001         SImode.  Do not call gen_pic2_highpart directly anymore.
6002         * pa.md (pic2_highpart): No longer a named pattern.
6003         (pic2_lo_sum): Similarly.  Reformat to make more readable.
6004
6005         * pa.md (call, call_value): Use "word_mode" instead of "SImode" as
6006         needed.
6007
6008         * README: Update.
6009
6010 Wed Jul 28 11:28:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6011
6012         * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
6013
6014 Wed Jul 28 11:23:48 1999  Richard Henderson  <rth@cygnus.com>
6015
6016         * pa.c (hppa_builtin_saveregs):  Use get_varargs_alias_set
6017         and tag the spill mems.
6018         (hppa_va_start): New.
6019         (hppa_va_arg): New.
6020         * pa.h (EXPAND_BUILTIN_VA_START): New.
6021         (EXPAND_BUILTIN_VA_ARG): New.
6022
6023 Wed Jul 28 11:22:21 1999  Richard Henderson  <rth@cygnus.com>
6024
6025         * mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
6026         and tag the spill mems.
6027         (mn10300_va_start): New.
6028         (mn10300_va_arg): New.
6029         * mn10300.h (EXPAND_BUILTIN_VA_START): New.
6030         (EXPAND_BUILTIN_VA_ARG): New.
6031
6032 Wed Jul 28 11:20:19 1999  Richard Henderson  <rth@cygnus.com>
6033
6034         * mn10200.c (mn10200_va_arg): New.
6035         * mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
6036
6037 Wed Jul 28 11:19:06 1999  Richard Henderson  <rth@cygnus.com>
6038
6039         * builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
6040         rather than play with TREE_INT_CST_LOW.
6041
6042 1999-07-27  Philip Blundell  <pb@nexus.co.uk>
6043
6044         * config/arm/telf.h: Include dbxelf.h.
6045         (CPP_PREDEFINES): Only define if not already defined.
6046         (ASM_IDENTIFY_GCC): Likewise.
6047         (SUBTARGET_EXTRA_SECTIONS): Likewise.
6048         (SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
6049         * config/arm/thumb.h (LINK_SPEC): Only define if not already
6050         defined.
6051         (DBX_DEBUGGING_INFO): Don't define.
6052         * config/arm/linux-telf.h: New file.
6053         * config/arm/linux-tgas.h: New file.
6054         * config/arm/t-thumb-linux: New file.
6055         * config/arm/uclinux-elf.h: New file.
6056         * config/arm/uclinux-telf.h: New file.
6057         * configure.in (arm-*-uclinux, thumb-*-linux-gnu,
6058         thumb-*-uclinux): New targets.
6059         * configure: Regenerate.
6060
6061 Tue Jul 27 23:20:21 1999  Jeffrey A Law  (law@cygnus.com)
6062
6063         * pa.md (post_store, pre_load): New expanders.
6064         (post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
6065         (post_ldwm, pre_stwm): Make these unnamed patterns since we never
6066         need to directly generate RTL for them.
6067         * pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
6068         changes.
6069
6070 Tue Jul 27 16:05:52 1999  David Edelsohn  <edelsohn@gnu.org>
6071
6072         * aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
6073         * rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
6074         (rs6000_cpu): Choose between 32-bit and 64-bit default processors.
6075         (secndary_reload_class): Make TARGET_ELF conditional compile.
6076         (print_operand_address): Similar.
6077         (output_toc): Print all values as hex.
6078         (get_issue_rate): Rearrange and add RS64A and PPC630.
6079         * rs6000.h (processor_type): Add RS64A and PPC630.
6080         (PROCESSOR_POWERPC64): New.
6081         (PROMOTE_MODE): Use word_mode.
6082         (RTX_COSTS): Add RS64A and PPC630.
6083         * rs6000.md (scheduling information): Add lmul and ldiv
6084         representing 64-bit integer multiply and divide.  Add rs64a and
6085         PPC630 information.
6086         (ashldi3): Add support for "rldic" instruction.
6087         * sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
6088
6089 Tue Jul 27 15:31:53 1999  Vladimir Makarov  <vmakarov@toad.to.cygnus.com>
6090
6091         * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
6092         instead of V8 for sparclite86x in cpu_table.
6093
6094 Tue Jul 27 17:49:42 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
6095
6096         * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
6097         output_file_directive.
6098
6099 Tue Jul 27 03:15:33 1999  Jason Merrill  <jason@yorick.cygnus.com>
6100
6101         * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
6102         tree for op1, not the rtl.
6103
6104 Tue Jul 27 00:18:34 1999  Richard Henderson  <rth@cygnus.com>
6105
6106         * m88k.c (m88k_builtin_saveregs): Break out the constructor code
6107         to m88k_va_start, leaving only the register spill.
6108         (m88k_build_va_list): New.
6109         (m88k_va_start): New.
6110         (m88k_va_arg): New.
6111         * m88k.h (BUILD_VA_LIST_TYPE): New.
6112         (EXPAND_BUILTIN_VA_START): New.
6113         (EXPAND_BUILTIN_VA_ARG): New.
6114
6115 Mon Jul 26 19:07:11 1999  Geoff Keating  <geoffk@cygnus.com>
6116
6117         * config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
6118         Rename from expand_builtin_saveregs.
6119         * config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
6120
6121 Mon Jul 26 22:52:47 1999  Richard Henderson  <rth@cygnus.com>
6122
6123         * i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
6124         for the register spill block.
6125         (i960_build_va_list): New.
6126         (i960_va_start): New.
6127         (i960_va_arg): New.
6128         * i960.h (BUILD_VA_LIST_TYPE): New.
6129         (EXPAND_BUILTIN_VA_START): New.
6130         (EXPAND_BUILTIN_VA_ARG): New.
6131         * i960.md (store_multiple): Use change_address on individul mems.
6132
6133 Mon Jul 26 22:43:12 1999  Richard Henderson  <rth@cygnus.com>
6134
6135         * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
6136         an ARRAY_TYPE.
6137         (std_expand_builtin_va_start): Back out one word if !stdarg_p.
6138         (expand_builtin_va_end): Evaluate arg for side effects.
6139         * c-common.c (c_common_nodes_and_builtins): Construct a
6140         va_list_arg_type_node to handle array decomposition to pointer.
6141
6142 Mon Jul 26 18:51:34 1999  Richard Henderson  <rth@cygnus.com>
6143
6144         * except.c (start_dynamic_cleanup): Use force_operand on the
6145         buffer's address.
6146
6147 Mon Jul 26 16:43:26 1999  Richard Henderson  <rth@cygnus.com>
6148
6149         * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
6150         * c4x.c (c4x_va_arg): New.
6151
6152 Mon Jul 26 12:30:09 1999  Jason Merrill  <jason@yorick.cygnus.com>
6153
6154         * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
6155         has manual_pop set.
6156
6157 1999-07-26  Nathan Sidwell  <nathan@acm.org>
6158
6159         * eh-common.h (__eh_matcher): Prototype correctly.
6160
6161 Mon Jul 26 17:24:51 1999  Philip Blundell  <pb@nexus.co.uk>
6162
6163         * config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
6164         (TARGET_SINGLE_PIC_BASE): Likewise.
6165         (GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
6166         definitions.
6167         (TARGET_CALLEE_INTERWORKING): Fix typo in comment.
6168         (TARGET_SWITCHES): Add -m{no-}single-pic-base.
6169         (TARGET_OPTIONS): Add -mpic-register=N.
6170         (OUTPUT_INT_ADDR_CONST): New macro.
6171         (INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
6172         LEGITIMATE_PIC_OPERAND_P): Likewise.
6173         (LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
6174         (ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
6175         output_addr_const directly.
6176         (PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with
6177         ARM port.
6178         (thumb_pic_register, thumb_pic_register_string): Declare.
6179
6180         * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
6181         from arm.c.
6182         (label_mentioned_p): New function: Imported from arm.c.
6183         (legitimize_pic_address): New function: Imported from arm.c.
6184         (is_pic):New function: Imported from arm.c.
6185         (thumb_finalize_pic):New function: Imported from arm.c.
6186         (add_constant): Cope with PIC constants.
6187         (fixit): Cope with PIC constants.
6188         (output_return): Do not treat the PIC register as live if
6189         TARGET_SINGLE_PIC_BASE is true.
6190         (thumb_function_prologue): Do not treat the PIC register as live if
6191         TARGET_SINGLE_PIC_BASE is true.
6192         (thumb_expand_prologue): Do not treat the PIC register as live if
6193         TARGET_SINGLE_PIC_BASE is true.
6194         (thumb_unexpand_epilogue): Do not treat the PIC register as live if
6195         TARGET_SINGLE_PIC_BASE is true.
6196         (thumb_print_operand): Accept '|'.
6197         (thumb_override_options): Process PIC options.
6198
6199         * config/arm/thumb.md (movsi): Support PIC.
6200         (call_insn): Change "i" constraint to "X".
6201         (call_value_insn): Likewise.
6202         (consttable_4, consttable_8, consttable_end): Set and clear
6203         "making_const_table" as appropriate.
6204         (pic_load_addr, pic_add_dot_plus_four): New insns.
6205
6206         * invoke.texi (Thumb Options): Fix spelling.  Document new
6207         options -msingle-pic-base and -mpic-register=.
6208
6209 1999-07-26  Andrew Haley  <aph@cygnus.com>
6210
6211         * config/m32r/initfini.c (__init): Use a full word immediate for
6212         __fini: this allows it to be placed in any memory region.
6213
6214         * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
6215         -mmodel=medium.  This is OK for all memory models.
6216
6217 Mon Jul 26 11:58:46 1999  Nick Clifton  <nickc@cygnus.com>
6218
6219         * config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
6220         * config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
6221
6222 Mon Jul 26 10:23:36 1999  Nick Clifton  <nickc@cygnus.com>
6223
6224         * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
6225         defined.
6226
6227         * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
6228
6229 Sun Jul 25 23:51:59 1999  Richard Henderson  <rth@cygnus.com>
6230
6231         * i860.h (EXPAND_BUILTIN_SAVEREGS): New.
6232         (BUILD_VA_LIST_TYPE): New.
6233         (EXPAND_BUILTIN_VA_START): New.
6234         (EXPAND_BUILTIN_VA_ARG): New.
6235         * i860.c (output_delayed_branch): Disable.
6236         (output_delay_insn): Likewise.
6237         (i860_saveregs): New.
6238         (i860_build_va_list): New.
6239         (i860_va_start): New.
6240         (i860_va_arg): New.
6241         * i860.md: Disable all peepholes using output_delayed_branch.
6242         * i860/sysv4.h (I860_SVR4_VA_LIST): New.
6243
6244 Sun Jul 25 23:44:13 1999  Richard Henderson  <rth@cygnus.com>
6245
6246         * clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
6247         (BUILD_VA_LIST_TYPE): New.
6248         (EXPAND_BUILTIN_VA_START): New.
6249         (EXPAND_BUILTIN_VA_ARG): New.
6250         * clipper.c (clipper_builtin_saveregs): Only dump registers.
6251         Return the address of the save area.
6252         (clipper_build_va_list): New.
6253         (clipper_va_start): New.
6254         (clipper_va_arg): New.
6255
6256 Sun Jul 25 22:56:47 1999  Richard Henderson  <rth@cygnus.com>
6257
6258         * arc.h (EXPAND_BUILTIN_VA_START): New.
6259         (EXPAND_BUILTIN_VA_ARG): New.
6260         * arc.c (arc_setup_incoming_varargs): Set alias set of
6261         varargs save area.
6262         (arc_va_start): New.
6263         (arc_va_arg): New.
6264
6265 Sun Jul 25 22:45:55 1999  Richard Henderson  <rth@cygnus.com>
6266
6267         * alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
6268         (BUILD_VA_LIST_TYPE): New.
6269         (EXPAND_BUILTIN_VA_START): New.
6270         (EXPAND_BUILTIN_VA_ARG): New.
6271         * alpha.c (alpha_builtin_saveregs): Delete.
6272         (alpha_build_va_list): New.
6273         (alpha_va_start): New.
6274         (alpha_va_arg): New.
6275
6276 Sun Jul 25 21:40:33 1999  Jeffrey A Law  (law@cygnus.com)
6277
6278         * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
6279         column zero.
6280         (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
6281         (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
6282
6283         * gcc.texi: More changes related to list conversion.
6284         * invoke.texi: Likewise.
6285
6286 Sun Jul 25 18:15:39 1999  Richard Henderson  <rth@cygnus.com>
6287
6288         * builtins.c (expand_builtin_saveregs): Remove static, remove exp
6289         and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
6290         (expand_builtin_next_arg): Accept ARGLIST not EXP.
6291         (stabilize_va_list): New function.
6292         (std_expand_builtin_va_start): New function.
6293         (expand_builtin_va_start): New function.
6294         (get_varargs_alias_set): New function.
6295         (std_expand_builtin_va_arg): New function.
6296         (expand_builtin_va_arg): New function.
6297         (expand_builtin_va_end): New function.
6298         (expand_builtin_va_copy): New function.
6299         (expand_builtin): Call them.
6300         * c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
6301         __builtin_{varargs_start,stdarg_start,end,copy}.
6302         (build_va_arg): New function.
6303         * c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
6304         (build_va_arg): Declare.
6305         * c-decl.c (ptr_type_node, va_list_type_node): New.
6306         * c-parse.gperf (__builtin_va_arg): New.
6307         * c-parse.in (VA_ARG): New token.
6308         (unary_expr): Recognize it.
6309         * expr.c (expand_expr): Expand VA_ARG_EXPR.
6310         * expr.h (std_expand_builtin_va_start): Declare.
6311         (std_expand_builtin_va_arg): Declare.
6312         (expand_builtin_va_arg): Declare.
6313         (get_varargs_alias_set): Declare.
6314         * tree.def (VA_ARG_EXPR): New.
6315         * tree.h (BUILT_IN_VARARGS_START): New.
6316         (BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
6317         (ptr_type_node, va_list_type_node): Declare.
6318         * tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
6319         * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
6320         * m88k.h, m88k.c: Likewise.
6321         * mn10300.h, mn10300.c: Likewise.
6322         * pa.h, pa.c: Likewise.
6323         * rs6000.h, rs6000.c: Likewise.
6324         * sh.h, sh.c: Likewise.
6325         * sparc.h, sparc.c: Likewise.
6326
6327         * emit-rtl.c (operand_subword): Copy alias set.
6328         (change_address): Likewise.
6329
6330 Sun Jul 25 15:04:37 1999  Jeffrey A Law  (law@cygnus.com)
6331
6332         * pa.c (compute_frame_size): Scan all the used callee saved registers,
6333         not just the first one.
6334
6335 Fri Jul 23 14:09:58 1999  Philip Blundell  <pb@nexus.co.uk>
6336
6337         * config/arm/arm.h (TARGET_SWITCHES): Add
6338         -m{no-}single-pic-base.  Correct help string for -mshort-load-words.
6339         (TARGET_OPTIONS): Add -mpic-register=.
6340         (ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
6341         (arm_pic_register_string): Declare.
6342         (NEED_PLT_GOT): Delete, replace with ...
6343         (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  New macros.
6344         (OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
6345         (ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
6346         * config/arm/arm.c (arm_override_options): Add new option
6347         -mpic-register=N.
6348         (arm_pic_register_string): New variable.
6349         (arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
6350         (output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
6351         register as never live.  Use NEED_PLT_RELOC not NEED_PLT_GOT.
6352         (output_return_instruction): Likewise.
6353         * config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
6354         (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  Define to flag_pic.
6355         * config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
6356
6357         * invoke.texi (ARM Options): Fix spelling.  Remove duplicate
6358         mention of -msched-prolog.  Document new options -msingle-pic-base
6359         and -mpic-register=.
6360
6361 Thu Jul 22 18:23:56 1999  Richard Henderson  <rth@cygnus.com>
6362
6363         * haifa-sched.c (reemit_notes): Tidy.
6364         * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
6365         haifa's routine.
6366
6367 Thu Jul 22 18:21:04 1999  Richard Henderson  <rth@cygnus.com>
6368
6369         * explow.c (trunc_int_for_mode): New function.
6370         (plus_constant_wide): Use it.
6371         * combine.c (simplify_and_const_int): Likewise.
6372         (merge_outer_ops): Likewise.
6373         (simplify_shift_const): Likewise.
6374         * cse.c (simplify_unary_operation): Likewise.
6375         (simplify_binary_operation): Likewise.
6376         * emit-rtl.c (operand_subword): Likewise.
6377         * rtl.h: Declare it.
6378
6379 Thu Jul 22 14:34:59 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
6380
6381         * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
6382         (use NUM_REGS instead of NUM_INTS).
6383
6384 Thu Jul 22 11:25:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
6385
6386         * builtins.c: New file.
6387         * expr.c (saveregs_value, apply_args_value):  Delete definition,
6388         moved into builtins.c.
6389         (string_constant): No longer static.
6390         (get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
6391         apply_args_size, apply_result_size, result_vector,
6392         expand_builtin_apply_args, expand_builtin_apply,
6393         expand_builtin_return): Delete functions, moved into builtins.c.
6394         (INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
6395         * expr.h (saveregs_value, apply_args_value): Declare variables.
6396         (expand_builtin, string_constant): Declare functions.
6397         * Makefile.in: Update to build builtin.o.
6398
6399 Wed Jul 21 00:46:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
6400
6401         * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
6402         * tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
6403         * dwarf2out.c (dwarf2out_init): Don't output a label to mark the
6404         start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
6405         false.
6406         * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
6407         Define to zero.
6408
6409 1999-07-21  Michael Meissner  <meissner@cygnus.com>
6410
6411         * print-rtl.c (print_rtx): Print the names of the virtual
6412         registers.
6413
6414 Wed Jul 21 16:00:32 1999  Nick Clifton  <nickc@cygnus.com>
6415
6416         * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
6417         introduced in previous delta.
6418
6419 Wed Jul 21 14:30:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
6420
6421         * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
6422         to avoid name clash.
6423
6424 Wed Jul 21 08:39:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
6425
6426         * c-lex.c (yylex) : Correct the test for overflow when lexing
6427         integer literals.
6428
6429 Tue Jul 20 18:02:42 1999  Richard Henderson  <rth@cygnus.com>
6430
6431         * haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
6432         (adjust_priority): Always call ADJUST_PRIORITY.
6433         (schedule_insn): Only put insns into the ready at cost 0.
6434         (schedule_block): Remove redundant initial sort.  Give clock_var
6435         and can_issue_more to MD_SCHED_REORDER.  Requeue if hazard cost
6436         is not 0.
6437         * tm.texi (MD_SCHED_REORDER): Update docs.
6438
6439         * sparc.h (MD_SCHED_REORDER): Update.  Set CAN_ISSUE_MORE.
6440         * sparc.c (ultra_reorder_called_this_block): Delete.
6441         (ultrasparc_sched_init): Don't set it.
6442         (ultrasparc_sched_reorder): Don't check it.
6443
6444 Tue Jul 20 17:07:54 1999  Richard Henderson  <rth@cygnus.com>
6445
6446         * rs6000.h (struct rs6000_args): Add sysv_gregno.
6447         * rs6000.c (init_cumulative_args): Init sysv_gregno.
6448         (function_arg_boundary): Align DFmode.
6449         (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
6450         to get fp reg and stack overflow correct.
6451         (function_arg): Likewise.
6452         (function_arg_pass_by_reference): True for TFmode for ABI_V4.
6453         (setup_incoming_varargs): Restructure for ABI_V4; use
6454         function_arg_advance to skip final named argument.
6455         (expand_builtin_saveregs): Properly unskip the last integer arg
6456         when doing varargs.  Adjust overflow location calculation.
6457
6458         * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
6459         explicitly unsigned.
6460         (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
6461         (__VA_GP_REGSAVE): Similarly.
6462         (__va_longlong_p): Delete.
6463         (__va_arg_type_violation): New declaration.
6464         (va_arg): Restructure.  Flag promotion errors.  Align double.
6465         TFmode passed by reference.
6466
6467         * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
6468         in the HOST_BITS_PER_WIDE_INT > 32 case.
6469
6470 Tue Jul 20 12:37:30 1999  Hans-Peter Nilsson  <hp@bitrange.com>
6471
6472         * dwarf2out.c (output_abbrev_section): Terminate with a zero.
6473
6474 Tue Jul 20 12:12:27 1999  Jason Merrill  <jason@yorick.cygnus.com>
6475
6476         * gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
6477         * toplev.c (documented_lang_options): Add -fpreprocessed.
6478         * cpplib.h (struct cpp_buffer): Add preprocessed.
6479         * cppinit.c (cpp_handle_option): Handle -fpreprocessed.
6480         (cpp_start_read): Don't expand macros or emit an initial #line
6481         directive if -fpreprocessed.
6482
6483 Tue Jul 20 12:12:09 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
6484
6485         * cpplib.h (struct cpp_buffer): Added manual_pop for
6486         better C++ tokenization.
6487         * cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
6488         Also, support C++ tokenization for ->*, .*, <?, and >? operators.
6489         * c-common.c (cpp_token): Make non-static.
6490
6491 Tue Jul 20 11:24:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
6492
6493         * c-common.h: New file.
6494         * c-common.c (permanent_obstack): Delete unused declaration.
6495         (c_global_trees): New array.
6496         (c_common_nodes_and_builtins): New function; split off common code
6497         from init_decl_processing in both c-decl.c and cp/decl.c.
6498         * c-tree.h: Delete lots of declarations of tree nodes; replaced by
6499         c_global_trees and accessor macros defined in c-common.h.
6500         Include c-common.h.
6501         * c-decl.c: Delete definitions for tree nodes that were replaced by
6502         c_global_trees.
6503         (init_decl_processing): Build void_list_node.
6504         Call c_common_nodes_and_builtins; delete code to generate the common
6505         builtins here.
6506         * objc/objc-act.c (build_module_descriptor): Rename variable
6507         void_list_node to avoid clash with c-common.h.
6508
6509         * Makefile.in: Update dependencies.
6510         * objc/Make-lang.in: Likewise.
6511
6512 Mon Jul 19 14:22:18 1999  Mark P. Mitchell  <mark@codesourcery.com>
6513
6514         * config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
6515         (UNIQUE_SECTION_P): Likewise.
6516         (UNIQUE_SECTION): Likewise.
6517
6518 1999-07-19  Linas Vepstas  <linas@linas.org>
6519
6520         * config/i370/README: New file.
6521         * config/i370/linux.h: New file.
6522         * config/i370/mvs.h: New file.
6523         * config/i370/oe.h: New file.
6524         * config/i370/t-linux: New file.
6525         * config/i370/t-mvs: New file.
6526         * config/i370/t-oe: New file.
6527         * config/i370/x-oe: New file.
6528         * config/i370/xm-linux.h: New file.
6529         * config/i370/xm-mvs.h: New file.
6530         * config/i370/xm-oe.h: New file.
6531
6532         * i370.c (label_node_t): Add first_ref_page, label_addr,
6533         label_first_ref, label_last_ref members.
6534         (mvs_need_base_reload): Renamed from mvs_label_emitted.
6535         (MAX_MVS_LABEL_SIZE): Define.
6536         (MAX_LONG_LABEL_SIZE): Define.
6537         (alias_node_t, alias_anchor, alias_number): New.
6538         (mvs_function_table): Reorder for EBCDIC.
6539         (ascebc, ebcasc): Unconditionally define.
6540         (i370_branch_dest, i370_branch_length): New functions.
6541         (i370_short_branch, i370_label_scan): New functions.
6542         (mvs_get_label): Renamed from mvs_add_label.  Search for
6543         an existing label before creating a new one.
6544         (mvs_add_label): New function.
6545         (mvs_get_label_page): New function.
6546         (mvs_free_label_list): Renamed from mvs_free_label.  Iterate
6547         over the entire list.
6548         (mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
6549         (mvs_check_page) [TARGET_ELF_ABI]: New function.
6550         (mvs_add_alias, mvs_need_alias): New functions.
6551         (mvs_get_alias, mvs_check_alias): New functions.
6552         (handle_pragma): New function.
6553         (mvs_function_check): New function.
6554         (unsigned_jump_follows_p): Search harder.
6555         (i370_function_prolog) [TARGET_HLASM]: Handle LE370.  Scan labels.
6556         (i370_function_prolog) [TARGET_ELF_ABI]: New function.
6557         * i370.h (TARGET_VERSION): Delete.
6558         (CPP_SPEC, CPP_PREDEFINES): Delete.
6559         (mvs_label_emitted): Delete.
6560         (TARGET_EBCDIC): Delete.
6561         (MAP_CHARACTER): Define only if TARGET_EBCDIC.
6562         (HANDLE_PRAGMA): Define.
6563         (HARD_REGNO_NREGS): Handle complex modes.
6564         (HARD_REGNO_MODE_OK): Likewise.
6565         (CLASS_MAX_NREGS): Likewise.
6566         (RET_REG): Likewise.
6567         (EXTRA_CONSTRAINT): Define.
6568         (RETURN_IN_MEMORY): True for DImode.
6569         (TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
6570         (FUNCTION_PROFILER): Delete.
6571         (COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
6572         (NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
6573         (TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
6574         (TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
6575         (TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
6576         (ASM_FILE_START): Add "RMODE ANY".
6577         (ASM_OUTPUT_EXTERNAL): Check for aliases.
6578         (ASM_GLOBALIZE_LABEL): Likewise.
6579         (ASM_OUTPUT_LABELREF): Likewise.
6580         (ASM_OUTPUT_COMMON): Likewise.
6581         (PRINT_OPERAND): Handle 'K', 'W', default.
6582         (PRINT_OPERAND_ADDRESS): New.
6583         (Lots of defines): Add support for TARGET_ELF_ABI.
6584         * i370.md (attr length): New.  Define for all patterns.
6585         (*): Lots of tweeks to assembly output and constraints.
6586
6587 Mon Jul 19 15:09:29 1999  David Edelsohn  <edelsohn@gnu.org>
6588
6589         * rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
6590         Disable patterns performing SImode comparisons with SImode values
6591         if TARGET_POWERPC64 and instruction does not sign-extend or does
6592         not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
6593         differ for signed quantities.
6594         (indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
6595         (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
6596         (decrement_and_branch_on_count): Add 64-bit variant.
6597
6598 Mon Jul 19 09:36:27 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
6599
6600         * final.c (output_asm_insn): When searching for the matching string
6601         for a given dialect, don't run past the end of the list of
6602         alternatives if there are fewer alternatives in the template than
6603         dialects.
6604
6605 1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
6606
6607         * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
6608         Removed paragraph about compression of files and size limitation,
6609         duplicated in the FAQ.  Use gcc-patches for posting patches.
6610         * gcc.c (main): Updated URL with bug reporting instructions to
6611         gcc.gnu.org.  Removed e-mail address.
6612         * system.h (abort): Likewise.
6613
6614 1999-07-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6615
6616         * Makefile.in (stmp-multilib-sub): Make the files extracted
6617         from $(LIBGCC1) writable.
6618
6619 Sat Jul 17 14:25:46 1999  Nick Clifton  <nickc@cygnus.com>
6620
6621         * config/arm/aout.h: Reformat for improved readability.
6622
6623         * config/arm/arm.h: Reformat for improved readability.
6624         Replace uses of fprintf with asm_fprintf where appropriate.
6625         (ARM_DECLARE_FUNCTION_NAME): New macro:  Perform any generic ARM
6626         function declaration assembler actions.
6627         (NUM_INTS): New macro: Convert from bytes to words.
6628         (NUM_REGS): New macro: Compute number of registers required to
6629         hold a quanitity of tyep MODE.
6630         (NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
6631         types.
6632         (NUM_ARG_REGS): New macro: The number of argument registers
6633         available.
6634         (ARG_REGISTER): New macro: Compute the register number of the Nth
6635         argument register.
6636         (LAST_ARG_REGNUM): New macro: The number of the last argument
6637         register.
6638         (SP_REGNUM): New macro: Register number of the stack pointer.
6639         (FP_REGNUM): New macro: Register number of the frame pointer.
6640         (FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
6641         FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
6642         CUMULATIVE_ARGS so that it counts registers not bytes.
6643
6644         * config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
6645         TARGET_INTERWORK.
6646         Replace uses of fprintf with asm_fprintf where appropriate.
6647         (output_ascii_pseudo_op): Replace with version from thumb.c
6648
6649         * config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
6650
6651         * config/arm/elf.h (CPP_PREDEFINES): Replace with
6652         SUBTARGET_CPP_SPEC.
6653         (ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
6654         (ASM_FILE_START): Emit ASM_APP_OFF.
6655
6656 Fri Jul 16 13:48:09 1999  Jeffrey A Law  (law@cygnus.com)
6657
6658         * pa.c (compute_frame_size): Round frame according to
6659         STACK_BOUNDARY rather than a hardwired value.
6660
6661         * pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
6662
6663         * configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
6664         of "1".
6665         * configure: Rebuilt.
6666
6667         * configure.in (hppa*-*-linux*): New configuration.
6668         * configure: Rebuilt.
6669         * pa.h (MAX_OFILE_ALIGNMENT): Delete.
6670         * pa/som.h (MAX_OFILE_ALIGNMENT): Define.
6671         * pa/pa-linux.h: New file.
6672         * pa/t-linux: New file.
6673         * pa/xm-linux.h: New file.
6674
6675         * pa.c (hppa_legitimize_address): Change references from SImode to
6676         either Pmode or word_mode as appropriate.
6677         (emit_move_sequence, store_reg, load_reg): Likewise.
6678         (set_reg_plus_d, hppa_expand_prologue): Likewise.
6679         (output_mul_insn): Likewise.
6680         * pa.h (PROMOTE_MODE): Likewise.
6681         (INITIALZE_TRAMPOLINE): Likewise.
6682         (Pmode): Define to word_mode.
6683
6684         * pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
6685         value of 4.  Allocate 8 bytes for each FP register save.
6686         (hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
6687         value of 4.
6688         (hppa_expand_prologue): Likewise.
6689         * pa.h (PROMOTE_MODE): Likewise.
6690         (HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
6691         (FUNCTION_ARG_BOUNDARY): Likewise.
6692
6693         * invoke.texi (HPPA Options): Remove -mspace/-mno-space.
6694
6695         * pa.c (out_of_line_prologue_epilogue): Delete.
6696         (override_options): Remove -mspace related code.
6697         (hppa_expand_prologue, hppa_expand_epilogue): Likewise.
6698         (compute_frame_size): Only allocate space for register that
6699         actually need to be saved.
6700         * pa.h (MASK_SPACE, TARGET_SPACE): Delete.
6701         (TARGET_SWITCHES): Remove -mspace, -mno-space
6702         * pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
6703         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.  Remove -mspace multilib.
6704         * pa/ee.asm, pa/ee_fp.asm: Delete.
6705
6706         * pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
6707
6708         * config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
6709         directive in column zero.
6710
6711 Fri Jul 16 01:39:57 1999  Jeffrey A Law  (law@cygnus.com)
6712
6713         * m68k.c (output_function_prologue): Fix computation of save mask
6714         when generating PIC code.
6715
6716 Thu Jul 15 15:40:09 1999  Jim Wilson  <wilson@cygnus.com>
6717
6718         * tree.c (build_type_attribute_variant): Move current_obstack restore
6719         after build_qualified_type call.
6720
6721 1999-07-15  Mark Mitchell  <mark@codesourcery.com>
6722
6723         * configure.in: Use t-iris6, even with GNU LD.
6724         * config/mips/iris6gld.h: Fix typo in linker spec.
6725         * config/mips/t-iris6gld: Remove.
6726
6727 Thu Jul 15 15:15:43 1999  David Edelsohn  <edelsohn@gnu.org>
6728
6729         * rs6000.md (insv, extzv): Remove SImode dependence in named
6730         patterns.  Explicitly generate DImode RTL if PowerPC64 and
6731         operand is DImode.
6732         (insvdi): Reverse start and size in instruction template.
6733
6734 1999-07-12  Joseph S. Myers  <jsm28@cam.ac.uk>
6735
6736         * invoke.texi: Typo fixes.
6737
6738 Wed Jul 14 23:28:06 1999  Jeffrey A Law  (law@cygnus.com)
6739
6740         * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
6741         handle at this time instead of silently generating incorrect code.
6742         (gen_imagpart): Likewise.
6743
6744         * reload.c (find_reloads): Emit a USE for a pseudo register without
6745         a hard register if we could not create an optional reload for the
6746         pseudo.
6747
6748 Wed Jul 14 23:45:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
6749
6750         * c-typeck.c (output_init_element, process_init_element):
6751         When advancing constructor_unfilled_fields for a RECORD_TYPE,
6752         check for nameless bit fields.
6753
6754 Wed Jul 14 01:57:39 1999  Richard Henderson  <rth@cygnus.com>
6755
6756         * regclass.c (scan_one_insn): Notice subregs that change the
6757         size of their operand.
6758         (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
6759
6760 Wed Jul 14 01:41:42 1999  Jeffrey A Law  (law@cygnus.com)
6761
6762         * configure.in (alpha*-*-*): Include alpha/t-ieee.
6763         * configure: Rebuilt.
6764         * alpha/t-ieee: New file.
6765
6766 Tue Jul 13 10:45:58 1999  Jeffrey A Law  (law@cygnus.com)
6767
6768         * rs6000.c (find_addr_reg): Do not select r0 as an address
6769         register.
6770
6771 Tue Jul 13 00:46:18 1999  Philippe De Muyter  <phdm@macqel.be>
6772
6773         * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
6774
6775 Mon Jul 12 14:29:15 1999  Jeffrey A Law  (law@cygnus.com)
6776
6777         * rs6000.md (movsf): Do not force easy FP constants into memory.
6778
6779         * expr.c (expand_expr, case PLUS_EXPR): Pass constants through
6780         immed_double_const to ensure they are properly truncated then
6781         sign extended.
6782
6783 Mon Jul 12 10:40:01 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
6784
6785         * config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
6786         always unless NO_DEBUG is used.  Compile this code
6787         unconditionally.
6788         (replace_symbols_in_block): Compile it unconditionally.
6789
6790 Sun Jul 11 12:32:32 1999  Jeffrey A Law  (law@cygnus.com)
6791
6792         * configure.in (i?86-*-elf*): New target.
6793         * configure: Rebuilt.
6794         * i386/i386elf.h, i386/t-i386elf: New files.
6795
6796 Fri Jul  9 22:39:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
6797
6798         * toplev.c (main): Don't complain about saying -gdwarf.
6799         (rest_of_compilation): Remove redundant code.
6800
6801 Fri Jul  9 19:08:55 1999  Jim Wilson  <wilson@cygnus.com>
6802
6803         * unroll.c (unroll_loops): Don't delete named CODE_LABELs.
6804
6805 Fri Jul  9 18:54:18 1999  Felix Lee  <flee@cygnus.com>
6806
6807         * config/i960/i960.c (ret_label): Change asm label from "LR:" to
6808         "Li960R:", to avoid name clash.
6809
6810 Fri Jul  9 10:48:28 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
6811
6812         * loop.c (check_dbra_loop): When reversing a loop, delete all
6813         REG_EQUAL notes referencing the reversed biv except those which are
6814         for a giv based on it.
6815
6816 Fri Jul  9 03:51:52 1999  Jeffrey A Law  (law@cygnus.com)
6817
6818         * version.c: Drop "gcc-" prefix from version #.
6819
6820 Thu Jul  8 18:06:30 1999  Jason Merrill  <jason@yorick.cygnus.com>
6821
6822         * dwarf2out.c (dwarf2out_line): Emit a line number comment after
6823         the label if we're being verbose.
6824
6825 Thu Jul  8 14:18:46 1999  Richard Henderson  <rth@cygnus.com>
6826
6827         * m68k.c (output_function_prologue): Add pic register to mask
6828         if live and flag_pic.
6829         (output_function_epilogue): Likewise.
6830
6831 Thu Jul  8 12:55:12 1999  Jeffrey A Law  (law@cygnus.com)
6832
6833         * dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
6834         directives in column zero.
6835
6836         * pa/elf.h (ASM_FILE_START): Define.
6837         * pa/som.h (ASM_FILE_START): Include .level directives.
6838         * pa/hpux10.h (ASM_FILE_START): Delete.
6839         * pa/hpux11.h (ASM_FILE_START): Delete.
6840
6841         * pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
6842
6843 Thu Jul  8 18:03:19 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
6844
6845         * reload1.c (choose_reload_regs): Never call remove_adress_replacements
6846         when reload_out equals reload_in.
6847
6848 Thu Jul  8 16:50:14 1999  Nick Clifton  <nickc@cygnus.com>
6849
6850         * invoke.texi (Spec Files): New node: Describe the contents of
6851         spec files.
6852
6853 Thu Jul  8 10:28:25 1999  Craig Burley  <craig@jcb-sc.com>
6854
6855         * invoke.texi (DEC Alpha Options): Put @end table at
6856         beginning of line, to avoid confusing texi2html.
6857
6858 Thu Jul  8 09:22:06 1999  Nick Clifton  <nickc@cygnus.com>
6859
6860         * config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
6861         introduced in previous delta.
6862
6863 Wed Jul  7 02:00:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6864
6865         * reload1.c (gen_reload): When synthesizing a 3 operand add
6866         sequence, improve test for when to reload OP1 into the reload
6867         register instead of OP0.
6868
6869 Wed Jul  7 01:38:03 1999  Jim Wilson  <wilson@cygnus.com>
6870
6871         * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
6872
6873 1999-07-07  Manfred Hollstein  <mhollstein@cygnus.com>
6874
6875         * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
6876         string literal.
6877
6878 Wed Jul  7 01:16:43 1999  Richard Henderson  <rth@cygnus.com>
6879
6880         * ginclude/varargs.h (__builtin_va_alist_t): New typedef.
6881         (va_dcl): Use __builtin_va_alist_t.
6882
6883 Wed Jul  7 01:14:42 1999  Jason Merrill  <jason@yorick.cygnus.com>
6884
6885         * dwarf2out.c (gen_struct_or_union_type_die): Only remember types
6886         on the permanent_obstack.
6887         * dwarfout.c (output_type): Likewise.
6888
6889 Tue Jul  6 15:25:32 1999  Gavin Romig-Koch  <gavin@cygnus.com>
6890
6891         * c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
6892         Merged from c-typeck.c and cp/typeck.c.
6893         * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
6894         Merged into c-common.
6895
6896 Tue Jul  6 13:06:01 1999  Dave Brolley  <brolley@cygnus.com>
6897
6898         * c-lex.c (errorcount): Declare it.
6899         (finish_parse): Update errorcount when using CPPLIB.
6900
6901 1999-07-06  Bruce Korb  <ddsinc09@ix.netcom.com>
6902
6903         * fixinc/inclhack.def(end_else_label): Double the backslash so
6904         sed gets a chance to see it.
6905         * fixinc/inclhack.sh: regen
6906         * fixinc/fixincl.x: regen
6907
6908 Fri Jul  2 18:49:51 1999  Nick Clifton  <nickc@cygnus.com>
6909
6910         Add framework to support armv5 architecture when it becomes
6911         available:
6912
6913         * config/arm/arm.c (FL_ARCH5): New processor capability flag.
6914         (arm_arch5): New variable.
6915         (all_architectures): Add armv5 line.
6916         * config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
6917         -march=armv5 is specified on the command line.
6918         (arm_arch5): Export this variable.
6919         * invoke.texi: Document new string accepted by -march= switch for
6920         ARM ports.
6921
6922         * config/arm/arm.h: Replace use of constant 12 as a register
6923         number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
6924         * config/arm/arm.c: Replace use of constant 12 as a register
6925         number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
6926
6927         * config/arm/elf.h: Tidy up.
6928         * config/arm/coff.h: Tidy up.
6929
6930 Thu Jul  1 19:08:13 1999  Mark P. Mitchell  <mark@codesourcery.com>
6931
6932         * gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
6933         * gcc/config/mips/t-iris6gld: New file.
6934         * gcc/config/mips/iris6gld.h: Likewise.
6935
6936 Fri Jul  2 13:23:39 1999  Gavin Romig-Koch  <gavin@cygnus.com>
6937
6938         * c-decl.c (widest_integer_literal_type_node,
6939         widest_unsigned_literal_type) : New.
6940         (init_decl_processing): Handle/use the two new types.
6941         * c-common.c (type_for_size,type_for_mode) : Same.
6942         * c-lex.c (yylex) : Same.
6943         * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
6944         Same.
6945         * c-tree.h (widest_integer_literal_type_node,
6946         widest_unsigned_literal_type) : New.
6947
6948 Fri Jul  2 03:05:44 1999  Jeffrey A Law  (law@cygnus.com)
6949
6950         * dwarfout.c (field_byte_offset): Correctly compute the object's
6951         byte offset for the first bit of a field which crosses an alignment
6952         boundary on a !BYTES_BIG_ENDIAN target.
6953
6954 Fri Jul  2 01:36:36 1999  Robert Lipe  <robertlipe@usa.net>
6955
6956         * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
6957         ntohs.
6958
6959 Fri Jul  2 00:46:47 1999  Richard Henderson  <rth@cygnus.com>
6960                           Jeff Law <law@cygnus.com>
6961
6962         * ginclude/varargs.h (va_dcl): Use word_mode for type of
6963         __builtin_va_list.
6964
6965         * except.c: Include intl.h.
6966         (expand_eh_return): Set current_function_cannot_inline.
6967         (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
6968         * function.h (struct function): Add eh_return_stub_label.
6969         * flow.c (delete_unreachable_blocks): Don't merge across EH edges.
6970         * Makefile.in (except.o): Depend on intl.h.
6971
6972 Fri Jul  2 00:04:23 1999  David Edelsohn  <edelsohn@gnu.org>
6973
6974         * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
6975         same as offsettable in cases 1 and 2.
6976
6977 Thu Jul  1 20:54:10 1999  Richard Henderson  <rth@cygnus.com>
6978
6979         * alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
6980         (extlh, extwh): Likewise.
6981
6982 Thu Jul  1 11:05:25 1999  Gavin Romig-Koch  <gavin@cygnus.com>
6983
6984         * c-lex.c (yylex): Improve 'integer constant out of range' messages.
6985
6986 Wed Jun 30 16:51:41 1999  Nick Clifton  <nickc@cygnus.com>
6987
6988         * configure.in: Add arm-pe and thumb-pe targets.
6989         * configure: Regenerate.
6990
6991         * thumb.c (arm_naked_function_p): New function: Determines if
6992         a function is naked (has no gcc generated prologue/epilogue).
6993         (is_called_in_ARM_mode): Return true if the func has the
6994         interfacearm attribute.
6995         (output_return): Do not generate a return for naked functions.
6996         (thumb_function_prologue): Do not generate a prologue for
6997         naked functions.
6998         (thumb_expand_prologue): Do not generate a prologue for naked
6999         functions.
7000         (thumb_expand_epilogue): Do not generate an epilogue for naked
7001         functions.
7002         (arm_valid_machine_decl_attribute): New function, copied from
7003         arm.c:  Permit naked and interfacearm attributes.
7004
7005         * config/arm/pe.c: New file: Support code for arm-pe target.
7006         * config/arm/pe.h: New file: Header file for arm-pe target.
7007         * config/arm/tpe.h: New file: Header file for thumb-pe target.
7008         * config/arm/t-thumb-pe: New file: Makefile fragment for
7009         thumb-pe target.
7010
7011 1999-07-01  Mark Kettenis  <kettenis@gnu.org>
7012
7013         * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
7014         -fPIC or -fpic is specified.
7015
7016 Wed Jun 30 03:31:54 1999  Jeffrey A Law  (law@cygnus.com)
7017
7018         * expr.c (emit_block_move): Use copy_to_mode_reg for
7019         !TARGET_MEM_FUNCTIONS case too.
7020
7021         * configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
7022         appropriate.
7023         * configure: Rebuilt.
7024         (hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
7025         * pa.h: Include dbxelf.h.  Delete various dbx/stabs related
7026         definitions made redundant by dbxelf.h inclusion.  Delete
7027         lots of definitions related to assembly output that are
7028         specific to the SOM object format.
7029         * pa.c (output_function_prologue): Do not emit the function's
7030         name for OBJ_ELF.
7031         * pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
7032         * pa-pro.h: Deleted.
7033         * som.h: New file with SOM specific definitions.
7034         * elf.h: New file with ELF specific definitions.
7035
7036         * elfos.h (const_section): Output a tab before assembler directives.
7037         (ctors_section, dtors_section): Likewise.
7038         (ASM_OUTPUT_SECTION_NAME): Likewise.
7039
7040         * pa/pa1.h: Delete unused file.
7041
7042 Tue Jun 29 01:37:53 1999  Jeffrey A Law  (law@cygnus.com)
7043
7044         * configure.in (hppa*-hp-hpux11*): New configuration.
7045         * configure: Rebuilt.
7046         * pa/pa-hpux11.h: New file.
7047         * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
7048         command line.
7049
7050         * mips.md (leasi, leadi): New patterns.
7051
7052         * expr.c (emit_block_move): Properly handle case where one of the
7053         block move arguments has a queued increment or decrement.
7054         (clear_storage): Similarly.  Fix formatting goof.
7055
7056 1999-06-28  "David O'Brien"  <obrien@NUXI.com>
7057
7058         * fixinc/inclhack.def(stdio_va_list): This patch Removes a
7059         semicolon from the BSD VA_LIST replacement expression.
7060
7061         * fixinc/inclhack.sh: regen
7062         * fixinc/fixincl.x: regen
7063
7064         * fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
7065         now use the fixincl program.
7066
7067 Mon Jun 28 05:28:12 1999  Jeffrey A Law  (law@cygnus.com)
7068
7069         * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
7070         case.  Also make the PIC register call_used.
7071
7072         * m68k.h (FINALIZE_PIC): Delete.
7073         * m68k.c (finalize_pic): Delete.
7074
7075 Mon Jun 28 05:16:35 1999  Richard Henderson  <rth@cygnus.com>
7076
7077         * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
7078         to memory.
7079
7080 Mon Jun 28 04:07:27 1999  David Edelsohn  <edelsohn@gnu.org>
7081
7082         * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
7083
7084 Sun Jun 27 02:39:08 1999  Richard Henderson  <rth@cygnus.com>
7085
7086         * jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
7087
7088 Sat Jun 26 17:18:18 1999  David Edelsohn  <edelsohn@gnu.org>
7089
7090         * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
7091
7092 Fri Jun 25 11:33:24 1999  Richard Henderson  <rth@cygnus.com>
7093
7094         * alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
7095
7096 Fri Jun 25 13:41:25 1999  David Edelsohn  <edelsohn@gnu.org>
7097
7098         * rs6000.c (output_toc): Always use hex values for floating-point
7099         constants.  Store single-precision values in upper-half of TOC
7100         entry in 64-bit mode.
7101         * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
7102         to final constraints.
7103         (fix_truncdfsi2 splitter): Change pattern matching fctiwz.
7104         (fctiwz): Improve accuracy of RTL for pattern.
7105
7106 Fri Jun 25 11:26:38 1999  Gavin Romig-Koch  <gavin@cygnus.com>
7107
7108         * expr.c (expand_expr): Allow RTL_EXPR's through the
7109         MAX_INTEGER_COMPUTATION_MODE checks.
7110
7111 Fri Jun 25 06:06:37 1999  Richard Henderson  <rth@cygnus.com>
7112
7113         * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
7114         such that MASK_SUPPORT_ARCH is not negative.
7115
7116 Fri Jun 25 05:35:44 1999  Jeffrey A Law  (law@cygnus.com)
7117
7118         * loop.c (verify_dominator): Properly handle ADDR_VEC and
7119         ADDR_DIFF_VEC insns that appear inside loops.
7120
7121 Thu Jun 24 22:54:05 1999  David Edelsohn  <edelsohn@gnu.org>
7122                           Jeff Law <law@cygnus.com>
7123
7124         * rs6000.md (movdf_hardfloat32): Revert previous patch.
7125         Handle LO_SUM the same as offsettable in cases 1 and 2.
7126         * rs6000.c (find_addr_reg): Revert previous patch.
7127
7128 Thu Jun 24 22:43:12 1999  Philippe De Muyter  <phdm@macqel.be>
7129
7130         * system.h (strstr): New external function declaration.
7131         * acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
7132         * configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
7133         * config.in, configure: Rebuilt.
7134
7135 1999-06-24  Tom Tromey  <tromey@cygnus.com>
7136
7137         * gcc.c (main): Read user-specified specs files after computing
7138         additional startfile_prefixes.
7139
7140 Thu Jun 24 15:00:47 1999  Mark Mitchell  <mark@codesourcery.com>
7141
7142         Revert these two patches:
7143
7144         Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7145         * loop.c (strength_reduce): When doing biv->giv conversion, update
7146         reg note of NEXT->insn.
7147
7148         Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7149         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
7150         reg_biv_class.
7151         (recombine_givs): Set ix field after sorting.
7152
7153 Wed Jun 23 21:26:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7154
7155         * rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
7156         for the parts of an UNSPEC / UNSPEC_VOLATILE.
7157
7158 1999-06-23  Bruce Korb  <ddsinc09@ix.netcom.com>
7159
7160         *fixinc/inclhack.def:  Add fix development commentary
7161         (read_ret_type): reactivate and add selection clause
7162         (zzz_*): tweak output file name to match what is used in hackshell.tpl
7163         *fixinc/{fixincl.x|inclhack.sh}: regen
7164
7165 Wed Jun 23 00:48:21 1999  Jason Merrill  <jason@yorick.cygnus.com>
7166
7167         * expr.c (expand_expr): STRIP_NOPS before checking against
7168         MAX_INTEGER_COMPUTATION_MODE
7169         (check_max_integer_computation_mode): Likewise.
7170
7171 Tue Jun 22 20:23:43 1999  Jim Wilson  <wilson@cygnus.com>
7172
7173         * md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
7174
7175 1999-06-22  Jim Wilson  <wilson@cygnus.com>
7176
7177         * expr.c (store_expr): When target is a promoted subreg, return a
7178         promoted subreg as a result.
7179
7180 Tue Jun 22 17:14:58 1999  Michael Meissner  <meissner@cygnus.com>
7181
7182         * dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
7183         coding standards.
7184         (dwarf2out_define): Mark unused parameters appropriately.
7185         (gen_unspecified_parameters_die): Ditto.
7186         (gen_subprogram_die): Fix signed/unsigned warnings.
7187         (gen_variable_die): Ditto.
7188
7189 1999-06-22  Bruce Korb <ddsinc09@ix.netcom.com>
7190
7191         * fixinc/inclhack.def(end_else_label): combined else_label
7192         and endif_label and fixed the sed expression.
7193         *fixinc/{fixincl.x|inclhack.sh}: regen
7194
7195 Tue Jun 22 01:58:18 1999  Jeffrey A Law  (law@cygnus.com)
7196
7197         * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
7198         'x' when handling non-offsettable addresses
7199
7200 Tue Jun 22 00:20:05 1999  Richard Earnshaw (rearnsha@arm.com)
7201
7202         * final.c (shorten_branches): Don't try to split an insn that has
7203         been deleted.
7204
7205 Mon Jun 21 12:47:39 1999  Mark Mitchell  <mark@codesourcery.com>
7206
7207         * config/mips/mips.c (symbolic_expression_p): New function.
7208         (mips_select_rtx_section): Put symbolic expressions in the
7209         data section, not the read-only data section.
7210
7211 Mon Jun 21 22:13:06 1999  Jeffrey A Law  (law@cygnus.com)
7212
7213         * rs6000.md (find_addr_reg): Handle LO_SUM addresses.
7214
7215 Mon Jun 21 20:10:42 1999  Richard Henderson  <rth@cygnus.com>
7216
7217         * collect2.c (main): Log frame table count.
7218         (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
7219         (scan_prog_file) [COFF]: Handle frame tables.
7220
7221         * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
7222         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
7223         * alpha/elf.h: Undef them again.
7224         * alpha/vms.h: Remove their definitions.
7225
7226 Tue Jun 22 03:17:53 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7227
7228         * sh.c (machine_dependent_reorg): When fixing up fp pcloads,
7229         remove the clobber of r0 and change the REG_UNUSED note to
7230         REG_INC.
7231
7232 1999-06-21  Jakub Jelinek  <jj@ultra.linux.cz>
7233
7234         * real.c (ereal_from_double): Fix for 64-bit big endian hosts.
7235         * emit-rtl.c (gen_lowpart_common): Add case for hosts where double
7236         fits in HOST_WIDE_INT and one uses union to access a long constant
7237         as double.
7238
7239 Mon Jun 21 17:18:25 1999  Richard Henderson  <rth@cygnus.com>
7240
7241         * sparc.c (sparc_override_options): Don't allow profiling for
7242         code models other than medlow.
7243         (sparc_function_profiler): New function from old FUNCTION_PROFILER
7244         macro.  Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
7245         (sparc_function_block_profiler): Likewise.  Use user_label_prefix.
7246         (sparc_block_profiler): Likewise.
7247         (sparc_function_block_profiler_exit): Likewise.
7248         * sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
7249         (FUNCTION_BLOCK_PROFILER): Likewise.
7250         (BLOCK_PROFILER): Likewise.
7251         (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
7252         (MCOUNT_FUNCTION): New.
7253         * sparc/pbd.h (FUNCTION_PROFILER): Delete.
7254         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
7255         * sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
7256         (MCOUNT_FUNCTION): New.
7257         * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
7258         (BLOCK_PROFILER): Delete.
7259         (MCOUNT_FUNCTION): New.
7260
7261 Mon Jun 21 14:11:29 1999  David Edelsohn  <edelsohn@gnu.org>
7262
7263         * rs6000.md (movdf_hardfloat32): Fix typo in case 2.
7264
7265 Mon Jun 21 12:27:17 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
7266
7267         * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7268         Add the macros.
7269
7270         * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7271         Ditto.
7272
7273         * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7274         Ditto.
7275
7276         * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7277         Ditto.
7278
7279 Mon Jun 21 14:58:42 1999  Nick Clifton  <nickc@cygnus.com>
7280
7281         * config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
7282         types.
7283
7284 Mon Jun 21 06:22:21 1999  Mark Elbrecht <snowball3@bigfoot.com>
7285
7286         * i386/djgpp.h (LIB_SPEC): New.
7287         (STARTFILE_SPEC): New.
7288
7289         * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
7290
7291 Mon Jun 21 06:19:33 1999  Philippe De Muyter  <phdm@macqel.be>
7292
7293         * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
7294         compiler flags.
7295
7296         * system.h (WSTOPSIG): New macro.
7297
7298 Mon Jun 21 05:33:15 1999  Mumit Khan  <khan@xraylith.wisc.edu>
7299
7300         * c-pragma.c (push_alignment): Don't ignore alignments greater than
7301         4 bytes.
7302         (insert_pack_attributes): Take into account member natural
7303         alignment.
7304
7305         * i386/winnt.c (exports_head): New static variable.
7306         (i386_pe_record_exported_symbol): New function.
7307         (i386_pe_asm_file_end): Use.
7308         * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
7309         symbols to be emitted at end of assembly.
7310         (ASM_DECLARE_OBJECT_NAME): Likewise.
7311         (ASM_DECLARE_FUNCTION_NAME): Likewise.
7312
7313         * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
7314         -iwithprefix.
7315
7316 Mon Jun 21 04:44:31 1999  Jeffrey A Law  (law@cygnus.com)
7317
7318         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
7319         in last change.
7320
7321 Sun Jun 20 17:27:20 1999  Richard Henderson  <rth@cygnus.com>
7322
7323         * haifa-sched.c (sched_analyze_1): Use free_list instead of
7324         zapping reg_last_uses directly.
7325         (sched_analyze_2, sched_analyze_insn): Likewise.
7326         (sched_analyze): Likewise.  Don't clear reg_last_uses on calls.
7327
7328 Sun Jun 20 16:57:29 1999  David Edelsohn  <edelsohn@gnu.org>
7329
7330         * rs6000.md (movdf_hardfloat32): Use worst case insn length
7331         attributes for cases 1 and 2.
7332
7333 Sat Jun 19 22:52:55 1999  Richard Henderson  <rth@cygnus.com>
7334
7335         * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
7336         instead of set.
7337
7338 Sat Jun 19 05:40:07 1999  Philip Blundell <pb@nexus.co.uk>
7339
7340         * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
7341
7342 Sat Jun 19 05:25:05 1999  Richard Earnshaw (rearnsha@arm.com)
7343
7344         * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
7345         PIC_OFFSET_TABLE_REGNUM for general alloaction.
7346         (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
7347         must be stacked if it is used for PIC accesses.
7348         * arm.c (use_return_insn): Handle PIC register specially.
7349         (output_return_instruction): Likewise.
7350         (output_func_{prologue,epilogue}): Likewise.
7351         (output_expand_prologue): Likewise.
7352
7353         * arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
7354         (*strsi_predec): Renamed from *strqi_predec.
7355         (*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
7356         (*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
7357
7358         * arm.c (arm_override_options): Remove warning about PIC code
7359         not being supported.
7360
7361 Fri Jun 18 23:47:06 1999  David Edelsohn  <edelsohn@gnu.org>
7362
7363         * rs6000.c (find_addr_reg): New function.
7364         * rs6000.h (find_addr_reg): Declare.
7365         (offsettable_addr_operand): Delete.
7366         * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
7367         from and stores to GPRs.
7368
7369 Fri Jun 18 15:44:18 1999  Richard Henderson  <rth@cygnus.com>
7370
7371         * alpha.c (alpha_expand_block_move): Use get_insns rather than
7372         gen_sequence as argument to emit_no_conflict_block.
7373
7374 Fri Jun 18 07:02 1999  Bruce Korb <ddsinc09@ix.netcom.com>
7375
7376         * fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
7377         * fixinc/inclhack.def(dgux_int_varargs): script must end with \n
7378         *fixinc/fixincl.x: regen
7379         *fixinc/inclhack.sh: regen
7380
7381 Thu Jun 17 15:06:10 PDT 1999 Don Lindsay  <dlindsay@cygnus.com>
7382
7383         * added support for -mpcrel (PC relative addressing for m68k)
7384         based on code done by Michael Tiemann  <tiemann@axon.cygnus.com>.
7385         * invoke.texi (m68000 options): Add documentation for -mpcrel flag.
7386         * m68k.c (print_operand_address): Handle 32-bit PIC case.
7387         (comments for general_src_operand): Add some explanation
7388         about EXTRA_CONSTRAINTS.
7389         (OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
7390         * m68kelf.h (OVERRIDE_OPTIONS): Ditto.
7391         (LEGITIMATE_PIC_OPERAND_P): Fix typo.
7392         (LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
7393         * m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
7394         (INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
7395         (OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
7396         if not already set.
7397         (OVERRIDE_OPTIONS): Merge in changes from m68k.h.
7398         * m68k.h (TARGET_PCREL): New target flag.
7399         (TARGET_SWITCHES): Add "pcrel" as a recognized switch.
7400         (OVERRIDE_OPTIONS): Add checks for -mpcrel.
7401         (LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
7402         contains a SYMBOL_REF.  Relax this constraint during reload, since
7403         we want to use the predicates, not reload's built-in concept of a
7404         valid memory address, to control what insns need reloading.
7405         (EXTRA_CONSTRAINT): Define constraints to accept pc-relative
7406         operands (essentially 'g', 'm', and 's' under normal circumstances).
7407         * m68k.c (print_operand): Cause printing of pc-relative addresses
7408         to include pc register.
7409         (print_operand_address): Ditto.
7410         (general_src_operand): Accept operands that are not only
7411         general_operands, but are also valid when used as a pc-relative
7412         source.
7413         (nonimmediate_src_operand): Similar, for nonimmediate_operands.
7414         (memory_src_operand): Similar, for memory_operands.
7415         (pcrel_address): New predicate to accept the special case of a
7416         pc-relative address.
7417         * m68k.md (many patterns): Rewrite common SImode, HImode, and
7418         QImode insns to accept *_src_operand instead of *_operand where
7419         pc-relative operands can fit.  For example, a pc-relative operand
7420         can be used as a memory source operand for addsi3, but not as a
7421         memory destination.
7422         * hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
7423
7424 Fri Jun 18 09:11:07 1999  Nick Clifton  <nickc@cygnus.com>
7425
7426         * config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
7427         .thumb_set pseudo op to mark aliases of thumb functions.
7428
7429 Wed Jun 16 18:19:13 1999  Nick Clifton  <nickc@cygnus.com>
7430
7431         * varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
7432         preference to ASM_OUTPUT_DEF, if it is defined.
7433
7434         * tm.texi: Document new, optional target macro
7435         ASM_OUTPUT_DEF_FROM_DECLS.
7436
7437 Thu Jun 17 15:07 1999  Bruce Korb <ddsinc09@ix.netcom.com>
7438
7439         * fixincludes: ISCNTL patch
7440         * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
7441         (dgux_int_varargs): new for DG/UX
7442         * fixinc/{fixincl.x,inclhack.sh}: Regenerated.
7443
7444 Thu Jun 17 21:34:24 1999  Jeff Law <law@cygnus.com>
7445
7446         * invoke.texi (ia32 options): Fix typo.
7447
7448 Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7449
7450         * loop.c (strength_reduce): When doing biv->giv conversion, update
7451         reg note of NEXT->insn.
7452
7453 Thu Jun 17 14:25:08 1999  Jeffrey A Law  (law@cygnus.com)
7454
7455         * loop.c (move_movables): Note issues with replacing REGs with
7456         SUBREGs.
7457         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
7458
7459 Thu Jun 17 13:28:30 1999  David O'Brien <obrien@FreeBSD.org>
7460
7461         * i386/freebsd-elf.h (LINK_SPEC): Fix typo.
7462
7463         * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
7464         the reference to `mcount' was not correct for the ELF on FreeBSD.
7465
7466 Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7467
7468         * loop.c (strength_reduce): When doing biv->giv conversion, fix up
7469         reg_biv_class.
7470
7471         (recombine_givs): Set ix field after sorting.
7472
7473 Thu Jun 17 02:54:30 1999  Jeffrey A Law  (law@cygnus.com)
7474
7475         * emit-rtl.c (operand_subword): Tighten checks for when it is safe
7476         to safe to extract a subword out of a REG.
7477
7478 Thu Jun 17 01:45:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7479
7480         * sh.md (mulsi3): Don't add a no-op move at the end.
7481
7482 Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7483
7484         * cse.c (cse_insn): Don't put hard register source into tables for
7485         the last insn of a libcall.
7486
7487 Wed Jun 16 19:44:33 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7488
7489         * loop.c (strength_reduce): Insert sets of derived givs at every
7490         biv increment, even if it's the only one.
7491
7492 Wed Jun 16 10:33:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
7493
7494         * dwarfout.c (add_incomplete_type): New fn.
7495         (output_type): Call it.
7496         (retry_incomplete_types): New fn.
7497         (dwarfout_finish): Call it.
7498
7499         From Eric Raskin <ehr@listworks.com>:
7500         (output_type): Output types for bases.
7501
7502 Tue Jun 15 12:51:23 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
7503
7504         * mips.c (mips_output_conditional_branch): Add `break'
7505         between `default' label and `close braces'.
7506
7507 Tue Jun 15 01:55:20 1999  David O'Brien <obrien@FreeBSD.org>
7508
7509         * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
7510         specifications and make it realistic.
7511         (LIB_SPEC): Likewise.
7512
7513 Mon Jun 14 15:38:43 1999  Jim Wilson  <wilson@cygnus.com>
7514
7515         * config/mips/mips.c (mips_secondary_reload_class): Check for
7516         (PLUS (SP) (REG)) and return appropriate register class.
7517         * config/mips/mips.md (reload_insi): Delete predicate for operand 1.
7518         Handle (PLUS (SP) (REG)).
7519         (tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
7520         (tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
7521         of emit_insn for tablejump.
7522
7523 Mon Jun 14 17:26:40 1999  David Edelsohn  <edelsohn@gnu.org>
7524
7525         * rs6000.c (output_prolog): RS6000_CALL_GLUE must be
7526         asm_fprintf format string by itself.
7527         (output_function_profiler): Likewise.
7528
7529 Mon Jun 14 12:57:38 1999  David Mosberger  <davidm@hpl.hp.com>
7530
7531         * combine.c (simplify_logical, case AND): Only call
7532         simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
7533         or the constant is positive.
7534
7535 Mon Jun 14 11:43:41 1999  Nick Clifton  <nickc@cygnus.com>
7536
7537         * configure.in: Fix typo in rs6000-ibm-aix4 case.
7538         * configure: Regenerate.
7539
7540 Mon Jun 14 03:55:40 1999  Jeffrey A Law  (law@cygnus.com)
7541
7542         * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
7543         require a sub-version #.
7544         * configure: Rebuilt.
7545
7546 1999-06-14  Robert Lipe  (robertlipe@usa.net)
7547
7548         * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
7549
7550 Mon Jun 14 10:30:52 BST 1999  Nathan Sidwell  <nathan@acm.org>
7551
7552         * c-typeck.c (process_init_element): Detect excess elements in
7553         char array initializer.
7554
7555 1999-06-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
7556
7557         * gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
7558
7559 Sat Jun 12 22:29:48 EDT 1999  Jerry Quinn <jquinn@nortelnetworks.com>
7560
7561         * invoke.texi (Option Summary): Add -fpermissive flag.
7562
7563 Sat Jun 12 03:40:42 1999  Jeffrey A Law  (law@cygnus.com)
7564
7565         * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
7566         that require PIC code sequences.
7567
7568 Wed Jun  9 16:29:01 1999  Nick Clifton  <nickc@cygnus.com>
7569
7570         * configure.in: Add new target: thumb-elf.
7571         * configure: Regenerate.
7572         * config/arm/t-thumb-elf: New file: Makefile fragment for
7573         thumb-elf build.
7574         * config/arm/telf.h: New file: Header file for thumb-elf
7575         build.
7576
7577 Fri Jun 11 03:17:51 1999  Jeffrey A Law  (law@cygnus.com)
7578
7579         * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
7580         * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
7581         initializers is some circumstances.
7582
7583         * fixinc/inclhack.def (endif_label): Add additional selector for
7584         more bogus stuff after #endif statements.
7585         * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
7586
7587 Thu Jun 10 20:44:36 1999  Mumit Khan  <khan@xraylith.wisc.edu>
7588
7589         * i386/cygwin.h (SET_ASM_OP): Define.
7590
7591 Thu Jun 10 20:37:57 1999  Mumit Khan  <khan@xraylith.wisc.edu>
7592
7593         * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
7594
7595 Thu Jun 10 19:23:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7596
7597         * sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
7598         latter.
7599
7600         * sh.md (ic_invalidate_line_i): Remove second alternative.
7601
7602 Thu Jun 10 06:55 1999  Bruce Korb <ddsinc09@ix.netcom.com>
7603
7604         *fixinc/inclhack.def(sun_auth_proto): We do not know how to
7605         test for the presence of valid prototypes.  Delete bypass expr.
7606         (ioctl_fix_ctrl): Correct the selection expression.
7607         (no_double_slash): Correct quoting rules
7608         *fixinc/fixincl.x: regen
7609         *fixinc/inclhack.sh: regen
7610
7611 Thu Jun 10 15:08:15 1999  Nick Clifton  <nickc@cygnus.com>
7612
7613         * config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
7614
7615 Wed Jun  9 15:57:57 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7616
7617         * rs6000.md (movsi_got_internal_mem): Delete.
7618         * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
7619         (GOT_TOC_REGNUM): Delete.
7620         (PIC_OFFSET_TABLE_REGNUM): Define.
7621         (FINALIZE_PIC): Disable.
7622         * rs6000.c (rs6000_got_register): New code for fixed pic register.
7623         (rs6000_replace_regno): Delete.
7624         (rs6000_finalize_pic): Likewise.
7625         (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
7626
7627 Wed Jun  9 19:44:26 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7628
7629         * loop.c (loop_insn_first_p): Don't compare LUIDs when P
7630         is a note; use <= for the compare; advance P while it is
7631         a NOTE.
7632
7633 Wed Jun  9 13:12:24 1999  Jeffrey A Law  (law@cygnus.com)
7634
7635         * fixinc/inclhack.def (no_double_slash): Fix quoting for test.
7636         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
7637
7638         * varasm.c (remove_from_pending_weak_list): Verify t->name
7639         is non-NULL before passing it to strcmp.
7640
7641 Wed Jun  9 06:50 1999  Bruce Korb <ddsinc09@ix.netcom.com>
7642
7643         *fixinc/inclhack.def(sun_auth_proto): bypass the patch if
7644         the typed arguments are not part of a comment
7645         (ioctl_fix_ctrl): Added a purpose comment
7646         *fixinc/fixincl.x: regenerate
7647         *fixinc/inclhack.sh: regenerate
7648
7649 Wed Jun  9 22:57:02 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7650
7651         * invoke.texi: Add C4x invocation docs.
7652
7653 Wed Jun  9 22:34:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7654
7655         * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
7656         Define new macros.
7657         * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
7658         TARGET_EXPOSE_LDP.
7659         (c4x_legitimize_reload_address): New function.
7660         * config/c4x/c4x.md: Update docs.
7661
7662 Wed Jun  9 04:14:48 1999  Jeffrey A Law  (law@cygnus.com)
7663
7664         * fixincludes: Avoid removing '.'.
7665         * fixinc/fixinc.svr4: Likewise.
7666         * fixinc/fixinc.winnt: Likewise.
7667         * fixinc/inclhack.tpl: Likewise.
7668         * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
7669
7670 1999-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7671
7672         * fixinc/inclhack.def (sun_catmacro): Escape parens in the select
7673         pattern.
7674         * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
7675
7676 Wed Jun  9 03:10:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
7677
7678         * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
7679         correctly.
7680
7681 Tue Jun  8 13:06:15 1999  Jim Wilson  <wilson@cygnus.com>
7682
7683         * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
7684         * configure: Regenerate.
7685
7686 Tue Jun  8 05:47:48 1999  Richard Earnshaw (rearnsha@arm.com)
7687
7688         * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
7689         values.
7690
7691 Mon Jun  7 22:30:37 1999  Jeffrey A Law  (law@cygnus.com)
7692
7693         * fixinc/inclhack.def (avoid_bool): Also catch
7694         "typedef [unsigned] int bool".
7695         * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
7696
7697         * m68k/x-hp3bsd44: Delete obsolete and incorrect file.
7698         * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
7699         * configure: Rebuilt.
7700
7701 Mon Jun  7 22:05:03 1999  Mark Kettenis  <kettenis@gnu.org>
7702
7703         * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
7704         such that we can override its definitions if necessary.
7705         (CPP_SPEC): New define.  Support processor specific predefines via
7706         %(cpp_cpu).
7707         (CC1_SPEC): New define.  Support processor specific compiler
7708         options via %(cc1_cpu).
7709         (STARTFILE_SPEC): New define.  Use crt0.o instead of crt1.o for
7710         -static.
7711
7712 1999-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7713
7714         * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
7715         between sed's -e flag, and the open-quote following it.
7716         * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
7717
7718 Mon Jun  7 20:34:20 1999  Robert Lipe <robertlipe@usa.net>
7719                           Jeffrey A Law  (law@cygnus.com)
7720
7721         * varasm.c (assemble_start_function): Remove the function
7722         from the pending weak decls list when we define a function.
7723         (assemble_variable): Similarly for variables.
7724         (weak_finish): Ignore items on the list with a NULL name.
7725         (remove_from_ending_weak_list); New function to "remove" an item
7726         from the pending weak declarations list.
7727
7728 Mon Jun  7 19:27:07 1999  Jerry Quinn <jquinn@nortelnetworks.com>
7729
7730         * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
7731
7732 Mon Jun  7 14:07:39 1999  Dave Brolley  <brolley@cygnus.com>
7733
7734         * c-lex.c (GETC): Redefine to call getch.
7735         (UNGETC): Redefine to call put_back.
7736         (putback_buffer): New structure type.
7737         (putback): New static structure.
7738         (getch): New function.
7739         (put_back): New function.
7740         (yylex): Replace unused bytes from bad multibyte character.
7741
7742 Mon Jun  7 13:33:39 1999  Dave Brolley  <brolley@cygnus.com>
7743
7744         * cpplib.c (do_define): Cast `alloca' return value.
7745         (do_include, do_undef, do_pragma): Likewise.
7746         * cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
7747         values.
7748         * cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
7749         * gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
7750
7751 Sun Jun  6 11:58:34 1999  Jakub Jelinek  <jj@ultra.linux.cz>
7752
7753         * sparc.md (abstf2): This should be an expand.
7754         (split after abstf2_notv9): Fix mode.
7755         (abstf2_hq_v9): New pattern.
7756         (abstf2_v9): Only use when no hard quad.
7757         (absdf2_v9): Fix if target is not the same as source.
7758         (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
7759         Add correct output constraints.
7760
7761 Sat Jun  5 17:04:16 1999  Craig Burley  <craig@jcb-sc.com>
7762
7763         From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
7764         * invoke.texi: Clarify text vis-a-vis Intel CPUs.
7765
7766 Sat Jun  5 12:11:24 1999  Mark Mitchell  <mark@codesourcery.com>
7767
7768         * mips.h (mips_output_conditional_branch): New function.
7769         (mips_adjust_insn_length): Likewise.
7770         (ASSEMBLER_SCRATCH_REGNUM): New macro.
7771         (ADJUST_INSN_LENGTH): Likewise.
7772         * mips.c (print_operand): Add `F' and `W' for floating-point
7773         comparison opcodes.
7774         (machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
7775         are now in bytes.
7776         (mips_adjust_insn_length): New function.
7777         (mips_output_conditional_branch): New function.
7778         * mips.md (length): Adjust attribute definition to handle
7779         conditional branches.   Change lengths to bytes, rather than
7780         instructions throughout.  Remove length attribute from
7781         instructions whose length is four bytes, and rely on the default
7782         instead.
7783         (dslot): Fix typo in comment.
7784         Reword conditional branch patterns to use
7785         mips_output_conditional_branch.
7786
7787 Fri Jun  4 13:30:27 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7788
7789         * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
7790         (LIB_SPEC): Likewise.
7791         Link with -lprof1_r for -g/-pg.
7792
7793 1999-06-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
7794
7795         * loop.c (check_dbra_loop): Fix change of Jan 19.
7796
7797 Fri Jun  4 00:12:40 1999  Marc Espie <espie@cvs.openbsd.org>
7798
7799         * freebsd-elf.h (SWITCH_TAKES_ARG):  Redefine, not define.
7800         (STARTFILE_SPEC):  Define, override the svr4.h version.
7801         (ENDFILE_SPEC):  Likewise.
7802
7803 Thu Jun  3 23:58:55 1999  Jeffrey A Law  (law@cygnus.com)
7804
7805         * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
7806         * fixinc/fixincl.x: Regenerated.
7807         * fixinc/inclhack.sh: Regenerated.
7808
7809 Fri Jun  4 05:42:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7810
7811         * sh.c (barrier_align): Don't return early for normal branch/barrier
7812         when optimizing for SH2.
7813
7814 Thu Jun  3 22:27:50 1999  Robert Lipe  <robertlipe@usa.net>
7815
7816         * i386/udk.h (LINK_SPEC): Correct linker search path for
7817         system libraries.
7818
7819 Fri Jun  4 03:20:40 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7820
7821         * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
7822         (braf_label_ref_operand): Delete.
7823         * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
7824         * sh.md (casesi_jump_2): Operand1 is now the inside of a
7825         label_ref, and has no predicate.
7826         The patten has a predicate to guard against invalid substitutions.
7827         (dummy_jump): Delete.
7828         (casesi): Update use of casesi_jump_2.
7829
7830 Thu Jun 3 07:48 1999  Bruce Korb <ddsinc09@ix.netcom.com>
7831
7832         *fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
7833         *fixinc/fixincl.x: regenerate
7834         *fixinc/inclhack.sh: regenerate
7835
7836 Thu Jun  3 02:15:07 1999  Jason Merrill  <jason@yorick.cygnus.com>
7837
7838         * dwarf2out.c (add_incomplete_type): New fn.
7839         (gen_struct_or_union_type_die): Call it.
7840         (retry_incomplete_types): New fn.
7841         (dwarf2out_finish): Call it.
7842
7843 Thu Jun  3 01:19:03 1999  Jeffrey A Law  (law@cygnus.com)
7844
7845         * gcse.c (insert_insn_end_bb): Correct placement of insns when the
7846         current block starts with a CODE_LABEL and ends with a CALL and
7847         we can not find all the argument setup instructions for the CALL.
7848
7849 Wed Jun  2 15:44:15 1999  Mark Mitchell <mark@codesourcery.com>
7850
7851         Revert this change:
7852         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
7853         something is a candidate for optimize_bit_field_compare.
7854
7855 Wed Jun  2 21:53:05 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
7856
7857         * sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
7858
7859 Wed Jun  2 12:25:55 1999  Richard Henderson  <rth@cygnus.com>
7860
7861         * alpha.c (override_options): Thinko in last patch.
7862
7863         * alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
7864         (LIB_SPEC): Recognize -pthread.
7865
7866 Wed Jun  2 08:42:55 1999  Nick Clifton  <nickc@cygnus.com>
7867
7868         * config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronise with
7869         definition in config/arm/coff.h
7870         * config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
7871
7872 Wed Jun  2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
7873
7874         * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
7875         fixes that need "file=xxx\n" prepended before invocation
7876         (start_fixer - new): starting the fixer process is complex enough
7877         to warrent its own routine.  It prepends the "file=xxx\n" stuff.
7878         (process): uses the new routine; omit usage of putenv()
7879         * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
7880         * fixinc/fixincl.x: regenerate
7881
7882 Wed Jun  2 02:29:07 1999  Jeffrey A Law  (law@cygnus.com)
7883
7884         * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
7885         and version #s (1.1 -> 2.96) as needed.
7886         * README.g77: Kill way out of date file in the toplevel directory.
7887
7888 Wed Jun  2 00:52:34 1999  David O'Brien <obrien@FreeBSD.org>
7889
7890         * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
7891         i386/freebsd-elf.h no longer requires it.  Instead include svr4.h.
7892         * configure: Rebuilt.
7893         * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
7894         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
7895         (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
7896         (SWITCH_TAKES_ARG): Likewise.
7897         * i386/freebsd.h: Remove FREEBSD_NATIVE support.
7898         * config/t-freebsd: Moved from config/i386/ so it can used for all
7899         FreeBSD targets.
7900
7901 Mon May 31 02:22:55 1999  Philippe De Muyter  <phdm@macqel.be>
7902
7903         * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
7904
7905 Wed Jun  2 00:08:34 1999  Robert Lipe  <robertlipe@usa.net>
7906
7907         * configure.in (i[34567]86-*-udk*): Install headers with cpio.
7908         * configure: Rebuilt.
7909
7910 Tue Jun  1 19:06:22 1999  David Edelsohn  <edelsohn@gnu.org>
7911
7912         * rs6000/aix41.h (RS6000_CALL_GLUE): Define.
7913         * rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
7914         * rs6000/rs6000.c (rs6000_file_start): Use putc.
7915         (rs6000_output_load_toc_table): Same.
7916         (output_prolog, output_mi_thunk): Same.
7917         * rs6000/rs6000.h (SELECT_SECTION): Formatting.
7918         (ASM_GLOBALIZE_LABEL): Use putc.
7919
7920 Mon May 31 15:23:23 1999  Richard Henderson  <rth@cygnus.com>
7921
7922         * alpha.md (reload_*_help): New patterns and splitters.
7923         (reload_*): Use them.
7924         (mov[qh]i): Likewise.
7925
7926 Mon May 31 11:48:07 1999  Mark Mitchell  <mark@codesourcery.com>
7927
7928         * cccp.c (handle_directive): Handle backslash-newlines in quoted
7929         strings correctly.
7930
7931 Mon May 31 09:36:11 1999  Cort Dougan  <cort@cs.nmt.edu>
7932
7933         * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
7934
7935 Mon May 31 11:40:20 EDT 1999  John Wehle  (john@feith.com)
7936
7937         * flow.c (mark_regs_live_at_end, insn_dead_p,
7938         mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
7939         and HARD_FRAME_POINTER_REGNUM special treatment if reload
7940         hasn't run or the frame pointer is needed.
7941         * haifa-sched.c (attach_deaths): Likewise.
7942         * sched.c (attach_deaths): Likewise.
7943
7944 Mon May 31 00:46:17 1999  Jeffrey A Law  (law@cygnus.com)
7945
7946         * jump.c (jump_optimize_1): Only set CAN_REACH_END if
7947         calculate_can_reach_end returns nonzero.
7948
7949         * configure.in (native gas tests): Search for an assembler in the
7950         same manner that the installed compiler will.
7951         * configure: Rebuilt.
7952         * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
7953
7954         * alias.c (find_base_term): Improve handling of addresses
7955         constructed from binary operations.
7956
7957 Sun May 30 14:29:17 1999  Eric Raskin (ehr@listworks.com)
7958
7959         * dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
7960
7961 Sun May 30 14:19:13 1999  Jeffrey A Law  (law@cygnus.com)
7962
7963         * function.h (cleanup_label, frame_offset): Declare.
7964         (tail_recursion_label, tail_recursion_reentry): Likewise.
7965         (arg_pointer_save_area, rtl_expr_chain): Likewise.
7966         * stmt.c (cleanup_label, frame_offset): Delete extern declarations.
7967         (tail_recursion_label, tail_recursion_reentry): Likewise.
7968         (arg_pointer_save_area, rtl_expr_chain): Likewise.
7969
7970 Sat May 29 19:08:10 1999  Philip Blundell  <philb@gnu.org>
7971
7972         * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already
7973         defined.
7974         * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
7975         (MAX_OFILE_ALIGNMENT): Define.
7976
7977 Fri May 28 21:40 1999  Robert Lipe <robertlipe@usa.net>
7978
7979         * fixincl.c: Replace local include scheme with #includes of
7980         gansidecl.h and system.h.
7981         * procopen.c:  Likewise.
7982         * server.c:  Likewise.
7983
7984 Fri May 28 03:47:03 1999  Eric Raskin (ehr@listworks.com)
7985
7986         * i386/t-dgux (EXTRA_PARTS): Add crti.o
7987         (crti.o): Add build rule and dependencies.
7988         * fixinc/fixinc.dgux:  Use modified _int_varargs.h
7989
7990 Fri May 28 03:41:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7991
7992         * rs6000/sysv4.h (CC1_SPEC): Add support for -profile
7993         (LIB_LINUX_SPEC): Likewise.
7994         (LIB_LINUX_SPEC): Add support for -pthread
7995         (CPP_OS_LINUX_SPEC): Likewise.
7996         (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
7997         specified.
7998
7999 Thu May 27 13:04:52 1999  H.J. Lu  (hjl@gnu.org)
8000
8001         * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
8002         conditional move.
8003         (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
8004         (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
8005         for IEEE math and CC_FCOMI.
8006         (put_jump_code): No IEEE if CC_FCOMI is set.
8007
8008 1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
8009
8010         * fold-const.c (fold_truthop): Make the field reference unsigned
8011         when converting a single bit compare.
8012
8013 Thu May 27 02:40:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
8014
8015         * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
8016
8017 Thu May 27 02:09:27 1999  Jeffrey A Law  (law@cygnus.com)
8018
8019         * varasm.c (STRIP_NAME_ENCODING): Remove default definition.
8020         * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
8021         version did.
8022
8023         * reload.c (push_reload): Do not call remove_address_replacements
8024         when presented with identical optional reloads.
8025
8026 Wed May 26 14:18:05 1999  Richard Henderson  <rth@cygnus.com>
8027
8028         * alpha.h (MASK_FIX, TARGET_FIX): New.
8029         (MASK_*): Reorganize constants.
8030         (CPP_AM_FIX_SPEC): New.
8031         (TARGET_SWITCHES): Add FIX.
8032         (EXTRA_SPECS): Likewise.
8033         (CPP_CPU_EV6_SPEC): Use FIX, not CIX.
8034         (SECONDARY_MEMORY_NEEDED): Likewise.
8035         (REGISTER_MOVE_COST): Likewise.
8036         * alpha.c (override_options): Add FIX support.  Always use
8037         ALPHA_TP_PROG for ev6.
8038         * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
8039         * alpha/elf.h (ASM_FILE_START): Look at FIX too.
8040         * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
8041
8042 Wed May 26 09:53:05 1999  Mark Mitchell  <mark@codesourcery.com>
8043
8044         * fold-const.c (fold): STRIP_NOPS when deciding whether or not
8045         something is a candidate for optimize_bit_field_compare.
8046
8047 Wed May 26 09:40:02 1999  Mark Mitchell  <mark@codesourcery.com>
8048
8049         * gcc.texi (Passes): Document branch-shortening.
8050         * invoke.texi (Debugging Options): Document the fact that `-dp'
8051         outputs length information for instructions.
8052
8053 Wed May 26 08:49:31 1999  Nick Clifton  <nickc@cygnus.com>
8054
8055         * flow.c: Revert previous delta.
8056
8057 Wed May 26 06:05:10 1999  Nick Clifton  <nickc@cygnus.com>
8058
8059         * flow.c (insn_dead_p): Check against frame_pointer_rtx not
8060         FRAME_POINTER_REGNUM.
8061         (mark_set_1): Ditto.
8062         (mark_used_regs): Ditto.
8063
8064 Wed May 26 02:19:31 1999  Philip Blundell  <pb@nexus.co.uk>
8065
8066         * arm.h (NEED_PLT_GOT): Fix mistake in last change.
8067         (GOT_PCREL): New macro.  Define to 1 if not already defined.
8068         * arm/elf.h (GOT_PCREL): Define to 0.
8069         * arm.c (arm_finalize_pic): Take into account the setting of
8070         GOT_PCREL.
8071
8072 Tue May 25 14:06:06 1999  Jeffrey A Law  (law@cygnus.com)
8073
8074         * output.h (STRIP_NAME_ENCODING): Provide default definition.
8075         * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
8076
8077         * flow.c (mark_set_1): Do not record BLKmode stores as dead
8078         store elimination candidates.
8079
8080 Tue May 25 08:55:57 1999  Gavin Romig-Koch  <gavin@cygnus.com>
8081
8082         * config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if
8083         TARGET_GAS.
8084
8085 Mon May 24 20:30:08 1999  Jim Wilson  <wilson@cygnus.com>
8086
8087         * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
8088         Add use of x-aix41-gld.
8089
8090 Mon May 24 16:44:09 1999  Jakub Jelinek  <jj@ultra.linux.cz>
8091
8092         * sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
8093         (ASM_OUTPUT_DESTRUCTOR): Define.
8094
8095 Mon May 24 14:35:24 1999  Jeffrey A Law  (law@cygnus.com)
8096
8097         * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
8098         last CODE_LABEL in a loop if we have previously passed a jump
8099         to the top of the loop.
8100
8101 Mon May 24 07:56:29 1999  Nick Clifton  <nickc@cygnus.com>
8102
8103         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
8104         applying Philip's patch.
8105
8106 Mon May 24 01:02:12 1999  Mark Mitchell  <mark@codesourcery.com>
8107
8108         * stmt.c (expand_end_bindings): Ignore any elements of VARS that
8109         are not VAR_DECLs.
8110
8111 Sun May 23 20:31:16 1999  Jeffrey A Law  (law@cygnus.com)
8112
8113         * loop.c (strength_reduce): Grow reg_single_usage as needed.
8114
8115 Sun May 23 10:13:20 1999  David O'Brien <obrien@FreeBSD.org>
8116
8117         * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
8118         Also remove a useless comment.
8119
8120 Sun May 23 10:05:23 1999  Jerry Quinn <jquinn@nortelnetworks.com>
8121
8122         * pa.md (negdf2,negsf2):  Use fneg instead of fsub on pa 2.0.
8123
8124 Sat May 22 21:02:06 1999  David Edelsohn  <edelsohn@gnu.org>
8125
8126         * collect2.c (main): Only generate import or export file and add
8127         to link arguments if non-empty.  Use xmalloc not alloca.
8128         (write_{export,import}_file): Delete.
8129         (write_aix_file): New function.
8130         (locatelib): Use xmalloc not malloc.
8131         (GCC_OK_SYMBOL): Do not check type if aix64.
8132
8133 Sat May 22 09:35:51 1999  Philip Blundell  <pb@nexus.co.uk>
8134
8135         Based on patch by Scott Bambrough and Pat Beirne:
8136         * config/arm/arm.c (making_const_table): New variable.
8137         * config/arm/arm.h (making_const_table): Declare.
8138         (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
8139         appropriate.
8140         * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
8141         Keep track of when we are building the constant table.
8142
8143 Sat May 22 09:34:22 1999  Philip Blundell  <pb@nexus.co.uk>
8144
8145         * config/arm/arm.c (arm_override_options): Fix erroneous warning
8146         message.
8147
8148 Sat May 22 09:06:33 1999  Nick Clifton  <nickc@cygnus.com>
8149
8150         * config/arm/arm.h (NEED_PLT_GOT): Only define if not already
8151         defined.
8152
8153 Sat May 22 07:17:05 1999  Nick Clifton  <nickc@cygnus.com>
8154
8155         * tm.texi (FUNCTION_ARG): Correct description of a stack element
8156         in a PARALLEL.
8157
8158 Sat May 22 01:27:49 1999  Mark Mitchell  <mark@codesourcery.com>
8159
8160         * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
8161
8162 Fri May 21 21:19:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8163
8164         * rs6000.c (output_mi_thunk): Enable full support again.
8165
8166 Fri May 21 20:09:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
8167
8168         * sh.h (BRANCH_COST): Define.
8169
8170 Thu May 20 10:00:42 1999   Stephen L Moshier  <moshier@world.std.com>
8171
8172         * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
8173
8174 Thu May 20 09:58:57 1999  Jan Hubicka <hubicka@freesoft.cz>
8175
8176         * function.c (assign_stack_local): Align stack slot propertly.
8177         (assign_outer_stack_local): Likewise.
8178
8179 Thu May 20 10:38:43 1999  Mark Mitchell  <mark@codesourcery.com>
8180
8181         * expr.h (lang_expand_constant): Declare.
8182         * toplev.c (lang_expand_constant): Define it.
8183         * varasm.c (output_constant): Use it.
8184
8185 Thu May 20 11:28:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8186
8187         * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
8188         Change function definitions to K&R style.
8189
8190 Thu May 20 08:16:39 1999  Bruce Korb <ddsinc09@ix.netcom.com>
8191
8192         * fixinc/fixincl.c: We must not ignore SIGCLD now.
8193
8194 Thu May 20 07:06:39 1999  Alexandre Oliva  <aoliva@acm.org>
8195
8196         * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
8197         * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
8198         (several places): omit static initialization
8199         (process): use single fd, since only the read fd is used
8200         * fixinc/gnu-regex.c: define 'const' away, if not supported
8201         * fixinc/procopen.c(several places): omit static initialization
8202         * fixinc/server.c: define 'volitile' away, if not supported
8203
8204 1999-05-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
8205
8206         * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
8207         asm_fprintf and %L to generate the label name.
8208         * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
8209         (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
8210
8211 Thu May 20 01:40:55 1999  Jeffrey A Law  (law@cygnus.com)
8212
8213         * jump.c (can_reverse_comparison_p): Do not abort if the comparison
8214         insn for a conditional jump can not be found.
8215
8216 Wed May 19 23:58:58 1999  Jeffrey A Law  (law@cygnus.com)
8217
8218         * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
8219         on variables in specific sections other than .sbss and .sdata.
8220
8221 Wed May 19 03:56:56 1999  Mark Mitchell  <mark@codesourcery.com>
8222
8223         * stmt.c (expand_return): Call start_cleanup_deferral and
8224         end_cleanup_deferral around conditional code.
8225
8226 Wed May 19 08:40:08 1999  Bruce Korb <ddsinc09@ix.netcom.com>
8227
8228         * fixinc/fixincl.tpl: Avoid depending on ANSI C features for
8229         filename lists.  Utilizes new "krstr" AutoGen function.
8230         * fixinc/fixincl.x: Rebuilt.
8231
8232 Wed May 19 02:47:11 1999  Jan Hubicka  (hubicka@freesoft.cz)
8233
8234         * i386.c (output_float_compare): Avoid GNU-C extensions.
8235
8236 Wed May 19 00:34:40 1999  Jeffrey A Law  (law@cygnus.com)
8237
8238         * version.c: Bump to distinguish mainline tree from the
8239         gcc-2.95 branch.
8240
8241 See ChangeLog.1 for earlier changes.
8242
8243 Local Variables:
8244 add-log-time-format: current-time-string
8245 End: