OSDN Git Service

10717823d7024d8e56ec2e5c201f23914061ac8e
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * extend.texi: Clarify documentation of extensions included in ISO
4         C99.  Prefer C99 terminology and syntax to old GNU terminology and
5         syntax.  Add more index entries.  Document mixed declarations and
6         code as an extension in C89 mode.  Warn about future changes to
7         semantics of inline functions.  Fixes PR other/930.
8
9 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10
11         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
12         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
13         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
14         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
15
16         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
17
18 2001-05-20  Richard Henderson  <rth@redhat.com>
19
20         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
21         to be output before a branch.
22
23 2001-05-20  Richard Henderson  <rth@redhat.com>
24
25         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
26
27 2001-05-20  Richard Henderson  <rth@redhat.com>
28
29         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
30         (ASM_DOUBLE): Remove.
31         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
32         * config/i386/sun386.h: Likewise.
33
34         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
35         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
36         
37         * config/i386/cygwin.h (INT_ASM_OP): Remove.
38         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
39         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
40         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
41         
42         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
43         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
44         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
45         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
46         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
47         * config/i386/win32.h: Likewise.
48
49 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
50
51         * invoke.texi: Add more options to summary list.
52
53 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
54
55         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
56         used.  Fixes PR c/2291.
57         * gcc.1: Regenerate.
58
59 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
60
61         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
62         the -fpic and -fPIC options, clear flag_pic.
63
64 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
65
66         * hashtable.c (calc_hash): Fix HASHSTEP definition.
67         * stringpool.c (make_identifier): No statistics here anymore.
68         * objc-act.c (steup_string_decl): Remove redundant check.
69
70 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
71
72         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
73         cpplib.o, cpphash.o, fix-header): Update.
74         (hashtable.o): New target.
75         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
76         struct c_common_identifier here.
77         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
78         * c-lex.c (c_lex): Update.
79         * c-pragma.h: Update.
80         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
81         Delete rid_code.
82         (C_RID_CODE): Delete.
83         * cpphash.c: Rewrite to use hashtable.c.
84         * cpphash.h: Update include guards.
85         (struct cpp_reader): Remove hashtab.
86         hash_ob and buffer_ob are no longer pointers.  Add hash_table
87         and our_hashtable.
88         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
89         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
90         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
91         * cppinit.c (cpp_create_reader): Update.
92         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
93         (cpp_interpret_charconst): Eliminate warning.
94         * cpplib.c (do_pragma, do_endif, push_conditional,
95         cpp_push_buffer, cpp_pop_buffer): Update.
96         (_cpp_init_stacks): Rename cpp_init_directives.
97         (_cpp_cleanup_stacks): Remove.
98         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
99         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
100          cpp_forall_identifiers, cpp_create_reader): Update.
101         (C_RID_CODE, cpp_make_node): New.
102         (c_common_identifier): New identifier node for C front ends.
103         * cppmain.c (main): Update.
104         * fix-header.c (read_scan_file): Update.
105         * flags.h (id_clash_len): Make unsigned.
106         * ggc.h (ggc_mark_nonnull_tree): New.
107         * hashtable.c: New.
108         * hashtable.h: New.
109         * stringpool.c: Update comments and copyright.  Update to use
110         hashtable.c.
111         * toplev.c (approx_sqrt): Move to hashtable.c.
112         (id_clash_len): Make unsigned.
113         * toplev.h (ident_hash): New.
114         * tree.c (gcc_obstack_init): Move to hashtable.c.
115         * tree.h: Include hashtable.h.
116         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
117         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
118         (struct tree_identifier): Update.
119         (make_identifier): New.
120 cp:
121         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
122         (C_RID_CODE): Remove.
123         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
124         (init_parse): Don't do it here.
125 objc:
126         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
127
128 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
129
130         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
131         as ncessary.
132         (expand_eh_return): Convert between word_mode and Pmode.
133         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
134         are the same size.
135         (execute_stack_op): Likewise.
136         (execute_cfa_program): Likewise.
137         (uw_frame_state_for): Likewise.
138         (uw_update_context_1): Likewise.
139         * unwind.inc (_Unwind_Reason_Code): Likewise.
140         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
141         (EH_RETURN_STACKADJ_RTX): Likewise.
142         * config/mips/mips.c (compute_frame_size): Make space for saving
143         EH return registers.
144         (mips_expand_epilogue): Handle EH stack adjustments.
145         * config/mips/mips.md (eh_return): New pattern.
146         (eh_set_lr_si): Likewise.
147         (eh_set_lr_di): Likewise.
148         Add splitter to perform EH return after reload.
149                 
150 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
151
152         * jump.c (mark_jump_label): Tidy previous change.
153
154 2001-05-19  Bruce Korb  <bkorb@gnu.org>
155
156         * fixinc/genfixes: no need for two warnings
157         * fixinc/Makefile.in: open stdin for those building with a closed one.
158
159 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
160
161         * jump.c (jump_optimize_1): Tidy.
162         (mark_jump_label): When changing the label in a LABEL_REF, change
163         update any REG_EQUAL notes as well.
164
165 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
166
167         * c-parse.in (parm_declarator): Split into
168         parm_declarator_starttypename and parm_declarator_nostarttypename.
169         (parm_declarator_starttypename, parm_declarator_nostarttypename):
170         New.  Allow parenthesised sub-declarators which don't begin with a
171         TYPENAME.  Fixes PR c/166.
172
173 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
174
175         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
176         macro.
177         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
178         Document it.
179         * toplev.c (main): If the target does not allow profiling without
180         a frame pointer, issue an error message.
181         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): 
182         Define it to false.
183         
184 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
185
186         * recog.c (general_operand): Modify last change to allow it if reload
187         has completed.
188
189 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
190
191         * recog.c (general_operand): Prohibit nonzero subreg bytes on
192         subregs containing mem.
193
194 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
195
196         * regrename.c (regrename_optimize): frame pointer register can
197         use a few hardregs.
198
199 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
200
201         * README.DWARF: Move into dwarfout.c.
202
203 2001-05-18  Dale Johannesen  <dalej@apple.com>
204
205         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
206         specific misuse of r0 as a reload address.
207
208 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
209
210         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
211         suceeded.
212
213 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
214
215         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
216         (add_to_sequence): Make that decision type.
217         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
218         (write_switch, write_cond, debug_decision_2): Likewise.
219
220         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
221         for INTEGER_TYPE.
222         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
223         variable size.
224
225 2001-05-18  Stan Shebs  <shebs@apple.com>
226
227         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
228         * configure: Regenerate.
229
230 2001-05-18  Per Bothner  <per@bothner.com>
231
232         Changes needed for java/jvspec.c
233         * gcc.h (n_infiles, outfiles):  Add declarations.
234         * gcc.c (n_infiles, outfiles):  Mske no longer static.
235
236 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
237
238         * config/pa/som.h (EXCEPTION_SECTION): Define.
239
240 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
241
242         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
243         list.
244         Add have_location_lists, a variable to determine whether we need a
245         .debug_loc section or not.
246         (enum dw_val_class): Add dw_val_class_loc_list.
247         (dw_val_struct): Add val_loc_list.
248         (dw_loc_list_struct): New structure, represents location lists.
249         (new_loc_list): New function, return a new location list, given
250         the range and location expression.
251         (add_loc_descr_to_loc_list): New function, add a location
252         expression to a location list, given the expression and range.
253         (output_loc_list): New function, output a location list.
254         (gen_internal_sym): Modified to take symbol prefix, so we can
255         reuse it for location list symbols.
256         (add_AT_loc_list): New function, add a location list to a DIE at
257         the named attribute.
258         (AT_loc_list): New function, return the location list reference
259         for a given attribute, if it's a location list.
260         (print_die): Handle dw_val_class_loc_list.
261         (size_of_die): Ditto.
262         (value_format): Ditto.
263         (output_die): Ditto.
264         (output_location_lists): New function, output all of the location
265         lists for a DIE and it's children.
266         (dwarf2out_finish): Call output_location_lists if we have location
267         lists.
268
269
270 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
271
272         * gcse.c (try_replace_reg): First try global replace, later try to
273         simplify the expression.
274
275         * gcse.c (find_used_regs): Change calling convention; work via
276         note_uses.
277         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
278
279 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
280
281         Revert
282         2001-02-09  Nick Clifton  <nickc@redhat.com>
283         * config/arm/arm.md: Change output constraint on post inc
284         load/store multiple patterns to be a read/write constraint.
285
286 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
287
288         * basic-block.h (struct basic_block_def): Add documentation about
289         what a basic block is, and what the various fields are used for.
290         * flow.c (calculate_globlal_regs_live): Add documentation about
291         how the algorithm works, and how we know that it will terminate.
292         Check that the the inductive assumption that guarantees
293         termination actually holds.
294         (mark_used_regs): Treat conditionally set registers as used.
295         (debug_regset): Add comment.
296         * rtl.texi (cond_exec): Add documentation.
297
298         * function.c (expand_function_start): Avoid creating BLKmode
299         pseudos.
300
301 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
302
303         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
304         DIE, even if it has no children.
305         (dwarf2out_finish): Always output the line-number table, even if
306         it has no content.
307
308 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
309
310         * rs6000.md (movsfcc,movdfcc): Remove NE case.
311
312 2001-05-17  Bruce Korb <bkorb@gnu.org>
313
314         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
315         * fixinc/genfixes: emit a warning if AutoGen is out of date
316
317 2001-05-17  Brendan Conoboy <blc@cygnus.com>
318             Bruce Korb <bkorb@gnu.org>
319
320         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
321         found in fixinc directory.  Facilitates binary distributions.
322
323 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
324
325         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
326         COMPLEX_TYPE.
327
328 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
329
330         * dwarf2out.c (modified_type_die): Equate qualified type to die.
331
332 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
333
334         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
335         (simplify_subreg): Handle complex types represented as CONCAT.
336
337         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
338         * rtl.h (swap_commutative_operands_p): Declare.
339         * rtlanal.c (swap_commutative_operands_p): New.
340         (operand_preference): New static function.
341
342         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
343         (gen_binary): Likewise.
344         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
345         * simplify-rtx.c (simplify_gen_binary,
346         simplify_gen_relational): Likewise.
347
348 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
349
350         * cse.c (fold_rtx): Use simplify_subreg.
351
352         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
353         (simplify_gen_subreg): New.
354         (simplify_rtx): Use simplify_subreg.
355         * rtl.h (simplify_gen_subreg): Declare.
356
357 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
358
359         * doc/install.texi: Update Solaris information.
360
361         * except.h (protect_cleanup_actions): Remove it.
362         (lang_protect_cleanup_actions): Declare it.
363         * except.c (protect_cleanup_actions): Remove it.
364         (lang_protect_cleanup_actions): New variable.
365         (init_eh): Don't make protect_cleanup_actions a GC root.
366         (expand_eh_region_and_cleanup): Call
367         lang_protect_cleanup_actions.
368         (output_function_exception_table): Remove unused `align'
369         variable.
370         * varasm.c (assemble_external): Abort if we have not yet
371         opened the assembly output file.
372         
373 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
374
375         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
376         for eh_personality_libfunc.
377
378 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
379
380         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
381         when calling simplify_subreg.  This is needed to allow replacing
382         of expression of one mode by expression of different mode.
383
384 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
385
386         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
387
388 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
389
390         * expr.c (protect_from_queue): Protect against subsequent calls to
391         emit_queue.
392         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
393         too clever.
394
395 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
396
397         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
398
399 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
400
401         * gccbug.in (CATEGORIES): Add "bootstrap".
402
403 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
404
405         * simplify-rtx.c (simplify_subreg): Break out from ...
406         * combine.c (combine_splify_rtx) ... here and ...
407         * recog.c (validate_replace_rtx_1): ... here;
408         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
409         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
410         (subreg_lowpart_p): ... here.
411
412 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
413
414         * stmt.c (expand_asm_operands): For inout operands, make sure
415         the substitution of '=' for '+' makes it into the rtl.
416
417         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
418         (reload_as_needed): Call update_eliminable_offsets a bit later.
419
420 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
421
422         * gcc.texi (gccbug): Refer to the web pages for detailed information
423         on GNATS.
424
425 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
426
427         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
428
429         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
430         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
431         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
432         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
433         * cross-make: Don't set LIBGCC1.
434         * mklibgcc.in: Delete all code for building from libgcc1.c.
435         Always honor LIB1ASMFUNCS if set.
436
437         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
438         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
439         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
440         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
441         config/i386/uwin.asm, config/m68hc11/larith.asm,
442         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
443         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
444         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
445         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
446         Delete or update references to libgcc1 in commentary.
447
448         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
449         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
450         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
451         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
452         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
453         config/arm/t-semi, config/arm/t-strongarm-coff,
454         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
455         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
456         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
457         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
458         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
459         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
460         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
461         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
462         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
463         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
464         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
465         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
466         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
467         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
468         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
469         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
470         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
471         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
472         config/mips/t-ultrix, config/mn10200/t-mn10200,
473         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
474         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
475         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
476         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
477         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
478         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
479         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
480         config/sparc/t-sparclite, config/sparc/t-splet,
481         config/sparc/t-sunos41, config/sparc/t-vxsparc,
482         config/sparc/t-vxsparc64, config/v850/t-v850:
483         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
484
485         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h: 
486         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
487         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
488         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
489         nongcc_SI_type, nongcc_word_type, or perform_*
490         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
491
492         * config/i386/386bsd.h, config/i386/beos-elf.h,
493         config/i386/linux-aout.h, config/i386/linux-oldld.h,
494         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
495         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
496         Don't include i386/perform.h.
497
498         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
499         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
500         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
501         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
502         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
503         config/vax/t-openbsd, config/vax/t-vax: Delete.
504
505         * config.gcc: Remove references to deleted files.
506         (arm-semi-aof): Use arm/t-semi for tmake_file.
507
508         * gcc.texi, install.texi, invoke.texi, tm.texi:
509         Delete or rewrite text which is no longer relevant now that
510         libgcc1 no longer exists.
511
512         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
513         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
514
515 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
516         Bruce Korb <bkorb@gnu.org>
517
518         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
519         initializer
520
521 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
522
523         * i386.md: Add two peepholes to clean up code generated by
524         cmpstr* expanders.
525
526 2001-05-16  Richard Henderson  <rth@redhat.com>
527
528         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size" 
529         variants of non-absolute encodings.
530
531         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
532
533         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
534         __register_frame_info_table_bases): Export.
535
536 2001-05-16  Richard Henderson  <rth@redhat.com>
537
538         * except.c (eh_data_format_name): Move to ...
539         * dwarf2asm.c: ... here.  Use designated initializers if available.
540         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
541         * dwarf2asm.h: Update declarations.
542         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
543         ASM_PREFERRED_EH_DATA_FORMAT.
544         (output_call_frame_info): Likewise.  Use 'L' augmentation for
545         the LSDA encoding.
546
547         * unwind-dw2-fde.h (struct fde_vector): New.
548         (struct old_object): Rename from struct object.
549         (struct object): New.
550         (__register_frame_info_bases): Declare.
551         (__register_frame_info_table_bases): Declare.
552         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
553         * unwind-dw2-fde.c (objects): Remove.
554         (unseen_objects, seen_objects): New.
555         (__register_frame_info_bases): New.
556         (__register_frame_info): Use it.
557         (__register_frame_info_table_bases): New.
558         (__register_frame_info_table): Use it.
559         (__deregister_frame_info): Rewrite for changed object struct.
560         (base_from_object, get_cie_encoding, get_fde_encoding): New.
561         (fde_unencoded_compare): Rename from fde_compare; uninline.
562         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
563         (start_fde_sort): Adjust for new definition of fde_vector.
564         (fde_insert): Likewise.
565         (end_fde_sort): Likewise.  Select comparison function based
566         on properties of the object.
567         (fde_split): Take object and fde_compare_t arguments.
568         (frame_heapsort, fde_merge): Likewise.
569         (classify_object_over_fdes): Rename from count_fdes.  Handle
570         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
571         for the object.
572         (add_fdes): Handle encoded pointers.
573         (init_object): Rename from frame_init.  Update for new struct object.
574         (linear_search_fdes): Rename from search_fdes.  Handle encoded
575         pointers.
576         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
577         (binary_search_single_encoding_fdes): New.
578         (binary_search_mixed_encoding_fdes): New.
579         (search_object): New.
580         (_Unwind_Find_FDE): Update for new struct object.  Fill in
581         the dwarf_eh_bases.
582         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
583         iterating over EH data.
584         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
585         fde_encoding, lsda_encoding.
586         (read_uleb128, read_sleb128): Remove.
587         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
588         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
589         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
590         pointers.
591         * unwind-pe.h: Add "struct" to _Unwind_Context references.
592
593 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
594
595         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
596         * cpphash.c (_cpp_lookup_with_hash): Similarly.
597         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
598         cpp_spell_token, cpp_output_token): Similarly.
599         * cpplib.c (lex_macro_node, do_undef, do_pragma,
600         do_pragma_poison, parse_assertion, do_assert): Similarly.
601         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
602         save_parameter, _cpp_create_definition, check_trad_stringification,
603         cpp_macro_definition): Similarly.
604         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
605         * c-lex.c (cb_undef, c_lex): Similarly.
606         * fix-header.c (recognized_function): Similarly.
607         * cpplib.h (NODE_LEN, NODE_NAME): New.
608         (cpp_hashnode): Rename length len.
609
610 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
611
612         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
613         GPRs.
614
615 2001-05-16  Andreas Jaeger  <aj@suse.de>
616
617         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
618
619         * toplev.c: Include dwarf2asm.h for prototype of
620         dw2_output_indirect_constants.
621
622 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
623
624         * stmt.c (expand_asm_operands): Be able to offload addressof
625         expression to memory. (PR optimization/185)
626
627 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
628
629         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
630         applying distributive law.
631
632 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
633
634         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
635
636         * gthr-dce.h (UNUSED): Attribute unused macro.
637         (__gthread_key_dtor): Make arguments UNUSED.
638         (__gthread_key_delete): Revise for compatibility with DRAFT4
639         implementation.
640
641 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
642
643         * doc/install.texi: Update AIX information.
644         * README.RS6000: Remove obsolete file.
645
646 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
647             Nathan Sidwell  <nathan@codesourcery.com>
648
649         * gcc.c (give_switch): Don't write before start of string.
650         Always append suffix.
651
652 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
653
654         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
655         after stage3.
656
657 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
658
659         * README.ALTOS: Remove obsolete file.
660
661 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
662
663         * c-lex.h (save_and_forget_protocol_qualifiers,
664         forget_protocol_qualifiers, remember_protocol_qualifiers):
665         Remove deleted functions' prototypes.
666
667 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
668
669         * c-parse.in (methodtype): New production.
670         (methoddef, methodproto): Collapse separate '-' and '+'
671         handlers into 1.
672
673 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
674
675         * c-common.h (RID_FIRST_PQ): New.
676         * c-parse.in (objc_pq_context): New.
677         (objc parser): Set objc_pq_context rather than calling
678         remember_protocol_qualifiers and forget_protocol_qualifiers.
679         Don't call save_and_forget_protocol_qualifiers.
680         (yylexname): Handle objc protocol qualifiers here.
681         * stringpool.c (struct str_header): Replace with sp_hashnode.
682         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
683         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
684         Allocate an IDENTIFIER_NODE for each identifier.
685         (FORALL_STRINGS, set_identifier): Delete.
686         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
687         (ggc_alloc_string): Use an obstack.
688         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
689         * tree.h: Update comments.
690         (set_identifier): Delete.
691         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
692         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
693         remember_protocol_qualifiers): Delete.
694
695 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
696
697         * flow.c (life_analysis): After life analysis is complete, do
698         an optional scan over insns looking for REG_LABEL notes that
699         reference a deleted label.
700         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
701         before peeking at LABEL_NUSES.
702
703 2001-05-15  Richard Henderson  <rth@redhat.com>
704
705         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
706         (_Unwind_GetTextRelBase): New.
707
708 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
709
710         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
711
712 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
713
714         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
715         so that CHOOSE_SECTION gets used.
716
717         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
718         TARGET_RELOCATABLE like flag_pic for now.
719
720 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
721
722         * rs6000.md (movdi splitter): Sign extend more efficiently.
723         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
724         to "long long" valid on 32-bit and 64-bit hosts.
725         (logical_operand): Cast trunc_int_for_mode return value.
726         (rs6000_emit_move): Shift macro to encapsulate variable.
727         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
728         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
729         plus_constant requires signed argument.
730
731 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
732
733         * gthr-posix.h: Make additional pthread-* functions weak.
734
735 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
736
737         * recog.c (apply_change_group): Avoid unneeded validating.
738
739 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
740
741         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
742         (num_insns_constant): CONST_INT can be 64-bits.
743
744 2001-05-14  Stan Shebs  <shebs@apple.com>
745
746         * config/darwin.h (LIB_SPEC): Just use -lSystem.
747         (LIBGCC_SPEC): Don't define.
748
749 2001-05-14  Richard Henderson  <rth@redhat.com>
750
751         * configure.in (gcc_cv_as_eh_frame): New test.
752         * config.in, configure: Rebuild.
753         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
754
755 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
756
757         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
758         extended precision divide.
759
760 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
761
762         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
763         for RETURNS as well.
764
765 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
766
767         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
768         (CPP_CPU??_SIZE_TYPE): New.
769         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
770         (CPP_CPU_SPEC): ... here; support choosing of CPU.
771         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
772         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
773         compiler.
774         * i386.c (override_options): Add sorry about not suported modes.
775
776 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
777
778         * config/pa/som.h (NM_FLAGS): Remove.
779         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
780         (ASM_OUTPUT_SECTION_NAME): Remove.
781         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
782
783 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
784
785         * regrename.c (regrename_optimize): Do not rename registers to
786         leaf registers.
787
788 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
789
790         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
791         contain MEMs.  Remove useless distinction about clobbering
792         registers.
793
794 2001-05-13  Geoff Keating  <geoffk@redhat.com>
795
796         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
797         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
798         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
799         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
800         (EXCEPTION_SECTION): Define.
801
802 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
803
804         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
805         binary backward compat only.
806         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
807         in LIB2FUNCS.  Pass it to mklibgcc.
808         * mklibgcc.in: Handle LIB2FUNCS_ST.
809
810         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
811
812 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
813
814         * tm.texi (THREAD_MODEL_SPEC): Document it.
815         * gcc.c (main): Use it.
816         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
817         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
818
819 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
820
821         * rtl.h (SYMBOL_REF_WEAK): New macro.
822         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
823         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
824         * rtl.texi (SYMBOL_REF_WEAK): Document it.
825         * gcc.texi: Remove wrong description.
826
827 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
828
829         * Makefile.in (STAMP): New macro.
830         Replace all uses of `touch' with $(STAMP).
831         * fixinc/Makefile.in: Likewise.
832
833 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
834
835         * configure.in: ldopen is never in -lexc, so don't test for it.
836         Add test for exc_resume in -lexc for Ada.
837         * configure: Regenerated.
838
839 2001-05-12  Richard Henderson  <rth@redhat.com>
840
841         * dwarf2asm.c (size_of_encoded_value): New function.
842         * dwarf2asm.h: Declare it.
843         * except.c (output_function_exception_table): Align the TType
844         array only as wide as the encoding.
845
846 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
847
848         * extend.texi: Document #pragma GCC java_exceptions.
849
850 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
851
852         * c-parse.in (bison parser, init_reswords): Remove uses of
853         doing_objc_thang.
854         * c-tree.h (doing_objc_thang): Remove.
855
856 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
857
858         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
859         about files not ending in newlines.
860
861 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
862
863         * dwarfout.c (dwarfout_init): Add cast.
864         * sched-deps.c (sched_analyze_insn): Remove unused vars.
865         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
866 cp:
867         * method.c (build_mangled_C99_name): Remove unused prototype.
868
869 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
870
871         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
872
873 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
874
875         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
876         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
877
878 2001-05-11  Richard Henderson  <rth@redhat.com>
879
880         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
881         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
882         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
883         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
884         (dw2_output_indirect_constants): Prototype.
885         * dwarf2out.c (dwarf2out_begin_prologue): Generate
886         current_function_func_begin_label if we'll need it for EH.  Exit
887         early for IA64_UNWIND_INFO.
888         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
889         (eh_data_format_name): Update for indirect references.
890         (output_function_exception_table): Care for IA64_UNWIND_INFO.
891         Handle ASM_PREFERRED_EH_DATA_FORMAT.
892         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
893         define HAVE_eh_return etc.
894         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
895         (final_end_function): Don't call output_function_exception_table.
896         * toplev.c (compile_file): Call dw2_output_indirect_constants.
897         (rest_of_compilation): Invoke output_function_exception_table
898         for ia64 before assemble_end_function.
899         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
900         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
901
902         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
903         * unwind.h: Declare them.
904         * libgcc-std.ver: Export them.
905         * unwind-pe.h: New file.
906
907         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
908
909         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
910         instead of "fde".
911         (find_fde_for_dso): Extract DT_PLTGOT.
912         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
913         the segment and gp as well.
914         * config/ia64/frame-ia64.c: Remove file.
915         * config/ia64/frame-ia64.h: Remove file.
916         * config/ia64/unwind-ia64.c: New file.
917         * config/ia64/unwind-ia64.h: New file.
918         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
919         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
920         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
921         (ASM_PREFERRED_EH_DATA_FORMAT): New.
922         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
923         (IA64_UNWIND_INFO): Re-enable.
924         (HANDLER_SECTION): Remove.
925         (EH_RETURN_DATA_REGNO): New.
926         * config/ia64/ia64.md (exception_receiver): Remove.
927         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
928         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
929
930 2001-05-11  Richard Henderson  <rth@redhat.com>
931
932         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
933         calls and jumps to be bundled together.
934         (ia64_reorg): Emit a break after a noreturn call that ends
935         a function.
936         * config/ia64/ia64.md (break_f): New.
937
938 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
939
940         * c-lex.c (lex_charconst): Convert into a simple wrapper
941         around cpp_interpret_charconst, to which most of the code
942         body is moved.
943         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
944         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
945         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
946         (lex): Use cpp_interpret_charconst.
947         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
948         hex_digit_value): New functions.
949         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
950         * cpplib.h (cpp_interpret_charconst): New prototype.
951         * Makefile.in: Update.
952
953 2001-05-12  Dean Wakerley  <dean@wakerley.com>
954
955         * doc/install.texi: New file. Converted to texinfo from the HTML
956         documentation in wwwdocs/htdocs/install.
957
958 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
959
960         * gcse.c (insert_insn_end_bb): Do not search for assignments to
961         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
962
963         * toplev.c (compile_file): Move comment for opening output
964         file to just before the code that opens the output file.
965
966 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
967
968         * regmove.c (regmove_optimize): Suppress the optimization for
969         unchanging destination register.  Add comment above function.
970
971 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
972
973         * Makefile.in: Exterminate all references to assert.h.
974         * cross-make: Likewise.
975         * assert.h: Delete.
976         * configure.in: Correct commentary.
977         * configure: Regenerate.
978
979         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
980         Remove __eprintf.
981
982         * config/t-freebsd, config/t-linux, config/t-linux-aout,
983         config/t-netbsd, config/t-rtems, config/x-linux,
984         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
985         No need to override INSTALL_ASSERT_H.
986
987         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
988         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
989         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
990
991 2001-05-11  Graham Stott  <grahams@redhat.com>
992
993         * combine.c (simplify_comparison): Fix typo.
994
995 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
996
997         * loop.h (struct movables): Remove `num'.
998         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
999         Adjust call to strength_reduce.
1000         (num_unmoved_movables): New function.
1001         (move_movables): Don't set movables->num.
1002         (strength_reduce): Compute the number of instructions in the loop
1003         here, rather than in the caller.
1004         (check_dbra_loop): Always clear reversible_mem_store if there
1005         are any memory sets.
1006         (loop_regs_scan): Don't count instructions here.
1007         (count_insn_in_loop): New function.
1008
1009 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
1010
1011         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
1012
1013 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1014
1015         * c-common.c (finish_label_expr): New function, lifted from
1016         from cp/semantics.c.
1017         * c-common.h (finish_label_expr, lookup_label): New prototypes.
1018         * c-parse.in: Move 3 blocks of parser code into new functions.
1019         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
1020         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
1021         (lookup_label): Remove.
1022
1023 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
1024
1025         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
1026         FLOAT_BIT_ORDER_MISMATCH.
1027
1028 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
1029
1030         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
1031         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
1032
1033 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
1034
1035         * expr.c (emit_group_load): extract_bit_field requires a REG or
1036         MEM as an argument.
1037
1038 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
1039
1040         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
1041         a computed jump into an unconditional jump.
1042         In second hunk of code for collapsing computed and conditional jumps
1043         into unconditional jumps, reemit the jump in additional cases.
1044
1045         * jump.c (jump_optimize_1): Do not wrap the new jump target
1046         inside a LABEL_REF; gen_jump will do that automatically.
1047
1048 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
1049
1050         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
1051         contents for a SYMBOL_REF in case of floating point constants.
1052
1053 2001-05-10  DJ Delorie  <dj@redhat.com>
1054
1055         * c-common.c (combine_strings): Widen strings in a
1056         host-endian-independent way.
1057
1058 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1059
1060         * c-parse.in: Remove many shift/reduce conflicts.  Update
1061         %expect values.
1062         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
1063         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
1064         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
1065         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
1066         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
1067         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
1068         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
1069         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
1070         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
1071         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
1072         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
1073         typespec_reserved_nonattr, typespec_reserved_attr,
1074         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
1075         structsp_nonattr, components_notype, component_notype_declarator,
1076         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
1077         firstparm, setspecs_fp): New
1078         (typed_declspecs, reserved_declspecs, typed_typespecs,
1079         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
1080         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
1081         declmods_no_prefix_attr, nonempty_type_quals, structsp,
1082         type_quals): Remove.  Users updated.
1083         (initdecls, notype_initdecls, after_type_declarator,
1084         parm_declarator, notype_declarator, absdcl1, components, ivars):
1085         Don't allow attributes at the start of a declarator; include them
1086         in the production containing the declarator instead.  Always
1087         require type specifiers before trying to redeclare a typedef name.
1088         (typename): Allow for attributes but warn that they are ignored.
1089         (parmlist, firstparm, setspecs_fp): Include attributes in
1090         parmlist; suck them off the parser stack in firstparm using
1091         setspecs_fp.
1092
1093 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
1094
1095         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
1096         to determine if a block has an unconditional jump at its end.
1097
1098         * jump.c (jump_optimize_1): When converting a conditional jump
1099         to an unconditional jump, build the jump using gen_jump instead
1100         of just modify operands in-place.
1101
1102 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
1103
1104         * cppinit.c (cpp_post_options): Shut off macro expansion if
1105         -fpreprocessed.
1106         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
1107         IN_I directives only if the # is in column 1 and the directive
1108         name begins in column 2.
1109         * cppmain.c (scan_buffer): Insert a space between # and an
1110         identifier, when that identifier is a directive name.
1111
1112         * tradcpp.c (struct file_buf): Add a pointer to the next entry
1113         in the header search path.
1114         (enum node_type): Add T_INCLUDE_NEXT.
1115         (directive_table): Add entry for include_next.
1116         (do_include_next): New function.
1117         (process_include): New routine, broken out of do_include.
1118         (finclude): Insert 'nhd' argument, to be copied into
1119         next_header_dir of the new buffer.
1120         (main): Adjust to match.
1121         * gsyslimits.h, limity.h: Un-indent #include_next.
1122
1123 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1124
1125         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
1126         inclusion as a chapter of the GCC manual.
1127         * gcc.texi: Include objc.texi.
1128         * fdl.texi: Use @unnumberedsec for the addendum.
1129         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
1130
1131 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1132
1133         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
1134
1135 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
1136
1137         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
1138         handling of two-address insns.
1139
1140 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
1141
1142         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
1143         ../binutils/nm-new instead of ../binutils/nm.
1144
1145 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1146
1147         * i386.md (movdi splitter): Fix the splitting condition
1148         (float_extenddftf splitter): Fix mode.
1149
1150 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
1151
1152         * genrecog.c (write_switch): Avoid outputting of switch for
1153         types wider than int.
1154
1155 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
1156
1157         * reload1.c (copy_eh_notes): New function.
1158         (emit_input_reload_insns): Call it.
1159         (emit_output_reload_insns): Call it.
1160
1161 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
1162
1163         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
1164         Delete stanzas.
1165         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
1166         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
1167
1168         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
1169
1170 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1171
1172         * pa.md (interspace_jump): Revise comment.
1173         (builtin_longjmp): Block initial setup insns from delay slot of
1174         interspace branch.
1175         (builtin_setjmp_receiver): New expander to save and restore PIC
1176         register.
1177
1178         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
1179
1180 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
1181
1182         * toplev.c (compile_file): Set up the output file before we call
1183         the various initializers for the compiler.
1184
1185         * except.c (sjlj_mark_call_sites): Do not search for assignments to
1186         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
1187
1188         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
1189         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
1190
1191 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
1192
1193         * Makefile.in (tradcpp0): Correct typo in dependency list.
1194
1195 2001-05-06  Geoff Keating  <geoffk@redhat.com>
1196
1197         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
1198         the link register if we're not going to use it.
1199
1200         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
1201         (output_function_profiler): Likewise.
1202
1203 2001-05-07  Alan Modra  <amodra@one.net.au>
1204
1205         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
1206
1207 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
1208
1209         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
1210         zero-extend it.  Make abs_inc unsigned.
1211
1212         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
1213         widest mode in narrowing and widening operations.
1214
1215         * config/mips/mips.md: Sign extend CONST_INTs.
1216
1217 2001-05-06  Andreas Jaeger  <aj@suse.de>
1218
1219         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
1220         (i386 Options): Document -momit-leaf-frame-pointer.
1221
1222 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
1223
1224         * c-typeck.c (internal_build_compound_expr): Check for
1225         array to pointer conversion just once.
1226
1227 2001-05-05  Richard Henderson  <rth@redhat.com>
1228
1229         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
1230
1231 2001-05-05  Richard Henderson  <rth@redhat.com>
1232
1233         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
1234         to the parent of the fixup region.
1235
1236 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
1237
1238         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
1239         "inline" keyword.
1240         * cpp.texi (__NO_INLINE): Document it.
1241
1242 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1243
1244         * cppfiles.c (struct include_file): New member err_no.
1245         (find_or_create_entry): Set it.
1246         (open_file): Don't set fds to -2.  Instead, use err_no to
1247         remember previous errors, if any.
1248
1249 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1250
1251         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
1252         between X and Y by using sequences of xgdx and xgdy.
1253
1254 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1255
1256         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
1257         of '!' for the 'D' alternative ('!' is too strong).
1258         ("*logicalsi3_silshl16"): Likewise.
1259         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
1260         ("movstrictsi"): Remove spurious '+'.
1261         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
1262         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
1263         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
1264         a reload to them.
1265
1266 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
1267
1268         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
1269
1270 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
1271
1272         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
1273         into -a.
1274
1275 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1276
1277         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
1278         TARGET_POWERPC64.
1279
1280 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1281
1282         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
1283         soft register, use ror instead of rol.
1284
1285 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1286
1287         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
1288         into account pre/post increment decrement for 68HC12.
1289         Fix other problems in replacement and fix call to reg_mentioned_p.
1290
1291 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1292
1293         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
1294         Put the soft registers in bss for 68HC12.
1295         (L_regs_d3_4): New for _.d3 and _.d4.
1296         (L_regs_d5_6): Likewise.
1297         (L_regs_d1_2): Likewise.
1298         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
1299
1300 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1301
1302         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
1303         to the pre-processor when -fshort-double is specified.
1304         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
1305
1306 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1307
1308         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
1309         (__mulsi3): Rewrite for 68HC12.
1310         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
1311         Mark 'x' constraint with earlyclobber to prevent a
1312         RELOAD_FOR_OTHER_ADDRESS to go in it.
1313         (mulhi3_m68hc12): New pattern.
1314         (mulhi3_m68hc11): Rename of mulhi3.
1315         (mulhi3): New expand for 68HC12 optimisation.
1316         (umulhisi3, mulhisi3): New patterns for 68HC12.
1317
1318 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1319
1320         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
1321         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
1322         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
1323
1324 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1325
1326         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
1327         constants cheap after reload.
1328         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
1329         are cheap.
1330         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
1331         so that gcc prefers a shift by 16.
1332         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
1333
1334 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
1335
1336         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
1337
1338 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1339
1340         * alpha.h: NULL_PTR -> NULL.
1341         * arm.c: Likewise.
1342         * arm.h: Likewise.
1343         * avr.h: Likewise.
1344         * c4x.c: Likewise.
1345         * c4x.h: Likewise.
1346         * i386.c: Likewise.
1347         * i386.md: Likewise.
1348         * i860.c: Likewise.
1349         * ia64.c: Likewise.
1350         * m68hc11.h: Likewise.
1351         * rs6000.h: Likewise.
1352         * sh.c: Likewise.
1353         * sh.h: Likewise.
1354         * sparc.h: Likewise.
1355         * v850.c: Likewise.
1356
1357         * expr.c: Likewise.
1358         * final.c: Likewise.
1359         * gcc.c: Likewise.
1360         * recog.c: Likewise.
1361
1362 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1363
1364         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
1365         `bool' parameter to `int'.
1366
1367         * hash.c (hash_lookup): Likewise.
1368
1369         * hash.h (hash_lookup): Likewise.
1370
1371         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
1372
1373 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
1374
1375         * i386.c (x86_initialize_trampoline): Fix mode of constant.
1376
1377 2001-05-03  Geoff Keating  <geoffk@redhat.com>
1378
1379         * invoke.texi (i386 Options): Delete references to -malign-jumps,
1380         -malign-loops, -malign-functions.
1381         * i386.c (ix86_align_funcs): Delete.
1382         (ix86_align_loops): Delete.
1383         (ix86_align_jumps): Delete.
1384         (override_options): Mark -malign-* as obsolete.  Emulate their
1385         behaviour with the -falign-* options.  Default -falign-* from
1386         the processor table.
1387         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
1388         patch of Wed May 2 13:09:36 2001.
1389         (LOOP_ALIGN): Delete.
1390         (LOOP_ALIGN_MAX_SKIP): Delete.
1391         (LABEL_ALIGN_AFTER_BARRIER): Delete.
1392         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
1393
1394 2001-05-04  Andreas Jaeger  <aj@suse.de>
1395
1396         * except.h: Add prototype declaration for
1397         expand_builtin_init_dwarf_reg_sizes.
1398
1399 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
1400
1401         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
1402
1403 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1404
1405         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
1406         instruction.
1407         ("bitcmpqi2"): New pattern for bit-extract and test.
1408         ("bitcmphi"): New pattern for bitb/bita instructions.
1409
1410 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1411
1412         * gccbug.in: Use a temporary directory when the mktemp command is
1413         not available.
1414
1415 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1416
1417         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
1418         instead of _.d1.
1419         (INITIALIZE_TRAMPOLINE): Call it.
1420         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
1421         (TRAMPOLINE_TEMPLATE): Remove.
1422         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
1423         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
1424         Declare.
1425
1426 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
1427
1428         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
1429         and crtendS.o with PIC.
1430
1431 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1432
1433         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
1434         negative numbers.
1435         (___subdi3, ___adddi3): Use x instead of y as index register.
1436         (__init_bss_section, __map_data_section): Optimize for 68HC12.
1437         (__memset, __memcpy): Likewise.
1438         (regs): Put the soft registers in bss for 68HC12.
1439         (abort): Use trap to abort for 68hc12.
1440         (__mulhi3, __mulhi32): Use emul for 68hc12.
1441         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
1442
1443 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1444
1445         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
1446         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
1447         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
1448         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
1449         Set 68HC12 min offset to -65536.
1450         (print_operand): Put parenthesis arround the operand if it refers
1451         to a symbol having the same name as a register.
1452         (m68hc11_z_replacement): When z register is replaced by its
1453         equivalent soft register, force the insn to be re-recognized.
1454         (m68hc11_check_z_replacement): Fix the test when destination is
1455         the index register and z dies in the insn.
1456         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
1457
1458 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1459
1460         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
1461         costs according to processor variant.
1462         (m68hc11_shift_cost): New function to compute shift costs.
1463         (m68hc11_rtx_costs): Define costs according to processor variant.
1464         (m6811_cost): Costs for 68HC11.
1465         (m6812_cost): Costs for 68HC12.
1466         (COSTS_N_INSNS): Remove.
1467
1468         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
1469         (DEFAULT_RTX_COSTS): Remove.
1470         (CONST_COSTS): Define costs according to OUTER_CODE.
1471         (processor_costs): New struct to define costs.
1472         (m68hc11_cost): Pointer to current costs.
1473
1474 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1475
1476         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
1477         and use m68hc11_notice_keep_cc when using leax/leay.
1478         (addhi3 split): Reject split if the insn is handled by
1479         leax/leay above.
1480         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
1481         push must be handled in a special way if the source operand uses
1482         sp as index register.
1483         (m68hc11_notice_keep_cc): New function.
1484         (m68hc11_gen_movhi): Use it when an insn changes a register but
1485         not the flags.
1486         (m68hc11_gen_movqi): Fix move for 68HC12.
1487         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
1488
1489 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1490
1491         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
1492         and don't pass operands[0] to emit_library_call_value.
1493
1494 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1495
1496         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
1497         (zero_extendsi split): Simplify and use (zero_extendhi).
1498         (*addhi3): Remove 'w' constraint since stack pointer is handled
1499         by (addhi3_sp).
1500         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
1501         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
1502         (*ashrhi3_const): Fix shift by 7.
1503         (*lshrsi3_const16): Fix template.
1504         (call, call_value): Fix constraint and predicate.
1505
1506 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1507
1508         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
1509         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
1510         (CC_REGNUM): Likewise.
1511         (*unnamed splits): Use above constants instead of hard coded numbers.
1512         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
1513         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
1514         (*return_16bit, *unnamed peepholes): Likewise.
1515
1516 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
1517
1518         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
1519         rs6000/rs6000.h twice.
1520
1521 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
1522
1523         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
1524         (CPP_SPEC): Conditionally define MSDOS and GO32.
1525         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
1526         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
1527         ignored.
1528         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
1529
1530 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
1531
1532         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
1533
1534 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
1535
1536         * integrate.h (struct inline_remap): Add leaf_reg_map table.
1537         * integrate.c (expand_inline_function): Use xcalloc to allocate
1538         memory.
1539         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
1540         registers.
1541
1542 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
1543
1544         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
1545         if it is not set.
1546
1547 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
1548
1549         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
1550         linker if -mrelax is given.
1551         (TARGET_SWITCHES): Document -mrelax.
1552
1553         Re-installed 2001-01-09's patch:
1554         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
1555         if it's wider than long and the target's long is wider than the
1556         host's.
1557
1558 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
1559
1560         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
1561         directly include rs6000/rs6000.h.  Instead do it in tm.h.
1562
1563 2001-05-02  Stan Shebs  <shebs@apple.com>
1564
1565         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
1566         NSConstantString for NeXT-style runtimes.
1567         (STRING_OBJECT_GLOBAL_NAME): New macro.
1568         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
1569         OCTI_STRING_CLASS_DECL.
1570         (constant_string_global_id): New macro.
1571         (string_class_decl): Ditto.
1572         (setup_string_decl): New function.
1573         (build_objc_string_object): Use it to build a NeXT runtime
1574         compatible string initializer.
1575
1576 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
1577
1578         * tradcpp.c (do_define): Make sure we don't walk past limit.
1579
1580 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1581
1582         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
1583         offsets if not REG_OK_STRICT.
1584
1585         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
1586         (INT_REG_OK_FOR_INDEX_P): Likewise.
1587         (INT_REG_OK_FOR_BASE_P): Likewise.
1588         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
1589         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
1590         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
1591         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
1592         REG_OK_FOR_BASE_P. Take an additional parameter.
1593         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
1594         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
1595         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
1596         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
1597         rs6000_legitimate_address() and use it.
1598         * config/rs6000/rs6000.c: Update all callers.
1599         (rs6000_legitimate_address): New function.
1600
1601 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
1602
1603         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
1604         special_constant conditional blocks together.
1605
1606 2001-05-02  Dale Johannesen  <dalej@apple.com>
1607
1608         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
1609         parameter.
1610         (STRICT_ARGUMENT_NAMING): Define.
1611         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
1612         function_arg_partial_nregs, setup_incoming_varargs): Remove
1613         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
1614         is defined.
1615
1616 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1617
1618         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
1619
1620         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
1621         for replacement.
1622
1623         * expr.c (store_field): Do nothing except elaborate side-effects if
1624         zero-bit field.
1625
1626 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1627
1628         * c-lex.c: NULL_PTR -> NULL.
1629         * cse.c: Likewise.
1630         * emit-rtl.c: Likewise.
1631         * gcse.c: Likewise.
1632         * genpeep.c: Likewise.
1633         * jump.c: Likewise.
1634         * mips-tdump.c: Likewise.
1635         * reload1.c: Likewise.
1636         * rtlanal.c: Likewise.
1637         * stmt.c: Likewise.
1638         * stor-layout.c: Likewise.
1639         * toplev.c: Likewise.
1640
1641 2001-05-01  Per Bothner  <per@bothner.com>
1642
1643         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
1644         call do_pending_stack_adjust before emiting label.
1645
1646 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
1647
1648         * extend.texi: Fix typo.
1649
1650 2001-05-01  Stan Shebs  <shebs@apple.com>
1651
1652         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
1653         of UOBJC_MODULES_decl.
1654         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
1655         (generate_descriptor_table): Ditto.
1656         (generate_protocols): Ditto.
1657         (generate_protocol_list): Ditto.
1658         (generate_classref_translation_entry): Ditto.
1659
1660 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
1661
1662         * invoke.texi (Optimize Options): Add documentation for `--param
1663         max-delay-slot-insn-search' and `--param
1664         max-delay-slot-live-search' and reorder --param section.
1665         * params.def: Modify initial comment.
1666         * params.h (param_info): Add `help' member.
1667         * toplev.c (lang_independent_params): Include `help' description.
1668         (display_help): Print --param parameters.
1669
1670 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
1671
1672         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
1673         Remove references to deleted files.
1674         (*-*-openbsd): No need to override xmake_file.
1675         (*-*-sysv4): Treat like *-*-sysv.
1676
1677         * configure.in: Probe for ldopen in various places, and set up
1678         collect2 to be linked with them if found.
1679         Don't dink with Windows registry stuff unless $host_os is a
1680         Win32 os name.  Check to see if we need -ladvapi32.
1681         * configure: Regenerate.
1682
1683         * Makefile: Get rid of CLIB and HOST_CLIB.
1684         Substitute in COLLECT2_LIBS and link collect2 against its contents.
1685         * build-make: Get rid of HOST_CLIB.
1686
1687         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
1688         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
1689         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
1690         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
1691         config/rs6000/x-rs6000: Delete.
1692
1693         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
1694         Don't set CLIB.
1695
1696         24 x-host fragments remain, 0 x-cpu, 3 top level.
1697
1698 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
1699
1700         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
1701         * configure: Regenerate.
1702
1703 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
1704
1705         * Makefile.in (install-headers): Remove redundant dependency.
1706
1707 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
1708
1709         * c-tree.texi (USING_STMT): Document.
1710
1711 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1712
1713         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
1714         * c-common.c: Likewise.
1715         * c-decl.c: Likewise.
1716         * combine.c: Likewise.
1717         * rs6000.c: Likewise.
1718         * except.c: Likewise.
1719         * explow.c: Likewise.
1720         * expr.c: Likewise.
1721         * fold-const.c: Likewise.
1722         * function.c: Likewise.
1723         * gcc.c: Likewise.
1724         * gcse.c: Likewise.
1725         * integrate.c: Likewise.
1726         * loop.c: Likewise.
1727         * objc/objc-act.c: Likewise.
1728         * recog.c: Likewise.
1729         * reg-stack.c: Likewise.
1730         * reload.c: Likewise.
1731         * reload1.c: Likewise.
1732         * simplify-rtx.c: Likewise.
1733         * stmt.c: Likewise.
1734         * varasm.c: Likewise.
1735
1736 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
1737
1738         * diagnostic.def: New file.
1739         * diagnostic.h (diagnostic_t): New enum.
1740         * Makefile.in (diagnostic.o): Depend on diagnostic.def
1741
1742 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
1743
1744         * tsystem.h: Test only POSIX for availability of string.h
1745         and time.h.
1746         * config.gcc (all systems): If USG appeared in xm_defines,
1747         change it to POSIX.  If both USG and POSIX appeared, just
1748         delete USG. Remove unnecessary quotes around xm_defines
1749         settings.
1750         (m68k-crds-unos*): Don't #define unos - tested nowhere.
1751         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
1752         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
1753         powerpc-*-linux*): No need to set xm_defines - handled by
1754         global settings for *-*-linux*.
1755
1756 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
1757
1758         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
1759         Always include gstab.h, not system stab.h.  Don't provide
1760         default definitions of N_CATCH or N_OPT.  Always use the
1761         gstab.h variant of STAB_CODE_TYPE.
1762         * final.c: Don't include stab.h/gstab.h at all, or provide
1763         defaults for N_SLINE and N_SOL.
1764
1765         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
1766         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
1767         available.
1768         * sdbout.c: Always include gsyms.h instead of system syms.h.
1769
1770         * configure.in: No need to check for stab.h.
1771         * configure, config.in: Regenerate.
1772         * Makefile.in (final.o): Don't depend on gstab.h.
1773
1774 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
1775             Richard Henderson  <rth@redhat.com>
1776
1777         * extend.texi: Improve documentation of volatile asms.
1778
1779 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
1780
1781         * c-tree.texi: Fix thinko.
1782         * gcc.texi: Likewise.
1783
1784 2001-04-30  Richard Henderson  <rth@redhat.com>
1785
1786         * c-common.c (c_promoting_integer_type_p): New function, from the
1787         corpse of old macro.  Properly promote too-small enumerations and
1788         booleans.  Adjust all callers.
1789         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
1790         (c_promoting_integer_type_p): Declare.
1791         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
1792         * c-typeck.c: Likewise.
1793         (default_conversion): Remove now redundant boolean check.
1794
1795 2001-04-30  Jan Hubicka  <jh@suse.cz>
1796             Richard Henderson  <rth@redhat.com>
1797
1798         * regmove.c (try_apply_stack_adjustment): Remove now redundant
1799         sanity checks.
1800         (combine_stack_adjustments_for_block): Don't combine stack
1801         allocation followed by deallocations.  Handle grow-up stacks.
1802
1803 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
1804
1805         * fdl.texi: New file.
1806         * c-tree.texi: Use the GFDL.
1807         * gcc.texi: Likewise.
1808
1809 2001-04-30  Stan Shebs  <shebs@apple.com>
1810
1811         * invoke.texi: Add a section documenting Objective-C options.
1812
1813 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
1814
1815         * emit-rtl.c (try_split):  Copy EH notes to sequence.
1816
1817 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
1818
1819         * regmove.c (record_stack_memrefs): Catch all references to the
1820         stack pointer.
1821
1822 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
1823
1824         * Makefile.in (stmp-fixinc): quote shell assignment values
1825
1826 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1827
1828         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
1829
1830         * gcc.c: Likewise.
1831
1832         * prefix.c: Likewise.
1833
1834 2001-04-28  Stan Shebs  <shebs@apple.com>
1835
1836         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
1837         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
1838         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
1839         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
1840
1841         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
1842         (NEXT_OBJC_RUNTIME): Define.
1843
1844 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
1845
1846         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
1847         * simplify-rtx.c (simplify_gen_relational): Likewise.
1848
1849         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
1850
1851         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
1852         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
1853
1854         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
1855         registers in SSE case; fix handling of the immediates.
1856         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
1857         operands to be in regsiters before reload.
1858         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
1859         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
1860         (abstf,absxf,negtf,negxf splitters): Compute
1861         properly the regnum for x86_64.
1862         (avsdf2_if_rex64): New.
1863
1864 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
1865
1866         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
1867         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
1868         into the constant pool.
1869         * jump.c (jump_optimize_1): Remove barrier successors after all
1870         the LABEL_NUSES counds have been computed.
1871         (delete_barrier_successors): When deleting a tablejump insn, also
1872         delete the jump table it uses.
1873         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
1874         label into memory.
1875
1876 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
1877
1878         * pa.c (FRP): Remove erroneous white space in macro definition.
1879
1880 2001-04-28  Andreas Jaeger  <aj@suse.de>
1881
1882         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
1883         appropriate.
1884         * extend.texi: Likewise.
1885         * tm.texi: Likewise.
1886
1887 2001-04-28  Andreas Jaeger  <aj@suse.de>
1888
1889         * md.texi: Use XX-bit instead of XXbit or XX bit where
1890         appropriate.
1891
1892 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
1893
1894         * gcc.c (process_command): Allow -l lib in addition to -llib
1895         for POSIX compliance. This fixes PR c/2347.
1896
1897         * invoke.texi: Update section on Link Options accordingly.
1898
1899 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
1900
1901         * function.c (purge_addressof_1): Remove the duplicate
1902         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
1903         blocks together.
1904
1905 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
1906
1907         * except.c (expand_eh_region_start): Don't start a new block.
1908         (expand_eh_region_end): Don't end a block.
1909         * stmt.c (expand_end_bindings): Don't end EH blocks.
1910         (expand_decl_cleanup): Starting an EH region won't change the block.
1911         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
1912         (is_eh_region): Lose.
1913         * tree.h: Adjust.
1914
1915 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
1916
1917         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
1918
1919         * collect2.c (main): Add `-L' case to remove duplicate entries.
1920         (is_in_args): New function to check for a duplicate argument.
1921         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
1922         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
1923         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
1924         Define to be nonzero.
1925
1926 2001-04-27  Andreas Jaeger  <aj@suse.de>
1927             Richard Henderson  <rth@redhat.com>
1928
1929         * md.texi (Machine Constraints): Document additional i386
1930         constraints and fix description of "A".
1931
1932 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
1933
1934         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
1935
1936 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
1937
1938         * except.c (get_exception_filter): word_mode, not Pmode.
1939
1940 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
1941
1942         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
1943         common to other movsf patterns.  Move up so that in future
1944         people who change the other patterns will change it too.
1945         (movsf_lo_sum): Allow even for soft-float; add appropriate
1946         constraints.
1947         (movsf_high): Likewise.
1948         (movsf_high+1): Allow even for soft-float.
1949
1950         * function.c (expand_function_end): Always clobber the
1951         return registers, even if there is no return label.
1952
1953 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
1954
1955         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
1956
1957 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
1958
1959         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
1960         (pushqi2_rex64, pushhi2_rex64): Add.
1961
1962 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
1963
1964         * except.c (expand_eh_region_end_cleanup): Force pending stack
1965         adjust before emitting label that branches around cleanup code.
1966
1967 2001-04-26  H.J. Lu  (hjl@gnu.org)
1968
1969         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
1970
1971         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
1972         define.
1973         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
1974         (ASM_OUTPUT_SECTION_NAME): Likewise.
1975         (ASM_WEAKEN_LABEL): Likewise.
1976         (UNIQUE_SECTION): Likewise.
1977         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
1978         (ASM_OUTPUT_DESTRUCTOR): Likewise.
1979         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
1980         (ASM_OUTPUT_SECTION_NAME): Likewise.
1981         (ASM_WEAKEN_LABEL): Likewise.
1982         (UNIQUE_SECTION): Likewise.
1983         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
1984         (ASM_OUTPUT_DESTRUCTOR): Likewise.
1985         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
1986         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
1987         (ASM_FILE_START): Likewise.
1988         (ASM_OUTPUT_SOURCE_LINE): Likewise.
1989         (ASM_DECLARE_OBJECT_NAME): Likewise.
1990         (ASM_FILE_END): Likewise.
1991         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1992         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1993         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1994         (ASM_OUTPUT_CASE_LABEL): Likewise.
1995         (ASM_OUTPUT_SKIP): Likewise.
1996         (ASM_OUTPUT_ASCII): Likewise.
1997         (ASM_OUTPUT_IDENT): Likewise.
1998         (READONLY_DATA_SECTION): Likewise.
1999         (EXTRA_SECTIONS): Likewise.
2000         (EXTRA_SECTION_FUNCTIONS): Likewise.
2001         (SELECT_RTX_SECTION): Likewise.
2002         (SELECT_SECTION): Likewise.
2003
2004         * config/mips/linux.h (INVOKE__main): Undefine.
2005         (CTOR_LIST_BEGIN): Likewise.
2006         (CTOR_LIST_END): Likewise.
2007         (DTOR_LIST_BEGIN): Likewise.
2008         (DTOR_LIST_END): Likewise.
2009         (SET_ASM_OP): Defined it to ".dummy".
2010         (ASM_OUTPUT_DEF): Defined.
2011         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
2012
2013 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
2014
2015         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
2016         assembler supports .p2align.
2017
2018 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
2019
2020         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
2021
2022 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
2023
2024         * integrate.c (expand_inline_function): Check for error_mark_node
2025         in actual argument.
2026
2027 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
2028
2029         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
2030         -m386 and -m486.
2031
2032 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
2033
2034         * configure.in (configargs.h): Define thread_model.
2035         * configure: Rebuilt.
2036         * gcc.c (main): Print it with -v.
2037
2038 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2039
2040         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
2041         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
2042         * gcc.1: Regenerate.
2043
2044 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2045
2046         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
2047         is_redundant_typedef): Use static inline instead of inline static.
2048
2049 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
2050
2051         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
2052         this directory is always searched.
2053
2054 2001-04-25  Richard Henderson  <rth@redhat.com>
2055
2056         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
2057         of registers to restore along non eh_return path.
2058
2059 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2060
2061         * c-format.c (check_format_info_recurse): Handle
2062         PLUS_EXPR for format string.
2063
2064 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2065
2066         * config/ia64/ia64.h (CC1_SPEC): Define.
2067         * config/ia64/linux.h (CC1_SPEC): Define.
2068
2069 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
2070
2071         * emit-rtl.c (constant_subword): Also do sign extension in
2072         BITS_PER_WORD == 16 case.
2073
2074 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
2075
2076         * loop.c (try_swap_copy_prop): Go back to checking insn.
2077
2078 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2079
2080         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
2081         if check_mode is non-zero.
2082
2083 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2084
2085         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
2086         out and comparison sequence has been detected, put result into
2087         proper temporary pseudo.
2088
2089 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
2090
2091         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
2092         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
2093         * libgcc2.c: Remove __dummy and __builtin_saveregs.
2094         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
2095         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
2096         for future reference.
2097
2098 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
2099
2100         * except.c (reachable_handlers): Step out one level from a RESX.
2101
2102         * except.c (struct eh_region): Rename 'last' to 'resume'.
2103         (mark_eh_region, duplicate_eh_region_1): Adjust.
2104         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
2105         (build_post_landing_pads): Likewise.
2106         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
2107         (expand_eh_region_end_must_not_throw): Likewise.
2108         (connect_post_landing_pads): Thread (only) regions with non-deleted
2109         resume insns.
2110
2111         * except.c (expand_eh_region_end_cleanup): Save the EH return data
2112         registers around the cleanup.
2113         (get_exception_filter): New fn.
2114         (finish_eh_generation): Use it.
2115
2116 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
2117
2118         * c-semantics.c (add_scope_stmt): Don't call
2119         current_scope_stmt_stack multiple times.
2120
2121 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
2122             Nathan Sidwell <nathan@codesourcery.com>
2123
2124         Lazy __FUNCTION__ generation.
2125         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
2126         RID_C99_FUNCTION_NAME): New _RIDs.
2127         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
2128         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
2129         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
2130         global tree slots.
2131         (function_id_node, pretty_function_id_node, func_id_node): Remove.
2132         (c99_function_name_decl_node, function_name_decl_node,
2133         pretty_function_name_decl_node, saved_function_name_decls):
2134         Declare.
2135         (struct language_function): Remove x_function_name_declared_p.
2136         (make_fname_decl): Remove a parameter.
2137         (declare_function_names): Remove prototype.
2138         (start_fname_decls, finish_fname_decls): Prototype.
2139         (fname_as_string): Likewise.
2140         (fname_string, fname_decl): Likewise.
2141         * c-common.c (make_fname_decl): Adjust.
2142         (struct fname_var_t): New struct.
2143         (fname_vars): New static array.
2144         (declare_function_name): Remove.
2145         (start_fname_decls, finish_fname_decls): New functions.
2146         (fname_as_string): New function from remnants of
2147         declare_function_name.
2148         (fname_string, fname_decl): New functions.
2149
2150         * c-decl.c (c_function_name_declared_p): Remove.
2151         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
2152         don't call declare_function_name. Call start_fname_decls.
2153         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
2154         clobber the line number. Call finish_decl.
2155         (start_function): Call start_fname_decls.
2156         (finish_function): Call finish_fname_decls.
2157         Remove c_function_name_declared_p.
2158         (push_c_function_context): Don't push c_function_name_declared_p.
2159         (pop_c_function_context): Don't pop c_function_name_declared_p.
2160         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
2161         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
2162         (program): Call finish_fname_decls for C.
2163         (primary): Add VAR_FUNC_NAME.
2164         (reswords): Add slots for __FUNCTION__ et al.
2165         (rid_to_yy): Add mappings for __FUNCTION__ et al.
2166         (yylexname): If it's a STRING_FUNC_NAME generate the function name
2167         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
2168         * c-semantics.c (prune_unused_decls): Remove.
2169         (finish_stmt_tree): Don't call prune_unused_decls.
2170         (genrtl_decl_stmt): Don't prune unused decls here.
2171
2172 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
2173
2174         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
2175         constant pool, use the pool's SYMBOL_REF instead.
2176
2177         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
2178         v850e.
2179
2180 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2181
2182         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
2183         passing nested NOP_EXPRs to fold.
2184
2185 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
2186
2187         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
2188
2189 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
2190
2191         * loop.c (loop_delete_insns): Add prototype.
2192
2193 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
2194
2195         * configure.in:  Remove ENABLE_STD_NAMESPACE.
2196         * config.in:  Regenerated.
2197         * configure:  Regenerated.
2198
2199 2001-04-22  Stan Shebs  <shebs@apple.com>
2200
2201         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
2202         into xm_defines.
2203         * config/rs6000/xm-darwin.h: Remove file.
2204
2205 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2206
2207         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
2208         (write_c_file_stat): Likewise.
2209
2210         * dbxout.c (dbxout_init): Likewise.
2211
2212         * profile.c (output_func_start_profiler): Likewise.
2213
2214 2001-04-22  Philipp Thomas  <pthomas@suse.de>
2215
2216         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
2217         require it instead of the CVS version.
2218         * cpperror.c (v_message): Put a blank before the macro
2219         body to not confuse exgettext.
2220
2221 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
2222
2223         * flow.c (proagate_one_insn): Remove useless assignment.
2224         * jump.c (delete_insn): Tidy.
2225         * loop.c (try_copy_prop): When deleting an instruction with a
2226         REG_RETVAL note, delete the entire libcall sequence.
2227         (loop_delete_insns): New function.
2228         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
2229         we're not substituting into them yet.
2230
2231 2001-04-21  Kazu Hirata  <kazu@hxi.com>
2232
2233         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
2234
2235         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
2236         Fix a comment typo.
2237         * config/i960/i960.c (signed_arith_operand): Likewise.
2238
2239         * calls.c (expand_call): Fix a comment typo.
2240
2241 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
2242
2243         * configure.in: Probe for times, clock, struct tms, and clock_t.
2244         * configure, config.in: Regenerate.
2245         * timevar.c: Replace ifdef forest in get_time with (relatively)
2246         straightforward series of checks based on autoconf's probes.
2247
2248 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
2249
2250         * config/pa/som.h (NM_FLAGS): Define.
2251
2252 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
2253
2254         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
2255         function.
2256         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
2257         * ia64.c (nop_cycles_until): New function.
2258         (prev_cycle, prev_first, last_issued): New static variables.
2259         (ia64_sched_reorder): Additional arg for clock.
2260         On final scheduling pass, emit extra NOPs as needed.
2261         Set prev_first and prev_cycle.
2262         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
2263         (ia64_variable_issue): Set last_issued.
2264
2265 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
2266
2267         * config/i386/i386.c (ix86_expand_int_movcc,
2268         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
2269
2270 2001-04-20  Geoff Keating  <geoffk@redhat.com>
2271
2272         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
2273         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
2274         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
2275         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
2276         ctrdi_internal6): In the short-branch case, this insn is only 4
2277         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
2278
2279 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
2280
2281         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
2282         "=u" is used together with "st" resp. "st(1)" clobber.
2283
2284 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
2285
2286         * gcse.c (gcse_main): Fix comment typo.
2287         (delete_null_pointer_check): Likewise.
2288         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
2289         * cse.c (cse_insn): Likewise.
2290         * function.c (fixup_var_refs_insns_with_hash): The sequence is
2291         toplevel.
2292
2293 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
2294
2295         * toplev.c: Excise all code for the undocumented -dm option.
2296         (float_signal): Call signal just once, unconditionally.
2297
2298 2001-04-19  Geoff Keating  <geoffk@redhat.com>
2299
2300         * fold-const.c (fold): Use first_rtl_op rather than
2301         TREE_CODE_LENGTH when looping over parameters of a tree.
2302         Correct strange grouping in test for evaluated SAVE_EXPR.
2303
2304 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
2305
2306         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
2307         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
2308
2309         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
2310         name at 32 total characters.
2311         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
2312         functions in named sections -- data items can still go into unique
2313         sections, but they have normal names (ie $LIT$ and $DATA$).
2314
2315         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
2316         INIT_PRIORITY.
2317
2318 2001-04-19 DJ Delorie  <dj@redhat.com>
2319
2320         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2321         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
2322         * config/i386/cygwin.h: Likewise.
2323         * config/i386/mingw32.h: Likewise.
2324         * config/vax/vms.h: Likewise.
2325         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
2326
2327         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2328         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
2329         * config/i386/xm-cygwin.h: Likewise.
2330         * config/i386/xm-djgpp.h: Likewise.
2331         * config/i386/xm-mingw32.h: Likewise.
2332         * config/vax/xm-vms.h: Likewise.
2333
2334         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
2335         instead of OBJECT_SUFFIX.
2336         * collect2.c (find_a_file): Look for files matching the extension
2337         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
2338         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
2339         TARGET_EXECUTABLE_SUFFIX.
2340         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
2341         (make_relative_prefix): Likewise.
2342         (convert_filename): Use TARGET_ suffixes throughout.  Remove
2343         NO_AUTO_EXE_SUFFIX.
2344         (process_command): Likewise.
2345         (do_spec_1): Likewise.
2346         * java/lang.c (init_parse): Likewise.
2347
2348         * gcc.texi : Document four new options matching the pattern
2349         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
2350         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
2351         documentation for NO_AUTO_EXE_SUFFIX.
2352
2353 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
2354
2355         * toplev.h (struct lang_hooks): Allow decode_option to indicate
2356         that language-independent processing should not be done.
2357         * toplev.c (main): Adjust accordingly.
2358
2359         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
2360         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
2361
2362         * mips.md (reload_outputdi): Require that operand0 be a
2363         general_operand.
2364
2365 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
2366
2367         * invoke.texi (-Wshadow): Clarify.
2368
2369 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
2370
2371         * loop.c (load_mems): Examine all the instructions in the loop
2372         before concluding that all jumps branch to the first instruction
2373         after the loop.
2374
2375 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
2376
2377         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
2378
2379 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
2380
2381         * cpp.texi (-Wwhite-space): Remove.
2382         (-Wall): -Wall does not imply -Wwhite-space.
2383
2384 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
2385
2386         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
2387         use it instead of blindly generating a .stabs.
2388         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
2389         in the right place.
2390         * xcoffout.c: Don't bother defining default for N_CATCH.
2391         (UNKNOWN_STAB): Use internal_error.
2392         (stab_to_sclass): Remove now-unnecessary aborts.
2393         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
2394
2395 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
2396
2397         * jump.c (mark_all_labels): Canonicalize the tail recursion
2398         label attached to CALL_PLACEHOLDER insns.
2399
2400 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2401
2402         * output.h (dump_flow_info, free_basic_block_vars,
2403         which_alternative): Delete redundant prototypes.
2404
2405         * rtl.h (bss_section): Likewise.
2406
2407 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
2408
2409         * dbxout.c (N_OPT): Define if not available from <stab.h>
2410
2411 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2412
2413         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
2414         libraries and native K&R compilers.
2415
2416 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2417
2418         * c-typeck.c (convert_arguments): Don't check for width changes
2419         with -Wtraditional.
2420
2421         * invoke.texi (-Wtraditional): Update documentation.
2422
2423 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
2424
2425         * toplev.c (output_lang_identify): Delete.
2426         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
2427         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
2428         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
2429         after calling ASM_FILE_END.
2430
2431         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
2432         Instead, unconditionally emit an N_OPT stab with string equal
2433         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
2434
2435         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
2436
2437         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
2438         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
2439         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
2440         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
2441         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
2442         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
2443         config/i370/i370.h, config/i386/beos-elf.h,
2444         config/i386/osf1elf.h, config/i386/osfrose.h,
2445         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
2446         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
2447         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
2448         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
2449         config/mips/iris6.h, config/mips/osfrose.h,
2450         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
2451         config/sparc/sp64-elf.h:
2452         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
2453         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
2454
2455         * config/elfos.h, config/freebsd.h, config/linux.h,
2456         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
2457         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
2458         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
2459         of ASM_FILE_START which merely emit a .version directive.  Delete
2460         definitions of ASM_FILE_END which merely emit an .ident directive.
2461
2462         * config/avr/avr.h, config/vax/vax.h: Delete definition of
2463         ASM_IDENTIFY_GCC and move part of its logic into
2464         ASM_FILE_START.
2465
2466         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
2467         config/sparc/linux-aout.h: Don't emit .version directive in
2468         ASM_FILE_START.
2469
2470         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
2471         (output_file_start): Correct comment.
2472
2473         * config/i386/osfrose.h: Don't emit trailing .ident directive.
2474         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
2475         to match gdb.
2476         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
2477         * config/rs6000/aix.h: Correct comment.
2478
2479         * config/i386/i386afe.h: Delete.
2480         * config.gcc: Remove references to i386afe.h.
2481
2482         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
2483         other macros deleted by this patch were undocumented.
2484
2485 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
2486
2487         * pa.md (reload_outdi): Operand 0 must be a non hard register.
2488
2489         * pa.c (secondary_reload_class): SAR<->FP copies require a
2490         secondary register.
2491
2492         * install.texi (mips-mips-bsd): Update list of functions
2493         required to include memmove.
2494         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
2495         used functions to include memmove.
2496
2497 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
2498
2499         * i386.md (sqrtdf2): SFmode should be DFmode.
2500
2501 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
2502
2503         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
2504         (find_moveable_store): Likewise.
2505
2506 2001-04-15  Jim Wilson  <wilson@redhat.com>
2507
2508         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
2509
2510 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
2511
2512         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
2513         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
2514
2515 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
2516
2517         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
2518         first alternative.
2519
2520 2001-04-14  Alan Modra  <amodra@one.net.au>
2521
2522         * pa.c (force_mode): New function.
2523         (emit_move_sequence): Use it instead of generating new rtx_REGs.
2524
2525 2001-04-13  Jim Wilson  <wilson@redhat.com>
2526
2527         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
2528         (first_instruction): New static variable.
2529         (rtx_needs_barrier): Return 1 for alloc.
2530         (init_insn_group_barriers): Set first_instruction.
2531         (rws_sum): Delete duplicate definition.
2532         (group_barrier_needed_p): Return 0 when first_instruction true.
2533         (safe_group_barrier_needed_p): Save and restore first_instruction
2534         around group_barrier_needed_p call.
2535
2536 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
2537
2538         * expr.h (enum libfunc_index): Add LTI_memmove.
2539         (memmove_libfunc): Define macro.
2540         * optabs.c (init_optabs): Initialize memmove_libfunc.
2541         * expr.c (expand_assignment): Use memmove_libfunc instead of
2542         memcpy_libfunc.
2543
2544 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
2545
2546         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
2547         fp mode addresses.
2548
2549 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2550
2551         * Makefile.in (reg-stack.o): Depend on reload.h.
2552         (insn-attrtab.o): Depend on flags.h.
2553
2554         * genattrtab (main): Include flags.h in insn-attrtab.c.
2555
2556         * reg-stack.c: Include reload.h.
2557
2558         * sparc.h (flag_pic): Delete redundant declaration.
2559
2560         * output.h (flag_pic): Likewise.
2561
2562         * tree.h (pedantic): Likewise.
2563
2564 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2565
2566         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
2567
2568         * jump.c, regmove.c, toplev.c: Include reload.h.
2569
2570         * reload.h (reload_cse_regs): Declare.
2571
2572         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
2573         reload_cse_regs, init_reload, mark_home_live, reload,
2574         init_caller_save): Delete redundant prototypes.
2575
2576 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2577
2578         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
2579
2580         * regclass.c, ssa.c: Include expr.h.
2581
2582         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
2583         gen_move_insn): Delete redundant declarations.
2584
2585 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2586
2587         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
2588         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
2589         MAKEINFO and MAKEINFOFLAGS too.
2590         (stage4_build): Correctly order -B flags.
2591
2592 2001-04-13  Alan Modra  <amodra@one.net.au>
2593
2594         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
2595         PIC_OFFSET_TABLE_SAVE_RTX.
2596         (zdepi_cint_p): Describe zdepi insn.
2597         Formatting and white space fixes throughout file.
2598
2599         * pa.c (uint32_operand): Don't use long constant >= 2^32.
2600         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
2601         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
2602         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
2603         (output_64bit_and): Use plain `int's for shift counts.
2604         (output_64bit_ior): Likewise.
2605         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
2606         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
2607         `N', and simplify.
2608
2609         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
2610         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
2611         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
2612         NEW_HP_ASSEMBLER into one.  Kill warnings.
2613
2614         * pa-gas.h: Delete file.
2615         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
2616         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
2617         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
2618         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
2619
2620         * config/pa/mill32.S: New file.
2621         * config/pa/mill64.S: New file.
2622         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
2623         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
2624         * config/pa/t-linux64: New file.
2625         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
2626         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
2627         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
2628
2629         * elfos.h (SELECT_SECTION): Undef before defining.
2630         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
2631         (LIB_SPEC): Remove -lmilli.
2632         (DBX_REGISTER_NUMBER): Remove.
2633         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2634         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
2635         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
2636         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2637         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
2638         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
2639         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
2640         TARGET_GAS): Define.
2641         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
2642         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
2643         regs if we don't have a prototype.
2644         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
2645         * pa.h (TARGET_ELF32): Default to 0 if undefined.
2646         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
2647         EH_RETURN_HANDLER_RTX): Define.
2648         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
2649         (DWARF_FRAME_REGNUM): Define.
2650         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
2651         * pa32-linux.h: New file.
2652         * pa64-linux.h: New file.
2653
2654         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
2655         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
2656         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
2657         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
2658         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
2659         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
2660         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
2661         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
2662         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
2663         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
2664         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
2665         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
2666         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
2667         * pa64-hpux.h: New file.
2668         (ASM_FILE_START): Correct typo.
2669         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
2670         * config.gcc: Modify for above.
2671
2672 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
2673
2674         * jump.c (jump_optimize_1): Don't delete dead stores here.
2675         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
2676         prior to running jump optimize before cse2.
2677
2678 2001-04-12  Richard Henderson  <rth@redhat.com>
2679
2680         * Makefile.in (regmove.o): Depend on except.h.
2681         * regmove.c: Include it.
2682
2683 2001-04-12  Stan Shebs  <shebs@apple.com>
2684
2685         * objc/objc-act.c: Remove all code ifdefed with the never-used
2686         macro OBJC_INT_SELECTORS.
2687         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
2688         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
2689
2690 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
2691
2692         * config/pa/quadlib.c: Add prototypes.
2693
2694 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2695
2696         * bitmap.h (debug_bitmap): Delete redundant prototype.
2697
2698         * rtl.h (get_frame_size): Likewise.
2699
2700 2001-04-12  Jim Wilson  <wilson@redhat.com>
2701
2702         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
2703         to just emit an fnorm.
2704
2705 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2706
2707         * c-common.h (truthvalue_conversion, type_for_mode,
2708         type_for_size): Delete redundant declarations.
2709
2710         * c-lex.h (is_class_name): Likewise.
2711
2712         * c-tree.h (pedantic, convert, getdecls, gettags,
2713         global_bindings_p, init_decl_processing, insert_block,
2714         maybe_build_cleanup, poplevel, print_lang_decl,
2715         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
2716         set_block, incomplete_type_error, build_function_call,
2717         lvalue_or_else, mark_addressable): Likewise.
2718
2719         * expr.h (expand_tree_builtin): Likewise.
2720
2721 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
2722
2723         * invoke.texi: Document --param max-gcse-memory.
2724
2725 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2726
2727         * configure.in (errno): Check for declaration.
2728         * configure, config.in: Regenerated.
2729
2730         * system.h (errno): Only declare if not already done.
2731
2732 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2733
2734         * recog.c (general_operand, immediate_operand,
2735         nonmemory_operand): Require CONST_INTs to be sign-extended
2736         values for their modes.
2737
2738 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2739
2740         * expmed.c (store_bit_field): Truncate CONST_INTs.
2741         (expand_mult_highpart, expand_divmod): Likewise.
2742         * expr.c (convert_modes, store_field): Likewise.
2743         * integrate.c (expand_inline_function): Use promote_mode() to
2744         determine whether to convert_modes() an argument as signed
2745         or unsigned.
2746         * optabs.c (expand_binop): Get CONST_INT operands
2747         sign-extended for their appropriate modes.
2748         * stmt.c (emit_case_nodes): Convert node values to the
2749         appropriate mode.
2750         (expand_end_case): Convert minval and range to the appropriate
2751         mode.
2752         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
2753         the iteration variable.
2754         * varasm.c (immed_double_const): Don't require words to be
2755         narrower than host wide ints to properly sign-extend
2756         CONST_INTs.
2757
2758 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
2759
2760         * sh.md (builtin_setjmp_receiver): New expander.
2761
2762 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
2763
2764         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
2765         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
2766         for generating CONST_INT and CONST_DOUBLE.
2767
2768 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
2769
2770         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
2771         already sign-extended.
2772         (rs6000_emit_prologue): Make register iterator signed.
2773         (rs6000_emit_epilogue): Likewise.
2774         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
2775         and low.
2776         (movsf split, movdf split): Sign-extend CONST_INTs.
2777         (movdi splits): Likewise.
2778
2779 2001-04-12  Kelley Cook <kelley.cook@home.com>
2780
2781         * config-lang.in (lang_dirs): Add in zlib.
2782
2783 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
2784
2785         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
2786         operands that make it to RTL.
2787
2788 2001-04-11  Stan Shebs  <shebs@apple.com>
2789
2790         Add Darwin (Mac OS X kernel) native support.
2791         * config.gcc (powerpc-*-darwin*): Add native bits.
2792         * config/darwin.c: New file, generic Darwin support functions.
2793         * config/darwin.h: New file, generic Darwin definitions.
2794         * config/darwin-protos.h: New file, generic Darwin prototypes.
2795         * rs6000/darwin.h: New file, Darwin for PowerPC.
2796         * rs6000/t-darwin: New file, Darwin makefile fragment.
2797         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
2798         (TARGET_MACHO): Ditto.
2799         (rs6000_abi): Add ABI_DARWIN.
2800         (RS6000_REG_SAVE): Add ABI_DARWIN case.
2801         (RS6000_SAVE_AREA): Ditto.
2802         (FP_ARG_MAX_REG): Ditto.
2803         (RETURN_ADDRESS_OFFSET): Ditto.
2804         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
2805         cases.
2806         (rs6000_emit_move): Add ABI_DARWIN cases.
2807         (print_operand): Ditto.
2808         (first_reg_to_save): Ditto.
2809         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
2810         (debug_stack_info): Ditto.
2811         (rs6000_emit_prologue): Ditto.
2812         (rs6000_emit_epilogue): Ditto.
2813         (output_profiler_hook): Ditto.
2814         (output_function_profiler): Ditto.
2815         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
2816         (output_mi_thunk): Add TARGET_MACHO case.
2817         (add_compiler_stub): Ditto.
2818         (output_compiler_stub): Ditto.
2819         (no_previous_def): Ditto.
2820         (output_call): Ditto.
2821         (machopic_output_stub): Ditto.
2822         (rs6000_machopic_legitimize_pic_address): Ditto.
2823         (toc_section): Ditto.
2824         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
2825         (macho_high): Ditto.
2826         (macho_low): Ditto.
2827         (movsi_low): Ditto.
2828         (load_macho_picbase): Ditto.
2829         (call): Add TARGET_MACHO case to modify function.
2830         (call_value): Ditto.
2831         (call_nonlocal_sysv): Add ABI_DARWIN case.
2832         (call_value_nonlocal_sysv): Ditto.
2833         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
2834         Add prototype.
2835         (machopic_output_stub): Ditto.
2836         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
2837
2838 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
2839
2840         * dwarf2out.c (modified_type_die): Don't create new types here.
2841         * tree.h (get_qualified_type): New function.
2842         (build_qualified_type): Adjust comment.
2843         * tree.c (get_qualified_type): New function.
2844         (build_qualified_type): Use it.
2845
2846 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2847
2848         * cpp.texi (-Wtraditional): Update description.
2849
2850         * invoke.texi (-Wtraditional): Likewise.
2851
2852 2001-04-11  Jim Wilson  <wilson@redhat.com>
2853
2854         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
2855         requires more than 64 bits of alignment.
2856
2857 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2858
2859         * cpplib.c (do_line): Sanity check iff enable checking.
2860
2861 2001-04-11  Richard Henderson  <rth@redhat.com>
2862
2863         * Makefile.in (insn-recog.o): Depend on toplev.h.
2864         (insn-emit.o, doloop.o): Likewise.
2865         * genrecog.c, genemit.c: Include toplev.h in generated file.
2866         * doloop.c: Include toplev.h.
2867
2868 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
2869
2870         * Makefile.in (gcse.o): Depend on params.h.
2871         * gcse.c: Include params.h.
2872         (gcse_main): Don't do GCSE if doing so will take inordinate
2873         amounts of memory.
2874         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
2875         * params.h (MAX_GCSE_MEMORY): New macro.
2876
2877 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2878
2879         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
2880
2881         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
2882
2883 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2884
2885         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
2886
2887         * real.h (ereal_atof, real_value_truncate, target_isnan,
2888         target_isinf, target_negative, assemble_real, debug_real): Delete
2889         redundant prototypes.
2890
2891         * Makefile.in (ifcvt.o): Depend on toplev.h.
2892
2893         * c-semantics.c: Include expr.h.
2894
2895         * ifcvt.c: Include toplev.h.
2896
2897         * expr.h (rtx_equal_p): Delete prototype.
2898
2899         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
2900         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
2901         eliminate_constant_term, expand_complex_abs, find_single_use,
2902         make_tree, init_expr_once, init_optabs, supports_one_only):
2903         Likewise.
2904
2905         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
2906         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
2907         expand_assignment, store_expr, emit_line_note_after,
2908         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
2909
2910         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
2911
2912         * sparc-protos.h: Delete redundant prototypes.
2913
2914 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
2915
2916         * reload.c (push_reload): Add condition missed in SUBREG byte
2917         offset patch.
2918
2919 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2920
2921         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
2922
2923 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
2924
2925         * i386.md (floatsisf_sse): Fix output template
2926         * i386.c (ix86_expand_fp_movcc)
2927
2928         * reg-stack.c (emit_pop_insn): Handle complex modes.
2929         (move_for_stack_reg): Emit proper move mode.
2930         (subst_stack_regs_pat): Handle complex modes.
2931
2932 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
2933
2934         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
2935
2936 2001-04-10  Richard Henderson  <rth@redhat.com>
2937
2938         * libgcc2.h (__terminate_func_ptr): Remove typedef.
2939         (__pure_virtual, __terminate, __terminate_set_func,
2940         __default_terminate, __throw_type_match, __empty,
2941         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
2942         __eh_rtime_match, __unwinding_cleanup, __rethrow,
2943         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
2944         Remove prototypes of deleted functions.
2945
2946 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2947
2948         * c-typeck.c (convert_arguments): -Wtraditional now activates
2949         -Wconversion warnings, except for changes in signed-ness.
2950         Detect complex<->int & int<->complex conversions as well.
2951
2952         * invoke.texi (-Wtraditional): Document it.
2953
2954 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2955
2956         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
2957         * flow.c (set_block_for_new_insns): Remove needless cast and
2958         properly check for unset block number.
2959
2960 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
2961
2962         * function.c (purge_single_hard_subreg_set): Only check REGNO if
2963         the subreg was a hard register. Pseudos are left as subregs.
2964
2965 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2966
2967         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
2968         (LIB2ADD_ST): New macro, pass it to mklibgcc.
2969         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
2970         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
2971         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
2972
2973 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
2974
2975         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
2976
2977 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
2978
2979         * output.h (set_block_num): Missed it earlier, remove deprecated
2980         prototype.
2981
2982 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
2983
2984         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
2985         (load_killed_in_block_p): Change bb parameter from int to basic_block.
2986         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
2987         (handle_rd_kill_set): Change bb parameter from int to basic_block.
2988         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
2989         (expr_killed_p): Change bb parameter from int to basic_block, pass
2990         basic_blocks instead of ints as parameters.
2991         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
2992         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
2993         from int to basic_block, pass basic_blocks instead of ints as parms.
2994         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
2995         parameter from int to basic_block, pass basic_blocks instead of ints.
2996         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
2997         (insert_insn_end_bb): Change bb parameter from int to basic_block,
2998         pass basic_blocks instead of ints.
2999         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
3000         basic_blocks instead of ints as parameters.
3001         (pre_delete): Pass basic_blocks instead of ints as parameters.
3002         (hoist_expr_reaches_here_p): Change bb parameter from int to
3003         basic_block, pass basic_blocks instead of ints.
3004         (hoist_code): Pass basic_blocks instead of ints as parameters.
3005         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
3006         Change bb parameter from int to basic_block.
3007         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
3008         (insert_insn_start_bb): Change bb parameter from int to basic_block,
3009         pass basic_blocks instead of ints.
3010         (insert_store): Pass basic_blocks instead of ints as parameters.
3011         (replace_store_insn, delete_store): Change bb parameter from int to
3012         basic_block, pass basic_blocks instead of ints.
3013         (store_motion): Pass basic_blocks instead of ints as parameters.
3014
3015 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3016
3017         * basic-block.h (set_new_block_for_insns): New Prototype.
3018         (set_block_num): Delete prototype.
3019         * flow.c (set_block_num): Remove obsolete function.
3020         (set_block_for_new_insns): Set BB for single or multiple insns.
3021         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
3022         (process_insn_end_bb): Use set_block_for_new_insns or
3023         set_block_for_insn instead of set_block_num.
3024         (pre_insert_copy_insn): Use set_block_for_new_insns.
3025         (update_ld_motion_stores): Use set_block_for_new_insns.
3026         (insert_insn_start_bb): Use set_block_for_new_insns.
3027         (replace_store_insn): Use set_block_for_new_insns.
3028
3029 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3030             Jeff Law  <law@redhat.com>
3031
3032         * alias.c (get_addr): Externalize.
3033         (canon_true_dependence): New function. Behaves like true_dependance
3034         except it already assumes a MEM has been canonicalized.
3035         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
3036         * gcse.c (struct ls_expr): Add load/store expressions structure.
3037         (modify_mem_list, canon_modify_mem_list): New variable.
3038         (gcse_main): Initialize & finalize alias analysis. Use enhanced
3039         load motion and store motion if requested.
3040         (alloc_gcse_mem): Allocate space for modify_mem_list array.
3041         (free_gcse_mem): Free the modify_mem_list array.
3042         (oprs_unchanged_p): Use load_killed_in_block_p.
3043         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
3044         (mems_conflict_for_gcse_p): New function.  Don't kill loads
3045         with stores to themselves if its in the load/store expression list.
3046         (load_killed_in_block_p): New function.
3047         (canon_list_insert): New Function.
3048         (record_last_mem_set_info): Keep a list of all instructions which
3049         can modify memory for each basic block.
3050         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
3051         (oprs_not_set_p): Use load_killed_in_block_p.
3052         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
3053         (expr_killed_p): Use load_killed_in_block_p.
3054         (compute_transp): Do not pessimize memory references.
3055         (pre_edge_insert): Update stores for a load motion expression.
3056         (one_pre_gcse_pass): Check loads/stores for extra load motion.
3057         (ldst_entry): Find or create a ldst_expr structure.
3058         (free_ldst_entry): Free memory for an individual item.
3059         (free_ldst_mems): Free entire load/store expression list.
3060         (print_ldst_list): Print debug info.
3061         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
3062         (enumerate_ldsts): Assign integer values to each entry in list.
3063         (first_ls_expr): First expression in the list.
3064         (next_ls_expr): Next expression in the list.
3065         (simple_mem): Check if expression qualifies for ld/st expression list.
3066         (invalidate_any_buried_refs): Remove from expression list if its
3067         used in some other way we dont understand.
3068         (compute_ld_motion_mems): Find all potential enhanced load motion
3069         expression.
3070         (trim_ld_motion_mems): Remove any expressions which are invalid.
3071         (update_ld_motion_stores): Copy store values to registers for loads
3072         which have been moved.
3073         (regvec, st_antloc, num_store): New global statics.
3074         (reg_set_info): Marks registers as set.
3075         (store_ops_ok): Verfies registers expressions are valid in a block.
3076         (find_moveable_store): Look for moveable stores in a pattern.
3077         (compute_store_table): Find stores in a function worth moving, maybe.
3078         (load_kills_store): Check dependance of a load and store.
3079         (find_loads): Find any loads in a pattern.
3080         (store_killed_in_insn): Check if a store is killed in an insn.
3081         (store_killed_after): Check is store killed after an insn in a block.
3082         (store_killed_before): Check is store killed before an insn in a block.
3083         (build_store_vectors): Generate the antic and avail vectors.
3084         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
3085         (insert_store): Add a store to an edge.
3086         (replace_store_insn): Replace a store with a SET insn.
3087         (delete_store): Delete a store insn.
3088         (free_store_memory): Free memory.
3089         (store_motion): Perform store motion.
3090         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
3091         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
3092         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
3093         (f_options): Add gcse-lm and gcse-sm.
3094
3095 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3096
3097         * i386.c (expand_fp_movcc): Fix condition reversal code.
3098
3099         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
3100         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
3101         (CLASS_MAX_NREGS): Use it.
3102
3103         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
3104         handle properly complex values.
3105         (CLASS_MAX_NREGS): Likewise; update comment.
3106
3107 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
3108
3109         * ia64.c (ia64_flag_schedule_insns2): New variable.
3110         (ia64_override_options): Initialize it.  Clear
3111         flag_schedule_insns_after_reload.
3112         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
3113
3114 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
3115
3116         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
3117         Do not require source to match destination anymore;
3118         Add abort to the nontrivial cases that should be handled by split.
3119         (fix_trunc?fdi): Add SSE case for x86_64.
3120         (floatdi?f): Likewise.
3121         (floatdi?f_sse): New.
3122         (fix_trunc?fdi_sse): New.
3123
3124 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
3125
3126         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
3127         (DEBUG_ARANGES_END_LABEL): Ditto.
3128         (dwarfout_init): Generate length and version fields at the start
3129         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
3130         after the length field.
3131         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
3132         the .debug_aranges info.
3133
3134 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
3135
3136         * i386.c (call, call_value): Make sure that resulting call_insn
3137         does have proper second operand.
3138
3139 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
3140
3141         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
3142         function.  Remove include of sys/cygwin.h.
3143
3144 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
3145
3146         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
3147         (CPP_SPEC): Always search */include/w32api for header files.
3148         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
3149         (LINK_SPEC): Add "cyg" to the library search prefixes.
3150
3151 2001-04-08  Philip Blundell  <philb@gnu.org>
3152
3153         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
3154
3155 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3156
3157         * cpperror.c (print_location): Don't special case <stdin>.
3158         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
3159         WARNING, but we don't check if we're in system headers.
3160         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
3161         * cpplib.c (do_warning): Warn in system headers.
3162
3163 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
3164
3165         * mbchar.c: Include config.h first.
3166
3167 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
3168
3169         * config.gcc: Set default for xmake_file at top, not bottom.
3170         Change places that set xmake_file to "none" to set to the
3171         empty string instead, or remove them entirely if there is no
3172         default xmake_file for this cpu_type.  Remove references to
3173         deleted files.
3174
3175         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
3176         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
3177         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
3178         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
3179         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
3180         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
3181         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
3182         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
3183         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
3184         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
3185         Delete.
3186
3187         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
3188         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3189         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3190         config/mips/x-sysv, config/rs6000/x-aix31:
3191         Just set CLIB to -lld or -lmld, as appropriate.
3192
3193         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
3194         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
3195         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
3196         config/mips/x-iris, config/pa/x-pa:
3197         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
3198         OTHER_FIXINCLUDES_DIRS.
3199
3200         * config/i386/x-djgpp: Don't set LN or LN_S.
3201         * config/m88k/x-dolph: Don't define __m88k__.
3202         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
3203         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
3204         * config/i860/fx2800.h: No need to #undef SVR4.
3205
3206         38 x-host fragments remain, 2 x-cpu.
3207
3208 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3209
3210         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
3211
3212 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3213
3214         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
3215
3216 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3217
3218         * configure.in: Add check for lstat.
3219         * configure, config.in: Regenerate.
3220         * cppinit.c (append_include_chain): Make empty path ".".
3221         * cpplib.c (do_line): Don't simplify #line paths.
3222         * cppfiles.c (remove_component_p): New function.
3223         (find_or_create_entry): Acknowledge stat () errors during
3224         path simplification.
3225         (handle_missing_header): Don't simplify paths.
3226         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
3227         the empty path untouched.  Don't leave a trailing '/'.
3228
3229 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
3230
3231         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3232         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3233
3234 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3235
3236         * cppfiles.c (open_file): Fail directories silently, but
3237         with an errno of NOENT set.
3238         (read_include_file): Move the common exit code to the sole
3239         caller.  Return an int indicating success or failure.  Let
3240         open_file handle directories.
3241         (stack_include_file): If read_include_file fails,
3242         push a "null" buffer.
3243
3244 2001-04-05  DJ Delorie  <dj@redhat.com>
3245
3246         * function.h (virtuals_instantiated): Declare.
3247         * function.c: (virtuals_instantiated): Make global.
3248         * calls.c (emit_library_call_value_1): Use
3249         virtual_outgoing_args_rtx only if it hasn't been instantiated.
3250         Otherwise, use the stack pointer directly.
3251
3252 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
3253
3254         * i386.c (x86_initialize_trampoline): New global function.
3255         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
3256         (INITIALIZE_TRAMPOLINE): Move offline.
3257         * i386-protos.h (x86_initialize_trampoline): Declare.
3258
3259 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
3260
3261         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
3262         (lea_0): Rename to lea_1.
3263         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
3264         (lea_general_?): Allow SImodes on TARGET_64BIT
3265         (lea_general_?_zext): New patterns.
3266         (call_1, call_1_rex64): Fix.
3267
3268 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
3269
3270         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
3271
3272 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
3273
3274         * i386.c (function_arg): Return constm1_rtx for last argument.
3275         (ix86_expand_prologue): Update gen_call calls.
3276         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
3277         * i386.md (call_pop): Likewise.
3278         (call): Second operand is VOIDmode.
3279         (call_0): Likewise; Support 64bits.
3280         (call_exp): New expander.
3281         (call_1): Get to the sync.
3282         (call_1_exp): New pattern.
3283         (call_value): Support 64bit.
3284         (call_value_exp): New pattern.
3285         (untyped_call): Update gen_call call.
3286         (call_value_pop): Disable for 64bit.
3287         (call_value_0_rex64): New pattern.
3288         (call_value_1_rex64): Likewise.
3289
3290 2001-04-05  Bo Thorsen  <bo@suse.de>
3291
3292         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
3293
3294 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
3295
3296         * i386.md (*andsi_1+3): If used after reload, make sure the operand
3297         satisfies ANY_QI_REG_P.
3298
3299 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
3300
3301         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
3302         ASM_OPERAND.
3303
3304         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
3305         change.
3306
3307 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
3308
3309         * config.gcc: Remove default for xm_file.  Clean up local
3310         machine type handling.  Remove settings of xm_file to
3311         something that doesn't exist.  In the big switch, set xm_file,
3312         don't append to it (the value before the big switch is always
3313         null).  Don't force build_xm_file or host_xm_file to have a value.
3314         * configure.in: Remove default for xm_file.  Do not special
3315         case $cpu/xm-$cpu.h not existing.
3316         * configure: Regenerate.
3317
3318 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
3319
3320         * simplify-rtx.c (simplify_binary_operation): Check for overflow
3321         when folding integer division and modulo operations.
3322
3323 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
3324
3325         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
3326         instead of DWARF2_ADDR_SIZE for EH addresses.
3327         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
3328         EH addresses.
3329
3330 2001-04-04  Richard Henderson  <rth@redhat.com>
3331
3332         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
3333         * config/ia64/t-glibc (LIB2ADDEH): Disable.
3334         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
3335
3336 2001-04-04  Richard Henderson  <rth@redhat.com>
3337
3338         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
3339         * configure: Rebuilt.
3340
3341 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
3342
3343         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
3344         push insns to delete to it instead of deleting them.
3345         (delete_null_pointer_checks): Delete insns from delete_list after
3346         all delete_null_pointer_checks_1 passes are done.
3347
3348 2001-04-04  Richard Henderson  <rth@redhat.com>
3349
3350         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
3351         * configure: Rebuilt.
3352
3353 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
3354
3355         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
3356         * config/romp/xm-romp.h: Delete.
3357
3358 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
3359
3360         * sched-deps.c (sched_analyze_insn): Partially revert March 27
3361         change.
3362
3363 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3364
3365         * emit-rtl.c (mark_label_nuses) Increment the label uses for
3366         all labels present in rtx.
3367         (try_split) Call new function for all split insns.
3368
3369 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
3370
3371         * recog.c (validate_replace_rtx_1): Instead of aborting just make
3372         sure the change won't be validated.
3373
3374 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
3375
3376         * rtl.h (set_noop_p): Declare.
3377         * flow.c (set_noop_p): Move from here ...
3378         * rtlanal.c (set_noop_p): ... to here and enhance.
3379         * cse.c (delete_trivially_dead_insns): Use it.
3380         * gcse.c (hash_scan_set): Likewise.
3381         * jump.c (delete_noop_moves): Likewise.
3382         * recog.c (split_all_insns): Likewise.
3383
3384 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
3385
3386         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
3387         stack pointer via a LO_SUM.  Ditto for setting a temp register
3388         used to save to the stack.  Set cfa_temp when setting fp, and
3389         allow matches to cfa_temp in addition to cfa_store when saving
3390         regs.  Handle POST_INC and LO_SUM register stores.  Document the
3391         changes and errors in rule 12 doco.
3392
3393         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
3394         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
3395         (load_reg): Move closer to epilogue code.
3396         (DO_FRAME_NOTES): Define to control the following..
3397         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
3398         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
3399         notes as necessary.
3400         (hppa_expand_epilogue): Likewise.
3401
3402 2001-04-03  Richard Henderson  <rth@redhat.com>
3403
3404         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
3405         * configure: Rebuild.
3406
3407 2001-04-03  Richard Henderson  <rth@redhat.com>
3408
3409         * rtl.h (LCT_THROW): New.
3410         * calls.c (emit_library_call_value_1): Handle it.
3411         * except.c (connect_post_landing_pads): Use it.
3412
3413 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
3414
3415         * gansidecl.h: Delete file.
3416         * configure.in: Change all refs to gansidecl.h to use
3417         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
3418         lives.
3419         * configure: Regenerate.
3420
3421         * Makefile.in (intl.o): Don't depend on gansidecl.h.
3422         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
3423         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
3424         Don't include gansidecl.h.
3425         * intl.c, main.c, version.c, fixinc/fixlib.h,
3426         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
3427         gansidecl.h.
3428
3429 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3430
3431         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
3432         Update for 64bit.
3433
3434 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
3435
3436         * config/i386/xm-beos.h, config/i386/xm-isc.h,
3437         config/i386/xm-next.h, config/i386/xm-sco.h,
3438         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
3439         config/m88k/xm-m88k.h: Delete.
3440
3441         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
3442         * config/romp/xm-romp.h: Don't define bcopy.
3443         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
3444         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
3445
3446         * config.gcc: Remove references to deleted files.
3447
3448         14 xm-host.h remain, 1 xm-cpu.h.
3449
3450 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
3451             David S. Miller  <davem@pierdol.cobaltmicro.com>
3452             Andrew MacLeod  <amacleod@redhat.com>
3453
3454         Use byte offsets in SUBREGs instead of words.
3455
3456         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
3457         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
3458         to pass new argument.
3459         (add_stored_regs): Use subreg_regno_offset function.
3460         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
3461         into account.
3462         (precompute_arguments): Use gen_lowpart_SUBREG.
3463         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
3464         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
3465         (simplify_set): Rework to use SUBREG_BYTE.
3466         (expand_field_assignment): Use SUBREG_BYTE.
3467         (make_extraction): Use SUBREG_BYTE.
3468         (if_then_else_cond): Use SUBREG_BYTE.
3469         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
3470         (gen_lowpart_for_combine): Compute full byte offset.
3471         * cse.c (mention_regs): Use SUBREG_BYTE.
3472         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
3473         (canon_hash): Use SUBREG_BYTE.
3474         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
3475         (gen_lowpart_if_possible): Formatting.
3476         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
3477         correctly.
3478         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
3479         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3480         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3481         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
3482         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3483         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3484         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
3485         certain invariants about SUBREGs the compiler creates.
3486         (gen_lowpart_SUBREG): New function.
3487         (subreg_hard_regno): New function to get the final register number.
3488         (gen_lowpart_common): Use SUBREG_BYTE.
3489         (gen_imagpart): Spacing nits.
3490         (subreg_realpart_p): Use SUBREG_BYTE.
3491         (gen_highpart): Use SUBREG_BYTE.
3492         (subreg_lowpart_p): Always compute endian corrected goal offset,
3493         even at the byte level, then compare against that.
3494         (constant_subword): New function, pulled out all constant cases
3495         from operand_subword and changed second argument name to offset.
3496         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
3497         and call constant_subword to do the work.  Return const0_rtx if
3498         looking for a word outside of OP.
3499         (operand_subword_force): Change second arg name to offset.
3500         * expmed.c (store_bit_field): Use SUBREG_BYTE.
3501         (store_split_bit_field): Use SUBREG_BYTE.
3502         (extract_bit_field): Use SUBREG_BYTE.
3503         (extract_split_bit_field): Use SUBREG_BYTE.
3504         (expand_shift): Use SUBREG_BYTE.
3505         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
3506         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
3507         * flow.c (set_noop_p): Use SUBREG_BYTE.
3508         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
3509         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
3510         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
3511         correction code.
3512         (optimize_bit_field): Use SUBREG_BYTE.
3513         (purge_addressof_1): Use SUBREG_BYTE.
3514         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
3515         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
3516         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
3517         * gengenrtl.c (special_rtx): Add SUBREG.
3518         * global.c (mark_reg_store): Use SUBREG_BYTE.
3519         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
3520         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
3521         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
3522         final byte offset is congruent to subreg's mode size.
3523         (subst_constants): Use SUBREG_BYTE.
3524         (mark_stores): Use subreg_regno_offset function.
3525         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
3526         function and SUBREG_BYTE.
3527         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
3528         (reg_is_born): Use subreg_hard_regno.
3529         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
3530         endian correction code.  Don't combine subregs unless resulting
3531         offset aligns with type.  Fix subreg constant extraction for DImode.
3532         Simplify SUBREG of VOIDmode CONST_DOUBLE.
3533         (general_operand): Remove dead mode_altering_drug code.
3534         (indirect_operand): Use SUBREG_BYTE.
3535         (constrain_operands): Use subreg_regno_offset function.
3536         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
3537         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
3538         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
3539         * regs.h (REG_SIZE): Allow target to override.
3540         (REGMODE_NATURAL_SIZE): New macro which target can override.
3541         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
3542         on the entire subreg rtx.
3543         (push_reload): Use SUBREG_BYTE in comments and code.
3544         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
3545         for hard registers inside subregs.
3546         (operands_match_p): Use subreg_regno_offset.
3547         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
3548         containing hard regs.
3549         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
3550         corrections when fixing up MEM subregs.
3551         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
3552         subreg_regno_offset where appropriate.
3553         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
3554         byte endian corrections when fixing up MEM subregs.
3555         (subst_reloads): When combining two subregs, make sure final
3556         offset is congruent to subreg's mode size.
3557         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
3558         (refers_to_regno_for_reload_p): Use subreg_regno.
3559         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
3560         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
3561         correction code for memory subreg fixups.
3562         (forget_old_reload_1): Use subreg_regno_offset.
3563         (choose_reload_regs): Use subreg_regno.
3564         (emit_input_reload_insns): Use SUBREG_BYTE.
3565         (reload_combine_note_store): Use subreg_regno_offset.
3566         (move2add_note_store): Use subreg_regno_offset.
3567         * resource.c (update_live_status, mark_referenced_resources): Use
3568         subreg_regno function.
3569         (mark_set_resources): Use subreg_regno function.
3570         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
3571         (subreg_regno_offset, subreg_regno): Define prototypes.
3572         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
3573         (gen_lowpart_SUBREG): Add prototype.
3574         * rtl.texi (subreg): Update to reflect new byte offset representation.
3575         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
3576         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
3577         (reg_overlap_mentioned_p): Use subreg_regno.
3578         (replace_regs); Make sure final offset of combined subreg is
3579         congruent to size of subreg's mode.
3580         (subreg_regno_offset): New function.
3581         (subreg_regno): New function.
3582         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
3583         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
3584         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
3585         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
3586         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
3587         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
3588         (a29k_get_reloaded_address): Use SUBREG_BYTE.
3589         (print_operand): Use SUBREG_BYTE.
3590         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
3591         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
3592         (arm_reload_out_hi): Use SUBREG_BYTE.
3593         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
3594         instead of SUBREG_WORD.
3595         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
3596         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
3597         SUBREG creation to use byte offset.
3598         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
3599         inverted load insns): Fix explicit rtl subregs to use byte
3600         offsets.
3601         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
3602         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
3603         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
3604         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
3605         to use byte offsets.
3606         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
3607         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
3608         offsets, also make sure it is congruent to SUBREG's mode size.
3609         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
3610         unnamed ldob insn): Generate SUBREGs with byte offset.
3611         (zero_extendqihi2): SUBREG's are byte offsets.
3612         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
3613         (m68hc11_gen_highpart): Use SUBREG_BYTE.
3614         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
3615         zero-extendqisi2): Generate SUBREGs with byte offset.
3616         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
3617         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
3618         subregs in rtl to use byte offsets.
3619         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
3620         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
3621         (mips_move_2words): Use subreg_regno_offset.
3622         (mips_secondary_reload_class): Use subreg_regno_offset.
3623         * config/mips/mips.md (DImode plus, minus, move, and logical op
3624         splits): Fixup explicit subregs in rtl to use byte offsets.
3625         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
3626         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
3627         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
3628         rtl to use byte offsets.
3629         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
3630         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
3631         subregs to use byte offsets.
3632         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
3633         Fixup explicit subregs in rtl to use byte offsets.
3634         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
3635         and remove byte endian correction code.
3636         * config/sh/sh.c (output_movedouble): Use subreg_regno.
3637         (gen_ashift_hi): Use SUBREG_BYTE.
3638         (regs_used): Use subreg_regno_offset.
3639         (machine_dependent_reorg): Use subreg_regno_offset.
3640         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
3641         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
3642         (movdf_i4): Subregs are byte offsets now.
3643         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
3644         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
3645         (REGMODE_NATURAL_SIZE): Override.
3646         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
3647         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
3648         with byte offsets.
3649         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
3650         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
3651         extendqidi2): Generate SUBREGs with byte offsets, also make sure
3652         it is congruent to SUBREG's mode size.
3653         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
3654         offsets.
3655         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
3656         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
3657         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
3658         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
3659         * config/v850/v850.c (print_operand, output_move_double): Use
3660         subreg_regno function.
3661
3662 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
3663
3664         * configure.in (target_subdir): Use target_alias, not target.
3665         * configure: Rebuilt.
3666
3667         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
3668         other way round.
3669         * config/sh/crti.asm: Fix typos in comments.
3670
3671 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
3672
3673         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
3674         TARGET_FAST_INDIRECT_CALLS.
3675         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
3676         -fPIC.  Don't warn.
3677         (return_addr_rtx): Short circuit export stub matching when
3678         TARGET_NO_SPACE_REGS.
3679         (output_millicode_call): For out of range calls, make -fPIC
3680         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
3681         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
3682         * pa.md: Modify length attr calculation of all millicode insns to
3683         match above.
3684
3685 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
3686
3687         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
3688         Require at least 2.11 in the version test.  Specifically check
3689         for and reject GAS version 2.10.90.
3690         * configure: regenerate.
3691
3692 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
3693
3694         * pa.c (override_options): Remove PIC profiling warning.
3695         (hp_profile_labelno): Delete.
3696         (hp_profile_label_rtx): Delete.
3697         (hp_profile_label_name): Delete.
3698         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
3699         (output_function_prologue): Remove profiling code and all tests on
3700         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
3701         merge_sp_adjust_with_store can work for PIC and profiling.
3702         (hppa_expand_epilogue): Remove profile_flag test.
3703         (hppa_can_use_return_insn_p): Likewise.
3704         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
3705         cater for PROFILE_HOOK.
3706         (hppa_profile_hook): New function.
3707         * pa.h (FUNCTION_PROFILER): Now does nothing.
3708         (PROFILE_HOOK): Define.
3709         (hppa_profile_hook): Declare.
3710         (PROFILE_BEFORE_PROLOGUE): Delete.
3711         (ASM_OUTPUT_REG_PUSH): Delete.
3712         (ASM_OUTPUT_REG_POP): Delete.
3713         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
3714         r24.  Accept function name operand, and use this and a locally
3715         generated label to calculate pc-rel offset to func start.
3716
3717 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3718
3719         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
3720         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
3721         $(SYSTEM_H).
3722
3723 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
3724
3725         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
3726         LO_SUM cases to where they belong.
3727
3728 2001-04-02  Richard Henderson  <rth@redhat.com>
3729
3730         * except.h (lang_eh_type_covers): Mark extern.
3731         (lang_eh_runtime_type): Likewise.
3732
3733 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
3734
3735         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
3736         gengenrtl.c:  Wrap generated header in multiple-include guard.
3737         Improve error checking.
3738
3739 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3740
3741         * configure.in: Don't check for putenv.
3742         * configure: Regenerate.
3743         * gcc.c (putenv): Don't define.
3744         * vax/xm-vms.h: Handle putenv.
3745
3746 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
3747
3748         * ifcvt.c (noce_emit_move_insn): New.
3749         (noce_try_store_flag, noce_try_store_flag_constants,
3750         noce_try_store_flag_inc, noce_try_store_flag_mask,
3751         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
3752         noce_try_abs): Use it.
3753         (noce_process_if_block): Likewise.
3754         For STRICT_LOW_PART, take mode from its SUBREG.
3755
3756 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
3757
3758         * fold-const.c (fold): Before optimizing unsigned comparison with
3759         0x7fffffffU, make sure arg0 is integral type.
3760
3761 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3762
3763         * c-tree.texi: Document representation of wide strings.
3764
3765 2001-04-01  Richard Henderson  <rth@redhat.com>
3766
3767         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
3768
3769 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
3770
3771         * i386.md: remove obsoleted comments.
3772         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
3773         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
3774         fix output template.
3775
3776 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
3777
3778         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
3779
3780 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
3781
3782         * loop.c (load_mems): When generating a load from a pseudo, update
3783         REGNO_LAST_UID.
3784
3785 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
3786
3787         * i386.c (ix86_split_long_move): Use change address to compensate
3788         stack pointer change in push instruction.
3789
3790 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
3791
3792         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
3793         instead of rtx_equal_p; fix the output template.
3794
3795 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
3796
3797         * i386.c (ix86_expand_setcc): Support 64bit.
3798         (ix86_expand_int_movcc): Likewise.
3799         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
3800         New patterns.
3801
3802         * i386.md (allocate_stack_worker): Turn to expander.
3803         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
3804
3805         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
3806
3807 2001-03-29  Richard Henderson  <rth@redhat.com>
3808
3809         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
3810
3811 2001-03-28  Matthew Hiller  <hiller@redhat.com>
3812
3813         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
3814         output template.
3815
3816         * MAINTAINERS: Added self.
3817
3818 2001-03-28  Richard Henderson  <rth@redhat.com>
3819
3820         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
3821         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
3822
3823 2001-03-28  Jim Wilson  <wilson@redhat.com>
3824
3825         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
3826         operand_subword.
3827
3828 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3829
3830         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
3831
3832         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
3833         `error'.
3834
3835         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
3836
3837 2001-03-28  DJ Delorie  <dj@redhat.com>
3838
3839         * Makefile.in (stage1_build): Revert CFLAGS patch.
3840
3841 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
3842
3843         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
3844         when multiplier or multiplicand is zero.
3845
3846 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
3847
3848         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
3849
3850         * config/ia64/ia64.c (update_set_flags): New function, broken out of
3851         rtx_needs_barrier.
3852         (set_src_needs_barrier): Likewise.
3853         (rtx_needs_barrier): For SET case, use these two functions.  Rework
3854         PARALLEL case to handle all inputs before all outputs.
3855         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
3856         saw a label and no stop bit since then.
3857         (maybe_rotate, process_epilogue): Add prototypes.
3858
3859 2001-03-28  Richard Henderson  <rth@redhat.com>
3860
3861         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
3862         not TARGET_TOC for special toc restore handling.
3863         * config/rs6000/rs6000.md (eh_return): Likewise.
3864
3865 2001-03-28  Richard Henderson  <rth@redhat.com>
3866
3867         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
3868         current_function_calls_eh_return.
3869         (output_function_epilogue): Handle eh_return.
3870         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
3871         (EH_RETURN_DATA_REGNO): New.
3872         (EH_RETURN_STACKADJ_RTX): New.
3873         (EH_RETURN_HANDLER_RTX): New.
3874         * config/sparc/sparc.md (call/short branch peepholes): Check
3875         can_throw_internal instead of in_same_eh_region.
3876
3877         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
3878         for eh_return data registers.
3879         (rs6000_emit_prologue): Save eh_return data registers.
3880         (rs6000_emit_epilogue): Force inline restores if eh_return.
3881         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
3882         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
3883         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
3884         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
3885         the target uses one.
3886         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
3887         (return_eh_si, return_eh_di): Remove.
3888         (eh_return): New, from corpse of eh_epilogue.
3889         (eh_set_lr_si, eh_set_lr_di): New.
3890
3891         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
3892         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
3893         True for pic register if current_function_calls_eh_return.
3894         (ix86_expand_epilogue): Change "emit_return" argument into "style".
3895         Handle eh_return requirements.
3896         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
3897         (EH_RETURN_STACKADJ_RTX): New.
3898         * config/i386/i386.md (exception_receiver): Remove.
3899         (eh_return, eh_return_1): New.
3900         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3901
3902         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
3903         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
3904         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
3905         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
3906         (EH_RETURN_DATA_REGNO): New.
3907         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
3908         * config/alpha/alpha.md (eh_epilogue): Remove.
3909         (exception_receiver): Use $26 for ldgp input.
3910         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3911
3912 2001-03-28  Richard Henderson  <rth@redhat.com>
3913
3914         * except.c: Rewrite entirely for IA-64 ABI exception handling.
3915         * except.h: Likewise.
3916
3917         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
3918         (LIB2ADDEHDEP): New.
3919         (LIB2FUNCS_EH): Remove.
3920         (LIB2ADD): Remove LIB2ADDEH.
3921         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
3922         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
3923         (crt{begin,end}[S].o): Likewise.
3924         (except.o): Update includes.
3925         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
3926         (libgcc2_c_dep): Use LIB2ADDEHDEP.
3927
3928         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
3929         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
3930         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
3931         * builtins.c (expand_builtin): Implement it.
3932         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
3933         * c-common.c (c_common_nodes_and_builtins): Declare it.
3934         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
3935         * calls.c (libfunc_nothrow): Remove.
3936         (emit_library_call_value_1): Don't call it.
3937         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
3938         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
3939         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
3940         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
3941         (current_funcdef_number): Globalize.
3942         (output_call_frame_info): Emit frame data if an lsda is needed.
3943         Generate augmentation for personality routine.  Don't play with
3944         difference symbols.
3945         (dwarf2out_begin_prologue): Record funcdef_number.
3946         * dwarf2out.h (current_funcdef_number): Declare.
3947         * expr.c (expand_expr): Update for except.h name changes.
3948         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
3949         * expr.h (LTI_throw, LTI_rethrow): Remove.
3950         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
3951         (LTI_eh_rtime_match): Remove.
3952         (LTI_unwind_resume, LTI_eh_personality): Add.
3953         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
3954         * final.c (final): Don't call check_exception_handler_labels,
3955         init_insn_eh_region, or free_insn_eh_region.
3956         (final_scan_insn): Always emit debug labels for
3957         NOTE_INSN_EH_REGION notes.
3958         * flags.h (flag_new_exceptions): Remove.
3959         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
3960         (record_active_eh_regions): Remove.
3961         (count_basic_blocks): Check all instructions for REG_EH_REGION.
3962         Use can_throw_internal.
3963         (find_basic_blocks_1): Likewise.
3964         (move_stray_eh_region_notes): Remove.
3965         (find_label_refs): No eh_return_stub_label.
3966         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
3967         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
3968         changes.
3969         (delete_unreachable_blocks): Don't track deleted handlers.
3970         (flow_delete_block): Use maybe_remove_eh_handler.
3971         (delete_eh_regions): Remove.
3972         (merge_blocks): Don't check for eh region match.
3973         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
3974         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
3975         (init_propagate_block_info): Disable dead frame store optimization
3976         when current_function_calls_eh_return.
3977         (dump_bb): Don't print eh_beg, eh_end.
3978         * function.c (fixup_var_refs): No catch_clauses.
3979         (expand_function_end): Likewise.  Call expand_eh_return before
3980         the return register use.  Call sjlj_emit_function_exit_after.
3981         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
3982         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
3983         * ifcvt.c (dead_or_predicable): Remove eh region check.
3984         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
3985         Don't check for EH vs parameters.
3986         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
3987         (expand_inline_function): Call duplicate_eh_regions.
3988         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
3989         (copy_insn_notes): Remap REG_EH_REGION notes.
3990         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
3991         * integrate.h (struct inline_remap): Add local_return_label.
3992         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
3993         check_exception_handler_labels, nor exception_optimize.
3994         (find_cross_jump): No EH region check.
3995         * optabs.c (init_optabs): Update for changed eh libfuncs.
3996         * rtl.def (RESX): New.
3997         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
3998         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
3999         checks.  Update for except.h name changes.
4000         (expand_cleanups): Likewise.
4001         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
4002         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
4003         (compile_file): Call init_eh before init_optabs.  Don't
4004         output_exception_table here.
4005         (rest_of_compilation): Call convert_from_eh_region_ranges,
4006         convert_to_eh_region_ranges, output_function_exception_table.
4007         Don't emit_eh_context.
4008         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
4009         (EXC_PTR_EXPR): New.
4010
4011         * md.texi (eh_epilogue): Remove.
4012         (eh_return): Document.
4013         * tm.texi (EH_RETURN_DATA_REGNO): Document.
4014         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
4015
4016         * eh-common.h: Remove file.
4017         * frame-dwarf2.c, frame.c, frame.h: Remove files.
4018         * libgcc2.c (L_eh): Remove.
4019
4020         * unwind-dw2-fde.c: New file, largely copied from frame.c.
4021         * unwind-dw2-fde.h: New file.
4022         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
4023         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
4024         * libgcc-std.ver: Update for eh symbols.
4025
4026 2001-03-27  Richard Henderson  <rth@redhat.com>
4027
4028         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
4029         reduce false positives.
4030         (regmove_optimize): Disable if flag_non_call_exceptions.
4031
4032         * stmt.c (expand_return): Remove always true predicate.
4033         (expand_decl_cleanup_no_eh): Remove dead code.
4034
4035         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
4036         barrier code.  Add a scheduling barrier if a non-call insn
4037         can throw internally.
4038
4039         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
4040         Auto-inc addresses trap only if their base register does.
4041
4042         * except.c (can_throw_internal): Rename from can_throw.
4043         * except.h, resource.c: Update references.
4044
4045         * integrate.c (copy_insn_list): Use returnjump_p.
4046         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
4047
4048         * function.h (struct function): Move all boolean valued fields
4049         to single bit fields at the end of the struct.
4050
4051         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
4052         jump.c, toplev.c:
4053         Rename asynchronous_exceptions to flag_non_call_exceptions.
4054
4055         * gthr-single.h (UNUSED): New.  Distinguish between how C
4056         and C++ mark unused function arguments.  Use throughout.
4057
4058         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
4059         value to target configuration header.
4060         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
4061         * config.in, configure: Rebuild.
4062         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
4063         configuration and target defines.
4064         (exceptions_via_longjmp): Remove.
4065         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
4066         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
4067
4068         * except.h (flag_non_call_exceptions): Move ...
4069         * flags.h: ... here.
4070
4071         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
4072         exceptions, put the note on the trapping instruction.
4073
4074         * flags.h (flag_new_exceptions): Remove.
4075         * toplev.c: Don't set it.
4076         * final.c: Don't check it.
4077         * except.c: Provide stub definition.
4078
4079         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
4080         (calculate_global_regs_live): Kill call-clobbered registers
4081         across exception edges.
4082         * reg-stack.c (convert_regs_1): Kill the entire target stack
4083         across non-call exception edges.
4084
4085         * flow.c (cleanup_cfg): Take no argument.
4086         * output.h, sibcall.c, toplev.c: Update all calls.
4087
4088 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4089
4090         * configure.in: Don't check for bcopy.
4091         * configure, config.in: Regenerate.
4092
4093         * system.h: Don't define or prototype bcopy, instead poison it.
4094
4095 2001-03-27  Richard Henderson  <rth@redhat.com>
4096
4097         * function.c (expand_function_start): Set DECL_REGISTER on
4098         a pseudo used for DECL_RESULT.
4099
4100         * rtl.h (LCT_NORETURN): New.
4101         * calls.c (emit_library_call_value_1): Handle it.
4102
4103 2001-03-27  Stan Shebs  <shebs@apple.com>
4104
4105         * objc/objc-act.c (objc_init): Use dump_base_name.
4106         (gen_declaration): Clear the buffer arg.
4107         (gen_declaration_1): New function, body of gen_declaration.
4108         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
4109         (gen_method_decl): Ditto, plus always clear buffer arg.
4110         (error_with_ivar): Simplify.
4111         (warn_with_method): Ditto.
4112         (build_message_expr): Don't clear buffers.
4113         (dump_interface): Ditto.
4114         (objc_debug): Ditto.
4115         (build_keyword_selector): Clear the buffer by only zeroing
4116         the first element.
4117         (objc_implementation_context): Declare.
4118         (start_class): Warn about missing @end.
4119         (finish_objc): Ditto.
4120
4121 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4122
4123         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
4124
4125 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4126
4127         * Makefile.in (SYSTEM_H): Define.
4128         Depend on $(SYSTEM_H), not system.h.
4129
4130         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
4131
4132 2001-03-27  Jim Wilson  <wilson@redhat.com>
4133
4134         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
4135         IA64_UNWIND_EMIT.
4136         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
4137         (process_epilogue): New static function.
4138         (process_set): Call process_epilogue instead of emitting .restore
4139         directly.
4140         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
4141
4142         * flow.c (struct reg_cond_life_info): New fields orig_condition
4143         and stores.
4144         (init_propagate_block_info): Set new fields.
4145         (mark_regno_cond_dead): Set and use new fields.
4146         (flush_reg_cond_reg_1): Likewise.
4147         (and_reg_cond, case AND): Check for redundant AND conditions.
4148         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
4149         Set new fields.
4150
4151 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4152
4153         * cppmacro.c (stringify_arg): Null terminate strings.
4154
4155 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
4156
4157         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
4158         inclusion style.  xm-m68hc11.h no longer exists.
4159         * config/m68hc11/xm-m68hc11.h: Delete file.
4160         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
4161
4162         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
4163         Don't define GCC_VERSION, N_, or PARAMS; don't include
4164         gansidecl.h or stdio.h.  Define inhibit_libc here.
4165         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
4166         Delete code conditioned on #if GCC_VERSION == 2095.
4167
4168         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
4169         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
4170         Delete code conditioned on #if GCC_VERSION == 2095.
4171
4172 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4173
4174         * system.h: Include symcat.h.
4175         (STRINGIFY): Don't define.
4176
4177         * configure.in: Adjust comment.
4178
4179         * builtins.c: Use STRINGX, not STRINGIFY.
4180         * gencheck.c: Likewise.
4181         * gengenrtl.c: Likewise.
4182         * protoize.c: Likewise.
4183
4184         * cpplex.c: Don't include symcat.h.
4185         * cpplib.c: Likewise.
4186
4187         * gansidecl.h (HAVE_STRINGIZE): Don't define.
4188
4189 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
4190
4191         * c-typeck.c (digest_init): Fold init expression.
4192
4193 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4194
4195         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
4196
4197 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
4198
4199         * except.c (eh_regs): Save results of build_pointer_type to a temp
4200         as FUNCTION_VALUE macro may evaluate its args multiple times.
4201
4202 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
4203
4204         * c-common.h (DECL_NUM_STMTS): New macro.
4205         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
4206         DECL_FRAME_SIZE.
4207         (pushdecl): Likewise.
4208         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
4209         * integrate.c (expand_inline_function): Don't check
4210         DECL_FRAME_SIZE.
4211         * print-tree.c (print_node): Don't print it.
4212         * toplev.c (rest_of_compilation): Don't try to inline when
4213         flag_no_inline is on.
4214         * tree.h (DECL_FRAME_SIZE): Remove.
4215         (tree_decl): Adjust accordingly.
4216
4217 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4218
4219         * combine.c (try_combine): Use memcpy, not bcopy.
4220
4221         * genattrtab.c (expand_units): Likewise.
4222
4223 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
4224
4225         * i386.md (push mem DI peep2): New.
4226         (mov 0, mov -1 peep2): Handle 64bit.
4227         (lea to arithmetics peep2): Handle 64bit leas.
4228         (rsp arithmetics to push/pop peep2s): New.
4229
4230         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
4231
4232 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
4233
4234         * i386.c (struct machine_function): Add save_varrargs_registers.
4235         (ix86_save_varrargs_registers): New macro.
4236         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
4237         (ix86_expand_prologue): Likewise.
4238         (ix86_emit_epilogue_esp_adjustement): Likewise.
4239         (ix86_expand_epilogue): Likewise.
4240         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
4241         (pro_epilogue_adjust_stack_1): New insn.
4242         (pro_epilogue_adjust_stack_rex64): Likewise.
4243         * i386.h (MASK_NO_RED_ZONE): New constant.
4244         (TARGET_RED_ZONE): New macro.
4245         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
4246         (RED_ZONE_SIZE): New constant.
4247         (RED_ZONE_RESERVE): New constant.
4248
4249 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4250
4251         * toplev.c (set_float_handler): Use memcpy, not bcopy.
4252
4253 2001-03-25  Kazu Hirata  <kazu@hxi.com>
4254
4255         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
4256         space.
4257         (modqi3): Likewise.
4258         (umodhi3): Likewise.
4259         (modhi3): Likewise.
4260
4261 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4262
4263         * mkconfig.sh (DEFINES): Handle entries with '='.
4264
4265         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
4266         Set xm_defines to MACRO=value instead.
4267
4268         * i370/xm-mvs.h: Delete.
4269
4270         * ns32k/xm-pc532-min.h: Likewise.
4271
4272 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
4273
4274         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
4275         shiftdi_operand;
4276         use ix86_expand_binary_operator
4277         (?sh??i_?): Disable for 64bit.
4278         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
4279         * i386.c (shiftdi_operand): New predicate.
4280
4281         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
4282         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
4283         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
4284         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
4285         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
4286         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
4287         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
4288         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
4289         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
4290         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
4291         (rotldi3, rotrdi3): New expanders.
4292
4293 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
4294
4295         * i386.md (movstrsi): Move offline.
4296         (movstrdi): New.
4297         (strmovdi_rex64): New.
4298         (strmov?i): Accept 64bit.
4299         (strmov?i_rex64): New.
4300         (strmov?i_rex_1): New.
4301         (strmov?i_1): Disable for 64bit.
4302         (rep_mov?i_rex64): New.
4303         (rep_mov?i): Disable for 64bit.
4304         (clrstrsi): Move offline.
4305         (strset?i_rex64): New.
4306         (strset?i: Accept 64bit.
4307         (rep_stos?i): Disable for 64bit.
4308         (rep_stos?i_rex64): New.
4309         (strset?i_rex_1): New.
4310         (strset?i_1): Disable for 64bit.
4311         (cmpstrsi): Accept 64bit.
4312         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
4313         (cmpstrqi_nz_rex_1): New.
4314         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
4315         (strlensi): Move offline.
4316         (strlendi): New.
4317         (strlenqi_1): Disable for 64bit; fix constraints.
4318         (strlenqi_rex_1): New.
4319         * i386.c (ix86_adjust_counter): New static function.
4320         (ix86_zero_extend_to_Pmode): Likewise.
4321         (ix86_expand_aligntest): Likweise.
4322         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
4323         (ix86_expand_movstr): New global function.
4324         (ix86_expand_clrstr): New global function.
4325         (ix86_expand_strlen): New global function.
4326         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
4327         ix86_expand_strlen): Declare.
4328         (ix86_expand_strlensi_unroll_1): Delete.
4329
4330 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
4331
4332         * i386.md (cmpdi): Fix operand predicates.
4333         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
4334          cmpdi_1_insn_rex64): New patterns.
4335         (adddi3): Turn to expander.
4336         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
4337         (addsi3_carry_zext): New pattern.
4338         (adddi_?_rex64): New patterns and splitters.
4339         (addsi_?_zext): New patterns.
4340         (subsi3_carry_zext): New pattern.
4341         (subdi_?_rex64): New patterns and splitters.
4342         (iorsi_?_zext): New patterns.
4343         (iordi_?_rex64): New patterns and splitters.
4344         (iorsi_?_zext): New patterns.
4345         (iorsi_?_zext_imm): New patterns.
4346         (xorsi_?_zext): New patterns.
4347         (xordi_?_rex64): New patterns and splitters.
4348         (xorsi_?_zext): New patterns.
4349         (negdi*): New patterns.
4350         (one_cmpldi*): Likewise.
4351         (one_cmplsi*_zext, negsi*_zext): Likewise.
4352         (testqi_ext_3_rex64): New pattern.
4353
4354 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
4355
4356         * i386-protos.h (ix86_split_long_move): Return void.
4357         * i386.c (ix86_split_to_parts): Handle 64bit target.
4358         (ix86_split_long_move): Likewise.
4359         * i386.md (all calls to ix86_split_long_move): Update.
4360
4361 2001-03-23  Richard Henderson  <rth@redhat.com>
4362
4363         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
4364         to avoid shadowing arguments.
4365
4366 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
4367
4368         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
4369         to variable names where DECL_NAME is different from
4370         DECL_ASSEMBLER_NAME.
4371
4372 2001-03-23  Jim Wilson  <wilson@redhat.com>
4373
4374         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
4375         (assemble_alias): Call make_decl_rtl.
4376
4377 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
4378
4379         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
4380
4381 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
4382
4383         * extend.texi: Document the "java_interface" attribute.
4384
4385 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
4386
4387         * mkconfig.sh: Use a subshell with redirected stdout,
4388         instead of closing stdout and confusing commands that run
4389         afterward.  Throw away output of cmp.
4390
4391 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
4392
4393         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
4394
4395 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
4396
4397         * i386.md (zero_extendsidi2_32): Break out from ...
4398         (zero_extendsidi2): ... here ; turn to expander.
4399         (zero_extendsidi2_rex64): New.
4400         (extendsidi2_32): Break out from ...
4401         (extendsidi2): ... here ; turn to expander.
4402         (extendsidi2_rex64): New.
4403         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
4404         (trunc?f?f splitters): Add 64bit versions.
4405
4406 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
4407
4408         * i386.md (pushsi, pushsi2_prologue): Disable.
4409         (pushsi2_rex64): New.
4410         (movabs?i_1_rex64, movabs?i_2_rex64): New.
4411         (movqi_ext_1): Disable for 64bit.
4412         (movqi_ext_1_rex64): New.
4413         (pushdi2_rex64): New pattern, peep2s and splitter.
4414         (pushdi2_prologue_rex64): New pattern.
4415         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
4416         Likewise.
4417         (movdi splitters): Disable for 64bit.
4418         (movdi_1_rex64): New pattern, peep2s and splitters.
4419         (swapdi): New pattern.
4420         (pushsf): Disable for 64bit.
4421         (pushsf_rex64): New pattern and splitter.
4422         (pushdf_nointeger): Disable for 64bit.
4423         (pushdf_integer): Handle the 64bit case.
4424         (pushtf): Likewise; update splitters.
4425
4426 2001-03-22  Richard Henderson  <rth@redhat.com>
4427
4428         * mkconfig.sh: Include insn-flags.h.
4429         * Makefile.in (CONFIG_H): Include insn-flags.h.
4430         (lots of objects): Remove insn-codes.h and insn-flags.h.
4431
4432         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
4433         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
4434         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
4435         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
4436         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
4437         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
4438         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
4439         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
4440         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
4441         v850/v850.c, vax/vax.c:
4442         Don't include insn-flags.h.
4443
4444         * diagnostic.c, expr.h, reload.c, toplev.c:
4445         Don't include insn-codes.h.
4446
4447         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
4448         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
4449         c4x/c4x.c, i960/i960.c, mips/mips.c:
4450         Don't include insn-codes.h or insn-flags.h.
4451
4452         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
4453         or insn-flags.h in the generated code.
4454         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
4455         (main): Forward declare struct rtx_def.
4456
4457 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
4458
4459         * invoke.texi (-ffast-math): Remove duplicate line about
4460         __FAST_MATH__.
4461
4462         * gcc.texi: Remove more obsolete documentation of bugs and
4463         installation problems.
4464
4465 2001-03-21  Kazu Hirata  <kazu@hxi.com>
4466
4467         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
4468         into two parts.
4469
4470 2001-03-20  Jason Merrill  <jason@redhat.com>
4471
4472         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
4473         not '.' or '$'.
4474         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
4475         * varasm.c (CHKR_PREFIX): Likewise.
4476
4477 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4478
4479         * gcse.c (hash_scan_set): An expression is not anticipatible if it
4480         is part of a multi-SET insn.
4481
4482         * cse.c (find_comparison_args): Remove previous change.
4483         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
4484         REG_EQUAL notes.
4485
4486         * config/i386/i386.md (conditional_trap): Remove warning.
4487
4488         * recog.c (push_operand): Fix error in last change that caused
4489         undefined symbol on many targets.
4490
4491         * sdbout.c: #include ggc.h.
4492         (sdbout_init): Move to end of file.
4493         Call ggc_add_tree_root for anonymous_types.
4494         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
4495         (sdbout_one_type): Use DECL_NAME for field name.
4496         * Makefile.in (sdbout.o): Show includes ggc.h.
4497
4498 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
4499
4500         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
4501         (override_options): Use properlimits for preferred_stack_boundary.
4502         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
4503         on x86_64.
4504         (ext_register_operand): Accept DImode.
4505         (load_pic_register): Abort on 64bit.
4506         (gen_push): Use Pmode instead of SImode.
4507         (ix86_save_reg): Pic reg is never used on 64bit.
4508         (ix86_expand_prologue): Likewise.
4509         (ix86_emit_save_regs): Use Pmode instead of SImode.
4510         (legitimate_address_p): Check displacement for 64bit.
4511         (print_operand): Avoid outputting of (%rip) on 64bit.
4512         (print_operand_address): Output (%rip) where possible.
4513         (split_di): Abort on 64bit registers.
4514         (ix86_expand_branch): DImode comparison is simple for x86_64.
4515         (memory_address_length): Recognize memory addresses formed using
4516         PRE/POST modify.
4517         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
4518         for x86_64.
4519         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
4520
4521 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
4522
4523         * recog.c (push_operand): Recognize new format of push instructions.
4524
4525 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
4526
4527         * i386.md (pushqi1): New.
4528         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
4529         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
4530         x86_64_immediate_operand, x86_64_immediate_operand,
4531         x86_64_zext_immediate_operand): Declare.
4532         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4533         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
4534         x86_64_immediate_operand, x86_64_immediate_operand,
4535         x86_64_zext_immediate_operand): define.
4536         * i386.h (PREDICATE_CODES): Add new predicates.
4537
4538 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
4539
4540         * i386.md (pophi1, popqi1, pushqi1): Remove.
4541
4542         * expr.c (emit_single_push_insn): New function.
4543         (move_by_pieces): Accept NULL as destination for push instructions.
4544         (gen_push_operand): Kill.
4545         (emit_push_insn): Pass NULL when pushing; avoid updating of
4546         stack_pointer_delta.
4547         * expr.h (gen_push_operand): Kill.
4548
4549 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4550
4551         * rtl.texi (COMPARE): Clarify documentation and reference section
4552         on comparisons.
4553
4554 2001-03-20  Stan Shebs  <shebs@apple.com>
4555
4556         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
4557         (get_object_reference): Ditto.
4558         (error_with_ivar): Use error_with_file_and_line.
4559         (warn_with_method): Use warning_with_file_and_line.
4560
4561 2001-03-20  Tom Tromey  <tromey@redhat.com>
4562
4563         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
4564
4565 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
4566
4567         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
4568         variables that are TREE_PUBLIC, even if not TREE_STATIC.
4569
4570 2001-03-20  DJ Delorie  <dj@redhat.com>
4571
4572         * Makefile.in (install-libgcc): Pass complete list of variables.
4573         (install-multilib): Ditto.
4574
4575 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
4576
4577         * config/i386/cygwin.h: Declare ctor_section, dtor_section
4578         drectve_section, switch_to_section.
4579
4580         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
4581         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
4582         i386_pe_mark_dllimport.
4583
4584 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
4585
4586         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
4587         functions i386_pe_*.
4588
4589         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
4590         i386_pe_* functions with char * arguments.
4591
4592 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
4593
4594         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
4595         and store.
4596         (movsi_ie): Introduce fpul store.
4597
4598 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
4599
4600         * Makefile.in (OBJS): Remove hashtab.o.
4601
4602 2001-03-19  Stan Shebs  <shebs@apple.com>
4603
4604         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
4605         * c-lang.c (maybe_objc_method_name): Ditto.
4606         * c-tree.h (maybe_objc_method_name): Remove decl.
4607
4608 2001-03-19  Tom Tromey  <tromey@redhat.com>
4609
4610         * gcc.c (init_gcc_specs): Fix comment.
4611
4612 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
4613
4614         Compute DECL_ASSEMBLER_NAME lazily.
4615         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
4616         (DECL_ASSEMBLER_NAME_SET_P): New macro.
4617         (SET_DECL_ASSEMBLER_NAME): Likewise.
4618         (COPY_DECL_ASSEMBLER_NAME): Likewise.
4619         (set_decl_assembler_name): Declare.
4620         (lang_set_decl_assembler_name): Likewise.
4621         * tree.c (lang_set_decl_assembler_name): New variab.e
4622         (set_decl_assembler_name): New function.
4623         (init_obstacks): Set lang_set_decl_assembler_name.
4624         (build_decl): Don't set DECL_ASSEMBLER_NAME.
4625         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
4626         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
4627         where it's not necessary.
4628         (builtin_function): Likewise.
4629         (finish_decl): Likewise.
4630         * dbxout.c (dbxout_type_methods): Likewise.
4631         * ggc-common.c (ggc_mark_trees): Likewise.
4632         * profile.c (output_func_start_profiler): Likewise.
4633         * varasm.c (make_decl_rtl): Likewise.
4634
4635         * cse.c (find_comparison_args): Update documentation.  Fix
4636         mishandling of COMPARE operations.
4637
4638         * tree.def (ABS_EXPR): Add documentation.
4639         * fold-const.c (fold): Improve folding of ABS_EXPRs.
4640
4641 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
4642
4643         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
4644
4645 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
4646
4647         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
4648         Remove ia32 linux PIC kludge and move it...
4649         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
4650
4651 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
4652
4653         * i386.md (absdf2 expander): Fix 64bit case.
4654
4655 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
4656
4657         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
4658
4659 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
4660
4661         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
4662
4663 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4664
4665         * README.X11: Remove obsolete file.
4666
4667 2001-03-18  Anthony Green  <green@redhat.com>
4668
4669         * config/pj/pj.h: Remove some trailing commas.
4670         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
4671
4672 2001-03-18  Richard Henderson  <rth@redhat.com>
4673
4674         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
4675         * calls.c: ... here.
4676         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
4677         defaults for them here.
4678
4679 2001-03-17  Anthony Green  <green@redhat.com>
4680
4681         * config/pj/lib1funcs.S: Fix broken comment.
4682         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
4683         labels with '.'.
4684
4685 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4686
4687         * gcc.texi: Remove obsolete information relating to build and
4688         installation problems with enquire or the Pyramid C compiler.
4689
4690 2001-03-17  Richard Henderson  <rth@redhat.com>
4691
4692         * dwarf2out.c (queue_reg_save): New.
4693         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
4694         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
4695         dwarf2out_reg_save.
4696         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
4697         (cfa, cfa_store, cfa_temp): Make static.
4698         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
4699
4700 2001-03-17  Richard Henderson  <rth@redhat.com>
4701
4702         * integrate.h (struct inline_remap): Add local_return_label.
4703         * integrate.c (expand_inline_function): Initialize it and emit
4704         it after copy_insn_notes.
4705         (copy_insn_list): Don't store local_return_label here.
4706         (copy_insn_notes): New function split out from copy_insn_list.
4707
4708 2001-03-17  Richard Henderson  <rth@redhat.com>
4709
4710         * dwarf2out.c (lookup_filename): Emit .file if the assembler
4711         is generating .debug_line.
4712         (dwarf2out_init): Add main_input_filename to the file table first.
4713         * configure.in (as_dwarf2_debug_line): Test with file number 1
4714         instead of file number 0.
4715
4716 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4717
4718         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
4719         (gen_rtx_combine): Deleted; all references changed as appropriate.
4720         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
4721
4722         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
4723
4724 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
4725
4726         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
4727         variable.
4728
4729 2001-03-16  Jim Wilson  <wilson@redhat.com>
4730
4731         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
4732         then set it to LOC_REG (79) instead of aborting.
4733
4734 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
4735
4736         * gccbug.in:  Remove high priority.
4737
4738 2001-03-16  Richard Henerson  <rth@redhat.com>
4739
4740         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
4741         output with a space instead of deleting it.
4742         * configure: Regenerate.
4743
4744 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
4745
4746         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
4747         handles the gory details of converting an object file into
4748         something that's safe to grep.
4749         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
4750         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
4751         newlines at either end of the string we're looking for.
4752         Make 'checking ...' message less stilted.
4753         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
4754         ARM in-memory layout and its hypothetical converse.  Don't
4755         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
4756         HOST_WORDS_BIG_ENDIAN.
4757
4758         * configure.in: Adjust for renamed macro.  Move
4759         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
4760         * configure, config.in: Regenerate.
4761
4762 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
4763
4764         * fixinc/Makefile.in: Set SHELL.
4765
4766 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
4767
4768         * fixinc/fixincl.c (fix_with_system): Quote file names before
4769         passing them to shell.
4770
4771 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
4772
4773         * Makefile.in: Use fix-header$(build_exeext) instead
4774         of fix-header.
4775
4776 2001-03-16  Richard Henderson  <rth@redhat.com>
4777
4778         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
4779         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
4780         (size_of_line_prolog): Remove.
4781         (output_line_info): Compute prologue size via label difference.
4782         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
4783
4784         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
4785         assembler error when redefining file numbers.
4786         * config.in, configure: Rebuild.
4787
4788         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
4789         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
4790         (dw2_asm_output_delta_uleb128): Likewise.
4791         (dw2_asm_output_delta_sleb128): Similarly.
4792         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
4793
4794 2001-03-16  Michael Meissner  <meissner@redhat.com>
4795
4796         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
4797         warnings.
4798         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
4799         warnings.
4800         (BITMASK_LOWER16): Replacement for 0x0000ffff.
4801
4802         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
4803         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
4804         being unsigned in ISO C and signed in traditional.
4805         (expand_prologue): Ditto.
4806         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
4807
4808         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
4809         warnings.
4810         (divsi3,divdi3): Ditto.
4811         (modsi3,moddi3): Ditto.
4812         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
4813         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
4814         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
4815         warnings.
4816
4817 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
4818
4819         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
4820         SSE based conditional moves on LTGT/UNEQ conditions;
4821         Canonicalize EQ to NE.
4822         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
4823         (sse_mov?fcc_ne): New.
4824
4825         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
4826
4827 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
4828
4829         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
4830         register may be dead.
4831
4832 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
4833
4834         * Makefile.in (hash.o): Depend on CONFIG_H.
4835
4836 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
4837
4838         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
4839
4840 2001-03-15  Richard Henderson  <rth@redhat.com>
4841
4842         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
4843         (ASM_OUTPUT_DWARF_PCREL): New.
4844         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
4845
4846 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
4847
4848         * cppfiles.c (stack_include_file): Use MAX of sysp.
4849
4850 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
4851
4852         * config.gcc (ia64*-*-hpux*): New case.
4853         * config/ia64/hpux.h: New file for HP-UX support.
4854         * config/ia64/t-hpux: New file for HP-UX support.
4855
4856 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
4857
4858         * fixinc/inclhack.def (irix_stdio_va_list): New.
4859         * fixinc/fixincl.x: Rebuilt.
4860
4861 2001-03-15  Richard Henderson  <rth@redhat.com>
4862
4863         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
4864         if provided by the target.
4865         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
4866         (dw2_asm_output_addr): New.
4867         * dwarf2asm.h (dw2_asm_output_addr): Declare.
4868         * dwarf2out.c (output_cfi): Use it for program addresses.
4869         (output_call_frame_info, output_die): Likewise.
4870         (output_aranges, output_line_info): Likewise.
4871
4872 2001-03-15  Bruce Korb  <bkorb@gnu.org>
4873
4874         * gcc.c(main): make more rigorous
4875         * collect2.c(main): guard against ignoring SIGCHLD
4876         * protoize.c(main): ditto
4877         * gcc/fixinc/fixincl.c(initialize): ditto
4878
4879 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
4880
4881         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
4882         (sdbout_parms): Likewise.
4883
4884 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
4885
4886         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
4887         "widen" a destination that is already wider than a word.  Also do
4888         not widen if LOAD_EXTEND_OP is NIL for the given mode.
4889
4890 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
4891
4892         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
4893
4894 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
4895
4896         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
4897
4898 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
4899
4900         * i960.h (i960_maxbitalignment,
4901         i960_last_maxbitalignment): Declare.
4902         * i960.c (i960_maxbitalignment,
4903         i960_last_maxbitalignment): Make global.
4904         (process_pragma): Delete.
4905         (i960_pr_align, i960_pr_noalign): Move from here ...
4906         * i960-c.c: ... to this new file.
4907         * t-960bare (i960-c.o): New rule.
4908         * t-vxworks960 (i960-c.o): Likewise.
4909         * config.gcc (i960-*-*): Define c_target_objs and
4910         cxx_target_objs.
4911
4912 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
4913
4914         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
4915         without adding in rtx code and mode.
4916
4917         * alias.c (init_alias_analysis): Don't use any rtx whose value
4918         varies as a known value.
4919         Delete a superfluous test.
4920
4921         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
4922         ia64_sched_reorder.
4923         (ia64_sched_reorder): Call maybe_rotate; also rotate after
4924         scheduling a stop bit.
4925         (ia64_emit_nops): Correctly handle ASMs.
4926
4927 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
4928
4929         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
4930
4931 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4932
4933         * cpp.texi: Update documentation for -include and -imacros.
4934         * cppfiles.c (struct include_file): Remove "defined" memeber.
4935         (find_or_create_entry): Make a copy of the file name, and
4936         simplify it.
4937         (open_file): Update to ensure we use the simplified filename.
4938         (stack_include_file): Don't set search_from.
4939         (cpp_included): Don't simplify the path name here.
4940         (find_include_file): New prototype.  Call search_from to
4941         get the start of the "" include chain.  Don't simplify the
4942         filenames here.
4943         (_cpp_execute_include): New prototype.  Move diagnostics to
4944         do_include_common.  Update.
4945         (_cpp_pop_file_buffer): Don't set defined.
4946         (search_from): New prototype.  Use the preprocessor's cwd
4947         for files included from the command line.
4948         (read_name_map): Don't simplify the pathname here.
4949         * cpphash.h (enum include_type): New.
4950         (struct buffer): Delete search from.  New search_cached.
4951         (_cpp_execute_include): Update prototype.
4952         * cppinit.c (do_includes): Use _cpp_execute_include.
4953         * cpplib.c (do_include_common): New function.
4954         (do_include, do_include_next, do_import): Use it.
4955
4956 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
4957
4958         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
4959         contents of the RTL, to determine the name of the object.
4960
4961 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
4962
4963         * tree.h (DECL_RTL): Allocate RTL lazily.
4964         (SET_DECL_RTL): New macro.
4965         (DECL_RTL_SET_P): Likewise.
4966         (COPY_DECL_RTL): Likewise.
4967         (DECL_RTL_IF_SET): Likewise.
4968         * varasm.c (make_decl_rtl): Add assertions about the kind of
4969         declaration we are processing.
4970         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
4971         (start_decl): Likewise.
4972         (finish_decl): Likewise.
4973         * c-semantics.c (emit_local_var): Likewise.
4974         * calls.c (expand_call): Likewise.
4975         * dbxout.c (dbxout_symbol): Likewise.
4976         * emit-rtl.c (unshare_all_rtl): Likewise.
4977         (unshare_all_decls): Likewise.
4978         (reset_used_decls): Likewise.
4979         * expr.c (store_constructor): Likewise.
4980         (safe_from_p): Likewise.
4981         (expand_expr): Likewise.
4982         * function.c (put_var_into_stack): Likewise.
4983         (instantiate_decls_1): Likewise.
4984         (assign_parms): Likewise.
4985         (expand_function_start): Likewise.
4986         (expand_function_end): Likewise.
4987         * ggc-common.c (gcc_mark_trees): Likewise.
4988         * integrate.c (function_cannot_inline_p): Likewise.
4989         (copy_decl_for_inlining): Likewise.
4990         (expand_inline_function): Likewise.
4991         (integrate_parm_decls): Likewise.
4992         (integrate_decl_tree): Likewise.
4993         * print-tree.c (print_node): Likewise.
4994         * reg-stack.c (stack_result): Likewise.
4995         * stmt.c (label_rtx): Likewise.
4996         (expand_return): Likewise.
4997         (expand_decl): Likewise.
4998         (expand_decl_cleanup): Likewise.
4999         (expand_anon_union_decl): Likewise.
5000         * toplev.c (check_global_declarations): Likewise.
5001         (rest_of_decl_compilation): Likewise.
5002         * tree.c (simple_cst_equal): Likewise.
5003         * objc/objc-act.c (generate_static_references): Likewise.
5004
5005 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
5006
5007         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
5008         gcc_AC_C_FLOAT_FORMAT): New macros.
5009         * configure.in: Add AC_PROG_CPP after CC tests;
5010         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
5011         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
5012         * configure, config.in: Regenerate.
5013
5014         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
5015         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
5016         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
5017         config/i370/xm-linux.h, config/i370/xm-oe.h,
5018         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
5019         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
5020         config/pa/xm-linux.h, config/pa/xm-pa.h,
5021         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
5022         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
5023         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
5024         config/we32k/xm-we32k.h: Delete.
5025
5026         * config/i370/xm-mvs.h, config/m88k/m88k.h,
5027         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
5028         config/vax/xm-vms.h: Don't define any of:
5029         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
5030
5031         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
5032
5033         * config.gcc: Remove references to deleted files.
5034         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
5035         FATAL_EXIT_CODE, which is the same between oe and mvs).
5036
5037 2001-03-14  DJ Delorie  <dj@redhat.com>
5038             Vladimir Makarov  <vmakarov@redhat.com>
5039
5040         * config/i960/i960.c (i960_function_prologue): Compute size of
5041         frame according to number of registers actually saved there.
5042
5043 2001-03-14  Richard Henderson  <rth@redhat.com>
5044
5045         * expr.c (emit_move_insn_1): Fix else if around #endif.
5046
5047 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
5048                               Vojtech Pavlik
5049
5050         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
5051         constraints.
5052
5053 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
5054
5055         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
5056         (override_options): Parse cmodel string.
5057         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
5058         * i386.h (TARGET_OPTIONS): Add "cmodel".
5059         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
5060         (enum cmodel): New.
5061         (ix86_cmodel_string, ix86_cmodel): Declare.
5062
5063 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
5064
5065         Spot by Matt Kraai:
5066         * i386.h (GENERAL_REG_P): Add missing REG_P.
5067
5068 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
5069
5070         * configure.in: Use $gcc_cv_as instead of $as.
5071         * configure: Regenerated.
5072
5073 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5074
5075         * cppfiles.c (stack_include_file): Only increase the include
5076         count if we actually process the file properly, as opposed
5077         to treating it as length zero.  Only call read_include_file
5078         if not DO_NOT_REREAD.  Handle the -H include file output
5079         here.
5080         (read_include_file): Remove now redundant DO_NOT_REREAD check.
5081         (cpp_included, find_include_file): Simplify pathnames after
5082         remapping them.  If remapping, don't use the remapped file
5083         name's buffer as our scratch buffer.
5084         (cpp_pop_file_buffer): Replace the multiple include macro
5085         only if it isn't yet set.
5086         (read_name_map): Simplify remapped names when reading in.
5087         (remap_filename): Move code to code path that uses it.
5088         (_cpp_simplify_pathname): Return the input pointer.
5089         * cpphash.h (_cpp_simplify_pathname): Update prototype.
5090
5091 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
5092
5093         * expr.c (expand_expr): Revove bogus conditional.
5094
5095 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
5096
5097         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
5098
5099 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
5100
5101         * reg-stack.c (stack_result): Unconditionally use
5102         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
5103
5104 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
5105
5106         * expr.c (emit_move_insn_1):  Split push of complex value when
5107         no suitable push instruction exist.
5108
5109         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
5110         instead of QI_REG_P.
5111
5112 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5113
5114         * alias.c (handled_component_p, can_address_p): New functions.
5115         (get_alias_set): Use them.
5116
5117 2001-03-13  Jim Wilson  <wilson@redhat.com>
5118
5119         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
5120         from 80 in try_locals code.
5121         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
5122
5123 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
5124
5125         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
5126         gcc_AC_C_LONG_LONG): New.
5127         * configure.in: Use them.  Probe the size of short, int, long,
5128         and long long/__int64 if we have them.  Move all the AC_C_*
5129         checks together, except gcc_AC_C_CHAR_BIT which has to go
5130         after AC_CHECK_HEADERS(limits.h).
5131         Take hwint.h out of host_xm_file and build_xm_file.
5132
5133         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
5134         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
5135         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
5136         Move the HOST_WIDEST_INT setup logic here from system.h.
5137         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
5138         defined.
5139         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
5140         is now handled by hwint.h.
5141
5142         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
5143         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
5144         config/ia64/xm-ia64.h: Don't define any of:
5145         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
5146         HOST_BITS_PER_LONGLONG.
5147
5148         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
5149         config/h8300/xm-h8300.h, config/mips/iris6.h,
5150         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
5151         config/sparc/xm-sp64.h: Delete.
5152         * config.gcc: Remove references to deleted files.
5153
5154         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
5155         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
5156         * config/i370/xm-linux.h: Clarify floating-point situation in
5157         a comment.
5158
5159 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5160
5161         * cppfiles.c (NO_INCLUDE_PATH): New macro.
5162         (find_include_file): Decide here which part of the include
5163         chain to start the search.  Complain about an empty include
5164         chain in all cases apart from an abolsute file name.
5165         (_cpp_execute_include): Don't choose the search chain here.
5166         Don't call handle_missing_include in the case of an empty
5167         include chain.
5168         (_cpp_compare_file_date): Don't choose the search chain here.
5169         * cpplib.c (do_include_next): Move the in-main-file diagnostic
5170         here from _cpp_execute_include.  Behave like #include if
5171         we're in the main file.
5172
5173 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5174
5175         * system.h (malloc, realloc, calloc, strdup): Only poison these
5176         tokens when IN_GCC is defined.
5177
5178 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
5179
5180         * i386.md (abs?f expander): Support SSE case.
5181         (abd?f_if): Add new "USE"; add splitters.
5182
5183 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5184
5185         * cpp.texi (poison): Explain the macro expansion exception.
5186
5187 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
5188
5189         * expr.c (store_expr): Add dont_store_target.  If temp is already in
5190         target before copying to reg, don't store it into target again.
5191
5192 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
5193
5194         * cppinternals.texi: Update for file handling.
5195
5196 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
5197
5198         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
5199         2001-02-24 which broke building the Java library.
5200         * function.c (identify_blocks): Likewise.
5201         (all_blocks): Likewise.
5202         * integrate.c (integrate_decl_tree): Likewise.
5203         * print-tree.c (print_node): Likewise.
5204         * tree.h (BLOCK_NUMBER): Likewise.
5205         (struct tree_block): Likewise.
5206
5207 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
5208
5209         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
5210         __WCHAR_TYPE__ definition.
5211         (WCHAR_TYPE_SIZE): #undef before #define.
5212
5213 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
5214
5215         * cppfiles.c: Update comments.
5216         (destroy_include_file_node): Rename destroy_node.
5217         (find_or_create_entry): New function.
5218         (open_file, _cpp_fake_include): Use it.
5219         (handle_missing_header): New function, broken out of
5220         _cpp_execute include.  Don't segfault if there is no
5221         system or quoted path.
5222         (_cpp_execute_include): Use handle_missing_header.
5223
5224 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
5225
5226         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
5227         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
5228
5229 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5230
5231         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
5232         unless anti_dependence says they are.
5233         * alias.c (objects_must_conflict): If neither has a type specified,
5234         they must conflict.
5235
5236 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
5237             David Billinghurst <David.Billinghurst@riotinto.com>
5238
5239         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
5240
5241 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
5242
5243         * i386.md (trunctfdf2_2): Rename missnamed pattern.
5244         (*_one_bit): Remove type on the match_operand in attributes.
5245
5246 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
5247
5248         * i386.c: Commit forgotten hunk in previous patch.
5249         (regclass_map): Add extended registers.
5250         (dbx_register_map): Add missing frame register.
5251
5252 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5253
5254         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
5255
5256         * i386.md (x86_sahf_1): Disable for 64bit.
5257         (popsi*, pophi*): Likewise.
5258         (pushqi, pushhi): Likewise.
5259         (movdi, pushdi): Likewise.
5260         (zero extend DImode splitter): Likewise.
5261         (adddi, minusdi splitter): Likewise.
5262         (umulsidi): Likewise.
5263         (umulsi): New.
5264         (mulsidi): Disable for 64bit
5265         (lshift:DI/ashift:DI): Disable for 64bit.
5266         (loop patterns): Likewise.
5267         (call_pop, call_value_pop expanders and patterns): Likewise.
5268         (prologue_get_pc): Likewise.
5269         (leave): Likewise.
5270         (fcmovDI pattern and splitter): Likewise.
5271         (movdfcc_1_rex64): New.
5272
5273 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
5274
5275         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
5276         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
5277         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
5278         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
5279         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
5280         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
5281         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
5282         (PUSH_ROUNDING): x86_64 rounds to 64bits.
5283         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
5284         (REGPARM_MAX): Set to 6 for x86_64.
5285         (SSE_REGPARM_MAX): Set to 16 for x86_64.
5286         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
5287         registers.
5288
5289         * (patterns that does use upper halves): Update constraints
5290         'q' to 'Q' and 'r' to 'R'.
5291         (cmpqi_ext_1): Disable for 64bit.
5292         (cmpqi_ext_3_insn): Likewise.
5293         (movqi_extzv_1): Likewsie.
5294         (addqi_ext_1): Liekwsie
5295         (testqi_ext_1): Liekwsie
5296         (andqi_ext_1): Liekwsie
5297         (xorqi_ext_1): Liekwsie
5298         (cmpqi_ext_1_rex64): New.
5299         (cmpqi_ext_3_insn_rex64): Likewise.
5300         (movqi_extzv_1_rex64): Likewsie.
5301         (addqi_ext_1_rex64): Liekwsie
5302         (testqi_ext_1_rex64): Liekwsie
5303         (andqi_ext_1_rex64): Liekwsie
5304         (xorqi_ext_1_rex64): Liekwsie
5305
5306 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
5307
5308         * configure.in: Move check for unsigned enumerated bitfields
5309         to macro in aclocal.m4.  Disable it for now.
5310         * configure, config.in: Regenerate.
5311         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
5312         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
5313         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
5314         kind above its first use.
5315
5316         * config/xm-interix.h, config/alpha/xm-alpha.h,
5317         config/i370/xm-linux.h, config/i386/xm-beos.h,
5318         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
5319         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
5320         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
5321         Don't define ONLY_INT_FIELDS under any circumstances.
5322
5323         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
5324
5325         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
5326         config/sparc/xm-sysv4.h: Delete - now identical with some
5327         other xm header.
5328         * config.gcc (hppa targets): Replace xm-pahpux.h and
5329         xm-papro.h with implicit xm-pa.h.
5330         (sparc targets): Replace xm-sysv4.h with implicit or explicit
5331         xm-sparc.h.
5332
5333 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
5334
5335         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
5336         before reload_cse_noop_set_p.
5337
5338 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
5339
5340         * config.gcc: Where xm-host.h used to include another
5341         xm-host.h, list the nested header directly in xm_file.  Remove
5342         references to deleted files.  Can now use sparc/xm-sp64.h for
5343         sparcv9-*-solaris*.
5344
5345         * config/xm-linux.h, config/arm/xm-linux.h,
5346         config/i386/xm-dos.h, config/i386/xm-gnu.h,
5347         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
5348         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
5349         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
5350         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
5351         Delete.
5352
5353         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
5354         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
5355         bother to wrap #undef in #ifdef.
5356         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
5357         Don't include xm-linux.h.
5358         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
5359
5360         * configure.in: Wrap regexps using [] in changequote block.
5361         Use expr : not echo | grep.  Simplify regexps.
5362         * configure: Regenerate.
5363
5364         56 xm-files remain, 22 xm-arch.
5365
5366 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5367
5368         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
5369         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
5370         (local_index, local_rindex): Delete, use strchr/strrchr instead.
5371         (copy_object): Fix format specifier vs argument mismatch.
5372
5373         * mips-tdump.c: Make local functions static.
5374         (rindex): Don't #undef.
5375         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
5376         (fatal, fancy_abort): Delete.
5377         (read_seek): Avoid signed/unsigned compare.
5378
5379 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5380
5381         * combine.c (try_combine): Fix error in change to try original
5382         register.
5383         (gen_rtx_combine): Do same as gen_rtx for now.
5384
5385 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
5386
5387         * configure.in: AC_SUBST xm_defines.
5388         * configure: Regenerate.
5389         * Makefile.in: Set DEFINES=$(xm_defines) when building
5390         tconfig.h.
5391
5392 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5393
5394         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
5395         (cpp_included, find_include_file): Update.
5396         (_cpp_compare_file_date): Make else unconditional.
5397
5398 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
5399
5400         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
5401
5402 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5403
5404         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
5405         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
5406
5407 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
5408
5409         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
5410         if it's a record type.
5411
5412 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
5413
5414         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
5415         mingw includes slightly.
5416
5417 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5418
5419         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
5420         #undef token before poisoning it.
5421
5422 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5423
5424         * alpha.c (check_float_value): Use memcpy, not bcopy.
5425
5426         * m32r.c (m32r_sched_reorder): Likewise.
5427
5428         * vax.c (check_float_value): Likewise.
5429
5430 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5431
5432         * toplev.c (file_name_nondirectory): Remove.
5433         * toplev.h: Similarly.
5434         * dwarf2out.c (compute_section_prefix): Use lbasename instead
5435         of file_name_nondirectory.
5436
5437 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5438
5439         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
5440         * mips-tfile.c: Don't #undef rindex; not used.
5441
5442 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
5443
5444         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
5445         (dbx64_register_map): Declare.
5446         (RETURN_ADDR_RTX): Fix for 64bit.
5447         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
5448         (INCOMING_FRAME_SP_OFFSET): Set to 8.
5449         * i386.c (dbx64_register_map): New global array.
5450         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
5451         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
5452         for 64bits.
5453
5454 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5455
5456         * cppfiles.c (search_from): Use lbasename.
5457         * mkdeps.c (deps_add_default_target): Use lbasename.
5458
5459 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5460
5461         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
5462         xcalloc in lieu of malloc, realloc & calloc.
5463
5464         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
5465
5466         * gengenrtl.c (xmalloc): Likewise.
5467
5468         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
5469         really_call_* memory allocation routines.
5470
5471         * stmt.c (check_for_full_enumeration_handling): Use
5472         really_call_calloc, not calloc.
5473
5474         * system.h (really_call_malloc, really_call_calloc,
5475         really_call_realloc): Define.
5476         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
5477
5478 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
5479
5480         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
5481
5482 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
5483
5484         * configure: Rebuilt.
5485         * configure.in: Only use `lang_requires' for languages athat are
5486         actually enabled.
5487
5488 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
5489
5490         * invoke.texi: Fix typo.
5491         * gcc.1: Regenerate.
5492
5493 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
5494
5495         * configure.in: Prune nonexistent files from build_xm_file,
5496         xm_file, and host_xm_file lists.  Warn unless they're
5497         $cpu/xm-$cpu.h.
5498         Don't generate *config.h here.
5499         AC_SUBST all variables needed to generate *config.h.
5500         * configure: Regenerate.
5501         * mkconfig.sh: New helper script, from code removed from
5502         configure.in.
5503         * Makefile.in: Zap all MALLOC variables - no longer used
5504         anywhere, and malloc.c doesn't exist.
5505         Substitute in variables needed to generate *config.h.
5506         Stop lying about the dependencies contained in CONFIG_H and
5507         GCONFIG_H.
5508         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
5509         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
5510         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
5511         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
5512         $(TM_P_H), etc. as appropriate.
5513
5514         * config.gcc: Zap references to deleted files.
5515         * ggc-none.c: Don't include rtl.h or tm_p.h.
5516
5517         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
5518         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
5519         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
5520         config/i386/xm-linux.h, config/i386/xm-linux.h,
5521         config/i386/xm-next.h, config/i386/xm-openbsd.h,
5522         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
5523         Don't include i386/xm-i386.h.
5524
5525         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
5526         config/i386/xm-i386.h, config/i860/xm-i860.h,
5527         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
5528         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
5529         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
5530         Delete (empty except comments, #includes of other deleted
5531         files, and macros used nowhere).
5532
5533 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
5534
5535         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
5536         independent on TARGET_FLAGS.
5537
5538 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
5539
5540         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
5541
5542         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
5543         extended ones.
5544         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
5545         TARGET_64BIT.
5546         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
5547         LAST_REX_SSE_REG): define.
5548         (enum reg_class): Add 'LEGACY_REGS'
5549         (REG_CLASS_CONTENTS): Likewise; add extended registers.
5550         (SSE_REGNO_P): Recognize extended registers.
5551         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
5552         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
5553         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
5554         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
5555         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
5556          REG_OK_FOR_STRREG_P): Remove.
5557         (HI_REGISTER_NAMES): Add extended registers.
5558         (ADDITIONAL_REGISTER_NAMES): Likewise.
5559         (QI_REGISTER_NAMES): Add 8bit extended registers.
5560         (DEBUG_REG): Support extended registers.
5561         * i386.c (regclass_map): Add extended registers.
5562         (dbx_register-map): Likewise.
5563         (svr4_dbx_register_map): Likewise.
5564         (print_reg): Support extended registers.
5565         (print_operand): Support 64bit operands.
5566
5567 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
5568
5569         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
5570         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
5571          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
5572          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
5573         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
5574          STACK_BOUNDARY): Set properly for 64bits.
5575         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
5576         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
5577         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
5578         (MOVE_MAX): Set to 16.
5579         (MOVE_MAX_PIECES): 8 for 64bit.
5580         (Pmode): Set to SImode.
5581
5582 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
5583
5584         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
5585
5586 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5587
5588         * i386.h (mask_64bit): New constant.
5589         (target_64bit): New macro.
5590         (target_options): Add '64'/'32'
5591         (target_default): Define.
5592         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
5593         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
5594         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
5595
5596 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
5597
5598         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
5599
5600 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
5601
5602         * rtlanal.c (rtx_varies_p): Check operand 0 of a
5603         LO_SUM unless for_alias is set.
5604
5605 2001-03-08  Stan Shebs  <shebs@apple.com>
5606
5607         * objc/objc-act.c: Fix old typos in comments, add comments for
5608         various functions.
5609         (hash_init): Fix file name in error message.
5610         (hash_enter): Ditto.
5611         (hash_add_attr): Ditto.
5612         (continue_class): Ditto.
5613
5614 2001-03-08  Bruce Korb  <bkorb@gnu.org>
5615
5616         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
5617         wait4() can receive the signal.
5618
5619 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5620
5621         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
5622         entities.
5623         * fixinc/fixincl.x: Regenerate.
5624
5625 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5626
5627         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
5628         on Tru64 UNIX.
5629         * fixinc/fixincl.x: Regenerate.
5630
5631 2001-03-08  Richard Henderson  <rth@redhat.com>
5632
5633         * configure.in (HAVE_AS_LEB128): New assembler check.
5634         * configure, config.in: Rebuilt.
5635
5636 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
5637
5638         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
5639         TFmode too.
5640
5641 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5642
5643         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
5644         references to the MAXPATHLEN macro.
5645
5646         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
5647         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
5648         the POSIX macro.
5649
5650         * config/i386/xm-gnu.h, config/xm-gnu.h,
5651         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
5652         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
5653         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
5654         and/or unused files.
5655
5656         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
5657         doing so in various xm-*.h files.
5658
5659 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5660
5661         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
5662
5663 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
5664
5665         * configure.in (enable_shared): Support per-package shared-library
5666         enabling.
5667         * configure: Rebuilt.
5668
5669 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
5670
5671         * rs6000.md (cr logic): Add original POWER mnemonic alternative
5672         for crnot.  Set operands[5] in splitter.
5673
5674 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5675
5676         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
5677         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
5678         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
5679         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
5680         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
5681         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
5682         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
5683         to the USG macro.
5684
5685         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
5686         config/i370/xm-i370.h, config/i386/xm-dgux.h,
5687         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
5688         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
5689         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
5690         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
5691         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
5692         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
5693         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
5694         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
5695         Delete unused and/or empty files.
5696
5697         * config.gcc: Define USG in xm_defines as appropriate.  Define
5698         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
5699         macro.  Remove deleted xm-* files from $xm_files variable.
5700
5701 2001-03-07  Tom Tromey  <tromey@redhat.com>
5702
5703         * configure: Rebuilt.
5704         * configure.in: Allow config-lang.in to set `lang_requires' to list
5705         of other required languages.
5706
5707 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
5708
5709         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
5710         after its emitted.
5711         (output_prologue): Use xmalloc not oballoc.
5712         (output_epilog): Free a29k_first_epilogue_insn when finished.
5713         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
5714
5715 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
5716
5717         * builtins.c (expand_builtin_mathfn): Check
5718         flag_unsafe_math_optimizations, not flag_fast_math.
5719         (expand_builtin): Likewise
5720         * combine.c (combine_simplify_rtx): Likewise.
5721         (simplify_if_then_else): Likewise.
5722         * cse.c (fold_rtx): Likewise.
5723         * flags.h: Remove flag_fast_math.  Add
5724         flag_unsafe_math_optimizations and flag_trapping_math.
5725         * fold-const.c (negate_expr): Check
5726         flag_unsafe_math_optimizations, not flag_fast_math.
5727         (invert_truthvalue): Likewise.
5728         (fold): Likewise.  Before associating operands, check that
5729         code == MULT_EXPR, not code != MULT_EXPR.
5730         * ifcvt.c (noce_try_minmax): Check
5731         flag_unsafe_math_optimizations, not flag_fast_math.
5732         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
5733         * invoke.texi: Document -funsafe-math-optimizations and
5734         -fno-trapping-math.  Change documentation for -ffast-math.
5735         * jump.c (reversed_comparison_code_parts): Likewise.
5736         (rtx_equal_for_thread_p): Likewise.
5737         * optabs.c (emit_conditional_move): Likewise.
5738         * simplify-rtx.c (simplify_binary_operation): Likewise.
5739         (simplify_relational_operation): Likewise.
5740         (simplify_ternary_operation): Likewise.
5741         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
5742         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
5743         Add trapping-math and unsafe-math-optimizations entries to f_options.
5744         (set_fast_math_flags): New, sets flags for -ffast-math.
5745         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
5746         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
5747         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
5748
5749         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
5750         (alpha_emit_conditional_move): Initialize local_fast_math to
5751         flag_unsafe_math_optimizations, not flat_fast_math.
5752         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
5753         instead of setting flag_fast_math to 1.
5754         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
5755         not flag_fast_math.
5756         * config/i386/i386.c (override_options): Likewise
5757         * config/i386/i386.md: Likewise.
5758         * config/m68k/m68k.md: Likewise.
5759         * config/mips/mips.md: Likewise.
5760         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
5761         (rs6000_generate_compare): Likewise.
5762
5763 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
5764
5765         * Makefile.in: Set RANLIB to @RANLIB@.
5766         Remove RANLIB_TEST.
5767
5768 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
5769
5770         * fixinc/inclhack.def (djgpp_wchar_h): New test.
5771         * fixinc/fixincl.x: Regenerated.
5772
5773 2001-03-07  Richard Henderson  <rth@redhat.com>
5774
5775         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
5776
5777 2001-03-07  Richard Henderson  <rth@redhat.com>
5778
5779         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
5780         of block notes and exception handling notes.
5781
5782         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
5783         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
5784         (compile_file): ... here.
5785
5786 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5787
5788         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
5789
5790         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
5791         config.h now.  Include libiberty.h to handle alloca.
5792
5793 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
5794
5795         * c-parse.in (yylexname): New function, split out of _yylex.
5796         (objc_rid_sans_at): New table.
5797         (init_reswords): Initialize it.
5798         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
5799         retrieving the next token and checking it for significance as
5800         an ObjC keyword or string constant.
5801
5802         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
5803         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
5804
5805         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
5806         to CPP_OSTRING.
5807
5808 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
5809
5810         * config/m68k/m68k.c (const_uint32_operand): Accept any
5811         const_int on a 32-bit host.
5812
5813 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
5814
5815         * objc/objc-act.c (init_objc): Set save_lang_status,
5816         restore_lang_status, and mark_lang_status.
5817
5818 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
5819
5820         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
5821
5822 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5823
5824         * cppinternals.texi: Update.
5825
5826 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5827
5828         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
5829         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
5830         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
5831         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
5832         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
5833         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
5834         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
5835         config/i386/xm-i386.h, config/i860/xm-i860.h,
5836         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
5837         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
5838         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
5839         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
5840         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
5841         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
5842         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
5843         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
5844         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
5845         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5846         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
5847         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
5848         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
5849         match the defaults provided in hwint.h.
5850
5851         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
5852         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
5853
5854         * config.gcc (xm_file): Don't set to files which are deleted.
5855
5856         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
5857         guard this file against these macros being undefined.
5858
5859 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
5860
5861         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
5862         and DECL_DEFER_OUTPUT on the decl we create, before calling
5863         rest_of_decl_compilation.
5864
5865 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
5866
5867         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
5868         AC_FUNC_ALLOCA.
5869         * configure, config.in: Regenerate.
5870         * config.gcc: Remove references to deleted files.
5871
5872         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
5873         genrecog.c, rtl.c: Do not use alloca anywhere.
5874
5875         * Makefile.in, build-make, system.h, config/x-interix,
5876         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
5877         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
5878         config/arc/xm-arc.h, config/arm/xm-arm.h,
5879         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
5880         config/h8300/xm-h8300.h, config/i370/x-oe,
5881         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
5882         config/i386/x-ncr3000, config/i386/x-sco5,
5883         config/i386/xm-dgux.h, config/i860/x-sysv4,
5884         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
5885         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
5886         config/m68k/x-hp320g, config/m69k/x-mot3300,
5887         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
5888         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
5889         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
5890         config/m88k/x-sysv4, config/m88k/x-tekXD88,
5891         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
5892         config/mips/x-iris, config/mips/x-iris3,
5893         config/mips/x-sni-svr4, config/mips/x-sysv,
5894         config/mips/xm-iris6.h, config/mips/xm-mips.h,
5895         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
5896         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
5897         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
5898         config/pa/xm-papro.h, config/romp/xm-romp.h,
5899         config/rs6000/x-aix31, config/rs6000/x-aix41,
5900         config/rs6000/x-beos, config/rs6000/x-lynx,
5901         config/rs6000/x-mach, config/rs6000/x-rs6000,
5902         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
5903         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5904         config/sparc/x-sysv4, config/sparc/xm-linux.h,
5905         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
5906         config/vax/xm-vms.h: Eradicate all references to alloca and
5907         related stuff.
5908
5909         * config/xm-alloca.h, config/clipper/x-clix,
5910         config/i386/xm-sysv4.h, config/i860/x-fx2800,
5911         config/i860/x-sysv3, config/m88k/x-sysv3,
5912         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
5913         (contained only alloca related hacks).
5914
5915         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
5916         USE_C_ALLOCA.
5917
5918 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
5919
5920         * invoke.texi: Document __FAST_MATH__.
5921
5922 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5923
5924         * crtstuff.c: Restore include of auto-host.h.
5925
5926 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
5927
5928         Put main() in a separate file, so that the language
5929         front-end can use a different main().
5930
5931         * main.c: New.
5932         * toplev.c: (main): Rename as toplev_main.
5933         * toplev.h: Declare toplev_main.
5934         * Makefile.in (OBJS): add toplev.o.
5935           (BACKEND): remove toplev.o, add main.o.
5936
5937 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
5938
5939         * cppfiles.c (search_from): Special case the empty string.
5940
5941 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
5942
5943         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
5944         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
5945         strlen or strcpy; we already know the length.
5946         (_cpp_compare_file_date): Similarly.
5947         * cpphash.h (struct cpp_reader): Delete done_initialising.
5948         (CPP_PREV_BUFFER): Delete.
5949         * cppinit.c (cpp_start_read): Don't set done_initialising.
5950         * cpplex.c (parse_string): Guarantee null-termination.
5951         (_cpp_equiv_toklists): Remove.
5952         * cpplib.c (glue_header_name): Null-terminate.
5953         (do_line): Don't leak memory.
5954         * cpplib.h (BT_WEAK): Delete.
5955         * cppmain.c (cb_ident): Strings are now null-terminated.
5956
5957 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
5958
5959         * gcc.c (convert_filename): Append executable suffix
5960         if NO_AUTO_EXE_SUFFIX is not defined.
5961         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
5962         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
5963
5964 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
5965
5966         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
5967         * c-parse.gperf, c-gperf.h: Delete.
5968         (c-gperf.h was accidently re-added to the CVS repo in the rev
5969         1.16 commit by tromey)
5970
5971 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5972
5973         * cpplex.c (_cpp_lex_token): Don't warn about directives in
5974         macro arguments when looking for the '('.
5975         * cppmacro.c (funlike_invocation_p): Set parsing_args to
5976         2 when really parsing arguments; 1 when looking for '('.
5977         Always restore the lexer position.
5978
5979 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5980
5981         * longlong.h (umul_ppmm): Don't use a multiline string.
5982
5983 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5984
5985         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
5986         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
5987         t_bool in declaration because pcc can't combine volatile with typedef
5988         types.
5989
5990 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
5991
5992         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
5993         until when it is really needed.
5994         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
5995         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
5996         * i386.md (float?i?f splitter): Don't force source operand to memory
5997         for SSE.
5998         (sse_movdfcc): Fix constraint.
5999         (sse_movdfcc splitter): Handle properly the second alternative.
6000
6001 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
6002
6003         * cpplex.c (parse_string): Unconditionally pedwarn.
6004
6005 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
6006
6007         * cpp.texi: Update.
6008         * cppexp.c (parse_number): Update.
6009         * cpplex.c (parse_string): Pedwarn if multiline string does not
6010         result from a system header's macro.
6011         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
6012         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
6013         for function-like macros too.
6014         * c-lex.c (lex_number): Update.
6015
6016 2001-03-03  Richard Henderson  <rth@redhat.com>
6017
6018         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
6019
6020 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
6021
6022         * combine.c (try_combine): If split with mode-changed scratch
6023         register didn't work, try the original mode.
6024
6025 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
6026
6027         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
6028         * config/c4x/c4x.h: Likewise.
6029         * stor-layout.c (compute_record_mode): Likewise.
6030         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
6031
6032 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
6033
6034         * configure.in: Kill tm.h.  Include the files in the $tm_file
6035         list in all three of config.h, hconfig.h, tconfig.h, after the
6036         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
6037         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
6038         * configure: Regenerate.
6039         * Makefile.in (clean): Don't delete tm.h.
6040
6041         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
6042         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
6043         those are not defined, set SEC and FEC to 0 and 1.
6044         * gcc.texi: Update to match.
6045
6046         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
6047         * config/fp-bit.c, config/m68k/aux-crt2.asm,
6048         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
6049         Include tconfig.h, not tm.h.
6050
6051         * config/xm-lynx.h, config/xm-std32.h,
6052         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
6053         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
6054         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
6055         config/clipper/xm-clix.h, config/convex/xm-convex.h,
6056         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
6057         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
6058         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
6059         config/i386/xm-i386.h, config/i860/xm-i860.h,
6060         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
6061         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
6062         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
6063         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
6064         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
6065         config/pa/xm-linux.h, config/pa/xm-pa.h,
6066         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
6067         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
6068         config/pj/xm-pj.h, config/romp/xm-romp.h,
6069         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
6070         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
6071         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
6072         config/v850/xm-v850.h, config/vax/xm-vax.h,
6073         config/we32k/xm-we32k.h:
6074         Don't include tm.h.
6075         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
6076
6077         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
6078         config/i370/xm-oe.h: Don't include tm.h.  Don't define
6079         SUCCESS_EXIT_CODE.
6080         * config/vax/xm-vms.h: Don't include tm.h.
6081
6082         * config/xm-lynx.h, config/avr/xm-avr.h,
6083         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
6084         Delete; made empty by above changes.
6085         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
6086         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
6087         Don't include config/xm-lynx.h or tm.h.
6088
6089         * config/xm-gnu.h: Don't include fcntl.h.
6090         * config/sparc/xm-lynx.h: Don't include sys/types.h and
6091         sys/wait.h.
6092         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
6093
6094 2001-03-02  Richard Henderson  <rth@redhat.com>
6095
6096         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
6097         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
6098
6099 2001-03-02  Richard Henderson  <rth@redhat.com>
6100
6101         * Makefile.in (OBJS): Add dwarf2asm.o.
6102         * dwarf2asm.c, dwarf2asm.h: New files.
6103         * dwarf2out.c (*): Use them.
6104         (size_of_uleb128, size_of_sleb128): Remove.
6105         (output_uleb128, output_sleb128): Remove.
6106         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
6107         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
6108         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
6109         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
6110         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
6111         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
6112         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
6113         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
6114         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
6115         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
6116         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
6117         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
6118         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
6119         (dwarf2out_frame_debug): Remove unused variables.
6120         (output_loc_operands): Don't abort on 8 byte constants if
6121         host integers are wide enough.
6122         (output_symbolic_ref): Remove.
6123         (size_of_die): Don't assume 4 byte host integers.
6124         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
6125         and end labels.
6126         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
6127         something stupid with HOST_WIDE_INT to long truncation.
6128         [CONST_DOUBLE]: Likewise.
6129
6130         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
6131         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
6132         * config/arm/unknown-elf.h: Likewise.
6133         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
6134         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
6135         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
6136         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
6137         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
6138         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
6139         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
6140         (ASM_OUTPUT_DWARF_OFFSET): Remove.
6141         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
6142         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6143         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
6144         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
6145
6146 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6147
6148         * cselib.c (hash_rtx): Cast enums to unsigned int.
6149
6150 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6151
6152         * print-rtl.c (print_rtx): Cast enums to int for comparison.
6153         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
6154         shifts.
6155         * c-format.c (C_STD_VER): Cast to int for comparisons.
6156         (check_function_format): Cast various enums to int for &.
6157         (maybe_read_dollar_number): Likewise.
6158         (check_format_info): Likewise.
6159         (check_format_info_main): Likewise.
6160         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
6161         (safe_from_p): Likewise.
6162         * varasm.c (const_hash): Cast enum to int for %.
6163         * emit-rtl.c (init_emit_once): Use int loop variable to work around
6164         pcc enum problems with < and ++ operators.
6165         * regclass.c (init_reg_sets_1): Cast enums for comparison.
6166         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
6167         (regclass_init): Change enum class to int to iterate over reg_classes.
6168         * genrecog.c (merge_trees): Cast enums for comparison.
6169         * rtl.h (GET_CODE): Cast to enum rtx_code.
6170         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
6171         (GET_MODE): Cast to enum machine_mode.
6172         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
6173         (GET_NOTE_INSN_NAME): Cast enum to int.
6174         * tree.h (TREE_CODE): Cast to enum tree_code.
6175         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
6176         * timevar.c (timevar_print): Change loop variable id from enum to
6177         unsigned int.
6178         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
6179         * config/i386/i386.md: Use PUT_MODE for mode assignment.
6180         * toplev.c (compile_file): Cast enum DFI to int.
6181         (decode_d_option): Likewise.
6182
6183 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
6184
6185         * cppinit.c (append_include_chain): Mark "after" include file name list
6186         as a system directory.
6187         * cpp.texi: Document new behavior.
6188
6189 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6190
6191         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
6192
6193 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6194
6195         * cppfiles.c (struct include_file): Update.
6196         (stack_include_file): Use search_from.
6197         (cpp_included, find_include_file): Update.
6198         (cpp_execute_include): Update.  ptr->name may not be
6199         null terminated.  Use the new search_from member variable
6200         of cpp_buffer.
6201         (_cpp_compare_file_date): Similarly.
6202         (search_from): New function, similiar to actual_directory.
6203         (actual_directory): Delete.
6204         (remap_filename): Update.  loc->name may not be null terminated.
6205         (struct file_name_list): Rename search_path.  Update.
6206         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
6207         search_from and dir.
6208         (struct cpp_reader): Remove actual_dirs.
6209         * cppinit.c (struct cpp_pending): Update for renamed objects.
6210         (append_include_chain, remove_dup_dir, remove_dup_dirs,
6211         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
6212         * cpplib.h (struct cpp_options): Similarly.
6213
6214 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
6215
6216         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
6217         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
6218         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6219         config/clipper/xm-clix.h, config/convex/xm-convex.h,
6220         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
6221         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
6222         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
6223         config/i370/xm-linux.h, config/i370/xm-mvs.h,
6224         config/i370/xm-oe.h, config/i386/xm-aix.h,
6225         config/i386/xm-i386.h, config/i386/xm-osf.h,
6226         config/i860/xm-i860.h, config/i960/xm-i960.h,
6227         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6228         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
6229         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
6230         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
6231         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
6232         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
6233         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
6234         config/pj/xm-pj.h, config/romp/xm-romp.h,
6235         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
6236         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
6237         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
6238         config/v850/xm-v850.h, config/vax/xm-vax.h,
6239         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
6240         Do not define TRUE or FALSE.
6241
6242         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
6243         empty by above change.
6244         * config.gcc: Remove references to these files.
6245
6246         * configure.in: Detect stdbool.h.
6247         * configure, config.in: Regenerate.
6248         * system.h: Include stddef.h here if available.
6249         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
6250         Then set up a sensible boolean type at the very end.
6251
6252         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
6253         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
6254
6255         * hash.h: Delete 'boolean' typedef and related #undefs.
6256
6257         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
6258         all uses of 'boolean' with 'bool'.
6259
6260 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6261
6262         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
6263         * cppexp.c (lex): Cast enums for comparison.
6264         * cppinit.c (parse_option): Cast enum for comparison.
6265         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
6266         (cpp_output_token): Likewise.
6267         (cpp_can_paste): Cast enums for comparsion and plus/minus.
6268         (cpp_avoid_paste): Cast enums for minus and comparison.
6269
6270 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
6271
6272         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
6273         field to all array elements.
6274
6275 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
6276
6277         * cpphash.h (struct cpp_reader): Add print_version field.
6278         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
6279         just set print_version and other flags as appropriate.
6280         (cpp_post_options): Print version here if print_version is set.
6281
6282         * toplev.c (exit_after_options): New flag.
6283         (independent_decode_option): Don't exit here; just set
6284         exit_after_options.
6285         (main): Exit after calling lang_hooks.post_options if
6286         exit_after_options is true.
6287
6288         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
6289         (merge_include_chains): Adjust comment to match code.
6290
6291 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
6292
6293         * stringpool.c (set_identifier): New function.
6294         * tree.h: Prototype it.
6295
6296         * c-parse.in: Kill D_YES. If compiled for objc, call
6297         save_and_forget_protocol_qualifiers from init_reswords.
6298         * objc/objc-act.c (remember_protocol_qualifiers,
6299         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
6300         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
6301         vice versa.
6302         (save_and_forget_protocol_qualifiers): New function.
6303         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
6304
6305 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
6306
6307         * c-semantics.c (prune_unused_decls): Return error_mark_node
6308         instead of (tree) 1 to stop traversing the tree chain.
6309
6310 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
6311
6312         Fix a problem introduced by Kenner's Feb 18 change.
6313         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
6314         flag_cse_skip_blocks only temporarily, not for ever.
6315
6316 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
6317
6318         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
6319         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
6320
6321         * pa.c (emit_move_sequence): Verify operand0 is a hard register
6322         before determining its register class.
6323
6324 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
6325
6326         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
6327         from reg 4 if current_function_calls_setjmp.
6328         (gen_nop_type): New function.
6329         (ia64_emit_nops): New function.
6330         (ia64_reorg): Call it.
6331         (ia64_sched_reorder): Move code that rotates bundles up a bit.
6332
6333         * reload1.c (eliminate_regs_in_insn): Restrict the special case
6334         code not to try to optimize adds with anything but a REG destination.
6335
6336         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
6337         (INSN_PRIORITY_KNOWN): New accessor macro.
6338         * haifa-sched.c (priority): Use it instead of testing priority against
6339         zero.
6340
6341 2001-02-28  DJ Delorie  <dj@redhat.com>
6342
6343         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
6344         since that doesn't work the way gcc wants on a generic m68k.
6345
6346 2001-02-28  Richard Henderson  <rth@redhat.com>
6347
6348         * caller-save.c (save_call_clobbered_regs): Fix typo in
6349         comparison last change.
6350
6351 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
6352
6353         * i386.c (pentium4_cost): New.
6354         (m_PENT4): New macro.
6355         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
6356         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
6357         x86_integer_DFmode_moves, x86_partial_reg_dependency,
6358         x86_memory_mismatch_stall): Add Pentium4
6359         (x86_use_q_reg, x86_use_any_reg): Kill.
6360         (override_options): Add pentium4.
6361         (incdec_operand): Return 0 for pentium4.
6362         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
6363         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
6364         (TARGET_PENTIUM4): Define.
6365         (enum processor_type): Add PROCESSOR_PENTIUM4.
6366         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
6367         * i386.md (attribute "cpu"): Add pentium4.
6368         * invoke.texi (march): Add pentium4.
6369
6370 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
6371
6372         * i386.md (sse_mov?fcc*): New patterns and splitters.
6373         * i386.c (ix86_expand_movcc): Work post-reload; recognize
6374         the SSE based conditional moves.
6375
6376 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
6377
6378         * i386.md (attribute mode): Add "TI".
6379         (movsf_1): Add pxor support; remove constant propagation splitter.
6380         (movdf_integer): Likewise.
6381         (movdf_nointeger): Likewise.
6382         (movxf constant prop splitter): Handle all modes; update for SSE.
6383         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
6384         * i386.c (standard_80387_constant_p): Rewrite.
6385         (standard_sse_constant_p): New.
6386         * i386-protos.h (standard_sse_constant_p): New.
6387
6388 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
6389
6390         * i386.md (sse_setccsf, sse_setccdf): New.
6391         (sse_cmp* patterns): Use '%D' instead of outputtting condition
6392         flag directly.
6393         * i386.c (sse_comparison_operator): Accept the supported unordered
6394         comparses; be ready for fast_math.
6395         (print_operand): Support 'D'.
6396
6397 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
6398
6399         * jump.c (reversed_comparison_code): Kill.
6400
6401 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
6402
6403         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
6404         for STACK_REGS
6405
6406 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
6407
6408         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
6409         add missing '%' in constraints.
6410
6411 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
6412
6413         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
6414         for HOST_BITS_PER_WIDE_INT == 32 too.
6415
6416 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
6417
6418         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
6419         NREGS.
6420         (insert_save, insert_restore): New parameter save_mode.
6421         (init_caller_save): Update initialization of reg_save_code
6422         and reg_restore_code.
6423         (save_call_clobbered_regs):  Compute save_modes and update calls to
6424         reg_save_code and reg_restore_code.
6425         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
6426         of spill; update use of reg_restore_code.
6427         (insert_save):  Likewise.
6428         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
6429         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
6430         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
6431
6432 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
6433
6434         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
6435         noce_try_store_flag_inc, noce_try_store_flag_mask,
6436         noce_try_cmove_arith):
6437         Use reversed_comparison_code instead of reverse_comparison and
6438         can_reverse_comparison_p.
6439
6440 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
6441
6442         * jump.c (reversed_comparison_code_parts): Allow reversal of
6443         unordered compares in -ffast-math mode; reverse ordered compares
6444         for FP even w/o -ffast-math.
6445
6446 2001-02-27  Richard Henderson  <rth@redhat.com>
6447
6448         * print-rtl.c (print_rtx) [i]: Don't print field five on
6449         NOTEs other than NOTE_INSN_DELETED_LABEL.
6450
6451 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
6452
6453         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
6454         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
6455
6456 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
6457
6458         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
6459         even if walk_subtrees is 0.
6460         * c-semantics.c (prune_unused_decls): Return a non-null value to
6461         stop traversing the tree chain.
6462
6463 2001-02-27  DJ Delorie  <dj@redhat.com>
6464
6465         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
6466         register, *then* define it as the new CFA.
6467
6468 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
6469
6470         * pa.c (override_options): Promote -fpic to -fPIC.
6471         (legitimize_pic_address): Simplify due to removal of
6472         small PIC as a code generation option.
6473         (secondary_reload_class): Similarly.
6474         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
6475         (PRINT_OPERAND_ADDRESS): Similarly.
6476         * pa.md (various patterns): Similarly.
6477         (small pic lo_sum pattern): Remove.
6478
6479 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6480                               Fergus Henderson
6481
6482         * md.texi (min, max): Document
6483
6484 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
6485
6486         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
6487         TARGET_PARTIAL_REG_DEPENDENCY.
6488         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
6489
6490 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
6491
6492         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
6493
6494 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
6495
6496         * mips.c (mips_make_temp_file): Fix thinko in last change.
6497
6498 2001-02-26  Jason Eckhardt  <jle@redhat.com>
6499
6500         * combine.c (known_cond): Do not reverse the condition when
6501         SMAX/UMAX is being considered and the condition is for equality
6502         or inequality.
6503
6504         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
6505
6506 2001-02-26  Philip Blundell  <philb@gnu.org>
6507
6508         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
6509         "armv2-*-linux".
6510         * config/arm/linux-elf.h: Remove historical relics related to
6511         above configurations.
6512         * config/arm/linux-oldld.h: Delete.
6513         * config/arm/linux-elf26.h: Delete.
6514
6515 2001-02-26  Jason Merrill  <jason@redhat.com>
6516
6517         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
6518         definitions.
6519         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
6520         recognize a tentative definition.  Lose obsolete code.
6521
6522         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
6523         variables unless necessary, either.
6524
6525 2001-02-25  Richard Henderson  <rth@redhat.com>
6526
6527         * ifcvt.c (struct noce_if_info): Add test_bb.
6528         (noce_get_alt_condition): New.
6529         (noce_try_minmax, noce_try_abs): New.
6530         (noce_operand_ok): New.
6531         (noce_process_if_block): Use them.
6532         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
6533
6534 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
6535
6536         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
6537         include.
6538
6539 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
6540
6541         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
6542         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
6543         properly.
6544         (mips_asm_file_end): Free temp_filename here.
6545
6546 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6547
6548         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
6549         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
6550
6551         * config/i386/i386.md (movstrsi): Handle FAIL case.
6552
6553 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
6554
6555         * cppinit.c (builtin_array): Update.
6556         (init_builtins): Flag builtins to warn if redefined or
6557         undefined.  Define __GXX_WEAK as a normal macro.
6558         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
6559         * cpplib.h (NODE_WARN): New flag.
6560         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
6561         Handle __STDC__ as a builtin only on Solaris.
6562         (warn_of_redefinition): Renamed from check_macro_definition.
6563         Reverse sense of test.  Always warn if NODE_WARN.
6564         (_cpp_create_definition): Use warn_of_redefinition.  Flag
6565         any macro beginning with "__STDC_" to require a mandatory
6566         warning if redefined or undefined.
6567
6568 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
6569
6570         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
6571         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
6572         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
6573         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
6574         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
6575         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
6576         Don't define any of:
6577         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
6578         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
6579         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
6580         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
6581         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
6582
6583         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
6584         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
6585         definitions.
6586
6587         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
6588         Delete now-empty file.
6589
6590         * alpha/vms.h: Define NEED_ATEXIT here...
6591         * alpha/xm-vms.h: ...not here.
6592
6593         * i386/cygwin.h: Don't define PARAMS.
6594         * mips/mips.c: Don't prototype mktemp.  Don't define
6595         P_tmpdir.  Use make_temp_file to create temporary files.
6596         Don't be clever and delete temporary files early.
6597         * config.gcc: Drop references to deleted files.  Don't define
6598         FULL_PROTOTYPES.
6599         * gcc.texi: Don't mention USE_PROTOTYPES.
6600
6601 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6602
6603         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
6604         (ix86_set_move_mem_attrs_1): Likewise.
6605         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
6606         * config/i386/i386.md (movstrsi): Call it.
6607
6608 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
6609
6610         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
6611         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
6612         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
6613         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
6614
6615         (i750a-*-*): Error here if hosting on i750a.
6616         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
6617
6618         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
6619         Remove (empty modulo comments).
6620
6621         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
6622         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
6623         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
6624         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
6625         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
6626         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
6627
6628         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
6629         Remove reference to winnt.h in comment.
6630         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
6631
6632 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6633
6634         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
6635         used to set another biv.
6636
6637 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6638
6639         * tree.h (BLOCK_DEAD): New macro.
6640         (struct tree_block): New flag, dead_flag.
6641         * print-tree.c (print_node, case 'b'): Print missing fields.
6642         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
6643         * function.c (identify_blocks): Enable test for misplaced notes.
6644         (all_blocks): Skip BLOCK_DEAD blocks.
6645         * integrate.c (integrate_decl_tree): Likewise.
6646
6647         * errors.c (internal_error, trim_filename): New functions.
6648         (fancy_abort): Call internal_error.
6649         * errors.h (internal_error, trim_filename): New declarations.
6650
6651 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
6652
6653         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
6654         2000-08-26's patch.
6655         (EXTRA_CONSTRAINT): Formatting changes.
6656
6657 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6658
6659         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
6660
6661 2001-02-23  Per Bothner  <per@bothner.com>
6662
6663         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
6664         so they can be called from java/jvspec.c.
6665         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
6666
6667 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
6668
6669         * i386.c (ix86_frame): New structure.
6670         (ix86_compute_frame_size): Kill.
6671         (ix86_compute_frame_layout): New.
6672         (ix86_save_reg): New.
6673         (ix86_can_use_return_insn_p): Use frame layout stuff.
6674         (ix86_expand_prologue): Likewise.
6675         (ix86_expand_epilogue): Likewise.
6676         (ix86_initial_elimination_offset): Likewise.
6677         (ix86_nsaved_regs): Use ix86_save_reg.
6678         (ix86_emit_save_regs): Likewise.
6679
6680 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
6681
6682         * flow.c (find_sub_basic_blocks): New function.
6683         (split_block): Be ready for basic block introduced by CODE_LABEL.
6684         (commit_one_edge_insertion): Call find_sub_basic_block.
6685
6686         * flow.c (make_edges): Add edge from entry for blocks starting with
6687         label having ALTERNATE_NAME
6688
6689 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
6690
6691         * function.c (epilogue_done): Be ready for first basic block not
6692         containing PROLOGUE_END note.
6693         (reposition_prologue_and_epilogue_notes): Avoid placing
6694         PROLOGUE_END note between BASIC_BLOCK.
6695
6696 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
6697
6698         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
6699
6700 2001-02-21  DJ Delorie  <dj@redhat.com>
6701
6702         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
6703         check for current_function_has_nonlocal_goto from 1999-11-12.
6704
6705 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6706
6707         * diagnostic.c (trim_filename): No longer static.
6708         * toplev.h (trim_filename): Declare.
6709         * rtl.c (rtl_check_failed_bounds): Call internal_error.
6710         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
6711         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
6712         (rtvec_check_failed_bounds): Likewise.
6713         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
6714
6715         * convert.c (convert_to_integer): Don't do unsigned unless result or
6716         both inputs are unsigned.
6717
6718         * fold-const.c (fold_convert): Don't call size_int_type_wide if
6719         input overflows.
6720
6721         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
6722
6723         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
6724
6725 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
6726
6727         * Makefile.in (resource.o): Add params.h dependence.
6728         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
6729         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
6730         * resource.c: Add dependence on params.h.
6731         (current_live_regs): Fix explanatory comment.
6732         (find_basic_block): Add new parameter to permit limiting search
6733         for a BARRIER.
6734         (mark_target_live_regs): Add new argument to find_basic_block call.
6735         (incr_ticks_for_insn): Likewise.
6736
6737 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
6738
6739         * diagnostic.c (output_to_stream): Rename to
6740         output_buffer_to_stream. Loses the stream parameter.
6741         (init_output_buffer): Set diagnosic_buffer's stream.
6742         (flush_diagnostic_buffer): Adjust.
6743         (default_print_error_function): Likewise.
6744         (finish_diagnostic): Likewise.
6745         (verbatim): Likewise.
6746
6747         * diagnostic.h (struct output_buffer): Add `stream' field.
6748         (output_buffer_attached_stream): New macro.
6749
6750 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
6751
6752         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
6753         check if either operand is divisible by C.
6754         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
6755         If type is signed, consider negative numbers as well.
6756
6757 2001-02-22  Richard Henderson  <rth@redhat.com>
6758
6759         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
6760         reach .text instead of gp-relative relocs.
6761         * config/ia64/crtend.asm (.init): Likewise.
6762
6763 2001-02-22  Andreas Jaeger  <aj@suse.de>
6764
6765         * extend.texi (C++ Attributes): Fix typo.
6766
6767 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
6768
6769         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
6770         functions, drop current_function_args_info.words test.
6771         (ia64_compute_frame_size): Mark syscall_linkage functions as
6772         using eight input registers.
6773
6774 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
6775         Bruce Korb  <bkorb@gnu.org>
6776
6777         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
6778         * fixinc/README: Document how to convert sed substitutions
6779         to format style c_fix-es.
6780         * fixinc/fixincl.x: regen
6781
6782 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
6783
6784         * gcc.c: Add comment explaining how to add a command-line option.
6785         Add title to specs language comment.
6786
6787 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
6788
6789         * gcc.c (cc1_options): Add "-param".
6790         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
6791         (option_map): Likewise.
6792         * toplev.c (display_help): Add entry for "--param".
6793         (independent_decode_option): Fix typographical error.
6794
6795 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
6796                               Bernd Schmidt  <bernds@redhat.com>
6797                               Jan Hubicka  <jh@suse.cz>
6798
6799         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
6800         (function_arg): Likewise.
6801
6802 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
6803
6804         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
6805
6806 2001-02-21  Kazu Hirata  <kazu@hxi.com>
6807
6808         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
6809         character.
6810         (xorsi3): Likewise.
6811
6812 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
6813
6814         * flow.c (init_propagate_block_info): Canon address and use single_set
6815         for killing dead memory stores.
6816
6817 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
6818
6819         * Makefile.in (reorg.o): Add params.h dependence.
6820         * params.def: Fix typographical error in comment.
6821         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
6822         * params.h: Modify introductory comment.
6823         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
6824         * reorg.c: Add dependence on params.h.
6825         (redundant_insn): Add parameterized throttle for search.
6826         (fill_simple_delay_slots): Add a comment explaining a variable.
6827         Move conditional out of loop, simplifying code.
6828         (fill_eager_delay_slots): Fix typographical error in comment.
6829
6830 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
6831
6832         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
6833
6834         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
6835         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
6836
6837 2001-02-21  Jason Merrill  <jason@redhat.com>
6838
6839         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
6840         (struct tree_decl): Add uninlinable bitfield.
6841         * c-decl.c (duplicate_decls): Set it.
6842         * integrate.c (function_cannot_inline_p): Check it.
6843
6844         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
6845         DW_AT_MIPS_linkage_name to abstract methods.
6846         (dwarf2out_abstract_function): Emit class context before calling
6847         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
6848         (gen_subprogram_die): Remove obsolete code.
6849         (gen_member_die): Don't include clones in the member list.
6850         (gen_decl_die): Emit abstract info for clone origin.
6851         * dwarfout.c (output_type): Don't include clones in the member list.
6852         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
6853         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
6854         DECL_ABSTRACT on a function that already has it set.
6855
6856         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
6857         (get_subprogram_die): Pass it in.
6858
6859 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
6860
6861         * flow.c (mark_set_1): Make not_dead unsigned long.  For
6862         non-pseudos, use it as a bitmask of the hard regs that
6863         don't die.
6864
6865 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6866
6867         * cppfiles.c: Update comments.
6868         (_cpp_read_file): Don't check for NULL filenames any more.
6869         * cppinit.c (cpp_start_read): Don't do canonicalization of
6870         in_fname and out_fname.  Use the passed file name exclusively.
6871         (_cpp_handle_options): Don't treat "-" as a command line option,
6872         but as a normal filename.
6873         (_cpp_post_options): Canonicalize in_fname and out_fname.
6874         * cppmain.c (printer_init): Don't check out_fname for NULL.
6875         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
6876         (init_c_lex): Update, and use "" to represent stdin to CPP.
6877         (yyparse): Update.
6878
6879 2001-02-20  Will Cohen  <wcohen@redhat.com>
6880
6881         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
6882         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
6883         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
6884         fixunstfsi_libfunc.
6885
6886 2001-02-20  Stan Shebs  <shebs@apple.com>
6887
6888         * config/rs6000/rs6000.c (output_cbranch): Output branches
6889         on separate lines instead of using ';' to separate.
6890
6891 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
6892
6893         * cppinit.c (set_lang):  Move builtin handling to...
6894         (init_builtins): ...here.
6895         (_cpp_create_reader): Move call to set_lang.
6896
6897 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
6898
6899         * stmt.c (expand_return): If an attempt is made to return the
6900         error_mar_node, treat the return like a return without a value.
6901
6902 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
6903
6904         * sibcall.c (skip_copy_to_return_value): Call
6905         identify_call_return_value here, and return orig_insn if it
6906         returns zero.  Hardret and softret arguments now unnecessary.
6907         (call_ends_block_p): Don't call identify_call_return_value here.
6908
6909         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
6910         's' slots in RTXen.
6911         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
6912         * ggc.h (ggc_mark_if_gcable): Delete prototype.
6913
6914 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
6915
6916         * pa.c (move_operand): Accept code to load the address of a
6917         symbol out of the DLT as a valid move operand.
6918         (print_operand, case 'A'): New to handle generating a DLT
6919         reference for a LO_SUM expression.
6920         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
6921         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
6922
6923 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
6924
6925         * README, cpp.texi, gcc.texi, version.c: Update version number to
6926         3.1.
6927         * cpp.1, gcov.1, gcc.1: Regenerate.
6928
6929 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
6930
6931         * cppfiles.c (stack_include_file): Generate dependencies
6932         here, and manage include_count here too.
6933         (PRINT_THIS_DEP): Delete.
6934         (_cpp_execute_include): Do not generate dependencies here,
6935         apart from the case of a missing header.  Do not manage
6936         include_count.
6937         (_cpp_read_file): Leave dependency generation to
6938         stack_include_file.
6939
6940 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
6941
6942         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
6943         target_cpu_default.  Remove dead assignment to
6944         target_cpu_default.
6945
6946 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
6947
6948         * regclass.c (contains_reg_of_mode): Make global.
6949         (init_reg_sets): Remove contains_reg_of_mode; take into account
6950         CLASS_MAX_NREGS when looking for the proper mode.
6951         (dump_regclass): Dump only classes considered for the pseudo.
6952         (regclass): Use contains_reg_of_mode.
6953
6954 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
6955
6956         * gcc.c (do_spec_1): 'n' for printing notices.
6957         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
6958
6959 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
6960
6961         * reg-stack.c (next_flags_user): Use current_block->end
6962         (swap_rtx_condition): Look for next user if flags don't die;
6963         give up on CALL_INSNs; use current_block->end.
6964
6965 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6966
6967         * sibcall.c (call_ends_block_p): New function.
6968         (optimize_sibling_and_tail_recursive_call): Use it.
6969
6970 2001-02-18  Kazu Hirata  <kazu@hxi.com>
6971
6972         * config/h8300/h8300.md: Update copyright.
6973         (andsi3): Do not output an extra newline character.
6974
6975 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6976
6977         * toplev.c (note_deferral_of_defined_inlined_function): Argument
6978         FNDECL may be unused.
6979
6980         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
6981         follow jumps after first run.
6982         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
6983         it doesn't change any jumps.
6984
6985 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
6986
6987         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
6988         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
6989         (mostlyclean): Corresponding changes.
6990         * rtlanal.c (hard-reg-set.h): Include.
6991         (rtx_unstable_p): Do not treat the argument pointer specially
6992         if it is not a fixed register.
6993         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
6994
6995 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6996
6997         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
6998         against last real insn in basic block.
6999         Rework to avoid gotos.
7000
7001         * Makefile.in (gcse.o): Now includes ggc.h.
7002         * gcse.c: Include ggc.h.
7003         (want_to_gcse_p): Verify expression can be in SET as valid insn.
7004         (try_replace_reg): Remove warning of uninitialize variable.
7005         (process_insert_insn): Call invalid_insn_p to validate insn.
7006         * recog.c (insn_invalid_p): Now global.
7007         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
7008         * recog.h (insn_invalid_p): New declaration.
7009
7010         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
7011
7012         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
7013         assignments from FP constants since 'Y' output code can't handle it.
7014         (eligible_for_sibcall_delay): Likewise.
7015
7016         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
7017         Call fancy_abort directly, passing args.
7018         (print_rtl_and_abort): Now a macro, like fancy_abort.
7019
7020         * final.c (output_operand_lossage): Use internal_error, not error.
7021
7022 2001-02-18  Shane Nay  <shane@agendacomputing.com>
7023
7024         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
7025         structure shift insns.
7026
7027 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
7028
7029         * invoke.texi (-fsquangle): Remove documentation.
7030         (-fname-mangling-version): Likewise.
7031
7032 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
7033
7034         * optabs.c (expand_abs): Remove reference to
7035         HAVE_contitional_arithmetic.
7036         * combine.c (simplify_set): Likewise.
7037
7038 2001-02-18  Richard Henderson  <rth@redhat.com>
7039
7040         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
7041         would be disrupted.
7042
7043 2001-02-18  Richard Henderson  <rth@redhat.com>
7044
7045         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
7046
7047         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
7048
7049         * reload1.c (reload_cse_simplify_set): Fix typo.
7050
7051 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7052
7053         * diagnostic.c (_fatal_insn): Decrement errorcount.
7054
7055         * invoke.texi (-I): Add note avoiding use for system header files.
7056
7057         * rtl.h (add_clobbers): Remove duplicate declaration.
7058         * recog.h (added_clobbers_hard_reg_p): New declaration.
7059         * genemit.c (struct clobber_pat): New field has_hard_reg.
7060         (gen_insn): Record if added clobbers clobber hard reg.
7061         (gen_split): Avoid unused warning if number of operands is 0.
7062         (output_added_clobbers_hard_reg_p): New function.
7063         (main): Call it.
7064
7065 2001-02-18  Alan Modra <alan@linuxcare.com.au>
7066
7067         * pa.c (hppa_expand_prologue): Simplify code storing return
7068         pointer.  For large (>=8k) frames with a post_store, adjust stack
7069         pointer by 8k-64 first rather than by 64.  When testing with
7070         VAL_14_BITS_P, always use the actual value rather than the value
7071         negated.  Add blockage to prevent scheduling of spills before
7072         stack frame has been created.
7073         (hppa_expand_epilogue): Simplify code loading return pointer.
7074         Allow a slightly larger range for merge_sp_adjust_with_load case.
7075         When testing with VAL_14_BITS_P, always use the actual value.
7076
7077         * pa.c (pa_adjust_insn_length): Check that block move
7078         pattern is a set before looking at operands.
7079
7080 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
7081
7082         * fold-const.c (fold_binary_op_with_conditional_arg): New
7083         function, split out from ...
7084         (fold): ... here.
7085         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
7086         conditional arms that throw exceptions.
7087
7088         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
7089         looking at a BLOCK.
7090
7091 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7092
7093         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
7094         define HAVE_DECL_* to 1 to mask potential backup declarations.
7095         * configure: Regenerated.
7096
7097 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
7098
7099         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
7100
7101 2001-02-17  Richard Henderson  <rth@redhat.com>
7102
7103         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
7104         when replacing a memory load with a register.
7105
7106 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7107                           Jan Hubicka  <jh@suse.cz>
7108
7109         * recog.c (validate_replace_src_1): New.
7110         (validate_replace_src_data): Likewise.
7111         (validate_replace_src): Use note_uses.
7112         * rtl.h (note_uses): Declare.
7113         * rtlanal.c (note_uses): New.
7114
7115 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
7116
7117         * reg-stack.c (stack_def): Make field reg unsigned.
7118         (remove_regno_note): Unsignetize parameter.
7119
7120 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
7121
7122         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
7123         shladd_operand() call.
7124
7125 2001-02-16  Bruce Korb  <bkorb@gnu.org>
7126             Rodney Brown  <RodneyBrown@mynd.com>
7127
7128         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
7129         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
7130         machine restrictions
7131         * fixinc/fixincl.x: regen
7132
7133 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7134
7135         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
7136         Don't CSE a nop.
7137         (hash_scan_insn): Clean up calls to hash_scan_set.
7138         (compute_kill_rd): REGNO now unsigned.
7139         (try_replace_reg): Rework to use simplify_replace_rtx.
7140         (cprop_jump, cprop_cc0_jump): Likewise.
7141         (cprop_insn): Call find_reg_equal_equiv_note.
7142         Reflect changes to cprop_jump and cprop_cc0_jump.
7143
7144         * recog.c (validate_replace_src): Replace in operands of
7145         ZERO_EXTRACT in SET_DEST.
7146
7147         * cse.c (new_label_ref): New variable.
7148         (insert): Set it instead of recorded_label_ref.
7149         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
7150         CODE_LABEL for this function, and not already in REG_LABEL note.
7151
7152 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
7153
7154         * resource.c (mark_referenced_resources): Fix typo in introductory
7155         comment.
7156         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
7157         string constant.
7158
7159 2001-02-16  Jason Merrill  <jason@redhat.com>
7160
7161         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
7162         NULL.
7163         (gen_subprogram_die): Don't abort on seeing a second definition if
7164         the previous one was abstract.  Don't replace an abstract instance
7165         in the lookup table.
7166
7167         * dwarf2out.c (dwarf2out_abstract_function): Rename from
7168         gen_abstract_function.
7169         * dwarf2out.h: Declare it.
7170         * toplev.c (note_outlining_of_inline_function): New fn.
7171         * toplev.h: Declare it.
7172         * integrate.c (output_inline_function): Call it.
7173         * c-decl.c (duplicate_decls): Call it when redefining an extern
7174         inline.  Don't inline the new defn.
7175
7176         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
7177
7178 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7179
7180         * .gdbinit: Rename to gdbinit.in.
7181         * gdbinit.in: New file,
7182         * configure.in: Generate .gdbinit from gdbinit.in.
7183         * configure: Regenerated.
7184         * Makefile.in (distclean): Always remove .gdbinit.
7185
7186 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
7187
7188         * objc/objc-act.c (start_class): Register implemented_classes with
7189         GC.
7190
7191 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
7192
7193         * cppfiles.c (_cpp_make_system_header): Generate a file
7194         change callback.
7195
7196 2001-02-15  Jim Meyering  <meyering@lucent.com>
7197
7198         * Makefile.in (install-common): Don't depend on installdirs here.
7199         Instead, make each of the lang.install-common targets (e.g.,
7200         c++.install-common in cp/Make-lang.in) depend on it.
7201         (install-driver): Depend on installdirs.
7202
7203 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7204
7205         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
7206
7207         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
7208         do in memory.
7209
7210 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
7211
7212         * invoke.texi (--param): Document.
7213
7214 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
7215
7216         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
7217
7218 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
7219
7220         * i386.md (extendsfdf2_2): Fix constraints.
7221
7222 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
7223
7224         * i386.md (fop_df_3 splitter): Fix operand number.
7225
7226 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7227
7228         * invoke.texi (-mreg-alloc): Nuke.
7229         * i386.c (ix86_reg_alloc_order, regs_allocated,
7230         order_regs_for_local_alloc): Nuke.
7231         (override_options): Kill reg_alloc code.
7232         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
7233         (REG_ALLOC_ORDER): SSE goes before I387.
7234         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
7235         (ix86_reg_alloc_order): Likewise.
7236         * i386-protos.h (ix86_reg_alloc_order): Kill.
7237
7238 2001-02-14  Richard Henderson  <rth@redhat.com>
7239
7240         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
7241
7242 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
7243
7244         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
7245
7246 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
7247
7248         * i386-protos.h (ix86_memory_move_cost): Move offline.
7249         * i386.c (ix86_register_move_cost): Compute properly cost of
7250         SSE, MMX and i387 instructions.
7251         (*_cost): Add costs of SSE/MMX moves.
7252         (ix86_memory_move_cost): Move offline from ....; Likewise.
7253         * i386.h (MEMORY_MOVE_COST): .... here;
7254         (struct processor costs): Add new fields to represent costs
7255         of SSE/MMX moves.
7256
7257 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
7258
7259         * regclass.c (init_reg_sets_1): Reinstall the optimization of
7260         move_cost together with Matt Kraai's fix.
7261
7262 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
7263
7264         * Makefile.in (OBJS): Add params.o.
7265
7266 2001-02-14  Richard Henderson  <rth@redhat.com>
7267             DJ Delorie  <dj@redhat.com>
7268
7269         * jump.c (jump_optimize_1): When we delete a conditional jump
7270         preceeding a non-conditional jump to effectively the same place,
7271         make sure that the combined jump skips any clobber insns between
7272         the two labels.
7273
7274 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
7275
7276         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
7277
7278 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
7279
7280         * Makefile.in (toplev.o): Depend on params.h.
7281         (intergate.o): Likewise.
7282         (params.o): New target.
7283         * flags.h (inline_max_insns): Remove.
7284         * integrate.c: Include params.h.
7285         Use MAX_INLINE_INSNS instead of inline_max_insns.
7286         * params.c: New file.
7287         * params.h: Likewise.
7288         * params.def: Likewise.
7289         * toplev.c: Include params.h.
7290         (lang_independent_params): New variable.
7291         (decode_f_option): Use the param machinery instead of setting
7292         max_inline_insns.
7293         (independent_decode_option): Handle "--param name=value".
7294         (main): Register language-independent parameters.
7295
7296 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
7297
7298         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
7299
7300 2001-02-14  Richard Henderson  <rth@redhat.com>
7301
7302         * regclass.c (init_reg_sets_1): Revert last two changes.
7303
7304 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
7305
7306         * stor-layout.c (is_pending_size, put_pending_size): New functions.
7307         (variable_size): Call put_pending_size.
7308         * tree.h (is_pending_size, put_pending_size): Add prototypes.
7309         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
7310         sizes list, put newly created SAVE_EXPR there as well.
7311
7312 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
7313
7314         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
7315         (errata_find_address_regs): load_group has only 2 entries.
7316         (errata_emit_nops): Likewise.  shladd is not problematic.
7317         Clear last_group if nop was emitted.
7318         (fixup_errata): load_group has only 2 entries.
7319         Optimize.
7320
7321 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7322
7323         * c-lex.c (lex_number): Only warn traditionally for U suffix
7324         outside system macros.
7325         * cppexp.c (parse_number): Similarly.
7326         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
7327         * cppmacro.c (struct cpp_macro): New member node.
7328         (parse_args): Only warn about missing rest args if not
7329         a system macro.
7330         (funlike_invocation_p): Similarly for uninvoked funlike macros.
7331         (cpp_sys_objmacro_p): New.
7332         (_cpp_create_definition): Store the node with the macro defn.
7333         Remember if the macro is defined in a system header.
7334
7335 2001-02-13  DJ Delorie  <dj@redhat.com>
7336
7337         * configure.in (check_languages): determine languages to check
7338         * Makefile.in (check-c++): alias for check-g++
7339         (check-f77): alias for check-g77
7340         (CHECK_TARGETS): depend on configured languages
7341
7342 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
7343
7344         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
7345         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
7346         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
7347         (sqrtextendsfdf2): Disable for SSE2.
7348
7349 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
7350
7351         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
7352         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
7353         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
7354         (sqrtextendsfdf2): Disable for SSE2.
7355
7356 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
7357
7358         * i386.md (movsfcc_1): Support integer cmove instruction.
7359         (movdfcc_1): Likewise; new splitter.
7360
7361 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
7362
7363         * i386.c (output_fp_compare): Support SSE.
7364         (prepare_fp_compare_args): SSE comparisons always support memory.
7365         * i386.h (TARGET_CMOVE): SSE imply cmove.
7366         * i386.md (cmp?f2): Enable for SSE too.
7367         (cmpfp_i*): Support SSE.
7368         (cmpfp_i_sse): New.
7369         (cmpfp_i_sse_only): New.
7370         (s*, b* fp expanters): Enable for SSE too.
7371         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
7372         New patterns.
7373
7374 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
7375
7376         * regclass.c (init_reg_sets_1): Silence warning.
7377
7378 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
7379
7380         * i386.md (sqrt?f2): Change to expander.
7381         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
7382
7383 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7384
7385         * rtlanal.c (find_reg_equal_equiv_note): New function.
7386         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
7387         (simplify_gen_relational, simplify_replace_rtx): Likewise.
7388         * rtl.h: Add declarations for above functions.
7389
7390 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
7391
7392         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
7393         conditionals.
7394         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
7395         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
7396         * flow.c (mark_regs_live_at_end): Likewise.
7397         (calculate_global_regs_live): Likewise.
7398         * gcse.c (compute_hash_table): Likewise.
7399         (compute_kill_rd): Likewise.
7400         * resource.c (mark_target_live_regs): Likewise.
7401         * rtl.h (INVALID_REGNUM): New macro.
7402
7403 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
7404
7405         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
7406
7407 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
7408
7409         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
7410         for SSE.
7411
7412 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
7413
7414         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
7415         too.
7416         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
7417         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
7418         (fop_sf_1_sse, fop_df_1_sse): New patterns
7419         (fop_*): Disable float_extend and float patterns for SSE compilation.
7420         * i386.c (output_387_binary_op): Support SSE.
7421
7422 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
7423
7424         * i386.md (dummy_extendsfdf2): Support SSE2
7425         (extendsfdf2): Enable if 80387 or SSE2.
7426         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
7427         and no MIX_I387_SSE2
7428         (extendsfdf2_1_sse_only): New pattern.
7429         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
7430         of SSE.
7431         (truncdfsf2_1): Support SSE.
7432         (truncdfsf2_2): Support SSE.
7433         (truncdfsf2_2_1_sse): New pattern.
7434         (fixtruncsfsi2): Always use SSE if available.
7435         (fix_truncsfsi_sse): New pattern.
7436         (fix_truncdfsi_sse): New pattern.
7437         (floatsis?f2): Support SSE.
7438         (floatsidf2_i387): New pattern.
7439         (floatsidf2_sse): Likewise.
7440
7441 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7442
7443         * configure.in: Use "have_gnat" variable, not "gnat".
7444         * configure: Regenerated.
7445
7446         * config/sparc/sparc.c (function_value): Treat all non-record
7447         aggregate types like used to treat UNION_TYPE.
7448
7449 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
7450
7451         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
7452         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
7453         (MASK_SSE2): New.
7454         (MASK_MIX_SSE_I387): New.
7455         (TARGET_SSE): SSE2 imply SSE.
7456         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
7457         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
7458         (enum reg_class): Add new classes.
7459         (REG_CLASS_NAMES): Likewise.
7460         (REG_CLASS_CONTENTS): Likewise.
7461         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
7462         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
7463         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
7464         (CLASS_MAX_NREGS): Use new macros.
7465         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
7466         * i386.md (pushsf, movsf): Support SSE.
7467         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
7468         splitters to use ANY_FP_REGNO_P.
7469         (movdf_nointeger, movdf_integer): Likewise.
7470
7471 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
7472
7473         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
7474         (try_combine): Use it.
7475
7476 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7477
7478         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
7479         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
7480         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
7481         (REGISTER_MOVE_COST): Likewise.
7482         * i386-protos.h (ix86_secondary_memory_needed,
7483         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
7484         * i386.c (ix86_secondary_memory_needed,
7485         ix86_preferred_reload_class, ix86_register_move_cost): New function.
7486
7487 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
7488
7489         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
7490         (HARD_REGNO_MODE_OK): Move offline to ....
7491         * i386.c (ix86_hard_regno_mode_ok) ... here;
7492         refuse all incorrect modes.
7493         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
7494
7495 2001-02-13  Richard Henderson  <rth@redhat.com>
7496
7497         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
7498         entire operator; replicate that and match_dup the operands.
7499         (cmp_ccx_arith_op_set): Likewise.
7500         (cmp_cc_arith_op_not_set): Likewise.
7501         (cmp_ccx_arith_op_not_set): Likewise.
7502
7503 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
7504
7505         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
7506
7507 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
7508
7509         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
7510         (TARGET_NO_BITFIELD_WORD): New macro.
7511         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
7512         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
7513
7514 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7515
7516         * cselib.c: New file, from simplify-rtx.c.
7517         * simplify-rtx.c: Remove cselib parts.
7518         * Makefile.in: Add cselib.o.
7519
7520 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
7521
7522         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
7523         (setup_incoming_varargs): Remove warning.
7524
7525         * config/rs6000/rs6000.c (validate_condition_mode): When
7526         flag_fast_math, allow floating-point conditionals to be reversed.
7527         (rs6000_generate_compare): When flag_fast_math, don't generate
7528         cror operations for FP conditionals.
7529
7530         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
7531         -mcall-i960.
7532         (ASM_SPEC): Likewise.
7533         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
7534         (CC1_SPEC): Likewise.
7535         (LINK_TARGET_SPEC): Likewise.
7536         (CPP_ENDIAN_SPEC): Likewise.
7537         * Makefile.in (check-consistency): New target.
7538
7539 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
7540
7541         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
7542         "return type defaults" warning for functions with return type
7543         defaulting to int.
7544         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
7545         function declarations by default rather than only when pedantic.
7546
7547 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
7548
7549         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
7550         arrays.
7551
7552 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
7553
7554         * extend.texi (Deprecated): Deprecate new initializer lists.
7555
7556 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
7557
7558         * mkdeps.c (deps_add_default_target): Robustify. Add
7559         basename component only.
7560         * cpp.texi (-M): Describe how default target is generated.
7561         * invoke.texi (-M): Likewise.
7562
7563 2001-02-12  Kazu Hirata  <kazu@hxi.com>
7564
7565         * toplev.c (push_float_handler): Remove.
7566         (pop_float_handler): Remove.
7567         * toplev.h: Remove prototypes for the above functions.
7568
7569 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
7570
7571         * c-common.c (constant_fits_type_p): New function.
7572         (convert_and_check): Use it.
7573
7574 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
7575
7576         * Makefile.in (GXX_ABI_FLAG): Don't define.
7577         * configure.in (--enable-new-gxx-abi): Remove option.
7578         * config.in: Regenerated.
7579         * configure: Likewise.
7580
7581 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
7582
7583         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
7584         basic block.
7585         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
7586         regular basic block, and arrange for all edges into it to switch
7587         to normal mode.
7588
7589 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7590
7591         * Makefile.in (distclean): Do not remove .gdbinit.
7592
7593 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
7594
7595         * Makefile.in (gcc.o): Fix typos.
7596         (protize.o): Likewise.
7597         (unprotoize.o): Likewise.
7598
7599 2001-02-11  Richard Henderson  <rth@redhat.com>
7600
7601         * tree.c (build1): Check for null operand in last change.
7602
7603 2001-02-11  Richard Henderson  <rth@redhat.com>
7604
7605         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
7606         (fold): Don't assume a constant isn't foldable.
7607         * tree.c (build): Set TREE_CONSTANT for an expression with no
7608         side-effects and constant operands.
7609         (build1): Likewise.
7610
7611 2001-02-10  Richard Henderson  <rth@redhat.com>
7612
7613         * jump.c (squeeze_notes): Revert 2000-05-12 change.
7614
7615 2001-02-10  Anthony Green  <green@redhat.com>
7616
7617         * cpp.texi (Standard Predefined): Add documentation for
7618         __OPTIMIZE_SIZE__.
7619
7620         * c-common.c (combine_strings): Improve warning message.
7621
7622 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
7623
7624         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
7625         --oformat.
7626         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
7627
7628 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
7629
7630         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
7631         CYGWIN_CROSS_DIR.
7632
7633 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
7634
7635         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
7636         fp_mode attribute.
7637
7638 2001-02-09  Nick Clifton  <nickc@redhat.com>
7639
7640         * config/arm/arm.md: Change output contraint on post inc
7641         load/store multiple patterns to be a read/write contraint.
7642
7643 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
7644
7645         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
7646         .o files when using the -M options.
7647
7648 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7649             David Edelsohn  <edelsohn@gnu.org>
7650
7651         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
7652         handle DImode constants.  Use one TOC entry for SImode and smaller
7653         constants, aligned properly.
7654
7655 2001-02-08  Jason Merrill  <jason@redhat.com>
7656
7657         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
7658         about the SP adjustment for saving the static chain pointer.
7659         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
7660         offset when setting a temporary CFA register.
7661
7662 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
7663
7664         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
7665         powerpc-*-chorusos* .
7666         * config/rs6000/chorus.h : New file.
7667         * config/i386/chorus.h : New file.
7668         * config/sparc/chorus.h : New file.
7669         * config/sparc/t-chorus-elf : New file.
7670
7671 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
7672
7673         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
7674         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
7675         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
7676         (__WCHAR_TYPE__): Correct macro name.
7677
7678 2001-02-08  Richard Henderson  <rth@redhat.com>
7679
7680         * config/i386/i386.c (ix86_frame_pointer_required): New.
7681         (ix86_setup_frame_addresses): New.
7682         (struct machine_funciton): Add accesses_prev_frame.
7683         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
7684         ix86_frame_pointer_required.
7685         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
7686         (SETUP_FRAME_ADDRESSES): New.
7687         * config/i386/i386-protos.h: Update.
7688         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
7689         from FRAME_POINTER_REQUIRED.
7690         * config/i386/svr3gas.h: Likewise.
7691         * config/i386/sysv3.h: Likewise.
7692         * config/i386/v3gas.h: Likewise.
7693
7694 2001-02-08  Richard Henderson  <rth@redhat.com>
7695
7696         * config/sparc/sparc.c (function_arg_record_value_3): Fix
7697         calculation of the number of integer registers required.
7698         (function_arg_record_value): Likewise.
7699
7700 2001-02-08  Jason Merrill  <jason@redhat.com>
7701
7702         * diagnostic.c (internal_error): Say "confused" after 1 error, not
7703         two.  Print file and line with "confused" message.
7704
7705         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
7706
7707 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7708
7709         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
7710
7711 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
7712
7713         * final.c (cleanup_subreg_operands): The address of a MEM can
7714         contain SUBREGs.
7715
7716         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
7717         for asms, too.
7718
7719 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
7720
7721         * gcc.texi (Incompatibilities): Update documentation of
7722         preprocessing numbers.
7723
7724 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
7725
7726         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
7727
7728 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
7729
7730         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
7731
7732         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
7733         * gcc.c (struct compiler): Add cpp_spec field.
7734         (input_file_compiler): New variable.
7735         (do_spec_1): Allow a particular compiler to handle `%C'
7736         specially.
7737         (main): Store the current compiler in input_file_compiler.
7738         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
7739
7740 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
7741
7742         * cpphash.h (struct spec_nodes): Add n_true and n_false.
7743         * cppinit.c (cpp_create_reader): Initialize them.
7744         (append_include_chain): cxx_aware arg might be unused.
7745         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
7746         keywords and give them their phase 7 meaning.  Pedwarn about
7747         this unless '__bool_true_false_are_defined' is defined.
7748
7749 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
7750
7751         * lcm.c (optimize_mode_switching): Emit mode_set before the
7752         JUMP_INSN of an abnormal edge.
7753
7754 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
7755
7756         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
7757         a scheduling barrier at the end.
7758
7759         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
7760
7761 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
7762
7763         * config/sh/sh.md (reload_outsf): Removed.
7764         (movsf_ie): Introduce constraints for FPUL loads and stores.
7765         (reload_insf): Broaden the output constraint.
7766
7767         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
7768         defined.
7769         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
7770         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
7771
7772 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
7773
7774         * final.c: Revert my previous changes.
7775         * output.h: Make profile_label_no extern.
7776         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
7777         for generating label.
7778
7779 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
7780
7781         * config/i386/djgpp.h: Add comments about standard paths.
7782         (MD_EXEC_PREFIX): Undefine before defining.
7783         (MD_STARTFILE_PREFIX): New.
7784
7785 2001-01-30  Bruce Korb  <bkorb@gnu.org>
7786
7787         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
7788         (load_file): do not rely on load_file_data() to close file pointer
7789         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
7790         fixinc/inclhack.def(irix_limits_const): add test_text
7791
7792 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7793
7794         * cppexp.c (parse_defined): Improve diagnostics for invalid
7795         syntax.
7796
7797 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7798
7799         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
7800
7801 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
7802
7803         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
7804         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
7805         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
7806         (rs6000_output_symbol_ref): New function.
7807         (output_toc): Use VTABLE_NAME_P.
7808
7809 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7810
7811         * print-tree.c (print_node, case PARM_DECL):
7812         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
7813
7814         * stor-layout.c (reference_types_internal): New variable.
7815         (internal_reference_types): New function.
7816         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
7817         * tree.h (internal_reference_types): New declaration.
7818
7819         * cse.c (find_best_addr): Fix typo in computing cost.
7820
7821 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7822
7823         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
7824         and this is the sum of a pointer and a constant, we know the result
7825         did not overflow.
7826         (num_sign_bit_copies, case PLUS): Likewise.
7827         * explow.c (convert_memory_address): Remove opposite SUBREG.
7828         * function.c (instantiate_new_reg): New function (from common code).
7829         (instantiate_virtual_regs_1): Call it.
7830         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
7831         if pointers sign- or zero-extend.
7832         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
7833         If pointers extend unsigned, use inside of SUBREG.
7834         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
7835
7836 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
7837
7838         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
7839         subdir of gcc_gxx_include_dir.
7840         (gcc_gxx_target_include_dir): Remove.
7841
7842 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
7843
7844         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
7845         (dwarf2out_frame_debug_expr): Revise introductory comments to add
7846         a high-level description.
7847
7848 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
7849
7850         * final.c: Move the declaration of profile_label_no to ...
7851         * output.h: ... here.
7852         * function.c (expand_function_start): Call PROFILE_HOOK.
7853         * config/rs6000/aix.h: Define PROFILE_HOOK.
7854         * config/rs6000/rs6000-protos.h: output_profile_hook new.
7855         * config/rs6000/rs6000.c (output_profile_hook): Define.
7856         (output_prolog): Do nothing for ABI_AIX as it is taken care by
7857         output_profile_hook.
7858         tm.texi : Explain new macro PROFILE_HOOK.
7859
7860 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
7861
7862         * extend.texi (Extended Asm): Do not say that semicolon is always
7863         a valid line-breaking character for GNU assemblers.  Use
7864         newline-tab as the most commonly supported syntax.  Use
7865         newline-tab rather than semicolon in multi-insn examples.
7866
7867 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7868
7869         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
7870
7871 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7872             David Edelsohn  <edelsohn@gnu.org>
7873
7874         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
7875         code for AIX, even without flag_pic.
7876
7877 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
7878
7879         * c-typeck.c (common_type): push and pop binding level around
7880         calling common_type on function parameters.
7881
7882 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
7883
7884         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
7885
7886 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7887
7888         * config/mips/mips.c (override_options): Fix typo in last change.
7889         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
7890         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
7891
7892 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
7893
7894         * invoke.texi (-fdump-class-layout): Document.
7895         (-fdump-translation-unit): Use `=' as filename separator.
7896
7897 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
7898
7899         * Makefile.in (s-mlib): Don't build multilibs if
7900         --disable-multilib.
7901         (DRIVER_DEFINES): Adjust accordingly.
7902         (gcc.o): Likewise.
7903         (protoize.o): Likewise.
7904         (unprotoize.o): Likewise.
7905         * configure.in: Recognize --enable-multilib.
7906
7907 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
7908
7909         * Makefile.in (DRIVER_DEFINES): Fix quoting.
7910
7911         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
7912         * configure.in: Remove --enable-libstdcxx_v3 support.
7913         * configure: Regenerated.
7914
7915 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7916
7917         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7918         Call abort instead of fatal.
7919         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
7920         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
7921         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
7922         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
7923         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
7924         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
7925
7926         * diagnostic.h (set_internal_error_function): Renamed.
7927         * toplev.h (internal_error): Renamed from fatal.
7928         (pfatal_with_name): Deleted.
7929         (fatal_io_error): Now has printf-style arguments.
7930         * diagnostic.c (pfatal_with_name): Deleted.
7931         (fatal_io_error): Rework to have args in printf-style.
7932         (set_internal_error_function): Renamed from set_fatal_function.
7933         (internal_error): Renamed from fatal.
7934         (error_recursion, fancy_abort): Call internal_error instead of fatal.
7935         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
7936         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
7937         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
7938         * flow.c (verify_flow_info): Likewise.
7939         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
7940         * config/mips/mips.c (save_restore_insns): Likewise.
7941
7942         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
7943         * flow.c (verify_flow_info): Likewise.
7944         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
7945         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
7946         (avr_normalize_condition): Likewise.
7947         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
7948         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
7949         (limit_reload_class, double_reg_to_memory): Likewise.
7950         (print_operand_address, emit_1600_code_shift): Likewise.
7951         (gen_tst_reg, gen_compare_reg): Likewise.
7952         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
7953         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
7954         Deleted.
7955         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
7956
7957         * c-parse.in (methoddef): Call fatal_error instead of fatal.
7958         * objc/objc-act.c (build_ivar_chain): Likewise.
7959         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
7960         pfatal_with_name.
7961         * graph.c (clean_graph_dump_file): Likewise.
7962         * profile.c (init_branch_prob): Likewise.
7963         * objc/objc-act.c (objc_init): Likewise.
7964
7965         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
7966         * config/avr/avr.c (avr_override_options): Likewise.
7967         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
7968         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
7969         * config/h8300/h8300.c (h8300_init_once): Likewise.
7970         * config/mips/mips.c (override_options): Likewise.
7971         * config/i386/i386.c (override_options): Likewise, rework.
7972         * config/m68k/m68k.c (override_options): Likewise.
7973
7974         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
7975         instead of fatal.
7976         * config/mips/mips.c (print_operand): Likewise.
7977         * hash.c (hash_allocate): Don't check for failure returns from
7978         obstack functions that can't fail.
7979         (hash_table_init_n, hash_table_init): Likewise; also now return void.
7980         * hash.h (hash_table_init_n, hash_table_init): Now return void.
7981         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
7982         (get_object_reference): Likewise.
7983
7984 2001-02-04  Nick Clifton  <nickc@redhat.com>
7985
7986         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
7987         StrongARM1110, 10TDMI, and 1020T.
7988
7989 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7990
7991         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
7992
7993 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
7994
7995         * config/sh/sh.md (movdf load split): Pass register number to
7996         FP_OR_XD_REGISTER_P.
7997
7998 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
7999
8000         * cppinit.c (BC): New macro.
8001         (builtin_array): Add __GXX_WEAK__.
8002         * cpplib.h (builtin_type): Add BT_WEAK.
8003         * cppmacro.c (builtin_macro): Handle BT_WEAK.
8004         * defaults.h (SUPPORTS_ONE_ONLY): Define.
8005         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
8006
8007 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
8008
8009         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
8010
8011 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8012
8013         * cpphash.h: Rename _ALIGN POOL_ALIGN.
8014         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
8015
8016 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8017
8018         * cpphash.h: Rename ALIGN _ALIGN.
8019         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
8020
8021 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
8022
8023         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
8024         compilation environment.
8025         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
8026         control over location of cygwin includes and libs.
8027
8028 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
8029
8030         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
8031
8032 2001-02-02  lars brinkhoff  <lars@nocrew.org>
8033
8034         * md.texi (Standard Names): remove reference to spur.md.
8035
8036 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
8037
8038         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
8039         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
8040         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
8041         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
8042         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
8043
8044 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8045
8046         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
8047         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
8048         number before reload.
8049         (c4x_adjust_cost): Return zero before reload.
8050         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
8051         split before reload.
8052
8053 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8054
8055         * c4x.c (c4x_hard_regno_rename_ok): New.
8056         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
8057         * c4x.h (HARD_REGNO_RENAME_OK): Define.
8058
8059 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8060
8061         * diagnostic.h: Add missing "extern" in all declarations.
8062
8063 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
8064
8065         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
8066         as for gcc_gxx_include_dir.
8067
8068 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8069
8070         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
8071
8072 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
8073
8074         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
8075         label before alignment to be used as the braf base address.
8076         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
8077         branches.
8078         (casesi_jump_2): Require at least TARGET_SH2.
8079
8080         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
8081         truncation to 32-bit doubles on -m3e and -m4-single-only.
8082
8083 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
8084
8085         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
8086         the default when building a shared object.
8087         (init_spec): Use it.
8088         * testsuite/lib/g++.exp: Include the directory where libgcc
8089         is located to the LD_LIBRARY_PATH list.
8090         * invoke.texi (-shared-libgcc): Document the cases in which
8091         GCC defaults to using the shared libgcc.
8092
8093 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
8094
8095         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
8096         unsigned is wide enough.
8097         (BITS_PER_SI): New.
8098         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
8099         (si_to_float): Likewise.
8100         (float_to_si, float_to_usi): Use BITS_PER_SI.
8101
8102 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
8103
8104         * dwarf2out.c: Added explanation of abbreviations.
8105         (def_cfa_1): Added comments listing DWARF2 instructions.
8106         (cfa_temp_reg): Removed in favor of cfa_temp.
8107         (cfa_temp_value): Removed in favor of cfa_temp.
8108         (cfa_temp): New global variable.
8109         (dwarf2out_frame_debug_expr): Added extensive introductory
8110         comments explaining the function's transformations.  Revised to
8111         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
8112         (dwarf2out_frame_debug): Revised to use cfa_temp.
8113         (output_aranges): Cast as "unsigned" to avoid warning.
8114         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
8115         explain which instructions must be marked.
8116
8117 2001-02-01  Richard Henderson  <rth@redhat.com>
8118
8119         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
8120         new instruction.
8121
8122 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
8123
8124         * config/sh/crt1.asm (main_k): Modified so that start calls
8125         ___setup_argv_and_call_main.
8126
8127 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
8128
8129         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
8130         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
8131         and AVOID_LPASTE is cleared on meeting an unescaped newline.
8132         * cppmacro.c (builtin_macro): Set builtin flags here.
8133         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
8134         (replace_args): Clarify intent.
8135         (cpp_get_token): Macro expansion tokens get the saved flags.
8136         Update.
8137         * cppmain.c (scan_buffer): Remove now-redundant print.printed
8138         check.
8139
8140 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
8141
8142         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
8143         2001-Jan-29.
8144
8145 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8146
8147         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
8148         returns Pmode pseudo, but we need ptr_mode.
8149         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
8150         Remove bogus conversions; use HOST_WIDE_INT for size.
8151         Don't use TARGET if wrong mode.
8152
8153         * config/i386/i386.c (ix86_compute_frame_size): Allow
8154         stack_alignment_needed to be non-default even if size is zero.
8155
8156 2001-01-31  Alan Modra <alan@linuxcare.com.au>
8157
8158         * pa.c (hppa_init_pic_save): New function.
8159         * pa.h (hppa_init_pic_save): Declare.
8160         * pa.md (call, call_value, sibcall, sibcall_value): Use
8161         the above instead of duplicated code.
8162
8163         * pa.c (hppa_encode_label): Correct size of alloca buffer
8164         so we don't overrun it.  Correct leading `*' case.
8165         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
8166         need to handle `*@'.
8167         (FUNCTION_NAME_P): Likewise.
8168
8169 2001-01-31  Richard Henderson  <rth@redhat.com>
8170
8171         * config.gcc (alpha-osf5): Use float-i128.h.
8172
8173         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
8174         * config/float-i32.h: Likewise.
8175         * config/float-i64.h: Likewise.
8176         * config/float-sh.h: Likewise.
8177         * config/float-sparc.h: Likewise.
8178
8179 2001-01-31  DJ Delorie  <dj@redhat.com>
8180
8181         * expmed.c (extract_bit_field): allow non-integral modes if we
8182         want to extract a whole register from itself.
8183
8184 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
8185
8186         * c-typeck.c (set_init_index): If first is equal to last, assume as
8187         if it was not a range at all.
8188
8189 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
8190
8191         * config/fp-bit.c: Include tm.h.
8192         (float_to_si): Don't assume SImode is 32-bits wide.
8193         (float_to_usi): Likewise.
8194
8195 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
8196
8197         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
8198         incomplete type.
8199         (typename): Call pending_xref_error after parsing typed_typespecs.
8200         * c-decl.c (lookup_tag): Give error immediately rather than
8201         leaving it pending if the tag of the wrong type is in the same
8202         binding level.
8203         (xref_tag): Don't pedwarn for forward declarations of enum types
8204         here.
8205         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
8206         and enum tags.
8207
8208 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
8209
8210         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
8211
8212 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
8213
8214         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
8215         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
8216
8217 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
8218
8219         * cpphash.h (struct cpp_reader): New saved_flags.
8220         * cppmacro.c (cpp_get_token): Use saved_flags to remember
8221         to avoid a paste after a pasted token.
8222
8223 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
8224
8225         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
8226         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
8227         Wtype_MIN instead of LONG_MIN.
8228
8229 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
8230
8231         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
8232         README file.
8233         * fixinc/fixincl.x: Regenerated.
8234         * fixinc/inclhack.def (irix_limits_const): New definition to
8235         convert "const" to "__const" in limits.h.
8236
8237 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
8238
8239         * fixinc/genfixes (AG): Fix "autogen4" thinko.
8240
8241 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
8242
8243         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
8244         when register dies in the insn.
8245
8246 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
8247
8248         * diagnostic.c (fatal): Fix word wrap.
8249
8250 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
8251
8252         * combine.c (try_combine): Fix SUBREG setting for
8253         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
8254
8255 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8256
8257         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
8258         comparison codes.
8259
8260 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
8261
8262         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
8263         is not NULL.
8264         * toplev.c (decode_W_option): Update warn_larger_than
8265         unconditionally for each processed switch.
8266
8267 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8268
8269         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
8270         to NULL_RTX.
8271         (hppa_expand_prologue): Delete code to save pic offset table register
8272         in the function prologue.
8273         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
8274         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
8275         table register at the beginning of the function after the prologue.
8276
8277 2001-01-29  lars brinkhoff  <lars@nocrew.org>
8278
8279         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
8280
8281 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8282             Jeff Law <law@redhat.com>
8283
8284         * pa.md (return): Revise comment for trivial return.
8285         (return_internal): Non-trivial return pattern for non-PIC code.
8286         (return_internal_pic): Non-trivial return pattern for PIC code.
8287         It uses the PIC register to ensure it is restored after
8288         function calls.
8289         (epilogue): Generate appropriate return for PIC and non-PIC code.
8290
8291 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
8292
8293         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
8294
8295 2001-01-29  DJ Delorie  <dj@redhat.com>
8296
8297         * combine.c (if_then_else_cond): Pass the correct mode to
8298         operand_subword() for constants.
8299
8300 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
8301
8302         * config/i386/cygwin.h: Add w32api to include search.  Search different
8303         directories in a cross-build environment.
8304
8305 2001-11-29  Tim Josling  <tej@melbpc.org.au>
8306
8307         * tree.h (TYPE_STUB_DECL): Add documentation.
8308
8309 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
8310
8311         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
8312         (sdbout_field_types): Likwise.  Fix use of host_integerp.
8313
8314 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
8315
8316         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
8317         cygwin.h.
8318
8319 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
8320
8321         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
8322         to use flag_gnu_linker.
8323
8324 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
8325
8326         * cpplib.c (T_BAD_DIRECTIVE): Remove.
8327         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
8328
8329 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
8330
8331         * tree.c, tree.h (build_parse_node): Remove; was identical to
8332         build_nt.
8333         * c-lang.c (start_cdtor), objc/objc-act.c
8334         (build_module_descriptor): Use build_nt instead of
8335         build_parse_node.
8336
8337 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
8338
8339         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
8340         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
8341         not have any upper bits set.
8342
8343 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
8344
8345         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
8346
8347 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8348
8349         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
8350
8351         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
8352
8353         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
8354         (integer_minus_one_node): Define.
8355
8356 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
8357
8358         * Makefile.in (bootstrap2-lean): Fix typo.
8359
8360 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8361
8362         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
8363         : Don't set fe_value.
8364         * cpplib.h (AVOID_LPASTE): New flag.
8365         (struct cpp_hashnode): Remove fe_value.
8366         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
8367         * cppmacro.c (builtin_macro): Don't set flags here.
8368         (replace_args): Set AVOID_LPASTE flag on first token of an
8369         argument, and the token following it.
8370         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
8371         macro expansion, and on the token following it.  Do it for
8372         builtins too.
8373         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
8374
8375 2001-01-27  Richard Henderson  <rth@redhat.com>
8376
8377         * config/alpha/t-ieee: Remove multilibbing.
8378         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
8379
8380 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8381
8382         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
8383
8384         * Makefile.in: Remove all dependencies on defaults.h.
8385         * builtins.c: Don't include defaults.h.
8386         * c-common.c: Likewise.
8387         * c-decl.c: Likewise.
8388         * c-pragma.c: Likewise.
8389         * c-typeck.c: Likewise.
8390         * combine.c: Likewise.
8391         * i386.c: Likewise.
8392         * frame-ia64.c: Likewise.
8393         * cppexp.c: Likewise.
8394         * crtstuff.c: Likewise.
8395         * dbxout.c: Likewise.
8396         * dwarf2out.c: Likewise.
8397         * dwarfout.c: Likewise.
8398         * emit-rtl.c: Likewise.
8399         * except.c: Likewise.
8400         * expr.c: Likewise.
8401         * final.c: Likewise.
8402         * frame-dwarf2.c: Likewise.
8403         * libgcc2.c: Likewise.
8404         * optabs.c: Likewise.
8405         * profile.c: Likewise.
8406         * sdbout.c: Likewise.
8407         * toplev.c: Likewise.
8408         * tradcif.y: Likewise.
8409         * tree.c: Likewise.
8410         * varasm.c: Likewise.
8411
8412 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8413
8414         * builtins.c (expand_builtin_fputs): Use size_one_node when
8415         transforming into fwrite.
8416
8417 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
8418
8419         * extend.texi (Attribute Syntax): New section.
8420
8421 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
8422
8423         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
8424         they didn't need fixing.
8425
8426 2001-01-27  Janis Johnson <janis@us.ibm.com>
8427
8428         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
8429         if appropriate.
8430         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
8431         to remove macro definitions that are duplicated from elfos.h.
8432
8433 2001-01-27  Richard Henderson  <rth@redhat.com>
8434
8435         * config/i386/sco5gas.h: Move ...
8436         * config/usegas.h: ... here.
8437         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
8438
8439 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
8440
8441         * c-typeck.c (struct constructor_stack): Add range_stack member.
8442         (really_start_incremental_init): Clear it.
8443         (push_init_level): Save constructor_range_stack and clear it if
8444         pushing explicit braces.
8445         (pop_init_level): abort if constructor_range_stack is non-zero at
8446         explicit closing brace.  Restore saved constructor_range_stack if
8447         not implicit.
8448
8449 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
8450
8451         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
8452         into register was forced into memory.
8453
8454 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
8455
8456         * Makefile.in: Remove uses of + before $(MAKE).
8457
8458 2001-01-26  Richard Henderson  <rth@redhat.com>
8459
8460         * stmt.c (cost_table): Remove.
8461         (COST_TABLE, cost_table_initialized): New.
8462         (estimate_case_costs): Use the later instead of the former.
8463         (balance_case_nodes): Likewise.
8464
8465 2001-01-26  Richard Henderson  <rth@redhat.com>
8466
8467         * alias.c (objects_must_conflict_p): Read-only slots may not
8468         conflict despite having the same type.
8469
8470 2001-01-27  Michael Hayes  <mhayes@redhat.com>
8471
8472         * loop.c (loop_giv_reduce_benefit): Copy mode size into
8473         int variable.
8474         (check_ext_dependant_givs): Initialise u_start_val and
8475         u_end_val.
8476         (load_mems): Make last_max_reg unsigned.
8477         (try_swap_copy_prop): Use INSN_P and initialise set.
8478
8479 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
8480
8481         * README.AVR : Removed.
8482
8483 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
8484
8485         * pa-64.h (text_section): Remove declaration.
8486
8487         * pa.md (return_internal): Remove mode on PIC register use.
8488
8489 2001-01-25  lars brinkhoff  <lars@nocrew.org>
8490
8491         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
8492         ASM_CLOSE_PAREN): fix typos.
8493
8494 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
8495
8496         * acconfig.h: Define `const' to the empty string if neither
8497         __STDC__ nor __cplusplus is defined.
8498         * config.in: Regenerated.
8499
8500 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
8501
8502         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
8503         * collect2.c (main): Delete importf.  Add ".obj" file extension.
8504         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
8505         (aix_std_libs): Add additional AIX libraries to skip.
8506         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
8507         * config/rs6000/aix51.h: New file.
8508
8509 2001-01-25  Michael Hayes  <mhayes@redhat.com>
8510
8511         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
8512         (loop_insn_emit_before): No longer static.
8513         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
8514         (loop_givs_rescan, load_mems): Likewise.
8515         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
8516         (maybe_eliminate_biv_1):
8517         (move_movables): Replace emit_call_insn_before with
8518         loop_call_insn_hoist.
8519         * loop.h (loop_insn_emit_before): Add.
8520         * unroll.c (copy_loop_body): Replace emit_insn_before with
8521         loop_insn_emit_before.
8522
8523 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8524
8525         * diagnostic.c (fatal): Request preprocessed source.
8526
8527 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
8528
8529         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
8530         olddecl has argument types and newdecl has none, use the argument
8531         types from olddecl.
8532
8533 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
8534
8535         * dwarf2out.c (prefix_of): New function.  Determine longest common
8536         prefix of the two arguments.  The units are whole path components.
8537         (output_file_names): When adding a new directory find the one entry
8538         with the longest common prefix already in the list.  Artificially
8539         generate entry if there is none for this prefix.
8540         Fix test to check whether the zeroth directory entry is used.
8541
8542 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
8543
8544         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
8545         Changed all callers.  Take it into account when deciding if a
8546         previously loaded value matches.
8547
8548 2001-01-24  Richard Henderson  <rth@redhat.com>
8549
8550         * reload.c (find_reloads_subreg_address): Fail the substitution
8551         if the resulting address is insufficiently aligned.
8552
8553 2001-01-24  DJ Delorie  <dj@redhat.com>
8554
8555         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
8556         check the original operand's mode also.
8557         * simplify-rtx.c (simplify_ternary_operation): Ditto.
8558
8559 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
8560
8561         * c-parse.in (cast_expr): Move compound literals from here ...
8562         (primary): ... to here.  Use standard terminology "compound
8563         literal" instead of "constructor expression".
8564
8565 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
8566
8567         * gcc.1, cpp.1: Regenerate.
8568
8569 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
8570
8571         * calls.c (emit_library_call_value_1): Memory slot for
8572         pass-by-reference argument should have the mode of the argument,
8573         not of the pointer to it.
8574
8575 2001-01-24  Tom Tromey  <tromey@redhat.com>
8576
8577         * gcc.texi (G++ and GCC): Mention gcj manual.
8578         (Standards): Link to section of manual mentioning gcj/Java
8579         compatibility.
8580
8581 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
8582
8583         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
8584         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
8585         * tradcpp.c (main): Add -imacros or -include'd dependencies
8586         for -M*.
8587         * cpp.texi (-M, -MM): Document -M -include behaviour.
8588
8589 2001-01-24  Roger Collins <roger@ProProject.com>
8590
8591         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
8592
8593 2001-01-24  Will Cohen  <wcohen@redhat.com>
8594
8595         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
8596         whether registers are 32 bits or 64 bits in size.
8597
8598 2001-01-24  Ben Elliston  <bje@redhat.com>
8599
8600         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
8601
8602 2001-01-24  Richard Henderson  <rth@redhat.com>
8603
8604         * config/alpha/alpha.md (builtin_longjmp_internal): New.
8605         (builtin_longjmp): Use it instead of emit_indirect_jump.
8606
8607 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8608
8609         * bb-reorder.c (make_reorder_chain_1): Handle case where
8610         jump edge goes to the same block as the fallthru edge.
8611
8612 2001-01-23  Jim Wilson  <wilson@redhat.com>
8613
8614         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
8615         * frame.h (__ia64_personality_v1): Add prototype.
8616         * libgcc2.c (ia64_throw_helper): Change personality declaration to
8617         prototype form.  Add void * cast to first argument to personality
8618         call.
8619         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
8620         (asctoe113): Likewise.
8621         * config/ia64/frame-ia64.c: Include eh-common.h.
8622         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
8623         prototypes.
8624         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
8625         to dump parameter.
8626         (itanium_split_issue): Add prototype.
8627         (gen_nop_type): Ifdef out.
8628         (find_best_packet): Initialize best_packet.
8629         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
8630         result.
8631         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
8632         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
8633         (flushrs): Add explicit stop bit at end.
8634         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
8635         trailing \ to >.
8636
8637 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
8638
8639         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
8640         of EH symbols.
8641         * libgcc2.c (__terminate_func): Make variable static.
8642         (__terminate_set_func): New function to set __terminate_func.
8643         * libgcc2.h (__terminate_func_ptr): New typedef.
8644         (__terminate_set_func): New function.
8645
8646 2001-01-23  Richard Henderson  <rth@redhat.com>
8647
8648         * flow.c (init_propagate_block_info): Don't consider unchanging
8649         memories for dead frame store elimination.
8650
8651 2001-01-23  Richard Henderson  <rth@redhat.com>
8652
8653         * varasm.c (UNIQUE_SECTION): Move default implementation ...
8654         * defaults.h: ... here.
8655
8656 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
8657
8658         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
8659
8660 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
8661
8662         * c-lex.c (lex_charconst): Fix typo: s/p/str.
8663
8664 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8665
8666         * rs6000.h (rs6000_return_addr): Move prototype from here...
8667         * rs6000-protos.h (rs6000_return_addr): ...to here.
8668         (rs6000_init_expanders): Delete prototype.
8669
8670 2001-01-23  Nick Clifton  <nickc@redhat.com>
8671
8672         * invoke.texi: Replace , with \, inside @gccoptlist macros.
8673         (Spec Files): Document %B and %j and %. and %v3 and %M and
8674         %{S*&T} spec switches.
8675
8676 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8677
8678         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
8679
8680 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
8681             Neil Booth  <neil@daikokuya.demon.co.uk>
8682
8683         * cpperror.c: Merge handlers of PEDWARN and WARNING.
8684         Have -Werror make pedantic warnings errors, like the
8685         rest of GCC.
8686
8687 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
8688
8689         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
8690
8691 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
8692
8693         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
8694         * integrate.c (expand_inline_function): Initialize them.
8695         (subst_constants): If changing COMPARE so that both its arguments
8696         will be VOIDmode and the comparison mode will be lost, note
8697         compare_mode.  Use the recorded compare_mode to optimize
8698         IF_THEN_ELSE.
8699
8700 2001-01-23  Jason Merrill  <jason@redhat.com>
8701
8702         * dwarf2out.c (new_die): Use xcalloc.
8703         (output_die): Abort rather than emit a local reference to offset 0.
8704
8705 2001-01-17  Andrew Haley  <aph@redhat.com>
8706
8707         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
8708         of a saved register; return NULL instead.
8709         (copy_reg): Take a pointer to a source register rather than a
8710         frame_state.
8711         (next_stack_level): Remember the address in the stack frame of all
8712         saved registers.
8713         Use the saved register pointer array as the source of the CFA.
8714         (throw_helper): Rewrite.  Unwind once rather than twice and keep
8715         track of saved registers as we go.
8716
8717 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8718
8719         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
8720         * c4x.c (c4x_legitimize_reload_address): Remove.
8721         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
8722         reload address for ldp(k) insn.
8723
8724 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
8725
8726         * pa.md (return_internal): Add a USE of the PIC register to ensure
8727         it is restored after each call.
8728         (return expander): Corresponding changes.
8729
8730 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8731
8732         * rs6000.h (INIT_EXPANDERS): Delete.
8733         (RETURN_ADDR_RTX): Call rs6000_return_addr().
8734         * rs6000.c (rs6000_override_options): Call *_machine_status from
8735         here...
8736         (rs6000_init_expanders): ...instead of here. Delete.
8737         (rs6000_mark_machine_status): New function.
8738         (rs6000_init_machine_status): Use xcalloc.
8739         (rs6000_return_addr): Generate RTX for the return address.
8740         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
8741         (rs6000_stack_info): Use it.
8742
8743 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
8744
8745         * gthr-win32.h: Include errno.h to get a declaration for
8746         EINVAL and _mingw.h if the target is mingw32.
8747
8748 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
8749
8750         * cpp.texi: Correct typos.
8751
8752 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8753
8754         * explow.c (probe_stack_range): Ensure value passed to
8755         stack_check_libfunc is ptr_mode, not Pmode.
8756
8757 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
8758
8759         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
8760         case, don't use operand_subword to calculate a SUBREG that is
8761         wider than a word.
8762
8763         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
8764
8765 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8766
8767         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
8768         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
8769         valid.  If not replace it by equivalent insns.
8770
8771 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8772
8773         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
8774         contains SYMBOL_REF, LABEL_REF and CONST_INT.
8775         (c4x_U_constraint, symbolic_address_operand): Likewise.
8776         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
8777         memory.
8778         (c4x_r11_set_p, c4x_check_laj_p): New functions.
8779         * c4x-protos.h (c4x_check_laj_p): Add prototype.
8780         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
8781         anulling slot because of silicon bug.
8782         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
8783
8784 2001-01-22  Alan Modra <alan@linuxcare.com.au>
8785
8786         * cppexp.c (parse_charconst):  Change `mask' type to agree
8787         with parse_escape.
8788
8789 2001-01-21  Richard Henderson  <rth@redhat.com>
8790
8791         * config/i386/i386.c (ix86_asm_file_end): Disable putting
8792         pic_label_name in a linkonce section.
8793
8794 2001-01-17  Philipp Thomas  <pthomas@suse.de>
8795
8796         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
8797         found in libintl.
8798         * configure: Regenerate.
8799
8800 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
8801
8802         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
8803         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
8804
8805 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
8806
8807         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
8808         If REVERSE nonzero then condition code in X must be reversed.
8809         (encode_section_info): Optimise if/else.
8810         (avr_function_value): Fix formatting.
8811
8812         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
8813         (difficult_branch): Likewise.
8814         (rvbranch): Likewise.
8815         (difficult_rvbranch): Likewise.
8816
8817         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
8818
8819         * config/avr/libgcc.S: Fix comment.
8820
8821 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
8822
8823         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
8824
8825 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
8826
8827         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
8828
8829 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
8830
8831         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
8832         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
8833         * configure, config.in: Regenerate.
8834         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
8835         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
8836         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
8837         (doprint.o): New rule.
8838
8839 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
8840
8841         * c-typeck.c (digest_init): Handle boolean types as scalars.
8842
8843 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8844
8845         * stmt.c (expand_return): Don't return anything if size is zero.
8846         Delete redundant assignment to BYTES.
8847         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
8848
8849 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
8850
8851         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
8852         the same as the default library function names.
8853         * config/avr/avr.md: Document special characters after '%'.
8854         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
8855         knowing which of the call-used registers are really clobbered.
8856         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
8857         New.  Both quotient and remainder from one libgcc.S call.
8858         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
8859         clobber as few registers as possible.
8860         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
8861
8862 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8863
8864         * cppmacro.c (funlike_invocation_p): Don't move back up to the
8865         context of the top of the stack.
8866
8867 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
8868
8869         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
8870         (fixup_var_refs_insns): ...here.
8871
8872 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
8873
8874         * function.c (fixup_var_refs_insns): Break up into
8875         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
8876         [loop over entire insn list], and fixup_var_refs_insns_with_hash
8877         [loop over hash table entries].
8878         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
8879         fixup_var_refs_insns_with_hash, to match above changes.
8880
8881 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8882
8883         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
8884         (libgcc.a): Likewise.
8885         (stmp-multilib): Likewise.
8886         (STAGE2_FLAGS_TO_PASS): Likewise.
8887
8888 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
8889
8890         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
8891         temporary if no_new_pseudos.
8892
8893 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8894
8895         * cppinternals.texi: Update.
8896
8897 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
8898
8899         * arm.c (arm_init_builtins): Re-enable builtins.
8900
8901 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8902
8903         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
8904         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
8905         element to be null, and always expect an EXPR_LIST.
8906         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
8907         * sched-deps.c (sched_analyze_1): Likewise.
8908         * sched-rgn.c (check_live_1, update_live_1): Likewise.
8909
8910         * regclass.c (max_set_parallel): New variable.
8911         (reg_scan): Take it into account in computation of max_parallel.
8912         (reg_scan_mark_refs, case SET): Compute it.
8913
8914         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
8915         args are REG.
8916         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
8917         * function.c (assign_parms): Use INTVAL for a CONST_INT.
8918
8919 2001-01-19  Jason Merrill  <jason@redhat.com>
8920
8921         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
8922         for the abstract instance of an inline function.
8923
8924 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
8925                           J"orn Rennecke <amylaar@redhat.com>
8926
8927         * reload1.c (move2add_note_store): Treat all registers directly or
8928         indirectly derived from a base register as members of the same set
8929         of values.
8930         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
8931         of base register into account.
8932
8933 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
8934
8935         * alias.c (find_base_value): Recognize TRUNCATE.
8936         (record_set): In PLUS case, invalidate if other summand is also a
8937         base value.
8938
8939 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8940
8941         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
8942         entry to be EXPR_LIST.
8943         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
8944         be an EXPR_LIST (but not null, which other code doesn't allow).
8945         (note_stores): Properly handle PARALLEL in SET.
8946         Recursively call for top-level PARALLEL.
8947         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
8948         * sched-rgn.c (check_live_1, update_live_1): Likewise.
8949
8950         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
8951
8952 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
8953
8954         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
8955         not pfile->skipping (== 0).
8956
8957 2001-01-17  Nick Clifton  <nickc@redhat.com>
8958
8959         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
8960         machine_status.
8961
8962 2001-01-17  Jim Wilson  <wilson@redhat.com>
8963
8964         * invoke.texi (IA-64 options): Improve.
8965
8966 2001-01-17  Tom Tromey  <tromey@redhat.com>
8967
8968         * invoke.texi (Optimize Options): Use `{}' to around @samp
8969         argument.
8970
8971 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
8972
8973         * invoke.texi (-fno-guess-branch-probability): New option.
8974
8975 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8976
8977         * combine.c (try_combine): Don't set i3_subst_into_i2 for
8978         case of making new double-word constant.
8979         Revert last change: instead just test i3_subst_into_i2.
8980
8981 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
8982
8983         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
8984         Use q constraints instead of r.
8985
8986 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
8987
8988         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
8989         (machine_function): Define.
8990         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
8991         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
8992         pa_free_machine_status): New functions.
8993         (override_options): Set {init,mark,free}_machine_status to above.
8994         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
8995         PIC_OFFSET_TABLE_REGNUM_SAVED.
8996         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
8997         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
8998         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
8999         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
9000         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
9001
9002 2001-01-15  DJ Delorie  <dj@redhat.com>
9003
9004         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
9005         (cpp.1): Ditto.
9006         (gcc.1): Ditto.
9007
9008 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9009
9010         * flow.c (propagate_on_insn): Make trying to delete a prologue
9011         or epilogue insn an ICE, not a warning.  Allow doing this if
9012         the current function returns with stack pointer depressed.
9013
9014         * combine.c (try_combine): If i3_subst_into_i2, properly check for
9015         I3 having more than one SET.
9016
9017 2001-01-16  Jim Wilson  <wilson@redhat.com>
9018
9019         * invoke.texi: Document IA-64 options.
9020
9021         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
9022         (fixup_errata): Delete TARGET_A_STEP use.
9023         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
9024         (TARGET_SWITCHES): Delete -ma-step option.
9025         * config/ia64/ia64.md (all FP patterns): Delete %B0.
9026         (movqicc_astep, movqi_internal_astep, movhicc_astep,
9027         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
9028         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
9029         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
9030         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
9031         Delete.
9032         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
9033         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
9034         cmovsi_internal): Delete ! TARGET_A_STEP check.
9035
9036 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9037
9038         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
9039         possibility to report bugs via postal mail. Change a URL and
9040         merge in a nearly duplicate statement...
9041         (Bug Reporting): ...from here.
9042         (Service): Refer to the Bug Reporting section instead of
9043         duplicating an URL.
9044         (Contributing): Remove trivial explanations concerning snapshots.
9045
9046 2001-01-16  Alan Modra <alan@linuxcare.com.au>
9047
9048         * cppmain.c (general_init): Don't use ANSI prototype.
9049
9050 2001-01-16  Tom Tromey  <tromey@redhat.com>
9051
9052         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
9053
9054 2001-01-16  Richard Henderson  <rth@redhat.com>
9055
9056         * config/i386/i386.h: Fix comment typo.
9057         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
9058         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
9059
9060 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
9061
9062         * gcc.c:  Revert previous -fsyntax-only-related change; move
9063         to cp/g++spec.c.
9064
9065 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
9066
9067         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
9068         inmode after checking GET_CODE (op).
9069
9070 2001-01-16  Richard Henderson  <rth@redhat.com>
9071
9072         * flow.c (struct propagate_block_info): Add mem_set_list_len.
9073         (MAX_MEM_SET_LIST_LEN): New.
9074         (propagate_one_insn): Update mem_set_list_len.
9075         (invalidate_mems_from_autoinc): Likewise.
9076         (invalidate_mems_from_set): Likewise.
9077         (mark_used_regs): Likewise.
9078         (init_propagate_block_info): Likewise.  Stop collecting memories
9079         when we reach MAX_MEM_SET_LIST_LEN.
9080         (mark_set_1): Likewise.
9081
9082 2001-01-16  Richard Henderson  <rth@redhat.com>
9083
9084         * unroll.c (precondition_loop_p): Fail if no iteration
9085         variable found.
9086
9087 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
9088
9089         * gcc.c:  When -fsyntax-only is given, do not complain about
9090         unused libraries.
9091
9092 2001-01-15  Richard Henderson  <rth@redhat.com>
9093
9094         * config/i386/i386.c (asm_output_function_prefix): Remove.
9095         (ix86_asm_file_end): New.
9096         (load_pic_register): Generate pic_label_name into a
9097         staticly allocated buffer.
9098         * config/i386/i386-protos.h: Update.
9099         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
9100         (ASM_FILE_END): New.
9101         * config/i386/i386afe.h: New file.
9102         * config.gcc (i?86-*-elf) [tm_file]: Use it.
9103         (i?86-*-{freebsd,linux*,moss*}): Likewise.
9104         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
9105         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
9106         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
9107         * config/i386/sco5.h (ASM_FILE_END): Likewise.
9108         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
9109
9110 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
9111
9112         * Makefile.in (install-man): Remove explicit dependency on
9113         $(srcdir)/gcc.1.
9114
9115         * configure.in, configure: Revert previous patch requiring perl
9116         5.6.0.
9117
9118 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
9119
9120         * toplev.c (flag_guess_branch_prob): New.
9121         (f_options): Add guess-branch-probability option.
9122         (rest_of_decl_compilation): Only estimate branch probability if
9123         flag set.
9124         (main): set flag_guess_branch_prob.
9125
9126         * flags.h (flag_guess_branch_prob): New.
9127
9128 2001-01-15  DJ Delorie  <dj@redhat.com>
9129
9130         * gcc.texi (Makefile): Add documentation for Makefile targets.
9131
9132 2001-01-15  Philip Blundell  <philb@gnu.org>
9133
9134         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
9135         (is_pic): Delete.
9136         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
9137         (is_pic): Delete declaration.
9138         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
9139         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
9140         * config/arm/arm.md (builtin_setjmp_receiver): New.
9141
9142 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
9143
9144         * arm.c (use_return_insn): Don't try to determine the function type
9145         until after reload has completed.
9146         (arm_output_epilogue): Don't adjust the sp value recovered from the
9147         stack.
9148         (emit_multi_reg_push): Don't record dwarf information for the pc.
9149         * arm.md (eh_epilogue): The function type may have changed, so it
9150         needs to be recalculated.
9151         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
9152         unwind tables on arm/netbsd.
9153
9154 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
9155
9156         * arm.md (cbranchsi4): Correct calculation of branch ranges.
9157         (negated_cbranchsi4): Likewise.
9158
9159 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
9160
9161         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
9162         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
9163         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
9164         pass -mapcs-* options to assembler.
9165         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
9166         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
9167         (ASM_SPEC): Call subtarget_extra_asm_spec.
9168
9169 2001-01-15  Andreas Jaeger  <aj@suse.de>
9170
9171         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
9172         warnings.
9173         (ix86_expand_builtin): Likewise.
9174
9175         * gencodes.c (output_predicate_decls): Make i size_t to avoid
9176         warning about comparison between signed and unsigned.
9177
9178 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
9179
9180         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
9181
9182 2001-01-14  Ralf Baechle <ralf@gnu.org>
9183
9184         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
9185         SUBTARGET_CPP_SPEC apropriatly.
9186
9187 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
9188
9189         * varasm.c (make_decl_rtl): Fix typo in last change.
9190
9191 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
9192
9193         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
9194         linker supports the init_priority C++ attribute.
9195         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
9196         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
9197         linker does not support init_priority C++ attribute.
9198
9199 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
9200
9201         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
9202
9203 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9204
9205         * c-parse.in (finish_parse): Add comment about cpp_destroy.
9206         * cp/lex.c (finish_parse): Similarly.
9207         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
9208         Return the number of errors encountered.
9209         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
9210         * cppmain.c (main): Don't call cpp_destroy.
9211
9212 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
9213
9214         * configure.in: Require at least perl 5.6.0 to regenerate
9215         manpages.
9216         * configure: Regenerate.
9217
9218 2001-01-14  Richard Henderson  <rth@redhat.com>
9219
9220         * genrecog.c (DT_veclen_ge): New.
9221         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
9222         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
9223         (nodes_identical_1): Handle DT_veclen_ge.
9224         (write_cond, debug_decision_2): Likewise.
9225
9226 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
9227
9228         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
9229         with ...
9230         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
9231
9232 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9233
9234         * cppmain.c (do_preprocessing): New function; most of the old
9235         main.
9236         (main): Call it to do most of the work.
9237         (cb): Move from global scope to set_callbacks ().
9238         (setup_callbacks): Get the callback pointer.
9239         (general_init, printer_init): Clean up code and comments.
9240
9241 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
9242
9243         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
9244         compiling PIC.
9245
9246 2001-01-14  Kazu Hirata  <kazu@hxi.com>
9247
9248         * config/h8300/h8300.c (get_shift_alg): Update comments.
9249
9250 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9251
9252         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
9253         (alloc_page, ggc_alloc): Add casts to remove warnings.
9254
9255 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
9256
9257         * combine.c (simplify_comparison): Don't change `code' when
9258         can't reverse comparison.
9259
9260 2001-01-14  Richard Henderson  <rth@redhat.com>
9261
9262         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
9263         update all call sites.  Return true for all non-label constants.
9264
9265 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
9266
9267         * i386.c (ix86_expand_compare): Add bypass_test and second_test
9268         parameters.
9269         (ix86_expand_branch): Update.
9270         (ix86_expand_setcc): Update to handle multiple test conditions.
9271         (expand_int_movcc): Likewise.
9272         (expand_fp_movcc): Likewise.
9273         * i386-protos.h (ix86_expand_compare): New.
9274         * i386.md (andqi_?_slp, orqi_?_slp): New.
9275         (conditional trap expander): Update call to ix86_expand_compare.
9276
9277 2001-01-14  Richard Henderson  <rth@redhat.com>
9278
9279         * config/vax/vax.md: Use nonimmediate_operand instead of
9280         general_operand in destinations.
9281
9282         * config/vax/vax.md (indirect_jump): Use register_operand.
9283
9284         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
9285         * config/vax/vax.md (call_pop): Turn into an expander.
9286         (call_value_pop): Likewise.
9287         (call, call_value): New.
9288
9289 2001-01-14  Andreas Jaeger  <aj@suse.de>
9290
9291         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
9292         variables.
9293         (ix86_fp_compare_mode): Add unused attribute.
9294         (ix86_expand_fp_movcc): Remove unused variable.
9295         (ix86_expand_builtin): Make fcode unsigned.
9296
9297         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
9298         (expand_expr): Add cast to avoid signed warning.
9299         (store_field): Likewise.
9300         (store_constructor_field): Likewise.
9301         (store_constructor): Likewise.
9302         (store_expr): Likewise.
9303         (clear_storage): Likewise.
9304         (emit_group_store): Likewise.
9305         (emit_group_load): Likewise.
9306
9307 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
9308
9309         * c-common.c: Move format checking code to ...
9310         * c-format.c: ... here.  New file.  Reorder some functions and
9311         declarations.
9312         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
9313         New functions.
9314         * c-common.h (decl_handle_format_attribute,
9315         decl_handle_format_arg_attribute): Declare.
9316         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
9317         (c-common.o): Adjust dependencies.
9318         (c-format.o): New list of dependencies.
9319
9320 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
9321
9322         * unroll.c (loop_iterations): If we cannot prove iteration variable
9323         is set once in each iteration, punt.
9324
9325 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
9326
9327         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
9328         (*strlenhi): Remove clobber (which was buggy) of output address.
9329
9330 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
9331
9332         * Makefile.in (generated-manpages): Add gcc.1
9333         ($(srcdir)/gcc.1): New target.
9334         (maintainer-clean): Delete $(srcdir)/gcc.1.
9335         * gcc.texi: Add macros @gccoptlist and @gol.
9336         * invoke.texi: Include option summary in manpage.  Mark up option
9337         summary with @gccoptlist and @gol.  Use @r in one place where
9338         appropriate.
9339         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
9340         * gcc.1: Generate from invoke.texi.
9341
9342 2001-01-13  Richard Henderson  <rth@redhat.com>
9343
9344         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
9345         (struct page_entry): Add group member.
9346         (struct page_group): New.
9347         (struct globals): Add page_groups member.
9348         (alloc_anon): Only define for using mmap; remove valloc call.
9349         (page_group_index): New.
9350         (set_page_group_in_use): New.
9351         (clear_page_group_in_use): New.
9352         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
9353         (free_page, release_pages): Likewise.
9354         * configure.in (with-gc): Default to ggc-page always.
9355
9356 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
9357
9358         * reload1.c (replace_pseudos_in_call_usage): Use
9359         reg_equiv_constant and reg_equiv_address, and don't try
9360         regno_reg_rtx first.
9361
9362 2001-01-13  Richard Henderson  <rth@redhat.com>
9363
9364         * ggc-page.c (alloc_page): Round up allocation size to one page.
9365         Set e->order on extra pages.
9366
9367 2001-01-13  Richard Henderson  <rth@redhat.com>
9368
9369         * genrecog.c (nodes_identical): Expand commentary.
9370         (write_switch): Watch out for identical nodes.
9371
9372 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9373
9374         * cppfiles.c (_cpp_fake_include): New function.
9375         * cpphash.h (_cpp_fake_include): New.
9376         * cpplib.c (do_line): Call _cpp_fake_include when entering
9377         header files in preprocessed input.
9378         * cppmain.c (cb_pragma_implementation): Remove handling.
9379         (setup_callbacks): Don't register pragmas.
9380
9381 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9382
9383         * extend.texi: Udate for CPP.
9384
9385 2001-01-13  Andreas Jaeger  <aj@suse.de>
9386
9387         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
9388
9389         * regmove.c: Add prototype for replace_in_call_usage.
9390
9391 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9392
9393         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
9394         struct cpp_chunk, struct htab, struct toklist,
9395         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
9396         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
9397         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
9398         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
9399         (struct macro_args): Delete.
9400         * cpphash.h: See above.
9401
9402 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9403
9404         * cppmain.c (struct printer): Remove no_line_dirs.
9405         (options, cb): New.
9406         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
9407         : Use options rather than CPP_OPTION.
9408         (setup_callbacks): Use cb rather than pfile->cb.
9409         (main): No need to check for a buffer.  Use cpp_errors.
9410         (printer_init): Don't set no_line_dirs.
9411         (maybe_print_line): Use options not no_line_dirs.
9412         (cb_file_change): Don't call print_line if -P.
9413
9414 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9415
9416         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
9417         callbacks.
9418         * c-parse.in (finish_parse): Use cpp_errors.
9419         (__yylex): Use return value of cpp_pop_buffer.
9420         * cp/lex.c (finish_parse): Use cpp_errors.
9421         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
9422
9423 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
9424
9425         * README.AVR: URLs corrected.
9426
9427 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9428
9429         * c-decl.c (start_function): Don't warn if old prototype is builtin
9430         that's not in C's namespace.
9431         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
9432         (_bb): Add prototype for ctime.
9433         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
9434
9435 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
9436
9437         * i386.c (ix86_fp_comparison_arithmetics_cost,
9438         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
9439         ix86_fp_comparison_cost): New functions.
9440         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
9441         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
9442         two-branch sequences; make static.
9443         (ix86_use_fcomi_compare): Do decision according to the costs.
9444         (split_fp_branch): New.
9445         * i386.md (compare-and-branch patterns): Use split_fp_branch.
9446         * i386-protos.h (ix86_expand_fp_compare): Remove
9447         (ix86_split_fp_branch): Declare.
9448
9449         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
9450         and ix86_comparison_operator.
9451
9452         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
9453         to make it cheaper.
9454
9455         * i386.c (put_condition_code): Output properly the unordered/ordered
9456         compares in fp case.
9457         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
9458
9459         * tm.texi (REVERSE_CONDITION): Document.
9460         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
9461         in -ffast-math mode.
9462         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
9463
9464 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
9465
9466         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
9467
9468         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
9469         optimized away.
9470
9471         * config/sh/sh.c (mova_p): Fix test for mova_const.
9472
9473 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9474
9475         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
9476         cpp_get_options rather than dereferencing pfile and using
9477         CPP_OPTION.
9478         * scan-decls.c (scan_decls): Use return value of
9479         cpp_pop_buffer rather than CPP_BUFFER.
9480
9481 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9482
9483         * cppinit.c (cpp_handle_option): help_only is now part of the
9484         cpp_options structure.
9485         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
9486         cpp_set_callbacks): New functions.
9487         * cpplib.h (cpp_callbacks): Break out as a named structure.
9488         (cpp_options): Move help_only here from cpp_reader.
9489         (CPP_FATAL_ERRORS): Update to use cpp_errors.
9490         (cpp_errors, cpp_get_options, cpp_get_callbacks,
9491         cpp_set_callbacks): New prototypes.
9492         * cppmain.c (main): Update for help_only.
9493
9494 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
9495
9496         * Makefile.in (info, maintainer-clean, install-info, uninstall):
9497         Also build and remove and install and uninstall c-tree.info and
9498         cppinternals.info.
9499         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
9500         ($(srcdir)/cppinternals.info): New target.
9501         * c-tree.texi: Change file name used when makeinfo used without -o
9502         from ir.info to c-tree.info.  Add info directory entry.
9503         * cppinternals.texi: Add info directory entry.
9504         * .cvsignore: Update.
9505
9506 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
9507
9508         * c-typeck.c (store_init_value): Don't require constant initializer
9509         elements with -pedantic -std=c99.
9510         (digest_init): Change error about non-constant initializer elements
9511         into pedwarn.
9512         (constructor_range_end): Remove.
9513         (constructor_incremental, designator_depth,
9514         designator_errorneous): New variables.
9515         (struct constructor_stack): Remove range_end, add incremental.
9516         (struct constructor_range_stack, constructor_range_stack): New.
9517         (struct initializer_stack): Add constructor_range_stack.
9518         (finish_init): Set it.
9519         (start_init): Likewise.  require_constant_elements for non-static
9520         trees only if not flag_isoc99.
9521         (really_start_incremental_init): Remove constructor_range_end, add
9522         constructor_incremental.
9523         (pop_init_level): Likewise.
9524         (push_init_level): Likewise.  If implicit and the subobject had some
9525         value set already, preinitialize the level with it.
9526         Warn about missing braces only if not pushing due to designators.
9527         (set_designator, push_range_stack): New functions.
9528         (set_init_label): Use them.
9529         (set_init_index): Likewise.  Remove constructor_range_end.
9530         Error if designator index is outside of array bounds.
9531         (add_pending_init): Compare values of purpose index trees, not the
9532         trees themselves.  Allow overwriting of already initialized element.
9533         Issue a warning if it had side-effects.
9534         (set_nonincremental_init, set_nonincremental_init_from_string): New
9535         functions.
9536         (pending_init_member): Rename to...
9537         (find_init_member): ...this function.  Call set_nonincremental_init
9538         if necessary.  Compare values of purpose index trees, not the trees
9539         themselves.  Return the actual value, not just non-zero if something
9540         is found.
9541         (output_init_element): Remove checks for duplicates.
9542         If field has zero size, only check the initializer for correctness.
9543         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
9544         if constructor_incremental is zero.  Change error about initializers
9545         not computable at load time into pedwarn.
9546         (output_pending_init_elements): Compare bit positions, not
9547         FIELD_DECLs to take into account zero-sized fields.
9548         (process_init_element): Use constructor_range_stack to fill all
9549         ranges in the designator lists from current level up.
9550         * extend.texi: Update documentation for labeled elements.
9551
9552 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
9553
9554         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
9555         to function usage for arguments passed by reference.  Optimize
9556         callee-copied arguments.
9557         * regmove.c (replace_in_call_usage): New function.
9558         (fixup_match_1): Call it.
9559         * cse.c (cse_insn): Canonicalize registers in function usage.
9560         * reload1.c (replace_pseudos_in_call_usage): New function.
9561         (reload): Call it.
9562
9563         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
9564         right version.
9565
9566 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
9567
9568         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
9569         not XEXP (tmp, 0).
9570
9571 2001-01-12  DJ Delorie  <dj@redhat.com>
9572
9573         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
9574         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
9575         targets.
9576
9577 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9578
9579         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
9580         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
9581         -std options alongside references to -ansi.  Update some
9582         documentation for C99.
9583         * cpp.1: Regenerate.
9584
9585 2001-01-12  Andreas Jaeger  <aj@suse.de>
9586
9587         * haifa-sched.c (restore_line_notes): Remove argument block B
9588         since it's unused.
9589         * sched-ebb.c (schedule_ebb): Change caller.
9590         * sched-rgn.c (schedule_region): Likewise.
9591         * sched-int.h (restore_line_notes): Adjust prototype.
9592
9593         * loop.h: Remove wrong declaration of doloop_condition_get.
9594
9595 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
9596
9597         * extend.texi:  Move C++-extension-related node from the C section
9598         into the C++ section.
9599
9600 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9601
9602         * extend.texi: Refer to an array of pointers to functions instead
9603         of one of functions.
9604
9605 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
9606                               Jan Hubicka  <jh@suse.cz>
9607
9608         * combine.c (reversed_comparison): Fix typo in last patch.
9609         Check X for NULL.
9610         (combine_reversed_comparison_code): Make static to follow
9611         prototype declaration.
9612
9613 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
9614
9615         * install.texi:  Remove misplaced duplicate entry.
9616
9617 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
9618
9619         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
9620
9621 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
9622
9623         * final.c: (leaf_function_p): Fix typo.
9624
9625 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
9626
9627         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
9628         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
9629         which you have.
9630         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
9631         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
9632         mmap_anon, and valloc is available.
9633         * ggc-page.c: Restructure ifdef logic to match new autoconf
9634         spec.  Don't throw away the test page in init_ggc.
9635
9636         * configure, config.in: Regenerate.
9637
9638 2001-01-12  Michael Hayes  <mhayes@redhat.com>
9639
9640         * loop.h (total_biv_increment): Constify iv_class pointer.
9641         (struct induction): Replace `mem_mode' with `mem' rtx.
9642         * unroll.c (total_biv_increment): Constify iv_class pointer.
9643         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
9644         (find_mem_givs, combine_givs_p): Likewise.
9645         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
9646
9647 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
9648
9649         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
9650         LastError.
9651         (__gthread_getspecific): Ditto.
9652
9653 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
9654
9655         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
9656         put_condition_code): Convert fp comparison codes to integer
9657         before handling.
9658         (ix86_expand_fp_compare): Postnote the fp comparison code converison
9659         to final.
9660
9661         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
9662         * i386-protos.h (no_comparison_operator): Kill.
9663
9664         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
9665
9666         * combine.c (REVERSIBLE_CC_MODE): Remove.
9667         (reversible_comparison_p): Remove.
9668         (combine_reversed_comparison_code): New.
9669         (reversed_comparison): New.
9670         (combine_simplify_rtx): Use
9671         combine_reversed_comparison_code/reversed_comparison instead
9672         of reversible_comparison_p.
9673         (simplify_if_then_else): Likewise.
9674         (simplify_set): Likewise.
9675         (simplify_logical): Likewise.
9676         (if_then_else_cond): Likewise.
9677         (known_cond): Likewise.
9678         (simplify_comparison): Likewise.
9679
9680 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
9681
9682         * builtins.c (std_expand_builtin_va_start): Handle varargs when
9683         sizeof (int) is larger than sizeof(__word__).
9684
9685 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9686
9687         * cppinit.c (do_includes): Fix typo.
9688
9689 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9690
9691         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
9692         in S_REGS does not occur because not all sources are possible
9693         when a S_REGS is a destination (sometimes needs a clobber).
9694         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
9695         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
9696         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
9697         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
9698         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
9699         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
9700         (lshrdi_const1, lshrsi3_const16): Likewise.
9701         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
9702         (*movhi_68hc12, *movqi_68hc12): Likewise.
9703         (movstrictqi): Make sure reloading in D_REGS as a destination
9704         does not happen.
9705
9706 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9707
9708         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
9709
9710 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9711
9712         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
9713         -D, -U and -A, and don't initialize the builtins.
9714         (do_includes): Error if -include or -imacros with -fpreprocessed.
9715         * cppmain.c (cb_define, cb_undef): Unconditionally process
9716         the callback.
9717         * tradcpp.c (main): Fix typo.
9718
9719 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
9720
9721         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
9722         (read_name_map): Use IS_ABSOLUTE_PATH.
9723         * tradcpp.c (get_filename): Likewise.
9724
9725 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9726
9727         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
9728         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
9729         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
9730         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
9731         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
9732         (cmphi_z_used): Don't use '@' for the output.
9733         (tstqi_z_used): Likewise.
9734         (cmpqi_z_used): Likewise.
9735         (one_cmplsi2): Likewise.
9736
9737 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
9738
9739         * config/sh/sh.c (barrier_align): Recognize branch around far
9740         branch and redundant insn.
9741
9742 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9743
9744         * invoke.texi: Restore documentation of the drivers' switches -MD
9745         and -MMD.
9746
9747 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
9748
9749         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
9750
9751         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
9752         check-objc//%): Support parallel testing of multilibs.
9753         (TESTSUITEDIR): Set to testsuite by default, but override for
9754         parallel testing.
9755         (check-gcc, check-g++, check-g77, check-objc): Enter
9756         $(TESTSUITEDIR).
9757
9758 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
9759
9760         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
9761         * sched-deps.c (deps_may_trap_p): Likewise.
9762         * basic-block.h: Remove a comment.
9763         * flow.c (PROP_POSTRELOAD): Remove.
9764         (update_life_info): Don't add it to prop_flags.
9765         (mark_set_1): Lose the code that was enabled by it.
9766
9767 2001-01-11  Michael Hayes  <mhayes@redhat.com>
9768
9769         * flow.c (flow_call_edges_add): New.
9770         * basic_block.h (flow_call_edges_add): New.
9771
9772 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
9773
9774         * reload1.c (move2add_note_store): Update reg_set_luid even if
9775         base reg remains the same.
9776
9777 2001-01-10  Nick Clifton  <nickc@redhat.com>
9778
9779         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
9780         machine_function structure to zero.
9781         Add prototypes for machine_status functions.
9782
9783 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
9784
9785         * c-common.h (CTI_VOID_LIST): Remove.
9786         (void_list_node): Likewise.
9787         * tree.h (TI_VOID_LIST_NODE): New enumeral.
9788         (void_list_node): New macro.
9789         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
9790         * config/i386/i386.c (ix86_init_builtins): Likewise.
9791         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
9792
9793 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
9794
9795         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
9796         * cppinit.c (cpp_start_read): Update comment, remove unneeded
9797         if statement.
9798         * tradcpp.c: Include mkdeps.h.
9799         (deps, print_deps_phony_targets, deps_append, output_deps,
9800         init_dependency_output, output_deps): New.
9801         (deps_buffer, deps_allocated_size, deps_size, deps_column,
9802         deps_output): Delete.
9803         (print_deps_missing_files): Rename deps_missing_files.
9804         (inhibit_output): Make global.
9805         (main): Delete inhibit_output, deps_stream, deps_target.
9806         Use mkdeps functionality in the same way as cpplib.  Remove
9807         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
9808         -M and -MM.  Remove old handling of deps via deps_out, and
9809         old reading of environment variables.
9810         (get_filename): Update to use deps_add_dep.
9811
9812 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
9813
9814         * output.h (make_function_rtl): Remove prototype.
9815         (make_decl_rtl): Likewise.
9816         * varasm.c (make_function_rtl): Remove.
9817         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
9818         than from a third parameter.
9819         * tree.h (make_decl_rtl): Remove last parameter.
9820         * c-decl.c (builtin_function): Remove last argument in call to
9821         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
9822         (start_function): Likewise.
9823         * except.c (call_get_eh_context): Likewise.
9824         * expr.c (emit_block_move): Likewise.
9825         (clear_storage): Likewise.
9826         * profile.c (output_func_start_profiler): Likewise.
9827         * toplev.c (rest_of_decl_compilation): Likewise.
9828         * objc/objc-act.c (create_builtin_decl): Likewise.
9829         (synth_module_prologue): Likewise.
9830         (generate_static_reference): Likewise.
9831         (build_selector_reference_decl): Likewise.
9832         (build_class_reference_decl): Likewise.
9833         (build_objc_string_decl): Likewise.
9834         (build_protocol_reference): Likewise.
9835
9836 2001-01-10  Richard Henderson  <rth@redhat.com>
9837
9838         * hwint.h: Revert yesterday's change.
9839
9840 2001-01-10  Nick Clifton  <nickc@redhat.com>
9841
9842         * function.h (save_machine_status): Delete.
9843         (restore_machine_status): Delete.
9844         Amend comment describing {init|mark|free}_machine_status.
9845
9846         * function.c (save_machine_status): Delete.
9847         (restore_machine_status): Delete.
9848         Amend comment describing {init|mark|free}_machine_status.
9849         (push_function_context_to): Remove invocation of
9850         save_machine_status.
9851         (pop_function_context_from): Remove invocation of
9852         restore_machine_status.
9853
9854         * emit-rtl.c (init_emit_once): Amend comment describing
9855         {init|mark|free}_machine_status.
9856
9857         * tm.texi (Per-Function Data): New node.  Describe the
9858         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
9859         function pointers.
9860
9861 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
9862
9863         * cppinit.c (OPT_g): Remove.
9864         (cpp_handle_option): Update for removed -g3.
9865         (print_help): Update.
9866         * cpplib.h (struct cpp_options): Remove debug_output.
9867         * cppmain.c (setup_callbacks, cb_define): Update.
9868         * gcc.c (cpp_options): Translate -g3 to -dD.
9869
9870 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
9871
9872         * config/i960/i960.md: Change modifier to + on the zero_extract
9873         pattern after the (rotate -2 reg) canonicalization pattern.
9874
9875 2001-01-10  Richard Henderson  <rth@redhat.com>
9876
9877         * config/alpha/alpha.c (alpha_free_machine_status): New.
9878         (override_options): Install it.
9879         (alpha_mark_machine_status): Verify machine non-null.
9880         * config/i386/i386.c (ix86_free_machine_status): New.
9881         (override_options): Install it.
9882         (ix86_init_machine_status): Use xcalloc.
9883         (ix86_mark_machine_status): Verify machine non-null.
9884         * config/ia64/ia64.c (ia64_free_machine_status): New.
9885         (ia64_override_options): Install it.
9886         (ia64_mark_machine_status): Verify machine non-null.
9887
9888 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
9889
9890         * function.c (instantiate_virtual_regs): Instantiate virtual
9891         registers found in CALL_INSN_FUNCTION_USAGE.
9892
9893 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9894
9895         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
9896         equivalent to -ansi in disabling -Di386.
9897
9898 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
9899
9900         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
9901         new functions.
9902         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
9903
9904 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
9905
9906         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
9907
9908 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9909
9910         * invoke.texi: Document that -fcond-mismatch isn't supported for
9911         C++.
9912
9913 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9914
9915         * gcc.texi: Define macro gcctabopt.
9916         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
9917         @command, @env and @option in some places where appropriate.  Use
9918         @gcctabopt where appropriate.  Put URLs and email addresses inside
9919         @w.
9920
9921 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
9922
9923         * gcc.c (cpp_options): Set MD file name from output
9924         filename, if specified.
9925         (suffix_subst): New static variable.
9926         (do_spec): Clear it.
9927         (do_spec_1, case '.'): Handle new `%.suffix' spec.
9928         Clear it.
9929         (give_switch): Handle suffix_subst.
9930
9931 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
9932
9933         * invoke.texi:  Fix another typo.
9934
9935 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
9936
9937         * invoke.texi:  Fix typo.
9938
9939 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
9940
9941         * c-lang.c (lang_hooks): Update.
9942         (lang_decode_option): Remove.
9943         (lang_init_options): Rename c_init_options.
9944         * toplev.c (main): Use lang_hooks for lang_init_options
9945         and lang_decode_option.
9946         * toplev.h (lang_hooks): Add 2 new hooks.
9947         * tree.h: Remove lang_init_options and lang_decode_option.
9948         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
9949         * cp/decl2.c: Similarly.
9950         * cp/lex.c (lang_init_options): Rename cxx_init_options.
9951         (lang_hooks): Update.
9952         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
9953         for consistency.
9954         (lang_init_options): Rename ffe_init_options.
9955         (lang_hooks): Update.
9956         (lang_decode_option): Remove.
9957         * java/lang.c (lang_init_options): Rename java_init_options.
9958         (lang_decode_option): Rename java_decode_option.
9959         (lang_hooks): Update.
9960         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
9961         (lang_decode_option): Rename objc_decode_option.
9962         (lang_hooks): Update.
9963
9964 2001-01-09  Nick Clifton  <nickc@redhat.com>
9965
9966         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
9967         (d30v_return_addr_rtx): Delete.
9968         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
9969         cfun->machine structure.
9970         (struct machine_function): Move to d30v.h
9971         (d30v_save_machine_status): Delete.
9972         (d30v_restore_machine_status): Delete.
9973         (d30v_init_machine_status): New Function.
9974         (d30v_mark_machine_status): New Function.
9975         (d30v_free_machine_status): New Function.
9976         (d30v_init_expanders): Use new functions.
9977         (d30v_return_addr): Use ra_rtx field in cfun->machine.
9978         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
9979         d30v_return_addr_rtx.
9980
9981         * config/d30v/d30v.h (struct_machine): Move here.
9982         Add eh_epilogue_sp_ofs field.
9983
9984         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
9985         field in cfun->machine structure.
9986
9987 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9988
9989         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
9990         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
9991         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
9992
9993 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
9994
9995         * objc/lang-options.h: Remove bogus reference to
9996         Java trademark.
9997
9998 2001-01-09  Kazu Hirata  <kazu@hxi.com>
9999
10000         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
10001         return the result.
10002
10003 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
10004
10005         * reload.c (find_reloads_address): Check for eliminable registers
10006         when substituting a constant expression for a pseudo.
10007
10008 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
10009
10010         * c-common.c (enum format_type): Add format_type_error.
10011         (decode_format_type): New function.
10012         (decl_attributes): Use it.
10013         (format_kind_info): Adjust comment.
10014
10015 2001-01-09  David O'Brien  <obrien@BSDi.com>
10016
10017         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
10018         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
10019         files in tm_file.
10020         * config/i386/gnu.h: Don't include required platform specific .h files,
10021         tm.h will do it instead.
10022         * config/i386/i386elf.h: Likewise.
10023         * config/i386/linux.h: Likewise.
10024         * config/i386/moss.h: Likewise.
10025         * config/mips/gnu.h: Likewise.
10026
10027 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10028
10029         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
10030         (rs6000-ibm-aix3.[01]*): Likewise.
10031         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
10032         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
10033         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
10034         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
10035         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
10036         (powerpc-*-eabiaix*): Likewise.
10037         (powerpc-*-eabisim*): Likewise.
10038         (powerpc-*-elf*): Likewise.
10039         (powerpc-*-eabi*): Likewise.
10040         (powerpc-*-rtems*): Likewise.
10041         (powerpc-*-linux*libc1): Likewise.
10042         (powerpc-*-linux*): Likewise.
10043         (powerpc-wrs-vxworks*): Likewise.
10044         (powerpcle-wrs-vxworks*): Likewise.
10045         (powerpcle-*-sysv*): Likewise.
10046         (powerpcle-*-elf*): Likewise.
10047         (powerpcle-*-eabisim*): Likewise.
10048         (powerpcle-*-eabi*): Likewise.
10049         (powerpcle-*-solaris2*): Likewise.
10050         * config/rs6000/aix31.h: Delete includes.
10051         * config/rs6000/aix3newas.h: Likewise.
10052         * config/rs6000/aix41.h: Likewise.
10053         * config/rs6000/aix43.h: Likewise.
10054         * config/rs6000/beos.h: Likewise.
10055         * config/rs6000/rtems.h: Likewise.
10056         * config/rs6000/sysv4.h: Likewise.
10057
10058 2001-01-09  Kazu Hirata  <kazu@hxi.com>
10059
10060         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
10061         Change an argument mode of machine_mode to shift_mode of
10062         shift_mode.  Remove an extra error check.
10063         (emit_a_shift): Adopt to the new calling prototype of
10064         get_shift_alg.
10065         (function_prologue): Fix code for a monitor
10066         function.  Support H8/S.
10067         (function_epilogue): Do not output pop for a monitor function.
10068
10069 2001-01-09  Nick Clifton  <nickc@redhat.com>
10070
10071         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
10072         (setup_incoming_varargs): Use sysv_varargs_p field of the
10073         cfun->machine structure.
10074         (struct machine_function): Move to rs6000.h
10075         (rs6000_save_machine_status): Delete.
10076         (rs6000_restore_machine_status): Delete.
10077         (rs6000_init_machine_status): New Function.
10078         (rs6000_free_machine_status): New Function.
10079         (rs6000_init_expanders): Use new functions.
10080
10081         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
10082         export.
10083         (struct machine_function): Move here.
10084
10085         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
10086         sysv_varargs_p field of the cfun->machine structure.
10087
10088         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
10089         Remove prototype.
10090         (rs6000_restore_machine_status): Remove prototype.
10091
10092 2001-01-09  Richard Henderson  <rth@redhat.com>
10093
10094         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
10095         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
10096         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
10097         (sched_analyze_2, sched_analyze_insn): Likewise.
10098         (sched_analyze, init_deps): Likewise.
10099         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
10100         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
10101         (compute_block_backward_dependences): Update propagate_deps call.
10102
10103 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
10104
10105         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
10106
10107 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10108
10109         * cppinit.c (OPT_MD, OPT_MMD): Restore.
10110         (cpp_handle_option): Handle them.
10111         (cpp_post_options): Ensure one of -M or -MM is specified with
10112         any other -M? option.
10113         (init_dependency_output): Suppress output with -MG.
10114
10115 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10116
10117         * cpp.texi: Update.
10118         * invoke.texi: Update.
10119
10120 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
10121
10122         * sh.md (reload_outsf): Generate recognizable patterns for
10123         TARGET_SH3E.
10124
10125 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10126
10127         * c-lang.c (lang_hooks): Update.
10128         (lang_init): Rename c_init.
10129         (lang_finish): Remove.
10130         * toplev.c (compile_file): Use lang_hooks for lang_init ()
10131         and lang_finish ().
10132         * toplev.h (lang_hooks): Add init () and finish ().
10133         * tree.h (lang_init, lang_finish): Remove.
10134         * cp/tree.h (lang_init, lang_finish): Remove.
10135         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
10136         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
10137         lang_hooks): New.
10138         (lang_init, lang_finish): Remove.
10139         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
10140         (lang_hooks): Update.
10141         * java/lang.c (lang_init): Rename java_init.
10142         (lang_finish): Remove.
10143         (lang_hooks): Update.
10144         * objc/objc-act.c (lang_init): Rename objc_init.
10145         (lang_finish): Remove.
10146         (lang_hoooks): Update.
10147
10148 20001-01-09  Graham Stott  <grahams@redhat.com>
10149
10150         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
10151         after `ptr` is initialised.
10152
10153 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
10154
10155         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
10156         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
10157         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
10158         stack adjusts, instead of r3.
10159
10160 2001-01-09  Michael Hayes  <mhayes@redhat.com>
10161
10162         * flow.c (flow_loop_scan): Break out of ...
10163         (flow_loops_find) ... here.
10164         * basic-block.h (flow_loop_scan): New.
10165         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
10166         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
10167
10168 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
10169
10170         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
10171         macro_buffer_len.
10172         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
10173         realloc()ing macro_buffer.
10174
10175         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
10176         if it's wider than long and the target's long is wider than the
10177         host's.
10178
10179 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
10180
10181         Remove support for using UWIN as a host machine.
10182         * configure.in: Issue an error message.
10183         * configure: Regenerated.
10184         * config.gcc: Remove xm_* UWIN configury.
10185         * config/i386/xm-uwin.h: Remove.
10186
10187 2001-01-08  Nick Clifton  <nickc@redhat.com>
10188
10189         * config/v850/v850.c (ra_rtx): Delete.
10190         (v850_save_machine_status): Delete.
10191         (v850_restore_machine_status): Delete.
10192         (v850_init_machine_status): New function.
10193         (v850_mark_machine_status): New function.
10194         (v850_free_machine_status): New function.
10195         (v850_return_addr): Use ra_rtx field in machine structure.
10196         (v850_init_expanders): Use new functions.
10197
10198         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
10199         * config/v850/v850.c: Change arguments to v850_output+* functions
10200         to take a const char *, to avoid compile time warning.
10201         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
10202         (USER_LABEL_PREFIX): Redefine.
10203
10204 2000-01-08  Jim Wilson  <wilson@redhat.com>
10205
10206         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
10207         1 to unsigned HOST_WIDE_INT before left shift.
10208
10209 2001-01-08  Nick Clifton  <nickc@redhat.com>
10210
10211         * config/arm/arm.c (arm_mark_machine_status): Check to see if
10212         the machine structure has been allocated.
10213         (arm_free_machine_status): New function: Free the machine
10214         specific function structure.
10215
10216 2001-01-08  Richard Henderson  <rth@redhat.com>
10217
10218         * jump.c (simplejump_p): Revert last change.
10219
10220 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
10221
10222         * cppinit.c (init): Rename init_library.
10223         (cpp_create_reader): Update.
10224         * gcc.c (cpp_options): If -o given, use it as the target of
10225         any -M options.
10226
10227 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
10228
10229         * arm.c (arm_arch5e): New variable.
10230         (all_cores): XScale is a 5TE device.
10231         (arm_override_options): Set arm_arch5e.
10232         (arm_init_builtins): __builtin_prefetch is in arch5e.
10233         * arm.h (arm_arch5e): Declare it.
10234
10235         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
10236
10237         * arm.md (define_constants): Add defines for UNSPEC and
10238         UNSPEC_VOLATILE insns.  Update all users.
10239         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
10240         * arm.c (multi_register_push, note_invalid_constants)
10241         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
10242         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
10243         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
10244
10245 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
10246
10247         * jump.c (jump_optimize_1): Use reversed_comparison_code
10248         instead of can_reverse_comparison_p.
10249         (jump_back_p): Likewise.
10250         (invert_exp_1): Likewise.
10251         (thread_jumps): Likewise.
10252         * simplify-rtx.c (simplify_unary_operation): Likewise.
10253         (simplify_ternary_operation): Likewise.
10254         * cse.c (find_comparison_args): Convert to use
10255         can_reverse_comparison_p.
10256         (record_jump_equiv): Likewise.
10257
10258 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
10259
10260         * arm.h (HARD_REGNO_RENAME_OK): Delete.
10261         (EPILOGUE_USES): Define.
10262         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
10263         automatically stack the LR if it isn't live.
10264
10265 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
10266
10267         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
10268         properly.
10269
10270 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
10271
10272         * ggc-page.c (max_alignment): New structure.
10273         (MAX_ALIGNMENT): New macro.
10274         (init_ggc): Use it to round up the sizes in the
10275         extra_order_size_table.
10276
10277 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10278
10279         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
10280         after reload.
10281
10282 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10283
10284         * builtins.def (BUILT_IN_FPRINTF): New entry.
10285
10286         * c-common.c (c_expand_builtin_fprintf): New function.
10287         (init_function_format_info): Handle __builtin_fprintf.
10288         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
10289         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
10290
10291         * c-decl.c (duplicate_decls): Adjust comment.
10292
10293         * extend.texi (fprintf): Document new builtin.
10294
10295 2001-01-07  Richard Henderson  <rth@redhat.com>
10296
10297         * jump.c (simplejump_p): Recognize any single_set jump
10298         of the proper form.
10299
10300 2001-01-07  Richard Henderson  <rth@redhat.com>
10301
10302         * configure.in (slibdir): Accept an --with-slibdir option.
10303         Use "test" not "[" in configure.  Default to $(libdir).
10304
10305         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
10306         fix typo in rm -f.
10307         * config/t-aix43 (SHLIB_INSTALL): Likewise.
10308         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
10309         (SHLIB_LINK): Create links for the soname.
10310         * config/mips/t-iris6: Likewise.
10311         * config/sparc/t-slibgcc: Likewise.
10312         * config/sparc/t-slibgcc-sld: Likewise.
10313
10314 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
10315
10316         * config/i386/i386.c (constant_call_address_operand): Accept
10317         (const (plus (symbol_ref) (const_int))).
10318         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
10319         constant_call_address_operand.
10320
10321 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10322
10323         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
10324         and LONG_LONG_TYPE_SIZE > 32.
10325
10326 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10327
10328         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
10329         the previous change.
10330
10331 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
10332
10333         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
10334         New.
10335         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
10336         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
10337         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
10338         Declare.
10339
10340 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10341
10342         * fix-header.c (read_scan_file): s/pfile/scan_in/.
10343
10344 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10345
10346         * c-lang.c (c_post_options): Call cpp_post_options.
10347         * objc/objc-act.c (objc_post_options): Similarly.
10348         * cppmain.c (main): Similarly.
10349         * fix-header.c (read_scan_file): Similarly.
10350         * cppinit.c (cpp_start_read): Move option consistency checks
10351         to cpp_post_options.  Don't call init_dependency_output.
10352         If needed, add default target and main file dependency.
10353         (OPT_MD, OPT_MMD): Remove.
10354         (OPT_MF): New.
10355         (cpp_handle_option): Update for OPT_* changes.
10356         (cpp_post_options): New.
10357         (init_dependency_output): Command line -MF overrides environment
10358         variables.  Don't set default target etc.  Suppress output
10359         if dependencies are going to stdout.
10360         (print_help): Update.
10361         * cpplib.h (cpp_post_options): New.
10362         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
10363
10364 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
10365
10366         * jump.c (comparison_dominates_p): Support unordered compares.
10367
10368 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
10369
10370         * simplify-rtx.c (simplify_relational_operation): Always simplify
10371         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
10372         and UNGE.
10373
10374 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
10375
10376         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
10377         (nonzero_bits): Likewise.
10378         (simplify_comparison): Likewise.
10379         (num_sign_bit_copies): Likewise; return more sane value depending
10380         on STORE_FLAG_VALUE.
10381         (known_cond): Do not assume EQ to be always true for equivalent
10382         operands.
10383
10384 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
10385
10386         * cse.c (fold_rtx): Handle unordered comparisons.
10387
10388 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
10389
10390         * rtlanal.c (set_of_1): New static function.
10391         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
10392          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
10393          reg_set_last_last_regno): Remove.
10394         (set_of): New global function.
10395         (set_of_data): New structure.
10396         (reg_set_p, reg_set_last): Revamp for set_of.
10397         * rtl.h (set_of): New.
10398
10399 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
10400
10401         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
10402         * extend.texi: Document _Exit builtin.
10403
10404 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10405
10406         * (initialize, initialize_builtins,
10407         initialize_dependency_output, initialize_standard_includes):
10408         Rename s/initialize/init. Update.
10409         (init_dependency_output): Move to after
10410         cpp_handle_options, the correct location temporally at least.
10411         (opt_comp): Move next to init (), its caller.  Fix prototype.
10412         (init): Make "initialized" local scope.
10413         (cpp_create_reader): Always call init ().
10414         (cpp_start_read): Update.
10415         (output_deps): New function, broken out of cpp_finish.
10416         (cpp_finish): Break out output_deps.
10417
10418 2001-01-07  Richard Henderson  <rth@redhat.com>
10419
10420         * collect2.c (COFF specific stuff): Revert 12-06 patch
10421         to prototype system functions.
10422
10423 2001-01-07  Michael Hayes  <mhayes@redhat.com>
10424
10425         * hard-reg-set.h: Add multiple include guard.
10426         * basic-block.h (struct loop): Add `sink' field.
10427         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
10428         (emit_iv_add_mult): Delete.
10429         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
10430         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
10431         (unroll_loop): Remove end_insert_before argument.
10432         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
10433         (maybe_eliminate_biv_1): Likewise.
10434         (emit_iv_add_mult): Delete.
10435         (gen_add_mult, loop_regs_update): New.
10436         (loop_insn_emit_after, loop_insn_emit_before): New.
10437         (loop_insn_sink, loop_insn_sink_or_swim): New.
10438         (emit_iv_add_mult): Delete.
10439         (scan_loop): Set loop->sink.
10440         (loop_givs_reduce): Use loop_insn_sink and its ilk.
10441         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
10442         (maybe_eliminate_biv_1): Likewise.
10443         (maybe_eliminate_biv_1): Add basic block argument.
10444         * unroll.c (unroll_loop): Remove end_insert_before argument.
10445         (find_splittable_regs): Likewise.
10446         (find_splittable_regs): Use loop_insn_sink and its ilk.
10447         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
10448
10449 2001-01-07  Michael Hayes  <mhayes@redhat.com>
10450
10451         * loop.h (loop_insn_hoist): New prototype.
10452         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
10453         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
10454         (check_dbra_loop, load_mems): Likewise.
10455         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
10456         (find_splittable_givs): Likewise.
10457
10458 2001-01-07  Michael Hayes  <mhayes@redhat.com>
10459
10460         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
10461
10462 2001-01-07  Richard Henderson  <rth@redhat.com>
10463
10464         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
10465
10466 2001-01-07  Richard Henderson  <rth@redhat.com>
10467
10468         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
10469         NO_SHARED_LIBGCC_MULTILIB as required for the target.
10470         * gcc.c (init_spec): Massage the existing libgcc_spec into a
10471         variant that handles a shared libgcc.
10472         (process_command): Always validate -{static,shared}-libgcc.
10473         (do_spec_1): New 'M' case.
10474         * invoke.text (Link Options): Document -{static,shared}-libgcc.
10475
10476 2001-01-07  Richard Henderson  <rth@redhat.com>
10477
10478         * Makefile.in (slibdir): New variable.
10479         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
10480         (installdirs): Create slibdir.
10481         (install-libgcc, install-multilib): Defer to libgcc.mk.
10482         * configure.in (slibdir): Substitute.
10483         * mklibgcc.in (install): New target.
10484
10485         * config/t-linux (SHLIB_LINK): Create links for the soname.
10486         (SHLIB_INSTALL): New.
10487         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
10488         * config/mips/t-iris6 (SHLIB_INSTALL): New.
10489         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
10490         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
10491         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
10492
10493 2001-01-07  Richard Henderson  <rth@redhat.com>
10494
10495         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
10496         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
10497         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
10498
10499 2001-01-07  Michael Hayes  <mhayes@redhat.com>
10500
10501         * loop.c (count_loop_regs_set): Delete.
10502         (load_mems_and_recount_loop_regs_set): Delete.
10503         (loop_regs_scan): Merge common code from count_loop_regs_set,
10504         scan_loop, and load_mems_and_recount_loop_regs_set.
10505         (scan_loop): Call load_mems directly and loop_regs_scan
10506         again if new registers created.
10507
10508 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10509
10510         * toplev.c (main): Call the front-end specific post_options
10511         hook if one is given.
10512         * toplev.h (struct_lang_hooks, lang_hooks): New.
10513         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
10514         for the C front end.
10515         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
10516         lang_hooks for the C++ front end.
10517         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
10518         lang_hooks for the ObjC front end.
10519         * f/com.c (lang_hooks): Hooks for the Fortran front end.
10520         * java/lang.c (lang_hooks): Hooks for the Java front end.
10521
10522 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10523
10524         * c-lex.c (init_c_lex): Request #define / #undef callbacks
10525         for verbose DWARF[2] debugging.
10526         (cb_define, cb_undef): The new callbacks.
10527         * toplev.h (debug_define, debug_undef): Make const correct.
10528         * toplev.c (debug_define, debug_undef): Similarly.  Do not
10529         perform the verbosity tests here anymore.
10530
10531 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
10532
10533         * reload.c (subst_reloads): Take INSN argument.  When
10534         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
10535         * reload.h (subst_reloads): Adjust prototype.
10536         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
10537         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
10538         present in JUMP_INSNs and copy them to JUMP_LABEL.
10539         * flow.c (find_label_refs, find_basic_blocks_1): Skip
10540         JUMP_INSNs and insns with REG_LABELs that are followed by
10541         JUMP_INSNs with the same REG_LABEL.
10542         * sched-rgn.c (is_cfg_nonregular): Likewise.
10543         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
10544         note is available.
10545         * unroll.c (unroll_loop): Look for REG_LABEL notes in
10546         JUMP_INSNs too.
10547         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
10548
10549 2001-01-06  Richard Henderson  <rth@redhat.com>
10550
10551         * loop.c (scan_loop): Use xcalloc for the regs array.
10552         (load_mems_and_recount_loop_regs_set): Zero the new memory
10553         received from xrealloc.
10554
10555 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10556
10557         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
10558
10559 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
10560
10561         * integrate.c (copy_rtx_and_substitute): When copying
10562         an ignored return value, strip REG_FUNCTION_VALUE_P.
10563
10564 2001-01-06  Michael Hayes  <mhayes@redhat.com>
10565
10566         * loop.c (debug_biv, debug_giv): New.
10567         (loop_biv_dump): Break out from ...
10568         (record_biv): ... here.
10569         (loop_giv_dump): Break out from ...
10570         (record_giv): ... here.
10571         (loop_bivs_check): Use print_simple_rtl.
10572         * unroll.c (loop_iterations): Use print_simple_rtl.
10573
10574 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10575
10576         * pa.md (return, return_internal): Modify patterns to prevent regrename
10577         mucking with the return pointer.
10578
10579 2001-01-05  Richard Henderson  <rth@redhat.com>
10580
10581         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
10582
10583 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
10584
10585         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
10586         version supplied by Matteo Frigo.
10587
10588 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10589
10590         * cpp.texi: Update for -MQ.
10591         * cppinit.c (cpp_create_reader): Always create pfile->deps.
10592         (cpp_cleanup): Always free pfile->deps.
10593         (initialize_dependency_output): Don't create pfile->deps.
10594         (cpp_handle_option): Similarly.
10595         (OPT_MQ): New.
10596         * gcc.c (cpp_options): Handle -MQ.
10597         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
10598         * mkdeps.c (base_name): Remove.
10599         (deps_init): Don't allocate vector space until it's needed.
10600         (deps_free): Only free vectors if allocated.
10601         (deps_add_target, deps_add_dep): Update for initial allocation.
10602         (deps_add_default_target): Don't strip to the base_name.
10603
10604 2001-01-05  DJ Delorie <dj@redhat.com>
10605
10606         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
10607         (INIT_EXPANDERS): Define.
10608
10609         * config/v850/v850.c (struct machine_function): Define.
10610         (v850_save_machine_status): New function.
10611         (v850_restore_machine_status): New function.
10612         (v850_return_addr): New function.
10613         (v850_init_expanders): New function.
10614
10615         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
10616         and v850_init_expanders.
10617
10618 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
10619
10620         * cpplib.h (struct cpp_reader): Add help_only field.
10621         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
10622         (cpp_handle_option): Set pfile->help_only if we see -h,
10623         --help, -target-help, or --version.  Print version string but
10624         do not set help_only if we see -v or -version.  Make text
10625         printed by -v match that printed by (-)-version.
10626
10627         * cppmain.c (main): Exit after option parsing if
10628         pfile->help_only is true.
10629
10630         * toplev.c (independent_decode_option): Call print_version,
10631         then exit, if we see --version (but not -version).
10632         (print_version): Split lengthy message into two lines.
10633
10634 2001-01-05  Nick Clifton  <nickc@redhat.com>
10635
10636         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
10637         temporary string for initialisation before calling ggc_alloc_string.
10638
10639 2001-01-06  Michael Hayes  <mhayes@redhat.com>
10640
10641         * rtl.h (print_simple_rtl): New.
10642         * print-rtl.c (print_simple_rtl): New.
10643         (flag_simple): New.
10644         (print_rtx): Disable printing of flags and modes, etc.,
10645         if `flag_simple` nonzero.
10646
10647 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
10648
10649         * function.c (fixup_var_refs): Use push_to_full_sequence where
10650         possible.
10651
10652 2001-01-05  Michael Meissner  <meissner@redhat.com>
10653
10654         * flags.h (flag_reorder_blocks): Add declaration.
10655         (flag_rename_block): Ditto.
10656
10657 2001-01-05  DJ Delorie  <dj@redhat.com>
10658
10659         * function.c (reorder_blocks): Make sure the flags are all reset
10660         before using them to mark blocks, else a second invocation will
10661         corrupt the block chain.
10662         (reorder_blocks_0): New, resets the flags.
10663
10664 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
10665
10666         * cse.c (find_comparison_args): Stop if the argument is known to
10667         be constant.
10668
10669 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
10670
10671         * config/sh/sh.md (movdf): When splitting load into pair of
10672         registers, don't clobber the register used in the address too
10673         early.
10674
10675 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
10676
10677         * varasm.c (mark_constant_pool): Improve initial comments.
10678         (mark_constants): Move marking of constants to mark_constant.
10679         (mark_constant): New function to recursively mark all constants
10680         referred to by a constant.
10681
10682 2001-01-05  Catherine Moore  <clm@redhat.com>
10683
10684         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
10685
10686 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
10687
10688         * cp/lang-options.h:  Bring comment in line with reality.
10689         * f/lang-options.h:  Likewise.
10690         * java/lang-options.h:  Likewise.
10691         * objc/lang-options.h:  Likewise.
10692         * ch/lang-options.h:  Likewise.
10693         * f/g77.texi:  And update the manual.
10694
10695 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
10696             Denis Chertykov  <denisc@overta.ru>
10697
10698         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
10699         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
10700         * config/avr/avr.md (all peepholes that request a scratch register):
10701         Call it, FAIL the peephole if not safe (in interrupt functions).
10702
10703 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
10704
10705         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
10706
10707 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
10708
10709         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
10710         Define.
10711         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
10712         BUILT_IN_CREAL and BUILT_IN_CIMAG.
10713         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
10714         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
10715         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
10716         BUILT_IN_CIMAG.
10717         * extend.texi: Document these builtins.
10718
10719 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
10720
10721         * c-common.c (lang_get_alias_set): Say we know nothing of
10722         VECTOR_TYPE aliasing.
10723
10724         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
10725
10726 2001-01-05  Bruce Korb  <bkorb@gnu.org>
10727
10728         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
10729         their x* equivalent versions for atexit-less systems
10730         * fixinc/fixincl.c(main): do not return from main() on atexit-less
10731         systems (or any other system any more).
10732
10733 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
10734
10735         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
10736         output operands.  Use arm_hard_register_operand for operand 4.
10737         (stmsi_postinc): Similarly.
10738         (ldmsi): Use arm_hard_register_operand for opernand 2.
10739         (stmsi): Similarly.
10740         * arm.c (arm_hard_register_operand): New function.
10741         * arm-protos.h (arm_hard_register_operand): Prototype it.
10742
10743         * arm.h (HARD_REGNO_RENAME_OK): Define.
10744
10745 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
10746
10747         * simplify-rtx.c (cfc_args): add "unordered" field.
10748         (check_fold_consts): Set unordered field.
10749         (simplify_relational_operation): Simplify the unordered
10750         comparisons.
10751
10752         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
10753         is valid.
10754
10755         * emit-rtl.c (try_split): Fix code to mark labels.
10756         * jump.c (mark_jump_label): Make global.
10757         * rtl.h (mark_jump_label): Declare.
10758
10759         * predict.c (estimate_probability): Handle unordred comparisons.
10760
10761 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10762
10763         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
10764         * cppinit.c (initialize_dependency_output):  Update.
10765         (cpp_finish): Output dummy targets for -MP.
10766         (OPT_MP): New.
10767         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
10768         * cpplib.h (struct cpp_options): Add deps_phony_targets.
10769         * gcc.c (cpp_options): Update to handle -MP.
10770         * mkdeps.c (deps_add_target, deps_add_default_target): Update
10771         to quote only the default target.
10772         (deps_phony_targets): Insert a preceding newline.  Rename from
10773         deps_dummy_targets for consistency.
10774         * mkdeps.h: Update
10775
10776 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
10777
10778         * calls.c (emit_library_call_value_1): Support
10779         INIT_CUMULATIVE_LIBCALL_ARGS.
10780         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
10781
10782 2001-01-04  Richard Henderson  <rth@redhat.com>
10783
10784         * c-decl.c (finish_struct): Detect flexible array members
10785         used in an inappropriate context.
10786         * c-typeck.c (really_start_incremental_init): Special case
10787         constructor_max_index for zero length arrays.
10788         (pop_init_level): Allow initialization of flexible array
10789         members.  Deprecate initialization of zero length arrays.
10790         Don't issue missing initializer warning for flexible array
10791         members or zero length arrays.
10792         (process_init_element): Don't dereference null DECL_SIZE.
10793         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
10794         Don't abort for empty constructors.  Use size_binop
10795         (output_constructor): Add commentary regarding zero length
10796         array futures.  Abort if we try to initialize an array of
10797         unspecified length with a non-empty constructor in the middle
10798         of a structure.
10799
10800         * extend.texi (Zero Length): Update and clarify documentation
10801         on static initialization.
10802
10803 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10804
10805         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
10806         with more than 32767 words of local storage.
10807
10808 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10809
10810         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
10811         for 'abs', 'labs', and 'fabs'.
10812         (c4x_expand_builtin): Likewise.
10813         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
10814
10815 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
10816
10817         * config/sh/sh.md (prget, prset): New insn types.
10818         (return delay slot): Dont' allow prset.
10819         (call, sfunc delay slot): Don't allow prget.
10820         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
10821         for prset and prget.
10822
10823 2001-01-05  Michael Hayes  <mhayes@redhat.com>
10824
10825         * loop.h (struct loop_reg): New.
10826         (struct loop_regs): Change to use array of `struct loop_reg'.
10827         * loop.c: Replace assortment of varrays with single regs array.
10828         (count_one_set): Delete may_not_move array argument
10829         and use regs array instead.  All caller's changed.
10830         (count_loop_regs_set): Delete may_not_move and single_usage
10831         arguments and use regs array instead.  All caller's changed.
10832         (find_single_use_in_loop): Replace usage array argument with pointer
10833         to regs structure.  All caller's changed.
10834         (loop_optimize): Delete `moved_once' array.
10835
10836 2001-01-05  Michael Hayes  <mhayes@redhat.com>
10837
10838         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
10839         Use it instead of loop_info->has_call for scanning loop mems.
10840         (check_dbra_loop): Replace loop_info->has_call test with
10841         loop_info->has_nonconst_call.
10842
10843 2000-01-04  Matthew Hiller  <hiller@redhat.com>
10844
10845         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
10846         for TARGET_SH3E.
10847
10848 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
10849
10850         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
10851         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
10852
10853 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
10854
10855         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
10856         (flag_short_double, flag_short_wchar): Define.
10857         (c_common_nodes_and_builtins): Create many tree nodes shared
10858         between C and C++ here instead of in cp/decl.c and ...
10859         * c-decl.c (init_decl_processing): ... here.
10860         (SIZE_TYPE, WCHAR_TYPE): Don't define.
10861         (flag_short_double, flag_short_wchar): Don't define.
10862         (record_builtin_type): New function.
10863         (build_void_list_node): New function.
10864         * c-common.h (flag_short_double, flag_short_wchar,
10865         record_builtin_type, build_void_list_node): Declare.
10866
10867 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
10868
10869         * integrate.c (expand_inline_function): Don't put a virtual
10870         register into the reg map.
10871
10872         * function.c (fixup_var_refs_1): If force_operand didn't put
10873         the address into the target, move it there.
10874
10875 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
10876
10877         Special-case tree_decl/tree_list allocations.
10878         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
10879         (OBJECT_SIZE): New macro.
10880         (NUM_EXTRA_ORDER): Likewise.
10881         (extra_order_size_table): New variable.
10882         (NUM_ORDERS): New macro.
10883         (objects_per_page_table): New variable.
10884         (object_size_table): New variable.
10885         (G.pages): Use NUM_ORDERS to bound the array.
10886         (G.page_tails): Likewise.
10887         (DIV_ROUND_UP): Remove.
10888         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
10889         (alloc_page): Use OBJECT_SIZE.
10890         (size_lookup): Don't make it const.
10891         (ggc_alloc): Use OBJECT_SIZE.
10892         (ggc_set_mark): Likewise.
10893         (ggc_get_size): Likewise.
10894         (init_ggc): Set up the object_size_table, objects_per_page_table,
10895         and adjust size_lookup.
10896         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
10897         (ggc_pop_context): Use NUM_ORDERS.
10898         (clear_marks): Likewise.
10899         (sweep_pages): Likewise.
10900         (poison_pages): Likewise.
10901         (ggc_print_statistics): Use OBJECT_SIZE.
10902
10903 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10904
10905         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
10906         Only call array_size_for_constructor if last field and array type
10907         with no upper bound.
10908
10909 2001-01-04  Philip Blundell  <philb@gnu.org>
10910
10911         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
10912         from bit 31 downwards, if this requires no more insns.
10913         (count_insns_for_constant): New helper function for above.
10914
10915 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
10916
10917         * gencodes.c (output_predicate_decls): Remove empty initializer.
10918
10919 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
10920
10921         * tree.c (copy_node): Remove documentation about obstacks.
10922         (buidl1): Check that nobody tries to build 2-argument nodes this
10923         way.
10924
10925 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10926
10927         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
10928         fp_high_losum_p.
10929
10930         * gencodes.c (output_predicate_decls): Fill empty initializer
10931         braces.
10932
10933 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
10934
10935         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
10936         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
10937         or -MM.
10938         (do_include): Handle missing headers like cpp0.
10939         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
10940         paths with first include pathname.  Don't strcat to uninitialized
10941         string.
10942
10943 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
10944
10945         * regrename.c (regrename_optimize): Don't rename from frame pointer
10946         if frame_pointer_needed.
10947         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
10948         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
10949         (ia64_reorg): Use it instead of scheduling if ! optimize.
10950         (errata_emit_nops): Properly call asm_noperands.
10951         (ia64_sched_reorder): Finish cycle if we see an asm.
10952         (ia64_variable_issue): Clear scheduling state after asms.
10953
10954 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10955
10956         * cpp.texi: Update for -MT.
10957         * cppinit.c (initialize_dependency_output): Add a default
10958         target if none has been given already.
10959         (no_tgt, OPT_MT): New.
10960         (cpp_handle_option): Handle -MT.  Update -M etc.
10961         * cpplib.h (struct cpp_options): Remove deps_target.
10962         * gcc.c (cpp_options): Handle -MT.
10963         * mkdeps.c (struct deps): Move from mkdeps.h.
10964         (deps_calc_target): Rename deps_add_default_target.  Add a
10965         default target if none has been specified already.
10966         * mkdeps.h (struct deps): Move to mkdeps.c.
10967         (deps_calc_target): Rename deps_add_default_target.
10968
10969 2000-01-03  Richard Henderson  <rth@redhat.com>
10970
10971         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
10972         Remove dead code.
10973         * c-typeck.c (push_init_level): Move checks for flexible array
10974         members and zero length arrays ...
10975         (pop_init_level): ... here.  Silently discard empty initializations.
10976         Remove dead code.
10977         * varasm.c (output_constructor): Update for sizeof change to
10978         zero-length arrays.
10979
10980         * extend.texi (Zero Length): Clarify semantics.
10981
10982 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
10983
10984         * configure.in (tm.h): Include isns-codes.h last.
10985         * configure: Rebuilt.
10986
10987 2001-01-03  Richard Henderson  <rth@redhat.com>
10988
10989         * config/alpha/alpha.md (addvsi3, addvdi3): New.
10990         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
10991
10992 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10993
10994         * tradcpp.c (main): Make sure finclude() is called with a valid
10995         indepth value while handling -include.
10996
10997 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
10998
10999         * gencodes.c (output_predicate_decls): New function.
11000         (main): Call it.
11001         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
11002         even if it is not the first time machmode.h is #included.
11003         * config/sh/sh.c (fpul_operand): Declare MODE argument.
11004         * tm.texi (PREDICATE_CODES): Document predicate declarations.
11005         * gcc.texi (Copyright): Added 2001.
11006
11007 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
11008
11009         * c-common.c (c_common_lang_init): New function.  Warn if format
11010         warning options which only have effects when used with -Wformat
11011         are used without -Wformat.
11012         * c-common.h (c_common_lang_init): Declare.
11013         * c-lang.c (lang_init): Call c_common_lang_init.
11014         * objc/objc-act.c (lang_init): Call c_common_lang_init.
11015
11016 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
11017
11018         * configure.in: Check for the mktemp command.
11019         * configure: Regenerate.
11020         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
11021         $TEMP.  Create temporary files with mktemp, if available at
11022         configure time; otherwise use set -C.  Remove temporary files
11023         before exit.
11024
11025 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
11026
11027         * configure.in: Require at least texinfo 4.0.  Check for whether
11028         Pod::Man is sufficiently recent to regenerate GCC manpages.
11029         * configure:  Regenerate.
11030         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
11031         on #!.
11032         (GENERATED_MANPAGES): Define.
11033         (generated-manpages): New target.  Depend on cpp.1 as well as
11034         gcov.1.
11035         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
11036         configure to generated-manpages or empty) rather than on the
11037         manpages directly.  Remove execute permission from installed
11038         gcov.1 as well as cpp.1.
11039         * cpp.1, gcov.1: Regenerate.
11040
11041 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11042
11043         * builtins.c (expand_builtin_strncmp): Use host_integerp and
11044         tree_low_cst.  Allow using cmpstrsi in more cases.
11045
11046 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11047
11048         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
11049         sized types.
11050
11051 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
11052
11053         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
11054         * Makefile.in (HOST_CFLAGS): Mention build-make.
11055
11056 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11057
11058         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
11059         as JUMP_INSN.
11060
11061 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
11062
11063         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
11064         a REG rtx.
11065
11066         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
11067         callers changed.
11068
11069         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
11070         reg_base_value and reg_known_value arrays.
11071         (init_alias_analysis): Add more cases to detect known values.
11072         * sched-deps.c (deps_may_trap_p): New function.
11073         (sched_analyze_2): Use it.
11074
11075 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
11076
11077         * combine.c (simplify_shift_const): Even if we're sign-extracting,
11078         don't discard an ASHIFTRT if we're shifting in a wider mode.
11079
11080 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11081
11082         * toplev.c (rest_of_compilation): Don't print basic block information
11083         when CFG isn't up to date.
11084
11085 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
11086
11087         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
11088         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
11089         (UNALIGNED_SHORT_ASM_OP): Define.
11090         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
11091
11092 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
11093
11094         * fold-const.c (fold_convert): Fix typo.
11095
11096 2001-01-02  Richard Henderson  <rth@redhat.com>
11097
11098         * c-common.h (ASM_INPUT_P): New.
11099         * c-parse.in (asm): Set it when needed.
11100         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
11101         existance of an operand.
11102
11103 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
11104
11105         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
11106         (dwarf2out_frame_debug_expr): Likewise.
11107         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
11108
11109 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11110
11111         * i386.c (ix86_split_to_parts): Return number of part required;
11112         handle TFmodes.
11113         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
11114         TFmodes.
11115         (ix86_split_long_move): Use number of part returned
11116         by ix86_split_to_parts
11117         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
11118         New macros.
11119         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
11120         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
11121         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
11122         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
11123         (ALIGN_MODE_128): Add TFmode.
11124         (IS_STACK_MODE): Likewise.
11125         (HARD_REGNO_NREGS): TFmode needs 3 registers.
11126         (HARD_REGNO_OK): Support TFmodes.
11127         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
11128         * i386.md (scheduler definitions): Use memory operand to determine
11129         fst/fld instructions; use mode attribute to determine real mode of
11130         the instruction.
11131         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
11132         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
11133
11134 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
11135
11136         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
11137
11138 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
11139
11140         * expr.c (store_constructor_field): Update ALIGN before calling
11141         store_constructor.
11142
11143 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
11144
11145         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
11146         host_integerp.
11147
11148 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
11149
11150         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
11151         incomplete type.
11152
11153 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
11154
11155         * c-decl.c (start_function): Don't warn on third parameter to main.
11156
11157 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11158
11159         * tsystem.h: Define HAVE_DECL_GETOPT.
11160
11161 2001-01-02  Philip Blundell  <pb@futuretv.com>
11162
11163         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
11164         of input operand.
11165
11166 2001-01-02  Richard Henderson  <rth@redhat.com>
11167
11168         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
11169
11170 2001-01-02  Andreas Jaeger  <aj@suse.de>
11171
11172         * c-decl.c (c_decode_option): Remove support of
11173         -Wmissing-noreturn.
11174
11175         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
11176         (W_options): Add -Wmissing-noreturn here.
11177
11178         * flow.c: Define lang_missing_noreturn_ok_p.
11179         (check_function_return_warnings): Use it.
11180
11181         * c-common.h: Declare lang_missing_noreturn_ok_p.
11182
11183         * c-lang.c (c_missing_noreturn_ok_p): New function.
11184         (lang_init): Set lang_missing_noreturn_ok_p.
11185
11186         * invoke.texi (Warning Options): Document this.
11187
11188 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
11189
11190         * extend.texi (C++ Extensions):  New node for C++ attributes;
11191         describe init_priority and com_interface.
11192         * invoke.texi:  Remove -finit-priority as it now has zero effect.
11193         * install.texi:  Fix xref syntax.
11194         * md.texi:  Likewise.
11195
11196 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11197
11198         * config.gcc (sparc64-wrs-vxworks*): New case.
11199         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
11200
11201         * config/sparc/sparc.c (sparc_override_options): Do support different
11202         pointer and architecture size.
11203         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
11204         (POINTERS_EXTEND_UNSIGNED): Define.
11205         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
11206         (FUNCTION_MODE): Define to be Pmode.
11207         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
11208
11209         * function.c (expand_function_end): Properly handle DECL_RESULT
11210         and copy when ptr_mode != Pmode.
11211         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
11212
11213 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11214
11215         * c-common.c (c_common_nodes_and_builtins): Set prototype
11216         parameters for __builtin_fputs, __builtin_fputc and
11217         __builtin_fwrite.  Don't declare plain fputc as a builtin.
11218
11219 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11220
11221         * loop.c (add_label_notes): Increment the label usage count when
11222         a note is added to an insn which refers to a CODE_LABEL.
11223         * gcse.c (add_label_notes): Likewise.
11224
11225 2001-01-01  Andreas Jaeger  <aj@suse.de>
11226
11227         * loop.c (scan_loop): Use xmalloc to allocate movables.
11228
11229 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
11230
11231         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
11232         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
11233         * reload1.c (REGISTER_MOVE_COST): Likewise.
11234         * regclass.c (REGISTER_MOVE_COST): Likewise.
11235         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
11236         dimension.  Adjust all users.
11237         (init_reg_sets_1): Iterate on all modes.
11238         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
11239         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
11240         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
11241         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
11242         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
11243         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
11244         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
11245         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
11246         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
11247         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
11248         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
11249         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
11250         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
11251         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
11252         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
11253         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
11254         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
11255         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
11256         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
11257         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
11258         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
11259         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
11260         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
11261         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
11262         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
11263         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
11264         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
11265
11266 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
11267
11268         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
11269         arg VARIES_P.  Call it with extra arg.
11270         (true_dependence): Likewise.
11271         * rtl.h (rtx_addr_can_trap_p): Declare.
11272         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
11273         prototypes.
11274         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
11275         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
11276         pic offset table register if it's zero.  All callers changed.
11277         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
11278
11279 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11280
11281         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
11282         STRING_POOL_ADDRESS_P.
11283
11284         * config/sparc/sparc.c (input_operand): Properly test for short op.
11285
11286         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
11287         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
11288         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
11289         * config/sparc/elf.h: No longer include sol2.h.
11290         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
11291         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
11292
11293         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
11294
11295 2001-01-01  Michael Hayes  <mhayes@redhat.com>
11296
11297         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
11298         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
11299         (record_initial): Likewise.
11300         * unroll.c (copy_loop_body, loop_iterations): Likewise.
11301         (remap_split_bivs): Likewise.
11302
11303 2001-01-01  Michael Hayes  <mhayes@redhat.com>
11304
11305         * loop.c (loop_ivs_free): New function.
11306         (strength_reduce): Break out from...
11307
11308 2001-01-01  Michael Hayes  <mhayes@redhat.com>
11309
11310         * loop.h (struct iv): New.
11311         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
11312         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
11313         'reg_biv_class' fields with 'regs' and 'n_regs'.
11314         (struct ivs): Rename 'loop_iv_list' field to 'list'.
11315         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
11316         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
11317
11318 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
11319
11320         * resource.c (mark_referenced_resources): Abort() before
11321         attempting to mark a pseudo register.
11322         (mark_set_resources): Likewise.
11323
11324 2001-01-01  Michael Hayes  <mhayes@redhat.com>
11325
11326         * loop.h (REG_IV_CLASS): New accessor macro.
11327         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
11328         * unroll.c (REG_IV_CLASS): Likewise.
11329
11330 See ChangeLog.4 for earlier changes.