OSDN Git Service

5d363c361948e11b0c5fa5cbf3cae3f964e34d4f
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Thu Jun 28 20:13:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
2
3         * flow.c (try_merge_block): Rename to try_optimize_cfg;
4         do basic simplifications on the CFG.
5         (is_forwarder_block_p, can_fallthru, try_redirect_by_replacing_jump,
6          try_simplify_condjump): New.
7         (redirect_edge_and_branch): Try replace jump insn.
8         (flow_delete_insn): Handle deleting of ADDR_VEC insns.
9
10         * basic-block.h (FALLTHRU_EDGE, BRANCH_EDGE): New macros.
11
12 Thu Jun 28 11:19:42 2001  Jeffrey A Law  (law@cygnus.com)
13
14         * ssa-dce.c (eliminate_dead_code): Properly handle control
15         dependencies implied by PHI nodes.
16
17         * ssa-dce.c (eliminate_dead_code): Remove fake edges from the
18         CFG after dead code elimination is complete.
19
20 2001-06-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
21
22         * gthr-posix.h [LIBOBJC]: Add weak definitions of
23         sched_get_priority_max, sched_get_priority_min.
24
25 2001-06-28  Gabriel Dos Reis  <gdr@codesourcery.com>
26
27         * diagnostic.c (default_print_error_function): Tweak.
28         (report_error_function): Likewise.
29         * toplev.h (default_print_error_function): Move to...
30         * diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
31         * tree.h (print_error_function): Move to...
32         * diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
33
34 Thu Jun 28 06:16:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
35
36         * expr.c (expand_assignment): When have varying-length object,
37         make MEM a BLKmode.
38         (expand_expr, case ADDR_EXPR): Use SAVE_EXPR_RTL after putting
39         SAVE_EXPR stack in case we had a SUBREG.
40
41 Thu Jun 28 10:31:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
42
43         * i386.md (cmp?i): Simplify; refuse immediate operand
44         in alternative 0
45         * i386.c (cmpsi_operand): Refuse constants.
46
47         * i386.md (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
48
49         * flow.c (block_label, redirect_edge_and_branch): Split out from ....
50         (split_edge) .... here;
51
52 2001-06-28  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
53
54         * i386/i386.c (ix86_valid_type_attribute_p): Give external
55         linkage, move declaration to...
56         * i386/i386-protos.h: ...here.
57
58 2001-06-27  H.J. Lu  (hjl@gnu.org)
59
60         * build-make (CC): Removed.
61         (HOST_CC): Set to $(CC_FOR_BUILD).
62         (HOST_CFLAGS): Replace $(CFLAGS) with $(CFLAGS_FOR_BUILD).
63         Fix a typo in comments.
64
65         * configure.in: Set CFLAGS to $(CFLAGS_FOR_BUILD) when
66         generating auto-build.h for canadian cross compile. Set CC
67         to `"${CC_FOR_BUILD}"' instead of just `${CC_FOR_BUILD}'.
68         Save/restore CFLAGS.
69         * configure: Regenerated.
70
71 2001-06-27  Jim Wilson  <wilson@redhat.com>
72
73         * emit-rtl.c (gen_highpart): Call validize_mem.
74
75 2001-06-27  Bruce Korb  <bkorb@gnu.org>
76
77         * fixinc/inclhack.def(hpux11_cpp_pow_inline): new, but real similar to
78         hpux10_cpp_pow_inline.  Not similar enough.
79         (solaris_mutex_init): renamed.  PTHREAD_*_INITIALIZER is a problem for
80         all Solaris versions.  This fix patches MUTEX and COND initializers,
81         the RWLOCK one will wait for someone to complain.  For now, anyway.
82         (uw7_byteorder_fix): It was looking for the byteorder.h file in the
83         wrong directory.
84
85 2001-06-27  Stan Shebs  <shebs@apple.com>
86
87         * objc/objc-act.c (handle_impent): Rewrite to be more portable
88         and to use ASM_DECLARE_CLASS_REFERENCE.
89         * config/darwin.h (ASM_DECLARE_CLASS_REFERENCE): Rename from
90         undocumented DECLARE_CLASS_REFERENCE, add file argument.
91         * doc/tm.texi (ASM_DECLARE_CLASS_REFERENCE): Document.
92
93 Wed Jun 27 18:01:09 2001  Jeffrey A Law  (law@cygnus.com)
94
95         * simplify-rtx.c (simplify_rtx): Canonicalize commutative expressions
96         by putting complex operands first and constants second.
97
98 2001-06-27  Gabriel Dos Reis  <gdr@codesourcery.com>
99
100         * diagnostic.h: Add documentation. Make macros polymorphic.
101         * diagnostic.c (ideal_line_wrap_cutoff): Remove
102         definition. Replace with diagnostic_line_cutoff.
103         (prefixing_policy): Remove. Replace with diagnostic_prefixing_rule.
104
105 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
106
107         * doc/c-tree.texi, doc/contrib.texi, doc/cpp.texi,
108         doc/cppinternals.texi, doc/extend.texi, doc/gcc.texi,
109         doc/gcov.texi, doc/install-old.texi, doc/install.texi,
110         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Replace
111         . at end of sentences preceded by a capital letter with @..
112
113 2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
114         
115         * doc/invoke.texi: Add description of max-gcse-passes param.
116
117         * gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES.
118         (MAX_PASSES): Remove now unneeded macro.
119
120         * params.h (MAX_GCSE_PASSES): New macro, to get parameter value of
121         max-gcse-passes param.
122
123         * params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling
124         maximum number of GCSE passes to run. Defaults to 1 (which is what
125         MAX_PASSES in gcse.c used to be).
126
127 2001-06-27  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
128
129         * system.h (TARGET_ESC): Move to ...
130         * defaults.h (TARGET_ESC): ... here.
131         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
132         TARGET_VALID_TYPE_ATTRIBUTE): Default to a no-op handler.
133         * tree.c (default_valid_attribute_p): New.
134         (valid_machine_attribute): Handlers can not be NULL.
135         * tree.h (default_valid_attribute_p): New.
136         * doc/tm.texi: Document TARGET_ESC.
137         * cp/decl2.c (import_export_class): Update.
138
139 2001-06-26  Bruce Korb  <bkorb@gnu.org>
140
141         * gcc/fixinc/fixincl.c(initialize): In very strict ANSI, you cannot
142         use preprocessing directives inside a string literal.  Fixed.
143
144 2001-06-26  Jim Wilson  <wilson@redhat.com>
145
146         * doc/tm.texi (MAX_LONG_DOUBLE_TYPE_SIZE, INTEL_EXTENDED_IEEE_FORMAT):
147         Document.
148
149 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
150
151         * doc/cpp.texi, doc/cppinternals.texi, doc/extend.texi,
152         doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
153         doc/tm.texi: Use @: where necessary when a full stop does not end
154         a sentence.
155
156 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
157
158         * doc/gcc.texi, doc/install.texi, doc/invoke.texi: Remove trailing
159         whitespace.
160
161 2001-06-26  Joseph S. Myers  <jsm28@cam.ac.uk>
162
163         * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi,
164         doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi,
165         doc/tm.texi: Use two spaces after ends of sentences.
166
167 2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
168
169         * toplev.c (display_help): Fix param thinko.
170         * Makefile.in: Fix params.h dependencies.
171
172 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
173
174         * toplev.c (decode_f_option): Adjust setting.
175         (toplev_main): Call diagnostic_initialize.  Remove call to
176         reshape_diagnostic_buffer._
177
178         * diagnostic.h (struct output_buffer): Add new field format_decoder.
179         (diagnostic_format_decoder): New macro.
180         (diagnostic_prefixing_rule): Likewise.
181         (diagnostic_line_cutoff): Likewise.
182         (set_message_prefixing_rule): Remove.
183
184         * diagnostic.c (lang_printer): Remove.
185         (diagnostic_message_length_per_line): Likewise.
186         (current_prefixing_rule): Likewise.
187         (initialize_diagnostics): Rename to...
188         (diagnostic_initialize): ...this. Tweak.
189         (default_initialize_buffer): Remove.
190         (reshape_diagnostic_buffer): Likewise.
191         (init_output_buffer): Adjust prefixing rule setting.
192         (output_format): Use format_decoder from the output_buffer.
193
194         * c-lang.c (c_init): Adjust tree formatter setting.
195
196 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
197
198         * config/i386/sol2.h (CPP_SPEC): Pass -P for .S files.
199
200 2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
201
202         * Makefile.in (TARGET_H, TARGET_DEF_H): New.
203         (c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
204         * c-decl.c (duplicate_decls): Use function pointer.
205         * c-typeck.c (common_type): Similarly.
206         * tree.c (valid_machine_attribute): Similarly.
207         (merge_machine_type_attributes): Rename merge_type_attributes.
208         (merge_machine_decl_attributes): Rename merge_decl_attributes.
209         (merge_dllimport_decl_attributes): New function.
210         * tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
211         (merge_machine_decl_attributes): Rename merge_decl_attributes.
212         (merge_dllimport_decl_attributes): New prototype.
213         * target.h: New.
214         * target-def.h: New.
215
216 doc:    (Joseph Myers)
217         * doc/gcc.texi, doc/tm.texi: Update documentation.
218
219 cp:     Make-lang.in: Update dependencies.
220         * spew.c: Include target.h.
221         (duplicate_decls): Call target function.
222         * decl2.c: include target.h
223         (import_export_class): Use existence of target function pointer.
224         * typeck.c: Include target.h.
225         (qualify_type_recursive): Rename variable.  Call target function.
226         (type_after_usual_arithmetic_conversions): Similarly.
227         (common_type): Similarly.
228
229 config: * 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
230         avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
231         d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
232         i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
233         m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
234         mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
235         pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
236         sh/sh.c, sparc/sparc.c, v850/v850.c, vax/vax.c, we32k/we32k.c)
237         : Include target.h and target-def.h.  Define target.
238
239         * arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
240         * arc/arc.c (arc_valid_machine_decl_attribute): Rename
241         arc_valid_decl_attribute, make static.
242         * arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
243         * arm/arm-protos.h (arm_valid_machine_decl_attribute,
244         arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
245         arm_pe_merge_machine_decl_attributes): Remove.
246         * arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
247         arm_valid_decl_attribute_p, make static.
248         (arm_pe_valid_decl_attribute_p): Move from pe.c.
249         * arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
250         (arm_pe_merge_machine_decl_attributes): Move to tree.c.
251         * arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
252         * arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
253         * arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
254         * arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New.
255         (VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove.
256         * avr/avr-protos.h (valid_machine_type_attribute,
257         valid_machine_decl_attribute): Remove.
258         * avr/avr.c (valid_machine_type_attribute,
259         valid_machine_decl_attribute): Rename and make static.
260         * avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE,
261         VALID_MACHINE_DECL_ATTRIBUTE): Remove.
262         * c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
263         * c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
264         * c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
265         * d30v/d30v.h: Remove obsolete comments.
266         * h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
267         * h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
268         static.
269         * h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
270         * i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
271         (i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
272         i386_pe_valid_type_attributes_p): Remove.
273         * i386/i386-protos.h (ix86_valid_decl_attribute_p,
274         ix86_valid_type_attribute_p): Remove.
275         * i386/i386.c (ix86_valid_decl_attribute_p): Remove.
276         (ix86_valid_type_attribute_p): Make static.
277         * i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE,
278         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
279         * i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
280         * ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
281         * ia64/ia64.c (ia64_valid_type_attribute): Make static.
282         * ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
283         * m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
284         * m32r/m32r.c (m32r_valid_decl_attribute): Make static.
285         * m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
286         * m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
287         m68hc11_valid_type_attribute_p): Remove.
288         * m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
289         (m68hc11_valid_type_attribute_p): Make static.
290         * m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
291         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
292         * mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
293         mcore_merge_machine_decl_attribute): Remove.
294         * mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
295         make static.
296         (mcore_merge_machine_decl_attributes): Move to tree.c.
297         * mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE,
298         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
299         (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
300         * ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
301         ns32k_valid_type_attribute_p): Remove.
302         * ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
303         (ns32k_valid_type_attribute_p): Make static.
304         * ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE,
305         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
306         * rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
307         rs6000_valid_type_attribute_p): Remove.
308         * rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
309         (rs6000_valid_type_attribute_p): Make static.
310         * rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE,
311         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
312         * sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
313         * sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
314         * sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
315         * v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
316         * v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
317         * v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
318
319 2001-06-26  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
320
321         * glimits.h (USHRT_MAX): Use unsigned suffix if int can not hold
322         it.
323
324 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
325
326         * diagnostic.h (struct diagnostic_context): Add new field.
327         (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
328         declaratons.
329         (global_dc): Declare.
330         * diagnostic.c (global_diagnostic_context): New variable.
331         (global_output_buffer): Remove.
332         (global_dc): Define.
333         (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
334         definitions.
335         (initialize_diagnostics): Adjust initialization.
336         (set_diagnostic_context): Adjust setting.
337
338 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
339
340         * config/mips/iris5.h (UNALIGNED_INT_ASM_OP,
341         UNALIGNED_SHORT_ASM_OP): Define.
342         * config/mips/iris6.h (UNALIGNED_INT_ASM_OP,
343         UNALIGNED_SHORT_ASM_OP): Undef.
344
345 Tue Jun 26 12:40:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
346
347         * i386.md (float_truncate splitter, and to mov splitters): Add
348         reload_completed; fix operand predicate.
349
350         * haifa-sched.c (sched_init): Do not split insns.
351         * toplev.c (rest_of_compilation): Call split_all_insns before
352         sched1 pass; simplify condition of post-reload splitter;
353         call split_all_insn before sched2 pass.
354
355 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
356
357         * diagnostic.h (diagnostic_prefixing_rule_t): New enum type.
358         (set_message_prefixing_rule): Adjust prototype.
359         * diagnostic.c (current_prefixing_rule): Adjust type.
360
361 2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
362
363         * defaults.h: Default escape sequences to ASCII.
364         * config/i370/i370.h: Adjust for ASCII default.
365         * config/1750a/1750a.h: Remove escape sequence definitions.
366         * config/a29k/a29k.h: Similarly.
367         * config/alpha/alpha.h: Similarly.
368         * config/arc/arc.h: Similarly.
369         * config/arm/arm.h: Similarly.
370         * config/avr/avr.h: Similarly.
371         * config/c4x/c4x.h: Similarly.
372         * config/clipper/clipper.h: Similarly.
373         * config/convex/convex.h: Similarly.
374         * config/d30v/d30v.h: Similarly.
375         * config/dsp16xx/dsp16xx.h: Similarly.
376         * config/elxsi/elxsi.h: Similarly.
377         * config/fr30/fr30.h: Similarly.
378         * config/h8300/h8300.h: Similarly.
379         * config/i386/i386.h: Similarly.
380         * config/i860/i860.h: Similarly.
381         * config/i960/i960.h: Similarly.
382         * config/ia64/ia64.h: Similarly.
383         * config/m32r/m32r.h: Similarly.
384         * config/m68hc11/m68hc11.h: Similarly.
385         * config/m68k/m68k.h: Similarly.
386         * config/m88k/m88k.h: Similarly.
387         * config/mcore/mcore.h: Similarly.
388         * config/mips/mips.h: Similarly.
389         * config/mn10200/mn10200.h: Similarly.
390         * config/mn10300/mn10300.h: Similarly.
391         * config/ns32k/ns32k.h: Similarly.
392         * config/pa/pa.h: Similarly.
393         * config/pdp11/pdp11.h: Similarly.
394         * config/pj/pj.h: Similarly.
395         * config/romp/romp.h: Similarly.
396         * config/rs6000/rs6000.h: Similarly.
397         * config/sh/sh.h: Similarly.
398         * config/sparc/sparc.h: Similarly.
399         * config/v850/v850.h: Similarly.
400         * config/vax/vax.h: Similarly.
401         * config/we32k/we32k.h: Similarly.
402         * doc/tm.texi: Update documentation.
403
404 2001-06-26  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
405
406         * diagnostic.c (digit_buffer): Remove as global.  Move to...
407         * diagnostic.h (struct output_buffer): ... here.
408         * diagnostic.c (output_formatted_integer): Adjust use of digit_buffer.
409
410 2001-06-25  Steve Ellcey  <sje@cup.hp.com>
411
412         * config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file.
413         Define tmake_file to include ia64/t-hpux.
414         * real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of
415         testing to see if it is defined.
416         * real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise.  Default to 0 if
417         undefined.
418         * config/ia64/hpux_longdouble.h: New.
419         * config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect
420         handling of long doubles.
421         (ia64_function_arg, ia64_function_value): Add checks for TFmode
422         and INTEL_EXTENDED_IEEE_FORMAT.
423         * config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
424         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, LIBCALL_VALUE): Add checks for
425         TFmode and INTEL_EXTENDED_IEEE_FORMAT.
426         * config/ia64/ia64.md (all TFmode patterns): Test
427         INTEL_EXTENDED_IEEE_FORMAT in condition.
428         (floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT.
429         * config/ia64/quadlib.c: New.
430         * config/ia64/t-hpux: New.
431         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
432         
433 2001-06-25  Jim Wilson  <wilson@redhat.com>
434
435         * config/i960/t-960bare (i960-c.o): Add missing header dependencies.
436         * config/i960/t-vxworks960: Likewise.
437
438 2001-06-25   Dale Johannesen    <dalej@apple.com>
439
440         * bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual
441         argument to macro).
442
443 Mon Jun 25 11:10:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
444
445         * i386.md (movsi_insv_1, movsi_insv_1_rex64): Fix constraints.
446
447 2001-06-25  Joseph S. Myers  <jsm28@cam.ac.uk>
448
449         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
450         doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
451         doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
452         the use of "GCC" and related terms.
453         * doc/gcc.1, doc/gcov.1: Regenerate.
454
455 2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
456
457         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
458         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
459         uses of @refill.
460
461 Sun Jun 24 21:21:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
462
463         * (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
464
465 2001-06-24  Richard Henderson  <rth@redhat.com>
466
467         * builtins.c (expand_builtin_expect_jump): Disable if the
468         expression can't be re-evaluated.
469
470 2001-06-24  Nick Clifton  <nickc@cambridge.redhat.com>
471
472         * config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
473         handlers examine register r0-r7, for other interrupt handlers
474         examine r0-r12.  If the interrupt handler is not a leaf function
475         save all call clobbered registers.
476         (arm_output_epilogue): If the prologue has pushed the IP register,
477         restore it here.
478         (Arm_expand_prologue): For interrupt functions that need the frame
479         pointer, push the IP register before it is corrupted.
480
481         * config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings
482         about the use of signed and unsigned quantities in a conditional.
483
484 2001-06-23  Richard Henderson  <rth@redhat.com>
485
486         * config/alpha/crtfastmath.c: New file.
487         * config/alpha/t-crtfm: New file.
488         * config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
489         * config/alpha/osf.h (ENDFILE_SPEC): Likewise.
490         * config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
491         * config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
492         do not set extra_parts here.
493
494 2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
495
496         * doc/install-old.texi: Remove more documentation of configure
497         options.
498         * doc/install.texi: Add it here.
499
500 Sat Jun 23 19:40:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
501
502         * i386-protos.h (emit_i387_cw_initialization): Declare.
503         * i386.md (movsi_insv_1): Remove '*'.
504         (fix_trunc?f?i2): Revamp to use control word parameters.
505         (fix_trunc?i_1): Likewise; update splitters.
506         (fix splitter): Remove.
507         * i386.c (MAX_386_STACK_LOCALS): set to 3.
508         (emit_i387_cw_initialization): New function.
509         (output_fix_trunc): Do not initialize control word;
510         kill dead code; simplify.
511
512 2001-06-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
513
514         * cppmacro.c (make_string_token): Avoid warning.
515         (cpp_macro_definition): Prepend the macro name.  Update
516         comments.
517         * cppmain.c (cb_define, dump_macro): Update for changes
518         to cpp_macro_definition.
519
520 Sat Jun 23 10:20:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
521
522         * flow.c (attempt_auto_inc, try_pre_increment_1): Fix typo.
523
524 Sat Jun 23 01:23:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
525
526         * flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
527         try_pre_increment_1): compute REG_FREQ using bb->frequency.
528
529         * regclass.c (loop_cost): Kill.
530         (frequency): New global variable.
531         (record_operand_costs): Replace loop_cost by frequency.
532         (scan_one_insn): Likewise.
533         (regclass): Likewise; set frequency according to bb->frequency.
534
535         * flow.c (split_edge): Set frequency.
536
537 Sat Jun 23 01:16:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
538
539         * predict.c (block_info_def): Add nvisited.
540         (propagate_freq): Count nvisited; re-queue delayed blocks; handle
541         irreducible regions.
542
543         * flow.c (dump_edge_info): Dump the probability of edge.
544         (combine_predictions_for_insn): Dump the basic block.
545
546 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
547
548         * doc/gcc.texi: Update documentation of source files of C
549         compiler.
550
551 2001-06-22  Richard Henderson  <rth@redhat.com>
552
553         * doc/invoke.texi (-funsafe-math-optimizations): Document its
554         possible effects at link time.
555
556 2001-06-22  Diego Novillo  <dnovillo@redhat.com>
557
558         * basic-block.h (dump_edge_info): Declare.
559         (clear_edges): Declare.
560         (mark_critical_edges): Declare.
561         * flow.c (dump_edge_info): Remove static declaration.
562         (clear_edges): Ditto.
563         (mark_critical_edges): Ditto.
564         (free_basic_block_vars): Only clear edges and free basic block
565         array if basic_block_info is not NULL.
566         * ssa.c (compute_dominance_frontiers): Remove static declaration.
567         * ssa.h (compute_dominance_frontiers): Declare.
568
569 2001-06-22  Toshiyasu Morita  (toshiyasu.morita@hsa.hitachi.com)
570
571         * predict.c: (expected_value_to_br_prob): Check for const_true_rtx
572         instead of const1_rtx for true case.
573
574 2001-06-22  David Mosberger  <davidm@hpl.hp.com>
575
576         * config/ia64/crtfastmath.c: New file.
577         * config/ia64/t-ia64 (EXTRA_PARTS): Include it.
578         * config/ia64/linux.h (ENDFILE_SPEC): New.
579
580 2001-06-22  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
581
582         * config/h8300/h8300.c (asm_file_start): Remove reference to
583         "release F-1".
584
585 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
586
587         * c-common.c (verify_tree): Check for x being NULL.
588         * doc/c-tree.texi: Document COMPOUND_BODY of an empty
589         COMPOUND_STMT.
590         Fixes PR c/3259.
591
592 2001-06-22  DJ Delorie  <dj@redhat.com>
593
594         * config/arm/arm.h (struct machine_function): Remove ra_rtx.
595         * config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
596         (arm_return_addr): Use get_hard_reg_initial_val et al.
597         * config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
598         * config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
599         (d30v_return_addr): Use get_hard_reg_initial_val et al.
600         * config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
601         * config/rs6000/rs6000.c (rs6000_override_options): Don't set
602         mark_machine_status.
603         (rs6000_mark_machine_status): Remove.
604         (rs6000_return_addr): Use get_hard_reg_initial_val.
605         (rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
606         * config/v850/v850.h (INIT_EXPANDERS): Delete.
607         * config/v850/v850.c (struct machine_function): Delete.
608         (v850_init_machine_status): Delete.
609         (v850_mark_machine_status): Delete.
610         (v850_free_machine_status): Delete.
611         (v850_return_addr): Use get_hard_reg_initial_val.
612         (v850_init_expanders): Delete.
613
614 Fri Jun 22 19:20:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
615
616         * predict.c (estimate_bb_frequencies): Do not handle conditional
617         jumps jumping to fallthru basic block as conditional jumps.
618
619 Fri Jun 22 19:11:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
620
621         * regs.h (struct reg_info_def): Add freq field.
622         (REG_N_REFS): Update comment.
623         (REG_FREQ): New.
624         * regclass.c (scan_one_insn): Update REG_FREQ.
625         * flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
626         (attempt_auto_inc): Likewise.
627         (mark_used_reg): Likewise.
628         (try_pre_increment_1): Likewise.
629         * local-alloc.c (struct qty): Add freq field.
630         (alloc_qty): Set freq.
631         (update_equiv_regs): Set REG_FREQ.
632         (QTY_CMP_PRI): Use freq.
633         (combine_regs): Update qty->freq.
634         * global.c (struct allocno): Update comment for n_refs;
635         add freq field.
636         (local_reg_freq): New array.
637         (global_alloc): Update freq field;
638         allocate and initialize local_reg_freq.
639         (allocno_compare): Use freq field.
640         (find_reg): Likewise.
641         * reload1.c (count_pseudo): Use freq isntead of n_refs.
642         (count_spilled_pseudo): Likewise.
643
644         * tm.texi (GCOV_TYPE_SIZE): Document.
645         * basic-block.h (gcov_type): Define.
646         (struct edge_def): Use gcov_type for count field.
647         (struct basic_block_def): Likewise.
648         * defaults.h (GCOV_TYPE_SIZE): Define.
649         * final.c (end_final): Use GCOV_TYPE_SIZE.
650         * flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
651         using HOST_WIDEST_INT_PRINT_DEC.
652         * gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
653         __write_gcov_type): New.
654         (store_long): Remove.
655         * gcov.c (gcov_type): Set default.
656         (struct adj_list): Use gcov_type for arc_count.
657         (bb_info): Use gcov_type for succ_count, pred_count and exec_count.
658         (create_program_flow_graph): Read arc_count properly.
659         (solve_program_flow_graph): 'total' is gcov_type.
660         (output_data): Line_counts is gcov_type, print it properly.
661         * libgcc2.c (struct bb): Counts is gcov_type.
662         (__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
663         * profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
664         (GCOV_TYPE_SIZE): Define.
665         (struct bb_info): succ_count and pred_count is gcov_type.
666         (compute_branch_probabilities): Use __read_gcov_type,
667         print read edges to the dump file.
668         (total): Is gcov_type.
669         (gen_edge_profiler): Use GCOV_TYPE_SIZE.
670
671 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
672
673         * optabs.c (emit_libcall_block): When using non-call exceptions,
674         don't mark libcalls never throwing.
675
676 2001-06-21  Stan Shebs  <shebs@apple.com>
677
678         * objc/objc-act.c (hash_init): Use xcalloc.
679
680 2001-06-21  Richard Henderson  <rth@redhat.com>
681
682         * flow.c (entry_exit_blocks): Initialize frequency.
683         (split_block): Copy it.
684         (dump_flow_info): Dump it.
685
686 Thu Jun 21 22:15:10 2001  J"orn Rennecke <amylaar@redhat.com>
687
688         * sh.c (barrier_align): Also recognize branch-around-a-jump-sequence
689         from machine-depedent_reorg for purposes of alignment supression
690         when no delay slot insn has been added.
691
692 2001-06-21  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
693
694         * cppmacro.c (make_string_token): Null terminate.
695
696 2001-06-21  DJ Delorie  <dj@redhat.com>
697
698         * config/alpha/alpha.h (struct machine_function): Remove.
699         * config/alpha/alpha.c (integrate.h): Include.
700         (override_options): Don't set up machine_status hooks.
701         (alpha_init_machine_status): Remove.
702         (alpha_mark_machine_status): Remove.
703         (alpha_free_machine_status): Remove.
704         (alpha_return_addr): Use get_hard_reg_initial_val.
705         (alpha_gp_save_rtx): Likewise.
706         (alpha_ra_ever_killed): Use has_hard_reg_initial_val.
707
708 2001-06-20  Aldy Hernandez  <aldyh@redhat.com>
709
710         * config/sh/sh.md (interrupt_function): Use
711         current_function_interrupt.
712         (define_delay): Schedule in delay slot if TARGET_SH3, even if it is
713         an interrupt function.
714
715         * config/sh/sh.h (current_function_interrupt): Define extern.
716
717         * config/sh/sh.c (current_function_interrupt): New global.
718         (sh_expand_prologue): Set current_function_interrupt.
719
720 2001-06-21  Phil Edwards  <pme@sources.redhat.com>
721
722         * doc/install.texi:  Add 'c' to list of --enable-languages choices.
723
724 2001-06-21  DJ Delorie  <dj@redhat.com>
725
726         * integrate.c (mark_hard_reg_initial_vals): Check for NULL.
727         
728         * integrate.c (ggc.h): Include.
729         (initial_value_pair, initial_value_struct,
730         setup_initial_hard_reg_value_integration): Add prototypes.
731         (expand_inline_function): Call
732         setup_initial_hard_reg_value_integration.
733         (has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
734         get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
735         to keep track of values present at the start of a function.
736         (mark_hard_reg_initial_vals): New, for gc.
737         (setup_initial_hard_reg_value_integration): New.  Sets up pseudo
738         mappings for initial values.
739         (emit_initial_value_sets): New.  Emits code to set initial value
740         pseudos.
741         * integrate.h: Add prototypes for new functions.
742         * function.h (struct function): Add hard_reg_initial_vals field.
743         * function.c (integrate.h): Include.
744         (mark_function_status): Call
745         mark_hard_reg_initial_vals.
746         * toplev.c (integrate.h): Include.
747         (rest_of_compilation): Call emit_initial_value_sets.
748
749 2001-06-21  Stan Shebs  <shebs@apple.com>
750
751         * doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
752         doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
753         doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
754         everywhere instead of "Objective C".
755
756 2001-06-21  Joseph S. Myers  <jsm28@cam.ac.uk>
757
758         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
759         doc/gcc.texi, doc/install-old.texi, doc/install.texi,
760         doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
761         "back end" as nouns and "front-end" and "back-end" as adjectives.
762
763 Wed Jun 20 21:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
764
765         * predict.c (estimate_probability): Fix loop bounds.
766
767 Wed Jun 20 19:10:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
768
769         * toplev.c (rest_of_compilation): Run mark_constant_function
770         before profile-arcs.
771
772 Wed Jun 20 19:08:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
773
774         * predict.c (estimate_loops_at_level, propagate_freq
775         estimate_bb_frequencies, count_to_freqs): New functions.
776         (estimate_probability): Call estimate_bb_frequencies.
777         * basic-block.h (basic_block_def): Add field "freq".
778         (BB_FREQ_MAX): New constant.
779
780 Wed Jun 20 17:02:50 2001  J"orn Rennecke <amylaar@redhat.com>
781
782         * sh.c (barrier_align): Don't ask for alignment when seeing a
783         branch-around-a-jump from machine_dependent_reorg.
784
785 Wed Jun 20 08:35:02 2001  Jeffrey A Law  (law@cygnus.com)
786
787         * ssa.c (rename_block): Update parameter to remove_phi_alternative
788         (convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
789         re-running life analysis. 
790
791 2001-06-20  Stan Shebs  <shebs@apple.com>
792
793         * objc/objc-act.c (hash_init): Assume xmalloc always succeeds,
794         also use memset to clear the hash tables.
795         (hash_enter): Assume xmalloc always succeeds.
796         (hash_add_attr): Ditto.
797         (continue_class): Ditto.
798
799 2001-06-20  Michael Meissner  <meissner@redhat.com>
800
801         * builtins.c (predict.h): Include.
802         (expand_builtin_expect): Update comment.
803         (expand_builtin_expect_jump): New function to expand
804         __builtin_expect inside of a conditional jump expansion.
805
806         * expr.c (do_jump): Special case __builtin_expect (<test>, 0) and
807         __builtin_expect (<test>, 1).
808
809         * Makefile.in (builtins.o): Depend on $(PREDICT_H).
810
811         * rtl.h (expand_builtin_expect_jump): Add prototype.
812
813 2001-06-19  Geoffrey Keating  <geoffk@redhat.com>
814
815         * doc/rtl.texi (Machine Modes): Correct description of
816         floating-point modes on machines with non-8-bit bytes.
817
818 2001-06-19  Bernd Schmidt  <bernds@redhat.com>
819
820         * regmove.c (optimize_reg_copy_3): Do nothing if previous insn
821         carries a REG_EQUIV note.  If it carries REG_EQUAL, delete the
822         note.
823
824 Tue Jun 19 07:53:52 2001  Jeffrey A Law  (law@cygnus.com)
825
826         * ssa.c (remove_phi_alternative): Remove declaration.  No longer
827         static.  Second argument is a pointer to a basic block structure,
828         not a basic block index.
829         (convert_to_ssa): Do not remove dead code.
830         (convert_from_ssa): Do not remove dead code to create death notes.
831         * ssa.h (remove_phi_alternative): Declare.
832
833         * flow.c (delete_unreachable_blocks): Fix patch error in
834         previous change (call to find_unreachable_blocks was lost).
835
836         * ssa.c (ssa_uses): Remove definition.
837         (apply_delayed_renames): Don't grow ssa_uses.
838         (rename_block): Remove comment related to ssa_uses.
839         (rename_registers): Do not initialize ssa_uses.
840         (convert_from_ssa): Do not free ssa_uses.
841
842         * ssa-dce.c: Renamed from dce.c.
843         * Makefile.in (OBJS): Replace dce.o with ssa-dce.o
844         (dependencies): Replace dce.c with ssa-dce.c and dce.o with
845         ssa-dce.o.
846
847 2001-06-19  Eric Christopher <echristo@redhat.com>
848
849         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode
850         and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD.  Use
851         GET_MODE_BITSIZE instead of GET_MODE_SIZE/UNITS_PER_WORD.
852
853 Tue Jun 19 01:52:27 2001  J"orn Rennecke <amylaar@redhat.com>
854
855         * sh.c (output_branch): Delete bogus code.
856
857         * sh.c (initial_elimination_offset):
858         Fix FROM == RETURN_ADDRESS_POINTER_REGNUM case.
859
860 Mon Jun 18 12:50:49 2001  Jeffrey A Law  (law@cygnus.com)
861
862         * flow.c (find_unreachable_blocks): New function.
863         (delete_unreachable_blocks): Use find_unreachable_blocks.
864         * basic-block.h (find_unreachable_blocks): Declare.
865
866         * dce.c (eliminate_dead_code): Fix formatting glitch.
867
868 2001-06-18  Jason Merrill  <jason_merrill@redhat.com>
869
870         * c-common.h (RETURN_NULLIFIED_P): New macro.
871         * c-semantics.c (genrtl_return_stmt): Check it.
872
873         * expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset.
874         (emit_block_move): Likewise.
875
876 Mon Jun 18 17:27:24 CEST 2001  Jan Hubicka  <jh@suse.cz>
877
878         * unroll.c: Include predict.h.
879         (unroll_loop): Drop prediction notes on preconditioning.
880         * predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION):
881         New; add comments on the others.
882         * Makefile.in: (unroll.o): Add dependancy on predict.h.
883         * loop.c (strength_reduce): Fix branch prediction.
884
885 Mon Jun 18 17:26:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
886
887         * stmt.c (emit_case_nodes): Optimize test whether index is in given
888         interval.
889
890 Mon Jun 18 15:43:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
891
892         * predict.c (estimate_probability): Do not bail out early
893         when note is present.
894         (combine_predictions_for_insn): Fix note removal code.
895
896 2001-06-18  Ben Elliston  <bje@redhat.com>
897
898         * except.c (resolve_fixup_regions): Initialise "cleanup".
899
900 2001-06-17  Neil Booth  <neil@daikokuya.demon.co.uk>
901
902         * tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
903
904 Sat Jun 16 20:20:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
905
906         * expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR,
907         use put_var_into_stack.
908
909 2001-06-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
910
911         * gccspec.c (lang_specific_driver): If compiling ObjC, add
912         -shared-libgcc when necessary.
913         * Makefile.in (gccspec.o): Compile with DRIVER_DEFINES.
914
915 2001-06-16  Daniel Berlin  <dan@cgsoftware.com>
916
917         * bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs,
918         bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit,
919         bitmap_last_set_bit. All for compatibility with sbitmap's.
920
921         *bitmap.c (bitmap_zero): New function.
922         (bitmap_union_of_diffs): New function.
923         (bitmap_first_set_bit): New function.
924         (bitmap_last_set_bit): New function.
925
926 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
927
928         * cpp.texi, invoke.texi: Update.
929         * cpp.1, gcc.1: Regenerate.
930
931 Sat Jun 16 12:45:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
932
933         * i386.md (minsf): Fix splitter. (PR fortran/3191)
934
935 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
936
937         * doc/cpp.texi: Update.
938         * doc/cpp.1: Regenerate.
939
940 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
941
942         * doc/install.texi: Use correct markup hints.
943
944 Fri Jun 15 18:05:22 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
945
946         * function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR.
947
948         * explow.c (expr_size): If DECL and size specified, use it.
949
950 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
951
952         * doc/cpp.texi: Formatting corrections.
953         Correct buggy example of use of __GNUC__ etc.
954         Clarify $ in identifiers.
955         * doc/cpp.1: Regenerate.
956
957 Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka  <jh@suse.cz>
958
959         * optabs.c (expand_twoval_binop): Avoid undefined behaviour.
960
961 2001-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
962
963         * doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
964         etc. spelling.
965         (Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
966         Added Tru64 UNIX V5.1 bootstrap hints.
967         (Specific, alpha*-*-osf*): Removed old section, obsolete.
968
969 2001-06-15  Andreas Jaeger  <aj@suse.de>
970
971         * doc/install.texi (Specific): Mention that glibc cannot be
972         compiled with GCC 3.0.
973
974 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
975
976         * combine.c (nonzero_bits): Don't optimize away division by
977         zero.
978
979 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
980
981         * doc/cpp.texi: Revised and brought up to date.
982         * doc/cpp.1: Regenerate.
983
984 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
985
986         * doc/install.texi: Update --enable-threads to match reality.
987
988 2001-06-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
989
990         * doc/install.texi: Update for C4x.
991         * README.C4X: Remove.
992
993 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
994
995         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
996         doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
997         doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
998         Consistently use "built-in" and "bit-field".  Minor logical markup
999         improvements.
1000         * doc/gcc.1: Regenerate.
1001
1002 2001-06-14  Richard Henderson  <rth@redhat.com>
1003
1004         * config/mips/mips.md (exception_receiver): New.
1005
1006 2001-06-14  Daniel J. Berlin <dan@cgsoftware.com>
1007
1008         * doc/gcc.texi:  Update passes documentation to be more in tune
1009         with reality.
1010
1011 Thu Jun 14 15:38:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
1012
1013         * i386.c (ix86_expand_prologue): Fix merging conflict.
1014
1015 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1016
1017         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
1018         doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
1019         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
1020         logical markup.  Use TeX quotes and dashes.  Use @dots{} and
1021         @minus{}.  Avoid spaces inside @var.  Update last modification
1022         date in gcc.texi.
1023         * doc/gcc.1, doc/gcov.1: Regenerate.
1024
1025 Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
1026
1027         * i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
1028         x86_epilogue_using_move): New global variables.
1029         (override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
1030         (ix86_emit_save_regs_using_mov): New static function.
1031         (ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
1032         * i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE,
1033         MASK_MIX_SSE_I387): Renumber.
1034         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): New.
1035         (x86_accumulate_outgoing_args, x86_prologue_using_move,
1036         x86_epilogue_using_move): Declare.
1037         (TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New.
1038
1039 2001-06-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1040
1041         * inclhack.def (hpux10_cpp_pow_inline): New hack.
1042
1043 2001-06-13  Richard Henderson  <rth@redhat.com>
1044
1045         * ifcvt.c (dead_or_predicable): Fix return value last patch.
1046
1047 2001-06-13  Mark Mitchell  <mark@codesourcery.com>
1048
1049         * NEWS: Remove.
1050
1051 2001-06-13  Richard Henderson  <rth@redhat.com>
1052
1053         * ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
1054         (cond_exec_process_if_block, dead_or_predicable): Likewise.
1055
1056 2001-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1057
1058         * mips-tfile.c (copy_object): Always pass indexNil for symbol
1059         table index.
1060
1061 2001-06-13  Kazu Hirata  <kazu@hxi.com>
1062
1063         * config/h8300/h8300.h (OK_FOR_T): Remove.
1064         (EXTRA_CONSTRAINT): Do not use OK_FOR_T.
1065         * config/h8300/h8300.md: Remove alternatives involving inc and dec
1066         in the helper patterns for addhi3 and addsi3.
1067
1068 2001-06-13  Phil Edwards  <pme@sources.redhat.com>
1069
1070         * doc/contrib.texi:  Link to libstdc++'s thanks.html for now.
1071
1072 2001-06-13  Zack Weinberg  <zackw@stanford.edu>
1073
1074         * Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
1075         * libgcc-std.ver: Take out __bb* and __gcc_bcmp.
1076
1077         * config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
1078         config/alpha/t-osf4, config/mips/t-iris6: Extract all
1079         references to @shlib_map_file@, @shlib_objs@, or
1080         @shlib_base_name@ to Makefile variables.
1081         Bump soname version of libgcc to 1.
1082
1083 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1084
1085         * doc/install.texi: Use more logical markup.  Include @node
1086         commands in the source when generating any non-HTML.
1087
1088 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1089
1090         * README: Remove.  Some of the contents moved to ../README.
1091
1092 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
1093
1094         * doc/install.texi (--enable-shared): List package names
1095         recognized by GCC.
1096
1097 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
1098
1099         * doc/install.texi (ix86-*-solaris*): Removed, outdated.
1100         (*-*-solaris*): Document problem in /bin/sh that affects
1101         configuring libraries.
1102         (sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
1103         (*-sun-solaris2.8): Document linker problem that explains why
1104         libjava is disabled by default.
1105
1106 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
1107
1108         Revert this patch:
1109         * toplev.c (rest_of_compilation): Remove dead code before
1110         purge_addressof.
1111
1112 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
1113
1114         Reverted:
1115         2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
1116         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
1117         * configure: Rebuilt.
1118
1119 2001-06-12  Jim Wilson  <wilson@redhat.com>
1120
1121         * loop.c (strength_reduce): Move bl->all_reduced set before
1122         check_ext_dependant_givs call.
1123         (check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
1124
1125 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
1126
1127         * doc/extend.texi (Function Attributes): Document SH's sp_switch
1128         and trap_exit.
1129
1130 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1131
1132         * doc/invoke.texi: Use more logical markup.  Use TeX quotes,
1133         dashes and @dots{}.
1134
1135 2001-06-12  Richard Henderson  <rth@redhat.com>
1136
1137         * config/i386/i386.c (ix86_expand_prologue): Always use
1138         gen_pro_epilogue_adjust_stack; update arguments.
1139         (ix86_expand_epilogue): Likewise.
1140         (ix86_emit_epilogue_esp_adjustment): Remove.
1141         (ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
1142         * config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
1143         clobber of scratch memory instead of a modification of EBP as the
1144         barrier.  Update all peepholes to match.
1145
1146 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1147
1148         * doc/gcc.texi: Change the font used for @def... commands to a
1149         fixed width font.
1150         * doc/extend.texi: Use more logical markup.  Use "built-in"
1151         instead of "builtin".  Use @deftypefn to mark up built-in
1152         functions; specify their types in the @deftypefn and not in the
1153         descriptive text.  Use TeX quotes and dashes.  Add more index
1154         entries.
1155
1156 2001-06-12  lars brinkhoff  <lars@nocrew.org>
1157
1158         * gcc.texi (HOST_BITS_PER_LONGLONG): Document.
1159         (DIR_SEPARATOR_2): Likewise.
1160
1161 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1162
1163         * doc/install.texi (--exec-prefix, --bindir, --libdir,
1164         --with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
1165         Document.
1166         (--enable-cpp): Change to document --disable-cpp instead; update
1167         to reflect current default.
1168         (--without-fast-fixincludes): Remove documentation.
1169         (Final install): Document installation directories in more
1170         detail.  Document use of make dvi.
1171
1172 Tue Jun 12 19:01:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
1173
1174         * recog.c (validate_replace_rtx_1): Fix previous patch.
1175
1176 Tue Jun 12 17:25:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
1177
1178         * recog.c (validate_replace_rtx_1): Do plus_constant call always.
1179
1180 Tue Jun 12 17:24:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
1181
1182         * simplify-rtx.c (simplify_subreg): Allow volatile memory
1183         to be subregged in case we don't have move instruction.
1184
1185 Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
1186
1187         * loop.c: Include predict.h
1188         (strength_reduce): Drop branch prediction note in case
1189         number of iterations is known.
1190         * predict.def (PRED_LOOP_ITERATIONS): new.
1191         * Makefile.in (loop.o): Add dependancy on predict.h
1192
1193 2001-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1194
1195         * c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
1196
1197         * c-typeck.c (c_start_case): Likewise.
1198
1199 2001-06-12  Mark Mitchell  <mark@codesourcery.com>
1200
1201         * expr.c (store_field): Don't set MEM_ALIAS_SET for a field
1202         in a structure at a variable address.
1203
1204 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1205
1206         * doc/gcov.texi: Use more logical markup.
1207
1208 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
1209
1210         * unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
1211         REG_NOTE_KIND, not PUT_MODE and GET_MODE.
1212         (final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
1213         valid.
1214
1215 2001-06-11  Stan Shebs  <shebs@apple.com>
1216
1217         * config/darwin.h (ASM_FILE_END): Remove decl of language_string.
1218
1219 2001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1220
1221         * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber
1222         as an early clobber to make sure it is not used by reload in
1223         one of the operands.
1224
1225 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
1226
1227         * doc/c-tree.texi: Update information about flag_honor_std.
1228         * doc/install.texi: Note that binutils is required on HPUX 11.
1229         * doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
1230         now the default.
1231
1232         * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
1233         variable-sized types.
1234
1235 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1236
1237         * doc/md.texi: Use TeX dashes and quotes.
1238
1239 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1240
1241         * doc/rtl.texi: Reference manual chapter about trees.
1242
1243 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1244
1245         * config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
1246         (WINT_TYPE): Override.
1247         (WINT_TYPE_SIZE): Likewise.
1248         (SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
1249
1250         * config/sparc/sol2.h (WINT_TYPE): Define.
1251         (WINT_TYPE_SIZE): Likewise.
1252
1253         * config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
1254         (WINT_TYPE): Override.
1255         (WINT_TYPE_SIZE): Likewise.
1256         (CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
1257         (CPP_ARCH64_SPEC): Likewise.
1258
1259 2001-06-11  Richard Henderson  <rth@redhat.com>
1260
1261         * unwind-dw2-fde.c (__deregister_frame_info): Don't play games
1262         with alias attribute.
1263
1264         * config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
1265         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
1266
1267 2001-06-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1268
1269         * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
1270
1271 2001-06-11  Stan Shebs  <shebs@apple.com>
1272
1273         * config/darwin.c (darwin_encode_section_info):  Rewrite to simplify
1274         and fix coding mistakes.
1275
1276 2001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
1277
1278         * config/m32r/m32r.md (movstrsi_internal): Do not expect a
1279         return string from m32r_output_block_move.
1280         * config/m32r/m32r-protos.h: Make m32r_output_block_move a
1281         void function.
1282         * config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
1283         integer overflow.
1284         (ROUND_ADVANCE): Remove signed/unsigned conflict.
1285         * config/m32r/m32r.c: Declare prototypes for static functions.
1286         (move_src_operand): Replace INT32_P with UINT32_P.
1287         (function_arg_partial_nregs): Fixed signed/unsigned conflict
1288         in initialisation of 'size'.
1289         (m32r_sched_reord): Remove redundant declarations of 'code'.
1290         (m32r_output_block_move): Change to a void function.
1291         (m32r_encode_section_info): Cast return of
1292         TREE_STRING_POINTER to avoid compile time warning.
1293
1294 2001-06-11  Richard Henderson  <rth@redhat.com>
1295
1296         * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
1297         * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
1298         (struct machine_function): Add gp_save_rtx.
1299         * config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
1300         (alpha_gp_save_rtx): New.
1301         * config/alpha/alpha-protos.h: Declare it.
1302         * config/alpha/alpha.md (exception_receiver): Make an expander.
1303         Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
1304
1305 2001-06-11  Richard Henderson  <rth@redhat.com>
1306
1307         * config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
1308
1309 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1310
1311         * configure.in: Align --help messages.
1312         Remove trailing full stops.
1313         Consistently use lower case.
1314         Fix DWARF 2 spelling.
1315         * configure: Rebuilt.
1316
1317 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1318
1319         * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
1320         variants for .cpp/.cp/.c++ files.
1321         Move definition of __LANGUAGE_C_PLUS_PLUS ...
1322         (CPLUSPLUS_CPP_SPEC): ... here.
1323
1324 Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
1325
1326         * jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
1327
1328 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1329
1330         * c-decl.c (store_parm_decls): When comparing types in an
1331         old-style function declaration with those from a previous
1332         prototype, compare the unqualified versions of parameter types.
1333         Fixes PR c/3116.
1334
1335 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1336
1337         * doc/objc.texi: Use more logical markup.  Use TeX dashes.
1338
1339 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1340
1341         * doc/c-tree.texi: Use more logical markup.
1342
1343 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1344
1345         * c-decl.c (xref_tag): Don't return previous tags of wrong type.
1346
1347 2001-06-11  Aldy Hernandez  <aldyh@redhat.com>
1348
1349         * loop.c (scan_loop): Do not combine asm statements.
1350
1351 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1352
1353         * simplify-rtx.c (simplify_subreg): Fix offset calculation
1354         for complex values within a CONCAT.
1355
1356 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1357
1358         * doc/install.texi: Update details of what components are included
1359         in the GCC distribution.  Update default directory for g++
1360         includes.  Update documentation relating to old libio.  Adjust
1361         documentation on DejaGnu environment variables.  Remove
1362         documentation of --enable-cpplib.
1363
1364 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1365
1366         * doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
1367         markup.
1368
1369 2001-06-10  Richard Henderson  <rth@redhat.com>
1370
1371         * ifcvt.c (life_data_ok): New.
1372         (merge_if_block): Use it to determine whether to update
1373         global_live_at_end.
1374         (if_convert): Set it.
1375
1376 2001-06-10  Richard Henderson  <rth@redhat.com>
1377
1378         * config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
1379
1380 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
1381
1382         * doc/invoke.texi (MN10300 Options): Document -mno-crt0.
1383         (SH Options): Document -mieee.
1384         * doc/install.texi (Final install): Remove obsolete information
1385         about installing cross compilers.
1386         * doc/gcc.1: Rebuilt.
1387
1388 2001-06-10  Richard Henderson  <rth@redhat.com>
1389
1390         * config/alpha/alpha.c (override_options): Set align_loops,
1391         align_jumps, and align_functions.
1392         * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
1393         (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.
1394
1395 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1396
1397         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
1398         are one and two words in size.
1399
1400 2001-06-10  Richard Henderson  <rth@redhat.com>
1401
1402         * doc/invoke.texi (Optimization Options): Document -fpeephole2.
1403         (Code Generation Options): Document -fnon-call-exceptions.
1404
1405 2001-06-10  Mark Kettenis  <kettenis@gnu.org>
1406
1407         * config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
1408
1409 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1410
1411         * m68hc11.md (peepholes): Remove unused and wrong peepholes.
1412
1413 2001-06-10  Mark Mitchell <mark@codesourcery.com>
1414             Gabriel Dos Reis  <gdr@codesourcery.com>
1415
1416         * Makefile.in (c-parse.o): Depend on diagnostic.h
1417         (dwarf2out.o): Likewise.
1418
1419         * dwarf2out.c: #include diagnostic.h
1420
1421         * toplev.h (warningcount, errorcount, sorrycount): Remove
1422         declarations.
1423
1424         * toplev.c (warningcount, errorcount, sorrycount): Remove
1425         definitions.
1426
1427         * diagnostic.h (struct output_buffer): Reorder fields.
1428         (diagnostic_kind_count): New macro.
1429         (errorcount, warningcount, sorrycount): Define as macros.
1430         (diagnostic_report_warnings_p): New macro.
1431         (output_state): Add diagnostic_count field.
1432
1433         * diagnostic.c (warningcount, errorcount, inhibit_warnings):
1434         Remove tentative declaration.
1435         (count_error): Use diagnostic_report_warnings_p.
1436
1437         * c-parse.in: #include diagnostic.h
1438
1439 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1440
1441         * config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
1442         prefer a memory for operand 1.
1443         ("*addsi3"): Fix constraints, the '!' was too strong.
1444         ("*addsi3_split"): Accept soft register and split accordingly.
1445
1446 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1447
1448         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
1449         Move definition in the RTX_CODE section.
1450
1451 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1452
1453         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return
1454         address as relative to the argument pointer.
1455
1456 Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1457
1458         * predict.def (PRED_OPCODE): Place before call and error_return.
1459
1460 Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
1461
1462         * predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
1463         * predict.c (estimate_probability): Calculate dominance
1464         information; improve detection of NORETURN heuristics;
1465         add call/error_return heuiristics; tweak comparison heuristics
1466         to recognize -1.
1467
1468 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
1469
1470         * doc/invoke.texi (C Dialect Options): Document -aux-info.
1471         (Debugging Options): Document -print-multi-directory and
1472         -print-multi-lib.
1473         * doc/gcc.1: Rebuilt.
1474
1475         * toplev.c (independent_decode_option): Require `=' between
1476         `-aux-info' and filename in the same argument.
1477         * gcc.c: Don't pass -aux-info=filename twice.
1478
1479 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
1480
1481         * expr.c (expand_expr, case ARRAY_REF): Do not replace
1482         an array element with the known initializing value if it has
1483         side-effects.
1484
1485         * toplev.c (rest_of_compilation): Remove dead code before
1486         purge_addressof.
1487
1488 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1489
1490         * cppinit.c (print_help): Document -fpreprocessed.
1491         * invoke.texi: Similarly.
1492
1493 Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
1494
1495         * predict.def: New file.
1496         * predict.h: New file.
1497         * predict.c: Include predict.h.
1498         (predictor_info): New structure and array.
1499         (predict_edge, predict_insn): Rewrite; make global.
1500         (predict_edge_def, predict_insn_def): New global functions.
1501         (dump_prediction, combine_predictions_for_insns): New
1502         static functions.
1503         (estimate_probability): Change calls to predict_edge
1504         to predict_edge_def and calls to predict_insn to predict_insn_def;
1505         combine probabilities.
1506         (expected_value_to_br_prob): Behave as predictor.
1507         * rtl.h (REG_BR_PRED): Update coment.
1508         (invert_br_probabilities): New.
1509         * jump.c: Include predict.h
1510         (duplicate_loop_exit_test): Drop branch prediction notes.
1511         (invert_jump): Use invert_br_probabilities.
1512         * Makefile.in: Add dependancy on predict.h for jump and predict pass.
1513         * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
1514         * combine.c (distribute_notes): Handle BR_PRED.
1515
1516 Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1517
1518         * predict.c (predict_insn, predict_edge): New static functions.
1519         (estimate_probability): Revamp to use new functions;
1520         fix loop header heruistics; add loop exist heruistics
1521
1522 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
1523
1524         * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
1525
1526 2001-06-09  Peter Jakubek <pjak@snafu.de>
1527
1528         * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
1529
1530 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1531
1532         * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
1533         for integer operations that don't update C bit.
1534
1535 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
1536
1537         * gthr-posix.h (__gthread_objc_init_thread_system): If
1538         pthread_key_create fails, it's not clear what the return value is.
1539         This obvious fix makes sure it always returns -1 if a problem
1540         occurs.
1541
1542 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1543
1544         * doc/gcc.texi: Use @defcodeindex for the index of options.  Add
1545         more index entries.  Use more logical markup where appropriate.
1546         Use TeX quotes and dashes.
1547
1548 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
1549
1550         * unwind-pe.h: Conditionally qualify references to abort with
1551         std::.
1552
1553 2001-06-09  Julian Foad <julian_foad@hotmail.com>
1554
1555         * doc/invoke.texi: Remove superfluous text.
1556
1557 2001-06-08  Richard Henderson  <rth@redhat.com>
1558
1559         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
1560         (LIB_SPEC): Mirror config/linux.h version.
1561
1562 2001-06-08  Richard Henderson  <rth@redhat.com>
1563
1564         * except.c (get_exception_pointer, get_exception_filter): Take a
1565         struct function.  Update all callers.
1566         * except.h (get_exception_pointer): Update declaration.
1567         * expr.c (expand_expr): Update get_exception_pointer call.
1568         * integrate.c (expand_inline_function): Remap the exception pointer
1569         from callee to caller.
1570
1571 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
1572
1573         * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
1574         accurately reflect its cv-qualification.
1575         * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
1576         cv-qualifiers on function types.
1577
1578 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
1579
1580         * basic-block.h: Improve comments.
1581         * except.c (expand_eh_region_end_allowed): Remove redundant call
1582         to do_pending_stack_adjust.
1583         * flow.c (life_analysis): Fix typo in comment.
1584         (calculate_global_regs_live): Add documentation.
1585         (mark_set_1): Likewise.
1586         (debug_regset): Likewise.
1587         * doc/rtl.texi (cond_exec): Document it.
1588
1589 Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
1590
1591         * i386.h (CONST_COSTS): set cost of constants representable in
1592         immediate fields to 0.
1593
1594 Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
1595
1596         * function.c (diddle_return_value): Kill code to determine
1597         return value before expand_function_end.
1598         (expand_function_end): Delay call to clobber_return_register
1599         after fucntion return value is computed.
1600
1601         Re-install temporary reverted patch:
1602         * toplev.c (rest_of_compilation): Call split_all_insns
1603         before reg-stack and shorten-branches. Do shorten-branches
1604         after reg-stack.
1605         * final.c (shorten_branches): Remove insn splitting code.
1606
1607 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1608
1609         * doc/gcc.texi, doc/invoke.texi: Add index of command line
1610         options.  Use @opindex to index them rather than other indexing
1611         commands.  Use @var{...} instead of <...>.  Avoid spaces in names
1612         inside @var.  Don't use @kindex to index escape sequences in
1613         source code.
1614
1615 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
1616
1617         * stmt.c (current_nesting_level): New fn.
1618         * tree.h: Declare it.
1619         * c-semantics.c (genrtl_compound_stmt): Use it.
1620
1621         * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
1622
1623 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
1624
1625         * jump.c (mark_modified_reg): Allow jump threading if condition
1626         codes are represented by a hard register.
1627
1628 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
1629
1630         * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
1631         for complex floats passed to unprototyped functions.
1632
1633 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
1634
1635         * except.c (expand_eh_region_end_allowed): Call
1636         do_pending_stack_adjust as necessary.
1637
1638 Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
1639
1640         * function.c (clobber_return_register): Clobber the pseudo return
1641         register too.
1642
1643         * sibcall.c (skip_unreturned_value): New function.
1644         (call_ends_block_p): Use it.
1645
1646         * recog.c (split_insn): Break out from ...
1647         (split_all_insns): ... here; do not use basic block information
1648         when it is broken.
1649
1650 Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1651
1652         * simplify-rtx.c (simplify_subreg):  Fix verification of
1653         combined subreg.
1654
1655 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1656
1657         * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
1658         Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
1659         Move definition of _LANGUAGE_C_PLUS_PLUS ...
1660         (CPLUSPLUS_CPP_SPEC): ... here.
1661         Fixes PRs c++/3047, target/441.
1662
1663 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1664
1665         * doc/install.texi2html (MAKEINFO): Keep value if set already.
1666
1667 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1668
1669         * doc/gcc.texi: Add trailing slash to URL.
1670
1671 2001-06-07  Stan Shebs  <shebs@apple.com>
1672
1673         * config/darwin.h (ENCODE_SECTION_INFO): Define.
1674         (REDO_SECTION_INFO_P): Ditto.
1675         (STRIP_NAME_ENCODING): Ditto.
1676         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
1677         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
1678         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
1679         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
1680         * config/darwin.c: No longer include c-tree.h.
1681         (machopic_classify_ident): Rewrite to use symbol encoding.
1682         (lookup_name_darwin): Remove.
1683         (machopic_non_lazy_ptr_name): Handle encoded symbols.
1684         (machopic_stub_name): Use STRIP_NAME_ENCODING.
1685         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
1686         (machopic_finish): Ditto, remove test of decl.
1687         (update_non_lazy_ptrs): New function.
1688         (darwin_encode_section_info): New function.
1689         * config/darwin-protos.h: Declare it.
1690         * config/rs6000/rs6000.c (machopic_output_stub): Use
1691         STRIP_NAME_ENCODING.
1692
1693 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
1694
1695         * tree.h (DECL_SOURCE_FILE): Improve documentation.
1696         (DECL_SOURCE_LINE): Likewise.
1697
1698 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
1699
1700         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
1701         from config/elfos.h.
1702
1703 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
1704
1705         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
1706         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
1707
1708 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1709
1710         * doc/contrib.texi: Add copyright notice.
1711
1712 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1713
1714         * doc/md.texi: Use four digit years in copyright notice.
1715
1716 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1717
1718         * config.gcc: For $target_alias of athlon-*, set
1719         target_cpu_default2=5.
1720
1721 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1722
1723         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
1724         end of last block if last real insn is a JUMP_INSN.
1725
1726 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1727
1728         * NEWS: Regenerate.
1729
1730 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1731
1732         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
1733         pthread_t to objc_thread_t.
1734         (__gthread_objc_thread_id): Likewise.
1735
1736 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1737
1738         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
1739         (ASM_OLDAS_SPEC): Likewise.
1740
1741         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
1742         (CPP_SUBTARGET_SPEC): Use it.
1743         (ASM_OLDAS_SPEC): Define.
1744         (ASM_SPEC): Use it.
1745         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
1746
1747 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1748
1749         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
1750         passed by reference.
1751
1752 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1753
1754         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
1755         Document use of N_(...), and show it in examples.  Note that
1756         documentation should be added to invoke.texi.  Avoid an overfull
1757         hbox.
1758
1759 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
1760
1761         * toplev.c (rest_of_compilation): Revert previous patch.
1762         * final.c (shorten_branches): Likewise.
1763
1764 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1765
1766         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
1767         Remove.
1768
1769 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1770
1771         * doc/install-old.texi: Remove more obsolete documentation.
1772
1773 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
1774
1775         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
1776
1777 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
1778
1779         * toplev.c (rest_of_compilation): Call split_all_insns
1780         before reg-stack and shorten-branches. Do shorten-branches
1781         after reg-stack.
1782         * final.c (shorten_branches): Remove insn splitting code.
1783
1784 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
1785
1786         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
1787         * configure: Rebuilt.
1788
1789 2001-06-07  Andreas Jaeger  <aj@suse.de>
1790
1791         * emit-rtl.c (operand_subword): Remove unused variable.
1792
1793 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
1794
1795         * i386.md (floatdi?f): Avoid usinf of SSE instructions
1796         if TARGET_64BIT is false.
1797         (floatdi?f_i386_only): New insn.
1798         (floatdi?f_i386): Disable for !TARGET_64BIT.
1799
1800         * (min?f, max?f splitters): Handle case where
1801         operands are cross-matched.
1802
1803         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
1804         (MMX_REGISTER_NAMES): Kill.
1805         (PRINT_OPERAND): Fix comment.
1806         (PRINT_REG): Likewise.
1807         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
1808         (print_operand): Update comment; kill 'm'.
1809
1810         * i386.c (x86_branch_hints): New global variable
1811         (print_operand): Support outputting of branch prediction hints.
1812         * i386.md (conditional jump patterns): Add branch prediction hints
1813         to the template.
1814         * i386.h (x86_branch_hints): Declare
1815         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
1816         (PRINT_OPERAND_FUNCT_VALID_P): New.
1817         * final.c (final_forward_branch_p): New function.
1818
1819 2001-06-06  Richard Henderson  <rth@redhat.com>
1820
1821         * flow.c (mark_used_reg): Clean up looping over multiple hard
1822         registers.  Do conditional life bits across multiple hard regs.
1823
1824 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
1825
1826         * reload1.c (reload): Revert Schmidt's change so all USEs are not
1827         deleted during reload.
1828
1829 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
1830
1831         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
1832         functions here, instead of ...
1833         * c-decl.c (c_expand_body): ... here.
1834
1835 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
1836
1837         * config.gcc, config/sparc/bsd.h:  Do not directly include
1838         sparc/sparc.h.  Instead do it via tm_file.
1839
1840 2001-06-05  Richard Henderson  <rth@redhat.com>
1841
1842         * dwarf2.h (DW_EH_PE_aligned): New.
1843         * dwarf2asm.c (eh_data_format_name): Name it.
1844         (dw2_asm_output_encoded_addr_rtx): Align for it.
1845         * dwarf2out.c (output_call_frame_info): Handle it for personality
1846         routine and LSDA pointers.
1847
1848         * unwind-pe.h (DW_EH_PE_aligned): New.
1849         (base_of_encoded_value): Handle it.
1850         (read_encoded_value_with_base): Likewise.
1851         * unwind-dw2-fde.c (base_from_object): Likewise.
1852         (get_cie_encoding): Likewise.
1853
1854         * config/alpha/elf.h: Remove ecoff commentary.
1855         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1856
1857 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
1858
1859         * config.gcc, config/i386/bsd386.h:  Do not directly include
1860         i386/386bsd.h.  Instead do it via tm_file.
1861
1862 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
1863
1864         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
1865         way svr4.h does.
1866
1867 2001-06-05  Pascal Obry  <obry@act-europe.fr>
1868
1869         * configure.in: Quote $enable_win32_registry in case the value has
1870         spaces in it.
1871         * configure: Ditto.
1872
1873 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
1874
1875         * print-rtl.c (xspaces): Remove.
1876         (print_rtx): Use printf field-width, rather than xpsaces, to
1877         indent.
1878         * toplev.c (main): Disable sibling-call optimization if we are
1879         handling exceptions.
1880
1881 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
1882
1883         * reload1.c (reload): Delete all USEs generated during reload.
1884
1885 2001-06-05  scott snyder  <snyder@fnal.gov>
1886
1887         * gccbug.in:  Fix typo.
1888
1889 2001-06-05  Andreas Jaeger  <aj@suse.de>
1890
1891         * builtins.def: Fix definition of __builtin_cosf, it uses float as
1892         parameter and return value.
1893
1894 2001-06-04  Anthony Green  <green@redhat.com>
1895
1896         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
1897         machine.  This is now done in sparc.h.
1898
1899 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
1900
1901         Correct CVS resurrection of invoke.texi.
1902         * doc/invoke.texi: Document new tree dump flags.
1903
1904 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
1905
1906         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
1907         for casting an aggregate to its own type.  Fixes PR c/2735.
1908
1909 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
1910
1911         * doc/texinfo.tex: Update to version 2001-05-24.08.
1912
1913 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
1914
1915         * c-common.h (flag_dump_translation_unit): Remove.
1916         (enum tree_dump_index): Define.
1917         (TDF_ADDRESS, TDF_SLIM): New #defines.
1918         (dump_node_to_file): Remove.
1919         (dump_node): Make extern. Add flags.
1920         (dump_flag, dump_enabled_p, dump_begin, dump_end,
1921         dump_switch_p): Prototype.
1922         * c-common.c (flag_dump_translation_unit): Remove.
1923         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
1924         logic. Use dump_switch_p.
1925         * c-dump.h (struct dump_info): Add node and user fields.
1926         (dump_pointer): Declare.
1927         * c-dump.c (dump_node): Make extern. Add flags.
1928         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
1929         (dump_new_line, dump_maybe_newline): Use them.
1930         (dump_pointer): New function.
1931         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
1932         chain or function's body. Dump address, if TDF_ADDRESS set.
1933         (dump_flag): Define.
1934         (dump_node_to_file): Remove.
1935         (struct dump_file_info): New struct.
1936         (dump_files): New array.
1937         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
1938         * c-lang.c (finish_file): Adjust dumping.
1939         * toplev.h (dump_base_name): Make extern.
1940         * invoke.texi: Document new flags.
1941
1942 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
1943
1944         * c-tree.h (lang_decl): Add pending_sizes fields.
1945         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
1946         functions.
1947         (c_expand_body): Expand them.
1948         (lang_mark_tree): Mark lang_decl:pending_sizes.
1949         * function.c (expand_pending_sizes): New function, broken out
1950         from ...
1951         (expand_function_start): ... here.
1952         * tree.h (expand_pending_sizes): Declare it.
1953
1954 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
1955
1956         * doc/install.texi: Update FreeBSD information.  Generalize
1957         and update information for alpha-based platforms using ELF.
1958
1959 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1960
1961         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
1962         (store_parm_decls): Likewise.
1963         * c-typeck.c (convert_arguments): Likewise.
1964
1965 2001-06-04  Richard Henderson  <rth@redhat.com>
1966
1967         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
1968         optimization if current_function_calls_setjmp.
1969
1970 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1971
1972         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
1973         wide strings.
1974
1975 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1976
1977         * simplify-rtx.c (simplify_subreg): Fix combining of
1978         paradoxical subregs.
1979
1980 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1981
1982         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
1983         (no_labels_between_p): Short circuit case beg==end.
1984
1985 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
1986
1987         * rtlanal.c (operand_preference): Fix preference for objects.
1988
1989 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
1990
1991         * gcse.c (handle_avail_expr): Be prepared to handle single_set
1992         parallels.
1993
1994 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1995
1996         * combine.c (if_then_else_cond): Use simplify_subreg instead
1997         of operand_subword.
1998         * integreate.c (sub_constants): Likewise.
1999
2000 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
2001
2002         * emit-rtl.c (constant_subword): Deprecate; remove most of code
2003         and use simplify_gen_subreg.
2004
2005 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
2006
2007         * sibcall.c (skip_copy_to_return_value): recognize the situation
2008         when the called function's return value is copied into an
2009         intermediate pseudo, and then into the calling functions return
2010         value register.
2011
2012 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
2013
2014         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
2015         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
2016         in case register wasn't OK previously, accept it now; allow
2017         subregs of frame pointer if reload completed and frame pointer
2018         is not needed.
2019
2020         * combine.c (sombine_simplify_rtx): Fix comment;
2021         use subreg_lowpart_offset instead of subreg_lowpart_p
2022         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
2023         * rtl.h (subreg_lowpart_parts_p): Kill.
2024         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
2025         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
2026         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
2027         (gen_lowpart_common): Likewise.
2028         (subreg_lowpart_p): Likewise.
2029         (subreg_lowpart_parts_p): Kill.
2030         (subreg_lowpart_offset, subreg_highpart_offset): New function.
2031
2032         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
2033         to simplify SUBREG and REG.
2034         (gen_highpart): Use simplify_gen_subreg for all simplifications.
2035
2036         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
2037         CONCAT specially.
2038
2039         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
2040
2041 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2042
2043         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
2044         (ARRAY_RANGE_REF): Added description.
2045
2046         * tree.def (ARRAY_RANGE_REF): New code.
2047         * alias.c (handled_component_p, can_address_p): Handle it.
2048         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
2049         * explow.c (set_mem_attributes): Likewise.
2050         * expr.c (expand_assignment, get_inner_reference): Likewise.
2051         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
2052         * fold-const.c (operand_equal_p): Likewise.
2053         * tree.c (staticp, stabilize_reference): Likewise.
2054         * varasm.c (decode_addr_const): Likewise.
2055
2056 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2057
2058         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
2059         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
2060
2061 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
2062
2063         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
2064         mark_constant_pool_use before output_addr_const.
2065         (struct pool_node): New field wend.
2066         (add_constant): Note a sequence of constants that are referenced
2067         by a given label.
2068         (pool_window_label, pool_window_last): New variables.
2069         (dump_table): Emit a unspec_volatile representing the end of a
2070         sequence of constants.
2071         (mark_constant_pool_use): New function.
2072         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
2073         (consttable_2): Add the second operand which flags whether
2074         this consttable entry was used or not.
2075         (consttable_4, consttable_8, consttable_sf, consttable_df):
2076         Likewise.
2077         (consttable_window_end): New insn.
2078
2079 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
2080
2081         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
2082         Reformat according to coding standards.
2083
2084         Warning removal.
2085         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
2086         (shl_and_kind): Cast wide constant.
2087         (gen_far_branch): Define as static, as in declaration.
2088         (barrier_align): Compute cache-line length as unsigned.  Add
2089         parentheses in initial credit computation.
2090         (rounded_frame_size): Add parentheses.
2091         (permanent_obstack): Remove declaration.  Include ggc.h for
2092         declaration of ggc_add_root_rtx().
2093         (get_free_reg): Removed declaration of unused variable reg.
2094         (legitimize_pic_address): Mark mode argument as unused.
2095
2096 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
2097
2098         * config/sh/sh.c (output_branch): Support for insn with lenght
2099         attr 12 & 16 which represents cond branches outside +-4096 range.
2100
2101 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
2102
2103         * config/sh/lib1funcs.asm (ic_invalidate): Align the
2104         cache-mirroring sequence.  Add nops.
2105
2106 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2107
2108         * doc/install-old.texi: Remove more old installation
2109         documentation.
2110         * doc/install.texi: Add relevant parts here.
2111
2112 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2113
2114         * doc/install.texi2html: New script.
2115
2116 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
2117
2118         * doc/install.texi: Update AIX information again.
2119
2120 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2121
2122         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
2123         installation documentation.
2124         * doc/install.texi: Move it to here.
2125
2126 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2127
2128         * doc/install.texi: Clean up Texinfo markup.
2129
2130 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2131
2132         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
2133         to just after title page.
2134
2135 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2136
2137         * doc/install-old.texi: Remove documentation of some configuration
2138         options.
2139         * doc/install.texi: Add relevant parts of this documentation here.
2140
2141 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2142
2143         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
2144         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
2145
2146 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
2147
2148         * i386.md (all uses of ext_register_operand): Make sure they are
2149         VOIDmode; replace all uses outside zero_extend.
2150         (and?i splitters): Use ext_register_operands.
2151         (test?i peep2): Remove ignored constraints.
2152         * i386.c (ext_register_operand): Check that operand is
2153         eighter pseudo or hard or 'Q' register.
2154
2155 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2156
2157         * tree.h (struct record_layout_info_s): New field unpadded_align.
2158         (set_lang_adjust_rli): New declaration.
2159         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
2160         it would have if not packed, do not downgrade DECL_ALIGN.
2161         (lang_adjust_rli, set_lang_adjust_rli): New.
2162         (start_record_layout): Initialize new field unpadded_align.
2163         (debug_rli): Display it.
2164         (place_union_field, place_field): Set it.
2165         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
2166
2167         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
2168         mean that; use proper names instead.
2169         Print DECL_NO_STATIC_CHAIN.
2170
2171         * except.c (expand_builtin_frob_return_addr): Add missing call
2172         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
2173         (expand_builtin_eh_return): Likewise.
2174         (expand_eh_return): Clean up ptr_mode != Pmode cases.
2175
2176 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
2177
2178         * doc/invoke.texi: Remove references to papers about sequence points
2179         to readings.html, refer to that page.
2180
2181 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2182
2183         * README: Update references to installation instructions.
2184
2185 2001-06-01  Laurent Guerby  <guerby@acm.org>
2186             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2187
2188         * doc/install.texi: Define srcdir when sources come from CVS.
2189         Significantly improve markup.  Wrap overly long lines
2190
2191 2001-06-01  DJ Delorie  <dj@redhat.com>
2192
2193         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
2194         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
2195         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
2196         gcov.1: Move to doc subdirectory.
2197         * install.texi: Move to doc/install-old.texi.
2198         * gcc.texi: Move to doc, refer to install-old.texi.
2199         * Makefile.in: Reflect move of docs to doc/.
2200         * f/Make-lang.in: Ditto.
2201         * java/Make-lang.in: Ditto.
2202         * doc/.cvsignore: New.
2203
2204 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
2205
2206         * invoke.texi: use two spaces between command options, eliminate
2207         some 'overfull hboxes'
2208
2209 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
2210
2211         * Makefile.in (s-mlib): Make backtick-commands always succeed.
2212         (DRIVER_DEFINES): Ditto.
2213
2214 2001-05-31  Richard Henderson  <rth@redhat.com>
2215
2216         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
2217         also link against libgcc.a.
2218
2219 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
2220
2221         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
2222         * config/mips/mips.c (mips_output_ascii): New function.
2223         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
2224
2225         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
2226
2227 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
2228
2229         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
2230         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
2231
2232 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
2233
2234         * install.texi (Configuration): Add html links for --with-gnu-as &
2235         --with-gnu-ld and refer to them from hppa & SCO triplets.
2236         (Specific): Link back to with-gnu-ld for all ELF platfoms.
2237         (Specific): Reword AVR binutils recommendation.
2238
2239 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
2240
2241         * ggc-page.c (size_lookup): Increase minimum allocation size
2242         to eight bytes.
2243         (ggc_print_statistics): Report size of each bin in bytes, not
2244         as its order; there is no longer a direct relationship.
2245
2246 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
2247
2248         * extend.texi: Fix formating of examples, eliminate some
2249         'overfull hboxes'.
2250         * gcc.texi: Eliminate some 'overfull hboxes'.
2251         * invoke.texi: Use two spaces between command options, eliminate
2252         some 'overfull hboxes'.
2253
2254 2001-05-30  Richard Henderson  <rth@redhat.com>
2255
2256         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
2257
2258 2001-05-30  Tom Tromey  <tromey@redhat.com>
2259
2260         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
2261         use it in the new association.
2262
2263 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
2264             John David Anglin  <dave@hiauly1.hia.nrc.ca>
2265
2266         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
2267         to target type to allow ISO C++ compiler to accept it.
2268         * gthr-dce.h (__gthread_active_ptr): Likewise.
2269         * gthr-solaris.h (__gthread_active_ptr): Likewise.
2270
2271 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2272
2273         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
2274         so that we do accept comments in preprocessed input.
2275
2276 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2277
2278         * cpphash.c (alloc_node): Cast allocated pointer.
2279
2280 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
2281
2282         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
2283
2284 2001-05-29  Stan Shebs  <shebs@apple.com>
2285
2286         * gcc.texi: Add links for information about Objective-C.
2287
2288 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
2289
2290         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
2291         /bin/sed fails on [^\"]).
2292         (configargs.h): Likewise.
2293
2294 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
2295
2296         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
2297
2298 2001-05-28  Stan Shebs  <shebs@apple.com>
2299
2300         * objc/objc.gperf: Remove, no longer used.
2301
2302 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2303
2304         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
2305         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
2306         Remove trailing whitespace.
2307
2308 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2309
2310         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
2311         became http://freeware.sgi.com/.
2312
2313 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
2314
2315         * local-alloc.c (update_equiv_regs): Don't eliminate constant
2316         expressions at -O0.
2317
2318 2001-05-27  Stan Shebs  <shebs@apple.com>
2319
2320         * objc/objc-act.c: Add/fix various comments.
2321         (init_selector): Remove, no longer used.
2322         (build_msg_pool_reference): Ditto.
2323         (objc_debug): Ditto.
2324
2325 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2326
2327         * c-decl.c (init_decl_processing):
2328          Don't call start_identifier_warnings.
2329         * flags.h (warn_id_clash, id_clash_len): Remove.
2330         * stringpool.c: Don't include flags.h.
2331         (scan_for_clashes, do_identifier_warnings,
2332         start_identifier_warnings): Remove.
2333         * toplev.c (warn_id_clash, id_clash_len): Remove.
2334         (display_help): Don't document -Wid-clash.
2335         (decode_W_option): Print warning on -Wid-clash.
2336         * tree.h (start_identifier_warnings): Remove.
2337         * invoke.texi: Remove documentation of -Wid-clash.
2338
2339 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2340
2341         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
2342
2343 2001-05-27  Bruce Korb  <bkorb@gnu.org>
2344
2345         * fixinc/check.tpl(HACK) add and use a Scheme variable
2346         (has no test text): error out if no "test_text" is defined
2347         * fixinc/fixincl.tpl: likewise
2348         (FIXIDX): make it an enumeration so we minimize diffs
2349         * fixinc/inclhack.def: re-alphabetize and add sort instructions
2350         * fixinc/fixincl.x: regenerate
2351         * fixinc/tests/base/stdio.h: test output got moved due to
2352         the alphabetizing
2353         * README-fixinc: rewrite (mostly)
2354
2355 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2356
2357         * cpplib.c (run_directive): Set pfile->directive.
2358
2359 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
2360
2361         * c-tree.texi: Reformat the manual as a single chapter now
2362         included by gcc.texi.
2363         * gcc.texi: Include c-tree.texi. Merge all indexes.
2364         * Makefile.in (dvi): Add generation for the cppinternals
2365         documentation. Added dependencies on fdl.texi and c-tree.texi
2366         where appropriate.  Use TEXI2DVI instead of custom tex calls.
2367         (info): Added dependencies on fdl.texi and c-tree.texi where
2368         appropriate.  Remove the target c-tree.info.
2369
2370 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
2371
2372         * combine.c (try_combine): Fix typo in comment.
2373         * expr.c (expand_expr): Likewise.
2374         * config/i370/i370.md (untyped_call): Likewise.
2375
2376 2001-05-26  Bruce Korb  <bkorb@gnu.org>
2377
2378         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
2379         when fixincl is operating in test mode
2380         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
2381         (AAB_ultrix_limits): remove redundant text
2382         (AAB_ultrix_memory): ditto
2383         (AAB_ultrix_string): ditto
2384         (djgpp_wchar_h): fix the test text
2385         (irix_stdio_va_list): add test text
2386         (irix_limits_const): add a testing output file (limits.h is overwritten)
2387         (strict_ansi_not_ctd): put limits.h second in list for same reason
2388         (solaris27_mutex_init): test text needed selection text, too
2389
2390         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
2391         when fixincl is operating in test mode
2392
2393 2001-05-26  Philip Blundell  <philb@gnu.org>
2394
2395         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
2396         * config/i960/i960-protos.h: Likewise.
2397         * config/i370/i370-protos.h: Likewise.
2398         * config/h8300/h8300-protos.h: Likewise,
2399         * config/sh/sh-protos.h: Likewise.
2400         * config/v850/v850-protos.h: Likewise.
2401
2402 2001-05-26  Philip Blundell  <philb@gnu.org>
2403
2404         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
2405
2406 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
2407
2408         * toplev.c (debug_args, f_options, W_options): Mark
2409         descriptions for translation.
2410         (display_help): Translate descriptions on output.
2411
2412         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
2413         objc/lang-options.h: Mark descriptions for translation.
2414
2415         * aclocal.m4: Quote final argument of patsubst.  Use
2416         3-argument form of AC_DEFINE.  Restore quotes to [] while
2417         using AC_FD_CC.
2418         * configure.in: Remove unnecessary changequote calls.
2419         * configure, config.in: Regenerate.
2420
2421 2001-05-25  Sam TH  <sam@uchicago.edu>
2422
2423         * basic-block.h: Fix header include guards.
2424         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
2425         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
2426         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
2427         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
2428         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
2429         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
2430         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
2431         varray.h version.h: Likewise.
2432         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
2433         config/arm/arm.h config/c4x/c4x-protos.h
2434         config/h8300/h8300-protos.h config/h8300/h8300.h
2435         config/i370/i370-protos.h config/i370/i370.h
2436         config/i960/i960-protos.h config/mcore/mcore.h
2437         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
2438         config/v850/v850-protos.h config/v850/v850.h: Likewise.
2439         * fixinc/fixlib.h fixinc/server.h: Likewise.
2440
2441 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
2442
2443         * config/arc/initfini.c (.init): Fix typo.
2444
2445 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
2446
2447         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
2448
2449 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2450
2451         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
2452
2453 2001-05-25  Richard Henderson  <rth@redhat.com>
2454
2455         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
2456
2457 2001-05-25  Richard Henderson  <rth@redhat.com>
2458
2459         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
2460         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
2461         (sparc*-*-solaris2): Likewise.
2462         * config/t-linux: Remove shared libgcc macros.
2463         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
2464         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
2465
2466 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
2467
2468         * config.gcc (*-*-freebsd*): Report bad configuration.
2469
2470 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
2471
2472         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
2473
2474         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
2475         any prefix.
2476         (ASM_OUTPUT_LABELREF): Delete.
2477
2478 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2479
2480         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
2481         strict_ansi_only): Don't run if stdc_0_in_system_headers.
2482         * fixinc/fixincl.x: Regenerate.
2483         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
2484         (FIX_TEST_TABLE): Declare it.
2485         * fixinc/fixlib.h: Include config.h.
2486
2487 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2488
2489         * fixinc/inclhack.def (alpha___assert): Change char * args to
2490         const char * on Tru64 UNIX to avoid excessive warnings from
2491         assert.h.
2492         * fixinc/fixincl.x: Regenerate.
2493
2494 2001-05-25  Geoff Keating  <geoffk@redhat.com>
2495
2496         * dbxout.c (dbxout_symbol): Invert previous patch, which was
2497         outputting a tag only for variable-size records.
2498
2499 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
2500
2501         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
2502         instead of rtx_equal_p for early clobber test.
2503
2504 2001-05-26  Mark Mitchell <mark@codesourcery.com>
2505
2506         * builtins.def: Encode additional information, such as names and
2507         types, here.
2508         * builtin-types.def: New file.
2509         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
2510         (built_in_decls): Likewise.  Don't explicitly initialize global
2511         data to NULL.
2512         (expand_builtin_mathfn): Handle float and long double variants of
2513         math builtins.
2514         (expand_builtin): Likewise.
2515         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
2516         (expand_tree_builtin): Handle long, long long, float, and long
2517         double variants of math functions.
2518         * c-common.h (c_tree_index): Remove some unused nodes.
2519         (void_ftype): Remove.
2520         (void_type_ptr): Likewise.
2521         (int_ftype_int): Likewise.
2522         (ptr_ftype_sizetype): Likewise.
2523         * c-decl.c (init_decl_processing): Remove creation of DWARF
2524         builtins.
2525         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
2526         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
2527         * Makefile.in (c-common.o): Depend on builtin-types.def.
2528
2529 2001-05-25  Dale Johannesen  <dalej@apple.com>
2530
2531         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
2532
2533 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2534
2535         * c-parse.in (notype_initdcl): Remove redundant line.
2536
2537 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2538
2539         * aclocal.m4: Fixed typo.
2540         (gcc_AC_HEADER_STDBOOL): Define.
2541         (gcc_AC_C__BOOL): Define.
2542         * configure.in: Use them.
2543         (AC_CHECK_HEADERS): Remove stdbool.h
2544         * configure, config.in: Regenerate.
2545
2546 2001-05-25  Richard Henderson  <rth@redhat.com>
2547
2548         * function.c (expand_function_start): Don't abort on PARALLEL
2549         returns from hard_function_value.
2550
2551 2001-05-25  Richard Henderson  <rth@redhat.com>
2552
2553         * config/i386/i386.md: Revert previous change.  Do not apply
2554         the peephole if the components do not die after the sequence.
2555
2556 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2557
2558         * c-parse.in (array_declarator): New.  Handle C99 constructs.
2559         Don't restrict [*] declarators to C only.
2560         (after_type_declarator, parm_declarator_starttypename,
2561         parm_declarator_nostarttypename, notype_declarator,
2562         direct_absdcl1): Use it.
2563         * c-decl.c (build_array_declarator, set_array_declarator_type):
2564         New functions.  Warn that [*] isn't properly implemented; pedwarn
2565         for [*] outside C99 mode if pedantic rather than giving a hard
2566         error.
2567         (grokdeclarator): Handle static and type qualifiers in parameter
2568         array declarators.
2569         * c-tree.h (build_array_declarator, set_array_declarator_type):
2570         Declare.
2571         * extend.texi (Attribute Syntax): Document attributes in parameter
2572         array declarators.
2573
2574 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
2575
2576         * config/i386/i386.md: Make sure cmpstr peepholes do not
2577         affect liveness information.
2578
2579 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
2580
2581         * c-typeck.c (digest_init): Issue error messages about
2582         invalid constants, not warnings.
2583
2584 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
2585
2586         * invoke.texi (-fno-builtin): Document that this is always on
2587         in C++.
2588
2589 2001-05-24  Philip Blundell  <philb@gnu.org>
2590
2591         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
2592         required.
2593
2594 2001-05-24  Philip Blundell  <philb@gnu.org>
2595
2596         * config/arm/arm.c (output_return_instruction): Correctly handle
2597         interworking and interrupt functions.
2598
2599 2001-05-24  Philip Blundell  <philb@gnu.org>
2600
2601         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
2602         -m{no-}sched-prolog.  Fix typos and improve formatting.
2603
2604 2001-05-24  Philip Blundell  <philb@gnu.org>
2605
2606         * invoke.texi (ARM Options): Improve wording slightly.  Add
2607         documentation for more options, including those for Thumb mode.
2608         Don't mention options that don't exist or are unimplemented.
2609         (Thumb Options): Delete; merged into above section.
2610
2611 2001-05-24  Geoff Keating  <geoffk@redhat.com>
2612
2613         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
2614         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
2615
2616 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
2617
2618         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
2619         fix hard register simplification.
2620
2621 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2622
2623         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
2624         of just copying CPP_CPU_SPEC.
2625
2626 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2627
2628         * i386.c (incdec_operand): Accept only 1 and -1.
2629
2630 2001-05-23  Kelley Cook  <kelley.cook@home.com>
2631
2632         * Makefile.in: Move many of the *_H definitions eariler in the
2633         file, so that rules in t-* files that use them for
2634         dependencies will work in a parallel build.
2635         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
2636
2637 2001-05-23  Richard Henderson <rth@redhat.com>
2638
2639         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
2640
2641 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2642
2643         * cpp.texi: Update for handling of charconsts.
2644         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
2645         diagnostics.  Skip to the end if the UCS is too short.
2646         (cpp_interpret_charconst): Long charconsts issue a warning
2647         not an error.
2648
2649 2001-05-23  Richard Henderson  <rth@redhat.com>
2650
2651         * doc/install.texi (alpha-linux): Require binutils 2.11.
2652
2653 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2654
2655         * c-lex.c (read_escape, read_ucs): Delete.
2656         (lex_string): Use cpp_parse_escape.
2657         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
2658         if not C++ or not C99.  Warn if traditional.
2659         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
2660         unsigned.  Warn for out-of-range escape sequences here.
2661         Update to use maybe_read_ucs.
2662         (cpp_interpret_charconst):  Don't warn here.
2663         * cpplib.h (cpp_parse_escape): New exported function.
2664
2665 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2666
2667         * extend.texi (Attribute Syntax): Clarify application of
2668         attributes to parameters declared as functions or arrays.
2669
2670 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
2671
2672         * dbxout.c (dbxout_type_methods): Do still group methods by name.
2673
2674 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
2675
2676         * diagnostic.c (vnotice): Kill.
2677         (fnotice): Call vfprintf directly.
2678         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
2679         verbatim, set_diagnostic_context): Rename string argument to
2680         indicate that it is run through gettext.
2681         (vbuild_message_string, build_message_string, output_do_printf):
2682         Rename string argument to indicate that it is NOT run through
2683         gettext.
2684         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
2685         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
2686         Run msgid argument through gettext.
2687         (default_print_error_function): Run constant strings through
2688         gettext when nothing else will.
2689         (fatal_error, internal_error, error_recursion): Use fnotice.
2690         Present complete sentences to gettext.
2691
2692 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
2693
2694         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
2695
2696 2001-05-23  Richard Henderson  <rth@redhat.com>
2697
2698         * function.c (expand_function_start): Always use a pseudo
2699         for the function result value.
2700
2701 2001-05-22  Richard Henderson  <rth@redhat.com>
2702
2703         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
2704         section pointer alignment.
2705
2706         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
2707
2708         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
2709         of __USER_LABEL_PREFIX__.
2710
2711 2001-05-22  Richard Henderson  <rth@redhat.com>
2712
2713         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
2714         (__deregister_frame_info_bases): New.
2715         * unwind-dw2-fde.h: Declare it.
2716         * libgcc-std.ver: Export it.
2717         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
2718         called __register_frame_info_bases.
2719
2720 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2721
2722         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
2723         instead of #elif (which is OK for this case but not in general).
2724
2725 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
2726
2727         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
2728         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
2729         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
2730         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
2731         "r2" to the assembly file. Only issue allocs with non-zero parameters.
2732
2733 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2734             David O'Brien  <obrien@freebsd.org>
2735
2736         * config/freebsd.h (LIB_SPEC): Key the exact setting to
2737         configure-time options and target version of FreeBSD.  Set-up
2738         to match architectural change in threading support.  Correctly
2739         report when -pthread option is not supported by configure-time
2740         options.
2741         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
2742         and extend to encode target version number in run-time setting
2743         of __FreeBSD__ macro to match the system compiler.
2744         (CPP_PREDEFINES): Likewise.
2745         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
2746
2747         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
2748         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
2749
2750 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2751             David O'Brien  <obrien@freebsd.org>
2752
2753         * config.gcc (the unlabeled system switch statement): Add
2754         generic configuration section to handle *-*-freebsd*.  Also,
2755         to match the system compiler, default to threading support (it
2756         may be disabled with the standard --disable-threads
2757         configuration-time switch).
2758         (i[34567]86-*-freebsd* in machine-specific section): Use it.
2759         (alpha*-*-freebsd* in machine-specific section): Likewise.
2760
2761         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
2762         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
2763         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
2764         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
2765         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
2766
2767 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2768             David O'Brien  <obrien@freebsd.org>
2769
2770         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
2771         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
2772         -pthread instead setting macro.
2773
2774 2001-05-22  Richard Henderson  <rth@redhat.com>
2775
2776         * crtstuff.c (__register_frame_info_bases): Declare.
2777         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
2778         (__do_global_dtors_aux, __do_global_dtors): Streamline.
2779
2780         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2781         (CRT_GET_RFIB_DATA): New.
2782         * config/i386/sysv4.h: Likewise.
2783         * config/i386/sco5.h: Likewise.
2784         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2785
2786 2001-05-22  Richard Henderson  <rth@redhat.com>
2787
2788         * rtl.c (read_string): Break out from ...
2789         (read_rtx): ... here.
2790
2791 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2792
2793         * doc/install.texi (Specific): Remove a bogus and duplicate part
2794         copied from the end of the document.
2795
2796 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
2797
2798         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
2799
2800 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2801
2802         * install.texi: Remove obsolete information on SunOS as well as
2803         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
2804         (Installing GNU CC on the Sun): Remove section.
2805
2806 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
2807
2808         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
2809         keep errno unchanged on success.
2810
2811 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
2812
2813         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
2814         once for hexadecimal floats, whether or not they contain a decimal
2815         point.  Don't let the setting of pedantic otherwise affect the
2816         parsing of hexadecimal floats.
2817
2818 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2819
2820         * README.ACORN: Remove obsolete file.
2821
2822 2001-05-22  Jan Hubicka  <jh@suse.cz>
2823
2824         * combine.c (gen_binary): Use swap_commutative_operands_p
2825         (simplify_comparison): Likewise.
2826         * expmed.c (emit_store_flag): Likewise.
2827         * expr.c (compare_from_rtx): Likewise.
2828         (do_compare_rtx_and_jump): Likewise.
2829         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
2830         if not emitting a branch and operands want swapping.
2831
2832 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
2833
2834         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
2835         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
2836         (maybe_get_identifier): Update.
2837         * tree.h (make_identifier): Delete.
2838
2839 2001-05-21  Richard Henderson  <rth@redhat.com>
2840
2841         * combine.c (subst): Do not substitute for a register as
2842         a destination subreg/strict_low_part/zero_extract.
2843
2844         * combine.c (simplify_comparison): Update op1 after constant
2845         extension.
2846         * recog.c (const_int_operand): Accept only constants valid
2847         for the given mode.
2848         * genrecog.c: Update comments wrt const_int_operand.
2849
2850         * emit-rtl.c (init_emit_once): Zero unused memory in a
2851         CONST_DOUBLE.
2852
2853 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
2854
2855         * tree.h (type_num_arguments): Declare it.
2856         * tree.c (type_num_arguments): New function.
2857
2858 2001-05-21  Richard Henderson  <rth@redhat.com>
2859
2860         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
2861         conditional ifdef.
2862
2863 2001-05-21  Geoff Keating  <geoffk@redhat.com>
2864
2865         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
2866         (maxsf3+1): Delete.
2867         (minsf3): Use rs6000_emit_minmax.
2868         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
2869         rs6000_emit_minmax.
2870         (movsfcc): Use rs6000_emit_cmove.
2871         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
2872         Don't generate emit_fselsfsf4.
2873         (fseldfsf4): Likewise.
2874         (maxdf3): Use rs6000_emit_minmax.
2875         (maxdf3+1): Delete.
2876         (mindf3): Use rs6000_emit_minmax.
2877         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
2878         rs6000_emit_minmax.
2879         (movdfcc): Use rs6000_emit_cmove.
2880         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
2881         Don't generate emit_fselsfsf4.
2882         (fselsfdf4): Likewise.
2883         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
2884         (min_max_operator): New predicate.
2885         (rs6000_emit_cmove): New function.
2886         (rs6000_emit_minmax): New function.
2887         * config/rs6000/rs6000-protos.h: Prototype new functions.
2888         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
2889         and min_max_operator.
2890
2891         * config/rs6000/rs6000.c (output_cbranch): Handle all
2892         conditional types in the switch statement.
2893
2894 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
2895
2896         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
2897         non-register variables.
2898         * extend.texi: Document that asm-specifications do not make sense
2899         for non-static local variables.
2900
2901 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
2902
2903         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
2904         (dbxout_type_fields): Lose minimal_debug support.
2905         (dbxout_type_methods, dbxout_type): Likewise.
2906
2907 2001-05-17  Andrew Haley  <aph@redhat.com>
2908
2909         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
2910
2911 2001-05-21  Richard Henderson  <rth@redhat.com>
2912
2913         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
2914         Update all users.
2915
2916 2001-05-20  Richard Henderson  <rth@redhat.com>
2917
2918         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
2919         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
2920         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
2921         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
2922         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
2923         Likewise.
2924         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
2925         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
2926         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
2927         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
2928         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
2929         DEBUG_PUBNAMES_SECTION): Rename as above.
2930         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
2931
2932 2001-05-20  Richard Henderson  <rth@redhat.com>
2933
2934         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
2935         operands unless the operation is commutative.
2936
2937 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2938
2939         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
2940         cases.
2941
2942 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
2943
2944         * extend.texi: Clarify documentation of extensions included in ISO
2945         C99.  Prefer C99 terminology and syntax to old GNU terminology and
2946         syntax.  Add more index entries.  Document mixed declarations and
2947         code as an extension in C89 mode.  Warn about future changes to
2948         semantics of inline functions.  Fixes PR other/930.
2949
2950 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2951
2952         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
2953         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
2954         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
2955         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
2956
2957         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
2958
2959 2001-05-20  Richard Henderson  <rth@redhat.com>
2960
2961         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
2962         to be output before a branch.
2963
2964 2001-05-20  Richard Henderson  <rth@redhat.com>
2965
2966         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
2967
2968 2001-05-20  Richard Henderson  <rth@redhat.com>
2969
2970         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
2971         (ASM_DOUBLE): Remove.
2972         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
2973         * config/i386/sun386.h: Likewise.
2974
2975         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
2976         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
2977
2978         * config/i386/cygwin.h (INT_ASM_OP): Remove.
2979         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
2980         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
2981         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
2982
2983         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
2984         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
2985         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
2986         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
2987         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
2988         * config/i386/win32.h: Likewise.
2989
2990 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2991
2992         * invoke.texi: Add more options to summary list.
2993
2994 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2995
2996         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
2997         used.  Fixes PR c/2291.
2998         * gcc.1: Regenerate.
2999
3000 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3001
3002         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
3003         the -fpic and -fPIC options, clear flag_pic.
3004
3005 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3006
3007         * hashtable.c (calc_hash): Fix HASHSTEP definition.
3008         * stringpool.c (make_identifier): No statistics here anymore.
3009         * objc-act.c (steup_string_decl): Remove redundant check.
3010
3011 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3012
3013         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
3014         cpplib.o, cpphash.o, fix-header): Update.
3015         (hashtable.o): New target.
3016         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
3017         struct c_common_identifier here.
3018         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
3019         * c-lex.c (c_lex): Update.
3020         * c-pragma.h: Update.
3021         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
3022         Delete rid_code.
3023         (C_RID_CODE): Delete.
3024         * cpphash.c: Rewrite to use hashtable.c.
3025         * cpphash.h: Update include guards.
3026         (struct cpp_reader): Remove hashtab.
3027         hash_ob and buffer_ob are no longer pointers.  Add hash_table
3028         and our_hashtable.
3029         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
3030         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
3031         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
3032         * cppinit.c (cpp_create_reader): Update.
3033         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
3034         (cpp_interpret_charconst): Eliminate warning.
3035         * cpplib.c (do_pragma, do_endif, push_conditional,
3036         cpp_push_buffer, cpp_pop_buffer): Update.
3037         (_cpp_init_stacks): Rename cpp_init_directives.
3038         (_cpp_cleanup_stacks): Remove.
3039         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
3040         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
3041          cpp_forall_identifiers, cpp_create_reader): Update.
3042         (C_RID_CODE, cpp_make_node): New.
3043         (c_common_identifier): New identifier node for C front ends.
3044         * cppmain.c (main): Update.
3045         * fix-header.c (read_scan_file): Update.
3046         * flags.h (id_clash_len): Make unsigned.
3047         * ggc.h (ggc_mark_nonnull_tree): New.
3048         * hashtable.c: New.
3049         * hashtable.h: New.
3050         * stringpool.c: Update comments and copyright.  Update to use
3051         hashtable.c.
3052         * toplev.c (approx_sqrt): Move to hashtable.c.
3053         (id_clash_len): Make unsigned.
3054         * toplev.h (ident_hash): New.
3055         * tree.c (gcc_obstack_init): Move to hashtable.c.
3056         * tree.h: Include hashtable.h.
3057         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
3058         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
3059         (struct tree_identifier): Update.
3060         (make_identifier): New.
3061 cp:
3062         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
3063         (C_RID_CODE): Remove.
3064         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
3065         (init_parse): Don't do it here.
3066 objc:
3067         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
3068
3069 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
3070
3071         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
3072         as ncessary.
3073         (expand_eh_return): Convert between word_mode and Pmode.
3074         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
3075         are the same size.
3076         (execute_stack_op): Likewise.
3077         (execute_cfa_program): Likewise.
3078         (uw_frame_state_for): Likewise.
3079         (uw_update_context_1): Likewise.
3080         * unwind.inc (_Unwind_Reason_Code): Likewise.
3081         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
3082         (EH_RETURN_STACKADJ_RTX): Likewise.
3083         * config/mips/mips.c (compute_frame_size): Make space for saving
3084         EH return registers.
3085         (mips_expand_epilogue): Handle EH stack adjustments.
3086         * config/mips/mips.md (eh_return): New pattern.
3087         (eh_set_lr_si): Likewise.
3088         (eh_set_lr_di): Likewise.
3089         Add splitter to perform EH return after reload.
3090
3091 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
3092
3093         * jump.c (mark_jump_label): Tidy previous change.
3094
3095 2001-05-19  Bruce Korb  <bkorb@gnu.org>
3096
3097         * fixinc/genfixes: no need for two warnings
3098         * fixinc/Makefile.in: open stdin for those building with a closed one.
3099
3100 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
3101
3102         * jump.c (jump_optimize_1): Tidy.
3103         (mark_jump_label): When changing the label in a LABEL_REF, change
3104         update any REG_EQUAL notes as well.
3105
3106 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3107
3108         * c-parse.in (parm_declarator): Split into
3109         parm_declarator_starttypename and parm_declarator_nostarttypename.
3110         (parm_declarator_starttypename, parm_declarator_nostarttypename):
3111         New.  Allow parenthesised sub-declarators which don't begin with a
3112         TYPENAME.  Fixes PR c/166.
3113
3114 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
3115
3116         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
3117         macro.
3118         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
3119         Document it.
3120         * toplev.c (main): If the target does not allow profiling without
3121         a frame pointer, issue an error message.
3122         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
3123         Define it to false.
3124
3125 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3126
3127         * recog.c (general_operand): Modify last change to allow it if reload
3128         has completed.
3129
3130 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
3131
3132         * recog.c (general_operand): Prohibit nonzero subreg bytes on
3133         subregs containing mem.
3134
3135 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
3136
3137         * regrename.c (regrename_optimize): frame pointer register can
3138         use a few hardregs.
3139
3140 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
3141
3142         * README.DWARF: Move into dwarfout.c.
3143
3144 2001-05-18  Dale Johannesen  <dalej@apple.com>
3145
3146         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
3147         specific misuse of r0 as a reload address.
3148
3149 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
3150
3151         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
3152         suceeded.
3153
3154 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3155
3156         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
3157         (add_to_sequence): Make that decision type.
3158         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
3159         (write_switch, write_cond, debug_decision_2): Likewise.
3160
3161         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
3162         for INTEGER_TYPE.
3163         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
3164         variable size.
3165
3166 2001-05-18  Stan Shebs  <shebs@apple.com>
3167
3168         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
3169         * configure: Regenerate.
3170
3171 2001-05-18  Per Bothner  <per@bothner.com>
3172
3173         Changes needed for java/jvspec.c
3174         * gcc.h (n_infiles, outfiles):  Add declarations.
3175         * gcc.c (n_infiles, outfiles):  Mske no longer static.
3176
3177 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
3178
3179         * config/pa/som.h (EXCEPTION_SECTION): Define.
3180
3181 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
3182
3183         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
3184         list.
3185         Add have_location_lists, a variable to determine whether we need a
3186         .debug_loc section or not.
3187         (enum dw_val_class): Add dw_val_class_loc_list.
3188         (dw_val_struct): Add val_loc_list.
3189         (dw_loc_list_struct): New structure, represents location lists.
3190         (new_loc_list): New function, return a new location list, given
3191         the range and location expression.
3192         (add_loc_descr_to_loc_list): New function, add a location
3193         expression to a location list, given the expression and range.
3194         (output_loc_list): New function, output a location list.
3195         (gen_internal_sym): Modified to take symbol prefix, so we can
3196         reuse it for location list symbols.
3197         (add_AT_loc_list): New function, add a location list to a DIE at
3198         the named attribute.
3199         (AT_loc_list): New function, return the location list reference
3200         for a given attribute, if it's a location list.
3201         (print_die): Handle dw_val_class_loc_list.
3202         (size_of_die): Ditto.
3203         (value_format): Ditto.
3204         (output_die): Ditto.
3205         (output_location_lists): New function, output all of the location
3206         lists for a DIE and it's children.
3207         (dwarf2out_finish): Call output_location_lists if we have location
3208         lists.
3209
3210
3211 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
3212
3213         * gcse.c (try_replace_reg): First try global replace, later try to
3214         simplify the expression.
3215
3216         * gcse.c (find_used_regs): Change calling convention; work via
3217         note_uses.
3218         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
3219
3220 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
3221
3222         Revert
3223         2001-02-09  Nick Clifton  <nickc@redhat.com>
3224         * config/arm/arm.md: Change output constraint on post inc
3225         load/store multiple patterns to be a read/write constraint.
3226
3227 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
3228
3229         * basic-block.h (struct basic_block_def): Add documentation about
3230         what a basic block is, and what the various fields are used for.
3231         * flow.c (calculate_globlal_regs_live): Add documentation about
3232         how the algorithm works, and how we know that it will terminate.
3233         Check that the the inductive assumption that guarantees
3234         termination actually holds.
3235         (mark_used_regs): Treat conditionally set registers as used.
3236         (debug_regset): Add comment.
3237         * rtl.texi (cond_exec): Add documentation.
3238
3239         * function.c (expand_function_start): Avoid creating BLKmode
3240         pseudos.
3241
3242 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
3243
3244         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
3245         DIE, even if it has no children.
3246         (dwarf2out_finish): Always output the line-number table, even if
3247         it has no content.
3248
3249 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
3250
3251         * rs6000.md (movsfcc,movdfcc): Remove NE case.
3252
3253 2001-05-17  Bruce Korb <bkorb@gnu.org>
3254
3255         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
3256         * fixinc/genfixes: emit a warning if AutoGen is out of date
3257
3258 2001-05-17  Brendan Conoboy <blc@cygnus.com>
3259             Bruce Korb <bkorb@gnu.org>
3260
3261         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
3262         found in fixinc directory.  Facilitates binary distributions.
3263
3264 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
3265
3266         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
3267         COMPLEX_TYPE.
3268
3269 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
3270
3271         * dwarf2out.c (modified_type_die): Equate qualified type to die.
3272
3273 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
3274
3275         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
3276         (simplify_subreg): Handle complex types represented as CONCAT.
3277
3278         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
3279         * rtl.h (swap_commutative_operands_p): Declare.
3280         * rtlanal.c (swap_commutative_operands_p): New.
3281         (operand_preference): New static function.
3282
3283         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
3284         (gen_binary): Likewise.
3285         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
3286         * simplify-rtx.c (simplify_gen_binary,
3287         simplify_gen_relational): Likewise.
3288
3289 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
3290
3291         * cse.c (fold_rtx): Use simplify_subreg.
3292
3293         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
3294         (simplify_gen_subreg): New.
3295         (simplify_rtx): Use simplify_subreg.
3296         * rtl.h (simplify_gen_subreg): Declare.
3297
3298 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
3299
3300         * doc/install.texi: Update Solaris information.
3301
3302         * except.h (protect_cleanup_actions): Remove it.
3303         (lang_protect_cleanup_actions): Declare it.
3304         * except.c (protect_cleanup_actions): Remove it.
3305         (lang_protect_cleanup_actions): New variable.
3306         (init_eh): Don't make protect_cleanup_actions a GC root.
3307         (expand_eh_region_and_cleanup): Call
3308         lang_protect_cleanup_actions.
3309         (output_function_exception_table): Remove unused `align'
3310         variable.
3311         * varasm.c (assemble_external): Abort if we have not yet
3312         opened the assembly output file.
3313
3314 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
3315
3316         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
3317         for eh_personality_libfunc.
3318
3319 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
3320
3321         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
3322         when calling simplify_subreg.  This is needed to allow replacing
3323         of expression of one mode by expression of different mode.
3324
3325 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3326
3327         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
3328
3329 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
3330
3331         * expr.c (protect_from_queue): Protect against subsequent calls to
3332         emit_queue.
3333         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
3334         too clever.
3335
3336 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
3337
3338         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
3339
3340 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3341
3342         * gccbug.in (CATEGORIES): Add "bootstrap".
3343
3344 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
3345
3346         * simplify-rtx.c (simplify_subreg): Break out from ...
3347         * combine.c (combine_splify_rtx) ... here and ...
3348         * recog.c (validate_replace_rtx_1): ... here;
3349         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
3350         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
3351         (subreg_lowpart_p): ... here.
3352
3353 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
3354
3355         * stmt.c (expand_asm_operands): For inout operands, make sure
3356         the substitution of '=' for '+' makes it into the rtl.
3357
3358         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
3359         (reload_as_needed): Call update_eliminable_offsets a bit later.
3360
3361 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3362
3363         * gcc.texi (gccbug): Refer to the web pages for detailed information
3364         on GNATS.
3365
3366 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
3367
3368         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
3369
3370         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
3371         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
3372         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
3373         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
3374         * cross-make: Don't set LIBGCC1.
3375         * mklibgcc.in: Delete all code for building from libgcc1.c.
3376         Always honor LIB1ASMFUNCS if set.
3377
3378         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
3379         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
3380         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
3381         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
3382         config/i386/uwin.asm, config/m68hc11/larith.asm,
3383         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
3384         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
3385         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
3386         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
3387         Delete or update references to libgcc1 in commentary.
3388
3389         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
3390         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
3391         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
3392         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
3393         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
3394         config/arm/t-semi, config/arm/t-strongarm-coff,
3395         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
3396         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
3397         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
3398         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
3399         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
3400         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
3401         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
3402         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
3403         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
3404         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
3405         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
3406         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
3407         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
3408         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
3409         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
3410         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
3411         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
3412         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
3413         config/mips/t-ultrix, config/mn10200/t-mn10200,
3414         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
3415         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
3416         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
3417         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
3418         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
3419         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
3420         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
3421         config/sparc/t-sparclite, config/sparc/t-splet,
3422         config/sparc/t-sunos41, config/sparc/t-vxsparc,
3423         config/sparc/t-vxsparc64, config/v850/t-v850:
3424         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
3425
3426         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
3427         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
3428         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
3429         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
3430         nongcc_SI_type, nongcc_word_type, or perform_*
3431         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
3432
3433         * config/i386/386bsd.h, config/i386/beos-elf.h,
3434         config/i386/linux-aout.h, config/i386/linux-oldld.h,
3435         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
3436         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
3437         Don't include i386/perform.h.
3438
3439         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
3440         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
3441         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
3442         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
3443         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
3444         config/vax/t-openbsd, config/vax/t-vax: Delete.
3445
3446         * config.gcc: Remove references to deleted files.
3447         (arm-semi-aof): Use arm/t-semi for tmake_file.
3448
3449         * gcc.texi, install.texi, invoke.texi, tm.texi:
3450         Delete or rewrite text which is no longer relevant now that
3451         libgcc1 no longer exists.
3452
3453         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
3454         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
3455
3456 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
3457         Bruce Korb <bkorb@gnu.org>
3458
3459         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
3460         initializer
3461
3462 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
3463
3464         * i386.md: Add two peepholes to clean up code generated by
3465         cmpstr* expanders.
3466
3467 2001-05-16  Richard Henderson  <rth@redhat.com>
3468
3469         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
3470         variants of non-absolute encodings.
3471
3472         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3473
3474         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
3475         __register_frame_info_table_bases): Export.
3476
3477 2001-05-16  Richard Henderson  <rth@redhat.com>
3478
3479         * except.c (eh_data_format_name): Move to ...
3480         * dwarf2asm.c: ... here.  Use designated initializers if available.
3481         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
3482         * dwarf2asm.h: Update declarations.
3483         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
3484         ASM_PREFERRED_EH_DATA_FORMAT.
3485         (output_call_frame_info): Likewise.  Use 'L' augmentation for
3486         the LSDA encoding.
3487
3488         * unwind-dw2-fde.h (struct fde_vector): New.
3489         (struct old_object): Rename from struct object.
3490         (struct object): New.
3491         (__register_frame_info_bases): Declare.
3492         (__register_frame_info_table_bases): Declare.
3493         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
3494         * unwind-dw2-fde.c (objects): Remove.
3495         (unseen_objects, seen_objects): New.
3496         (__register_frame_info_bases): New.
3497         (__register_frame_info): Use it.
3498         (__register_frame_info_table_bases): New.
3499         (__register_frame_info_table): Use it.
3500         (__deregister_frame_info): Rewrite for changed object struct.
3501         (base_from_object, get_cie_encoding, get_fde_encoding): New.
3502         (fde_unencoded_compare): Rename from fde_compare; uninline.
3503         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
3504         (start_fde_sort): Adjust for new definition of fde_vector.
3505         (fde_insert): Likewise.
3506         (end_fde_sort): Likewise.  Select comparison function based
3507         on properties of the object.
3508         (fde_split): Take object and fde_compare_t arguments.
3509         (frame_heapsort, fde_merge): Likewise.
3510         (classify_object_over_fdes): Rename from count_fdes.  Handle
3511         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
3512         for the object.
3513         (add_fdes): Handle encoded pointers.
3514         (init_object): Rename from frame_init.  Update for new struct object.
3515         (linear_search_fdes): Rename from search_fdes.  Handle encoded
3516         pointers.
3517         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
3518         (binary_search_single_encoding_fdes): New.
3519         (binary_search_mixed_encoding_fdes): New.
3520         (search_object): New.
3521         (_Unwind_Find_FDE): Update for new struct object.  Fill in
3522         the dwarf_eh_bases.
3523         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
3524         iterating over EH data.
3525         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
3526         fde_encoding, lsda_encoding.
3527         (read_uleb128, read_sleb128): Remove.
3528         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
3529         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
3530         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
3531         pointers.
3532         * unwind-pe.h: Add "struct" to _Unwind_Context references.
3533
3534 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3535
3536         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
3537         * cpphash.c (_cpp_lookup_with_hash): Similarly.
3538         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
3539         cpp_spell_token, cpp_output_token): Similarly.
3540         * cpplib.c (lex_macro_node, do_undef, do_pragma,
3541         do_pragma_poison, parse_assertion, do_assert): Similarly.
3542         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
3543         save_parameter, _cpp_create_definition, check_trad_stringification,
3544         cpp_macro_definition): Similarly.
3545         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
3546         * c-lex.c (cb_undef, c_lex): Similarly.
3547         * fix-header.c (recognized_function): Similarly.
3548         * cpplib.h (NODE_LEN, NODE_NAME): New.
3549         (cpp_hashnode): Rename length len.
3550
3551 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
3552
3553         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
3554         GPRs.
3555
3556 2001-05-16  Andreas Jaeger  <aj@suse.de>
3557
3558         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
3559
3560         * toplev.c: Include dwarf2asm.h for prototype of
3561         dw2_output_indirect_constants.
3562
3563 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
3564
3565         * stmt.c (expand_asm_operands): Be able to offload addressof
3566         expression to memory. (PR optimization/185)
3567
3568 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3569
3570         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
3571         applying distributive law.
3572
3573 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3574
3575         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
3576
3577         * gthr-dce.h (UNUSED): Attribute unused macro.
3578         (__gthread_key_dtor): Make arguments UNUSED.
3579         (__gthread_key_delete): Revise for compatibility with DRAFT4
3580         implementation.
3581
3582 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
3583
3584         * doc/install.texi: Update AIX information.
3585         * README.RS6000: Remove obsolete file.
3586
3587 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
3588             Nathan Sidwell  <nathan@codesourcery.com>
3589
3590         * gcc.c (give_switch): Don't write before start of string.
3591         Always append suffix.
3592
3593 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
3594
3595         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
3596         after stage3.
3597
3598 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3599
3600         * README.ALTOS: Remove obsolete file.
3601
3602 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3603
3604         * c-lex.h (save_and_forget_protocol_qualifiers,
3605         forget_protocol_qualifiers, remember_protocol_qualifiers):
3606         Remove deleted functions' prototypes.
3607
3608 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3609
3610         * c-parse.in (methodtype): New production.
3611         (methoddef, methodproto): Collapse separate '-' and '+'
3612         handlers into 1.
3613
3614 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3615
3616         * c-common.h (RID_FIRST_PQ): New.
3617         * c-parse.in (objc_pq_context): New.
3618         (objc parser): Set objc_pq_context rather than calling
3619         remember_protocol_qualifiers and forget_protocol_qualifiers.
3620         Don't call save_and_forget_protocol_qualifiers.
3621         (yylexname): Handle objc protocol qualifiers here.
3622         * stringpool.c (struct str_header): Replace with sp_hashnode.
3623         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
3624         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
3625         Allocate an IDENTIFIER_NODE for each identifier.
3626         (FORALL_STRINGS, set_identifier): Delete.
3627         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
3628         (ggc_alloc_string): Use an obstack.
3629         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
3630         * tree.h: Update comments.
3631         (set_identifier): Delete.
3632         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
3633         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
3634         remember_protocol_qualifiers): Delete.
3635
3636 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
3637
3638         * flow.c (life_analysis): After life analysis is complete, do
3639         an optional scan over insns looking for REG_LABEL notes that
3640         reference a deleted label.
3641         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
3642         before peeking at LABEL_NUSES.
3643
3644 2001-05-15  Richard Henderson  <rth@redhat.com>
3645
3646         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
3647         (_Unwind_GetTextRelBase): New.
3648
3649 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
3650
3651         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3652
3653 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
3654
3655         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
3656         so that CHOOSE_SECTION gets used.
3657
3658         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
3659         TARGET_RELOCATABLE like flag_pic for now.
3660
3661 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
3662
3663         * rs6000.md (movdi splitter): Sign extend more efficiently.
3664         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
3665         to "long long" valid on 32-bit and 64-bit hosts.
3666         (logical_operand): Cast trunc_int_for_mode return value.
3667         (rs6000_emit_move): Shift macro to encapsulate variable.
3668         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
3669         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
3670         plus_constant requires signed argument.
3671
3672 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
3673
3674         * gthr-posix.h: Make additional pthread-* functions weak.
3675
3676 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
3677
3678         * recog.c (apply_change_group): Avoid unneeded validating.
3679
3680 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
3681
3682         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
3683         (num_insns_constant): CONST_INT can be 64-bits.
3684
3685 2001-05-14  Stan Shebs  <shebs@apple.com>
3686
3687         * config/darwin.h (LIB_SPEC): Just use -lSystem.
3688         (LIBGCC_SPEC): Don't define.
3689
3690 2001-05-14  Richard Henderson  <rth@redhat.com>
3691
3692         * configure.in (gcc_cv_as_eh_frame): New test.
3693         * config.in, configure: Rebuild.
3694         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
3695
3696 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
3697
3698         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
3699         extended precision divide.
3700
3701 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
3702
3703         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
3704         for RETURNS as well.
3705
3706 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
3707
3708         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
3709         (CPP_CPU??_SIZE_TYPE): New.
3710         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
3711         (CPP_CPU_SPEC): ... here; support choosing of CPU.
3712         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
3713         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
3714         compiler.
3715         * i386.c (override_options): Add sorry about not suported modes.
3716
3717 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
3718
3719         * config/pa/som.h (NM_FLAGS): Remove.
3720         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
3721         (ASM_OUTPUT_SECTION_NAME): Remove.
3722         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
3723
3724 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
3725
3726         * regrename.c (regrename_optimize): Do not rename registers to
3727         leaf registers.
3728
3729 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
3730
3731         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
3732         contain MEMs.  Remove useless distinction about clobbering
3733         registers.
3734
3735 2001-05-13  Geoff Keating  <geoffk@redhat.com>
3736
3737         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
3738         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
3739         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
3740         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3741         (EXCEPTION_SECTION): Define.
3742
3743 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
3744
3745         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
3746         binary backward compat only.
3747         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
3748         in LIB2FUNCS.  Pass it to mklibgcc.
3749         * mklibgcc.in: Handle LIB2FUNCS_ST.
3750
3751         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
3752
3753 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
3754
3755         * tm.texi (THREAD_MODEL_SPEC): Document it.
3756         * gcc.c (main): Use it.
3757         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
3758         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
3759
3760 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3761
3762         * rtl.h (SYMBOL_REF_WEAK): New macro.
3763         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
3764         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
3765         * rtl.texi (SYMBOL_REF_WEAK): Document it.
3766         * gcc.texi: Remove wrong description.
3767
3768 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
3769
3770         * Makefile.in (STAMP): New macro.
3771         Replace all uses of `touch' with $(STAMP).
3772         * fixinc/Makefile.in: Likewise.
3773
3774 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3775
3776         * configure.in: ldopen is never in -lexc, so don't test for it.
3777         Add test for exc_resume in -lexc for Ada.
3778         * configure: Regenerated.
3779
3780 2001-05-12  Richard Henderson  <rth@redhat.com>
3781
3782         * dwarf2asm.c (size_of_encoded_value): New function.
3783         * dwarf2asm.h: Declare it.
3784         * except.c (output_function_exception_table): Align the TType
3785         array only as wide as the encoding.
3786
3787 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
3788
3789         * extend.texi: Document #pragma GCC java_exceptions.
3790
3791 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3792
3793         * c-parse.in (bison parser, init_reswords): Remove uses of
3794         doing_objc_thang.
3795         * c-tree.h (doing_objc_thang): Remove.
3796
3797 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
3798
3799         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
3800         about files not ending in newlines.
3801
3802 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3803
3804         * dwarfout.c (dwarfout_init): Add cast.
3805         * sched-deps.c (sched_analyze_insn): Remove unused vars.
3806         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
3807 cp:
3808         * method.c (build_mangled_C99_name): Remove unused prototype.
3809
3810 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
3811
3812         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
3813
3814 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
3815
3816         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
3817         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
3818
3819 2001-05-11  Richard Henderson  <rth@redhat.com>
3820
3821         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3822         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
3823         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
3824         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
3825         (dw2_output_indirect_constants): Prototype.
3826         * dwarf2out.c (dwarf2out_begin_prologue): Generate
3827         current_function_func_begin_label if we'll need it for EH.  Exit
3828         early for IA64_UNWIND_INFO.
3829         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
3830         (eh_data_format_name): Update for indirect references.
3831         (output_function_exception_table): Care for IA64_UNWIND_INFO.
3832         Handle ASM_PREFERRED_EH_DATA_FORMAT.
3833         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
3834         define HAVE_eh_return etc.
3835         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
3836         (final_end_function): Don't call output_function_exception_table.
3837         * toplev.c (compile_file): Call dw2_output_indirect_constants.
3838         (rest_of_compilation): Invoke output_function_exception_table
3839         for ia64 before assemble_end_function.
3840         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
3841         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
3842
3843         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
3844         * unwind.h: Declare them.
3845         * libgcc-std.ver: Export them.
3846         * unwind-pe.h: New file.
3847
3848         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3849
3850         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
3851         instead of "fde".
3852         (find_fde_for_dso): Extract DT_PLTGOT.
3853         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
3854         the segment and gp as well.
3855         * config/ia64/frame-ia64.c: Remove file.
3856         * config/ia64/frame-ia64.h: Remove file.
3857         * config/ia64/unwind-ia64.c: New file.
3858         * config/ia64/unwind-ia64.h: New file.
3859         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
3860         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
3861         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
3862         (ASM_PREFERRED_EH_DATA_FORMAT): New.
3863         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
3864         (IA64_UNWIND_INFO): Re-enable.
3865         (HANDLER_SECTION): Remove.
3866         (EH_RETURN_DATA_REGNO): New.
3867         * config/ia64/ia64.md (exception_receiver): Remove.
3868         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
3869         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
3870
3871 2001-05-11  Richard Henderson  <rth@redhat.com>
3872
3873         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
3874         calls and jumps to be bundled together.
3875         (ia64_reorg): Emit a break after a noreturn call that ends
3876         a function.
3877         * config/ia64/ia64.md (break_f): New.
3878
3879 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
3880
3881         * c-lex.c (lex_charconst): Convert into a simple wrapper
3882         around cpp_interpret_charconst, to which most of the code
3883         body is moved.
3884         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
3885         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
3886         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
3887         (lex): Use cpp_interpret_charconst.
3888         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
3889         hex_digit_value): New functions.
3890         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
3891         * cpplib.h (cpp_interpret_charconst): New prototype.
3892         * Makefile.in: Update.
3893
3894 2001-05-12  Dean Wakerley  <dean@wakerley.com>
3895
3896         * doc/install.texi: New file. Converted to texinfo from the HTML
3897         documentation in wwwdocs/htdocs/install.
3898
3899 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
3900
3901         * gcse.c (insert_insn_end_bb): Do not search for assignments to
3902         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
3903
3904         * toplev.c (compile_file): Move comment for opening output
3905         file to just before the code that opens the output file.
3906
3907 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
3908
3909         * regmove.c (regmove_optimize): Suppress the optimization for
3910         unchanging destination register.  Add comment above function.
3911
3912 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
3913
3914         * Makefile.in: Exterminate all references to assert.h.
3915         * cross-make: Likewise.
3916         * assert.h: Delete.
3917         * configure.in: Correct commentary.
3918         * configure: Regenerate.
3919
3920         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
3921         Remove __eprintf.
3922
3923         * config/t-freebsd, config/t-linux, config/t-linux-aout,
3924         config/t-netbsd, config/t-rtems, config/x-linux,
3925         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
3926         No need to override INSTALL_ASSERT_H.
3927
3928         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
3929         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
3930         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
3931
3932 2001-05-11  Graham Stott  <grahams@redhat.com>
3933
3934         * combine.c (simplify_comparison): Fix typo.
3935
3936 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
3937
3938         * loop.h (struct movables): Remove `num'.
3939         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
3940         Adjust call to strength_reduce.
3941         (num_unmoved_movables): New function.
3942         (move_movables): Don't set movables->num.
3943         (strength_reduce): Compute the number of instructions in the loop
3944         here, rather than in the caller.
3945         (check_dbra_loop): Always clear reversible_mem_store if there
3946         are any memory sets.
3947         (loop_regs_scan): Don't count instructions here.
3948         (count_insn_in_loop): New function.
3949
3950 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
3951
3952         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
3953
3954 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3955
3956         * c-common.c (finish_label_expr): New function, lifted from
3957         from cp/semantics.c.
3958         * c-common.h (finish_label_expr, lookup_label): New prototypes.
3959         * c-parse.in: Move 3 blocks of parser code into new functions.
3960         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
3961         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
3962         (lookup_label): Remove.
3963
3964 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
3965
3966         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
3967         FLOAT_BIT_ORDER_MISMATCH.
3968
3969 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
3970
3971         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
3972         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
3973
3974 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
3975
3976         * expr.c (emit_group_load): extract_bit_field requires a REG or
3977         MEM as an argument.
3978
3979 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
3980
3981         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
3982         a computed jump into an unconditional jump.
3983         In second hunk of code for collapsing computed and conditional jumps
3984         into unconditional jumps, reemit the jump in additional cases.
3985
3986         * jump.c (jump_optimize_1): Do not wrap the new jump target
3987         inside a LABEL_REF; gen_jump will do that automatically.
3988
3989 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
3990
3991         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
3992         contents for a SYMBOL_REF in case of floating point constants.
3993
3994 2001-05-10  DJ Delorie  <dj@redhat.com>
3995
3996         * c-common.c (combine_strings): Widen strings in a
3997         host-endian-independent way.
3998
3999 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4000
4001         * c-parse.in: Remove many shift/reduce conflicts.  Update
4002         %expect values.
4003         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
4004         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
4005         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
4006         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
4007         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
4008         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
4009         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
4010         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
4011         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
4012         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
4013         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
4014         typespec_reserved_nonattr, typespec_reserved_attr,
4015         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
4016         structsp_nonattr, components_notype, component_notype_declarator,
4017         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
4018         firstparm, setspecs_fp): New
4019         (typed_declspecs, reserved_declspecs, typed_typespecs,
4020         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
4021         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
4022         declmods_no_prefix_attr, nonempty_type_quals, structsp,
4023         type_quals): Remove.  Users updated.
4024         (initdecls, notype_initdecls, after_type_declarator,
4025         parm_declarator, notype_declarator, absdcl1, components, ivars):
4026         Don't allow attributes at the start of a declarator; include them
4027         in the production containing the declarator instead.  Always
4028         require type specifiers before trying to redeclare a typedef name.
4029         (typename): Allow for attributes but warn that they are ignored.
4030         (parmlist, firstparm, setspecs_fp): Include attributes in
4031         parmlist; suck them off the parser stack in firstparm using
4032         setspecs_fp.
4033
4034 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
4035
4036         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
4037         to determine if a block has an unconditional jump at its end.
4038
4039         * jump.c (jump_optimize_1): When converting a conditional jump
4040         to an unconditional jump, build the jump using gen_jump instead
4041         of just modify operands in-place.
4042
4043 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
4044
4045         * cppinit.c (cpp_post_options): Shut off macro expansion if
4046         -fpreprocessed.
4047         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
4048         IN_I directives only if the # is in column 1 and the directive
4049         name begins in column 2.
4050         * cppmain.c (scan_buffer): Insert a space between # and an
4051         identifier, when that identifier is a directive name.
4052
4053         * tradcpp.c (struct file_buf): Add a pointer to the next entry
4054         in the header search path.
4055         (enum node_type): Add T_INCLUDE_NEXT.
4056         (directive_table): Add entry for include_next.
4057         (do_include_next): New function.
4058         (process_include): New routine, broken out of do_include.
4059         (finclude): Insert 'nhd' argument, to be copied into
4060         next_header_dir of the new buffer.
4061         (main): Adjust to match.
4062         * gsyslimits.h, limity.h: Un-indent #include_next.
4063
4064 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4065
4066         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
4067         inclusion as a chapter of the GCC manual.
4068         * gcc.texi: Include objc.texi.
4069         * fdl.texi: Use @unnumberedsec for the addendum.
4070         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
4071
4072 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
4073
4074         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
4075
4076 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
4077
4078         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
4079         handling of two-address insns.
4080
4081 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
4082
4083         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
4084         ../binutils/nm-new instead of ../binutils/nm.
4085
4086 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
4087
4088         * i386.md (movdi splitter): Fix the splitting condition
4089         (float_extenddftf splitter): Fix mode.
4090
4091 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
4092
4093         * genrecog.c (write_switch): Avoid outputting of switch for
4094         types wider than int.
4095
4096 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
4097
4098         * reload1.c (copy_eh_notes): New functi